ثبت نام | ورود

خوش آمدید: مهمان
خانه | لیست مطالب | ارسال مطلب | فروشگاه الکترونیکی | اتاق چت و گفتگو

منو اصلي
اتاق چت گفتگو
کليپ تصويري و نماهنگ
دفتر يادبود
لينک باکس

طنز و سرگرمی
پارس اخبار
نقشه سايت
دنياي خنده و طنز
Sms اس ام اس
اخبار و رسانه ها
آموزش کامپيوتر
IT فن آوري اطلاعات
ورزشي
موفقیت و پیروزی
نجوم و ستاره شناسی
مذهبی
فیلم و سینما
گیاه شناسی
عکس و کاريکاتور
فال و طالع بینی
عشق و دوستی
علمي ، آموزشي
دانلود نرم افزار
آرايش و زيبايي
طنز و سرگرمي
سلامتي و بهداشت
خانه و خانواده
آشپزی
ادبيات
کشاورزي
هنر
کار و تجارت
بیوگرافی
آخرين مطالب ارسال شده
3irani & 3amrikai - داستان 3..
مي دونيد اگه .......
خصوصيات پسرها وقتي عاشق مي ش..
يه پسر خوب(وجود نداره)
Sms & jok
تعبير عاشقانه
نكاتي طلايي در مورد موي آقاي..
آسيب شناسي فک و فاميل
مزيت دختر بودن
داستان مداد
يک داستان عجيب
دختر بودن يعني ...
ويژگي پسرهاي ايراني
پسر بودن يعني چه؟
ياد من باش
bodo bodo sms اس ام اس داغ
sms bahal اس ام اس باحال
انواع مرد ها
24ساعت از زندگي پسرها
داستان عاشقانه
داستان عاشقانه
خصوصيات دخترها وخصوصيت پسرها
سايت هاي همکار







منتخب برای شما
خانه » لیست موضوعات » آموزش کامپيوتر » زبان هاي برنامه نويسي :: نمایش مطلب

آموزش دلفی (بخش ششم)

  ارسال این مطلب به یک دوست   
 اطلاعات کاربر:
 
 نويسنده مطلب:  ويليام
 محل کاربر: تهران
تمام مطالب کاربر: تمام مطالب توسط ويليام
 
اطلاعات مطلب:
ارسال شده در: پنجشنبه 3 فروردين 1385

متن مطلب:
گزارش مطلب در صورت اهانت آمیز بودن
نمایش داده شده: 1151 دفعه 
 اندازه متن:  1  2  3  4 

نمایش میزان كپی شدن فایل با ProgressBar در دلفی
چطور میتوان زمان کپی شدن فایل را با استفاده از ProgressBar نمایش داد؟
برای انجام این کار ابتدا بر روی یک فرم یک ProgressBar اضافه کنید سپس تابع زیر را تایپ کنید:
procedure TForm1.CopyFileWithProgressBar1(Source, Destination: string);
var
FromF, ToF: file of byte;
Buffer: array[0..4096] of char;
NumRead: integer;
FileLength: longint;
begin
AssignFile(FromF, Source);
reset(FromF);
AssignFile(ToF, Destination);
rewrite(ToF);
FileLength := FileSize(FromF);
with Progressbar1 do
begin
Min := 0;
Max := FileLength;
while FileLength > 0 do
begin
BlockRead(FromF, Buffer[0], SizeOf(Buffer), NumRead);
FileLength := FileLength - NumRead;
BlockWrite(ToF, Buffer[0], NumRead);
Position := Position + NumRead;
end;
CloseFile(FromF);
CloseFile(ToF);
end;
end;



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


procedure TForm1.Button1Click(Sender: TObject);
begin
CopyFileWithProgressBar1('c:\Welcome.exe', 'c:\temp\Welcome.exe');
end;




چطور می توان زمان کپی شدن فایل را محاسبه و نمایش داد؟
برای این کار نیز میتوانید از تابع زیر استفاده کنید:


procedure TForm1.CopyFileWithProgressBar1(Source, Destination: string);
var
FromF, ToF: file of byte;
Buffer: array[0..4096] of char;
NumRead: integer;
FileLength: longint;
t1, t2: DWORD;
maxi: integer;
begin
AssignFile(FromF, Source);
reset(FromF);
AssignFile(ToF, Destination);
rewrite(ToF);
FileLength := FileSize(FromF);
with Progressbar1 do
begin
Min := 0;
Max := FileLength;
t1 := TimeGetTime;
maxi := Max div 4096;
while FileLength > 0 do
begin
BlockRead(FromF, Buffer[0], SizeOf(Buffer), NumRead);
FileLength := FileLength - NumRead;
BlockWrite(ToF, Buffer[0], NumRead);
t2 := TimeGetTime;
Min := Min + 1;
// Show the time in Label1
label1.Caption := FormatFloat('0.00', ((t2 - t1) / min * maxi - t2 + t1) / 100);
Application.ProcessMessages;
Position := Position + NumRead;
end;
CloseFile(FromF);
CloseFile(ToF);
end;
end;



در این تابغ ابتدا زمان اولیه در متغیر t1 ذخیره شده و سپس پس از کپی شدن هر قسمت از فایل، زمان در متغیر t2 ذخیره میشود و توسط فرمول زیر مقدار زمان باقی مانده تا کپی کامل فایل بدست می آید.


((t2 - t1) / min * maxi - t2 + t1) / 100




↓ تبلیغ های جدید و روز برای شما ↓


 وضعیت: فعال


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

ثبت نام
تبليغات
مطالب روز
بهترين ها
يک داستان عجيب
اختلاف سن مناسب براي عر..
کفير، نوشيدني خوش‌طعم و..
امتحان آئين نامه - طنز
ناگفته هايي درباره شرف ..
کذب محض عشق - طنز عشقي
بادام تلخ در درمان سرما..
ورود چند نفره به مسنجر ..
بيش از 50 نوع از کليد ه..
ساختار دقيقترين توپ فوت..
نکاتي مهم و کليدي براي ..
ديدن مبلغ قبض ميان دوره..
زورگوئي و دروغ گویی
فرشته نجات
دستور زبان اصفهاني
رضا صادقي کیست ؟
شکار لحظه هاي ورزشي
خاطرات مدرسه
نقشه و پروژکتور چراغ قو..
اس ام اس شبهاي قدر و شه..
طالع بيني افراد از روي ..
چند تا لطیفه از غضنفر

تمام مطالب داغ ...
بهترین لینک

 جستجو برای:     فقط با عکس:  
 جستجو در:   جستجو پیشرفته    

همکاری تبلیغاتی | نقشه سایت | شرایط استفاده | تماس با ما |