End Google Ads 201810 - BS.net 01 --> الأخوة و الأخوات زملائي و أصدقائي في المنتدي
السلام عليكم و رحمة الله و بركاته

انطلاقا من مبدأ مشاركة المعرفة المجرد من منافع مادية و شخصية، و الذي ينبع من أن ما تفعله من خير فان الله وحده هو الذي يجزيك عليه أحب أن أفتتح دورة الفيجوال بيسك بعد اذن المشرفين


هذه الدورة لمن؟
--------------------

هذه الدورة للأشخاص المبتدئين أو من بدئوا و لا يعرفون كيف يكملون الطريق، أو من لديهم قدر قليل من المعلومات و يتمنوا أن يصبحوا مبرمجين حقييقين.


لماذا فيجوال بيسك 6؟
-------------------------

بعضهم يقول أن فيجوال بيسك انقرض (فيجوال بيسك 1 الي 6 ) أي ما قبل الدوت نت، و لكن هذا الكلام ليس صحيح تماما، نادرا ما يحدث أن تنقرض لغة سهلة و قوية خاصة اذا كانت في مثل شعبية الفيجوال بيسك و سوف تصدق كلامي اذا علمت أن عدد مبرمجي الفيجوال بيسك في العالم رقم و أمامه ستة أصفار، ليس بالسهل أبدا أن تنقرض لغة بهذا الحجم في يوم و لا أريد أن أربط بين ظهور الدوت نت و انقراض الفيجوال بيسك 6 لان مبرمج vb.net احتمال كبير انه كان مبرمج vb6 في يوم من الايام.
طبعا انا لا أقول هذا الكلام لأنني مبرمج vb6 و متحيز له لأنني و الحمد لله مبرمج vb.net وc# و الكثير من اللغات الأخري و كل منهم عندي له وظيفة و مجال يتفوق فيه.
البعض يقول و لكن بظهور الدوت نت قل علي ال vb6 يا رحمن يا رحيم .
أخي أنا لن أعلمك الفيجوال بيسك ففط و لكنني سوف أعلمك كيف تبرمج من منظور الفيجوال بيسك المهم هنا هو أن تتعلم كيف تبرمج و أن أضع لك أساس في ال vb6 سوف يعطيك نقطة تفوق غالية علي من بدأ ال vb.net بدون أن يكون لديه أدني فكرة عن ال VISUAL BASIC .
بالاضافة الي ذلك لم أسمع حتي الان عن شركة استغنت عن مبرمجيVb6 لديها و رغم ذلك أقول لك ادرس vb.net بكل قوة فهو المستقبل.
فيجوال بيسك 6 يتميز بالسلاسة و السهولة و الانتاجية الغزيرة فهو الأكثر انتاحية بين أقرانه من اللغات المرئية عالية المستوي.
و كشخص فكرته عن البرمجة بسيطة بدايتك مع الفيجوال بيسك 6 سوف تكون انطلاقة قوية لك ليس في فيجوال بيسك فقط و انما في جميع اللغات التي سوف تدرسها بعد ذلك ان شاء الله.


لماذا أقدم هذه الدورة؟
--------------------------

(1) يقول الرسول الكريم صلي الله عليه و علي اله و أصحابه و أتباعه و سلم
<اذا مات ابن ادم انقطع عمله الا من ثلاث، صدقة جارية أو علم ينتفع به أو ولد صالح يدعوا له>
صدق الرسول الكريم و ما ينطق عن الهوي
(2) ربما يدخلني الله الجنة بعمل كهذا لا أرجوا به سوي وجه الله
(3) أتمني أن نتفوق علي الغرب و لابد لنا من صحوة
(4) بعملي هذا أيضا أذاكر معكم و أتمرن و أدرب نفسي و فرصة لطرح الأفكار الجديدة فهذه الدورة تنتظر منك أن تشارك و تعدل علي الكاتب و تقول له ربما كان هذا الكود أفضل فلست من مؤيدي النظرية المتخلفة و الغبية التي تقول ان التلميذ لا يمكن ان يتفوق علي الأستاذ ( يمكنه و نص )

أهدي هذا العمل للشباب العربي و المسلم و اليكم يا شباب baraka soft





ما الذي تحتاج اليه لكي تبدأ دورة الفيجوال بيسك؟
---------------------------------------------------------------------

