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

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


عبد الهادي بهاب
30-08-2015, 02:57 AM
السلام عليكم

دائما مع الملفات المفتوحة .......عسى ان ينتفع بها احد و تكون ضمن مشروع له تربوي
هذه المرة مع درس في اللغة العربية للاطوار الاولى وهو درس الحروف الشمسية و القمرية

http://im43.gulfup.com/veHkWT.png

في الاصدار الاول ------ في عجالة --------- جعلنا المشروع مبدئيا يكون التفاتة بسيطة حول الموضوع
ثم من خلال خاصية time تحريك الحروف نزولا ثم تعود من جديد
في هذه المرة استفدت من خاصية Table بحيث نستدعي الحروف من ملف في مجلد docs ويتضمن كل الحروف العربية
و من خلال دالة Random سوف يستدعي عشوائيا سطر من الجدول و الذي يمثل في ملفنا حرفا ابجديا

هذا هو الكود الذي استعملته في هذا المشروع :

tblqs = TextFile.ReadToTable("\\AutoPlay\\Docs\\qs.txt");
q = Math.Random(Table.Count(tblqs));
if String.Find(tblqs[q], String.Char(9), 1, false)then
qu1 = String.Replace(tblqs[q], String.Char(9), "\r\n", false)
Button.SetText("l6", qu1);
else
Button.SetText("l6", tblqs[q]);
end


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

http://im43.gulfup.com/dulJVp.png


التطبيق للمعاينة مباشرة :
http://www.mediafire.com/download/2w4u8k9ehzfexjb/%D8%A7%D9%84%D9%84%D8%A7%D9%85+%D8%A7%D9%84%D9%82% D9%85%D8%B1%D9%8A%D8%A9+%D9%88+%D8%A7%D9%84%D8%B4% D9%85%D8%B3%D9%8A%D8%A9.rar



----------هنا انتهلا الوقت ليلا عندي و تعبت ---------


المشروع : يمكن ان تضيف تمارين اخرى ......كخاصية تحريك الحروف و وضعها في المكان المناسب
يمكن وضع مجموعة حروف قمرية على ان يكون بينها حرفا شمسيا مختلفا و العكس
يمكن اضافة خاصية الزمن لتحديد الوقت
يمكن بعد 20 نقطة زيادة سرعة تساقط الحروف
يمكن اضافة تمرين الاختيار صح او خطأ............الخ من الافكار

ارجو من احدهم استكمال المشروع


الملف المفتوح للحروف القمرية و الشمسية
http://www.gulfup.com/?7GsLCU

تقبولا تحياتي

أبو يوسف
30-08-2015, 01:33 PM
الله يعطيك العافية وأكيد يكون التعب لذيذ لأنه أنجز مشروع ممكن تطويره ، :abc_091:

صفحة البداية درس وألعاب وعند الضغط على الدرس تكون الصفحة الأولى ثم زر على اليمين للإنطلاق للدرس التالي وعادة يكون الزر الذي على اليسار ويكتب عليه التالي وهكذا

عبد الهادي بهاب
30-08-2015, 04:39 PM
الله يعطيك العافية وأكيد يكون التعب لذيذ لأنه أنجز مشروع ممكن تطويره ، :abc_091:

صفحة البداية درس وألعاب وعند الضغط على الدرس تكون الصفحة الأولى ثم زر على اليمين للإنطلاق للدرس التالي وعادة يكون الزر الذي على اليسار ويكتب عليه التالي وهكذا

ربي يحفظكم و ينوركم استاذنا الغالي ......... و نعم بالله ....نحتسب ذلك قياما و نشرا للعلم ....... شكرا على الملاحظة و ان شاء الله سيكون في الاصدار الثاني تعديلات كثيرة .......

ثامر أبو بلقيس
30-08-2015, 06:04 PM
السلام عليكم ورحمة الله وبركاته
معضمنا بدأ البرمجة صغيرا ثم نما قليلا أما أنت أخي فبدأت محترفا من الوهلة الاولى
ماشاء الله واصل ابداعاتك بنفس التفكير و العطاء:abc_088:


-------------
للأسف متصفح Chrome لا يظهر عندي ايقونة الاعجاب - راك تسالني اعجاب --- إن شاء الله

c=''
my_table = {"204","210","199","223","32","199","225","225","229","32","206","237","209","199"};
for i , n in pairs(my_table) do
c = c.. String.Char(n)
end
Dialog.Message("Notice", c);

عبد الهادي بهاب
30-08-2015, 08:09 PM
السلام عليكم ورحمة الله وبركاته
معضمنا بدأ البرمجة صغيرا ثم نما قليلا أما أنت أخي فبدأت محترفا من الوهلة الاولى
ماشاء الله واصل ابداعاتك بنفس التفكير و العطاء:abc_088:


-------------
للأسف متصفح Chrome لا يظهر عندي ايقونة الاعجاب - راك تسالني اعجاب --- إن شاء الله

c=''
my_table = {"204","210","199","223","32","199","225","225","229","32","206","237","209","199"};
for i , n in pairs(my_table) do
c = c.. String.Char(n)
end
Dialog.Message("Notice", c);



و جزاك الله خيراو اجرا عظيما .........روعة هذا الكود ........

------------------سؤال مدامك موجود-------------------
شوف في المشروع ........عجزت عن ان اجعل البرنامج يجد الاجابة في ملفtxt مثلا للحروف القمرية مما اضطرت الى كتابة كل حرف منها في label ثم جعلت الزر يبحث عن الاجابة ان كانت تساوي النص ......... حاولت ان استعمل البحث في paragraph او richtext حينما استدعي النص من خلال الامر TextFile.ReadToString
السؤال باختصار : كيف اجعل الزر يبحث عن الاجابة ضمن txt

هاهو الملف : http://www.gulfup.com/?PEd3Lr

ثامر أبو بلقيس
30-08-2015, 08:30 PM
السلام عليكم ورحمة الله وبركاته
السؤال باختصار : كيف اجعل الزر يبحث عن الاجابة ضمن txt

سأحاول إجابتك إجابة عامة و على ثقة بتوظيفها حسب طبيعة مشروعك
x = Input.GetText("Input1"); ----- هنا مصدر البحث
result = TextFile.ReadToTable("AutoPlay\\Docs\\qs.txt");---- نضع الملف و هو من محاولتك في مجلد المار الموضح
----------------
for b,n in pairs(result) do--- القيمة الاولى هي السطر ---- القيمة الثانية محتواه
if n == x then---- اذا تحقق تساوي مصدر البحث مع محتوى السطر
Dialog.Message("Notice", "موجود " .." في السطر "..b); ----- هنا ضع اجراء نتيحة البحث
end
end
-------- وظف الكود حسب مشروعك و كيفية بنائه

ثامر أبو بلقيس
30-08-2015, 08:32 PM
لم أطلع على الملف المرسل

ثامر أبو بلقيس
30-08-2015, 08:38 PM
السلام عليكم ورحمة الله وبركاته
الان سأعطيك فكرة بسيطة خارج عن الموضوع منها ستصل لمبتغاك إن شاء الله
مثلا لدينا أنبوت نريد عند كتابة كلمة واحدة بدون مسافة بادئة وفي هذه الكلمة ال التعريف
المطلوب اذا كانت ال شمسية يضع الشدة في الحرف الثالث اذ لم يكن كذلك لا يقوم بأي إجراء

