05-04-13, 01:35 PM
بسم الله الرحمن الرحيم
قمت بكتابة الموضوع في المنتدى القديم و لاي استفسار انا جاهزلا حظت في الفتره الاخيره ان هناك استفسارات عديده حول الادوات المرفقة مع فيجوال ، و طلب هائل على الادوات , مع العلم اني لا احبذ استخدام الادوات اثناء البرمجه , و لكن اذا كان لابد من استخدام الادوات فلماذا لاتكون ادواتنا الخاصه
وكما وعدتكم سابقا اخواني الاعزاء باني سوف اقوم بوضع سلسلة دروس حول صناعة الادوات توضح ماهية الادوات و كيف يتم التعامل معها.
و في هذه السلسله سأهتم بالتركيز على ما يلي:
1- ماهي وظيفة الادوات؟
2- لماذا اقوم بابعمل ادواتي الخاصه؟
3- اداتي الاولى ((كيف ابدأ؟)).
4- الامثله.
5- اداة منتدى فيجوال بيسك ((مشروع)) ' بعد اذن الاداره.
و هذا هو مضمون سلسة الدروس ، اتمنى ان يوفقني الله لما فيه الخير ، و يتم نعمته علينا في هذا المنتدى الاكثر من رائع.
وفي النهاية اخواني الاعزاء ، اتمنى منكم المشاركه البناءه و ابداء الملاحظات و تعديل الخطأ حيثما وجد.
اخوكم
الدرس الاول: الادوات في فيجوال بيسك
بسم الله الرحمن الرحيم
يوفر برنامج فيجوال بيسك ادوات افتراضية متوفره على الشاشه الرئيسية للبرنامج ، و التي تستطيع استخدامها اثناء القيام بعملية البرنامج.
انت تستطيع تصميم برنامج كامل دون الاعتماد على هذه الادوات ((اي بالكود فقط)) , لكن هذه الادوات عرفت عندما بدئنا بالبرمجة المرئية visual التي و فرتها لنا ، عند الانتقال من بيسك و ماتبعه من اصدارات حتى ظهور ما يعرف بالبرمجة المرئية.
استنتاج: اذن الادوات ترتبط بالبرمجة المرئية .
ماذا استفيد مما سبق؟
في الماضي عندما كنت تريد كتابة نص او وضع صندوق نص فان هذا كان يكلفك الكثير من الوقت و الضبط حتى تحصل على ما تريد، اما الان فانت تنقر نقرا مزدوجا فقط على شكل اداة صندوق النص و بكل سهوله.
ان المنطق يقول اني عندما استطيع اختصار الوقت و الجهد و الحصول على فاعلية اكبر في العمل علي اتباع الوسائل الاكثر سلاسه لتنفيذ اعمالي ، من هنا بدأت فكرة الادوات المدرجة في فيجوال بيسك، سرعة و انجاز في العمل.
لعدم الاطالة
الملخص:
س: ماهي الادوات؟
هي عناصر مرئية مدرجة في الفيجوال بيسك لاكواد تحوي اكواد جاهزة يمكن التعامل معها و لا يمكن تعديلها , لمساعدة المستخدم في اعماله , مثل : صندوق نص ، عنوان ، صوره ، الخ.....
كيف استطيع ادراج المزيد من الادوات لإستخدامها في برنامج؟؟
تستطيع ذلك بسهولة من خلال اتباع الطريقة التالية:-
‘ انت الان تعمل على مشروع جديد
1- اختيار قائمة Project من شريط القائم
2- انتقاء الخيار Components
الان ستظهر لك نافذه تحتوي اسماء الادوات التي يحتويها مجلد النظام
‘ اختر اسم الاداة التي تريد استخدامها ؛ و ستظهر مع مجموعة الادوات على الشاشة الرئيسية
وفي النهاية ارجو ان لا اكون ثقيل عليكم باسلوب الشرح
الدرس الثاني: الخطوة الاولى
بسم الله الرحمن الرحيم
يتضح من خلال الدرس الفائت ان الادوات وجدت لتسهيل عملية البرمجة و التعامل مع البرنامج اثناء التطبيق.
اذن:
س:لماذا استخدم ادواتي الخاصه؟؟؟؟
ج: ادواتي الخاصه تلبي احتياجاتي ، و عندما اقوم بتصميمها ادرج بها ما اشاء من خيارات و يكون التعامل معا اكثر سهولة من الادوات الجاهزه.
س: هل يمكن استخدام الادوات اثناء تصميم ادواتي؟؟
ج:نعم؛ ولكن ما الفائده ؟؟؟ ، انت تستطيع استخدام ادوات بيسك الافتراضية.
و الان وصلنا الى اكثر نقطه حاسمه في الموضوع "اداتي الاولى"
******************************************************
قبل البدء في "تصنيع" ادواتي الخاصه , علي معرفة بعض الخصائص المهمه التي تهمني و تساعدني جدا في برمجة ادواتي.
الحدث Initialize
الحدث Resize
الحدث WriteProperties
الحدث ReadProperties
وهذه ليست الاحداث المهمه فقط فهناك غيرها الكثير و لكن هي ما ساقوم بشرحه لاولويتها.
الحدث : Initialize
يتم تنفيذ هذا الكود عند وضع الاداه على الفورم لاول مره و يمكن لنا مقارنته بالحدث load ليتم تسهيل الامر.
الحدث : Resize
حيث يتم التعامل مع الكود اثناء تغير حجم الاداة .
الحدث: WriteProperties و ReadProperties
و هم الاهم عند وضع خصائص للاداة التي سنقوم بانشائها.
*****************
يالمناسبه : سوف اقوم بوضع شرح لخمس ادوات على الاقل ، و سنبدا من الصفر و نطور على ادواتنا و طريقة برمجتنا و التعامل مع الكود.
اداتي الاولى:
برنامج سهل و جميعنا نعرفه ((اله حاسبه ب صندوقين نص))
سوف نقوم بتحويل هذا البرنامج البسيط الى اده و سوف نقوم باستخدام الوظائف "Function" في ذلك
اداتنا لاولى لن تحتوي اي اداه من الادوات الافتراضية طبعا.
سنحتاج في البداية الى معرفة التركيب البنائي للفنكشن:
Public Function Fname(XXX As String)
'code
End Function
Fname: الاسم الذي سنقوم بكتابته عند الاستدعاء
XXX: المتغيرات التي سنقوم بادخالها للفنكشن و يمكن ادخال اكثر من متغير بوضع فاصله بين كل واحد و الاخر
الان سنبدأ بكتابة الكود
Public Function Plus(num1 As String, num2 As String)
Plus = Val(num1) + Val(num2)
End Function
Public Function Minus(num As String, num2 As String)
Minus = Val(num1) - Val(num2)
End Function
Public Function By(num As String, num2 As String)
By = Val(num1) * Val(num2)
End Function
Public Function de(num As String, num2 As String)
de = Val(num1) / Val(num2)
End Function
Private Sub UserControl_Resize()
UserControl.Height = 500
UserControl.Width = 500
End Sub
اداتنا الولى الان جاهزة للعمل
قمت بارفاق مثال لزيادة الفائدة ، ويحتوي على طريقة تشغيل الاداة في الفورم
الدرس القادم سنقوم بعمل اداه بسيطة لعرض الصور نقوم بتطويرها معا.
وفي النهاية ارجو ان يكون الشرح وافي.