CopyFile/fi

From Lazarus wiki
Jump to navigationJump to search

English (en) suomi (fi) français (fr) русский (ru)

Tiedoston kopiointi

Lazaruksen Käännösyksikkö fileutil (jossa on UTF-8 korvaukset FPC RTL koodille ja lisänä tiedoston/hakemiston käsittelyrutiineja)

// flags for copy
type
 TCopyFileFlag = (
   cffOverwriteFile,
   cffCreateDestDirectory,
   cffPreserveTime
   );
 TCopyFileFlags = set of TCopyFileFlag;

function CopyFile(const SrcFilename, DestFilename: string): boolean;
function CopyFile(const SrcFilename, DestFilename: string; PreserveTime: boolean): boolean;
function CopyFile(const SrcFilename, DestFilename: string; Flags: TCopyFileFlags=[cffOverwriteFile]): boolean;

Funktio copyfile kopio tiedoston kohdetiedoston sijaintiin. Valinnaisesti se säilyttää tiedoston aikaleiman.


Funktio palauttaa boolean arvon true, jos se onnistui ja falsen jos tapahtui virhe.

Light bulb  Huomaa: Jos halutaan käyttää tätä funktiota komentoriviohjelmissa niin pitää lisätä projektin vaatimuksiin LazUtils, jolloin ei tuoda mukaan koko LCL-kirjastoa

Windows esimerkki

uses 
...
fileutil
...
CopyFile('c:\autoexec.bat','c:\windows\temp\autoexec.bat.backup');


Lazarus esimerkki

Seuraavia komponentteja tai funktioita käytetään tässä esimerkissä:


procedure TForm1.Button1Click(Sender: TObject);
var
  ok:boolean;
begin
  ok := false;
  if OpenDialog1.Execute then
    if SaveDialog1.Execute then
      ok := CopyFile(OpenDialog1.FileName, SaveDialog1.FileName);
  if ok then MessageDlg('File '+OpenDialog1.FileName+' successfully copied to '+
      SaveDialog1.FileName,mtInformation,[mbOk],0)
  else MessageDlg('Copying failed',mtWarning,[mbOk],0);
end;