• بادئ الموضوع بادئ الموضوع SaTaLiTe
  • تاريخ البدء تاريخ البدء
  • المشاهدات 42,916
الف شكر الطريقة نجحت و الحمد لله
 

فقط توجه الى الملف الرئيسي وليس ملف bin لأن ملف bin خاص للتنفيذ, والصورة عند ويندوز اكسبي تختلف قليلا

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

لاتيأس أبدا:smile: انا لم اصل الى هذه الدرجة بين يوم وليلة:ok:

ارفق لي صورة من الملف الرئيسي
 
توقيع : SaTaLiTe
حل المشاكل & صنع آله حاسبة بسيطة

solving problems & simple calculator


هذا الدرس سيكون من أهم الدروس البرمجية.​


ألا وهي حل المشاكل, قد تعتقد ان المشكلة تكون معقدة و صعبة وغير مفهومة.


ولكن في البرمجة هناك مفهوم اخر ومختلف كليا عن الذي نعرفه.


المشكلة تعني كل عملية نريد فعلها.


فاذا أردنا جمع 1 + 1 , فتلك مشكلة ونحتاج الى حلها.


اذا أردنا اظهار صندوق نصي, فتلك مشكلة ونحتاج الى حلها.


بمعنى كل شيء في البرمجة تأخذ مكان مشكلة... والمشكلة تحتاج الى حل.


والحل يكون عن طريق الكود, ومن هنا نتعلم كيفية كتابة الكود (عن طريق حل المشكلة)


اذاً, ساتحدث اولا عن طرق حل مشكلة :


- قم بفهم المشكلة.


- اذكر الهدف من الحل.


- قسم المشكلة الى مشاكل.


- قم بوضع حل لكل مشكلة.


- اجمع الحلول في حل واحد, حتى يحل مشكلة واحدة original problem.


لفهم أكثر, سنعمل مشروع آله حاسبة بسيطة.


- اعمل مشروع جديد عن طريق : New project الموجود في قائمة file.


- اختر مشروع windows application وضع اسم المشروع simple calculator.


غير نص الفورم الى : آلة حاسبة بسيطة.


قم بتغيير الخيار right to left الموجود في الخصائص الى yes, بهذا الأمر ستلاحظ أن الفورم أصبح مثل الواجهة العربية.


أضف في المشروع :


Label بعدد 3


textbox بعدد 3


button بعدد 5


قم بتغيير خاصية النص text لكل اداة كما بالصورة :


i29182_1.jpg



وقم بتغيير خاصية الاسم name لكل اداة كالاتي :​



زر الجميع : Bttns


زر الطرح : Bttnm


زر الضرب : Bttnt


زر القسمة : Bttnd


زر المسح : Bttnc


نص العدد الاول : Txt1


نص العدد الثاني : Txt2


نص العدد الثالث : Txt3


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


الان هناك سؤال مطروح, ما المشكلة؟


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


فلنقم بتقسيم المشكلة :


- النص الاول فيه الرقم الأول.


- النص الثاني فيه الرقم الثاني.


- النص الثالث فيه الناتج.


اذاً...


ما نريد عمله جمع او طرح..الخ عددين موجودين في نصين مختلفين, واظهار الناتج في نص ثالث.


اذاً... عددين وهما : Txt1 و txt2


والعدد يعني رقم, والرقم يأخذ المتغير integer,


اذاً اضغط مرتين على زر الجمع وأضف الكود التالي :


PHP:
dim num1 as integer

PHP:
[right][center]        dim num2 as integer[/center][/right]
قمنا هنا بكتابة المتغيرات, الان نريد وصل المتغيرات بكل صندوق نص.


Num1 سيكون النص txt1


num2 النص txt2


اذا نكتب هذا الكود مع ازالة الكود اعلاه.


PHP:
dim num1 as integer = txt1.text
PHP:
[right][center]        dim num2 as integer = txt2.text[/center][/right]
الان بما ان الزر جمع فاننا سنضع كود الجمع, والكود بسيط جدا. وهو ان نضع بين المتغيرين علامة + ولا ننسى ان الناتج سيظهر في txt3 اذاً الكود يكون كالاتي :​



