عرض مشاركة واحدة
قديم 02-Aug-2011, 10:10 AM   #20
humam
مشرف منتدى المطورين
افتراضي

الان كيف تعمل العبارة case :
اولا. اذا كان السجل محذوف من قبل مستخدم اخر نظهر رسالة توضيحية بذلك.
ثانيا.اذا كان السجل مقفل من قبل مستخدم اخر نظهر ايضا رسالة توضيحية بذلك.
ثالثا.اذا كان السجل متوفر الان نستخدم العبارة الجديد ask وتعمل هذه العبارة على اضهار رسالة للمستخدم وتعيد الزر الذي قام المستخدم بالضغط عليه والتركيب لهذه العبارة كما يلي :
ask (prompt, button1, button2, button3,helpindex)

هنا ان prompt سوف تأخذ النص الذي سوف يعرض على المستخدم و button يتم التعويض عنها بعبارت نصية لاسماء الازرار وعندما تريد ان تمرر زرين فقط عليك التعويض عن الزر الثالث بسلسلة نصية فارغة كما في مثالنا . القيمة المعادة من هذه العبارة قد تكون احدى القيم التالية اعتمادا الى الزر الذي ضغطه المستخدم :
ASKBUTTON1 للزر الاول
ASKBUTTON2 للزر الثاني
ASKBUTTON3 للزر الثالث
الان بعد التأكد من ان السجل موجود سوف نسأل المستخدم هل تريد الحذف ام لا فأذا كانت الاجابة بنعم سوف تعيد الدالة ask القيمة ASKBUTTON1 وهنا تعمل عبارة if then على فحص هذا الشرط فأذا كان متطابق سوف يتم تنفيذ العبارت الثلاثة وهي Range Clear , range table ,get first تعمل مجتمعة على القيام بتحديد السجل الحالي المعروض على المستخدم ثم نفحص مجددا اذا كان السجل متوفر ام لا طبعا يمكن اهمال هذا الفحص لان السجل فحص سابقا لكن لا مانع من فعل ذلك مجددا .
ثم تبدأ عملية الحذف بتنفيذ العبارة change والتي تعمل على اقفال السجل لكي لا يستطيع اي مستخدم اخر الوصول اليه ثم بعد ذلك تأتي عبارة remove table التي تعمل على حذف السجل الذي تم اختياره بواسطة العبارة range table .
ثم بعد ذلك تأتي عبارة range clear لتنظيف ال Table Buffer وهذا ضروري بعد كل استخدام لل Table Buffer ثم تأتي العبارة window restart لمسح محتويات النافذة ولاعطاء المستخدم صورة تفاعلية بأن السجل تم حذفه.
بقي هناك الكود التي تلي العبارة else للتركيب case والتي تعمل وفق المنطق التالي الذي ذكرناه سابقا (اما اذا اعادت العبارة القيمة OKAY فهي للدلة على ان السجل موجود ويمكن حذفه واخيرا اذا لم تعاد اي من القيم الثلاثة السابقة فهذا يدل على ان السجل لم يحفظ اصلا والسناريو المحتمل هو ان المستخدم ادخل السجل في النافذة والآن يريد حذفه هنا اذا كان الزر حذف مفعل وغير مغلق قد يضغط المستخدم على الزر لحذف السجل قبل حفظه اصلا في الجدول لذا وضعنا عبارة else في نهاية العبارة case لأصطياد هذه الحالة) هنا قمنا بأظهار رسالة اولا لاخبار المستخدم بأن هذا السجل لم يحفظ لذا عليه استخدام الزر clear لمسح محتويات النافذة ثم استخدمنا العبارة focus والتي تعمل علة نقل التركيز الى الزر clear لكي يكون من السهل على المستخدم الضغط عليه واخيرا تأتي عبارة range clear لتنظيف ال Table Buffer وهذا ضروري بعد كل استخدام لل Table Buffer.
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس