hackerz89
19-07-2007, 03:58 AM
تعني البيسك المرئي أم كلمة basic فتعني (Beginner's All-purpose Symbolic Instruction Code) ، بالعربي : هو برنامج لصنع البرامج المتكونة على يد المبرمج على حسب دوقه وأتقانه ودقته وطريقة عمله ، يمكنك صنع الكثير من البرامج مثل : برامج تحويلات حسابية + برامج تعليمية + برامج محاسبة وحفض الأشياء ( قواعد بيانات ) + ألعاب + فيروسات حقيقية + فيروسات للمزاح فقط + ألعاب والكثير من البرامج التي تتخيلها ، ولعمل البرنامج يجب أولاً حصولك على سيدي VB6 ثم تخزينه ثم تشغيله من قائمة أبدأ ، أول ما يشتغل البرنامج سيفتح لك نافذة بوسط الشاشة ليخبرك عن أي نوع من المشاريع ستستخدم ، أختر أول واحد وهو standard exe وهو المشروع القياسي ، سترى خرابيط واجد نازلة عليك من السماء ! لا تخاف وتختلع وتطفي الجهاز على طول ! ، خد نفس عميق ( لا تفطس ) وركز معاي ويش بأقول ، البرنامج يحوي على أربع جهات رئيسية كما تلاحظ ، الأولى فوق وهي ( قائمة القوائم منسدلة ) ، الثانية على اليسار ( قائمة الأدوات ) ، الثالثة على اليمين ( قائمة الخصائص ) ، وتقريباً بالوسط ( مكان عملك المرئي ) ، أولاً ممكن تاخذ فره بسيطه وبأشرح لك إنشاء الله كل شيء .
بس ما بأشرح كل شيء ، لازم أنت تداور شوي.
ستجد بالأعلى قوائم منسدلة والكثير من الأيقونات وهي :
File : وهي قائمة لوضع مشاريع جديدة وحغظها وفتحها ، وبمكنك تحوبل مشروعك إلى برنامج exe وهذا شيء مهم جداُ لإرسال برامجك للمنتدى والبريد ولأصدقائك على الأقراص ، ويمكنك فتح المشاريع الأخيرة التي كنت تعمل بها هنا .
Edit: من هذه القائمة يمكنك التراجع والتقدم في الخطوات ، ويمكنك النسخ واللصق الأدوات وحدفها أيضاً ، ويمكتك تحديد جميع الأدوات التي في Form ، ويمكنك البحث في الأوامر ووضع نقاط مرجعبة للرجوع لها ، على كل حال يمكنك الأستغناء عن هذه القائمة وذلك بالضغط على الكيبورد .... ألا تعرف كيف ؟ حسناً يمكنني مساعدتك :
Ctrl + C : للنسخ ، Ctrl + X : للقص ، Ctrl + V : للصق ،
وهذه للأوامر ==> Ctrl + H : للبحث والتغيير ، Ctrl + F : للبحث .
Ctrl + Z : للتراجع ، أعذروني ما أعرف للتقدم لأني ما أستخذمها أصلاً .
View: هذه القائمة لترى الأشياء كصفحة الأنوافد وصفحة الأوامر ، وستقيدك هذه الصفحة لأسترجاع القوائم الأخرى عندما تغلق بالخطأ أو متعمداً ، ويمكنك الأستفادة منها لاحقاً أيضاً عندما تصبح مبرمج محترف وتحتاج بعض الأدوات منها وليس الآن .
project: هذه الصفحة مهمة لإضافة حوايج لمشروعك الخاص كـ Forms و Class وغيرها ، وفي الأخير يمكتك بوضع مواصفات المشروع.
format: يمكنك هنا تعديل وضع التصميم في الـ Form وإقفاله أيضاً لكي لا يتم تغيير التصميم .
Debug: عملية بحث الأخطاء من هنا ، وفي الحقيقة عمري كله ما فتحت هالقائمة ؟ يمكن تفيدكم ، لما أقتح بأقول ليكم ويش ممكن نستفيد منها .
Run: من هنا يمكنك تشغيل البرنامج لأختباره ويمكنك أيقاف الأختبار كلياً أو مؤقت لإضافة أوامر والرجوع للأختبار ، وأيضاً إعادة الرنامج في الأختبار .
Query: هذه القائمة ليست لنا هنا !؟
Diagram: وهذه القائمة أيضاً لا يمكننا أستخدامها ، لأنها خصصت هي والتي قبلها لقواعد البيانات ولن نستخدمها هنا أبداً .
Tools: هذه القائمة لتحرير القوائم وكتابت الإجرائات وبها خيارات VB نفسه ولن نستخدمه هنا أيضاً ، هذا لا يعني أن لا تعبث بها .
Add-ins: هذه القائمة لإضافة برامج مستقلة عن البرمج لتطوير برامجك .
Window: ألا تعرف فائدتها ؟؟؟ خبل ! روح بس أشان تعرف فايدتها وجرب بنفسك .
Help: لا تقول لي أنك ما تعرف قائمة Help أيضاً ! يمكنك أستخدامها عندما تملك السيدي الثاني .
---------------------------------------------------------------------------------------
بقائمة القوائم المنسدلة ستجد الكثير من الرموز وهي إختصارات للأوامر في هذه القوائم ، جربها .
عند يدك اليسار صفحة مهمة جداً وهي صفحة الأدوات ، ومن أهمها :-
Pointer : في الحقيقة هذه ليست أداة ، بل الحالة الطبيعية للماوس لكي تستطيع مسك الأدوات وتكبيرها يجب أن تكون محددة عادتاً .
Picture : وهي أداة الصورة ، وستتمكن بواسطتها أدخال صور للبرنامج ، وهي تختلف عن image ببعض الخواص ، فهي أقوى وأبطء منها ، وكذلك ممكن تدخل بداخلها الأدوات ويسمى ذلك بالأحتضان ، وتستخدم في البرامج المتطورة كزر ( بس يمبالك ذوق في الألوان لعمل زر كهذا !).
Label : وهو شريط العنوان ، وبواسطه لا يمكن للمستخدم إدخال البيانات بداخله ، ويستفاد منه للتوضيح الأشياء للمستخدمين .
Text : وهو شريط البيانات ، وبواسطه بمكن للمستخدم إذخال البيانت للبرنامج ، وهو مفيد جداً جداً جداً مثل الزر ، مثل ذلك شريط البيانات في الآلة الحاسبة ، أو الشريط بالأسفل عندما تريد وضع ملف بالرسالة في المنتدى موضح بفائدته شريط العنوان ( إرفاق ملف).
Frame : وهو اسم على مسمى فريم ، ووضيفته الأساسية الإحتضان وترتيب البرنامج .
Command box : من منا لا يعرف الزر ؟ الزر هو الزر ! فهمت ؟
Check box : وهو مربع الأختيار ، وفائدته تعيين المستخدم لصفة معينة ، مثلاً عندما تريد فحص القرص الصلب ستجد عدة مربعات أختيارات قبل الفحص ، ويمكنك أختيارها كلها في نفس الصفحة أو بعضها ، وبها صفة فريدة وهي نصف أختيار .
Option box : زر الأختيار ، وفائدته تحديد أحد اللميزات الذي يريدها المستخدم ، مثلاً عندما تريد الترشيح لشيء ما في الإنترنت ، فتنقر على زر الأختير ، وليس مربع الأختيار ، لأن زر الأختيار لا يكن أختيارها كلها في نفس الصفحة !
Combo box : وهي أداة مشابهة لزر الأختيار بنسبة لي ، ولكن في الحقيقة فهي مشابهة كثيرة لأداة List box ، وفائدتها تحديد أحد الخيارات ، ولكن الفرق إنها تحوي عدة خيارات في أداة واحدة ، وقد تتغير ولا تكون ثابتة ، وستجدها عندما تريد الأشتراك في منتدى ، ويسئلونك من أي بلد أنت ؟ فستجد هذه الأداة ، وثانية هي ترتبط بقواعد البيانات بسهولة .
List box : قائمة الأختيارات ، وستعرض لك عدة نصوص وهي فائدتها ، ستعرص لك عدة نصوص !
Hscrool bar , Vscrool bar : وهما شريط التمرير العامودي والأفقي ، ألا تعرف فائدتهما ؟ هما في كل مكان يوجدان محادة الأدوات لكي ترى ما أسفلها و أعلاها .
Timer : المؤقت ، وهي أداة جميلة جداً ، وفائدتها توقيت ، أي تعمل الأوامر بعد مرور وقت محدد ، مثلاً عندما تقف الماوس عدة دقائق وتفتح خلفية وقوف ! .
DriverListBox : مربع الأقراص الصلبة ، وسيعرض لك الأقراص الصلبة التي بجهازك ، وتستخدمها عندما تريد حذف ملف معين أو نسخ ملف معين أو تحديده لقرائته .
DirListBox : مربع المجلدات ، ويمكن أيصاله بمربع الأقراص الصلبة لكي يحدد المجلدات التي بالقرص نفسه .
FileListBox : وهو زميلهما لتحديد الملفات التي بداخل المجلدات ، ويمكن ربطه بقائمة المجلدات ، وعند وضع هذه الأدوات الثلاث سيحدد موقع البرنامج الذي تعمل عليه .
Shape : وهو أدة الشكل ، يمكنك صنع مربع أو دائرة أو مستطيل كشكل ، ما فائدته ؟ لا أعلم بالضبط ! .
Line : وهو زميل الأداة السابقة ، الخط ، وبهما يمكن تصميم برنامج أفضل .
Image : أداة الصورة ، وتكلمت عنها سابقاً .
Data : وهي أداة المستخدمة للوصول لقاعدة البيانات ، وأخشى أني لن أتكلم عنها هنا .
Ole : أداة واسعة جداً ، وفائدتها إدخال البرامج في برنامجك !
إنزين ، لشرح الخرابيط التي على يدك اليمين ممكن تشوفها مقسمة لثلاثة أقسام وهي :-
ستجد بالأعلى على اليمين صفحة مكتوب عليها project - project1 ، هذه النافذة نعرض لك النوافذ وكل الخرابيط التي في مشروعك هذا ، وقد تشمل على أكثر من مشروع وتسمى مجموعة Group ، والمجموعة عبارة عن عدة مشاريع مرتبطة مع بعضها ، على كل حال يمكنك التنقل بين form و class و module في هذه النافذة .
في الوسط ستجد جدول كبير ، وسيكون هنا مكان اللعب بالنسبة لك ، هذا الجدول يبين لك المميزات الأداة المحددة ، مثل عنوانه و اسمها ولونها وحجم خطها ولون الخط وغير ذلك ، يجب تحديد الأداة بالموئشر Pointer لكي ترى مميزاته أولاً ، إذا كنت مهتم بالموضوع سيكون واجبك الآن العبث في هذه المميزات للتعلم على اللغة .
بالأسفل سترى شاشة وبداخلها النافذة للبرنامج ، هذه الشاشة مفيدة جداً ، وهي تريك موقع برنامجك على الشاشة ، أضغط على مميزاتها وأضعط على أول واحد وسيريك الريزلوشن وموقع برنامجك به ، أي لو كان برنامجك كبير على 800 * 600 يمكنك التأكد من ذلك بهذه الصفحة وتزبيط حجمها .
على كل حال ، لو أغلق أحدى هذه النوافذ بالخطأ يمكنك أرجاعها من قائمة View كما قلت سابقاً .
عندما تريد عمل برنامج فإن البرنامج يتكون من عدة أشياء أهمها المشروع .
project : هو المركز الرئيسي الذي يحوي البرنامج ، فهو يحوي على FORMS و Module و Control و Class وغيرها ، كلها تعمل معاً في مشروع واحد ، وعندما تجمع أكثر من مشروع وتربطهما فسوف يربطان في مجموعة Group . لكن ما كل هذه الهدرة !!!!؟ .... أوكي بأشرح شوي شوي .
سأشرح فقط القوالب وهي FORMS .
FORMS : وهي النافذة في البرنامج ، فمثلاً عندما تريد معرفة تفاصيل القرص الصلب وتضغط زر الماوس اليمين وأختيار من القائمة properties سيفتح لك نافذة بها الخواص ، هذه النافذة هي التي تحوي الأدوات الكثيرة مثل الصور ومربع الأختيار و مربع النص وغيره من الأدوات ( وقد شرحت الأدوات مسبقاً ! )
بعد ما أخذنا شرح عن البرنامج سطحياً ، سوف نتعمق قليلاً الآن !
--------------------------------------------------------------------------------------------------------
على كل حال لفتح فيجول بيسك 6 أتبع الخطوات التالية
START>Microsoft Visual Basic 6.0 >Microsoft Visual Basic 6.0
ثم ستظهر لك نافذة جديدة لكي تقوم بعمل مشروع جديد ، أختر المشروع القياسي ، سوف تجد إن النافذة تحوي ثلاث قوائم الأولة لفتح مشروع جديد ، والثاني لفتح مشروع محفوظ مسبقاً ، والثالثة لفتح المشاريع التي فتحت سابقاًً .
حسناً سنبدأ البرمجة ................ بس بأشرح أشياء ما ممكن إن نتخلى عنها ( أوهوهههههه ) :-
الأوامر : الأمر هو وحدة برمجة ! بعبارة أو بأخرى هو البرمجة ، مثلاً عندم تضغط على وزر وتغير لونه فقد حدث أمر ، أي أن تغير اللون أو الحجم أو الخروج من البرنامج كلها أوامر ، على كل حال لفتح صفحة الأوامر يجب وضع أي أداة والضغط عليها مرتين وتظهر لك صفحة الأوامر .
الحدث : الحدث هي طريقة حدوث الأمر ، فهناك الكثير من الأحداث منها المشتركة ومنها الخاصة ، فمثلاً في الزر حدث الضغط ، فعندما تضغط عليه فقد يتغير لونه ، وحدث الكتابة فقد يحدث أمر عندما تكتب في مربع النص ، وحدث الوقت ويحدث عندما يمر الوقت اللازم على المؤقت ويحدث الأوامر .
ولكل أداة حدث قياسي ، أي من الطبيعي عندما تضع الأداة يكون الأستخدام الأفضل له ، مثلاً الزر له حدث الضغط ، والمربع النص له حدث الكتابة عليه ، والمؤقت له حدث الوقت ( قد لا تفهم كل هذه الخرابيط ولكن مع الزمن والمحاولات ثم أرجع أقراءها مجدداً وسفتهم بإدن الله ) . على كل حال هناك فرق بين الأحداث ؛ هناك حدث يحدث في زمن التشغيل وهناك حدث يحدث في زمن البرمجة ( عند دخولك لدايركت أكس بتفهم الخرابيط كلها ..... أنا بأشرحها لك ! لا ... لأني ما أعرف ليها حاولت وما عرفت كيف أصنع أداة ناجحة !؟ )
زمن التصميم وزمن التشغيل: إذا كنت من المبرمجين السابقين فسوف تضحك لأني أوضح هذه النقطة ولكن هناك من لا يعرف هذا ، ومن لا يسأل لا يعرف ! على كل حال ، عندما تبرمج فإن هناك شيء أساسي يجب معرفته وهو زمن التصميم ، وهو الوقت الذي تستخدمه فيه التصميم والبرمجة ، أول ما تفتح مشروع جديد سيكون في زمن التصميم ، وعندما تضغط F5 سيدخلك في زمن الأستخدام .
ما الفرق بينهما ؟ الفرق واضح ( ركز معي ) ، زمن التصميم هو الزمن الذي يستخدمه المبرمج لكي يبرمج البرنامج ويراه كمبرمج فعندها تضع الأدوات وتكتب الأوامر وتصغر وتكبر وتغير أماكن الأدوات ، وزمن الأستخدام لكي ترى البرنامج كمستخدم وتختبر برنامجك لكي يكون خالي من الأخطاء وتعمل عليه .
صفات الأدوات : هذا الموضوع سنفهمه في الدرس القادم أكثر ، لكل أداة صفات وأحداث ، لكي ترى الصفات اللازمة يجب بعد كتابة اسم الأداة كتابة (( . )) لكي ترى صفات الأداة وأختيارها على حسب المطلوب .
المتغيرات : المتغيرات هي عبارة عن صندوق وهمي في البرنامج ، يمكنه حفظ رقم أو نص في داخل البرنامج ولكن لن تراه بعينك ، وقد يحوي قيمة واحدة كما في الأغلب أو إثنتان أو أكثر ، يمكن أستدعاء الرقم أو تغييره ، وللمتغير اسم ، ولكي نضع متغير سأقول لكم فيما بعد .
ملاحظة بسيطة : إن لغة VB6 مختلفة عن VB.net فإذا أرد ت تعلم VB.net فلا يمكنك ذلك هنا ولن تستفيد من تعليمي لك كلياً ، لأن الدروس التي سأقدمهم خاصة إلى VB6 فقط ، قد تعمل على VB5 أو VB4 وحتى نيت لكن الأفضل على VB6 !
حسناً إفتح البرنامج فيجول بيسك 6 من الوصلة التالية ( أو أعمل أختصار لها على سطح المكتب ):
START>Microsoft Visual Basic 6.0 >Microsoft Visual Basic 6.0
أصنع مشروع جديد من نوع قياسي standard ، أضف أي أداة لتكن زر أمر Command botton .
بعض إضافة الزر أضغط عليه مرتان بسرعة ، ستفتحك لك نافذة جديدة وهي نافذة الأوامر Code ،
Code : صفحة بيضاء لن تستعملها إلا في زمن التصمميم ، لكل نافذة أو مديول أو كلاسس له صفحة الأوامر الخاصة به ، فلا تخف من أشتباك الأوامر بهم ، ستجد في الأعلى قائمتين ؛ الأولى التي على يدك اليسار هي قائمة الأدوات ، وبها سوف تجد جميع الأدوات التي توجد بهذه النافذة ، الثانية التي على اليسار هي الأحداث الممكنة للأداة المحددة ! قد يكون الشرح صعب قليلاً لكن سأشرح ذلك لاحقاً .
حسناً ، عند ضغطك المزدوج على زر الأمر كما قلنا سابقاً سوف ترى هذه الصفحة ( Code ) وسوف ترى سطرين جديدين قد أضافهما البرنامج بنفسه أوتماتيكياً وهما :
Private Sub Command1_Click()
End Subهدرة واجد ها !! على كل حال نبدأ رحلتنا الآن :-
Private sub : هذا الأمر لتعريف تعريف الأداة لمجال محدد ، أي لكي تعرف الزر على هذه النافذة بالذات نستخدم هذه العبارة ولن تتعرف عليه أي من النوافذ ، عندما نعرف أداة ما في البرنامج يمكننا من جعل الأوامر تنفذ بواسطة هذه الأداة ( سيتم الشرح الآن بكل ما أقدر علي - الرجاء ذكروني إذا نسيت شيء - ) .
Command1 : هذا هو أسم الأداة ، قد يكون الأسم أي شيء على عدة شروط ومنها :-
1) ألا يبدأ الأسم برقم .
2) ألا يتوسطه رقم .
3) ألا يكون الأسم محجوز مثل ( print , write , open , private )
4) ألا يكون أكثر من 255 حرف ( أعتقد )
مع الملاحظة إنه ممكن تغيير الأسماء من صفة الأسم Name سنتحدث عن ذلك لاحقاً .
_Click : هذا هو الحدث ، والحدث هو طريقة عمل الأمر ، بالعربي كيف ممكن أن يقع الأمر ، لكل أداة عدد محدد من الأحداث ولكل أداة حدث قياسي أي عندما تضع الأداء سيكون الحدث القياسي هو المكتوب .
مثلاً للأحداث : Click : هو حدث الضغط ، عندما تضغط على الأداء سوف يتم تنفيد الأوامر .
مثلاً للأحداث القياسية : الحدث القياسي للزر هو الضغط ، والنافذة هو الفتح ، ومربع النص هو التغيير .
سوف أعرض الأحداث بعد قليل .
End sub : نهاية الأوامر ! قد تستغرب ما فائدتها ولكن فائدتها عظيمة جداً وهي تحصر الأوامر للأداة ، فلو كانت العبارة غير موجودة ( ولنفترض إن البرنامج سيعمل ولن تظهر رسالة خطأ ) فعند ذلك عندما يعمل البرنامج لن يتوقف حتى ينفذ جميع أوامره ، ففائدة هذه العبارة للترتيب .
مع الملاحة إن كل حدث وأداة تنتهي بهذه العبارة وسيفصل بينهما سطر طويل .
() : هذان القوسان سيتم تعريف بعض الأدوات الخاصة عند بعض الأحداث ، وعندما تصبح خبيراً ( أي والله متى ! ) سوف تكتبها بنفسك .
لو تلاحظ إن البرنامج سيترك لك سطر فارغ وسط العبارتين ، هنا سوف تكتب الأوامر ، أصبر أشوي ما بأعطيك أي أمر ألحين بأشرح أول عن أنواع الأحداث :-
هنا الأحداث العامة :
Click: حدث الضغط ، وستنفذ الأوامر عندما تضغط على الأداة .
DblClick : وستنفذ الأوامر عند الضغط المزدوج على الأداة .
DragDrop : عند سحب الأداة وفلتها بواسطة drag سيتم تنفيذ الأمر .
DragOver : أثناء سحب الأداة سيتم تنفيذ الأمر .
GotFocus : عندما ينتقل التركيز بالأداة ( Tab ) سوف ينفذ الأمر .
LostFocus : عندما يفقد التركيز سينفذ الأمر .
KeyDown : عند ضغطك على الكيبورد ( يشتررط أن تكون الأداة مركز عليها ) فهناك ثلاث حالات للتنفيذ ، الأول وهي هذه سينفذ أول ما تضغط على الكيبورد .
KeyPress : أما هذه ستنفذ في حالة الضغط !
KeyUp : أم هذه ستتم عندما ترفع أصبعك عن الزر بالكيبورد .
MouseDown : هذه الأحداث الثلاثة للمواس ، وهذه عندما أول ما تضغط على الماوس .
MouseUp : أم هذه فعندما ترفع يدك عن الماوس .
MouseMove : أما هذه فعندما يمر الماوس على الأداة ستنفذ الأوامر ( يا ساتر ! )
Paint : عند الرسم على الأداة .
Scroll : هذا الحدث عندما تحرك شريط التحريك في بعض الأدوات .
خواص آهرى ( قد تكون مشتركة أو عامة أو خاصة ! ) :-
النافذة :
Load : هذا الحدث عندما أول ما تفتح النافذة .
Unload : هذا الحدث عند إغلاق النافذة .
QueryUnload : الله أعلم ما الفرق بينه وبين السابق !
Activate : هذا الحدث عند تفعيل النافذة ، مثلاً لو كانت هناك نافذتان لبرنامج مفتوحتين ، وأنت تعمل على إحداها سترى إن شريط الإطار الأخرى لونه رمادي ولون التي تعمل عليها زرقاء مما يدل على إن الزرقاء فعالة والرمادية غير فعالة ، فعندما تضغط الماوس على النافذة الرمادية فسوف تفعلها ويتم هذا الحدث .
Deactivate : هذا الحدث عكس سابقه !
Resize : عند إعادة تغير حجم النافذة سوف يتم هذا الحدث .
مربع النص :-Change : وهو الحدث القياسي ، ويتم عند تغير قيمة مربع النص .
Validate : أسئلوا الخبراء ! ما عرفت فايدتها !؟؟؟ ( ويش فايدتك عيد يا الحرية !؟ )
المؤقت :
Timer : وهو الحدث الوحيد والقياسي لهذه الأداة ، ويحدث عند مرور الوقت .
حسناً هذه معظم الأحداث التي أعرفها ، سوف أعلمكم فيما بعد عن صفات الأدوات ويجب التفريق بين الحدث والصفة إذا كنت بتأخذ كل هذه الدروس بدفعة واحدة.
ألحين بأنتقل من شرح الأحداث إلى شرح صفات الأدوات ، قد أكون أنا أحتاج لدرس في ذلك ولكن بأعطيكم الي أعرفه !
عند فتح مشروع جديد ووضع أي أداة على النافذة وتركز عليها ( تحددها ) ستظهر لك خصائصها في جهة اليمين في البرنامج ، قد ترتبها أبجدياً (alphabetic) أو ترتبها على حسب مكانها (categorized) وهو الأفضل .
المميزات العامة ( معظم هذه المميزات تكون في جميع الأدوات ) :Appearance : لجعل الأداة ثلاثية أبعاد أو مسطحة .
BackColor : لتحديد لون خلفية الأداة .
FillColor : لتحديد لون الخطوط الإضافية المرسومة على النافذة أو الأشكال .
FillStyle : لتحديد نوع الخطوط الإضافية .
ForeColor : لتحديد لون الإطار .
MaskColor : لتحديد لون القناع ، وهو لون إذا حددته يكون خفي ( شفاف ) ويظهر بداله لون الخلفية .
UseMaskColor : لتحدي إذا كنت ستسخدم لون القناع أم لا .
Caption : لتحديد الأسم الظاهري على الأداة الذي يراه المستخدم .
Picture : لوضع صورة للأداة .
DisabledPicture : لعرض صورة للأداة عندما تكون مقفلة ( غير قابلة للاستخدام ) .
DownPicture : لعرض صورة عند الضغط على الأداة .
Default : لجعل الأداة هي المركزة دائماً عند أول ما يعمل البرنامج .
DragIcon : لجعل رمز عندما تسحب الأداة .
DragMode : لجعل الأداة قابلة للسحب .
Enabled : لجعل الأداة قابلة للإستخدام أم لا .
Visable : لجعل الأداة مرئية أم لا .
RightToLeft : لجعل الأداة من يمين إلى اليسار أم لا ( للغة العربية )
TapIndex : عندما تسختدم Tab فسوف ينتقل التركيز من أداة إلى آخرى ، وهذه الخاصية تحدد ترتيب الأدوات أيهم أحق للأنتقال التركيز لها ، فترتبها 1 ، 2 ، 3 ، 4 ، 5 .... .
TapStop : لتجعل الأداة لا ينتقل لها الركيز بأستخدام Tab .
Name : لوضع اسم للأداة ، وبهذه الطريقة يمكننا التعامل معها برمجياً باسمها .
Index : عندما تريد أن تكون هناك أكثر من أداة بنفس الاسم يجب إستخدام Index وهذه تفيدنا كثيراً ، لن أشرح كثيراً الآن في هذا الموضوع .
Font : لتغير الخط على الأداة .
MousePointer : لتحديد رمز للماوس عند تمريره على الأداة ، وعند وضعه 99-custome سيمكنك من وضع الرمز الذي تريده .
MouseIcon : وضع رمز للأداة إذا كانت الصفة التي قبلها = 99 .
ToolTipText : عندما توقف مؤشر الماوس على أداة سيظهر لك مربع أصفر وسيظهر عليه تعليمات عنه ، هنا يمكنك كتابة هذه التعليمات لأدواتك .
Tag : هنا يمكنك وضع لافتة مميزة للأداة . ( سأشرح عنها في وقتها ) .
Height : طول الأداة .
Width : عرض الأداة .
Top : موقع الأداة على محور الصاد ( لكنه معكوس ! في الأعلى سالب والأسفل موجب ) .
Left : موقع الأداة في محور السينات .
ملاحظة بسيطة : مع العلم إن مركز الأشياء هو وسطها في عالمنا ولكن في عالم فيجول بيسك يكون مركز الأدوات هو في زاوية اليسار بالأعلى !
AutoSize : جعل الأداة تأخذ الحجم المناسب للصورة .
Alignment : وضع جهة للأداة ، مثلاً للمربع العنوان سيكون إما من يمين أو يسار أو وسط .
حسناً دعني أرى بعض مميزات المهمة لبعض الأداوت :-
النافذة :-
BorderStyle : تحديد شكل أو نمط السطح ، هنا يمكنك جعل النافذة غير قابلة للتغير في المساحة أو إنها لا تصغر وتكبر ، جربها بنفسك .
ControlBox : لجعل النافذة تحوي أزرار التحكم بالزاوية ( الأكس والمربع والشخطه للإقفال والتكبير والتصغير ) أم لا .
MaxButton , MinButton : لتحديد إذا كانت النافذة تستطيع تكبيرها أو تصغيرها أم لا .
Moveable : لتحديد إذا كان من الممكن تحريك النافذة أم لا .
WindowState : لمعرفة نوع النافذة عند الفتح هل هي مكبرة أم مصغرة أم عادية .
StartUpPostion : لتحديد موقع النافذة للبرنامج أو ما تفتح ، هل يكون عادي في الزاوية فوق يسار ، أو في وسط الشاشة أو وسط البرنامج . وقد تختار Windows defult لكي تجعله مثل طريقة الويندو في فتح النوافد.
الزر :-
Style : هذه الميزة لجعل الأداة قابلة للألوان والصور أم تكون قياسية بنفس شكلها !
مربع النص :-
ScrollBars : لجعل مربع النص يحوي أشرطة تمرير أفقية أو عمودية أو كلهما .
Text : إن مربع النص لا يحوي على Caption لكنه يحوي على Text وهذه الصفة المكتوب على مربع النص .
MultiLine : لتحديد إذا كان مربع النص قابل لتكوين عدة أسطر مفردة أم لا .( مثل الليست )
Loced : لجعل مربع النص مقفل لا يكتب فيه .
MaxLength : لجعل مربع النص محدود لا يمكنه كتابة أكثر من المحدد ( أجعله صفر ليكون حر ) .
مربع الخيار و زر الخيار :-
Value : لجعل لها قيمة أم لا أو نصف ونصف .
ComboBox و ListBox :-
list : هنا يحفظ الخيارات .
المؤقت :-
Enable : لجعل المؤقت يعمل أم لا .
Interval : تحديد تسارع المؤقت ، كل 1000 عن ثانية واحدة ، لو تريد المؤقت ينفذ عمله كل 5 ثواني فسوف تكتب في هذا المربع 5000 .
وإذا كنت تسأل عن صفة data التي موجودة في كل أداة تقريباً فهي لوصل الأدوات لقاعدة البيانات ، أنا عرفت ليها أشوي بس ما أقدر شرحها ألحين أو بعدين لأني ما عندي خبرة كافية في قواعد البيانات !
على كل حال بنبدأ بتطبيق أول برمجة لينا ، بسم الله .
البرمجة بسيطة جداً ، بأعطيك مثال بسيط ألحين ، أولاً شغل الفيجول بيسك ألحين ، شغلته ! زين ضيف زر على النافذة ، أضف مربع نص بعد ( textbox ) ، ألحين إضغط مرتين على الزر لفتح قائمة Code ، ألحين أكتب في الزر التالي :-
Private Sub Command1_Click()
Text1.Text = 1
End Sub
ما تكتب كل هذا ! بس أكتب السطر الوسطي بينهم ، أنا كتبت كل العبارة للمقارنة بينهم بعدين ،
ماذا يحدث لو ضغط على الزر ، ألحين شغل وضع التشغيل ! ما تعرف ؟؟؟؟
لتشغيل وضع التشغيل إضغط على رمز التشغيل في الأعلى شكل مثلث أزرق ، أو شغلها من قائمة Run ، والأبسط على الإطلاق إضغط F5 على الكيبورد !
وضع التشغيل : هو الوضع الذي يراه المستخدم للبرنامج .
ألحين إنت مستخدم ، إضغط على الزر .... ويش صار ! بتشوف إن مربع النص صار مكتوب بداخله (( 1 )) ، ألحي ويش ما تكتب وتضغط الزر بيصر 1 من جديد ، ما معنى هذا الأمر !؟
تذكر الصفات التي عطيتك أياه فوق ! حسناً ... في البرمجة أكتب أسم أي أداة ( البني ) مثل text1 ثم ضع نقطة ( . ) بهذه الطريقة سيعرض لك VB صفات الأداة المكتوبة ( على شرط أن تكون الأداة موجودة ) بعدا ذالك يمكنك كتابة الصفة ( الخضراء ) التي تريدها أو تختارها بنفسك من القائمة التي ستظهر .
لكل شيء قيمة ، فعندما كتبت :
text1.text = 1
فإنك حولتها قيمة النص التي على مربع النص إلى 1 !!! لو أردت تحويله لقيمة نصية يجب وضع القيمة بين "" مثلا "السلام" أو أي شيء حتى لو وضعت رقم لكان ممكناً ( ولكن لن يجمعه أو يطرحه ) .
أنا قلت إن كل شيء له قيمة ... فهل ممكن أن نساوي قيمة بقيمة !؟ ........... ليش لا !؟
مثلاُ أكتب التالي في زر الأمر بدال الأمر السابق !
command1.Caption = text1.Text
ماذا تلاحظ !!!! سوف يجعل قيمة الأسم الظاهري في زر الأمر هي نفسها القيمة نص مربع النص ...
هنا تكمن حلاوة البرمجة ! يمكنك صنع أشياء جميلة ورائعة بها بأوامر بسيطة !!!
خسناً ما رئيكم أن نأخذ إستراحة ، أريدكم الآن أيها المبتدئين ( لا أقصد الإهانة ولكن أقصد من أراد التعلم من الصفر ) أن تعملوا التالي كواجب منزلي !
الواجب :
عمل زر يجعل نص مربع النص يساوي أرتفاع الزر ! وبالعكس ! ( بس إذا كان النص لا يساوي رقم يظهر خطأ )
عمل نص يساوي نص آخر
عمل نافذة يتغير عنوانها من مربع النص
شباب نصائح قبل أخذ الدرس ، إذا كنت مبتداً أول مرة تبرمج من 1 - 10 فخذ هذه النصائح رجائة ، أما إذا لم تكن كذلك فإذنا goto 10: !؟؟؟
8- التنظيم والوصول للهدف : هل تريد صنع برنامج !؟ حسناً أولاً حدد ما هي المخرجات ! أي ما هو الشيء المطلوب من البرنامج إخراجه ، ثانياً المدخلات : ما هو الشيء الذي يدخله المستخدم ، ثالثاً البرمجة : ما هي الطريقة الأمثل لبرمجة هذه الأوامر .
2- الصبر : الصبر هو أهم عنصر في البرمجة وهناك عدة أنواع ، أهمها : الصبر على الأخطاء : وهو الصبر الأساسي هنا أن تصبر على الأخطاء التي تطلع لك وتغثك التي تخليك تربط الشاشة ( وهي موصلة بالكمبيوتر والكمبيوتر موصل بكل شيء ! ) تربط الشاشة بالسيارة وتفحط بها في الخامسة !
الصبر على كتابة الأمر : فعندما تخطر لك فكرة في كتابة الأمر لا تكتبه مباشرةً بل تمهل قليلاً وأنظر أليه هل به أخطاء هل هو مكتمل هل هناك طريقة أفضل ، الصبر على البرنامج : عندما يكون البرنامج معقد وطويل يجب أن تصبر عليه وتعزم على إنهائه مهما كان طوله .
3- تكوين مجلد خاص : عندما تبرمج أجعل لك مجلد خاص لتجاربك كانت ناجحة أم فاشلة ، لماذا ! لأن الناجحة قد ترجع لها فيما بعد ، أما الفاشلة فقد تحاول مرة آخرى عندما تكتسب المزيد خبرة .
4- عندما تحصل على أمر جديد أو طريقة جديدة فكر بعدة أفكار بطريقة تستفيد منها وأصنع عدة برامج بها لكي لا تنسى الطريقة .
5- جد من يشجعك على برامجك ، وذلك سيعطيك عزم أكثر للتعلم ، مثلاً لو لم يكن لديك من يشجعك على برامجك ( زي بعض الناس ! ) ما بيزيد عزمك على عمل أي برنامج وقد تنقطع نفسك عن أكماله .
6- العزم ، لا تدع أي برنامج غير مكتمل ، أكمل جميع برامجك لكي تكون دليلاً على تعلمك .
7- تعرف على مصدرجيد للمعلومات مثل هذا الموقع .
8- لا تندفع كثيراً ! ، حاول التعلم بإنتظام يعني لا تناطط في كل مجال بدون ما تتقن المجال السابق ، فلغة فيجول بيسك كبيرة جداً في مجالاتها ، فلا تنتقل من مجال لم تتعلم فيه الكثير لفتح مجال جديد للتفكير ، لأن كل مجال تتعلمه يمكنك مزاوجته في مجال آخر ، فحاول الإتقان قبل الأنتقال .
10 :كمل المشوار معانا
أعطيكم بعض الأوامر التي لا يجب أن تنسى .
لو عندك أكثر من form ( على فكرة هل تعرف كيف تضيف فورم !؟ ) ... حسناً لإضافة فورم سوف ترى عدة رموز على شريط الأدوات ، قاني رمز أسمه add form إضغط عليه وسوف يعرض عليك عدة أنواع إضغط على form وسيضيف لك واحداً ، أو هناك طريقة آخرى : إضغط في شريط الأدوات على project وإضغط على add form ، وهناك طريقة آخرى ، هل ترى النافذة التي يعرض عليه مشروعك على اليسار ، إضغط على زر الماوس اليمين ثم إختر add ثم form .... هل هناك طرق آخرى !؟ أعتقد نكتفي بذلك .
ويش كان الموضوع ! ! أو صح ! إذا كان عندك أكثر من فورم ولما تشغل البرنامج بتشوف البرنامج يفتح أول فورم فقط ! لفتح الفورم الثاني ضع زر أمر في النافذة الأولة وأكتب هذا الأمر .
Form2.show
وبهذه الطريقة تفتح النافذة التالي ، لو أردت إغلاقها أكتب الأمر التالي .
unload form2
قد تكون أي اسم غير form2 لأن الاسم يمكنك تغيره بصفة name ، بعض الشباب يقفل النافذة بطريقة خاطئة مثل .
form1.visible = false
أو
form1.hide
هذه الطرق خاطئة لأنها تخفي النافذة ولكنها لا تغلق للنظام وتضل تعمل حتى إطفاء الكمبيوتر .
حسناً لإغلاق البرنامج أو المشروع تماماً أكتب :
End
فقط !؟ نعم فقط ستغلق كل البرنامج .
قد تتكلم الأداة عن نفسها ، مثلاً عندما تضع أمر في أداة في نافذة معينة كهذا :
unload me
فإنه سيغلق النافذة نفسها التي تنفذ بها الأمر ( كل أمر تضع فيه me قد يكون الهدف هو النافذة ).
هناك شيء آخر ، لقد تكلمت عن الصفات من قبل لكن لم أضع مثال واضح عليها ، جرب هذه الأوامر كل منها على حدا في أزرار خمسة الأول للتجارب والبقية كل منها له أمر من هذه الأوامر :
Command1.Visible = True
Command1.Visible = False
Command1.Enabled = True
Command1.Enabled = False
الأمر الأول يطلب أن تكون مرئية الزر الأول صحيحة والثاني غير صحيحة .
الأمر الثالث يطلب بتشغيل عمل الزر الأول والرابع يطلب بتعطيل عمل الزر الأول .
إن كلمتي false و True تستخدم كثيراً وهما :
True: لقول إن هذه الصفة صحية ، أو صح الشرط كما سنرى في الدرس القادم .
False : لفول إن الصفة المعنية خاطئة ، أو إن الشرط لم ينفذ كما سنرى في الدرس القادم .
هل تريد وضع تعليق في برنامجك ! لما تمبرج وتريد وضع تعليق على البرنامج يمكنك كتابة ' أو rem قبل وضع التعليق ، مثلاً :-
' ok ... this is it !
rem هذا التعليق مش عذل !
ويكون لون التعليق أخضر ، ولون بعض الثوابت أزرق ، ولن الأخطاء أحمر !
بعض المبرمجين يفضل التعليق في البرامج لأن برامجك عندما ترسلها ما ممكن فهم مباشرتاً ما الذي تفعله ، والبعض الآخر يجعلها من الضروريات بحيث لا برنامج إلا بتعليق !؟
حسناً ، هل تريد التأكد من صحة البرنامج ! حسناً إفتح صفحة code وركز معي ! هل ترى شريط تمرير على يمين الصفحة ! حسناً هل ترى جهة اليسرى من الصفحة يوجد شريط رصاصي اللون ، عند أي أمر كتبته إضغط على هذا الشريط بجانب أحد الأوامر ، سترى نقطة حمراء ! هذه النقطة تعني عندم تشغل الآن البرنامج ويمر على هذا الأمر سيتوقف البرنامج مؤقتاً لترى ماذا سيفعل الأمر تحديداً ، ضع الماوس لترى قيم المتغيرات .
هذه الحركة للتأكد من سلامة البرنامج يدوياً .
حسناً هناك عدة أنواع من الأخطاء التي يغفك فيه فيجول بيسك ومنها :
SyntaxError : هذا الخطأ إملائي ، صح إلسانك !
overflow : وهو خطأ عندما تحمل أداة فوق قيمته ، كأن عندك سيارة وتحط فيها فيل ! ما بيرضا البرنامج أكيد !
logicalError : هذا الخطأ إذا كان ترتيب الأمر غير مطابق للمطلوب ( أعتقد ) ، ويحدث بسبب المبرمج إذا أراد أمر لا ينفذ ما يريده ( روح دور طريقة ثانية بمعنى الأصح ! ).
RunTimeError : وهو أسوء أنواع الأخطاء ، خطأ وقت التشغيل ، لا تخاف الخطأ مو منك هذه المرة ، هذا الخطأ لا يحدث بسبب خطأ في البرمجة ، بل يحدث بسبب أمر معين أثناء التشغيل ، مثلاً عندما يريد تحميل البرنامج صورة معينة أو فتح ملف معين ولا يجده .
بعمل المشروع يطبق للمستخدمين إذهب للقائمة file ملف وإضغط على : make project1.exe ، وبهذه الطريقة يمكنك توزيع برامجك الصغيرة لزملائك .
وأخيراً ، عندما تكتب بعض الأوامر التي تحتاج لجملة النهاية مثل end if أو end select رجاءً لا تنساها بعد ما تخلص
بس ما بأشرح كل شيء ، لازم أنت تداور شوي.
ستجد بالأعلى قوائم منسدلة والكثير من الأيقونات وهي :
File : وهي قائمة لوضع مشاريع جديدة وحغظها وفتحها ، وبمكنك تحوبل مشروعك إلى برنامج exe وهذا شيء مهم جداُ لإرسال برامجك للمنتدى والبريد ولأصدقائك على الأقراص ، ويمكنك فتح المشاريع الأخيرة التي كنت تعمل بها هنا .
Edit: من هذه القائمة يمكنك التراجع والتقدم في الخطوات ، ويمكنك النسخ واللصق الأدوات وحدفها أيضاً ، ويمكتك تحديد جميع الأدوات التي في Form ، ويمكنك البحث في الأوامر ووضع نقاط مرجعبة للرجوع لها ، على كل حال يمكنك الأستغناء عن هذه القائمة وذلك بالضغط على الكيبورد .... ألا تعرف كيف ؟ حسناً يمكنني مساعدتك :
Ctrl + C : للنسخ ، Ctrl + X : للقص ، Ctrl + V : للصق ،
وهذه للأوامر ==> Ctrl + H : للبحث والتغيير ، Ctrl + F : للبحث .
Ctrl + Z : للتراجع ، أعذروني ما أعرف للتقدم لأني ما أستخذمها أصلاً .
View: هذه القائمة لترى الأشياء كصفحة الأنوافد وصفحة الأوامر ، وستقيدك هذه الصفحة لأسترجاع القوائم الأخرى عندما تغلق بالخطأ أو متعمداً ، ويمكنك الأستفادة منها لاحقاً أيضاً عندما تصبح مبرمج محترف وتحتاج بعض الأدوات منها وليس الآن .
project: هذه الصفحة مهمة لإضافة حوايج لمشروعك الخاص كـ Forms و Class وغيرها ، وفي الأخير يمكتك بوضع مواصفات المشروع.
format: يمكنك هنا تعديل وضع التصميم في الـ Form وإقفاله أيضاً لكي لا يتم تغيير التصميم .
Debug: عملية بحث الأخطاء من هنا ، وفي الحقيقة عمري كله ما فتحت هالقائمة ؟ يمكن تفيدكم ، لما أقتح بأقول ليكم ويش ممكن نستفيد منها .
Run: من هنا يمكنك تشغيل البرنامج لأختباره ويمكنك أيقاف الأختبار كلياً أو مؤقت لإضافة أوامر والرجوع للأختبار ، وأيضاً إعادة الرنامج في الأختبار .
Query: هذه القائمة ليست لنا هنا !؟
Diagram: وهذه القائمة أيضاً لا يمكننا أستخدامها ، لأنها خصصت هي والتي قبلها لقواعد البيانات ولن نستخدمها هنا أبداً .
Tools: هذه القائمة لتحرير القوائم وكتابت الإجرائات وبها خيارات VB نفسه ولن نستخدمه هنا أيضاً ، هذا لا يعني أن لا تعبث بها .
Add-ins: هذه القائمة لإضافة برامج مستقلة عن البرمج لتطوير برامجك .
Window: ألا تعرف فائدتها ؟؟؟ خبل ! روح بس أشان تعرف فايدتها وجرب بنفسك .
Help: لا تقول لي أنك ما تعرف قائمة Help أيضاً ! يمكنك أستخدامها عندما تملك السيدي الثاني .
---------------------------------------------------------------------------------------
بقائمة القوائم المنسدلة ستجد الكثير من الرموز وهي إختصارات للأوامر في هذه القوائم ، جربها .
عند يدك اليسار صفحة مهمة جداً وهي صفحة الأدوات ، ومن أهمها :-
Pointer : في الحقيقة هذه ليست أداة ، بل الحالة الطبيعية للماوس لكي تستطيع مسك الأدوات وتكبيرها يجب أن تكون محددة عادتاً .
Picture : وهي أداة الصورة ، وستتمكن بواسطتها أدخال صور للبرنامج ، وهي تختلف عن image ببعض الخواص ، فهي أقوى وأبطء منها ، وكذلك ممكن تدخل بداخلها الأدوات ويسمى ذلك بالأحتضان ، وتستخدم في البرامج المتطورة كزر ( بس يمبالك ذوق في الألوان لعمل زر كهذا !).
Label : وهو شريط العنوان ، وبواسطه لا يمكن للمستخدم إدخال البيانات بداخله ، ويستفاد منه للتوضيح الأشياء للمستخدمين .
Text : وهو شريط البيانات ، وبواسطه بمكن للمستخدم إذخال البيانت للبرنامج ، وهو مفيد جداً جداً جداً مثل الزر ، مثل ذلك شريط البيانات في الآلة الحاسبة ، أو الشريط بالأسفل عندما تريد وضع ملف بالرسالة في المنتدى موضح بفائدته شريط العنوان ( إرفاق ملف).
Frame : وهو اسم على مسمى فريم ، ووضيفته الأساسية الإحتضان وترتيب البرنامج .
Command box : من منا لا يعرف الزر ؟ الزر هو الزر ! فهمت ؟
Check box : وهو مربع الأختيار ، وفائدته تعيين المستخدم لصفة معينة ، مثلاً عندما تريد فحص القرص الصلب ستجد عدة مربعات أختيارات قبل الفحص ، ويمكنك أختيارها كلها في نفس الصفحة أو بعضها ، وبها صفة فريدة وهي نصف أختيار .
Option box : زر الأختيار ، وفائدته تحديد أحد اللميزات الذي يريدها المستخدم ، مثلاً عندما تريد الترشيح لشيء ما في الإنترنت ، فتنقر على زر الأختير ، وليس مربع الأختيار ، لأن زر الأختيار لا يكن أختيارها كلها في نفس الصفحة !
Combo box : وهي أداة مشابهة لزر الأختيار بنسبة لي ، ولكن في الحقيقة فهي مشابهة كثيرة لأداة List box ، وفائدتها تحديد أحد الخيارات ، ولكن الفرق إنها تحوي عدة خيارات في أداة واحدة ، وقد تتغير ولا تكون ثابتة ، وستجدها عندما تريد الأشتراك في منتدى ، ويسئلونك من أي بلد أنت ؟ فستجد هذه الأداة ، وثانية هي ترتبط بقواعد البيانات بسهولة .
List box : قائمة الأختيارات ، وستعرض لك عدة نصوص وهي فائدتها ، ستعرص لك عدة نصوص !
Hscrool bar , Vscrool bar : وهما شريط التمرير العامودي والأفقي ، ألا تعرف فائدتهما ؟ هما في كل مكان يوجدان محادة الأدوات لكي ترى ما أسفلها و أعلاها .
Timer : المؤقت ، وهي أداة جميلة جداً ، وفائدتها توقيت ، أي تعمل الأوامر بعد مرور وقت محدد ، مثلاً عندما تقف الماوس عدة دقائق وتفتح خلفية وقوف ! .
DriverListBox : مربع الأقراص الصلبة ، وسيعرض لك الأقراص الصلبة التي بجهازك ، وتستخدمها عندما تريد حذف ملف معين أو نسخ ملف معين أو تحديده لقرائته .
DirListBox : مربع المجلدات ، ويمكن أيصاله بمربع الأقراص الصلبة لكي يحدد المجلدات التي بالقرص نفسه .
FileListBox : وهو زميلهما لتحديد الملفات التي بداخل المجلدات ، ويمكن ربطه بقائمة المجلدات ، وعند وضع هذه الأدوات الثلاث سيحدد موقع البرنامج الذي تعمل عليه .
Shape : وهو أدة الشكل ، يمكنك صنع مربع أو دائرة أو مستطيل كشكل ، ما فائدته ؟ لا أعلم بالضبط ! .
Line : وهو زميل الأداة السابقة ، الخط ، وبهما يمكن تصميم برنامج أفضل .
Image : أداة الصورة ، وتكلمت عنها سابقاً .
Data : وهي أداة المستخدمة للوصول لقاعدة البيانات ، وأخشى أني لن أتكلم عنها هنا .
Ole : أداة واسعة جداً ، وفائدتها إدخال البرامج في برنامجك !
إنزين ، لشرح الخرابيط التي على يدك اليمين ممكن تشوفها مقسمة لثلاثة أقسام وهي :-
ستجد بالأعلى على اليمين صفحة مكتوب عليها project - project1 ، هذه النافذة نعرض لك النوافذ وكل الخرابيط التي في مشروعك هذا ، وقد تشمل على أكثر من مشروع وتسمى مجموعة Group ، والمجموعة عبارة عن عدة مشاريع مرتبطة مع بعضها ، على كل حال يمكنك التنقل بين form و class و module في هذه النافذة .
في الوسط ستجد جدول كبير ، وسيكون هنا مكان اللعب بالنسبة لك ، هذا الجدول يبين لك المميزات الأداة المحددة ، مثل عنوانه و اسمها ولونها وحجم خطها ولون الخط وغير ذلك ، يجب تحديد الأداة بالموئشر Pointer لكي ترى مميزاته أولاً ، إذا كنت مهتم بالموضوع سيكون واجبك الآن العبث في هذه المميزات للتعلم على اللغة .
بالأسفل سترى شاشة وبداخلها النافذة للبرنامج ، هذه الشاشة مفيدة جداً ، وهي تريك موقع برنامجك على الشاشة ، أضغط على مميزاتها وأضعط على أول واحد وسيريك الريزلوشن وموقع برنامجك به ، أي لو كان برنامجك كبير على 800 * 600 يمكنك التأكد من ذلك بهذه الصفحة وتزبيط حجمها .
على كل حال ، لو أغلق أحدى هذه النوافذ بالخطأ يمكنك أرجاعها من قائمة View كما قلت سابقاً .
عندما تريد عمل برنامج فإن البرنامج يتكون من عدة أشياء أهمها المشروع .
project : هو المركز الرئيسي الذي يحوي البرنامج ، فهو يحوي على FORMS و Module و Control و Class وغيرها ، كلها تعمل معاً في مشروع واحد ، وعندما تجمع أكثر من مشروع وتربطهما فسوف يربطان في مجموعة Group . لكن ما كل هذه الهدرة !!!!؟ .... أوكي بأشرح شوي شوي .
سأشرح فقط القوالب وهي FORMS .
FORMS : وهي النافذة في البرنامج ، فمثلاً عندما تريد معرفة تفاصيل القرص الصلب وتضغط زر الماوس اليمين وأختيار من القائمة properties سيفتح لك نافذة بها الخواص ، هذه النافذة هي التي تحوي الأدوات الكثيرة مثل الصور ومربع الأختيار و مربع النص وغيره من الأدوات ( وقد شرحت الأدوات مسبقاً ! )
بعد ما أخذنا شرح عن البرنامج سطحياً ، سوف نتعمق قليلاً الآن !
--------------------------------------------------------------------------------------------------------
على كل حال لفتح فيجول بيسك 6 أتبع الخطوات التالية
START>Microsoft Visual Basic 6.0 >Microsoft Visual Basic 6.0
ثم ستظهر لك نافذة جديدة لكي تقوم بعمل مشروع جديد ، أختر المشروع القياسي ، سوف تجد إن النافذة تحوي ثلاث قوائم الأولة لفتح مشروع جديد ، والثاني لفتح مشروع محفوظ مسبقاً ، والثالثة لفتح المشاريع التي فتحت سابقاًً .
حسناً سنبدأ البرمجة ................ بس بأشرح أشياء ما ممكن إن نتخلى عنها ( أوهوهههههه ) :-
الأوامر : الأمر هو وحدة برمجة ! بعبارة أو بأخرى هو البرمجة ، مثلاً عندم تضغط على وزر وتغير لونه فقد حدث أمر ، أي أن تغير اللون أو الحجم أو الخروج من البرنامج كلها أوامر ، على كل حال لفتح صفحة الأوامر يجب وضع أي أداة والضغط عليها مرتين وتظهر لك صفحة الأوامر .
الحدث : الحدث هي طريقة حدوث الأمر ، فهناك الكثير من الأحداث منها المشتركة ومنها الخاصة ، فمثلاً في الزر حدث الضغط ، فعندما تضغط عليه فقد يتغير لونه ، وحدث الكتابة فقد يحدث أمر عندما تكتب في مربع النص ، وحدث الوقت ويحدث عندما يمر الوقت اللازم على المؤقت ويحدث الأوامر .
ولكل أداة حدث قياسي ، أي من الطبيعي عندما تضع الأداة يكون الأستخدام الأفضل له ، مثلاً الزر له حدث الضغط ، والمربع النص له حدث الكتابة عليه ، والمؤقت له حدث الوقت ( قد لا تفهم كل هذه الخرابيط ولكن مع الزمن والمحاولات ثم أرجع أقراءها مجدداً وسفتهم بإدن الله ) . على كل حال هناك فرق بين الأحداث ؛ هناك حدث يحدث في زمن التشغيل وهناك حدث يحدث في زمن البرمجة ( عند دخولك لدايركت أكس بتفهم الخرابيط كلها ..... أنا بأشرحها لك ! لا ... لأني ما أعرف ليها حاولت وما عرفت كيف أصنع أداة ناجحة !؟ )
زمن التصميم وزمن التشغيل: إذا كنت من المبرمجين السابقين فسوف تضحك لأني أوضح هذه النقطة ولكن هناك من لا يعرف هذا ، ومن لا يسأل لا يعرف ! على كل حال ، عندما تبرمج فإن هناك شيء أساسي يجب معرفته وهو زمن التصميم ، وهو الوقت الذي تستخدمه فيه التصميم والبرمجة ، أول ما تفتح مشروع جديد سيكون في زمن التصميم ، وعندما تضغط F5 سيدخلك في زمن الأستخدام .
ما الفرق بينهما ؟ الفرق واضح ( ركز معي ) ، زمن التصميم هو الزمن الذي يستخدمه المبرمج لكي يبرمج البرنامج ويراه كمبرمج فعندها تضع الأدوات وتكتب الأوامر وتصغر وتكبر وتغير أماكن الأدوات ، وزمن الأستخدام لكي ترى البرنامج كمستخدم وتختبر برنامجك لكي يكون خالي من الأخطاء وتعمل عليه .
صفات الأدوات : هذا الموضوع سنفهمه في الدرس القادم أكثر ، لكل أداة صفات وأحداث ، لكي ترى الصفات اللازمة يجب بعد كتابة اسم الأداة كتابة (( . )) لكي ترى صفات الأداة وأختيارها على حسب المطلوب .
المتغيرات : المتغيرات هي عبارة عن صندوق وهمي في البرنامج ، يمكنه حفظ رقم أو نص في داخل البرنامج ولكن لن تراه بعينك ، وقد يحوي قيمة واحدة كما في الأغلب أو إثنتان أو أكثر ، يمكن أستدعاء الرقم أو تغييره ، وللمتغير اسم ، ولكي نضع متغير سأقول لكم فيما بعد .
ملاحظة بسيطة : إن لغة VB6 مختلفة عن VB.net فإذا أرد ت تعلم VB.net فلا يمكنك ذلك هنا ولن تستفيد من تعليمي لك كلياً ، لأن الدروس التي سأقدمهم خاصة إلى VB6 فقط ، قد تعمل على VB5 أو VB4 وحتى نيت لكن الأفضل على VB6 !
حسناً إفتح البرنامج فيجول بيسك 6 من الوصلة التالية ( أو أعمل أختصار لها على سطح المكتب ):
START>Microsoft Visual Basic 6.0 >Microsoft Visual Basic 6.0
أصنع مشروع جديد من نوع قياسي standard ، أضف أي أداة لتكن زر أمر Command botton .
بعض إضافة الزر أضغط عليه مرتان بسرعة ، ستفتحك لك نافذة جديدة وهي نافذة الأوامر Code ،
Code : صفحة بيضاء لن تستعملها إلا في زمن التصمميم ، لكل نافذة أو مديول أو كلاسس له صفحة الأوامر الخاصة به ، فلا تخف من أشتباك الأوامر بهم ، ستجد في الأعلى قائمتين ؛ الأولى التي على يدك اليسار هي قائمة الأدوات ، وبها سوف تجد جميع الأدوات التي توجد بهذه النافذة ، الثانية التي على اليسار هي الأحداث الممكنة للأداة المحددة ! قد يكون الشرح صعب قليلاً لكن سأشرح ذلك لاحقاً .
حسناً ، عند ضغطك المزدوج على زر الأمر كما قلنا سابقاً سوف ترى هذه الصفحة ( Code ) وسوف ترى سطرين جديدين قد أضافهما البرنامج بنفسه أوتماتيكياً وهما :
Private Sub Command1_Click()
End Subهدرة واجد ها !! على كل حال نبدأ رحلتنا الآن :-
Private sub : هذا الأمر لتعريف تعريف الأداة لمجال محدد ، أي لكي تعرف الزر على هذه النافذة بالذات نستخدم هذه العبارة ولن تتعرف عليه أي من النوافذ ، عندما نعرف أداة ما في البرنامج يمكننا من جعل الأوامر تنفذ بواسطة هذه الأداة ( سيتم الشرح الآن بكل ما أقدر علي - الرجاء ذكروني إذا نسيت شيء - ) .
Command1 : هذا هو أسم الأداة ، قد يكون الأسم أي شيء على عدة شروط ومنها :-
1) ألا يبدأ الأسم برقم .
2) ألا يتوسطه رقم .
3) ألا يكون الأسم محجوز مثل ( print , write , open , private )
4) ألا يكون أكثر من 255 حرف ( أعتقد )
مع الملاحظة إنه ممكن تغيير الأسماء من صفة الأسم Name سنتحدث عن ذلك لاحقاً .
_Click : هذا هو الحدث ، والحدث هو طريقة عمل الأمر ، بالعربي كيف ممكن أن يقع الأمر ، لكل أداة عدد محدد من الأحداث ولكل أداة حدث قياسي أي عندما تضع الأداء سيكون الحدث القياسي هو المكتوب .
مثلاً للأحداث : Click : هو حدث الضغط ، عندما تضغط على الأداء سوف يتم تنفيد الأوامر .
مثلاً للأحداث القياسية : الحدث القياسي للزر هو الضغط ، والنافذة هو الفتح ، ومربع النص هو التغيير .
سوف أعرض الأحداث بعد قليل .
End sub : نهاية الأوامر ! قد تستغرب ما فائدتها ولكن فائدتها عظيمة جداً وهي تحصر الأوامر للأداة ، فلو كانت العبارة غير موجودة ( ولنفترض إن البرنامج سيعمل ولن تظهر رسالة خطأ ) فعند ذلك عندما يعمل البرنامج لن يتوقف حتى ينفذ جميع أوامره ، ففائدة هذه العبارة للترتيب .
مع الملاحة إن كل حدث وأداة تنتهي بهذه العبارة وسيفصل بينهما سطر طويل .
() : هذان القوسان سيتم تعريف بعض الأدوات الخاصة عند بعض الأحداث ، وعندما تصبح خبيراً ( أي والله متى ! ) سوف تكتبها بنفسك .
لو تلاحظ إن البرنامج سيترك لك سطر فارغ وسط العبارتين ، هنا سوف تكتب الأوامر ، أصبر أشوي ما بأعطيك أي أمر ألحين بأشرح أول عن أنواع الأحداث :-
هنا الأحداث العامة :
Click: حدث الضغط ، وستنفذ الأوامر عندما تضغط على الأداة .
DblClick : وستنفذ الأوامر عند الضغط المزدوج على الأداة .
DragDrop : عند سحب الأداة وفلتها بواسطة drag سيتم تنفيذ الأمر .
DragOver : أثناء سحب الأداة سيتم تنفيذ الأمر .
GotFocus : عندما ينتقل التركيز بالأداة ( Tab ) سوف ينفذ الأمر .
LostFocus : عندما يفقد التركيز سينفذ الأمر .
KeyDown : عند ضغطك على الكيبورد ( يشتررط أن تكون الأداة مركز عليها ) فهناك ثلاث حالات للتنفيذ ، الأول وهي هذه سينفذ أول ما تضغط على الكيبورد .
KeyPress : أما هذه ستنفذ في حالة الضغط !
KeyUp : أم هذه ستتم عندما ترفع أصبعك عن الزر بالكيبورد .
MouseDown : هذه الأحداث الثلاثة للمواس ، وهذه عندما أول ما تضغط على الماوس .
MouseUp : أم هذه فعندما ترفع يدك عن الماوس .
MouseMove : أما هذه فعندما يمر الماوس على الأداة ستنفذ الأوامر ( يا ساتر ! )
Paint : عند الرسم على الأداة .
Scroll : هذا الحدث عندما تحرك شريط التحريك في بعض الأدوات .
خواص آهرى ( قد تكون مشتركة أو عامة أو خاصة ! ) :-
النافذة :
Load : هذا الحدث عندما أول ما تفتح النافذة .
Unload : هذا الحدث عند إغلاق النافذة .
QueryUnload : الله أعلم ما الفرق بينه وبين السابق !
Activate : هذا الحدث عند تفعيل النافذة ، مثلاً لو كانت هناك نافذتان لبرنامج مفتوحتين ، وأنت تعمل على إحداها سترى إن شريط الإطار الأخرى لونه رمادي ولون التي تعمل عليها زرقاء مما يدل على إن الزرقاء فعالة والرمادية غير فعالة ، فعندما تضغط الماوس على النافذة الرمادية فسوف تفعلها ويتم هذا الحدث .
Deactivate : هذا الحدث عكس سابقه !
Resize : عند إعادة تغير حجم النافذة سوف يتم هذا الحدث .
مربع النص :-Change : وهو الحدث القياسي ، ويتم عند تغير قيمة مربع النص .
Validate : أسئلوا الخبراء ! ما عرفت فايدتها !؟؟؟ ( ويش فايدتك عيد يا الحرية !؟ )
المؤقت :
Timer : وهو الحدث الوحيد والقياسي لهذه الأداة ، ويحدث عند مرور الوقت .
حسناً هذه معظم الأحداث التي أعرفها ، سوف أعلمكم فيما بعد عن صفات الأدوات ويجب التفريق بين الحدث والصفة إذا كنت بتأخذ كل هذه الدروس بدفعة واحدة.
ألحين بأنتقل من شرح الأحداث إلى شرح صفات الأدوات ، قد أكون أنا أحتاج لدرس في ذلك ولكن بأعطيكم الي أعرفه !
عند فتح مشروع جديد ووضع أي أداة على النافذة وتركز عليها ( تحددها ) ستظهر لك خصائصها في جهة اليمين في البرنامج ، قد ترتبها أبجدياً (alphabetic) أو ترتبها على حسب مكانها (categorized) وهو الأفضل .
المميزات العامة ( معظم هذه المميزات تكون في جميع الأدوات ) :Appearance : لجعل الأداة ثلاثية أبعاد أو مسطحة .
BackColor : لتحديد لون خلفية الأداة .
FillColor : لتحديد لون الخطوط الإضافية المرسومة على النافذة أو الأشكال .
FillStyle : لتحديد نوع الخطوط الإضافية .
ForeColor : لتحديد لون الإطار .
MaskColor : لتحديد لون القناع ، وهو لون إذا حددته يكون خفي ( شفاف ) ويظهر بداله لون الخلفية .
UseMaskColor : لتحدي إذا كنت ستسخدم لون القناع أم لا .
Caption : لتحديد الأسم الظاهري على الأداة الذي يراه المستخدم .
Picture : لوضع صورة للأداة .
DisabledPicture : لعرض صورة للأداة عندما تكون مقفلة ( غير قابلة للاستخدام ) .
DownPicture : لعرض صورة عند الضغط على الأداة .
Default : لجعل الأداة هي المركزة دائماً عند أول ما يعمل البرنامج .
DragIcon : لجعل رمز عندما تسحب الأداة .
DragMode : لجعل الأداة قابلة للسحب .
Enabled : لجعل الأداة قابلة للإستخدام أم لا .
Visable : لجعل الأداة مرئية أم لا .
RightToLeft : لجعل الأداة من يمين إلى اليسار أم لا ( للغة العربية )
TapIndex : عندما تسختدم Tab فسوف ينتقل التركيز من أداة إلى آخرى ، وهذه الخاصية تحدد ترتيب الأدوات أيهم أحق للأنتقال التركيز لها ، فترتبها 1 ، 2 ، 3 ، 4 ، 5 .... .
TapStop : لتجعل الأداة لا ينتقل لها الركيز بأستخدام Tab .
Name : لوضع اسم للأداة ، وبهذه الطريقة يمكننا التعامل معها برمجياً باسمها .
Index : عندما تريد أن تكون هناك أكثر من أداة بنفس الاسم يجب إستخدام Index وهذه تفيدنا كثيراً ، لن أشرح كثيراً الآن في هذا الموضوع .
Font : لتغير الخط على الأداة .
MousePointer : لتحديد رمز للماوس عند تمريره على الأداة ، وعند وضعه 99-custome سيمكنك من وضع الرمز الذي تريده .
MouseIcon : وضع رمز للأداة إذا كانت الصفة التي قبلها = 99 .
ToolTipText : عندما توقف مؤشر الماوس على أداة سيظهر لك مربع أصفر وسيظهر عليه تعليمات عنه ، هنا يمكنك كتابة هذه التعليمات لأدواتك .
Tag : هنا يمكنك وضع لافتة مميزة للأداة . ( سأشرح عنها في وقتها ) .
Height : طول الأداة .
Width : عرض الأداة .
Top : موقع الأداة على محور الصاد ( لكنه معكوس ! في الأعلى سالب والأسفل موجب ) .
Left : موقع الأداة في محور السينات .
ملاحظة بسيطة : مع العلم إن مركز الأشياء هو وسطها في عالمنا ولكن في عالم فيجول بيسك يكون مركز الأدوات هو في زاوية اليسار بالأعلى !
AutoSize : جعل الأداة تأخذ الحجم المناسب للصورة .
Alignment : وضع جهة للأداة ، مثلاً للمربع العنوان سيكون إما من يمين أو يسار أو وسط .
حسناً دعني أرى بعض مميزات المهمة لبعض الأداوت :-
النافذة :-
BorderStyle : تحديد شكل أو نمط السطح ، هنا يمكنك جعل النافذة غير قابلة للتغير في المساحة أو إنها لا تصغر وتكبر ، جربها بنفسك .
ControlBox : لجعل النافذة تحوي أزرار التحكم بالزاوية ( الأكس والمربع والشخطه للإقفال والتكبير والتصغير ) أم لا .
MaxButton , MinButton : لتحديد إذا كانت النافذة تستطيع تكبيرها أو تصغيرها أم لا .
Moveable : لتحديد إذا كان من الممكن تحريك النافذة أم لا .
WindowState : لمعرفة نوع النافذة عند الفتح هل هي مكبرة أم مصغرة أم عادية .
StartUpPostion : لتحديد موقع النافذة للبرنامج أو ما تفتح ، هل يكون عادي في الزاوية فوق يسار ، أو في وسط الشاشة أو وسط البرنامج . وقد تختار Windows defult لكي تجعله مثل طريقة الويندو في فتح النوافد.
الزر :-
Style : هذه الميزة لجعل الأداة قابلة للألوان والصور أم تكون قياسية بنفس شكلها !
مربع النص :-
ScrollBars : لجعل مربع النص يحوي أشرطة تمرير أفقية أو عمودية أو كلهما .
Text : إن مربع النص لا يحوي على Caption لكنه يحوي على Text وهذه الصفة المكتوب على مربع النص .
MultiLine : لتحديد إذا كان مربع النص قابل لتكوين عدة أسطر مفردة أم لا .( مثل الليست )
Loced : لجعل مربع النص مقفل لا يكتب فيه .
MaxLength : لجعل مربع النص محدود لا يمكنه كتابة أكثر من المحدد ( أجعله صفر ليكون حر ) .
مربع الخيار و زر الخيار :-
Value : لجعل لها قيمة أم لا أو نصف ونصف .
ComboBox و ListBox :-
list : هنا يحفظ الخيارات .
المؤقت :-
Enable : لجعل المؤقت يعمل أم لا .
Interval : تحديد تسارع المؤقت ، كل 1000 عن ثانية واحدة ، لو تريد المؤقت ينفذ عمله كل 5 ثواني فسوف تكتب في هذا المربع 5000 .
وإذا كنت تسأل عن صفة data التي موجودة في كل أداة تقريباً فهي لوصل الأدوات لقاعدة البيانات ، أنا عرفت ليها أشوي بس ما أقدر شرحها ألحين أو بعدين لأني ما عندي خبرة كافية في قواعد البيانات !
على كل حال بنبدأ بتطبيق أول برمجة لينا ، بسم الله .
البرمجة بسيطة جداً ، بأعطيك مثال بسيط ألحين ، أولاً شغل الفيجول بيسك ألحين ، شغلته ! زين ضيف زر على النافذة ، أضف مربع نص بعد ( textbox ) ، ألحين إضغط مرتين على الزر لفتح قائمة Code ، ألحين أكتب في الزر التالي :-
Private Sub Command1_Click()
Text1.Text = 1
End Sub
ما تكتب كل هذا ! بس أكتب السطر الوسطي بينهم ، أنا كتبت كل العبارة للمقارنة بينهم بعدين ،
ماذا يحدث لو ضغط على الزر ، ألحين شغل وضع التشغيل ! ما تعرف ؟؟؟؟
لتشغيل وضع التشغيل إضغط على رمز التشغيل في الأعلى شكل مثلث أزرق ، أو شغلها من قائمة Run ، والأبسط على الإطلاق إضغط F5 على الكيبورد !
وضع التشغيل : هو الوضع الذي يراه المستخدم للبرنامج .
ألحين إنت مستخدم ، إضغط على الزر .... ويش صار ! بتشوف إن مربع النص صار مكتوب بداخله (( 1 )) ، ألحي ويش ما تكتب وتضغط الزر بيصر 1 من جديد ، ما معنى هذا الأمر !؟
تذكر الصفات التي عطيتك أياه فوق ! حسناً ... في البرمجة أكتب أسم أي أداة ( البني ) مثل text1 ثم ضع نقطة ( . ) بهذه الطريقة سيعرض لك VB صفات الأداة المكتوبة ( على شرط أن تكون الأداة موجودة ) بعدا ذالك يمكنك كتابة الصفة ( الخضراء ) التي تريدها أو تختارها بنفسك من القائمة التي ستظهر .
لكل شيء قيمة ، فعندما كتبت :
text1.text = 1
فإنك حولتها قيمة النص التي على مربع النص إلى 1 !!! لو أردت تحويله لقيمة نصية يجب وضع القيمة بين "" مثلا "السلام" أو أي شيء حتى لو وضعت رقم لكان ممكناً ( ولكن لن يجمعه أو يطرحه ) .
أنا قلت إن كل شيء له قيمة ... فهل ممكن أن نساوي قيمة بقيمة !؟ ........... ليش لا !؟
مثلاُ أكتب التالي في زر الأمر بدال الأمر السابق !
command1.Caption = text1.Text
ماذا تلاحظ !!!! سوف يجعل قيمة الأسم الظاهري في زر الأمر هي نفسها القيمة نص مربع النص ...
هنا تكمن حلاوة البرمجة ! يمكنك صنع أشياء جميلة ورائعة بها بأوامر بسيطة !!!
خسناً ما رئيكم أن نأخذ إستراحة ، أريدكم الآن أيها المبتدئين ( لا أقصد الإهانة ولكن أقصد من أراد التعلم من الصفر ) أن تعملوا التالي كواجب منزلي !
الواجب :
عمل زر يجعل نص مربع النص يساوي أرتفاع الزر ! وبالعكس ! ( بس إذا كان النص لا يساوي رقم يظهر خطأ )
عمل نص يساوي نص آخر
عمل نافذة يتغير عنوانها من مربع النص
شباب نصائح قبل أخذ الدرس ، إذا كنت مبتداً أول مرة تبرمج من 1 - 10 فخذ هذه النصائح رجائة ، أما إذا لم تكن كذلك فإذنا goto 10: !؟؟؟
8- التنظيم والوصول للهدف : هل تريد صنع برنامج !؟ حسناً أولاً حدد ما هي المخرجات ! أي ما هو الشيء المطلوب من البرنامج إخراجه ، ثانياً المدخلات : ما هو الشيء الذي يدخله المستخدم ، ثالثاً البرمجة : ما هي الطريقة الأمثل لبرمجة هذه الأوامر .
2- الصبر : الصبر هو أهم عنصر في البرمجة وهناك عدة أنواع ، أهمها : الصبر على الأخطاء : وهو الصبر الأساسي هنا أن تصبر على الأخطاء التي تطلع لك وتغثك التي تخليك تربط الشاشة ( وهي موصلة بالكمبيوتر والكمبيوتر موصل بكل شيء ! ) تربط الشاشة بالسيارة وتفحط بها في الخامسة !
الصبر على كتابة الأمر : فعندما تخطر لك فكرة في كتابة الأمر لا تكتبه مباشرةً بل تمهل قليلاً وأنظر أليه هل به أخطاء هل هو مكتمل هل هناك طريقة أفضل ، الصبر على البرنامج : عندما يكون البرنامج معقد وطويل يجب أن تصبر عليه وتعزم على إنهائه مهما كان طوله .
3- تكوين مجلد خاص : عندما تبرمج أجعل لك مجلد خاص لتجاربك كانت ناجحة أم فاشلة ، لماذا ! لأن الناجحة قد ترجع لها فيما بعد ، أما الفاشلة فقد تحاول مرة آخرى عندما تكتسب المزيد خبرة .
4- عندما تحصل على أمر جديد أو طريقة جديدة فكر بعدة أفكار بطريقة تستفيد منها وأصنع عدة برامج بها لكي لا تنسى الطريقة .
5- جد من يشجعك على برامجك ، وذلك سيعطيك عزم أكثر للتعلم ، مثلاً لو لم يكن لديك من يشجعك على برامجك ( زي بعض الناس ! ) ما بيزيد عزمك على عمل أي برنامج وقد تنقطع نفسك عن أكماله .
6- العزم ، لا تدع أي برنامج غير مكتمل ، أكمل جميع برامجك لكي تكون دليلاً على تعلمك .
7- تعرف على مصدرجيد للمعلومات مثل هذا الموقع .
8- لا تندفع كثيراً ! ، حاول التعلم بإنتظام يعني لا تناطط في كل مجال بدون ما تتقن المجال السابق ، فلغة فيجول بيسك كبيرة جداً في مجالاتها ، فلا تنتقل من مجال لم تتعلم فيه الكثير لفتح مجال جديد للتفكير ، لأن كل مجال تتعلمه يمكنك مزاوجته في مجال آخر ، فحاول الإتقان قبل الأنتقال .
10 :كمل المشوار معانا
أعطيكم بعض الأوامر التي لا يجب أن تنسى .
لو عندك أكثر من form ( على فكرة هل تعرف كيف تضيف فورم !؟ ) ... حسناً لإضافة فورم سوف ترى عدة رموز على شريط الأدوات ، قاني رمز أسمه add form إضغط عليه وسوف يعرض عليك عدة أنواع إضغط على form وسيضيف لك واحداً ، أو هناك طريقة آخرى : إضغط في شريط الأدوات على project وإضغط على add form ، وهناك طريقة آخرى ، هل ترى النافذة التي يعرض عليه مشروعك على اليسار ، إضغط على زر الماوس اليمين ثم إختر add ثم form .... هل هناك طرق آخرى !؟ أعتقد نكتفي بذلك .
ويش كان الموضوع ! ! أو صح ! إذا كان عندك أكثر من فورم ولما تشغل البرنامج بتشوف البرنامج يفتح أول فورم فقط ! لفتح الفورم الثاني ضع زر أمر في النافذة الأولة وأكتب هذا الأمر .
Form2.show
وبهذه الطريقة تفتح النافذة التالي ، لو أردت إغلاقها أكتب الأمر التالي .
unload form2
قد تكون أي اسم غير form2 لأن الاسم يمكنك تغيره بصفة name ، بعض الشباب يقفل النافذة بطريقة خاطئة مثل .
form1.visible = false
أو
form1.hide
هذه الطرق خاطئة لأنها تخفي النافذة ولكنها لا تغلق للنظام وتضل تعمل حتى إطفاء الكمبيوتر .
حسناً لإغلاق البرنامج أو المشروع تماماً أكتب :
End
فقط !؟ نعم فقط ستغلق كل البرنامج .
قد تتكلم الأداة عن نفسها ، مثلاً عندما تضع أمر في أداة في نافذة معينة كهذا :
unload me
فإنه سيغلق النافذة نفسها التي تنفذ بها الأمر ( كل أمر تضع فيه me قد يكون الهدف هو النافذة ).
هناك شيء آخر ، لقد تكلمت عن الصفات من قبل لكن لم أضع مثال واضح عليها ، جرب هذه الأوامر كل منها على حدا في أزرار خمسة الأول للتجارب والبقية كل منها له أمر من هذه الأوامر :
Command1.Visible = True
Command1.Visible = False
Command1.Enabled = True
Command1.Enabled = False
الأمر الأول يطلب أن تكون مرئية الزر الأول صحيحة والثاني غير صحيحة .
الأمر الثالث يطلب بتشغيل عمل الزر الأول والرابع يطلب بتعطيل عمل الزر الأول .
إن كلمتي false و True تستخدم كثيراً وهما :
True: لقول إن هذه الصفة صحية ، أو صح الشرط كما سنرى في الدرس القادم .
False : لفول إن الصفة المعنية خاطئة ، أو إن الشرط لم ينفذ كما سنرى في الدرس القادم .
هل تريد وضع تعليق في برنامجك ! لما تمبرج وتريد وضع تعليق على البرنامج يمكنك كتابة ' أو rem قبل وضع التعليق ، مثلاً :-
' ok ... this is it !
rem هذا التعليق مش عذل !
ويكون لون التعليق أخضر ، ولون بعض الثوابت أزرق ، ولن الأخطاء أحمر !
بعض المبرمجين يفضل التعليق في البرامج لأن برامجك عندما ترسلها ما ممكن فهم مباشرتاً ما الذي تفعله ، والبعض الآخر يجعلها من الضروريات بحيث لا برنامج إلا بتعليق !؟
حسناً ، هل تريد التأكد من صحة البرنامج ! حسناً إفتح صفحة code وركز معي ! هل ترى شريط تمرير على يمين الصفحة ! حسناً هل ترى جهة اليسرى من الصفحة يوجد شريط رصاصي اللون ، عند أي أمر كتبته إضغط على هذا الشريط بجانب أحد الأوامر ، سترى نقطة حمراء ! هذه النقطة تعني عندم تشغل الآن البرنامج ويمر على هذا الأمر سيتوقف البرنامج مؤقتاً لترى ماذا سيفعل الأمر تحديداً ، ضع الماوس لترى قيم المتغيرات .
هذه الحركة للتأكد من سلامة البرنامج يدوياً .
حسناً هناك عدة أنواع من الأخطاء التي يغفك فيه فيجول بيسك ومنها :
SyntaxError : هذا الخطأ إملائي ، صح إلسانك !
overflow : وهو خطأ عندما تحمل أداة فوق قيمته ، كأن عندك سيارة وتحط فيها فيل ! ما بيرضا البرنامج أكيد !
logicalError : هذا الخطأ إذا كان ترتيب الأمر غير مطابق للمطلوب ( أعتقد ) ، ويحدث بسبب المبرمج إذا أراد أمر لا ينفذ ما يريده ( روح دور طريقة ثانية بمعنى الأصح ! ).
RunTimeError : وهو أسوء أنواع الأخطاء ، خطأ وقت التشغيل ، لا تخاف الخطأ مو منك هذه المرة ، هذا الخطأ لا يحدث بسبب خطأ في البرمجة ، بل يحدث بسبب أمر معين أثناء التشغيل ، مثلاً عندما يريد تحميل البرنامج صورة معينة أو فتح ملف معين ولا يجده .
بعمل المشروع يطبق للمستخدمين إذهب للقائمة file ملف وإضغط على : make project1.exe ، وبهذه الطريقة يمكنك توزيع برامجك الصغيرة لزملائك .
وأخيراً ، عندما تكتب بعض الأوامر التي تحتاج لجملة النهاية مثل end if أو end select رجاءً لا تنساها بعد ما تخلص