الانتقال إلى المحتوى
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.

شرح Global Variable

Featured Replies

بتاريخ:

كثرت الأسئله عن ماهية الـ Global Variable و ما أهميته و لذلك فقررت ان اقوم بشرحه مع امثله جاهزه ان شاء الله..
اولا ما الفرق بين المتغير العادى و الجلوبال ؟؟ المتغير العادى يتم تعريفه تحت كلمة Declare و يكون متاح فقط داخل البرنامج الخاص به أما اذا اردت استدعائه خارج البرنامج فسوف يعطى خطأ و هذا منطقى جدا ... أما الجلوبال فهو متاح على مدار ال session يعنى يتم تعريفه بكتابه كلمه Global. name فقط و تستطيع ان تستخدمه فى اى مكان طالما ان الsession لازلت مفتوحه امامك .. أكيد نحن فى حاجه الى مثال ... المثال الأول على المستخدم HR و المطلوب عمل 2 فورمه

1- فورمه على جدول الأقسام و بها زر يسمى البحث

2- فورمه على جدول الموظفين

انا اريد الأن اذا دخلت فى فورمة الأقسام و قمت بعمل Execute Query طبعا سوف تظهر كافة الأقسام و المطلوب اذا قمت بإختيار اى قسم ثم ضغط على زر البحث (الذى قمنا بإنشائه ) يتم فتح فورمة الموظفين و بها كافة الموظفيت للقسم الذى تم أختياره .... اذا هناك أكثر من كود سوف يتم كتابتهم كما يلى:
** بالنسبه للفورمه الأولى و هى الأقسام الكود سوف يكون على زر البحث و نوع التريجر when-button-pressed وهنا سوف يتم تعريف الجلوبال الذى سوف يحتفظ برقم القسم و يذهب به الى فورمه الموظفين ليقوم بعمل البحث فيها برقم القسم الذى بداخله ... و ذلك كما يلى

:global.dept_id:=:departments.department_id;
Call_form('c:\employees');


من هنا نستنتج أن الجلوبال يحمل نفس القيمه الموجوده بالtext_item فى جدول الأقسام وهى رقم القسم و يذهب بها الى فورمة الموظفين ليقوم بالبحث عن الموظفين داخل هذا القسم ..

**** بالنسبه لفورمه الموظفين يجب عمل كود ليستقبل الجلوبال كما يلى:
نوع التريجر طبعا when-new-form-instance ويحتوى على الكود التالى

Set_block_property('employees',default_where,'department_id='||:global.dept_id);
Go_block('employees');
Execute_query;




نستنتج من هذا الكود انه تم التعديل فى شرط where و لكن فى ال Run time بإستخدام built in كما انه يمكن تعديلها من خصائص البلوك ... و اصبح شرط البحث بالجلوبال الذى يحمل رقم القسم من فورمة الأقسام ومن هنا تأتى أهمية الجلوبال......

المرفقات:
1- المثال الذى تم شرحه على المستخدم hr
2- مثال على المستخدم scott و لكن التعديل فى خاصية where من خصائص البلوك و ليس فى الrun time يعنى اقف على البلوك ثم f4 و أختار خاصيه where سوف تجد الشرط هناك بدل من استخدام الbuilt in ...
ضع اى فورمه اى ال C مباشره...

أعتقد الأن انكم فهمتم ما أهميه ال Global Variable .............. لا تنسونى بدعوه خالصه من القلب.

G_HR.zip

G_scott.zip

  • الردود 28
  • المشاهدات 19.3k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

بتاريخ:

شكرا جزيلا لك على المجهود الجبار
الذي تبذله لايصال المعلومه
ومساعدة المبتدئيين مثلي
وفقك الله

بتاريخ:

جزاك الله خيراً
وما شاء الله عليك

بتاريخ:

فعلا موضوع مهم جداا .. والكثير محتاجه

وافكارك ومواضيعك حلوه كثير ..


الله يعطيك العافيه ..

  • بعد 2 أسابيع...
بتاريخ:

جزاكم الله خيرا

بتاريخ:

الموضوع جميل لكن للاسف المثال معمول على 10g
يا ريت مثال عن الديفولبر 6i

  • بعد 2 شهور...
بتاريخ:

مشكور أخوي على الشرح الرائع




يعطيك الف عافية

  • بعد 1 شهر...
