كيفية استعمالprogressbar1 مع الجداول
#1
السلام عليكم ورحمة االله وبركاته
منا طريقة وصل PROGRESS مع كل الجداول لقاعدة البيانات مع علم عندي طريقة لجدول واحد فقط
PHP كود :
ProgressBar1.Position := 0;
ProgressBar1.Min := 0;
ProgressBar1.Max := adoTABLE1.RecNo;
while 
NOT adoTABLE1.Eof do begin
 progressBar1
.Position := adoTABLE1.RecNo  ;
 
ProgressBar1.Update;
adoTABLE1.Next ;
end; 
الرد
#2
و عليكم السلام و رحمة الله وبركاته

أين تستعملها عند الفتح؟ عند تحريك المؤشر ؟
الرد
#3
الخطا هنا
PHP كود :
:= adoTABLE1.RecNo  ; 
حاول ب RecordCount;
الرد
#4
أستعملها في الحدث oncreate
onexite كتب :حاول ب RecordCount;
شكرا لك أخي العزيز و لكن ما الطريقة مع كل الجداول في لحظة واحدة
يعني عندي 6 جداول أستعملها مع progress واحدة
الرد
#5
يمكنك كتابة إجراء Procedure
كود :
private procedure ProgressTable(ADataSet: TDataSet); end; ... procedure TForm1.ProgressTable(ADataSet: TDataSet); begin ProgressBar1.Position := 0; ProgressBar1.Min := 0; ProgressBar1.Max := ADataSet.RecordCount; Application.ProcessMessages; with ADataSet do begin DisableControls; while not Eof do begin ProgressBar1.Position := RecNo ; ProgressBar1.Update; Next; end; EnableControls; end; end; procedure TForm1.Button1Click(Sender: TObject); begin ProgressTable(ADOTable1); end;
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#6
السلام عليكم

هل تقوم بتحريك المؤشر من أول تسجيل إلى اللآخر ؟ ( ما هو عدد التسجيلات في كل جدول ؟ )

توجد طريقة أفضل (لكني لم أنجح في إستخدامها Big Grin) الإتصال بطريقة بالـ asynchronous يمكنك إستخدام الحدث OnFetchProgress لمعرفة الوضع الحالي للـ recordset أثناء تحميلها (الفتح)
ملاحظة: لا تدعم كل قواعد البيانات طريقة asynchronous + حسبما قرأت هذه الطريقة فيها بعض العلل
كود :
https://forums.embarcadero.com/thread.jspa?messageID=369341
بالتوفيق
الرد
#7
بصراحة أنا ضد كل هذه الطرق
عمليات البحث في قواعد البيانات لا تأخذ وقت يتطلب عرض التقدم Progression
إذا لا تتم باستخدام حلقات، وإن تطلب ذلك فهناك خلل ما!
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم