مقدمة عن البرمجة :
يقوم الحاسب الآلي عند أداء أي عمل من أعماله بتتبع مجموعة من التعليمات المتسلسلة والمترابطة التي تسمى البرنامج، ويسمى من يكتب هذه التعليمات بالمبرمج، ويعتمد تركيب الجمل والتعليمات على لغة البرمجة المستخدمة، ويتصل الإنسان بالحاسب لتوجيهه للقيام بالأعمال التي يريدها بواسطة لغات البرمجة .

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

لغات البرمجه :
واللغات ديه كتيره وبتختلف عن بعض فى امكانياتها وسهوله التعامل معاها ..وطبعاا طرق البرمجه والاكواد مختلفه فى طريقه كتابتها , ولكن فكر المبرمج واحد و لو استطعت الوصول لفكر المبرمج تستطيع التعامل مع اى لغه بمجرد التعرف على ادواتها...

1 - لغة الآلة :
وتسمى "اللغة الثنائية " حيث إنها تتكون من سلسلة من 0 و 1، وهي اللغة الوحيد التي يفهمها الحاسب الآلي، حيث تحول جميع اللغات إلى لغة الآلة، حتى تتمكن معدات الحاسب الآلي من التفاهم معها، ولأنها تتكون من صفر وواحد، لذا فقد تميزت هذه اللغة بالصعوبة نظراً لما تتطلبه من حفظ ودقة في كتابة سلسلة طويلة من صفر وواحد بترتيب معين، مما ينتج عنه أخطاء كثيرة من الترميز، ويجب أن يحدد المبرمج كل شي، فكل خطوة يجب أن ينفذها البرنامج يجب أن ترمز، لذا فالمبرمج يجب أن يكون على علم بتركيب الحاسب الداخلي، والعنا وين الرقمية لمواقع التخزين، سواء للبيانات أو التعليمات، كما أن لكل جهاز لغة آلة تختلف عن الجهاز الآخر بحسب النوع والتركيب مما يعني أنه يجب كتابة البرنامج بشكل كامل مره أخرى عن الرغبة في تنفيذه على جهاز آخر، ونتيجة لهذه الصعوبات,

فقد ظهرت طرق أخرى لتمثيل الترميز الثنائي، كالنظام الثماني OCTAL والستة عشري HEX-ADECIMAL بدلا من 1، 0 فالنظام الستة عشر يتكون من ستة عشر رمزاُ هي : 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 A.B,C,D,E,F .
مما يساعد على سهولة قراءة التعليمات المكتوبة وحفظها بهذه اللغة، فبدلا من كتابة 16 رقماً في سلسلة يمكن الاستعاضة عنها بأربعة رموز من رموز النظام التشغيل الستة عشري.

2- لغة التجميع:
ظهرت لغة التجميع بوصفها أو لغة ترميز، تستخدم الرموز SYMBOLIC CODE للتعبير عن تعليمات لغة الآلة، وذلك لمواجهة صعوبة الترميز بلغة الآلة، ولغة التجميع لغة قريبة من لغة الآلة التي يفهمها الحاسب الآلي، وتسمى هذه اللغات بلغات المستوى البسيط.
ويتم استعمال مختصرات ورموز يسهل حفظها وكتابتها لكل تعليمة من تعليمات لغة الآلة، ولغة التجميع كما في لغة الآلة مصممة للعمل على حاسب معين، مما يوفر قدرة أكبر على استغلال موارد الحاسب الآلي ووحدة المعالجة المركزية بشكل أفضل، ويقوم البرنامج المسمى المجمع ASSEMBLER بترجمة البرنامج المكتوب بلغة المجمع إلى لغة الآلة .

3 ـ اللغات العليا:
سميت بهذا الاسم لأنه أصبح بإمكان المبرمج كتابة البرنامج دون معرفة تفاصيل كيفية قيام الحاسب بهذه العمليات، كمواقع التخزين وتفاصيل الجهاز الدقيقة، وتعبيرات لغات المستوى العالي هي تعبيرات شبيهة إلى درجة كبيرة باللغة الطبيعية التي يستخدمها الإنسان في حياته للتواصل، والتخاطب مع الآخرين.

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


واحب اقول ملحوظه انه مش كويس زى ما كتير فاكرين انك تقول انا مبرمج فيجول بيزيك او مبرمج سي..ولكن الافضل ان تكون مبرمج تستطيع التعامل مع افضل امكانيات كل لغه .لان مفيش لغه كامله فمثلاا..لغه الفيجول بيزيك تعتبر افضل لغه تصمم فورمات..وعند تصميم قواعد بيانات تختار نوع القاعده حسب طبيعه الاستخدام فلو كان مساحتها صغيره تستعمل Access ولو كانت كبيره تستعمل Oracle وساعتها مش حتقول للعميل اصل انا متخصص Access ! ! .


خطوات تصميم اى برنامج:
1- فكره البرنامج:
لازم يكون عندك فكره للبرنامج اللى حتعمله مثلا , معادله لتحويل تاريخ ميلادى لهجرى, فكره لعبه...

2- تحديد متطلبات البرنامج:
وهنا بتحدد احتياجات البرنامج من ( ادوات التحكم المختلفه , قاعده بيانات , اداه خارجيه لاضافه وظائف معينه..)

3- تصميم واجهة البرنامج:
وديه من اهم عوامل جذب المستخدم, وهنا بتصمم شكل البرنامج , توزيع ادوات التحكم ومكونات البرنامج والالوان اللى حنستخدمها والخطوط المختلفه .


4- كتابه كود البرنامج:
وبنكتب هنا برمجه البرنامج وتصرف ادوات التحكم مع الاحداث المختلفه , وهنا بتظهر مدى براعه المبرمج وقدرته على برمجه برنامج سهل الاستخدام ويؤدى الغرض باقل عدد ممكن من الاوامر و بالتالى اقل مساحه

5- اختبار البرنامج:
تجرب البرنامج ....يعنى تشغله بنواتج او حاجات انتا عارف نتائجها بدقه..وتشوف رد فعل البرنامج...او تعمل زى الشركات الكبيره وتنزل نسخه بيتا وتشوف ملاحظات الناس عليها. وياريت تخلى بالك من حاجه .. ان المستخدم مش شرط خبير يعنى يجب ان تضع فى بالك استخدامات غير منطقيه..وتضع التصرف المناسب لها حتى لايتوقف البرنامج..
مثال : لو انتا مثلا مصمم الة حاسبه وقام المستخدم بعمليه غير منطقيه مثل القسمه على الصفر فسيتوقف البرنامج..


تعريفات هامه

1-ادوات التحكم Controls :
وهى الادوات الى احنا بنستخدمها علشان نصمم واجهة التعامل مع المستخدم , ودى بستخدمها فى تصميم الفورم فى حاله الفيجول بيزيك... وهى مثل ( ازرار الاوامر , قوائم الاختيارات , صناديق ادخال البيانات , ادوات الربط مع قواعد البيانات ..)

2- الحدثEvents :
وهى الحاجات من تصرفات او افعال اللى حيعملها المستخدم عند تعامله مع البرنامج مثل ( ضغط المستخدم على زر معين فى لوحه المفاتيح , تحريك مؤشر الفاره , الضغط على اداه تحكم فى البرنامج ..)

3-الخصائص : Properties
وهى مميزات وخصائص كل اداه تحكم وهيا اللى بتخلينا نعدل من خصائصها حتى يمكننا التعامل معاها وتكيفها لتلائم برامجنا مثل ( سمك اطارها , لون الخط فيها , لون خلفيتها , شكل مؤشر الماوس لما يمر عليها ...)

Design time
وقت التصميم: .وهو فتره تصميمك للبرنامج, يعنى وانتا بتضيف العناصر وادوات التحكم للبرنامج بتاعك , وبتحدد خواص كل اداه وتبرمج الاحداث المختلفه وردود البرانمج المناسبه عليها.

Run Time
وقت التشغيل: وهو وقت تنفيذ البرنامج, اى وقت تفاعل البرنامج مع المستخدم . ومش ممكن تغيير اى خواص او امر تم كتابتها اثناء البرمجه.

Visual BASIC 6



تشغيل البرنامج


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


وهنا ظهرت الشاشه الافتتاحيه للفيجول وهيا فيها انواع المشاريع اللى ممكن ينفذها الفيجول بيزيك واحنا حنختار ال Standard EXE .( وزى ما انتا شايف برنامج الفيجول يمكنه تصميم الكثير من الاشياء مكتبات ال DLL وادوات ا ل ActiveX والكثير ..وسنتعرض لمعظمها باذن الله..)