PHP:
txt3.text = num1 + num2
والمعنى, النص الموجود في txt3 يساوي مجموع المتغيرين.


ملاحظة : يمكنك تغيير المتغير ووضع txt1 و txt2 ولكن احيانا تصادفك مشكلة.


الان شغل المشروع عن طريق الضغط على زر f5, وضع رقم 1 في اول نص و رقم 3 في ثاني نص, ثم اضغط على علامة +,


i29186_1.jpg



جميل جدا:ok:


الان نفس الكود في بقية الأزرار × ÷ - لكن مع تغيير الاشارة.


في زر - :


PHP:
  dim num1 as integer = txt1.text
PHP:
[right][center]        dim num2 as integer = txt2.text[/center]

[center]        txt3.text = num1 - num2[/center][/right]
في زر × :


PHP:
  dim num1 as integer = txt1.text
PHP:
[right][center]        dim num2 as integer = txt2.text[/center]

[center]        txt3.text = num1 * num2[/center][/right]
في زر ÷ :


PHP:
  dim num1 as integer = txt1.text
PHP:
[right][center]        dim num2 as integer = txt2.text[/center]

[center]        txt3.text = num1 / num2[/center][/right]
وأخيرا في زر مسح اضف :


PHP:
  txt1.text = nothing
PHP:
[right][center]        txt2.text = nothing[/center]

[center]        txt3.text = nothing[/center][/right]
والشرح : النص الموجود في نص 1 و 2 و3 = لاشيء​


وبهذا الامر , قمنا بحل المشكلة "صنع آله حاسبة بسيطة"​




بارك الله فيك اخوي ستلايت على هذا الشرح الوافي
لدي سؤال بخصوص البرنامج ماذا لو كتب المستخدم لكمة نصية هل سيتم جمعها او طرحها او اظهار رسالة تخبرة انه لم يدخل عدد في الخانات وماهو الكود المناسب لهذة الحالة في حال ادخال كلمة نصية

ثانيا: لماذ لم تستخدم متغير boleam او double في هذا البرنامج وهل تنصحني باستخدام متغير من نوع int في جميع البرامج او هناك برامج تستوجب متغيرات من الانواع المذكورة اعلاه

وفي الختام اقول جزاك الله خير ورحم الله والديك
 
توقيع : دغمان
[/right]
بارك الله فيك اخوي ستلايت على هذا الشرح الوافي
لدي سؤال بخصوص البرنامج ماذا لو كتب المستخدم لكمة نصية هل سيتم جمعها او طرحها او اظهار رسالة تخبرة انه لم يدخل عدد في الخانات وماهو الكود المناسب لهذة الحالة في حال ادخال كلمة نصية

ثانيا: لماذ لم تستخدم متغير boleam او double في هذا البرنامج وهل تنصحني باستخدام متغير من نوع int في جميع البرامج او هناك برامج تستوجب متغيرات من الانواع المذكورة اعلاه


وفي الختام اقول جزاك الله خير ورحم الله والديك

في حالة كتب المستخدم حرف أو رقم, فيصبح هناك خطا وسيظهر لك خطأ يسبب اغلاق البرنامج وذلك لان الكلمة ليست من نوع متغير integer, والحل نكتب فوق كل عملية + × - ÷ :
on error resume next
بمعنى بعد كل خطأ انتقل الى السطر التالي.
والمتغير Boolean تستخدم في الشروط, True, false
لا تقلق سننتقل الى هذه المتغيرات ونفهمها أكثر:ok:
 
توقيع : SaTaLiTe
:er:


:er:


مو راضي يثبت عندي نفس المشكلة تطلع لي

اصبروا شوي ابعيد التحميل وان شاء الله يضبط هالمرة


:er:


:er:
 
الله يعطيك العافية
بس عندي اقتراح انشاء الله يعجبك
وهو جمع جميع الدروس على رابط واحد من أجل الاستفادة الشاملة
 
