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

حول أداة option button

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

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

عندي استفسار بسيط حول برمجة الزر option button

انا لدي برنامج اشغل عليه حاليا ... فكرته تتكلم عن اختبار للشخصية

و عندي اسئلة ... والاجابات اريدها بقيم مختلفة

مثلا ::

السؤال الاول :: ...............

الاجابات ::

أ - .......... << قيمة الاجابة = 1

ب - .......... << قيمة الاجابة = 4

ج - ............ << قيمة الاجابة = 2

وهكذا في باقي الأسئلة ....

<< كيف اصل لهذه الصورة عن طريق البرمجة ؟؟؟؟

وشكرا

#2

السلام عليكم...

استخدم الخاصية Tag للـ OptionButton لتخزين القيمة (ربط قيمة معينة بالـ OptionButton).

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

عذرا اخوي ناجي ...

ما توصلت للطريقة اللي تقصدها ...

<< صحيح اني لقيت هذي الخاصية ....

لكن المشكلة اني ما عرفت كيف استخدمها صح ...

بس اذا ما عليك تكلفة ...

تشرحها بشكل اوضح

#4

السلام عليكم...

إذا كانت لكل سؤال إجابة واحدة فقط (و هذا ما أظنه لأنك تستخدم الـ OptionButtons) فإن أفضل طريقة هي استعمال مصفوفة المكونات (Control Array) لسهولة جمع الدرجات (القيم).

كمثال:

1. ضع على الـ Form مكون Frame (سيكون اسمه Frame1) لإجابات السؤال الأول. ضع أول OptionButton على الـ Frame1. لا تضف Options أخرى.

2. اذهب للخاصية Index التابعة للـ Option1 و اضبطها على 0 (صفر). هذا سيؤدي إلى إنشاء مصفوفة مكونات اسمها Option1.

3. طبعاً ستكتب في الخاصية Caption للـ Option1 هذا الإجابة الأولى للسؤال الأول.

4. اذهب للخاصية Tag التابعة للـ Option1 و ضع بها قيمة الإجابة.

5. انسخ Option1 ثم ألصق منه نسخة على الـ Frame1. سيؤدي ذلك إلى إنشاء العنصر الثاني في مصقوقة المكونات (إذا نظرت إلى الخاصية Index لهذا الـ Option الثاني فستجدها = 1 تلقائياً).

6. مع هذا الـ Option الثاني: اضبط الخاصية Caption على الإجابة الثانية للسؤال الأول، و اضبط الخاصية Tag على قيمة الإجابة الثانية.

7. ألصق نسخة أخرى من الـ Option على نفس الـ Frame1 و اضبط الخاصيتين Caption و Tag للـ Option الثالث.

8. انسخ الـ Frame1 و ألصق منه نسخة على الـ Form. ستسألك VB عما إذا كنت تريد إنشاء مصفوفة مكونات من الـ Frame1. يمكنك الإجابة بنعم أو لا. سيظهر على الـ Form مكون Frame ثاني و به 3 نسخ من Option1 (إذا فحصت الخاصية Index لها ستجدها 3 و 4 و 5 أي أنها تتبع نفس مصفوفة مكونات Option1).

9. لكل Option في الـ Frame الثاني (الخاص بالسؤال الثاني) اصبط الخاصية Caption على نص الإجابة، و الخاصية Tag على قيمة الإجابة.

10. كرر نفس العمل لكل سؤال لديك.

=====================

* الآن لنفرض أن لديك زر لتقييم الإجابات و حساب التقييم النهائي. سيكون الكود كالتالي:

Private Sub Command1_Click()
    Dim Idx As Long
    Dim Result As Long

    Result = 0
    For Idx = Option1.LBound To Option1.UBound
        If Option1(Idx).Value Then
            Result = Result + CLng(Option1(Idx).Tag)
        End If
    Next Idx
    MsgBox CStr(Result)
End Sub

طبعاً MsgBox هنا للتوضيح فقط. يمكنك وضع النتيجة في TextBox أو متغير.... إلخ.

نرجو الاستفادة و السلام.

1

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#5

ضبط معي البرنامج ...

صراحة اشكرك ... من اعماق قلبي ...

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

#6

الله يعطيك الف عافيه استاذ ناجي علي مجهودك الرائع

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