ويتكون برنامج الفيجول بيزيك من اربع اجزاء اساسيه :
1- نافذه المشروع:
وديه بيظهر فيها المكونات الاساسيه للمشروع بتاعنا من (فورمات او موديلات...)
2- نافذه النموذج:
وديه النافذه الاصليه او واجهة المشروع بتاعنا واللى غالبا بتكون ظاهره للمستخدم.
3- نافذه الخصائص :
وديه اللى فيها خصائص ادوات التحكم او الفورمات . و بمجرد ما تضرب كليك واحده على اى اداه التحكم تظهر خواصها فى نافذه الخصائص.
4- صندوق الادوات :
وده اللى فيه ادوات التحكم اللى بنستخدمها وبندرجها فى البرامج ( كالازرار ).

ملاحظه:
لو فى اى حاجه من الحاجات اللى فاتت مش ظاهره عندك يمكنك اظهارها...

ادوات التحكم



واحنا عرفنا ازاى نجيبهم , واحنا اتفقنا انه البرنامج عباره عن عده ادوات تحكم مبرمجه ومرتبه بترتيب معين على الفورم..

Text Box
وديه ياسيدى بيظهر فيها كتابه وممكن يكتب فيها المستخدم لورغبنا ان يكتب حاجه....يعنى ممكن نضيفلها النصوص فى وقت التشغيل من قبل المستخدم.

Label
ليبل معانها عنوان.....وديه ممكن نكتب فيها اى كلام يتعرض للمستخدم بس هو يشوف بس مش ممكن يكتب حاجه(يعنى غير التكست) وذالك اثناء تشغيل البرنامج ولكن هذا لايمنع وجود كود يغير العنوان ولكن كلامنا عن التعامل المباشر بين المستخدم والاداه .

Check Box
صندوق الاختيار واكيد انك شوفته كتير وهوه ليه حالتين مختار او غير مختار (تم اختياره او لا) وممكن يكون اكثر من صندوق اختيار ونختار اكثر من واحد منهم.

Radio Option
وده زى صندوق الاختيار بس يختلف عنه انه لو فى اكتر من واحد منه واحد بس اللى يمكن اختياره...

Command Bottom
وده يا سيدى الزرار اللى انا بقولك عليه من الصبح.....وده بقه لما بتعمل عليه كليك بيدخل لجوه (اه والله) وينفذ الكود اللى متخزن فيه..

List Box
وده بيطلع ليسته فيها حاجات احنا حاطينها والمستخدم يختار منها.. بس مينفعش يكتب اى حاجه.....

Combo Box
وده عامل زى الليست + التيكست بوكس......بنختار من ليسته وتطلع اللى احنا اخترناه فى بوكس بتاعه وممكن نكتب فيه.

Timer
وده بيسموه المؤقت....وبيكرر الخطوات اللى مكتوبه فيه فى ماده زمنيه بنحددها من خاصيه (الانترفال) ...لو كتبنا 1 مثلا فيكررها كا واحد من الالف من الثانيه...وده مش بيظهر فى وقت التنفيذ.(ولو اردنا ان ينفذ الكود كل ثانيه سنجعل قيمتها =1000)

Shape
وده بقه بيرسم شكل دائره , مستطيل , مربع وكذا شكل هندسى..ولو انتا ختارته وحاولت تجربه.حيرسم غالبا شكل مستطيل ولو انتا عايز تشوف الاشكال التانيه بتاعو , بص فى الخواص بتاعته (بعد ما تعمل كليك عليه) حتلاقى حاجه اسمها shape ومنها ممكن تغير شكله الهندسى .

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

Picture Box
وده ممكن نعرض فيه الصور بمعظم الامتدادت وبيعرضها فى اطار
وهنا مفيش اى تعامل بين المستخدم والصوره.

Image Box
هنا بقه مش بيعمل اى اطارات بيعرض الصوره...
وممكن نعمل اكواد للصوره ونتعمل معاها زى الزراير بالظبط.

Frame
وده اطار بنعمله ونضع بداخله الادوات , وبيعطيك ميزه كبيره انك مثلا لو عاوز تخفى ادوات معينه اثناء اى وقت
فتضعهم فى frame واحده وتتعامل معهم ككائن واحد , وايضا يساهم فى تنسيق الادوات على الفورم .

DataControl
وهيا اداه ربط ادوات التحكم بتاعتنا بقواعد البيانات وسيرد شرحها مفصلا ان شاء الله..

Drive & Dir &File List Box
وهيا ادوات التعامل مع الاقراص والمجلدات والملفات على الترتيب..وسيتم شرحها بالتفصيل

فى الغالب ليست الادوات الوحيده المستخدمه فى برامجنا بل يمكنك فيما بعد تصميم ادوات لتستخدمها فى برامجك او استخدام ادوات من على الانترنت وتوجد ادوات اخرى فى الفيجول , يمكنك ادراجها كما فى الصوره :


