تعريف شبكه فن‌آوري اطلاعات به عنوان صفحه اصلي

سه شنبه 20 بهمن 1388
تعداد كاربران آنلاين: 38

فهرست

  اخبار
  مقالات
  مصاحبه‌ها
  نكته‌ها و ترفندها
  قوانين و مقررات
  دريافت نرم‌افزار
  آموزش
  نمايشگاه ‌و همايش‌
  بازيهاي رايانه‌اي
  گزارش
  تبـليغــات
حضرت محمد (ص)

عمل اندك همراه با دانش، بهتر از عمل بسیار همراه با نادانی است.


MSN Messenger با قابليت هاي چت تصويري در راه است            كاربران هنگام چت از اعلام جنسيت خود خودداري كنند!             يك چهارم انگليسي‌ها در تخت خواب با لپ تاپ كار مي كنند!            احتمال فعال شدن كلاهبرداران اينترنتي به دنبال طوفان ريتا            مايكروسافت ابزار Antiphishing خود را قبل از مرورگر IE 7 منتشر خواهد كرد            رقیب Outlook Express هم آمد            نرم افزاری برای مرور بولتن برد ها و فورم ها            ارسال SMS بدون افتادن شماره برای فرد مورد نظر            اينترنت پرسرعت هنوز در راه است!            آهنگهای ايرانی به جای زنگ تلفن موبايل جهت گوشيهاي اريكسون            تلاش دولت بوش براي برخورد با عرضه‌‏كنندگان محصولات كامپيوتري تقلبي            طرح برتر نخستين نمايشگاه الكامپ مازندران انتخاب شد            آموزش راه اندازی و تنظیم یک شبکه LAN کوچک            تروجان جديد گروگانگيري مي كند!            نقص در ASP.NET            YouTube Downloader 2.0 - FREE نرم افزاري براي دانلود كليپ هاي ويدئويي            دولت هاي آسيايي در ميان بزرگترين مخالفان آزادي اينترنت قرار دارند            نگاهي به نسخه دوم بازي EQII قلمرويي در آسمان            صفحه فارسي در پايگاه اينترنتي پارلمان سوئد گشوده شد            عکس العمل گروه آشیانه به حملات وحشیانه اسرائیل            

آموزش دلفی (بخش ششم)
سه شنبه,17 بهمن 1384 (تعداد دفعات خوانده شده:15285)



نمایش میزان كپی شدن فایل با 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


 

نسخه قابل چاپ              برگشت

عناوين مرتبط
1- آموزش دلفی (بخش نهم) شنبه,23 اسفند 1384
2- آموزش دلفی (بخش هشتم) سه شنبه,12 اسفند 1384
3- آموزش دلفی (بخش هفتم) دوشنبه,30 بهمن 1384
4- آموزش دلفی (بخش پنجم) سه شنبه,26 دي 1384
5- آموزش دلفی (بخش چهارم) جمعه,14 دي 1384
6- آموزش دلفی (بخش سوم) پنج شنبه,8 آذر 1384
7- آموزش دلفی (بخش دوم) شنبه,18 آبان 1384
8- آموزش دلفی (بخش اول) پنج شنبه,10 آبان 1384
9- دلفین‌ها هم از موبایل استفاده می‌کنند پنج شنبه,1 خرداد 1384



نظرات كاربران



با قراردادن كد ذيل مي‌توانيد از سيستم نمايشگار اخبار ما بصورت رايگان در سايت/وبلاگ خود استفاده كنيد
 

معرفي شبكه فن آوري اطلاعات ايران به يك دوست

ايميل شما:
ايميل دوستتان:

تبـليغــات

تبليغات داخلي ...


حاميان ما ...


نقل اخبار/اطلاعات ساير سايتها/پايگاه‌ها لزوما به معناي تائيد آنها نيست، بلكه مسئوليت تمامي مطالب ارسالي به عهده پايگاه‌هاي مربوطه مي‌باشد
نقل مطالب سايت با ذکر منبع (www.IRITN.com) و نام نويسنده مجاز است.
All rights reserved. Copyright 2003-2006 by KEYANA IT Co.  Computed in 0.10 seconds
(Best Viewed With IE 6.0 or higher (1024x768