![]() |
تعلم فجول بيسك 6 بالتفصيل
الفصل الأول : كيف تكتب برنامجك الأول ؟
مقدمة :- هذا الفصل مخصص للمبتدئين في استخدام وسائل البرمجة بواسطة V.basic حيث يشرح كيفية كتابة برنامج V.basic بسيط ليعمل تحت بيئة Windows 95 وما يليه . تتم عملية كتابة أي برنامج في 4 مراحل ، هي :- 1. مرحلة البرمجة المرئية Visual Programming أي مرحلة تصميم نوافذ البرنامج . 2. مرحلة كتابة الشفرة Code Programming وهي مرحلة كتابة عبارات وجمل اللغة التي تؤدي إلى تنفيذ الغرض من البرنامج . 3. مرحلة تتبع الأخطاء Tracing Bugs وذلك باختبار البرنامج للتأكد من تحقيق الهدف من البرنامج ، وصحة البرنامج من الناحية الهيكلية . 4. مرحلة الترجمة Compiling أي إنشاء نسخة تنفيذية لها الامتداد *.EXE فلا تحتاج إلى تشغيل لغة V.basic لتنفيذ البرنامج . كيف تنشئ مشروع جديد ؟ تستطيع إنشاء مشروع جديد سواء إذا كانت اللغة عاملة بالذاكرة أو سيتم تشغيلها وذلك بإتباع الخطوات التالية :- • أبدأ بتشغيل برنامج V.Basic فيظهر صندوق حوار New Project ويحتوي على 3 صفحات هي :- • صفحة New وتستخدم لإنشاء مشروع جديد من عدة أنواع توفرها لك اللغة بالإضافة إلى معالج يقوم بإنشاء برنامج كامل له كل المميزات التي تحقق الهدف حسب رغبات المبرمج دون تدخل من المبرمج إلا عند كتابة الكود المناسب لتحقيق الهدف . • صفحة Existing وتستخدم لفتح مشروع قائم بالفعل وموجود على وسط التخزين Hard Disk . • صفحة Recent وتستخدم لفتح أحد المشاريع التي تم التعامل معها مؤخراً . كما يحتوي صندوق حوار New Project على صندوق اختيار Check Box والحالة المبدئية Not Checked وعند وضع علامة × داخله لا يظهر صندوق حوار New Project عند تشغيل V.basic ويمكن إعادة إظهاره من خلال اختياره من داخل صفحة Eniveroment أي بيئة تشغيل وذلك من الأمر Option الموجود بالقائمة المنسدلة Tools ، كما يمكن إنشاء مشروع جديد حتى ولغة V.baisc محملة بالذاكرة وذلك باختيار الأمر New من القائمة المنسدلة File أو نقر أيقونة New من شريط الأيقونات . بينما يمكن فتح مشروع قائم بواسطة الأمر Open من نفس القائمة المنسدلة أو بنقر أيقونة Open من شريط الأيقونات . مجموعة الأشرطة والنوافذ المساعدة :- يقدم برنامج V.basic عدو أشرطة ونوافذ مساعدة تؤدي لتنفيذ الغرض المطلوب بسهولة ، ومنها :- 1. النافذة Form وتمثل النافذة المبدئية التي تحول إلى شكل النافذة التي تحقق الهدف من البرنامج وذلك بإضافة أدوات وكائنات Tools And Objects تؤدي الغرض . 2. شريط الأدوات ToolBar ويحتوي على عدة أدوات وكائنات تنقل على النافذة للتنفيذ الغرض من النافذة . وذلك بالنقر نقر مزدوج على الأداة أو النقر مرة واحدة على الأداة ثم النقر داخل النافذة والسحب بدون الإفلات حتى تصل إلى الحجم المناسب فنفلت الفارة . 3. مستعرض المشاريع Project Explorer ويستخدم في التنقل ما بين النوافذ المختلفة لنفس المشروع أو لعدة مشاريع داخل نفس البرنامج ليعرض شكل النافذة عند نقر أيقونة View أو عرض نافذة الشفرة لأي نافذة عند نقر أيقونة View Code من داخل المستعرض . 4. صندوق الخصائص Propties وتستخدم لتغير خواص وصفات وسلوك الأدوات عند تنفيذ البرنامج لتناسب الغرض منها وترتب هذه الخصائص ترتيب هجائيا Alphabtic أو ترتيب حسب الوظيفة Categorized ، وهناك 3 أشكال لخلايا هذه الخصائص تظهر هذه الأشكال من خلال النقر على الخلية المجاورة للخاصية ، وهي كما يلي :- • ينتقل المؤشر إلى هذه الخلية المجاورة للخاصية استعداد لتغيير الخاصية . • يظهر مربع به مثلث صغير على يمين الخلية المجاورة لخلية الخاصية وتعبر عن وجود قائمة منسدلة تحتوي على قيم مبدئية للخاصية يمكن تغيرها أحيانا وأحيانا أخر لا . • يظهر مربع به 3 نقط على يمين الخلية المجاورة لخلية الخاصية وتعبر عن وجود مربع حوار لإدخال قيمة الخاصية . الخاصية هي صفة أو شكل أو سلوك الأداة عند تنفيذها للغرض منها . البرنامج Greeting في البداية علينا إنشاء مشروع جديد كما سبق أوضحنا . الوظيفة • عند نقر مفتاح مرحبا تظهر رسالة ( السلام عليكم ) • عند نقر مفتاح وداع تظهر رسالة ( مع السلامة ) البرمجة المرئية Object Property Settings Object Property Settings Form Name FrmGreetings CommandButton Name CBGreeting-CBBye-CBExit BorderStyle 4 Font MoveAble F Caption التحية – الوداع - خروج StartUpPosition Style AutoRedraw Default Caption Cancel Height Height Left Left Top Top TextBox Name TXBGreetings Width Alignment Font Height Left Top Width كتابة الشفرة كتابة الشفرة الخاصة بالنقر على الزر خروج Private Sub CBExit_Click() Beep End End Sub تقوم الشفرة السابقة بإصدار صوت تنبيهي من السماعة الداخلية للجهاز ثم إنهاء البرنامج كتابة الشفرة الخاصة بالنقر على الزر التحية Private Sub CBGreeting_Click() TXBGreetings.Text=” السلام عليكم ورجمة الله وبركاته “ End Sub تؤدي الشفرة السابقة إلى طباعة العبارة " السلام عليكم ورحمة الله وبركاته " داخل صندوق النصوص كتابة الشفرة الخاصة بالنقر على الزر الوداع Private Sub CBBye_Click() TXBGreetings.Text = " مع السلامة " End Sub الآن البرنامج جاهز للتشغيل وذلك بنقر أيقونة Play من شريط الاختصارات أو ضغط مفتاح F5 والذي يمثلان الأمر RUN أو ضغط مفتاح F8 الذي ينفذ البرنامج سطر بسطر مع كل ضغطه للمفتاح F8 أو اختيار الأمر RUN من القائمة المنسدلة RUN . بعد التأكد من صحة البرنامج وتنفيذه للغرض منه علينا حفظه على القرص وذلك باختيار الأمر Save Project من القائمة File فيظهر مربع حوار حفظ لحفظ النافذة وخصائصها واسمها المبدئي هو Form1 ولها الامتداد .FRM غير اسم النافذة إلى Greetings واضغط مفتاح الإدخال فيظهر مربع حوار حفظ لحفظ المشروع الذي يحوي هذه النافذة واسمه المبدئي هو Project1 وله الامتداد .VBP غير اسم المشروع إلى Greetings واضغط مفتاح الإدخال فيم حفظ البرنامج ونستطيع تحويله الآن إلى نسخة تنفيذية امتدادها .EXE وذلك باختيار الأمر Make Greetings.EXE من القائمة المنسدلة File فيظهر مربع حوار إنشاء الملف التنفيذي وعلينا تحديد المكان الذي سيحفظ به النسخة .EXE ملاحظات • بعض الكائنات والأدوات يمكن رؤية التعديلات المباشرة في خصائصها والبعض الآخر لا يقبل ذلك . • لإسناد قيمة ما إلى خاصية أحد الأدوات نستخدم الصيغة التالية :- ObjectName.Property = New Value حيث ObjectName هو أسم الأداة التي نتعامل بواسطتها داخل الشفرة و Property هي الخاصية المطلوب تعديل قيمتها و New Value هي القيمة الجديدة للخاصية . • يمكن تجزئة أي جملة أو عبارة من جمل وعبارات اللغة بترك مسافة بعد آخر حرف ثم كتابة ( _ ) وهي UnderScore وبذلك نجزئ العبارة أو الجملة على عدة أسطر . |
مشاركة: تعلم فجول بيسك 6 بالتفصيل
الفصل الثاني : إنشاء النوافذ والنوافذ المتعددة
مقدمة : سنتعلم في هذا الفصل كتابة برامج تعتمد على النوافذ المتعددة Multi Forms بالإضافة إلى كيفية إنشاء المتغيرات المختلفة والتعامل معها . البرنامج MyMulti الوظيفة • عند نقر الزر About يظهر صندوق حوار About القياسي لإظهار معلومات حول البرنامج . • عند نقر الزر SetData1 يظهر صندوق إدخال لإدخال جملة وبالموافقة تظهر داخل النافذة الرئيسية . • عند نقر الزر SetData2 يظهر صندوق إدخال ندخل به جملة وبالموافقة يظهرها داخل النافذة الرئيسية وذلك باستخدام عدة طرق مختلفة لنقل الجملة من صناديق الإدخال إلى النافذة الرئيسية . البرمجة المرئية للنافذة الرئيسية MyMulti Object Property Settings Object Property Settings Form Name FRMMyMulti CommandButton Name CBAbout-CBSetData1-CBSetData2-CBExit BorderStyle Caption معلومات - بيانات 1 - بيانات 2 - خروج MoveAble Style 1 StartUpPosition Default T – F – F – F Caption متعدد النوافذ Cancel F – F – F – T Height Height Left Left Top Top Width Width كتابة الشفرة الخاصة بالنافذة الرئيسية MyMulti كتابة الشفرة الخاصة بالنقر على زر خروج Private Sub CBExit_Click() End End Sub كتابة الشفرة الخاصة بالنقر على زر معلومات Private Sub CBAbout_Click() MsgBox “ مصمم هذا البرنامج هو المهندس / عادل عبده أمين عبدالماجد “ ,VBInformation,” معلومات عن البرنامج متعدد النوافذ ” End Sub تؤدي هذه الشفرة إلى ظهور صندوق رسائل من صناديق الحوار القياسية التي يقدمها لك النظام وتحوي 3 معاملات الأول هو رسالة للأعلان والتعريف بالشئ والثاني هي أيقونة جاهزة تعبر عن مضمون المعامل الأول والثالث يعبر عن عنوان صندوق الرسائل الجاهز . كتابة الشفرة الخاصة بالنقر على زر بيانات 1 Private Sub CbSetData1_Click() Dim TxtEntered TxtEntered = InptBox (“ أكتب شيئا هنــا :“,” الحصول على عبارة من المستخدم “,” هذه عبارة مبدئية “ Print “ لقد كتبت : “+ TxtEntered End Sub تستخدم الشفرة السابقة طريقة مربعات الإدخال القياسية التي تقدمها اللغة للإستخدام . فيتم تعريف متغير جديد بإستخدام الكمة المحجوزة Dim تستخدم لتخزين قيمة يستقبلها من صندوق الإدخال InputBox والتي تؤدي لظهور مربع حوار يتكون من 3 معاملات الأول هو رسالة تعبر عن المطلوب من المستخدم والثاني هو عنوان مربع الحوار والثالث هو كقيمة مبدئية . والآن فلنقوم بتصميم النوافذ التي تقوم بنفس العمل الأعمال السابقة البرمجة المرئية للنافذة الفرعية معلومات Object Property Settings Object Property Settings Form Name FRMAbout CommandButton Name CBOK BorderStyle Caption موافق MoveAble Style 1 StartUpPosition Default T Caption معلومات متعدد النوافذ Font Height Height Left Left Top Top Width Width Label Name LBLMesAbout Alignemt 2 Font Caption مصمم هذا البرنامج مهندس / عادل عبده أمين كتابة الشفرة الخاصة بالنقر على الزر About في نافذة البرنامج الرئيسية Private Sub CBAbout_Click() FrmAbout.Show 1 End Sub نستبدل الشفرة التي قمنا بكتابتها في البداية بالشفرة السابقة التي تظهر النافذة الفرعية التي قمنا بتصميمها FRMAbout كتابة الشفرة الخاصة بالنقر على الزر بيانات 2 Private Sub CBSetData2_Click() FRMSetData2.Show 1 FrmMyMulti.CLS Print “ لقد كتبت :” + FrmSetData2.TXBMes.Text End Sub تقوم الشفرة السابقة بإظهار النافذة الفرعية SetData2 ثم مسح أي جمل أو رسائل مطبوعة على النافذة الرئيسية باستخدام العبارة CLS ثم تقوم بطباعة العبارة التي أدخلها المستخدم في النافذة الفرعية SetData2 باستخدام صندوق النصوص TXBMes وذلك بالصيغة FRMSetData2.TXBMes.TEXT كتابة الشفرة الخاصة بالنقر على الزر موافق في النافذة الفرعية معلومات Private Sub CBOk_Click() FrmAbout.Hide End Sub البرمجة المرئية للنافذة الفرعية SetData2 Object Property Settings Object Property Settings Form Name FRMSetData2 CommandButton Name CBOK – CBCancel BorderStyle Caption موافق – إلغاء MoveAble Style 1 StartUpPosition Default T – F Caption مدخل البيانات 2 Cancel F – T Height Height Left Left Top Top Width Width TextBox Name TXBMsg MultiLine T Font Height Left Top Width كتابة الشفرة الخاصة بالنافذة الفرعية SetData2 كتابة الشفرة الخاصة بالنقر على الزر موافق Private Sub CBOk_Click() Unload Me End Sub كتابة الشفرة الخاصة بالنقر على الزر إلغاء Private Sub CBCancel_Click() TXBMes.Text = “ “ FrmSetData2.Visiable = False End Sub ملاحظات • هناك طريقتين لعرض أي نافذة على الشاشة فلا تختلف إحداهما عن الآخر في التأثير ، وهما :- اسم النافذة.Show اسم النافذة.Visible = True بينما توجد 3 طرق لآخفاء هذه النافذة من الشاشة وأيضا لا تختلف هذه الطرق عن بعضها في التأثير ، وهم :- اسم النافذة.Hide اسم النافذة.visible = False Unload Me فتعبر الكلمة المحجوزة Me عن العنصر Object أوالأداة والمقصود هنا هو النافذة Form . • باستخدام الأمر Show يمكنك عرض النافذة أكثر من مرة في نفس الوقت ( أي يسمح بالتنقل إلى نوافذ أخر والتعامل معها أيضا وقد يتم عرض هذه النافذة مرات ومرات ) بهذا تشغل الذاكرة وهذا ما لايحمد عقباه . لذلك نستخدام الأمر Show بالصيغة التالية Show 1 فلا يسمح بالتعامل مع أي نافذة أخر بينما النافذة المعروضة تم عرضها بهذه الصيغة فينقل التحكم إليها حتى تنتهي من التعامل معها ويغلقها هنا فقط فيسمح بالتعامل مع النوافذ الأخرى . |
مشاركة: تعلم فجول بيسك 6 بالتفصيل
الفصل الثالث : القوائم وأشرطة الأدوات وأشرطة الحالة
مقدمة سنتعلم في هذا الفصل كيفية بناء عناصر أساسية لأي تطبيق وهي القوائم وأشرطة الأدوات وأشرطة الحالة . البرنامج MyMenu الوظيفة • بالنقر على أي لون من قائمة Color فتلون به النافذة ( منطقة العمل Client Area ) ولا يتاح هذا اللون للإستخدام إلا بعد إختيار لون آخر للتلوين . ويمكن أداء نفس العمل بإختيار اللون من شريط الأدوات ( الألوان ) . • عند إزالة تعليم صندوق الإختيار Check Box المسمى Color Menu تختفي قائمة Color من داخل شريط القوائم . وتظهر ثانية بإعادة تعليم صندوق الإختيار ويمكن تعليمه أو إزالة التعليم بضغط مفتاح المسافة Space Bar أو بالنقر عليه بواسطة الفارة . • عند إزالة تعليم عنصر القائمة ToolBars من قائمة Tool And Status Bars تختفي أشرطة الأدوات وتظهر هذه الأشرطة ثانية بإعادة التعليم لعنصر القائمة . • عند إزالة تعليم عنصر القائمة StatusBars من القائمة Tool And Status Basrs تختفي أشرطة الحالة وتظهر ثانية بإعادة التعليم لعنصر القائمة . البرمجة المرئية Object Property Settings Object Property Settings Form Name FRMMyMenu PictureBox Name PicToolBar1 BorderStyle Align 1 MoveAble F Height StartUpPosition PictureBox Name PicGreen – PicBlue Caption برنامج القائمة Align 0 AutoRedraw T BackColor Green – Blue Height Height Left Left Top Top Width Width PictureBox Name PicToolBar2 PictureBox Name PICStatusBar1 Align 1 Align 2 Height Height PictureBox Name PICRed CheckBox Name CHKColorMenu Align 0 Caption إظهر قائمة الألوان BackColor Red Value Height Height Left Left Top Top Width Width PictureBox Name PICStatusBar2 Align Height CommandButton Name CBExit Caption خروج Cancel T Height Left Top Width والآن علينا إدراج قائمة من أيقونة Menu Editor Menu Caption Remarks ملف MnuFile … خروج MnuExit ألوان MnuColor … أخضر MnuGreen … أزرق MnuBlue … أحمر MnuRed أشرطة الحالة والأدوات MnuToolStatusBars … أشرطة الأدوات MnuToolBars Checked = True … أشرطة الحالة MnuStatusBars Checked = True كتابة الشفرة كتابة الشفرة الخاصة بتعليم صندوق الآختيار ( إظهر قائمة الألوان ) Private Sub CHKColorMenu_Click() If CHKColorMenu.Value = 0 Then MnuColor.Visible = False Else MnuColor.Visible = True End If End Sub تختبر الشفرة السابقة قيمة الخاصية Value التابعة لصندوق الإختيار فإذا كانت هذه القيمة = 0 ( غير معلم UnChecked ) تختفي قائمة Color وإذا كانت هذه القيمة = 1 ( معلم Checked ) أو قيمتها = 2 ( مظللة وتعني أن صندوق الإختيار معلم ولا يمكن إزالة التعليم من داخله ) تظهرقائمة Color . كتابة الشفرة الخاصة بإختيار العنصر ( خروج ) من القائمة ( ملف ) Private Sub MnuExit_Click() End End Sub كتابة الشفرة الخاصة بالنقر على العنصر ( أزرق ) من القائمة ( ألوان ) Private Sub MnuBlue_Click() FRMMyMenu.BackColor = QBColor (1) MnuBlue.Enabled = False MnuGreen.Enabled = True MnuRed.Enabled = True End Sub تؤدي الشفرة السابقة إلى تلوين النافذة FRMMyMenu باللون الأزرق ثم تعطيل العنصر ( أزرق ) في القائمة ( ألوان ) . كتابة الشفرة الخاصة بالنقر على العنصر ( أخضر ) من القائمة ( ألوان ) Private Sub MnuGreen_Click() FRMMyMenu.BackColor = QBColor (2) MnuBlue.Enabled = True MnuGreen.Enabled = False MnuRed.Enabled = True End Sub كتابة الشفرة الخاصة بالنقر على العنصر ( أحمر ) من القائمة ( ألوان ) Private Sub MnuRed_Click() FRMMyMenu.BackColor = QBColor (4) MnuBlue.Enabled = True MnuGreen.Enabled = True MnuRed.Enabled = False End Sub تؤدي الشفرتين السابقتين إلى نفس عمل الشفرة الخاصة بالنقر على العنصر ( أزرق ) من القائمة ( ألوان ) ولكن مع إختلاف اللون فالأولى تؤدي إلى التلوين باللون الأخضر والثانية باللون الأحمر . كتابة الشفرة الخاصة بالنقر على أيقونة اللون الأزرق من شريط الأدوات Private Sub PICBlue_Click() MnuBlue_Click End Sub كتابة الشفرة الخاصة بالنقر على أيقونة اللون الأخضر من شريط الأدوات Private Sub PICGreen_Click() MnuGreen_Click End Sub كتابة الشفرة الخاصة بالنقر على أيقونة اللون الأحمر من شريط الأدوات Private Sub PICRed_Click() MnuRed_Click End Sub تؤدي كل شفرة من الشفرات الثلاث السابقة إلى تنفيذ الشفرة التي تمثلها من الشفرات الخاصة بالنقر على العنصر ( أزرق – أخضر – أحمر ) من القائمة ( ألوان ) على الترتيب . كتابة الشفرة الخاصة بإختيار العنصر ( أشرطة أدوات ) من القائمة ( أشرطة الحالة والأدوات ) Private Sub MnuToolBars_Click() If MnuToolBars.Checked = True Then PicToolBar1.Visible = False PicToolBar2.Visible = False MnuToolBars.Checked = False Else PicToolBar1.Visible = True PicToolBar2.Visible = True MnuToolBars.Checked = True End if End Sub كتابة الشفرة الخاصة بإختيار العنصر ( أشرطة الحالة ) من القائمة ( أشرطة الحالة والأدوات ) Private Sub MnuStatusBars_Click() If MnuStatusBars.Checked = True Then PicStatusBar1.Visible = False PicStatusBar2.Visible = False MnuStatusBars.Checked = False Else PicStatusBar1.Visible = True PicStatusBar2.Visible = True MnuStatusBars.Checked = True End if End Sub تختبر الشفرة السابقة قيمة الخاصية Checked ( تعليمة ) للعنصر ( أشرطة أدوات ) فإذا كانت القيمة صحيحة يخفي أشرطة الأدوات ToolBars1 و Tool Bar2 ويزيل التعليمة من أمام العنصر وبالمثل يختبر قيمة الخاصية Check للعنصر ( أشرطة الحالة ) فإذا كانت القيمة صحيحة أزال التعليمة وأخفى أشرطة الحالة من أمام العنصر . البرنامج MenuGrow الوظيفة • عند نقر الزر ( إضافة عنصر ) يضاف عنصر قائمة إلى القائمة ( ملف ) • عند نقر الزر( حذف عنصر ) يحذف عنصر قائمة من القائمة ( ملف ) • عند إختيار أحد عناصر القائمة الجدد يرسم الشكل المناسب له مع ظهور رسالة " لقد إخترت رسم العنصر رقم : " بالإضافة إلى رقم العنصر . البرمجة المرئية Object Property Settings Object Property Setting Form Name FRMMenuGrow CommandButton Name CBAdd – CBRemove BorderStyle Caption إضافة عنصر- حذف عنصر MoveAble F Default T – F – F StartUpPosition Style 1 Caption القائمة المتزايدة Height AutoRedraw T Left Height Top Left Width Top Shape Name SHPShape Width BorderWidth Label Name LBLMessage FillColor Alignment 2 FillStyle Border Height Height Left Left Top Top Width Width Shap والآن علينا إدراج قائمة من أيقونة Menu Editor Menu Caption Remarks ملف MnuFile … خروج MnuExit … - MnuDynamic Index = 0 كتابة الشفرة نبدأ كتابة شفرتنا بالتصريح عن متغير عام داخل قسم التصريحات العامة لنستطيع التعامل معه من داخل أي شفرة Option Explicit Dim MenuIndex كتابة شفرة تحميل النافذة Private Sub Form_Load() MenuIndex = 0 End Sub نبدأ بقيمة مبدئية نلحقها بعداد العناصر وهي القيمة = 0 كتابة الشفرة الخاصة بالنقر على الزر ( إضافة عنصر ) Private Sub CBAddItem_Click() If MenuIndex = 5 Then MsgBox " هناك 5 عناصر قائمة بالفعل ، لذا لن نضيف هذا العنصر الجديد " Exit Sub Else MenuIndex = MenuIndex + 1 Load MnuDynamic(MenuIndex) MnuDynamic(MenuIndex).Caption = Str$(MenuIndex) End If End Sub تختبر الشفرة السابقة عدد العناصر المضافة فإذا كان هناك 5 عناصر مضافة تظهر رسالة تحذيرية بوجود 5 عناصر مضافة ثم ينهي الشفرة وإذا كان هناك أقل من 5 عناصر يزيد عداد العناصر MenuIndex بمقدار ( 1 ) وتستخدم العبارة Load لإضافة العنصر الجديد ويتم تسمية هذا العنصر بإستخدام الخاصية Caption . كتابة الشفرة الخاصة بالنقر على الزر ( حذف عنصر ) Private Sub CBRemove_Click() If MenuIndex = 0 Then MsgBox " آسف لا يوجد عناصر قائمة لتحذف ." Exit Sub Else UnLoad MnuDynamic(MenuIndex) MenuIndex = MenuIndex – 1 End If End Sub تختبر الشفرة السابقة عدد العناصر المضافة فإذا كان عدد العناصر المضافة ( 0 ) تظهر رسالة تحذيرية بأنه لا يوجد عناصر ثم ينهي الشفرة وإلا استخدم العبارة UnLoad لحذف العنصر الحالي ثم ينقص عداد العناصر MenuIndex بمقدار ( 1 ) . كتابة الشفرة الخاصة بإختيار أحد العناصر المضافة Private Sub MnuDynamic_Click(Index as Integer) LBLMessge.Caption = " لقد إختارت العنصر : " + Str$(Index) SHPShape.Shape = Index End Sub تؤدي الشفرة السابقة لظهور العبارة ( لقد إختارت العنصر : ) بالإضافة إلى ترتيب هذا العنصر ثم رسم الشكل الذي يناسب هذا الترتيب . كتابة الشفرة الخاصة بإختيار العنصر ( خروج ) من القائمة ( ملف ) Private Sub MnuExit_Click() End End Sub البرنامج PopUp الوظيفة عند نقر الزر الأيمن للفارة داخل النافذة تظهر قائمة منبثقة تحتوي على 3 عناصر بإختيار أحداها تظهر الصورة المقابلة لهذا العنصر . البرمجة المرئية Object Property Settings Object Property Settings Form Name FRMPopUp Imageox Name IMGViewer BorderStyle Stretch T MoveAble F Height StartUpPosition Left Caption القائمة النبثقة Top AutoRedraw T Width Height ImageBox Name IMGPC – IMGClock – IMGTel Left Visible F Top Picture Width والآن يجب عليك إدراج الصور الثلاث التي تمثل العناصر الثلاث للقائمة المنبثقة ( حاسب – منبه – تليفون ) على الترتيب . والآن علينا إدراج قائمة من أيقونة Menu Editor Menu Caption Remarks ملف MnuFile … خروج MnuExit عارض الصور MnuDisplayImages Visible Check Box = False … حاسب MnuPc … منبه MnuClock … تليفون MnuPhone كتابة الشفرة كتابة شفرة تحميل النافذة Private Sub Form_Load() FrmPopUp.PopUpMenu MnuDisplayImages End Sub تستعمل الشفرة السابقة المنهج PopUpMenu لإظهار محتويات القائمة DisplayImages في شكل قائمة منبثقة . كتابة الشفرة الخاصة بإختيار عنصر القائمة Pc Private Sub MnuPc_Click() ImgViewer.Picture = ImgPc.Picture End Sub كتابة الشفرة الخاصة بإختيار عنصر القائمة Clock Private Sub MnuClock_Click() ImgViewer.Picture = ImgClock.Picture End Sub كتابة الشفرة الخاصة بإختيار عنصر القائمة Tel Private Sub MnuTel_Click() ImgViewer.Picture = ImgTel.Picture End Sub تقوم الشفرات السابقة بإلحاق الصور ( حاسب – منبه – تليفون ) إلى الصورة العارضة ( ImgViewer ) على الترتيب . ملاحظات • يلزم لتصميم شريط أداة أو شريط حالة إستخدام الأداة Picture Box وحتى تقوم بدور شريط الأداة يجب ضبط الخاصية Align لتساوي ( 1 Align Top ) ولتصبح شريط حالة يجب أن تساوي الخاصية القيمة ( 2 Align Bottom ) . • تستطيع تصميم القوائم بإستخدام ايقونة Menu Editor من شريط الإختصارات . |
مشاركة: تعلم فجول بيسك 6 بالتفصيل
الفصل الرابع : برامج متعددة الوثائق
مقدمة سنتعلم في هذا الفصل كيفية تصميم برامج ذات واجهات متعددة الوثائق Multi Document Interface . البرامج ذات الواجهة المتعددة الوثائق هي برامج تحوي عدة نوافذ أبناء تقع ضمن نافذة أب واحدة وتعمل داخلها فقط وضمن أحداثياتها فقط . البرنامج MyMDIMulti الوظيفة • عند نقر زر ( جرس ) في شريط الحالة يستجيب البرنامج بإصدار صوت بسيط من السماعة الداخلية للحاسب . • أختر أحد طرق ترتيب النوافذ الأبناء داخل النافذة الأب من داخل القائمة نوافذ وطرق الترتيب المتاحة هي ترتيب ( بشكل متتالي ) Cascade أو ( متجانب أفقيا ) Horizontal Tile أو ( متجانب عموديا ) Vertical Tile . • بتصغير جميع النوافذ الأبناء في أماكن عشوائية ثم أختيار عنصر ( رتب كل الرموز ) Arrange Icons من القائمة ( نوافذ ) سترتيب الرموز الخاصة بالنوافذ الأبناء في سطر واحد أفقي أسفل نافذة الأب . البرمجة المرئية أولآ :- قم بإنشاء مشروع قياسي جديد ثم إحذف النافذة Form1 بإختيار العنصر Remove Form من القائمة Project . ثانيآ :- إختار العنصر Add MDI Form من القائمة Project أو نقر أيقونة Add New Form ثم اختيار MDI Form . من العلم أن كل مشروع يحوي نافذة أب واحدة فتظهر النافذة الأب التي لها شكل أيقونة تختلف عن النوافذ القياسية . ثالثآ :- إنشاء 3 نوافذ قياسية بالطريقة العادية ثم تغير الخاصية MDI Child إلى القيمة True فنحصل على 3 نوافذ أبناء فنجد أيضا أن النوافذ الأبناء لها أيقونات مخالفة للأيقونات الخاصة بالنوافذ القياسية . أختر النافذة Form1 من داخل نافذة مستعرض النوافذ ثم إختيار أيقونة View Object . Object Property Settings Object Property Settings Form Name FRMChild1 CommandButton Name CBCloseChild1 BorderStyle Style 1 Caption الأبن الأولى Picture MoveAble F Caption غلق الأبن الأولى StartUpPosition Cancel T Height Height Left Left Top Top Width Width قائمة Caption ملف MNUFile … غلق النافذة MNUCloseMe جرس MNUBeep … جرس مرة MNUBeepONCE … جرس مرتين MNUBeepTwice كتابة الشفرة كتابة الشفرة الخاصة بالنقر على الزر ( غلق الأبن الأول ) Private Sub CBCloseChild1_Click() Unload Me End Sub تقوم الشفرة السابقة بإخفاء النافذة الأبن من داخل النافذة الأب . كتابة الشفرة الخاصة بالعنصر ( جرس مرة ) من القائمة ( جرس ) Private Sub MNUBeepOnce_Click() Beep End Sub كتابة الشفرة الخاصة بالعنصر ( جرس مرتين ) من القائمة ( جرس ) Private Sub MNUBeepTwice_Click() Dim Counter as Long Beep For Counter = 0 To 20000 Next Counter Beep End Sub يتم تعريف متغير ليكون عداد لحلقة تأخير زمني مابين الجرس الأول والثاني . وتختلف سرعة تنفيذ الحلقة بإختلاف نوع المعالج وسرعته في الحاسب مع العلم أن الطريقة السابقة ليست الطريقة المثلى لتنفيذ عملية التأخير الزمني . كتابة الشفرة الخاصة بالختيار العنصر ( غلق النافذة ) من القائمة ( ملف ) Private Sub MNUCloseMe_Click() Unload FrmChild1 End Sub أختر النافذة Form2 من داخل نافذة مستعرض النوافذ ثم إختيار أيقونة View Object . Object Property Settings Object Property Settings Form Name FRMChild2 CommandButton Name CBCloseChild2 BorderStyle Style 1 Caption الأبن الثاني Picture MoveAble F Caption غلق الأبن الثاني StartUpPosition Cancel T Height Height Left Left Top Top Width Width كتابة الشفرة كتابة الشفرة الخاصة بالنقر على الزر ( غلق الأبن الثاني ) Private Sub CBCloseChild2_Click() FRMChild2.Hide End Sub أختر النافذة Form3 من داخل نافذة مستعرض النوافذ ثم إختيار أيقونة View Object . Object Property Settings Object Property Settings Form Name FRMChild3 CommandButton Name CBCloseChild3 BorderStyle Style 1 Caption الأبن الثالث Picture MoveAble F Caption غلق الأبن الثالث StartUpPosition Cancel T Height Height Left Left Top Top Width Width كتابة الشفرة كتابة الشفرة الخاصة بالنقر على الزر ( غلق الأبن الثالث ) Private Sub CBCloseChild3_Click() Me.Visible = True End Sub أختر النافذة الأب MyMDI Object Property Settings MDIForm Name FRMMyMDI BorderStyle Caption النافذة الأب MoveAble F StartUpPosition Height Left Top Width Menu Caption Caption Caption ملف MnuFile … الأبن الثالث MnuChild3 … ترتيب متتال MnuCascade … خروج MnuExit … _ MnuSep … ترتيب أفقي MnuHoriz عارض الأبناء MnuShow … عرض الأبناء MnuShow … ترتيب رأسي MnuVertical … الأبن الأول MnuChild1 … إخفاء الكل MnuClear … ترتيب أيقونات MnuArrngAll … الأبن الثاني MnuChild2 نوافذ MnuWin تجهيز نموذج البداية • علينا في البداية تجهيز نموذج البداية StartUp Form والذي يتم تشغيله في بداية تشغيل البرنامج . • انقر الزر الأيمن للفارة على أي مجلد في نافذة مستعرض المشاريع واختر من القائمة المنبثقة العنصر Project Properties ومن قائمة اختيار نموذج البداية StartUp Object نختار النافذة FRMMyMDI ثم نقر الزر Ok القوائم بالنسبة للنافذة الأبن الفعالة تظهر النافذة الفعالة داخل النافذة الأب بينما تحل القوائم الخاصة بالنافذة الأبن الفعالة محل قوائم النافذة الأب ، أما في حالة أن النافذة الأبن لا تحوي قوائم فتظهر قوائم النافذة الأب . كتابة الشفرة لتحميل النافذة الأب Private Sub MDIForm_Click() Load FRMChild1 Load FRMChild2 Load FRMChild3 End Sub تستخدم الشفرة السابقة المنهج Load لتحميل النوافذ الأبناء الثلاثة داخل الذاكرة لسرعة التعامل معها وعرضها . كتابة الشفرة الخاصة بالعنصر ( خروج ) من القائمة ( ملف ) Private Sub MnuExit_Click() End End Sub كتابة الشفرة الخاصة بالعنصر ( عرض الأبن الأول ) Private Sub MnuChild1_Click() FRMChild1.Visible = True End Sub كتابة الشفرة الخاصة بالعنصر ( عرض الأبن الثاني ) Private Sub MnuChild2_Click() FRMChild2.Show End Sub كتابة الشفرة الخاصة بالعنصر ( عرض الأبن الثالث ) Private Sub MnuChild3_Click() FRMChild3.Show 1 End Sub كتابة الشفرة الخاصة بالعنصر ( عرض الأبناء ) Private Sub MnuShow_Click() FRMChild1.Show FRMChild2.Show FRMChild3.Show End Sub كتابة الشفرة الخاصة بالعنصر ( إخفاء الكل ) Private Sub MnuClear_Click() FRMChild1.Hide FRMChild2.Hide FRMChild3.Hide End Sub كتابة الشفرة الخاصة بالعنصر ( ترتيب متتال ) Private Sub MnuCascade_Click() FRMMyMDI.Arrange vbCasecade End Sub كتابة الشفرة الخاصة بالعنصر ( ترتيب أفقي ) Private Sub MnuHoriz_Click() FRMMyMDI.Arrange vbTileHorizontal End Sub كتابة الشفرة الخاصة بالعنصر ( ترتيب رأسي ) Private Sub MnuVeritical_Click() FRMMyMDI.Arrange vbTileVertical End Sub كتابة الشفرة الخاصة بالعنصر ( ترتيب أيقونات ) Private Sub MnuArrangeAll_Click() FRMMyMDI.Arrange vbArrangeIcons End Sub |
مشاركة: تعلم فجول بيسك 6 بالتفصيل
تسلم الايادي اللي كتبت ...... موضوع جمييييييييييييل جدا ومفيد جدا جدا ربنا يجازيكي عليه كل خير . |
مشاركة: تعلم فجول بيسك 6 بالتفصيل
:sm255: جزاكى الله كل خير :sm255: |
الساعة الآن 10:03 PM |
Powered by Nile-Tech® Copyright ©2000 - 2025