delphi4arab منتديات دلفي للعرب
كيف اجعل ProgressBar يتزامن مع العمل المنجز - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف اجعل ProgressBar يتزامن مع العمل المنجز (/showthread.php?tid=5128)



كيف اجعل ProgressBar يتزامن مع العمل المنجز - عبد الهادي - 11-04-2013

السلام عليكم
كيف اجعل ProgressBar يتزامن مع العمل المنجز من البرنامج مثلا تحميل ملف او ارسال بيانات كبيرة جدا الى قاعدة بيانات
وفقكم الله


كيف اجعل ProgressBar يتزامن مع العمل المنجز - ALmuhhnad - 12-04-2013

إقتباس :مثلا تحميل ملف او ارسال بيانات كبيرة جدا الى قاعدة بيانات
ما هي طريقة الارسال ..؟
غالباً .. يكون هناك متغير في عملية الارسال ... يحدد حجم الملف المرسل ... وما مقدار البياانات المرسلة ...
لذلك قم بإعطاء الـ ProgressBar.Max حجم الملف المرسل و ProgressBar.Position حجم البياانات المرسلة

---
عادتاً ... إذا كنت تستعمل حلقة ( For, While ... ) تستعمل متغير يكون عدااد للحلقة وتقوم بإعطاء
قيمته للـ ProgressBar.Position

مثال :
PHP كود :
var
  
i : Integer;
begin
  ProgressBar1
.Min := 0;
  
ProgressBar1.Max := 50000;
  for 
i := 0 to 50000 do
  
begin
    
// your codes ...
    
ProgressBar1.Position := i
  end
;
end; 

وايضاً تختلف الطرق على حسب الحالة التي انت بها ...


كيف اجعل ProgressBar يتزامن مع العمل المنجز - عبد الهادي - 15-04-2013

بارك الله فيكم اخي الكريم

ما القصد بحجم البيانات المرسلة ؟

ماذا لو حدث خطأ واردت ان يكتب لي البروقرس بار كلمة خطأ بالانجليزي داخل البروقرس بار وايضا نسبة التحميل

وفقكم الله


كيف اجعل ProgressBar يتزامن مع العمل المنجز - SMP3 - 17-04-2013

ALmuhhnad كتب :مثال :
PHP كود :
var
  
i : Integer;
begin
  ProgressBar1
.Min := 0;
  
ProgressBar1.Max := 50000;
  for 
i := 0 to 50000 do
  
begin
    
// your codes ...
    
ProgressBar1.Position := i
  end
;
end; 
انتبه أخي .. ستقوم بتكرار الكود حوالي 50000 مرة !!!
ماذا لو كانت لدينا دالة تستغرق 5 دقائق !! ستقوم بمناداة الدالة 50000 مرة ..

إقتباس :وايضاً تختلف الطرق على حسب الحالة التي انت بها ...
كلام صحيح ... على حسب الكود المستعمل
أغلب الأحيان يتم استخدام دوال رياضية لحساب الزمن الذي تستغرقه الدالة ثم اجراء علاقة ثلاثية بين الزمن المستغرق و قيمة ال Max لل ProgressBar ...


كيف اجعل ProgressBar يتزامن مع العمل المنجز - ALmuhhnad - 17-04-2013

السلام عليكم ورحمة الله

إقتباس : ما القصد بحجم البيانات المرسلة ؟
على ما اعرف انه في التعامل مع البياانات يوجد متغير يشير او يحتوي على معلومة عن المعلومات التي تم تحميله او تم ارسالها
وانا لم اجرب البيانات وقواعد البيانات في دلفي لذلك لا استطيع ان افيدك بكود معين ...

إقتباس : ماذا لو حدث خطأ واردت ان يكتب لي البروقرس بار كلمة خطأ بالانجليزي داخل البروقرس بار وايضا نسبة التحميل
تستطيع فعل ذلك من خلال وضع الامر في Block جملة Try ... except
مثال عندما لا تعرف نوع الخطا وتضع إستثناء عامل لجميع الاخطاء التي ستحدث :
PHP كود :
try
    
// Your Code
  
except // if any an error happened ,do except
    
ProgressBar1.Text := 'Error !!'
  
end; 

مثال عندما تعرف نوع الخطأ ونفرض انه من نوع EMathError نكتب هذا الكود :
PHP كود :
try
    
// Your Code
  
except on EMathError do // if the error of Math happened ,do except
    
ProgressBar1.Text := 'Error on Math'
  
end; 

هذا ما اعرفه .. اتمنى اني افدتك والسلام عليكم
---------
إقتباس :انتبه أخي .. ستقوم بتكرار الكود حوالي 50000 مرة !!!
ماذا لو كانت لدينا دالة تستغرق 5 دقائق !! ستقوم بمناداة الدالة 50000 مرة ..

نعم صحيح على اسااس ان السائل يعرف اسااسيات اللغة ... فهذا الرقم فقط للمثال Smile


كيف اجعل ProgressBar يتزامن مع العمل المنجز - عبد الهادي - 17-04-2013

بارك الله فيكم أخي ALmuhhnad
حسنا ماذا لو أردت ان اجعل البروقرس بار عبارة عن صورة حميلة داخل مستطيل طويل تمتد وكانها بروقرس بار
و اعذر لي بساطتي وفقك الله


كيف اجعل ProgressBar يتزامن مع العمل المنجز - ALmuhhnad - 17-04-2013

تستطيع فعل ذلك بعدة طريق ودائماً ما نختار اللطريقة الاسهل والاريح لنا
ارفقت مثال صغير ... وبسيط ومليء بالعيوب :d


كيف اجعل ProgressBar يتزامن مع العمل المنجز - عبد الهادي - 19-04-2013

وانا حاولت تعديل عملك أخي الكريم وهذا هو الملف المعدل ، حيث وجدت ان خاصية اوتو سايز غير ناحجة

انتظر منكم الارشاد