فواز الشمري بتاريخ: 16 يونيو 2005 تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2005 الشي الغريب في الدفلوبر كما لاحضت انه يتيح على مستوى Form النوافذ window وهوا في هذا الحالة قائم على فكرة الأب والأبن حيث الأب هو Form والأبن هوا window لكن كما لاحضت ان الأخوان المبرمجون يستخدمون الشاشات Form يعني لو كان لدي شاشة تسجيل دخول فلها Form وشاشة مثلا الحسابات مثلا لها Form وشاشة العملاء لها Form على الرغم من ان فكرة Mdi التي يدعمها الدفلوبر هي كما ذكرت قائمة على Form ثم نستخدم Window لإنشائ هذه النوافذ .سأذكر مثال برمجي منطفي في لغة فيجول بيسك لتوضيح الفكرة .عندما نشئ Mdi (اب) فإن الأبنا تكون هي Form اي Window كماهوا الحال في ديفلوبر . فلماذا يستخدم المبرمجون في الدفلوبر Form لكل شاشة على الرغم من ان ذلك قد يسبب بطئ في البرنامج .السؤال :في النوافذ عندما اتنقل من نافذة إلى اخر هل يوجد كود معين يستخدم لإلغاء تحميل النافذة في الذاكرة (windows) الكود الي استخدمة هوا اخفاء وبالتالي يكون هنا بطئ شديد لو فتحت اكثر من نافذة لأنها تضل في الذاكره ولا يتم إغلاقها .انا اريد هذا الكود على مستوى windows واليس Form شكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
medo_mam بتاريخ: 16 يونيو 2005 تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2005 السلام عليكم و رحمة الله و بركاته.أخى الكريم ما تحدثت عنه هو عبارة عن مذاهب برمجية ....أنا عن نفسى أحب أن أستخدم ال window فى الشاشات الصغيرة أو التى تستخدم فى خدمة الفورم الأساسى ....أما بالنسبة للشاشات الرئيسية فيفضل عملها فى فورم لوحدها.بالنسبة لكود إغلاق Window هذا كود مجرب سيفى بالغرض إن شاء الله. PROCEDURE Close_Window( wn_name VARCHAR2,dest_item VARCHAR2 ) ISrg_id RecordGroup;gc_parent GroupColumn;gc_child GroupColumn;the_Rowcount NUMBER;PROCEDURE Close_Win_With_Children( parent_win VARCHAR2 ) ISthe_child VARCHAR2(40);the_parent VARCHAR2(40);BEGINFOR j IN 1..the_Rowcount LOOPthe_parent := Get_Group_Char_Cell(gc_parent,j);IF UPPER(the_parent) = UPPER(parent_win) THENthe_child := Get_Group_Char_Cell(gc_child,j);Close_Win_With_Children( the_child );END IF;END LOOP;Hide_Window( parent_win );END;BEGINrg_id:= Find_Group('WINDOW_HIERARCHY');gc_parent:= Find_Column('WINDOW_HIERARCHY.PARENT_WINDOW');gc_child:= Find_Column('WINDOW_HIERARCHY.CHILD_WINDOW');the_Rowcount := Get_Group_Row_Count(rg_id);Close_Win_With_Children( wn_name );Go_Item( dest_item );END; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 16 يونيو 2005 تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2005 الأخ / medo_mamشكرا لك على عرض الprocedure هل يمكن لك ارسال form لاستخدام هذا الprocedure كمثال لذلك ؟؟شكرا لك مقدما وجزاك الله خيرا ونفع بك المسلمين اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
medo_mam بتاريخ: 16 يونيو 2005 تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2005 السلام عليكم و رحمة الله و بركاته.أنا أسف لأنه ليس عندى مثال حاضر الأن .......و لكن يمكنك تجربته بسهولة مع أى فورم جاهزة عندك يكون فيها أكثر من window اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
فواز الشمري بتاريخ: 21 يونيو 2005 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 يونيو 2005 PROCEDURE Close_Window( wn_name VARCHAR2,dest_item VARCHAR2 ) IS rg_id RecordGroup; gc_parent GroupColumn; gc_child GroupColumn; the_Rowcount NUMBER; PROCEDURE Close_Win_With_Children( parent_win VARCHAR2 ) IS the_child VARCHAR2(40); the_parent VARCHAR2(40); BEGIN FOR j IN 1..the_Rowcount LOOP the_parent := Get_Group_Char_Cell(gc_parent,j); IF UPPER(the_parent) = UPPER(parent_win) THEN the_child := Get_Group_Char_Cell(gc_child,j); Close_Win_With_Children( the_child ); END IF; END LOOP; Hide_Window( parent_win ); END; BEGIN rg_id:= Find_Group('WINDOW_HIERARCHY'); gc_parent:= Find_Column('WINDOW_HIERARCHY.PARENT_WINDOW'); gc_child:= Find_Column('WINDOW_HIERARCHY.CHILD_WINDOW'); the_Rowcount := Get_Group_Row_Count(rg_id); Close_Win_With_Children( wn_name ); Go_Item( dest_item ); END; شكرا لك أخي medo_mam سوف أجرب هذا الإجراء ..... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
فواز الشمري بتاريخ: 26 يونيو 2005 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 26 يونيو 2005 ياخي الكريم للأسف لم ينجح معي هذا الإجراءمع العلم اني اريد إغلاق نافذة غير مربوطة بقاعدة البيانات . كما لاحضت في الإجراء انه يبحث عن جميع السجلات والمجموعات لا ادري هل القصد هوا إغلاقها ام ماذا .اتمنا منك ان تضع مثال على ذلك . اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.