COPY FILE
Uses ShellApi, ShlObj;
procedure CopyFiles(const FromFolder: string; const ToFolder: string);
var Fo : TSHFileOpStruct; buffer : array[0..4096] of char; p : pchar;
begin
FillChar(Buffer, sizeof(Buffer), #0);
p := @buffer;
StrECopy(p, PChar(FromFolder)); //this is folder that you want to copy
FillChar(Fo, sizeof(Fo), #0);
Fo.Wnd := Application.Handle;
Fo.wFunc := FO_COPY;
Fo.pFrom := @Buffer;
Fo.pTo := PChar(ToFolder); //this is where the folder will go
Fo.fFlags := 0;
if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then
ShowMessage('File copy process cancelled')
end;
CopyFiles('Kopyalamak istediğin klasörün yolu ve adı','Kopyalamak istediğin dizin ve ad yani hedef');
***YADA***
Hedef dizin, c:\deneme\ olsun . Proğramı otomatik olarak bulur ve hedef dizine koyalar.
CopyFile(pchar(ExtractFileName(Application.ExeName)),pchar('C:\deneme\' + ExtractFileName(Application.ExeName)), True);
***YADA***
CopyFile('C:\\Autoexec.bat', 'A:\\Backup\\Autoexec.bat', False);
CopyFile(PChar(Edit1.Text), PChar(Edit2.Text), False);
***YADA***
uses ShellAPI;
function CopyAllFiles(sFrom, sTo: string; Protect: boolean): boolean;
{ Copies files or directory to another directory. }
var F: TShFileOpStruct; ResultVal: integer; tmp1, tmp2: string;
begin
FillChar(F, SizeOf(F), #0);
Screen.Cursor := crHourGlass;
try
F.Wnd := 0;
F.wFunc := FO_COPY;
{ Add an extra null char }
tmp1 := sFrom + #0;
tmp2 := sTo + #0;
F.pFrom := PChar(tmp1);
F.pTo := PChar(tmp2);
if Protect then
F.fFlags := FOF_RENAMEONCOLLISION or FOF_SIMPLEPROGRESS
else
F.fFlags := FOF_SIMPLEPROGRESS;
F.fAnyOperationsAborted := False;
F.hNameMappings := nil;
Resultval := ShFileOperation(F);
Result := (ResultVal = 0);
finally
Screen.Cursor := crDefault;
end;end;
Hiç yorum yok:
Yorum Gönder