الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أعطاء قيمة ل Progressbar ?

بدأه أحمد_ليبيا في 18 سبتمبر 2009 · 3 رد · 700 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

- المشكلة هي كيف يمكن معرفة الزمن لتحديد قيمة (MAX)

- لذا اين يمكن وضع كل من (Max, Min , Progress.Position)

procedure TForm1.OpenDialog1CanClose(Sender: TObject;

var CanClose: Boolean);

begin

if OpenDialog1.FileName <> '' then

begin

DM.STOR_Backup.Close ;

DM.STOR_Backup.Prepared := False ;

DM.STOR_Backup.Parameters[1].Value := OpenDialog1.FileName ;

DM.STOR_Backup.ExecProc();

ShowMessage('تمت عملية النسخ الاحطياتي');

end;

end;

تم تعديل هذه المشاركة بواسطة أحمد_ليبيا في 18 سبتمبر 2009 في 07:25

moslimbag8.gif

------

saaid.jpg

#2

أخي أحمد

لا أدري إن كنت فهمت عليك صح أنت تريد نسخ ملف لكن بشريط تقدم بمجرد إختياره من OpenDialog إن كان هذا ما قصدته

فيجب أن تعرف حجم الملف المراد نسخه بعد ذلك يجب أن أن تربط القيمة Max إلى حجم الملف ومن ثم تقرأ الكتلة المراد نسخها

على أجزاء

procedure TForm1.Button1Click(Sender: TObject);
var
 sourceName, destName: String;
 buffer: array [0..255] of byte;
 nRead: Integer;
 Source, Dest: TFileStream;
begin
 if not OpenDialog1.Execute then Exit;
 SourceName:= OpenDialog1.FileName;
 Source:= TFileStream.Create(SourceName, fmOpenRead);
 Progressbar1.Min:= 0;
 Progressbar1.Max:= Source.Size;
 Source.Position:= 0;
 destName:= ExtractFilePath(ParamStr(0))+ExtractFileName(SourceName);
 Dest:= TFileStream.Create(DestName, fmCreate);
 repeat
	nRead:= Source.Read( buffer, 255);
	dest.WriteBuffer( buffer, nRead);
	Application.ProcessMessages;
	Progressbar1.Position:= Progressbar1.position + nRead;
 until nRead <= 0;

 FreeAndNil(Source);
 FreeAndNil(Dest);
end;

أرجو أن أكون قد أصبت أتمنى التوفيق

#3

- السلام عليكم .

- مشكور اخي على هذه النوضيحات.

- اضافة الى

اقتباس
فيجب أن تعرف حجم الملف المراد نسخه بعد ذلك يجب أن أن تربط القيمة Max إلى حجم الملف ومن ثم تقرأ الكتلة المراد نسخها

على أجزاء

- فانني اقوم بعملية النسخ الاحتياطي .. لذلك لا يمكنني تحديد حجم الملف الذي سوف ينشأ (ملف الباك اب).... فهل اقوم بحساب الملف الاصلي ؟

moslimbag8.gif

------

saaid.jpg

#4

أخي أحمد

المقصود بالملف المراد نسخه هو الملف الأصلي أي نربط القيمة Max لشريط التقدم إلى حجم الملف الأصلي طالما أنك لا تريد إضافة تغيرات

مواضيع مشابهة