79
ﺗﻌﻠﻢPower Builder 9.0 ﻣﺤﻤﺪ ﺍﻟﻤﺼﺮﻱ: ﺑﻘﻠﻢ1 ّ ﺗﻌﻠPOWER BUILDER 9.0 ﺇﻋﺪﺍﺩ ﻭﺗﻨﻔﻴﺬ ﻭﺇﺧﺮﺍﺝ ﻣﺤﻤﺪ ﻗﺎﺳﻢ ﺍﻟﻤﺼﺮﻱ[email protected]

Learn Power Builder 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

Page 1: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

1

تعلّم POWER BUILDER 9.0

إعداد وتنفيذ وإخراج محمد قاسم المصري

[email protected] U

Page 2: Learn Power Builder 9

بقلم: محمد المصري 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 تركيب نافذة البيانات

Page 3: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

3

كتابة الكود: الفصل الرابع

............................................ إنشاء المتغيرات والتعرف على أنواعها ............................................ Statementsاألوامر المستخدمة

............................................ Functionإنشاء الدوال الداخلية والخارجية الفصل اخلامس

............................................ PB 9.0كيف تبني برنامج ............................................ Workspace إنشاء ............................................ Target إنشاء ............................................ Application إنشاء ............................................ Library إنشاء

............................................ إنشاء اتصال مع قاعدة بيانات ............................................ Transaction Object ما هو المقصود بالـ

............................................ MDI إنشاء شاشة ............................................ Menu إنشاء قائمة

............................................ الفصل السادس

............................................ مشاريع عملية وخبرات شخصية

Page 4: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

4