بتاريخ:

عزيزى المهندس سامح

مشكور على مجهودك وتفانيك فى الأجابة على كل سؤال

اما آن لك ان تصدر كتب للمبتدأين ؟؟؟؟

بتاريخ:

سلام عليك مهندس سامح


ما شاء الله
دائما تتفقد احتياجات المبتدئين
حتى لو ما سألوا
الله يعطيك العافية
جزاك الله خير

تم تعديل بواسطة abu_sami

  • بعد 2 أسابيع...
بتاريخ:

اريد ان اضع تاريخ في هذا النوع من المتغيرلت فكيف لي ان اعمل وكيفية التعامل معه ارجوالافادة

بتاريخ:

جزاكم الله خيرا
بالمناسبة الموضع ده جالي في interview و الحمد لله عملته

  • بعد 3 أسابيع...
بتاريخ:

استاذي الفاضل جزاكم الله خيرا ووفقكم لما فيه صلاح دينك ودنياك على التعاون الشديد و الشروحات المهمة جزاكم الله عنا كل خير

بتاريخ:

مشكور أخى الفاضل سامح على هذا الدرس المميز

ولى سؤال هل الجلوبال فاريابل يغنى عن استخدام Parameters والـ Program unit

ولك منى جزيل الشكر

  • بعد 3 أسابيع...
بتاريخ:

اشكرك يا استاذ سامح علي هذا الموضوع الرائع
ولكن كان عندي سؤال

انا جربت الموضوع بس رحل قيمه واحده او سجل واحدانا كنت عاوز ارحل اكثر من ريكورد او اكثر من سجل

انا عامل فورم استعلام من نوع تابلر وبيكون فيها اكتر من ريكورد ولما جربت global رحلي سجل واحد لو عاوز ارحل اكثر من سجل للفورم التانيه

هل استطيع ان افعل ذلك ولو ممكن كيف يمكنني ذلك

ولك جزيل الشكر

بتاريخ:
كثرت الأسئله عن ماهية الـ Global Variable و ما أهميته و لذلك فقررت ان اقوم بشرحه مع امثله جاهزه ان شاء الله..
اولا ما الفرق بين المتغير العادى و الجلوبال ؟؟ المتغير العادى يتم تعريفه تحت كلمة Declare و يكون متاح فقط داخل البرنامج الخاص به أما اذا اردت استدعائه خارج البرنامج فسوف يعطى خطأ و هذا منطقى جدا ... أما الجلوبال فهو متاح على مدار ال session يعنى يتم تعريفه بكتابه كلمه Global. name فقط و تستطيع ان تستخدمه فى اى مكان طالما ان الsession لازلت مفتوحه امامك .. أكيد نحن فى حاجه الى مثال ... المثال الأول على المستخدم HR و المطلوب عمل 2 فورمه

1- فورمه على جدول الأقسام و بها زر يسمى البحث

2- فورمه على جدول الموظفين

انا اريد الأن اذا دخلت فى فورمة الأقسام و قمت بعمل Execute Query طبعا سوف تظهر كافة الأقسام و المطلوب اذا قمت بإختيار اى قسم ثم ضغط على زر البحث (الذى قمنا بإنشائه ) يتم فتح فورمة الموظفين و بها كافة الموظفيت للقسم الذى تم أختياره .... اذا هناك أكثر من كود سوف يتم كتابتهم كما يلى:
** بالنسبه للفورمه الأولى و هى الأقسام الكود سوف يكون على زر البحث و نوع التريجر when-button-pressed وهنا سوف يتم تعريف الجلوبال الذى سوف يحتفظ برقم القسم و يذهب به الى فورمه الموظفين ليقوم بعمل البحث فيها برقم القسم الذى بداخله ... و ذلك كما يلى
:global.dept_id:=:departments.department_id;
Call_form('c:\employees');


من هنا نستنتج أن الجلوبال يحمل نفس القيمه الموجوده بالtext_item فى جدول الأقسام وهى رقم القسم و يذهب بها الى فورمة الموظفين ليقوم بالبحث عن الموظفين داخل هذا القسم ..

**** بالنسبه لفورمه الموظفين يجب عمل كود ليستقبل الجلوبال كما يلى:
نوع التريجر طبعا when-new-form-instance ويحتوى على الكود التالى

