السلام عليكم
- اذا كان لدي برنامج مصمم بالدلفي 7 ويقوم هذا البرنامج بالبحث في قواعد البيانات ، فكيف اقوم بعمل
شريط الانتظار حتى يكتمل البحث وتظهر النتائج...؟؟
السلام عليكم
- اذا كان لدي برنامج مصمم بالدلفي 7 ويقوم هذا البرنامج بالبحث في قواعد البيانات ، فكيف اقوم بعمل
شريط الانتظار حتى يكتمل البحث وتظهر النتائج...؟؟
السلام عليكم ورحمة الله وبركاته
يمكنك استعمال المكون progressbar مع timer حيث أن timer.interval=1 و timer.enabled تكون في البداية false
وعند الضغط على زر البحث تصبح قيمته true
ثم تجعل progressbar.position تتزايد تناسبا مع عدد السجلات
أو تستعمل المكون gauge الموجود في examples (باستعمال الخاصية progress)
أتنمى أن أكون قد أعطيتك فكرة مبسطة عن الطريقة
وإذا لم تتمكن من تطبيقها، فالرجاء أن ضع هنا مثالا لبرنامجك ونحن سنساعدك بإذن الله
وفقك الله ... والسلام عليكمم ورحمة الله
بسم الله الرحمن الرحيم " وقل رب زدني علما"
السلام عليكم
استعمل ثريد وضع فيه مثلا Animate1 او ProgressBar
كما ذكر الاخ محمد ...
لو مثلاً لديك 100 سجل , فإنك تضع الخاصية Max لأداة ProgressBar بقيمة 100 , والخاصية Min بقيمة 0 .
وعند انتهاء قراءة السجل العاشر مثلاً , تكتب الأمر التالي :
ProgressBar1.Value := 10;
وهناك طرق أخرى أفضل :
انك تجعل قيمة الخاصية Max مساوية لرقم آخر سجل في قاعدة البيانات
والخاصية Min تساوي صفر طبعاً .
وتجعل الخاصية Value (وهي قيمة موقع أداة ProgressBsr) تساوي رقم السجل الحالي ,
فيصبح الكود قريباً من الشكل التالي :
ProgressBar1.Max := Max_Record_Number; ProgressBar1.Min := 0; ProgressBar1.Value := Current_Record_Number;
اقتباسIf A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut
Albert Einstein
مشكور اخوي دلفلاوي على المشاركة .. بس انا اردت اسنخدام هذا المكون في حدث لا يمكن معرفة نهايته مثلاً عند بدء تشغيل البرنامج او مثلا عند عمل نسخة احتياطية فهنا لا توجد سجلات ولا ارقام ولكن احداث لها فترة تنفيذ زمنية معينة .. فيكف يمكن استخدام هذا المكون ففي مثل هذه الحالات .. ؟؟
قم بتوزيع تقدم شريط الProgress Bar بين الاكواد
تم تعديل هذه المشاركة بواسطة Swift في 2 أكتوبر 2008 في 17:51
Comming Soon
في هذه الحالة أفضل استخدام ال ProgressBar وجعله يتحرك بإستمرار مثل عندما تقوم بالبحث عن الملفات في الويندوز، لانه في عملية البحث وخاصة اذا كانت تتم على خادم قاعدة البيانات فلا يمكنك معرفة وقت النهاية ولا وقت العملية
والكود اللازم لذلك قمت بكتابته في تدونية سابقة
http://www.mnasman.com/blog/?p=24
أما إذا كنت تستخدم دلفي 2009 فقد تم إضافه هذه الخاصة لمكون ال ProgressBar ولا تحتاج للكود السابق
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
uses
XPMan;
procedure TForm1.FormCreate(Sender: TObject);
const
PBS_MARQUEE = $08;
PBM_SETMARQUEE = WM_USER + 10;
begin
SetWindowLong(ProgressBar1.Handle,GWL_STYLE,
GetWindowLong(ProgressBar1.Handle,GWL_STYLE or PBS_MARQUEE));
// 1 to run, 0 to stop it
ProgressBar1.Perform(PBM_SETMARQUEE,1,60);
ProgressBar1.Position := 1;
end;
..
أين اضع الكود الخاص بي (كود عملية النسح الاحتياطي )
قبل البدء في عملية البحث حيث ان الكود السابق سوف يقوم بتشغيل ال ProgressBar بشكل مستمر
وعند الانتهاء مرر اكتب هذا الأمر
ProgressBar1.Perform(PBM_SETMARQUEE,0,60);
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.