بتاريخ: 16 فبراير 200818 سنة comment_122540 أولاً ، أنا آسف جداً لأنني أسأل بكثرة هذه الأيام ، لكنني صراحتاً أنا نفسي أتعلم الديفيلوبار بجد ، فأعزروني ،أما بالنسبة لمشكلتي ، فعادتاً عند جلب أو إرسال قيمة معينة من أي Item يتم كما يلي : Message(:LST_SEX); :TXT_NAME := 'Mostapha Abd El-Salam'; Message(:TXT_NAME); لكنني أرغب في البحث عن العنصر أولاً ثم إدراج قيمة Value أو أخذ قيمة منه ، فقمت بكتابة الكود التالي ولكنه للأسف لا يعمل : DECLARE ITM ITEM; BEGIN ITM := FIND_IMTE('TXT_NAME'); IF(NOT ID_NULL(ITM))THEN :ITM := 'Mostapha Abd El-Salam'; END IF; END; الكود السابق لا يعمل ، ولكن كيف يتم صناعة مثل هذا الكود !!!حيث أنني أرغب في التحكم الكامل بعناصر الإدخال والإخراج ( Items ) من علي شريط القوائم Menus .أتمني الإستجابة السريعةجزاكم الله كل الخيراتشكراً تم تعديل 16 فبراير 200818 سنة بواسطة MMA تقديم بلاغ
بتاريخ: 16 فبراير 200818 سنة comment_122543 بسم الله الرحمن الرحيمأعتقد إن فى غلطه فى الكود وهى إن ال itm ده من نوع item علشان يجيب الid بتاع الitem ولا يصح وضع قيمه فيه . DECLARE ITM ITEM; BEGIN ITM := FIND_ITEM('TXT_NAME'); IF(NOT ID_NULL(ITM))THEN :txt_name:= 'Mostapha Abd El-Salam'; END IF; END; تقديم بلاغ
بتاريخ: 16 فبراير 200818 سنة كاتب الموضوع comment_122552 لا يا أخي ، أنا لم أقصد ذلك ،سأبسط الموضوع أكثر من ذلك ،فرضاً أنني قمت بإنشاء خمسة نماذج ( الإدارات - الموظفين - الأجازات - حضور/إنصراف - الضرائب ) !!!في كل نموذج من هذه النماذج يحتوي علي Text Item تحت إسم ( TXT_Find ) !!!لكل نموذج أقم بإضافة تسعة زراير ( Push Button ) ، الأربعة الأولي مسئولين عن عمليات ( حفظ/جديد/إغلاق/حذف ) ، أما الأربعة الثانية التنقل بين السجلات ( أول/سابق/تالي/أخير ) ، أما الزر الأخير فهو زر البحث ، بحيث عند النقر علية يعرض شاشة بحث !!!المهم ، قمت بإنشاء Menu رئيسية ، هذه القائمة تحتوي علي 9 عناصر ( حفظ / جديد / إغلاق / حذف / أول / سابق / تالي / أخير / بحث ) وذلك بدلاً من تكرارة كل مرة بأزرار الأوامر !!!المهم ، مشكلتي هي كيفية جلب أو إرسال قيمة لمربع نص TXT_FIND الموجودة بكل نموذج من داخل القائمة ، من الطبيعي إجراء عملية البحث للتأكد من وجود هذا العنصر ، وفي حالة وجودة يتم إرسال قيمة له ، ولكن للأسف لا أعلم كيف يتم ذلك ، ولكنني أعلم كيف يتم تعديل خصائص هذه الآداة ، أنظر : Declare Itm Item; Begin Itm := Find_Item('txt_Find'); If(Not ID_Null(Itm))Then Set_Item_Property('txt_Find',Enabled,Property_True); End If; End; ولكنني أرغب في التعديل علي قيمة الـ Text كما ذكرت بمثالك الخاص ، ولكن هذا ينفذ في النموذج ولكن لماذا لا ينفذ من الـ Menu ... حيث أن الـ Menu لا يحتوي علي الـ TXT_FIND ، فإذا كتبت له الكود التالي : :TXT_Find := 15; يعطي لي رسالة تقول أن هذه الآداة غير موجودة بالمرة فكيف أرسل أو أستقبل قيمة Value بمربع النص TXT_FIND الموجودة بداخل الـ Forms من القائمة Menu الرئيسية لكل النماذج ؟؟؟؟؟أتمني أن أكون أوضحت سؤالي هذه المرة جيداًشكرا وجزاك الله كل خير تم تعديل 16 فبراير 200818 سنة بواسطة MMA تقديم بلاغ
بتاريخ: 16 فبراير 200818 سنة comment_122562 بسم الله الرحمن الرحيمبالنسبه لجلب قيمه من variable ممكن تستخدم built in function إسمها name_in declare val varchar2(100); begin val:=name_in('txt_find'); message(val); message(val); end; أما بالنسبه لإرسال قيمه لـvariable ممكن تتعامل مع global variable :global.val:='Ahmed';وتعمل مثلاً trigger على مستوى الـitem when-new-item-instance:txt_find:=:global.val;ممكن يكون ده حل من ضمن الحلول بس ياريت لو حد عنده حل أفضل ما يبخلش علينا بيهوياريت لو حد يعرف built in function زى الـname_in بس تكون لإرسال قيمه لـvariable ياريت يقولنا عليها . تقديم بلاغ
بتاريخ: 16 فبراير 200818 سنة كاتب الموضوع comment_122565 شكراً أخي الكريم علي تفاعلك معي ،لكن بصراحة أنا كان نفسي بطريقة مباشرة لأنني أرغب في إجراء التحكم الكامل بالنموذج من خلال القائمة Menu !!!!طب أخي أنا آسف جداً ، ممكن توضحلي شيء آخر بديل لعلي وعسي أن يكون هناك حل لهذه المشكلة !!!أنا لدي إجراء Procedure أو Function مصمم داخل أكثر من نموذج تحت إسم واحد يدعي Find_Form كعلي سبيل المثال !!!كيف يمكنني إستدعاء Function أو Procedure موجود بالنموذج Form من القائمة Menu بحيث في حالة وجودة يتم إستدعائة ، وفي حالة عدم وجودة يتم إهمال الكود ؟؟؟؟شكراً أخي وآسف جداً علي الإزعاج تقديم بلاغ
بتاريخ: 17 فبراير 200818 سنة comment_122596 ما هى نفس المشكله تقريباًإن الـfunction أو الـprocedure لازم تكون على مستوى الـmenu مش على مستوى الـform علشان يحس بيها .فياريت لو حد عنده أى حل للموضوع ده يقولنا عليه ........... تقديم بلاغ
بتاريخ: 17 فبراير 200818 سنة كاتب الموضوع comment_122603 بسم الله الرحمن الرحيمالسلام عليكم ورحمة الله وبركاتةالأخ Ahmed Farghaly ، والأخوات أعضاء المنتدي الكرام ،في الحقيقة سؤالي هذا لم أقصد منه أن أدع أسئلة إستعراضية ، بل حقيقتاً أنا جديد في الـ Form Bilder ولكنني كنت أعتمد إعتماد كلي علي الـ VB6.0 من قبل ، فكنت أكره فكرة أن يتم إنشاء لكل نافذة تعريفية مجموعة من أزرار التعريفات ، لأن في هذه الحالة سيؤدي الي حدوث تكرار بالأدوات وكذلك بعض الأكواد التي لا بد من كتابتها داخل الأزرار Buttons مما يؤدي الي حدوث تضخم لأكواد النوافذ . ولكنني كنت دائماً أنشأ جميع النوافذ دون أي أزرار أوامر ، ولكنني أنشأ نافذة MDI تحتوي علي كافة الأوامر مثل ( حفظ / جديد / إغلاق / حذف / تنقل بين السجلات / بحث / ...... الي آخرة ) .ولكن من الطبيعي أن هناك إختلاف بين نموذج والآخر ، علي سبيل المثال قبل النقر علي زر ( حفظ ) يجب التأكد من البيانات المدخلة ، مثل ( حتمية إدخال الرقم الكودي والإسم وعدم تكرارة - لا بد إدخال التاريخ بصورة معينة والتحقق من عملية إدخالة - يجب إدخال قيمة مالية بحقل مالي معين بحيث مثلاً لا يزيد عن 9000 جنية ولا يقل عن 500 جنية - يجب إدخال قيمة FK معين - ..... الي آخرة ) . لذلك كنت انشأ بكل نموذج تعريفي خمسة أغراض Functions وهي :1- عمليات صيانة قاعدة البيانات ( حفظ / جديد / إغلاق / حذف ) :ValidateUpKeep --> التحقق من المدخلات والتأكد من أن كل شيء سليمUpKeep --> تنفيذ عملية الصيانة2- التنقل بين السجلات.ValidateMove --> قبل الإنتقال الي سجل معين .MoveRecord --> بعد عملية الإنتقال.3- غرض لإجراء عملية البحث .رجاء النظر بالملف المرفق ، حيث يحتوي علي مجموعة من الصور الخاصة بنظام ( المكتبة ) والمصممة بواسطة ( VB6.0 ) ...أما بالنسبة للـ Form Bilder فأنا أرغب في أي حل يعاونني علي ذلك ، فمشكلة التحكم الكامل بعناصر النموذج إستخدمت لها كل الحلول ولكنني لا أعلم لماذا لا يعمل ، مثل :1- إستدعاء أغراض أو أحداث موجودة داخل إحدي النماذج من خلال الـ Menu ، فحاولت أن أستخدم أمر Execute_Trigger ولكنة لم يعمل نهائياً !!!!2- قمت بإنشاء ToolBar للنموذج الحالي في Block مستقل بحيث أن أنشأ مشروعاتي كلياً علي FMX واحد كما يحدث في لغات البرمجة الأخري EXE واحد . ولكن واجهتني مشاكل عديدة ، علي سبيل المثال القائمة Menu !!!!!3- حاولت أن أشاً متغير عام لإقتباس بلوك البيانات كلياً ولم أفلح في ذلك !!!!ولكن كحل مبدئي أنا الآن توصلت إلية هو إنشاء متغير من نوع Global كما تفضل الأخ Ahmed Farghaly بعرض مثال له ولكنني إستخدمت بإضافة Timer لكل نموذج بحيث إذا كان المتغير يحتوي علي 1 يعرض نافذة البحث ومن ثم بعد إغلاق نافذة البحث أغير قيمة المتغير الي 0 حتي لا ينفذ مرة ثانية إلا بعد النقر علي أمر بحث مرة أخري ، ولكني هل هذا منطق ؟؟؟؟؟أتمني من إيجاد حل أفضل من هذه الطرق ، وأتمني من الله أن يوفق كل ساعي للخير وللعلم الي ما يحبة ويرضاةشكراً للجميع وأنا منتظر حلول أفضل ،والسلام ختاملا إله إلا الله ، محمد رسول الله ProjectPictures.zip تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.