جيد
في أي أنبوت في الحدث on shar
أكتب
my_table = {"ت","ث","د","ذ","ر","ز","س","ش","س","ص","ض","ط","ظ","ل","ن","ي"};
-----------------------------------------------------------------------------
x= Input.GetText(this);
-----------------------------------------------------------------------------
for b,n in pairs (my_table) do
if String.Mid(x, 3, 1)==n then
v = String.Replace(x, String.Mid(x, 3, 1), String.Mid(x, 3, 1).."ّ", false);
Input.SetText(this, v);
Input.SetSelection(this, String.Length(x)+2,0 );break
elseif String.Mid(x, 3, 1)~=n then
end
end
--------------------------------------------------------------------------

جرب الان كتابة كلمات معرفة :abc_138:

عبد الهادي بهاب
30-08-2015, 08:55 PM
مباشرة الى العمل

ربي ينورك و يجعلك نوراة وق رؤسنا

ثامر أبو بلقيس
30-08-2015, 09:00 PM
السلام عليكم ورحمة الله وبركاته
في مثالك احذف عناصر Label المكتوب فيها الحروف القمرية
تستطيع وضع مصفوفة

مثلا : في الزر المسمى l1 يصبح الكود
my_table = {"ا","ب","غ","ح","ج","ك","و","خ","ف","ع","ق","ي","م","هـ"};
for b,n in pairs (my_table) do
if Button.GetText(this)== n then
Label.SetText("sc", Label.GetText("sc")+1);
Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\oui.mp3", true, false);
end---------button
end---------for
Page.ClickObject("b1")

يبقى نفس الكود في جميع الازرار ما عد السطر الأخير
Page.ClickObject("b1")
يتغير حسب العنصر المراد الضغط عليه
موفق :abc_138:

ثامر أبو بلقيس
30-08-2015, 09:14 PM
المشاركة 8 تحتاج لضبط " تصحيح"

عبد الهادي بهاب
30-08-2015, 09:32 PM
السلام عليكم ورحمة الله وبركاته
في مثالك احذف عناصر Label المكتوب فيها الحروف القمرية
تستطيع وضع مصفوفة

مثلا : في الزر المسمى l1 يصبح الكود
my_table = {"ا","ب","غ","ح","ج","ك","و","خ","ف","ع","ق","ي","م","هـ"};
for b,n in pairs (my_table) do
if Button.GetText(this)== n then
Label.SetText("sc", Label.GetText("sc")+1);
Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\oui.mp3", true, false);
end---------button
end---------for
Page.ClickObject("b1")يبقى نفس الكود في جميع الازرار ما عد السطر الأخير
Page.ClickObject("b1")يتغير حسب العنصر المراد الضغط عليه
موفق :abc_138:



الله جميل و عظيم ..........:abc_050::abc_050:.............

الطماع يبقى طماع

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

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



my_table = {"ا","ب","غ","ح","ج","ك","و","خ","ف","ع","ق","ي","م","هـ"}; for b,n in pairs (my_table) do if Button.GetText(this)== n then Label.SetText("sc", Label.GetText("sc")+1); Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\oui.mp3", true, false);
else
Dialog.Message("خطأ","هذا الحرف شمسي")
end---------button end---------for Page.ClickObject("b1")

نجوم ليبيا
30-08-2015, 10:57 PM
السلام عليكم ورحمة الله وبركاته شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
تحية شكر لكم
ولكن استاذ المحترف ممكن تشرحلي لو سنحت كيف نقدر نغير الحروف الى ارقام مثلا

نجوم ليبيا
30-08-2015, 11:02 PM
الله جميل و عظيم ..........:abc_050::abc_050:.............

الطماع يبقى طماع

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

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



my_table = {"ا","ب","غ","ح","ج","ك","و","خ","ف","ع","ق","ي","م","هـ"}; for b,n in pairs (my_table) do if button.gettext(this)== n then label.settext("sc", label.gettext("sc")+1); audio.load(channel_narration, "autoplay\\audio\\oui.mp3", true, false);
else
dialog.message("خطأ","هذا الحرف شمسي")
end---------button end---------for page.clickobject("b1")

هل هذا الكود نقدر نغير به الحروف؟

