عرض مشاركة واحدة
قديم 28-Jul-2011, 03:25 PM   #13
humam
مشرف منتدى المطورين
Thumbs up الشفرة البرمجية للزر Top of File Button:

الشفرة البرمجية للزر Top of File Button:

انقر نقرا مزدوجا على الزر Top of File Button لفتح Script Editor واكتب العبارت التالية :
;range clear table ARB_Customer_MSTR
;clear window ARB_Customer_MSTR
;get first table ARB_Customer_MSTR
if err()=OKAY then

;copy from table ARB_Customer_MSTR to window ARB_Customer_MSTR
;lock field ARBCUSTID
elseif err()<> OKAY then
;"!warning "This record missing
;end if

هنا سوف نحتاج الى شرح بعض العبارت التي تظهر لأول مرة في الشفرة البرمجية وعمل كل منها:
نلاحظ في بداية الكود كانت العبارة Range Clear Table وهي تكون مسبوقة باسم الجدول تستخدم هذه العبارة لتفريغ Table Buffer من اي Record قد يكون موجود فيه لانه نحن في الواقع لانتعامل مع جدول SQL بشكل مباشر بل من خلال Table Buffer والذي سوف نتعلم لاحقا ما هي العبارت التي تؤدي الى ملئ هذا ال Buffer لذا من الضروري وهي تعتبر من اهم اساسيات الدكسترتي قبل استدعاء اي جدول لأي غرض من الاغراض من المهم جدا تفريغ Buffer لان عدم القيام بذلك سوف يؤدي الى اخطاء منطقية في عمل ال Module الذي تصممه وهذا ما توصلت اليه من خبرتي المتواضعة.
العبارة الثانية Clear Window وهي تأخذ اسم النافذة وهي تعمل على محو المحتويات من Window Field وهنا قد يسأل احد ما لماذا لانستخدم العبارة restart window ؟ سوف اجاوب عن هذا السؤال لاحقا ولكن اود ان اعطي للاخوان فرصة لكي يجدوا بأنفسهم اجابة لهذا السؤال؟
العبارة المهمة الاخرى وهي get first table متبوعة باسم الجدول وهي من العبارت الاساسية في الدكسترتي وهي من العبارت التي تؤدي الى ملئ Table Buffer وهي سوف تعمل على نقل اول سجل من الجدول الى Table Buffer .
العبارة التالية وهي Copy from table --- to window --- من العبارت الاساسية ايضا وهي معاكسة للعبارة التي استخدمناها في الزر حفظ وهي تعمل على نسخ البيانات من Table Buffer الى النافذة المعينة .
وبعدها عبارة Lock field وقد شرحنا سابقا عمل هذه العبارة.
العبارة الاخرى وهي warning وهي تستخدم لاظهار رسالة توضيحية للمستخدم وهنا نحاول اعطاء معلومة للمستخدم اذا لم نجد السجل المطلوب .

الان بقي العبارة الاساسية If Then Else واتوقع ان الجميع قد استخدم هذه التركيبة المنطقية سابقا وللذين لم يستخدمون هذه العبارة يمكن ايجاز عملها كما يلي :
If Condition then
;Statements
Else
;Statements

;End if
او

If Condition1 then
;Statements
Elseif Condition2 then
;Statements
End if


ببساطة عند تحقق الشرط المنطقي Condition سوف يتم تنفيذ العبارت التي تقع بعد Then واذا لم يتحقق سوف يتم تنفيذ العبارت التي تقع بعد Else . في التركيب الثاني نلاحظ وجود شرط منطقي مع عبارة Else وهنا نفس الشيء الشرط المنطقي1 Condition سوف يتم تنفيذ العبارت التي تقع بعد Then واذا لم يتحقق سوف يتم تنفيذ العبارت التي تقع بعد Elseif اذا تحقق الشرط المنطقي Codition2 واذا لم يتحقق هذا الشرط ايضا يتم مغادرة عبارة if endif بدون تنفيذ اي من العبارات المحصورة بينهما .

الان بقي ان نشرح عبارة الشرط المنطقي التي استخدمت وهي :
Err () = OKAY وعكسها Err () <> OKAY
ان هذه العبارة err() تعيد نتيجة اخر عملية تم تنفيذا على الجدول وهنا العملية التي نفذت على الجدول هي get first فأذا كان التنفيذ سليم سوف تعيد هذه الدالة الثابت OKAY للدلالة على ان السجل المطلوب موجود وتعيد قيم اخرى سوف نذكرها لاحقا و من الممكن معرفة هذه القيم من Help .

عمل هذا الزر بشكل مختصر هو الانتقال الى السجل الاول في الجدول .
عذرا من الاخوان ان الفارزة المنقوطة يجب ان تأتي في نهاية الجمل البرمجة ولكن محرر النص هنا يضعها بالعكس ارجو الانتباه الى هذه الحالة لذا سوف ارفق صورة للكود.
الصور المصغرة للصور المرفقة
اضغط على الصورة لعرض أكبر الاســـم:	Fig7.JPG‏ المشاهدات:	474 الحجـــم:	38.7 كيلوبايت الرقم:	95  
__________________
GP Techno-Functional Consultant

آخر تعديل بواسطة humam ، 28-Jul-2007 الساعة 05:50 PM.
humam غير متواجد حالياً   رد مع اقتباس