You are on page 1of 115

‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

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

‫‪/‬‬

‫‪a_alyahawi@hotmail.com‬‬

‫‪1‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫فهرس حماضرات ‪Developer 6i‬‬

‫‪1‬‬
‫‪ ‬يـمـذيـت عـٍ )‪........................................................... (SQL , PL/SQL‬‬
‫‪1‬‬
‫‪ ‬انـًـسـتـخـذيـىٌ وانـصـالحـيـاث وعـاللـتـهـًـا بانـ )‪.............................. (Role‬‬
‫‪1‬‬
‫‪2‬‬
‫‪ ‬إَـشـاء يـسـتـخـذو خـذيـذ ويـُـحـه انـصـالحـيـاث ‪..........................................‬‬
‫‪3‬‬
‫‪ ‬إَـشـاء انـدـذاول وانـمـيـىد انـتـابـعـت نـهـا ‪....................................................‬‬
‫‪4‬‬
‫‪ ‬تـشـغـيـم ‪...................................................................... Form Builder‬‬
‫‪7‬‬
‫‪ ‬انـشـاشـاث انـشئـيـسـيـت نهـ)‪.............................................. (From Builder‬‬
‫‪2‬‬
‫‪7‬‬
‫‪َ ‬ـبـزة يُـبـسـطـت عـٍ يـحـتـىيـاث ‪................................. Object Navigator‬‬
‫‪8‬‬
‫‪ ‬انـحـفـظ وانـتـُـفـيـز فـي بـشايـح ‪..................................... Developer 6i‬‬
‫‪9‬‬
‫‪ ‬يـٍ خـصـائـص ‪................................................................ MODULE‬‬
‫‪10‬‬
‫‪ ‬األحـذاث ‪............................................................................. Triggers‬‬
‫‪10‬‬
‫‪ ‬انـشسـائـم )‪........................................................... (Message & Alert‬‬
‫‪3‬‬
‫‪12‬‬
‫‪ ‬كُـتـم انـبـيـاَـاث ‪.............................................................. Data Blocks‬‬
‫‪13‬‬
‫‪ ‬انـخـصـائـص انـًـشئـيـت ‪.............................................. Visual Attribute‬‬
‫‪13‬‬
‫‪ ‬انـعـُـاصـش )‪............................................. Items(Input & Non_Input‬‬
‫‪15‬‬
‫‪ ‬انـتـحـكـى بـانـخـصـائـص بـشيـدـيـاً )‪.............. (Window & Block & Item‬‬
‫‪16‬‬ ‫‪4‬‬
‫‪ ‬انـًـتـحـىالث انـعـايـت وانـًـتـحـىالث انـًـحـهـيـت ‪..........................................‬‬
‫‪16‬‬
‫‪ ‬انـتـحـكـى بـانـخـصـائـص بـشيـدـيـاً عـٍ طـشيـك انـًـتـحـىالث انـعـايـت ‪...............‬‬
‫‪18‬‬
‫‪ ‬انـعـاللـاث ‪......................................................................... Relations‬‬
‫‪20‬‬
‫‪ ‬انـحـمـىل انحـسـابـيـت )‪....................................... (Formula & Summary‬‬
‫‪6- 5‬‬
‫‪22‬‬
‫‪ ‬سبـط انـدـذاول ‪....................................................................................‬‬
‫‪23‬‬
‫‪ ‬انـىحـذاث انـبـشيـدـيـت )‪............ Program Units(Procedure & Function‬‬

‫‪2‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪25‬‬
‫‪ ‬عـُصـش )‪............................................. List Item(Static & Dynamic‬‬
‫‪7‬‬
‫‪27‬‬
‫‪ ‬انـمـائـًت انـًـشكـبـت )‪LOVs(Static & Dynamic _ Manually & Wizrad‬‬
‫‪32‬‬
‫‪ ‬عـصـش اإلخـتـيـاس انـفـشيـذ )‪...................... Radio Group(Radio Buttons‬‬
‫‪33‬‬
‫‪ ‬عـُـصـش اإلخـتـيـاس انـًـتـعـذد ‪.............................................. Check Box‬‬ ‫‪8‬‬
‫‪ ‬أَـىاع انـمـًـاشـيـت ‪................................................................ Canvases‬‬
‫‪34‬‬
‫)‪(Content & Stacked & Tab & Vertical _ Horizontal Toolbar‬‬

‫‪37‬‬
‫‪ ‬تـشـغـيـم ‪.................................................................. Report Builder‬‬
‫‪40‬‬
‫‪ ‬انـشـاشـاث انـشئـيـسـيـت نهـ)‪............................................ (Report Builder‬‬
‫‪40‬‬ ‫‪9‬‬
‫‪َ ‬ـبـزة يُـبـسـطـت عـٍ يـحـتـىيـاث ‪................................. Object Navigator‬‬
‫‪41‬‬
‫‪َ ‬ـًـىرج انـبـيـاَـاث )‪Data Model(System Parameters & User Parameters‬‬
‫‪44‬‬
‫‪َ ‬ـًـىرج انـُـسـك )‪.................. Layout Editor(Header & Body & Footer‬‬
‫‪45‬‬
‫‪ ‬انـًـدـايـيـع ‪............................................................................ Groups‬‬
‫‪46‬‬
‫‪ ‬اإلضـافـت بـإسـتـخـذاو (حـمـم صـيـغـت ‪........................................ ) Formula‬‬
‫‪10‬‬
‫‪47‬‬
‫‪ ‬اإلضـافـت بـإسـتـخـذاو (اإلسـتـعالو ‪........................................ ) SQL Query‬‬
‫‪48‬‬
‫‪ ‬حـمـىل انـتـدـًـيـع ‪............................................................... Summary‬‬
‫‪49‬‬
‫‪ ‬انـمـىائـى ‪.................................................................................. Menu‬‬
‫‪51‬‬
‫‪ ‬انـمـىائـى انـًـُـبـثـمـت بـزس انـفـأسة األيـًـٍ ‪.............................. Popup Menu‬‬
‫‪11‬‬
‫‪52‬‬
‫‪ ‬طـشق انـشبـط بـيـٍ أكـثـش يـٍ (‪ (Forms‬أو بـيـٍ انـ(‪ (Form‬وانـ(‪....... (Report‬‬
‫‪53‬‬
‫‪ ‬انـًعـايـالث ‪..................................................................... Parameters‬‬
‫‪55‬‬
‫‪ ‬انـتـعـايـم يـع يـهـفـاث انـصـىسة ‪..............................................................‬‬
‫‪57‬‬ ‫‪12‬‬
‫‪ ‬انـتـعـايـم يـع يـهـفـاث انـصـىث ‪..............................................................‬‬
‫‪58‬‬
‫‪ ‬اإلسـتـيـشاد وانتـصـذيـش ‪.........................................................................‬‬
‫يـهـحـك انـصـيـغ انـعـايـت نـدـًـم ‪..................................................................................... SQL‬‬

‫‪3‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
‫احملاضرة األوىل‬

، Developer 6i ‫ح ىثشّاٍح‬ٞ‫ح األعاع‬ُْٞ‫ اىث‬ٜٕ (SQL , PL/SQL(‫ذؼرثش اىـ‬

: DML ‫اّاخ‬ٞ‫ ىغح ٍؼاىسح اىث‬


‫ب ال رزؼبًِ ِغ‬ٙٔ‫ب أل‬ٙ‫ّبر‬١ٍ‫ز رؼ‬١‫ب ثؼذ رٕف‬ٕٙ‫ّىٓ اٌزشاعغ ػ‬٠ ‫ي ٌزٌه‬ٚ‫بد اٌغذا‬٠ٛ‫ رزؼبًِ ِغ ِؾز‬ٟ‫اٌز‬ٚ
، ٗ‫ىً ٔفغ‬١ٌٙ‫ا‬

، )‫ب‬ٙ‫ ٌؾزف‬delete - ‫ب‬ٍٙ٠‫ ٌزؼذ‬update - ‫ب‬ٌٙ‫ إلدخب‬insert - ‫بٔبد‬١‫ إلعزؼشاك اٌج‬select ( ‫ّبد‬١ٍ‫ اٌزؼ‬ٞٛ‫رؾ‬ٚ

: DDL ‫اّاخ‬ٞ‫ف اىث‬ٝ‫ ىغح ذؼش‬


، ‫ب‬ٙ‫ّبر‬١ٍ‫ز رؼ‬١‫ّىٓ اٌزشاعغ ثؼذ رٕف‬٠ ‫ ) ٌزٌه ال‬Database(‫خ اٌـ‬١ُٕ‫ رزؼبًِ ِغ ث‬ٟ‫اٌز‬ٚ

، )ً‫ب‬١‫بئ‬ٙٔ ٓ‫ ٌؾزف اٌىبئ‬drop - ٓ‫اففبد اٌىبئ‬ِٛ ً٠‫ ٌزؼذ‬alter - ٓ‫ إلٔؾبء اٌىبئ‬create( ‫ّبد‬١ٍ‫ اٌزؼ‬ٞٛ‫رؾ‬ٚ

: DCL ‫اّاخ‬ٞ‫ ىغح اىرسنٌ تاىث‬


. )‫خ‬١‫ ٌغؾت اٌقالؽ‬revoke - ‫خ‬١‫ ٌّٕؼ اٌقالؽ‬grant( ‫ّبد‬١ٍ‫ اٌزؼ‬ٞٛ‫رؾ‬ٚ

Functions 

: ‫ح‬ٞ‫ اىذٗاه اىسغات‬


Sum( ) – Max( ) – Min( ) – Avg ( ) – Count( ) –

Abs( ) – Mod( ) – Sqrt( ) – Power( ) – Floor( ) – Ceil( ) – Round( ) –


Nvl( , )

: ‫ح‬ٞ‫ اىذٗاه اىَسشف‬


Lower( ) – Upper( ) – Initcap( ) – Concat( , ) – Substar( , , ) –
Length( ) – Instr( , ) – Lpad( , , ) – Rpad( , , ) – Ltrim( ) – Rtrim(
)

: ‫خ ٗاى٘قد‬ٝ‫ دٗاه اىراس‬


Sysdate – Months_Between( , ) – Add_Months( ) – Next_Day( , ) –
Last_Day( )

* , / , + , - , Not , And , Or , = , != , > , >= , < , <= , || , .. ,

In , Not In , Is Null , Is Not Null , Between X And Y , Not Between X


And Y , X Like Y , X Not Like Y

=======================================================================
=========

Role 

4
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ػٍ‪ ٝ‬ئفزشاك أْ أسثؼخ ِؾبعج‪٠ ٓ١‬ؼٍّ‪ ْٛ‬ف‪ِ ٟ‬غبٌ‪ ُٙ‬ثؾجىخ ػًّ ِ‪ٛ‬ؽذح فأٗ ِٓ األفنً ػذَ ئػيبئ‪ُٙ‬‬
‫عّ‪١‬ؼبً ئعُ ‪ٚ User‬ؽ‪١‬ذ ‪ٚ‬وٍّخ اٌّش‪ٚ‬س اٌزبثؼخ ٌٗ ‪ٚ‬رٌه ثغشك ِؼشفخ األخيبء ِّٓ ئسرىجذ ‪ ٛ٘ ِٓٚ‬اٌّغئ‪ٛ‬ي‬
‫اٌّجبؽش ػٕ‪ٙ‬ب ٌزٌه ٔؾذد ٌىً ؽخـ ئعُ ‪ٚ User‬وٍّخ ِش‪ٚ‬س خبفخ ثٗ ‪ٚ‬إِٔؾٗ وزٌه اٌقالؽ‪١‬بد رار‪ٙ‬ب ‪،‬‬

‫ٌزٌه ٔغذ أْ رغّ‪١‬غ فالؽ‪١‬بد اٌّغزخذِ‪ ٓ١‬داخً (‪ٚ ) Role‬اؽذح ٔم‪ َٛ‬ثأؾبئ‪ٙ‬ب ‪ٛ٠‬فش ػٍ‪ٕ١‬ب اٌىض‪١‬ش ِٓ اٌغ‪ٙ‬ذ‬
‫‪ٚ‬اٌ‪ٛ‬لذ اٌالصِ‪ ٓ١‬ػٕذ رىشاس ٔفظ اٌؼًّ ‪...‬‬

‫فؼٍ‪ ٝ‬افزشاك أٔٗ ‪ٛ٠‬عذ ٌذ‪ٕ٠‬ب ‪ 20‬عذ‪ٚ‬ي ‪ٚ‬أسدٔب ِٕؼ وً عذ‪ٚ‬ي‬

‫(فالؽ‪١‬خ اإلعزؼشاك ‪ - select‬فالؽ‪١‬خ اإلدخبي ‪ - insert‬فالؽ‪١‬خ اٌزؼذ‪ - update ً٠‬فالؽ‪١‬خ اٌؾزف‬


‫‪٠ ) delete‬ؼٕ‪ ٟ‬إٔٔب عٕؾزبط ئٌ‪ِٕ ٝ‬ؼ ‪ 4‬طالز‪ٞ‬اخ * ‪ 20‬خذٗه = ‪ 80‬طالز‪ٞ‬ح ٌٍّغزخذَ اٌ‪ٛ‬اؽذ ‪ ،‬أ‪320 ٞ‬‬
‫طالز‪ٞ‬ح ٌٍّغزخذِ‪ ٓ١‬األسثؼخ ‪....،‬‬

‫‪ٌٚ‬ىٓ ئرا لّٕب ثزغّ‪١‬غ ٘زٖ اٌـ(‪ 80‬اىظالز‪ٞ‬ح) ػٍ‪ ٝ‬اٌغذا‪ٚ‬ي داخً (‪ٚ ) Role‬اؽذح فإٔب عٕؾزبط فمو ئٌ‪ِٕ ٝ‬ؼ‬
‫‪ 84‬طالز‪ٞ‬ح ث‪ٛ‬الغ ‪ 80‬فالؽ‪١‬خ ئٌ‪ ٝ‬داخً (‪ ِٓٚ ) Role‬صُ ‪ 4‬فالؽ‪١‬بد ٌٍّغزخذِ‪ِٕ( ٓ١‬ؼ فالؽ‪١‬خ اٌـ( ‪) Role‬‬
‫ٌىً ِغزخذَ) ‪ٚ ،‬اٌزفبف‪ٔ ً١‬فغ‪ٙ‬ب رٕيجك ػٕذ ػٍّ‪١‬خ عؾت اٌقالؽ‪١‬بد ‪.‬‬

‫=======================================================================‬
‫=========‬

‫‪ٚ‬ؽىً اٌجشٔبِظ ف‪ٙ١‬ب وبٌزبٌ‪:ٟ‬‬ ‫‪PL / SQL ‬‬


‫‪Declare‬‬

‫‪ ٚ Cursor‬اٌض‪ٛ‬اثذ ‪ٔٚ‬الؽظ ٕ٘ب ػٕذ اعزخذإِب‬ ‫‪ٚ‬ف‪٘ ٟ‬زا اٌغضء ‪٠‬زُ اإلػالْ ػٓ اٌّزؾ‪ٛ‬الد ‪ٚ‬اٌّإؽشاد‬
‫ٌٍّإؽشاد أْ عٍّخ ‪٘ Select‬زٖ ال رؾز‪ ٞٛ‬ػٍ‪ِ ٝ‬ؼبًِ اإلعٕبد ‪ into‬ألْ ىج‪١‬ؼخ ػًّ اٌّإؽشاد ‪٠‬ؼزّذ ػٍ‪ٝ‬‬
‫ئؽنبس عّ‪١‬غ اٌغغالد دفؼخ ‪ٚ‬اؽذح (ثذ‪ ْٚ‬رضآِ) ‪ ِٓٚ‬صُ ِؼبٌغز‪ٙ‬ب ػٍ‪ ٝ‬عغً عغً ‪.‬‬

‫‪Begin‬‬

‫‪ٚ‬ف‪٘ ٟ‬زا اٌغضء ‪٠‬زُ وزبثخ اٌجشٔبِظ ثأ‪ٚ‬اِش اٌـ(‪ٔٚ ) SQL, PL/SQL‬الؽظ ٕ٘ب أْ عٍّخ ‪٘ Select‬زٖ رؾز‪ ٞ ٛ‬ػٍ‪ٝ‬‬
‫ِؼبًِ اإلعٕبد ‪٠ٚ into‬ؾزشه ف‪ٙ١‬ب وزبثخ ؽش‪ٚ‬ه اٌشثو ث‪ ٓ١‬اٌغذا‪ٚ‬ي ‪ Where‬إلسعبع عغً ‪ٚ‬ؽ‪١‬ذ ‪.‬‬

‫‪Exception‬‬

‫‪ٚ‬ف‪٘ ٟ‬زا اٌغضء رزُ ِؼبٌغخ األخيبء اٌّز‪ٛ‬لغ ؽذ‪ٚ‬ص‪ٙ‬ب أصٕبء رٕف‪١‬ز اٌجشٔبِظ ‪ ٟ٘ٚ‬رٍه األخيبء اٌز‪ ٟ‬ال رىزؾف‬
‫أصٕبء اٌزشعّخ ‪١ٌ ( Compile‬غذ أخيبء ف‪١‬غخ ‪٘ ِٓٚ ) Syntax‬زٖ األخيبء (االعزضٕبءاد) ‪:‬‬

‫‪٠‬ؼ‪ ٟ‬اإلعزؼالَ أ‪ ٞ‬ث‪١‬بٔبد ؽغت اٌؾشه ‪،‬‬


‫‪ٚ : no_data_found‬رغزخذَ ػٕذِب ال د‬ ‫‪‬‬
‫‪ٚ : too_many_rows‬رغزخذَ ػٕذِب ‪٠‬ؼ‪١‬ذ اإلعزؼالَ أوضش ِٓ عغً ؽغت اٌؾشه ‪،‬‬ ‫‪‬‬
‫‪ٚ : zero_devided‬رغزخذَ ػٕذِب رزُ اٌمغّخ ػٍ‪ ٝ‬ففش ‪،‬‬ ‫‪‬‬
‫‪ٚ : cursor_already_open‬رغزخذَ ػٕذِب ‪٠‬ى‪ ْٛ‬اٌّإؽش ِفز‪ٛ‬ؽبً ِشح أخش‪ ٜ‬د‪ ْٚ‬ئغاللٗ ‪،‬‬ ‫‪‬‬
‫‪ٚ : others‬رغزخذَ ِٓ أعً أال ‪٠‬زُ ئ‪٠‬مبف اٌجشٔبِظ أل‪ ٞ‬خيأ وبْ (ِٓ اٌّفزشك وزبثز‪ٙ‬ب دائّبً) ‪.‬‬ ‫‪‬‬
‫; ‪End‬‬

‫‪‬‬
‫‪ Start  Programs  Oracle - oracle ‬‬
‫‪Application Development  SQL Plus‬‬

‫‪5‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
‫س ؽبؽخ ريبٌت‬ٛٙ‫اد اٌغبثمخ ٌٕالؽظ ظ‬ٛ‫ ؽغت اٌخي‬SQL Plus ‫ ثشٔبِظ‬ٌٝ‫ي ئ‬ٛ‫الً ثبٌذخ‬ٚ‫َ أ‬ٛ‫ٌؼًّ رٌه ٔم‬ٚ
‫ ٗميَح‬SYSTEM ً‫اً ّنرة ئعٌ اىَغرخذ‬ٞ‫ (زاى‬، ٗ‫س اٌخبفخ ث‬ٚ‫وٍّخ اٌّش‬ٚ َ‫ثادخبي ئعُ ٌٍّغزخذ‬
) MANAGER ‫اىَشٗس‬

SYSTEM َ‫ش إٌظب‬٠‫ ِذ‬ٛ٘ ٌٟ‫ ٌٍزأوذ ِٓ اٌّغزخذَ اٌؾب‬SQL ‫َ ثىزبثخ ٘زا األِش أِبَ ِؾش‬ٛ‫ ٔم‬
SQL> show user ;

user is "SYSTEM"
TAIZ ‫وٍّخ اٌغش‬ٚ UST ّٗ‫ذ اع‬٠‫َ ثأؾبء ِغزخذَ عذ‬ٛ‫ ٔم‬
SQL> create user ust identified by taiz ;

User created.
UST َ‫( ٌٍّغزخذ‬Role [connect , resource])‫ ّٕٔؼ اٌـ‬
SQL> grant connect , resource to ust ;

Grant succeeded.
UST َ‫( ٌٍّغزخذ‬Role [exp_full_database , imp_full_database])‫ ّٕٔؼ اٌـ‬
SQL> grant exp_full_database , imp_full_database to ust ;

Grant succeeded.
UST َ‫ْ ثبالرقبي ثبٌّغزخذ‬٢‫َ ا‬ٛ‫ ٔم‬
SQL> connect ust ;

Enter password : ****

Connected.
ً‫ب‬١ٍ‫ فؼ‬UST َ‫ ٔزأوذ ِٓ إٔٔب داخً اٌّغزخذ‬
SQL> show user ;

user is "UST"

6
6i ‫حماضرات يف أوراكل ديفلوبر‬
)ً‫سح ٌىً ؽم‬ٛ‫د اٌّزو‬ٛ١‫اٌم‬ٚ ‫اففبد‬ٌّٛ‫ ( ثؾغت ا‬UST َ‫خ ٌٍّغزخذ‬١ٌ‫ي اٌزب‬ٚ‫َ ثأؾبء اٌغذا‬ٛ‫ٔم‬ 

Table
Fields Name
name
Sec_No Sec_Name
Section number(2) varchar2(50)
(P. K) (Not Null)
Lvl_No Lvl_Name
Lvl number(1) varchar2(50)
(P. K) (Not Null)
Stu_No Stu_Name Stu_Sec Stu_Lvl
number(3) varchar2(50) number(2) number(1)
(P. K) (Not Null) (F.K) (F.K)
Stu
Stu_Add Stu_BrthDt Stu_Avg Stu_CertType
varchar2(50) date number(5,2) number(1)
Sub_No Sub_Name Sub_Sec Sub_Lvl
Subject number(3) varchar2(50) number(2) number(1)
(P. K) (Not Null) (F.K) (F.K)
Mark_Sec Mark_Lvl Mark_Stu Mark_Sub
number(2) number(1) number(3) number(3)
(F.K) (F.K) (F.K) (F.K)
Mark
Mark_Yj Mark_Ht Mark_Ft
number(5,2) number(5,2) number(5,2)
(Check 0 .. 20) (Check 0 .. 20) (Check 0 .. 60)

SQL> create table Section(Sec_No number(2) primary key ,

Sec_Name varchar2(50) not null) ;

Table created.

SQL> create table Lvl(Lvl_No number(1) primary key ,

Lvl_Name varchar2(50) not null) ;

Table created.

7
6i ‫حماضرات يف أوراكل ديفلوبر‬
SQL> create table Stu(Stu_No number(3) primary key ,

Stu_Name varchar2(50) not null ,

Stu_Sec number(2) constraint stusecfk references Section(Sec_no) ,

Stu_Lvl number(1) constraint stulvlfk references Lvl(Lvl_no) ,

Stu_Add varchar2(50) , Stu_BrthDt date ,

Stu_Avg number(5,2) , Stu_CertType number(1)) ;

Table created.

SQL> create table Subject(Sub_No number(2) primary key ,

Sub_Name varchar2(50) not null ,

Sub_Sec number(2) constraint subsec references Section(Sec_No) ,

Sub_Lvl number(1) constraint sublvl references Lvl(Lvl_No) ,

Sub_Stu number(3) constraint substu references stu(Stu_No) ) ;

Table created.

SQL> create table Mark(

Mark_Sec number(2) constraint marksec references Section(Sec_No) ,

Mark_Lvl number(1) constraint marklvl references Lvl(Lvl_No) ,

Mark_Stu number(3) constraint markstu references stu(Stu_No) ,

Mark_Sub number(2) constraint marksub references subject(Sub_No) ,

Mark_Yj number(5,2) constraint chkYj check(Mark_Yj between 0 and 20)


,

Mark_Ht number(5,2) constraint chkHt check(Mark_Ht between 0 and 20)


,

Mark_Ft number(5,2) constraint chkFt check(Mark_Ft between 0 and 60))


;

Table created.

8
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫=======================================================================‬
‫=========‬

‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬


‫‪ .a‬ػٕذ ئٔؾبء أ‪ِ ٞ‬غزخذَ عذ‪٠‬ذ فاْ رٌه ‪٠‬ى‪ ِٓ ْٛ‬داخً اٌّغزخذَ ‪ٚ SYSTEM‬رٌه ألٔٗ لبدس ػٍ‪ٝ‬‬
‫اإلٔؾبء ِٓ خالي فالؽ‪١‬خ اٌـ(]‪ ) Role [DBA‬اٌز‪ّ٠ ٟ‬زٍى‪ٙ‬ب ‪.‬‬
‫‪ٌٕ .b‬زّىٓ ِٓ ئرّبَ ػٍّ‪١‬خ اإلرقبي ثبٌّغزخذَ ‪ UST‬ثٕغبػ ‪٠‬غت ِٕؾٗ فالؽ‪١‬خ ئٔؾبء اٌغٍغخ‬
‫‪ ِٓ Create Session‬خالي اٌـ(]‪ ) Role [connect‬ألْ ٘زٖ اٌقالؽ‪١‬خ ِنّٕخ ف‪ٙ١‬ب ‪.‬‬
‫‪ .c‬ػٕذ ئٔؾبء اٌغذا‪ٚ‬ي فإٔب ٔم‪ َٛ‬ثبإلرقبي ثبٌّغزخذَ ‪ٚ UST‬رٌه ِٓ أعً أْ رى‪ ْٛ‬اٌغذا‪ٚ‬ي إٌّؾئخ‬
‫ربثؼخ ٌٗ ‪.‬‬

‫‪9‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫احملاضرة الثانية‬

‫‪: Developer 6i ‬‬


‫٘‪ ٛ‬اٌ‪ٛ‬اع‪ٙ‬خ اٌز‪ ٟ‬رّىٕٕب ِٓ ػًّ ثشاِظ ‪٠‬زخبىت ث‪ٙ‬ب‬
‫اٌـ( ‪ِ ) User‬غ لبػذح اٌج‪١‬بٔبد ‪٠ ٛ٘ٚ‬ؾز‪ ٞٛ‬اٌؼذ‪٠‬ذ ِٓ‬
‫اٌجشاِظ (األد‪ٚ‬اد) اٌّغبػذح ف‪ ٟ‬أ‪ٚ‬ساوً ِضً ‪:‬‬

‫‪Graphics Builder – Report Builder – Form Builder‬‬


‫‪ ...‬ئٌخ ‪.‬‬

‫=====================================‬
‫=========‬

‫‪: Form Builder ‬‬


‫‪) User‬‬ ‫أداح رغزخذَ ٌجٕبء إٌّبرط اٌز‪٠ ٟ‬غزخذِ‪ٙ‬ب اٌـ(‬
‫ثىً ػٕبفش٘ب ‪.‬‬

‫==============================================‬

‫‪Form Builder‬‬ ‫‪‬‬


‫‪ Start  Programs  Oracle Forms 6i-orantf  Form Builder‬‬

‫فزظ‪ٙ‬ش أ‪ٚ‬الً ؽبؽخ رشؽ‪١‬ج‪١‬خ ‪ّ٠‬ىٓ ِٓ خالٌ‪ٙ‬ب رؾذ‪٠‬ذ ِب ئرا وبْ اٌّيٍ‪ٛ‬ة اٌجذء ثبٌزقّ‪ ُ١‬أ‪ ٚ‬ثبٌزؼٍ‪ ، ُ١‬فبٌزقّ‪ُ١‬‬
‫أسثغ خ‪١‬بساد ‪: ٟ٘ٚ‬‬

‫‪ ‬ئعزخذاَ ِؼبٌظ وزٍخ اٌج‪١‬بٔبد ‪، Data Block‬‬


‫‪ ‬ثٕبء ّٔ‪ٛ‬رط عذ‪٠‬ذ ‪٠‬ذ‪٠ٚ‬بً ‪،‬‬
‫‪ ‬فزؼ ّٔ‪ٛ‬رط ِ‪ٛ‬ع‪ٛ‬د ِغجمبً ‪،‬‬
‫‪ ‬ثٕبء ّٔ‪ٛ‬رط ‪٠‬ؼزّذ ػٍ‪ ٝ‬لبٌت ‪.‬‬
‫‪ٌٍٚ‬زؼٍ‪ ُ١‬خ‪١‬بساْ ‪ّ٘ٚ‬ب ‪:‬‬

‫‪ ‬ػشك اٌغ‪ٌٛ‬خ اٌغش‪٠‬ؼخ (ِفب٘‪، )ُ١‬‬


‫‪ ‬ئعزىؾبف وش‪ٚ‬د اٌزٍّ‪١‬ؾبد (ِ‪ٙ‬بَ)‬
‫‪.‬‬
‫(زاى‪ٞ‬اً عْخراس اىثذء تاىرظَ‪ٌٞ‬‬
‫‪Data‬‬ ‫تاعرخذاً ٍؼاىح مريح اىث‪ٞ‬اّاخ‬
‫‪ Block‬ثٌ ّؼغط ‪) OK‬‬

‫ٌزظ‪ٙ‬ش ثؼذ رٌه ؽبؽخ رشؽ‪١‬ج‪١‬خ خبفخ ثّؼبٌظ‬


‫وزٍخ اٌج‪١‬بٔبد ‪( Data Block‬فْؼغط اىراى‪)ٜ‬‬

‫صُ رظ‪ٙ‬ش ؽبؽخ رؾذ‪٠‬ذ ٔ‪ٛ‬ع وزٍخ اٌج‪١‬بٔبد ً٘ ٘‪: ٟ‬‬

‫عذ‪ٚ‬ي أ‪ِ ٚ‬ؾ‪ٙ‬ذ ‪،‬‬ ‫‪‬‬

‫‪10‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪ ‬ئعشاء ِخضْ ‪.‬‬
‫(زاى‪ٞ‬اً عْخراس خذٗه أٗ ٍشٖذ ثٌ‬
‫ّؼغط اىراى‪)ٜ‬‬

‫ثؼذ رٌه ‪٠‬يٍت ئعُ اٌغذ‪ٚ‬ي أ‪ ٚ‬اٌّؾ‪ٙ‬ذ‬


‫‪Data‬‬ ‫اٌز‪ ٞ‬عزإخز ِٕٗ وزٍخ اٌج‪١‬بٔبد‬
‫‪، Block‬‬

‫‪ٌٚ‬ؼًّ رٌه الثذ ِٓ اإلسرجبه أ‪ٚ‬الً ثمبػذح‬


‫اٌج‪١‬بٔبد ٗرىل تاىؼغط ػي‪ ٚ‬اىضس‬
‫…‪Browse‬‬

‫‪ٚ‬وزبثخ ئعُ اٌـ( ‪ٚ ) User‬اٌـ( ‪) Password‬‬


‫ثؾىً فؾ‪١‬ؼ ٍِٗ ثٌ اىؼغط ػي‪ ٚ‬اىضس‬
‫‪connect‬‬

‫فزؾذ‪٠‬ذ ىش‪٠‬مخ اٌؼشك ‪:‬‬

‫ً٘ عزى‪ٌّ ْٛ‬ب ‪٠‬زؼٍك‬ ‫‪‬‬


‫ثبٌّغزخذَ اٌؾبٌ‪( ٟ‬اٌز‪ ٞ‬رُ‬
‫اإلسرجبه ِٓ خالٌٗ) أَ‬
‫ٌّغزخذِ‪ ٓ١‬آخش‪ ٓ٠‬أَ ٌىٍ‪ّٙ١‬ب ‪،‬‬
‫‪ٚ‬رؾذ‪٠‬ذ ِب ٔش‪٠‬ذ رنّ‪ِٓ ٕٗ١‬‬ ‫‪‬‬
‫اٌغذا‪ٚ‬ي ‪ٚ‬اٌّؾب٘ذ ‪ٚ‬اٌّشادفبد ‪،‬‬
‫فاخز‪١‬بس اٌغذ‪ٚ‬ي أ‪ ٚ‬اٌّؾ‪ٙ‬ذ أ‪ٚ‬‬ ‫‪‬‬

‫اٌّشادف اٌّيٍ‪ٛ‬ة ‪.‬‬


‫(زاى‪ٞ‬اً عْخراس ئعٌ اىَغرخذً ‪ٗ UST‬ميَح اىغش ‪، TAIZ‬‬
‫ٍِٗ خذاٗه ٕزا اىَغرخذً اىساى‪ّ ٜ‬خراس اىدذٗه ‪) STU‬‬

‫(‪ ) List‬فٕخزبس ِٕ‪ٙ‬ب اٌؾم‪ٛ‬ي‬ ‫‪ٚ‬ثبٌزبٌ‪ ٟ‬رظ‪ٙ‬ش اٌؾم‪ٛ‬ي ف‪ ٟ‬اٌـ‬


‫اٌّيٍ‪ٛ‬ة اٌزؼبًِ ِؼ‪ٙ‬ب ث‪ٛ‬اعيخ األصساس > ‪( << ، < ، >> ،‬زاى‪ٞ‬اً عْخراس >> ثٌ ّؼغط اىراى‪)ٜ‬‬

‫‪11‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫رظ‪ٙ‬ش ؽبؽخ اٌز‪ٙ‬بٔ‪ٚ ٟ‬اٌزجش‪٠‬ىبد ‪ٌ congratulations‬زؼٍٓ‬
‫ػٓ ئرّبَ ِؼبٌظ وزٍخ اٌج‪١‬بٔبد ‪ Data Block‬ثٕغبػ ‪ٚ ،‬لجً أْ‬
‫ٔنغو ‪ٔ Finish‬ش‪ٚ ٜ‬ع‪ٛ‬د اٌخ‪١‬بس‪ ٓ٠‬اٌزبٌ‪: ٓ١١‬‬

‫‪ ‬ئٔؾبء وزٍخ اٌج‪١‬بٔبد ‪ Data Block‬ثؼذ اإلرقبي‬


‫ثّؼبٌظ اٌزقّ‪( ُ١‬اٌّخيو ‪، ) Layout‬‬
‫‪ ‬ئٔؾبء وزٍخ اٌج‪١‬بٔبد فمو ‪.‬‬
‫( زاى‪ٞ‬اً عْخراس ئّشاء مريح اىث‪ٞ‬اّاخ تؼذ اإلذظاه‬
‫تَؼاىح اىرظَ‪ Layout ٌٞ‬ثٌ ّؼغط ّٖا‪ٝ‬ح)‬

‫ٌزظ‪ٙ‬ش ثؼذ رٌه ؽبؽخ رشؽ‪١‬ج‪١‬خ خبفخ ثّؼبٌظ اٌزقّ‪ُ١‬‬


‫(اٌّخيو‬
‫‪) Layout‬‬
‫(فْؼغط‬
‫اىراى‪)ٜ‬‬

‫فزظ‪ٙ‬ش ؽبؽخ‬
‫رؾذ‪٠‬ذ ٔ‪ٛ‬ع اٌـ(‬
‫اٌ‪ٛ‬سلخ أ‪ٚ‬‬
‫اٌمّبػ‬
‫‪ٕ٘ٚ ) Canvas‬بن‬
‫خّغخ أٔ‪ٛ‬اع‬
‫‪: ٟ٘ٚ‬‬

‫(عٕذسع‪ٙ‬ب الؽمبً ثبٌزفق‪ ] ً١‬اٌّؾبمشح اٌضبِٕخ[ )‬

‫‪Content‬‬ ‫‪‬‬
‫‪Stacked‬‬ ‫‪‬‬
‫‪Vertical Toolbar‬‬ ‫‪‬‬
‫‪Horizontal Toolbar‬‬ ‫‪‬‬
‫‪Tab‬‬ ‫‪‬‬
‫ّدؼيٖا ػي‪ ٚ‬اىْ٘ع اإلفرشاػ‪ Content ٜ‬ثٌ ّؼغط اىراى‪)ٜ‬‬ ‫(زاى‪ٞ‬اً‬

‫ف‪ ٟ‬اٌؾبؽخ اٌزبٌ‪١‬خ ٌ‪ٙ‬ب رظ‪ٙ‬ش اٌؾم‪ٛ‬ي ف‪ ٟ‬اٌـ (‪ ) List‬فٕخزبس ِٕ‪ٙ‬ب اٌؾم‪ٛ‬ي اٌّيٍ‪ٛ‬ة ئظ‪ٙ‬بس٘ب ف‪ ٟ‬إٌّ‪ٛ‬رط‬
‫ث‪ٛ‬اعيخ األصساس > ‪ٝ( << ، < ، >> ،‬فؼو‬
‫ْٕا ئخر‪ٞ‬اس خَ‪ٞ‬غ اىسق٘ه ٗئرا أسدخ‬
‫ف‪َٞ‬ا تؼذ ئخفاء أزذ ٕزٓ اىسق٘ه ف‪ٞ‬رٌ‬
‫‪No‬‬ ‫رىل ػِ طش‪ٝ‬ق ئػطاء اىق‪َٞ‬ح‬
‫ىخاط‪ٞ‬ح اىشؤ‪ٝ‬ح ‪ Visible‬اىراتؼح ىٔ ثٌ‬
‫ّؼغط اىراى‪)ٜ‬‬

‫‪12‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪ّ٠‬ىٕٕب ف‪٘ ٟ‬زٖ اٌؾبؽخ رغ‪١١‬ش اٌؼٕب‪ٓ٠ٚ‬‬
‫‪ٚ Prompt‬وزٌه‬ ‫اٌظب٘شح ألعّبء اٌؾم‪ٛ‬ي‬
‫ػشم‪ٙ‬ب ‪ٚ W‬ى‪ٌٙٛ‬ب ‪( H‬ثٌ ّؼغط اىراى‪)ٜ‬‬

‫رظ‪ٙ‬ش ؽبؽخ رؾذ‪٠‬ذ ىش‪٠‬مخ ػشك وزٍخ‬


‫اٌج‪١‬بٔبد ً٘ عزى‪: ْٛ‬‬

‫‪ : Form ‬ػٕذِب ٔش‪٠‬ذ أْ ‪٠‬ؾز‪ٞٛ‬‬


‫إٌّ‪ٛ‬رط ػٍ‪ ٝ‬ػذد ِٓ اٌىبئٕبد ِضً‬
‫‪، List item ، Display item ، Text‬‬
‫‪... ، Radio Group ، Image item‬‬
‫ئٌخ‬
‫‪ : Tabular ‬ػٕذِب ٔش‪٠‬ذ أْ رظ‪ٙ‬ش‬
‫اٌج‪١‬بٔبد ػٍ‪ ٝ‬ؽىً عغالد ‪.‬‬
‫‪ Tabular‬ثٌ ّؼغط‬ ‫(زاى‪ٞ‬اً عْخراس‬

‫اىراى‪)ٜ‬‬

‫ف‪٘ ٟ‬زٖ اٌؾبؽخ ٔؾذد ‪:‬‬

‫‪ ‬ئعُ ٌٍـ(‪، ) Frame‬‬


‫‪ٚ ‬ػذد اٌغغالد اٌظب٘شح (اإلفزشام‪، ) 1 ٟ‬‬
‫‪ٚ ‬اٌّغبفخ ث‪ ٓ١‬اٌغغالد ِمذسح ثبٌج‪١‬ىغً ‪( Pixcel‬اإلفزشام‪. ) 0 ٟ‬‬
‫‪ٔ ً٘ٚ‬ش‪٠‬ذ ػشك ؽش‪٠‬و اٌزّش‪٠‬ش ثغ‪ٛ‬اس اٌج‪١‬بٔبد أَ ال ؟ ( زاى‪ٞ‬اً عْقً٘ تنراتح ‪ Students‬ماعٌ ىإلطاس ‪،‬‬
‫ٗذسذ‪ٝ‬ذ ػذد عدالخ ظإشج تـ( ‪ٗ ، ) 5‬ذسذ‪ٝ‬ذ اىَغافح ت‪ ِٞ‬اىغدالخ تـ( ‪ ) 2‬ت‪ٞ‬نغو ‪ٗ ،‬ذْش‪ٞ‬ط‬
‫ػشع شش‪ٝ‬ط اىرَش‪ٝ‬ش ‪ ،‬ثٌ ّؼغط‬
‫اىراى‪)ٜ‬‬

‫ثؼذ٘ب رظ‪ٙ‬ش ؽبؽخ اٌز‪ٙ‬بٔ‪ٚ ٟ‬اٌزجش‪٠‬ىبد‬


‫‪ٌ congratulations‬زؼٍٓ ػٓ ئرّبَ ِؼبٌظ‬
‫(فْؼغط‬ ‫اٌزقّ‪( ُ١‬اٌّخيو) ثٕغبػ ‪،‬‬
‫ّٖا‪ٝ‬ح)‬

‫‪Form‬‬ ‫ٗتزىل ّنُ٘ قذ قَْا ترشغ‪ٞ‬و‬


‫‪. Builder‬‬

‫‪13‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Form‬‬ ‫‪‬‬
‫‪Builder‬‬
‫‪: Object Navigator .1‬‬
‫‪ٚ Form‬وزٌه اٌىبئٕبد‬ ‫‪٠ٚ‬ؾز‪ ٞٛ‬ػٕبفش إٌّ‪ٛ‬رط وبٍِخ‬
‫‪ ِٓٚ ، Objects‬اٌّّىٓ اٌؾق‪ٛ‬ي ػٍ‪٘ ٝ‬زٖ اٌؾبؽخ ِٓ‬
‫خالي اٌنغو ػٍ‪ ٝ‬اٌضس ‪ F3‬أ‪ ِٓ ٚ‬اٌمبئّخ ‪ٔ Tools‬خزبس‬
‫األِش ‪. Object Navigator‬‬

‫‪: Layout Editor .2‬‬


‫‪٠ٚ‬ؾز‪ ٞٛ‬اٌ‪ٛ‬سلخ أ‪ ٚ‬اٌمّبػ ‪ٚ Canvas‬اٌؼٕبفش اٌّز‪ٛ‬مؼخ‬
‫ػٍ‪ ِٓٚ ، ٗ١‬اٌّّىٓ اٌؾق‪ٛ‬ي ػٍ‪٘ ٝ‬زٖ اٌؾبؽخ ِٓ‬
‫خالي اٌنغو ػٍ‪ ٝ‬اٌضس ‪ F2‬أ‪ ِٓ ٚ‬اٌمبئّخ ‪ٔ Tools‬خزبس‬
‫األِش ‪. Layout Editor‬‬

‫‪: Property Palette .3‬‬


‫‪ٚ‬رؾز‪ ٞٛ‬خقبئـ اٌؼٕبفش ‪ٚ‬اٌىبئٕبد ‪ ِٓٚ ، Objects‬اٌّّىٓ اٌؾق‪ٛ‬ي ػٍ‪٘ ٝ‬زٖ اٌؾبؽخ ِٓ خالي اٌنغو‬
‫ػٍ‪ ٝ‬اٌضس ‪ F4‬أ‪ ِٓ ٚ‬اٌمبئّخ ‪ٔ Tools‬خزبس األِش ‪. Property Palette‬‬

‫=======================================================================‬
‫=========‬

‫‪Object‬‬ ‫‪‬‬
‫‪Navigator‬‬
‫‪Forms‬‬

‫‪ ] .1‬زاى‪ٞ‬اً ‪ : [ MODULE1‬ئعُ اٌـ )‪ ) Form‬اإلفزشام‪٠ٚ ٟ‬أخز ئعُ‬


‫اٌجشٔبِظ د‪ِٚ‬بً ‪،‬‬
‫(‪ٕ٠ (SQL , PL/SQL‬فز ػٕذ ؽذس‬ ‫‪ ٟ٘ٚ : Triggers .2‬ػجبسح ػٓ‬
‫ِؼ‪، ٓ١‬‬
‫‪ ٟ٘ٚ : Alerts .3‬ػجبسح ػٓ اٌشعبئً ‪،‬‬
‫‪ ٟ٘ٚ : Attached Libraries .4‬ػجبسح ػٓ ِىزجبد ‪، PL/SQL‬‬
‫‪ ٟ٘ٚ : Data block .5‬رؾز‪ ٞٛ‬اٌىزً ‪ٚ‬اٌز‪ ٟ‬ئِب أْ رى‪ٟ٘ٚ DB ْٛ‬‬
‫اٌز‪ ٟ‬رؼزّذ ػٍ‪ ٝ‬عذا‪ٚ‬ي أ‪ِ ٚ‬ؾب٘ذ ِٓ اٌـ( ‪ ) Database‬أ‪ ٚ‬لذ رى‪ْٛ‬‬
‫‪ ٟ٘ٚ NonDB‬وزً اٌزؾىُ اٌز‪ ٟ‬ال رؼزّذ ػٍ‪ ٝ‬اٌـ(‪، ) Database‬‬
‫‪ ٟ٘ٚ : Canvases .6‬اٌخٍف‪١‬خ أ‪ ٚ‬اٌمّبؽ‪١‬خ (اٌ‪ٛ‬سلخ اٌز‪ ٟ‬رشعُ ػٍ‪ٙ١‬ب‬
‫اٌؼٕبفش) ‪،‬‬
‫‪ّ٠ٚ : Editor .7‬ىٕه ِٓ خالٌٗ ئخز‪١‬بس ِؾشس إٌق‪ٛ‬ؿ اٌز‪ ٞ‬رش‪٠‬ذ‬
‫ئعزخذاِٗ ‪،‬‬
‫‪ ٟ٘ٚ : LOVs .8‬ػجبسح ػٓ لبئّخ ِشوجخ رم‪ ُ١‬ؽمً ِؼ‪ِٓ ٓ١‬‬
‫اٌـ(‪، ) Database‬‬
‫‪ ٟ٘ٚ : Object Groups .9‬ػجبسح ػٓ رغّ‪١‬غ ٌٍىبئٕبد ف‪ِ ٟ‬غّ‪ٛ‬ػخ‬
‫‪ٚ‬اؽذح ٌٕزغٕت ثزٌه اٌزىشاس أصٕبء اٌؼًّ خبفخ ف‪ ٟ‬ػٍّ‪١‬بد إٌغخ‬
‫‪ٚ‬اٌٍقك ‪،‬‬
‫‪ ُِٙ : Parameters .10‬عذاً ػٕذ ئسعبي ل‪ِ ُ١‬غ (إٌّ‪ٛ‬رط ‪ ) Form‬ئٌ‪ٝ‬‬
‫ّٔ‪ٛ‬رط آخش ‪،‬‬
‫‪ِ : Popup Menus .11‬خقـ ٌٍم‪ٛ‬ائُ إٌّجضمخ ثضس اٌفأسح األ‪، ّٓ٠‬‬
‫‪ ٟ٘ٚ : Programs Units .12‬ئِب أْ رى‪ Procedure ْٛ‬أ‪ Function ٚ‬أ‪، Package ٚ‬‬
‫‪ ٟ٘ٚ : Property Classes .13‬ػجبسح ػٓ رغّ‪١‬غ ٌٍخقبئـ ف‪ِ ٟ‬غّ‪ٛ‬ػخ ‪ٚ‬اؽذح ‪،‬‬

‫‪14‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
، LOVs ‫ب ِغ‬ِٙ‫ ٔؾزبط إلعزخذا‬: Record Groups .14
، ‫ش‬٠‫ إلٔؾبء اٌزمبس‬: Reports .15
، ‫خ‬١‫ػخ خقبئـ ِشئ‬ّٛ‫غزخذَ إلٔؾبء ِغ‬٠ : Visual Attributes .16
، ‫افز‬ٌٕٛ‫غزخذَ ٌٍزؾىُ ثب‬٠ : Windows .17

، )ً‫ ٍِف ِغزم‬ٟ‫ش رخضْ ف‬١‫ائُ (ؽ‬ٛ‫ب ػٕذ اٌزؼبًِ ِغ اٌم‬ٙ‫ ٔؾزبع‬Menus

، PL/SQL ‫ ػجبسح ػٓ ِىزجبد‬ٟ٘ٚ PL/SQL Libraries

، Oracle ٟ‫دح ف‬ٛ‫ع‬ٌّٛ‫ ػجبسح ػٓ ِىزجبد رزجغ اٌىبئٕبد ا‬ٟ٘ٚ Object Libraries

، ) Oracle(‫ ػجبسح ػٓ اٌؾضَ اٌّذِغخ ِغ اٌـ‬ٟ٘ٚ Built–in Packages

‫بٔبد‬١‫ لبػذح اٌج‬ِٟ‫غ ِغزخذ‬١ّ‫َ ثؼشك ع‬ٛ‫ش رم‬١‫ ؽ‬Database Objects

Developer 6i 

Form Builder *.FMB ٞ‫ِقذس‬Source ‫ اٌؾفظ‬Save


‫ اىَْارج‬Forms
Forms Runtime *.FMX ٞ‫ز‬١‫ رٕف‬Execute ‫ اٌزشعّخ‬Compile
Form Builder *.MMB ٞ‫ِقذس‬Source ‫ اٌؾفظ‬Save
ٌ‫ اىق٘ائ‬Menu
Forms Runtime *.MMX ٞ‫ز‬١‫ رٕف‬Execute ‫ اٌزشعّخ‬Compile
Report Builder *.RDF ٞ‫ِقذس‬Source ‫ اٌؾفظ‬Save
Reports ‫ش‬ٝ‫ اىرقاس‬Reports
*.REP ٞ‫ز‬١‫ رٕف‬Execute ‫ اٌزشعّخ‬Compile
Runtime

، ‫ ِغ اٌّجشِظ‬Source ٞ‫ اٌٍّف اٌّقذس‬ٝ‫جم‬٠ٚ Execute ٞ‫ز‬١‫ْ اٌٍّف اٌزٕف‬ٛ‫ اٌضث‬ٝ‫ؼي‬٠ ً‫ىجؼب‬

. ٞ‫ز‬١‫ اٌزٕف‬ٟ‫ً ف‬٠‫ اٌزؼذ‬ٟ‫غزي‬٠


‫ع‬ ‫ال‬ٚ ‫ اٌجشٔبِظ‬ٟ‫ً ف‬٠‫غ اٌزؼذ‬١‫غزي‬٠ ‫ش‬١‫ؽ‬

15
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬


‫ػٕذ سعُ أ‪ ٞ‬أداح (وبئٓ) الثُذ أْ ‪ٛ٠‬مغ ػٍ‪ٚ Canvas ٝ‬ئال فاْ اٌّزشعُ ع‪١‬ؼي‪ ٟ‬سعبٌخ خيأ ثأٔٗ غ‪١‬ش‬ ‫‪.a‬‬
‫لبدس ػٍ‪ ٝ‬اٌزٕف‪١‬ز ‪.‬‬
‫ػٕذ رٕف‪١‬ز اٌجشٔبِظ ٔالؽظ ‪ٚ‬ع‪ٛ‬د ؽبؽز‪: ٓ١‬‬ ‫‪.b‬‬
‫‪، Forms Runtime‬‬ ‫‪‬‬
‫‪. WINDOW1‬‬ ‫‪‬‬
‫ف‪ٚ ٟ‬مغ اٌزٕف‪١‬ز ‪ّ٠‬ىٓ ئعشاء (ئدخبي اإلعزؼالَ) ‪ٚ‬وزٌه (رٕف‪١‬ز اإلعزؼالَ) ‪ٚ‬اٌزٕمً ث‪ ٓ١‬اٌغغالد ‪.‬‬ ‫‪.c‬‬
‫ٌزشعّخ اٌجشٔبِظ ٔزجغ اٌخي‪ٛ‬اد اٌزبٌ‪١‬خ ‪:‬‬ ‫‪.d‬‬
‫‪File  Administration  Compile File‬‬

‫‪ٚ‬ثبٌزبٌ‪٠ ٟ‬زُ اٌؾق‪ٛ‬ي ػٍ‪ ٝ‬إٌغخخ اٌزٕف‪١‬ز‪٠‬خ ] ٍِفبد اٌـ(‪. [) *.FMX‬‬

‫‪16‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫احملاضرة الثالثة‬

‫‪MODULE‬‬ ‫‪‬‬
‫‪: Menu Module .1‬‬
‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ اٌمبئّخ اٌشئ‪١‬غ‪١‬خ اٌز‪ ٟ‬رش‪٠‬ذ ئعزخذاِ‪ٙ‬ب ػٕذ‬
‫رٕف‪١‬ز اٌجشٔبِظ ‪( ،‬فّٓ اٌّؼٍ‪ َٛ‬أْ اٌم‪ٛ‬ائُ ف‪ Oracle ٟ‬رأخز‬
‫ٍِفبً ِغزمالً وّب روشٔب رٌه عبثمبً) ‪ٚ ،‬اٌم‪ّ١‬خ اإلفزشام‪١‬خ‬
‫ٌ‪ٙ‬زٖ اٌخبف‪١‬خ ٘‪ DEFAULT&SMARTBAR ٟ‬أ‪ ٞ‬اٌمبئّخ‬
‫اٌز‪ ٟ‬رظ‪ٙ‬ش ف‪ ٟ‬ؽبؽخ ‪. Forms Runtime‬‬

‫‪: Defer Required Enforcement .2‬‬


‫‪ٚ‬رأخز اٌم‪ّ١‬خ اإلفزشام‪١‬خ ‪ٚ No‬ػٕذ عؼٍ‪ٙ‬ب ‪ Yes‬فأ‪ٙ‬ب رم‪َٛ‬‬
‫ثزغب‪ٚ‬ص اٌم‪ٛ١‬د إٌّؾئخ ػٍ‪ ٝ‬اٌؾم‪ٛ‬ي ‪. Items‬‬

‫‪: Direction .3‬‬


‫‪ٚ Form‬رأخز‬ ‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ ئرغبٖ اٌمشاءح ‪ٚ‬اٌىزبثخ ٌٍّٕ‪ٛ‬رط‬
‫٘زٖ اٌخبف‪١‬خ اٌم‪ ُ١‬اٌضالس ا‪٢‬ر‪١‬خ ‪:‬‬

‫‪ٚ : Default . a‬رى‪ ْٛ‬ؽغت اٌٍغخ اٌّؾذدح ف‪Registry ٟ‬‬


‫‪.‬‬
‫‪ Start  Run  RegEdit‬‬

‫‪ٚ‬ثؼذ اٌذخ‪ٛ‬ي ئٌ‪ِ ٝ‬ؾشس اٌـ(‪ٔ ) Registry‬زجغ اٌزغٍغً ا‪٢‬ر‪ٟ‬‬


‫‪:‬‬

‫‪ HKEY_LOCAL_MACHINE‬‬

‫‪  SOFTWARE‬‬

‫‪  ORACLE‬‬

‫‪17‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
  HOME0

  NLS_LANG
[National Language
Standard_LANG]

‫ ) اٌزبثؼخ‬Value Data(‫ّخ اٌـ‬١‫فـم‬


‫ ) عزأخز أؽذ‬NLS_LANG (‫ٌٍـ‬
: ٓ١‫ز‬١ٌ‫ٓ اٌزب‬١‫ّز‬١‫اٌم‬

ARABIC_UNITED 
ARAB
EMIRATES.AR8MSWI
N1256
ARABIC_SAUDI 
ARABIA.AR8MSWIN1
256
، ) Right To Left( ٟ٘ ‫خ‬١‫ّخ اإلفزشام‬١‫ رقجؼ اٌم‬ٌٟ‫ثبٌزب‬ٚ ‫خ‬١‫ اٌؼشث‬ٟ٘ ‫خ‬١‫ أْ اٌٍغخ اإلفزشام‬ٟٕ‫ؼ‬٠ ‫ِّب‬

، Oracle ‫ذ‬١‫خ رضج‬١ٍّ‫ ئٌخ) أصٕبء ػ‬... ٞ‫د‬ٛ‫ – عؼ‬ٟ‫خ إٌّزمبح (ئِبسار‬١‫ع اٌٍغخ اٌؼشث‬ٛٔ ‫زُ رؾذد‬٠ ٗٔ‫ِغ ِالؽظخ أ‬

: ‫خ‬١ٌ‫ّخ اٌزب‬١‫ اٌم‬ٚ‫أ‬

AMERICAN_AMERICA.WE8ISO8859PI 
. ) Left To Right( ٟ٘ ‫خ‬١‫ّخ اإلفزشام‬١‫ رقجؼ اٌم‬ٌٟ‫ثبٌزب‬ٚ ‫خ‬٠‫ض‬١ٍ‫ اإلٔغ‬ٟ٘ ‫خ‬١‫ أْ اٌٍغخ اإلفزشام‬ٟٕ‫ؼ‬٠ ‫ِّب‬

. ٓ١ّ١ٌ‫ ا‬ٌٝ‫غبس ئ‬١ٌ‫ ِٓ ا‬: Left To Right . b


. ‫غبس‬١ٌ‫ ا‬ٌٝ‫ٓ ئ‬١ّ١ٌ‫ ِٓ ا‬: Right To Left . c
Triggers 
: ‫بد‬٠ٛ‫ صالصخ ِغز‬ٍٝ‫ػ‬ٚ (SQL ; PL/SQL(‫ رىزت ثـ‬Code ‫خ‬٠‫ ػجبسح ػٓ ؽفشح ِقذس‬ٟ٘ٚ

:‫ب‬ِٕٙ ) Module ‫ اىَْ٘رج‬ٙ٘‫ ٍغر‬.1


. ‫ اٌزاوشح‬ٌٝ‫ ) ئ‬Form(‫ً اٌـ‬١ّ‫خ رؾ‬٠‫ٕفز ػٕذ ثذا‬٠ : WHEN-NEW-FORM-INSTANCE 
: ‫ب‬ِٕٙ ) Data Block ‫اّاخ‬ٞ‫ مريح اىث‬ٙ٘‫ ٍغر‬.2
، ) Block(‫ اٌـ‬ٍٝ‫ي ػ‬ٛ‫خ اٌذخ‬٠‫ٕفز ػٕذ ثذا‬٠ : WHEN-NEW-BLOCK-INSTANCE 
، ً‫ وً عغ‬ٍٝ‫ي ػ‬ٛ‫خ اٌذخ‬٠‫ٕفز ػٕذ ثذا‬٠ : WHEN-NEW-RECORD-INSTANCE 
، ) Block(‫ اٌـ‬ٍٝ‫ي ػ‬ٛ‫ٕفز لجً اٌذخ‬٠ : PRE-BLOCK 
. ) Block(‫ اٌـ‬ٍٝ‫ي ػ‬ٛ‫ٕفز ثؼذ اٌذخ‬٠ : POST-BLOCK 
: ‫ب‬ِٕٙ ) Item ‫ اىؼْظش‬ٙ٘‫ ٍغر‬.3
، ) Item(‫ اٌـ‬ٍٝ‫ي ػ‬ٛ‫خ اٌذخ‬٠‫ٕفز ػٕذ ثذا‬٠ : WHEN-NEW-ITEM-INSTANCE 
، PUSH BUTTON ‫ اٌؼٕقش‬ٍٝ‫ٕفز ػٕذ إٌمش ػ‬٠ : WHEN-BUTTON-PRESSED 
، List Item ‫ اٌؼٕقش‬ٍٝ‫ً ػ‬٠‫ٕفز ػٕذ اٌزؼذ‬٠ : WHEN_LIST_CHANGED 
. Image ‫ اٌؼٕقش‬ٍٝ‫ٕفز ػٕذ إٌمش ػ‬٠ : WHEN_IMAGE_PRESSED 
=======================================================================
=========

18
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪‬‬
‫ثبٌيجغ ٌ‪١‬ظ اٌّ‪ ُٙ‬أْ ٔىزت اٌشعبٌخ ‪ٌٚ‬ىٓ اٌّ‪ِ ُٙ‬ؼشفخ ‪:‬‬

‫‪ِ ‬ب ٘‪ ٛ‬غشك اٌشعبٌخ (ٌزؾذ‪٠‬ذ ٔ‪ٛ‬ػ‪ٙ‬ب ً٘ ٘‪ message ٛ‬أ‪، ) Alert ٚ‬‬
‫‪ٚ ‬أ‪ ٓ٠‬عٕىزج‪ٙ‬ب (ف‪ ٟ‬أ‪ ٞ‬ؽذس ‪. ) Trigger‬‬
‫‪ ‬أّ٘اع اىشعائو ‪:‬‬
‫‪ ٟ٘ٚ ) message .1‬اٌشعبئً اٌز‪ ٟ‬رخزـ ثبٌظ‪ٛٙ‬س ػٍ‪ ٝ‬ؽش‪٠‬و اٌّؼٍ‪ِٛ‬بد (ؽش‪٠‬و اٌؾبٌخ) ‪ٚ ،‬رأخز اٌق‪١‬غخ‬
‫اٌؼبِخ اٌزبٌ‪١‬خ‬
‫'(‪ّ message‬ض اىشعاىح; )'‬

‫‪‬‬

‫‪ٌٚ‬ؼًّ رٌه ٔؾزبط أ‪ٚ‬الً ٌّؼشفخ اٌـ (‪ ) Trigger‬اٌز‪ٔ ٞ‬ش‪٠‬ذ رٕف‪١‬ز أِش ئظ‪ٙ‬بس اٌشعبٌخ ػٕذٖ فجؼذ رؾذ‪٠‬ذ اىؼْظش‬
‫‪ٔ STU_NAME‬م‪ َٛ‬ثبٌٕمش ػٍ‪ ٝ‬صس اٌفأسح األ‪ٌٕ ّٓ٠‬خزبس األِش ‪ ِٕٗٚ Smart Trigger‬اٌؾذس ‪WHEN-NEW-‬‬
‫‪ٌٕ ITEM-INSTANCE‬ىزت ف‪ ٗ١‬أِش اٌشعبٌخ ?‪message(' Please… Enter Name of Student‬‬
‫; )' صُ ٔنغو ػٍ‪ ٝ‬اٌضس ‪ٌٕ Compile‬زأوذ ِٓ أٔٗ رُ رشعّخ األِش ثؾىً فؾ‪١‬ؼ ٌ‪ٙ‬زا اٌؾذس ‪،‬‬

‫‪ٔٚ‬الؽظ ػٕذ رىشاس ػًّ اٌشعبٌخ اٌخبفخ ثبٌـ( ‪ِ ) message‬شر‪ ٓ١‬أٔٗ لذ رُ رؾ‪ ً٠ٛ‬اٌشعبٌخ اٌضبٔ‪١‬خ رٍمبئ‪١‬بً ئٌ‪ِ ٝ‬ب‬
‫‪٠‬غّ‪ ٝ‬ثبٌـ(‪. ) Alert‬‬

‫‪ ٟ٘ٚ ) Alert .2‬اٌشعبئً اٌز‪ ٟ‬رظ‪ٙ‬ش ثؾىً فٕذ‪ٚ‬ق ؽ‪ٛ‬اس‬


‫‪ٚ‬اٌز‪ ٟ‬لذ رى‪ ْٛ‬سعبٌخ ِٓ إٌ‪ٛ‬ع (ئ‪٠‬مبف ‪ Stop‬أ‪ ٚ‬رؾز‪٠‬ش ‪ Caution‬أ‪ِ ٚ‬الؽظخ ‪) Note‬‬

‫‪ٚ‬لذ رؾز‪ ٞٛ‬ػٍ‪ ( ٝ‬صس أ‪ ٚ‬صس‪ ٓ٠‬أ‪ ٚ‬صالصخ ػٍ‪ ٝ‬األوضش) ئٌ‪ ٝ‬غ‪١‬ش رٌه ِٓ خقبئـ فٕبد‪٠‬ك اٌؾ‪ٛ‬اس ‪ٚ ...‬وّضبي ػٍ‪ٝ‬‬
‫رٌه ‪:‬‬

‫‪19‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪ٚ‬ف‪ّ٠ Oracle ٟ‬ىٓ ػًّ ِضً ٘زٖ اٌشعبئً ‪ٌٚ‬ىٓ ػٍ‪ِ ٝ‬شؽٍز‪: ٓ١‬‬

‫‪ٍ . a‬شزيح ئّشاء اىشعاىح ‪:‬‬


‫ؽ‪١‬ش ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ( ‪ ) Alert‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ( ‪ ) Object Navigator‬صُ ‪ٕ١ٌ Create‬ؾئ ٌٕب ئعّبً‬
‫ئفزشام‪١‬بً ٌٍشعبٌخ إٌّؾئخ فٕؾذد٘ب صُ ٔنغو ‪ٌٍ F4‬زؾىُ ثم‪ ُ١‬اٌخقبئـ اٌ‪ٙ‬بِخ اٌزبثؼخ ٌ‪ٙ‬ب ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Name‬‬ ‫‪Del‬‬

‫‪2‬‬ ‫‪Title‬‬ ‫ؽزف عغً‬

‫‪3‬‬ ‫‪Message‬‬ ‫ً٘ رش‪٠‬ذ ؽزف اٌغغً ثبٌزأو‪١‬ذ ؟‬

‫‪4‬‬ ‫‪Alert Style‬‬ ‫‪Stop‬‬

‫‪5‬‬ ‫‪Button 1 Label‬‬ ‫ِ‪ٛ‬افك‬

‫‪6‬‬ ‫‪Button 2 Label‬‬ ‫ئٌغبء األِش‬

‫‪7‬‬ ‫‪Default Alert Button‬‬ ‫‪Button2‬‬

‫‪ٍ . b‬شزيح طية اىشعاىح ٗاىَؼاىدح‪:‬‬


‫‪ٌٚ‬ؼًّ رٌه ٔؾزبط ٌّؼشفخ اٌـ(‪ ) Trigger‬اٌز‪ٔ ٞ‬ش‪٠‬ذ رٕف‪١‬ز أِش ئظ‪ٙ‬بس اٌشعبٌخ ػٕذٖ فجؼذ رؾذ‪٠‬ذ اىـ( ‪Data‬‬
‫‪ STU ) Block‬ألٔٗ ‪ٚ‬وّب ٘‪ِ ٛ‬ؼٍ‪ َٛ‬أْ ػٍّ‪١‬خ ؽزف اٌغغً رى‪ ْٛ‬ػٍ‪ِ ٝ‬غز‪ ٜٛ‬وزٍخ اٌج‪١‬بٔبد‪، Data Block‬‬
‫ٔم‪ َٛ‬ثبٌٕمش ػٍ‪ ٝ‬صس اٌفأسح األ‪ٌٕ ّٓ٠‬خزبس األِش ‪ ِٕٗٚ Smart Trigger‬اٌؾذس ‪ٌٕ KEY-DELREC‬ىزت ف‪ ٗ١‬أ‪ٚ‬اِش‬
‫ِؼبٌغخ اٌشعبٌخ ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫‪Declare‬‬

‫‪N‬‬ ‫; ‪Number‬‬

‫‪Begin‬‬

‫; )'‪N := Show_Alert('Del‬‬

‫‪If‬‬ ‫‪N = Alert_Button1 Then‬‬

‫; ‪Delete_Record‬‬

‫; ‪Commit‬‬

‫‪Else‬‬

‫; ‪Null‬‬

‫; ‪End If‬‬

‫; ‪End‬‬

‫‪20‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫صُ ٔنغو ػٍ‪ ٝ‬اٌضس ‪ٌٕ Compile‬زأوذ ِٓ أٔٗ رُ رشعّخ األِش ثؾىً فؾ‪١‬ؼ ٌ‪ٙ‬زا اٌؾذس ‪١ٌٚ ،‬زُ اٌزٕف‪١‬ز ِٓ‬
‫صس‬ ‫خالي اٌمبئّخ اٌز‪ ٟ‬رظ‪ٙ‬ش ف‪ ٟ‬ؽبؽخ ‪ٌٚ ، Form Runtime‬ىٓ ئرا أسدٔب رٕف‪١‬ز أِش اٌؾزف ٘زا ِٓ خالي‬
‫‪ٝ‬قً٘ تؼَي‪ٞ‬ح اىسزف فٕزجغ اٌخي‪ٛ‬اد اٌزبٌ‪١‬خ ‪:‬‬

‫ٕٔؾئ صس ٌ‪١‬م‪ َٛ‬ثؼٍّ‪١‬خ اٌؾزف ‪ٚ‬رٌه ثشعّٗ ػٍ‪ ٝ‬اٌـ(‪ٔٚ ) Canvas‬ؼي‪ ٗ١‬اٌخقبئـ ‪:‬‬ ‫‪.1‬‬
‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Name‬‬ ‫‪DL‬‬

‫‪2‬‬ ‫‪Label‬‬ ‫ؽزف‬

‫‪3‬‬ ‫‪Number of item displayed‬‬ ‫‪1‬‬

‫‪ٔ .2‬م‪ َٛ‬ثٕغخ ِب وزجٕبٖ ف‪ ٟ‬اٌؾذس ‪ KEY-DELREC‬ئٌ‪ ٝ‬اٌؾذس اٌخبؿ ثبٌـ( ‪ ) Push-Button‬ػٓ ىش‪٠‬ك‬
‫ئخز‪١‬بس األِش ‪ ِٕٗٚ Smart Trigger‬اٌؾذس ‪ ِٓ WHEN-BUTTON-PRESSED‬خالي ‪:‬‬
‫‪ .a‬رؾذ‪٠‬ذ اٌؼٕقش ‪ ِٓ DL‬ؽبؽخ ‪ٚ Object Navigator‬إٌمش ػٍ‪ ٝ‬صس اٌفأسح األ‪، ّٓ٠‬‬
‫‪ .b‬رؾذ‪٠‬ذ اٌضس ؽزف ف‪ ٟ‬ؽبؽخ ‪ٚ Layout Editor‬إٌمش ػٍ‪ ٝ‬صس اٌفأسح األ‪، ّٓ٠‬‬
‫‪ .c‬ػٕذ رؾذ‪٠‬ذ اٌؼٕقش ‪ DL‬أ‪ ٚ‬رؾذ‪٠‬ذ اٌضس ؽزف ِٓ اٌمبئّخ ‪. Program‬‬

‫‪Data Blocks‬‬ ‫‪‬‬


‫ٍنّ٘اخ اىـ(‪ ) Data Block‬األعاع‪ٞ‬ح ‪:‬‬ ‫‪‬‬
‫‪ ٟ٘ٚ : Triggers‬األؽذاس اٌّزؼٍمخ ثبٌـ(‪ ] ) Data Block‬اٌّغز‪ ٜٛ‬اٌضبٔ‪ ِٓ ٟ‬اٌـ)‪، [(Triggers‬‬ ‫‪.a‬‬
‫‪ٚ : Items‬رّضً اٌؼٕبفش اٌزبثؼخ ٌ‪ٙ‬زا اٌـ(‪ِ] ) Data Block‬ضالً ‪ :‬ؽم‪ٛ‬ي اٌغذ‪ٚ‬ي ‪ٚ‬ػٕبفش اٌزؾىُ اٌزبثؼخ ٌٗ[ ‪،‬‬ ‫‪.b‬‬
‫‪ٌ : Relations‬شثو ٘زا اٌـ(‪ِ ) Data Block‬غ أ‪ ) Data Block( ٞ‬آخش ] ِضالً ‪ :‬سثو عذ‪ٚ‬ي ِغ عذ‪ٚ‬ي آخش[ ‪.‬‬ ‫‪.c‬‬
‫خـظـائـض اىـ( ‪: ) Data Block‬‬ ‫‪‬‬
‫اٌنش‪ٚ‬س‪ ٞ‬رؾذ‪٠‬ذ خقبئـ أ‪ِٛ Data Block ٞ‬ع‪ٛ‬د ٌذ‪ٕ٠‬ب ف‪ ٟ‬اٌجشٔبِظ ‪ٚ‬رٌه ‪:‬‬ ‫ِٓ‬

‫ٌزؾذ‪٠‬ذ فالؽ‪١‬خ وً ِغزخذَ ‪،‬‬ ‫‪‬‬

‫‪21‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪١ٌٚ‬ى‪ ْٛ‬اٌؼًّ أوضش إِٔ‪١‬خ ‪.‬‬ ‫‪‬‬

‫‪ٚ‬اٌز‪ ٞ‬ع‪١‬زُ اٌزؼبًِ ِٓ خالٌٗ ِغ اٌـ(‪ ) Data Block‬ثشِغ‪١‬بً‬ ‫‪Name‬‬ ‫‪1‬‬

‫رؾذ‪٠‬ذ و‪١‬ف‪١‬خ ئٔزمبي اٌّإؽش ‪ٌٙٚ‬ب صالصخ ل‪: ُ١‬‬

‫‪: Same Record (A‬‬

‫‪ٚ‬رؼٕ‪ ٟ‬اٌزٕمً ث‪ ٓ١‬ؽم‪ٛ‬ي ٔفظ اٌغغً ِٓ أ‪ٚ‬ي ؽمً ئٌ‪ ٝ‬آخش‬


‫ؽمً‬

‫ثؾ‪١‬ش ‪٠‬ظً اٌّإؽش ػٍ‪ٔ ٝ‬فظ اٌغغً ‪١ٌٚ‬زُ اٌزٕمً ث‪ ٓ١‬ؽم‪ٛ‬ي‬


‫٘زا اٌغغً ثنغو ‪، Enter‬‬
‫‪Navigation Style‬‬ ‫‪2‬‬
‫‪ٚ : Change Record ) B‬رؼٕ‪ ٟ‬رغ‪١‬ش اٌغغً اٌؾبٌ‪ٟ‬‬

‫ثؾ‪١‬ش ‪٠‬زُ أزمبي اٌّإؽش ِٓ آخش ؽمً ٌٍغغً اٌؾبٌ‪ ٟ‬ئٌ‪ٝ‬‬


‫أ‪ٚ‬ي ؽمً ٌٍغغً اٌزبٌ‪ ٟ‬ثنغو ‪، Enter‬‬

‫‪ٚ : Change Data Block ) C‬رؼٕ‪ ٟ‬رغ‪١‬ش اٌـ(‪ ) Block‬اٌؾبٌ‪ٟ‬‬

‫ثؾ‪١‬ش ‪٠‬زُ أزمبي اٌّإؽش ِٓ أخش ؽمً ٌٍغغً اٌؾبٌ‪ ٟ‬ف‪ٟ‬‬


‫اٌـ(‪ ) Block‬اٌؾبٌ‪ ٟ‬ئٌ‪ ٝ‬أ‪ٚ‬ي ؽمً ف‪ ٟ‬اٌـ(‪ ) Block‬اٌزبٌ‪. ٟ‬‬

‫رؾذ‪٠‬ذ اٌـ(‪ ) Block‬اٌغبثك‬ ‫‪Previous Navigation Data‬‬


‫‪F3‬اٌزشر‪١‬ت اإلفزشام‪ ٟ‬ؽغت ؽبؽخ‬ ‫‪3‬‬
‫‪Block‬‬

‫رؾذ‪٠‬ذ اٌـ(‪ ) Block‬اٌزبٌ‪ٟ‬‬ ‫‪Next Navigation Data Block‬‬ ‫‪4‬‬

‫رؾذ‪٠‬ذ ػذد اٌغغالد اٌّؼش‪ٚ‬مخ ػٍ‪ ٝ‬اٌـ(‪) Canvas‬‬ ‫‪Number of Record display‬‬ ‫‪5‬‬

‫رؾذ‪٠‬ذ ئرغبٖ اٌغغالد ػّ‪ٛ‬د‪ ٞ‬أَ أفم‪( ٟ‬اإلفزشام‪ ٟ‬ػّ‪ٛ‬د‪)ٞ‬‬ ‫‪Records Orientation‬‬ ‫‪6‬‬

‫رؾذ‪٠‬ذ ٔ‪ٛ‬ع اٌـ(‪ٚ ) Data Block‬رّزٍه اٌم‪(Yes , No) ُ١‬‬

‫‪) Yes( : Database .1‬‬


‫أ‪ ٞ‬اٌّشرجو ِغ لبػذح اٌج‪١‬بٔبد ( اٌغذا‪ٚ‬ي ‪ٚ‬اٌّؾب٘ذ ‪ٚ‬اٌّشادفبد‬
‫‪...‬ئٌخ) ‪،‬‬ ‫‪Database Data Block‬‬ ‫‪7‬‬

‫‪) No( : Non Database .2‬‬


‫أ‪ ٞ‬اٌّؼزّذ ػٍ‪ ٝ‬ػٕبفش اٌزؾىُ فمو ‪ ٚ‬ال ‪٠‬ؼزُد ػٍ‪ ٝ‬لبػذح‬
‫اٌج‪١‬بٔبد (‪. ) DUMMY‬‬

‫عّبؽ‪١‬خ اإلعزؼالَ ػٓ اٌج‪١‬بٔبد أصٕبء اٌزٕف‪١‬ز ‪ٚ‬رّزٍه اٌم‪ُ١‬‬


‫‪Query Allowed‬‬ ‫‪8‬‬
‫)‪(Yes , No‬‬

‫‪22‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫عّبؽ‪١‬خ اإلدخبي ٌٍج‪١‬بٔبد أصٕبء اٌزٕف‪١‬ز ‪ٚ‬رّزٍه اٌم‪(Yes , ُ١‬‬
‫‪Insert Allowed‬‬ ‫‪9‬‬
‫)‪No‬‬

‫عّبؽ‪١‬خ اٌزؼذ‪ ً٠‬ػٍ‪ ٝ‬اٌج‪١‬بٔبد أصٕبء اٌزٕف‪١‬ز ‪ٚ‬رّزٍه اٌم‪(Yes ُ١‬‬


‫‪Update Allowed‬‬ ‫‪10‬‬
‫)‪, No‬‬

‫عّبؽ‪١‬خ اٌؾزف ِٓ اٌج‪١‬بٔبد أصٕبء اٌزٕف‪١‬ز ‪ٚ‬رّزٍه اٌم‪(Yes , ُ١‬‬


‫)‪No‬‬

‫ٍالزظح ٕاٍح ‪:‬‬ ‫‪‬‬


‫فالؽ‪١‬خ اٌـ( ‪ ) SQL‬أل‪ ِٓ ٜٛ‬فالؽ‪١‬خ ‪ٚ Developer‬وّضبي ػٍ‪ٝ‬‬
‫رٌه ‪:‬‬

‫; ‪SQL> revoke delete on STU.Lvl from UST‬‬


‫‪Delete Allowed‬‬ ‫‪11‬‬
‫رؼٍ‪ّ١‬خ اٌـ(‪٘ ) SQL‬زٖ عزغؾت فالؽ‪١‬خ اٌؾزف ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي‬
‫‪ ِٓ Lvl‬اٌّغزخذَ ‪ ust‬ف‪ ٟ‬أ‪ ٞ‬ثشٔبِظ ‪ ،‬أِب ف‪Developer ٟ‬‬
‫‪ٌٍ No‬خبف‪١‬خ ‪Delete Allowed‬‬ ‫فأٗ ئرا رُ ئػيبء اٌم‪ّ١‬خ‬
‫فغزّٕغ اٌؾزف ِٓ اٌغذ‪ٚ‬ي ‪ Lvl‬مّٓ اٌجشٔبِظ اٌؾبٌ‪ ٟ‬فمو‬
‫‪ٚ‬ػٕذ ئٔؾبء ثشٔبِظ آخش فأٗ ‪ّ٠‬ىٓ اٌؾزف ِٓ اٌغذ‪ٚ‬ي ‪ Lvl‬ئرا ِب‬
‫رُ ئػيبء اٌم‪ّ١‬خ ‪ٌٍ Yes‬خبف‪١‬خ ‪ِ Delete Allowed‬ب ٌُ رىزت‬
‫رؼٍ‪ّ١‬خ اٌـ(‪ ) SQL‬أػالٖ ‪ٚ‬ئال فال عذ‪ ِٓ ٜٚ‬ل‪٘ ُ١‬زٖ اٌخبف‪١‬خ ِٓ‬
‫عّبؽ‪١‬خ ٌٍؾزف ثـ(‪ ) Yes‬أ‪ِٕ ٚ‬ؼ‪ٙ‬ب ثـ(‪. ) No‬‬

‫ؽشه عٍت اٌغغالد ِٓ اٌغذا‪ٚ‬ي‬ ‫‪WHERE Clause‬‬ ‫‪12‬‬

‫رؾذ‪٠‬ذ اٌؾمً اٌّشاد اٌزشر‪١‬ت ِٓ خالٌٗ ‪ٚ‬و‪١‬ف‪١‬خ اٌزشر‪١‬ت ‪،‬أِضٍخ‬


‫رٌه ‪:‬‬

‫‪: Lvl_Name ‬‬


‫‪٠‬زُ اٌزشر‪١‬ت ؽغت اٌؾمً ئعُ اٌّغز‪ ٜٛ‬رقبػذ‪٠‬بً‬
‫(اإلفزشام‪)ٟ‬‬
‫‪ORDER BY Clause‬‬ ‫‪13‬‬
‫‪: Lvl_Name desc ‬‬
‫‪٠‬زُ اٌزشر‪١‬ت ؽغت اٌؾمً ئعُ اٌّغز‪ ٜٛ‬رٕبصٌ‪١‬بً‬

‫‪: Lvl_Name Asc ‬‬


‫‪٠‬زُ اٌزشر‪١‬ت ؽغت اٌؾمً ئعُ اٌّغز‪ ٜٛ‬رقبػذ‪٠‬بً‬

‫‪23‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
Visual Attribute 
Stu Current Record

Red 12 Arial Cyan

: ٓ١‫س ثّشؽٍز‬ٚ‫زُ رٌه ال ثذ ِٓ اٌّش‬١ٌٚ

: ‫ح‬ٞ‫ ٍشزيح ئّشاء اىخظائض اىَشئ‬. a


‫ٕؾئ ٌٕب‬١ٌ Create ُ‫ ) ص‬Object Navigator(‫ ؽبؽخ اٌـ‬ٟ‫د ف‬ٛ‫ع‬ٌّٛ‫ ) ا‬Visual Attribute(‫ذ اٌـ‬٠‫َ ثزؾذ‬ٛ‫ش ٔم‬١‫ؽ‬
: ٌٟ‫وبٌزب‬ٚ ‫ثخ‬ٍٛ‫ُ اٌخقبئـ اٌّي‬١‫ ٌٍزؾىُ ثم‬F4 ‫خ إٌّؾئخ فٕؾذد٘ب صُ ٔنغو‬١‫بً ٌٍخقبئـ اٌّشئ‬١‫ئعّبً ئفزشام‬

Property Value

1 Name VA1

2 Visual Attribute Type Common

3 Foreground Color Red

4 Background Color Cyan

5 Font Name Arial

6 Font Size 12

: ‫ح‬ٞ‫ ٍشزيح طية اىخظائض اىَشئ‬. b


: ٌٟ‫وبٌزب‬ٚ ‫خ‬١‫ ٌٕزؾىُ ثبٌخقبئـ اٌّشئ‬F4 ‫ صُ ٔنغو‬STU ) Data Block(‫ٌؼًّ رٌه ٔؾذد اىـ‬ٚ

Property Value

Current Record Visual Attribute Group VA1

=======================================================================
=========

Items 
: ٓ١‫ػ‬ٛٔ ٌٝ‫رٕمغُ ئ‬ٚ

. Radio_Group ، Check_box ، List_Item ، Text_item : ً‫ِض‬ Input Items a


. Images ، Push_Button ، Display_Item : ً‫ِض‬ Non_Input Items b
ٙ‫ اىخظائض األخش‬ٜ‫ذشرشك ٕزٓ اىؼْاطش تثؼغ اىخظائض ٗذخريف ف‬

24
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Text_Item‬‬ ‫‪‬‬

‫‪ٚ‬اٌز‪ ٞ‬ع‪١‬زُ اٌزؼبًِ ِٓ خالٌٗ ِغ اٌـ(‪ ) Text_item‬ثشِغ‪١‬بً‬ ‫‪Name‬‬ ‫‪1‬‬

‫رؾذ‪٠‬ذ ٔ‪ٛ‬ع اٌؼٕقش اٌّؼش‪ٚ‬ك‬ ‫‪Item Type‬‬ ‫‪2‬‬

‫ِٕؾو أَ ِج‪ٙ‬ذ )‪(Yes , No‬‬ ‫‪Enabled‬‬ ‫‪3‬‬

‫ِ‪ٛ‬لغ ظ‪ٛٙ‬س اٌىزبثخ )‪(Left ,Right ,Center ,Start ,End‬‬ ‫‪Justification‬‬ ‫‪4‬‬

‫ٔ‪ٛ‬ع اٌج‪١‬بٔبد‬ ‫‪Data Type‬‬ ‫‪5‬‬

‫ى‪ٛ‬ي اٌج‪١‬بٔبد‬ ‫‪Maximum Length‬‬ ‫‪6‬‬

‫اٌم‪ّ١‬خ اإلثزذائ‪١‬خ ٌٍؼٕقش‬ ‫‪Initial Value‬‬ ‫‪7‬‬

‫ل‪ّ١‬خ اٌؼٕقش ِيٍ‪ٛ‬ة ئدخبٌ‪ٙ‬ب (ئعجبس‪)ٞ‬‬ ‫‪Required‬‬ ‫‪8‬‬

‫رٕغ‪١‬ك اٌؼٕقش اٌشلّ‪ ٟ‬ؽغبث‪١‬بً (ِضالً ‪) 999.99:‬‬ ‫‪Format Mask‬‬ ‫‪9‬‬

‫ً٘ اٌؼٕقش ِشرجو ثمبػذح اٌج‪١‬بٔبد أَ غ‪١‬ش ِشرجو)‪(Yes , No‬‬ ‫‪Database Item‬‬ ‫‪10‬‬

‫اٌغّبؽ‪١‬خ ثبإلعزؼالَ )‪(Yes , No‬‬ ‫‪Query Allowed‬‬ ‫‪11‬‬

‫اٌغّبؽ‪١‬خ ثبإلمبفخ )‪(Yes , No‬‬ ‫‪Insert Allowed‬‬ ‫‪12‬‬

‫اٌغّبؽ‪١‬خ ثبٌزؼذ‪(Yes , No) ً٠‬‬ ‫‪Update Allowed‬‬ ‫‪13‬‬

‫ً٘ ٘‪ِ ٛ‬شئ‪ ٟ‬أَ ِخف‪(Yes , No) ٟ‬‬ ‫‪Visible‬‬ ‫‪14‬‬

‫رؾذ‪٠‬ذ اٌمّبؽ‪١‬خ اٌّز‪ٛ‬مغ ػٍ‪ٙ١‬ب اٌؼٕقش‬ ‫‪Canvas‬‬ ‫‪15‬‬

‫رؾذ‪٠‬ذ ِ‪ٛ‬لغ اٌؼٕقش األفم‪ٟ‬‬ ‫‪X Position‬‬ ‫‪16‬‬

‫رؾذ‪٠‬ذ ِ‪ٛ‬لغ اٌؼٕقش اٌؼّ‪ٛ‬د‪ٞ‬‬ ‫‪Y Position‬‬ ‫‪17‬‬

‫رؾذ‪٠‬ذ اٌؼشك‬ ‫‪Width‬‬ ‫‪18‬‬

‫رؾذ‪٠‬ذ اإلسرفبع‬ ‫‪Height‬‬ ‫‪19‬‬

‫اٌزؾىُ ثبٌخو ‪ٚ‬األٌ‪ٛ‬اْ‬ ‫‪Font & Color‬‬ ‫‪20‬‬

‫اٌزؾىُ ثبٌـ)‪ (Label‬اٌخبؿ ثبٌـ)‪(Text_item‬‬ ‫‪Prompt‬‬ ‫‪21‬‬

‫اٌزؾىُ ثأٌ‪ٛ‬اْ ‪ٚ‬خي‪ٛ‬ه اٌـ)‪ (Label‬اٌخبؿ ثبٌـ)‪(Text_item‬‬ ‫‪Prompt Font & Color‬‬ ‫‪21‬‬

‫ئظ‪ٙ‬بس ٔـ أعفً اٌـ)‪ (Form‬ػٕذ رفؼ‪ ً١‬اٌؼٕقش‬ ‫‪Hint‬‬ ‫‪23‬‬

‫ئظ‪ٙ‬بس ٔـ مّٓ ئىبس ػٕذ ‪ٚ‬ف‪ٛ‬ي ِإؽش اٌّب‪ٚ‬ط ئٌ‪ٗ١‬‬ ‫‪Tooltip‬‬ ‫‪24‬‬

‫‪25‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪List_Item‬‬ ‫‪‬‬

‫ٌزؾذ‪٠‬ذ اٌؼٕبفش اٌّؾز‪ٛ‬اح ِغ ل‪ّٙ١‬ب‬ ‫‪Element in List‬‬ ‫‪1‬‬

‫ػٕذ ‪ٚ‬ع‪ٛ‬د ل‪ّ١‬خ ِغب‪٠‬شح ٌم‪ ُ١‬اٌؼٕبفش اٌّؾز‪ٛ‬اح‬ ‫‪Mapping of Other Values‬‬ ‫‪2‬‬

‫ثم‪١‬خ اٌخقبئـ وّب ِش عبثمبً‬

‫=======================================================================‬
‫=========‬

‫‪Check_Box‬‬ ‫‪‬‬

‫ل‪ّ١‬خ اٌؼٕقش ػٕذِب ‪٠‬ى‪ِ ْٛ‬ؾذد (ِٕؾو)‬ ‫‪Value When Checked‬‬ ‫‪1‬‬

‫ل‪ّ١‬خ اٌؼٕقش ػٕذِب ال ‪٠‬ى‪ِ ْٛ‬ؾذداً‬ ‫‪Value When Unchecked‬‬ ‫‪2‬‬

‫ػٕذ ‪ٚ‬ع‪ٛ‬د ل‪ّ١‬خ ِغب‪٠‬شح ٌم‪ّ١‬ز‪ ٓ١‬اٌغبثمز‪ٓ١‬‬ ‫‪Check box Mapping of Other Value‬‬ ‫‪3‬‬

‫‪ٚ‬رى‪ ْٛ‬اٌم‪ّ١‬خ اٌّغب‪٠‬شح ػبدح ِ‪ٛ‬م‪ٛ‬ػخ ف‪Initial Value ٟ‬‬

‫ثم‪١‬خ اٌخقبئـ وّب ِش عبثمبً‬

‫=======================================================================‬
‫=========‬

‫‪Radio_Group‬‬ ‫‪‬‬
‫ٕٗ‪ ٜ‬ذس٘‪ ٛ‬اىؼذ‪ٝ‬ذ ٍِ ‪ Radio_Button‬أ‪ ٛ‬أّٖا تَثاتح اىساٗ‪ٝ‬ح‪ Container‬ىيخ‪ٞ‬اساخ اىَفشدج‬

‫ػٕذ ‪ٚ‬ع‪ٛ‬د ل‪ّ١‬خ ِغب‪٠‬شح ٌم‪ ُ١‬اٌؼٕبفش اٌّؾز‪ٛ‬اح‬ ‫‪Mapping of Other Values‬‬ ‫‪1‬‬

‫اٌم‪ّ١‬خ اإلثزذائ‪١‬خ ٌٍؼٕقش‬ ‫‪Initial Value‬‬ ‫‪2‬‬

‫ثم‪١‬خ اٌخقبئـ وّب ِش عبثمبً‬

‫‪Radio_Button‬‬ ‫‪‬‬

‫اٌؼٕ‪ٛ‬اْ اٌظب٘ش أِبَ اٌّغزخذَ‬ ‫‪Label‬‬ ‫‪1‬‬

‫‪26‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫اٌم‪ّ١‬خ اٌخبفخ ثبٌؼٕقش‬ ‫‪Radio Button Value‬‬ ‫‪2‬‬

‫ثم‪١‬خ اٌخقبئـ وّب ِش عبثمبً‬

‫=======================================================================‬
‫=========‬

‫‪Display_Item‬‬ ‫‪‬‬
‫وً اٌخقبئـ لذ ِشد عبثمبً ‪ٌٚ‬ىٓ ٔغزف‪١‬ذ ِٓ ٘زا اٌؼٕقش أٔٗ ال ‪ّ٠‬ىٓ اٌزؼذ‪ ً٠‬ف‪ٚ ٗ١‬ال ‪ٕ٠‬زمً ئٌ‪ ٗ١‬اٌزشو‪١‬ض‬
‫‪Focus‬‬

‫=======================================================================‬
‫=========‬

‫‪Push_Button‬‬ ‫‪‬‬

‫اٌؼٕ‪ٛ‬اْ اٌظب٘ش أِبَ اٌّغزخذَ‬ ‫‪Label‬‬ ‫‪1‬‬

‫رؾذ‪٠‬ذ رٕؾ‪١‬و ‪ٚ‬ع‪ٛ‬د األ‪٠‬م‪ٔٛ‬بد ػٍ‪ ٝ‬اٌضس)‪(Yes , No‬‬ ‫‪Iconic‬‬ ‫‪2‬‬

‫رؾذ‪٠‬ذ اٌٍّف اٌز‪ ٞ‬عزى‪ ْٛ‬أ‪٠‬م‪ٔٛ‬زٗ ػٍ‪ ٝ‬اٌضس‬ ‫‪Icon Filename‬‬ ‫‪3‬‬

‫ثم‪١‬خ اٌخقبئـ وّب ِش عبثمبً‬

‫=======================================================================‬
‫=========‬

‫‪Image‬‬ ‫‪‬‬

‫ٔ‪ٛ‬ع اٌق‪ٛ‬سح‬ ‫‪Image Format‬‬ ‫‪1‬‬

‫ػّك اٌق‪ٛ‬سح‬ ‫‪Image Depth‬‬ ‫‪2‬‬

‫رؾذ‪٠‬ذ ّٔو اٌزؾغ‪( ُ١‬ليغ – ِالئّخ)‬ ‫‪Sizing Style‬‬ ‫‪3‬‬

‫ثم‪١‬خ اٌخقبئـ وّب ِش عبثمبً‬

‫‪27‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫احملاضرة الرابعة‬

‫‪‬‬
‫ػٓ ىش‪٠‬ك اٌزؼٍ‪ّ١‬خ ‪ٔ Set‬غزي‪١‬غ اٌزؾىُ ثخقبئـ اٌـ)‪ (Window‬أ‪ ٚ‬اٌـ)‪ (Block‬أ‪ ٚ‬اٌـ)‪ (Item‬أصٕبء رٕف‪١‬ز اٌجشٔبِظ‬
‫ث‪ّٕ١‬ب‬

‫ف‪ٌٛ ٟ‬ؽخ اٌخقبئـ ‪ٔ Property Palette‬غزي‪١‬غ اٌزؾىُ ثبٌخقبئـ ف‪ِ ٟ‬شؽٍخ رقّ‪ ُ١‬اٌجشٔبِظ ‪.‬‬

‫‪ٚ‬اٌق‪١‬غخ اٌؼبِخ وّب ‪: ٍٟ٠‬‬

‫ٌٍزؾىُ ثخقبئـ إٌبفزح (‪ Set_Window_Property‬ئعٌ اىْافزج‪ ,‬ئعُ اٌخبف‪١‬خ ‪,‬ل‪ّ١‬خ اٌخبف‪١‬خ )‬


‫ثشِغ‪١‬بً ;‬

‫ٌٍزؾىُ ثخقبئـ اٌىزٍخ ثشِغ‪١‬بً (‪ Set_Block_Property‬ئعٌ اىنريح ‪ ,‬ئعُ اٌخبف‪١‬خ ‪,‬ل‪ّ١‬خ اٌخبف‪١‬خ; )‬

‫ٌٍزؾىُ ثخقبئـ اٌؼٕقش‬


‫(‪ Set_Item_Property‬ئعٌ اىؼْظش‪ ,‬ئعُ اٌخبف‪١‬خ ‪,‬ل‪ّ١‬خ اٌخبف‪١‬خ ; )‬
‫ثشِغ‪١‬بً‬

‫ثبٌيجغ ٘زٖ اٌخقبئـ رؼذي ف‪ ٟ‬اٌؾذس إٌّبعت اٌز‪٠ ٞ‬ؾذدٖ اٌيٍت ‪ٚ‬اٌؾبعخ فّضالً ‪:‬‬

‫ػٕذ رؾّ‪ ً١‬اٌجشٔبِظ ؟ ‪ :‬ؽذس ‪، WHEN_NEW_FORM_INSTANCE‬‬ ‫‪‬‬


‫ف‪ ٟ‬صس ‪ ...‬؟ ‪ :‬ؽذس ‪ ... WHEN_BUTTON_PRESSED‬ئٌخ ‪.‬‬ ‫‪‬‬

‫‪Window‬‬ ‫‪1‬‬
‫ٗمأٍثيح ػي‪ ٚ‬رىل ‪:‬‬

‫)‪(Forms Runtime‬‬ ‫‪‬‬


‫;)‪Set_Window_Property(Forms_Mdi_Window , Window_State , Maximize‬‬

‫الؽظ أْ ئعُ ٔبفزح اٌـ)‪ (Forms Runtime‬ئعُ صبثذ دائّبً ف‪٠ ٛٙ‬ىزت ‪ ِٓٚ Forms_Mdi_Window‬غ‪١‬ش ئؽبساد‬
‫اإللزجبط ‪.‬‬

‫)‪(Forms Runtime‬‬ ‫‪‬‬


‫;)‪Set_Window_Property('Window1' , Window_State , Maximize‬‬

‫الؽظ أْ ئعُ ٔبفزح اٌجشٔبِظ ئعُ ِزغ‪١‬ش ف‪٠ ٛٙ‬ىزت ؽغت ئعُ إٌبفزح اٌجشِغ‪ِٚ ٟ‬غ ‪ٚ‬ع‪ٛ‬د ئؽبساد اإللزجبط‬
‫‪.‬‬

‫‪800‬‬ ‫‪600‬‬ ‫‪‬‬


‫;)‪Set_Window_Property('Window1' , Height , 600 , Width , 800‬‬

‫الؽظ ‪ٚ‬ع‪ٛ‬د ٘زٖ اٌؾبٌخ اٌخبفخ ٌٍي‪ٛ‬ي ‪ٚ‬اٌؼشك ف‪ ٟ‬ػذد اٌـ)‪ (argument‬اٌّشعً ‪.‬‬

‫‪28‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
(Forms Runtime) ' ' 
');‫ ثشٔبِظ اٌيالة‬Set_Window_Property(Forms_Mdi_Window , Title , '

. ‫د ئؽبساد اإللزجبط‬ٛ‫ع‬ٚ ِٓ ‫خ فال ثذ‬١‫ُ ِؾشف‬١‫ب ل‬ٙ٠‫ْ ٌذ‬ٛ‫ى‬٠ ‫الؽظ أْ اٌخقبئـ ػٕذِب‬

' ' 
');ٜٛ‫بٔبد اٌّغز‬١‫ ث‬Set_Window_Property('Window1' ,Title , '

(Forms Runtime) 
Set_Window_Property('Window1' , Window_State, Minimize);

Set_Window_Property(Forms_Mdi_Window , Window_State, Minimize);

Block 2
: ‫ رىل‬ٚ‫ٗمأٍثيح ػي‬

Lvl 
Set_Block_Property('Lvl' , Query_Allowed , Property_True);

. Yes ‫خ‬١‫ّخ اٌخبف‬١‫ْ ل‬ٛ‫ ػٕذِب رى‬property_True ‫ّخ‬١‫الؽظ ئػيبء اٌم‬

Lvl 
Set_Block_Property('Lvl' , Query_Allowed , Property_False);

. No ‫خ‬١‫ّخ اٌخبف‬١‫ْ ل‬ٛ‫ ػٕذِب رى‬property_False ‫ّخ‬١‫الؽظ ئػيبء اٌم‬

Lvl 
Set_Block_Property('Lvl' , Order_By , 'Lvl_No');

Lvl 
Set_Block_Property('Lvl' , Order_By, 'Lvl_Name');

: ‫ ٍثو‬Block ‫ح خظائض اىنريح‬ٞ‫ٗمزىل اىساه تاىْغثح ىثق‬

، ‫ اٌخبفخ ثبإلمبفخ‬: Insert_Allowed 


، ً٠‫ اٌخبفخ ثبٌزؼذ‬: Update_Allowed 
، ‫ اٌخبفخ ثبٌؾزف‬: Delete_Allowed 
Where ‫ اٌخبفخ ثبٌؾشه‬: Defalut_Where 
Set_Block_Property('Stu' , Defalut_Where , 'Stu_Sec >= 1');

Visual Attribute ‫خ ٌٍىزٍخ‬١‫ اٌخبفخ ثبٌخقبئـ اٌّشئ‬: Current_Record_Attribute 


Set_Block_Property('Stu' , Current_Record_Attribute , 'VA1');

. ‫ ئٌخ‬...

Item 3
: ‫ رىل‬ٚ‫ٗمأٍثيح ػي‬

29
6i ‫حماضرات يف أوراكل ديفلوبر‬
Lvl 
Set_Item_Property('Lvl_Name' , Visible , Property_True);

Lvl 
Set_Item_Property('Lvl_Name' , Visible , Property_False);

Lvl 
Set_Item_Property('Lvl_Name' , Enabled , Property_True);

Lvl 
Set_Item_Property('Lvl_Name' , Enabled , Property_False);

: ‫ ٍثو‬Block ‫ح خظائض اىنريح‬ٞ‫ٗمزىل اىساه تاىْغثح ىثق‬

(X , Y)‫ ٔبفزح اٌجشٔبِظ ثـ‬ٍٝ‫لغ اٌؼٕقش ػ‬ِٛ ‫ذ‬٠‫ اٌخبفخ ثزؾذ‬: Position 
, 100 , 100); Set_Item_Property('MyButton' , Position

‫خ ٌٍؼٕقش‬١‫ اٌخبفخ ثبٌخقبئـ اٌّشئ‬: Visual_Attribute 


, 'VA1'); Set_Item_Property('Stu_No' , Visual_Attribute

. ‫ ئٌخ‬...

=======================================================================
=========


Global Variables 1
) :Global.(‫رجذأ ثـ‬

Function ٞ‫ أ‬ٚ‫ أ‬Procedure ٞ‫ أ‬ٚ‫ أ‬Trigger ٞ‫ب ثأ‬ٙ‫غ اٌزؼبًِ ِؼ‬١‫ش ٔغزي‬١‫الد ػبِخ ثؾ‬ٛ‫ف ِزؾ‬٠‫ٌزؼش‬ٚ

ًِ‫فبً ٌىب‬ٚ‫قجؼ ِؼش‬٠ ٝ‫ؽز‬ٚ WHEN_NEW_FORM_INSTANCE ‫ اٌؾذس‬ٟ‫ي اٌؼبَ ف‬ٛ‫ٔؼشف اٌّزؾ‬


. ) Forms(‫اٌـ‬

: ٍٟ٠ ‫ف وّب‬٠‫غخ اٌؼبِخ ٌٍزؼش‬١‫اٌق‬ٚ

:global.Variable := Value ; ً‫خ سلّب‬١‫ّخ اإلثزذائ‬١‫ْ اٌم‬ٛ‫ػٕذِب رى‬

:global.Variable := 'Value' ; ً‫ب‬١‫خ ٔقبً ِؾشف‬١‫ّخ اإلثزذائ‬١‫ْ اٌم‬ٛ‫ػٕذِب رى‬

‫ح ٍشامو‬ٝ‫اً ىسذٗز أ‬ٞ‫ح ىيَرس٘الخ ذالف‬ٞ‫َاً ئترذائ‬ٞ‫ ق‬ٜ‫فؼو دائَاً أُ ّؼط‬ٝ ‫تاىطثغ‬

: ‫ رٌه‬ٍٝ‫وأِضٍخ ػ‬ٚ

:Global.MyNo := 1 ;

:Global.MyName := 'Amerah';

Local Variable 2
‫ ػشفذ ثذاخٍٗ فمو‬ٞ‫( اٌز‬Function)‫ اٌـ‬ٚ‫( أ‬Procedure)‫ اٌـ‬ٚ‫( أ‬Trigger)‫الد ِؼشفخ مّٓ اٌـ‬ٛ‫ْ ٘زٖ اٌّزؾ‬ٛ‫رى‬

30
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪٠‬ؼٕ‪ ٟ‬مّٓ اٌـ)‪ٚ (Begin‬اٌـ)‪ (End‬اٌّؼشف مّٕ‪ٙ‬ب ‪.‬‬

‫‪ٚ‬اٌق‪١‬غخ اٌؼبِخ ٌٍزؼش‪٠‬ف وّب ‪: ٍٟ٠‬‬

‫ػٕذِب رى‪ ْٛ‬اٌم‪ّ١‬خ اإلثزذائ‪١‬خ سلّبً ; ‪Variable DataType := Value‬‬

‫ػٕذِب رى‪ ْٛ‬اٌم‪ّ١‬خ اإلثزذائ‪١‬خ ٔقبً ِؾشف‪١‬بً ; '‪Variable DataType := 'Value‬‬

‫تاىطثغ ‪ٝ‬فؼو دائَاً أُ ّؼط‪ ٜ‬ق‪َٞ‬اً ئترذائ‪ٞ‬ح ىيَرس٘الخ ذالف‪ٞ‬اً ىسذٗز أ‪ٝ‬ح ٍشامو‬

‫‪ٚ‬وأِضٍخ ػٍ‪ ٝ‬رٌه ‪:‬‬

‫; ‪MyNo Number := 2‬‬

‫;'‪MyName Varchar2(20) := 'Gawaher‬‬

‫=======================================================================‬
‫=========‬

‫‪‬‬

‫'‬ ‫'‬
‫'‬
‫'‬

‫'‬ ‫'‬

‫'‬ ‫'‬ ‫'‬ ‫'‬

‫رٍّ‪١‬ؼ ‪:‬‬

‫(لُ ثشثو ل‪ ُ١‬اٌخقبئـ اٌجشِغ‪١‬خ ثّزؾ‪ٛ‬الد ػبِخ)‬

‫ٗىؼَو رىل ال تذ ٍِ ‪:‬‬

‫رؼش‪٠‬ف ِزؾ‪ٛ‬ي ػبَ ( ػٍ‪ِ ٝ‬غز‪ ٜٛ‬إٌّ‪ٛ‬رط ‪١ٌٚ ) Form‬ىٓ ‪ X‬ؽ‪١‬ش ٔم‪ َٛ‬ثاعٕبد اٌم‪ّ١‬خ ' ئخفبء' ئٌ‪ ٗ١‬وم‪ّ١‬خ‬ ‫‪‬‬
‫ئثزذائ‪١‬خ ‪ٔٚ‬زؾىُ ثىزبثخ ػٕ‪ٛ‬اْ اٌضس ِٓ خالي ل‪ّ١‬خ اٌّزؾ‪ٛ‬ي اٌؼبَ ‪،‬‬
‫ٔفؾـ ل‪ّ١‬خ اٌّزؾ‪ٛ‬ي اٌؼبَ ف‪ ٟ‬ؽذس (اٌنغو ػٍ‪ ٝ‬اٌضس) ِٓ خالي عٍّخ ‪ IF‬اٌؾشى‪١‬خ فارا وبٔذ ل‪ّ١‬خ‬ ‫‪‬‬
‫' ئخفبء' فإٔب عٕخف‪٘ ٟ‬زا اٌؼٕقش ثخبف‪١‬خ ‪ٔٚ Visible‬غٕذ اٌم‪ّ١‬خ اٌّغب‪٠‬شح ' ئظ‪ٙ‬بس ' ئٌ‪ٝ‬‬ ‫اٌّزؾ‪ٛ‬ي‬
‫اٌّزؾ‪ٛ‬ي اٌؼبَ ‪ٚ‬اٌؼىظ فؾ‪١‬ؼ صُ ٔزؾىُ ثىزبثخ ػٕ‪ٛ‬اْ اٌضس ِٓ خالي ل‪ّ١‬خ اٌّزؾ‪ٛ‬ي اٌؼبَ اٌغذ‪٠‬ذح ‪.‬‬

‫‪WHEN_NEW_FORM_INSTANCE .1‬‬

‫‪31‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
' ;‫ ئخفبء‬:Global.X := '

Set_Item_Property('MyButton' , Label , :Global.X) ;

WHEN_BUTTON_PRESSED .2
' then‫ ئخفبء‬If :Global.X = '

Set_Item_Property('Lvl_Name' , Visible , Property_False);

' ;‫بس‬ٙ‫ئظ‬ :Global.X := '

Else

Set_Item_Property('Lvl_Name' , Visible , Property_True);

' ;‫ئخفبء‬ :Global.X := '

End if ;

Set_Item_Property('MyButton' , Label , :Global.X);

=======================================================================
=========

: ‫ٍالزظاخ ٕاٍح‬ 
، ‫ـ‬١‫رغزخذَ ٌٍزخق‬ :=

، ‫رغزخذَ ٌٍّمبسٔخ‬ =

. ٗ‫ّز‬١‫ب ل‬ٙٔ‫ أ‬ٟٕ‫رغزخذَ لجً اٌؼٕقش ٌزؼ‬ :

=======================================================================
=========


Trigger STU Stu_No

: ‫ؼ‬١ٍّ‫ر‬

‫ّخ ِذخٍخ ِٓ اٌّغزخذَ) ؟‬١‫ئخ ثم‬١ِٙ ‫ي‬ٚ‫ّخ اٌؾمً ٌٍغغً األ‬١‫زُ ئفزشاك أْ ل‬٠ (

: ‫زو اىَطي٘ب‬

: ٌٟ‫خ وبٌزب‬٠‫ٌزىٓ اٌؾفشح اٌّقذس‬ٚ Number ‫ع‬ٛٔ ِٓ ً‫ ؽم‬ٍٝ‫ ػ‬ٟ‫ُ رٍمبئ‬١‫ّىٓ ػًّ رشل‬٠ ٗٔ‫َ أ‬ٍٛ‫ِٓ اٌّؼ‬

32
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫)‪(Trigger : KEY_CREREC‬‬

‫زذز ئّشاء اىغدو‬

‫‪Declare‬‬

‫‪Counter‬‬ ‫; ‪number‬‬

‫تؼشف يتحىل انؼذاد يٍ َىع سقًً‬

‫‪Begin‬‬

‫; ‪Select Max(Stu_No) into Counter From Stu‬‬

‫إختٍاس انقًٍت انؼظًى يٍ حقم انطانب وإسُادها إىل يتحىل انؼذاد‬

‫; ‪:Stu_No := Counter + 1‬‬

‫ً إنٍه واحذ‬
‫تشقٍى حقم انطانب بقًٍت املتحىل يضافا‬

‫; ‪End‬‬

‫‪33‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫احملاضرة اخلامسة والسادسة‬

‫‪Relations‬‬ ‫‪‬‬
‫‪ٚ Master‬ا‪٢‬خش ٘‪ ٛ‬اٌغذ‪ٚ‬ي‬ ‫٘‪ ٟ‬رؼج‪١‬ش ‪٠‬يٍك ػٍ‪ ٝ‬ػاللخ ث‪ ٓ١‬عذ‪ ٓ١ٌٚ‬أؽذّ٘ب ٘‪ ٛ‬اٌغذ‪ٚ‬ي اٌشئ‪١‬غ‪ٟ‬‬
‫اٌزفق‪، Details ٍٟ١‬‬

‫‪ .1‬رؾذ‪٠‬ذ اٌغذ‪ٚ‬ي اٌشئ‪١‬غ‪ٚ Master ٟ‬اٌغذ‪ٚ‬ي اٌزفق‪، Details ٍٟ١‬‬


‫‪ .2‬رؾذ‪٠‬ذ ؽم‪ٛ‬ي اٌشثو ث‪ ٓ١‬اٌغذ‪ٚ( ٓ١ٌٚ‬رغّ‪ ٝ‬اٌؾم‪ٛ‬ي اٌّخف‪١‬خ) ‪،‬‬
‫‪ .3‬رؾذ‪٠‬ذ ؽش‪ٚ‬ه اٌشثو ث‪ ٓ١‬اٌغذ‪. Join Condition ٓ١ٌٚ‬‬
‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪‬‬

‫‪Master‬‬

‫‪Details‬‬

‫‪ٔ ‬الؽظ ِٓ خالٌ‪ّٙ‬ب أْ عّ‪١‬غ ؽم‪ٛ‬ي اٌغذ‪ٚ‬ي اٌشئ‪١‬غ‪ِ ٟ‬ز‪ٛ‬فشح ف‪ ٟ‬عذ‪ٚ‬ي ‪، STU‬‬
‫ث‪ّٕ١‬ب ٔغذ أْ عّ‪١‬غ ؽم‪ٛ‬ي اٌغذ‪ٚ‬ي اٌزفق‪ِ ٍٟ١‬ز‪ٛ‬فشح ف‪ ٟ‬عذ‪ٚ‬ي ‪. MARK‬‬

‫‪٠ ‬زُ اٌشثو ِٓ خالي اٌؾم‪ٛ‬ي (سقٌ اىطاىة – سقٌ اىقغٌ – سقٌ اىَغر٘‪، )ٙ‬‬
‫‪ ‬ؽش‪ٚ‬ه سثو اٌغذ‪٠ ٓ١ٌٚ‬ؾذد ِٓ خالي ػذد اٌغذا‪ٚ‬ي ٌزٌه عٕؾزبط ئٌ‪ ٝ‬ؽشه سثو ‪ٚ‬اؽذ ػٍ‪ ٝ‬ألً رمذ‪٠‬ش (‬
‫) ‪ٌٚ n-1‬ىٕٕب ٕ٘ب ٔغذ أْ ؽش‪ٚ‬ه اٌشثو ٘‪: ٟ‬‬
‫‪Mark.Mark_Sec = Stu.Stu_Sec And‬‬

‫‪Mark.Mark_Lvl = Stu.Stu_Lvl And‬‬

‫‪Mark.Mark_Stu = Stu.Stu_No‬‬

‫‪‬‬

‫‪ .1‬طش‪ٝ‬قح ٍؼاىح ‪: Data Block Wizard‬‬


‫ؽ‪١‬ش ٔم‪ َٛ‬ثأؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ ‪Data‬‬
‫‪ِ Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪١ٌٚ STU‬ىٓ‬
‫ثؾىً ‪٠ Tabular‬ؾ‪ ٞٛ‬عغالَ ‪ٚ‬ؽ‪١‬ذاً ‪ٚ ،‬‬
‫وزٌه ئٔؾبء ‪ِ Data Block‬ؼزّذح ػٍ‪ٝ‬‬
‫اٌغذ‪ٚ‬ي ‪١ٌٚ MARK‬ىٓ ثؾىً ‪Tabular‬‬
‫‪٠‬ؾ‪ ٞٛ‬خّغخ عغالد ‪ٚ ،‬أصٕبء ئٔؾبء ‪Data‬‬
‫‪ Block‬اٌخبؿ ثبٌـ ‪ MARK‬ػٓ ىش‪٠‬ك ِؼبٌظ‬

‫‪34‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫وزٍخ اٌج‪١‬بٔبد ‪ٔ Data Block Wizard‬الؽظ ظ‪ٛٙ‬س اٌؾبؽخ اٌزبٌ‪١‬خ ‪:‬‬

‫فٕم‪ َٛ‬أ‪ٚ‬الً ثاٌغبء اٌشثو اٌزٍمبئ‪ ٟ‬ث‪ ٓ١‬اٌغذ‪ٓ١ٌٚ‬‬

‫‪Auto-join Data Blocks‬‬

‫صُ ٔز٘ت ٌٍضس …‪ٌٕ Create Relationship‬ؾذد ِٓ خالٌٗ اٌغذ‪ٚ‬ي اٌشئ‪١‬غ‪ STU ٟ‬أِب اٌغذ‪ٚ‬ي اٌزفق‪ٍٟ١‬‬
‫‪ MARK‬ف‪ِ ٛٙ‬ؾذد رٍمبئ‪١‬بً ثغجت إٔٔب لّٕب ثزؾذ‪٠‬ذ اٌؼاللخ ِٓ خالٌٗ ‪ٔٚ‬ؾذد ؽش‪ٚ‬ه اٌشثو ِٓ خالي ئٔزمبء ػٕقش‬
‫ِٓ اٌغذ‪ٚ‬ي اٌزفق‪ِٚ Detail Item ٍٟ١‬ب اٌؼٕقش اٌز‪٠ ٞ‬مبثٍٗ ِٓ اٌغذ‪ٚ‬ي اٌشئ‪١‬غ‪Master Item ٟ‬‬

‫ٌٕش‪ ٜ‬اٌؾش‪ٚ‬ه رىزت ِجبؽشح أصٕبء ػٍّ‪١‬خ اٌزؾذ‪٠‬ذ ‪.‬‬

‫( ّؼغط اىراى‪ّٗ ٜ‬نَو تق‪ٞ‬ح ٍرطيثاخ اىَؼاىح اىخاص تـ‪) Data Block Wizard‬‬

‫ششذ ٍثغط ‪:‬‬ ‫‪‬‬


‫ٌ‪ ٛ‬لّٕب ثزؾذ‪٠‬ذ ػٕقش اٌؼاللخ اٌغذ‪٠‬ذ ‪ ( Relation‬غبٌجبً ‪ٕ٠‬ؾئ ثاعُ ئفزشام‪٠ ٟ‬أخز ف‪ ٗ١‬ئعُ اٌغذ‪)ٓ١ٌٚ‬‬

‫صُ مغيٕب ‪ٌٕ F4‬ش‪ ٜ‬أُ٘ اٌخقبئـ عٕغذ أٔ‪ٙ‬ب ‪:‬‬

‫‪ ‬خبف‪١‬خ ؽشه اٌشثو ‪ِٕٙٚ : Join Condition‬ب رغزي‪١‬غ اٌزؼذ‪ ً٠‬ػٍ‪ ٝ‬ؽشه اٌشثو اٌز‪ ٞ‬لذ أٔؾئ ف‪ّ١‬ب‬
‫عجك ‪،‬‬
‫‪ ‬خبف‪١‬خ عٍ‪ٛ‬ن ؽزف اٌغغالد ‪ٚ Delete Record Behavior‬اٌز‪ ٟ‬رّزٍه اٌضالصخ اٌم‪ ُ١‬ا‪٢‬ر‪١‬خ ‪:‬‬
‫‪( : Non_Isolated .1‬اٌال ػضي ‪ ٛ٘ٚ‬اإلفزشام‪)ٟ‬‬
‫‪٠ٚ‬ؼٕ‪ ٟ‬أٔٗ ٌٓ ٔغزي‪١‬غ اٌؾزف ِٓ اٌغذ‪ٚ‬ي اٌـ‪ Master‬ئال ثؼذ ؽزف وً ِب ‪٠‬زؼٍك ثٗ ف‪ ٟ‬اٌغذ‪ٚ‬ي اٌـ ‪، Details‬‬

‫‪: Isolated .2‬‬


‫‪٠ٚ‬ؼٕ‪ٚ ٟ‬ع‪ٛ‬د ػضي ث‪ ٓ١‬اٌغذ‪ٚ‬ي اٌـ ‪ٚ Master‬اٌغذ‪ٚ‬ي اٌـ ‪ Details‬ثؾ‪١‬ش ‪ّ٠‬ىٓ اٌؾزف ِٓ أؽذ اٌغذ‪ ٓ١ٌٚ‬د‪ ْٚ‬رأصش‬
‫ا‪٢‬خش ‪،‬‬

‫‪: Cascading .3‬‬


‫فارا ؽزفٕب عغً ِٓ اٌغذ‪ٚ‬ي اٌـ‪ Master‬فأٗ ع‪١‬ؾزف وً ِب ‪٠‬زؼٍك ث‪ٙ‬زا اٌغغً ِٓ اٌغذ‪ٚ‬ي اٌـ ‪. Details‬‬

‫‪35‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪ .2‬اىطش‪ٝ‬قح اى‪ٞ‬ذٗ‪ٝ‬ح ‪:‬‬
‫ؽ‪١‬ش ٔم‪ َٛ‬ثأؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ ‪Data‬‬
‫‪ِ Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪١ٌٚ STU‬ىٓ‬
‫ثؾىً ‪٠ Tabular‬ؾ‪ ٞٛ‬عغالَ ‪ٚ‬ؽ‪١‬ذاً ‪ٚ ،‬‬
‫وزٌه ئٔؾبء ‪ِ Data Block‬ؼزّذح ػٍ‪ٝ‬‬
‫اٌغذ‪ٚ‬ي ‪١ٌٚ MARK‬ىٓ ثؾىً ‪Tabular‬‬
‫‪٠‬ؾ‪ ٞٛ‬خّغخ عغالد ‪،‬‬

‫صُ ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ( ‪ ) Relations‬اٌّ‪ٛ‬ع‪ٛ‬د‬


‫ف‪ ٟ‬ؽبؽخ اٌـ(‪ٗ ) Object Navigator‬اىراتغ‬
‫‪ STU‬صُ ‪Create‬‬ ‫ىيدذٗه اىشئ‪ٞ‬غ‪ٜ‬‬
‫ٌزظ‪ٙ‬ش اٌؾبؽخ اٌزبٌ‪١‬خ ‪:‬‬

‫ؽ‪١‬ش ٔؾب٘ذ ف‪ٙ١‬ب أْ اٌغذ‪ٚ‬ي اٌشئ‪١‬غ‪ٟ‬‬


‫‪ِ STU‬ؾذد رٍمبئ‪١‬بً ثغجت إٔٔب لّٕب ثزؾذ‪٠‬ذ‬
‫اٌؼاللخ ِٓ خالٌٗ ‪ ،‬ث‪ّٕ١‬ب رزُ اٌّيبٌجخ‬
‫ثاخز‪١‬بس اٌغذ‪ٚ‬ي اٌزفق‪ ِٓ ٍٟ١‬خالي اٌضس‬
‫…‪ٌٕ Select‬خزبس ِٓ ‪ LOVs‬اٌز‪ ٟ‬رظ‪ٙ‬ش‬
‫اٌغذ‪ٚ‬ي ‪ MARK‬؛ ‪ٌٕٚ‬الؽظ عٍ‪ٛ‬ن ؽزف اٌغغالد ِٓ خالي ‪ Master Deletes‬ؽ‪١‬ش ٔغذ اٌضالس اٌخ‪١‬بساد ‪:‬‬

‫‪، Non_Isolated ) a‬‬


‫‪، Isolated ) b‬‬
‫‪. Cascading ) c‬‬
‫‪ٚ‬اٌز‪ ٟ‬رُ ؽشؽ‪ٙ‬ب ف‪ ٟ‬اٌفمشح اٌغبثمخ ؛‬

‫‪ٔٚ‬ىزت ؽش‪ٚ‬ه اٌشثو ف‪Join Condition ٟ‬‬


‫‪ٚ‬اٌز‪ ٟ‬لذ لّٕب ثزوش٘ب لجً رٌه ‪.‬‬

‫‪ ‬ا ىرسذ‪ٝ‬ثاخ ػي‪ ٚ‬اىثشّاٍح تؼذ ئّشاء‬


‫اىؼالقح ‪: Relation‬‬

‫‪ُ٠ .1‬نبف ‪ Trigger‬ػٍ‪ِ ٝ‬غز‪ ٜٛ‬اٌـ ‪Form‬‬


‫‪.‬‬
‫‪ُ٠ .2‬نبف )‪ ( 2 Triggers‬ػٍ‪ِ ٝ‬غز‪ٜٛ‬‬
‫وزٍخ اٌج‪١‬بٔبد ‪ٌٍ Data Block‬غذ‪ٚ‬ي‬
‫اٌشئ‪١‬غ‪. Master ٟ‬‬
‫‪ Relation‬ئٌ‪ ٝ‬وزٍخ‬ ‫‪ .3‬رُنبف ػاللخ‬
‫اٌج‪١‬بٔبد‬
‫‪ٌٍ Data Block‬غذ‪ٚ‬ي اٌشئ‪١‬غ‪. Master ٟ‬‬

‫‪ُ٠ .4‬نبف ) ‪ ( 3 Procedure‬ئٌ‪ٚ ٝ‬ؽذاد اٌجشٔبِظ ‪. Program Units‬‬

‫‪36‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ٍالزظح ٕاٍح ‪:‬‬ ‫‪‬‬
‫ال ٕٔغ‪ ٝ‬ئخفبء ؽم‪ٛ‬ي اٌشثو ث‪ ٓ١‬اٌغذ‪ٗ ( ٓ١ٌٚ‬رىل ىؼذً ٍ٘اخٖح ٍشنيح ذنشاس اىث‪ٞ‬اّاخ) ‪ٚ‬رٌه ِٓ خالي‬
‫ئػيبء اٌم‪ّ١‬خ ‪ٌٍ NULL‬خبف‪١‬خ ‪ٌ Canvas‬ىً ػٕقش سثو ‪ٌٚ‬زخف‪ ٟ‬اٌؼٕبفش أصٕبء اٌزقّ‪ٚ ُ١‬اٌزٕف‪١‬ز ‪ ،‬أِب ئرا لّٕب‬
‫ثاػيبء اٌم‪ّ١‬خ ‪ٌٍ No‬خبف‪١‬خ ‪ Visible‬فأ‪ٙ‬ب عزخف‪ ٟ‬اٌؼٕبفش أصٕبء اٌزٕف‪١‬ز فمو ‪.‬‬

‫‪ .1‬سقٌ اىقغٌ ‪، Sec_NO‬‬


‫‪ .2‬سقٌ اىَغر٘‪، Lvl_No ٙ‬‬
‫‪ .3‬سقٌ اىطاىة ‪، Stu_No‬‬

‫‪37‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬

‫ك‬٠‫خ ػبدح ػٓ ىش‬١‫ي اٌؾغبث‬ٛ‫ْ اٌؾم‬ٛ‫رى‬

، DB ‫بٔبد‬١‫ ِشرجو ثمبػذح اٌج‬DataBlock ٍٝ‫ ػ‬Non_DB ‫بٔبد‬١‫ش ِشرجو ثمبػذح اٌج‬١‫ غ‬Item ‫ ) ػٕقش‬a
Non_DB ‫بٔبد‬١‫ش ِشرجو ثمبػذح اٌج‬١‫ غ‬DataBlock ٍٝ‫ ػ‬Non_DB ‫بٔبد‬١‫ش ِشرجو ثمبػذح اٌج‬١‫ غ‬Item ‫ ) ػٕقش‬b
. (Dummy)‫ ثبٌـ‬ّٝ‫غ‬٠ ‫ ػبدح ِب‬ٞ‫اٌز‬ٚ

Formula 3
. ‫خ‬٠‫ّخ ػذد‬١‫ب ل‬ٕٙ‫خ رٕزظ ػ‬١‫بم‬٠‫غخ س‬١‫ ف‬ٟ٘ٚ

Mark

‫خ‬١‫ر‬٢‫ ثبٌخقبئـ ا‬Mark ‫ي اٌذسعبد‬ٚ‫ عذ‬ٍٝ‫ ػ‬TDeg ٓ‫ى‬١ٌٚ Non_DB‫بٔبد‬١‫ش ِشرجو ثمبػذح اٌج‬١‫ٕٔؾئ ػٕقش غ‬
:

Property Value
1 Name TDeg
2 Item Type Text Item
3 Enabled No
4 Data Type Number
5 Calculation Mode Formula
6 Formula NVL(:Mark_Yj , 0) + NVL(:Mark_Ht , 0) + NVL(:Mark_Ft , 0)
7 Database Item No
8 Canvas Canvas2
9 Prompt ‫خ‬١‫بئ‬ٌٕٙ‫اٌذسعخ ا‬

Summary 4

: ‫خ‬١‫ر‬٢‫( ثبٌخقبئـ ا‬Dummy) ٓ‫ى‬١ٌٚ Non_DB ‫بٔبد‬١‫ش ِشرجو ثمبػذح اٌج‬١‫ غ‬Block ‫َ ثأؾبء‬ٛ‫ ٔم‬.a
Property Value
1 Name Dummy
2 Database Data Block No

: ‫خ‬١‫ر‬٢‫ ثبٌخقبئـ ا‬Total ٓ‫ى‬١ٌٚ Non_DB‫بٔبد‬١‫ش ِشرجو ثمبػذح اٌج‬١‫صُ ٕٔؾئ ػٕقش غ‬ .b
Property Value
1 Name Total
2 Item Type Text Item
3 Enabled No
4 Data Type Number
5 Calculation Mode Summary

38
6i ‫حماضرات يف أوراكل ديفلوبر‬
6 Summarized Block Stu
7 Summarized Item TDeg
8 Summary Function Sum
9 Database Item No
10 Canvas Canvas2
11 Prompt ‫عو اٌذسعبد‬ٛ‫ِز‬

‫ سعبٌخ خيأ‬ٞ‫ز ثزغٕت أ‬١‫زُ اٌزٕف‬١ٌٚ .c


، Mark ‫( ثبٌذسعبد‬Block)‫ اٌزبثؼخ ٌٍـ‬Query All Record ‫خ‬١‫ّخ اٌخبف‬١‫ش ل‬١‫َ ثزغ‬ٛ‫ٔم‬

. Single Record ‫خ‬١‫ّخ اٌخبف‬١‫ش ل‬١‫ ٔغ‬Dummy ‫غ‬١ّ‫ ػٕقش اٌزغ‬ٞٛ‫ؾ‬٠ ٞ‫ اٌز‬ّٟ‫( اٌزؾى‬Block)‫ِٓ اٌـ‬ٚ

Data Block Property Value


1 Mark Query All Record Yes
2 Dummy Single Record Yes

39
6i ‫حماضرات يف أوراكل ديفلوبر‬

: ٌٟ‫ خقبئقٗ وبٌزب‬MARK ‫بٔبد‬١‫ وزٍخ اٌج‬ٟ‫َ ثأؾبء ػٕقش ف‬ٛ‫ ) ٔم‬a
Property Value
1 Name VALUATION
2 Database Item No
3 Canvas Canvas2
4 Prompt ‫ش‬٠‫اٌزمذ‬
5 Prompt Justification Center
6 Prompt Attachment Edge Top
7 Prompt Alignment Center

ِٓ ٞ‫ً أ‬٠‫ش ئرا لّٕب ثزؼذ‬٠‫زأصش ٘زا اٌزمذ‬٠ ْ‫غت أ‬٠ ‫ ِؼذي اٌذسعبد ٌزٌه‬ٍٝ‫ؼزّذ ػ‬٠ ‫ش‬٠‫ثّب أْ اٌزمذ‬ٚ ) b
‫ٌىً ِٓ ( أػَاه‬ٚ Post_Change ‫ ؽذس‬ٟ‫ ف‬Code ‫خ‬٠‫َ ثىزبثخ ٘زٖ اٌؾفشح اٌّقذس‬ٛ‫اٌذسعبد ٌزٌه ٔم‬
: ٌٟ‫وبٌزب‬ٚ )ٜ‫ – اىْٖائ‬ٜ‫اىغْح – اىْظف‬

Declare

N Number;

Begin

N := NVL(:Mark_Yj , 0) + NVL(:Mark_Ht , 0) + NVL(:Mark_Ft , 0);

If N Between 90 And 100 Then

';‫ممتاص‬ :Mark_Valuation := '

Elsif N Between 80 And 89 Then

';ً
‫جٍذجذا‬ :Mark_Valuation := '

Elsif N Between 70 And 79 Then

';‫جٍذ‬ :Mark_Valuation := '

Elsif N Between 50 And 69 Then

';‫يقبىل‬ :Mark_Valuation := '

Else

40
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ضؼٍف;'‬ ‫' =‪:Mark_Valuation :‬‬

‫; ‪End If‬‬

‫; ‪End‬‬

‫‪41‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪‬‬
‫ٔؾزبط ف‪ ٟ‬وض‪١‬ش ِٓ األؽ‪١‬بْ اٌشثو ث‪ ٓ١‬عذ‪١ٌ ٓ١ٌٚ‬ظ ثؾىً ‪ٚ Master & Details‬ئّٔب ثؾىً سثو ىج‪١‬ؼ‪ِٓ ٟ‬‬
‫أعً ئعزخالؿ ِؼٍ‪ِٛ‬بد ِؼ‪ٕ١‬خ فّضالً عذ‪ٚ‬ي اٌيالة ‪٠ STU‬ؾز‪ ٞٛ‬ػٍ‪( ٝ‬سلُ اٌمغُ ‪ٚ ) Stu_Sec‬اٌز‪٠ ٞ‬ؼزجش‬
‫ؽمالً ِّضالً ٌّفزبػ غش‪٠‬ت ‪ Foreign Key‬ربثغ ٌغذ‪ٚ‬ي األلغبَ ‪ٚ SECTION‬ػٓ ىش‪٠‬ك ػٍّ‪١‬خ اٌشثو ٘زٖ ٔش‪٠‬ذ‬
‫عٍت أعّبء األلغبَ أ‪ ٞ‬إٔٔب ٔش‪٠‬ذ ئظ‪ٙ‬بس أعّبء األلغبَ ف‪ ٟ‬وزٍخ اٌج‪١‬بٔبد ‪ ِٓ STU‬خالي ؽمً سلُ اٌمغُ‬
‫‪ٚ Stu_Sec‬ثؾشه أٔٗ ئرا رُ ئدخبي ل‪ّ١‬خ خبىئخ فاْ اٌجشٔبِظ ‪٠‬ز‪ٛ‬لف ؽز‪٠ ٝ‬ذخً اٌّغزخذَ اٌم‪ّ١‬خ اٌقؾ‪١‬ؾخ ‪.‬‬

‫ٗىؼَو رىل عْسراج ئى‪: ٚ‬‬

‫‪ . a‬ئٔؾبء ػٕقش ف‪ ٟ‬وزٍخ اٌج‪١‬بٔبد ‪ STU‬خقبئقٗ وبٌزبٌ‪: ٟ‬‬


‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Name‬‬ ‫‪SEC_NAME‬‬
‫‪2‬‬ ‫‪Database Item‬‬ ‫‪No‬‬
‫‪3‬‬ ‫‪Canvas‬‬ ‫‪Canvas2‬‬
‫‪4‬‬ ‫‪Prompt‬‬ ‫ئعُ اٌمغُ‬
‫‪5‬‬ ‫‪Prompt Justification‬‬ ‫‪Center‬‬
‫‪6‬‬ ‫‪Prompt Attachment Edge‬‬ ‫‪Top‬‬
‫‪7‬‬ ‫‪Prompt Alignment‬‬ ‫‪Center‬‬
‫‪ . b‬سثو ٘زا اٌؼٕقش (ئعُ اٌمغُ) ِٓ خالي اٌؾذس ثؼذ اٌزؼذ‪ Post_Change ً٠‬اٌزبثغ ٌشلُ اٌمغُ اٌخبؿ‬
‫ثىزٍخ اٌج‪١‬بٔبد ‪ STU‬أ‪ ٞ‬اٌؾمً ‪ٚ STU_SEC‬وبٌزبٌ‪: ٟ‬‬
‫‪Declare‬‬

‫‪Begin‬‬

‫‪Select Sec_Name Into :Sec_Name From Section‬‬

‫;‪Where Sec_No = :Stu_Sec‬‬

‫‪Exception‬‬

‫‪When No_Data_Found Then‬‬

‫‪42‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫'(‪ Message‬انشقى غري صحٍح;)'‬

‫;‪Raise Form_Trigger_Failure‬‬

‫; ‪End‬‬

‫‪ٚ‬ثٕفظ اٌيش‪٠‬مخ ‪٠‬زُ ئ‪٠‬غبد ئعُ اٌّغز‪ ٜٛ‬اٌّؼزّذ ػٍ‪ ٝ‬سلُ اٌّغز‪ ... ٜٛ‬ئٌخ ‪.‬‬

‫=======================================================================‬
‫=========‬

‫ذيَ‪ٞ‬ر ‪:‬‬ ‫‪‬‬


‫ِٓ اٌّّىٓ ئٔؾبء سعبٌخ ‪ Alert‬ثذالً ِٓ سعبٌخ ‪ٌٚ Message‬زىٓ خقبئق‪ٙ‬ب وبٌزبٌ‪: ٟ‬‬

‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Name‬‬ ‫‪Msgbox‬‬
‫‪2‬‬ ‫‪Title‬‬ ‫رٕج‪ٗ١‬‬
‫‪3‬‬ ‫‪Message‬‬ ‫اٌشلُ غ‪١‬ش فؾ‪١‬ؼ‬
‫‪4‬‬ ‫‪Alert Style‬‬ ‫‪Caution‬‬
‫‪5‬‬ ‫‪Button 1 Label‬‬ ‫ِ‪ٛ‬افك‬
‫‪6‬‬ ‫‪Default Alert Button‬‬ ‫‪Button1‬‬
‫صُ ثؼذ رٌه ٔم‪ َٛ‬ثاعزذػبء اٌشعبٌخ أصٕبء ِؼبٌغخ األخيبء ‪ٚ Exception‬وبٌزبٌ‪: ٟ‬‬

‫; )'‪N := Show_Alert('Msgbox‬‬

‫ف اٌّزؾ‪ٛ‬ي ف‪ ٟ‬عضء ‪ٚ Declare‬وبٌزبٌ‪: ٟ‬‬


‫‪ٚ‬رٌه ثؼذ رؼش‪ٞ‬‬

‫; ‪N Number‬‬

‫ِٓ أعً أْ األ‪ٚ‬ساوً رزيٍت ئعٕبد اٌذ‪ٚ‬اي ٌّزؾ‪ٛ‬ي أصٕبء ئعزذػبئ‪ٙ‬ب ‪.‬‬

‫‪43‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ٍالزظح ٕاٍح ‪:‬‬ ‫‪‬‬
‫‪٠‬فنً د‪ِٚ‬بً اٌزؾىُ ثىزٍخ ث‪١‬بٔبد ‪ DB‬ػٓ ىش‪٠‬ك ػٕبفش ‪ Non_DB‬ثؾ‪١‬ش رى‪ ْٛ‬آر‪١‬خ ِٓ وزٍخ ث‪١‬بٔبد ‪Non_DB‬‬
‫‪ٚ‬اٌز‪ِ ٟ‬ب ٔشِض ٌ‪ٙ‬ب ػبدح ثبٌشِض ‪ Dummy‬أ‪ ٞ‬وزٍخ رؾىُ ‪ٚ ،‬ف‪ِ ٟ‬ضبي سثو اٌغذا‪ٚ‬ي اٌغبثك فأٗ ‪٠‬فنً أْ ٕٔؾئ‬
‫ػٕقش ئعُ اٌمغُ ‪ SEC_Name‬ف‪ ٟ‬وزٍخ ث‪١‬بٔبد ‪ٌٚ Non_DB‬زىٓ ‪ٚ Dummy‬اٌز‪ ِٓ ٞ‬خقبئقٗ ‪:‬‬

‫‪Property‬‬ ‫‪Value‬‬
‫‪Database Data Block‬‬ ‫‪No‬‬
‫‪ٚ‬ئرا أٔؾئٕب ئعُ اٌمغُ ٘زا ِٓ ٔ‪ٛ‬ع ‪١ٌٚ List Item‬ىٓ ئعّٗ ‪( List_Item_Sec‬ساعغ و‪١‬ف رٕؾئ اٌمبئّخ‬
‫‪STU‬‬ ‫ِٓ اٌّؾبمشح اٌغبثؼخ) ‪ٚ‬أسدٔب أْ رى‪ ْٛ‬اٌج‪١‬بٔبد اٌّؼش‪ٚ‬مخ ف‪ ٗ١‬رإصش ػٍ‪ِ ٝ‬ب ‪٠‬ؼشك ف‪ ٟ‬وزٍخ اٌج‪١‬بٔبد‬
‫ثؾىً فؼبي فإٔب ٔم‪ َٛ‬ثىزبثخ اٌؾفشح اٌّقذس‪٠‬خ ف‪ ٟ‬ؽذس (رؼذ‪ ً٠‬اٌمبئّخ) ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫)‪(Trigger : WHEN_LIST_CHANGED‬‬

‫'‪Set_Block_Property('Stu‬‬ ‫‪,‬‬ ‫'‪'Default_Where‬‬ ‫‪,‬‬ ‫‪'Stu_Sec‬‬ ‫=‬


‫; )'‪:Dummy.List_Item_Sec‬‬

‫‪ ِٓٚ‬أعً أال ٔخزبس ػٕقش ِٓ اٌمبئّخ ‪ List_Item_SEC‬صُ ٔنيش ئٌ‪ ٝ‬اٌز٘بة ئٌ‪ ٝ‬وزٍخ اٌج‪١‬بٔبد ‪ٌ STU‬زٕف‪١‬ز‬
‫اإلعزؼالَ أ‪ٔ ٞ‬غؼً ظ‪ٛٙ‬س اٌج‪١‬بٔبد ف‪ ٟ‬وزٍخ اٌج‪١‬بٔبد ‪ِ STU‬شرجيبً ثاخز‪١‬بس اٌم‪ّ١‬خ ِٓ ‪ List_Item_SEC‬فٕن‪١‬ف‬
‫ف‪ ٟ‬ؽذس (رؼذ‪ ً٠‬اٌمبئّخ) ثؼذ اٌزؼٍ‪ّ١‬خ اٌغبثمخ ِب ‪: ٍٟ٠‬‬

‫; )'‪Go_Block('Stu‬‬

‫; ‪Execute_Query‬‬

‫=======================================================================‬
‫=========‬

‫‪Program Units‬‬ ‫‪‬‬


‫رغزخذَ اٌ‪ٛ‬ؽذاد اٌجشِغ‪١‬خ إلٔؾبء اإلعشاءاد ‪ Procedure‬أ‪ ٚ‬اٌذ‪ٚ‬اي‬
‫‪ Function‬أ‪ ٚ‬اٌؾضَ اٌجشِغ‪١‬خ ‪ٚ ، Package Spec‬رٌه ِٓ خالي‬
‫ثزؾذ‪٠‬ذ اٌـ(‪ ) Program Units‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ( ‪Object‬‬
‫‪ ) Navigator‬صُ ‪ٌ Create‬زظ‪ٙ‬ش اٌؾبؽخ اٌزبٌ‪١‬خ ‪:‬‬

‫)‪(Name‬‬ ‫فٕىزت ئعُ اٌ‪ٛ‬ؽذح اٌجشِغ‪١‬خ اٌّشاد ئٔؾبئ‪ٙ‬ب داخً اٌـ‬


‫صُ ٔخزبس ٔ‪ٛ‬ع اٌ‪ٛ‬ؽذح اٌجشِغ‪١‬خ ً٘ ٘‪: ٟ‬‬

‫‪ ‬ئخشاء ‪، Procedure‬‬
‫‪ ‬داىح ‪، Function‬‬
‫‪ ‬زضٍح تشٍد‪ٞ‬ح ‪ٔ( ، Package Spec‬ؾذد ف‪ٙ١‬ب أعّبء‬
‫اٌ‪ٛ‬ؽذاد اٌجشِغ‪١‬خ)‬
‫‪ ‬خغٌ اىسضٍح ‪، Package Body‬‬
‫( ‪ٚ‬اٌز‪٠ ٞ‬زُ ف‪ ٗ١‬وزبثخ اٌؾفشح اٌّقذس‪٠‬خ ‪ٌ Code‬إلعشاءاد ‪ٚ‬اٌذ‪ٚ‬اي اٌز‪ ٟ‬رُ رغّ‪١‬ؼ‪ٙ‬ب ف‪. ) Package Spec ٟ‬‬

‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪‬‬

‫‪44‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Mark‬‬ ‫‪a‬‬
‫‪Procedure‬‬
‫‪Function‬‬ ‫‪Stu‬‬ ‫‪b‬‬
‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫حـل الـمـطـلـوب األول‬

‫أٗالً ) ٕٔؾئ ػٕقش غ‪١‬ش ِشرجو ثمبػذح اٌج‪١‬بٔبد‪١ٌٚ Non_DB‬ىٓ ‪ TDeg‬ثبٌخقبئـ ا‪٢‬ر‪١‬خ ‪:‬‬

‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Name‬‬ ‫‪TDeg‬‬
‫‪2‬‬ ‫‪Item Type‬‬ ‫‪Text Item‬‬
‫‪3‬‬ ‫‪Enabled‬‬ ‫‪No‬‬
‫‪4‬‬ ‫‪Data Type‬‬ ‫‪Number‬‬
‫‪5‬‬ ‫‪Database Item‬‬ ‫‪No‬‬
‫‪6‬‬ ‫‪Canvas‬‬ ‫‪Canvas2‬‬
‫‪7‬‬ ‫‪Prompt‬‬ ‫ِغّ‪ٛ‬ع اٌذسعبد‬

‫ثاّ‪ٞ‬اً) ٔؾذد اٌـ(‪ ) Program Units‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ( ‪ ) Object Navigator‬صُ ‪ٌ Create‬زظ‪ٙ‬ش ؽبؽخ‬
‫اٌ‪ٛ‬ؽذاد اٌجشِغ‪١‬خ فـٕىزت ف‪ ٟ‬اٌـ ‪ Name‬ئعُ اإلعشاء ‪١ٌٚ‬ىٓ ‪ٔٚ ProTDeg‬خزبس ْ‪ٚ‬ع اٌ‪ٛ‬ؽذح اٌجشِغ‪١‬خ ئعشاء‬
‫‪ Procedure‬صُ ٔنغو ‪ ، Ok‬ف‪١‬ظ‪ٙ‬ش ِؾشس وزبثخ اٌؾفشح اٌّقذس‪٠‬خ ٌٕىزت اٌزبٌ‪: ٟ‬‬

‫‪PROCEDURE ProTDeg IS‬‬

‫‪BEGIN‬‬

‫;)‪:Tdeg := NVL(:Mark_Yj , 0) + NVL(:Mark_Ht , 0) + NVL(:Mark_Ft , 0‬‬

‫;‪END‬‬

‫ثاىثأً) ‪ٚ‬ثّب أْ اٌّغّ‪ٛ‬ع ‪٠‬زأصش ئرا لّٕب ثزؼذ‪ ً٠‬أ‪ ِٓ ٞ‬اٌذسعبد ٌزٌه ٔم‪ َٛ‬ثاعزذػبء اإلعشاء ‪ِٓ Procedure‬‬
‫خالي وزبثخ ٘زٖ اٌؾفشح اٌّقذس‪٠‬خ ‪ Code‬ف‪ ٟ‬ؽذس ‪ٌٚ Post_Change‬ىً ِٓ (أػَاه اىغْح – اىْظف‪ٜ‬‬
‫– اىْٖائ‪ٚ )ٜ‬وبٌزبٌ‪: ٟ‬‬

‫; ‪ProTDeg‬‬

‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫حـل الـمـطـلـوب الثاني‬

‫أٗالً ) ٕٔؾئ ػٕقش غ‪١‬ش ِشرجو ثمبػذح اٌج‪١‬بٔبد‪١ٌٚ Non_DB‬ىٓ ‪ SEC_NAME‬ثبٌخقبئـ ا‪٢‬ر‪١‬خ ‪.:‬‬

‫‪45‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Name‬‬ ‫‪SEC_NAME‬‬
‫‪2‬‬ ‫‪Item Type‬‬ ‫‪Text Item‬‬
‫‪3‬‬ ‫‪Enabled‬‬ ‫‪No‬‬
‫‪4‬‬ ‫‪Data Type‬‬ ‫‪Char‬‬
‫‪5‬‬ ‫‪Database Item‬‬ ‫‪No‬‬
‫‪6‬‬ ‫‪Canvas‬‬ ‫‪Canvas2‬‬
‫‪7‬‬ ‫‪Prompt‬‬ ‫ئعُ اٌمغُ‬
‫ثاّ‪ٞ‬اً) ٔؾذد اٌـ(‪ ) Program Units‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ ) Object Navigator‬صُ ‪ٌ Create‬زظ‪ٙ‬ش ؽبؽخ‬
‫اٌ‪ٛ‬ؽذاد اٌجشِغ‪١‬خ فـٕىزت ف‪ ٟ‬اٌـ ‪ Name‬ئعُ اإلعشاء ‪١ٌٚ‬ىٓ ‪ٔٚ FunSec‬خزبس ْ‪ٚ‬ع اٌ‪ٛ‬ؽذح اٌجشِغ‪١‬خ ئعشاء‬
‫‪ Function‬صُ ٔنغو ‪ ، Ok‬ف‪١‬ظ‪ٙ‬ش ِؾشس وزبثخ اٌؾفشح اٌّقذس‪٠‬خ ٌٕىزت اٌزبٌ‪: ٟ‬‬

‫‪FUNCTION FunSec RETURN Char IS‬‬

‫;)‪X Varchar2(50‬‬

‫‪BEGIN‬‬

‫‪Select Sec_Name Into X From Section‬‬

‫; ‪Where Sec_No = :Stu_Sec‬‬

‫; ‪Return X‬‬

‫;‪END‬‬

‫‪ Code‬ف‪ ٟ‬ؽذس ثذا‪٠‬خ‬ ‫ثاىثأً) صُ ٔم‪ َٛ‬ثاعزذػبء اٌذاٌخ ‪ ِٓ Function‬خالي وزبثخ ٘زٖ اٌؾفشح اٌّقذس‪٠‬خ‬
‫اٌذخ‪ٛ‬ي ػٍ‪ ٝ‬اٌغغً ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫)‪(Trigger : WHEN_NEW_RECORD_INSTANCE‬‬

‫; ‪:Sec_Name := FunSec‬‬

‫=======================================================================‬

‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬


‫‪ّ٠ ‬ىٓ ئعزذػبء اإلعشاء ثىزبثزٗ ِجبؽشح ‪ ،‬أِب اٌذاٌخ ف‪١‬غت أْ رغٕذ ٌّزؾ‪ٛ‬ي أصٕبء ئعزذػبئ‪ٙ‬ب ألٔٗ ِٓ‬
‫اٌّّىٓ أْ ‪٠‬غزخذَ ئعُ اٌذاٌخ ِغ اٌؼٍّ‪١‬بد اٌؾغبث‪١‬خ ‪،‬‬
‫‪ ‬ال ‪٠‬زيٍت ِٓ اإلعشاء ئسعبع أ‪ ٞ‬ل‪ّ١‬خ ث‪ّٕ١‬ب ‪٠‬غت أْ رؼ‪١‬ذ اٌذاٌخ ل‪ّ١‬خ ٌزٌه فأٗ ػٕذ رؾش‪٠‬ش اٌؾفشح‬
‫اٌّقذس‪٠‬خ ٌٍذ‪ٚ‬اي عٕش‪ ٜ‬ثذا‪٠‬خ ِؾشس اٌؾفشح اٌّقذس‪٠‬خ ث‪ٙ‬زٖ اٌيش‪٠‬مخ ‪:‬‬
‫‪FUNCTION FunSec RETURN _ IS‬‬

‫فٕم‪ َٛ‬ثىزبثخ ِب رشعؼٗ اٌذاٌخ ثؾ‪١‬ش ٔؼذي ِؾشس اٌؾفشح اٌّقذس‪٠‬خ ‪ٚ‬ث‪ٙ‬زٖ اٌيش‪٠‬مخ ‪:‬‬

‫‪FUNCTION FunSec RETURN Char IS‬‬

‫احملاضرة السابعة‬

‫‪46‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪List Item‬‬ ‫‪‬‬


‫لجً ئٔؾبء ‪٠ List Item‬غت ِؼشفخ ً٘ ٔش‪٠‬ذ أْ رى‪ ْٛ‬اٌم‪ ُ١‬اٌظب٘شح ف‪ٙ١‬ب ‪:‬‬

‫‪ ‬ثاترح (ئعراذ‪ٞ‬ن‪ٞ‬ح) ‪ٚ : Static‬ثبٌزبٌ‪ ٟ‬ف‪ ٟٙ‬رّزٍه ل‪ ُ١‬صبثزخ ال ‪ّ٠‬ىٓ رؼذ‪ٍٙ٠‬ب ؛‬


‫‪ٍ ‬رغ‪ٞ‬شج (د‪ْٝ‬اٍ‪ٞ‬ن‪ٞ‬ح) ‪ٚ : Dynamic‬ثبٌزبٌ‪ ٟ‬ف‪ ٟٙ‬رّزٍه ل‪ِ ُ١‬زغ‪١‬شح رؼىظ ف‪ٛ‬سح اٌغغالد ف‪ ٟ‬لبػذح‬
‫اٌج‪١‬بٔبد ‪ٚ‬عٍت اٌج‪١‬بٔبد ف‪ٙ١‬ب ع‪١‬ى‪ ْٛ‬ث‪ٛ‬اعيخ اإلعزؼالَ ‪. Query‬‬
‫ِغ ِالؽظخ أْ ئٔؾبء اٌـ)‪٠ (List Item‬ى‪ٝ ْٛ‬ذٗ‪ ٛ‬دائَاً ‪.‬‬

‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪‬‬

‫‪Stu‬‬ ‫‪List Item‬‬

‫‪a‬‬
‫‪b‬‬
‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫حـل الـمـطـلـوب األول‬

‫ثؼذ ئٔؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ‪ِ Data Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪ٔ Stu‬الؽظ ر‪ٛ‬فش اٌؾم‪ٛ‬ي ‪:‬‬

‫( سلُ اٌيبٌت ‪ ، Stu_No‬ئعُ اٌيبٌت ‪ ، Stu_Name‬سلُ اٌمغُ ‪ ، Stu_Sec‬سلُ اٌّغز‪ ، Stu_Lvl ٜٛ‬اٌّؼذي‬
‫‪ٛٔ ، Stu_Avg‬ع اٌؾ‪ٙ‬بدح ‪) Stu_Certtype‬‬

‫ِّب ‪٠‬غز‪ٛ‬عت ر‪ٛ‬ف‪١‬ش ؽمً ئعُ اٌّغز‪ٚ ٜٛ‬رٌه ِٓ خالي ئٔؾبء ػٕقش عذ‪٠‬ذ ‪ Item‬خقبئقٗ وّب ‪: ٍٟ٠‬‬

‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Name‬‬ ‫‪LVL_NAME‬‬
‫‪2‬‬ ‫‪Item Type‬‬ ‫‪List Item‬‬
‫‪3‬‬ ‫‪Element in List‬‬ ‫…‪More‬‬
‫‪4‬‬ ‫‪Mapping of Other Values‬‬ ‫‪4‬‬
‫‪5‬‬ ‫‪Initial Value‬‬ ‫‪2‬‬
‫‪6‬‬ ‫‪Copy Value from Item‬‬ ‫‪STU_LVL‬‬
‫‪7‬‬ ‫‪Synchronize with Item‬‬ ‫‪STU_LVL‬‬
‫‪8‬‬ ‫‪Database Item‬‬ ‫‪No‬‬
‫‪9‬‬ ‫‪Canvas‬‬ ‫‪Canvas2‬‬

‫‪47‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫ٌزظ‪ٙ‬ش اٌؾبؽخ أػالٖ ‪ٚ‬اٌز‪ ِٓ ٟ‬خالٌ‪ٙ‬ب ‪:‬‬

‫‪ LVL_Name‬ف‪ٟ‬‬ ‫ٔذخً ل‪ ُ١‬اٌؾمً‬ ‫‪‬‬


‫‪List Elements‬‬
‫‪ٔ ‬ؾذد اٌم‪ ُ١‬اٌّمبثٍخ ٌ‪ٙ‬ب ف‪ ٟ‬ؽمً سلُ‬
‫اٌّغز‪، List Item Values ٜٛ‬‬
‫ِغ ‪ٚ‬ع‪ٛ‬ة أْ ‪٠‬ى‪ ْٛ‬ئدخبي اٌم‪ِ ُ١‬زٕبظش ف‪ٟ‬‬
‫عّ‪١‬غ األػّذح (اٌؾم‪ٛ‬ي) فّضالً ‪:‬‬

‫اٌم‪ّ١‬خ األٗه ف‪٠ List Elements ٟ‬مبثٍ‪ٙ‬ب‬


‫اٌم‪ّ١‬خ ‪ 1‬ف‪. List Item Values ٟ‬‬

‫=======================================================================‬
‫=========‬

‫ششذ ٍثغط ‪:‬‬ ‫‪‬‬


‫‪( Copy Value from Item‬ئٌ‪ٝ‬‬ ‫‪ ‬الؽظ ػًّ خبف‪١‬خ ٔغخ اٌم‪ّ١‬خ ٌٍؼٕقش ئٌ‪ ٝ‬داخً لبػذح اٌج‪١‬بٔبد‬
‫‪) STU_LVL‬‬
‫ٗرىل ٍف‪ٞ‬ذ خذاً ػْذ ئػافح عدو خذ‪ٝ‬ذ ( غبٌجبً ِب ‪٠‬زُ ئخفبء ؽمً ‪ STU_LVL‬ث‪ٛ‬اعيخ اٌخبف‪١‬خ ‪Canvas‬‬

‫‪ٚ‬اإلػزّبد ػٍ‪ LVL_NAME ٝ‬وّذخالد ِؼيبح ِٓ اٌّغزخذَ ‪ٕ٘ٚ‬ب رأر‪ ٟ‬اٌفبئذح اٌؼظّ‪ٌٙ ٝ‬زٖ اٌخبف‪١‬خ) ‪،‬‬

‫‪ ‬الؽظ ػًّ خبف‪١‬خ اٌزضآِ ِغ اٌؼٕقش ‪ٚ Synchronize with Item‬اٌز‪ ٟ‬رؼًّ ػٍ‪ ٝ‬ئظ‪ٙ‬بس ل‪ ُ١‬اٌـ ‪List‬‬
‫‪Item‬‬
‫‪(Trigger :‬‬ ‫‪( STU_LVL‬ؽج‪ٙ١‬خ ف‪ ٟ‬ىش‪٠‬مخ اٌؼًّ ٌـ‬ ‫ثؼذ اٌزؼذ‪ ً٠‬ػٍ‪ ٝ‬ل‪ّ١‬خ ؽمً سلُ اٌّغز‪ٜٛ‬‬
‫)‪Post_Change‬‬

‫ػٍ‪ ٝ‬ؽمً ‪، ) STU_LVL‬‬

‫الؽظ أْ ‪ List Item‬ؽج‪ٙ١‬خ ف‪ ٟ‬ىش‪٠‬مخ اٌؼًّ ٌٍذاٌخ ‪ Decode‬ف‪ ٟ‬ث‪١‬ئخ ‪. SQL PLUS‬‬ ‫‪‬‬

‫حـل الـمـطـلـوب الـثـانـي‬

‫‪48‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
: ٍٟ٠ ‫ خقبئقٗ وّب‬Item ‫ذ‬٠‫رٌه ِٓ خالي ئٔؾبء ػٕقش عذ‬ٚ ُ‫ش ؽمً ئعُ اٌمغ‬١‫ف‬ٛ‫أٗالً ) ر‬

Property Value
1 Name LVL_NAME
2 Item Type List Item
3 Element in List More…
4 Mapping of Other Values
5 Initial Value
6 Copy Value from Item STU_SEC
7 Synchronize with Item STU_SEC
8 Database Item No
9 Canvas Canvas2
: ٍِ ً‫غ مو‬ٝ‫ف قَْا ترفش‬ٞ‫الزظ م‬

، Element In List ِٓ ُ١‫غ اٌم‬١ّ‫ ) ع‬a


. Mapping of Other Values & Initial Value ٟ‫ز‬١‫ ) خبف‬b

Record (‫ذ اٌـ‬٠‫َ ثزؾذ‬ٛ‫ش ٔم‬١‫ ؽ‬Dynamic )‫خ‬١‫ى‬١ِ‫ٕب‬٠‫شح (د‬١‫ ِزغ‬Record Group ً‫ػخ عغ‬ّٛ‫اً) ٕٔؾئ ِغ‬ّٞ‫ثا‬
Based ‫بس‬١‫خ فٕخزبس خ‬١ٌ‫ش اٌؾبؽخ اٌزب‬ٙ‫ ٌزظ‬Create ُ‫ ) ص‬Object Navigator(‫ ؽبؽخ اٌـ‬ٟ‫د ف‬ٛ‫ع‬ٌّٛ‫ ) ا‬Group
OK ‫ اٌضس‬ٍٝ‫ٔىزت اإلعزؼالَ صُ ٔنغو ػ‬ٚ on the Query Below…

select Sec_Name , to_char(Sec_No) from section ;

ُ‫بٔبد اٌخبفخ ثاع‬١‫َ ثغٍت اٌج‬ٛ‫ئرْ ٔم‬


ُ‫ٍٗ ِٓ سل‬٠ٛ‫سلُ اٌمغُ (ثؼذ رؾ‬ٚ ُ‫اٌمغ‬
ْٛ‫ى‬١ٌ ‫رٌه‬ٚ to_char() ‫ ٔـ ػجش اٌذاٌخ‬ٌٝ‫ئ‬
ٍٝ‫ لبدساً ػ‬Record Group ً‫ػخ عغ‬ّٛ‫ِغ‬
‫ع‬ٛٔ ً‫نأً أْ ٔغؼ‬٠‫غت أ‬٠ٚ ، )َ‫اإلعزؼال‬
‫خ‬١ٍّ‫ٌززُ ػ‬ٚ Char ُ‫بٔبد ٌشلُ اٌمغ‬١‫اٌج‬
، ‫اٌزيبثك‬

Property Value
Data Type Char
ً‫ب‬١‫ ) ثشِغ‬Record Group (‫ ٘زا اٌـ‬ّٟ‫ٌٕغ‬ٚ
‫ّخ‬١‫ذ ل‬٠‫رؾذ‬ٚ F4 ٍٝ‫ِٓ خالي اٌنغو ػ‬
RG_SEC_DYNAMIC ‫ ثـ‬Name ‫خ‬١‫اٌخبف‬
.

‫خ‬٠‫ َ ثىزبثخ اٌؾفشح اٌّقذس‬ٚ‫ ثاىثاً) ٔك‬Code ‫رط‬ٌّٕٛ‫ً ا‬١ّ‫ ػٕذ ؽذس رؾ‬Form ‫زُ ٍِئ اٌـ‬١ٌٚ List Item ِٓ
: ‫بٔبد‬١‫لبػذح اٌج‬

(Trigger : WHEN_NEW_FORM_INSTANCE)

49
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Declare‬‬

‫‪N‬‬ ‫;‪Number‬‬

‫‪Begin‬‬

‫;)'‪N := Populate_Group('RG_SEC_DYNAMIC‬‬

‫;)'‪Populate_List('Sec_Name','RG_SEC_DYNAMIC‬‬

‫; ‪End‬‬

‫)‪LOVs (List Of Values‬‬ ‫‪‬‬


‫٘‪ ٟ‬ػجبسح ػٓ لبئّخ رؾز‪ِ ٞٛ‬غّ‪ٛ‬ػخ ل‪ٔ ُ١‬م‪ َٛ‬ثأزمبء ئؽذا٘ب ‪ٚ‬ئػبدر‪ٙ‬ب ئٌ‪ ٝ‬ؽم‪ٛ‬ي ف‪ ٟ‬اٌـ )‪ٚ ، (Form‬رزّ‪١‬ض‬
‫ثأٔ‪ٙ‬ب ‪:‬‬

‫‪ ) a‬رظ‪ٙ‬ش ف‪ Form ٟ‬عذ‪٠‬ذ ٌٕغزي‪١‬غ اٌزؾىُ ثبٌؼذ‪٠‬ذ ِٓ خقبئقٗ ِضً ِىبْ ظ‪ٛٙ‬سٖ ‪ٚ‬ؽغّٗ ‪ٚ‬ػٕ‪ٛ‬أٗ ‪ ...‬ئٌخ ؛‬
‫‪ ) b‬رظ‪ٙ‬ش أوضش ِٓ ػّ‪ٛ‬د ؛‬

‫‪50‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪ ) c‬ئِىبٔ‪١‬خ اٌجؾش ‪ٚ Search‬اٌزقف‪١‬خ (اٌفٍزشح) ‪. Filter‬‬
‫=======================================================================‬
‫=========‬

‫)‪LOVs (List Of Values‬‬ ‫‪‬‬


‫لجً ئٔؾبء لبئّخ ِشوجخ ‪٠ LOVs‬غت ِؼشفخ ً٘ ٔش‪٠‬ذ أْ رى‪ ْٛ‬اٌم‪ ُ١‬اٌظب٘شح ف‪ٙ١‬ب ‪:‬‬

‫‪ ‬ثاترح (ئعراذ‪ٞ‬ن‪ٞ‬ح) ‪ٚ : Static‬ثبٌزبٌ‪ ٟ‬ف‪ ٟٙ‬رّزٍه ل‪ ُ١‬صبثزخ ال ‪ّ٠‬ىٓ رؼذ‪ٍٙ٠‬ب ؛‬


‫‪ٍ ‬رغ‪ٞ‬شج (د‪ْٝ‬اٍ‪ٞ‬ن‪ٞ‬ح) ‪ٚ : Dynamic‬ثبٌزبٌ‪ ٟ‬ف‪ ٟٙ‬رّزٍه ل‪ِ ُ١‬زغ‪١‬شح رؼىظ ف‪ٛ‬سح اٌغغالد ف‪ ٟ‬لبػذح‬
‫اٌج‪١‬بٔبد ‪ٚ‬عٍت اٌج‪١‬بٔبد ف‪ٙ١‬ب ع‪١‬ى‪ ْٛ‬ث‪ٛ‬اعيخ اإلعزؼالَ ‪. Query‬‬
‫ِغ ِالؽظخ أْ اٌـ)‪ (LOVs‬ال ريجك ػبدح ئال ػٍ‪ ٝ‬ػٕقش ‪، Text Item‬‬

‫‪ٚ‬ئٔؾبئ‪ٙ‬ب ئِب أْ ‪٠‬ى‪ٝ ْٛ‬ذٗ‪ٝ‬اً أ‪ ٚ‬ػٓ ىش‪٠‬ك اٌّؼبٌظ اٌخبؿ ث‪ٙ‬ب ‪] LOVs Wizard‬عذ‪٠‬ذ ) ‪. [) Form Builder 6i‬‬

‫ٗتشنو ػاً فاُ ئّشاء أ‪ٝ LOVsٛ‬رطية ئّشاء ٍدَ٘ػح عدو ‪Record Group‬‬

‫ٗتسغة ّ٘ع ٍدَ٘ػح عدو ‪ٝ Record Group‬رسذد ّ٘ع اىـ ‪LOVs‬‬

‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪‬‬

‫‪Mark‬‬ ‫‪LOVs‬‬

‫‪Manually‬‬ ‫‪c‬‬
‫‪Wizard‬‬ ‫‪d‬‬
‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫حـل الـمـطـلـوب األول‬

‫ثؼذ ئٔؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ‪ِ Data Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪ٔ Mark‬الؽظ ر‪ٛ‬فش اٌؾم‪ٛ‬ي ‪:‬‬

‫( سلُ اٌمغُ ‪ ، Mark_Sec‬سلُ اٌّغز‪ ، Mark_Lvl ٜٛ‬سلُ اٌيبٌت ‪ ، Mark_Stu‬سلُ اٌّبدح ‪، Mark_Sub‬‬

‫أػّبي اٌغٕخ ‪ ، Mark_Yj‬إٌقف‪ ، Mark_Ht ٟ‬إٌ‪ٙ‬بئ‪ِّ ) Mark_Ft ٟ‬ب ‪٠‬غز‪ٛ‬عت ‪:‬‬

‫أٗالً ) ر‪ٛ‬ف‪١‬ش ؽمً ئعُ اٌّغز‪ٚ ٜٛ‬رٌه ِٓ خالي ئٔؾبء ػٕقش عذ‪٠‬ذ ‪ Item‬خقبئقٗ وّب ‪: ٍٟ٠‬‬

‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Name‬‬ ‫‪Lvl_Name‬‬
‫‪2‬‬ ‫‪Database Item‬‬ ‫‪No‬‬
‫‪3‬‬ ‫‪Canvas‬‬ ‫‪Canvas2‬‬
‫‪4‬‬ ‫‪Prompt‬‬ ‫ئعُ اٌّغز‪ٜٛ‬‬
‫ثاّ‪ٞ‬اً ) ٕٔؾئ ِغّ‪ٛ‬ػخ عغً ‪ Record Group‬صبثزخ (ئعزبر‪١‬ى‪١‬خ) ‪ Static‬ؽ‪١‬ش ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ( ‪Record‬‬
‫‪ ) Group‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ ) Object Navigator‬صُ ‪ٌ Create‬زظ‪ٙ‬ش اٌؾبؽخ اٌزبٌ‪١‬خ فٕخزبس خ‪١‬بس ‪Static‬‬
‫‪ Values‬صُ ٔنغو ػٍ‪ ٝ‬اٌضس ‪ٌ OK‬زظ‪ٙ‬ش ؽبؽخ ئدخبي اٌج‪١‬بٔبد اٌضبثزخ ‪ٚ‬اٌز‪ ِٓ ٟ‬خالٌ‪ٙ‬ب ‪:‬‬

‫‪51‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫( ٔذخً ئعُ اٌؾمً ‪ LVL_NO‬ف‪ٔٚ Column Names ٟ‬ؾذد ٔ‪ٛ‬ػٗ ‪ Number‬ف‪ Data Type ٟ‬أِب ى‪ٌٗٛ‬‬
‫]‪Column [1,2,3,4‬‬ ‫‪ Length‬ف‪ِ ٛٙ‬ؾذد رٍمبئ‪١‬بً ٌألسلبَ ‪ ِٓٚ‬صُ ٔذخً عّ‪١‬غ اٌم‪ ُ١‬اٌّّىٕخ ٌ‪ٙ‬زا اٌؾمً‬
‫‪، ) Values‬‬

‫‪ٔٚ‬ىشس رٌه ِغ ؽمً ئعُ اٌّغز‪ ٜٛ‬ؽ‪١‬ش ‪:‬‬

‫( ٔذخً ئعُ اٌؾمً ‪ LVL_NAME‬ف‪ٔٚ Column Names ٟ‬ؾذد ٔ‪ٛ‬ػٗ ‪ Cheterar‬ف‪ٚ Data Type ٟ‬ى‪ٌٗٛ‬‬
‫‪ ِٓٚ 30 ٛ٘ Length‬صُ ٔذخً عّ‪١‬غ اٌم‪ ُ١‬اٌّّىٕخ ٌ‪ٙ‬زا اٌؾمً ] اٌشاثغ ‪ ,‬اٌضبٌش ‪ ,‬اٌضبٔ‪ , ٟ‬األ‪ٚ‬ي[ ‪Column‬‬
‫‪ِ ، ) Values‬غ ‪ٚ‬ع‪ٛ‬ة أْ ‪٠‬ى‪ ْٛ‬ئدخبي‬
‫اٌم‪ِ ُ١‬زٕبظش ف‪ ٟ‬عّ‪١‬غ األػّذح (اٌؾم‪ٛ‬ي)‬
‫فّضالً اٌم‪ّ١‬خ ‪ 1‬ف‪ ٟ‬سلُ اٌّغز‪٠ ٜٛ‬مبثٍ‪ٙ‬ب‬
‫اٌم‪ّ١‬خ األٗه ف‪ ٟ‬ئعُ اٌّغز‪، ٜٛ‬‬
‫‪ٌٕٚ‬غّ‪٘ ٟ‬زا اٌـ( ‪ ) Record Group‬ثشِغ‪١‬بً‬
‫ِٓ خالي اٌنغو ػٍ‪ٚ F4 ٝ‬رؾذ‪٠‬ذ ل‪ّ١‬خ‬
‫اٌخبف‪١‬خ ‪ Name‬ثـ‪RG_LVL_STATIC‬‬

‫ثاىثاً ) ٕٔؾئ لبئّخ ِشوجخ ‪ِ LOVs‬ؼزّذح ػٍ‪ٛٔ ٝ‬ع‬


‫‪ Record Group‬اٌغبثك ] صبثزخ (ئعزبر‪١‬ى‪١‬خ) ‪ [Static‬ؽ‪١‬ش‬
‫ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ(‪ ) LOVs‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪Object‬‬
‫‪ ) Navigator‬صُ‬
‫‪ٌ Create‬زظ‪ٙ‬ش ؽبؽخ‬
‫رؾذ‪٠‬ذ ىش‪٠‬مخ اإلٔؾبء‬
‫ً٘ ٘‪ ٟ‬ثاعزخذاَ‬
‫اٌّؼبٌظ أَ ‪٠‬ذ‪٠ٚ‬بً‬
‫فٕخزبس (اٌخ‪١‬بس اٌ‪١‬ذ‪ٌٚ ، Build a new LOV manually )ٞٚ‬زى‪ ْٛ‬اٌخقبئـ‬
‫ف‪ٙ١‬ب وّب ‪: ٍٟ٠‬‬

‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Name‬‬ ‫‪LOV_LVL_STATIC‬‬
‫‪2‬‬ ‫‪Title‬‬ ‫أسلبَ اٌّغز‪٠ٛ‬بد ِغ أعّبئ‪ٙ‬ب‬
‫‪3‬‬ ‫‪Record Group‬‬ ‫‪RG_LVL_STATIC‬‬

‫‪52‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
4 Column Mapping Properties More…
5 Filter before Display Yes
6 Automatic Display Yes
7 Automatic Skip Yes
: ‫ب‬ٌٙ‫ ِٓ خال‬ٟ‫اٌز‬ٚ ‫سح‬ٚ‫ش اٌؾبؽخ اٌّغب‬ٙ‫ٌزظ‬

Return MARK.MARK_LVL ً‫ ؽم‬ٌٝ‫ٔؾذد ئسعبػٗ ئ‬ٚ Column Names ٟ‫ ف‬LVL_NO ً‫( ٔذخً ئعُ اٌؾم‬
ٜٛ‫اْ ٘زا اٌؾمً سلُ اٌّغز‬ٕٛ‫ػ‬ٚ LOVs ٟ‫ُ ف‬١‫ أصٕبء ػشك اٌم‬50 ٗ‫ػشم‬ٚ Browse… ‫ ػٓ ىشق اٌضس‬Item
: ‫ش‬١‫ ؽ‬ٜٛ‫ٔىشس رٌه ِغ ؽمً ئعُ اٌّغز‬ٚ ، ) Column Title

MARK.LVL_NAME ً‫ ؽم‬ٌٝ‫ٔؾذد ئسعبػٗ ئ‬ٚ Column Names ٟ‫ ف‬LVL_NAME ً‫( ٔذخً ئعُ اٌؾم‬
ُ‫اْ ٘زا اٌؾمً ئع‬ٕٛ‫ػ‬ٚ LOVs ٟ‫ُ ف‬١‫ أصٕبء ػشك اٌم‬100 ٗ‫ػشم‬ٚ Browse… ‫ ػٓ ىشق اٌضس‬Return Item
. ) Column Title ٜٛ‫اٌّغز‬

: ٍٟ٠ ‫وّب‬ٚ MARK_LVL ٙ٘‫ زقو سقٌ اىَغر‬ٍٝ‫س٘ب ػ‬ٛٙ‫ ٔؾذد ظ‬LOVs‫ُ اٌـ‬١ّ‫ساتؼاً ) ثؼذ رق‬

Property Value
List of Values LOV_LVL_STATIC

‫حـل الـمـطـلـوب الـثـانـي‬

: ٍٟ٠ ‫ خقبئقٗ وّب‬Item ‫ذ‬٠‫رٌه ِٓ خالي ئٔؾبء ػٕقش عذ‬ٚ ُ‫ش ؽمً ئعُ اٌمغ‬١‫ف‬ٛ‫أٗالً ) ر‬

Property Value
1 Name Sec_Name
2 Database Item No
3 Canvas Canvas2
4 Prompt ُ‫ئعُ اٌمغ‬
(Trigger : Post_Change) ُ‫مشأ ئعُ اٌمغُ ِٓ خالي سلُ اٌمغ‬٠ ٞ‫( اٌز‬Trigger)‫اً) ئٔؾبء اٌـ‬ّٞ‫ثا‬

: ٌٟ‫وبٌزب‬ٚ Mark_Sec ً‫ ؽم‬ٍٝ‫ػ‬

53
6i ‫حماضرات يف أوراكل ديفلوبر‬
Declare

Begin

Select Sec_Name Into :Sec_Name From Section

Where Sec_No = :Mark_Sec;

Exception

When No_Data_Found Then

');‫ انشقى غري صحٍح‬Message('

Raise Form_Trigger_Failure;

End ;

Record (‫ذ اٌـ‬٠‫َ ثزؾذ‬ٛ‫ش ٔم‬١‫ ؽ‬Dynamic )‫خ‬١‫ى‬١ِ‫ٕب‬٠‫شح (د‬١‫ ِزغ‬Record Group ً‫ػخ عغ‬ّٛ‫ثاىثاً) ٕٔؾئ ِغ‬
Based ‫بس‬١‫خ فٕخزبس خ‬١ٌ‫ش اٌؾبؽخ اٌزب‬ٙ‫ ٌزظ‬Create ُ‫ ) ص‬Object Navigator(‫ ؽبؽخ اٌـ‬ٟ‫د ف‬ٛ‫ع‬ٌّٛ‫ ) ا‬Group
OK ‫ اٌضس‬ٍٝ‫ٔىزت اإلعزؼالَ صُ ٔنغو ػ‬ٚ on the Query Below…

select Sec_Name , to_char(Sec_No) from section ;

ُ‫بٔبد اٌخبفخ ثاع‬١‫َ ثغٍت اٌج‬ٛ‫ئرْ ٔم‬


ُ‫ٍٗ ِٓ سل‬٠ٛ‫سلُ اٌمغُ (ثؼذ رؾ‬ٚ ُ‫اٌمغ‬
ْٛ‫ى‬١ٌ ‫رٌه‬ٚ to_char() ‫ ٔـ ػجش اٌذاٌخ‬ٌٝ‫ئ‬
ٍٝ‫ لبدساً ػ‬Record Group ً‫ػخ عغ‬ّٛ‫ِغ‬
‫ع‬ٛٔ ً‫نأً أْ ٔغؼ‬٠‫غت أ‬٠ٚ ، )َ‫اإلعزؼال‬
‫خ‬١ٍّ‫ٌززُ ػ‬ٚ Char ُ‫بٔبد ٌشلُ اٌمغ‬١‫اٌج‬
، ‫اٌزيبثك‬

Property Value
Data Type Char
ً‫ب‬١‫ ) ثشِغ‬Record Group (‫ ٘زا اٌـ‬ّٟ‫ٌٕغ‬ٚ
‫ّخ‬١‫ذ ل‬٠‫رؾذ‬ٚ F4 ٍٝ‫ِٓ خالي اٌنغو ػ‬
RG_SEC_DYNAMIC ‫ ثـ‬Name ‫خ‬١‫اٌخبف‬
.

[ Dynamic )‫خ‬١‫ى‬١ِ‫ٕب‬٠‫شح (د‬١‫ اٌغبثك ] ِزغ‬Record Group ‫ع‬ٛٔ ٍٝ‫ ِؼزّذح ػ‬LOVs ‫ثاىثاً ) ٕٔؾئ لبئّخ ِشوجخ‬
ُ‫ ) ص‬Object Navigator(‫ ؽبؽخ اٌـ‬ٟ‫د ف‬ٛ‫ع‬ٌّٛ‫ ) ا‬LOVs(‫ذ اٌـ‬٠‫َ ثزؾذ‬ٛ‫ش ٔم‬١‫ؽ‬
َ‫ ثاعزخذاَ اٌّؼبٌظ أ‬ٟ٘ ً٘ ‫مخ اإلٔؾبء‬٠‫ذ ىش‬٠‫ش ؽبؽخ رؾذ‬ٙ‫ ٌزظ‬Create
)‫بس اٌّؼبٌظ‬١‫بً فٕخزبس (خ‬٠ٚ‫ذ‬٠

54
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪، Use the LOV Wizard‬‬

‫ٌزظ‪ٙ‬ش اٌؾبؽخ األ‪ ٌٝٚ‬ف‪ِ ٟ‬ؼبٌظ ‪ٚ LOVs‬اٌز‪ ٟ‬رم‪ َٛ‬ثبٌغإاي ػٓ ر‪ٛ‬فش ئؽذ‪ِ ٜ‬زيٍجبر‪ٙ‬ب ‪ِ ٛ٘ٚ‬غّ‪ٛ‬ػخ عغً‬
‫‪ Record Group‬ف‪: ًٙ‬‬

‫‪ ‬رش‪٠‬ذ ئٔؾبء ِغّ‪ٛ‬ػخ عغً عذ‪٠‬ذح رؼزّذ ػٍ‪ ٝ‬اإلعزؼالَ ‪،‬‬


‫‪ٛ٠ ‬عذ ِغّ‪ٛ‬ػخ عغً ِٕؾئخ ِغجمبً ‪.‬‬
‫(زاى‪ٞ‬اً عْخراس اىخ‪ٞ‬اس اىثاّ‪ ] ٜ‬إٌّؾئخ ِغجمبً [ ٍْٖٗا تاىرسذ‪ٝ‬ذ ‪ ، RG_SEC_DYNAMIC‬ثٌ ّؼغط‬
‫اىراى‪)ٜ‬‬

‫لذ رزغبءي ٌّبرا ٌُ ٔغذ اٌؾبؽخ اٌزشؽ‪١‬ج‪١‬خ وّب ٘‪ ٟ‬اٌؼبدح ف‪ٟ‬‬


‫ثم‪١‬خ ‪ٚ Wizards‬اٌغجت ف‪ ٟ‬رٌه ‪٠‬ؼ‪ٛ‬د ئٌ‪ ٝ‬ػذَ رٕؾ‪١‬ي‪ٙ‬ب فارا‬
‫أسدد رٌه فمُ ثبٌخي‪ٛ‬اد اٌزبٌ‪١‬خ (ِٓ خالي لبئّخ األد‪ٚ‬اد) ‪:‬‬

‫‪Tools  Preference…  Wizard ‬‬

‫‪ LOV Wizard Welcome Page‬‬

‫صُ رظ‪ٙ‬ش ؽبؽخ رخجشن ثأٔه ً٘ ‪:‬‬

‫‪ ‬رش‪٠‬ذ اٌزؼذ‪ ً٠‬ػٍ‪ِ ٝ‬غّ‪ٛ‬ػخ عغً إٌّؾئخ ‪، Record Group‬‬


‫‪ ‬رش‪٠‬ذ ئٔؾبء ِغّ‪ٛ‬ػخ عغً عذ‪٠‬ذح ‪.‬‬
‫( زاى‪ٞ‬اً عْخراس اىخ‪ٞ‬اس األٗه ثٌ ّؼغط اىراى‪)ٜ‬‬

‫ٌزظ‪ٙ‬ش ثؼذ٘ب ؽبؽخ رأو‪١‬ذ ِغّ‪ٛ‬ػخ اٌغغً ‪ Record Group‬ؽ‪١‬ش ‪ّ٠‬ىٕه رؾش‪٠‬ش٘ب ِجبؽشح ف‪SQL Query ٟ‬‬
‫‪ Statement‬أ‪ ٚ‬ثٕبء٘ب ِٓ عذ‪٠‬ذ ِٓ خالي ثشٔبِظ ثبٔ‪ ٟ‬اإلعزؼالَ …‪ Build SQL Query‬أ‪ ٚ‬ئعز‪١‬شاد٘ب ِٓ ٍِف‬
‫…‪ٕ٘ٚ Import SQL Query‬بن أ‪٠‬نبً صس اإلرقبي ئْ ٌُ رىٓ ِزقالً ثبٌمبػذح …‪ ٚ Connect‬صس فؾـ اٌق‪١‬غخ اٌز‪ٟ‬‬

‫رّذ وزبثز‪ٙ‬ب (ال رنف اٌفبفٍخ إٌّم‪ٛ‬ىخ) …‪( Check Syntax‬زاى‪ٞ‬اً ّؼغط اىراى‪)ٜ‬‬

‫‪55‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ثؼذ٘ب رظ‪ٙ‬ش ؽبؽخ ٌزخزبس اٌؾم‪ٛ‬ي اٌز‪ ٟ‬عٍجز‪ٙ‬ب ِٓ ئعزؼالَ ِغّ‪ٛ‬ػخ عغً ‪ِٚ Record Group‬ب اٌز‪ ٞ‬رش‪٠‬ذ‬
‫عٍجٗ ‪ٚ‬ئظ‪ٙ‬بسٖ ػٍ‪ ٝ‬اٌمبئّخ اٌّشوجخ ‪( LOVs‬زاى‪ٞ‬اً عْخراس خية اىنو اىضس >> ثٌ ّؼغط اىراى‪)ٜ‬‬

‫صُ رظ‪ٙ‬ش أُ٘ ؽبؽخ ِٓ ؽبؽبد اٌّؼبٌظ ‪ ٟ٘ٚ‬ؽبؽخ رؾذ‪٠‬ذ اٌؼٕب‪ ٓ٠ٚ‬اٌظب٘شح ٌٍؾم‪ٛ‬ي ف‪ ٟ‬اٌمبئّخ اٌّشوجخ‬
‫‪ٚ Title‬اٌؾغُ اٌخبؿ ثبٌؼشك ‪ٚ Width‬األُ٘ سثو اٌؾم‪ٛ‬ي اٌز‪ ٟ‬عٍجذ ثبإلعزؼالَ ‪ٚ‬ئسعبػ‪ٙ‬ب ٌٍؾم‪ٛ‬ي اٌّشاد‬
‫‪ SEC_NAME‬ئى‪ٚ‬‬ ‫…‪( Lock Up Return Item‬زاى‪ٞ‬اً عْقً٘ تاسخاع‬ ‫ئسعبع اٌج‪١‬بٔبد ئٌ‪ٙ١‬ب‬
‫‪ & MARK.SEC_NAME‬اىسقو ‪ ICRGGQ_0‬ئى‪ MARK.MARK_SEC ٚ‬ثٌ ّؼغط اىراى‪)ٜ‬‬

‫لبئّخ اٌّشوجخ ‪ٚ Title‬وزٌه ػشك اٌمبئّخ ‪width‬‬‫ٌزظ‪ٙ‬ش ثؼذ رٌه ؽبؽخ ٔؾذد ِٓ خالٌ‪ٙ‬ب اٌؼٕ‪ٛ‬اْ اٌؼبَ ًٌ‬
‫‪ٚ‬ئسرفبػ‪ٙ‬ب ‪ٚ height‬رؾذ‪٠‬ذ ِب ئرا وٕذ رش‪٠‬ذ ئظ‪ٙ‬بس اٌمبئّخ اٌّشوجخ ف‪ ٟ‬ئؽذاص‪١‬بد أر‪ِٛ‬بر‪١‬ى‪١‬خ أ‪ ٚ‬رم‪ َٛ‬ثزؾذ‪٠‬ذ‬
‫اإلؽذاص‪١‬بد ‪٠‬ذ‪٠ٚ‬بً ‪( ,‬زاى‪ٞ‬اً عْؼط‪ ٜ‬اىؼْ٘اُ‬
‫أسلبَ األلغبَ ِغ أعّبئ‪ٙ‬ب ثٌ ّؼغط‬
‫اىراى‪)ٜ‬‬

‫صُ رظ‪ٙ‬ش ؽبؽخ ٌزؾذ‪٠‬ذ ئِىبٔ‪١‬بد ‪:‬‬

‫‪ ‬ػذد اٌقف‪ٛ‬ف اٌظب٘شح ‪،‬‬


‫‪ ‬ئِىبٔ‪١‬خ رؾذ‪٠‬ش اٌج‪١‬بٔبد لجً ػشم‪ٙ‬ب ف‪ٟ‬‬
‫‪، LOVs‬‬
‫‪ ‬ئِىبٔ‪١‬خ اٌفٍزشح ٌٍّغزخذَ ػٕذ ثذا‪٠‬خ‬
‫ػًّ ‪. LOVs‬‬
‫(زاى‪ٞ‬اً ّؼغط اىراى‪)ٜ‬‬

‫ٌزظ‪ٙ‬ش ؽبؽخ اٌزأو‪١‬ذ ػٍ‪ ٝ‬ؽم‪ٛ‬ي اإلسعبع‬


‫ٌٍزأؽ‪١‬ش ػٍ‪ٙ١‬ب‬

‫(زاى‪ٞ‬اً عْخراس خية اىنو اىضس >> ثٌ ّؼغط اىراى‪)ٜ‬‬

‫ف‪ٕ١‬ز‪ ٟٙ‬ثزٌه ِؼبٌظ اٌمبئّخ اٌّشوجخ (ّؼغط ّٖا‪ٝ‬ح)‬

‫‪56‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪57‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Name‬‬ ‫‪ٚ F4‬رؾذ‪٠‬ذ ل‪ّ١‬خ اٌخبف‪١‬خ‬ ‫اٌـ( ‪ ) LOVs‬ثشِغ‪١‬بً ِٓ خالي اٌنغو ػٍ‪ٝ‬‬ ‫‪ٌٕٚ‬غّ‪٘ ٟ‬زا‬
‫ثـ‪. LOV_LVL_STATIC‬‬

‫‪ّ ‬الزظ أّٔ قذ ذٌ ٍِ خاله اىَؼاىح ٍا ‪ٝ‬ي‪: ٜ‬‬

‫‪ٌٍ ‬خبف‪١‬خ ‪ Title‬اٌم‪ّ١‬خ أسقاً األقغاً ٍغ أعَائٖا ف‪ ٟ‬اٌـ‪، LOVs‬‬


‫‪ٌٍ ‬خبف‪١‬خ ‪ Record Group‬اٌم‪ّ١‬خ ‪ RG_SEC_DYNAMIC‬ف‪ ٟ‬اٌـ‪، LOVs‬‬
‫‪ٌٍ ‬خبف‪١‬خ ‪ Column Mapping Properties‬ف‪ ٟ‬اٌـ‪ LOVs‬رُ ئسخاع اىق‪ٌٍ ٌٞ‬ؾم‪ٛ‬ي اٌّؼٕ‪١‬خ ثزٌه ‪.‬‬
‫‪ ‬ئػيبء خبف‪١‬خ ‪ List of Values‬اٌم‪ّ١‬خ ‪ LOV_SEC_DYNAMIC‬ف‪ ٟ‬اٌـ‪، MARK_SEC‬‬
‫‪ٚ‬وزٌه ف‪ ٟ‬اٌـ‪ٌٚ( SEC_NAME‬ززغٕت ظ‪ٛٙ‬س اٌمبئّخ ٍشذ‪ ِٞ‬ئعؼً ل‪ّ١‬خ اٌخبف‪١‬خ ف‪ ٟ‬اٌـ ‪ SEC_NAME‬رغب‪ٞٚ‬‬
‫‪. ) NULL‬‬

‫=======================================================================‬
‫=========‬

‫)‪LOVs (List Of Values‬‬ ‫‪‬‬


‫‪ .1‬اىخاط‪ٞ‬ح ‪ : Filter before Display‬رغزخذَ ػٕذِب رى‪ ْٛ‬اٌغغالد وض‪١‬شح ؽ‪١‬ش رظ‪ٙ‬ش‪ LOVs‬ػٕذ‬
‫اٌزٕف‪١‬ز عب٘ضح إلدخبي عضء ِٓ ل‪ ُ١‬اٌؾمً اٌّشاد ئظ‪ٙ‬بسٖ ‪ٚ‬رٌه ػٕذ عؼً اٌخبف‪١‬خ‪. Yes‬‬
‫‪ .2‬اىخاط‪ٞ‬ح ‪: Automatic Display‬‬
‫ئرا عؼٍٕب٘ب ‪ Yes‬فأٗ ع‪١‬زُ ئظ‪ٙ‬بس اٌـ‪ِ LOVs‬جبؽشح ػٕذ ‪ٚ‬ف‪ٛ‬ي اٌّإؽش ئٌ‪ ٝ‬اٌؾمً ‪ِ MARK_SEC‬ضالً ‪ٚ‬رٌه‬
‫ثذ‪: ْٚ‬‬

‫اٌنغو ػٍ‪ F9 ٝ‬إلظ‪ٙ‬بس اٌمبئّخ اٌّشوجخ ‪،‬‬ ‫‪‬‬


‫وزبثخ ؽفشح ِقذس‪٠‬خ ‪ Code‬وّب ف‪٘ ٟ‬زا اٌّضبي ‪:‬‬ ‫‪‬‬
‫)‪(Trigger : WHEN_NEW_ITEM_INSTANCE‬‬

‫‪Declare‬‬

‫;‪J Boolean‬‬

‫‪Begin‬‬

‫;)'‪J := Show_Lov('LOV_SEC_DYNAMIC‬‬

‫; ‪End‬‬

‫‪ .3‬اىخاط‪ٞ‬ح ‪ : Automatic Skip‬ئرا وبٔذ ‪ Yes‬فاْ اٌّإؽش ‪ٕ٠‬زمً ٌٍؾمً اٌز‪ ٞ‬ثؼذ ؽمً اٌـ‪ LOVs‬ثؼذ‬
‫اإلخز‪١‬بس ‪ٚ‬ئرا وبٔذ ‪٠ No‬ظً ف‪ٔ ٟ‬فظ اٌؾمً ثؼذ اإلخز‪١‬بس ‪ ( ،‬ثبٌيجغ اٌضِٓ ػبًِ ِ‪ ُٙ‬ف‪ ٟ‬ل‪ٛ‬اػذ اٌج‪١‬بٔبد) ‪.‬‬
‫=======================================================================‬
‫=========‬

‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬


‫‪ٛ٠ ) a‬عذ رؾبثٗ ث‪ٌٚ List Item ٚ LOVs ٓ١‬ىٓ رزّ‪١‬ض اٌـ‪ LOVs‬ث‪ٛ‬ع‪ٛ‬د اٌخبف‪١‬خ ‪Find‬‬
‫‪ٚ‬اٌز‪ ٟ‬رغ‪ ًٙ‬ئ‪٠‬غبد ل‪ّ١‬خ ِؼ‪ٕ١‬خ ئرا وبٔذ اٌم‪ ُ١‬وض‪١‬شح ‪.‬‬

‫‪٠ ) b‬فنً ئعزخذاَ اٌـ‪ List Item‬ئرا وبٔذ اٌم‪ ُ١‬صبثزخ ‪Static Values‬‬
‫ث‪ّٕ١‬ب ‪٠‬فنً ئعزخذاَ اٌـ‪ LOVs‬ئرا وبٔذ اٌم‪ِ ُ١‬زغ‪١‬شح ‪. Dynamic Values‬‬

‫‪ ) c‬اٌـ‪ Static Values‬أعشع ِٓ اٌـ‪ٚ Query‬رٌه ثغجت أْ اٌـ‪٠ Query‬م‪ َٛ‬ثغٍت اٌج‪١‬بٔبد ِٓ لبػذح اٌج‪١‬بٔبد‬
‫‪ ٟ٘ٚ Database‬ػبدح ِب رى‪ ْٛ‬ػٍ‪ ٝ‬اٌـ‪ Server‬ف‪ ٟ‬اٌؾجىخ ‪.‬‬

‫‪58‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫احملاضرة الثامنة‬

‫‪Radio Group & Radio Button‬‬ ‫‪‬‬


‫ِٓ اٌّؼٍ‪ َٛ‬أْ ػٕبفش اإلخز‪١‬بس اٌّفشد ال رى‪ ْٛ‬ئال ٌم‪ ُ١‬صبثزخ ِضً ( اٌغٕظ ‪ ،‬اٌؾبٌخ اإلعزّبػ‪١‬خ ‪ ...‬ئٌخ) ‪،‬‬

‫‪٘ٚ‬زٖ اٌؼٕبفش ‪٠‬غت أْ رغّؼ‪ٙ‬ب ؽب‪٠ٚ‬خ ‪ Container‬ؽز‪ّ٠ ٝ‬ىٓ ئخز‪١‬بس خ‪١‬بس ‪ٚ‬اؽذ ِٓ وً ِغّ‪ٛ‬ػخ ‪ٕ٘ٚ‬ب ف‪ٟ‬‬
‫‪Oracle‬‬

‫لذ رُ ‪ٚ‬عت رقّ‪ ُ١‬اٌؾب‪٠ٚ‬خ ‪ Container‬أ‪ٚ‬الً صُ ئٔؾبء اٌؼٕبفش اٌزبثؼخ ٌ‪ٙ‬ب أ‪ ٞ‬أٔٗ ‪:‬‬

‫‪ٝ‬رٌ ئّشاء ‪ Radio Gruop‬أٗالً ثٌ اىؼْاطش اىراتؼح ىٖا‪Radio Buttons‬‬

‫‪‬‬

‫‪Stu‬‬
‫‪Form‬‬

‫ال ِٓ ئمبفخ ٘زا اٌؾمً‬


‫‪ٌٚ‬ؼًّ رٌه ال ثذ أ‪ً ٚ‬‬
‫ثأِش ‪ٚ SQL‬وبٌزبٌ‪: ٟ‬‬

‫>‪SQL‬‬ ‫‪alter‬‬ ‫‪Table‬‬ ‫‪Stu‬‬


‫;))‪Add(Stu_Sex number(1‬‬

‫( ئرا لّذ ثأؾبء اٌؾمً ثؼذ عٍت اٌج‪١‬بٔبد‬


‫ئٌ‪ ٝ‬اٌـ‪ Form‬فمُ ثزؾذ‪٠‬ذ اٌـ ‪Data Block‬‬
‫)‪ (STU‬صُ ئٔمش ػٍ‪ ٝ‬صس اٌفأسح األ‪ٌ ّٓ٠‬زخزبس‬
‫‪ ِٕٗٚ Data Block Wizard‬اٌزج‪٠ٛ‬ت‬
‫‪ Table‬صُ ئمغو اٌضس ‪ٚ Refresh‬ثؼذ٘ب لُ ثغٍت اٌؼٕقش ‪ STU_SEX‬صُ ئمغو ّٖا‪ٝ‬ح)‬

‫أ‪ٔ ٚ‬م‪ َٛ‬ثأؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ‪ِ Data Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪ٌٕ STU‬الؽظ أْ اٌؾمً ‪ STU_SEX‬لذ‬
‫أخز اٌؾىً اإلفزشام‪ٌٍ ٟ‬ؼٕبفش ‪ٌٚ ، Text Item ٛ٘ٚ‬غؼٍٗ ثؾىً ‪ِٕ Radio Buttons‬زّ‪١‬بً ئٌ‪Radio Group ٝ‬‬
‫ٔم‪ َٛ‬ثزؼذ‪ ً٠‬ل‪ ُ١‬اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Name‬‬ ‫‪STU_SEX‬‬

‫‪2‬‬ ‫‪Item Type‬‬ ‫‪Radio Group‬‬

‫‪3‬‬ ‫‪Mapping of Other Values‬‬ ‫‪1‬‬

‫‪59‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
4 Initial Value 1

ٌُٚ ، Radio Group ٓ٠ٛ‫ ألٔٗ لذ رُ رى‬Layout Editor ُ١ّ‫ٔالؽظ ثؼذ رٌه ئخزفبء اٌؾمً ِٓ ؽبؽخ اٌزق‬
ِٕٗٚ Radio Group (STU_SEX) ‫ذ اٌـ‬٠‫َ ثزؾذ‬ٛ‫ْ ٌزٌه ٔم‬٢‫ ا‬ٝ‫ ؽز‬Radio Buttons ‫بس‬١‫ ػٕبفش ئخز‬ٞ‫ْ أ‬ٛ‫زى‬٠
: ٟ‫ر‬٢‫ّب وب‬ٙ‫ٓ خقبئق‬٠‫ ٌؼٕقش‬Create ُ‫ ص‬Radio Buttons

Property Value Property Value

1 Name MALE 1 Name FEMALE

2 Label ‫روش‬ 2 Label ٝ‫أٔض‬

3 Radio Button Value 1 3 Radio Button Value 0

، Canvas ‫خ‬١‫ ٌٍخبف‬Canvas2 ‫ّخ‬١‫ اٌم‬ٟ‫أػي‬ٚ Radio Group ‫ خقبئـ‬ٌٝ‫ٓ فار٘ت ئ‬٠‫س اٌؼٕقش‬ٛٙ‫زُ ظ‬٠ ٌُ ‫ئرا‬

Text ٟ‫ُ اٌّذخٍخ وّب ف‬١‫بساد ِفشدح ثذالً ِٓ اٌم‬١‫ ؽىً ئخز‬ٍٝ‫ُ ػ‬١‫س اٌم‬ٛٙ‫ظ‬ٚ ‫ز اٌجشٔبِظ‬١‫ٌٕالؽظ ثؼذ٘ب رٕف‬
. Item

60
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Check Box‬‬ ‫‪‬‬
‫ِٓ اٌّؼٍ‪ َٛ‬أْ ػٕبفش اإلخز‪١‬بس اٌّزؼذد ال رى‪ ْٛ‬ئال ٌم‪ ُ١‬صبثزخ ِضً ( اٌغٕغ‪١‬خ ‪ ،‬اٌؾبٌخ اإلعزّبػ‪١‬خ ‪ ...‬ئٌخ) ‪،‬‬

‫‪ ِٓٚ‬اٌّّىٓ ئخز‪١‬بس أوضش ِٓ خ‪١‬بس ‪ٚ‬اؽذ ‪.‬‬

‫‪‬‬

‫‪Stu‬‬
‫‪Form‬‬

‫ال ِٓ ئمبفخ ٘زا اٌؾمً‬


‫‪ٌٚ‬ؼًّ رٌه ال ثذ أ‪ً ٚ‬‬
‫ثأِش ‪ٚ SQL‬وبٌزبٌ‪: ٟ‬‬

‫>‪SQL‬‬ ‫‪alter‬‬ ‫‪Table‬‬ ‫‪Stu‬‬


‫;))‪Add(Stu_Nat number(1‬‬

‫( ئرا لّذ ثأؾبء اٌؾمً ثؼذ عٍت اٌج‪١‬بٔبد‬


‫ئٌ‪ ٝ‬اٌـ‪ Form‬فمُ ثزؾذ‪٠‬ذ اٌـ ‪Data Block‬‬
‫)‪ (STU‬صُ ئٔمش ػٍ‪ ٝ‬صس اٌفأسح األ‪ٌ ّٓ٠‬زخزبس‬
‫‪ ِٕٗٚ Data Block Wizard‬اٌزج‪٠ٛ‬ت‬
‫‪ Table‬صُ ئمغو اٌضس ‪ٚ Refresh‬ثؼذ٘ب لُ ثغٍت اٌؼٕقش ‪ STU_NAT‬صُ ئمغو ّٖا‪ٝ‬ح)‬

‫أ‪ٔ ٚ‬م‪ َٛ‬ثأؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ‪ِ Data Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪ٌٕ STU‬الؽظ أْ اٌؾمً ‪ STU_NAT‬لذ‬
‫أخز اٌؾىً اإلفزشام‪ٌٍ ٟ‬ؼٕبفش ‪ٌٚ ، Text Item ٛ٘ٚ‬غؼٍٗ ثؾىً ‪ٔ Check Box‬م‪ َٛ‬ثزؼذ‪ ً٠‬ل‪ ُ١‬اٌخقبئـ‬
‫اٌزبٌ‪١‬خ ‪:‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Name‬‬ ‫‪STU_NAT‬‬

‫‪2‬‬ ‫‪Item Type‬‬ ‫‪Check Box‬‬

‫‪3‬‬ ‫‪Label‬‬ ‫‪ّٟٕ٠‬‬

‫‪4‬‬ ‫‪Value when Checked‬‬ ‫‪1‬‬

‫‪5‬‬ ‫‪Value when Unchecked‬‬ ‫‪0‬‬

‫‪6‬‬ ‫‪Check Box Mapping of Other Values‬‬ ‫‪Checked‬‬

‫‪7‬‬ ‫‪Initial Value‬‬ ‫‪1‬‬

‫‪61‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ٔالؽظ ثؼذ رٌه أٔٗ لذ رُ رى‪، Check Box ٓ٠ٛ‬‬

‫‪ٚ‬وزٌه رٕف‪١‬ز اٌجشٔبِظ ‪ٚ‬ظ‪ٛٙ‬س اٌم‪ ُ١‬ػٍ‪ ٝ‬ؽىً ئخز‪١‬بساد ِزؼذدح ثذالً ِٓ اٌم‪ ُ١‬اٌّذخٍخ وّب ف‪. Text Item ٟ‬‬

‫الزظ ػَو موٍ ٍِ ‪:‬‬ ‫‪‬‬


‫خبف‪١‬خ ‪Value when Checked‬‬ ‫‪‬‬
‫‪ٚ‬اٌز‪ ٟ‬عزم‪ َٛ‬ثاػيبء اإلخز‪١‬بس إٌؾو‬
‫ئرا وبٔذ اٌم‪ّ١‬خ ِغب‪٠ٚ‬خ ٌؾمً‬
‫‪، STU_NAT‬‬
‫خبف‪١‬خ ‪Value when Unchecked‬‬ ‫‪‬‬
‫‪ٚ‬اٌز‪ ٟ‬عزم‪ َٛ‬ثاػيبء اإلخز‪١‬بس اٌغ‪١‬ش‬
‫ٔؾو ئرا وبٔذ اٌم‪ّ١‬خ غ‪١‬ش ِغب‪٠ٚ‬خ‬
‫اٌم‪ّ١‬خ ٌؾمً ‪، STU_NAT‬‬
‫خبف‪١‬خ ‪Check Box Mapping of‬‬ ‫‪‬‬
‫‪ٚ Other Values‬اٌز‪ ٟ‬عزم‪ َٛ‬ثاػيبء‬
‫اٌخ‪١‬بس إٌؾو ‪ Checked‬أ‪ ٚ‬اإلخز‪١‬بس‬
‫غ‪١‬ش إٌؾو ‪( Unchecked‬ؽغت‬
‫رؾذ‪٠‬ذ اٌّجشِظ) ئرا ‪ٚ‬عذد ل‪ّ١‬خ ف‪ٟ‬‬
‫ؽمً ‪ِ STU_NAT‬غب‪٠‬شح ٌّب روش ف‪ٟ‬‬
‫اٌخبف‪١‬ز‪ ٓ١‬اٌغبثمز‪. ٓ١‬‬

‫‪62‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Canvases‬‬ ‫‪‬‬
‫اٌمّبؽ‪١‬خ رؼٕ‪ ٟ‬اٌخٍف‪١‬خ (اٌ‪ٛ‬سلخ) أ‪ ٚ‬األسم‪١‬خ اٌز‪ ٟ‬رز‪ٛ‬مغ ػٍ‪ٙ١‬ب اٌؼٕبفش ‪، Items‬‬

‫‪ٌٙٚ‬ب ػذح أٔ‪ٛ‬اع ٘‪: ٟ‬‬

‫‪ ٟ٘ٚ : Content .1‬ػٍ‪ِ ٝ‬غبؽخ إٌبفزح اٌز‪ ٟ‬رؾز‪ٙ٠ٛ‬ب ‪ ٛ٘ٚ‬إٌ‪ٛ‬ع اإلفزشام‪ ٟ‬ؽ‪١‬ش ‪ٕ٠‬ؾأ ػٕذ ئٔؾبء‬
‫إٌّ‪ٛ‬رط ‪٠ٚ Form‬غت رؼش‪٠‬ف ‪ٚ‬اؽذ ِٓ ٘زا إٌ‪ٛ‬ع ػٍ‪ ٝ‬األلً ٌىً ٔبفزح ‪. Window‬‬
‫‪٠ٚ : Stacked .2‬ظ‪ٙ‬ش ف‪ٛ‬ق اٌـ ‪ّ٠ٚ Content Canvas‬ىٓ اٌزؾىُ ثؾغّٗ ‪ٚ‬وزٌه ئظ‪ٙ‬بسٖ ‪ٚ‬ئخفبؤٖ رٍمبئ‪١‬بً ‪.‬‬
‫‪ٚ : Vertical Toolbar .3‬رظ‪ٙ‬ش ثؾىً ؽش‪٠‬و أد‪ٚ‬اد ػّ‪ٛ‬د‪. ٞ‬‬
‫‪ٚ : Horizontal Toolbar .4‬رظ‪ٙ‬ش ثؾىً ؽش‪٠‬و أد‪ٚ‬اد أفم‪. ٟ‬‬
‫‪٠ٚ :Tab .5‬ظ‪ٙ‬ش ثؾىً ففؾبد ‪ٔٚ‬ؾزبط ٌٗ ف‪ ٟ‬ثؼل األؽ‪١‬بْ ٌؾقش اٌؼٕبفش ف‪ِ ٟ‬غّ‪ٛ‬ػبد ‪.‬‬
‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪‬‬

‫ٔم‪ َٛ‬ثأؾبء ‪ Form‬عذ‪٠‬ذ ‪٠‬ؼزّذ ػٍ‪ ٛ٘ Data Block ٝ‬اٌغذ‪ٚ‬ي ‪ٌٕ STU‬الؽظ أٔٗ ع‪١‬م‪ َٛ‬ثأؾبء اٌـ ‪Content‬‬
‫‪١ٌٚ (Canvas2) Canvas‬ىٓ رغّ‪١‬زٗ اٌجشِغ‪١‬خ‬ ‫‪( Canvas‬ئفزشام‪١‬بً) ‪ٚ‬عزظ‪ٙ‬ش اٌؼٕبفش ػٍ‪ٚ ٗ١‬ئعُ اٌـ‬
‫‪، CANVAS_CONTENET‬‬

‫ثؼذ رٌه ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ( ‪ ) Canvases‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ‬


‫اٌـ(‪ ) Object Navigator‬صُ ‪ Create‬صُ ٔنغو ‪ٌٍ F4‬زؾىُ ثم‪ُ١‬‬
‫اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Name‬‬ ‫‪CANVAS_STACKED_SEC‬‬

‫‪2‬‬ ‫‪Canvas Type‬‬ ‫‪Stacked‬‬

‫‪3‬‬ ‫‪Viewport X Position‬‬ ‫‪25‬‬

‫‪4‬‬ ‫‪Viewport Y Position‬‬ ‫‪150‬‬

‫‪5‬‬ ‫‪Viewport Width‬‬ ‫‪375‬‬

‫‪6‬‬ ‫‪Viewport Height‬‬ ‫‪150‬‬

‫صُ ٔم‪ َٛ‬ا‪ ْ٢‬ثغٍت ث‪١‬بٔبد األلغبَ ‪ Section‬ئٌ‪ ٝ‬داخً ٘زا اٌـ ‪ٚ Canvas‬رٌه ثزؾذ‪٠‬ذ اٌـ( ‪) Data Block‬‬
‫اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ ) Object Navigator‬صُ ثضس اٌفأسح األ‪ٔ ّٓ٠‬خزبس ‪ٔٚ Data Block Wizard‬زجغ ٔفظ‬
‫اٌخي‪ٛ‬اد اٌّؼ‪ٛٙ‬دح ئال خي‪ٛ‬ح ر‪ٛ‬مغ اٌؼٕبفش فٕخزبس اٌـ ‪ٌٕ ، CANVAS_STACKED_SEC‬الؽظ ثؼذ٘ب ر‪ٛ‬مغ‬
‫اٌؼٕبفش ػٍ‪٘ ٝ‬زا اٌـ ‪. Canvas‬‬

‫‪63‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
‫اد اٌغبثمخ ٕٔؾئ اٌـ‬ٛ‫ثٕفظ اٌخي‬ٚ
‫بد ِغ‬٠ٛ‫بٔبد اٌّغز‬١‫ اٌخبؿ ثـج‬Canvas
: ‫ئخزالف‬

‫خ‬١‫خ اٌجشِغ‬١ّ‫ ) اٌزغ‬a


، CANVAS_STACKED_LVL
، Lvl ‫بٔبد‬١‫ ) عٍت وزٍخ اٌج‬b
Canvas ‫ ٘زا اٌـ‬ٍٝ‫مغ اٌؼٕبفش ػ‬ٛ‫ ) ر‬c
. ‫ذ‬٠‫اٌغذ‬
‫ع‬ٛٔ ِٓ ٓ٠‫ْ ثأؾبء ػٕقش‬٢‫َ ا‬ٛ‫ٔم‬
Content Canvas ‫ اٌـ‬ٍٝ‫ ػ‬Push_Button
‫ أِىٕخ‬ٟ‫ّب ف‬ٙ‫مؼ‬ٚ َ‫ِغ ِشاػبح ػذ‬
، ُ٘‫بس‬ٙ‫ اٌّشاد ئظ‬Canvases‫اٌـ‬

)ً‫ مَا ٗسد رىل عاتقا‬Content ‫ ٍِ ّ٘ع‬Canvas ‫ اىـ‬ٚ‫ر٘ػغ ػي‬ٝ Satcked ‫ ٍِ ّ٘ع‬Canvas ‫(ألُ اىـ‬
،

)ً‫ي ( األقغا‬ٚ‫ ٌٍضس األ‬Label ‫خ‬١‫بً ٔغؼً خبف‬١ٌ‫ ؽب‬، ‫ ئخفبؤ٘ب‬ٚ‫ٓ أ‬١‫ز‬١‫بس أؽذ اٌمّبؽ‬ٙ‫رٌه ِٓ أعً اٌزؾىُ ثاظ‬ٚ
‫خ‬٠‫بىبً ثاخفبءّ٘ب ػٕذ ثذا‬١‫َ ئؽز‬ٛ‫ّب فإٔب ٔم‬ِٕٙ ً‫لجً وزبثخ اٌؾفشح اٌخبفخ ثى‬ٚ )‫اخ‬ٝ٘‫ ( اىَغر‬ٟٔ‫ٌٍضس اٌضب‬ٚ
: ٌٟ‫وبٌزب‬ٚ ‫ٓ اٌيٍت‬١‫ً اٌجشٔبِظ ٌؾ‬١ّ‫رؾ‬

(Trigger : WHEN_NEW_FORM_INSTANCE)

Hide_View('CANVAS_STACKED_SEC') ;

Hide_View('CANVAS_STACKED_LVL') ;

‫ّب‬ِٕٙ ‫صُ ٔىزت اٌجشِغخ اٌخبفخ ثىً صس‬

: ‫ صس األلغبَ ٔىزت‬ٟ‫فف‬

(Trigger :
WHEN_BUTTON_PRESSED)

Hide_View('CANVAS_STACKED_LV
L') ;

Show_View('CANVAS_STACKED_SE
C') ;

Go_Block('Section');

Execute_Query;

: ‫بد ٔىزت‬٠ٛ‫ صس اٌّغز‬ٟ‫ف‬ٚ

(Trigger : WHEN_BUTTON_PRESSED)

Hide_View('CANVAS_STACKED_SEC') ;

Show_View('CANVAS_STACKED_LVL') ;

64
6i ‫حماضرات يف أوراكل ديفلوبر‬
Go_Block('Lvl');

Execute_Query;

. َ‫بٔبد ثبإلعزؼال‬١‫ اٌزبثغ ٌٗ صٓ ٔغٍت اٌج‬Data Block ٌٝ‫ذ ٔز٘ت ئ‬٠‫ ٔش‬ٞ‫ اٌز‬Canvas‫بس اٌـ‬ٙ‫ثبٌيجغ ثؼذ ئظ‬

‫و‬٠‫وزٌه ؽش‬ٚ ٞ‫د‬ّٛ‫اد اٌؼ‬ٚ‫و األد‬٠‫ ؽش‬ٍٝ‫ذ ئٔؾبء ػٕبفش رؾىُ (أصساس) ػ‬٠‫ثؼذ ئٔغبص ٘زٖ اٌّشؽٍخ ٔش‬ٚ ُٟ‫ا‬
Non_DB‫اّاخ‬ٞ‫ قاػذج اىث‬ٚ‫ش ٍؼرَذج ػي‬ٞ‫اّاخ غ‬ٞ‫ مريح ت‬ٜ‫فؼو ئّشاؤٕا ف‬ٝ ٜ‫ ] اىر‬ٟ‫اد األفم‬ٚ‫األد‬
Object (‫ ؽبؽخ اٌـ‬ٟ‫د ف‬ٛ‫ع‬ٌّٛ‫ ) ا‬Canvases(‫ذ اٌـ‬٠‫ ران ئال ثزؾذ‬ٚ‫زُ ٘زا أ‬٠ ٌٓ ‫ثبٌيجغ‬ٚ STU ‫ي‬ٚ‫[ خبفخ ثبٌغذ‬
: ‫خ‬١ٌ‫ٓ ِغ ِشاػبح اٌخقبئـ اٌزب‬١‫ ِشر‬Create ُ‫ ) ص‬Navigator

Property Value Property Value

1 Name CANVAS_VERTICAL 1 Name CANVAS_HORIZONTAL

2 Canvas Type Vertical Toolbar 2 Canvas Type Vertical Toolbar

3 Width 50 3 Height 50

ٟ‫اد األفم‬ٚ‫و األد‬٠‫ٔغؼً أصساس ؽش‬ٚ ) ‫ خشٗج‬- ً‫ ( زفظ – ئعرؼال‬ٞ‫د‬ّٛ‫اد اٌؼ‬ٚ‫و األد‬٠‫فّضالً ٔغؼً أصساس ؽش‬
‫ٔىزت‬ٚ ٗ١ٍ‫ُ ثبإلعُ اٌظب٘ش ػ‬ِٕٙ ‫ اٌخبؿ ثىً صس‬Label ‫ش‬١١‫ش ) ثؼذ رغ‬ٞ‫ – اىغاتق – األخ‬ٜ‫(األٗه – اىراى‬
: ٌٟ‫ ثبألصساس وبٌزب‬WHEN_BUTTON_PRESSED ‫ ؽذس‬ٟ‫اٌؾفشح اٌخبفخ ف‬

(PUSH_BUTTON_SAVE) (PUSH_BUTTON_FIRST) (PUSH_BUTTON_PREVIOUS)

Commit_Form ; Go_Block('Stu') ; Go_Block('Stu') ;

First_Record ; Previous_Record ;

(PUSH_BUTTON_QUERY)

Go_Block('Stu') ; (PUSH_BUTTON_NEXT) (PUSH_BUTTON_LAST)

Execute_Query ; Go_Block('Stu') ; Go_Block('Stu') ;

Next_Record ; Last_Record ;

65
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫)‪(PUSH_BUTTON_EXIT‬‬

‫; ‪Exit_Form‬‬

‫إٌ‪ٛ‬ع األخ‪١‬ش ِٓ أٔ‪ٛ‬اع اٌـ ‪ ٛ٘ Canvas‬إٌ‪ٛ‬ع ‪ٚ Tab‬ف‪٘ ٟ‬زا إٌ‪ٛ‬ع ‪٠‬زُ أ‪ٚ‬الً رؾذ‪٠‬ذ اٌـ( ‪ ) Canvases‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ٟ‬‬
‫ؽبؽخ اٌـ(‪ ) Object Navigator‬صُ ‪ Create‬صُ ٔنغو ‪ٌٍ F4‬زؾىُ ثم‪ ُ١‬اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Name‬‬ ‫‪CANVAS_TAB‬‬

‫‪2‬‬ ‫‪Canvas Type‬‬ ‫‪Tab‬‬

‫‪3‬‬ ‫‪Tab Attachment Edge‬‬ ‫‪Top‬‬

‫ٌٕالؽظ ئٔؾبء صالصخ ففؾبد ئفزشام‪١‬خ ‪ ِٓٚ‬اٌّّىٓ عؼٍٗ ‪٠‬زى‪ ِٓ ْٛ‬ػذح ففؾبد (مّٓ ِغّ‪ٛ‬ػخ) ٌزٌه ئرا‬
‫أسدٔب ئٔؾبء ففؾخ عذ‪٠‬ذح فٕم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ( ‪ ) Canvases‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ( ‪ِٕٗٚ ) Object Navigator‬‬
‫] اٌزغّ‪١‬خ ثشِغ‪١‬خ ‪-‬‬ ‫ٔؾذد اٌـ)‪ (Tab Pages‬صُ ‪ Create‬صُ ٔنغو ‪ٌٍ F4‬زؾىُ ثم‪ ُ١‬أُ٘ اٌخقبئـ ِضً‬
‫اٌزّى‪ٚ ٓ١‬ػذَ اٌزّى‪ - ٓ١‬اٌؼٕ‪ٛ‬اْ ‪ -‬اإلظ‪ٙ‬بس ‪ٚ‬اإلخفبء [ ‪.‬‬

‫‪Property‬‬

‫‪1‬‬ ‫‪Name‬‬

‫‪2‬‬ ‫‪Enabled‬‬

‫‪3‬‬ ‫‪Label‬‬

‫‪4‬‬ ‫‪Visible‬‬

‫‪66‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫صُ ٔم‪ َٛ‬ا‪ ْ٢‬ثغٍت ث‪١‬بٔبد األلغبَ‬


‫‪ Section‬ئٌ‪ ٝ‬داخً ٘زا اٌـ ‪ٚ Canvas‬رٌه‬
‫ثزؾذ‪٠‬ذ اٌـ( ‪ ) Data Block‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ٟ‬‬
‫ؽبؽخ اٌـ( ‪ ) Object Navigator‬صُ ثضس‬
‫اٌفأسح األ‪ٔ ّٓ٠‬خزبس ‪Data Block Wizard‬‬
‫‪ٔٚ‬زجغ ٔفظ اٌخي‪ٛ‬اد اٌّؼ‪ٛٙ‬دح ئال خي‪ٛ‬ح‬
‫ر‪ٛ‬مغ اٌؼٕبفش فٕخزبس اٌـ ‪، CANVAS_TAB‬‬
‫‪ٚ‬ثّب أٔ‪ٙ‬ب ػجبسح ػٓ ففؾبد ف‪١‬غت أْ ٔؾذد‬
‫‪ Tab Pages‬ثبٌم‪ّ١‬خ ‪PAGE_SECTION‬‬
‫( ‪ ٛ٘ٚ‬اإلعُ اٌجشِغ‪ٌٙ ٟ‬زٖ اٌقفؾخ)‬
‫ٌٕالؽظ ثؼذ٘ب ر‪ٛ‬مغ اٌؼٕبفش ػٍ‪٘ ٝ‬زا اٌـ‬
‫‪. Canvas‬‬

‫‪ٚ‬ثٕفظ اٌخي‪ٛ‬اد اٌغبثمخ ٔغٍت اٌـ ‪ Data Block‬اٌخبفخ ثجم‪١‬خ اٌغذا‪ٚ‬ي ئٌ‪ ٝ‬اٌقفؾخ إٌّؾئخ ِغجمبً ػٍ‪ ٝ‬اٌـ‬
‫‪ Tab Canvas‬وًُ ثّب ‪ٕ٠‬بعج‪ٙ‬ب ‪.‬‬

‫ٔالؽظ أْ اٌـ ‪ Data Block‬لذ ‪٠‬زُ عٍج‪ٙ‬ب أوضش ِٓ ِشح ػٍ‪ ٝ‬ئػزجبس ‪ٚ‬ع‪ٛ‬ة ر‪ٛ‬مغ ػٕبفش٘ب ػٍ‪ Canvas ٝ‬عذ‪٠‬ذح‬
‫ٌزٌه لذ ‪٠‬زغ‪١‬ش ئعُ اٌـ ‪ِ Data Block‬ضالً ِٓ ‪ SECTION‬ئٌ‪٘ٚ SECTION1 ٝ‬زا ال ‪٠‬ؼٕ‪ ٟ‬أْ اٌـ ‪Data Block‬‬
‫اٌّغّبح ‪١ٌ SECTION1‬غذ ِ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬لبػذح اٌج‪١‬بٔبد ف‪ٙ‬زٖ أعّبء ئخز‪١‬بس‪٠‬خ ‪ٌٚ‬ىٓ اٌّ‪ ٛ٘ ُٙ‬أْ رى‪ْٛ‬‬
‫اٌخقبئـ ٌ‪ٙ‬ب وبٌزبٌ‪: ٟ‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Database Data Block‬‬ ‫‪Yes‬‬

‫‪2‬‬ ‫‪Query Data Source Name‬‬ ‫‪SECTION‬‬

‫‪ٚ‬وزٌه ؽم‪ٛ‬ي ٘زٖ اٌـ ‪٠ Data Block‬غت أْ رى‪ ْٛ‬اٌخقبئـ ٌ‪ٙ‬ب وبٌزبٌ‪: ٟ‬‬

‫‪Property‬‬ ‫‪Value‬‬ ‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Database Item‬‬ ‫‪Yes‬‬ ‫‪1‬‬ ‫‪Database Item‬‬ ‫‪Yes‬‬

‫‪2‬‬ ‫‪Column Name‬‬ ‫‪SEC_NO‬‬ ‫‪2‬‬ ‫‪Column Name‬‬ ‫‪SEC_NAME‬‬

‫ٗتَؼشفرْا ىٖزٓ اىخظائض ‪ٝ‬ظثر ٍِ اىََنِ ئّشاء‪ Data Block‬ذؼرَذ ػي‪ ٚ‬قاػذج اىث‪ٞ‬اّاخ ‪DB‬‬
‫‪ٝ‬ذٗ‪ٝ‬اً‬

‫( ‪٘ٚ‬زا ِب ٌُ ٔزؾذس ػٕٗ ف‪ ٟ‬دسط عٍت ث‪١‬بٔبد اٌـ‪ٚ Data Block‬أعٍٕبٖ ؽز‪ٚ ٝ‬س‪ٚ‬د ٘زٖ اٌفمشح)‬

‫=======================================================================‬
‫=========‬

‫‪67‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬
‫‪ ِٓ ‬اٌّّىٓ اٌزؾىُ ثخقبئـ اٌـ ‪ Canvas‬ثشِغ‪١‬بً ِٓ خالي اٌزؼٍ‪ّ١‬خ اٌزبٌ‪١‬خ ‪:‬‬
‫' (‪ Set_Canvas_Property‬ئعٌ اىقَاش‪ٞ‬ح ‪ ' ,‬ئعٌ اىخاط‪ٞ‬ح ‪ ,‬اىق‪َٞ‬ح; )‬

‫‪ّ٠ ‬ىٓ اٌزؾىُ ثخقبئـ اٌقفؾبد ثشِغ‪١‬بً خبفخ ئرا أسدٔب ِٕغ ئظ‪ٙ‬بس ففؾخ ِب ػٍ‪ِ ٝ‬غزخذَ ِؼ‪ٚ ٓ١‬رٌه‬
‫ِٓ خالي اٌزؼٍ‪ّ١‬خ اٌزبٌ‪١‬خ ‪:‬‬
‫' (‪ Set_Tab_Page_Property‬ئعٌ اىظفسح ‪ ' ,‬ئعٌ اىخاط‪ٞ‬ح ‪ ,‬اىق‪َٞ‬ح; )‬

‫ِضبي ‪:‬‬

‫;) ‪Set_Tab_Page_Property( 'PAGE_MARK' , Visible , Property_False‬‬

‫ٗف‪ٕ ٜ‬زٓ اىرؼي‪َٞ‬ح ئشاسج ئى‪ ٚ‬أّٔ ال ‪َٝ‬نِ أُ ‪ٝ‬رنشس ئعٌ طفسح ٍا زر‪ ٚ‬ئرا ماّد ف‪Tabٜ‬‬
‫‪ Canvas‬خذ‪ٝ‬ذج‬

‫ئعزذػبء اٌـ ‪ Data Block‬ػٍ‪ Canvas ٝ‬أخش‪ ٜ‬ع‪١‬ظ‪ٙ‬ش٘ب ؽز‪ ٝ‬ئرا ٌُ ٔىزت أِش اإلظ‪ٙ‬بس ػٍ‪ ٝ‬اٌـ‪. Canvas‬‬ ‫‪‬‬

‫ػٕذ اٌزٕف‪١‬ز رز‪ٛ‬مغ أ‪ٚ‬الً ‪ Toolbar Canvas‬صُ رأر‪ ٟ‬ثم‪١‬خ اٌؼٕبفش ف‪ ٟ‬اٌغضء اٌّزجم‪ ِٓ ٟ‬إٌبفزح ٌزٌه ‪٠‬غت‬ ‫‪‬‬
‫ِشاػبح ‪ Width‬ف‪ ٟ‬اٌـ ‪ٚ Vertical Toolbar‬وزٌه اٌـ ‪ Height‬ف‪ ٟ‬اٌـ ‪. Horizontal Toolbar‬‬

‫ئرا أٔؾئذ أ‪ ٞ‬ػٕقش ‪ Item‬ف‪ِ Canvas ٟ‬ؼ‪ٕ١‬خ ‪ٚ‬أسدد ٔمٍ‪ٙ‬ب ئٌ‪ Canvas ٝ‬أخش‪ ٜ‬فّب ػٍ‪١‬ه ع‪ ٜٛ‬رغ‪١١‬ش‬ ‫‪‬‬
‫خبف‪١‬خ اٌـ ‪ٌ Canvas‬زٌه اٌؼٕقش ثغؼٍ‪ٙ‬ب رؾ‪١‬ش ئٌ‪ ٝ‬اٌـ ‪ Canvas‬اٌز‪ ٟ‬رش‪٠‬ذ ‪.‬‬

‫ِٓ اٌّّىٓ سعُ أ‪٠‬م‪ٔٛ‬خ ‪ Icon‬ػٍ‪ ٝ‬وً صس ‪ Push_Button‬ثؼذ رؼذ‪ ً٠‬خقبئقٗ ثؾ‪١‬ش ‪:‬‬ ‫‪‬‬
‫‪ . a‬رؼي‪ ٝ‬اٌم‪ّ١‬خ ‪ٌ Yes‬خبف‪١‬خ ‪Iconic‬‬
‫‪٠ . b‬ؼي‪ ٝ‬ئعُ ٌٍّف األ‪٠‬م‪ٔٛ‬خ ر‪ ٚ‬اإلِزذاد ‪ٌٍ *.ico‬خبف‪١‬خ ‪. Icon Filename‬‬

‫خبف‪١‬خ ‪ Tab Attachment Edge‬رؼًّ ػٍ‪ ٝ‬رؾذ‪٠‬ذ اٌّ‪ٛ‬لغ اٌز‪ ٞ‬عزظ‪ٙ‬ش ف‪ ٗ١‬اٌزج‪٠ٛ‬جبد اٌخبفخ ثذخ‪ٛ‬ي‬ ‫‪‬‬
‫اٌقفؾبد ‪ٚ‬رّزٍه اٌم‪. (Top _ Bottom _ Left _ Right _ Start _ End) ُ١‬‬

‫‪68‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫احملاضرة التاسعة‬

‫‪: Report Builder ‬‬


‫أداح رغزخذَ ٌجٕبء اٌزمبس‪٠‬ش اٌز‪٠ ٟ‬غزخذِ‪ٙ‬ب اٌـ( ‪ ) User‬ثىً ػٕبفش٘ب ‪ِٚ ،‬ضً ِب لّٕب ثىزبثخ اٌجشاِظ ‪ٚ‬اٌزؾىُ‬
‫ثقالؽ‪١‬بد اٌّغزخذِ‪ٚ ٓ١‬ئٔزمبء أفنً اٌ‪ٛ‬اع‪ٙ‬بد ‪ٚ‬األعبٌ‪١‬ت ٌىزبثخ اٌجشاِظ ‪ٚ‬أداء اٌؼٍّ‪١‬بد اٌّخزٍفخ ػٍ‪ٙ١‬ب فاْ‬
‫اٌضّشح اٌز‪٠ ٟ‬غت أْ ‪٠‬غٕ‪ٙ١‬ب اٌجشٔبِظ ٘‪ ٟ‬اٌزمبس‪٠‬ش ‪ٚ‬اٌز‪ ٟ‬ال ثذ ِٓ أْ رى‪ ْٛ‬ثجشٔبِظ اٌـ ‪ٚ ، Report Builder‬لذ‬
‫روشٔب عبثمبً أٔٗ ػٕذ ػٍّ‪١‬ز‪: ٟ‬‬

‫‪ ‬ؽفظ اٌزمش‪٠‬ش ‪٠ Save‬ز‪ٌٛ‬ذ ٍِف ِقذس‪ Source ٞ‬ر‪ ٚ‬ئِزذاد ‪٠ٚ *.RDF‬ؾغٍٗ ثشٔبِظ ‪Report Builder‬‬
‫‪ ‬اٌزشعّخ ‪٠ Compile‬ز‪ٌٛ‬ذ ٍِف رٕف‪١‬ز‪ Execute ٞ‬ر‪ ٚ‬ئِزذاد ‪٠ٚ *.REP‬ؾغٍٗ ثشٔبِظ ‪. Reports Runtime‬‬
‫=======================================================================‬
‫=========‬

‫‪Report Builder‬‬ ‫‪‬‬


‫‪ Start  Programs  Oracle Reports‬‬
‫‪6i-orantr  Report Builder‬‬

‫فزظ‪ٙ‬ش أ‪ٚ‬الً ؽبؽخ رشؽ‪١‬ج‪١‬خ ‪ّ٠‬ىٓ ِٓ خالٌ‪ٙ‬ب‬


‫رؾذ‪٠‬ذ ِب ئرا وبْ اٌّيٍ‪ٛ‬ة اٌجذء ثبٌزقّ‪ ُ١‬أ‪ٚ‬‬
‫ثبٌزؼٍ‪ ، ُ١‬فبٌزقّ‪ ُ١‬صالس خ‪١‬بساد ‪: ٟ٘ٚ‬‬

‫‪ ‬ئعزخذاَ ِؼبٌظ اٌزمبس‪٠‬ش ‪،‬‬


‫‪ ‬ثٕبء رمش‪٠‬ش عذ‪٠‬ذ ‪٠‬ذ‪٠ٚ‬بً ‪،‬‬
‫‪ ‬فزؼ رمش‪٠‬ش ِ‪ٛ‬ع‪ٛ‬د ِغجمبً ‪،‬‬
‫‪ٌٍٚ‬زؼٍ‪ ُ١‬خ‪١‬بساْ ‪ّ٘ٚ‬ب ‪:‬‬

‫‪ ‬ػشك اٌغ‪ٌٛ‬خ اٌغش‪٠‬ؼخ (ِفب٘‪، )ُ١‬‬


‫‪ ‬ئعزىؾبف وش‪ٚ‬د اٌزٍّ‪١‬ؾبد (ِ‪ٙ‬بَ) ‪.‬‬
‫( زاى‪ٞ‬اً عْخراس اىثذء تاىرظَ‪ ٌٞ‬تاعرخذاً ٍؼاىح اىرقاس‪ٝ‬ش ثٌ‬
‫ّؼغط ‪) OK‬‬

‫ٌزظ‪ٙ‬ش ثؼذ رٌه ؽبؽخ رشؽ‪١‬ج‪١‬خ خبفخ ثّؼبٌظ اٌزمبس‪٠‬ش (فْؼغط‬


‫اىراى‪)ٜ‬‬

‫صُ رظ‪ٙ‬ش ؽبؽخ ٔؼي‪ ٟ‬ف‪ٙ١‬ب اٌؼٕ‪ٛ‬اْ اٌؼبَ اٌز‪ ٞ‬ع‪١‬ظ‪ٙ‬ش ػٍ‪ٝ‬‬
‫اٌزمش‪٠‬ش ‪ٚ‬وزٌه ٔم‪ َٛ‬ثزؾذ‪٠‬ذ ٔ‪ٛ‬ع اٌزمش‪٠‬ش ً٘ ٘‪: ٛ‬‬

‫عذ‪، ٌٟٚ‬‬ ‫‪‬‬


‫‪٠‬ؾجٗ إٌّ‪ٛ‬رط ‪،‬‬ ‫‪‬‬
‫ػٕ‪ٛ‬اْ ثش‪٠‬ذ‪، ٞ‬‬ ‫‪‬‬
‫خيبة ّٔ‪ٛ‬رط ‪،‬‬ ‫‪‬‬
‫رغّ‪١‬غ ٌٍ‪١‬غبس ‪،‬‬ ‫‪‬‬
‫رغّ‪١‬غ ٌألػٍ‪، ٝ‬‬ ‫‪‬‬
‫ِقف‪ٛ‬فخ ‪،‬‬ ‫‪‬‬
‫ِقف‪ٛ‬فخ ِغ ِغّ‪ٛ‬ػخ ‪.‬‬ ‫‪‬‬

‫‪69‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫( زاى‪ٞ‬اً عْخراس عْنرة اىؼْ٘اُ ذقش‪ٝ‬ش ت‪ٞ‬اّاخ اىطالب ّٗخراس ّ٘ع اىرقش‪ٝ‬ش خذٗى‪ ٜ‬ثٌ ّؼغط اىراى‪)ٜ‬‬

‫صُ رظ‪ٙ‬ش ؽبؽخ رؾذ‪٠‬ذ ٔ‪ٛ‬ع اإلعزؼالَ ً٘‬


‫٘‪: ِٓ ٛ‬‬

‫‪ ‬عٍّخ ‪، SQL‬‬
‫‪ ‬ئعزؼالَ ‪( Express‬ػٕذِب ‪٠‬ى‪ ْٛ‬ػٍ‪ٝ‬‬
‫ؽجىخ ‪. ) Server/Client‬‬
‫(زاى‪ٞ‬اً عْخراس ّ٘ع اإلعرؼالً ٍِ‬
‫خَيح ‪ SQL‬ثٌ ّؼغط اىراى‪)ٜ‬‬

‫ٌزظ‪ٙ‬ش ثؼذ٘ب ؽبؽخ ٔىزت ِٓ خالٌ‪ٙ‬ب عٍّخ اإلعزؼالَ ‪ٚ‬اٌز‪ ٟ‬ثٕبءاً ػٍ‪ٙ١‬ب عزظ‪ٙ‬ش اٌج‪١‬بٔبد ف‪ ٟ‬اٌزمش‪٠‬ش ؽ‪١‬ش‬
‫‪SQL Query‬‬ ‫‪ّ٠‬ىٕه رؾش‪٠‬ش٘ب ِجبؽشح ف‪ٟ‬‬
‫‪ Statement‬أ‪ ٚ‬ثٕبء٘ب ِٓ عذ‪٠‬ذ ِٓ خالي‬
‫ثشٔبِظ ثبٔ‪ ٟ‬اإلعزؼالَ …‪Build SQL Query‬‬
‫أ‪ ٚ‬ئعز‪١‬شاد٘ب ِٓ ٍِف …‪Import SQL Query‬‬
‫‪ٕ٘ٚ‬بن أ‪٠‬نبً صس اإلرقبي ئْ ٌُ رىٓ ِزقالً‬
‫ثبٌمبػذح …‪Connect‬‬

‫( زاى‪ٞ‬اً عْقً٘ تثْاء خَيح اإلعرؼالً ٍِ خاله اىؼغط‬


‫ػي‪ ٚ‬اىثشّاٍح اىَظغش تاّ‪ ٜ‬اإلعرؼالً‪)...‬‬

‫ؽ‪١‬ش الثذ ِٓ اإلسرجبه أ‪ٚ‬الً ثمبػذح اٌج‪١‬بٔبد ‪ٚ‬وزبثخ ئعُ اٌـ( ‪ٚ ) User‬اٌـ( ‪ ) Password‬ثؾىً فؾ‪١‬ؼ ٍِٗ ثٌ‬
‫اىؼغط ػي‪ ٚ‬اىضس ٗطو ‪ٌٚ‬زظ‪ٙ‬ش اٌؾبؽخ اٌخبفخ ثجشٔبِظ ثبٔ‪ ٟ‬اإلعزؼالَ ‪ِٕٙٚ‬ب ؽبؽخ ئخز‪١‬بس عذا‪ٚ‬ي‬
‫اٌج‪١‬بٔبد اٌّشاد اٌزؼبًِ ِؼ‪ٙ‬ب (زاى‪ٞ‬اً عْرخراس اىدذٗه ‪ٔٚ ) STU‬م‪ َٛ‬ثبٌزأؽ‪١‬ش أِبَ وً ؽمً ٔش‪٠‬ذ عٍجٗ أِب ئرا‬
‫أسدٔب عٍت عّ‪١‬غ اٌؾم‪ٛ‬ي فٕإؽش ػٍ‪ ٝ‬اٌخ‪١‬بس اٌّزؼذد أػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪ ،‬الؽظ ػٍ‪ ٝ‬ؽش‪٠‬و األفم‪ٌ ٟ‬جشٔبِظ ثبٔ‪ٟ‬‬
‫اإلعزؼالَ ‪ٚ‬ع‪ٛ‬د األ‪٠‬م‪ٔٛ‬بد ‪:‬‬

‫ئخر‪ٞ‬اس خذٗه اىث‪ٞ‬اّاخ ‪ :‬ػٕذِب ٔش‪٠‬ذ ئظ‪ٙ‬بس ٘زٖ اٌؾبؽخ ِشح أخش‪ ٜ‬إلمبفخ عذ‪ٚ‬ي آخش ‪،‬‬ ‫‪‬‬

‫‪70‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ئظٖاس ‪ٌٕ : SQL‬ؾب٘ذ ِٓ خالٌ‪ٙ‬ب رى‪ ْٛ‬أِش اإلعزؼالَ ‪.‬‬ ‫‪‬‬

‫( ّؼغط ٍ٘افق ٗىْش‪ ٙ‬ذنُ٘ خَيح‬


‫اإلعرؼالً ٍثاششج ف‪SQL Query ٜ‬‬
‫‪ Statement‬فْؼغط اىراى‪)ٜ‬‬

‫‪ٚ‬ثبٌزبٌ‪ ٟ‬رظ‪ٙ‬ش اٌؾم‪ٛ‬ي ف‪ ٟ‬اٌـ(‪ ) List‬فٕخزبس ِٕ‪ٙ‬ب اٌؾم‪ٛ‬ي اٌّيٍ‪ٛ‬ة اٌزؼبًِ ِؼ‪ٙ‬ب ث‪ٛ‬اعيخ األصساس > ‪، < ، >> ،‬‬
‫<<‬

‫(زاى‪ٞ‬اً عْخراس >> ثٌ ّؼغط اىراى‪)ٜ‬‬

‫ٌزظ‪ٙ‬ش ؽبؽخ زغاب ئخَاى‪ٞ‬اخ اىسق٘ه اٌز‪ ٟ‬رشغت ثا‪٠‬غبد٘ب ِضً (اٌّغّ‪ٛ‬ع – اٌّز‪ٛ‬عو – اٌؼذ – اٌؾذ‬
‫األدٔ‪ – ٝ‬اٌؾذ األلق‪ – ٝ‬اإلعّبٌ‪ٚ )ٟ‬رٌه ِٓ خالي رؾذ‪٠‬ذ اٌؾمً صُ مغو اٌضس اٌز‪ ٞ‬رش‪٠‬ذ ريج‪١‬ك اٌؾغبة‬
‫اٌّشاد ئعشائٗ ػٍ‪، ٗ١‬‬

‫(زاى‪ٞ‬اً ّؼغط اىراى‪)ٜ‬‬

‫صُ رظ‪ٙ‬ش ؽبؽخ رّىٕٕب ِٓ رغ‪١١‬ش اٌؼٕب‪ ٓ٠ٚ‬اٌظب٘شح ألعّبء اٌؾم‪ٛ‬ي‪ٚ Prompt‬وزٌه ػشم‪ٙ‬ب ‪ٚ W‬ى‪ٌٙٛ‬ب ‪H‬‬

‫(زاى‪ٞ‬اً ّؼغط اىراى‪)ٜ‬‬

‫‪71‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫ٌزظ‪ٙ‬ش ؽبؽخ رؾذ‪٠‬ذ اٌمبٌت ‪ Template‬اٌز‪ٞ‬‬


‫رش‪٠‬ذ ػشك اٌزمش‪٠‬ش ثٗ ف‪ّ١‬ىٕه أْ رخزبس ‪:‬‬

‫‪ ‬لبٌت ِؾذد ِغجمبً ‪،‬‬


‫‪ ‬رؾذ‪٠‬ذ لبٌت ِٓ ٍِف ِخضْ ػٍ‪ ٝ‬ع‪ٙ‬بص اٌىّج‪ٛ١‬رش اٌخبؿ ثه ‪،‬‬
‫ظ‪ٛٙ‬س اٌزمش‪٠‬ش ثذ‪ ْٚ‬أ‪ ٞ‬لبٌت ‪ ( .‬زاى‪ٞ‬اً ّدؼئ ػي‪ ٚ‬اىقاىة اإلفرشاػ‪ ٜ‬ثٌ ػغط اىراى‪)ٜ‬‬

‫ثؼذ٘ب رظ‪ٙ‬ش ؽبؽخ اٌز‪ٙ‬بٔ‪ٚ ٟ‬اٌزجش‪٠‬ىبد ‪ٌ congratulations‬زؼٍٓ ػٓ ئرّبَ ِؼبٌظ اٌزقّ‪( ُ١‬اٌّخيو) ثٕغبػ ‪،‬‬
‫(فْؼغط ّٖا‪ٝ‬ح) ٗتزىل ّنُ٘ قذ قَْا ترشغ‪ٞ‬و ‪. Report Builder‬‬

‫=======================================================================‬
‫=========‬

‫‪72‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬
‫‪٠‬زُ رؾغ‪ ً١‬اٌزمش‪٠‬ش ِٓ خالي عٍت اٌج‪١‬بٔبد ِٓ اٌـ ‪ Database‬ع‪ٛ‬اءً أوبٔذ لبػذح اٌج‪١‬بٔبد ِ‪ٛ‬ع‪ٛ‬دح ػٍ‪ ٝ‬اٌـ‬ ‫‪‬‬
‫‪ Server‬أ‪ ٚ‬ػٍ‪ ٝ‬اٌـ ‪( Client‬الزظ ْٕا ذْش‪ٞ‬ط اىـ ‪ٗ Client Activity‬اىز‪ٝ ٛ‬ؼْ‪ ٜ‬خية اىث‪ٞ‬اّاخ ٍِ‬
‫قاػذج اىث‪ٞ‬اّاخ اىَ٘خ٘دج ػي‪ ٚ‬اىـ ‪، ) Client‬‬
‫ف‪ ٟ‬ؽبٌخ ػذَ ظ‪ٛٙ‬س اٌخو ثبٌؼشث‪ ٟ‬لُ ثزغ‪١١‬ش اٌخو ‪ٚ‬رٌه ثبٌنغو ػٍ‪ٌ Ctrl+A ٝ‬زؾذ‪٠‬ذ اٌىً صُ ِٓ‬ ‫‪‬‬
‫ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬لُ ثاخز‪١‬بس ٔ‪ٛ‬ع اٌخو ‪١ٌٚ‬ىٓ )‪ٚ Arial(Arabic‬ؽغُ خو ‪١ٌٚ‬ىٓ ‪، 12‬‬
‫ثبإلِىبْ رغ‪١١‬ش اٌق‪ٛ‬سح اٌظب٘شح ف‪٘ ٟ‬زا اٌمبٌت ثق‪ٛ‬سح أخش‪ِ( ٜ‬ضالً ؽؼبس اٌغبِؼخ) ‪ٚ‬رٌه ثاخز‪١‬بسٔب األِش‬ ‫‪‬‬
‫ئعر‪ٞ‬شاد ‪ ِٕٗٚ‬ط٘سج ِٓ اٌمبئّخ ٍيف ‪.‬‬

‫‪73‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Report‬‬ ‫‪‬‬
‫‪Builder‬‬
‫‪: Object Navigator .1‬‬
‫‪٠ٚ‬ؾز‪ ٞٛ‬ػٕبفش اٌزمش‪٠‬ش وبٍِخ ‪ٚ Report‬وزٌه اٌىبئٕبد‬
‫‪ ِٓٚ ، Objects‬اٌّّىٓ اٌؾق‪ٛ‬ي ػٍ‪٘ ٝ‬زٖ اٌؾبؽخ ِٓ‬
‫خالي اٌنغو ػٍ‪ ٝ‬اٌضس ‪ F3‬أ‪ ِٓ ٚ‬اٌمبئّخ ‪ٔ Tools‬خزبس‬
‫األِش ‪. Object Navigator‬‬

‫‪: Data Model .2‬‬


‫ّٔ‪ٛ‬رط اٌج‪١‬بٔبد ‪ٚ‬عٕأر‪ ٟ‬ئٌ‪ ٝ‬ؽشؽٗ ثبٌزفق‪ ، ً١‬ثاِىبٔه‬
‫ئػزجبسٖ ؽج‪ ٗ١‬اٌـ ‪ Data Block Wizard‬ف‪ ٟ‬ثشٔبِظ ‪Form‬‬
‫‪. Builder‬‬

‫‪: Layout Model .3‬‬


‫ّٔ‪ٛ‬رط إٌغك ‪ٚ‬عٕأر‪ ٟ‬ئٌ‪ ٝ‬ؽشؽٗ ثبٌزفق‪ ، ً١‬ثاِىبٔه ئػزجبسٖ ؽج‪ ٗ١‬اٌـ ‪ Layout Wizard‬ف‪ ٟ‬ثشٔبِظ ‪Form‬‬
‫‪. Builder‬‬

‫‪: Property Palette .4‬‬


‫‪ٚ‬رؾز‪ ٞٛ‬خقبئـ اٌؼٕبفش ‪ٚ‬اٌىبئٕبد ‪ ِٓٚ ، Objects‬اٌّّىٓ اٌؾق‪ٛ‬ي ػٍ‪٘ ٝ‬زٖ اٌؾبؽخ ِٓ خالي اٌنغو‬
‫ػٍ‪ ٝ‬اٌضس ‪ F4‬أ‪ ِٓ ٚ‬اٌمبئّخ ‪ٔ Tools‬خزبس األِش ‪. Property Palette‬‬

‫ٍالزظح ٕاٍح ‪:‬‬ ‫‪‬‬


‫ّٔ‪ٛ‬رط اٌج‪١‬بٔبد ‪ّٛٔٚ Data Model‬رط إٌغك ‪ّ٘ Layout Model‬ب ِى‪ِ ٟٔٛ‬ب ‪٠‬غّ‪ ٝ‬ثبٌـ ‪. Report Editor‬‬

‫=======================================================================‬
‫=========‬

‫‪Object‬‬ ‫‪‬‬
‫‪Navigator‬‬
‫‪Reports‬‬

‫] زاى‪ٞ‬اً ‪ : [ MODULE1‬ئعُ اٌـ )‪ ) Report‬اإلفزشام‪٠ٚ ٟ‬أخز ئعُ‬ ‫‪.1‬‬


‫اٌجشٔبِظ د‪ِٚ‬بً ‪،‬‬
‫‪ٌّ ٟ٘ٚ : Live Preview‬ؼب‪ٕ٠‬خ اٌزمش‪٠‬ش لجً اٌيجبػخ ‪،‬‬ ‫‪.2‬‬
‫‪ّٛٔ : Data Model‬رط اٌج‪١‬بٔبد ‪ٚ‬عٕأر‪ ٟ‬ئٌ‪ ٝ‬ؽشؽٗ ثبٌزفق‪، ً١‬‬ ‫‪.3‬‬
‫‪ّٛٔ : Layout Model‬رط إٌغك ‪ٚ‬عٕأر‪ ٟ‬ئٌ‪ ٝ‬ؽشؽٗ ثبٌزفق‪، ً١‬‬ ‫‪.4‬‬
‫‪ّٛٔ : Parameter Form‬رط اٌّؼبِالد ‪ ٛ٘ٚ‬ػجبسح ػٓ ‪٠ Form‬ظ‪ٙ‬ش‬ ‫‪.5‬‬
‫لجً اٌزمش‪٠‬ش ثّؼبِالد ِٕؾئخ ِٓ اٌّغزخذَ أ‪ ٚ‬أٔ‪ٙ‬ب ِٕؾئخ ِٓ‬
‫إٌظبَ ‪.‬‬
‫‪ ٟ٘ٚ : Reports Trigger‬ػجبسح ػٓ (‪ٕ٠ (SQL , PL/SQL‬فز ػٕذ‬ ‫‪.6‬‬
‫ؽذس ِؼ‪ ٓ١‬لذ ‪٠‬ى‪٘ ْٛ‬زٖ اٌؾذس ‪:‬‬
‫‪ ‬لجً ّٔ‪ٛ‬رط اٌّؼبِالد ‪، Before Parameter Form‬‬
‫‪ ‬ثؼذ ّٔ‪ٛ‬رط اٌّؼبِالد ‪، After Parameter Form‬‬
‫‪ ‬لجً اٌزمش‪٠‬ش ‪، Before Report‬‬
‫‪ ‬ث‪ ٓ١‬ففؾبد اٌزمش‪٠‬ش ‪، Between Pages‬‬
‫‪ ‬ثؼذ اٌزمش‪٠‬ش ‪. After Report‬‬
‫‪ ٟ٘ٚ : Programs Units‬ئِب أْ رى‪ Procedure ْٛ‬أ‪ Function ٚ‬أ‪، Package ٚ‬‬ ‫‪.7‬‬

‫‪74‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪ ٟ٘ٚ : Attached Libraries .8‬ػجبسح ػٓ ِىزجبد ‪، PL/SQL‬‬
‫‪ Templates‬ػٕذِب رٕؾئ رمش‪٠‬شاً ثؾىً لبٌت‬

‫‪ External SQL Queries‬ئعزؼالِبد ‪ SQL‬اٌخبسع‪١‬خ ‪،‬‬

‫‪ ٟ٘ٚ PL/SQL Libraries‬ػجبسح ػٓ ِىزجبد ‪، PL/SQL‬‬

‫‪ٌٍ Debug Actions‬زٕم‪١‬ؼ ‪،‬‬

‫‪ Stack‬ئعزخذاَ اٌّىذط ‪،‬‬

‫‪ ٟ٘ٚ Built–in Packages‬ػجبسح ػٓ اٌؾضَ اٌّذِغخ ِغ اٌـ(‪، ) Oracle‬‬

‫‪ Database Objects‬ؽ‪١‬ش رم‪ َٛ‬ثؼشك عّ‪١‬غ ِغزخذِ‪ ٟ‬لبػذح اٌج‪١‬بٔبد ‪.‬‬

‫=======================================================================‬
‫=========‬

‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬


‫‪ ‬أصٕبء ػٍّ‪١‬خ اٌؾفظ ‪ File  Save‬رظ‪ٙ‬ش ؽبؽخ خ‪١‬بساد اٌؾفظ‬
‫‪ٚ‬اٌز‪ ِٓ ٟ‬خالٌ‪ٙ‬ب ‪ّ٠‬ىٕه رؾذ‪٠‬ذ ئرا ِب وٕذ رش‪٠‬ذ اٌؾفظ ف‪ٟ‬‬
‫لبػذح اٌج‪١‬بٔبد أ‪ ٚ‬ف‪ٍِ ٟ‬ف (اإلفزشام‪ٚ )ٟ‬وزٌه ً٘ رش‪٠‬ذ اٌؾفظ‬
‫ٌؼشك اٌزمبس‪٠‬ش (اإلفزشام‪ )ٟ‬أَ اٌم‪ٛ‬اٌت أَ اإلعزؼالِبد أَ‬
‫اٌّىزجبد اٌزبثؼخ ٌٍـ ‪ PL/SQL‬أَ ؽفظ اٌىً ‪،‬‬
‫( زاى‪ٞ‬اً ّؼغط ٍ٘افق ى‪ٞ‬رٌ زفظ اىرقش‪ٝ‬ش ػي‪ٍ ٚ‬يف ّسذد‬
‫ٍغاسٓ)‬

‫‪ٚ‬ثٕفظ إٌّ‪ٛ‬اي رظ‪ٙ‬ش ؽبؽخ ؽج‪ٙ١‬خ أصٕبء ػٍّ‪١‬خ اٌفزؼ ‪Open‬‬ ‫‪‬‬
‫ٌزمش‪٠‬ش ِب ‪.‬‬

‫‪75‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Data Model‬‬ ‫‪‬‬
‫‪Object‬‬ ‫‪ ) Data Model‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‬ ‫ؽ‪١‬ش ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ(‬
‫‪ٔٚ ) Navigator‬نغو ‪ٌ F2‬زظ‪ٙ‬ش ٔبفزح ف‪ٙ١‬ب اإلعزؼالِبد اٌّ‪ٛ‬ع‪ٛ‬دح ٌٍزمش‪٠‬ش (ؽبٌ‪١‬بً‬
‫‪ٚ ) Q_1‬ئرا ٔمشٔب ػٍ‪ٙ١‬ب ٔمشاً ِضد‪ٚ‬عبً ‪٠‬ظ‪ٙ‬ش اإلعزؼالَ ‪ٚ‬اٌّشرجو ثّغّ‪ٛ‬ػخ ِٓ‬
‫اٌؾم‪ٛ‬ي‬
‫ِز‪ٛ‬اعذح ػٍ‪ٝ‬‬
‫ؽىً ِغّ‪ٛ‬ػخ‬
‫‪. Group‬‬

‫‪Data Model‬‬

‫‪System Parameters‬‬ ‫‪a‬‬


‫ؽ‪١‬ش ‪٠‬زُ اٌزؼبًِ ِؼ‪ٙ‬ب ػٓ ىش‪٠‬ك اٌخقبئـ اٌخبفخ ٌىً ِؼبًِ ٔظبَ (ٔؾذد ِؼبًِ إٌظبَ ‪ ِٓٚ‬صُ ٔنغو‬
‫ػٍ‪ٚ ) F4 ٝ‬خبفخ خبف‪١‬خ اٌم‪ّ١‬خ اإلثزذائ‪١‬خ ‪ِٚ Initial Value‬ؼبِالد إٌظبَ ٘‪: ٟ‬‬

‫‪ .1‬اىخيف‪ٞ‬ح ‪: Background‬‬
‫( ئفزشام‪١‬بً ل‪ّ١‬خ خبف‪١‬خ اٌم‪ّ١‬خ اإلثزذائ‪١‬خ ‪ٚ ) No‬ػٕذِب رى‪ Yes ْٛ‬فإٔب ٔغؼً اٌزمش‪٠‬ش ‪٠‬يجغ ف‪ ٟ‬اٌخٍف‪١‬خ ث‪ّٕ١‬ب‬
‫ٔؾٓ ٔ‪ٛ‬افً اٌؼًّ ف‪ ٟ‬ثشاِظ أخش‪، ٜ‬‬

‫‪ .2‬ػذد اىْغخ ‪: Copies‬‬


‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ ػذد ٔغخ اٌزمش‪٠‬ش اٌّيج‪ٛ‬ع ( ئفزشام‪١‬بً ل‪ّ١‬خ خبف‪١‬خ اٌم‪ّ١‬خ اإلثزذائ‪١‬خ ‪، ) 1‬‬

‫‪ .3‬اىؼَيح ‪: Currency‬‬
‫‪ٚ‬رؼٕ‪ِ ٟ‬ب ٘‪ ٛ‬اٌشِض اٌز‪ ٞ‬رش‪٠‬ذ ئمبفزٗ ثغبٔت األسلبَ أصٕبء ىجبػخ اٌزمش‪٠‬ش (ِضالً ٔىزت ‪ Y.R‬أ‪ ٞ‬س‪٠‬بي ‪، )ّٟٕ٠‬‬

‫‪ .4‬اىف٘اطو اىؼشش‪ٝ‬ح ‪: Decimal‬‬


‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ اٌشِض اٌّغزخذَ ِغ اٌف‪ٛ‬افً اٌؼؾش‪٠‬خ (ِضالً ٔىزت اٌشِض ‪ ,‬أ‪ ٚ‬اٌشِض ‪ ،‬أ‪ ٚ‬اٌشِض ‪، ).‬‬

‫‪ .5‬ذْغ‪ٞ‬ق اىٖذف ‪: DesFormat‬‬


‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ ٔ‪ٛ‬ع اٌٍّف اٌز‪ ٞ‬ع‪١‬شعً ئٌ‪ ٗ١‬اٌزمش‪٠‬ش (فّضالً ً٘ رش‪٠‬ذٖ ثؾىً ٍِف ‪ html‬أ‪ٍِ ٚ‬ف ‪ Pdf‬أ‪ٍِ ٚ‬ف‬
‫‪ ... Rtf‬ئٌخ) ‪،‬‬

‫‪76‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪ .6‬ئعٌ اىٖذف ‪: DesName‬‬
‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ ئعُ اٌٍّف اٌز‪ ٞ‬ع‪١‬شعً ئٌ‪ ٗ١‬اٌزمش‪٠‬ش (ِف‪١‬ذح عذاً ئرا ٌُ رىٓ ٕ٘بن ىبثؼخ ِشرجيخ ثغ‪ٙ‬بص‬
‫اٌىّج‪ٛ١‬رش) ‪،‬‬

‫‪ّ٘ .7‬ع اىٖذف ‪: DesType‬‬


‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ ‪ٚ‬ع‪ٙ‬خ اٌيجبػخ ً٘ ٘‪ ٟ‬ئٌ‪ ٝ‬اٌؾبؽخ ‪ Screen‬أَ ئٌ‪ ٝ‬اٌيبثؼخ ‪... Printer‬ئٌخ (ثبٌيجغ اٌيجبػخ‬
‫ئٌ‪ ٝ‬اٌؾبؽخ أعشع ِٓ اٌيجبػخ ػٍ‪ ٝ‬اٌيبثؼخ ثغجت أْ ظ‪ٛٙ‬س اٌقفؾخ األ‪ ِٓ ٌٝٚ‬اٌزمش‪٠‬ش ػٍ‪ ٝ‬اٌؾبؽخ‬
‫ال‪٠‬غزغشق ‪ٚ‬لزبً ى‪٠ٛ‬الً ث‪ّٕ١‬ب ظ‪ٛٙ‬س اٌقفؾخ األ‪ ٌٝٚ‬ف‪ٚ ٟ‬سق اٌيبثؼخ ‪٠‬زيٍت أ‪ٚ‬الً رٕغ‪١‬ك عّ‪١‬غ اٌقفؾبد لجً‬
‫اٌجذء ثؼٍّ‪١‬خ اٌيجبػخ) ‪،‬‬

‫‪ .8‬اىَْط ‪: Mode‬‬
‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ ِب ئرا وٕذ رش‪٠‬ذ أْ ‪٠‬يجغ رمش‪٠‬شن ثؾىً ف‪ٛ‬سح ‪ Bitmap‬أَ أؽشف ‪، Character‬‬

‫‪ .9‬اإلذدآ ‪: Orientation‬‬
‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ ئرغبٖ ىجبػخ اٌزمش‪٠‬ش ً٘ ٘‪ ٟ‬أفم‪١‬خ ‪ Landscape‬أَ ػّ‪ٛ‬د‪٠‬خ ‪، Portrait‬‬

‫‪ٗ .10‬ظ‪ٞ‬فح اىطاتؼح ‪: PrintJob‬‬


‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ ً٘ ٔش‪٠‬ذ ئظ‪ٙ‬بس ؽبؽخ خقبئـ اٌيبثؼخ لجً اٌزمش‪٠‬ش أَ ال (ئفزشام‪١‬بً ل‪ّ١‬خ خبف‪١‬خ اٌم‪ّ١‬خ‬
‫اإلثزذائ‪١‬خ ‪، ) Yes‬‬

‫‪ .11‬ا‪ٟ‬الف ‪: Thousands‬‬
‫‪ٚ‬رؼٕ‪ ٟ‬رؾذ‪٠‬ذ رٕغ‪١‬ك ا‪٢‬الف (ِضالً ‪. ) 99.999‬‬

‫‪User Parameters‬‬ ‫‪.b‬‬


‫‪، SQL Query Statement‬‬ ‫‪ٚ‬ىش‪٠‬مخ ئٔؾبء ِؼبًِ ِغزخذَ ‪٠‬ؼزّذ ئػزّبداً وٍ‪١‬بً ػٍ‪ ٝ‬عٍّخ اإلعزؼالَ‬
‫‪ٚ‬اٌز‪ٔ ٟ‬قً ئٌ‪ٙ١‬ب ثزؾذ‪٠‬ذ اٌـ( ‪) Data Model‬‬
‫‪Object‬‬ ‫اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‬
‫‪ ) Navigator‬صُ ‪:‬‬

‫‪ٔ ‬نغو ‪ٌ F2‬زظ‪ٙ‬ش ٔبفزح ف‪ٙ١‬ب‬


‫اإلعزؼالِبد اٌّ‪ٛ‬ع‪ٛ‬دح ٌٍزمش‪٠‬ش (ؽبٌ‪١‬بً‬
‫‪ ) Q_1‬فٕٕمش ػٍ‪ٙ١‬ب ٔمشاً ِضد‪ٚ‬عبً ٌ‪١‬ظ‪ٙ‬ش‬
‫اإلعزؼالَ ‪،‬‬
‫‪ ‬أ‪ٔ ٚ‬ؾذد اإلعزؼالِبد ‪ Queries‬صُ‬
‫ٔنغو ‪ٚ F2‬ثٕفظ اٌيش‪٠‬مخ ‪.‬‬
‫ٌٕمُ ثامبفخ ِؼبًِ ِغزخذَ ‪ٚ‬رٌه ثزؼذ‪ً٠‬‬
‫عٍّخ اإلعزؼالَ (ؽبٌ‪١‬بً ‪ٔٚ ) Q_1‬ىزت ف‪ٙ١‬ب‬

‫‪١ٌٚ Where STU_SEC = :SECN‬قجؼ‬


‫ٌذ‪ٕ٠‬ب ا‪ِ ْ٢‬ؼبًِ ِغزخذَ عذ‪٠‬ذ ٘‪ٚ ، SECN ٛ‬رٌه ثؼذ ظ‪ٛٙ‬س سعبٌخ اٌزأو‪١‬ذ اٌز‪ ٟ‬رخجشٔب ثأٔٗ لذ رُ ئٔؾبء‬
‫ِؼبًِ ِٓ لِجً اٌّغزخذَ ؟!!‪..‬‬

‫‪77‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ٔم‪ َٛ‬ا‪ ْ٢‬ثزؾذ‪٠‬ذ ِؼبًِ اٌّغزخذَ اٌغذ‪٠‬ذ ‪ّٕٔٚ SECN‬ؾٗ اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Data Type‬‬ ‫‪Number‬‬

‫‪2‬‬ ‫‪Initial Value‬‬ ‫‪4‬‬

‫‪3‬‬ ‫‪List of Values‬‬ ‫…‪More‬‬

‫ؽ‪١‬ش ٔؼي‪ٛٔ ٟ‬ع اٌج‪١‬بٔبد ‪ٌّ Data Type‬ؼبًِ اٌّغزخذَ ‪ SECN‬اٌم‪ّ١‬خ‬


‫‪١ٙٔٚ Number‬ئٗ ثم‪ّ١‬خ ئثزذائ‪١‬خ ‪ٚ 4 ٟ٘ Initial Value‬وزٌه ٔؾذد ل‪ّ١‬خ‬
‫خبف‪١‬خ اٌمبئّخ اٌّشوجخ ‪ ِٓ List of Value‬خالي اٌؾبؽخ اٌز‪ٔ ٟ‬ؾذد‬
‫ث‪ٛ‬اعيز‪ٙ‬ب أْ اٌمبئّخ اٌّشوجخ رغٍت ل‪ّٙ١‬ب ِٓ لبػذح اٌج‪١‬بٔبد أ‪ ٞ‬د‪ٕ٠‬بِ‪١‬ى‪١‬خ‬
‫(خَيح ‪ ِٓٚ ) Select‬صُ ٔم‪ َٛ‬ثغٍت عٍّخ اإلعزؼالَ ػٓ ىش‪٠‬ك صس ثشٔبِظ‬
‫ثبٔ‪ ٟ‬اإلعزؼالَ ‪ٚ‬ثبٌيش‪٠‬مخ اٌّ‪ٛ‬مؾخ ٌذ‪ٕ٠‬ب ِغجمبً أ‪ ٚ‬وزبثز‪ٙ‬ب ِجبؽشح ف‪ٟ‬‬
‫ِؾشس عًّ اإلعزؼالَ ; ‪، Select * From Section‬‬

‫‪ٚ‬ا‪ ْ٢‬الؽظ ػٕذ رٕف‪١‬ز اٌزمش‪٠‬ش و‪١‬ف رظ‪ٙ‬ش ؽبؽخ ئػذاداد اٌيجبػخ ‪ٟ٘ٚ‬‬
‫‪ٚ Section‬اٌّغّ‪ٝ‬‬ ‫ِؾز‪٠ٛ‬خ ػٍ‪ِ ٝ‬ؼبًِ اٌّغزخذَ اٌخبؿ ثبأللغبَ‬
‫‪ٚ ، Enter‬الؽظ ّٔ‪ٛ‬رط‬ ‫‪ٌٕٚ ، SECN‬خزبس اٌم‪ّ١‬خ اٌز‪ٔ ٟ‬ش‪٠‬ذ صُ ٔنغو‬
‫اٌّؼبِالد ‪ Parameter Form‬ػٕذِب ٔم‪ َٛ‬ثزؾذ‪٠‬ذٖ صُ ٔنغو ‪ٌٕ F2‬ؾب٘ذ‬
‫اٌؾبؽخ اٌز‪ ٟ‬رظ‪ٙ‬ش ِؼبِالد اٌزمش‪٠‬ش وبٍِخ ‪. Form‬‬

‫‪ٚ‬ثٕفظ اٌيش‪٠‬مخ ئرا أسدٔب ئمبفخ ِؼبًِ ِغزخذَ خبؿ تاىَغر٘‪ ٙ‬رى‪ْٛ‬‬
‫اٌخي‪ٛ‬اد وبٌزبٌ‪: ٟ‬‬

‫‪ .1‬ئمبفخ اٌّؼبًِ ػٓ ىش‪٠‬ك رؼذ‪ ً٠‬عٍّخ اإلعزؼالَ فـٕىزت ف‪ٙ١‬ب‬


‫‪١ٌٚ Where LVL_SEC = :LVLN‬قجؼ ٌذ‪ٕ٠‬ب ا‪ِ ْ٢‬ؼبًِ ِغزخذَ عذ‪٠‬ذ‬
‫٘‪، LVLN ٛ‬‬

‫]‬ ‫‪ .2‬رؼذ‪ ً٠‬خقبئـ اٌّؼبًِ (ٔ‪ٛ‬ع اٌج‪١‬بٔبد – اٌم‪ّ١‬خ اإلثزذائ‪١‬خ – اٌمبئّخ اٌّشوجخ ‪ٚ‬اٌز‪ٔ ٟ‬غؼٍ‪ٙ‬ب ئعزبر‪١‬ى‪١‬خ‬
‫ل‪ ُ١‬صبثزخ [ ػٓ ىش‪٠‬ك وزبثخ اٌم‪ّ١‬خ صُ اٌنغو ػٍ‪ ٝ‬اٌضس ئمبفخ ‪٘ٚ‬ىزا ثبٌٕغجخ ٌجم‪١‬خ اٌم‪. )ُ١‬‬

‫‪78‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪System Parameters‬‬

‫ِٓ لبئّخ أدٗاخ ٔخزبس األِش تاّ‪َّ٘ ٜ‬رج ٍؼاٍو ‪...‬‬

‫…‪ٌٕ Tools  Parameter Form Builder‬ؾب٘ذ‬


‫‪ٚ‬ع‪ٛ‬د عّ‪١‬غ ِؼبِالد إٌظبَ ‪System Parameters‬‬
‫‪ِٚ‬ؼبِالد اٌّغزخذَ إٌّؾئخ ‪، User Parameters‬‬
‫‪ٝ‬ظثر‬ ‫فٕم‪ َٛ‬ثزؾذ‪٠‬ذ اٌّؼبًِ اٌز‪ٔ ٞ‬ش‪٠‬ذ ظ‪ٛٙ‬سٖ (‬
‫ٍظيالً أع٘د اىيُ٘ ) ‪ٔٚ‬ىزت أِبَ وً ِؼبًِ اٌؼٕ‪ٛ‬اْ‬
‫اٌز‪ٔ ٞ‬شغت ف‪ ٟ‬ئظ‪ٙ‬بسٖ فّضالً ثذالً ِٓ ظ‪ٛٙ‬س ِؼبًِ‬
‫‪ٔ SECN‬غؼٍٗ سلُ‬ ‫اٌّغزخذَ (اٌمغُ) ثبٌؼٕ‪ٛ‬اْ‬
‫اٌمغُ ‪ٌٚ ،‬زظ‪ٙ‬ش سعبٌخ رأو‪١‬ذ ئخز‪١‬بس اٌّؼبِالد‬
‫‪ٌٕٚ‬ؾب٘ذ ف‪ّٛٔ ٟ‬رط اٌّؼبِالد ‪Parameter Form‬‬
‫و‪١‬ف رٕنبف ئٌ‪ ٗ١‬ثم‪١‬خ اٌّؼبِالد اٌز‪ ٟ‬لّٕب ثأزمبئ‪ٙ‬ب ‪.‬‬

‫‪79‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫=======================================================================‬
‫=========‬

‫ذيَ‪ٞ‬ر ‪:‬‬ ‫‪‬‬


‫ئرا أسدٔب أْ ٕٔؾئ رمش‪٠‬ش ‪٠‬ؼًّ ػٍ‪ ٝ‬ئ‪٠‬غبد ث‪١‬بٔبد ِٓ سلُ ئٌ‪ ٝ‬سلُ ِؼ‪ ٓ١‬أ‪ ِٓ ٚ‬ربس‪٠‬خ ئٌ‪ ٝ‬ربس‪٠‬خ ِؼ‪ ٓ١‬فأٗ‬
‫‪٠‬غت ػٍ‪ٕ١‬ب أْ ٔم‪ َٛ‬ثزؼش‪٠‬ف ِؼبٍِ‪ِ ٟ‬غزخذَ ث‪ٛ‬اعيخ رؼذ‪ ً٠‬عٍّخ اإلعزؼالَ ‪ ِٓٚ‬صُ رؼذ‪ ً٠‬خقبئـ‬
‫اٌّؼبٍِ‪ٛٔ( ٓ١‬ع اٌج‪١‬بٔبد – اٌم‪ّ١‬خ اإلثزذائ‪١‬خ – اٌمبئّخ‬
‫اٌّشوجخ) ‪.‬‬

‫‪‬‬

‫‪ٌٚ‬ؼًّ رٌه فإٔب عٕم‪ َٛ‬ثّب ‪: ٍٟ٠‬‬

‫‪ . a‬ئمبفخ ِؼبٍِ‪ِ ٟ‬غزخذَ ػٓ ىش‪٠‬ك رؼذ‪ ً٠‬عٍّخ اإلعزؼالَ ‪SQL Query Statement‬‬
‫‪ٚ‬رٌه ثىزبثخ ‪And STU_Lvl Between :No1 and :No2‬‬

‫‪١ٌٚ‬قجؼ ٌذ‪ٕ٠‬ب ِؼبٍِ‪ِ ٟ‬غزخذَ عذ‪٠‬ذ‪ّ٘ ٓ٠‬ب ‪ٚ ، No2 ٗ No1‬رٌه ثؼذ ظ‪ٛٙ‬س سعبٌخ اٌزأو‪١‬ذ اٌز‪ ٟ‬رخجشٔب ثأٔٗ‬
‫لذ رُ ئٔؾبء اٌّؼبٍِ‪ ِٓ ٓ١‬لِجً اٌّغزخذَ ؟!!‪..‬‬

‫‪ٔ . b‬ؼي‪ ٟ‬اٌّؼبًِ األ‪ٚ‬ي ‪ٚ‬اٌّؼبًِ اٌضبٔ‪ ٟ‬اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬


‫‪Property‬‬ ‫‪Value‬‬ ‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Data Type‬‬ ‫‪Number‬‬ ‫‪1‬‬ ‫‪Data Type‬‬ ‫‪Number‬‬

‫‪2‬‬ ‫‪Initial Value‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪Initial Value‬‬ ‫‪4‬‬

‫‪ٌٕٚ‬ظ‪ٙ‬ش ػجبسح ( ٍِ ٍغر٘‪ ٙ‬سقٌ ) أِبَ اٌّؼبًِ ‪ٚ No1‬ػجبسح (ئى‪ٍ ٚ‬غر٘‪ ٙ‬سقٌ) أِب اٌّؼبًِ ‪ٚ No2‬رٌه‬
‫ِٓ خالي لبئّخ أدٗاخ ٔخزبس األِش تاّ‪َّ٘ ٜ‬رج ٍؼاٍو ‪Tools  Parameter Form Builder… ...‬‬

‫‪User‬‬ ‫‪ِٚ System Parameters‬ؼبِالد اٌّغزخذَ إٌّؾئخ‬ ‫ٌٕؾب٘ذ ‪ٚ‬ع‪ٛ‬د عّ‪١‬غ ِؼبِالد إٌظبَ‬
‫‪ ، Parameters‬فٕىزت أِبَ اٌّؼبًِ ‪ No1‬اٌؼٕ‪ٛ‬اْ (ٍِ ٍغر٘‪ ٙ‬سقٌ) ‪ٚ‬أِبَ اٌّؼبًِ ‪ No2‬اٌؼٕ‪ٛ‬اْ (ئى‪ٚ‬‬
‫ٍغر٘‪ ٙ‬سقٌ) ‪.‬‬

‫‪Layout Model‬‬ ‫‪‬‬

‫‪80‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ؽ‪١‬ش ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ(‪ ) Layout Model‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ٔٚ ) Object Navigator‬نغو ‪ٌ F2‬زظ‪ٙ‬ش اٌؾبؽخ‬
‫اٌّؾز‪٠ٛ‬خ ػٍ‪١٘ ٝ‬ىٍ‪١‬خ اٌؼشك ( اىٖ‪ٞ‬نو اىشئ‪ٞ‬غ‪ ٜ‬ىيرقش‪ٝ‬ش ) أ‪ ٞ‬اٌّؾز‪ ٞٛ‬ػٍ‪ ٝ‬اٌؾم‪ٛ‬ي ‪ٚ Fields‬اٌؼٕب‪ٓ٠ٚ‬‬
‫‪ّ٠ٚ ، Label‬ىٓ أْ ٔززجغ ِى‪ٔٛ‬بد ّٔ‪ٛ‬رط إٌغك ‪ ِٓ Layout Model‬خالي ؽبؽخ اٌـ( ‪ ) Object Navigator‬أ‪ٚ‬‬
‫ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬اٌخبؿ ثؾبؽخ اٌـ( ‪ ) Layout Model‬ؽ‪١‬ش‬
‫ر‪ٛ‬عذ األسثغ األ‪٠‬م‪ٔٛ‬بد اٌزبٌ‪١‬خ ‪:‬‬

‫‪ٍ .1‬قطغ اىشأط ‪: Header‬‬


‫رظ‪ٙ‬ش أ‪ٚ‬ي ففؾخ فمو ‪ٚ‬رزى‪ ِٓ ْٛ‬عغُ ‪٘ٚ‬بِؼ ‪،‬‬

‫‪ .2‬اىَقطغ اىشئ‪ٞ‬غ‪: Body ٜ‬‬


‫رظ‪ٙ‬ش ففؾبد اٌزمش‪٠‬ش ‪ٚ‬رزى‪ ِٓ ْٛ‬عغُ ‪٘ٚ‬بِؼ ‪ ،‬ؽ‪١‬ش ‪٠‬زى‪ْٛ‬‬
‫ِميغ اٌغغُ ِٓ ِغّ‪ٛ‬ػبد ‪ Groups‬وً ِغّ‪ٛ‬ػخ ٌ‪ٙ‬ب ث‪١‬بٔبد غ‪١‬ش‬
‫‪Repeating Frame‬‬ ‫رىشاس‪٠‬خ ‪ Frame‬وبٌؼٕب‪ٚ ٓ٠ٚ‬ث‪١‬بٔبد رىشاس‪٠‬خ‬
‫وبٌؾم‪ٛ‬ي ٘زٖ اٌّغّ‪ٛ‬ػبد ػذد٘ب ِشرجو ثٕ‪ٛ‬ع اٌزمش‪٠‬ش فّضالً‬
‫( اىدذٗى‪َٝ ٜ‬ريل ٍدَ٘ػح ٗازذج فقط ‪ ) Group‬ف‪ ٟ‬اٌذسط اٌمبدَ ثارْ اهلل عٕزؾذس ػٓ ٘زٖ إٌميخ‬
‫اٌ‪ٙ‬بِخ ثؾىً رفق‪ ٍٟ١‬أوضش ‪.‬‬

‫‪ٍ .3‬قطغ اىَإخشج ‪: Footer‬‬


‫رظ‪ٙ‬ش آخش ففؾخ فمو ‪ٚ‬رزى‪ ِٓ ْٛ‬عغُ ‪٘ٚ‬بِؼ ‪،‬‬

‫‪ .4‬ذسش‪ٝ‬ش اىٖاٍش ‪: Margin‬‬


‫رظ‪ٙ‬ش ٘‪ٛ‬اِؼ اٌزمش‪٠‬ش ‪.‬‬

‫=======================================================================‬
‫=========‬

‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬


‫‪ ‬ئرا أسدد ئظ‪ٙ‬بس اٌؼٕب‪ ٓ٠ٚ‬ػٍ‪ ٝ‬وً ففؾخ ف‪ ٟ‬اٌزمش‪٠‬ش (سلُ اٌيبٌت – ئعُ اٌيبٌت ‪ ... -‬ئٌخ)‬
‫ف‪١‬غت ئػيبء اٌم‪ّ١‬خ ‪ٌٍ All Pages‬خبف‪١‬خ ‪ٚ Print Job On‬رٌه ف‪ ٟ‬خقبئـ اٌج‪١‬بٔبد اٌغ‪١‬ش ِزىشسح ‪.‬‬

‫رّزٍه اٌخبف‪١‬خ ‪ Print Job On‬اٌم‪ ُ١‬اٌزبٌ‪١‬خ ‪:‬‬ ‫‪‬‬


‫‪٠ : All Pages‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬عّ‪١‬غ اٌقفؾبد ‪،‬‬ ‫‪.1‬‬
‫‪٠ : All But First Page‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬عّ‪١‬غ اٌقفؾبد ػذا اٌقفؾخ األ‪، ٌٝٚ‬‬ ‫‪.2‬‬
‫‪٠ : All But Last Page‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬عّ‪١‬غ اٌقفؾبد ػذا اٌقفؾخ األخ‪١‬شح ‪،‬‬ ‫‪.3‬‬
‫‪٠ : Default‬أخز اٌم‪ّ١‬خ اٌّؾذدح ف‪ِ ٟ‬ؾشس اٌزغغ‪، Registry ً١‬‬ ‫‪.4‬‬
‫‪٠ : First Page‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬اٌقفؾخ األ‪ ٌٝٚ‬فمو ‪،‬‬ ‫‪.5‬‬
‫‪٠ : Last Page‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬اٌقفؾخ األخ‪١‬شح فمو ‪.‬‬ ‫‪.6‬‬

‫‪ ‬ثاِىبٔه وزبثخ ِب رش‪٠‬ذ ِٓ ػجبساد ر‪ٛ‬م‪١‬ؾ‪١‬خ أ‪ ٚ‬رشؽ‪١‬ج‪١‬خ ِٓ خالي ِميغ اٌشأط ِضالً ‪ٚ‬وبٌزبٌ‪: ٟ‬‬
‫ٔؾذد (َّ٘رج اىْغق) اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ٍ ِٕٗٚ ) Object Navigator‬قطغ اىشأط ‪ ِٕٗٚ‬اىدغٌ صُ‬
‫ٔنغو ػٍ‪١ٌ F2 ٝ‬ظ‪ٙ‬ش إٌّ‪ٛ‬رط اٌخبؿ ثبٌغغُ ‪ Form‬فٕم‪ َٛ‬ثاخز‪١‬بس اٌؼٕقش ‪ ِٓ Display Item‬ؽش‪٠‬و‬
‫األد‪ٚ‬اد ‪ٌٕٚ‬ىزت (عبِؼخ اٌؼٍ‪ٚ َٛ‬اٌزىٕ‪ٌٛٛ‬ع‪١‬ب فشع رؼض) ‪ٔٚ‬غ‪١‬ش ِب ‪ٍ٠‬ضَ ِٓ ئػذاداد ِضً ٔ‪ٛ‬ع اٌخو ‪ٚ‬ؽغّٗ ‪ٌْٛٚ‬‬
‫األِبِ‪١‬خ ‪ ٌْٛٚ‬اٌخٍف‪١‬خ ‪ ...‬ئٌخ ‪ٚ ،‬الؽظ ثؼذ٘ب ظ‪ٛٙ‬س ٘زٖ اٌقفؾخ ػٕذ ثذا‪٠‬خ رٕف‪١‬ز اٌزمش‪٠‬ش ألٔ‪ٙ‬ب ف‪ ٟ‬عضء اٌغغُ‬
‫ِٓ ِميغ اٌشأط ‪.‬‬

‫‪81‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪82‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫احملاضرة العاشرة‬

‫‪Groups‬‬ ‫‪‬‬
‫لجً اٌخ‪ٛ‬ك ثّفب٘‪ ُ١‬اٌّغبِ‪١‬غ ‪٠‬غت أْ ٔؼشف ِبرا رؼٕ‪ ٟ‬اإلىبساد ف‪ ٟ‬اٌزمبس‪٠‬ش‪ ٟ٘ٚ‬وبٌزبٌ‪: ٟ‬‬

‫‪ .1‬اإلطاس اىغ‪ٞ‬ش ذنشاس‪: Frame ٛ‬‬


‫ؽ‪١‬ش رظ‪ٙ‬ش ف‪ ٗ١‬اٌج‪١‬بٔبد اٌغ‪١‬ش رىشاس‪٠‬خ وبٌؼٕب‪ٚ ٓ٠ٚ‬اٌز‪٠ ٟ‬زُ عٍت ث‪١‬بٔبر‪ٙ‬ب ِشح ‪ٚ‬اؽذح أصٕبء ػٍّ‪١‬خ رؾغ‪ ً١‬اٌزمش‪٠‬ش‬
‫‪،‬‬

‫‪٠ٚ‬شِض ٌٗ ثشِض اإلىبس إٌّمو ‪،‬‬

‫‪ .2‬اإلطاس اىرنشاس‪: Repeating Frame ٛ‬‬


‫ؽ‪١‬ش رظ‪ٙ‬ش ف‪ ٗ١‬اٌج‪١‬بٔبد اٌزىشاس‪٠‬خ وبٌؾم‪ٛ‬ي ‪ٚ‬اٌز‪٠ ٟ‬زُ عٍت ث‪١‬بٔبر‪ٙ‬ب أوضش ِٓ ِشح أصٕبء ػٍّ‪١‬خ رؾغ‪ ً١‬اٌزمش‪٠‬ش ‪،‬‬

‫‪٠ٚ‬شِض ٌٗ ثشِض اإلىبس إٌّمو اٌّؾز‪ ٞٛ‬ػٍ‪ ٝ‬ع‪ٚ ُٙ‬رٌه ٌٍذالٌخ ػٍ‪ ٝ‬اٌزىشاس ‪ ( ،‬ػذد اٌزىشاس ‪٠‬ى‪ ْٛ‬ثؼذد‬
‫اٌغغالد) ‪.‬‬

‫ٍثاه ٍثغط ‪:‬‬ ‫‪‬‬

‫ئرْ ففؾبد اٌزمش‪٠‬ش رزى‪ ِٓ ْٛ‬سأط ‪ٚ‬عغُ ‪ِٚ‬إخشح ‪ٌٚ‬ىً ِٕ‪ٙ‬ب عغُ ‪٘ٚ‬بِؼ ‪ٚ ،‬ف‪ ٟ‬عغُ اٌزمش‪٠‬ش ‪٠‬زى‪ْٛ‬‬
‫ِميغ اٌغغُ ِٓ ِغّ‪ٛ‬ػبد ‪ Groups‬وً ِغّ‪ٛ‬ػخ ٌ‪ٙ‬ب ث‪١‬بٔبد غ‪١‬ش رىشاس‪٠‬خ ‪ Frame‬وبٌؼٕب‪ٚ ٓ٠ٚ‬ث‪١‬بٔبد رىشاس‪٠‬خ‬
‫‪ Repeating Frame‬وبٌؾم‪ٛ‬ي ‪٠ٚ ،‬غت أْ ٔف‪ ُٙ‬اٌمبػذح اٌزبٌ‪١‬خ أصٕبء رقّ‪ ُ١‬رمش‪٠‬ش ِب ‪:‬‬

‫مو ٍدَ٘ػح ‪ Group‬ىٖا ئطاس ذنشاس‪ Repeating Frame ٛ‬خاص تٖا أ‪ ٛ‬أُ‬

‫ػذد اىَدَ٘ػاخ = ػذد اإلطاساخ اىرنشاس‪ٝ‬ح‬

‫‪83‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪‬‬

‫ٌٕٕؾئ رمش‪٠‬ش ‪ٛ٠‬مؼ اٌؼاللخ ‪ Relation‬ث‪ ٓ١‬اٌّبدح ‪ٚ‬اٌيالة اٌذاسع‪ٌٙ ٓ١‬ب ثؾ‪١‬ش ٔغٍت اٌؾم‪ٛ‬ي (سلُ اٌّبدح –‬
‫ئعُ اٌّبدح – سلُ اٌمغُ – ئعُ اٌمغُ) ِٓ عذ‪ٚ‬ي ‪ٚ Subject‬اٌؾم‪ٛ‬ي (سلُ اٌيبٌت – ئعُ اٌيبٌت) ِٓ‬
‫عذ‪ٚ‬ي ‪ ٚ ، Stu‬ث‪ٛ‬اعيخ ِؼبٌظ اٌزمبس‪٠‬ش ٔغؼً ٔ‪ٛ‬ع اٌزمش‪٠‬ش (ذدَ‪ٞ‬غ ىي‪ٞ‬غاس) ‪ٌٚ‬زىٓ عٍّخ اإلعزؼالَ وبٌزبٌ‪: ٟ‬‬

‫‪Select Sub_No , Sub_Name , Sub_Sec , Sub_Lvl , Stu_No , Stu_Name From‬‬


‫; ‪Subject , Stu Where Sub_Sec = Stu_Sec And Sub_Lvl = Stu_Lvl‬‬

‫‪ٌٕ ٚ‬الؽظ ثؼذ٘ب ظ‪ٛٙ‬س ؽبؽخ عذ‪٠‬ذح ريبٌت ثزؾذ‪٠‬ذ اٌّغّ‪ٛ‬ػبد اٌز‪ٔ ٟ‬ش‪٠‬ذ ئظ‪ٙ‬بس اٌج‪١‬بٔبد ف‪ٙ١‬ب ‪ٚ‬رٌه ثغجت‬
‫ئخز‪١‬بسٔب ٌٕ‪ٛ‬ع رمش‪٠‬ش غ‪١‬ش اىْ٘ع اىدذٗى‪ٗ ٜ‬اىز‪ٝ ٛ‬رنُ٘ ٍِ ٍدَ٘ػح ٗازذج فقط ‪ ،‬أِب ؽبٌ‪١‬بً ‪ٚ‬ثاخز‪١‬بسٔب ٌٕ‪ٛ‬ع‬
‫اٌزغّ‪١‬غ ٌٍ‪١‬غبس فغٕم‪ َٛ‬ثٕمً اٌؾم‪ٛ‬ي (سلُ اٌّبدح – ئعُ اٌّبدح – سلُ اٌمغُ – ئعُ اٌمغُ) وّغّ‪ٛ‬ػخ‬
‫أ‪ ٌٝٚ‬أِب ثم‪١‬خ اٌؾم‪ٛ‬ي فغزٕذسط ِجبؽشح رؾذ ِظٍخ اٌّغّ‪ٛ‬ػخ األخ‪١‬شح ‪ٕ٘ ٟ٘ٚ‬ب اٌضبٔ‪١‬خ ‪ ،‬صُ ٔىًّ ثم‪١‬خ‬
‫ِزيٍجبد ِؼبٌظ اٌزمش‪٠‬ش ‪ٌٕٚ‬ؾب٘ذ ثؼذ٘ب ىش‪٠‬مخ ػشك ٘زا اٌزمش‪٠‬ش ‪.‬‬

‫ذيَ‪ٞ‬ر ‪:‬‬ ‫‪‬‬


‫ئرا أسدد ئٔؾبء ِغّ‪ٛ‬ػخ أخش‪ ٜ‬فؾذد اٌّغّ‪ٛ‬ػخ األ‪ ٟ٘ٚ ٌٝٚ‬ثاعُ ٍغر٘‪ 1ٙ‬صُ أمف ثم‪١‬خ اٌؾم‪ٛ‬ي ٌزشا٘ب‬
‫ٍغر٘‪ٚ ، 2 ٙ‬ال رٕغ‪ ٝ‬أْ رجم‪ ٟ‬ؽم‪ٛ‬الً ٌززجغ ِجبؽشح‬ ‫لذ أم‪١‬فذ ِجبؽشح ئٌ‪ِ ٝ‬غّ‪ٛ‬ػخ عذ‪٠‬ذح ثاعُ‬
‫اٌّغّ‪ٛ‬ػخ األخ‪١‬شح ‪.‬‬

‫‪84‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪Object‬‬ ‫َّ٘رج اىث‪ٞ‬اّاخ ) اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‬ ‫‪ٌٍٚ‬زأوذ ِٓ ػذد اٌّغّ‪ٛ‬ػبد اٌز‪ ٟ‬رى‪ٔٛ‬ذ ٔؾذد (‬
‫‪ٍ ِٕٗٚ ) Navigator‬دَ٘ػاخ ‪ٌٕٚ‬ؾب٘ذ أْ اٌّغّ‪ٛ‬ػبد اٌز‪ ٟ‬رى‪ٔٛ‬ذ ٌذ‪ٕ٠‬ب ؽبٌ‪١‬بً‬
‫٘‪ِ ٟ‬غّ‪ٛ‬ػز‪: ٓ١‬‬

‫اٌّغّ‪ٛ‬ػخ األ‪( : ٌٝٚ‬سلُ اٌّبدح – ئعُ اٌّبدح – سلُ اٌمغُ – ئعُ اٌمغُ) ‪،‬‬

‫اٌّغّ‪ٛ‬ػخ اٌضبٔ‪١‬خ ‪( :‬سلُ اٌيبٌت – ئعُ اٌيبٌت) ‪.‬‬

‫‪ٌٚ‬ىٕٕب ٔالؽظ أ‪٠‬نبً أْ ‪:‬‬

‫اٌّغّ‪ٛ‬ػخ األ‪ ٟ٘ G_SUB_NO ٌٝٚ‬أة ٌٍّغّ‪ٛ‬ػخ اٌضبٔ‪١‬خ ‪ٚ ، G_STU_NO‬ثبٌزبٌ‪٠ ٟ‬غت ػٍ‪ٕ١‬ب رؾذ‪٠‬ذ‬
‫اٌّقذس اٌشئ‪١‬غ‪( ٟ‬اٌّغّ‪ٛ‬ػخ اٌّجبؽشح) ٌىً ئىبس رىشاس‪ ِٓ ٞ‬خالي اٌخبف‪١‬خ ‪ٚ Source‬رٌه ٌز‪ٛ‬مغ ؽم‪ٛ‬ي‬
‫اٌج‪١‬بٔبد ػٍ‪ ٗ١‬ألْ رٌه ِف‪١‬ذ عذاً خبفخ ػٕذ ػٍّ‪١‬بد ئمبفخ ؽم‪ٛ‬ي عذ‪٠‬ذح ػٍ‪ ٝ‬اٌزمش‪٠‬ش ‪٠‬ذ‪٠ٚ‬بً ‪ ، Manually‬ألْ‬
‫اإلىبس اٌزىشاس‪ ٞ‬ثبٌٕغجخ ٌؾم‪ٛ‬ي اٌج‪١‬بٔبد اٌّز‪ٛ‬مؼخ ػٍ‪ ٗ١‬ثّضبثخ اىقَاش‪ٞ‬ح ‪ Canvas‬فال ‪ّ٠‬ىٓ أْ ‪ٕ٠‬فز اٌزمش‪٠‬ش‬
‫ػٕذِب رز‪ٛ‬مغ اٌؾم‪ٛ‬ي خبسعٗ ‪.‬‬

‫=======================================================================‬
‫=========‬

‫‪Formula‬‬ ‫‪‬‬
‫ئرا أسدٔب ف‪ ٟ‬اٌزمش‪٠‬ش اٌغبثك أْ ٔظ‪ٙ‬ش ئعٌ اىَغر٘‪ ٙ‬ثغ‪ٛ‬اس سلُ اٌّغز‪ ٜٛ‬عٕالؽظ أٔٗ غ‪١‬ش ِز‪ٛ‬فش ف‪ ٟ‬عذ‪ٚ‬ي‬
‫‪ٚ Subject‬ال ف‪ ٟ‬عذ‪ٚ‬ي ‪ٚ Stu‬أٔٗ ِ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬عذ‪ٚ‬ي آخش ٌُ ٔمُ ثغٍجٗ ‪ ٛ٘ٚ‬عذ‪ٚ‬ي ‪ٌ Lvl‬زٌه عٕن‪١‬ف ئعُ‬
‫اٌّغز‪ ٜٛ‬ثاعزخذاَ ؽمً ف‪١‬غخ ‪ٚ Formula‬وبٌزبٌ‪: ٟ‬‬

‫)‬ ‫أٗالً) ٔم‪ َٛ‬ثزؾذ‪٠‬ذ ( َّ٘رج اىث‪ٞ‬اّاخ‬


‫اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ( ‪) Object Navigator‬‬
‫‪ٔٚ‬نغو ‪ٌ F2‬زظ‪ٙ‬ش ٔبفزح ف‪ٙ١‬ب اإلعزؼالِبد‬
‫اٌّ‪ٛ‬ع‪ٛ‬دح ٌٍزمش‪٠‬ش (ؽبٌ‪١‬بً ‪ ِٓٚ ) Q_1‬ؽش‪٠‬و‬
‫األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ٔ ٞ‬ن‪١‬ف ػَ٘د ط‪ٞ‬غح ئٌ‪ٝ‬‬
‫داخً اٌّغّ‪ٛ‬ػخ األ‪ٌٕٚ G_SUB_NO ٌٝٚ‬ش‪ٜ‬‬
‫أٔٗ لذ رى‪ ْٛ‬ؽش‪٠‬و رّش‪٠‬ش ػٕذ ئمبفزٗ فٕم‪َٛ‬‬
‫ثز‪ٛ‬عؼخ ػشك ػٕبفش اٌّغّ‪ٛ‬ػخ (ٔالؽظ أْ‬
‫ئعُ ػّ‪ٛ‬د اٌق‪١‬غخ اإلفزشام‪، ) CF_1 ٛ٘ ٟ‬‬

‫ثاّ‪ٞ‬اً) ٔم‪ َٛ‬ثزؾذ‪٠‬ذ ػٕقش ػّ‪ٛ‬د اٌق‪١‬غخ ‪CF_1‬‬


‫‪ٔٚ‬نغو ‪ٌٕ F4‬ؼذي خقبئقٗ وبٌزبٌ‪: ٟ‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪85‬‬ ‫‪1‬‬ ‫‪Data Type‬‬ ‫‪Char‬‬

‫‪2‬‬ ‫‪PL/SQL Formula‬‬ ‫…‪More‬‬


‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫ٌ‪١‬ىٓ ٔ‪ٛ‬ع اٌج‪١‬بٔبد ‪ ِٓ Data Type‬إٌ‪ٛ‬ع اٌّؾشف‪ٌٕٚ Char ٟ‬ىزت ف‪ ٟ‬خبف‪١‬خ ‪ PL/SQL Formula‬اٌزبٌ‪: ٟ‬‬

‫‪FUNCTION CF_1FORMULA RETURN CHAR IS‬‬

‫;)‪X Varchar2(50‬‬

‫‪BEGIN‬‬

‫‪Select Lvl_Name Into X From Lvl‬‬

‫; ‪Where Lvl_No = :Sub_Lvl‬‬

‫; ‪Return X‬‬

‫;‪END‬‬

‫ثاىثاً) ٕٔؾئ ِٓ ؽش‪٠‬و األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ٞ‬‬


‫اٌزبثغ ٌـ(َّ٘رج اىْغق ‪) Layout Model‬‬
‫ِب ‪: ٍٟ٠‬‬

‫‪ ‬ػْظش زقو ‪: Field‬‬


‫ٌٕؼشك اٌج‪١‬بٔبد داخٍٗ صُ ٔغؼٍٗ ف‪ ٟ‬اإلىبس‬
‫اٌزىشاس‪ ٞ‬األة ‪ G_SUB_NO‬ثؼذ فزؼ لفً‬
‫ى‪ٛ‬س اإلؽز‪ٛ‬اء ِٓ ؽش‪٠‬و األد‪ٚ‬اد األفم‪ٟ‬‬
‫ٌٍغّبػ ثامبفخ اٌؾمً ‪ٚ ،‬ال ٕٔغ‪ ٝ‬سثيٗ ِغ‬
‫‪Source‬‬ ‫ػّ‪ٛ‬د ف‪١‬غخ ِٓ خالي اٌخبف‪١‬خ‬
‫‪ٚ‬رٌه ثؼذ رؾذ‪٠‬ذٖ ‪ٚ‬مغو ‪، F4‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪Source‬‬ ‫‪CF_1‬‬

‫‪ ‬ػْظش ّض ‪: Display‬‬
‫ٌ‪ٛ١‬مؼ ػٕ‪ٛ‬اْ ػّ‪ٛ‬د اٌق‪١‬غخ ‪١ٌٚ‬ىٓ (ئعُ اٌّغز‪. )ٜٛ‬‬

‫‪86‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪SQL Query‬‬ ‫‪‬‬
‫ئرا أسدٔب ف‪ ٟ‬اٌزمش‪٠‬ش اٌغبثك أْ ٔظ‪ٙ‬ش ئعٌ اىقغٌ ثغ‪ٛ‬اس سلُ اٌمغُ عٕالؽظ أٔٗ غ‪١‬ش ِز‪ٛ‬فش ف‪ ٟ‬عذ‪ٚ‬ي‬
‫‪ٚ Subject‬ال ف‪ ٟ‬عذ‪ٚ‬ي ‪ٚ Stu‬أٔٗ ِ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬عذ‪ٚ‬ي آخش ٌُ ٔمُ ثغٍجٗ ‪ ٛ٘ٚ‬عذ‪ٚ‬ي ‪ٌ Section‬زٌه عٕن‪١‬ف‬
‫ئعُ اٌمغُ ثاعزخذاَ اإلعـزـؼالَ ‪ٚ SQL Query‬وبٌزبٌ‪: ٟ‬‬

‫أٗالً) ٔم‪ َٛ‬ثزؾذ‪٠‬ذ (َّ٘رج اىث‪ٞ‬اّاخ) اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ( ‪ٔٚ ) Object Navigator‬نغو ‪ٌ F2‬زظ‪ٙ‬ش ٔبفزح‬
‫ف‪ٙ١‬ب اإلعزؼالِبد اٌّ‪ٛ‬ع‪ٛ‬دح ٌٍزمش‪٠‬ش (ؽبٌ‪١‬بً ‪ ِٓٚ ) Q_1‬ؽش‪٠‬و األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ٔ ٞ‬ن‪١‬ف ئعرؼالً ‪ٕ١ٌ SQL‬ؾئ‬
‫ئعزؼالَ عذ‪٠‬ذ ٘‪ٌٚ (Q_2) ٛ‬زظ‪ٙ‬ش لجً رٌه ؽبؽخ ‪ٚ‬اٌز‪ّ٠ ٟ‬ىٕه ِٓ خالٌ‪ٙ‬ب رؾش‪٠‬ش عٍّخ اإلعزؼالَ ِجبؽشح‬
‫…‪ Build SQL Query‬أ‪ٚ‬‬ ‫ف‪ SQL Query Statement ٟ‬أ‪ ٚ‬ثٕبء٘ب ِٓ عذ‪٠‬ذ ِٓ خالي ثشٔبِظ ثبٔ‪ ٟ‬اإلعزؼالَ‬
‫…‪Connect‬‬ ‫ئعز‪١‬شاد٘ب ِٓ ٍِف …‪ٕ٘ٚ Import SQL Query‬بن أ‪٠‬نبً صس اإلرقبي ئْ ٌُ رىٓ ِزقالً ثبٌمبػذح‬
‫فٕىزت ‪:‬‬

‫; ‪Select * From Section‬‬

‫ثاّ‪ٞ‬اً) ٕٔؾئ ِٓ ؽش‪٠‬و األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ ٞ‬اٌزبثغ ٌـ(َّ٘رج اىْغق ‪ِ ) Layout Model‬ب ‪: ٍٟ٠‬‬

‫‪ ‬ػْظش زقو ‪: Field‬‬


‫ٌٕؼشك اٌج‪١‬بٔبد داخٍٗ صُ ٔغؼٍٗ ف‪ ٟ‬ئىبسٖ اٌزىشاس‪ٌٚ ٞ‬ىٓ أ‪ ٛ٘ ٓ٠‬ئىبسٖ اٌزىشاس‪ ٞ‬فٍذ‪ٕ٠‬ب ا‪ ْ٢‬صالس ِغّ‪ٛ‬ػبد‬
‫‪: ٟ٘ٚ‬‬

‫اٌّغّ‪ٛ‬ػخ األ‪ ٟ٘ G_SUB_NO ٌٝٚ‬أة ٌٍّغّ‪ٛ‬ػخ اٌضبٔ‪١‬خ ‪، ) Q_1 ِٓ( G_STU_NO‬‬

‫‪ٚ‬اٌّغّ‪ٛ‬ػخ اٌضبٌضخ ‪ٚ ، ) Q_2 ِٓ( G_SEC_NO‬ثؾغت اٌمبػذح اٌز‪ ٟ‬رم‪ٛ‬ي أْ ‪:‬‬

‫ػذد اىَدَ٘ػاخ = ػذد اإلطاساخ اىرنشاس‪ٝ‬ح‬

‫ف‪١‬غت ػٍ‪ٕ١‬ب ِٓ أْ ٕٔؾئ لجً وً ؽ‪ٟ‬ء ِب ‪٠‬غّ‪ ٝ‬تـ(اإلطاس اىرنشاس‪ٚ ) Repeating Frame ٛ‬رٌه ِٓ‬
‫ؽش‪٠‬و األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ ٞ‬اٌزبثغ ٌـ( َّ٘رج اىْغق ‪ ، ) Layout Model‬صُ ٔ‪ٛ‬مغ ػٕقش ؽمً ‪ Filed‬داخٍٗ‬
‫‪ٕ١ٌٚ‬زّ‪ ٟ‬ئٌ‪ٚ ، ٗ١‬ال ٕٔغ‪ ٝ‬سثيٗ ِغ ئعُ اٌمغُ ِٓ خالي اٌخبف‪١‬خ ‪ٚ Source‬رٌه ثؼذ رؾذ‪٠‬ذٖ ‪ٚ‬مغو ‪، F4‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪Source‬‬ ‫‪SEC_NAME‬‬

‫‪ ‬ػْظش ّض ‪: Display‬‬
‫ٌ‪ٛ١‬مؼ ػٕ‪ٛ‬اْ ػّ‪ٛ‬د اٌق‪١‬غخ ‪١ٌٚ‬ىٓ (ئعُ اٌمغُ) ‪.‬‬

‫ثاىثاً) ٔم‪ َٛ‬ثزؾذ‪٠‬ذ (َّ٘رج اىث‪ٞ‬اّاخ) اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ٔٚ ) Object Navigator‬نغو ‪ٌ F2‬زظ‪ٙ‬ش ٔبفزح‬
‫ف‪ٙ١‬ب اإلعزؼالِبد اٌّ‪ٛ‬ع‪ٛ‬دح ٌٍزمش‪٠‬ش (ؽبٌ‪١‬بً ‪ ِٓٚ ) Q_1 & Q_2‬ؽش‪٠‬و األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ٔ ٞ‬ن‪١‬ف ستط اىث‪ٞ‬اّاخ‬
‫‪ Data Link‬ث‪ ٓ١‬سلُ اٌمغُ ِٓ اٌّغّ‪ٛ‬ػخ اٌضبٌضخ (إٌّزّ‪١‬خ إلعزؼالَ ‪ ) Q_2‬سلُ اٌمغُ ِٓ اٌّغّ‪ٛ‬ػخ‬
‫األ‪( ٌٝٚ‬إٌّزّ‪١‬خ إلعزؼالَ ‪ ِٓ ) Q_1‬خالي ػٍّ‪١‬خ اٌغؾت ‪ٚ‬اإلفالد ثؾ‪١‬ش ‪٠‬زُ اٌغؾت ِٓ أؽذ اٌّغّ‪ٛ‬ػز‪ٓ١‬‬
‫‪ٚ‬اإلفالد ئٌ‪ ٝ‬اٌّغّ‪ٛ‬ػخ األخش‪ ( ٜ‬تاىطثغ ىسقو سقٌ اىقغٌ ‪ ، ) SEC_NO & SUB_SEC‬وً رٌه ِٓ أعً‬
‫أْ ‪٠‬زُ رٕف‪١‬ز اإلعزؼالِ‪ ٓ١‬ع‪٠ٛ‬خ ‪ٚ‬ال ‪ٕ٠‬فز وً ئعزؼالَ ِٕفقالً ػٓ اإلعزؼالَ ا‪٢‬خش ‪.‬‬

‫‪87‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪ٚ‬الؽظ ف‪َّ٘ ٟ‬رج اىث‪ٞ‬اّاخ أٔٗ لذ أم‪١‬ف ِغّ‪ٛ‬ػخ ئعزؼالَ عذ‪٠‬ذح ف‪ ٟ‬عضء (اإلعزؼالِبد) ‪ِٚ‬غّ‪ٛ‬ػخ عذ‪٠‬ذح‬
‫ف‪ ٟ‬عضء (اٌّغّ‪ٛ‬ػبد) ‪ٚ‬ساثو ث‪١‬بٔبد عذ‪٠‬ذ ف‪ ٟ‬عضء (س‪ٚ‬اثو اٌج‪١‬بٔبد) ‪.‬‬

‫=======================================================================‬
‫=========‬

‫ٍالزظح ٕاٍح ‪:‬‬ ‫‪‬‬


‫ٌُ‬ ‫‪ ‬رفنً اإلمبفخ ثـاعـزـخـذاَ ؽـمـً فـ‪١‬ـغـخ ‪ Formula‬ألٔ‪ٙ‬ب أعشع ثبٌزٕف‪١‬ز ‪ٚ‬أع‪ ِٓ ًٙ‬أعً أٔ‪ٙ‬ب‬
‫رزيٍت ئٔؾبء ‪:‬‬
‫‪ .1‬ئعرؼالً ‪، SQL‬‬
‫‪ .2‬ئطاس ذنشاس‪، Repeating Frame ٛ‬‬
‫‪ .3‬ستط اىث‪ٞ‬اّاخ ‪. Data Link‬‬

‫‪Summary‬‬ ‫‪‬‬
‫ف‪ ٟ‬وض‪١‬ش ِٓ األؽ‪١‬بْ ٔؾزبط ئٌ‪ ٝ‬ئمبفخ ر‪ٛ‬اثغ رغّ‪١‬ؼ‪١‬خ ٌٍزمش‪٠‬ش (اىَدَ٘ع – اىَر٘عط – اىسذ أدّ‪ – ٚ‬اىسذ‬
‫أقظ‪ – ٚ‬اىؼذد – أٗه – أخ‪ٞ‬ش – ٍِ اإلخَاى‪ - % ٜ‬اإلّسشاف اىَؼ‪ٞ‬اس‪ – ٛ‬اىرفاٗخ) ‪ٚ‬رٌه ثغشك ػًّ‬
‫رٍخ‪١‬ـ ر‪ٛ‬م‪١‬ؾ‪ٌ ٟ‬ج‪١‬بٔبد اٌغغالد خبفخ ػٕذِب ‪٠‬ى‪ ْٛ‬ؽغُ اٌج‪١‬بٔبد ف‪ ٟ‬اٌزمش‪٠‬ش وج‪١‬ش عذاً ‪ٚ ،‬وّضبي ػٍ‪ ٝ‬رٌه‬
‫ٌ‪ ٛ‬أسدٔب ف‪ ٟ‬اٌزمش‪٠‬ش اٌغبثك أْ ٔظ‪ٙ‬ش ػذد اىَ٘اد اىر‪ ٜ‬ذٌ ذذس‪ٝ‬غٖا فغزى‪ ْٛ‬اٌخي‪ٛ‬اد وّب ‪: ٍٟ٠‬‬

‫أٗالً) ٔم‪ َٛ‬ثزؾذ‪٠‬ذ (َّ٘رج اىث‪ٞ‬اّاخ) اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ( ‪ٔٚ ) Object Navigator‬نغو ‪ٌ F2‬زظ‪ٙ‬ش ٔبفزح‬
‫ف‪ٙ١‬ب اإلعزؼالِبد اٌّ‪ٛ‬ع‪ٛ‬دح ٌٍزمش‪٠‬ش (ؽبٌ‪١‬بً ‪ ِٓٚ ) Q_1 & Q_2‬ؽش‪٠‬و األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ٔ ٞ‬ن‪١‬ف ػَ٘د ٍيخض‬
‫ئٌ‪ ٝ‬داخً اٌّغّ‪ٛ‬ػخ األ‪ٌٕٚ G_SUB_NO ٌٝٚ‬ش‪ ٜ‬أٔٗ لذ رى‪ ْٛ‬ؽش‪٠‬و رّش‪٠‬ش ػٕذ ئمبفزٗ فٕم‪ َٛ‬ثز‪ٛ‬عؼخ ػشك‬
‫ػٕبفش اٌّغّ‪ٛ‬ػخ ( ٔالؽظ أْ ئعُ ػّ‪ٛ‬د ٍِخـ اإلفزشام‪، ) CS_1 ٛ٘ ٟ‬‬

‫‪88‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ثاّ‪ٞ‬اً) ٔم‪ َٛ‬ثزؾذ‪٠‬ذ ػٕقش ػّ‪ٛ‬د ٍِخـ ‪ٔٚ CS_1‬نغو ‪ٌٕ F4‬ؼذي خقبئقٗ وبٌزبٌ‪: ٟ‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Function‬‬ ‫اٌؼذد‬

‫‪2‬‬ ‫‪Source‬‬ ‫‪Sub_No‬‬

‫‪3‬‬ ‫‪Reset act‬‬ ‫‪Page‬‬

‫ٌ‪١‬ىٓ اٌزبثغ اٌزغّ‪١‬ؼ‪ ٛ٘ ٟ‬اٌؼذد ‪١ٌٚ Counter‬ىٓ ِقذسٖ سلُ اٌّبدح ‪ٌٕٚ Sub_No‬غؼً ئػبدح رؼ‪ ٓ١١‬ػّ‪ٛ‬د‬
‫ٍِخـ ٘زا ف‪ ٟ‬وً ففؾخ ‪١ٌٚ Page‬ظ وً رمش‪٠‬ش ‪ ( Report‬أ‪ ٛ‬ف‪ ٜ‬مو طفسح ‪ٝ‬رٌ اىردَ‪ٞ‬غ ىيؼذاد ثٌ‬
‫ف‪ ٜ‬تذا‪ٝ‬ح اىظفسح اىدذ‪ٝ‬ذج ‪ٝ‬رٌ ذظف‪ٞ‬ش اىؼذاد ٗى‪ٞ‬ثذأ اىؼذاد تؼَي‪ٞ‬ح اىردَ‪ٞ‬غ ٍِ خذ‪ٝ‬ذ مو طفسح‬
‫ػي‪ ٚ‬زذٓ) ‪،‬‬

‫ثاىثاً) ٕٔؾئ ِٓ ؽش‪٠‬و األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ ٞ‬اٌزبثغ ٌـ(َّ٘رج اىْغق ‪ِ ) Layout Model‬ب ‪: ٍٟ٠‬‬

‫‪ ‬ػْظش زقو ‪: Field‬‬


‫ٌٕؼشك اٌج‪١‬بٔبد داخٍٗ صُ ٔغؼٍٗ ف‪ ٟ‬اإلىبس اٌزىشاس‪ ٞ‬األة ‪ G_SUB_NO‬ثؼذ فزؼ لفً ى‪ٛ‬س اإلؽز‪ٛ‬اء ِٓ ؽش‪٠‬و‬
‫األد‪ٚ‬اد األفم‪ٌٍ ٟ‬غّبػ ثامبفخ اٌؾمً ‪ٚ ،‬ال ٕٔغ‪ ٝ‬سثيٗ ِغ ػّ‪ٛ‬د ٍِخـ ِٓ خالي اٌخبف‪١‬خ ‪ٚ Source‬رٌه‬
‫ثؼذ رؾذ‪٠‬ذٖ ‪ٚ‬مغو ‪، F4‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪Source‬‬ ‫‪CS_1‬‬

‫‪ ‬ػْظش ّض ‪: Display‬‬
‫ٌ‪ٛ١‬مؼ ػٕ‪ٛ‬اْ ػّ‪ٛ‬د اٌق‪١‬غخ ‪١ٌٚ‬ىٓ (ػذد اٌّ‪ٛ‬اد) ‪.‬‬

‫=======================================================================‬

‫ذيَ‪ٞ‬ر ‪:‬‬ ‫‪‬‬


‫ِٓ اٌّّىٓ أ‪٠‬نبً ئمبفخ ػٕقش ‪ٛ٠‬مؼ ػذد اٌيالة اٌذاسع‪ٌ ٓ١‬ىً ِبدح ‪ٚ‬ثٕفظ اٌيش‪٠‬مخ ‪.‬‬

‫‪89‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫احملاضرة احلادية عشر‬

‫‪Menus‬‬ ‫‪‬‬
‫‪ ٟ٘ٚ‬اٌم‪ٛ‬ائُ إٌّغذٌخ ف‪ ٟ‬ثذا‪٠‬خ رؾغ‪ ً١‬اٌجشٔبِظ ‪ ِٓٚ‬اٌّؼٍ‪ َٛ‬أْ اٌم‪ٛ‬ائُ ف‪ Oracle ٟ‬رأخز ٍِفبً ِغزمالً‬
‫ثؾ‪١‬ش ٔغزي‪١‬غ ئعزذػبء ٍِف‪ٙ‬ب اٌزٕف‪١‬ز‪ ِٓ ٞ‬أ‪ ٞ‬ثشٔبِظ ‪ٚ‬لذ روشٔب عبثمبً أٔٗ ػٕذ ػٍّ‪١‬ز‪: ٟ‬‬

‫‪ ‬ؽفظ اٌم‪ٛ‬ائُ ‪٠ Save‬ز‪ٌٛ‬ذ ٍِف ِقذس‪ Source ٞ‬ر‪ ٚ‬ئِزذاد ‪٠ٚ *.MMB‬ؾغٍٗ ثشٔبِظ ‪Form Builder‬‬
‫‪ ‬اٌزشعّخ ‪٠ Compile‬ز‪ٌٛ‬ذ ٍِف رٕف‪١‬ز‪ Execute ٞ‬ر‪ ٚ‬ئِزذاد ‪٠ٚ *.MMX‬ؾغٍٗ ثشٔبِظ ‪، Forms Runtime‬‬
‫ى‪ٞ‬ظ رىل فسغة تو ‪ٝ‬دة أُ ذنُ٘ اىْغخح اىرْف‪ٞ‬ز‪ٝ‬ح ٍْرَ‪ٞ‬ح ئى‪ٍ MODULEٚ‬ؼ‪ ِٞ‬إلذَاً ػَي‪ٞ‬ح‬
‫اىرْف‪ٞ‬ز‬

‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪‬‬

‫ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ(‪ ) Menus‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ ) Object Navigator‬صُ ‪ٕ١ٌ Create‬ؾئ ٌٕب ئعّبً ئفزشام‪١‬بً‬
‫ٌٍمبئّخ إٌّؾئخ فٕؾذد٘ب صُ ٕٔمش ٔمشاً ِضد‪ٚ‬عبً ٌزقّ‪ ُ١‬اٌمبئّخ‬
‫‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫‪90‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ٌٕىزت ف‪ِ ٟ‬ؾشس اٌم‪ٛ‬ائُ ػٕ‪ٛ‬اْ اٌمبئّخ األ‪ ( ٌٝٚ‬اىثشاٍح) صُ ٕٔؾئ اٌؼٕبفش اٌزبثؼخ ٌ‪ٙ‬زٖ اٌمبئّخ ِٓ خالي‬
‫ئخز‪١‬بس األِش ‪ ِٓ Create Down‬اٌمبئّخ ‪ Menu‬اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٔ ٟ‬بفزح ِؾشس اٌم‪ٛ‬ائُ أ‪ ِٓ ٚ‬خالي األ‪٠‬م‪ٔٛ‬خ‬
‫اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬ف‪ٔ ٟ‬بفزح ِؾشس اٌم‪ٛ‬ائُ ‪ٔٚ‬ىزت ( تشّاٍح اىؼالقح ) ‪ٚ‬ثٕفظ اٌيش‪٠‬مخ‬
‫ٕٔؾئ اٌؼٕقش اٌضبٔ‪ٔٚ ٟ‬ىزت (تشّاٍح اىقائَح اىَشمثح) فبٌؼٕقش اٌضبٌش ثىزبثخ (تشّاٍح اىقَاش‪ٞ‬ح) فبٌؼٕقش‬
‫األخ‪١‬ش ( خشٗج) ‪ٔ ،‬م‪ َٛ‬ا‪ ْ٢‬ثبٌشع‪ٛ‬ع ئٌ‪ ٝ‬اٌؼٕقش اٌشئ‪١‬ظ ٌٍمبئّخ األ‪( ٌٝٚ‬اٌجشاِظ) ٌٕؾذد٘ب صُ ٕٔؾئ اٌمبئّخ‬
‫اٌّغب‪ٚ‬سح ٌ‪ٙ‬زٖ اٌمبئّخ ِٓ خالي ئخز‪١‬بس األِش ‪ ِٓ Create Right‬اٌمبئّخ ‪ Menu‬اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٔ ٟ‬بفزح ِؾشس‬
‫اٌم‪ٛ‬ائُ أ‪ ِٓ ٚ‬خالي األ‪٠‬م‪ٔٛ‬خ اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬ف‪ٔ ٟ‬بفزح ِؾشس اٌم‪ٛ‬ائُ ‪ٔٚ‬ىزت (اىرقاس‪ٝ‬ش) صُ‬
‫ٕٔؾئ اٌؼٕبفش اٌزبثؼخ ٌ‪ٙ‬زٖ اٌمبئّخ ِٓ خالي ئخز‪١‬بس األِش ‪ ِٓ Create Down‬اٌمبئّخ ‪ Menu‬اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٟ‬‬
‫ٔبفزح ِؾشس اٌم‪ٛ‬ائُ أ‪ ِٓ ٚ‬خالي اٌضس اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬ف‪ٔ ٟ‬بفزح ِؾشس اٌم‪ٛ‬ائُ ‪ٔٚ‬ىزت (ذقش‪ٝ‬ش‬
‫اىطالب) ‪ٚ‬ثٕفظ اٌيش‪٠‬مخ ٕٔؾئ اٌؼٕقش اٌضبٔ‪ٔٚ ٟ‬ىزت ( ذقش‪ٝ‬ش األقغاً) ‪ٚ ،‬ثزٌه ٔى‪ ْٛ‬لذ ئٔز‪ٕ١ٙ‬ب فمو ِٓ‬
‫ِشؽٍخ رقّ‪ ُ١‬اٌمبئّخ ٌٕالؽظ ف‪ ٟ‬اٌـ )‪ (Menus‬رى‪ ْٛ‬لبئّز‪ ٟ‬اٌجشاِظ ‪ٚ‬اٌزمبس‪٠‬ش ثبإلمبفخ ئٌ‪ ٝ‬لبئّخ ؽب‪٠ٚ‬خ‬
‫ٌٍمبئّز‪ ٓ١‬إٌّؾئز‪. ٓ١‬‬

‫زر‪ ٚ‬ا‪ ُٟ‬ال ‪َٝ‬نِ أُ ّ٘ىذ اىَيف اىرْف‪ٞ‬ز‪ ٛ‬ىؼذً ئزر٘اء اىقائَح ػي‪ ٚ‬أ‪ٝ‬ح شفشج ٍظذس‪ٝ‬ح‪Code‬‬

‫=======================================================================‬
‫=========‬

‫‪Menu Items‬‬ ‫‪‬‬

‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Enabled‬‬ ‫‪Yes‬‬
‫‪2‬‬ ‫‪Menu Item Type‬‬ ‫‪Plain‬‬
‫‪3‬‬ ‫‪Magic Item‬‬ ‫‪None‬‬
‫‪4‬‬ ‫‪Menu Item Code‬‬ ‫…‪More‬‬
‫‪5‬‬ ‫‪Visible in Menu‬‬ ‫‪Yes‬‬
‫‪6‬‬ ‫‪Visible in Horizontal Menu Toolbar‬‬ ‫‪No‬‬
‫‪7‬‬ ‫‪Visible in Vertical Menu Toolbar‬‬ ‫‪No‬‬
‫‪8‬‬ ‫‪Icon in Menu‬‬ ‫‪No‬‬
‫‪9‬‬ ‫‪Icon Filename‬‬

‫ششذ ٍثغط ‪:‬‬ ‫‪‬‬


‫رّزٍه خبف‪١‬خ ‪ Menu Item Type‬خّغخ ل‪ ُ١‬وً ل‪ّ١‬خ ٌ‪ٙ‬ب ‪ٚ‬ظ‪١‬فخ ِؼ‪ٕ١‬خ ‪ٚ‬وبٌزبٌ‪: ٟ‬‬ ‫‪‬‬
‫‪ ٟ٘ٚ : Plain . a‬اٌخبف‪١‬خ اإلفزشام‪١‬خ (رٕف‪١‬ز ؽفشح ِقذس‪٠‬خ ‪ Code‬فمو) ‪،‬‬
‫‪ : Check . b‬رظ‪ٙ‬ش اإلؽبسح ( ‪ٌ ) ‬زؼجش ػٓ اإلخز‪١‬بس اٌّزؼذد ‪ٚ‬رٌه ثغبٔت رٕف‪١‬ز اٌؾفشح اٌّقذس‪٠‬خ‬
‫‪، Code‬‬
‫‪ : Radio . c‬رظ‪ٙ‬ش اإلؽبسح ( ‪ٌ ) ‬زؼجش ػٓ اإلخز‪١‬بس اٌّفشد ‪ٚ‬رٌه ثغبٔت رٕف‪١‬ز اٌؾفشح اٌّقذس‪٠‬خ‬
‫‪، Code‬‬
‫‪ٌٛ٠ : Separator . d‬ذ خو فبفً فمو ‪ٚ‬ثذ‪ ْٚ‬وزبثخ أ‪ ٞ‬ؽفشح ِقذس‪٠‬خ ‪، Code‬‬
‫‪ٚ : Magic . e‬رأر‪ِ ٟ‬شرجيخ ِغ اٌخبف‪١‬خ ‪ٌٚ Magic Item‬زم‪ َٛ‬ثزٕف‪١‬ز ئعزذػبءاد ِؼشفخ ف‪ ٟ‬اٌٍغخ‬
‫ِغجمبً ِضً )‪ٟ٘ٚ (Cut , Copy , Paste , Clear , Undo , Help , About , Quit , Window‬‬
‫ِف‪١‬ذح ػٕذِب ٔش‪٠‬ذ رقّ‪ ُ١‬ػٕبفش ٌمبئّخ ؽج‪ٙ١‬خ ثبٌـ ‪. Edit‬‬

‫‪91‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ثبٌؼ‪ٛ‬دح ٌٍمبئّخ األ‪ ( ٌٝٚ‬اىثشاٍح) ٔن‪١‬ف ف‪ِ ٟ‬ؾشس اٌم‪ٛ‬ائُ ػٕقش فبفً ‪ SEPARATOR_ITEM‬لجً اٌؼٕقش‬ ‫‪‬‬
‫األخ‪١‬ش (خشٗج) ثؾ‪١‬ش ٔغؼً ٘زا اٌؼٕقش ‪ّ٠‬زٍه اٌم‪ّ١‬خ ‪ Separator‬اٌزبثؼخ ٌٍخبف‪١‬خ ‪Menu Item Type‬‬
‫‪.‬‬

‫ِٓ أُ٘ اٌخقبئـ خبف‪١‬خ ‪ ٟ٘ٚ Menu Item Code‬ثّضبثخ اٌـ‪ Trigger‬اٌز‪ ٞ‬ع‪١‬ىزت ِٓ خالٌٗ اٌؾفشح‬ ‫‪‬‬
‫اٌّقذس‪٠‬خ ‪ ٚ Code‬ثذ‪ٙٔٚ‬ب ال ‪ّ٠‬ىٓ أْ ‪٠‬ز‪ٌٛ‬ذ أ‪ٍِ ٞ‬ف رٕف‪١‬ز‪ٌٍ ٞ‬م‪ٛ‬ائُ ‪ ،‬لُ ؽبٌ‪١‬بً ثىزبثخ اٌزؼٍ‪ّ١‬خ‬
‫;‪ Execute_Query‬وؾفشح ٌىً ػٕبفش اٌمبئّخ ألٕٔب ٌُ ٔذسط ؽز‪ ٝ‬ا‪ ْ٢‬فمشح اٌشثو ِغ إٌّبرط األخش‪ٜ‬‬
‫‪. Forms‬‬

‫ػٕذ ئػيبء اٌم‪ّ١‬خ ‪ٌٍ No‬خبف‪١‬خ ‪ Visible in Menu‬فاْ اٌؼٕقش اٌّؾذد ِٓ اٌمبئّخ ال ‪٠‬ظ‪ٙ‬ش ‪٘ٚ‬زٖ اٌيش‪٠‬مخ‬ ‫‪‬‬
‫ِف‪١‬ذح ف‪ِٕ ٟ‬ؼ اٌقالؽ‪١‬بد ٌّغزخذِ‪ِ ٓ١‬ؼ‪. ٓ١ٕ١‬‬

‫‪ ‬ف‪ ٟ‬وض‪١‬ش ِٓ األؽ‪١‬بْ ٔؾزبط ئٌ‪ ٝ‬ئظ‪ٙ‬بس األ‪٠‬م‪ٔٛ‬بد ػٍ‪ ٝ‬ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬أ‪ ٚ‬اٌؼّ‪ٛ‬د‪ٌ ٞ‬زغش‪٠‬غ ػًّ‬
‫اٌجشٔبِظ ‪ٌٚ‬ز‪ٛ‬لغ اإلعزخذاَ ثىضشح ( أششطح األدٗاخ اىراتؼح ىيقائَح ٗى‪ٞ‬ظ ىيـ ‪) Canvas‬‬
‫‪ . a‬اٌخبف‪١‬خ ‪Visible in Horizontal Menu Toolbar‬‬
‫‪ . b‬اٌخبف‪١‬خ ‪Visible in Vertical Menu Toolbar‬‬
‫‪ٌٍ Yes‬خبف‪١‬خ ‪Icon in‬‬ ‫ػٕذ ئػيبئ‪ّٙ‬ب اٌم‪ّ١‬خ ‪٠ Yes‬ؼّالْ ػٍ‪ ٝ‬ئظ‪ٙ‬بس األ‪٠‬م‪ٔٛ‬خ ثبٌيجغ ثؼذ ئػيبء اٌم‪ّ١‬خ‬
‫‪. Menu‬‬

‫ثبإلِىبْ رقّ‪ ُ١‬أ‪٠‬م‪ٔٛ‬خ خبفخ ثبٌؼٕقش اٌز‪٠ ٞ‬زجغ اٌمبئّخ ِٓ خالي اٌخبف‪١‬خ ‪ٚ Icon Filename‬رٌه ثؼذ‬ ‫‪‬‬
‫ئػيبء اٌم‪ّ١‬خ ‪ٌٍ Yes‬خبف‪١‬خ ‪. Icon in Menu‬‬

‫ػٕذ رقّ‪ ُ١‬ثشٔبِظ ‪ٚ Form Builder‬أسدٔب ئػيبءٖ اٌمبئّخ إٌّؾئخ ف‪١‬ى‪ ْٛ‬رٌه ِٓ خالي ِٕؼ اٌٍّف‬ ‫‪‬‬
‫اٌزٕف‪١‬ز‪ٌٍ ٞ‬مبئّخ وم‪ّ١‬خ ٌٍخبف‪١‬خ ‪ Menu Module‬اٌزبثؼخ ٌٍـ ‪ٚ MODULE‬وبٌزبٌ‪: ٟ‬‬
‫‪Property‬‬ ‫‪Value‬‬
‫‪Menu Module‬‬ ‫‪C:\MAIN_MENU.MMX‬‬

‫‪Create‬‬ ‫الؽظ ف‪ِ ٟ‬ؾشس اٌم‪ٛ‬ائُ صس ‪ٚ Switch Orientation‬اٌز‪٠ ٞ‬ؼًّ ػٍ‪ ٝ‬رؾ‪ ً٠ٛ‬إٌّؾئ ثضس اٌـ‬ ‫‪‬‬
‫‪ Down‬ئٌ‪ٚ Create Right ٝ‬وزٌه رؾ‪ ً٠ٛ‬إٌّؾئ ثضس اٌـ ‪ Create Right‬ئٌ‪. Create Down ٝ‬‬

‫ئرا لّذ ثزؼذ‪ِ ً٠‬ب ػٍ‪ ٝ‬اٌمبئّخ ف‪١‬غت أْ رؾفظ رٌه‪ٚ File  Save‬رزشعّٗ ِٓ أعً أْ ‪٠‬ز‪ٌٛ‬ذ اٌٍّف‬ ‫‪‬‬
‫اٌزٕف‪١‬ز‪ ٞ‬اٌغذ‪٠‬ذ ‪. File  Administration  Compile File‬‬

‫إٌّؾئ ‪.‬‬
‫ح‬ ‫ٔالؽظ ػٕذ اٌزٕف‪١‬ز ‪ٚ‬ع‪ٛ‬د لبئّخ رغّ‪ّ( ٝ‬افزج ‪ ٟ٘ٚ ) Window‬رأر‪ ٟ‬ئفزشام‪١‬بً ِغ اٌم‪ٛ‬ائُ‬ ‫‪‬‬

‫‪ّ٠ ‬ىٓ اٌزؾىُ ثاغالق إٌّ‪ٛ‬رط ِٓ اٌزاوشح ِٓ خالي رؼٍ‪ّ١‬خ ; )''(‪، Close_Form‬‬
‫ؽ‪١‬ش ٔىزت ف‪ ٟ‬اٌّؼبًِ اٌّشعً ‪ argument‬ئعُ اٌجشٔبِظ ِجبؽشح ثذ‪ ْٚ‬روش اٌّغبس ألٔٗ ِ‪ٛ‬ع‪ٛ‬د ثبٌزاوشح ‪.‬‬

‫‪92‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪‬‬

‫‪Popup Menus‬‬
‫‪ ٟ٘ٚ‬اٌم‪ٛ‬ائُ اٌز‪ ٟ‬رٕجضك ػٕذِب ٔم‪ َٛ‬ثبٌٕمش ػٍ‪ ٝ‬صس اٌفأسح األ‪ٚ ّٓ٠‬رٌه ػٍ‪ ٝ‬اٌىبئٓ اٌز‪ ٞ‬فّّذ اٌمبئّخ‬
‫إٌّجضمخ ٌٗ ‪ٚ‬رخزٍف ئخزالفبً ع‪٘ٛ‬ش‪٠‬بً ػٓ اٌم‪ٛ‬ائُ ‪ Menus‬ف‪ ٟ‬أٔ‪ٙ‬ب ‪:‬‬

‫‪ . a‬ال رؾزبط ئٌ‪ٍِ ٝ‬ف ِغزمً إلٔؾبئ‪ٙ‬ب ‪ٚ‬ثبٌزبٌ‪ ٟ‬رقُّ داخً ثشٔبِظ اٌـ ‪، Form Builder‬‬
‫ال ‪ٚ‬اٌضس‬
‫‪ . b‬اٌزقّ‪ ُ١‬ف‪ٙ١‬ب ِؼى‪ٛ‬ط فبٌضس ‪ Create Down‬ال ‪ٌٛ٠‬ذ ػٕقشاً ِشؤ‪ٚ‬عبً ‪ٚ‬ئّٔب ‪ٌٛ٠‬ذ ػٕقشاً صِ‪ً ١‬‬
‫‪ Create Right‬ال ‪ٌٛ٠‬ذ ػٕقشاً صِ‪١‬الً ‪ٚ‬ئّٔب ‪ٌٛ٠‬ذ ػٕقشاً ِشؤ‪ٚ‬عبً ‪ٚ ،‬اٌغجت ف‪ ٟ‬رٌه ‪٠‬ؼ‪ٛ‬د ئٌ‪ ٝ‬ىج‪١‬ؼخ‬
‫ػًّ ‪ٚ‬ؽىً اٌم‪ٛ‬ائُ إٌّجضمخ ف‪ ٟٙ‬عبٔج‪١‬خ ‪١ٌٚ‬غذ ػّ‪ٛ‬د‪٠‬خ ‪.‬‬
‫‪ . c‬رُٕفز اٌمبئّخ إٌّجضمخ ِٓ خالي ثشٔبِظ اٌـ ‪. Form Builder‬‬
‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪‬‬

‫ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ(‪ ) Popup Menus‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ ) Object Navigator‬صُ ‪ٕ١ٌ Create‬ؾئ ٌٕب ئعّبً‬
‫ئفزشام‪١‬بً ٌٍمبئّخ إٌّؾئخ فٕؾذد٘ب صُ ٕٔمش ٔمشاً ِضد‪ٚ‬عبً ٌزقّ‪ُ١‬‬
‫اٌمبئّخ ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫ٌٕىزت ف‪ِ ٟ‬ؾشس اٌم‪ٛ‬ائُ ػٕ‪ٛ‬اْ اٌمبئّخ األ‪ٌٝٚ‬‬


‫(اىثشاٍح) صُ ٕٔؾئ اٌؼٕبفش اٌزبثؼخ ٌ‪ٙ‬زٖ اٌمبئّخ‬
‫ِٓ خالي ئخز‪١‬بس األِش ‪ ِٓ Create Right‬اٌمبئّخ ‪ Menu‬اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٔ ٟ‬بفزح ِؾشس اٌم‪ٛ‬ائُ أ‪ ِٓ ٚ‬خالي‬
‫تشّاٍح اىؼالقح ) ‪ٚ‬ثٕفظ‬ ‫األ‪٠‬م‪ٔٛ‬خ اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬ف‪ٔ ٟ‬بفزح ِؾشس اٌم‪ٛ‬ائُ ‪ٔٚ‬ىزت (‬
‫اٌيش‪٠‬مخ ٕٔؾئ اٌؼٕقش اٌضبٔ‪ٔٚ ٟ‬ىزت (تشّاٍح اىقائَح اىَشمثح) فبٌؼٕقش اٌضبٌش ثىزبثخ (تشّاٍح اىقَاش‪ٞ‬ح)‬

‫‪93‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫فبٌؼٕقش األخ‪١‬ش (خشٗج) ‪ٔ ،‬م‪ َٛ‬ا‪ ْ٢‬ثبٌشع‪ٛ‬ع ئٌ‪ ٝ‬اٌؼٕقش اٌشئ‪١‬ظ ٌٍمبئّخ األ‪( ٌٝٚ‬اٌجشاِظ) ٌٕؾذد٘ب صُ ٕٔؾئ‬
‫اٌمبئّخ اٌّغب‪ٚ‬سح ٌ‪ٙ‬زٖ اٌمبئّخ ِٓ خالي ئخز‪١‬بس األِش ‪ ِٓ Create Down‬اٌمبئّخ ‪ Menu‬اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٔ ٟ‬بفزح‬
‫ِؾشس اٌم‪ٛ‬ائُ أ‪ ِٓ ٚ‬خالي األ‪٠‬م‪ٔٛ‬خ اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬ف‪ٔ ٟ‬بفزح ِؾشس اٌم‪ٛ‬ائُ ‪ٔٚ‬ىزت‬
‫(اىرقاس‪ٝ‬ش) صُ ٕٔؾئ اٌؼٕبفش اٌزبثؼخ ٌ‪ٙ‬زٖ اٌمبئّخ ِٓ خالي ئخز‪١‬بس األِش ‪ ِٓ Create Right‬اٌمبئّخ ‪Menu‬‬
‫اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٔ ٟ‬بفزح ِؾشس اٌم‪ٛ‬ائُ أ‪ ِٓ ٚ‬خالي اٌضس األ‪٠‬م‪ٔٛ‬خ اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬ف‪ٔ ٟ‬بفزح‬
‫ِؾشس اٌم‪ٛ‬ائُ ‪ٔٚ‬ىزت (ذقش‪ٝ‬ش اىطالب) ‪ٚ‬ثٕفظ اٌيش‪٠‬مخ ٕٔؾئ اٌؼٕقش اٌضبٔ‪ٔٚ ٟ‬ىزت (ذقش‪ٝ‬ش األقغاً) ‪ٚ ،‬ثزٌه‬
‫)‪ (Menus‬رى‪ ْٛ‬لبئّز‪ ٟ‬اٌجشاِظ ‪ٚ‬اٌزمبس‪٠‬ش‬ ‫ٔى‪ ْٛ‬لذ ئٔز‪ٕ١ٙ‬ب فمو ِٓ ِشؽٍخ رقّ‪ ُ١‬اٌمبئّخ ٌٕالؽظ ف‪ ٟ‬اٌـ‬
‫ثبإلمبفخ ئٌ‪ ٝ‬لبئّخ ؽب‪٠ٚ‬خ ٌٍمبئّز‪ ٓ١‬إٌّؾئز‪. ٓ١‬‬

‫ا‪َٝ ُٟ‬نِ أُ ّْفز اىثشّاٍح ٍغ ػذً ئزر٘اء اىقائَح ػي‪ ٚ‬أ‪ٝ‬ح شفشج ٍظذس‪ٝ‬ح‪Code‬‬

‫=======================================================================‬
‫=========‬

‫‪Popup Menu Items‬‬ ‫‪‬‬


‫ٔفظ اٌخقبئـ اٌّؾش‪ٚ‬ؽخ ف‪ ٟ‬اٌم‪ٛ‬ائُ ‪، Menu‬‬

‫‪ . a‬ظ‪ٛٙ‬س اٌمبئّخ إٌّجضمخ ‪٠‬ى‪ ِٓ ْٛ‬خالي ِٕؾ‪ٙ‬ب ٌخبف‪١‬خ ‪ Popup Menu‬اٌّنّٕخ ف‪ ٟ‬خقبئـ (اٌؼٕبفش‬
‫‪ Items‬أ‪ ٚ‬اٌمّبؽ‪١‬خ ‪ ) Canvas‬فّضالً إلظ‪ٙ‬بس اٌمبئّخ اٌؾب‪٠ٚ‬خ ٌمبئّز‪ ٟ‬اٌجشاِظ ‪ٚ‬اٌزمبس‪٠‬ش ف‪ ٟ‬ػٕقش‬
‫‪ Display Item‬فإٔب ٔغؼً خقبئقٗ وبٌزبٌ‪: ٟ‬‬
‫‪Property‬‬ ‫‪Value‬‬
‫‪1‬‬ ‫‪Popup Menu SECONDARY_MENU‬‬
‫‪2‬‬ ‫‪Database Item‬‬ ‫‪No‬‬
‫‪ . b‬ال ر‪ٛ‬عذ أ‪٠‬م‪ٔٛ‬بر‪ٙ‬ب ػٍ‪ ٝ‬أؽشىخ األد‪ٚ‬اد األفم‪١‬خ أ‪ ٚ‬اٌؼّ‪ٛ‬د‪٠‬خ‬
‫أ‪ ٞ‬ال ر‪ٛ‬عذ ث‪ٙ‬ب خقبئـ ‪Visible in Vertical Menu ٚ Visible in Horizontal Menu Toolbar‬‬
‫‪، Toolbar‬‬

‫‪ . c‬ثبٌيجغ ال ‪ٚ‬ع‪ٛ‬د ٌٍٍّف اٌزٕف‪١‬ز‪ ٞ‬اٌّغزمً أ‪ ٚ‬لبئّخ رغّ‪ّ ( ٝ‬افزج ‪ ) Window‬رأر‪ ٟ‬ئفزشام‪١‬بً أصٕبء‬
‫اٌزٕف‪١‬ز ‪.‬‬

‫ٗا‪ ُٟ‬ئرا أسدٔب ئٔؾبء ػٕقش‪ ِٓ ٓ٠‬إٌ‪ٛ‬ع ‪ Display Item‬ثؾ‪١‬ش ٔغؼً أؽذّ٘ب ‪٠‬ظ‪ٙ‬ش لبئّخ اٌجشاِظ إٌّجضمخ‬
‫‪ٚ‬ا‪٢‬خش ‪٠‬ظ‪ٙ‬ش لبئّخ اٌزمبس‪٠‬ش إٌّجضمخ فّب ػٍ‪ٕ١‬ب ع‪ ٜٛ‬أْ ٔغؼً خقبئق‪ّٙ‬ب وبٌزبٌ‪: ٟ‬‬

‫‪Property‬‬ ‫‪Value‬‬ ‫‪Property‬‬ ‫‪Value‬‬


‫‪1‬‬ ‫‪Popup Menu‬‬ ‫‪_MENU‬اٌجشاِظ‬ ‫‪1‬‬ ‫‪Popup Menu‬‬ ‫‪_MENU‬اٌزمبس‪٠‬ش‬
‫‪2‬‬ ‫‪Database Item‬‬ ‫‪No‬‬ ‫‪2‬‬ ‫‪Database Item‬‬ ‫‪No‬‬

‫‪94‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫(‪(Report‬‬ ‫(‪(Form‬‬ ‫(‪(Forms‬‬ ‫‪‬‬
‫ػٕذ اٌزؾذس ػٓ ىشق سثو أوضش ِٓ ّٔ‪ٛ‬رط ‪٠‬زجبدس ئٌ‪ ٝ‬اٌز٘ٓ ِجبؽشح ِ‪ٛ‬م‪ٛ‬ع إٌّ‪ٛ‬رط األة ‪ٚ Parent‬إٌّ‪ٛ‬رط‬
‫اإلثٓ ‪ Child‬فبألة ‪٠‬غزذػ‪ ٟ‬اإلثٓ ‪ ، Calling‬رؾذ ِظٍخ ِب ‪٠‬ذػ‪ ٝ‬ث‪ٛ‬اع‪ٙ‬خ اٌّغزٕذاد اٌّزؼذدح ‪MDI(Multi‬‬
‫)‪ٚ Documents Interface‬ثبٌزبٌ‪ ٟ‬فاْ ىش‪٠‬مخ ئظ‪ٙ‬بس ّٔ‪ٛ‬رط آخش ِٓ ّٔ‪ٛ‬رط ؽبٌ‪ ٟ‬رخزٍف ِٓ ثشٔبِظ ئٌ‪ ٝ‬آخش‬
‫ؽغت ىج‪١‬ؼخ ػًّ اٌجشٔبِظ ‪٘ٚ‬زٖ اٌيشق ِ‪ّٙ‬ب ئخزٍفذ ف‪ٔ ٟٙ‬ز‪١‬غخ ٌٍنغو ػٍ‪ ٝ‬صس أ‪ ٚ‬لبئّخ سئ‪١‬غ‪١‬خ أ‪ ٚ‬لبئّخ‬
‫ِٕجضمخ ‪ٚ ،‬ىشق اٌشثو وّب ‪: ٍٟ٠‬‬

‫‪1. OPEN_FORM(Form_Name , Active_Mode , Session_Mode , Data_Mode ,‬‬


‫; )‪Paramlist_Name Or Paramlist_Id‬‬

‫‪2. CALL_FORM(FormModule_Name , Display , Switch_Menu , Query_Mode ,‬‬


‫; )‪Data_Mode , Paramlist_Name Or Paramlist_Id‬‬

‫‪3. RUN_PRODUCT(Product , Module , Comm_Mode , Exec_Mode , Location ,‬‬


‫; ) ‪Paramlist_Name Or Paramlist_Id , Display‬‬
‫ٍالزظح ٕاٍح ‪:‬‬ ‫‪‬‬
‫‪ ‬ال ‪ّ٠‬ىٓ اٌشثو ث‪ ٓ١‬اٌـ(‪ٚ (Form‬اٌـ(‪ (Report‬ئال ػٓ ثيش‪٠‬مخ اٌشثو ‪. Run_Product‬‬
‫=======================================================================‬
‫=========‬

‫‪ Open_Form‬‬ ‫‪‬‬

‫‪ٚ‬رّزٍه اٌـ ‪ arguments‬اٌزبٌ‪١‬خ ‪:‬‬

‫‪ .1‬ئعٌ اىَْ٘رج ‪: Form_name‬‬


‫ؽ‪١‬ش ٔىزت ٕ٘ب ِغبس اٌجشٔبِظ اإلثٓ اٌّشاد فزؾٗ ‪،‬‬

‫‪َّ .2‬ط اىرْش‪ٞ‬ط ‪: Active_Mode‬‬


‫ٌٗ ل‪ّ١‬ز‪ ٓ١‬ئِب ‪ Activate‬أ‪ ٞ‬أٔٗ ثؼذ فزؼ إٌّ‪ٛ‬رط اإلثٓ ع‪ٕ١‬زمً اٌّإؽش ِجبؽشح ئٌ‪ ٝ‬وُزً إٌّ‪ٛ‬رط اإلثٓ (‪ٛ٘ٚ‬‬
‫اإلفزشام‪ )ٟ‬أ‪ Non_ Activate ٚ‬أ‪ ٞ‬أٔٗ ثؼذ فزؼ إٌّ‪ٛ‬رط اإلثٓ ع‪١‬جم‪ ٝ‬اٌّإؽش ف‪ ٟ‬إٌّ‪ٛ‬رط األة ‪،‬‬

‫‪َّ .3‬ط اىديغح ‪: Session_Mode‬‬


‫ٌ‪ٙ‬ب ل‪ّ١‬ز‪ ٓ١‬ئِب ‪ٚ NO_Session‬رؼٕ‪ ٟ‬أْ إٌّ‪ٛ‬رط اإلثٓ ‪ٚ‬إٌّ‪ٛ‬رط األة ٌ‪١‬غ‪ٛ‬ا ف‪ ٟ‬عٍغخ ‪ٚ‬اؽذح ‪ٚ‬ثبٌزبٌ‪ ٟ‬ئرا‬
‫رُ ػًّ رضج‪١‬ذ أ‪ ٚ‬رشاعغ فأٗ ع‪١‬زُ ؽفظ اٌزغ‪١١‬شاد اٌز‪ ٟ‬ؽذصذ ػٍ‪ ٝ‬إٌّ‪ٛ‬رط اإلثٓ فمو (‪ ٛ٘ٚ‬اإلفزشام‪، )ٟ‬‬

‫أ‪ٚ Session ٚ‬رؼٕ‪ ٟ‬أْ إٌّ‪ٛ‬رط اإلثٓ ‪ٚ‬إٌّ‪ٛ‬رط األة ف‪ ٟ‬عٍغخ ‪ٚ‬اؽذح ‪ٚ‬ثبٌزبٌ‪ ٟ‬ئرا رُ ػًّ رضج‪١‬ذ أ‪ ٚ‬رشاعغ‬
‫فأٗ ع‪١‬زُ ؽفظ اٌزغ‪١١‬شاد اٌز‪ ٟ‬ؽذصذ ػٍ‪ ٝ‬إٌّ‪ٛ‬رط اإلثٓ ‪ٚ‬إٌّ‪ٛ‬رط األة ِؼبً ‪.‬‬

‫‪َّ .4‬ط اىث‪ٞ‬اّاخ ‪: Data_Mode‬‬


‫ٌ‪ٙ‬ب ل‪ّ١‬ز‪ ٓ١‬ئِب ‪ٚ No_Share_Library_Data‬رؼٕ‪ ٟ‬ػذَ ِؾبسوخ اٌج‪١‬بٔبد ٌّٕ‪ٛ‬رط األة ‪ٚ‬اإلثٓ ف‪ِ ٟ‬ىزجخ‬
‫ث‪١‬بٔبد ‪ٚ‬اؽذح (‪ ٛ٘ٚ‬اإلفزشام‪ )ٟ‬أ‪ٚ Share_Library_Data ٚ‬رؼٕ‪ِ ٟ‬ؾبسوخ اٌج‪١‬بٔبد ٌّٕ‪ٛ‬رط األة ‪ٚ‬اإلثٓ ف‪ٟ‬‬
‫ِىزجخ ث‪١‬بٔبد ‪ٚ‬اؽذح ‪.‬‬

‫‪ .5‬ئعٌ اىَؼاٍو أٗ سقٌ اىَؼاٍو ‪: Paramlist_Name Or Paramlist_Id‬‬


‫‪ٚ‬اٌز‪٠ ٞ‬غزخذَ ٌزّش‪٠‬ش (ئسعبي) ِزؾ‪ٛ‬الد ِٓ إٌّ‪ٛ‬رط األة ئٌ‪ ٝ‬إٌّ‪ٛ‬رط اإلثٓ ‪.‬‬

‫‪95‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪Examples :‬‬

‫;)'‪Open_Form('C:\Prog4.Fmx‬‬

‫;)‪Open_Form('C:\Prog4.Fmx' , , , , PL_ID‬‬

‫=======================================================================‬
‫=========‬

‫‪ Call_Form‬‬ ‫‪‬‬

‫‪ٚ‬رّزٍه اٌـ ‪ arguments‬اٌزبٌ‪١‬خ ‪:‬‬

‫‪ .1‬ئعٌ اىَْ٘رج ‪: FormModule_name‬‬


‫وّب ؽشػ عبثمبً ‪.‬‬

‫‪ .2‬اىؼشع ‪: Display‬‬
‫ٌٗ ل‪ّ١‬ز‪ ٓ١‬ئِب ‪ Hide‬أ‪ ٞ‬أٔٗ ‪٠‬غزذػ‪ ٟ‬إٌّ‪ٛ‬رط اإلثٓ ‪٠ٚ‬خف‪ ٟ‬إٌّ‪ٛ‬رط األة (‪ ٛ٘ٚ‬اإلفزشام‪ )ٟ‬أ‪No_Hide ٚ‬‬
‫أ‪ ٞ‬أٔٗ ‪٠‬غزذػ‪ ٟ‬إٌّ‪ٛ‬رط اإلثٓ ‪٠ٚ‬غؼً إٌّ‪ٛ‬رط األة ِ‪ٛ‬ع‪ٛ‬داً خٍف إٌّ‪ٛ‬رط اإلثٓ ‪ٌٚ‬ىٕٗ غ‪١‬ش ِؾفض (غ‪١‬ش ِٕؾو)‬
‫‪،‬‬

‫‪ .3‬قائَح اىرس٘‪ٝ‬و ‪: Switch_Menu‬‬


‫ٌ‪ٙ‬ب ل‪ّ١‬ز‪ ٓ١‬ئِب ‪ٚ No_Replace‬رؼٕ‪ ٟ‬ػذَ رجذ‪ ً٠‬لبئّخ إٌّ‪ٛ‬رط األة ‪ٚ‬ئٔمٍ‪ٙ‬ب ٌٍّٕ‪ٛ‬رط اإلثٓ ػٕذ اإلعزذػبء‬
‫(‪ ٛ٘ٚ‬اإلفزشام‪ )ٟ‬أ‪ٚ Do_Replace ٚ‬رؼٕ‪ ٟ‬رجذ‪ ً٠‬لبئّخ إٌّ‪ٛ‬رط اإلثٓ ثّب ٌذ‪ ِٓ ٗ٠‬ل‪ٛ‬ائُ ‪.‬‬

‫‪َّ .4‬ط اإلعرؼالً ‪: Query_Mode‬‬


‫ٌ‪ٙ‬ب ل‪ّ١‬ز‪ ٓ١‬ئِب ‪ٚ NO_Query_Only‬رؼٕ‪ ٟ‬فزؼ إٌّ‪ٛ‬رط اإلثٓ ثغشك ريج‪١‬ك اٌؼٍّ‪١‬بد اٌّخزٍفخ ِٓ ئمبفخ‬
‫‪ٚ Query_Only‬رؼٕ‪ ٟ‬فزؼ إٌّ‪ٛ‬رط اإلثٓ ثغشك‬ ‫‪ٚ‬رؼذ‪ٚ ً٠‬ؽزف ‪ٚ‬ئعزفغبس ‪ ...‬ئٌخ (‪ ٛ٘ٚ‬اإلفزشام‪ )ٟ‬أ‪ٚ‬‬
‫اإلعزفغبس فمو ‪.‬‬

‫‪َّ .5‬ط اىث‪ٞ‬اّاخ ‪: Data_Mode‬‬


‫وّب ؽشؽذ عبثمبً ‪.‬‬

‫‪ .6‬ئعٌ اىَؼاٍو أٗ سقٌ اىَؼاٍو ‪: Paramlist_Name Or Paramlist_Id‬‬


‫وّب ؽشؽذ عبثمبً ‪.‬‬

‫‪Examples :‬‬

‫;)'‪Call_Form('C:\Prog4.Fmx‬‬

‫;)‪Call_Form('C:\Prog4.Fmx' , Hide , No_Replace , No_Query_Only‬‬

‫‪ Run_Product‬‬ ‫‪‬‬

‫‪ٚ‬رّزٍه اٌـ ‪ arguments‬اٌزبٌ‪١‬خ ‪:‬‬

‫‪ .1‬ئعٌ اىَْرح ‪: Product‬‬


‫] ‪ 1‬أ‪ 2 ٚ‬أ‪ٚ [ 3 ٚ‬ثٕفظ‬ ‫ٌٗ صالس ل‪ ُ١‬ئِب ] ‪ Forms‬أ‪ Reports ٚ‬أ‪ [ Graphics ٚ‬أ‪ ٚ‬ثبإلِىبْ وزبثخ اٌم‪ُ١‬‬
‫اٌّؼبٔ‪ ٟ‬اٌغبثمخ ‪،‬‬

‫‪96‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
: Module .2
، ٗ‫ش ٔىزت ٕ٘ب ِغبس اٌجشٔبِظ اإلثٓ اٌّشاد فزؾ‬١‫ؽ‬

: Comm_Mode ‫ َّط اإلذظاه‬.3


ٓ‫رط اإلث‬ٌّٕٛ‫اس اٌؼًّ ِغ ا‬ٛ‫رط األة ثغ‬ٌّٕٛ‫ ا‬ٍٝ‫خ ثبٌؼًّ ػ‬١‫ اٌغّبؽ‬ٟٕ‫رؼ‬ٚ Synchronous ‫ٓ ئِب‬١‫ّز‬١‫ب ل‬ٌٙ

. ‫رط اإلثٓ فمو‬ٌّٕٛ‫ اٌؼًّ ِغ ا‬ٟٕ‫رؼ‬ٚ Asynchronous ٚ‫أ‬

: Exec_Mode ‫ز‬ٞ‫ َّط اىرْف‬.4


Batch ٚ‫ ) أ‬Form Builder & Report Builder & Graphics Builder ‫رغزخذَ ِغ‬ٚ( Runtime ‫ٓ ئِب‬١‫ّز‬١‫ٌٗ ل‬
. ‫ ) فمو‬Builder & Graphics Builder ‫رغزخذَ ِغ‬ٚ(

: Location ‫ اىَ٘قغ‬.5
. Database ‫بٔبد‬١‫ لبػذح اٌج‬ٍٝ‫ ٍِف ِخضْ ػ‬ٚ‫ أ‬File System َ‫ْ ٍِف ٔظب‬ٛ‫ى‬٠ ْ‫ٓ ئِب أ‬١‫ّز‬١‫ٌٗ ل‬

: Paramlist_Name Or Paramlist_Id ‫ ئعٌ اىَؼاٍو أٗ سقٌ اىَؼاٍو‬.6


. ً‫وّب ؽشؽذ عبثمب‬

: Display ‫ اىؼشع‬.7
. Graphics ‫ع اٌّخيو‬ٛٔ ‫بس‬١‫رٌه إلخز‬ٚ ٟٔ‫ب‬١‫رغزخذَ ِغ اٌشعُ اٌج‬

Examples :

Run_Product(1 , 'C:\Prog4.Fmx' , Synchronous , Runtime , Filesystem ,


'' , '');

Run_Product(2 , 'C:\Rep4.Rep');

=======================================================================
=========

: ‫ٍالزظح ٕاٍح‬ 
‫خ‬٠‫أعٍٕب آٔزان وزبثخ اٌؾفشح اٌّقذس‬ٚ Forms ٜ‫ فمشح اٌشثو ِغ إٌّبرط األخش‬ٌٝ‫ائُ ئ‬ٛ‫ فمشح اٌم‬ٟ‫وٕب لذ أؽشٔب ف‬
‫ذ اٌؼٕقش‬٠‫د وزبثخ اٌؾفشح ٌزٍه اٌؼٕبفش ثؼذ رؾذ‬ٚ‫ْ ثؼذ ئرّبَ ٘زٖ اٌفمشح ٔؼب‬٢‫٘ب ٔؾٓ ا‬ٚ ‫ ٌؼٕبفش اٌمبئّخ‬Code
: ٍٟ٠ ‫مؼ ِب‬ِٛ ٛ٘ ‫ٌٕىزت وّب‬ٚ Menu item Code ‫خ‬١‫ب خبف‬ِٕٙٚ F4 ‫مغو‬ٚ

)‫(تشّاٍح اىؼالقح‬
Open_Form('C:\Prog1.Fmx');

)‫( تشّاٍح اىقائَح اىَشمثح‬


Call_Form('C:\Prog2.Fmx' , Hide , No_Replace , Query_Only);

)‫ح‬ٞ‫(تشّاٍح اىقَاش‬
Call_Form('C:\Prog3.Fmx' , Hide , Do_Replace , No_Query_Only);

)‫ش اىطالب‬ٝ‫(ذقاس‬
Run_Product(2 , 'C:\Rep1.Rep' , Synchronous , Runtime , Filesystem , ''
, '');

97
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫(ذقاس‪ٝ‬ش األقغاً)‬
‫'' ‪Run_Product(2 , 'C:\Rep2.Rep' , Synchronous , Runtime , Filesystem ,‬‬
‫;)'' ‪,‬‬

‫=======================================================================‬
‫=========‬

‫‪Parameters‬‬ ‫‪‬‬
‫أؽ‪١‬بٔبً ‪ٚ‬لجً فزؼ إٌّ‪ٛ‬رط اإلثٓ ٔش‪٠‬ذ أْ ٔشعً ٌٗ ‪ٚ‬عبئو ِؼ‪ٕ١‬خ (ِزؾ‪ٛ‬الد) ٌى‪ٔ ٟ‬زؾىُ ثيش‪٠‬مخ ػشمٗ فّضالً لذ‬
‫‪، Relations‬‬ ‫ٔؾزبط ٌزٌه ف‪ ٟ‬ثشاِظ ‪ ( :‬اٌيالة ‪ٚ‬دسعبر‪ ، ُٙ‬اٌذ‪ٚ‬ائش ‪ِٛٚ‬ظف‪ٙ١‬ب ‪ ... ،‬ئٌخ) أؽجٗ ثجشاِظ اٌـ‬
‫‪ٌٚ‬ؼًّ رٌه ال ثذ ٌٕب أ‪ٚ‬الً ِٓ ِؼشفخ اٌخي‪ٛ‬اد اٌزبٌ‪١‬خ ‪:‬‬

‫‪ .1‬ف‪ ٜ‬اىَْ٘رج األب ‪:‬‬


‫‪ٔ ‬ؼشف اٌـ ‪، Parameter‬‬
‫‪ٔ ‬ؼًّ ػٍ‪ ٝ‬رؾّ‪ ٍٗ١‬ثبٌم‪ّ١‬خ ‪،‬‬
‫‪ٔ ‬شعً اٌم‪ّ١‬خ ‪.‬‬
‫‪ .2‬ف‪ ٜ‬اىَْ٘رج اإلتِ ‪:‬‬
‫‪ٕٔ ‬ؾئ ‪ِ Parameter‬ز‪ٛ‬افك ِغ اٌـ ‪ Parameter‬اٌّشعً ‪،‬‬
‫‪ٔ ‬ؼًّ ػٍ‪ ٝ‬ئعزمجبي اٌم‪ّ١‬خ اٌز‪٠ ٟ‬ؾٍّ‪ٙ‬ب اٌـ ‪ Parameter‬اٌّشعً ‪،‬‬
‫‪ٔ ‬غزخذَ اٌم‪ّ١‬خ ‪.‬‬

‫‪‬‬

‫‪MARK‬‬ ‫‪Form‬‬ ‫‪STU‬‬ ‫‪Form‬‬

‫‪Parameters‬‬ ‫‪Push_Button‬‬ ‫‪Forms‬‬

‫‪Parameter‬‬

‫‪98‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪ٌ ‬ؼًّ رٌه ٔم‪ َٛ‬ثبٌخي‪ٛ‬اد اٌزبٌ‪١‬خ ‪:‬‬

‫‪ .1‬ف‪ ٟ‬إٌّ‪ٛ‬رط األة ٔؼشف اٌـ ‪ٔ ٚ Parameter‬ؼًّ ػٍ‪ ٝ‬رؾّ‪ ٍٗ١‬ثبٌم‪ّ١‬خ ‪ ٚ‬ئسعبٌ‪ٙ‬ب ‪ٚ‬رٌه ث‪ٛ‬اعيخ ؽذس‬
‫)‪ (WHEN_BUTTON_PRESSED‬اٌزبثغ ٌضس اٌذسعبد ‪ٚ‬وبٌزبٌ‪: ٟ‬‬
‫‪Declare‬‬

‫;‪PL_ID Paramlist‬‬

‫تؼشٌف يتحىل يٍ َىع انباسايرت‬

‫‪Begin‬‬

‫;)'‪PL_ID := Get_Parameter_List('Student_Number‬‬

‫إحضاس انباسايرت إٌ وجذ إىل داخم املتحىل‬

‫‪If Id_Null(PL_ID) Then‬‬

‫فحص املتحىل هم انباسايرت يُشئ أو ال‬

‫;)'‪PL_ID := Create_Parameter_List('Student_Number‬‬

‫إَشاء باسايرت جذٌذ إٌ مل ٌكٍ قذ أَشئ يٍ قبم‬

‫‪Else‬‬

‫;)'‪Delete_Parameter(PL_ID,'Student_Number‬‬

‫ً إٌاها‬
‫حزف انقًٍت انيت كاٌ انباسايرت حمًال‬

‫; ‪End If‬‬

‫;)‪Add_Parameter(PL_ID,'Student_Number',Text_Parameter,:Stu.Stu_No‬‬

‫حتًٍم انباسايرت انُصً بانقًٍت (سقى انطانب)‬

‫‪Run_Product(1,'C:\Mark\Module1.Fmx',Synchronous,Runtime,Filesystem,PL_I‬‬
‫;)‪D‬‬

‫فتح انًُىرج اإلبٍ يغ إسسال قًٍت انباسايرت يؼه‬

‫; ‪End‬‬

‫‪99‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫‪ .2‬ف‪ ٟ‬إٌّ‪ٛ‬رط اإلثٓ ٔم‪ َٛ‬ثزؾذ‪٠‬ذ اٌـ(‪ ) Parameters‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ ) Object Navigator‬صُ ‪Create‬‬
‫ٌ‪ٕ١‬ؾئ ٌٕب ئعّبً ئفزشام‪١‬بً ٌٍّؼبِالد فٕؾذدٖ صُ ٔنغو ‪ٔٚ F4‬غ‪١‬ش ل‪ّ١‬خ خبف‪١‬خ اإلعُ اٌجشِغ‪ ٟ‬وّب ‪: ٍٟ٠‬‬
‫‪Property‬‬ ‫‪Value‬‬
‫‪Name‬‬ ‫‪Student_Number‬‬
‫‪ٚ‬ف‪ ٟ‬ؽذس رؾّ‪ ً١‬إٌّ‪ٛ‬رط )‪ٔ (WHEN_NEW_FORM_INSTANCE‬ىزت اٌزبٌ‪: ٟ‬‬

‫‪Set_Block_Property('MARK',Default_Where,'Mark_Stu:=Parameter.Student_Nu‬‬
‫;)'‪mber‬‬

‫ً نهباسايرت‬
‫إَتقاء سجالث جذول انذسجاث ػُذيا ٌكىٌ سقى انطانب يساوٌا‬

‫انزي مت إستقبال انقًٍت املشسهت به‬

‫;‪Execute_Query‬‬

‫إستخذاو انقًٍت باإلستؼالو‬

‫=======================================================================‬
‫=========‬

‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬


‫ئرا أسدد رؾّ‪ ً١‬اٌم‪( ُ١‬سلُ اٌمغُ – سلُ اٌّغز‪ – ٜٛ‬سلُ اٌيبٌت) فّب ػٍ‪١‬ه ع‪ ٜٛ‬وزبثخ رؼٍ‪ّ١‬خ‬ ‫‪‬‬
‫صالس ِشاد ‪٠ٚ‬م‪ِ ُ١‬خزٍفخ ِشح ثشلُ اٌمغُ ‪ِٚ‬شح ثشلُ اٌّغز‪ِٚ ٜٛ‬شح ثشلُ اٌيبٌت‬ ‫اٌزؾّ‪ً١‬‬
‫‪. Add_Parameter‬‬
‫‪ٛ٠‬عذ ٔ‪ٛ‬ع آخش ِٓ اٌـ ‪ Parameters‬غ‪١‬ش اٌـ )‪ ٛ٘ٚ (Text Parameters‬اٌـ )‪٠ٚ (Data Parameters‬غزخذَ‬ ‫‪‬‬
‫إلسعبي ِغّ‪ٛ‬ػخ عغً ‪. Record Group‬‬
‫ػٕذ ئسعبي ‪ ِٓ Parameter‬ثشٔبِظ ِقُّ ثبٌـ ‪ٚ Form Builder‬رش‪٠‬ذ ئعزمجبٌٗ ف‪ ٟ‬ثشٔبِظ ِقُّ ثبٌـ‬ ‫‪‬‬
‫‪ Report Builder‬فأه عزغزخذَ ‪ User Parameters‬إلعزمجبي اٌم‪ّ١‬خ ‪.‬‬

‫‪100‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬

‫احملاضرة الثانية عشر‬

‫‪‬‬
‫‪ّ٠‬ىٓ اٌزؼبًِ ِغ ٍِفبد اٌق‪ٛ‬سح ثاؽذ‪ ٜ‬ىش‪٠‬مز‪: ٓ١‬‬

‫‪٘ٚ System File‬زٖ اٌيش‪٠‬مخ ال رؼزّذ ػٍ‪ ٝ‬لبػذح اٌج‪١‬بٔبد‬ ‫‪ .1‬رى‪ ْٛ‬اٌق‪ٛ‬س ِ‪ٛ‬ع‪ٛ‬دح ػٍ‪ٍِ ٝ‬فبد ٔظبَ‬
‫‪، Non_DB‬‬
‫‪ .2‬رى‪ ْٛ‬اٌق‪ٛ‬س ِخضٔخ داخً لبػذح اٌج‪١‬بٔبد ‪٘ٚ Database‬زٖ اٌيش‪٠‬مخ رؼزّذ ػٍ‪ ٝ‬لبػذح اٌج‪١‬بٔبد ‪. DB‬‬
‫( ٗاىطش‪ٝ‬قح اىثاّ‪ٞ‬ح ٕ‪ ٜ‬األفؼو ٍِ أخو ػَي‪ٞ‬اخ اإلعر‪ٞ‬شاد ٗاىرظذ‪ٝ‬ش ٗاألٍْ‪ٞ‬ح)‬

‫‪----------------------------------------------------------------------------------------------------------------------‬‬
‫‪--------------‬‬

‫‪System File‬‬

‫ٔن‪١‬ف ِٓ ؽبؽخ اٌـ ‪ Layout Editor‬ػٕقش ف‪ٛ‬سح ‪ٌٚ Image Item‬زىٓ ٌذ‪ ٗ٠‬اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪1‬‬ ‫‪Name‬‬ ‫‪TEST_IMAGE‬‬

‫‪2‬‬ ‫‪Image Format‬‬ ‫‪BMP‬‬

‫‪3‬‬ ‫‪Image Depth‬‬ ‫‪Original‬‬

‫‪4‬‬ ‫‪Compression Quality‬‬ ‫‪Minimum‬‬

‫‪5‬‬ ‫‪Display Quality‬‬ ‫‪High‬‬

‫‪6‬‬ ‫‪Popup Menu‬‬

‫‪7‬‬ ‫‪Show Palette‬‬ ‫‪Yes‬‬

‫‪8‬‬ ‫‪Sizing Style‬‬ ‫‪Adjust‬‬

‫‪9‬‬ ‫‪Popup Menu‬‬

‫‪10‬‬ ‫‪Database Item‬‬ ‫‪No‬‬

‫ؽ‪١‬ش ٕٔزم‪ ٟ‬رٕغ‪١‬ك اٌق‪ٛ‬سح ‪ Image Format‬ف‪ٛ‬سح ٔمي‪١‬خ ‪ٚ ، BMP‬ػّك اٌق‪ٛ‬سح ‪ Image Depth‬أفٍ‪ٟ‬‬
‫‪ ، Original‬ث‪ّٕ١‬ب ٔغؼً ع‪ٛ‬دح اٌنغو ‪ِ Compression Quality‬زذٔ‪١‬خ ‪ٚ Minimum‬ع‪ٛ‬دح اٌؼشك ‪Display Quality‬‬
‫ػبٌ‪١‬خ ‪٠ٚ ، High‬فنً أْ ٔظ‪ٙ‬ش ػٍ‪ ٝ‬ػٕقش اٌق‪ٛ‬سح أصساس ( رؾذ‪٠‬ذ اٌق‪ٛ‬سح ‪ٚ‬رىج‪١‬ش٘ب ‪٠ٚ‬ذ اٌزؾش‪٠‬ه ‪ٚ‬اإلرغبٖ) ِٓ خالي‬
‫ِٕؼ اٌم‪ّ١‬خ ‪ٌٍ Yes‬خبف‪١‬خ ‪ ، Show Palette‬أخ‪١‬شاً ٔخزبس ِ‪ٛ‬د‪ ً٠‬اٌؾغُ ‪ٔ ً٘ Sizing Style‬ش‪٠‬ذٖ ئلزيبع ‪Crop‬‬

‫‪101‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫ثؾ‪١‬ش ئرا وبْ ؽغُ اٌق‪ٛ‬سح وج‪١‬ش ‪٠‬م‪ َٛ‬ثامبفخ ؽش‪٠‬و رّش‪٠‬ش ٌشؤ‪٠‬خ اٌق‪ٛ‬سح أَ ٔش‪٠‬ذٖ ِ‪ٛ‬ائّخ ‪ Adjust‬ثؾ‪١‬ش ‪ٛ٠‬ائُ‬
‫اٌق‪ٛ‬سح ػٍ‪ ٝ‬ؽغُ اإلىبس اٌز‪٠ ٞ‬ؾز‪ٙ٠ٛ‬ب ‪.‬‬

‫ثؼذ رٌه ٔؾذد اٌؾذس إٌّبعت ٌمشاءح اٌق‪ٛ‬سح ‪١ٌٚ‬ىٓ ػٕذ ٔمش ػٕقش اٌق‪ٛ‬سح ‪ٌٕٚ‬ىزت اٌؾفشح اٌّقذس‪٠‬خ اٌزبٌ‪١‬خ ‪:‬‬

‫)‪(Trigger : WHEN_IMAGE_PRESSED‬‬

‫‪Declare‬‬

‫;)‪FileName Varchar2(50‬‬

‫تؼشٌف يتحىل يٍ َىع حمشيف نٍخضٌ يساس انصىسة‬

‫‪Begin‬‬

‫; '‪FileName := 'C:\Img_Stu\Amerah.Bmp‬‬

‫إسُاد يهف صىسة َقطٍت إىل املتحىل‬

‫; )'‪Read_Image_File(FileName,'Bmp','Test_Image‬‬

‫قشاءة يهف انصىسة ورنك يٍ املتحىل بإيتذاد َقطً إىل داخم انؼُصش انزي تؼشض‬
‫به انصىسة‬

‫;‪End‬‬

‫‪ٌٚ‬ىٕٕب ٔالؽظ أْ اٌق‪ٛ‬سح أفجؾذ ط٘سج ثاترح ٌغّ‪١‬غ اٌيالة (ِضبي ريج‪١‬م‪ٌ )ٟ‬زٌه ٔم‪ َٛ‬ثزؼذ‪ ً٠‬ل‪ّ١‬خ اٌّزؾ‪ٛ‬ي‬
‫‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫; ‪FileName := Get_File_Name‬‬

‫َاتج إستذػاء دانت جهب املهف (يؼاجل انفتح) خيضٌ إىل املتحىل‬

‫‪FileName := Get_File_Name('C:\Img_Stu\' , 'Amerah.Bmp' ,'Bitmap‬‬


‫;)'|‪Files(*.Bmp)|*.Bmp‬‬

‫إستذػاء دانت جهب املهف يغ يُحها يساس إفرتاضً وقًٍت إبتذائٍت وَىع يهفاث‬
‫صىسة َقطٍت‬

‫‪FileName := Get_File_Name('C:\Img_Stu\' , 'Amerah.Bmp' ,'Bitmap‬‬


‫‪Files(*.Bmp)|*.Bmp|', 'Jpg Files(*.Jpg)|*.Jpg|','Gif‬‬
‫;)'|*‪Files(*.Gif)|*.Gif|','All Files(*.*)|*.‬‬

‫‪ ‬الزظ ٍارا ذؼْ‪ ٜ‬اىرؼي‪َٞ‬ح اىَفيرشج '|‪: 'Bitmap Files(*.Bmp)|*.Bmp‬‬

‫‪102‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫فىٍّخ ‪ ٟ٘ Bitmap Files‬ػجبسح ر‪ٛ‬م‪١‬ؾ‪١‬خ ِٓ ئخز‪١‬بس اٌّجشِظ ‪،‬‬

‫‪ٚ‬اٌـ)‪ ٟ٘ (*.Bmp‬اٌم‪ّ١‬خ اٌز‪ ٟ‬عزؼشك داخً ‪ List Item‬اٌخبؿ ثأٔ‪ٛ‬اع اٌٍّفبد ‪،‬‬

‫‪ٚ‬اٌـ)‪ ٟ٘ (|*.Bmp‬اٌم‪ّ١‬خ اإلثزذائ‪١‬خ ٌٍٍّف ‪ٚ ،‬لظ ثم‪١‬خ اٌزؼٍ‪ّ١‬بد ػٍ‪ ٝ‬غشاس٘ب ‪.‬‬

‫‪ ‬اىرؼي‪َٞ‬ح ‪ Get_File_Name‬ذَريل اىـ‬


‫‪ arguments‬اىراى‪ٞ‬ح‬

‫‪ .6‬ئعُ اٌّغٍذ ‪، Directory_File‬‬


‫‪ .7‬ئعُ اٌٍّف اإلثزذائ‪، File_Name ٟ‬‬
‫‪ .8‬رؼٍ‪ّ١‬خ فٍزشح اٌٍّفبد اٌّؼش‪ٚ‬مخ ‪، Filter‬‬
‫‪ .9‬سعبٌخ ر‪ٛ‬م‪١‬ؾ‪١‬خ ‪، Message‬‬
‫‪ٛٔ .10‬ع اٌّؼبٌظ ً٘ ٘‪ OPEN ٛ‬أَ ‪. SAVE AS‬‬

‫ٌ‪١‬ىٓ ٌذ‪ٕ٠‬ب ا‪ ْ٢‬صس ٔم‪ ِٓ َٛ‬خالٌٗ ثاعزؼشاك ٍِفبد اٌق‪ٛ‬س ‪ ِٓٚ‬صُ ؽفظ‪ٙ‬ب ٌذ‪ٕ٠‬ب ف‪ ٟ‬اٌجشٔبِظ ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫)‪(Trigger : WHEN_BUTTON_PRESSED‬‬

‫‪Declare‬‬

‫;)‪FileName Varchar2(50‬‬

‫‪Begin‬‬

‫‪FileName := Get_File_Name('C:\Img_Stu\' , 'Amerah.Bmp' ,'Bitmap‬‬


‫;)‪Files(*.Bmp)|*.Bmp|', Save_File‬‬

‫َاتج إستذػاء دانت جهب املهف خيضٌ إىل املتحىل بؼذ فتح يؼاجل احلفظ بإسى‬

‫; )'‪Write_Image_File(FileName,'Bmp','Test_Image‬‬

‫كتابت يهف انصىسة ورنك يٍ املتحىل بإيتذاد َقطً يٍ داخم انؼُصش انزي تؼشض‬
‫به انصىسة‬

‫;‪End‬‬

‫‪ٌٚ‬ىٓ األفنً أْ ال ٔؼي‪ٌٍّ ٟ‬غزخذَ فشفخ اٌؾفظ ف‪ِ ٟ‬غٍذاد أخش‪ٌ ٜ‬زٌه ٔم‪ َٛ‬ثزؼذ‪ ً٠‬ل‪ّ١‬خ اٌّزؾ‪ٛ‬ي‬
‫ٌ‪١‬ى‪ ِٓ ْٛ‬اٌّفزشك اٌم‪١‬بَ ثغؾت اٌق‪ٛ‬س ئٌ‪ِ ٝ‬غٍذ ٔم‪ َٛ‬ثأؾبءٖ ٌ‪١‬زؼبًِ ِؼٗ ثشٔبِغٕب ‪ٔٚ‬غّ‪ ٟ‬اٌق‪ٛ‬س ثاعُ‬
‫فش‪٠‬ذ ‪٠‬فنً أْ ‪٠‬ى‪ٚ ، Primary Key ْٛ‬وبٌزبٌ‪: ٟ‬‬

‫‪103‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
FileName := Get_File_Name('C:\Img\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No
||'.Bmp');

: ٌٟ‫وبٌزب‬ٚ ‫ذ‬٠‫ عغً عذ‬ٍٝ‫ي ػ‬ٛ‫سح ٌٕغؼٍٗ ػٕذ اٌذخ‬ٛ‫ ؽذس ٔمش اٌق‬ٟ‫ران أْ ٍٔغ‬ٚ ‫األفنً ِٓ را‬ٚ

(Trigger : WHEN_NEW_RECORD_INSTANCE)

Declare

FileName Varchar2(50);

Begin

FileName := Get_File_Name('C:\Img\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No


||'.Bmp') ;

Read_Image_File(FileName,'Bmp',' Test_Image ') ;

End ;

. System Fileَ‫اعيخ ٍِفبد إٌظب‬ٛ‫س ث‬ٛ‫خ اٌّؼزّذح ػٕذ اٌزؼبًِ ِغ اٌق‬٠‫ اٌؾفشح اٌّقذس‬ٟ٘ ٖ‫٘ز‬ٚ

----------------------------------------------------------------------------------------------------------------------
--------------

Database

: ٌٟ‫وبٌزب‬ٚ SQL ‫ٌؼًّ رٌه ال ثذ ِٓ ئمبفخ ٘زا اٌؾمً ثأِش‬ٚ .1


SQL> alter Table Stu Add(Stu_Img Long Row);

‫ صُ ئٔمش‬Data Block (STU) ‫ذ اٌـ‬٠‫ فمُ ثزؾذ‬Form‫ اٌـ‬ٌٝ‫بٔبد ئ‬١‫ ( ئرا لّذ ثأؾبء اٌؾمً ثؼذ عٍت اٌج‬.2
Refresh ‫ صُ ئمغو اٌضس‬Table ‫ت‬٠ٛ‫ِٕٗ اٌزج‬ٚ Data Block Wizard ‫ّٓ ٌزخزبس‬٠‫ صس اٌفأسح األ‬ٍٝ‫ػ‬
)‫ح‬ٝ‫ صُ ئمغو ّٖا‬STU_IMG ‫ثؼذ٘ب لُ ثغٍت اٌؼٕقش‬ٚ

‫ لبػذح‬ٍٝ‫ب ٕ٘ب ِؼزّذح ػ‬ٙٔ‫ٌىٓ الؽظ أ‬ٚ STU_IMG ‫سح‬ٛ‫ رُ روش٘ب عبثمبً ٌؼٕقش اٌق‬ٟ‫ ئِٕؼ اٌخقبئـ اٌز‬.3
، ‫بٔبد‬١‫اٌج‬
Property Value

Database Item Yes

: ٌٟ‫وبٌزب‬ٚ STU_IMG ً‫ذ) اٌزبثغ ٌٍؾم‬٠‫ ػٕقش عذ‬ٍٝ‫ي ػ‬ٛ‫ ؽذس (اٌذخ‬ٟ‫خ ف‬٠‫َ ثىزبثخ اٌؾفشح اٌّقذس‬ٛ‫ ٔم‬.4
(Trigger : WHEN_NEW_ITEM_INATANCE)

Declare

FileName Varchar2(50);

104
6i ‫حماضرات يف أوراكل ديفلوبر‬
Begin

FileName := Get_File_Name('C:\Img\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No


||'.Bmp') ;

Read_Image_File(FileName,'Bmp',' Stu.Stu_Img ') ;

End ;


: ٓ١‫مز‬٠‫ ىش‬ٜ‫د ثاؽذ‬ٛ‫ّىٓ اٌزؼبًِ ِغ ٍِفبد اٌق‬٠

Non_DB‫بٔبد‬١‫ لبػذح اٌج‬ٍٝ‫مخ ال رؼزّذ ػ‬٠‫٘زٖ اٌيش‬ٚ System File َ‫ ٍِفبد ٔظب‬ٍٝ‫د ػ‬ٛ‫ع‬ِٛ ‫د‬ٛ‫ْ اٌق‬ٛ‫ى‬٠ .1
،
. DB ‫بٔبد‬١‫ لبػذح اٌج‬ٍٝ‫مخ رؼزّذ ػ‬٠‫٘زٖ اٌيش‬ٚ Database ‫بٔبد‬١‫د ِخضْ داخً لبػذح اٌج‬ٛ‫ْ اٌق‬ٛ‫ رى‬.2
)‫ح‬ٍْٞ‫ش ٗاأل‬ٝ‫شاد ٗاىرظذ‬ٞ‫اخ اإلعر‬ٞ‫ األفؼو ٍِ أخو ػَي‬ٜٕ ‫ح‬ّٞ‫قح اىثا‬ٝ‫( ٗاىطش‬

----------------------------------------------------------------------------------------------------------------------
--------------

System File

: ‫خ‬١ٌ‫ٗ اٌخقبئـ اٌزب‬٠‫ٌزىٓ ٌذ‬ٚ Sound Item ‫د‬ٛ‫ ػٕقش ف‬Layout Editor ‫ف ِٓ ؽبؽخ اٌـ‬١‫ٔن‬

Property Value

1 Sound Format WAV

2 Audio Channels Automatic

3 Compress Automatic

4 Sound Quality Automatic

5 Popup Menu

6 Database Item No

7 Show Play Button Yes

8 Show Record Button No

9 Show Rewind Button No

10 Show Fast Forward No

11 Show Volume Control Yes

12 Show Time Indicator Yes

105
6i ‫حماضرات يف أوراكل ديفلوبر‬
13 Show Slider Yes

‫خ‬١‫ى‬١‫ِبر‬ٛ‫ ثبألر‬Audio Channels ‫د‬ٛ‫اد اٌق‬ٕٛ‫ل‬ٚ ، WAV ‫ ثـ‬Sound Format ‫د‬ٛ‫ك اٌق‬١‫ رٕغ‬ٟ‫ش ٕٔزم‬١‫ؽ‬
‫خ‬١‫ى‬١‫ِبر‬ٛ‫ أر‬Sound Quality ‫د‬ٛ‫دح اٌق‬ٛ‫ع‬ٚ Automatic ٟ‫ى‬١‫ِبر‬ٛ‫ أر‬Compress ‫ّٕب ٔغؼً اٌنغو‬١‫ ث‬، Automatic
)‫ ئٌخ‬... ‫د‬ٛ‫اٌزؾىُ ثؾغُ اٌق‬ٚ ً١‫ً اٌزغغ‬١‫خ رؾغ‬٠‫د أصساس ( ثذا‬ٛ‫ ػٕقش اٌق‬ٍٝ‫ش ػ‬ٙ‫فنً أْ ٔظ‬٠ٚ ، Automatic
Show Time ، Show Volume Control ، Show Play Button ( ‫ ٌٍخقبئـ‬Yes ‫ّخ‬١‫ِٓ خالي ِٕؼ اٌم‬
. ) Show Slider ، Indicator

‫خ‬٠‫ٌٕىزت اٌؾفشح اٌّقذس‬ٚ ‫ذ‬٠‫ عغً عذ‬ٍٝ‫ي ػ‬ٛ‫ىٓ ػٕذ اٌذخ‬١ٌٚ ‫د‬ٛ‫صُ ٔؾذد اٌؾذس إٌّبعت ٌمشاءح اٌق‬
: ‫خ‬١ٌ‫اٌزب‬

(Trigger : WHEN_NEW_RECORD_INSTANCE)

Declare

FileName Varchar2(50);

Begin

FileName := Get_File_Name('C:\Snd\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No


||'.Wav') ;

Read_Sound_File(FileName,'Wav',' Test_Sound ') ;

End ;

----------------------------------------------------------------------------------------------------------------------
--------------

Database

: ٌٟ‫وبٌزب‬ٚ SQL ‫ٌؼًّ رٌه ال ثذ ِٓ ئمبفخ ٘زا اٌؾمً ثأِش‬ٚ .1


SQL> alter Table Stu Add(Stu_Snd Long Row);

‫ صُ ئٔمش‬Data Block (STU) ‫ذ اٌـ‬٠‫ فمُ ثزؾذ‬Form‫ اٌـ‬ٌٝ‫بٔبد ئ‬١‫ ( ئرا لّذ ثأؾبء اٌؾمً ثؼذ عٍت اٌج‬.2
Refresh ‫ صُ ئمغو اٌضس‬Table ‫ت‬٠ٛ‫ِٕٗ اٌزج‬ٚ Data Block Wizard ‫ّٓ ٌزخزبس‬٠‫ صس اٌفأسح األ‬ٍٝ‫ػ‬
)‫ح‬ٝ‫ صُ ئمغو ّٖا‬STU_SND ‫ثؼذ٘ب لُ ثغٍت اٌؼٕقش‬ٚ

‫ لبػذح‬ٍٝ‫ب ٕ٘ب ِؼزّذح ػ‬ٙٔ‫ٌىٓ الؽظ أ‬ٚ STU_SND ‫د‬ٛ‫ رُ روش٘ب عبثمبً ٌؼٕقش اٌق‬ٟ‫ ئِٕؼ اٌخقبئـ اٌز‬.3
، ‫بٔبد‬١‫اٌج‬
Property Value

Database Item Yes

106
6i ‫حماضرات يف أوراكل ديفلوبر‬

: ٌٟ‫وبٌزب‬ٚ STU_SND ً‫ذ) اٌزبثغ ٌٍؾم‬٠‫ ػٕقش عذ‬ٍٝ‫ي ػ‬ٛ‫ ؽذس (اٌذخ‬ٟ‫خ ف‬٠‫َ ثىزبثخ اٌؾفشح اٌّقذس‬ٛ‫ ٔم‬.4
(Trigger : WHEN_NEW_ITEM_INATANCE)

Declare

FileName Varchar2(50);

Begin

FileName := Get_File_Name('C:\Snd\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No


||'.Wav') ;

Read_Sound_File(FileName,'Wav', ' Stu.Stu_Snd ') ;

End ;

107
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫‪‬‬
‫ٌٕمُ ثزؾذ‪٠‬ذ اٌـ(‪ ) Popup Menus‬اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ ) Object Navigator‬صُ‬
‫‪ٌٕٕ Create‬ؾئ لبئّخ ِٕجضمخ ثضس اٌفأسح األ‪ ّٓ٠‬ؽ‪١‬ش ٔىزت ف‪ِ ٟ‬ؾشس اٌم‪ٛ‬ائُ‬
‫ػٕ‪ٛ‬اْ اٌمبئّخ ( ذسد‪ ٌٞ‬اىظ٘سج ) صُ ٕٔؾئ اٌؼٕبفش اٌزبثؼخ ٌ‪ٙ‬زٖ اٌمبئّخ ِٓ‬
‫خالي ئخز‪١‬بس األِش ‪ ِٓ Create Right‬اٌمبئّخ ‪ Menu‬اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٔ ٟ‬بفزح ِؾشس‬
‫اٌم‪ٛ‬ائُ أ‪ ِٓ ٚ‬خالي األ‪٠‬م‪ٔٛ‬خ اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬ؽش‪٠‬و األد‪ٚ‬اد األفم‪ ٟ‬ف‪ٔ ٟ‬بفزح‬
‫ِؾشس اٌم‪ٛ‬ائُ ‪ٔٚ‬ىزت ( ذنث‪ٞ‬ش ) ‪ٚ‬ثٕفظ اٌيش‪٠‬مخ ٕٔؾئ اٌؼٕقش اٌضبٔ‪ٔٚ ٟ‬ىزت‬
‫(ذظغ‪ٞ‬ش) فبٌؼٕقش اٌضبٌش ثىزبثخ (ٍ٘ائَح) ‪ ِٓٚ ،‬خالي خبف‪١‬خ ‪Menu Item‬‬
‫‪ Code‬اٌزبثؼخ ٌىً ػٕقش ف‪ ٟ‬اٌمبئّخ ٔىزت اٌؾفشح اٌّقذس‪٠‬خ ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫)ذنث‪ٞ‬ش ‪(Item :‬‬

‫; )‪Image_Zoom('Stu_Img' , Zoom_In_Factor , 3‬‬

‫تكبري مبقذاس ثالث يشاث‬

‫)ذظغ‪ٞ‬ش ‪(Item :‬‬

‫; )‪Image_Zoom('Stu_Img' , Zoom_Out_Factor , 2‬‬

‫تصغري مبقذاس يشتني‬

‫)ٍ٘ائَح ‪(Item :‬‬

‫; )‪Image_Zoom('Stu_Img' , Adjust_To_Ft‬‬

‫‪ٌٕٚ‬ؾذد ظ‪ٛٙ‬س ٘زٖ اٌمبئّخ إٌّجضمخ ػٍ‪ ٝ‬ػٕقش ف‪ٛ‬سح اٌيبٌت ‪ٚ Stu_Img‬وبٌزبٌ‪: ٟ‬‬

‫‪Property‬‬ ‫‪Value‬‬

‫‪Popup Menu‬‬ ‫رؾغ‪ ُ١‬اٌق‪ٛ‬سح‪_MENU‬‬

‫ٍالزظاخ ٕاٍح ‪:‬‬ ‫‪‬‬


‫‪ ‬ال ‪ّ٠‬ىٓ أْ ‪٠‬ؾز‪ ٞٛ‬اٌغذ‪ٚ‬ي ػٍ‪ ٝ‬أوضش ِٓ ؽمً ِٓ إٌ‪ٛ‬ع ‪، Long Row‬‬
‫‪ ‬اٌفشق اٌغ‪٘ٛ‬ش‪ ٞ‬ث‪ ٓ١‬اٌزؼبًِ ( ث‪ٛ‬اعيخ ٍِفبد إٌظبَ أ‪ ٚ‬ث‪ٛ‬اعيخ لبػذح اٌج‪١‬بٔبد)٘‪ ٛ‬أْ ‪:‬‬
‫ٍِفبد إٌظبَ ػٕذ اٌخش‪ٚ‬ط ِٓ اٌجشٔبِظ (ئٔ‪ٙ‬بء اٌجشٔبِظ) ريبٌت اٌّغزخذَ ثبٌؾفظ ٌزإصش ػٍ‪ ٝ‬لبػذح اٌج‪١‬بٔبد‬
‫‪. Database‬‬

‫‪‬‬

‫‪108‬‬
‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬
‫غبٌجبً ِب ٔم‪ َٛ‬ثبإلعز‪١‬شاد ‪ٚ‬اٌزقذ‪٠‬ش ِٓ خالي أ‪ ٞ‬صس أ‪ ٚ‬ػٕقش لبئّخ ِٕجضمخ ‪ٌٕٚ‬ىزت ف‪ٙ١‬ب اٌؾفشح اٌّقذس‪٠‬خ‬
‫اٌزبٌ‪١‬خ ‪:‬‬

‫)التصدير(‬

‫; )'‪Host('Exp UserId = Ust/Taiz File = C:\Expdat.Dmp‬‬

‫تصذٌش قاػذة بٍاَاث املستخذو إىل يهف حمذد‬

‫; )'‪Host('Exp UserId = Ust/Taiz File = C:\Expdat.Dmp Full = Y‬‬

‫تصذٌش قاػذة بٍاَاث كايهت إىل يهف حمذد‬

‫)اإلسترياد(‬

‫; )'‪Host('Imp UserId = Ust/Taiz File = C:\Expdat.Dmp‬‬

‫إسترياد قاػذة بٍاَاث املستخذو يٍ يهف حمذد‬

‫; )'‪Host('Imp UserId = Ust/Taiz File = C:\Expdat.Dmp Full = Y‬‬

‫إسترياد قاػذة بٍاَاث كايهت يٍ يهف حمذد‬

‫=======================================================================‬
‫=========‬

‫ذيَ‪ٞ‬ر ‪:‬‬ ‫‪‬‬


‫اٌزؼٍ‪ّ١‬خ ‪ Host‬رم‪ َٛ‬ثاعزذػبء أِش ٔظبَ اٌزؾغ‪ Start  Run ً١‬صُ رغزذػ‪ ٟ‬أؽذ اٌجشٔبِغ‪ EXP ٓ١‬أ‪ٚ‬‬ ‫‪‬‬
‫‪( IMP‬ؽغت اٌيٍت) ‪ ِٓٚ‬صُ رؼي‪ِ ٟ‬ؼبِالر‪ٙ‬ب وبٍِخ ٌٍجشٔبِظ ‪ٚ‬الؽظ ػٕذ وزبثز‪ٙ‬ب ئِزالو‪ٙ‬ب ٌفبفٍز‪ٓ١‬‬
‫ػٍ‪٠ٛ‬ز‪ ٓ١‬ئؽذا٘ب ثبٌجذا‪٠‬خ ‪ٚ‬األخش‪ ٜ‬ثبٌٕ‪ٙ‬ب‪٠‬خ ‪.‬‬
‫ٕ٘بن أ‪٠‬نبً رقذ‪٠‬ش أ‪ ٚ‬ئعز‪١‬شاد ٌغذ‪ٚ‬ي ِؼ‪ِ ِٓ ٓ١‬غزخذَ ِؾذد ِٓ لبػذح اٌج‪١‬بٔبد ‪.‬‬ ‫‪‬‬

‫‪109‬‬
6i ‫حماضرات يف أوراكل ديفلوبر‬
SQL‫ملحق الصيغ العامة جلمل‬

(( DML & DDL & DCL ))

select…from…;

select…from…where…;

select…from…order by…;

select…from…group by…;

select…from…having…group by…;

select…from…where…[in or =] select…from…where…;

-------------------------------------------------

insert into...values...;

insert into...select...;

-------------------------------------------------

update...set...;

update...set...where...;

-------------------------------------------------

delete from...;

delete from...where...;

-------------------------------------------------

create...;

create...as select...;

-------------------------------------------------

alter...add...;

alter...modify...;

110
6i ‫حماضرات يف أوراكل ديفلوبر‬
alter...drop...;

-------------------------------------------------

drop...;

drop...cascade;

-------------------------------------------------

grant...to...;

grant...on...to...;

-------------------------------------------------

revoke...from...;

revoke...on...from...;

 Fields of Emp Table


Empno Ename Job Mgr Hiredate Sal Comm Deptno

 Fields of Dept Table


Deptno Dname Loc

 Fields of Bonus Table


Ename Job Sal Comm

 Fields of Salgrade Table


Grade LoSal HiSal

111
6i ‫حماضرات يف أوراكل ديفلوبر‬

- select * from Tables_name ;

- select Fileds_name from Tables_name ;

- select Fileds_name from Tables_name where Conditions ;

- select Fileds_name from Tables_name order by Filed_name Sort type [Asc or Desc] ;

- select Fileds_name from Tables_name order by Filed_name i Sort type , … ,

Filed_name n Sort type ;

- select Fileds_name from Tables_name group by Fileds_name ;

- select Fileds_name from Tables_name group by Fileds_name having Conditions ;

- select Fileds_name from Tables_name

where Conditions [in or =] select Fileds_name from Tables_name where Conditions ;

------------------------------------------------------------------------------------------------------------------------

- insert into Table_name (Fileds_name) values (Values by Fields Sort [Serial] ) ;

- insert into Table_name values (Values by Table Description) ;

- insert into Table_name (Fileds_name) values (& message ,'& message (string)' , … ) ;

- insert into Table_name select Fileds_name from Tables_name where Conditions ;

- insert into Table_name (Fileds_name) select Fileds_name from Tables_name

where Condition ;

------------------------------------------------------------------------------------------------------------------------

- update Table_name set Filed_name = New value ;

- update Table_name set Filed_name = New value where Conditions ;

112
6i ‫حماضرات يف أوراكل ديفلوبر‬
------------------------------------------------------------------------------------------------------------------------

- delete from Table_name ;

- delete from Table_name where Conditions ;

------------------------------------------------------------------------------------------------------------------------

- create user User_name identified by Password ;

- create role Role_name ;

- create role Role_name identified by Password ;

- create table Table_name (Filed_name i Filed_type i constraint Constraint_type , … ,

Filed_name n Filed_type n constraint Constraint_type) ;

- create table Table_name (Filed_name i Filed_type i constraint Constraint_type references


Table_name(Filed_name i), … ,

Filed_name n Filed_type n constraint Constraint_type references Table_name(Filed_name n))


;

- create view View_name as select Fileds_name from Tables_name where Conditions ;

- create synonym Synonym_name for User_name.Table_name ;

- create index Index_name on Table_name (Filed_name i , … ,Filed_name n) ;

- create unique index Index_name on Table_name (Fileds_name) ;

- alter table Table_name add (Filed_name Filed_type) ;

113
6i ‫حماضرات يف أوراكل ديفلوبر‬
- alter table Table_name modify (Filed_name Filed_type) ;

- alter table Table_name drop (Filed_name Filed_type) ;

- alter user User_name identified by New Password ;

------------------------------------------------------------------------------------------------------------------------

- drop user user_name cascade ;

- drop role role_name ;

- drop table table_name ;

- drop view view_name ;

- drop synonym synonym_name ;

- drop index index_name ;

- drop unique index index_name ;

------------------------------------------------------------------------------------------------------------------------

- truncate table Table_name ;

------------------------------------------------------------------------------------------------------------------------

- grant Role_name to User_name ;

- grant Role_name to Role_name ;

- grant privileges on Table_name to User_name ;

- grant privileges to Role_name ;

------------------------------------------------------------------------------------------------------------------------

- revoke Role_name from User_name ;

- revoke Role_name from Role_name ;

114
6i ‫حماضرات يف أوراكل ديفلوبر‬
- revoke privileges on Table_name from User_name ;

- revoke privileges from Role_name ;

- revoke privileges on Table_name from public ;

- revoke all on Table_name from public ;

115

You might also like