الفصل األول (متهيد) )1-1 ( المؤلف

)1-2 ( إهداء

)1-3 ( لمحة تاريخية

)1-4 ( مقدمه

Page 5: Learn Power Builder 9

بقلم: محمد المصري 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قواعد البيانات:

Page 6: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

6

)إهداء: 2-1(

أهدي هذا العمل ألجدادنا السباقني إىل العلم واخلري، الذين ما فتأت قلوهبم ختفق نشوة االنتصار

يف شتى ميادين احلياة يسطّرون حبروف من نور معنى التميز والرفعة والتقدم، واهدي كل قطرة عرق

تزاحــمت على أجسادهم النقية تتسارع لتطفئ هليب االكتشاف واالخرتاع والبحث، لقد بقيت أعماهلم

وعلمهم نرباساً مضيئاً ينتشي شعاعه يبدد ضباب اجلهل والتأخر عن ركب احلاضر واملستقبل املنشود

وأجرهم مستمر غري مقطوع، وأمتنى من ا العلي القدير أن يلهمين اإلميان والصرب وأن أقدم ما يف

ال ينقطع بإذن ا تعاىل وأجر جعبيت من علم متواضع أنشره يف شتى الوسائل ال أبتغي منه إال وجه ا

وخالص دعائكم يل. محمد المصري

Page 7: Learn Power Builder 9

بقلم: محمد المصري 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الشركة األم

ولكن ما أن تبحر في هذه اللغة وترى إمكانياتها الكبيرة ستنشأ بينك وبينها روابط تشجعك على تعلمها وخصوصاً إذا كنت محترف لغة برمجة أخرى ستشاهد الفرق وستحكم بنفسك.

Page 8: Learn Power Builder 9

بقلم: محمد المصري 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. .اإللمام الجيد بالتطبيقات العربية وخاصة داخل المملكة العربية السعودية لخصوصيتها .امتالك معلومات عامة عن بعض األنظمة التجارية التي ستسهم في الرقي بك كمبرمج بشكل عام

Page 9: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

9

الفصل الثاني PB 9.0واجهة تطبيق

) 2-1 ( الواجهة الرئيسية

)2-2القائمة الرئيسية ( )2-3شجرة الكائنات ( )2-4ذاكرة النسخ والقص () 2-5شاشة المعلومات المساعدة (

Page 10: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

10

) الواجهة الرئيسية : 1-2( بسهولة الخيارات ووضوحها وقربها من القلب، بحيث تعطيك جميع PB 9.0 تتميز واجهة تطبيق

اإلمكانيات بشكل مبسط وما عليك سوى معرفة ما هي الخيارات واألدوات المتاحة وطريقة عملها 7.0 وما فوق له نفس واجهة التطبيق تقريباُ ولكن من 8.0واستخدامها، وأود أن أركز على أن اإلصدار ). 2-1وما دون تختلف بشكل ملحوظ، أنظر الشكل (

) 2-1الشكل (

القائمة الرئيسية 1شجرة الكائنات 2ذاكرة النسخ والقص 3شاشة المعلومات المساعدة، بحيث تظهر فيها رسائل الخطأ 4

Page 11: Learn Power Builder 9

بقلم: محمد المصري 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 .للبرنامج ويتم إدراج جمل الربط مع قاعدة البيانات

Page 12: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

12

الفصل الثالث Objects PB

كائنات بور بيلدر

Page 13: Learn Power Builder 9

بقلم: محمد المصري 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أرجوا منك التركيز على هذا الفصل لفهم ما يحتويه من الكائنات الخاص بالـ

Page 14: Learn Power Builder 9

بقلم: محمد المصري 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

Page 15: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

15

) 3-2شكل رقم (

باسم فاألفضل أن تقوم بإنشاء مجلد جديد وليكن أسمه Workspaceستظهر شاشة لحفظ .5

NewProject) 3-3 أنظر الشكل رقم.(

) 3-3شكل رقم (

وليكن على سبيل المثال Workspace وقم بكتابة اسم للـNewProjectثم قم بالدخول على المجلد .6Newspace) 3-4 أنظر الشكل رقم.(

Page 16: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

16

) 3-4شكل رقم (

).3-5 في شجرة النظام كما في الشكل رقم ( Workspaceسيظهر الـ .7

) 3-5شكل رقم (

Page 17: Learn Power Builder 9

بقلم: محمد المصري 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بشكل آلي أنظر الشكل رقم (

Page 18: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

18

) 3-7شكل رقم (

). 3-8، في شجرة النظام أنظر الشكل رقم (Library و الـ Target و الـ Applicationسيتم بناء الـ

) 3-8شكل رقم (

فهكذا نكون قد أنهينا بناء الهيكل الخاص بالبرنامج وسننتقل للخطوة الثانية وهي التعرف على الكائنات الخاصة بالـ PB 9.0 .

Page 19: Learn Power Builder 9

بقلم: محمد المصري 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

Page 20: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

20

) 3-9شكل رقم (

) 3-10شكل رقم (

3 إلى 1) ومرقمة من 3-10 أجزاء كما في الشكل رقم (3ستالحظ أن الشاشة مقسومة إلى

وهي جسم الشاشة. 1رقم

Page 21: Learn Power Builder 9

بقلم: محمد المصري 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

شاشة تكون مثل صندوق الرسالة ال يمكنك اختيار أي كائن خلفها إال باختيار زر منها، ويمكن أن

تمرر قيمه من خاللها

Page 22: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

22

) 3-10 مكونات الشاشة كما في الشكل رقم (3رقم

1

Layout التصميم

هي جسم الشاشة التي يمكنك تنسيقها وإضافة

كائنات عليها مثل األزرار و كائنات أخرى

2

منطقة عمليات

هذه جزئية متغيرة حسب اختيارك إما

أو دالة )Eventلحدث((Function) بحيث

تظهر فيها اسم آخر شي تم استخدامه

3

Event أحداث

هي أحداث تخص كل كائن يمكنك وضع كود

حسب ما يقتضيه الموقف

) عند openمثال حدث(دخول الشاشة ينفذ

الكود الموجود في حدث Open

Close إغالق عند الخروج ينفذ حدث

Close

Page 23: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

23

4

Function دوال

هذه الدوال محلية Local ونطاق

تأثيرها على الشاشة والكائنات المرتبطة بها، وهي نوعين:

دوال موجودة •مسبقاً كصفة في

الكائن. دوال يمكن أن •

يعّرفها المستخدم .ويمكن أن تمرر أكثر من متغير

وتستطيع إرجاع قيمة واحد فقط

5

Declare Variables

تعريف المتغيرات: وتعتبر من األمور

المهمة جداً في برمجة PB أو أي لغة أخرى

وهي أنواع يجب أن تستوعبها:

1. Global:عام نطاق تأثيره لكل

الكائنات الموجود في المشروع،

ويحتفظ بقيمته لكل البرنامج ويفقد

قيمته عند الخروج من البرنامج.

2. Sharedمشترك نطاق تأثيره على الكائن ومحتوياته

ويحتفظ بقيمته حتى إذا تم إغالق

الكائن.3. Instance داخلي

المتغير مجاله فقط Eventداخل

(الـحدث) الخاص أو Controlبالـ

(عنصر التحكم) ونطاق تأثيره في

داخل الحدث event

Page 24: Learn Power Builder 9

بقلم: محمد المصري 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شكل رقم (

Page 25: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

25

1

القائمة بناء

يتم بناء القائمة على شكل شجرة يمكنك تفريع أكثر من مستوى ويمكنك نقل جزئية تحت أخرى أو جعلها رئيسية انظر الشكل

أدناه،

قم بنقر الزر األيمن للفأرة على •Untitledستظهر قائمة منبثقة

Insert Submenu قم باختيار •Item .

ثم قم بكتابة اسم القائمة التي تريد . •

2

معاينة للقائمة

يمكنك مشاهدة معاينة للقائمة

3

األحداث events

يمكنك كتابة (الكود) في األحداث التي تخص عناصر القائمة

Page 26: Learn Power Builder 9

بقلم: محمد المصري 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

تحدد رقم تسلسلي لترتيب العناصر في

شريط األدوات

Page 27: Learn Power Builder 9

بقلم: محمد المصري 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(

.الفصل الخامس في

Page 28: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

28

4 . Function الدالة كائن الدالة يستخدم باستمرار في أي لغة برمجة لما له من فوائد كثيرة في تنظيم العمل وجعله مركزياً، ولتوضيح ذلك أنظر الشكل رقم

) الذي يوضح الفرق بين تكرار محتوى الدالة في أجزاء مختلفة في البرنامج وبين استدعاء الدالة ومحتوياتها لكي تنفذ العمل 15-3(المطلوب منها بشكل مركزي.

الطريقة التقليدية نشر الكود

السلبيات: استهالك وقت كبير في نسخ و لصق الكود في .1

أرجاء البرنامج واحتمالية ارتكاب أخطاء كثيرة وخاصة إذا كان البرنامج ضخماً .

صعوبة معرفة عمل هذا الكود وما الهدف الذي تم .2 إنشائه له.

صعوبة التعديل على الكود أو حذفه لتناثره في .3العديد من أماكن البرنامج.

الطريقة األمثل لتجميع الكود في دالة واستدعائها عند الحاجة

اإليجابيات: كتابة الكود مرة واحدة فقط وحفظه داخل دالة. .1سرعة استدعاء الدالة بأمان دون ارتكاب أخطاء في .2

العديد من أرجاء البرنامج وحتى لو كان ضخماً .سهولة تتبع الدالة بمجرد النظر لمعرفة سبب استدعائها .3

في أي جزء من البرنامج.سهولة التعديل على الكود لكونه مركزياً في الدالة، .4

وسيؤثر على جميع إستدعاءات الدالة في أنحاء البرنامج.

Page 29: Learn Power Builder 9

بقلم: محمد المصري 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شكل رقم (

Page 30: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

30

3 Custom Class

كائن مخصص غير مرئي

يمكنك بناء هذا الكائن المخصص الغير مرئي وإضافة كود على أو على الدوال أو إضافة دوال جديدة. eventsاألحداث

4

Standard Class كائن قياسي مخصص غير

مرئي

يمكنك بناء كائن مخصص يأخذ صفاته من كائنات قياسية موجودة . PBأصالً في لغة

تقوم باختيار أي كائن قياسي من القائمة ثم تكمل باقي اإلجراءات

كما في الشكل أدناه.

Page 31: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

31

5 Custom Visual

كائن مرئي مخصص

هذه اإلمكانية قوية جداً بحيث تستطيع إنشاء كائن مخصص ومرئي بنفس الوقت.

ويمكنك إضافة شيء من األدوات مثل (األزرار، القوائم المنسدلة،..)

6 External Visual كائن مرئي خارجي

وتسمية DLL.*وهذا الكائن تستطيع إنشائه من استدعاء ملف لكي يقوم بنفس عمله. Classكائن موجود فيه

Page 32: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

32

7 Standard Visual كائن مرئي قياسي

يمكنك بناء كائن مخصص مرئي يأخذ صفاته من كائنات قياسية . PBموجودة أصالً في لغة

تقوم باختيار أي كائن قياسي من القائمة ثم تكمل باقي اإلجراءات

كما في الشكل أدناه، وعلى سبيل المثال نقوم باختيار CommandButton الحظ الشكل أدناه، ستالحظ بأنك ال تستطيع

إضافة أي أداة أخرى على الشكل الحالي فقط سيأخذ الصفات األساسية لألداة القياسية التي اخترتها.

كيف تستدعي هذه الكائنات المخصصة الستخدامها في البرنامج؟ هناك طريقتان لالستدعاء الكائنات المخصصة:

استدعاء الكائنات الغير مرئية وتفعيلها من الكود. .1 استدعاء الكائنات المخصصة المرئية وتفعيلها في البرنامج اتبع الخطوات التالية: .2

افتح أو قم بإنشاء شاشة جديدة. • Create) وقم باختيار 3-15ثم اذهب إلى قائمة األدوات الموجودة في القائمة الرئيسية كما في الشكل رقم ( •

User Object Control. ) وفيها جميع الكائنات المخصصة قم باختيار أحدها حسب حاجتك 3-16ستظهر شاشة كما في الشكل رقم ( •قم بإدراجه بالنقر بزر الفأرة األيسر على الشاشة سيظهر الكائن المخصص على الشاشة كما في الشكل رقم •

)17-3.(

Page 33: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

33

) 3-15شكل رقم (

) 3-16شكل رقم (

Page 34: Learn Power Builder 9

بقلم: محمد المصري 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 .تستطيع استعراضها

Page 35: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

35

). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .Data Windowقم باختيار .2) الحظ أن أهم الكائنات كما في الصندوق األحمر التي تحتاجها 3-18ستظهر شاشة كما في الشكل رقم ( .3

بشكل كبير ومتكرر، وسنبدأ بشرح هذه الكائنات بشكل مفصل:

) 3-18شكل رقم (

من الشكل أعاله هناك خطوات مشتركة يجب المرور بها عند Data windowإلنشاء أي شاشة بيانات .4) وسأشرحها اآلن قم باختيار أي من شاشات 3-18اختيار أي نوع من أنواع شاشة البيانات كما في الشكل (

) ستظهر لك الشاشة التالية:3-18البيانات كما في الشكل (

Page 36: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

36

ستالحظ أنه هناك أكثر من طريقة الختيار البيانات المطلوبة من الجداول الموجودة في قاعدة البيانات قم باختيار أي

وفي ما يلي تفصيل ووظيفة كل طريقة NEXTطريقه من الطرق ثم اضغط زر

1

شاشة فرعية فيها ستظهر لك الجداول الموجودة أسماء جميع البيانات المتصلة في قاعدة باختيار جدول أو حالياً، قم سبيل المثال قم أكثر وعلى t_man_job باختيار جدول

شاشة ستظهر لك

على التالية وتحتوي الجدول محتويات

في الخطوة الذي تم اختياره بإختيار السابقة قم

ثم قم الحقول المطلوبة شريط بإختيار من

Return األدواتبإرجاع فيقوم شاشة الحقول إلى

تصميمها التصميم إلنهاء

مرئية ويمكنك مشاهدة Select Statement SQLستالحظ أن هذه الطريقة عبارة عن اإلمكانيات التالية كما في الشكل أعاله:

• Syntax مشاهدة صيغة SQL Statement. • Sort .ترتيب البيانات • Where.إضافة شروط محددة إلظهار البيانات بشروط محددة • Group.تجميع البيانات • Having.لترتيب المجموعات • Compute.عمل عمليات محاسبية

Page 37: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

37

2

اختيار سريع للجدول أو الجداول المطلوبة أنظر الشكل أدناه:

انظر الشكل التالي t_man_jobقم بإختيار الجدول

Page 38: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

38

3

مخزنة أصال في البرنامج أو كتابتها يدوياً لتحويلها لشاشة Queryبإمكانك استخدام بيانات انظر الشكل أدناه:

4

تستطيع من خاللها أن تبني شاشة بيانات خارجية أي PBوهي ميزة قوية جداً في لغة الـ ليست مرتبطة بأي جدول نهائياً إنما هي حقول وهمية ال تصلح لتخزين البيانات، يمكنك فقط

أن تكتب فيها وتعرض بياناتك فيها وهي تستخدم أكثر شيء في شاشات شروط البحث، وميزتها أن هذه الحقول يتم التطبيق عليها خصائص ودوال وإجراءات شاشة البيانات:

بإمكانك تغذية الحقول التي تريدها باألنواع المطلوبة.

Page 39: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

39

5

اإلجراءات المخزنة: وهي عبارة عن إجراءات مخزنة مسبقاً في قاعدة البيانات وتقوم بعمل محدد تقوم به عند استدعائها وتختلف هذه اإلجراءات من نوع قاعدة بيانات إلى أخرى

أنظر الشكل أدناه.

Page 40: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

40

وهذه الشاشات ستظهر بعد اختيارك ألحد طرق اختيار البيانات أعاله: ستظهر شاشة تنظيمية تقوم من خاللها بتنسيق الحقول و وصفها ويمكنك باالحتفاظ بهذا التنسيق إذا أردت ذلك:

1- Background Color. لون خلفية شاشة البيانات بإمكانك اختيار لون معين 2- Text.وهو وصف للحقول بإمكانك تحديد لون وشكل لحدود الوصف 3- Columns.الحقول أو األعمدة وهي حقول الجدول وبإمكانك تحديد لون وشكل لحدود الحقول . Nextقم بالضغط على زر -4

ستظهر شاشة تحتوي على معلومات تفصيلية عن شاشة البيانات التي سيتم إنشائها وهي للقراءة فقط قم بالضغط على

.Finishزر

Page 41: Learn Power Builder 9

بقلم: محمد المصري 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 تستخدم لوضع تذييل ثابت للصفحة ال تتغير بإمكانك وضع مسمى أو تاريخ أو اسم المدير أو

التوقيع أو عدد الصفحات وتستخدم في التقارير بشكل كبير.

Page 42: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

42

2. Data Window Tabular

تستخدم لعرض البيانات وتستخدم في التقارير أنظر الشكل ). 3-20رقم (

)3-20الشكل رقم (

3. Data Window Label

تستخدم إذا أردت طباعة أو عرض البيانات كملصقات ويمكنك تحديد حجم الملصق واتجاه البيانات.

وطريقة تحديد الجداول ستظهر لك شاشة كما هو أدناه: Data Window Labelعند اختيارك لنوع عرض البيانات

أتبع الشاشة أدناه:

Page 43: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

43

أتبع الشاشة أدناه:

ستكون النتيجة كما في الشكل التالي:

Page 44: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

44

4. Grid

كما سبق أن Tabularوهي تستخدم تقريبا كما في الـ . VB 6 التي تستخدم في Gridذكرناها وهي أقرب للـ

: Run Mode عند وضع تنفيذ البرنامج أو ما يعرف Gridهناك بعض اإلمكانيات للـ

بإمكانك تبديل مواقع األعمدة. -1بإمكانك أن تتحكم بحجم العمود. -2

5. News Paper Up Columns

أعمدة الصحيفة يمكنك أن تقوم بعرض بياناتك كأعمدة الصحيفة.

تقوم بإدراج عدد األعمدة الذي تريد أن تبدوا عليه بياناتك وسيظهر شكل شاشة البيانات كالتالي:

وسيتم عرض البيانات على شكل عمودين. 2 و1تالحظ بأن هناك مجموعتين

Page 45: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

45

6. Crosstab

يتم جمع طولي وعرضي للبيانات

الخاص بمعاينة 2 الخاص بالتصميم وقسم 1الحظ المربعات الملونة باألزرق واألحمر واألخضر، الحظها في قسم البيانات.

7. Composite

يتم تجميع أكثر من شاشة بيانات في شاشة بيانات رئيسية

وتظهر كقطاعات فرعية.

قم بإختيار شاشات البيانات المطلوبة كما في الشكل أعاله.

Page 46: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

46

ستظهر شاشة البيانات كما يلي:

. 2 ورقم 1ستجد شاشات البيانات الفرعية تظهر في الشكل أعاله برقم

8. Group

تجميع البيانات حسب فئة معينة

ليكون تجميع البيانات حسب الحقول المدرجة في 2 وإدراجه في مربع رقم 1قم بسحب حقل أو أكثر من مربع رقم . 2المربع رقم

Page 47: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

47

ستظهر شاشة لتحديد فيها شكل شاشة البيانات:

تحديد عنوان الصفحة 1رقم صفحة جديدة عند بداية كل مجموعة جديدة. 2رقم إعادة ترقيم الصفحة عند بداية كل مجموعة. 3رقم

في وضع التصميم

في وضع المعاينة

ستظهر شاشة البيانات كما في الشكل أعاله والحظ تقسيم الشاشة: 1 Header ترويسة الصفحة2 Header Group ترويسة المجموعة 3 Detail تفاصيل المجموعة 4 Trailer Group المجموع الفرعي للمجموعة 5 Summary ملخص للصفحة 6 Footer تذييل الصفحة

Page 48: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

48

9. Graph

رسم بياني للبيانات

في الشكل أدناه 1ستقوم بإختيار قطاع وإسناد حقل من البيانات كما في الرقم

في الشكل أدناه. 2وقم بتغذية القيمة كما في الرقم

2 في الشكل أدناه، وثم حدد أحد الرسوم البيانية كما في النقطة رقم 1قم بإدخال عنوان الرسم البياني كما في رقم

Page 49: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

49

ستظهر شاشة البيانات كرسم بياني في وضع التصميم

ستظهر شاشة البيانات كرسم بياني في وضع التنفيذ أو المعاينة.

في نهاية هذه الجزئية ال بد أن أقول بأن الصورة المتكاملة ستتضح جلياً في الفصول التالية حيث أنها فصول عملية وما وستشاهد أن هذه المعلومات مفيدة جداً في تطبيقك التفصيلي PB قدمته آنفاً إنما سوى تأسيس لألدوات التي تتيحها الـ

العملي.

Page 50: Learn Power Builder 9

بقلم: محمد المصري 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األهمية التي ستستفيدها من هذه الجزئية. أنظر الشكل رقم (

Page 51: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

51

) 3-22الشكل رقم (

العديد من قواعد البيانات التي يمكنك استخدامها، انظر الشكل أعاله PBستالحظ شجرة قواعد البيانات بحيث تتيح لك قمنا بخلق اتصال مع قاعدة بيانات موجودة مسبقاً وسمينا هذا االتصال O84 Oracle8/8i قاعدة بيانات 1الحظ رقم

Def 2 الحظ رقم .): 3-23 اتبع الخطوات التالية كما في الشكل رقم (Defللوصول لخصائص االتصال

ستظهر قائمة.Defاضغط زر الفأرة األيمن على االتصال .1 خصائص. Propertiesقم بإختيار .2

) 3-23الشكل رقم (

Page 52: Learn Power Builder 9

بقلم: محمد المصري 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 كرر اسم المستخدم في الخطة السابقة. مالك الجداول

Page 53: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

53

) 3-26الشكل رقم (

2 Database Connection Syntax نص االتصال بقاعدة البيانات

الحظ نص االتصال يقوم الـ PB ًبإنشائه تلقائيا

وسنستفيد من هذا النص الحقاً .

3 Copy نسخ النصتقوم بنسخ النص ولصقه في

البرنامج 4

Test Connection فحص االتصال مع قاعدة البياناتيمكنك أن تفحص االتصال

بقاعدة البيانات هل هو ناجح أم ال؟

Page 54: Learn Power Builder 9

بقلم: محمد المصري 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الشكل رقم (

Page 55: Learn Power Builder 9

بقلم: محمد المصري 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

Page 56: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

56

) 3-40الشكل رقم (

قم بتحديد طريقة -1

اختيار بيانات وقد سبق أن شرحناه

بالتفصيل. قم بتحديد -2

المصدر.قم بتحديد -3

الهدف. Okثم اضغط -4

ستظهر الشاشة ). 3-42رقم (

) 3-41الشكل رقم (

Page 57: Learn Power Builder 9

بقلم: محمد المصري 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 يمكنك مشاهدة حقول أسماء المصدرجدول المصدر.

Page 58: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

58

3 Destination Name يمكنك مشاهدة حقول أسماء الهدفجدول الهدف.

4 Execute سيتم تنفيذ صيغة النقل كما تنفيذهو واضح في الخطوات

. 3 إلى 1من

أدوات المشروع: Projectخامساً ) التي تضم جميع الكائنات الخاصة (PBD.*)) وملفات الـ exe.*وهي أدوات مختصة بإنشاء وإدارة الملف التنفيذي (

بالبرنامج الذي تقوم بإنشائه بمعنى آخر تقوم بعمل نسخة من البرنامج مغلقة ال يمكن التعديل عليها ولكن تصلح لتنفيذها ويتم تركيبها على أجهزة المستخدمين أو يتم بيعها على أقراص مدمجة، وللوصول لهذه األدوات أتبع الخطوات

التالية: ). جديد Newأذهب للقائمة الرئيسية وأختر ( .1 .Projectقم باختيار .2) الحظ أن أهم الكائنات كما في الصندوق األحمر التي تحتاجها بشكل 3-45ستظهر شاشة كما في الشكل رقم ( .3

كبير ومتكرر، وسنبدأ بشرح هذه الكائنات بشكل مفصل:

) 3-45شكل رقم (

Page 59: Learn Power Builder 9

بقلم: محمد المصري 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شكل رقم (

Page 60: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

60

هذه الشاشة توضح أن

المشروع المبني يمكن أن يستخدم الحقاً لبناء أو لنشر

تطبيقك. قم بإدخال اسم المشروع -1ثم قم بالضغط على زر -2

NEXT. ستظهر شاشة كما في الشكل

). 3-49رقم (

) 3-48شكل رقم (

هذه الشاشة تبين لك بضرورة exeإدخال اسم الملف التنفيذي وتحديد اسم ملف الموارد

(اختياري). باقتراح اسم PBيقوم الـ -1

للملف التنفيذي تلقائياً حسب اسم الـتطبيق

Application أو قم ، بإدخال اسم الملف التنفيذ.

قم بإدخال اسم ملف الموارد -2وهو اختياري، والمقصود

بملف الموارد: ملف من تقوم بتخزين pbr.*إمتداد

أسماء صور بإمتدادتها تستخدم في بناء بعض

جزئيات البرنامج لكي ال تختفي من البرنامج عند نقل

الملف التنفيذي إلى جهاز آخر وبمسار آخر.

ستظهر NEXTاضغط زر -3الشاشة كما في الشكل رقم

)50-3.(

) 3-49شكل رقم (

Page 61: Learn Power Builder 9

بقلم: محمد المصري 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شكل رقم (

Page 62: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

62

توضح لك هذه الشاشة إذا رغبت ببناء مكتبات تنفيذ

. PBDدينامكية وهي قم باختيار هذا الخيار. -1قم بالضغط على زر -2

NEXT ستظهر شاشة ). 3-53كما في الشكل(

)3-52شكل رقم (

هذه الشاشة تمكنك بوضع معلومات عن شركتك واسم

المنتج ووصف وحقوق النسخ و اإلصدار.

قم بتعبئة البيانات إذا -1رغبت.

قم بالضغط على زر -2NEXT ستظهر ،

شاشة كما في الشكل ). 3-54رقم (

)3-53شكل رقم (

Page 63: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

63

هذه الشاشة توضح لك ملخص عن خصائص

التطبيق الذي سيتم إنشائه. 1- Generate To Do

list إذا اخترت هذا :الخيار ستقوم بإنشاء قائمة بإجراءات يجب أن تعمل، أنصح بعد

اختيارها.قم بالضغط على زر -2

Finish ستظهر ،شاشة كما في الشكل

). 3-56رقم (

) 3-55شكل رقم (

هذه هي الشاشة المطلوبة والتي سوف

يتم حفظها ككائن نستطيع استخدامها في المستقبل

عند الحاجة إلنتاج ملفات تنفيذية بعد عمل تعديل

على البرنامج أو إضافة كائنات جديدة على

البرنامج. راجع جميع بيانات

المشروع قبل التنفيذ، وال تنسى أن تختار طريقة

البناء إما تكميلية أو كاملة.

قم بالضغط على أيقونة Deploy النشر .

الملف وبعدها سينتج

وملفات exe.*التنفيذي *.pbd

)3-56شكل رقم (

Page 64: Learn Power Builder 9

بقلم: محمد المصري 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شكل رقم (

Page 65: Learn Power Builder 9

بقلم: محمد المصري 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

Page 66: Learn Power Builder 9

بقلم: محمد المصري 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

عرض أكثر الكائنات استخداما

Page 67: Learn Power Builder 9

بقلم: محمد المصري 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شكل رقم (

Page 68: Learn Power Builder 9

بقلم: محمد المصري 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شكل رقم (

Page 69: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

69

الفصل الرابع (الكود) ) 4-1 ( إنشاء المتغيرات والتعرف على أنواعها

)Statements) 2-4األوامر والجمل )Function) 3-4إنشاء الدوال الداخلية والخارجية

Page 70: Learn Power Builder 9

بقلم: محمد المصري 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 •

Page 71: Learn Power Builder 9

بقلم: محمد المصري 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) من صحيح من دون إشارة

إذا كان عندك خبرة وعملت على لغات برمجة أخرى ستجد بأنك قريب مما شرحناه سابقاً عن المتغيرات، ال يوجد

اختالف إال لبعض المسميات.

Page 72: Learn Power Builder 9

بقلم: محمد المصري Power Builder 9.0تعلم

72

: Statements or Commands) األوامر أو الجمل 2-4(األوامر أو الجمل هي اللغة التي يستطيع أن يمليها المبرمج على الحاسوب ليحقق نتيجة معينة من إدارة البيانات

الموجودة في قاعدة البيانات على شكل برنامج يعمل تحت بيئة نظام التشغيل، وهنا يختلف المبرمجون حسب رؤيتهم

للمشكلة وتصورهم للحل األمثل، ويمكن أن نسأل السؤال التالي:

سؤال) ما هي العوامل التي تؤثر على إيجاد الحل األمثل لمسألة برمجية؟

جواب) هناك عدة عوامل تؤثر على الحل وهي:

خبرة المبرمج بأدوات اللغة هل هو ملم بأغلب أدوات اللغة واألوامر والجمل، والدراية الكافية بإمكانيات اللغة. •

خبرة المبرمج في مجال المعرفة الذي يطبق فيه مشروعه وسير العمل الذي يترجمه إلى برنامج، إذا درست •

وحللت نظام عمل معين ألحد األنشطة وكنت على دراية كبيرة بطريقة عمل هذا النشاط ستكون لديك فرصة أكبر

لتجسيد النشاط.

استخدام األدوات التحليلية المعرفية الستنتاج الحل األمثل. •

الرؤية المستقبلية للحل، ووضوح هذه الرؤيا تعطي شمولية للحل توفر عليك عناء التعديالت في المستقبل •

بشكل ملحوظ.

إن شاء هللا بعد أن PBوال بد من أن أعطي بعض النصائح في هذا الباب ولكونك ستقوم بإنشاء برنامجك الخاص بلغة

تقرأ هذا الكتاب ومن أهم هذه النصائح:

ترتيب الجمل البرمجية بحيث يسهل تتبعها دون عناء، لتكون على هيئة قطاعات. .1

استخدام التعليقات بكثرة لتكون لك ولغيرك من المبرمجين إشارات توضيحية تعطيك لمحة سريعة عن الهدف .2

والمدخالت والمخرجات.

قم بالتوقيع على عملك الذي قمت بصنعه بوضع اسمك على هذه الجزئية لمعرفة من هو الذي بناها في حال .3

وجود أكثر من مبرمج يعملون على بناء البرنامج.

قم بتطوير برنامجك في حين اكتشفت أداة أو جملة أو دالة تقوم بنفس الجزئية التي بنيتها. .4

للتوسيع مجال PB الموجود في لغة الـ Helpقم بتخصيص وقت يومي لقراءة موضوع في جزئية المساعدة .5

معرفتك في اللغة.

قم بزيارة موقع الشركة المنتجة للغة البرمجة واإلطالع على آخر األخبار واإلصدارات الجديدة للغة البرمجة .6

لمواكبة التطورات الجديدة.

Page 73: Learn Power Builder 9

بقلم: محمد المصري 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سيعتبر الـ

Page 74: Learn Power Builder 9

بقلم: محمد المصري 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

وبنفس الطريقة يمكنك أن تطبق عداد تنازلي وذلك بتبديل اإلشارة (+) إلى (-)، وبإمكانك استخدامه في كثير من المواقف البرمجية التي تحتاج الستخدام العداد.

Page 75: Learn Power Builder 9

بقلم: محمد المصري 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

Page 76: Learn Power Builder 9

بقلم: محمد المصري 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ستجد تشابه كبير بين جملة

مع وجود بعض االختالفات الثانوية.

Page 77: Learn Power Builder 9

بقلم: محمد المصري 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السلبية قبل الوصول للقيمة

Page 78: Learn Power Builder 9

بقلم: محمد المصري 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سينتهي عندما يصبح الشرط

Page 79: Learn Power Builder 9

بقلم: محمد المصري 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تساوي