Avatar billede frossen Nybegynder
26. august 2003 - 16:44 Der er 12 kommentarer og
1 løsning

Hvordan bruger man CopyFileTo funtionen

jeg synes ikke jeg kan få den her til at virke..

function CopyFileTo(const Source: string; const Destination: string): Boolean;

hvordan bruger jeg den .. eller skal jeg bruge en anden for at kopiere??

-- endnu et spørgsmål fra frossen ;)
Avatar billede Slettet bruger
26. august 2003 - 16:46 #1
Du kan bruge CopyFile.
Avatar billede Slettet bruger
26. august 2003 - 16:48 #2
F.eks.: CopyFile('C:\Hejhej.bmp','C:\Hejhej1.bmp', False);
Avatar billede frossen Nybegynder
26. august 2003 - 16:49 #3
hvorfor false?
Avatar billede Slettet bruger
26. august 2003 - 16:58 #4
Hvis der står false overskriver den filen hvis den allerede eksistere.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/copyfile.asp
Avatar billede snowball Novice
26. august 2003 - 16:58 #5
Du kan også prøve at bruge Borrisholt's FileHandling som efter min mening er meget lettere at bruge - især hvis man skal kopiere flere filer af gangen. Der er både kopi/flyt/rename funktion i den unit.

http://www.borrisholt.com/FileIO/DelphiSource/Filehandling.zip

Snowball
Avatar billede Slettet bruger
26. august 2003 - 17:00 #6
Du kan også bruge:

uses
  ShellApi;

function CopyFile(const ExistingFile, NewFile: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc  := FO_COPY;
    fFlags := FOF_FILESONLY;
    pFrom  := PChar(ExistingFile + #0);
    pTo    := PChar(NewFile)
  end;
  Result := (0 = ShFileOperation(fos));
end;
Avatar billede Slettet bruger
26. august 2003 - 17:04 #7
Avatar billede frossen Nybegynder
26. august 2003 - 17:34 #8
kan jeg lige spørge om en anden ting.. er der en funktion til at se hvor mange filer der er i en mappe??
Avatar billede Slettet bruger
26. august 2003 - 17:53 #9
Prøv det her:

function AntalFilerIMappe(Mappe: String): Integer;
var
  SR: TSearchRec;
  I: Integer;
begin
I := 0;
  if FindFirst(Mappe + '*.*', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        Inc(I);
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
Result := I;
end;
Avatar billede frossen Nybegynder
26. august 2003 - 17:59 #10
hvor skal jeg sætte den ind? bare ind i den procedure jeg skal bruge den i?
Avatar billede Slettet bruger
26. august 2003 - 18:00 #11
sådan:

function AntalFilerIMappe(Mappe: String): Integer;
var
  SR: TSearchRec;
  I: Integer;
begin
I := 0;
  if FindFirst(Mappe + '*.*', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        Inc(I);
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
Result := I;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(AntalFilerIMappe('C:\')));
end;
Avatar billede frossen Nybegynder
26. august 2003 - 18:22 #12
tak for hjælpen :)
Avatar billede Slettet bruger
26. august 2003 - 18:25 #13
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester