مدونة منذر اسامة

العودة   منتديات جريت بلينز العربية Great Plains For Arab > منتدى مطوري جريت بلينز > مواضيع المطورين الأخرى

مواضيع المطورين الأخرى مواضيع المطورين التي لا تنتمي الى أي من التصنيفات السابقة
مثل لغة الديكستريتي (Dexterity) والأدوات التطويرية الأخرى (eConnect , Integration Maneger ,VS2005 for GP...etc.)

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 18-Jul-2011, 09:54 AM   #1
humam
مشرف منتدى المطورين
افتراضي تصميم النماذج والنوافذ في الدكسترتي

الحلقة السادسة تصميم النماذج والنوافذ

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

تصميم نموذج جديد

ان النموذج هنا في الدكسترتي من حيث المفهوم يختلف عن النموذج في لغة الفجوال بيسك حيث ان النموذج في الفجوال بيسك هو كائن مرئي ويحتوي على مجموعة اخرى من الكائنات التي تعمل مجتمعة على تأدية وظيفة معينة. اما في الدكسترتي فان النموذج هو كائن غير مرئي ويستعمل كحيز يعمل على تجميع المصادر Resources مثل النوافذ والجداول والقوائم و Script والتي تعمل مجتمعة على تأدية وظيفة محددة الا وهي توفير واجهة تفاعلية للتطبيق الذي انت بصدد تطويره.


العناصر الاساسية لتصميم النموذج

لكي تصمم نموذج جديد بعد فتح Dictionary اختر Forms ثم اضغط على الزر New في اعلى يسار الشاشة سوف يؤدي ذلك الى فتح نافذة تصميم النموذج Form Definition
كما في الشكل 1 . العناصر الاساسية لتصميم النموذج هي:
Name: يمكن اعطاء اي اسم معبر عن وظيفة النموذج وهنا سوف نسمي هذا النموذج ب ARB_Customer_MSTR.
Series: وتمثل الفئة التي سوف ينتمي اليها النموذج وهنا يمكن استخدام نفس القواعد التي ذكرتها في مرحلة تصميم الجداول.وهنا سوف نختار Sales لان النموذج متعلق بالزبائن.
Windows: وهي سوف تمثل الجزء المرئي من النموذج ويمكن للنموذج ان يحتوي على اكثر من نافذة واحدة وفق متطلبات التصميم.من الناحية العملية سوف نعود الى هذه الخطوة بعد اكمال عملية ارفاق الجداول الى النموذج.
Tables:وهنا سوف تقوم بعملية ارفاق كل الجداول التي سوف تقوم بالتعامل معها في هذا النموذج ولهذا يجب ان تجري تحليل كامل للجداول التي تريد استدعائها في نموذجك قبل البدء بتصميم النافذة ويفضل القيام بهذه الخطوة قبل تصميم النوافذ لان ذلك يمنع ظهور رسائل الخطأ عند البدء بكتابة الشفرة البرمجية لكن هذا لايمنع من اضافة جداول اخرى لاحقا في مرحلة التصميم حتى بعد تكوين النوافذ.وهنا سوف نعمل اولا على ارفاق جدولنا الاساسي الى النموذج ثم لاحقا بعد تطور هذا المثال قد نضيف جداول اخرى.الان اضغط على علامة الجدولة Tables ثم اضغط على الزر Attach لكي تفتح نافذة Table Lookup واطبع ARB سوف تنتقل مباشرة الى الجدول ARB_Customer_MSTR ثم اضغط OK لكي تضيف هذا الجدول الى النموذج لاحظ الشكل2.الان بعد اضافة الجدول يمكنك استخدام Open لفتح الجدول في نافذة تصميم الجدول وكذلك يمكن ازلة الجدول من النموذج بعد اختياره واضغط على الزر Detach ولكي تتحكم بخيارت الجدول اضغط الزر Option وهنا يمكنك التحكم في كيفية الوصول الى البيانات مثلا يمكن جعل الجدول للقراءة فقط يمكن فعل ذلك في بعض انواع النوافذ مثل نوافذ الاستعلام Inquiry . وهناك خيار اخر للتحكم بحجم Cursor ويفضل تركه على الخيار Default وخيار اخر يعمل على فتح الجدول بمجرد فتح النموذج وحتى لو لم يتم استدعاء الجدول من الكود ويفضل ايضا عدم استخدام هذا الخيار.

Script: وهنا يمكن اضافة كود عامة يتم الوصول اليها من قبل كل نوافذ النموذج وهنا يمكن وضع اجراءات عامة وكذلك دوال عامة.
Constant: ويستخدم ايضا لتعرف ثوابت على مستوى النموذج اي يمكن الوصول اليها من كل نوافذ النموذج.
Menu: وهذا يستخدم في حالة كونك تصمم مشروع من نوع Stand Alone Application. وهذا الخيار ليس له علاقة بMenu التي يمكن اضافتها الى GP
Command: ويستخدم في انواع معينة من النماذج مثل تلك النماذج التي تستخدم لاضافة Menu الخاص بتطبيقك الى قوائم GP.
الصور المصغرة للصور المرفقة
اضغط على الصورة لعرض أكبر الاســـم:	Fig1.JPG‏ المشاهدات:	301 الحجـــم:	74.3 كيلوبايت الرقم:	66   اضغط على الصورة لعرض أكبر الاســـم:	Fig2.JPG‏ المشاهدات:	240 الحجـــم:	74.0 كيلوبايت الرقم:	67  
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 18-Jul-2011, 10:17 AM   #2
Monzer Osama
مدير عام منتديات جريت بلينز العربية
افتراضي

جهود جبارة أخي همام ...أسأل الله أن يبارك في جهودك ولا يحرمك الأجر
نشكرك على هذه الدروس الفريدة من نوعها....
__________________
Monzer Osama
Saudia Arabia - Jeddah
00966501826235
Microsoft Certified Business Management Solutions Professional
Microsoft Certified Trainer
Monzer Osama غير متواجد حالياً   رد مع اقتباس
قديم 18-Jul-2011, 08:02 PM   #4
humam
مشرف منتدى المطورين
افتراضي

الشكر لله اخواني الاعزاء اتمنى ان تكون هذه المواضيع نافعة لاخواني اعضاء وزوار هذا المنتدى
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 18-Jul-2011, 08:06 PM   #5
humam
مشرف منتدى المطورين
افتراضي تصميم نافذة جديدة

تصميم نافذة جديدة:

بعد اكمال عملية ارفاق الجداول الى النموذج سوف نعود الى الخطوة الثانية وهي عملية اضافة نافذة جديدة عن طريق الضغط على علامة التبويب Windows ثم بعد ذلك اضغط على الزر New كما في الشكل1 .وبمجرد الضغط على هذا الزر سوف تفتح نافذة جديدة كما في الشكل رقم 2 ويظهر على يسار الشاشة مربع الادوات Toolbox (في حالة عدم ظهور هذا المربع اضغط Ctrl+B ) وعلى يمين الشاشة مربع الخصائص Proprieties (في حالة عدم ظهور هذا المربع اضغط Ctrl +M ) .
الخطوة التالية هي اعطاء تسمية للنافذة الجديدة وهنا ان النافذة الجديدة سوف تاخذ اسمين الاول هو Technical Name وهنا يفضل عدم استخدام فراغات بين الكلمات ونستخدم underscore للفصل بين الكلمات والذي يستخدم داخل الكود والاخرى هو Title والذي يشاهده المستخدم.
لاعطاء Technical Name استخدم مربع الخصائص واختر علامة التبويب Objects ثم اختر الخاصية Name واكتب الاسم التالي ARB_Customer_MSTR ثم اختر الخاصية Title واكتب الاسم Customer Maintenance والذي يمثل الاسم الذي سوف يشاهده المستخدم.
هناك خاصية مهمة هي Auto link table والتي الضغط عليها سوف تلاحظ قائمة منسدلة تحتوي على اسماء كل الجداول التي تم ارفاقها بالنموذج ويمكن منها ان تختار الجدول الاساسي الذي سوف تستخدمه النافذة في حالتنا هنا يوجد جدول واحد هو ARB_Customer_MSTR عليك اختياره.

