Issuu on Google+

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

‫‪/‬‬

‫‪a_alyahawi@hotmail.com‬‬

‫‪1‬‬


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

‫‪1‬‬

‫‪2‬‬

‫‪3‬‬

‫‪4‬‬

‫‪6- 5‬‬

‫‪ ‬يـمـذيـت عـٍ )‪........................................................... (SQL , PL/SQL‬‬

‫‪1‬‬

‫‪ ‬انـًـسـتـخـذيـىٌ وانـصـالحـيـاث وعـاللـتـهـًـا بانـ )‪.............................. (Role‬‬

‫‪1‬‬

‫‪ ‬إَـشـاء يـسـتـخـذو خـذيـذ ويـُـحـه انـصـالحـيـاث ‪..........................................‬‬

‫‪2‬‬

‫‪ ‬إَـشـاء انـدـذاول وانـمـيـىد انـتـابـعـت نـهـا ‪....................................................‬‬

‫‪3‬‬

‫‪ ‬تـشـغـيـم ‪...................................................................... Form Builder‬‬

‫‪4‬‬

‫‪ ‬انـشـاشـاث انـشئـيـسـيـت نهـ)‪.............................................. (From Builder‬‬

‫‪7‬‬

‫‪َ ‬ـبـزة يُـبـسـطـت عـٍ يـحـتـىيـاث ‪................................. Object Navigator‬‬

‫‪7‬‬

‫‪ ‬انـحـفـظ وانـتـُـفـيـز فـي بـشايـح ‪..................................... Developer 6i‬‬

‫‪8‬‬

‫‪ ‬يـٍ خـصـائـص ‪................................................................ MODULE‬‬

‫‪9‬‬

‫‪ ‬األحـذاث ‪............................................................................. Triggers‬‬

‫‪10‬‬

‫‪ ‬انـشسـائـم )‪........................................................... (Message & Alert‬‬

‫‪10‬‬

‫‪ ‬كُـتـم انـبـيـاَـاث ‪.............................................................. Data Blocks‬‬

‫‪12‬‬

‫‪ ‬انـخـصـائـص انـًـشئـيـت ‪.............................................. Visual Attribute‬‬

‫‪13‬‬

‫‪ ‬انـعـُـاصـش )‪............................................. Items(Input & Non_Input‬‬

‫‪13‬‬

‫‪ ‬انـتـحـكـى بـانـخـصـائـص بـشيـدـيـاً )‪.............. (Window & Block & Item‬‬

‫‪15‬‬

‫‪ ‬انـًـتـحـىالث انـعـايـت وانـًـتـحـىالث انـًـحـهـيـت ‪..........................................‬‬

‫‪16‬‬

‫‪ ‬انـتـحـكـى بـانـخـصـائـص بـشيـدـيـاً عـٍ طـشيـك انـًـتـحـىالث انـعـايـت ‪...............‬‬

‫‪16‬‬

‫‪ ‬انـعـاللـاث ‪......................................................................... Relations‬‬

‫‪18‬‬

‫‪ ‬انـحـمـىل انحـسـابـيـت )‪....................................... (Formula & Summary‬‬

‫‪20‬‬

‫‪ ‬سبـط انـدـذاول ‪....................................................................................‬‬

‫‪22‬‬

‫‪ ‬انـىحـذاث انـبـشيـدـيـت )‪............ Program Units(Procedure & Function‬‬

‫‪23‬‬

‫‪2‬‬


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

‫‪8‬‬

‫‪ ‬عـُصـش )‪............................................. List Item(Static & Dynamic‬‬ ‫‪ ‬انـمـائـًت انـًـشكـبـت )‪LOVs(Static & Dynamic _ Manually & Wizrad‬‬

‫‪27‬‬

‫‪ ‬عـصـش اإلخـتـيـاس انـفـشيـذ )‪...................... Radio Group(Radio Buttons‬‬

‫‪32‬‬

‫‪ ‬عـُـصـش اإلخـتـيـاس انـًـتـعـذد ‪.............................................. Check Box‬‬

‫‪33‬‬

‫‪ ‬أَـىاع انـمـًـاشـيـت ‪................................................................ Canvases‬‬ ‫)‪(Content & Stacked & Tab & Vertical _ Horizontal Toolbar‬‬

‫‪9‬‬

‫‪10‬‬

‫‪11‬‬

‫‪12‬‬

‫‪25‬‬

‫‪34‬‬

‫‪ ‬تـشـغـيـم ‪.................................................................. Report Builder‬‬

‫‪37‬‬

‫‪ ‬انـشـاشـاث انـشئـيـسـيـت نهـ)‪............................................ (Report Builder‬‬

‫‪40‬‬

‫‪َ ‬ـبـزة يُـبـسـطـت عـٍ يـحـتـىيـاث ‪................................. Object Navigator‬‬

‫‪40‬‬

‫‪َ ‬ـًـىرج انـبـيـاَـاث )‪Data Model(System Parameters & User Parameters‬‬

‫‪41‬‬

‫‪َ ‬ـًـىرج انـُـسـك )‪.................. Layout Editor(Header & Body & Footer‬‬

‫‪44‬‬

‫‪ ‬انـًـدـايـيـع ‪............................................................................ Groups‬‬

‫‪45‬‬

‫‪ ‬اإلضـافـت بـإسـتـخـذاو (حـمـم صـيـغـت ‪........................................ ) Formula‬‬

‫‪46‬‬

‫‪ ‬اإلضـافـت بـإسـتـخـذاو (اإلسـتـعالو ‪........................................ ) SQL Query‬‬

‫‪47‬‬

‫‪ ‬حـمـىل انـتـدـًـيـع ‪............................................................... Summary‬‬

‫‪48‬‬

‫‪ ‬انـمـىائـى ‪.................................................................................. Menu‬‬

‫‪49‬‬

‫‪ ‬انـمـىائـى انـًـُـبـثـمـت بـزس انـفـأسة األيـًـٍ ‪.............................. Popup Menu‬‬

‫‪51‬‬

‫‪ ‬طـشق انـشبـط بـيـٍ أكـثـش يـٍ (‪ (Forms‬أو بـيـٍ انـ(‪ (Form‬وانـ(‪....... (Report‬‬

‫‪52‬‬

‫‪ ‬انـًعـايـالث ‪..................................................................... Parameters‬‬

‫‪53‬‬

‫‪ ‬انـتـعـايـم يـع يـهـفـاث انـصـىسة ‪..............................................................‬‬

‫‪55‬‬

‫‪ ‬انـتـعـايـم يـع يـهـفـاث انـصـىث ‪..............................................................‬‬

‫‪57‬‬

‫‪ ‬اإلسـتـيـشاد وانتـصـذيـش ‪.........................................................................‬‬

‫‪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‬زٖ األخيبء (االعزضٕبءاد) ‪:‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫; ‪End‬‬

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

‫‪‬‬ ‫‪ 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 name Section

Lvl

Stu

Subject

Mark

Fields Name Sec_No number(2) (P. K) Lvl_No number(1) (P. K)

Sec_Name varchar2(50) (Not Null) Lvl_Name varchar2(50) (Not Null)

Stu_No number(3) (P. K)

Stu_Name varchar2(50) (Not Null)

Stu_Sec number(2) (F.K)

Stu_Lvl number(1) (F.K)

Stu_Add varchar2(50)

Stu_BrthDt date

Stu_Avg number(5,2)

Stu_CertType number(1)

Sub_No number(3) (P. K) Mark_Sec number(2) (F.K)

Sub_Name varchar2(50) (Not Null) Mark_Lvl number(1) (F.K)

Sub_Lvl number(1) (F.K) Mark_Sub number(3) (F.K)

Mark_Yj number(5,2)

Mark_Ht number(5,2)

(Check 0 .. 20)

(Check 0 .. 20)

Sub_Sec number(2) (F.K) Mark_Stu number(3) (F.K) Mark_Ft number(5,2) (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‬زؼٍٓ ػٓ ئرّبَ ِؼبٌظ‬ ‫(فْؼغط‬ ‫اٌزقّ‪( ُ١‬اٌّخيو) ثٕغبػ ‪،‬‬ ‫ّٖا‪ٝ‬ح)‬ ‫ٗتزىل ّنُ٘ قذ قَْا ترشغ‪ٞ‬و‬ ‫‪. Builder‬‬

‫‪Form‬‬

‫‪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 Runtime

*.FMX

ٞ‫ز‬١‫ رٕف‬Execute

‫ اٌزشعّخ‬Compile

Form Builder

*.MMB

ٞ‫ِقذس‬Source

‫ اٌؾفظ‬Save

Forms Runtime

*.MMX

ٞ‫ز‬١‫ رٕف‬Execute

‫ اٌزشعّخ‬Compile

Report Builder

*.RDF

ٞ‫ِقذس‬Source

‫ اٌؾفظ‬Save

Reports Runtime

*.REP

ٞ‫ز‬١‫ رٕف‬Execute

‫ اٌزشعّخ‬Compile

‫ اىَْارج‬Forms

ٌ‫ اىق٘ائ‬Menu

‫ش‬ٝ‫ اىرقاس‬Reports

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

15


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

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

‫‪.a‬‬

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

‫‪.b‬‬ ‫‪.c‬‬ ‫‪.d‬‬

‫‪‬‬ ‫‪‬‬

‫‪ٚ‬ثبٌزبٌ‪٠ ٟ‬زُ اٌؾق‪ٛ‬ي ػٍ‪ ٝ‬إٌغخخ اٌزٕف‪١‬ز‪٠‬خ ] ٍِفبد اٌـ(‪. [) *.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  [National

NLS_LANG 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‬زؾىُ ثم‪ ُ١‬اٌخقبئـ اٌ‪ٙ‬بِخ اٌزبثؼخ ٌ‪ٙ‬ب ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪Del‬‬

‫‪Name‬‬

‫‪1‬‬

‫ؽزف عغً‬

‫‪Title‬‬

‫‪2‬‬

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

‫‪Message‬‬

‫‪3‬‬

‫‪Stop‬‬

‫‪Alert Style‬‬

‫‪4‬‬

‫ِ‪ٛ‬افك‬

‫‪Button 1 Label‬‬

‫‪5‬‬

‫ئٌغبء األِش‬

‫‪Button 2 Label‬‬

‫‪6‬‬

‫‪Button2‬‬

‫‪Default Alert Button‬‬

‫‪7‬‬

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

‫; ‪Number‬‬

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

‫‪If‬‬

‫; ‪Delete_Record‬‬ ‫; ‪Commit‬‬ ‫‪Else‬‬ ‫; ‪Null‬‬ ‫; ‪End If‬‬ ‫; ‪End‬‬

‫‪20‬‬


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

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

‫‪Value‬‬

‫‪Property‬‬

‫‪DL‬‬

‫‪Name‬‬

‫‪1‬‬

‫ؽزف‬

‫‪Label‬‬

‫‪2‬‬

‫‪1‬‬

‫‪Number of item displayed‬‬

‫‪3‬‬

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

‫‪‬‬

‫‪Data Blocks‬‬

‫‪‬‬ ‫‪.a‬‬ ‫‪.b‬‬ ‫‪.c‬‬ ‫‪‬‬ ‫ِٓ‬

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

‫‪‬‬

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

‫‪21‬‬


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

‫‪١ٌٚ‬ى‪ ْٛ‬اٌؼًّ أوضش إِٔ‪١‬خ ‪.‬‬

‫‪1‬‬

‫‪Name‬‬

‫‪2‬‬

‫‪Navigation Style‬‬

‫‪3‬‬

‫‪Previous Navigation Data‬‬ ‫‪Block‬‬

‫‪4‬‬

‫‪Next Navigation Data Block‬‬

‫‪5‬‬

‫‪Number of Record display‬‬

‫‪6‬‬

‫‪Records Orientation‬‬

‫‪7‬‬

‫‪Database Data Block‬‬

‫‪8‬‬

‫‪Query Allowed‬‬

‫‪ٚ‬اٌز‪ ٞ‬ع‪١‬زُ اٌزؼبًِ ِٓ خالٌٗ ِغ اٌـ(‪ ) Data Block‬ثشِغ‪١‬بً‬ ‫رؾذ‪٠‬ذ و‪١‬ف‪١‬خ ئٔزمبي اٌّإؽش ‪ٌٙٚ‬ب صالصخ ل‪: ُ١‬‬ ‫‪: Same Record (A‬‬ ‫‪ٚ‬رؼٕ‪ ٟ‬اٌزٕمً ث‪ ٓ١‬ؽم‪ٛ‬ي ٔفظ اٌغغً ِٓ أ‪ٚ‬ي ؽمً ئٌ‪ ٝ‬آخش‬ ‫ؽمً‬ ‫ثؾ‪١‬ش ‪٠‬ظً اٌّإؽش ػٍ‪ٔ ٝ‬فظ اٌغغً ‪١ٌٚ‬زُ اٌزٕمً ث‪ ٓ١‬ؽم‪ٛ‬ي‬ ‫٘زا اٌغغً ثنغو ‪، Enter‬‬ ‫‪ٚ : Change Record ) B‬رؼٕ‪ ٟ‬رغ‪١‬ش اٌغغً اٌؾبٌ‪ٟ‬‬ ‫ثؾ‪١‬ش ‪٠‬زُ أزمبي اٌّإؽش ِٓ آخش ؽمً ٌٍغغً اٌؾبٌ‪ ٟ‬ئٌ‪ٝ‬‬ ‫أ‪ٚ‬ي ؽمً ٌٍغغً اٌزبٌ‪ ٟ‬ثنغو ‪، Enter‬‬ ‫‪ٚ : Change Data Block ) C‬رؼٕ‪ ٟ‬رغ‪١‬ش اٌـ(‪ ) Block‬اٌؾبٌ‪ٟ‬‬ ‫ثؾ‪١‬ش ‪٠‬زُ أزمبي اٌّإؽش ِٓ أخش ؽمً ٌٍغغً اٌؾبٌ‪ ٟ‬ف‪ٟ‬‬ ‫اٌـ(‪ ) Block‬اٌؾبٌ‪ ٟ‬ئٌ‪ ٝ‬أ‪ٚ‬ي ؽمً ف‪ ٟ‬اٌـ(‪ ) Block‬اٌزبٌ‪. ٟ‬‬ ‫رؾذ‪٠‬ذ اٌـ(‪ ) Block‬اٌغبثك‬ ‫‪F3‬اٌزشر‪١‬ت اإلفزشام‪ ٟ‬ؽغت ؽبؽخ‬ ‫رؾذ‪٠‬ذ اٌـ(‪ ) Block‬اٌزبٌ‪ٟ‬‬ ‫رؾذ‪٠‬ذ ػذد اٌغغالد اٌّؼش‪ٚ‬مخ ػٍ‪ ٝ‬اٌـ(‪) Canvas‬‬ ‫رؾذ‪٠‬ذ ئرغبٖ اٌغغالد ػّ‪ٛ‬د‪ ٞ‬أَ أفم‪( ٟ‬اإلفزشام‪ ٟ‬ػّ‪ٛ‬د‪)ٞ‬‬ ‫رؾذ‪٠‬ذ ٔ‪ٛ‬ع اٌـ(‪ٚ ) Data Block‬رّزٍه اٌم‪(Yes , No) ُ١‬‬ ‫‪) Yes( : Database .1‬‬ ‫أ‪ ٞ‬اٌّشرجو ِغ لبػذح اٌج‪١‬بٔبد ( اٌغذا‪ٚ‬ي ‪ٚ‬اٌّؾب٘ذ ‪ٚ‬اٌّشادفبد‬ ‫‪...‬ئٌخ) ‪،‬‬ ‫‪) No( : Non Database .2‬‬ ‫أ‪ ٞ‬اٌّؼزّذ ػٍ‪ ٝ‬ػٕبفش اٌزؾىُ فمو ‪ ٚ‬ال ‪٠‬ؼزُد ػٍ‪ ٝ‬لبػذح‬ ‫اٌج‪١‬بٔبد (‪. ) DUMMY‬‬ ‫عّبؽ‪١‬خ اإلعزؼالَ ػٓ اٌج‪١‬بٔبد أصٕبء اٌزٕف‪١‬ز ‪ٚ‬رّزٍه اٌم‪ُ١‬‬ ‫)‪(Yes , No‬‬

‫‪22‬‬


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

‫‪Insert Allowed‬‬

‫‪10‬‬

‫‪Update Allowed‬‬

‫‪11‬‬

‫‪Delete Allowed‬‬

‫‪12‬‬

‫‪WHERE Clause‬‬

‫‪13‬‬

‫‪ORDER BY Clause‬‬

‫عّبؽ‪١‬خ اإلدخبي ٌٍج‪١‬بٔبد أصٕبء اٌزٕف‪١‬ز ‪ٚ‬رّزٍه اٌم‪(Yes , ُ١‬‬ ‫)‪No‬‬ ‫عّبؽ‪١‬خ اٌزؼذ‪ ً٠‬ػٍ‪ ٝ‬اٌج‪١‬بٔبد أصٕبء اٌزٕف‪١‬ز ‪ٚ‬رّزٍه اٌم‪(Yes ُ١‬‬ ‫)‪, No‬‬ ‫عّبؽ‪١‬خ اٌؾزف ِٓ اٌج‪١‬بٔبد أصٕبء اٌزٕف‪١‬ز ‪ٚ‬رّزٍه اٌم‪(Yes , ُ١‬‬ ‫)‪No‬‬

‫‪‬‬

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

‫فالؽ‪١‬خ اٌـ( ‪ ) SQL‬أل‪ ِٓ ٜٛ‬فالؽ‪١‬خ ‪ٚ Developer‬وّضبي ػٍ‪ٝ‬‬ ‫رٌه ‪:‬‬ ‫; ‪SQL> revoke delete on STU.Lvl from UST‬‬ ‫رؼٍ‪ّ١‬خ اٌـ(‪٘ ) SQL‬زٖ عزغؾت فالؽ‪١‬خ اٌؾزف ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي‬ ‫‪ ِٓ Lvl‬اٌّغزخذَ ‪ ust‬ف‪ ٟ‬أ‪ ٞ‬ثشٔبِظ ‪ ،‬أِب ف‪Developer ٟ‬‬ ‫‪ٌٍ No‬خبف‪١‬خ ‪Delete Allowed‬‬ ‫فأٗ ئرا رُ ئػيبء اٌم‪ّ١‬خ‬ ‫فغزّٕغ اٌؾزف ِٓ اٌغذ‪ٚ‬ي ‪ Lvl‬مّٓ اٌجشٔبِظ اٌؾبٌ‪ ٟ‬فمو‬ ‫‪ٚ‬ػٕذ ئٔؾبء ثشٔبِظ آخش فأٗ ‪ّ٠‬ىٓ اٌؾزف ِٓ اٌغذ‪ٚ‬ي ‪ Lvl‬ئرا ِب‬ ‫رُ ئػيبء اٌم‪ّ١‬خ ‪ٌٍ Yes‬خبف‪١‬خ ‪ِ Delete Allowed‬ب ٌُ رىزت‬ ‫رؼٍ‪ّ١‬خ اٌـ(‪ ) SQL‬أػالٖ ‪ٚ‬ئال فال عذ‪ ِٓ ٜٚ‬ل‪٘ ُ١‬زٖ اٌخبف‪١‬خ ِٓ‬ ‫عّبؽ‪١‬خ ٌٍؾزف ثـ(‪ ) Yes‬أ‪ِٕ ٚ‬ؼ‪ٙ‬ب ثـ(‪. ) No‬‬ ‫ؽشه عٍت اٌغغالد ِٓ اٌغذا‪ٚ‬ي‬ ‫رؾذ‪٠‬ذ اٌؾمً اٌّشاد اٌزشر‪١‬ت ِٓ خالٌٗ ‪ٚ‬و‪١‬ف‪١‬خ اٌزشر‪١‬ت ‪،‬أِضٍخ‬ ‫رٌه ‪:‬‬ ‫‪: Lvl_Name ‬‬ ‫‪٠‬زُ اٌزشر‪١‬ت ؽغت اٌؾمً ئعُ اٌّغز‪ ٜٛ‬رقبػذ‪٠‬بً‬ ‫(اإلفزشام‪)ٟ‬‬ ‫‪: 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 : ً‫ِض‬ . Images ، Push_Button ، Display_Item : ً‫ِض‬

Input Items

Non_Input Items

ٙ‫ اىخظائض األخش‬ٜ‫ذشرشك ٕزٓ اىؼْاطش تثؼغ اىخظائض ٗذخريف ف‬

24

a b


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

‫‪Text_Item‬‬ ‫‪Name‬‬

‫‪1‬‬

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

‫‪2‬‬

‫‪Item Type‬‬

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

‫‪3‬‬

‫‪Enabled‬‬

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

‫‪4‬‬

‫‪Justification‬‬

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

‫‪5‬‬

‫‪Data Type‬‬

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

‫‪6‬‬

‫‪Maximum Length‬‬

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

‫‪7‬‬

‫‪Initial Value‬‬

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

‫‪8‬‬

‫‪Required‬‬

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

‫‪9‬‬

‫‪Format Mask‬‬

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

‫‪10‬‬

‫‪Database Item‬‬

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

‫‪11‬‬

‫‪Query Allowed‬‬

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

‫‪12‬‬

‫‪Insert Allowed‬‬

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

‫‪13‬‬

‫‪Update Allowed‬‬

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

‫‪14‬‬

‫‪Visible‬‬

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

‫‪15‬‬

‫‪Canvas‬‬

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

‫‪16‬‬

‫‪X Position‬‬

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

‫‪17‬‬

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

‫‪18‬‬

‫‪Width‬‬

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

‫‪19‬‬

‫‪Height‬‬

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

‫‪20‬‬

‫‪Font & Color‬‬

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

‫‪21‬‬

‫‪Prompt‬‬

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

‫‪21‬‬

‫‪Prompt Font & Color‬‬

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

‫‪23‬‬

‫‪Hint‬‬

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

‫‪24‬‬

‫‪Tooltip‬‬

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

‫‪25‬‬


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

‫‪‬‬

‫‪List_Item‬‬ ‫‪1‬‬ ‫‪2‬‬

‫‪Element in List‬‬ ‫‪Mapping of Other Values‬‬

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

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

‫‪‬‬

‫‪Check_Box‬‬ ‫‪1‬‬

‫‪Value When Checked‬‬

‫‪2‬‬

‫‪Value When Unchecked‬‬

‫‪3‬‬

‫‪Check box Mapping of Other Value‬‬

‫ل‪ّ١‬خ اٌؼٕقش ػٕذِب ‪٠‬ى‪ِ ْٛ‬ؾذد (ِٕؾو)‬ ‫ل‪ّ١‬خ اٌؼٕقش ػٕذِب ال ‪٠‬ى‪ِ ْٛ‬ؾذداً‬ ‫ػٕذ ‪ٚ‬ع‪ٛ‬د ل‪ّ١‬خ ِغب‪٠‬شح ٌم‪ّ١‬ز‪ ٓ١‬اٌغبثمز‪ٓ١‬‬

‫‪ٚ‬رى‪ ْٛ‬اٌم‪ّ١‬خ اٌّغب‪٠‬شح ػبدح ِ‪ٛ‬م‪ٛ‬ػخ ف‪Initial Value ٟ‬‬ ‫ثم‪١‬خ اٌخقبئـ وّب ِش عبثمبً‬ ‫=======================================================================‬ ‫=========‬

‫‪‬‬

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

‫‪1‬‬ ‫‪2‬‬

‫‪Mapping of Other Values‬‬ ‫‪Initial Value‬‬

‫ػٕذ ‪ٚ‬ع‪ٛ‬د ل‪ّ١‬خ ِغب‪٠‬شح ٌم‪ ُ١‬اٌؼٕبفش اٌّؾز‪ٛ‬اح‬ ‫اٌم‪ّ١‬خ اإلثزذائ‪١‬خ ٌٍؼٕقش‬

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

‫‪‬‬

‫‪Radio_Button‬‬ ‫‪1‬‬

‫‪Label‬‬

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

‫‪26‬‬


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

‫‪Radio Button Value‬‬

‫اٌم‪ّ١‬خ اٌخبفخ ثبٌؼٕقش‬

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

‫‪‬‬

‫‪Display_Item‬‬

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

‫‪‬‬

‫‪Push_Button‬‬ ‫‪1‬‬

‫‪Label‬‬

‫‪2‬‬

‫‪Iconic‬‬

‫‪3‬‬

‫اٌؼٕ‪ٛ‬اْ اٌظب٘ش أِبَ اٌّغزخذَ‬ ‫رؾذ‪٠‬ذ رٕؾ‪١‬و ‪ٚ‬ع‪ٛ‬د األ‪٠‬م‪ٔٛ‬بد ػٍ‪ ٝ‬اٌضس)‪(Yes , No‬‬ ‫رؾذ‪٠‬ذ اٌٍّف اٌز‪ ٞ‬عزى‪ ْٛ‬أ‪٠‬م‪ٔٛ‬زٗ ػٍ‪ ٝ‬اٌضس‬

‫‪Icon Filename‬‬

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

‫‪‬‬

‫‪Image‬‬ ‫‪1‬‬

‫‪Image Format‬‬

‫ٔ‪ٛ‬ع اٌق‪ٛ‬سح‬

‫‪2‬‬

‫‪Image Depth‬‬

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

‫‪3‬‬

‫‪Sizing Style‬‬

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

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

‫‪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‬‬

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

‫‪‬‬

‫‪600‬‬

‫‪800‬‬

‫;)‪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

Lvl

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

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‬‬ ‫; ‪number‬‬

‫‪Counter‬‬

‫تؼشف يتحىل انؼذاد يٍ َىع سقًً‬ ‫‪Begin‬‬ ‫; ‪Select Max(Stu_No) into Counter From Stu‬‬ ‫إختٍاس انقًٍت انؼظًى يٍ حقم انطانب وإسُادها إىل يتحىل انؼذاد‬ ‫; ‪:Stu_No := Counter + 1‬‬ ‫ً إنٍه واحذ‬ ‫تشقٍى حقم انطانب بقًٍت املتحىل يضافا‬ ‫; ‪End‬‬

‫‪33‬‬


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

‫‪‬‬

‫‪Relations‬‬

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

‫‪ٚ Master‬ا‪٢‬خش ٘‪ ٛ‬اٌغذ‪ٚ‬ي‬

‫‪ .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‫بٔبد‬١‫ش ِشرجو ثمبػذح اٌج‬١‫ٕٔؾئ ػٕقش غ‬ :

1 2 3 4 5 6 7 8 9

Property Name Item Type Enabled Data Type Calculation Mode Formula Database Item Canvas Prompt

Value TDeg Text Item No Number Formula NVL(:Mark_Yj , 0) + NVL(:Mark_Ht , 0) + NVL(:Mark_Ft , 0) No Canvas2 ‫خ‬١‫بئ‬ٌٕٙ‫اٌذسعخ ا‬

Summary

4

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

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

38

.b


6i ‫حماضرات يف أوراكل ديفلوبر‬ 6 7 8 9 10 11

Summarized Block Summarized Item Summary Function Database Item Canvas Prompt

Stu TDeg Sum No Canvas2 ‫عو اٌذسعبد‬ٛ‫ِز‬

‫ سعبٌخ خيأ‬ٞ‫ز ثزغٕت أ‬١‫زُ اٌزٕف‬١ٌٚ .c ، Mark ‫( ثبٌذسعبد‬Block)‫ اٌزبثؼخ ٌٍـ‬Query All Record ‫خ‬١‫ّخ اٌخبف‬١‫ش ل‬١‫َ ثزغ‬ٛ‫ٔم‬ . Single Record ‫خ‬١‫ّخ اٌخبف‬١‫ش ل‬١‫ ٔغ‬Dummy ‫غ‬١ّ‫ ػٕقش اٌزغ‬ٞٛ‫ؾ‬٠ ٞ‫ اٌز‬ّٟ‫( اٌزؾى‬Block)‫ِٓ اٌـ‬ٚ

1 2

39

Data Block Mark Dummy

Property Query All Record Single Record

Value Yes Yes


6i ‫حماضرات يف أوراكل ديفلوبر‬  1 2 3 4 5 6 7

: ٌٟ‫ خقبئقٗ وبٌزب‬MARK ‫بٔبد‬١‫ وزٍخ اٌج‬ٟ‫َ ثأؾبء ػٕقش ف‬ٛ‫ ) ٔم‬a Property Value Name VALUATION Database Item No Canvas Canvas2 Prompt ‫ش‬٠‫اٌزمذ‬ Prompt Justification Center Prompt Attachment Edge Top 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‬‬ ‫'‪'Default_Where‬‬ ‫‪,‬‬ ‫‪'Stu_Sec‬‬ ‫=‬ ‫; )'‪:Dummy.List_Item_Sec‬‬

‫‪,‬‬

‫'‪Set_Block_Property('Stu‬‬

‫‪ ِٓٚ‬أعً أال ٔخزبس ػٕقش ِٓ اٌمبئّخ ‪ 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‬‬ ‫‪b‬‬

‫‪Function‬‬

‫‪Stu‬‬

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

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

‫أٗالً ) ٕٔؾئ ػٕقش غ‪١‬ش ِشرجو ثمبػذح اٌج‪١‬بٔبد‪١ٌٚ Non_DB‬ىٓ ‪ TDeg‬ثبٌخقبئـ ا‪٢‬ر‪١‬خ ‪:‬‬ ‫‪Value‬‬ ‫‪TDeg‬‬ ‫‪Text Item‬‬ ‫‪No‬‬ ‫‪Number‬‬ ‫‪No‬‬ ‫‪Canvas2‬‬ ‫ِغّ‪ٛ‬ع اٌذسعبد‬

‫‪Property‬‬ ‫‪Name‬‬ ‫‪Item Type‬‬ ‫‪Enabled‬‬ ‫‪Data Type‬‬ ‫‪Database Item‬‬ ‫‪Canvas‬‬ ‫‪Prompt‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬

‫ثاّ‪ٞ‬اً) ٔؾذد اٌـ(‪ ) 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‬‬ ‫ثاىثأً) صُ ٔم‪ َٛ‬ثاعزذػبء اٌذاٌخ ‪ ِٓ Function‬خالي وزبثخ ٘زٖ اٌؾفشح اٌّقذس‪٠‬خ‬ ‫اٌذخ‪ٛ‬ي ػٍ‪ ٝ‬اٌغغً ‪ٚ‬وبٌزبٌ‪: ٟ‬‬

‫‪ Code‬ف‪ ٟ‬ؽذس ثذا‪٠‬خ‬

‫)‪(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‬ى‪ٝ ْٛ‬ذٗ‪ ٛ‬دائَاً ‪.‬‬ ‫‪---------------------------------------------------------------------------------------------------------------------‬‬‫‪--------------‬‬

‫‪‬‬ ‫‪List Item‬‬

‫‪Stu‬‬

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

‫حـل الـمـطـلـوب األول‬ ‫ثؼذ ئٔؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ‪ِ Data Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪ٔ Stu‬الؽظ ر‪ٛ‬فش اٌؾم‪ٛ‬ي ‪:‬‬ ‫( سلُ اٌيبٌت ‪ ، Stu_No‬ئعُ اٌيبٌت ‪ ، Stu_Name‬سلُ اٌمغُ ‪ ، Stu_Sec‬سلُ اٌّغز‪ ، Stu_Lvl ٜٛ‬اٌّؼذي‬ ‫‪ٛٔ ، Stu_Avg‬ع اٌؾ‪ٙ‬بدح ‪) Stu_Certtype‬‬ ‫ِّب ‪٠‬غز‪ٛ‬عت ر‪ٛ‬ف‪١‬ش ؽمً ئعُ اٌّغز‪ٚ ٜٛ‬رٌه ِٓ خالي ئٔؾبء ػٕقش عذ‪٠‬ذ ‪ Item‬خقبئقٗ وّب ‪: ٍٟ٠‬‬

‫‪Value‬‬ ‫‪LVL_NAME‬‬ ‫‪List Item‬‬ ‫…‪More‬‬ ‫‪4‬‬ ‫‪2‬‬ ‫‪STU_LVL‬‬ ‫‪STU_LVL‬‬ ‫‪No‬‬ ‫‪Canvas2‬‬

‫‪Property‬‬ ‫‪Name‬‬ ‫‪Item Type‬‬ ‫‪Element in List‬‬ ‫‪Mapping of Other Values‬‬ ‫‪Initial Value‬‬ ‫‪Copy Value from Item‬‬ ‫‪Synchronize with Item‬‬ ‫‪Database Item‬‬ ‫‪Canvas‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬

‫‪47‬‬


‫حماضرات يف أوراكل ديفلوبر ‪6i‬‬ ‫ٌزظ‪ٙ‬ش اٌؾبؽخ أػالٖ ‪ٚ‬اٌز‪ ِٓ ٟ‬خالٌ‪ٙ‬ب ‪:‬‬ ‫‪‬‬

‫ٔذخً ل‪ ُ١‬اٌؾمً‬

‫‪ LVL_Name‬ف‪ٟ‬‬

‫‪List Elements‬‬

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

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

‫‪‬‬

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

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

‫‪( Copy Value from Item‬ئٌ‪ٝ‬‬

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

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

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

‫‪48‬‬


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

1 2 3 4 5 6 7 8 9

Property Name Item Type Element in List Mapping of Other Values Initial Value Copy Value from Item Synchronize with Item Database Item Canvas

Value LVL_NAME List Item More…

STU_SEC STU_SEC No 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‬‬ ‫;‪Number‬‬

‫‪N‬‬ ‫‪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‬‬ ‫‪---------------------------------------------------------------------------------------------------------------------‬‬‫‪--------------‬‬

‫‪‬‬ ‫‪LOVs‬‬

‫‪Mark‬‬

‫‪c‬‬ ‫‪d‬‬

‫‪Manually‬‬ ‫‪Wizard‬‬

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

‫حـل الـمـطـلـوب األول‬ ‫ثؼذ ئٔؾبء ‪ 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 )ٞٚ‬زى‪ ْٛ‬اٌخقبئـ‬ ‫ف‪ٙ١‬ب وّب ‪: ٍٟ٠‬‬

‫‪Value‬‬ ‫‪LOV_LVL_STATIC‬‬ ‫أسلبَ اٌّغز‪٠ٛ‬بد ِغ أعّبئ‪ٙ‬ب‬ ‫‪RG_LVL_STATIC‬‬

‫‪Property‬‬ ‫‪Name‬‬ ‫‪Title‬‬ ‫‪Record Group‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫‪52‬‬


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

Column Mapping Properties Filter before Display Automatic Display Automatic Skip

More… Yes Yes 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 List of Values

Value 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‬‬ ‫اٌـ( ‪ ) LOVs‬ثشِغ‪١‬بً ِٓ خالي اٌنغو ػٍ‪ٝ‬‬ ‫‪ٌٕٚ‬غّ‪٘ ٟ‬زا‬ ‫ثـ‪. LOV_LVL_STATIC‬‬

‫‪ٚ F4‬رؾذ‪٠‬ذ ل‪ّ١‬خ اٌخبف‪١‬خ‬

‫‪Name‬‬

‫‪ّ ‬الزظ أّٔ قذ ذٌ ٍِ خاله اىَؼاىح ٍا ‪ٝ‬ي‪: ٜ‬‬ ‫‪ٌٍ ‬خبف‪١‬خ ‪ 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‬وبٌزبٌ‪: ٟ‬‬ ‫‪alter‬‬ ‫‪Table‬‬ ‫‪Stu‬‬ ‫;))‪Add(Stu_Sex number(1‬‬

‫>‪SQL‬‬

‫( ئرا لّذ ثأؾبء اٌؾمً ثؼذ عٍت اٌج‪١‬بٔبد‬ ‫ئٌ‪ ٝ‬اٌـ‪ Form‬فمُ ثزؾذ‪٠‬ذ اٌـ ‪Data Block‬‬ ‫)‪ (STU‬صُ ئٔمش ػٍ‪ ٝ‬صس اٌفأسح األ‪ٌ ّٓ٠‬زخزبس‬ ‫‪ ِٕٗٚ Data Block Wizard‬اٌزج‪٠ٛ‬ت‬ ‫‪ Table‬صُ ئمغو اٌضس ‪ٚ Refresh‬ثؼذ٘ب لُ ثغٍت اٌؼٕقش ‪ STU_SEX‬صُ ئمغو ّٖا‪ٝ‬ح)‬ ‫أ‪ٔ ٚ‬م‪ َٛ‬ثأؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ‪ِ Data Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪ٌٕ STU‬الؽظ أْ اٌؾمً ‪ STU_SEX‬لذ‬ ‫أخز اٌؾىً اإلفزشام‪ٌٍ ٟ‬ؼٕبفش ‪ٌٚ ، Text Item ٛ٘ٚ‬غؼٍٗ ثؾىً ‪ِٕ Radio Buttons‬زّ‪١‬بً ئٌ‪Radio Group ٝ‬‬ ‫ٔم‪ َٛ‬ثزؼذ‪ ً٠‬ل‪ ُ١‬اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪STU_SEX‬‬

‫‪Name‬‬

‫‪1‬‬

‫‪Radio Group‬‬

‫‪Item Type‬‬

‫‪2‬‬

‫‪1‬‬

‫‪Mapping of Other Values‬‬

‫‪3‬‬

‫‪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‬وبٌزبٌ‪: ٟ‬‬ ‫‪alter‬‬ ‫‪Table‬‬ ‫‪Stu‬‬ ‫;))‪Add(Stu_Nat number(1‬‬

‫>‪SQL‬‬

‫( ئرا لّذ ثأؾبء اٌؾمً ثؼذ عٍت اٌج‪١‬بٔبد‬ ‫ئٌ‪ ٝ‬اٌـ‪ Form‬فمُ ثزؾذ‪٠‬ذ اٌـ ‪Data Block‬‬ ‫)‪ (STU‬صُ ئٔمش ػٍ‪ ٝ‬صس اٌفأسح األ‪ٌ ّٓ٠‬زخزبس‬ ‫‪ ِٕٗٚ Data Block Wizard‬اٌزج‪٠ٛ‬ت‬ ‫‪ Table‬صُ ئمغو اٌضس ‪ٚ Refresh‬ثؼذ٘ب لُ ثغٍت اٌؼٕقش ‪ STU_NAT‬صُ ئمغو ّٖا‪ٝ‬ح)‬ ‫أ‪ٔ ٚ‬م‪ َٛ‬ثأؾبء ‪ Form‬رى‪ ْٛ‬ف‪ ٗ١‬اٌـ‪ِ Data Block‬ؼزّذح ػٍ‪ ٝ‬اٌغذ‪ٚ‬ي ‪ٌٕ STU‬الؽظ أْ اٌؾمً ‪ STU_NAT‬لذ‬ ‫أخز اٌؾىً اإلفزشام‪ٌٍ ٟ‬ؼٕبفش ‪ٌٚ ، Text Item ٛ٘ٚ‬غؼٍٗ ثؾىً ‪ٔ Check Box‬م‪ َٛ‬ثزؼذ‪ ً٠‬ل‪ ُ١‬اٌخقبئـ‬ ‫اٌزبٌ‪١‬خ ‪:‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪STU_NAT‬‬

‫‪Name‬‬

‫‪1‬‬

‫‪Check Box‬‬

‫‪Item Type‬‬

‫‪2‬‬

‫‪ّٟٕ٠‬‬

‫‪Label‬‬

‫‪3‬‬

‫‪1‬‬

‫‪Value when Checked‬‬

‫‪4‬‬

‫‪0‬‬

‫‪Value when Unchecked‬‬

‫‪5‬‬

‫‪Checked‬‬

‫‪Check Box Mapping of Other Values‬‬

‫‪6‬‬

‫‪1‬‬

‫���Initial Value‬‬

‫‪7‬‬

‫‪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‬زؾىُ ثم‪ُ١‬‬ ‫اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪CANVAS_STACKED_SEC‬‬

‫‪Name‬‬

‫‪1‬‬

‫‪Stacked‬‬

‫‪Canvas Type‬‬

‫‪2‬‬

‫‪25‬‬

‫‪Viewport X Position‬‬

‫‪3‬‬

‫‪150‬‬

‫‪Viewport Y Position‬‬

‫‪4‬‬

‫‪375‬‬

‫‪Viewport Width‬‬

‫‪5‬‬

‫‪150‬‬

‫‪Viewport Height‬‬

‫‪6‬‬

‫صُ ٔم‪ َٛ‬ا‪ ْ٢‬ثغٍت ث‪١‬بٔبد األلغبَ ‪ 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 ;

Go_Block('Stu') ;

(PUSH_BUTTON_NEXT)

(PUSH_BUTTON_LAST)

Execute_Query ;

Go_Block('Stu') ;

Go_Block('Stu') ;

Next_Record ;

Last_Record ;

(PUSH_BUTTON_QUERY)

65


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

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

‫‪Value‬‬

‫‪Property‬‬

‫‪CANVAS_TAB‬‬

‫‪Name‬‬

‫‪1‬‬

‫‪Tab‬‬

‫‪Canvas Type‬‬

‫‪2‬‬

‫‪Top‬‬

‫‪Tab Attachment Edge‬‬

‫‪3‬‬

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

‫‪Property‬‬ ‫‪Name‬‬

‫‪1‬‬

‫‪Enabled‬‬

‫‪2‬‬

‫‪Label‬‬

‫‪3‬‬

‫‪Visible‬‬

‫‪4‬‬

‫‪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‬غذ ِ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬لبػذح اٌج‪١‬بٔبد ف‪ٙ‬زٖ أعّبء ئخز‪١‬بس‪٠‬خ ‪ٌٚ‬ىٓ اٌّ‪ ٛ٘ ُٙ‬أْ رى‪ْٛ‬‬ ‫اٌخقبئـ ٌ‪ٙ‬ب وبٌزبٌ‪: ٟ‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪Yes‬‬

‫‪Database Data Block‬‬

‫‪1‬‬

‫‪SECTION‬‬

‫‪Query Data Source Name‬‬

‫‪2‬‬

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

‫‪Value‬‬

‫‪Property‬‬

‫‪Yes‬‬

‫‪Database Item‬‬

‫‪1‬‬

‫‪SEC_NAME‬‬

‫‪Column Name‬‬

‫‪2‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪Yes‬‬

‫‪Database Item‬‬

‫‪1‬‬

‫‪SEC_NO‬‬

‫‪Column Name‬‬

‫‪2‬‬

‫ٗتَؼشفرْا ىٖزٓ اىخظائض ‪ٝ‬ظثر ٍِ اىََنِ ئّشاء‪ 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‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬ ‫‪.5‬‬ ‫‪.6‬‬

‫‪.7‬‬

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

‫‪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‬‬ ‫‪a‬‬

‫‪System Parameters‬‬

‫ؽ‪١‬ش ‪٠‬زُ اٌزؼبًِ ِؼ‪ٙ‬ب ػٓ ىش‪٠‬ك اٌخقبئـ اٌخبفخ ٌىً ِؼبًِ ٔظبَ (ٔؾذد ِؼبًِ إٌظبَ ‪ ِٓٚ‬صُ ٔنغو‬ ‫ػٍ‪ٚ ) 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‬‬ ‫‪ٚ‬ىش‪٠‬مخ ئٔؾبء ِؼبًِ ِغزخذَ ‪٠‬ؼزّذ ئػزّبداً وٍ‪١‬بً ػٍ‪ ٝ‬عٍّخ اإلعزؼالَ‬ ‫‪ٚ‬اٌز‪ٔ ٟ‬قً ئٌ‪ٙ١‬ب ثزؾذ‪٠‬ذ اٌـ( ‪) Data Model‬‬ ‫‪Object‬‬ ‫اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‬ ‫‪ ) Navigator‬صُ ‪:‬‬

‫‪، SQL Query Statement‬‬

‫‪ٔ ‬نغو ‪ٌ F2‬زظ‪ٙ‬ش ٔبفزح ف‪ٙ١‬ب‬ ‫اإلعزؼالِبد اٌّ‪ٛ‬ع‪ٛ‬دح ٌٍزمش‪٠‬ش (ؽبٌ‪١‬بً‬ ‫‪ ) Q_1‬فٕٕمش ػٍ‪ٙ١‬ب ٔمشاً ِضد‪ٚ‬عبً ٌ‪١‬ظ‪ٙ‬ش‬ ‫اإلعزؼالَ ‪،‬‬ ‫‪ ‬أ‪ٔ ٚ‬ؾذد اإلعزؼالِبد ‪ Queries‬صُ‬ ‫ٔنغو ‪ٚ F2‬ثٕفظ اٌيش‪٠‬مخ ‪.‬‬ ‫ٌٕمُ ثامبفخ ِؼبًِ ِغزخذَ ‪ٚ‬رٌه ثزؼذ‪ً٠‬‬ ‫عٍّخ اإلعزؼالَ (ؽبٌ‪١‬بً ‪ٔٚ ) Q_1‬ىزت ف‪ٙ١‬ب‬ ‫‪١ٌٚ Where STU_SEC = :SECN‬قجؼ‬ ‫ٌذ‪ٕ٠‬ب ا‪ِ ْ٢‬ؼبًِ ِغزخذَ عذ‪٠‬ذ ٘‪ٚ ، SECN ٛ‬رٌه ثؼذ ظ‪ٛٙ‬س سعبٌخ اٌزأو‪١‬ذ اٌز‪ ٟ‬رخجشٔب ثأٔٗ لذ رُ ئٔؾبء‬ ‫ِؼبًِ ِٓ لِجً اٌّغزخذَ ؟!!‪..‬‬

‫‪77‬‬


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

‫‪Value‬‬

‫‪Property‬‬

‫‪Number‬‬

‫‪Data Type‬‬

‫‪1‬‬

‫‪4‬‬

‫‪Initial Value‬‬

‫‪2‬‬

‫‪List of Values‬‬

‫‪3‬‬

‫…‪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‬ؼي‪ ٟ‬اٌّؼبًِ األ‪ٚ‬ي ‪ٚ‬اٌّؼبًِ اٌضبٔ‪ ٟ‬اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪Number‬‬

‫‪Data Type‬‬

‫‪1‬‬

‫‪4‬‬

‫‪Initial Value‬‬

‫‪2‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪Number‬‬

‫‪Data Type‬‬

‫‪1‬‬

‫‪1‬‬

‫‪Initial Value‬‬

‫‪2‬‬

‫‪ٌٕٚ‬ظ‪ٙ‬ش ػجبسح ( ٍِ ٍغر٘‪ ٙ‬سقٌ ) أِبَ اٌّؼبًِ ‪ٚ 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‬رٌه ف‪ ٟ‬خقبئـ اٌج‪١‬بٔبد اٌغ‪١‬ش ِزىشسح ‪.‬‬

‫‪‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬ ‫‪.5‬‬ ‫‪.6‬‬

‫رّزٍه اٌخبف‪١‬خ ‪ Print Job On‬اٌم‪ ُ١‬اٌزبٌ‪١‬خ ‪:‬‬ ‫‪٠ : All Pages‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬عّ‪١‬غ اٌقفؾبد ‪،‬‬ ‫‪٠ : All But First Page‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬عّ‪١‬غ اٌقفؾبد ػذا اٌقفؾخ األ‪، ٌٝٚ‬‬ ‫‪٠ : All But Last Page‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬عّ‪١‬غ اٌقفؾبد ػذا اٌقفؾخ األخ‪١‬شح ‪،‬‬ ‫‪٠ : Default‬أخز اٌم‪ّ١‬خ اٌّؾذدح ف‪ِ ٟ‬ؾشس اٌزغغ‪، Registry ً١‬‬ ‫‪٠ : First Page‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬اٌقفؾخ األ‪ ٌٝٚ‬فمو ‪،‬‬ ‫‪٠ : Last Page‬غّؼ ثبٌظ‪ٛٙ‬س ف‪ ٟ‬اٌقفؾخ األخ‪١‬شح فمو ‪.‬‬

‫‪ ‬ثاِىبٔه وزبثخ ِب رش‪٠‬ذ ِٓ ػجبساد ر‪ٛ‬م‪١‬ؾ‪١‬خ أ‪ ٚ‬رشؽ‪١‬ج‪١‬خ ِٓ خالي ِميغ اٌشأط ِضالً ‪ٚ‬وبٌزبٌ‪: ٟ‬‬ ‫ٔؾذد (َّ٘رج اىْغق) اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‪ٍ ِٕٗٚ ) 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‬‬ ‫َّ٘رج اىث‪ٞ‬اّاخ ) اٌّ‪ٛ‬ع‪ٛ‬د ف‪ ٟ‬ؽبؽخ اٌـ(‬ ‫‪ٌٍٚ‬زأوذ ِٓ ػذد اٌّغّ‪ٛ‬ػبد اٌز‪ ٟ‬رى‪ٔٛ‬ذ ٔؾذد (‬ ‫‪ٍ ِٕٗٚ ) Navigator‬دَ٘ػاخ ‪ٌٕٚ‬ؾب٘ذ أْ اٌّغّ‪ٛ‬ػبد اٌز‪ ٟ‬رى‪ٔٛ‬ذ ٌذ‪ٕ٠‬ب ؽبٌ‪١‬بً‬ ‫٘‪ِ ٟ‬غّ‪ٛ‬ػز‪: ٓ١‬‬

‫‪Object‬‬

‫اٌّغّ‪ٛ‬ػخ األ‪( : ٌٝٚ‬سلُ اٌّبدح – ئعُ اٌّبدح – سلُ اٌمغُ – ئعُ اٌمغُ) ‪،‬‬ ‫اٌّغّ‪ٛ‬ػخ اٌضبٔ‪١‬خ ‪( :‬سلُ اٌيبٌت – ئعُ اٌيبٌت) ‪.‬‬

‫‪ٌٚ‬ىٕٕب ٔالؽظ أ‪٠‬نبً أْ ‪:‬‬ ‫اٌّغّ‪ٛ‬ػخ األ‪ ٟ٘ 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‬ؼذي خقبئقٗ وبٌزبٌ‪: ٟ‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪Char‬‬

‫‪Data Type‬‬

‫‪1‬‬

‫‪PL/SQL Formula‬‬

‫‪2‬‬

‫…‪More‬‬

‫‪85‬‬


‫حماضرات يف أوراكل ديفلوبر ‪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‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪CF_1‬‬

‫‪Source‬‬

‫‪ ‬ػْظش ّض ‪: 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‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪SEC_NAME‬‬

‫‪Source‬‬

‫‪ ‬ػْظش ّض ‪: 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‬ؼذي خقبئقٗ وبٌزبٌ‪: ٟ‬‬

‫‪Value‬‬

‫‪Property‬‬

‫اٌؼذد‬

‫‪Function‬‬

‫‪1‬‬

‫‪Sub_No‬‬

‫‪Source‬‬

‫‪2‬‬

‫‪Page‬‬

‫‪Reset act‬‬

‫‪3‬‬

‫ٌ‪١‬ىٓ اٌزبثغ اٌزغّ‪١‬ؼ‪ ٛ٘ ٟ‬اٌؼذد ‪١ٌٚ Counter‬ىٓ ِقذسٖ سلُ اٌّبدح ‪ٌٕٚ Sub_No‬غؼً ئػبدح رؼ‪ ٓ١١‬ػّ‪ٛ‬د‬ ‫ٍِخـ ٘زا ف‪ ٟ‬وً ففؾخ ‪١ٌٚ Page‬ظ وً رمش‪٠‬ش ‪ ( Report‬أ‪ ٛ‬ف‪ ٜ‬مو طفسح ‪ٝ‬رٌ اىردَ‪ٞ‬غ ىيؼذاد ثٌ‬ ‫ف‪ ٜ‬تذا‪ٝ‬ح اىظفسح اىدذ‪ٝ‬ذج ‪ٝ‬رٌ ذظف‪ٞ‬ش اىؼذاد ٗى‪ٞ‬ثذأ اىؼذاد تؼَي‪ٞ‬ح اىردَ‪ٞ‬غ ٍِ خذ‪ٝ‬ذ مو طفسح‬ ‫ػي‪ ٚ‬زذٓ) ‪،‬‬

‫ثاىثاً) ٕٔؾئ ِٓ ؽش‪٠‬و األد‪ٚ‬اد اٌؼّ‪ٛ‬د‪ ٞ‬اٌزبثغ ٌـ(َّ٘رج اىْغق ‪ِ ) Layout Model‬ب ‪: ٍٟ٠‬‬ ‫‪ ‬ػْظش زقو ‪: Field‬‬ ‫ٌٕؼشك اٌج‪١‬بٔبد داخٍٗ صُ ٔغؼٍٗ ف‪ ٟ‬اإلىبس اٌزىشاس‪ ٞ‬األة ‪ G_SUB_NO‬ثؼذ فزؼ لفً ى‪ٛ‬س اإلؽز‪ٛ‬اء ِٓ ؽش‪٠‬و‬ ‫األد‪ٚ‬اد األفم‪ٌٍ ٟ‬غّبػ ثامبفخ اٌؾمً ‪ٚ ،‬ال ٕٔغ‪ ٝ‬سثيٗ ِغ ػّ‪ٛ‬د ٍِخـ ِٓ خالي اٌخبف‪١‬خ ‪ٚ Source‬رٌه‬ ‫ثؼذ رؾذ‪٠‬ذٖ ‪ٚ‬مغو ‪، F4‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪CS_1‬‬

