ورود

View Full Version : کپی چند پوشه به صورت همزمان



kamalhamidi
یک شنبه 06 دی 1388, 14:04 عصر
سلام

همان طور که از نام تاپیک مشخصه من میخوام چندتا پوشه رو به صورت همزمان کپی کنم

و برای این کپی از پنجره کپی خود ویندوز (http://tora-dora.org/imagehost/up/f49e7d9f91a623d4b39b855a9d02f236.jpg) استفاده کنم

kamalhamidi
یک شنبه 06 دی 1388, 18:15 عصر
فراموش کردم این رو بگم

میخوام این کد 3 تا خروجی هم داشته باشه

اولی برای وقتی که کپی کامل میشه و پنجره کپی بسته میشه
دومی وقتی که کاربر بر روی دکمه Cancel کلیک میکنه
سومی در صورتی که امکان کپی وجود نداشته باشه خروجی بده

ممنون

hadiaj168
یک شنبه 06 دی 1388, 21:00 عصر
سومی در صورتی که امکان کپی وجود نداشته باشه خروجی بده
خب اگه امکان کپی نباشه بازم همون میشه دیگه!

function ShellCopyFile(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;

kamalhamidi
دوشنبه 07 دی 1388, 11:15 صبح
شرمنده عزیز من چطور از این کد استفاده کنم

همچنین این کد برای کپی چندتا پوشه باهم است یا نه؟

hadiaj168
دوشنبه 07 دی 1388, 12:20 عصر
استفادش که معلومه جاهای خالی را پرکنید!
shellApi همیادتون نره.

شرمنده:اشتباه: نه تا کار این تابع تموم نشه برنامه ادامه پیدا نمیکنه پس نمیتونید همزمان چند بار اونو اجرا کنید.
فکر میکنم باید از thread استفاده کنید.

kamalhamidi
دوشنبه 07 دی 1388, 15:52 عصر
خب پس دوستان راهی، روشی، چیزی بلد هستند که بشه چندتا پوشه رو با هم کپی کرد

hadiaj168
دوشنبه 07 دی 1388, 18:15 عصر
گفتم که باید از thread استفاده کنی.
هر چیزی رو که بکشی روی button بدون توجه به تموم شدن کپی قبلی شروع به کپی گرفتن می کنه.
یه خورده عجله کردم خودت مرتبش کن.
موفق باشی....

kamalhamidi
دوشنبه 07 دی 1388, 18:39 عصر
دوست عزیز ممنون از زحمتی که کشیدی

ولی این چیزی نیست که من میخوام، همان طور که گفتم من میخوام چندتا پوشه با هم کپی بشن، چرا؟

چون من این برنامه رو برای شخص معینی میسازم و این شخص به طور معمولی و روزانه 10ها یا شاید هم 100ها پوشه رو روزانه کپی میکنه، خب حالا با روش شما ایشان باید همه پوشه ها رو تک تک کپی کنن که وقت زیادی میبره و برای همین هم است که من اصرار میکنم تا همه پوشه ها با هم کپی بشن.

اصل کار برنامه هم همینه که همه پوشه ها باهم کپی بشن.

hadiaj168
دوشنبه 07 دی 1388, 21:19 عصر
یه نگاهی هم به سورس مینداختی هم بد نبودا!:عصبانی:
اینم هلو برو تو گلو:لبخند:

kamalhamidi
دوشنبه 07 دی 1388, 21:34 عصر
این که باز همون شد، فقط همه رو باهم اجرا میکنه

حالا شاید طرف یه سیستم ضعیف داشت و با یکم ور رفتن سیستم هنگ کرد آن وقت چی؟
فکر کنم شما هنوز متوجه خواسته من نشدید، چیزی که من میخوام اینه که همه پوشه ها رو در یک پنجره کپی کنه نه چندتا!!!

ولی در کل ممنون هر چند چیزی که میخواستم نبود:افسرده:

ولی باز هم از سعی و تلاشتون استقبال میکنم و امیدوارم بار سوم بزنید توی هدف :لبخند:

kamalhamidi
پنج شنبه 10 دی 1388, 14:36 عصر
دلفی با این همه قدرتش، این همه کامپوننت، این همه تعریف نمیتونه چندتا پوشه رو با هم و توی یک پنجره کپی کنه یا دوستان کم لطفی میکنن؟؟؟

همچنان منتظر راهنمایی هستم

kamalhamidi
دوشنبه 14 دی 1388, 23:00 عصر
اساتید محترم منظورتون از جواب ندادن اینه که باید منصرف بشم؟؟؟