وبالضغط Click يمين واختيار Comp.

الخصائص



الخصائص هيا الصفات المختلفه لادوات التحكم مثل ( نوع الاطار , الظهور للمستخدم , امكانيه المستخدم من التعامل معها, لون خلفيتها , صوره فى الخلفيه , ايقوناتها عند التصغير ,......)


وهى متقسمه الى :
Alphabetic-1
Categorized-2

طبعا.عارفين معناهم , هما صنفو ا الخواص مرتين : حسب الترتيب الابجدى, وحسب نوع الخاصيه.(شكلها, سلوكها, وكده يعنى..) وهما اللى هنا نفس اللى هنا بس للتسهيل مش اكثر .


تعالو نشوف خواص الفورم كمثال...

1-Name:
وده الاسم اللى البرنامج بيتعرف بيه بين ادوات التحكم التانيه وباقى عناصر البرنامج( ايوه اسم الدلع)
وده مش بيظهر اثناء تنفيذ البرنامج..

2-Appearance
وده بيتحكم فى شكل الفورم....وده ليه وضعين اما..flat وهنا بيظهر شكل الفورم كانها مسطحه..3D وشكلها مجسم..

3-Back color
وديه بتغير لون خلفيه الفورم , وحتلاقيها عباره عن جزئين:


وديه مجموعه الوان النظام اللى الويندز بيستخدمها..ويمكن ان تتغير لون الخلفيه لو غير المستخدم اللون النظام من Display properties


والجزء الثانى منه فيه الالوان اللى انتا لو استخدمتها مش ممكن تتغير (مهما عمل المستخدم)..


4-Border style
وديه بنتحكم بيها فى الاطار بتاع الفورم وهيا ليها حالات كتيره....بس اهم حاجات فيهم.
1-None ومعناها مفيش اطار خالص
2-Fixed Single وديه بيبقى فى اطار ومش ممكن تغيير حجمها اثناء التشغيل
3-Sizable وديه ممكن تغير حجمها اثناء التنفيذ

5-caption
وده عنوان الخاصيه اثناء التنفيذ ...عنوان الفورم..
ولو احنا فى خصائص زر...او عنوان...حتكون كده....( التكست بوكس مفيهوش الخاصيه ده...).

6-control box
وده بيخفى ادوات التحكم فى النموذج زى (التكبير, تصغير , غلق ) وليه حالتين ..نعم True او لا False

7-Enabled
والخاصيه ديه بتحدد هل ستتفاعل الاداه مع المستخدم وتصرفاته او لا...مثلا لوعندنا زرار واحنا عاملين له عدم التفاعل مع المستخدم
فلن ينضغط عند الضغط عليه او ينفذ الكود.ويكتب عنوانه بلون باهت.(منظر بس من غير اى تفاعل)
والخاصيه ديه ليها حالتين نعم True ولا False

8-Font
وديه بتغير شكل الكتابه فى الاداه
وممكن تغير شكل الكتابه بالضغط على الشكل اللى جنب Font بيفتح القائمه دى :
وممكن منها تغير فى البنط....حجم الخط...نوع الخط....

9-Top.Height,Left,Width :
والخصائص ديه بتتحكم فى مكان الاداه على الشاشه , والشكل التالى يوضح لفرق بينها..


10-mouse icon/mouse pointers
كلاهما يستخدم لتغيير شكل المؤشر عند مروره على الاداه التى نغير فى خصائصها , والاختلاف بينهم ان ال Mouse Pointer يحتوى على بعض اشكال المؤشرات التى يعطيك ايها البرنامج , ولكنك اذا اردت استخدام ايقونه اخرى من جهازك قيمكنك تحميلها من الMouse Icon , ولما تختارها سيظهر لك :


ونختار الايقونه اللى احنا عايزنها...بس احب اقولك ان الايقونه اللى انتا اختارتها مش حتكون شكل الموشر الا لما يكون قيمه mouse pointer=99 زى الصوره


11-mini bottom/max bottom
ودول ليهم قيمتين.. نعم true و لا false ........الاولى مسئوله عن اظهار او اخفاء علامه التصغير فى الفورم


والتانيه مسئوله عن اظهار او اخفاء علامه التكبير....


.....ممكن واحد يقول احنا اخدنها قبل كده (قصده يعنى على control box ) ...لكن دى تفرق عن التانيه فى التخصص.. ف الكونترول بوكس بيخفى او بيظهر كل الادوات....