Set_block_property('employees',default_where,'department_id='||:global.dept_id);
Go_block('employees');
Execute_query;




نستنتج من هذا الكود انه تم التعديل فى شرط where و لكن فى ال Run time بإستخدام built in كما انه يمكن تعديلها من خصائص البلوك ... و اصبح شرط البحث بالجلوبال الذى يحمل رقم القسم من فورمة الأقسام ومن هنا تأتى أهمية الجلوبال......

المرفقات:
1- المثال الذى تم شرحه على المستخدم hr
2- مثال على المستخدم scott و لكن التعديل فى خاصية where من خصائص البلوك و ليس فى الrun time يعنى اقف على البلوك ثم f4 و أختار خاصيه where سوف تجد الشرط هناك بدل من استخدام الbuilt in ...
ضع اى فورمه اى ال C مباشره...

أعتقد الأن انكم فهمتم ما أهميه ال Global Variable .............. لا تنسونى بدعوه خالصه من القلب.



شاكرين لمجهوكم وجزاكم الله خيراً
بتاريخ:

جزاك الله خير الجزاء - مجهوداتك رائعة - جعلها الله فى ميزان حسناتك - ربنا يوفقك الى حسن الطاعة و الاخلاص

  • بعد 3 أسابيع...
بتاريخ:

شكرا اخ سامح ووفقك الله لما فيه خدمة الجميع
واتمنى ان تفيدني في موضوع البراميترات التي هي lov وقد تم نشر الموضوع في مجموعة مستخدمي اوراكل اذا اردت الاطلاع على التفاصيل وجزاك الله كل خير . اختك نورا

  • بعد 4 أسابيع...
بتاريخ:

اللهم اغفر لسامح بكار وارحمه وزده علما ورزقا ...

والقائمين على هذا المنتدى المبارك

  • بعد 2 شهور...
بتاريخ:
اشكرك يا استاذ سامح علي هذا الموضوع الرائع
ولكن كان عندي سؤال

انا جربت الموضوع بس رحل قيمه واحده او سجل واحدانا كنت عاوز ارحل اكثر من ريكورد او اكثر من سجل

انا عامل فورم استعلام من نوع تابلر وبيكون فيها اكتر من ريكورد ولما جربت global رحلي سجل واحد لو عاوز ارحل اكثر من سجل للفورم التانيه

هل استطيع ان افعل ذلك ولو ممكن كيف يمكنني ذلك

ولك جزيل الشكر



عزيزي emad
يمكن عمل جدول بالقيم التي تحتاجها global table مثلا (id,name,add) اي يمكنك استخدام اكثر من global وهناك امثلة على ذلك في المنتدى
وفقكم الله ..
  • بعد 5 شهور...
بتاريخ:

بارك الله فيك

  • بعد 1 شهر...
بتاريخ:

سلم ايدك ياباشا

  • بعد 2 شهور...
بتاريخ:

السلام عليكم
اشكر الجميع على التعاون...
عندي سؤال و اتمنى الرد.....
انا مطلوب مني استدعاء from b من خلال form A و بعد الأستدعاء يتوجب علي
ان ارسل قيمة من الform b الى ال form b اي ان المطلوب مني قريب جدا من موضوعكم و لكنه معكوس......
و استرط علي صاحب العمل ان استعمل ال call_form عند استدعاء ال form b و قال لي
انه لا يريد ان اكتب call_form مرة اخرى في الform b اي عند ارجاع القيمة المطلوبة ........
و لقد استخدمت ال global variable
ارجوا الرد منكم و جزاكم الله خيرا

بتاريخ:

السلام عليكم
اشكر الجميع على التعاون...
عندي سؤال و اتمنى الرد.....
انا مطلوب مني استدعاء from B من خلال form A و بعد الأستدعاء يتوجب علي
ان ارسل قيمة من الform b الى ال form a اي ان المطلوب مني قريب جدا من موضوعكم و لكنه معكوس......
و اشترط علي صاحب العمل ان استعمل ال call_form عند استدعاء ال form b و قال لي
انه لا يريد ان اكتب call_form مرة اخرى في الform b اي عند ارجاع القيمة المطلوبة ........
و لقد استخدمت ال global variable
ارجوا الرد منكم و جزاكم الله خيرا

  • بعد 1 سنة...
بتاريخ:

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

في ميزان حسناتكم

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

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

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

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

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

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.