المساعد الشخصي الرقمي

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


الاستاذ خليل
07-23-2007, 04:27 PM
السلام عليكم

الدرس الحادي عشر : عمل برنامج اختيار من متعدد عشوائيا
الدرس هنا بالصوت و الصورة مع الكود (http://www.hesab.net/PowerPoint/22-soalmotaadd.exe)
الكود :

Dim trueq, falseq As Long
Dim a, b, c As Integer
Dim L1, L2, L3, L4, T1, T2, T3, T4 As Integer

Private Sub Comfalse_Click()
Comfalse.Enabled = False
Comtrue.Enabled = False
If jawab = False Then
trueq = trueq + 1
Else
falseq = falseq + 1
End If

natija.Caption = "النتيجة : " & trueq & " / " & trueq + falseq

End Sub

Private Sub Com1_Click()
Com1.Enabled = False
Com2.Enabled = False
Com3.Enabled = False
Com4.Enabled = False

trueq = trueq + 1

natija.Caption = "النتيجة : " & trueq & " / " & trueq + falseq
Labeltruefalse.Caption = "الاجابة صحيحة"

Labeltruefalse.Visible = True

Dim Start As Long
Start = Timer
Do While Timer < Start + 3 'a 3 second delay (Change To any numer you want)


DoEvents ' Yield To other processes.
Loop


Comsoal_Click

Labeltruefalse.Visible = False

End Sub

Private Sub Com2_Click()
Com1.Enabled = False
Com2.Enabled = False
Com3.Enabled = False
Com4.Enabled = False

falseq = falseq + 1

natija.Caption = "النتيجة : " & trueq & " / " & trueq + falseq
Labeltruefalse.Caption = "الاجابة خاطئة"

Labeltruefalse.Visible = True

Dim Start As Long
Start = Timer
Do While Timer < Start + 3 'a 3 second delay (Change To any numer you want)


DoEvents ' Yield To other processes.
Loop


Comsoal_Click
Labeltruefalse.Visible = False
End Sub

Private Sub Com3_Click()
Com2_Click
End Sub

Private Sub Com4_Click()
Com2_Click
End Sub

Private Sub Comsoal_Click()
If trueq + falseq = 10 Then
MsgBox "انتهت الاسئلة شكرا لاستخدامك البرنامج", vbOKOnly, "رسالة البرنامج"
Comsoal.Visible = True
End If

Comsoal.Visible = False
Com1.Visible = False
Com2.Visible = False
Com3.Visible = False
Com4.Visible = False

Randomize

a = Int(Rnd * 3)
b = Int(Rnd * 101)
c = Int(Rnd * 3)

If a = 0 Then
a = 10

If c = 0 Then
b = b * 10
ElseIf c = 1 Then
b = b * 100
ElseIf c = 2 Then
b = b * 1000
End If


ElseIf a = 1 Then
a = 100

If c = 0 Then
b = b * 100
ElseIf c = 1 Then
b = b * 1000
ElseIf c = 2 Then
b = b * 10000
End If


ElseIf a = 2 Then
a = 1000

If c = 0 Then
b = b * 1000
ElseIf c = 1 Then
b = b * 10000
ElseIf c = 2 Then
b = b * 100000
End If

End If



soal.Caption = "ناتج قسمة " & b & "÷" & a & "="

Com1.Caption = b / a
Com2.Caption = (b / a) * 10
Com3.Caption = (b / a) * 100
Com4.Caption = (b / a) * 1000

L1 = Com1.Left
L2 = Com2.Left
L3 = Com3.Left
L4 = Com4.Left
T1 = Com1.Top
T2 = Com2.Top
T3 = Com3.Top
T4 = Com4.Top

Dim v As Integer
v = Int(Rnd * 4)
If v = 0 Then
Com1.Left = L1
Com2.Left = L2
Com3.Left = L3
Com4.Left = L4
Com1.Top = T1
Com2.Top = T2
Com3.Top = T3
Com4.Top = T4
ElseIf v = 1 Then
Com2.Left = L1
Com1.Left = L2
Com3.Left = L3
Com4.Left = L4
Com2.Top = T1
Com1.Top = T2
Com3.Top = T3
Com4.Top = T4
ElseIf v = 2 Then
Com3.Left = L1
Com2.Left = L2
Com1.Left = L3
Com4.Left = L4
Com3.Top = T1
Com2.Top = T2
Com1.Top = T3
Com4.Top = T4
ElseIf v = 1 Then
Com4.Left = L1
Com3.Left = L2
Com2.Left = L3
Com1.Left = L4
Com4.Top = T1
Com3.Top = T2
Com2.Top = T3
Com1.Top = T4
End If

Com1.Enabled = True
Com2.Enabled = True
Com3.Enabled = True
Com4.Enabled = True
Com1.Visible = True
Com2.Visible = True
Com3.Visible = True
Com4.Visible = True

End Sub
يرجى عمل احد المواضيع التالية :
برنامج جدول الضرب يعتمد على نفس الطريقة
برنامج حقائق القسمة
برنامج الضرب في 10 او 100 او الف
برنامج التقريب لاقرب اي منزلة تريدونها
برنامج لحلول معادلة معينة .
برنامج لمعرفة اي ربع لنقاط التمثيل على المحور السيني و الصادي مثلا
او اي برنامج تحبونه من منهجكم .

الاستاذ خليل

zine pef
07-23-2007, 09:42 PM
يااستاذ اليوم ظهرت مشكلة....BB FLashBack M.P لا بعمل ظهرت كتابة please open a movie لاادري ما هو السبب ال 21 درس مرت حلوى الا هذا ما هو المشكل؟ و السلام عليكم

الاستاذ خليل
07-24-2007, 12:19 AM
البرنامج يعمل اعد تحميله من جديد

قد لا تكون حملته كاملا

الاستاذ خليل

Amel2005
07-24-2007, 12:57 AM
السلام عليكم ورحمة الله وبركاته.
أولا .. اعتذر للفاضل الكريم / الأستاذ خليل لتأخرى فى التطبيقات السابقة.
ظروف طارئة وانتهت تقريبا ...
وسأحاول ارسال التدريبات من الغد إن شاء الله.
فأرجو المعذرة ..
أكثر الله من أمثالك وجعل كل من تعلم منك علما أو صبرا لتعليم غيره أو حبا لتقديم الخير .. فى ميزان حسناتك يوم القيامة .

أخى الفاضل /zine pef
حدثت لى نفس المشكلة عند تحميل أحد الدروس السابقة ...
فأعدت تحميل الدرس ووجدته جيدا ...

جرب مرة اخرى تحميل الدرس لأنه يعمل معى ...
جزاكم الله خيرا.

zine pef
07-24-2007, 02:53 AM
شكرا للأستاذ و الأخت امال2005 لقد اعدت التحميل للمرة الثانية و الحمد لله و انا الأن اقوم بالواجب الى القاء بالغد انشاء الله...

الاستاذ خليل
07-24-2007, 08:34 AM
انتظر تطبيقاتكم و شكرا لكم

الاستاذ خليل

zine pef
07-24-2007, 04:14 PM
شكرا استاذ خليل بدأت الأمور تحلو اني صممت الواجب بعملية الضرب وظهرت اعداد كبيرة اي بالأس يجهلها بعض التلاميد مثل 5.7e+07 اي معتاها 57000000 و لم استطيع وضع الكود حتى يكون العدد بدون أس.. وشكرا مرة اخى

الاستاذ خليل
07-24-2007, 06:43 PM
السلام عليكم

شكرا على التطبيق و اليك حل مشكلتك استبدل الكود السابق لوضع الاجابات بالتالي :


Com1.Caption = Format(b * a, "###########")
Com2.Caption = Format((b * a) * 10, "###########")
Com3.Caption = Format((b * a) * 100, "###########")
Com4.Caption = Format((b * a) * 1000, "###########")

و فائدة Format هي تنسيق شكل المخرجات و "###########" هو شكل المخرج اي الرقم

fadi9
07-24-2007, 11:35 PM
السلام عليكم

اليكم الواجب في المرفق

لكن المعذرة فهو مصمم بطريقة مختلفة وايضا لم استطع تحميله كارتباط

fadi9
07-25-2007, 01:10 AM
اخي zine pef
احسنت عملك ممتاز !!
عندي سؤال لو سمحت؟
هل تشرح لي الكود التالي فلم افهمه
Dim Start As Long
Start = Timer
Do While Timer < Start + 3 'a 3 second delay (Change To any numer you want)


DoEvents ' Yield To other processes.
Loop
وشكرا

zine pef
07-25-2007, 10:33 AM
هذا الكود دكره الأستاذ في الدرس
Dim zine As Long
zine = Timer
Do While Timer < zine + 3 'a 3 second delay (Change To any numer you want)
3ثواني المهلة تستطيع تغيرها الى ارقام اخرى

DoEvents ' Yield To other processes.
Loop
بعد ادن الأستاذ ..
في بداية DIM توضع اي حرف من الحروف او اي كلمة وحافض عليها حتى النهاية مثل ZINE
و الأداة TIMER هو موقت اي عداد يحسب الوقت.. وفي هذا الكود موضوع 3 ثواني ...بعد مرور 3 ثواني يتغير السؤال
و اذا حدفت كل الكود فلا تكون المهلة بين السؤال و الأخر..وهذا ما عندي اقوله وشكرا

fadi9
07-25-2007, 02:57 PM
شكرا اخي zine pef

لكن مامعنى العبارة DoEvents ' Yield To other processes

ملاحظة :البرنامج جدول الضرب لا يعمل بشكل كامل
توجد مشكلة دائما في poer point او نقص ما
وهو الحاجة الى حدث ( تحديث الشريحة )
فهل يوجد هذا الحدث

الاستاذ خليل
07-25-2007, 06:11 PM
fadi9 عملك لا يضهر بشكل جيد بس نضغط على L0 و غيره يخرج لكن استبدله بازرار و سيعمل جيدا

DoEvents

فائدتها تجعل البرنامج يشغل اوامره

الكود السابق فائدته يوقف تنفيذ الكود 3 ثواني
' Yield To other processes
هي شرح لعمها بالانجليزية يعني تقدر تمسحها



الكود السابق يعمل عمل التايمر فاذا كنت تريد تنفيذ شي بعد زمن الصق الكود السابق و اكتب بعده الكود الذي تود تنفيذه بعده .



بالنسبة لتحديث الصفحة فلا يلزمنا انت قول لي وش تريد تنفذ و سأحاول حله

زر ابدا هو يهيء لك السؤال كاملا فهو يعمل تحديث لك و فكرتك جيده بعمل ليبل يغطي كل الصفحة و اذا ضغط عليه يبدا السؤال ساعدل ملفك ليعمل بشكل افضل


الاستاذ خليل

zine pef
07-25-2007, 07:21 PM
اتمنى للأخfadi قد اتضحت لك الأمور .. وبالنسبة لواجيك غيرت lL0/L1/L2/L3 من CLICK .الى MOSSE MOVE وانه يشتغل جيد..
الأستاذ خلبل لي مشكلة صغيرة في الملف و هي المربعات البيضاء اريدها تختفي تصبح مثل لون الشريحة
في المرفق..

aiooooooooooooo
07-25-2007, 07:30 PM
الشكرك والتقدير لك يااستاذى الفاضل
الشرح رائع رائع رائع

فوق ما كنت اتصور
واتمنى المزيد من الدروس المفيدة القيمة مثل هذا الدرس

zine pef
07-25-2007, 07:51 PM
شكرا اخي Aioooooooo على المرور يالله قوم بالواجبات و التدريبات و سعدنا في البحث حتى تحلو الأمور اكثر و تصبح هذه الدورة في P_point جد حسنة.. الى القاء القريب..

refathafez
07-25-2007, 08:04 PM
السلام عليكم
فيه شيء غير مضبوط في هذا العمل ارجو المساعدة
رفعت حافظ

fadi9
07-26-2007, 01:41 AM
تحياتي للجميع

الشكر الكبير للاستاذ خليل على تعديل البرنامج فقد اصبح يعمل بشكل جيد

وعذرا لاني تسرعت في بعض الاسئلة بدون ان اقرا الدرس الاخير بتمعن

الان اصبح كل شيئ مفهوم

ملاحظة :
اني اعمل على الاصدار 2007 واحفظ الملفات بصيغة 2003 والظاهر انه توجد مشكلة عند الحفظ وليس في الكود الموضوع
فمثلا لقد غيرت فقط لون زر الامر L0 في البرنامج المعدل وقمت بالحفظ ففوجئت ان البرنامج عاد لنفس المشكلة القديمة ( الخروج عند النقر على اليبل او كمند الاجابة) ولم يعد يعمل كما هو مطلوب
ايضا جربت تغيير حدث CLIC الى MOUSEDOWM لكن بلا فائدة ! بقيت المشكلة

ساتعمق في الاصدار 2007 من POERPOINT عسى ان اتجاوز هذه المشكلة واستمر في الدورة
او قد اعاود استخدام الاصدار 2003

لقد اتعبتكم معي ... شكرا لكم والى اللقاء

Amel2005
07-26-2007, 02:12 AM
السلام عليكم ورحمة الله وبركاته...
صراحة أستاذى الكريم ... لم أكن أتوقع أن أظل أعمل مع برنامج الباور بوينت طوال يوم كامل إلا اليوم...
فكرة التايمر فى منتهى الروعة ...
حاولت أن أصمم برنامج يماثل برنامج " من سيربح الميليون" ... وأستخدم فكرة الدرس فيه ...
ونجحت إلى حد ما ... لكن هناك مشكلة لم أعرف حلها ...
وهى كيفية الاحتفاظ بقيمة الأرقام فى متغير ...

أرسلت الملف كمرفق فى تصميمه الأول ... وأعرف أنه لن يعجبك الآن أستاذى الفاضل ..
ولكن سأطوره ... وليتنى أجد حلا لمشكلة الاحتفاظ بالأرقام 100 ، 200 ، 300 ، 500 ، ... ثم ضربها فى 2

سأظل مدينة لك أستاذى الكريم برغبتى الملحة فى التعرف أكثر على هذا البرنامج.. الذى جعلتنا نتعامل معه بشكل أفضل .

أكرر شكرى المتجدد والدائم لك.
جزاك الله خيرا وجعل هذا العمل نورا لك فى ميزان حسناتك.
تحياتى

الاستاذ خليل
07-26-2007, 06:37 AM
zine pef يجب ان تضع لون الخلفية باك كالور text1 نفس لون خلفية للشريحة الغريب ان الخاصية المسؤولة عن هذا التغيير هي BackStyle و هي لا تتغير في العرض بس في التصميم
و هي احدى عيوبه . لكن الدرس التالي فيه حل لمشكلتك يمكنك استخدام الدرس التالي في التصميم.

الاستاذ خليل
07-26-2007, 07:03 AM
و شكرا للا عضاء جميعا على التفاعل
aiooooooooooooo
refathafez
fadi9
Amel2005
zine pef

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

fadi9 خيرا ان شاء الله
Amel2005 لحفظ المتغيرات يجب التصريح بهم باعلى الكود
اكتبي

Dim q, n2, n3, n4, n5, n6 As Integer

اي سيصبح الكود هكذا باول مكان بالكود:

Dim trueq, falseq, n As Long
Dim a, b, d As Integer
Dim L1, L2, L3, L4, T1, T2, T3, T4 As Integer
Dim q, n2, n3, n4, n5, n6 As Integer

الزبدة
اي قيم ستستعمليها لاحقا في نفس الشريحة تعرفيها باعلى الكود و اذا كان المتغير غير رقمي تتغير جملة Integer الى النوع الذي تريدينه لاحظي دروس المتغيرات

اتمنى ان افدتك و عملك روعة اتمنى ان تكمليه

و شكرا جزيلا

Amel2005
07-26-2007, 07:50 PM
السلام عليكم ورحمة الله وبركاته.

برنامج "من سيربح الميليون" فى جدول الضرب للمرحلة الابتدائية
فى صورته النهائية "تقريبا"
إعداد / Amel2005
إشراف أستاذنا الفاضل جزاه الله عنا خيرا ونفعه ونفعنا بعلمه / الأستاذ خليل

أرجو أن ينال إعجابكم جميعا ...
وإبداء ملاحظاتكم .
جزاكم الله خيرا .

الاستاذ خليل
07-26-2007, 08:37 PM
عمل رائع اختي امل
لكن يوجد به اعطال مثلا اذا كانت قيمة المتغيرات الجديدة كبيرة سيرسل خطأ
استبدلي الجملة التالية للتصريح كالتالي :

Dim a, b, d, o As Integer

بالجملة
Dim a, b, d, o As Long

نتمنى ان تكمليه فهو رائع
و ضيفي عليه ميزات حذف اجابتين باستعمال اخفاء فزبل بعمل متغير من 3حالات مثلا
فهو يخفي يعمل فزبل لزر 2-3 او 2-4 او 3-4

ايضا ينتهي البرنامج عند وصول الى 15 سؤال

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

اذا تريدين نساعدك بالكود حاضرين

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


جميل ان نرى اعمال متميزة بالدورة

zine pef
07-27-2007, 12:45 AM
الأستاذة Amel2005 عمل جيد و ممتاز واصلي في تطويره

fadi9
07-27-2007, 02:47 PM
الاخت امل فكرة رائعة
للاحتفاظ بقيمة المتغير يمكنك استعمال التعليمة ctatic
انظري الشرح عن المتغيرات في الدرس 12
ملاحظة: يوجد تكرار في بعض الاسئلة , وايضا الارقام الضروبة اغلبها 10 او 100
عندي سؤال من فضلك :
ما معنى التعليمة msoCTrue

Amel2005
07-28-2007, 04:20 PM
أستاذنا الفاضل / الأساذ خليل
جزاك الله خيرا لتشجيعك لنا ... وما أعمالنا إلا ثمرة مجهودك وشرحك لنا أستاذنا الكريم.
الحمد لله ... أضفت للعمل الأصوات المشروحة فى الدرس الثالث عشر وسأكمل تطويره .... وسأستبدل نوع المتغيرات كما أشرت أستاذى الكريم.
ولا غنى لنا عن توجيهاتك ومعاونتك . بارك الله فيك.

وكأنى أتنسم من كلماتك أن هناك دورة فى الأكسس ستكون إن شاء الله.
بالمناسبة / لم أكن أن الاكسل أيضا يمكن عمل برامج به إلا من فترة قصيرة فقط .

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


أخى الكريم / zine pef
أشكرك لتشجيعك ... وأصارحك القول ...
أنى لا أبدأ فى عمل أى تطبيق إلا بعد الاطلاع على تطبيقك أولا ...
فأنسخ أكوادك وأبدأ أطور فيها (أرجو أن تسامحنى لهذا التلصص والاقتباس من عملك)
بارك الله فيك.

أخى الفاضل / fadi9
جزاك الله خيرا ... وزادك علما .
وسأنفذ ما أشرت به
ما معنى التعليمة msoCTrue

هى مثل True المستخدمة فى لغة الفيجوال بيسك .
ولكن فى VBA نضيف mso كسابقة لها . وظيفتها اظهار الشكل .

تحياتى للجميع

zine pef
07-28-2007, 05:01 PM
(أرجو أن تسامحنى لهذا التلصص والاقتباس من عملك).....أختاه لا يلزم ان تتكرر مثل هذه الأقوال لأن نحن اخوى في طريق العلم و ابونة و استاذنا الأخ خليل ..ولكي نتعلم نأخد كلمة من عندك و الأخرى من عند fadi و تلك من عند الأخ حافظ و الى اخره...و شكرا والف شكر على المجملة هدي..
أختاه هل لاحظتي الخلل الصغير الموجود في من يربح 1000000 لهادا اليوم مع الصوت؟
هل عندك فكرة من سيربح 1000000 بالأسئلة اي سؤال و جواب بدون الأعداد؟
الأسئلة تكون مثل هذا: (http://la.joreyat.org/download.php?id=acea602bfb52aa083f8e15d0379b3aef)

الاستاذ خليل
07-28-2007, 06:35 PM
سيتم بعون الله عمل مسابقة تقبل ارقام و نصوص بس اصبروا شويه

islam11
04-13-2009, 10:02 PM
http://i468.photobucket.com/albums/rr43/sayedmido3/q74.gif