12- moveable
وممكن من هنا تتحكم فى قابليه الفورم للتحريك من مكانها..من قبل المستخدم وذالك فى اثناء التنفيذ طبعا....

13-right to left
والخاصيه ديه ليها ليهم قيمتين.. نعم true و لا false ...ودى بتنقل النصوص والادوات من الشمال لليمين...

وديه مهمه فى حاله التصميم باللغه العربيه....لاحظ الفرق بين الصورتين :
False


true


14-start up position:
ومن هنا بنختار مكان ظهور الفورم عند تشغيل البرنامج


15-visible
وديه بتتحكم فى ظهور او اخفاء الفورم... وليها قمتين نعم او لا......
انتا ممكن تسال حنخفى الفورم ليه..انتا ممكن تكون مثلا عامل برنامج فيه كذا فورم..ولما بتختار زر معين يقوم باخفاء الفورم اللى انتا فيها....(visible=false ) ويقوم باظهار فورم اخرى (visible=true )....

16-window state

وهنا بنحدد الحاله اللى حتكون عليها الفورم عند تنفيذ البرنامج( عادى...فى حاله تكبير...فى حاله تصغير)

17-Show In TaskBar
وبتحدد منها عرض الفورم فى الTaskBar او لا زى ما فى الصوره :

حتظهر زيهم كده لو الخاصيه بتساوى True

18-Picture :
لعرض صوره فى خلفيه الفورم ويجب ان تكون من امتداد مناسب لعرضها.


19-Icon
لتغيير شكل الايقونه للفورم ولما يتم تصغيرها ستظهر فى الTask Bar

دى معظم الخصائص المهمه فى الفورم و منها من يوجد فى اداوت تحكم اخرى ..وباذن الله تعالى سنستكمل الخصائص اليوم مساءا

 

Command Button



1- Disabledpicture
وديه الصوره اللى بتظهر على الزرار لما بيكون(enabled=false ) غير متاح......(لو مش فاكر اطلع فوق)

2- Downpicture
وديه الصوره اللى بتظهر على الزر لما بيضغط لتحت وبتروح تانى لما منسيبه..

3- MaskColor
وده بيعمل زى غلاف اوقناع حول الصوره بتاعت الزرار...( يعنى لازم تكون فيه صوره)
وكمان لازم تكون الخاصيه UsemaskColor نشطه

4- picture
وديه الصوره اللى بتظهر على الزر على الزر

وكل الخصائص ديه مش حتشتغل الا لما يكون الاستايل بتاع الزر جرافيك




5-cancel & default
وكل واحد فيهم بيكون لزر واحد فى الفورم يعنى لو تم تفعيل cancel فسيتم تفعيل الزر( اكنك ضربت عليه).لما تضرب على زر ESC
ولو فعلت default فيتم تنفيذ الكود المخزن فيه( تفعيله ) عند ضغط Enter ..

6-Tool Tip Text
وديه الرساله اللى بتظهر لما الماوس يقف على الاداه وهيا تستخدم لتعريف المستخدم بفائده الاداه وهيا موجود بمعظم الادوات.


7-Tab Index , Tab Stop
طبعا عارفين زر Tab اللى فى الكيبورد اللى هوه بينقل التركيز على الادوات المختلفه فى البرنامج , لما تخلى خاصيه الTAB STOP=FALSE لما يضرب على Tab لبكره عمره ما يقف على الزر ده.

اما ال Tab index فترتيب الادوات فى التركيز مع الضغط على tab فحيقف على الاداه اللى Tab Index ليها يساوى 2 قبل اللى فيها يساوى 4 .

Text Box



1-locked
والخاصيه ديه بتديك امكانيه اختيار السماح للمستخدم الكتابه فيه او لا...

2-Max length
وهنا ممكن تختار اقصى عدد ممكن من الحروف او الارقام الممكن كتابتها داخل التيكست بوكس

3-Multi line
وهنا بتسمح للمستخدم الكتابه فى سطر تانى عند ضغط enter او لا..

4-Password char
وهنا ممكن تعمل الخاصيه دى.وكل حرف فى التيكست بوكس حيظهر زى الحرف اللى انتا كتبه هنا ( مع الاحتفاظ بقيمته داخل البرنامج).... زى باسورد الايميل بتشوف كل حرف كانه نجمه...

5- Alignment
وهيا لاعداد محاذاه النص فى الاداه ليمين او لليسار او فى المنتصف .

6-Data Filed & Data source


وهما يستخدموا اثناء التعامل مع قواعد البيانات حيث تربطا بمصدر والحقل الذى سيتم الحصول منه على البيانات