الان انتقل الى علامة التوبيب Visual وانتقي الخاصية Control Area ثم غير قيمتها من False الى True سوف تلاحظ ظهور شريط العمل ذو لون ازرق باهت في اعلى الشاشة وسوف نستخدم هذا الشريط لاضافة الازرار التي سوف نستخدمها في النافذة.
بقي هناك علامة التبويب Scripts وهنا يمكن ان تضع الكود التي تلائم الحدث وهنا نلاحظ وجود عدد من الاحداث التي تتأثر بها النافذة مثل الحدث Activate والذي يتم تنفيذه في كل مرة تفعل مثل فتح النافذة او استدعاء النافذة من خلف نافذة اخرى وهناك تحديدات على الكود التي يمكن استخدامها مع هذا الحدث مثل عبارة warring والتي سوف تؤدي الى تنفيذ حلقة غير منتهية وعموما يفضل عدم كتابة كود في هذا الحدث. الحدث الاخر وهو Pre والذي ينفذ مباشرة بعد فتح النافذة ويمكن استخدام هذا الحدث لوضع قيم اولية وكذلك ينفذ الحدث عند تنفيذ العبارتين :
Restart Form
Restart Window
والتي تستعمل على الاغلب لمسح محتويات النافذة بعد عملية Save او عندما تحتاج الى العودة الى القيم الاولية بعد تنفيذ حلقة معينة.
الحدث الاخر وهو Post وينفذ عندما يحاول المستخدم ان يقوم باغلاق النافذة وهنا يمكن وضع كود لكي نتاكد من ان التغيرات الاخيرة التي قام بها المستخدم قد تم حفظها او لا وفي حالة عدم الحفظ سوف نوقف عملية الاغلاق ونسأل المستخدم ان يحفظ السجل قبل اغلاق النافذة.
الصور المصغرة للصور المرفقة
اضغط على الصورة لعرض أكبر الاســـم:	Fig1.JPG‏ المشاهدات:	226 الحجـــم:	29.2 كيلوبايت الرقم:	69   اضغط على الصورة لعرض أكبر الاســـم:	Fig2.JPG‏ المشاهدات:	245 الحجـــم:	81.4 كيلوبايت الرقم:	70  
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 18-Jul-2011, 08:29 PM   #6
humam
مشرف منتدى المطورين
افتراضي أضافة Window Field

أضافة Window Field :

الخطوة التالية وبعد اكمال الاعدادت الخاصة بالنافذة سوف نبداء باضافة الحقول الى النافذة وهنا ان Window Field كما قلنا سابقا سوف تكون نوعان هما :
Global Field: وهو في الاساس قد يكون Table Field ويمكن استدائعه للظهور على النافذة وهو سوف يمثل همزة الوصل بين النافذة والجدول او الجداول التي نتعامل معها.
Local Field: وهو حقل يتم تكوينه للاستخدام في النافذة ولا يتم تخزين قيمته في الجداول ونقوم بتصميم هذا النوع من الحقول فقط عندما لانجد الحقل المطلوب في Global Field اما في حالة توفر الحقول في Global Fields لا يوجد داع لتكوين مثل هذا الحقل.
اولا سوف نبداء باضافة الازرار الى منطقة العمل وهذه الازرار هي
Save
Clear
Delete
Print
وللحصول على هذه الازرار انتقل الى مربع الادوات واختر Globals Fields وضع المؤشر في القائمة واطبع كلمة Save سوف تظهر لك عدة خيارات اختر منها Save Button ثم اسحبه الى منطقة العمل لكي يكون شكل النافذة كما في الصورة رقم 3. وقم بنفس العملية مرة اخرى ولكن اطبع هذه المرةClear واسحب Clear Button وضعه بجانب Saveوهكذا مع Delete Button وضعه بجانب Clear واخيرا اطبع Print ثم اسحب هذا الزر وضعه هذه المرة في النهاية اليمنى من شريط العمل واعمل على زيادة عرض النافذة الى 560 والارتفاع الى 400 قد نحتاج فيما بعد الى تغييرهذه الابعاد ولكن يجب ان يبدو شكل النافذة كما في الصورة الثانية
الصور المصغرة للصور المرفقة
اضغط على الصورة لعرض أكبر الاســـم:	Fig3.JPG‏ المشاهدات:	246 الحجـــم:	51.5 كيلوبايت الرقم:	71   اضغط على الصورة لعرض أكبر الاســـم:	Fig4.JPG‏ المشاهدات:	226 الحجـــم:	17.6 كيلوبايت الرقم:	72  
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 19-Jul-2011, 07:03 PM   #7
humam
مشرف منتدى المطورين
افتراضي تعديل خصائص الازرار

تعديل خصائص الازرار

