تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تشغيل progress bar مع تحميل الداتا
#1
السلام عليكم ورحمه الله
عاوز البروجرس بار يستغل وقت تحميل الداتا لانها كتير بالداتا بيز
الكود انا عارفه بس مش بيشتغل مع التحميل
البرنامج بيهنج ٢ ثانية بتوع تحميل الداتا بعدين يستغل
ففكرت اعمل فى تايمر بعين عن البوتن بس نفس المسكلة
اتمنى الاقى حل من حضراتكم
الرد }}}
تم الشكر بواسطة:
#2
اى حل من فضلكم
الرد }}}
تم الشكر بواسطة:
#3
السلام عليكم
استخدم قبل كود التحميل:


كود :
Application.DoEvents();
الرد }}}
تم الشكر بواسطة: sendbad100 , Abou Eman , elgokr
#4
هجربها ان شاء الله
الرد }}}
تم الشكر بواسطة:
#5
مش شغالغال للاسف
الرد }}}
تم الشكر بواسطة:
#6
مرحباً اخى %Eman%

حتى توضح الصورة لك جيداً
يجب عليك ان تعلم ان البرنامج الخاص بك وقاعدة بيانات هما 2 وليس 1
بمعنى ان البرنامج لا يمكنه تحديد ولا معرفة حالة قاعدة البيانات والمدة المستغرقة بها
ولكن كل ما يفعله البرنامج هو الانتظار حتى يقوم الثاني وهو قاعدة البيانات من الانتهاء لجلب البيانات الخاصة به

وسبب عدم نجاح عمل الـ progress bar هو ان الـ progress bar  يتعامل مع الامر وقتى داخل البرنامج الاول
وحيث ان البرنامج الاول وهو البرنامج الخاص بك يقوم بالانتظار فهنا وظيفة الـ progress bar  غير مجدية ولا تفعل شئ

لتبسيط الامر وتوضح الامر اكثر تخيل ان الـ progress bar 
هو عبارة عن الجهاز الهضمي لجسدك

وتخيل ان البرنامج الخاص بك وقاعدة البيانات عبارة عن
البرنامج هو جسدك وقاعدة البيانات هو جسد شخص اخر

السؤال هنا تتخيل ان الجهاز الهضمي الخاص بك يمكنك ان يشعر بجسد الشخص الاخر ؟؟؟؟
الاجابة اكيد لا بطبيعة الحال

هنا انت بتتعامل مع الـ progress bar  انك تريده ان يتعامل مع جسد اخر خارج نطاقه
طيب امته الـ progress bar يمكنه التعامل مع قاعدة البيانات

الحالة الوحيده عندما يكون قاعدة البيانات بداخل البرنامج وليس خارجه
مثل الـ Dataset  وما شبه من تعامل مع قواعد البيانات التى تدرج بداخل السورس

طيب تعال نعرف اكتر الاكواد التى تكتب كل سطر بها عبارة عن ماذا
كل سطر من الاكواد التى تكتب هى عبارة عن اشارة مرور كما هى توجد بالطرق العامة

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

انت هنا فى خطاء فادح لو كنت بتتعامل بهذا الشكل
لان بطبيعة الحال عند الوقوف عن الاشارة لتحميل الداتا من قاعدة البيانات
انت هنا فى انتظار الاشارة تكون اخضر ولحدوث هذا يعنى ان تكون الداتا باكملها تم تحميلها
فهنا عند التنقل للاشارة الثانية وهو تحليل مدة تحميل الداتا ستجدها انها اخضر فعلياً بدون اى انتظار تحميل
لان سبق والداتا تم تحميله كاملاً 

طيب الصح هنا ايه
الصح يجب عليك ان تضع كود التايمر اولاً لتحليل مدة تحميل الداتا
من ثم وضع كود تحميل الداتا بعدها هنا هتكون انت فعلت التالى

