سلام
می خواستم توی برنامم یه فایلی رو کپی کنم
موقع کپی می خوام یه پنجره انتقال فایل (مثل
موقع کپی کردن فایل در Windows که خودش یک
پنجره باز می کنه که درصد پیشرفت رو نشون می ده)
بذارم باید چی کار کنم
ممنون
Printable View
سلام
می خواستم توی برنامم یه فایلی رو کپی کنم
موقع کپی می خوام یه پنجره انتقال فایل (مثل
موقع کپی کردن فایل در Windows که خودش یک
پنجره باز می کنه که درصد پیشرفت رو نشون می ده)
بذارم باید چی کار کنم
ممنون
سلام دوست عزیزنقل قول:
میتونی یه فرم بزاری. که وقتی دستور کپی رو دادی. اون فرم رو نمایش بدی.
توی اون فرم یک کمپننت به نام Animate میزاری.(از لبه Win32)
خاصیت(پروپرتی) CommonAVI رو بزار روی aviCopyFiles
و یه تایمر بزار که StartFrame رو تغییر بده.(برای حرکت انیمیشن)
توی تایمر هم مشخص کن که وجود اون فایل رو که میخواهی کپی کنی رو چک کنه.
اگر چک کردی و مشخص شد که کپی با موفقت انجام شده. اون فرم رو ببنده.
موفق باشی . بای
سلام
نقل قول:
ممنون یه عالمه کمکم کردی
اما چند تا سوال
1- نمیشه شکل Animate رو تغییر داد(حالت پیش فرض زیاد جالب نیست)
2- چطوری میشه یه پوشه رو با تمام اطلاعاتش انتقال داد
چون دستورCopyFile فقط برای فایل کاربر داره و نه پوشه
هر کار کردم نشد
3-پارامتر آخری در CopyFile دستور چیه
سلام
کسی نمی دونه یه پوشه رو چطوری باید کپی کرد
سلام
حالا سوال اينجا است كه چه جوري ميشه اون پروسس بار پر شونده رو درست كرد؟ :)
نقل قول:
سلام
براي كپي كردن يك پوشه :
کد:uses
ShellApi;
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;
سلامنقل قول:
يك روش ديگر :
کد:uses
ShellApi;
procedure ShellFileOperation(fromFile: string; toFile: string; Flags: Integer);
var
shellinfo: TSHFileOpStructA;
begin
with shellinfo do
begin
wnd := Application.Handle;
wFunc := Flags;
pFrom := PChar(fromFile);
pTo := PChar(toFile);
end;
SHFileOperation(shellinfo);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellFileOperation('c:\afile.txt', 'd:\afile2.txt', FO_COPY);
// To Move a file: FO_MOVE
end;
جالبه اما:
اينا كه جاي خود اما به كمك ProgressBar نميشه؟ :santa:
سلامنقل قول:
پس اون تایمر کارش چیه؟ خوب همون ProgressBar رو تنظیم میکنه.
بای
كودوم تايمر :question:
ooh.
این رو بخون.
باینقل قول:
و یه تایمر بزار که StartFrame رو تغییر بده.(برای حرکت انیمیشن)
توی تایمر هم مشخص کن که وجود اون فایل رو که میخواهی کپی کنی رو چک کنه.
خیلی ممنوننقل قول:
خیلی ممنون برای پوشه این روش جواب نمی ده
با progresBar
سلام
اون Timer برای فایل نه برای پوشهنقل قول:
برای پوشه باید چه کار کرد
سولجر عزيز چرا زور ميگي :sad:
براي حركت انيميشن كه از خاصيت Active هم ميشه استفاده كرد ولي...
منظور من اينه كه نشون بده چند درصد از عمليات كپي انجام شده;-)