PDA

View Full Version : کپی نمودن یک پوشه



فریدی
دوشنبه 28 اردیبهشت 1383, 08:00 صبح
چگونه میتوان یک پوشه را در مسیر دلخواهی کپی نمود؟

Mahdi_S_T
سه شنبه 29 اردیبهشت 1383, 12:34 عصر
با سلام

برای اینکار می توانی از کد زیر استفاده کنی . یک FileLisBox بر روی فرم قرار دهید و مسیر مبدا خود را در آن تنظیم کنید و مسیر مقصد را هم به جای Path می گذاریم



procedure FileCopyList (ctrlList: TFileListBox; tPath:
string);

var
SourceFile, TargetPath: string;
I: integer;

begin

Screen.Cursor := crHourGlass;

if StrRightChar (tPath) <> '\' then
tPath := tPath + '\';

for I := 0 to ctrlList.Items.Count - 1 do begin
SourceFile := ExtractFileName (ctrlList.Items[I]);
TargetPath := tPath + SourceFile;
libFileCopy (SourceFile, TargetPath);
end;

Screen.Cursor := crDefault;

end;

SReza1
پنج شنبه 31 اردیبهشت 1383, 14:20 عصر
باید اول فولدرها رو بسازی بعد فایلها دونه دونه کپی شه! برای این کار از ساختار TFileRec و
TSearchRec استفاده کن جواب میگیری

فریدی
یک شنبه 10 خرداد 1383, 11:42 صبح
اینکار رو کردم ولی پیغام خطای libFileCopy آمد.مشکل چیه؟ :oops:

rambod51
یک شنبه 10 خرداد 1383, 12:57 عصر
چطور می شه یک شاخه رو با بانک های اطلاعاتی درون اون کپی کرد یا ایجاد کرد - بانکهای خالی - اگه میشه دستوراتشو بنویسید ممنون میشم

Mahdi_S_T
یک شنبه 10 خرداد 1383, 18:23 عصر
دوست عزیز

اگر منظورت اشکال در کد نوشته شده توسط من است :

1 - حتما باید یک FileListBox بر روی فرم مورد نظر بگذاری و فهرست آن را بر ای مبدا خود تنظیم کنی (FileListbox.directory)

2 - متغیر tPath هم باید شامل مقصر شما باشد

برای دوست عزیزی که احتمالا منظورشان گرفتن Backup از دایرکتوری فایل های بانک اطلاعاتی بوده عرض کنم که می توان به این شکل عمل نمود :

1- جهت ایجاد شاخه از دستور CreateDir استفاده کن
2- در کد بالا فهرست مبدا را شاخه مربوط به فایلهای بانک اطلاعاتی تنظیم کن مثلا D:\Project\data و پس از ایجاد دایرکتوری توسط دستور بالا . این مسیر را به متغیر tPath بده .
شما می توانی جهت مبدا هم از یک FileListbox دیگری استفاده کنی تا کارها ساده تر شود

من خودم جهت پشتبان گیری تقریبا از چنین کدی استفاده می کنم
موفق باشی :)

MHS
جمعه 15 خرداد 1383, 23:06 عصر
function CopyDir(const fromDir, toDir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_COPY;
fFlags := FOF_FILESONLY;
pFrom := PChar(fromDir + #0);
pTo := PChar(toDir)
end;
Result := (0 = ShFileOperation(fos));
end;




procedure TForm1.Button1Click(Sender: TObject);
begin
CopyDir('مسیر پوشه','مسیر جدید پوشه);
end;
:?: