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

كيف استعمل Progressbar (شريط التقدم) ؟

مغلق
بدأه AlShareif في 5 أكتوبر 2007 · 11 رد · 1,892 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته أنا عضو جديد في هذا المنتدى الفاضل أتمنى تقبلوني بينكم وما تبخلوا عليّ بالمساعدة

خبرتي في الفيجوال بيسك مبتدئ إلى متوسط ,,, أتمنى مساعدتي بخصوص الأداة ProgressBar (شريط التقدم)

كيف أربطها بحدث في البرنامج...

مثال: أبي انسخ ملف من مكان إلى آخر. وضعت هذا الكود:


CopyFile "C:\Setup.exe", "D:\Setup.exe", False
End Sub
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Private Sub Command1_Click()

طبعاً هذا الكود سينسخ ملف Setup.exe من القرص C إلى القرص D أريد أن أظهر مستوى تقدم النسخ في الأداة ProgressBar

أتمنى ألقى الحل عندكم ولكم خالص تحياتي...

ياليت ترفقوا لي مثال على ذلك لكي أستوعب أكثر

شكراً لكم... :)

#2

أعتمد على الدالة CopyFileEx بدلا من CopyFile , راجع الرابط فبه مثال.

بالمناسبة CopyFileEx لا تعمل فى Win 9X و Win ME

تعديل : و أهلا بك بالمنتدى :D .

تم تعديل هذه المشاركة بواسطة msayed2004 في 5 أكتوبر 2007 في 12:30

#3

ألف شكر لك اخوي msayed2004 على الكود وبالفعل جربت ونجح معاي

لكن أنا ابي دروس وشروحات للأداة ProgressBar مع أي حدث في البرنامج غير النسخ مثلاً

ياليت إذا تقدر وأكون لك شاكر ومقدر ...

#4
اقتباس
لكن أنا ابي دروس وشروحات للأداة ProgressBar مع أي حدث في البرنامج غير النسخ مثلاً
الأداة ملهاش أى علاقة بالحدث أو العملية بتاعتك هى كل المهم اللى فيها ثلاث خواص و هم Max و Min و Value و أنت اللى تضبطهم بنفسك مش أكتر.

دالة CopyFileEx بالصدفة فيها امكانية تحديد الحالة أنما هى أستثناء و ليست قاعدة.

#5

جرب المثال المرفق أخي

وإن شاء الله يفيدك

Ala2_VB___Progress_Bar.rar

اقتباس
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

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#6

يا اخي ضف للبرنامج متعك تايمر وضع الكود فيه

وضع الكود بشكل الاتي

اجعل قيمة التيمتر 1000 اي في كل ثانية بينف الكود

واجعل maxvalueل ProgressBar =100

واجعل minvalue=0

if ProgressBar.value=100 then

ProgressBar1.value=ProgressBar1.value+10

end if

وضعه في التيمر

وان شاء الله تمشي الامور

تم تعديل هذه المشاركة بواسطة pass_life في 6 أكتوبر 2007 في 01:45

#7

@ علاء و pass_life : ما الفائدة من أستعمال الـ Timer الذى سيزيد الـ Value دون معرفة هل الـ Value تستحق زيادة أم لا ;)

#8

صحييييييييح :blink:

أنا عملته كمثال عام لاستعمال شريط التقدم

وشكرا على الملاحظة :lol:

وكل سنة وانت طيب

اقتباس
if ProgressBar.value=100 then

ProgressBar1.value=ProgressBar1.value+10

end if

كود مش مضبوط أخي

طيب الآن التايمر هيزيد شريط التقدم بمقدار 10 ,, ولكن ماذا يحصل لو قيمة الشريط صارت 1000 أثناء التقدم ؟؟؟

هتظهر رسالة خطأ

يرجى تعديل الكود ,, وهو موجود في ملفي الرمفق أعلاه B)

اقتباس
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

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#9

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

لماذا لا تستعمل باقي القسمة على 100 والذي سيكون بطبيعة الحال أقل أو يساوي 100 دائما مهما كانت قيمة المتغير

#10
اقتباس
السلام عليكم ورحمة الله وبركاته

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

اقتباس
لماذا لا تستعمل باقي القسمة على 100 والذي سيكون بطبيعة الحال أقل أو يساوي 100 دائما مهما كانت قيمة المتغير

ممكن تشرح أكتر أخي ,, ما فهمتك كويس

اقتباس
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

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#12

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

اسف على التأخير على الرد ولكن سوف تجد مثال صغير في المرفقات

وان شاء الله يكون هذا الدي تريدة ;)

________.rar

هذا الموضوع مغلق.

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