الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيف الغي windows من الذاكرة

Featured Replies

بتاريخ:

الشي الغريب في الدفلوبر كما لاحضت انه يتيح على مستوى Form النوافذ window وهوا في هذا الحالة قائم على فكرة الأب والأبن حيث الأب هو Form والأبن هوا window لكن كما لاحضت ان الأخوان المبرمجون يستخدمون الشاشات Form يعني لو كان لدي شاشة تسجيل دخول فلها Form وشاشة مثلا الحسابات مثلا لها Form وشاشة العملاء لها Form على الرغم من ان فكرة Mdi التي يدعمها الدفلوبر هي كما ذكرت قائمة على Form ثم نستخدم Window لإنشائ هذه النوافذ .
سأذكر مثال برمجي منطفي في لغة فيجول بيسك لتوضيح الفكرة .

عندما نشئ Mdi (اب) فإن الأبنا تكون هي Form اي Window كماهوا الحال في ديفلوبر . فلماذا يستخدم المبرمجون في الدفلوبر Form لكل شاشة على الرغم من ان ذلك قد يسبب بطئ في البرنامج .

السؤال :
في النوافذ عندما اتنقل من نافذة إلى اخر هل يوجد كود معين يستخدم لإلغاء تحميل النافذة في الذاكرة (windows) الكود الي استخدمة هوا اخفاء وبالتالي يكون هنا بطئ شديد لو فتحت اكثر من نافذة لأنها تضل في الذاكره ولا يتم إغلاقها .
انا اريد هذا الكود على مستوى windows واليس Form
شكرا

بتاريخ:

السلام عليكم و رحمة الله و بركاته.

أخى الكريم ما تحدثت عنه هو عبارة عن مذاهب برمجية ....أنا عن نفسى أحب أن أستخدم ال window فى الشاشات الصغيرة أو التى
تستخدم فى خدمة الفورم الأساسى ....أما بالنسبة للشاشات الرئيسية فيفضل عملها فى فورم لوحدها.

بالنسبة لكود إغلاق Window هذا كود مجرب سيفى بالغرض إن شاء الله.


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

شكرا لك على عرض الprocedure

هل يمكن لك ارسال form لاستخدام هذا الprocedure كمثال لذلك ؟؟

شكرا لك مقدما

وجزاك الله خيرا ونفع بك المسلمين

بتاريخ:

السلام عليكم و رحمة الله و بركاته.

أنا أسف لأنه ليس عندى مثال حاضر الأن .......و لكن يمكنك تجربته بسهولة مع أى فورم جاهزة عندك يكون فيها أكثر من window

بتاريخ:
  • كاتب الموضوع

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 سوف أجرب هذا الإجراء .....
بتاريخ:
  • كاتب الموضوع

ياخي الكريم للأسف لم ينجح معي هذا الإجراء

مع العلم اني اريد إغلاق نافذة غير مربوطة بقاعدة البيانات . كما لاحضت في الإجراء انه يبحث عن جميع السجلات والمجموعات لا ادري هل القصد هوا إغلاقها ام ماذا .

اتمنا منك ان تضع مثال على ذلك .

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.