الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Package Spec

مغلق
بدأه databasemaster في 12 أبريل 2003 · 3 رد · 863 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

شباب ممكن تعطوني فكرة عن ال Package Spec وال Package Body ?

وكيف ممكن أعمل متغيرات عامة يمكن التعامل معها من خلال كل ال Forms

في المشروع ?:o

#2

بسم الله الرحمن الرحيم :

أخي الكريم ان ال package يتكون من قسمين هما :

1-package spec

2-package body

package spec:

في هذا القسم يتم وضع المتحولات العامة التي تستطيع طلبها من خارج ال package و تستططيع ان تسند له قيمة من الخارج و يمكن استخدام هذه المتحولات المعرفة في ال spec داخل ال body وهذا النوع من المتحولات يعرف باسم public variable .

وكذلك الأمر بالنسبة للprocedure و الfunction التي تعرف في ال spec حيث يذكر هناك ال header الخاص بها فقط و بذلك نستطيع استدعائها من خارج ال package لأنها أصبحت public subprogram.

package body :

في هذا القسم يتم تعريف المتحولات الخاصة و الاجرائيات الخاصة (private subprogram) و التي تستخدم داخل ال body فقط اي لا يمكن الاشارة لها

من خارج الbody ويتم هنا وضع ال body الخاص بالاجرائيات التي تم تعريفها في ال package spec .

يجب ان يتم بناء ال spec قبل ال body لأنهم كائنين منفصلين.

ملاحظة : يمكن أن يوجد ال spec دون ال body ولكن لايمكن العكس .

أخي الكريم في حالتك التي تريد أنت (أي المتحولات العامة)أنت بحاجة الى

package spec فقط لأنك سوف تستخدم متحولات عامة فقط .

لذلك قم ببناء ال spec وضع فيه المتحولات التي تريد .

ثم قم باضافته للform التي تريد و بعد ذلك تستطيع ان تسند قيم للمتحولات العامة التي بداخل ال spec و تأخذ هذه القيم من اي مكان من داخل الform

ملاحظة :

اذا كان لديك اكثر من forms و تريد عمل public بينهم بنفس الطريقة قم باضافة ال package spec لكل فورم ويجب هنا ان تستدعي الفورم من الأخرى باستخدام open_form built-in or call_form built-in

وتمرر له البارامتر التالي share-data-library

و لمزيد من المعلومات عن بارمتراات ال built-in السابقة راجع الhelp .

#3

بسم الله الرحمن الرحيم

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

#4

السلام عليكم

المشاركة في بعض النقاط

بالنسبة حول الباكج التي يقوم بكتابتها المستخدم

فإنه لا يمكنك انشاء الـ package body

بدون الـ package specification

ويجب انشاء الـ specification اولا

إذا كنت تريد حذف الـ body اكتب الامر

drop package body package_name

حيث package_name اسم الباكيج التي قمت بانشاءها سابقا

والامر التالي يقوم بحذف الـ specification + body

drop package body package_name

يمكنك تعريف متحولات عامة بالنسبة للباكج فقط، داخل package body حيث لا يمكن استخدامها إلا من قبل المتحولات والـ procedures and functions الموجودة داخل الـ package

هذا الموضوع مغلق.

مواضيع مشابهة