View Full Version : کپی کردن فایل
  
TAVANA002
دوشنبه 16 شهریور 1388, 10:02 صبح
چه جوری میشه یه فایلو از یه فولدر به یه فولدر دیگه کپی کرد.در ضمن اسم فایل بر اساس متنیه که کاربر تو یکی از ادیتها تایپ میکنه، یعنی اسم فایل ثابت نیست.با دستور copyfile نمیشه به یه ادیت اشاره کرد
majid_ramak
دوشنبه 16 شهریور 1388, 10:25 صبح
چه جوری میشه یه فایلو از یه فولدر به یه فولدر دیگه کپی کرد.در ضمن اسم فایل بر اساس متنیه که کاربر تو یکی از ادیتها تایپ میکنه، یعنی اسم فایل ثابت نیست.با دستور copyfile نمیشه به یه ادیت اشاره کرد
 باید ShellAPI رو Use کنی دوست عزیز
 
function scShellCopyFile(FormHandle : THandle; StrFrom, StrTo : string;
 BlnSilent : Boolean = False) : Boolean;
var
 F : TShFileOpStruct;
begin
 F.Wnd    := FormHandle;
 F.wFunc  := FO_COPY;
 F.pFrom  := PChar(StrFrom + #0);
 F.pTo    := PChar(StrTo + #0);
 F.fFlags := FOF_ALLOWUNDO or FOF_RENAMEONCOLLISION;
 if BlnSilent then
   F.fFlags := F.fFlags or FOF_SILENT;
 if ShFileOperation(F) <> 0 then
   Result := False
 else
   Result := True;
end;
Felony
دوشنبه 16 شهریور 1388, 10:50 صبح
اسم فایل ثابت نیست.با دستور copyfile نمیشه به یه ادیت اشاره کرد
ربطی به ثابت بودن یا نبودن اسم فایل نداره .
  CopyFile(PChar(Edit1.Text),PChar(Edit2.Text),True) ;
vcldeveloper
دوشنبه 16 شهریور 1388, 13:48 عصر
F.pFrom  := PChar(StrFrom + #0);
 F.pTo    := PChar(StrTo + #0);
string در دلفی بطور خودکار به #0 ختم میشه؛ نیازی نیست که شما یک #0 اضافه کنید.
چه جوری میشه یه فایلو از یه فولدر به یه فولدر دیگه کپی کرد.در ضمن اسم فایل بر اساس متنیه که کاربر تو یکی از ادیتها تایپ میکنهبه غیر از روش های بالا، اگر از دلفی 2010 استفاده می کنید، این راه هم هست:
TFile.Copy(Edit1.Text, Edit2.Text);
البته یونیت IOUtils باید به لیست uses اضافه بشه.
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.