كما سنرى فيما بعد.

7-ScrollBars


وهما لاظهار شرائط التمرير الافقيه او الراسيه او كلاهما , مع ملاحظه انهم لن يظهرا حتى تفعل خاصيه الMulti Line .

Timer



1-InterVal
كلنا عارفين ان فائده المؤقت تكرار الاوامر المخزنه فيه كل فتره معينه , والخاصيه ديه اللى بيها بنتحكم فى الزمن ده , يعنى التايمر حيكرر الاوامر المخزنه فيه كل (القيمه المخزنه فى الخاصيه ديه / 1000) ثانيه يعنى لو عاوزينها تتكرر كل ثانيه حنخلى قيمه الخاصيه ديه = 1000


Option



1-Value
وقيمه الخاصيه ديه حتساوى True لما يتم اختيارها


CheckBox



1-Value
والخاصيه ديه هنا مختلفه شويه وليها 3 قيم , 0 عندما يكون غير مختار , 1 عندما يتم اختياره , 2 عندما تكون مختاره وغير متاحه لتغير قيمتها من قبل المستخدم

دلوقتى حنبداء فى طريقه كتابه الاكواد ( برمجه البرنامج ) و زى مقولنا قبل كده احنا فى الاول حددنا ادوات التحكم اللى حنحتجها فى برنامجنا, وبعد كده اختارنا خواصهم المناسبه, يبقى مش ناقص غير برمجة البرنامج.

البرمجه:
يعنى بنكتب خطوات البرنامج . وتصرفاته..و رد فعله على تصرفات المستخدم.

مثال:
الالة لحاسبه .. زى البرنامج بتاعنا...

ادوات تحكم < ( مفاتيح الارقام , الشاشه ومفاتيح العمليات الحسابيه)
تصميمها <( ترتيب الارقام فى امكانها..ومكان الشاشه... والعمليات الحسابيه)

البرمجه
يعنى رد الفعل المناسب لفعل المستخدم , يعنى ضغطت زر معين بيكتب رقم 9 على الشاشه , تضرب زر اخر تظهر عمليه معينه جمع مثلا... وهكذا.
ده باختصارمعنى برمجه برنامج.

احنا قولنا ان البرنامج بيتصرف حسب فعل المستخدم....او بلغه البرمجه حسب (الاحداث) اللى بيعملها المستخدم



وتنقسم الاحداث الى

احداث بنعملها بالماوس :
Click : يعنى ضغط الزر الايسر فى الماوس
DblClick : يعنى ضغط الزر الايسر مرتين متتابعتين بسرعه
Dragover : عمليه الدراج يعنى الضغط على الزر اليسر وتحريك الماوس.
Dragdrop :يعنى ترك الزر الايسر بعد عمليه الدراج
Mousedown : يعنى ضغط الزر الايسر مع استمرار الضغط( بس بدون حركه الماوس...يعنى غير الدراج)
Mousemove : يعنى حركه الماوس(يعنى تغير احداثى الماوس بالنسبه للاداه )
Mouseup: عدم الضغط على الزر الايسر

2-احداث بنعملها بالكيبورد :
Keypress : الضغط على اى زر من الكيبورد
Keyup : عدم الضغط على اى زر فى الكيبورد
Keydown: الضغط على زر مع استمرار الضغط

3- احداث اخرى :
Gotfocus: يعنى التركيز عليها (لما تعمل tab وبيتعلم عليها يعنى التركيز عليها )
Lostfocus : عكس اللى فات كان التركيز عليها وبعد كده مش من عليها( علمت على حاجه تانيه )
Load : عند تحميل الاداه يعنى بده تنفيذ البرنامج...( بتظهر غالبا مع الفورم )
Change : وديه بتظهر مع الادوات اللى يمكن تغير قيمها ( زى التيكست بوكس..لما بنكتب فى او نلغى منه حاجه )
Query Unload : عندما يطلب من البرنامج الاغلاق , اى بعباره اخرى عند الضغط على Close او طلبك للبرنامج بالغاء من الاكواد بعباره Unload ويمكن ان تستفيد منهاباخراج رساله للمستخدم تخبره ان البرنامج سيغلق وتطلب منه تاكيد امر الاغلاق للفورم.

ملاحظه:
وضع Cancel = -1
فى حدث Query Unload يلغى عمليه الاغلاق اى سيجعل ضغط زر Close بدون فائده

التصريحات..Declarations




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

