Sayfayı Yazdır | Pencereyi Kapat


Klasörleri Kopyalamak/Tasimak/Silmek

Kategori: DELPHI - 7
Eklenme Tarihi: 27 Haziran 2005
Zaman: 22 Mayıs 2012 12:07
Samanalevi Netkafe - http://www.samanalevi.com/bilgisayaroku/119.KlasOrleri_Kopyalamak/Tasimak/Silmek.html

Klasörleri Kopyalamak/Tasimak/Silmek (Windows fonksiyonlarini kullanarak)
uses shellapi
...
function copydir(von,zieldir: string): boolean;
var fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do begin
wFunc := FO_COPY;
fFlags := FOF_FILESONLY;
pFrom := PChar(von+#0);
pTo := PChar(zieldir)
end;
Result:=(0=ShFileOperation(fos));
end;

function movedir(von,zieldir: string): boolean;
var fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do begin
wFunc := FO_MOVE;
fFlags := FOF_FILESONLY;
pFrom := PChar(von+#0);
pTo := PChar(zieldir)
end;
Result:=(0=ShFileOperation(fos));
end;

function deldir(dir: string): boolean;
var fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do begin
wFunc := FO_DELETE;
fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
pFrom := PChar(dir+#0);
end;
Result:=(0=ShFileOperation(fos));
end;

// Kullanimi:
procedure TForm1.Button1Click(Sender: TObject);
begin
{'D:\download' -> 'E:\'}
if copydir('d:\download','e:\') then
begin
ShowMessage('Kopyalama basarili');
end;

Windows ve Sistem klasörlerinin alinmasi
{
Her bilgisayarda Windows c:\windows klasörune
kurulmamis olabilir
}

function GetWinDir: string;
var
dir: array [0..max_path] of char;
begin
GetWindowsDirectory(dir, max_path);
result:=StrPas(dir);
end;

function GetSysDir: string;
var
dir: array [0..max_path] of char;
begin
GetSystemDirectory(dir, max_path);
result:=StrPas(dir);
end;

// Kullanimi:
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption:=GetWinDir;
label2.caption:=GetSysDir;
end;

DELPHI - 7


Sayfayı Yazdır | Pencereyi Kapat 

http://www.samanalevi.com