طلبت تشغير التايمر اللى يحتوى على كود تحميل الداتا هنا انت بتستغرق جزء من الثانية
وبمجرد تنفيذ كود بداخل التايمر مثلاً بعد ثانية من تشغيله
يتكون انت فعلياً فى الاشارة التالية خاصة كود تحميل الداتا وهنا سيكون التحليل يعمل بنفس الوقت لتحميل الداتا

طيب لحد هنا جميل يبقي فقط كيفية استشعار الـ progress bar بالجسد الثاني وهو قاعدة البيانات
فتتوقف المشكلة هنا كما شرحت بالاعلى بان الـ progress bar  ما هو الا الجهاز الهضمي ولا يمكنه ان يشعر بالجسد الاخر
الا اذا جعلت قاعدة البيانات بداخل البرنامج اى بداخل الجسد نفسه

طيب الحل الوحيد لتمويه وعمل الـ progress bar ليعمل اثناء تحميل البيانات من قاعدة البيانات
الحل الوحيد هنا هو ان يكون تحميل البيانات داخل ادوات عن طريق For أو While بمعنى اصح ان يكون تحميل الداتا يمر بمرحلة الـ Loop

ويكون الامر عبارة عن كلما عمل اضافة بيان الى اداء وليكن datagridview أو مثلاً list ... الخ
يكون عملية الـ progress bar يقوم بتزايد 1 وحيث ان القيمة الادنى لـ progress bar هو 0 
و العظمي هو اجمالى قيمة الداتا التى تم تحميلها من قاعدة البيانات ويتم عمل لها Loop لادراجها فى الفورم

لتوضح الفكرة والصورة اكثر انظر للرابط التالى

اتمنى الشرح يكون موضح كل ما اريدك ان تكون على علم به
وان لا يكون به اى متاهة فى شرح الامر كاملاً

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#7
السلام عليكم

الله يعطيك العافية 

اخي الحبيب / الجوكر


طيب هل يمكن استخدام   صورة  متحركة او شي مماثل حتى تنهي الكود ثم تقفلها.
مثل التالي

مثل 
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , Abou Eman , Rabeea Qbaha
#8
وعليكم السلام ورحمة الله وبركاته

مرحباً اخى sendbad100

بخصوص السؤال يمكن ذلك من خلال عمل 
كود اظهار الصورة المتحركة
قبل تنفيذ كود جلب البيانات من قاعدة البيانات
وبعد كود جلب البيانات من قاعدة البيانات يتم عمل كود اخفاء الصورة مجدداً

وبكده تكون عملت الفكرة عن طريق الصورة من بداية تحميل الكود حتى الانتهاء
وسيبدو الشكل ان الصورة تنتمى الى تحميل البيانات

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , Abou Eman
#9
(21-01-19, 09:30 PM)elgokr كتب :
وعليكم السلام ورحمة الله وبركاته

مرحباً اخى sendbad100

بخصوص السؤال يمكن ذلك من خلال عمل 
كود اظهار الصورة المتحركة
قبل تنفيذ كود جلب البيانات من قاعدة البيانات
وبعد كود جلب البيانات من قاعدة البيانات يتم عمل كود اخفاء الصورة مجدداً

وبكده تكون عملت الفكرة عن طريق الصورة من بداية تحميل الكود حتى الانتهاء
وسيبدو الشكل ان الصورة تنتمى الى تحميل البيانات

تحياتى لك
وتمنياتى لك التوفيق

نعم هذا ما خطر ببالي


تحياتي لك
الرد }}}
تم الشكر بواسطة: elgokr , ابراهيم ايبو
#10
بالفعل انا بحاول من ٣ ايام استخدام نفس الصورة ، سبحان الله
بس للاسف البيكتشرالبيكتشر بوكس بتهنج والصورة بتقف لحد اما الداتا تحمل وبعدين تستغل تانى
الرد }}}
تم الشكر بواسطة:



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


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