عند تصميم اي نافذة جديدة دائما نحاول ان نجعل النافذة تبدو مثل نوافذ الجريت بلينز الاخرى لكي لايشعر المستخدم انه يتعامل مع نافذة غريبة عن بيئة الجريت بلينز لذا سوف نحاول تغيير خصائص الازرار التي قمنا باضافتها الى النافذة وكما يلي:
اولا.اختر كل الازرار عن طريق الضغط على الازار مع ضغط زر CTRL وبذلك سوف نستطيع تعديل خصائص الازرار مجتمعة بدل من عمل ذلك بشكل مفرد.
ثانيا. انتقل الى مربع الخصائص (اذا لم يكن ظاهر استخدم CTRL + M ) واختر علامة التبويب Visual ومنها انتقي الخاصية Appearance وهنا غير قيمة الخاصية الى 3DHighlight ويمكن القيام بذلك عن طريق النقر المزدوج على الحقل الذي يحتوي على قيمة الخاصية وسوف تلاحظ ان قيمة الخاصية سوف تتغير في كل مرة نتقر فيها نقرا مزدوجا على قيمة الخاصية او اختر من القائمة المنسدلة التي تظهر اعلى مربع الخواص القيمة المطلوبة وهي 3DHighlight .
ثالثا.انتقل الى الخاصية BackColor لتغيير لون الخلفية وبالنقر المزدوج على قيمة الخاصية سوف تفتح نافذة BackColor ومنها اختر علامة التبويب System واختر System-Toolbar وبعد سوف تلاحظ ان الخلفية اصبحت شفافة.
رابعا.الان اختر فقط زر الطباعة Print واختر الخاصية Style والتي تتحكم بكيفية عرض الازرار واختر القيمة Graphic Only والتي تؤدي الى اظهار فقط الصورة المرفقة مع الزر لان هذا هو الحال مع ازرار الطباعة في GP وهناك قيم اخرى يمكنك التعرف على تاثيرها من اسم القيمة مثلا Text Only لاختيار فقط النص وقيم اخرى لمحاذاة النص.
خامسا. نحتاج الى رسم خطوط فاصلة بين زر Save و Clear واخر بين زر Clear و Delete ولفعل ذلك استخدم اداة الخط من مربع الادوات وسوف تكون هي الاداة الاخيرة في مربع الادوات ويجب ان يكون طول الخط هو 17.
وهكذا بعد الانتهاء من هذه التغييرات يجب ان تبدو النافذة كما في الشكل 5
الصور المصغرة للصور المرفقة
اضغط على الصورة لعرض أكبر الاســـم:	Fig5.JPG‏ المشاهدات:	245 الحجـــم:	15.8 كيلوبايت الرقم:	74  
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 19-Jul-2011, 07:43 PM   #8
humam
مشرف منتدى المطورين
افتراضي أضافة الحقول من الجدول ARB_Customer_MSTR

أضافة الحقول من الجدول ARB_Customer_MSTR

الان وقبل اضافة الحقول من الجدول المذكور نحتاج الى اضافة التسميات Labels وللقيام بذلك سوف نستخدم اداة التسمية وهنا اسمها Static Text وهي على شكل حرف A بعد النقر على هذه الاداة انقر اي مكان داخل الشاشة واكتب النص التالي :
Customer ID ثم انقر مرة اخرى خارج هذا النص واضف النص التالي Customer Name وهكذا اضف Short Name ثم بعد ذلك انتقي التسمية الاولى Customer ID غير اعداد الخواص التالية كما يلي:
Position Left=8 وهو يحدد البعد عن الحافية اليسرى.
Position Top =34 وهو يحدد البعد عن الحافة العليا.
Size Height=20 ويمثال طول التسمية.
Size Width =96 ويمثل غرض التسمية.
ثم اذهب الى مربع الادوات وغير القائمة المنسدلة من Global Fields الى الجدول ARB_Customer_MSTR كما في الشكل6وبذلك سوف تلاحظ ان القائمة سوف تحتوي فقط على الحقول الموجودة في جدولك من هذه الحقول اسحب الحقل ARBCUSTID وضعه بجانب التسمية Customer ID ثم بعد ذلك غير خواص هذا الحقل وكما يلي:
Position Left=104 وهو يحدد البعد عن الحافية اليسرى.
Position Top =34 وهو يحدد البعد عن الحافة العليا.
Size Height=20 ويمثال طول التسمية.
Size Width =120 ويمثل غرض التسمية.
الان وقبل الاستمرار في اضافة الحقول نحتاج الى محاذاة باقي التسميات ولفعل ذلك نستخدم ادوات المحاذاة الان في مربع الادوات انقر على علامة التبويب Arrange كما في الشكل 7 سوف تلاحظ مجموعة الاوامر التي يمكن استخدامها الان انتقي التسميات الثلاثة ثم اضغط على زر المحاذاة الى اليسار كما في الشكل 7 وبعد ذلك
انقر على زر مساواة العرض كما في الشكل 7 ايضا .
بعد ذلك ابقي على انتقاء التسميات الثلاث وغير الخصائص التالية من نافذة الخصائص:
Appearance=3DHighlight
Border=True
وذلك لجعل التسميات تبدو كما التسميات الموجودة في GP.