‫‪Source‬‬

‫‪ ‬ػْظش ّض ‪: 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‬‬ ‫‪Value‬‬ ‫‪Yes‬‬ ‫‪Plain‬‬ ‫‪None‬‬ ‫…‪More‬‬ ‫‪Yes‬‬ ‫‪No‬‬ ‫‪No‬‬ ‫‪No‬‬

‫‪Property‬‬ ‫‪Enabled‬‬ ‫‪Menu Item Type‬‬ ‫‪Magic Item‬‬ ‫‪Menu Item Code‬‬ ‫‪Visible in Menu‬‬ ‫‪Visible in Horizontal Menu Toolbar‬‬ ‫‪Visible in Vertical Menu Toolbar‬‬ ‫‪Icon in Menu‬‬ ‫‪Icon Filename‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬

‫‪‬‬

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

‫‪‬‬

‫رّزٍه خبف‪١‬خ ‪ 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‬‬

‫‪‬‬

‫الؽظ ف‪ِ ٟ‬ؾشس اٌم‪ٛ‬ائُ صس ‪ٚ Switch Orientation‬اٌز‪٠ ٞ‬ؼًّ ػٍ‪ ٝ‬رؾ‪ ً٠ٛ‬إٌّؾئ ثضس اٌـ‬ ‫‪ Down‬ئٌ‪ٚ Create Right ٝ‬وزٌه رؾ‪ ً٠ٛ‬إٌّؾئ ثضس اٌـ ‪ Create Right‬ئٌ‪. Create Down ٝ‬‬