ثامر أبو بلقيس
30-08-2015, 11:24 PM
السلام عليكم ورحمة الله وبركاته
أخي المحترف جرب هذا أضن هذا ما تقصد

my_table = {"ا","ب","غ","ح","ج","ك","و","خ","ف","ع","ق","ي","م","هـ"};
for b,n in pairs (my_table) do
if Button.GetText(this)==n then
Label.SetText("sc", Label.GetText("sc")+1);
Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\oui.mp3", true, false)
x=1
end
end
-------------------------
for b,n in pairs (my_table) do
if x~=1 then
Dialog.Message("خطأ","هذا الحرف شمسي");
break
end
end
x=0
Page.ClickObject("b1")
موفق:abc_138:

ثامر أبو بلقيس
30-08-2015, 11:34 PM
سألت لماذا حدث تضارب عند عدم تحقق الشرط
لأن في الدورة التي تقوم بها الدالة for على المصفوفة " تعيط لكل العناصر تباعا قبل ما يوصل الحرف القمري
تبقى تعطيك نتائج الحرف الشمسي أي عدم تحقق الشرط بمعنى في الطريق للوصول الى تحقق الشرط كاين عدم تحقق للشرط
عدة مرات وهذا هو السبب إن شاء الله تكون فهمتني :abc_138:

ربيع
31-08-2015, 12:40 AM
t = "ابغحجكوخفعقيمهـ"
n= String.Find(t, Button.GetText(this), 1, false);
if n ~= -1 then
Label.SetText("sc", Label.GetText("sc")+1);
Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\oui.mp3", true, false)
else
Dialog.Message("خطأ","هذا الحرف شمسي");
end
Page.ClickObject("b1")

عبد الهادي بهاب
31-08-2015, 09:47 AM
السلام عليكم ورحمة الله وبركاته
أخي المحترف جرب هذا أضن هذا ما تقصد

my_table = {"ا","ب","غ","ح","ج","ك","و","خ","ف","ع","ق","ي","م","هـ"};
for b,n in pairs (my_table) do
if Button.GetText(this)==n then
Label.SetText("sc", Label.GetText("sc")+1);
Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\oui.mp3", true, false)
x=1
end
end
-------------------------
for b,n in pairs (my_table) do
if x~=1 then
Dialog.Message("خطأ","هذا الحرف شمسي");
break
end
end
x=0
Page.ClickObject("b1")
موفق:abc_138:



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

عبد الهادي بهاب
31-08-2015, 09:55 AM
t = "ابغحجكوخفعقيمهـ"
n= String.Find(t, Button.GetText(this), 1, false);
if n ~= -1 then
Label.SetText("sc", Label.GetText("sc")+1);
Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\oui.mp3", true, false)
else
Dialog.Message("خطأ","هذا الحرف شمسي");
end
Page.ClickObject("b1")

كود بسيط جميل مفهوم جدا جدا ............ ربي يجعل ايامك ربيعا ربيعا ....... دائما تدخل قوي (كما يقال gd gd )
للفهم : الكلمة تحتوي على كل الحروف القمرية ..... نقول للبرنامج ( يا عمي .....ابحث في النص t على نص الزر اذا وجدته يكون n=1 و الا فهو سياخد -1 ) ....اذا كانت قيمة ى lyhdv, -1 t فهو يحصل على نقطة والا فسيظهر له ديالوج الخطأ .................. جميل وبديع و فن ........ربي ينصرك سيدي الربيع :abc_022::abc_022::abc_022:

عبد الهادي بهاب
31-08-2015, 09:56 AM
السلام عليكم ورحمة الله وبركاته شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
تحية شكر لكم
ولكن استاذ المحترف ممكن تشرحلي لو سنحت كيف نقدر نغير الحروف الى ارقام مثلا

يعني ماذا ارقام ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ يعني (واحد ) تصبح رقم 1 ...................... ؟؟ هل هذا المقصود ؟؟؟؟؟؟