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

كيف اقوم بكتابة Function & Package. داخل الفورم

Featured Replies

بتاريخ:

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

ممكن احد من الاعضاء يقوم بشرح طريقة كتابة و استدعاء function & package داخل الفورم

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

اوبا بتبعوني و لا واحد معاه طريقة او شرح.... انا محتاجه ضروري. يا ريت حد يفيدني

بتاريخ:

انا مش عارف انت مستصعب الموضوع ليه ,

هو هو زي ما بتكتبهم في الـ pl/sql

بدل ما بتقول create or replace function function_name return number as

هتلاقيه هو كاتبلك الجزء ده

function function_name return _______ as

وانت تقله بترجع ايه

بتاريخ:

هاد ملف وورد فيه مثالين .. واحد لعمل function  ومثال لعمل procedure

 

اشارة + بالملف يعني انشاء .. لانو مختصر

 

مثالا يوجد

+program unit

تختار program unit  وتنشأ واحد جديد

 

+ diplay item

يعني من التصميم تنشأ diplay item جديد manual

 

و اذا لا يوجد اشارة + .. يعني تعدل على الخصائص

 

بالتوفيق

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

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

متشكر جدا يا جماعة
يا بش مهندس إسلام انا بعرف اكتب في pl-sql زي الفل لكن جربت في الفورم عملية return مش بترجع حاجة جربت في item بردو عملت مشكلة

بتاريخ:

هو الفانكشن لازم يكون فيه ايتم يتعمل عليه الريترن بتاعها

يعنى فى التريجر المناسب

:blockname.itemname:= function name ( :paramater item 1 ,:parameter item 2,....);

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

ارجو تكون الفكرة وصلت

وياريت توضح ايه المشكلة اللى حصلتلك لما عملت ريترن داخل ايتم

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

بتاريخ:

اخوي . هاي شرح فيديو عملي للمطلوب

 

دورة Oracle Developer – الدرس الرابع عشر Forms – Flixable code and program unit

http://goo.gl/Qbzl38

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

افكار جميلة لكن انا عملت فانكشن
Function sum_Sal
Return number
is
Begin
Select sum(salary) into : d_sum
from employees;
End;
مع العلم ان : d_sum يا display_item و ببياناته number
و عملت زرار اول ما ادوس عليه كتبت جواه اسم الفانكشن ما رجعش غير إيرور
ايه العمل؟؟؟؟؟؟

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

بتاريخ:

هو حضرتك عملت الفانكشن دية داخل program unit ؟

لانه بالطريقة دية المفروض يطلعلك خطاء اصلا عند انشائه لانك مش معرف اى بارمتر داخل الفانكشن بتشيل الريترن و فين الريترن اصلا بتاعها ؟

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

بتحددله نوع المعادلة و العمود اللى حيتم عليها و هو هيعملهالك او توماتيك

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

ايوة داخل program-unit يا بش مهندس احمد
و انا مش فاهم ليه الباراميتر يشيل الريترن انا يرجعه في display-item
المفروض مش دا الصح
يا ريت مثال يا جماعه

بتاريخ:

ما هو يا هندسة انا قلتلك زيها زي ما بتكتبها في الـ pl/sql بالظبط , ولو كنت بحثت عن الايرور كنت عرفت ايه المشكلة ( ودي نصيحة امشي بيها دايما عشان متحيرش نفسك وتفضل تستني الناس ترد عليك )

الفانكشن بتعتك مفيهاش return statement

لازم تقله هيرجع ايه .

وانا بصراحة مش عارف انت عايز تعمل ايه بالظبط ,

لو عايز تعرض نتيجة الفانكشن في ديسبلاي ايتم , فاعمل select into variable واعمل return variable  , وروح للdisplay item  اعمله فورميولا ( لو متعرفهاش ابحث عن formula item ) .

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

بتاريخ:

لازم تعمل ريترن للدالة دية

و بعد كده تحدد ايتم هو اللى حيشيل الريترن ده

بالطريقة اللى قولتهالك فوق انك حتخلى الايتم اللى هو display item عند التريجر المناسب

تساويه بالفانكشن بس كده

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

اولا متشكر ليكم جميعا بجد علي المساعدة في الجزء ده
تاني حاجة انا بكتب function كويس بس المشكلة اني عاوز طريقتها في الفورم لاني ماشي في مشروع و كله او معظم عملياته فيها دوال
و الموضوع مش في الدالة دي الموضوع اني بحتاجها في تنفيذ عمليات حسابية لكت دي كانت مثال التجربة

بتاريخ:

بص سا باشمهندس

فانكشن بسيط بس

create function sum_sal (p1 number,p2 number) return numberis
begin 
return p1+p2;
end;

فى الفورمة بقى حتحدد لو كنت عامل بارمترات زى ما انا عامل

تحددلهم اكثر من ايتم بعدد البارمترات

الاهم منهم هو الايتم اللى حيشيل قيمة الفانكشن

فى مثالى هنا حا فترض انى عامل 3 ايتم

T1 ده اللى هيشيل قيمة البارمتر الاولانى p1

T2 ده اللى هيشيل قيمة البارمتر التانى p2

T3 ده اللى هيشيل النتيجة بتاعة الفانكشن

هيبقى عند التريجر المناسب و ليكن مثلا when_button_pressed

:bolcokname.t3:= sum_s(t1,t2);
execute_query;

طبعا لو مش عامل بارمترات حضرتك عاملها مش بتعمل اى ايتم تحط فيها قيمتها

ياريت الفكرة تكون وصلت

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

الله علي الشرح الجميل و الوافي متشكر جدا جدا جدا يا بش مهندس تم التجربة بنجاح
ربنا يوفقكم كلكم علي المجهود الجميل

بتاريخ:

امين و اياك

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

الملف

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

تعمل ليك بلوك به ثلاث مربعات نص  TEXT ITEMوزر امر COMMAND

مثلا البلوم باسم BL_TEST

مربع لادخال الرقم الاول وليكن اسمه T1

ومربع لادخال الرقم الثاني ويكن اسمه T2

ومربع لاظهار ناتج عملية الجمع وليكن اسمه T3

مكان كتابة الدالة :

اختار وحدات البرنامج

ثم اضغط على علامة الزائد الخضراء

تظهر شاشة اختار منها الوظيفة

واكتب الكود ادناه وهو عبارة عن الدالة

 

هذه هى الدالة :

FUNCTION sum_sal (p1 number,p2 number) return number is
BEGIN
;  return p1+p2

; end

يتم الاستدعاء عند الضغط على زر الامر فتكتب هذا الاكود فى حدث 

WHEN_BUTTON_PRESSED

 

;  BL_TEST.T3:= sum_sal(:BL_TEST.T1,:BL_TEST.T2) :

;   execute_query

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

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

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

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

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

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.