توقيع : سهوم الليل
الله يعطيك العافية
بس عندي اقتراح انشاء الله يعجبك
وهو جمع جميع الدروس على رابط واحد من أجل الاستفادة الشاملة

هناك فهرس في أول موضوع فيه جميع الدروس:king:
 
توقيع : SaTaLiTe
My.Computer.FileSystem.CopyFile

نستخدم هذه الدالة لنسخ الملفات من مسار الى مسار اخر.
يرجى تجاهل [RIGHT][/RIGHT]

PHP:
My.Computer.FileSystem.CopyFile("مسار الملف ", " مسار النسخ")
[RIGHT][/RIGHT]

مع العلم أنه يجب ان تنسخ الملف مع امتداده هل هو rar , exe , sis , docx أو اي امتداد اخر....
وفي مسار النسخ كذلك, حدد المسار ثم ضع / بعدها اسم المجلد بعد النسخ مع . والامتداد.

هذا شرح الكود عامةَ.
 
توقيع : SaTaLiTe
لاتيأس أبدا:smile: انا لم اصل الى هذه الدرجة بين يوم وليلة:ok:

ارفق لي صورة من الملف الرئيسي

الله يجزاك خير استاذي علي
اشكر لك سعة صدرك وتشجعيك

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

وجات لي فكرة اخرى ايضا وهو عمل برنامج لقيم الهايجاك
والاجراء المناسب لكل قيمة

وسأعمل عليها وبمجرد الانتهاء منها ان نجحت سأهدي النسخة
الاولى لك استاذي الكريم
 
بوركت
 
توقيع : gavan
اسال الله ان يحميك و يحفظك
 
توقيع : gavan
ونريد المزيد منك
 
توقيع : gavan
الله يجزاك خير استاذي عليّ
اشكر لك سعة صدرك وتشجعيك

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

وجات لي فكرة اخرى ايضا وهو عمل برنامج لقيم الهايجاك
والاجراء المناسب لكل قيمة

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

بالتوفيق:)
يعمكنك عمل اداة لحل مشاكل ايضا, المشاكل التي تغير قيم الرجيستري
باستخدام فيجوال بيسك يمكنك عكس هذه القيم وحل المشاكل
 
توقيع : SaTaLiTe
الموضوع رائع بس صدق حسيت إني في عالم ثاني ... بارك الله بك وأشكرك
 
توقيع : SaTaLiTe
استخدام الحلقة التكرارية For , Next
نستخدم الحلقة التكرارية لتكراك عمل معين أكثر من مرة واحدة.
ويتم التكرار حتى يصل الى نهاية الشرط.
مثلاً اجمع 5 + 5 واضف اليه 1 حتى يكون الناتج 20.
كم مرة نحتاج الى تكرار العملية؟
10 مرات, لنجرب:-
10 + 1 = 11 (المرة الاولى)
11 + 1 = 12 (المرة الثانية)
12 + 1 = 13 (المرة الثالثة)
13 + 1 = 14 (المرة الرابعة)
14 + 1 = 15 (المرة الخامسة)
15 + 1 = 16 (المرة السادسة)
16 + 1 = 17 (المرة السابعة)
17 + 1 = 18 (المرة الثامنة)
18 + 1 = 19 (المرة التاسعة)
19 + 1 = 20 (المرة العاشرة)
وهذا يؤكد اننا بحاجه الى التكرار لعشر مرات...
وحتى نستطيع فهم كود الحلقة التكرارية والتي تسمى Loop نحتاج الى تحديد هدفنا الذي هو الوصول الى رقم 20 من خلال اضافة واحد الى مجموع الناتج.

والصيغة الصحيحة للترتيب كالاتي :-
- المتغير.
- البدء.
- النتهاء.
- العمل.
- النهاية.

وسأشرح الصيغة لاحقاً...​
 
توقيع : SaTaLiTe
مشكور
 
توقيع : ARBIA39
عفوا
 
توقيع : SaTaLiTe
مشكور أخي الكريم
يسلموا الأيادي
 
عودة
أعلى