انواع المتغيرات :
المتغيرات عامه تنقسم لنوعين.متغيرات رقميه (Numeric) و متغيرات حرفيه (String )..
والمتغيرات الرقميه تتشعب الى كذا نوع بس ممكن عامة نعتبرها ليها نوعين: صحيحه (Integer) و عشريه (Double).

الاعلان عن المتغيرات :
طبعا زى مانتا عارف ان الكومبيوتر مش بيفهم...كل اللى بيعمله انه ينفذ الاوامر . يعنى انتا لازم تقوله كل حاجه...
علشان كده انتا لازم تعرفه انه فيه متغير كمان تقوله نوه علشان يبقى فاهم اللى بيحصل !

ويتم الاعلان عن المتغير زى كده :


سيبك من اول سطر...ركز على المتغيرات اللى انا اعلنت عنها:

هنا فى ملاحظتين :
1- المتغير الحرفى بيشيل حروف وارقام .حتقولى ازاى , فاكر موضوع الشنط...
انا ممكن اجيب شنطه سفر كبيره اووى واحط فيها T-shirt ومش حيحصل حاجه
ولكن مش ممكن تحط الحاجات الل فى شنطه السفر فى شنطه T-shirt ...فهمت
قصدى ؟ .يعنى مش حيحصل حاجه لو حطيت ارقام قى متغير حرفى بس انتا حتكون شغلت حجم كبير من الذاكره على الفاضى..
2- المتغير الاخير اللى انا اعلنت عنه مقولتش نوعه...والبرنامج حيعتبر نوعه Variant .والنوع ده بتدخل فيه كل انواع البيانات وكله على حساب الذاكره المشغوله لما البرنامج يشتغل.

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

فمثلااا :
1-انا لو عايز اعلن عن متغير ومش حستخدمه الا فى سطر واحد فى Command Button فملهاش لازمه انشر الخبر وكفايه اقول للCommand بس عن المتغير ده :


2- اما لو حعمل متغير وكذا حاجه فى الفورم حتستخدمه..فممكن اذيع عن المتغير ده على مستوى الفورم :


3- اما بقى لو انا عامل كذا فورم فى المشروع بتاعى وعايزهم كلهم يستخدموا المتغير ده ,فبعلن عنه فى حاجه اسمها Module : وديه تجيبها ازاى؟..





تعالو1 نتكلم اكتر عن المتغيرات

المتغير Variable :
عباره عن المحتوى اللى بتتخزن فيه البيانات.( الدرج اللى بتشيل فيه هدومك) ,....وممكن تسميه باى اسم بس بشروط

شروط اسم المتغير:
1- ان لا يبداء برقم او برمز يعنى ممكن تسمى متغير A1 لكن لا يمكن تسميه متغير 1A
2- ان لا يحتوى على مسافه .....(يمكن استخدام _ ).ممكن Phone_Number لكن لايمكن تسميته Phone Number
3- ان لايزيد عن255 عنصر يعنى مجموع جميع عناصر الاسم (ارقام , حروف , اشكال) عن 255
4-ان لا يكون اسم اى جمل برمجه او حاجه فى تكوين البيسك يعنى لايمكن تسميه متغير IF
5- ان لا يكون موجود قبل كده .

انواع المتغيرات
1- رقميه
2- حرفيه
3- مختلط ( وده يشمل النوعين اللى فاتوه )
4- Boolen وهو المتغير الذى له قيمتين فقط (نعم او لا) عنى (ذكر او انثى) , (متزوج ام لا ) يعنى الاحتمال من اتنين مش اكتر
و المتغير الرقمى ليه تقسيمه تانيه وحنذكرها فى الوقت المناسب ( ارقام صحيحه , عشريه,..........)
وانا مش حكتب الجدول الكبير بتاع المتغيرات ومداها..علشان كله عارفه والجدول ده مش للحفظ وممكن ترجعله اثناء تنفيذ البرنامج

طريقه تعريف المتغير فى البرنامج :
احنا عايزين نعرف حنعمل متغير ليه؟
1- ممكن عايزين نعرف المستخدم حيختار ايه من رساله طلعتلو...فنساويها بمتغير..فقيمه الاختيار حتتخزن فى المتغير ده. وبمعرفه قيمه الزر يمكن معرفه نوع الزر اللى هوا اختاره .
2- ممكن عايزين نعرف المستخدم كتب ايه فى تيكست بوكس و بالتالى يمكن اجراء اى عمليات على القيمه المدخله مع الاحتفاظ بالقيمه الاصليه

وديه مش بس الحاجات....دى امثله بس .

