منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : محتاجة كود يخلي ترتيب الاسئلة عشوائي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
بالنسبة لي انا .. لي طريقة غير عملية Undecided   ولكن هي المنقذة بعد الله  Idea

وهي كالتالي .. 
1- تضعين 3 فورمات كل واحدة فيه الاسئلة بترتيب معين

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

كود :
' كود أختيار عشوائي للفورم
           Dim rnd As New Random(Date.Now.Millisecond)
           Dim newform As New Form
           Select Case rnd.Next(0, 3)
               Case 0
                   newform = New Form1
               Case 1
                   newform = New Form2
               Case 2
                   newform = New Form3
           End Select
           newform.Show()
حملت المثال واول شي لفت انتباهي هو المؤقت الذي حددتي مهمته بالانتقال للفورم الاخر والافضل في هذه الحال هو استخدام splash screen فهو فعلي وافضل


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

اضفت فورم جديد واخترت فقط ثلاث مجموعات


وهذا رابط لقطة الاستخدام
http://im84.gulfup.com/M323Dm.swf
ان كان هو المطلوب اكتبي رد لارفع المشروع
المشروع هنا
يعطيك العافيه استاذ سعود ماقصرت
بس انا ماعرف اجيب النتيجه اذا حطيت كذا فورم وفيهم اسئلة
ماعرف الطريقه كيف اللي تجمعلي النتايج حقت الفورمات كلها
علشان كذا حطيت الاسئله كلها بفورم واحد
فين المشكلة ضعيهم في فورم واحدSmile
yes هو دا
يعطيك الف عافيه والله اني عارفه اني ابلشتك
بس فيه مشكله صغيره
لما اضغط على زر توليد الاسئلة تختفي كل الاسئلة الي بالفورم مايلع معاي الا سؤالين بس
وماقدرت احط الكود على زرالبوتون لان يطلع تحت الكود خط احمر
انت يوم سويت الملف وش قصدت بـ () g الي تبع زر التوليد
لان ودي احط الكود على زر الدخول
إقتباس :انت يوم سويت الملف وش قصدت بـ () g الي تبع زر التوليد

الحرف
كود :
g()
هذا روتين التوليد وهو باطار محرر الكود
كود :
Private Sub g()
وهنا الاكواد
end sub

اعدت تسمية مربعات المجموعات الى :
g0
g1
g2
وقمت بتعريف متغيرات بمنطقة التصريحات العامة كالتالي:
كود :
Dim a As Integer = Nothing
    Dim gg0, gg1, gg2 As Drawing.Point
    Dim curent As Integer = Nothing
ثم عند حدث تحميل الفورم قمت بتخزين اماكن مربعات المجموعات كالتالي:
كود :
gg0 = g0.Location
        gg1 = g1.Location
        gg2 = g2.Location

وبعدها استدعيت دالة الافراغ للذاكرة (حسب مافهمت)
كود :
Randomize()

الان تبقى فقط استدعاء الروتين
كود :
g()

نضعه اما في حدث تحميل نفس الفورم بعد الاكواد السابقة او نضعه باي زر يؤدي لهذا الفورم
المتغيرات التالية
gg0
gg1
gg2
نخزن بها اماكن مربعات المجموعات
واخيييييييرا ضبط معي
ماقصرت الله يسعدك ويوفقك دنيا واخره
ماضبط معي بزر الدخول بس لما سويت بنفس الفورم زر سميته اعادة الاختبار ضبط معاي
بس لما اسوي تشغيل وضغطت زر اعادة اختبار بعض الاسئلة بالقروب بوكس تصير فوق
وش حل هالمشكلة
كيف اثبتها بمكانها
إقتباس :بعض الاسئلة بالقروب بوكس تصير فوق

مش متصور المشكلة ممكن صورة لها؟

لكن يفترض اخذ مكان كل مربع مجموعة GroupBox  قبل التغيير.
تغيير الاماكن فكرته كالتالي:
012
0= يعبر عن اسم مربع المجموعة   g0
1=  ==================g1
2= ==================g2
فلو اردنا توليد اماكن عشوائية من غير كود يعني بشكل منطقي سنكتب:
012
021
102
120
201
210

الان كم عدد مرات التوليد العشوائي نحتاج؟
6 والعد يبدا من 0
لذلك كتبت الكود التالي:
a = Rnd() * 5

الرقم 5 يتغير لو زادت  المرات (يعني مسالة منطقية)

انحلت المشكلة
الصفحات : 1 2 3