Avatar billede razmataz Nybegynder
07. november 2005 - 13:56 Der er 4 kommentarer og
2 løsninger

Kopiering af fil.

Jeg kan ikke rigtigt gennemskue hvordan jeg kopierer en fil med delphi.
Jeg skal bruge en rutine som kopierer fil.ext til fil.bak.. hjælp?
Avatar billede martinlind Nybegynder
07. november 2005 - 13:59 #1
Der er flere måder, winapi CopyFile(), eller en MemoryStream, CopyFile er nok det nemmereste, kan ikke lige huske om den kan rename samtidig :)
Avatar billede razmataz Nybegynder
07. november 2005 - 14:06 #2
ehm ... kunne du være lidt mere specifik? Kan intet finde om copyfile i delphi help.
Avatar billede martinlind Nybegynder
07. november 2005 - 14:09 #3
Problemet er at jeg ikke har delphi installeret mere, du kan evt. prøve at søge i winapi-hjælpen, det er muligt den hedder filecopy(), men ellers kan du create en TMemoryStream og bruge LoadFromFile() og SaveToFile() på den.

/Martin
Avatar billede vallemanden Nybegynder
07. november 2005 - 14:18 #4
Copyfile(Pchar('fil der skal copieres'),pchar('hvor den skal copieret til samt filnavn'),false);
Avatar billede lsc Nybegynder
07. november 2005 - 14:28 #5
Du kan jo prøve med denne her:

procedure Kopierfil(f1, f2 : string);
var FromF, ToF: file;
  NumRead, NumWritten: Integer;
  Buf: array[1..2048] of Char;
begin
  try
    AssignFile(FromF, f1);
    Reset(FromF, 1);    { Record size = 1 }
    AssignFile(ToF, f2);    { Open output file }
    Rewrite(ToF, 1);    { Record size = 1 }
    form1.Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF))
        + ' bytes...');
    repeat
      BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
      BlockWrite(ToF, Buf, NumRead, NumWritten)
    until (NumRead = 0) or (NumWritten <> NumRead);
    CloseFile(FromF);
    CloseFile(ToF)
    except
      showmessage('Fejlmeldning')
    end
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  kopierfil('C:\project1.exe','C:\project2.exe' )
end;
Avatar billede lsc Nybegynder
07. november 2005 - 14:56 #6
Eller som du skriver:

  kopierfil('fil.ext','fil.bak')

Det gode ved proceduren er, at den kan kopiere alle filtyper - og så oven i købet meget hurtigt.

Glemte lige at skrive det.
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