قواعد كتابه المتغيرات :
1- لازم نعرف البرنامج الاول على المتغير ازاى:
Dim Ahmed As AhmedT
و بدلAhmed بتكتب اسم المتغير وبدل AhmedT تكتب نوع المتغير
* ولو انتا مكتبتش نوع المتغير بيعتبره مختلط (Varient )

2- كيفيه كتابه المتغير :
بيكتب المتغير اللى احنا عايزين نخزن فيه على الشمال والحاجه اللى فيها القيمه الاصليه على اليمين

ازاى :
A, B احنا عندنا متغيرين
واحد فيه قيمه والتانى لا... احنا عايزين الاتنين يكونوا يساواو نفس القيمه التى فى المتغير A

حنكتب الكود كده :
1- حنعرف المتغيرين :

Dim A as Byte
Dim B as Byte




2- حنكتب القيمه المعروفه :
فكرين ازاى:
A=6

3- حناخذ نسخه من بيانات المتغير ونحطها فى التانى:
A=B
طبعا انتا اختو بالكم ان الكود ده غلط.....( ليه)
علشان زى ماانا قولت ان اللى على الشمال بياخد قيمه اللى على اليمين . وطده بقت قيمه المتغيرين =0 .
لكن الصح :
B=A
طب لو عايزين نعمل عمليه حسابيه بقيم او بمتغيرات ونحطها فى متغير
وكذالك العمليات بتتكتب على اليمين , والمتغير اللى حنخزن فيه يكون على الشمال
C=A+B
وكذلك يمكن تعريف اكثر من متغير فى نفس السطر..

ملاحظه :عند تعريف :

Dim A , b as string



اللى حيتعرف هنا ال A كمتغير من نوع مختلط Varient
وال b من النوع نصى علشان مكتبتش نوعه.. والصح Dim a as string ,b as string

اول برنامج



انتا لما تيجى تطلب منى حاجه حتوقلى ايه....طبعا حتوقلى يا ( احمد ) اعمل (كذا)....
وعند البرمجه كذالك بنعمل نفس الحاجة..بنادى على الاداه وبعد كده , نطلب منها تعمل ايه (من خصائصها طبعا) ... مفيش حد ممكن يعمل حاجه مش من مقدرته.

الاسم :.... وطبعا حندلعها...فنادى عليها بالاسم اللى موجود فى الخاصيه ( Name)
والخصائص :...... واحنا قولنها قبل كده.


طريقه كتابه الامر
بنكتب اسم الاداه وبعد كده (.) وبعد كده الخاصيه اللى احنا عايزينها :


مثال1:
عايزين نغير اسم الزر الى اهلا :

Command1.caption=”اهلا”



طبعا حتقول ليه حطيت (اهلا) بين علمتين التنصيص.... اولك انا... علشان ديه ولا متغير يعرفه البرنامج ولا حاجه يفهمها الفيجوال بيزيك... فنحطها بين علمتين التنصيص علشان يحطها زى ما هيا..ما يحولش يفهم اى حاجه....

مثال 2:
عايزين نغير اسم الفورم لما نضرب على زر الى (اهلا)

الحل :

فاكر خطوات عمل برنامج :
1- الفكره: نعمل برنامج لما نضرب على زر يتغير اسم الفورم الى اهلا .
2- الادوات : احنا محتاجين زر بس
3- التصميم :انتا فى المرحله ديه تغير خصائص ادوات التحكم بتاعتك..زى متعلمنا..
4- كتابه البرنامج:احنا عايزين ايه يحصل ؟؟؟......لما نضرب على الزر يتغير اسم الفورم. .فلازم يكون الكود فى الزر....
فتيجى على الزر و اعمل (نقراا مزدوج) ..حيفتح الكود بتاعه

احنا عايزين الكود يتنفذ لما تضرب على الزر ( يعنى الحدث هو كليك)..ونبداء نكتب الكود :

Form1.caption=”اهلا”



5-تجربه البرنامج:ولتنفيذ البرنامج اضغط شكل السهم الازرق فوق او اضرب على (F5)
ولو عاوز تعمل نسخه ExE من البرنامج من قائمه File اختر Make ExE
( يعنى نخلى البرنامجExtuable يعنى يشتغل بمفرده بدون الحاجه للفيجول بيزيك)

مبروك عليك اول برنامج ليك.

  • Currently 99/5 Stars.
  • 1 2 3 4 5
35 تصويتات / 2724 مشاهدة
نشرت فى 2 يناير 2007 بواسطة Badeaonly

ساحة النقاش

عدد زيارات الموقع

75,487