‫‪‬‬

‫ئرا لّذ ثزؼذ‪ِ ً٠‬ب ػٍ‪ ٝ‬اٌمبئّخ ف‪١‬غت أْ رؾفظ رٌه‪ٚ File  Save‬رزشعّٗ ِٓ أعً أْ ‪٠‬ز‪ٌٛ‬ذ اٌٍّف‬ ‫اٌزٕف‪١‬ز‪ ٞ‬اٌغذ‪٠‬ذ ‪. File  Administration  Compile File‬‬

‫‪‬‬

‫إٌّؾئ ‪.‬‬ ‫ح‬ ‫ٔالؽظ ػٕذ اٌزٕف‪١‬ز ‪ٚ‬ع‪ٛ‬د لبئّخ رغّ‪ّ( ٝ‬افزج ‪ ٟ٘ٚ ) Window‬رأر‪ ٟ‬ئفزشام‪١‬بً ِغ اٌم‪ٛ‬ائُ‬

‫‪Create‬‬

‫‪ّ٠ ‬ىٓ اٌزؾىُ ثاغالق إٌّ‪ٛ‬رط ِٓ اٌزاوشح ِٓ خالي رؼٍ‪ّ١‬خ ; )''(‪، 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‬ثؾ‪١‬ش ٔغؼً أؽذّ٘ب ‪٠‬ظ‪ٙ‬ش لبئّخ اٌجشاِظ إٌّجضمخ‬ ‫‪ٚ‬ا‪٢‬خش ‪٠‬ظ‪ٙ‬ش لبئّخ اٌزمبس‪٠‬ش إٌّجضمخ فّب ػٍ‪ٕ١‬ب ع‪ ٜٛ‬أْ ٔغؼً خقبئق‪ّٙ‬ب وبٌزبٌ‪: ٟ‬‬ ‫‪Value‬‬ ‫‪_MENU‬اٌزمبس‪٠‬ش‬ ‫‪No‬‬

‫‪Property‬‬ ‫‪Popup Menu‬‬ ‫‪Database Item‬‬

‫‪1‬‬ ‫‪2‬‬

‫‪Value‬‬ ‫‪_MENU‬اٌجشاِظ‬ ‫‪No‬‬

‫‪Property‬‬ ‫‪Popup Menu‬‬ ‫‪Database Item‬‬

‫‪1‬‬ ‫‪2‬‬

‫‪94‬‬


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

‫‪‬‬

‫(‪(Form‬‬

‫(‪(Report‬‬

‫ػٕذ اٌزؾذس ػٓ ىشق سثو أوضش ِٓ ّٔ‪ٛ‬رط ‪٠‬زجبدس ئٌ‪ ٝ‬اٌز٘ٓ ِجبؽشح ِ‪ٛ‬م‪ٛ‬ع إٌّ‪ٛ‬رط األة ‪ٚ 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‬‬ ‫ٌٗ صالس ل‪ ُ١‬ئِب ] ‪ Forms‬أ‪ Reports ٚ‬أ‪ [ Graphics ٚ‬أ‪ ٚ‬ثبإلِىبْ وزبثخ اٌم‪ُ١‬‬ ‫اٌّؼبٔ‪ ٟ‬اٌغبثمخ ‪،‬‬

‫] ‪ 1‬أ‪ 2 ٚ‬أ‪ٚ [ 3 ٚ‬ثٕفظ‬

‫‪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‬اٌّشعً ‪،‬‬ ‫‪ٔ ‬غزخذَ اٌم‪ّ١‬خ ‪.‬‬

‫‪‬‬ ‫‪STU‬‬

‫‪Form‬‬ ‫‪Forms‬‬

‫‪Form‬‬

‫‪Push_Button‬‬

‫‪MARK‬‬ ‫‪Parameters‬‬

‫‪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‬زىٓ ٌذ‪ ٗ٠‬اٌخقبئـ اٌزبٌ‪١‬خ ‪:‬‬

‫‪Value‬‬

‫‪Property‬‬

‫‪TEST_IMAGE‬‬

‫‪Name‬‬

‫‪1‬‬

‫‪BMP‬‬

‫‪Image Format‬‬

‫‪2‬‬

‫‪Original‬‬

‫‪Image Depth‬‬

‫‪3‬‬

‫‪Minimum‬‬

‫‪Compression Quality‬‬

‫‪4‬‬

‫‪High‬‬

‫‪Display Quality‬‬

‫‪5‬‬

‫‪Popup Menu‬‬

‫‪6‬‬

‫‪Yes‬‬

‫‪Show Palette‬‬

‫‪7‬‬

‫‪Adjust‬‬

‫‪Sizing Style‬‬

‫‪8‬‬

‫‪Popup Menu‬‬

‫‪9‬‬

‫‪Database Item‬‬

‫‪10‬‬

‫‪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 ‫ف ِٓ ؽبؽخ اٌـ‬١‫ٔن‬

105

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


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 ، ‫بٔبد‬١‫اٌج‬

106

Property

Value

Database Item

Yes


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‬وبٌزبٌ‪: ٟ‬‬

‫‪‬‬

‫‪Value‬‬

‫‪Property‬‬

‫رؾغ‪ ُ١‬اٌق‪ٛ‬سح‪_MENU‬‬

‫‪Popup 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...;

111

Fields of Emp Table Empno Ename

Job

Fields of Dept Table Deptno Dname

Mgr

Loc

Fields of Bonus Table Ename Job Sal

Fields of Salgrade Table Grade LoSal HiSal

Comm

Hiredate

Sal

Comm

Deptno


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


Oracle