Question:
How to I copy a file from a source to a target in Delphi. I have been trying:
SourceId := OpenFile(Source, FileStructure1, of_Read); if SourceID = -1 then ShowMessage(‘Unable to open source file ‘ + Source); DestId := OpenFile(Dest, FileStructure2, of_Create); if SourceID = -1 then ShowMessage(‘Unable to open destination file ‘ + Dest); _lclose(SourceId); _lclose(DestId); CopyLZFile(SourceId, DestId); lzdone;
Answer:
To enable file copying in a program, you can do two things:
1) Use the WinAPI CopyFile function2) Use the FMXUtils CopyFile function
The WinAPI CopyFile function is listed as follows:
CopyFile(lpExistingFileName, lpNewFileName : PChar; bFailIfExists);
bFailIfExists “specifies how this operation is to proceed if a file of the same name as that specified by lpNewFileName already exists. If this parameter is TRUE and the new file already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.”
All you have to do is plug in file names (assuming they’re strings);
CopyFile(PChar(fileSrc), PChar(fileDst), False);
With the FMXUtils CopyFile, you need to place the FMXUtils declaration in your uses statement. Then all you do to use it is supply source and destination filenames as parameters:
CopyFile(fileSrc, fileDst);
Whichever you use is entirely up to you