alkhal
المساهمات : 20 تاريخ التسجيل : 06/10/2008
| موضوع: تعليم فيجول بيسك الثلاثاء أكتوبر 07, 2008 9:38 am | |
| وسوف نقوم بتطبيق هذه الخطوات في مثالنا التالي الذي سنطبق عليه أوامر لغة فيجوال بيسيك وسوف نقوم بتسمية هذا المثال باسم " المبيعات " . -1- الخطوة الأولى : سوف نبدأ بكتابة الدليل الخاص بنا وهو كالتالي : Sold_quantity : اسم قاعدة البيانات Invoice : اسم الجدول اسم الحقل نوع الحقل وصف الحقل رقم رقم الفاتورة The_no نص اسم المشتري Per_name - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 30 نص نوع البضاعة The_kind نص طريقة الدفع Payment_way رقم إجمالي المبلغ All_money رقم العربون Deposit رقم الباقي Remainder تاريخ التاريخ حال البيع The_date وقت الوقت حال البيع The_time مذكرة ملاحظات Notes -2- سوف ننتقل الآن إلى برنامج مايكروسوفت أكسس حيث سنقوم بإنشاء قاعدة بيان ات بواسطة هذا البرنامج بحيث تطابق المواصفات التي ذكرناها قبل قليل . -3- ابدأ بتشغيل برنامج فيجوال بيسيك و ذلك بالذهاب ثم ( Programs ) واختيار البرامج ( Start ) إلى قائمة ابدأ Microsoft Visual ) اختيار برنامج فيجوال بيسيك من مجموعة : (1- كما في شكل ( 4 ( studio - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 31 مع العلم أن هناك طرقاً كثيرة لتشغيل البرنامج لن نشغل أنفسنا ا !! . وسنطبق عليها معظم أوامر ( Form ) سوف نقوم بانشاء نافذة التعامل مع البيانات ، وسوف نقوم بإنشاء بعض الكائنات (1 - شكل ( 4 - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 32 عليها ، وخصائص هذه الكائنات موجودة في الجدول : (2- شكل( 4 form1 Caption : برنامج المبيعات Right To Left : True Window State : 2- maximized Label1 Caption : رقم الفاتورة Alignment : 2- center Label2 Caption : اسم المشتري Alignment : 2- center Label3 Caption : نوع البضاعة Alignment : 2- center Label4 Caption : طريقة الدفع Alignment : 2- center Label5 Caption : إجمالي المبلغ Alignment : 2- center Label6 Caption : العربون Alignment : 2- center Label7 Caption : الباقي - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 33 Alignment : 2- center Label8 Caption : التاريخ حال البيع Alignment : 2- center Label9 Caption : الوقت حال البيع Alignment : 2- center Label10 Caption : ملاحظات Alignment : 2- center Textoption Text : "" , Enabled = False Text1 Text : "" , Right To Left : True Text2 Text : "" , Right To Left : True Text3 Text : "" , Right To Left : True Text4 Text : "" , Right To Left : True Text5 Text : "" , Right To Left : True Text6 Text : "" , Right To Left : True Text7 Text : "" , Right To Left : True - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 34 Text8 Text : "" , Right To Left : True RichTextbox Text : "" , Right To Left : True Command1 Caption : حفظ الفاتورة Command2 Caption : تعديل فاتورة موجودة سابقاً Command3 Caption : اظهار فاتورة موجودة Command4 Caption : عرض جميع البيانات Command5 Caption : خروج Dbgrid1 Caption : عرض جميع الفواتير Option1 Caption : ( كاش (نقداً Option2 Caption : شيك Option3 Caption : بطاقة ائتمان Option4 Caption : أخرى Combo1 list : … أدوات مترلية – مواد غذائية Data1 Database name : Sold_quantity Record source : invoice ( 1 – شكل ( 4 - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 35 ملاحظة: إن بعض الكائنات المذكورة في الجدول السابق غير قياسية ( أي غير موجودة في قائمة أدوات فيجو ال بيسيك تلقائياً ) ولكنها تظهر بالضغط على الزر الأيمن للفأرة على قائمة أدوات ثم اختيار الأدوات ( components ) فيجوال بيسيك ثم اختيار أمر . ( Apply ) واختيار أمر وبعد إنشاء هذه الكائنات السابقة وضبط خصائصها كالسابق : ( 4- سوف تظهر شاشة البرنامج كما في الشكل التالي ( 4 ( 4- شكل ( 4 - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 36 ربط البرنامج بقاعدة البیانات : يجب على كل من يستخدم فيجوال بيسيك في برمجة قواعد البيانات ربط البرنامج بقاعدة البيانات قبل البدء في كتابة الكود الخاص بالبرنامج ، ويتم ذلك بواسطة كائن خاص هو ( Code ) وإذا لم تكن هذه الأداة ، (Data control) أداة الربط موجودة ضمن الأدوات يمكننا إضافتها عن طريق اختيار أمر واختيار الأداة ثم ( Project ) من القائمة ( Components ) وذا يمكننا اختيار الأداة واستخدامها ، ( O.K ) الضغط على زر في ربط البرنامج بقاعدة البيانات بضبط كل من باسم قاعدة البيانات و خاصية Databasename خاصية . (1- باسم الجدول كما فعلنا في شكل ( 4 Recordsource حفظ البیانات : وذا نكون قد بدأنا بداية صحيحة تساعدنا في بناء برنامج قوي خالي من الأخطاء بإذن الله تعالى . - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 37 إن حفظ البيانات هو من أهم الأمور التي يجب أن تكون موجودة في البرنامج ، لأن جميع المستخدمين يريدون الاستفادة من هذه البيانات بعد كتابتها ( أي في وقت لاحق ) ، ويتم حفظ البيانات Data1.Recordset.AddNew : عن طريق كتابة الأمر التالي في برنامجنا الحالي . Command وسوف نطبق هذا الأمر على زر 1 : Command كتابة الشفرة لزر الحفظ 1 Data1.Recordset.AddNew Data1.Recordset.Fields!the_no= Text1.Text Data1.Recordset.Fields!per_name = Text2.Text Data1.Recordset.Fields!the_kind = Combo1.Text If Option1.Value = True Then Textoption.Text = "( "كاش(نقداً Exit sub End if If Option2.Value = True Then Textoption.Text = " "شيك Exit sub End if If Option3.Value = True Then Textoption.Text = " "بطاقة ائتمان Exit sub End if If Option4.Value = True Then Textoption.Text = Text3.Text Exit sub End if Data1.Recordset.Fields!payment_way = Textoption.Text Data1.Recordset.Fields!all_money = Text4.Text أمر الإضافة إلى قاعدة اسم أداة الربط البيانات - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 38 Data1.Recordset.Fields!deposit = Text5.Text Data1.Recordset.Fields!remainder = Text6.Text Data1.Recordset.Fields!the_date = Text7.Text Data1.Recordset.Fields!the_time = Text8.Text Data1.Recordset.Fields!notes = RiahTextbox Data1.UpdateRecord **************** شرح الكود السابق: -1 في السطر الأول قمنا بإخبار فيجوال بيسيك بأننا سنقوم بعملية حفظ بيانات جديدة . -2 في السطر الثاني قمنا بحفظ البيانات المدخلة في الكائن . (the_no) في الحقل (Text1.Text) -3 في السطر الثالث قمنا بحفظ البيانات المدخلة في الكائن . (per_name) في الحقل (Text2.Text) -4 في السطر الرابع قمنا بحفظ البيانات المدخلة في الكائن . ( the_kind ) في الحقل (Combo1.Text) -5 من السطر الرابع حتى السطر الواحد والعشرين قمنا بكتابة شروط معينه حيث أن اختيار المستخدم لطريقة الدفع في البرنامج سوف تتم عن طريق اختيار زر من أزرار الاختيار من ثم يقوم البرنامج بكتابة عنوان هذا الزر في صندوق نص يفترض أن يكون مخفي غير ظاهر ( أي تكون قيمة الخاصية - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 39 ولكننا جعلناه ظاهراً لكي يتم فهم ( False تساوي Visible طريقة الحفظ ، ثم بعد ذلك يسندها إلى الحقل الموجود في قاعدة البيانات . -6 وفي السطور البا قية ( ماعدا السطر الأخير )تم إسناد كل بيانات موجودة في كل صندوق نص إلى الحقل المناظر لها الموجود في جدول قاعدة البيانات . -7 وفي السطر الأخير يتم تحديث حفظ البيانات وبدون هذا الأمر لن يستطيع البرنامج الاستفادة من هذه البيانات أو عرضها أو تحريرها أو طباعتها أو إجراء أي عملية عليها حتى تقوم بإعادة تشغيل جهاز الحاسب ، ولكن عند كتابة هذا الأمر فإن البرنامج يستطيع التعامل مع هذه البيانات بمجرد ادخالها . تعدیل البیانات : إن تعديل البيانات يشابه إلى حدٍ كبير حفظ البيانات حيث أننا سنقوم بتعديل البيانات عن طريق كتابة الأمر التالي : Data1.Recordset.Edit اسم أداة الربط أمر تعديل بيانات موجودة - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 40 في برنامجنا الحالي Command وسوف نطبق هذا الأمر على زر 2 كتابة الكود الخاص بتعدیل البیانات : Data1.Recordset.AddNew Data1.Recordset.Fields!the_no= Text1.Text Data1.Recordset.Fields!per_name = Text2.Text Data1.Recordset.Fields!the_kind = Combo1.Text If Option1.Value = True Then Textoption.Text = "( "كاش(نقداً Exit sub End if If Option2.Value = True Then Textoption.Text = " "شيك Exit sub End if If Option3.Value = True Then Textoption.Text = " "بطاقة ائتمان Exit sub End if If Option4.Value = True Then Textoption.Text = Text3.Text Exit sub End if Data1.Recordset.Fields!payment_way = Textoption.Text Data1.Recordset.Fields!all_money = Text4.Text Data1.Recordset.Fields!deposit = Text5.Text Data1.Recordset.Fields!remainder = Text6.Text Data1.Recordset.Fields!the_date = Text7.Text Data1.Recordset.Fields!the_time = Text8.Text Data1.Recordset.Fields!notes = RiahTextbox Data1.UpdateRecord وذا نلاحظ الشبه الكبير بين كتابة كود الحفظ وكود التعديل . - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 41 إظهار البیانات على شاشة البرنامج : هناك طريقتان لإظهار البيانات على شاشة البرنامج ، الأولى إظهار البيانات الخاصة بسجل واحد فقط ، عن طريق البحث عنه بإدخال قيمة معينة في أحد الحقول ، ومن ثم إظهار البيانات المتبقية لهذا السجل ، والطريقة الثانية هي إظهار جميع السجلات في جدول ، وهذا الجدول عبارة عن أداة موجودة من ضمن أدوات فيجوال تقوم ( Microsoft Data Grid Bound Control ) بيسيك اسمها بعرض البيانات في شبكة عن طريق ربطها بأداة ربط قاعدة البيانات وسوف أقوم بشرح كلا الطريقتين بالتفصيل ، ( Data control ) حتى يتم استيعاا : الطریقة الأولى ( عرض البیانات لسجل واحد فقط ) : يتم ( SQL ) وفيها يتم كتابة كود خاص بلغة الاستعلام البنيوية يقوم بإلقاء نظرة خاطفة على جدول قاعدة البيانات ويستخرج منها السجل المطلوب طبقاً للشرط المكتوب في الكود ، وسوف أقوم بتطبيق هذا الكود على مثالنا ، وسوف أقوم بشرحه بعد كتابته . : Command كتابة الشفة لزر إظهار البیانات 3 Data1.RecordSource = “ select * from invoice where_ the_no=" + "'" + Text1.Text + "'" Data1.Refresh Text1.Text = Data1.Recordset.Fields!the_no - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 42 Text2.Text = Data1.Recordset.Fields!per_name Combo1.Text = Data1.Recordset.Fields!the_kind Text3.Text = Data1.Recordset.Fields!payment_way If Text3.Text = “( كاش(نقداً ” then Option1.Value = True Textoption.Text = ”” Exit sub End if If Text3.Text = “ شيك ” then Option2.Value = True Textoption.Text = ”” Exit sub End if If Text3.Text = “ بطاقة ائتمان ” then Option3.Value = True Textoption.Text = ”” Exit sub End if Option4.Value = True Textoption.Text = Text3.Text Text4.Text = Data1.Recordset.Fields!all_money Text5.Text = Data1.Recordset.Fields!deposit Text6.Text = Data1.Recordset.Fields!remainder Text7.Text = Data1.Recordset.Fields!the_date Text8.Text = Data1.Recordset.Fields!the_time RichTextbox.Text = Data1.Recordset.Fields!notes *************** شرح الكود السابق : - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 43 خاص يقوم بالمرور على ( SQL ) -1 في السطر الأول يتم كتابة جميع البيانات الموجودة في في جدول قاعدة البيانات ومن ثم يقوم باختيار السجل صاحب الرقم الموجود في صندوق النص الأول ( أي الفاتورة صاحبة الرقم المكنوب في خانة رقم الفاتورة ) . (ملحوظة :السطرين الأولى في الكود السابق يفضل أن يكتبا في سطر واحد بدون علامة _ ). -2 في السطر الثالث يتم تحديث أداة الربط بحيث أنه يمكنها التعامل مع السجلات المحفوظة حديثاً ( أي أا تتعامل مه مع آخر شكل للبيانات الموجودة في قاعدة البيانات ) . the_no -3 في السطر الرابع يتم وضع القيمة الموجودة في الحقل في صندوق النص الأول . -4 في السطر الخامس يتم وضع القيمة الموجودة في الحقل في صندوق النص الثاني . per_name -5 في السطر السادس يتم وضع القيمة الموجودة في الحقل . Combo في الأداة 1 the_kind -6 في السطر السابع يتم وضع القيمة الموجودة في الحقل وفي الأسطر التي تلي Text في صندوق النص 3 payment_way هذا السطر يقوم البرنامج باختبار القيمة الموجودة في الحقل إذا ما كانت تساوي كلمة "كاش(نقداً)" فإنه سيجعل التركيز - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 44 Textoption على زر الاختيار الأول وسيجعل صندوق النص فارغاً ، و إذا كانت القيمة الموجودة في الحقل تساوي كلمة "شيك" فإنه سيجعل التركيز على زر الاختيار الثاني فارغاً ، و إذا كانت Textoption وسيجعل صندوق النص القيمة الموجودة في الحقل تساوي كلمة "بطاقة ائتمان " فإنه سيجعل التركيز على زر الاختيار الثالث وسيجعل صندوق Exit Sub فارغاً ( ملاحظة:وضعت جملة Textoption النص لغرض معبن ، ألا وهو أنه عند عدم تحقق الشرط فإن جميع الأوامر المكتوبة فيه تلغى وينتقل البرنامج إلى الشرط الذي بعده ) ، فإذا لم تتحقق الشروط السابقة فإن البرنامج سيضع Textoption القيمة الموجودة في الحق في صندوق النص وسوف يجعل التركيز على زر الاختيار الرابع الذي عنوانه "أخرى" . -7 ومن السطر الرابع والعسرين حتى السطر الأخير يتم وضع كل قيمة موجودة في الحقل في صندوق النص الخاص ذه القيمة باستثاء السطر الأخير الذي يتم وضع القيمة في صندوق نص خاص بسعته وقدرته على استيعاب كتابة كثيرة . RichTextbox بخلا صندوق النص العادي ألا وهو - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 45 الطریقةالثانیة ( عرض البیانات في جدول ) : سوف نقوم الآن بمعرفة كيفية عرض البيانات في شبكة تشبه موجودة في فيجوال بيسيك (Object) الجدول وهي عبارة عن أداة كما ذكرت سابقاً ، ويتم ذلك كالتالي : -أ- ربط الأداة بقاعدة البيانات : ويتم ذلك بمجرد ربطها بأداة (DataSource) وذلك بضبط الخاصية (Data control) الربط والتحكم وهي أداة التحكم الموجودة في برنامجنا . Data بالأداة 1 يقوم بإظهار جميع البيانات ( SQL ) -ب- كتابة الكود :كتابة الذي تم حفظها مؤخراً في قاعدة البيانات ، وسوف نقوم بكتابة لكي يتم عرض جميع Form Load الكود الخاص بذلك في الاجراء البيانات في الأداة مع بداية تشغيل البرنامج . كتابة الشفرة الخاصة بإظهر جمیع البیانات : Data1.RecordSource = " select * from invoice " Data1.Refresh وبذلك سيتم اختيار جميع البيانات الموجودة في الجدول ووضعها في . DB Grid أداة العرض تحدیث الفواتیر أثناء عمل البرنامج : لو حاولت أثناء استخدام برنامج المبيعات البحث عن فاتورة -بعد حفظها مباشرة - في أداة العرض لن تجدها ، وذلك لعدم تحديث - إعداد وتصميم الطالب : وليد سعيد محمد الأسمري - 46 البيانات الموجودة في الأداة ، ولذلك سنقوم بكتابة الكود التالي في زر التحديث . كتابة الشفرة الخاصة بزر التحدیث : Data1.RecordSource = " select * from invoice " Data1.Refresh وسوف يقوم هذا الكود بإظهار جميع البيانات الموجودة في قاعدة البيانات في أداة العرض بمجرد الضغط عليه. الخروج من البرنامج : للخروج من برنامج المبيعات يوجد طريقتين ، وكلا هما تصلح مع برنامجنا المتواضع ، الأولى تقوم بإاء كافة أعمال البرنامج وهي الذي End الطريقة الصحيحة لااء أي برنامج ألا وهي كتابة الأمر سينهي جميع مهام البرنامج ، والطريقة الثانية تقوم بإغلاق نافذة معينة ، وبما أن برناجنا المتواضع يتكون من نافذة واحدة فإن الأمر كافٍ لاغلاقه . Unload Me كتابة الشفرة الخاصة بزر الخروج :
[/b][b] | |
|