www.Topkala.com
معرفی نرم افزار :: آموزش کامپیوتر :: اطلاعات عمومي موبايل :: زندگينامه بزرگان :: معرفي كتاب :: کامپیوتر

¤¤  آموزش برنامه نویسی دلفی بخش ششم

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

تاريخ ثبت : شنبه 11 ارديبهشت 1389  -  11/2/1389  -  01/05/2010         كد : 1262335946

اپرتوری کامپیوترآموزش کامپیوترپي اچ پيآموزش برنامه نویسی دلفی بخش ششموبترفندهای کامپیوترنويسياموزش برنامه نویسی دلفیinternetآموزش phpچتlearn pcاپرتوری کامپیوتراموزش برنامه نویسی دلفی بخش دوماينترنتوباموزش برنامهاینترنتinternetگرافیکبرنامهeducation pcآموزش پي اچ پي مقدماتيantivirusچتآموزش کامپیوترآی سی دی الترفندهای کامپیوترآموزش برنامه نويسيبرنامه نویسی دلفیاموزش برنامه نویسی دلفی بخش دومphpدلفیبرنامه تحت وبهکآموزش مونتاژ کامپیوترchateducation pcآموزش پي اچ پياینترنتدلفیآموزش پي اچ پي مقدماتيآنتی ویروساينترنتاينرنترنتآموزش کامپیوترآی سی دی الپي اچ پيآموزش کامپيوتربرنامهآموزشviruseآموزش برنامه نویسیآنتی ویروسبرنامه نویسی دلفیبرنامه نويسيآنتی هکآموزش برنامه نویسی دلفی بخش ششمبرنامه تحت وبآموزش مونتاژ کامپیوترآموزش کامپيوترنويسيآموزش پي اچ پيphpآموزش phpamozeshantivirusاموزش برنامه نویسی دلفیگرافیکlearn pcاموزش برنامهاموزش برنامه نویسیHypertext Preprocessorآموزش برنامه نويسياينرنترنتHypertext Preprocessorcomputerهکآموزش برنامه نویسی دلفی بخش ششمآموزش برنامه نویسیبرنامه نويسيvirusecomputeramozeshآموزش کامپیوترآموزش برنامه نویسی دلفی بخش ششمchatآموزش کامپیوتراموزش برنامه نویسیآموزشآنتی هک


© 2010 Topkala.com , All rights reserved. Powered by Abarkam™ Technology