Upload
m-almasri
View
2.864
Download
9
Embed Size (px)
DESCRIPTION
this is guide help you to learn the power builder language by simple way, I'm sorry it's for arabic language talker.
Citation preview
بقلم: محمد المصري Power Builder 9.0تعلم
1
تعلّم POWER BUILDER 9.0
إعداد وتنفيذ وإخراج محمد قاسم المصري
بقلم: محمد المصري Power Builder 9.0تعلم
2
الفصل األول
............................................ المؤلف ............................................ إهداء
............................................ لمحة تاريخية ............................................ مقدمه
PB 9.0: واجه تطبيق الـ الفصل الثاني
............................................ Main Interfaceالواجهة الرئيسية ............................................ القائمة الرئيسية ............................................ شجرة الكائنات
............................................ ذاكرة النسخ والقص ............................................ شاشة المعلومات المساعدة
Objects الكائنات المستخدمة :الفصل الثالث
............................................ Workspaceفضاء العمل ............................................ Targetالهدف
............................................ Application تطبيق ............................................ Template Application قوالب تطبيق
............................................ Existing Application قوالب موجودة ............................................ PB Objectالكائنات الخاصة
............................................ Window شاشة ............................................ Menu قائمة
............................................ Structure هيكل ............................................ Function دالة
............................................ Custom Class كائنات مخصصة ............................................ Data Windowنوافذ البيانات ............................................ Free Form نموذج حر
............................................ Grid شبكة ............................................ Tabular جدولي
............................................ Label ملصقات ............................................ Group مجموعة
............................................ Crosstab تقاطع ............................................ Composite تجميع
............................................ N-UP أعمد جريدة ............................................ Graph رسومات بيانية
............................................ Databaseقاعدة البيانات ............................................ Database Painter رسام قاعدة البيانات
............................................ Query استعالم ............................................ Data Pipeline أنابيب البيانات
............................................ Projectمشروع ............................................ Application Wizard تطبيق سريع
............................................ Application تطبيق ............................................ Toolأدوات
............................................ Library Painter مستكشف المكتبات ............................................ File Editor محرر الملفات
............................................ Data window Syntax تركيب نافذة البيانات
بقلم: محمد المصري Power Builder 9.0تعلم
3
كتابة الكود: الفصل الرابع
............................................ إنشاء المتغيرات والتعرف على أنواعها ............................................ Statementsاألوامر المستخدمة
............................................ Functionإنشاء الدوال الداخلية والخارجية الفصل اخلامس
............................................ PB 9.0كيف تبني برنامج ............................................ Workspace إنشاء ............................................ Target إنشاء ............................................ Application إنشاء ............................................ Library إنشاء
............................................ إنشاء اتصال مع قاعدة بيانات ............................................ Transaction Object ما هو المقصود بالـ
............................................ MDI إنشاء شاشة ............................................ Menu إنشاء قائمة
............................................ الفصل السادس
............................................ مشاريع عملية وخبرات شخصية
بقلم: محمد المصري Power Builder 9.0تعلم
4
الفصل األول (متهيد) )1-1 ( المؤلف
)1-2 ( إهداء
)1-3 ( لمحة تاريخية
)1-4 ( مقدمه
بقلم: محمد المصري Power Builder 9.0تعلم
5
المؤلف: )1-1(محمد قاسم محمد المصري
م في السعودية 1977ولدت بتاريخ
بكالوريوس علم الحاسب اآللي مبرمج ومحلل نظم ومدير مشاريع
PMP no : 1350223 م 1999عملت في مجال البرمجة وتحليل النظم وإدارة المشاريع منذ عام
Power Builder 9.0, 11.5 وDeveloper 2000 و VB 6.0لغات البرمجة: Ms Access, Sybase, MS SQL Server, Oracle 8i,9i,10gقواعد البيانات:
بقلم: محمد المصري Power Builder 9.0تعلم
6
)إهداء: 2-1(
أهدي هذا العمل ألجدادنا السباقني إىل العلم واخلري، الذين ما فتأت قلوهبم ختفق نشوة االنتصار
يف شتى ميادين احلياة يسطّرون حبروف من نور معنى التميز والرفعة والتقدم، واهدي كل قطرة عرق
تزاحــمت على أجسادهم النقية تتسارع لتطفئ هليب االكتشاف واالخرتاع والبحث، لقد بقيت أعماهلم
وعلمهم نرباساً مضيئاً ينتشي شعاعه يبدد ضباب اجلهل والتأخر عن ركب احلاضر واملستقبل املنشود
وأجرهم مستمر غري مقطوع، وأمتنى من ا العلي القدير أن يلهمين اإلميان والصرب وأن أقدم ما يف
ال ينقطع بإذن ا تعاىل وأجر جعبيت من علم متواضع أنشره يف شتى الوسائل ال أبتغي منه إال وجه ا
وخالص دعائكم يل. محمد المصري
بقلم: محمد المصري Power Builder 9.0تعلم
7
) لمحة تاريخية: 3-1( كلغة رائدة متخصصة ببناء برامج POWER SOFT أنتجتها شركة POWER BUILDERلغة البرمجة
وأصبحت Power Builder مع لغة البرمجة Power Soft شركة Sybaseقواعد بيانات، ولقد اشترت شركة جزء ال يتجزأ منها وتم تطويرها والرقي بها حتى أصبحت ناضجة اإلمكانيات واألدوات.
ومن بعض مميزاتها: .واجهة تطبيق فخمة وواضحة وغير مملة سهولة وسرعة وفعالية منقطعة النظير في بناء برامج قواعد البيانات، لما تحويه هذه اللغة من أدوات فعالة
جداً وخالية من التعقيد. ) سهولة كتابة النص المصدريCode وهي شبيه بلغة (C++ أو JAVAوتعتبر األوامر مألوفة للمبرمجين ، ) سهولة الربط مع قواعد البيانات المتعددة مثلOracle, MS SQL SERVER, Sybase, MS Access
ODBC .(
وال بد من التنبيه من أن هذه اللغة غير منتشرة بشكل كبير في الشرق األوسط وذلك لعدم وجود الدعم الفني من القوي في الشرق األوسط، وعدد المبرمجين محترفي هذه اللغة قليل نسبياً في هذه المنطقة، Sybaseالشركة األم
ولكن ما أن تبحر في هذه اللغة وترى إمكانياتها الكبيرة ستنشأ بينك وبينها روابط تشجعك على تعلمها وخصوصاً إذا كنت محترف لغة برمجة أخرى ستشاهد الفرق وستحكم بنفسك.
بقلم: محمد المصري Power Builder 9.0تعلم
8
) مقدمه: 4-1(سأقوم بإذن هللا بعرض هذه المادة من منظور تطبيق واقعي وليس سرد أكاديمي بحت، وسأقوم بالتركيز على
) التي تهمك كمبرمج محترف أو مبتدئ، وهناك متطلبات يفترض أن PB 9.0 ) Power Builder 9.0إمكانيات وهي: PB 9.0تكون موجودة كلها أو بعضها لسرعة تعلمك
.(Visual)امتالك خلفية جيدة عن البرمجة المرئية، كخبرة سابقة بالعمل على لغة برمجة مرئية .1 اإلطالع على برامج مرتبطة بقواعد البيانات، لتمتلك المنطق في بناء البرامج. .2امتالك خلفية جيدة عن تحليل األنظمة، وهذه ضرورية لكونها العنصر الرئيسي في عملك كمبرمج أنظمة قواعد .3
بيانات، ويجب أن تعرف التالي: بناء الجداول Primary key Foreign key Index SQL Statement View
امتالك الحس البرمجي والمنطقية في التفكير في كيفية بناء البرامج وحّل المشاكل البرمجية التي ستواجهك بشكل .4 مثالي وصحيح.
التوكل على هللا تعالى والثقة بالنفس والمتابعة المستمرة لمسيرة تعلمك. .5
بعد دراسة هذه المادة وتطبيقها عملياً يجب أن تكتسب المهارات التالية: ستصبح مبرمج محترف للغة البرمجةPB 9.0 . المعرفة التامة بجميع أدوات وتقنيات الـPB 9.0.وكيفية استخدامها والهدف منها المعرفة الصحيحة بكيفية البرمجة على األصول القياسية حسب توصيات شركةSybase. .اإللمام الجيد بالتطبيقات العربية وخاصة داخل المملكة العربية السعودية لخصوصيتها .امتالك معلومات عامة عن بعض األنظمة التجارية التي ستسهم في الرقي بك كمبرمج بشكل عام
بقلم: محمد المصري Power Builder 9.0تعلم
9
الفصل الثاني PB 9.0واجهة تطبيق
) 2-1 ( الواجهة الرئيسية
)2-2القائمة الرئيسية ( )2-3شجرة الكائنات ( )2-4ذاكرة النسخ والقص () 2-5شاشة المعلومات المساعدة (
بقلم: محمد المصري Power Builder 9.0تعلم
10
) الواجهة الرئيسية : 1-2( بسهولة الخيارات ووضوحها وقربها من القلب، بحيث تعطيك جميع PB 9.0 تتميز واجهة تطبيق
اإلمكانيات بشكل مبسط وما عليك سوى معرفة ما هي الخيارات واألدوات المتاحة وطريقة عملها 7.0 وما فوق له نفس واجهة التطبيق تقريباُ ولكن من 8.0واستخدامها، وأود أن أركز على أن اإلصدار ). 2-1وما دون تختلف بشكل ملحوظ، أنظر الشكل (
) 2-1الشكل (
القائمة الرئيسية 1شجرة الكائنات 2ذاكرة النسخ والقص 3شاشة المعلومات المساعدة، بحيث تظهر فيها رسائل الخطأ 4
بقلم: محمد المصري Power Builder 9.0تعلم
11
القائمة الرئيسية:) 2-2( و هي كالتالي:PB 9.0وتحوي إجراءات وعمليات وإنشاء الكائنات الخاصة بالـ
1. New جديد، إلنشاء جميع الكائنات OBJECTS 9. EA Server Profile
2. Inherit توريث، يتم توريث صفات كائن إلى كائنات
.10أخرى. Database قواعد البيانات، وهي جزئية خاصة بكل ما يتعلق
ببناء قاعدة البيانات أي محرر قاعدة بيانات ويمكنك التحكم بهيكلية قاعدة البيانات مثال(إضافة وحذف جدول، إضافة وحذف
حقل،...)
3. Open فتح، يتم البحث وفتح جميع الكائنات الموجودة
في المشروع مثال(الشاشات، نوافذ البيانات، القوائم،...).
11. Edit محرر النصوص، بإمكانك إنشاء وفتح ملفات نصية
لالستخدام الجانبي مثال (بإمكانك حفظ فيه بعض األوامر وثم استخدامها مرة أخرى).
4. Run, Preview Object تنفيذ أو معاينة كائن ،
ليعطيك تصور عن شكله أثناء التنفيذ، مثال(الشاشات، نوافذ البيانات، القوائم،...).
12. Incremental Build Workspace عمل فحص وإعادة
بناء لجميع الكائنات الجديدة والتي تم تعديلها فقط.
5. System Tree شجرة النظام يمكنك مشاهدتها في ،) وهذه الشجرة 2) مربع رقم (2-1الشكل أعاله رقم(
تعرض كل محتويات النظام أو المشروع بشكل مرتب ومنظم وبإمكانك أن تنشأ ترتيب خاص بك.
13. Full Build Workspace عمل فحص وإعادة بناء لجميع
الكائنات الجديدة والقديمة والمعدلة والغير معدله، وهذه تستخدم عند وجود مشكلة غير معروفة لكائن أو عدة كائنات داخل
المشروع.
6.
Output مخرجات، يمكنك مشاهدتها في الشكل أعاله ) يتم إخراج بيانات ومعلومات 4) مربع رقم (2-1رقم(
عن بعض اإلجراءات التي يمكن أن تحدث، مثال(عند تنفيذ البرنامج وعندما يظهر خطأ في أحد جمل
البرمجة فإن بيانات هذا الخطأ ستظهر في هذا المربع)
14.
Deploy Workspace إنشاء ملف تنفيذي exe للبرنامج تحوي جميع الكائنات من شاشات وغيرها PBDوإنشاء ملفات
ولكن ال يمكن التعديل عليها.
7. Next Error/Message الذهاب إلى الخطأ أو ،
.15 الرسالة التالية.Skip Build .تخطي بعض الكائنات أثناء إنشاء الملف التنفيذي
8. Previous Error/Message الذهاب إلى الخطأ ،
.16أو الرسالة السابقة. Stop Build .إيقاف إنشاء الملف التنفيذي
9.
To-Do-List قائمة باألعمال وهي طريقة تنظيمية جيدة يمكنك بأن تستغلها لكي تدون جميع أعمالك
المطلوب إنجازها ليسهل عليك تعقب اإلنجازات التي أنجزت والتي لم تنجز، كما يمكنك ربط أي كائن مع
شرح بسيط له بحيث تستطيع الوصول والفتح السريع لهذا الكائن عن طريق تسجيل ارتباط خاص به في هذه
القائمة وتستخدم للكائنات األكثر استخداما.
17.
Debug Now تتبع تصحيح األخطاء الفوري، يقوم بتتبع تصحيح األخطاء عن طريق تنفيذ البرنامج من بدايته على مراحل
تستطيع التحكم بمسارك وتخطي عدة مراحل أو تفصيلها.
10.
Browser مستكشف شاشة تعرض جميع الكائنات الموجودة في المشروع الستعراض التالي
)Properties, Events, Functions الخاص بكل (كائن.
18.
Select and Debug تختار كائن معين وتتبع تصحيح األخطاء فقط لهذا الكائن.
11.
Clip Window شاشة المشبك ، يمكنك مشاهدتها ) ويمكنك 3) مربع رقم (2-1في الشكل أعاله رقم(
إضافة بعض القيم أو النصوص كترميز دائم تستطيع أن تستخدمها وتنسخها في برنامجك.
19.
Run تنفيذ البرنامج يمكنك استخدام اختصار من لوحة المفاتيح CTRL+R.
12. Library مكتبة، عرض جميع المكتبات الخاصة
بالمشروع، والمكتبة تستخدم لتجميع الكائنات كجزئيات منفصلة تنظيمياً .
20. Select And Run اختيار هدف معين عند وجود أكثر من هدف
في البرنامج ثم تنفيذه.
13. DB Profile البيانات الخاصة بقواعد البيانات، من
خاللها ستتمكن من إضافة روابط مع أنواع كثيرة من قواعد البيانات، وربطها مع البرنامج الخاص بك.
21. Exit خروج من PB 9.0.
شجرة الكائنات: )2-2(1.
Workspace ولم تكن موجودة في اإلصدارات السابقة من الـ8.0 فضاء العمل، وهذه اإلمكانية تم إدراجها من اإلصدار PB وهي إمكانية تنظيمية لكي يتم احتواء البرنامج الخاص بك وجميع كائناته بشكل منظم، ور يمكن أن يحتوي البرنامج الواحد أكثر من فضاء عمل.
2. Target ولم تكن موجودة في اإلصدارات السابقة من الـ8.0الهدف، وهذه اإلمكانية تم إدراجها من اإلصدار PB وهي إمكانية تنظيمية تمكنك من
ضم أكثر من هدف (برنامج) تحت فضاء عمل واحد وبإمكانك التعامل مع كل هدف على أنه برنامج منفصل، وضم أكثر من برنامج في هذه الحالة كأهداف يسهل عليك نقل ونسخ الكائنات من هدف إلى آخر بشكل مباشر.
3. Library حسب علمي، وهي إمكانية تنظيمية تمكنك من تصنيف عملك كما هو على أرض 5.0 المكتبة، وهذه اإلمكانية موجودة من اإلصدار
الواقع وضم الكائنات الخاصة بكل تصنيف في مكتبة تحمل اسم ذو داللة، مثال: لنفترض أنك بصدد بناء برنامج محاسبي يشمل(المخزون، الحسابات، الموظفين، الصيانة) فكل هذه الجزئيات تتكون من كائنات(شاشات، قوائم، نوافذ بيانات،...) فمن األفضل بناء مكتبات تضم الكائنات
الخاصة بها، وهذه اإلمكانية تسهل عليك المتابعة وسرعة البحث. 4. Application التطبيق، كائن غير مرئي وهو أول كائن يتم تنفيذه عند عمل Run .للبرنامج ويتم إدراج جمل الربط مع قاعدة البيانات
بقلم: محمد المصري Power Builder 9.0تعلم
12
الفصل الثالث Objects PB
كائنات بور بيلدر
بقلم: محمد المصري Power Builder 9.0تعلم
13
هو عبارة عن مجموعة مترابطة من الخصائص واألحداث والوظائف ترسم صفة :Objectما هو الكائن أو الـ عامة يطلق عليها اسم كائن، وهناك أنواع من هذه الكائنات الموجهة:
1. Visual Object.الكائن المرئي: مثل الشاشة والعناصر داخل الشاشة 2. Non Visual Object الكائن الغير مرئي: مثل التطبيق Application مثل الحركة ،Transaction. 3. User Object كائنات من صنعك الخاص: يمكنك ابتكار كائن خاص بك يمكنك إعطائه خصائص وأحداث
ووظائف لتأدية عمل معين مثال: إنشاء تقويم.
ثورة في عالم Visual Object Oriented Programmingولقد أحدثت برمجة الكائنات الموجهة المرئية البرمجيات وصناعتها إذ أصبحت لغات البرمجة تتنافس أيهم يقدم كائنات أقوى وذات إمكانيات أكبر وأسهل
إلى البيئة الجديدة من Ms Dosباستخدامها، ولهذا األثر األكبر في نقل البرمجيات التي تعمل تحت بيئة نظام التشغيل مع وجود األكثر انتشارا في العالمWindows على افتراض أن نظام التشغيل Windowsأنظمة التشغيل المرئية
أنظمة تشغيل مرئية أخرى. أريد أن أركز على أن الفهم الصحيح للكائنات الموجهة سيسهل عليك كمبرمج مبتدئ الدخول من الباب الصحيح لهذا العالم االفتراضي بحيث يمكنك شق طريق خاص بك بعيداً عن التقليد األعمى للغير، بإمكانك امتالك األدوات واإلمكانيات ألي لغة برمجة وبإمكانك استخدامها لعمل مشروع يحمل بصمتك المتفردة، و أود أن أهمس في إذنك بعض األمور علها
لغة رسمية لتطبيقاتك على قواعد البيانات: Power Builderتكون سبباً في اختيارك للغة البرمجة أنتبه للغة التي تريد أن تستخدمها ما هي اإلمكانيات التي تقدمها لك كمبرمج مبتدئ أو محترف وخاصة بالمتعلقة
بقواعد البيانات، هل هي شاملة؟ هل هي سهلة االستخدام بدون تعقيدات ولف ودوران؟ هل توفر لك جميع الحلول .Power Builder؟ نعم هي لغة االحترافية والمتقدمة
ال يغرنك االنتشار الكبير ألحد اللغات في منطقتك وهذا يؤدي إلى أن تقل فرصك بالمنافسة على الوظائف الشاغرة سيكون احترافك له مصدر قوة في البحث عن Power Builderفي سوق العمل، ولكن عندما تكون محترف
الوظائف الشاغرة لعدم انتشارها الكبير في الشرق األوسط فيكون الطلب قليل على هذه اللغة ولكن سيكون المردود المالي كبير لعدم وجود منافسة كبيرة على وظائف هذه اللغة في سوق العمل.
إذا تعلمت أي لغة برمجة مرئية باحترافية فليس عليك بأس في احترافك لغة برمجة مرئية أخرى، فبإمكانك الجمعبين أكثر من لغة برمجة في آن واحد بل بالعكس هذا يثري معلوماتك وخبراتك وفرصك بالنجاح ويمكنك من
المقارنة بين هذه اللغات وأيهما أقوى تقنياً .
. PBأرجوا منك التركيز على هذا الفصل لفهم ما يحتويه من الكائنات الخاص بالـ
بقلم: محمد المصري Power Builder 9.0تعلم
14
: PB 9.0كيف تقوم بإنشاء أحد الكائنات المرئية باستخدام الـ
. ) جديد NEWاذهب إلى القائمة الرئيسة واختر ( .1). 3-1، انظر الشكل أدناه رقم (PBستظهر لك شاشة فرعية فيها معظم الكائنات التابعة للـ .2
) 3-1شكل رقم (
وسيكون فيها ترتيب حسب PB سأقوم بتفصيل أهم الكائنات التي تحتاجها في بناء برنامج احترافي على لغة الـ
األولوية في بناء البرامج، ولكي تكتمل الصورة يجب علينا أن نمثل هذه الفقرة بمثال واقعي لكي تصل الفكرة المطلوبة بسهولة، دعني اسأل السؤال التالي:
؟ PB 9.0كيف أبني برنامجاً على لغة الـ بمراعاة التالي: PB 9.0بإمكانك بناء برنامج الـ الجواب: ,Workspace, Target يجب تمييز بعض الكائنات الهيكلية التي تعتبر أساس البرنامج المنشود وهي (أوالً )
Application, Library.وهذه يتم بنائها بشكل مبدئي كهيكل للبرنامج وكخطوة أولى ( ؟ Workspaceكيف أبني •
. ) جديد NEWاذهب إلى القائمة الرئيسية واختر ( .1). 3-2، انظر الشكل أدناه رقم (PBستظهر لك شاشة فرعية فيها معظم الكائنات التابعة للـ .2 .Workspaceقم باختيار .3 . Okثم اضغط .4
بقلم: محمد المصري Power Builder 9.0تعلم
15
) 3-2شكل رقم (
باسم فاألفضل أن تقوم بإنشاء مجلد جديد وليكن أسمه Workspaceستظهر شاشة لحفظ .5
NewProject) 3-3 أنظر الشكل رقم.(
) 3-3شكل رقم (
وليكن على سبيل المثال Workspace وقم بكتابة اسم للـNewProjectثم قم بالدخول على المجلد .6Newspace) 3-4 أنظر الشكل رقم.(
بقلم: محمد المصري Power Builder 9.0تعلم
16
) 3-4شكل رقم (
).3-5 في شجرة النظام كما في الشكل رقم ( Workspaceسيظهر الـ .7
) 3-5شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
17
؟ Library و Application و Targetكيف أبني • من بناء هذا الكائنات دفعة واحد لتسهيل أمر بناء هيكلية لبرنامجك الجديد، أنظر الشكل PB 9.0تمكنك الـ
في الشكل أدناه: 5 و 4) أرجوا االنتباه إلى رقم 3-6رقم (
4 Template Application هي عبارة عن : Wizard مساعد بناء يمكنك بناء
اإلطار العام لبرنامجك بشكل سريع ويمكنك اإلطالع عليها. 5 Existing Application يمكنك أن تقوم باختيار :Application . ًموجود مسبقا
3 Application .وهذه الجزئية هي التي تهمنا يجب التركيز عليها :. Application 3سنقوم بشرح النقطة رقم
). جديد Newأذهب إلى القائمة الرئيسية وأختر ( .1 .Targetثم قم باختيار .2 .Applicationقم باختيار .3. Okثم قم باختيار .4
) 3-6شكل رقم (
Library وTarget فقط ومن ثم سيتم إنشاء اسم الـ Applicationستظهر شاشة تحدد فيها اسم الـ
. newapplication وليكن اسمه Application)، قم بكتابة اسم الـ 3-7بشكل آلي أنظر الشكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
18
) 3-7شكل رقم (
). 3-8، في شجرة النظام أنظر الشكل رقم (Library و الـ Target و الـ Applicationسيتم بناء الـ
) 3-8شكل رقم (
فهكذا نكون قد أنهينا بناء الهيكل الخاص بالبرنامج وسننتقل للخطوة الثانية وهي التعرف على الكائنات الخاصة بالـ PB 9.0 .
بقلم: محمد المصري Power Builder 9.0تعلم
19
سأقوم بعرض وافي لجميع الكائنات التي تحتاجها في بناء برنامجك ثانياً ) ). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .PB Objectقم باختيار .2) الحظ أن أهم الكائنات كما في الصندوق األحمر التي تحتاجها 3-9ستظهر شاشة كما في الشكل رقم ( .3
بشكل كبير ومتكرر، وسنبدأ بشرح هذه الكائنات بشكل مفصل:
) 3-8شكل رقم (
Windowالشاشة .1
). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .PB Objectقم باختيار .2 ).3-9ستظهر شاشة كما في الشكل رقم ( .3 من القائمة.Windowقم باختيار كائن .4 ).3-10 كما في الشكل رقم (Windowسيظهر كائن .5
بقلم: محمد المصري Power Builder 9.0تعلم
20
) 3-9شكل رقم (
) 3-10شكل رقم (
3 إلى 1) ومرقمة من 3-10 أجزاء كما في الشكل رقم (3ستالحظ أن الشاشة مقسومة إلى
وهي جسم الشاشة. 1رقم
بقلم: محمد المصري Power Builder 9.0تعلم
21
ويمكن تصفح باقي الجزئيات General) وسنركز على جزئية 3-11 خصائص الشاشة كما في الشكل رقم (2رقم لوحدك.
) 3-11شكل رقم (
Window State
حالة الشاشة
Back color
Title عنوان الشاشةTag نص مساعدة مختصر
Menu Name اسم القائمةVisible إظهار
Enabled تمكينControl Menu
قائمة التحكم
Max Box تكبير Min Box تصغيرClient Edge حواف أدق
Right To left تحويل الشاشة من اليمين لليساروتستخدم في تطبيقات اللغة العربية
Center تثبيت الشاشة في الوسطResizable قابلية تغيير حجم الشاشة
Window Type
نوع الشاشة: Child
ابن تابع جزء ال يتجزأ من الشاشة الرئيسية
Main
شاشة عادية إذا تم فتحها ستكون مفصولة Openبواسطة
عن الشاشة الرئيسية، وتكون تابعة للشاشة الرئيسية باستخدام
. OpenSheetأمر
Mdi شاشة يمكنها ضم أكثر من
MultipleDocumentشاشة،Interface
Mdi Help
وفيها شريط Mdiشاشة نفس مساعدة أسفلها
Popup شاشة تكون مثل صندوق الرسالة
ال يمكنك اختيار أي كائن خلفها إال باختيار زر منها.
Response
شاشة تكون مثل صندوق الرسالة ال يمكنك اختيار أي كائن خلفها إال باختيار زر منها، ويمكن أن
تمرر قيمه من خاللها
بقلم: محمد المصري Power Builder 9.0تعلم
22
) 3-10 مكونات الشاشة كما في الشكل رقم (3رقم
1
Layout التصميم
هي جسم الشاشة التي يمكنك تنسيقها وإضافة
كائنات عليها مثل األزرار و كائنات أخرى
2
منطقة عمليات
هذه جزئية متغيرة حسب اختيارك إما
أو دالة )Eventلحدث((Function) بحيث
تظهر فيها اسم آخر شي تم استخدامه
3
Event أحداث
هي أحداث تخص كل كائن يمكنك وضع كود
حسب ما يقتضيه الموقف
) عند openمثال حدث(دخول الشاشة ينفذ
الكود الموجود في حدث Open
Close إغالق عند الخروج ينفذ حدث
Close
بقلم: محمد المصري Power Builder 9.0تعلم
23
4
Function دوال
هذه الدوال محلية Local ونطاق
تأثيرها على الشاشة والكائنات المرتبطة بها، وهي نوعين:
دوال موجودة •مسبقاً كصفة في
الكائن. دوال يمكن أن •
يعّرفها المستخدم .ويمكن أن تمرر أكثر من متغير
وتستطيع إرجاع قيمة واحد فقط
5
Declare Variables
تعريف المتغيرات: وتعتبر من األمور
المهمة جداً في برمجة PB أو أي لغة أخرى
وهي أنواع يجب أن تستوعبها:
1. Global:عام نطاق تأثيره لكل
الكائنات الموجود في المشروع،
ويحتفظ بقيمته لكل البرنامج ويفقد
قيمته عند الخروج من البرنامج.
2. Sharedمشترك نطاق تأثيره على الكائن ومحتوياته
ويحتفظ بقيمته حتى إذا تم إغالق
الكائن.3. Instance داخلي
المتغير مجاله فقط Eventداخل
(الـحدث) الخاص أو Controlبالـ
(عنصر التحكم) ونطاق تأثيره في
داخل الحدث event
بقلم: محمد المصري Power Builder 9.0تعلم
24
2. Menuالقائمة ). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .PB Objectقم باختيار .2 ).3-11ستظهر شاشة كما في شكل رقم ( .3 من القائمة.Menuقم باختيار كائن .4 ).3-12 كما في الشكل رقم (Menuسيظهر كائن .5
)3-11شكل رقم (
)3-12شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
25
1
القائمة بناء
يتم بناء القائمة على شكل شجرة يمكنك تفريع أكثر من مستوى ويمكنك نقل جزئية تحت أخرى أو جعلها رئيسية انظر الشكل
أدناه،
قم بنقر الزر األيمن للفأرة على •Untitledستظهر قائمة منبثقة
Insert Submenu قم باختيار •Item .
ثم قم بكتابة اسم القائمة التي تريد . •
2
معاينة للقائمة
يمكنك مشاهدة معاينة للقائمة
3
األحداث events
يمكنك كتابة (الكود) في األحداث التي تخص عناصر القائمة
بقلم: محمد المصري Power Builder 9.0تعلم
26
4
الخصائص General
Name اسم العنصر في القائمةومن المستحسن أن يبدأ
)mاالسم بـ(
Lock Name إقفال حقل الـName
Text النص
Micro Help مساعدة صغيرة عندمرور مؤشر الفأرة على
العنصر يظهر النص المكتوب
Visible إظهار/إخفاء
Enabled تمكين/حظر
Checked (صح) إضافة عالمةبجانب العنصر
Default اختيار العنصر بشكلتلقائي
ShiftToRight تحويل اتجاه القائمةلليمين وتستخدم في التطبيقات العربية
Shortcut Key عمل اختصار مثالCTRL+A
4
الخصائص Toolbar
Toolbar Item Text
مسمى عنصر موجود في شريط األدوات
Toolbar Item Name
تختار صورة من القائمة
Toolbar Item Down Name
تختار صورة لعنصر في قائمة األدوات المنسدلة
Toolbar Item Visible
إظهار/إخفاء
Toolbar Item Space
تحدد مسافة فارغة على شريط األدوات تسبق
العنصر المحدد.
Toolbar Item Order
تحدد رقم تسلسلي لترتيب العناصر في
شريط األدوات
بقلم: محمد المصري Power Builder 9.0تعلم
27
3 . Structure الهيكل وتستطيع استخدامها بكثرة لنقل وتمرير مجموعة من البيانات واستقبالها PBالهيكل من الكائنات الموجودة في الـ
في مكان آخر دفعة واحدة، ولبناء هيكل جديد اتبع التعليمات أدناه:
). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .PB Objectقم باختيار .2 ).3-13ستظهر شاشة كما في شكل رقم ( .3 من القائمة.Structureقم باختيار كائن .4 ).3-14 كما في الشكل رقم (Structureسيظهر كائن .5
)3-13شكل رقم (
)3-14شكل رقم (
بإمكانك أن تقوم بإضافة عدة أسطر وتسمي متغيرات وأنواع بيانات مختلفة حسب ما تقتضيه الحاجة كما في الشكل رقم Message)، وسنتعرف على كيفية استخدام الهيكل داخل الكود وكيف نرسله وكيف نستقبله عن طريق الكائن 14-3(
.الفصل الخامس في
بقلم: محمد المصري Power Builder 9.0تعلم
28
4 . Function الدالة كائن الدالة يستخدم باستمرار في أي لغة برمجة لما له من فوائد كثيرة في تنظيم العمل وجعله مركزياً، ولتوضيح ذلك أنظر الشكل رقم
) الذي يوضح الفرق بين تكرار محتوى الدالة في أجزاء مختلفة في البرنامج وبين استدعاء الدالة ومحتوياتها لكي تنفذ العمل 15-3(المطلوب منها بشكل مركزي.
الطريقة التقليدية نشر الكود
السلبيات: استهالك وقت كبير في نسخ و لصق الكود في .1
أرجاء البرنامج واحتمالية ارتكاب أخطاء كثيرة وخاصة إذا كان البرنامج ضخماً .
صعوبة معرفة عمل هذا الكود وما الهدف الذي تم .2 إنشائه له.
صعوبة التعديل على الكود أو حذفه لتناثره في .3العديد من أماكن البرنامج.
الطريقة األمثل لتجميع الكود في دالة واستدعائها عند الحاجة
اإليجابيات: كتابة الكود مرة واحدة فقط وحفظه داخل دالة. .1سرعة استدعاء الدالة بأمان دون ارتكاب أخطاء في .2
العديد من أرجاء البرنامج وحتى لو كان ضخماً .سهولة تتبع الدالة بمجرد النظر لمعرفة سبب استدعائها .3
في أي جزء من البرنامج.سهولة التعديل على الكود لكونه مركزياً في الدالة، .4
وسيؤثر على جميع إستدعاءات الدالة في أنحاء البرنامج.
بقلم: محمد المصري Power Builder 9.0تعلم
29
5 . Custom Class كائنات مخصصة وهذا الكائن يتيح لك إنشاء كائن مرئي أو غير مرئي مخصص يؤدي وظيفة معينة بحيث يصبح موجوداً وتستطيع
، وإلنشائه اتبع الخطوات التالية: Functions ودوال events استخدامه متى شئت بحيث يحتوي على أحداث ). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .PB Objectقم باختيار .2 ).3-14ستظهر شاشة كما في شكل رقم ( .3 من القائمة.Custom Classقم باختيار كائن .4 ).3-15 كما في الشكل رقم (Custom Classسيظهر كائن .5
) 3-14شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
30
3 Custom Class
كائن مخصص غير مرئي
يمكنك بناء هذا الكائن المخصص الغير مرئي وإضافة كود على أو على الدوال أو إضافة دوال جديدة. eventsاألحداث
4
Standard Class كائن قياسي مخصص غير
مرئي
يمكنك بناء كائن مخصص يأخذ صفاته من كائنات قياسية موجودة . PBأصالً في لغة
تقوم باختيار أي كائن قياسي من القائمة ثم تكمل باقي اإلجراءات
كما في الشكل أدناه.
بقلم: محمد المصري Power Builder 9.0تعلم
31
5 Custom Visual
كائن مرئي مخصص
هذه اإلمكانية قوية جداً بحيث تستطيع إنشاء كائن مخصص ومرئي بنفس الوقت.
ويمكنك إضافة شيء من األدوات مثل (األزرار، القوائم المنسدلة،..)
6 External Visual كائن مرئي خارجي
وتسمية DLL.*وهذا الكائن تستطيع إنشائه من استدعاء ملف لكي يقوم بنفس عمله. Classكائن موجود فيه
بقلم: محمد المصري Power Builder 9.0تعلم
32
7 Standard Visual كائن مرئي قياسي
يمكنك بناء كائن مخصص مرئي يأخذ صفاته من كائنات قياسية . PBموجودة أصالً في لغة
تقوم باختيار أي كائن قياسي من القائمة ثم تكمل باقي اإلجراءات
كما في الشكل أدناه، وعلى سبيل المثال نقوم باختيار CommandButton الحظ الشكل أدناه، ستالحظ بأنك ال تستطيع
إضافة أي أداة أخرى على الشكل الحالي فقط سيأخذ الصفات األساسية لألداة القياسية التي اخترتها.
كيف تستدعي هذه الكائنات المخصصة الستخدامها في البرنامج؟ هناك طريقتان لالستدعاء الكائنات المخصصة:
استدعاء الكائنات الغير مرئية وتفعيلها من الكود. .1 استدعاء الكائنات المخصصة المرئية وتفعيلها في البرنامج اتبع الخطوات التالية: .2
افتح أو قم بإنشاء شاشة جديدة. • Create) وقم باختيار 3-15ثم اذهب إلى قائمة األدوات الموجودة في القائمة الرئيسية كما في الشكل رقم ( •
User Object Control. ) وفيها جميع الكائنات المخصصة قم باختيار أحدها حسب حاجتك 3-16ستظهر شاشة كما في الشكل رقم ( •قم بإدراجه بالنقر بزر الفأرة األيسر على الشاشة سيظهر الكائن المخصص على الشاشة كما في الشكل رقم •
)17-3.(
بقلم: محمد المصري Power Builder 9.0تعلم
33
) 3-15شكل رقم (
) 3-16شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
34
) 3-17شكل رقم (
كائن شاشة البيانات: DataWindow Objectثالثاً )
أو شاشة البيانات، يعتبر هذا الكائن ّسر قوة DataWindowسأقوم بعرض وافي لجميع كائنات البيانات وهي تسمى بما تعنيه هذه الكلمة من معنى وأساس احترافك لهذه اللغة هو إتقان فهم واستخدام وتطبيق هذه الكائنات PBلغة الـ
ودمجها مع البرنامج. فهذه الكائنات سهلة االستخدام وغنية باألدوات التي تعطيك مساحة تحكم أكبر بطريقة بناء البيانات وعرضها وحتى
أو Frameطباعتها وإدخالها، لو رجعنا في الماضي القريب كانت قواعد البيانات الكبيرة موجودة على أجهزة رئيسية Sun وكان نظام التشغيل هو Unixويقبل قواعد بيانات مثل الـ Oracle ولقد كانت العمليات الخاصة بإدارة البيانات
كلغة ISO وANSI) وقد تم تسجيلها في SQL Statement) Structured Query Languageتعرف باسم قياسية ومنهجية.
وتمكنك هذه اللغة من عمل اإلجراءات االعتيادية على قاعدة البيانات من (إضافة بيانات، حذف بيانات، حفظ SQLالبيانات، االستعالم، وإنشاء حذف تعديل جدول، ...)، فأساس التعامل مع قواعد البيانات يكون عن طريق
Statement وإلى يومنا هذا مع التطور الهائل في لغات البرمجة المعاصرة وإمكانياتها إال إن SQL هي أساس بشكل SQL Statementالتعامل مع قواعد البيانات ولكن بشكل يحمل صبغة التطور أي أنك تستطيع بناء جملة
. SQL Editorمرئي دون الحاجة إلى كتابة شي يذكر وهذا يسمى ولكن مرئية، ويساويها جملة Select SQL Statement عبارة عن جملة Data Window Objectفتعتبر
SQL .تستطيع استعراضها
بقلم: محمد المصري Power Builder 9.0تعلم
35
). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .Data Windowقم باختيار .2) الحظ أن أهم الكائنات كما في الصندوق األحمر التي تحتاجها 3-18ستظهر شاشة كما في الشكل رقم ( .3
بشكل كبير ومتكرر، وسنبدأ بشرح هذه الكائنات بشكل مفصل:
) 3-18شكل رقم (
من الشكل أعاله هناك خطوات مشتركة يجب المرور بها عند Data windowإلنشاء أي شاشة بيانات .4) وسأشرحها اآلن قم باختيار أي من شاشات 3-18اختيار أي نوع من أنواع شاشة البيانات كما في الشكل (
) ستظهر لك الشاشة التالية:3-18البيانات كما في الشكل (
بقلم: محمد المصري Power Builder 9.0تعلم
36
ستالحظ أنه هناك أكثر من طريقة الختيار البيانات المطلوبة من الجداول الموجودة في قاعدة البيانات قم باختيار أي
وفي ما يلي تفصيل ووظيفة كل طريقة NEXTطريقه من الطرق ثم اضغط زر
1
شاشة فرعية فيها ستظهر لك الجداول الموجودة أسماء جميع البيانات المتصلة في قاعدة باختيار جدول أو حالياً، قم سبيل المثال قم أكثر وعلى t_man_job باختيار جدول
شاشة ستظهر لك
على التالية وتحتوي الجدول محتويات
في الخطوة الذي تم اختياره بإختيار السابقة قم
ثم قم الحقول المطلوبة شريط بإختيار من
Return األدواتبإرجاع فيقوم شاشة الحقول إلى
تصميمها التصميم إلنهاء
مرئية ويمكنك مشاهدة Select Statement SQLستالحظ أن هذه الطريقة عبارة عن اإلمكانيات التالية كما في الشكل أعاله:
• Syntax مشاهدة صيغة SQL Statement. • Sort .ترتيب البيانات • Where.إضافة شروط محددة إلظهار البيانات بشروط محددة • Group.تجميع البيانات • Having.لترتيب المجموعات • Compute.عمل عمليات محاسبية
بقلم: محمد المصري Power Builder 9.0تعلم
37
2
اختيار سريع للجدول أو الجداول المطلوبة أنظر الشكل أدناه:
انظر الشكل التالي t_man_jobقم بإختيار الجدول
بقلم: محمد المصري Power Builder 9.0تعلم
38
3
مخزنة أصال في البرنامج أو كتابتها يدوياً لتحويلها لشاشة Queryبإمكانك استخدام بيانات انظر الشكل أدناه:
4
تستطيع من خاللها أن تبني شاشة بيانات خارجية أي PBوهي ميزة قوية جداً في لغة الـ ليست مرتبطة بأي جدول نهائياً إنما هي حقول وهمية ال تصلح لتخزين البيانات، يمكنك فقط
أن تكتب فيها وتعرض بياناتك فيها وهي تستخدم أكثر شيء في شاشات شروط البحث، وميزتها أن هذه الحقول يتم التطبيق عليها خصائص ودوال وإجراءات شاشة البيانات:
بإمكانك تغذية الحقول التي تريدها باألنواع المطلوبة.
بقلم: محمد المصري Power Builder 9.0تعلم
39
5
اإلجراءات المخزنة: وهي عبارة عن إجراءات مخزنة مسبقاً في قاعدة البيانات وتقوم بعمل محدد تقوم به عند استدعائها وتختلف هذه اإلجراءات من نوع قاعدة بيانات إلى أخرى
أنظر الشكل أدناه.
بقلم: محمد المصري Power Builder 9.0تعلم
40
وهذه الشاشات ستظهر بعد اختيارك ألحد طرق اختيار البيانات أعاله: ستظهر شاشة تنظيمية تقوم من خاللها بتنسيق الحقول و وصفها ويمكنك باالحتفاظ بهذا التنسيق إذا أردت ذلك:
1- Background Color. لون خلفية شاشة البيانات بإمكانك اختيار لون معين 2- Text.وهو وصف للحقول بإمكانك تحديد لون وشكل لحدود الوصف 3- Columns.الحقول أو األعمدة وهي حقول الجدول وبإمكانك تحديد لون وشكل لحدود الحقول . Nextقم بالضغط على زر -4
ستظهر شاشة تحتوي على معلومات تفصيلية عن شاشة البيانات التي سيتم إنشائها وهي للقراءة فقط قم بالضغط على
.Finishزر
بقلم: محمد المصري Power Builder 9.0تعلم
41
) أعاله سيتم شرح أنواع شاشات البيانات بالتفصيل: 3-18قم بالرجوع للشكل رقم (
1. Data window Free Form
استخدمها في شاشات إدخال البيانات وشاشات شروط ). 3-19البحث انظر الشكل (
Sybaseالحظ تنسيق حقول شاشة البيانات الحرة كما في الشكل أدناه، وحجم الخط ونوعه القياسي الذي توصي به هذه الشاشة بعد االنتهاء من التنسيق حاول بأن تحرص على نفس Ms Sans Serif) ونوع الخط 8حجم الخط (
التنسيق.
)3-19الشكل (
) أعاله وهي : 3-19ستالحظ أن شاشة البيانات تقسم إلى أربعة أقسام كما هو موضح في الشكل ( 1 Header تُستخدم لوضع ترويسة ثابتة للصفحة ال تتغير بإمكانك وضع مسمى أو التاريخ وما شابه ذلك
وتستخدم في التقارير بشكل خاص. 2 Detail .تستخدم إلظهار حقول الجدول الموجود في قاعدة البيانات كحقول بيانات في شاشة البيانات3 Summary تستخدم إلظهار بيانات مجمعة تكون مقرونة بآخر سطر في البيانات مثال) مجموع أو متوسط
حسابي لعمود من األعمدة. 4 Footer تستخدم لوضع تذييل ثابت للصفحة ال تتغير بإمكانك وضع مسمى أو تاريخ أو اسم المدير أو
التوقيع أو عدد الصفحات وتستخدم في التقارير بشكل كبير.
بقلم: محمد المصري Power Builder 9.0تعلم
42
2. Data Window Tabular
تستخدم لعرض البيانات وتستخدم في التقارير أنظر الشكل ). 3-20رقم (
)3-20الشكل رقم (
3. Data Window Label
تستخدم إذا أردت طباعة أو عرض البيانات كملصقات ويمكنك تحديد حجم الملصق واتجاه البيانات.
وطريقة تحديد الجداول ستظهر لك شاشة كما هو أدناه: Data Window Labelعند اختيارك لنوع عرض البيانات
أتبع الشاشة أدناه:
بقلم: محمد المصري Power Builder 9.0تعلم
43
أتبع الشاشة أدناه:
ستكون النتيجة كما في الشكل التالي:
بقلم: محمد المصري Power Builder 9.0تعلم
44
4. Grid
كما سبق أن Tabularوهي تستخدم تقريبا كما في الـ . VB 6 التي تستخدم في Gridذكرناها وهي أقرب للـ
: Run Mode عند وضع تنفيذ البرنامج أو ما يعرف Gridهناك بعض اإلمكانيات للـ
بإمكانك تبديل مواقع األعمدة. -1بإمكانك أن تتحكم بحجم العمود. -2
5. News Paper Up Columns
أعمدة الصحيفة يمكنك أن تقوم بعرض بياناتك كأعمدة الصحيفة.
تقوم بإدراج عدد األعمدة الذي تريد أن تبدوا عليه بياناتك وسيظهر شكل شاشة البيانات كالتالي:
وسيتم عرض البيانات على شكل عمودين. 2 و1تالحظ بأن هناك مجموعتين
بقلم: محمد المصري Power Builder 9.0تعلم
45
6. Crosstab
يتم جمع طولي وعرضي للبيانات
الخاص بمعاينة 2 الخاص بالتصميم وقسم 1الحظ المربعات الملونة باألزرق واألحمر واألخضر، الحظها في قسم البيانات.
7. Composite
يتم تجميع أكثر من شاشة بيانات في شاشة بيانات رئيسية
وتظهر كقطاعات فرعية.
قم بإختيار شاشات البيانات المطلوبة كما في الشكل أعاله.
بقلم: محمد المصري Power Builder 9.0تعلم
46
ستظهر شاشة البيانات كما يلي:
. 2 ورقم 1ستجد شاشات البيانات الفرعية تظهر في الشكل أعاله برقم
8. Group
تجميع البيانات حسب فئة معينة
ليكون تجميع البيانات حسب الحقول المدرجة في 2 وإدراجه في مربع رقم 1قم بسحب حقل أو أكثر من مربع رقم . 2المربع رقم
بقلم: محمد المصري Power Builder 9.0تعلم
47
ستظهر شاشة لتحديد فيها شكل شاشة البيانات:
تحديد عنوان الصفحة 1رقم صفحة جديدة عند بداية كل مجموعة جديدة. 2رقم إعادة ترقيم الصفحة عند بداية كل مجموعة. 3رقم
في وضع التصميم
في وضع المعاينة
ستظهر شاشة البيانات كما في الشكل أعاله والحظ تقسيم الشاشة: 1 Header ترويسة الصفحة2 Header Group ترويسة المجموعة 3 Detail تفاصيل المجموعة 4 Trailer Group المجموع الفرعي للمجموعة 5 Summary ملخص للصفحة 6 Footer تذييل الصفحة
بقلم: محمد المصري Power Builder 9.0تعلم
48
9. Graph
رسم بياني للبيانات
في الشكل أدناه 1ستقوم بإختيار قطاع وإسناد حقل من البيانات كما في الرقم
في الشكل أدناه. 2وقم بتغذية القيمة كما في الرقم
2 في الشكل أدناه، وثم حدد أحد الرسوم البيانية كما في النقطة رقم 1قم بإدخال عنوان الرسم البياني كما في رقم
بقلم: محمد المصري Power Builder 9.0تعلم
49
ستظهر شاشة البيانات كرسم بياني في وضع التصميم
ستظهر شاشة البيانات كرسم بياني في وضع التنفيذ أو المعاينة.
في نهاية هذه الجزئية ال بد أن أقول بأن الصورة المتكاملة ستتضح جلياً في الفصول التالية حيث أنها فصول عملية وما وستشاهد أن هذه المعلومات مفيدة جداً في تطبيقك التفصيلي PB قدمته آنفاً إنما سوى تأسيس لألدوات التي تتيحها الـ
العملي.
بقلم: محمد المصري Power Builder 9.0تعلم
50
أدوات قاعدة البيانات: Databaseرابعاً ) وهي أدوات مختصة بإدارة قاعدة البيانات بشكل مباشر وللوصول لهذه األدوات أتبع الخطوات التالية
). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .Painter Databaseقم باختيار .2) الحظ أن أهم الكائنات كما في الصندوق األحمر التي تحتاجها بشكل 3-21ستظهر شاشة كما في الشكل رقم ( .3
كبير ومتكرر، وسنبدأ بشرح هذه الكائنات بشكل مفصل:
) 3-21الشكل رقم (
1 رسام أو محرر قاعدة
البيانات
هذه الجزئية مهمة جداً فمن خاللها تستطيع أن تقوم بإنشاء الكثير من العمليات المرتبطة بقواعد البيانات ومنها:
إنشاء اتصال مع قاعدة بيانات من شتى األنواع مثل: • )MS SQL Server.( Oracle 8i, 9i, 10g. ODBC.مصادر البيانات
إنشاء أو تعديل أو حذف جدول، حقل، عالقة بين جدولين، مفاتيح أساسية •سأقوم بالتركيز على الجوانب التي تهمك في التطبيق العملي الذي سيظهر مستوى
). 3-22األهمية التي ستستفيدها من هذه الجزئية. أنظر الشكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
51
) 3-22الشكل رقم (
العديد من قواعد البيانات التي يمكنك استخدامها، انظر الشكل أعاله PBستالحظ شجرة قواعد البيانات بحيث تتيح لك قمنا بخلق اتصال مع قاعدة بيانات موجودة مسبقاً وسمينا هذا االتصال O84 Oracle8/8i قاعدة بيانات 1الحظ رقم
Def 2 الحظ رقم .): 3-23 اتبع الخطوات التالية كما في الشكل رقم (Defللوصول لخصائص االتصال
ستظهر قائمة.Defاضغط زر الفأرة األيمن على االتصال .1 خصائص. Propertiesقم بإختيار .2
) 3-23الشكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
52
) 3-24 كما في الشكل رقم (Defستظهر شاشة خصائص االتصال بقاعدة البيانات
)3-24الشكل رقم (
2 Profile Name .اكتب أي اسم وليكن اسم ملف معلومات االتصالdef 3 Server وستكون معرفة على الجهاز الرئيسي خدمة اتصال قاعدة البيانات
4 Login ID يكون في بيانات مستخدمي قاعدة اسم المستخدمالبيانات عند إنشائها أول مرة.
5 Password تكون في بيانات مستخدمي قاعدة كلمة المرورالبيانات عند إنشائها أول مرة.
) 3-25الشكل رقم (
2 Power Builder Catalog Table Owner يجب أن تضع اسم المستخدم المرتبط بقاعدة كتالوج مالك الجداولالبيانات لعرض الجداول المرتبطة به.
3 Table Owner كرر اسم المستخدم في الخطة السابقة. مالك الجداول
بقلم: محمد المصري Power Builder 9.0تعلم
53
) 3-26الشكل رقم (
2 Database Connection Syntax نص االتصال بقاعدة البيانات
الحظ نص االتصال يقوم الـ PB ًبإنشائه تلقائيا
وسنستفيد من هذا النص الحقاً .
3 Copy نسخ النصتقوم بنسخ النص ولصقه في
البرنامج 4
Test Connection فحص االتصال مع قاعدة البياناتيمكنك أن تفحص االتصال
بقاعدة البيانات هل هو ناجح أم ال؟
بقلم: محمد المصري Power Builder 9.0تعلم
54
2
SQL محرر جمل استعالمStatement
تتيح لك هذه الجزئية إنشاء جملة استعالم وحفظها باسم واستخدامها في البرنامج بسهولة
).3-27) ستظهر شاشة كما في الشكل رقم ( جديد Newأذهب للقائمة الرئيسية وأختر ( .1 . Database قم بإختيار .2 .Queryقم بإختيار .3 .OKاضغط زر .4 ).3-28ستظهر شاشة كما في الشكل رقم ( .5
) 3-27الشكل رقم (
ستظهر شاشة الجداول قم بإختيار جدول أو أكثر ثم قم
وفي هذا Openباختيار المثال قمنا بإختيار الجدول
t_man_main
)3-28الشكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
55
سيظهر محتوى الجدول كما في الشكـل رقم
)29-3 .(قم باختيار الحقول -1
التي تريدها. قم بالضغط على -2
أيقونة الحفظ من شريط األدوات.
) 3-29الشكل رقم (
ستظهر شاشة حفظ الـ Query كما في الشكل
). 3-40رقم (ادخل اسم الـ -1
Query .قم باختيار المكتبة -2
التي تريد حفظ فيها. Queryالـ
ثم قم بضغط زر -3OK .
)3-40الشكل رقم (
3
تتيح لك هذه الجزئية نقل البيانات من جدول آلخر أو من قاعدة بيانات إلى أنابيب البيانات أخرى، ويمكنك استخدامها لالستفادة من بيانات مهمة وموجودة مسبقاً في
قاعدة البيانات. ).3-40 جديد) ستظهر شاشة كما في الشكل رقم ( Newأذهب للقائمة الرئيسية وأختر ( .1 . Database قم باختيار .2 .Data Pipelineقم باختيار .3). 3-41، ستظهر شاشة كما في الشكل رقم (OKاضغط زر .4
بقلم: محمد المصري Power Builder 9.0تعلم
56
) 3-40الشكل رقم (
قم بتحديد طريقة -1
اختيار بيانات وقد سبق أن شرحناه
بالتفصيل. قم بتحديد -2
المصدر.قم بتحديد -3
الهدف. Okثم اضغط -4
ستظهر الشاشة ). 3-42رقم (
) 3-41الشكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
57
قم باختيار جدول -1من الجداول
المعروضة، وليكن الجدول
t_man_main .ثم اضغط زر -2
Open ستظهر شاشة كما في
-43الشكل رقم (3 .(
) 3-42الشكل رقم (
قم باختيار الحقول -1من الجدول.
ثم اضغط -2Return ،
ستظهر الشاشة كما في الشكل رقم
)44-3 .(
)3-43الشكل رقم (
) 3-44الشكل رقم (
1
طريقة نقل البيانات
• Create – Add Table. • Replace – Drop/Add Table. • Refresh – Delete/Insert Rows. • Append – Insert Rows. • Update – Update/Insert Rows.
إضافة جدول جديد. • تبديل الجدول. • تحديث الجدول. • إضافة سطور للجدول. •حفظ و إضافة سطور. •
2 Source Name يمكنك مشاهدة حقول أسماء المصدرجدول المصدر.
بقلم: محمد المصري Power Builder 9.0تعلم
58
3 Destination Name يمكنك مشاهدة حقول أسماء الهدفجدول الهدف.
4 Execute سيتم تنفيذ صيغة النقل كما تنفيذهو واضح في الخطوات
. 3 إلى 1من
أدوات المشروع: Projectخامساً ) التي تضم جميع الكائنات الخاصة (PBD.*)) وملفات الـ exe.*وهي أدوات مختصة بإنشاء وإدارة الملف التنفيذي (
بالبرنامج الذي تقوم بإنشائه بمعنى آخر تقوم بعمل نسخة من البرنامج مغلقة ال يمكن التعديل عليها ولكن تصلح لتنفيذها ويتم تركيبها على أجهزة المستخدمين أو يتم بيعها على أقراص مدمجة، وللوصول لهذه األدوات أتبع الخطوات
التالية: ). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .Projectقم باختيار .2) الحظ أن أهم الكائنات كما في الصندوق األحمر التي تحتاجها بشكل 3-45ستظهر شاشة كما في الشكل رقم ( .3
كبير ومتكرر، وسنبدأ بشرح هذه الكائنات بشكل مفصل:
) 3-45شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
59
3
بناء التطبيق بالمساعدة
الخاصة بالبرنامج PBD وملفات exeتتيح لك هذه إنشاء التطبيق التنفيذي الخاص بك بواسطة مساعد اإلنشاء.
).3-45 جديد) ستظهر شاشة كما في الشكل رقم ( Newأذهب للقائمة الرئيسية وأختر ( .1 . Project قم باختيار .2 .Application Wizardقم باختيار .3). 3-46، ستظهر شاشة كما في الشكل رقم (OKاضغط زر .4
تقوم هذه الشاشة بعرض مختصر عن عمل هذه
الجزئية. - قم بالضغط على زر 1
Next كما هو موضحستظهر لك شاشة كما في
). 3-47الشكل رقم (
) 3-46شكل رقم (
تسألك هذه الشاشة في مكتبة ستحفظ ملف المشروع؟
قم باختيار أحد هذه -1المكتبات لحفظ ملف
المشروع. قم بالضغط على زر -2
NEXT. ستظهر لك شاشة كما في
). 3-48الشكل رقم (
)3-47شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
60
هذه الشاشة توضح أن
المشروع المبني يمكن أن يستخدم الحقاً لبناء أو لنشر
تطبيقك. قم بإدخال اسم المشروع -1ثم قم بالضغط على زر -2
NEXT. ستظهر شاشة كما في الشكل
). 3-49رقم (
) 3-48شكل رقم (
هذه الشاشة تبين لك بضرورة exeإدخال اسم الملف التنفيذي وتحديد اسم ملف الموارد
(اختياري). باقتراح اسم PBيقوم الـ -1
للملف التنفيذي تلقائياً حسب اسم الـتطبيق
Application أو قم ، بإدخال اسم الملف التنفيذ.
قم بإدخال اسم ملف الموارد -2وهو اختياري، والمقصود
بملف الموارد: ملف من تقوم بتخزين pbr.*إمتداد
أسماء صور بإمتدادتها تستخدم في بناء بعض
جزئيات البرنامج لكي ال تختفي من البرنامج عند نقل
الملف التنفيذي إلى جهاز آخر وبمسار آخر.
ستظهر NEXTاضغط زر -3الشاشة كما في الشكل رقم
)50-3.(
) 3-49شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
61
تسألك هذه الشاشة السؤال التالي: قم بالتأكد إذا كنت
ترغب بتنبيهك وجود الملفات القديمة قبل الكتابة
فوقها من جديد؟ التنبيه عند الكتابة فوق -1
الملفات القديمة. 2- Full Build هو بناء :
كامل البرنامج بجميع محتوياته.
3- Incremental Build بناء تكميلي :
والمقصود بها فقط الكائنات أو المكونات التي تغيرت يتم بنائها من جديد، وتأخذ وقت
أقل.قم بالضغط على زر -4
NEXT ستظهر ، شاشة كما في الشكل
).3-51رقم (
)3-50شكل رقم (
تسألك هذه الشاشة السؤال التالي: هل ترغب بإنشاء
رمز اآللة للتطبيق؟ 1- No ال تقم بإنشاء رمز :
اآللة. 2- Yes قم بإنشاء رمز :
، قم Dll وEXEاآللة 1باختيار الخيار رقم
وهو األفضل. قم بالضغط على زر -3
NEXT ستظهر شاشة كمـا في الشكل رقم
)52-3 .(
)3-51شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
62
توضح لك هذه الشاشة إذا رغبت ببناء مكتبات تنفيذ
. PBDدينامكية وهي قم باختيار هذا الخيار. -1قم بالضغط على زر -2
NEXT ستظهر شاشة ). 3-53كما في الشكل(
)3-52شكل رقم (
هذه الشاشة تمكنك بوضع معلومات عن شركتك واسم
المنتج ووصف وحقوق النسخ و اإلصدار.
قم بتعبئة البيانات إذا -1رغبت.
قم بالضغط على زر -2NEXT ستظهر ،
شاشة كما في الشكل ). 3-54رقم (
)3-53شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
63
هذه الشاشة توضح لك ملخص عن خصائص
التطبيق الذي سيتم إنشائه. 1- Generate To Do
list إذا اخترت هذا :الخيار ستقوم بإنشاء قائمة بإجراءات يجب أن تعمل، أنصح بعد
اختيارها.قم بالضغط على زر -2
Finish ستظهر ،شاشة كما في الشكل
). 3-56رقم (
) 3-55شكل رقم (
هذه هي الشاشة المطلوبة والتي سوف
يتم حفظها ككائن نستطيع استخدامها في المستقبل
عند الحاجة إلنتاج ملفات تنفيذية بعد عمل تعديل
على البرنامج أو إضافة كائنات جديدة على
البرنامج. راجع جميع بيانات
المشروع قبل التنفيذ، وال تنسى أن تختار طريقة
البناء إما تكميلية أو كاملة.
قم بالضغط على أيقونة Deploy النشر .
الملف وبعدها سينتج
وملفات exe.*التنفيذي *.pbd
)3-56شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
64
4
بناء التطبيق الخاصة بالبرنامج PBD وملفات exeتتيح لك هذه إنشاء التطبيق التنفيذي
الخاص بك بشكل يدوي ومباشر. ).3-57 جديد) ستظهر شاشة كما في الشكل رقم ( Newأذهب للقائمة الرئيسية وأختر ( .1). 3-58، ستظهر شاشة كما في الشكل رقم (OK. اضغط زر Application .4. قم باختيار Project .3 قم باختيار .2
)3-57شكل رقم (
تالحظ بأن
التطبيق فارغ ويمكنك أن تضع جميع
بياناتك مباشرة وتقوم بحفظ
التطبيق وتنفيذه أو
نشره Deploy .
)3-58شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
65
أدوات عامة: Toolسادساً ) باستخدام أدوات سهلة تساعد على تسهيل العمل، وللوصول لهذه األدوات PBوهي أدوات عامة تساعد مبرمجي الـ
أتبع الخطوات التالية: ). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .Toolقم باختيار .2) الحظ أن أهم الكائنات كما في الصندوق األحمر التي تحتاجها بشكل 3-59ستظهر شاشة كما في الشكل رقم ( .3
كبير ومتكرر، وسنبدأ بشرح هذه الكائنات بشكل مفصل:
) 3-59شكل رقم(
2
رسام المكتبات تتيح لك هذه الجزئية تطبيق إجراءات على المكتبات.
).3-59 جديد) ستظهر شاشة كما في الشكل رقم ( Newأذهب للقائمة الرئيسية وأختر ( .1 . Tool قم باختيار .2 .Library Painterقم باختيار .3 ).3-60، ستظهر شاشة كما في الشكل رقم (OKاضغط زر .4
بقلم: محمد المصري Power Builder 9.0تعلم
66
سيظهر مستكشف أو
محرر المكتبات تشاهد بأن
الشاشة تتيح لك إمكانيات عرض
المكتبات على األقراص
المتاحة على جهازك قم
باختيار أحد المجلدات
المخزنة فيها البرنامج الحظ
1النقطة رقم
ستظهر محتويات
المكتبة كما في . 2الشكل
) 3-60شكل رقم (
شريط األدوات الخاص بمحرر المكتبات: 3ستشاهد النقطة رقم 1. Create Library مكتبة جديدة2. Select All تحديد الجميع3. Edit تحرير4. Copy نسخ5. Move نقل6. Delete حذف7. Export تصدير8. Import توريد9. Regenerate إعادة إنشاء
10. Search بحث11. properties خصائص12.
Display Most Resent Object
عرض أكثر الكائنات استخداما
بقلم: محمد المصري Power Builder 9.0تعلم
67
3
محرر الملفات تتيح لك هذه الجزئية تحرير وفتح والملفات النصية وغيرها.
).3-59 جديد) ستظهر شاشة كما في الشكل رقم ( Newأذهب للقائمة الرئيسية وأختر ( .1 . Tool قم باختيار .2 .File Editorقم باختيار .3 ).3-61، ستظهر شاشة كما في الشكل رقم (OKاضغط زر .4
سيظهر لك محرر الملفات وهو شبيه بالمفكرة الخاصة بنظام التشغيل
Note bad النوافذ- قم بكتابة النص الذي تريده 1
ويمكنك حفظه بعدة أنواع أنظر الشكل ). 3-62رقم (
) 3-61شكل رقم (
اكتب اسم الملف الذي تريد أن -1تحفظه.
قم باختيار نوع من أنواع الملفات -2 الموجودة.
. SAVEقم بالضغط على زر -3
)3-62شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
68
4
نصوص شاشة البيانات
تتيح لك هذه الجزئية مشاهدة نصوص كل ما يتعلق بشاشة البيانات وما تحتويه من عناصر وبإمكانك نسخها وتطبيقها مباشرة في البرنامج.
).3-59 جديد) ستظهر شاشة كما في الشكل رقم ( Newأذهب للقائمة الرئيسية وأختر ( .1 . Tool قم باختيار .2 .Data Window Syntaxقم باختيار .3 ).3-63، ستظهر شاشة كما في الشكل رقم (OKاضغط زر .4
قم باختيار أحدث -1العناصر الموجودة
في القائمة، ستظهر
خصائصها كما في .2الجزء رقم
عند إختيارك ألحد -2الخصائص
ستظهر صيغة هذه الخاصية كأمر
.PBبالـهذا األمر خاص -3
بعرض قيمة هذه الخاصية، قم
بتظليلها ونسخها ولصقها في
المكان المطلوب داخل برنامجك.
هذا األمر خاص -4بتعيين قيمة لهذه
الخاصية قم بنسخ السطر ولصقه في
المكان المطلوب داخل برنامجك.
). 3-63شكل رقم (
بقلم: محمد المصري Power Builder 9.0تعلم
69
الفصل الرابع (الكود) ) 4-1 ( إنشاء المتغيرات والتعرف على أنواعها
)Statements) 2-4األوامر والجمل )Function) 3-4إنشاء الدوال الداخلية والخارجية
بقلم: محمد المصري Power Builder 9.0تعلم
70
مقدمه: سأقوم بعرض تفصيلي كيف تكتب النص المصدري أو الكود Pbبعد أن عرضنا األدوات والعناصر التي تتكون منها الـ
Code :وستشاهد بعض الخصائص التي تتميز بها هذه اللغة .Java أو C شبيه بلغة PBكود الـ -1بإمكانك أن تختار الجمل ولصقها في محرر األوامر، بحيث تتيح لك اللغة الجمل األساسية في قائمة تستطيع -2
اختيارها مباشرة والتعديل عليها. إمكانية اختيار دوال مبنية في اللغة مسبقاً واستخدامها مباشرة في محرر األوامر. -3 عن طريق بناء التعبير Data Window Objectبإمكانك كتابة كود في نفس كائن شاشة البيانات -4
Expression Builder . بسرعة وسهولة.SQL Builderعن طريق SQL Statement إمكانية بناء جملة -5 النص اآللي عند وضع النقطة (.) سوف تظهر جميع الخصائص والدوال التابعة Auto Scriptإمكانية تفعيل -6
للكائن بقائمة منسدلة تسهل عليك كتابة األوامر.
) والتعرف على أنواعها: Variables) المتغيرات (1-4(): هي عبارة عن أوعية بيانات تستخدم في البرنامج الستخدامها في العمليات الحسابية (Variablesالمتغيرات
وغيرها من العمليات وتخزين مؤقت للبيانات إما عن طريق قراءة البيانات من قاعدة البيانات أو عن طريق شاشات إدخال أو طرق أخرى.
أنواع المتغيرات: 1-
Blob ) ضخم، يستخدم لتخزين بيانات غير محدودة الكمية (مفتوح) Binaryعبارة عن كائن ثنائي (
مثال: (صورة، وثيقة وورد).
2- Boolean تحتوي إماTrue أو False .3-
Char or character
ASCIIحرف واحد من جدول مثال:
Char C C = 'T' C = "T"
4- Date
). 31 إلى 1)، األيام (12 إلى 1)، عدد الشهور (3000 إلى 1000التاريخ: يحتوي السنة كاملة (مثال: 1992-12-25 // December 25, 1992 1995-02-06 // February 6, 1995
5-
DateTime
التاريخ والوقت في نوع بيانات واحد، يستخدم فقط لقراءة وكتابة قيم التاريخ والوقت من وإلى التالي: Pbقاعدة البيانات، لتحويل قيمة التاريخ والوقت إلى أنواع بيانات تستخدم في الـ
• Date(datetime) دالة لتحويل نوع البيانات :DateTime إلى Date أو تاريخ، بعد قراءتها من قاعدة البيانات.
• Time(DateTime) دالة لتحويل نوع البيانات :DateTime إلى Time أو وقت، بعد قراءتها من قاعدة البيانات.
• DateTime(Date, Time) دالة لتحويل التاريخ والوقت (اختياري) إلى نوع البيانات :DateTime .قبل كتابتها على قاعدة البيانات
6-
Decimal or Dec
خانة مثال: 18 خانة وبإمكانك نقل الفاصلة العشرية لحد 18رقم عشري (+/-) حتى 123,456
0.000000000000000001 12345678901234.5678
هناك بعض الصيغ المتشابهة وهي: + هي نفس القيمة 95 أو 95 • . هي نفس القيمة1 أو 0.1 • هي نفس القيمة.32 أو .32.0 أو 32.00 •
بقلم: محمد المصري Power Builder 9.0تعلم
71
7-
Double
خانة من الدقة ومجال 15رقم عائم (+/-) بـ من
E-3082.2250738585073 إلى
E+3081.79769313486231 8- Integer or Int 16-Bit 32768- إلى 32768صحيح من +9- Long 32-Bit 2,147,483,647- إلى 2,147,483,648 صحيح من +10- LongLong 64-Bit 9223372036854775807- إلى 9223372036854775808 صحيح من 11-
Real
خانات من الدقة ومجال 6رقم عائم (+/-) بـ من
E-381.175495 إلى
E+383.402822 12-
String
)، موجودة في تطبيقك للحروف 2,147,483,647 إلى 0 بطول متغير (ASCIIأي حرف كاألسماء، العناوين، وهكذا.
a مثال دالة تحول الحروف للحروف الكبيرة String دوال عديدة لمعالجة الـPbوتوفر لغة الـ ، ودالة أخرى تقوم بإلغاء الفراغات بين الحروف. Aإلى
string s1 s1 = 'This is a string' s1 = "This is a string"
مثال: String) في الـ'وبإمكانك تضمين العالمة (
Here's a string: string s1 s1 = "Here's a string".
مثال: String) داخل الـ') لتضمين العالمة(~أو بإمكانك استخدام العالمة (
string s1 = 'He said, "It~'s good'"
13-
Time
إلى 00) الثواني (59 إلى 00) الدقائق (23 إلى 00 ساعة ، يضم الساعات (24الوقت في صيغة 23:59:59.999999 إلى 00:00:00 خانات من 6) وجزء من الثانية إلى 59
أمثلة على الوقت: 21:09:15 = 9:09 pm ثانية بعد الساعة 15
6:00:00 = 6 am ًتماما 10:29:59 = 10:30 am ثانية واحدة قبل الساعة 10:29:59.9sec = 10:30 am 1/10من الثانية قبل الساعة
14- UnsignedInteger, UnsignedInt, or
UInt
16-Bit 65,535 إلى 0صحيح من غير إشارة (+/-) من
15- UnsignedLong or ULong
32-Bit-/+) 4,294,967,295 إلى 0) من صحيح من دون إشارة
إذا كان عندك خبرة وعملت على لغات برمجة أخرى ستجد بأنك قريب مما شرحناه سابقاً عن المتغيرات، ال يوجد
اختالف إال لبعض المسميات.
بقلم: محمد المصري Power Builder 9.0تعلم
72
: Statements or Commands) األوامر أو الجمل 2-4(األوامر أو الجمل هي اللغة التي يستطيع أن يمليها المبرمج على الحاسوب ليحقق نتيجة معينة من إدارة البيانات
الموجودة في قاعدة البيانات على شكل برنامج يعمل تحت بيئة نظام التشغيل، وهنا يختلف المبرمجون حسب رؤيتهم
للمشكلة وتصورهم للحل األمثل، ويمكن أن نسأل السؤال التالي:
سؤال) ما هي العوامل التي تؤثر على إيجاد الحل األمثل لمسألة برمجية؟
جواب) هناك عدة عوامل تؤثر على الحل وهي:
خبرة المبرمج بأدوات اللغة هل هو ملم بأغلب أدوات اللغة واألوامر والجمل، والدراية الكافية بإمكانيات اللغة. •
خبرة المبرمج في مجال المعرفة الذي يطبق فيه مشروعه وسير العمل الذي يترجمه إلى برنامج، إذا درست •
وحللت نظام عمل معين ألحد األنشطة وكنت على دراية كبيرة بطريقة عمل هذا النشاط ستكون لديك فرصة أكبر
لتجسيد النشاط.
استخدام األدوات التحليلية المعرفية الستنتاج الحل األمثل. •
الرؤية المستقبلية للحل، ووضوح هذه الرؤيا تعطي شمولية للحل توفر عليك عناء التعديالت في المستقبل •
بشكل ملحوظ.
إن شاء هللا بعد أن PBوال بد من أن أعطي بعض النصائح في هذا الباب ولكونك ستقوم بإنشاء برنامجك الخاص بلغة
تقرأ هذا الكتاب ومن أهم هذه النصائح:
ترتيب الجمل البرمجية بحيث يسهل تتبعها دون عناء، لتكون على هيئة قطاعات. .1
استخدام التعليقات بكثرة لتكون لك ولغيرك من المبرمجين إشارات توضيحية تعطيك لمحة سريعة عن الهدف .2
والمدخالت والمخرجات.
قم بالتوقيع على عملك الذي قمت بصنعه بوضع اسمك على هذه الجزئية لمعرفة من هو الذي بناها في حال .3
وجود أكثر من مبرمج يعملون على بناء البرنامج.
قم بتطوير برنامجك في حين اكتشفت أداة أو جملة أو دالة تقوم بنفس الجزئية التي بنيتها. .4
للتوسيع مجال PB الموجود في لغة الـ Helpقم بتخصيص وقت يومي لقراءة موضوع في جزئية المساعدة .5
معرفتك في اللغة.
قم بزيارة موقع الشركة المنتجة للغة البرمجة واإلطالع على آخر األخبار واإلصدارات الجديدة للغة البرمجة .6
لمواكبة التطورات الجديدة.
بقلم: محمد المصري Power Builder 9.0تعلم
73
Assignment Statement جملة التعيين للمتغيرات: Description الوصف
هو تخزين قيمة معينة في متغير أو في خصائص الكائنات الستخدامات برمجية وتعتبر هذه الجملة من أبسط الجمل البرمجية التي يمكنك استخدامها.
: Syntaxالصيغة variablename = expression
التعبير = اسم المتغير : Usageاإلستخدام
إلسناد قيمة للمتغير استخدم إشارة (=)، مثال على ذلك: "String1 = "Part is out of stock
TaxRate = .05 ال توجد جمل تعيين مركبة عملية منطقية أيضاً، ال تستطيع تعيين أكثر من متغير في جملة واحدة الحظ المثال التالي: ةوبما أن عالمة المساوا
A=B=0 Bو A لن يعين للمتغيرين 0الرقم
، إذا كان A ومن ثم محاولة إسناد النتيجة المنطقية إلى المتغير False أو True للقيم B=0الجملة تقوم باحتساب فإن البرنامج عند التنفيذ سيعطي رسالة خطأ. Boolean ليس من نوع منطقي Aالمتغير
تعيين قيم للمصفوفة: تستطيع إسناد أكثر من قيمة للمصفوفة في جملة واحدة، مثال:
1 int Arr[] تعريف مصفوفة من نوعInteger وهذا يعني تعريف مصفوفة مفتوحة فقط. integerالحدود وتقبل قيم
int هي اختصار للنوع البياناتinteger .2 Arr = {1, 2, 3, 4} جملة اإلسناد وتقوم بإسناد مجموعة من األرقام دفعة واحدة للمصفوفة
إلى Arr2تستطيع نسخ محتويات مصفوفة إلى أخرى، مثال على ذلك هذا المثال يقوم بنسخ محتويات المصفوفة Arr1 .
Arr1 = Arr2 : Operation Shortcutsاختصار للعمليات
No التعيينAssignment مثالExample مساوية لـEquivalent To 1 ++i++ i = i + 1 2 --i-- i = i - 1 3 +=i +=3 i = i + 3 4 -=i -=3 i = i - 3 5 *=i *=3 i = i * 3 6 /=i /=3 i = i / 3 7 ^=i ^=3 i = i ^ 3
(-) في المتغير ال بد من أن تجعل مسافة بينها وبين (--) أو (=-)، إن لم تفعل Dashإذا كان هناك فائدة من استخدامك
عالمة الطرح جزء من المتغير. Power Scriptسيعتبر الـ
بقلم: محمد المصري Power Builder 9.0تعلم
74
أرجوا االنتباه لهذه األمثلة: ونسند إليها قيمة ونقوم بعمل بعض العمليات الحسابيةIntegerسنقوم بتعريف متغيرات من نوع .1
1
كأرقام ii_no1 ،ii_no2 ،ii_no3تالحظ قمنا بتعريف المتغيرات وقمنا بتعريف
ii_avg : المتوسط الحسابي لألرقام أعاله ii_sum : المجموع لألرقام أعاله ii_sub : طرح األرقام أعاله
2
هذه هي جمل التعيين بحيث تقوم بإسناد القيمة المطلوبة في المتغير المعرف أعاله. 1مسبقا في الخطوة رقم
القيمة = المتغير
هذه جملة احتساب المجموع للمتغيرات وتعيين حاصل الجمع في المتغير 3ii_sum
هذه الجملة الحتساب المتوسط الحسابي للمتغيرات أعاله وتعيين النتيجة في 4 ii_avgالمتغير
هذه الجملة الحتساب حاصل طرح المتغيرات أعاله وتعيين النتيجة في 5 ii_subالمتغير
:Counterعمل عداد .2يمكنك عمل عداد تصاعدي أو تناقصي لمتغير ما ويمكنك زيادته أو إنقاصه بمقدار ثابت، أنظر الصيغة العامة
للعداد: رقم (-أو+) المتغير = المتغيرll_counter = ll_counter (+أو-) n
Long من نوع ll_counterقمنا بتعريف المتغير 1
2
جملة العداد، الحظ الشكل التالي :
في 1 يتم تنفيذه أوالً ثم يتم تعيين نتيجة الجزء رقم 1تجد أن الجزء رقم
، وهي قاعدة في جملة التعيين لكل لغات البرمجة. 2الجزء رقم
أنظر الشكل أدناه لمعرفة آلية احتساب العداد
C وهي بصيغة لغة 2هذه الجملة تؤدي نفس عمل الجملة في خطوة رقم 3
وبنفس الطريقة يمكنك أن تطبق عداد تنازلي وذلك بتبديل اإلشارة (+) إلى (-)، وبإمكانك استخدامه في كثير من المواقف البرمجية التي تحتاج الستخدام العداد.
بقلم: محمد المصري Power Builder 9.0تعلم
75
: Condition Statementالجمل الشرطية أي لغة سواء كانت لغة بشرية أم لغة برمجية من صناعة البشر تتكون من جمل ومن أهم الجمل هي الجمل
الشرطية وهي نوع من توزيع العمل حسب شرط معين إذا تحقق ينفذ المطلوب وإن لم يتحقق أما ينتقل للجمل التالية أو يقوم بعمل آخر.
وبما أن الغرب هم من طوروا هذه اللغات البرمجية كان من الطبيعي أن تكون صيغ الجمل باإلنجليزية وليست بالعربية، مع أنه توجد بعض لغات البرمجة محدودة اإلمكانيات تكتب أوامرها باللغة العربية وتستخدم في المدارس
المتوسطة للتدريب وكمدخل للبرمجة وبإمكانك كتابة أوامر بالعربية مثال) 50، خلف 50، يمين 100أمام
ويقوم برسم شكل معين أو انتقال المؤشر للنقطة إحداثيات جديدة. حتى يمن هللا علينا ونصبح من منتجي لغات البرمجة، ما علينا إال أن نستخدم هذه اللغات الموجودة في المجال
المحيط بنا ويجب أن نبدع باستخدامها لنغطي بعض خيبات األمل التي تالحقنا وتقصيرنا بحق علمائنا القدامى. 1. IF … THEN PowerScript Statement :الجملة الشرطية إذا... إذن
: Descriptionالوصف Trueعنصر هيكلي يتسبب بتطبيق نص برمجي إذا كان الشرط
Syntax:الصيغة IFهناك صيغتين لجملة الشرط
:صيغة السطر الواحد1صيغة رقم .1 IF condition THEN action1 {ELSE action2}
Parameter Description condition الشرط الذي تريد أن تفحصه action1 True الحدث الذي تريد أن تطبقه إذا كان الشرط نتيجته action2 False الحدث الذي تريد أن تطبقه إذا كان الشرط نتيجته
: صيغة األسطر المتعددة2صيغة رقم .2
Parameter Description Condition1 الشرط األول الذي تريد أن تفحصه
action1 الحدث الذي تريد أن تطبقه إذا كان الشرطTrue نتيجته 1رقم
Condition2 (اختياري)
Falseالشرط الذي تريد أن تفحصه إذا كان 1نتيجة الشرط رقم
action2 الحدث الذي تريد أن تطبقه إذا كان الشرط True نتيجته2رقم
action3 (اختياري)
الحدث الذي تريد تطبيقه إذا لم تنتج أحد .True الشروط السابقة
IF condition1 THEN action1 { ELSEIF condition2 THEN action2 . . . } { ELSE action3 } END IF
بقلم: محمد المصري Power Builder 9.0تعلم
76
1 IF Num = 1 THEN Open(w_first) ELSE Open(w_rest)
(صيغة السطر الواحد) إذا w_firstهذه الجملة ستقوم بفتح الشاشة
w_rest وإال الشاشة Num = 1كانت قيمة هي التي ستفتح.
2
IF Num = 1 THEN Open(w_first) ELSE Open(w_rest) END IF
(صيغة متعددة األسطر)
ولكن شكل 1وهو نفس المثال السابق رقم صيغة متعدد األسطر.
3
IF X=Y THEN Beep(2)
ELSEIF X=Z THEN Beep(5)
ELSEIF X=" " THEN Beep(100)
ELSE Beep(200)
END IF صيغة متعددة األسطر)(
الحظ تراكب أكثر من جملة شرطية الشرط إذا كان Beep(2)سيتم تنفيذ جملة •
X=Y نتيجته True. الشرط إذا كان Beep(5)سيتم تنفيذ جملة •
X=Y نتيجته False ونتيجة الشرط X=Z True.
إذا كان Beep(100)سيتم تنفيذ جملة • ونتيجة False نتيجته X=Yالشرط ونتيجة الشرط X=Z Falseالشرط X=" " True .
إذا كانت Beep(200)سيتم تنفيذ جملة • .Falseجميع الشروط السابقة
2. CHOOSE CASE PowerScript statement:جملة االختيار
: Descriptionالوصف عنصر هيكلي يقوم بتوجيه تنفيذ البرنامج بناءاً على فحص التعبير وعادةً يكون (متغير).
Syntax:الصيغة Parameter Description
testexpression سينفذ Script هو الذي يحدد أي expressionlist :سيكون واحد من التالي
قيمة فردية • )8، 5، 4، 2قائمة من القيم مفصلة بفاصلة ( • ).To) 5 To 1صيغة •• Is متبوعة بأداة عالقة وقيمة للمقارنة (Is>5) ، 9، 7، 5، 3، 1أي توليف من الصيغ السابقة ( •
27 TO 33, IS >42 (statementblock مجموعة من الجمل والتي تريد من الـPB تنفيذها
expressionlistإذا وافق فحص التعبير قيمة في
CHOOSE CASE testexpression CASE
expressionlist statementblock { CASE
expressionlist statementblock . . . CASE
expressionlist statementblock } CASE
ELSE statementblock } END CHOOSE
مالحظة: IF…THEN ELSEIF…THEN …END IF مع جملة CHOOSE CASEستجد تشابه كبير بين جملة
مع وجود بعض االختالفات الثانوية.
بقلم: محمد المصري Power Builder 9.0تعلم
77
: LOOP Statementجمل التكرار 1. FOR...NEXT PowerScript statement: جملة التكرار من...إلى
: Descriptionالوصف عنصر هيكلي يقوم بتكرار رقمي يستخدم لتنفيذ واحد أو أكثر من الجمل لعدد محدد من المرات.
Syntax:الصيغة Parameter Description
varname اسم المتغير عداد التكرار، بإمكانك تعريف أي نوع بيانات رقمي :
(integer, double, real, long, decimal) ولكن إستخدام نوع Integer يتيح أداء أسرع
start varname قيمة البداية للمتغير end قيمة النهاية للمتغيرvarname
increment قيمة الزيادة يجب أن تكون ثابتة ومن نفس نوع، إذا إستخدمت varnameبيانات المتغير increment يجب عليك إستخدام STEP ،1 هي +
الزيادة اإلعتيادية. statementblock الجمل التي تريد تكرارها
FOR varname = start TO end {STEP increment} statementblock NEXT
Usage:اإلستخدام : end و startإستخدام أكبر end، وللزيادة السالبة يجب أن تكون start أكبر من endللزيادة الموجبة، ويجب أن تكون الـ •
.startمن ، سيتم إعادة إحتسابها في كل تكرار، إذا تم تعديل Expression تعابير end و startعندما تكون •
قيمة التعبير ستؤثر على عدد التكرار، وسنعطي مثال) جسم التكرار يغير عدد السطور، التي تغير .RowCountنتيجة دالة
FOR n = 1 TO dw_1.RowCount( ) dw_1.DeleteRow(1) NEXT
Nesting :تداخل . FOR لكل NEXT، يجب أن يكون FOR…NEXTبإمكانك عمل تداخل جملة
. NEXT بدالً من END FOR باستخدام FORتستطيع إنهاء
Avoid Over Flow :منع الفيضان سوف تفيض مما يسبب Varname ، Varname كبيرة جداً على نوع البيانات end أو Startإذا كان
تكرار غير منتهي مثال: integer li_int FOR li_int = 1 TO 50000
سيصل إلى القيم li_int ، وعندما المتغير يتزايد integer كبيرة على نوع البيانات 50000قيمة النهاية وسيحصل التكرار المنتهي. 50000السلبية قبل الوصول للقيمة
بقلم: محمد المصري Power Builder 9.0تعلم
78
: FOR…NEXTأمثلة على جملة الـ
1 FOR n = 5 to 25
A = A+10 NEXT
n و 5 أكبر أو يساوي n طالما A على 10هذه الجملة تقوم بإضافة . 25أقل أو تساوي
2 FOR N = 5 TO 25 STEP 5 A = A+10
NEXT
أكبر أو N طالما 5 بـ N وتزيد A على 10هذه الجملة تضيف 25 و أقل أو تساوي 5تساوي
3 FOR Count = 1 TO 100 STEP -1
IF Count < 1 THEN EXIT Box[Count] = 10
NEXT
هذه الجمل تحتوي على سطرين لن تنفذ ألن الزيادة سالبة والـ Start أقل منend .
4 Int Matrix[100,50,200] FOR i = 1 to 100 FOR j = 1 to 50 FOR k = 1 to 200
Matrix[i,j,k]=1 NEXT NEXT NEXT
هذه الجمل متداخلة، تالحظ عرفنا مصفوفة ثالثية األبعاد ثم قمنا إلى جميع حقول المصفوفة. 1بإسناد القيمة
2. DO...LOOP PowerScript statement: جملة التكرار اعمل...كرر : Descriptionالوصف
عنصر هيكلي يقوم بتكرار رقمي يستخدم لتنفيذ واحد أو أكثر من الجمل لعدد محدد من المرات بينما أو حتى يتحقق الشرط.
لها أربع أشكال:
1 DO UNTIL فلن تتنفذ True، إذا كان الشرط من أول تكرار Trueينفذ كتلة جمل حتى يكون الشرط
الجمل. 2
DO WHILE ، False، التكرار سينتهي عندما يصبح الشرط Trueينفذ كتلة جمل بينما الشرط يساوي
الجمل لن تنفذ. Falseإذا كان الشرط من أول تكرار 3 LOOP UNTIL ينفذ كتلة من الجمل مرة واحدة على األقل ويستمر حتى يصبح
4 LOOP WHILE ، والتكرار Trueينفذ كتلة من الجمل مرة واحدة على األقل ويستمر بينما الشرط قيمته
. Falseسينتهي عندما يصبح الشرط
بقلم: محمد المصري Power Builder 9.0تعلم
79
Syntax:الصيغة Parameter Description Condition الشرط الذي تفحصه
statementblock الجمل التي تريد تكرارها
DO UNTIL condition statementblock LOOP
DO WHILE condition statementblock LOOP
DO statementblock LOOP UNTIL condition
DO statementblock LOOP WHILE condition
: Do…Loopأمثلة على جمل
1
integer A = 1, B = 1 DO UNTIL A > 15 Beep(A) A = (A + 1) * B LOOP
. 15 أكبر من A حتى تصبح Beepهذا التكرار يكرر دالة
2
integer A = 1, B = 1 DO WHILE A <= 15 Beep(A) A = (A + 1) * B LOOP
. 15 أقل أو تساوي A بينما Beepهذا التكرار يكرر دالة
3
integer A = 1, B = 1 DO Beep(A) A = (A + 1) * B LOOP UNTIL A > 15
A أوال ثم االستمرار بتكرار الدالة حتى تصبح Beepهذه الجملة تقوم بتنفيذ دالة . 15أكبر من
4
integer A = 1, B = 1 DO Beep(A) A = (A + 1) * B LOOP WHILE A <= 15
أقل أو A أوال ثم االستمرار بتكرار الدالة بينما Beepهذه الجملة تقوم بتنفيذ دالة . 15تساوي