بعد ذلك سوف نعود الى قائمة الحقول ونختار الحقول ARBCUSTNAME و ARBSHORTNAME ونضعها بجانب التسميات الخاصة بها وتكون الخواص كما يلي:

ARBCUSTNAME
Position Left=104 وهو يحدد البعد عن الحافية اليسرى.
Position Top =53 وهو يحدد البعد عن الحافة العليا.
Size Height=20 ويمثال طول التسمية.
Size Width =260 ويمثل غرض التسمية.

ARBSHORTNAME
Position Left=104 وهو يحدد البعد عن الحافية اليسرى.
Position Top =72 وهو يحدد البعد عن الحافة العليا.
Size Height=20 ويمثال طول التسمية.
Size Width =120 ويمثل غرض التسمية.
ويكون الشكل النهائي بعد هذه التعديلات كما في الشكل 8 .
الصور المصغرة للصور المرفقة
اضغط على الصورة لعرض أكبر الاســـم:	Fig7.JPG‏ المشاهدات:	237 الحجـــم:	51.9 كيلوبايت الرقم:	75   اضغط على الصورة لعرض أكبر الاســـم:	Fig8.JPG‏ المشاهدات:	264 الحجـــم:	20.4 كيلوبايت الرقم:	76   اضغط على الصورة لعرض أكبر الاســـم:	Fig6.JPG‏ المشاهدات:	260 الحجـــم:	55.9 كيلوبايت الرقم:	77  
__________________
GP Techno-Functional Consultant

آخر تعديل بواسطة humam ، 19-Jul-2007 الساعة 08:35 PM.
humam غير متواجد حالياً   رد مع اقتباس
قديم 21-Jul-2011, 09:10 AM   #9
حامد
عضو نشيط
 
تاريخ التسجيل: Jun 2007
المشاركات: 38
من مواضيعي  
افتراضي

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

جزاك الله خير
__________________
قال رسول الله صلى الله عليه وسلم :
((إن الله وملائكته وأهل السماوات وأهل الأرض حتى النملة في جحرها والحيتان في البحر ليصلون على معلم الناس الخير))
حامد غير متواجد حالياً   رد مع اقتباس
قديم 21-Jul-2011, 12:35 PM   #10
humam
مشرف منتدى المطورين
افتراضي

الشكر لله اخي العزيز
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
إضافة رد


يتصفح الموضوع حالياً : 1 (0 عضو و 1 ضيف)
 
أدوات الموضوع
انواع عرض الموضوع

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا يمكنك اضافة مرفقات
لا يمكنك تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
تعلم كيفية كتابة الشفرة البرمجية بلغة الدكسترتي humam مواضيع المطورين الأخرى 30 25-May-2013 05:45 PM
تعلم لغة الدكسترتي humam مواضيع المطورين الأخرى 59 20-May-2013 12:00 PM
ايهما افضل VBA Modifier او الدكسترتي humam مواضيع المطورين الأخرى 18 08-Dec-2011 01:51 PM
مستقبل لغة الدكسترتي في مواجهة ثورة الدوت نت hunter0003 مواضيع المطورين الأخرى 8 23-Oct-2011 09:00 AM


جميع الأوقات بتوقيت GMT +3. الساعة الآن 12:36 AM.


Powered by vBulletin® Version 3.8.3

الموقع والمنتدى من تطوير » شركة المنذر للاستضافة والتصميم

Copyright © 2000-2010 Jelsoft Enterprises Limited.
الموقع لا يمثل أي جهة رسمية بل هو جهد شخصي يرمي الى تجميع القدرات في برنامج جريت بلينز