(1) عقل علي استعداد للتفكير و العمل.
(2) جهاز كمبيوتر مثبت عليه vb6 و يستحسن أن يكون Enterprise Eidition
(3) فولدر فارغ لكي تجمع به الدروس و البرامج.
(4) برنامج Microsoft Access أي اصدار.

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


المراجع المستخدمة في الدورة:
__________________________

(1)Visual Basic 6 in record time تاليف ستيف براون
(2) Advanced programming تاليف د عبد الله علي بدر
كلية العلوم جامعة الاسكندرية
(3) البرمجة باستخدام البيسك المرئي تأليف د محمود محمد الدريني
(4) البرمج المتقدمة باستخدام البيسك المرئي تأليف الرائع مجدي محمد أبو العطا من كبار المبرمجين المصريين.
(5) اخرون مصريون و عرب و أجانب
(6) خبرتي الشخصية و دراستي





ما هو البرنامج أولا؟
البرنامج في أبسط صوره مجموع من التعليمات المتتابعة التي ينفذها الكمبيوتر لأداء مهمة معينة، و سأضرب لك مثل بسيط.
لو أن والدك طلب منك أن تذهب الي السوق لشراء شيء له ماذا سوف تفعل؟
سوف تلبس ثم تنزل ثم تدير السيارة ثم تذهب الي الماركت ثم تشتري ما يحتاجه الوالد ثم ترجع ثم تعطيه ما اشتريته ثم تعطيه الباقيd:
و هذا في عرف المبرمجين – و ليس عرف الديك - يعتبر برنامج
ولكن اذا كنت مبرمج و تريد أن تصيغ هذه الخطوات في شكل كالاتي:
(1) ألبس
(2) أنزل
(3) أدير السيارة
(4) أذهب الي الماركت
(5) أشتري ما يحتاجه الوالد
(6) أعطيه ما اشتريه
(7) أعطيه الباقي ملحوظة : هذه الخطوة غير مهمة عند المبرمجين D:

أعتقد أن الأمر اتضح لك الان قليلا ولكن البرنامج لا يعمل دائما بنفس الترتيب الذي تراه الان فربما حدث ظرف يمنعنا من أن يستمر البرنامج في مساره بنفس الترتيب أو أن يضطر البرنامج أن يتخطي بعض الأجزاء ليصل الي أجزاء أخري
سوف تقول انا لا أفهم
طيب ماشي تعالي نرجع للمثال السابق و ركز معايا

(1) ألبس
(2) أنزل
(3) أدير السيارة =========< السيارة لا تعمل فماذا نفعل؟
البرنامج سوف يقوم بعمل الاتي:

=========< اذهب أولا لاصلاح السيارة و لنسميها مثلا الخطوة 8
ثم بعد ذلك تكمل الرنامج بشكل عادي


الان سوف أكلمك عن موضوع لذيذ و سهل جدا و هو البناء الهيكلي للبرنامج
كلامي هنا ينطبق علي كل لغات البرمجة ، يعتقد البعض ان البرنامج مجرد عمليات تكويد فقط و لكن الحقيقة غير ذلك تماما فالبرمجة تحتوي عدة مراحل متكاملة و مرتبة يمكن أن نجملها في كلمة PRACTICE و التي يمثل كل حرف منها مرحلة معينة تعالوا بنا نأخذ جولة سريعة بهذه المراحل

(1) تحديد الهدف الأساسي من اعداد البرنامج (Pose)
__________________________________

• قبل أن نكتب أكواد و أوامر البرنامج يجب أولا أن نعرف ما المفروض أن يقوم به هذا البرنامج و هذا شيء طبيعي جدا الا اذا كنت تري شيء اخر.
• يجب معرفة ما هي المشكلة أو المشاكل التي علي البرنامج حلها ( ما الذي يتوقع من البرنامج كمخرجات أو معالجات و ما هي احتياجات العميل لأن احتياجاته هي الأهم و ليس افتكاساتك أنت)


(2) تحليل متطلبات البرنامج ( Resolve)
__________________________
بعد تحديد الهدف الأساسي من البرنامج يجب أن نحدد الوظائف التي يجب القيام بها من أجل حل المشكلة أي تعريف المتطلبات requirements definition حيث ينبغي وضع تصور كامل لهذه المتطلبات يعني طبعا مش ممكن ان انا أبدأ في التصميم من غير ما أعرف ما هو المطلوب مني بالضبط عمله و سوف نأخذ مثال جميل

مثال
----
لو جائني عميل و طلب مني عمل برنامج لشركته سأسأله و ماذا تريد من البرنامج أن يفعله لو قال لك مثلا أريده أن يقوم بعمل كشوف مرتبات الموظفين و مراقبة المخزون و حفظ بيانات العملاء فهذه هي وظائف برنامجك المطلوب منك برمجتها و في حالتنا هذه فان الوظائف الثلاثة السابقة هي الوظائف الرئيسية التي يمكن بعد ذلك تقسيم كل منها لوظائف فرعية و هو ما يقودنا الي النقطة الثالثة



(3) تقسيم البرنامج الي أجزاء (Allocate)
___________________________

بعد أن أعددنا المهام و الوظائف التي يجب علي البرنامج الوفاء بها يجب ان نقسم هذه الوظائف الي مقاطع برمجية يؤدي كل مقطع منها مهمة محددة هذه المهام في مجموعها تؤدي الوظيفة ... فهمت حاجة؟

يعني لو عاوزين ندفع مرتبات الموظفين هذا الشهر نعمل ايه
أولا نكتب مقطع برمجي يعد الموظفين و نشوف كل موظف حسابه كام
ثانيا نكتب مقطع برمجي يضيف مرتب الشهر الي حساب الموظف
ثالثا نكتب مقطع برمجي يخصم الضرائب و التأمينات و الخصومات

أظن المفهوم الان أسهل



(4)تحديد خطوات المعالجة (Consider)
__________________________

الان أصبح البرنامج مجموعة من البلوكات البرمجية مهم جدا جدا قبل أن تكتب الكود أن تشرح لنفسك أولا م الذي يجب علي البرنامج أن يفعله ثم تترجم هذا الكلام الي أكواد و هو ما سيكفل لك تنفيذ أفضل و أحسن طبعا لن أتطرق الي تفصيل الخوارزميات و قياس زمن الخوارزميات و السرعة مقابل الذاكرة لأنك لازلت مبتديء و أغلب الظن أنك شاب و لا أريدك أن تكره الدنيا من الان (أمزح فقط الموضوع سهل جدا والله)


و كمثال للخوارزمية
لو الطالب حصل علي أكثر من عشر درجات يزيد عدد الناجحين بمقدار واحد
أو بالانجليزية

CODEIf score ≥ 10 then
Add one to the succeded students' number
End if

اذا كان المقطع البرمجي كبير يستحسن تقسيمه الي مقاطع أصغر


(5) اختبار الأكواد و البرنامج بوجه عام (Test)
______________________________

اختبار البرنامج للتأكد من أنه يعمل بشكل صحيح البعض يقول أنه من الأفضل أن نقوم بعمل حسابات البرنامج يدويا و تشغيل نفس البيانات و نري ان كانت متطابقة أم لا، أو أن تتم هذه العملية علي برامج أخري تؤدي نفس الوظيف و مقارنة النتائج
عموما من الأفضل اختبار كل بلوك علي حدة للتأكد من أن كل مهمة يتم تأديتها بشكل سليم


(6) احداث تكامل بين عناصر البرنامج (Integrate)
_________________________________

العمل علي ربط الأجزاء و التأكد من ارتباط العمليات و الوظائف بالمهام بشكل صحيح و تشمل هذه المرحلة أيضا الفحص و التنقيح Debugging


(7) التأكد من ان البرنامج يحقق الغرض من تصميمه (Correlate)
____________________________________________

وفي هذه المرحلة نقوم بعمل اختبار الدقة أو ما يسمونه باختبار الثبات لنعرف اذا كان البرنامج يحقق الغرض الأساسي منه مع استخدام عدد من الأمثلة


(8) انهاء البرنامج و حفظه (End)
______________________

حفظ البرنامج باخر تعديلاته وكتابة الملاحظات التي قابلتك أثناء اعداد البرنامج و تدوين كل الخطوات و بهذا يكون لديك مستند كامل تستطيع العودة اليه عند الرغبة في التعديل و التطوير