forms learn

Document Sample
forms learn Powered By Docstoc
					          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                                              ‫‪Forms 10g‬‬
                                                    ‫ﻣﺮاﺣﻞ ﺗﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺞ‬
                                                ‫١- ﺗﺤﻠﯿﻞ اﻟﻨﻈﺎم ‪Analysis‬‬
                                                     ‫٢- اﻟﺘﺼﻤﯿﻢ ‪Design‬‬
                                               ‫٣- اﻟﺒﺮﻣﺠﺔ ‪Programming‬‬
                                                       ‫٤- اﻹﺧﺘﺒﺎر ‪Test‬‬
                       ‫__________________________________________‬
                                                                                            ‫اﻟﺒــﻠـــﻮك‬
                                        ‫ﯾﺘﻢ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺠﺪاول ﻣﻦ ﺧﻼل اﻟـ ‪ Block‬وﯾﺘﻢ ﺣﻔﻈﮭﺎ ﺑﺎﻣﺘﺪاد ‪* .fmb‬‬
                                                                                        ‫وﺗﻨﻘﺴﻢ اﻟﺒﻠﻮﻛﺎت إﻟﻰ :-‬
                        ‫‪Data Base Block‬‬                     ‫ﻣﻘﺎﻣﺔ ﻋﻠﻰ ﺟﺪول ) ﺟﺪاول ( ﻣﻮﺟﻮدة ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
                        ‫ﻣﻘﺎﻣﺔ ﻋﻠﻰ ﺟﺪول ) ﺟﺪاول ( ﻏﯿﺮ ﻣﻮﺟﻮدة ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪Non- Data Base Block‬‬
                                                                                              ‫ﻣﻼﺣﻈﺎت ھﺎﻣﺔ :‬
                                                          ‫ﯾﻤﻜﻦ إﻧﺸﺎء اﻟـ ‪ Block‬إﻣﺎ ‪Manual , Wizard‬‬
                                                                     ‫إﻧﺸﺎء اﻟـ ‪ Block‬ﻋﻠﻰ اﻟـ ‪Table / View‬‬
                                       ‫ﻣﻤﻜﻦ أن اﻧﺸﺄ ‪ Block‬ﻋﻠﻰ ‪ User‬أﺧﺮ ) ﺣﺘﻰ ﻟﻮ ﻟﻢ ﯾﻮﺟﺪ ‪( Privilege‬‬
                                                        ‫ﻋﻨﺪ اﺧﺘﯿﺎر أﻋﻤﺪة ﻻ ﺑﺪ أن اﺧﺬ ﺟﻤﯿﻊ اﻷﻋﻤﺪة اﻟـ ‪Nnull‬‬
                                              ‫اﻷﻋﻤﺪة اﻟﺘﻰ ﻻ ﯾﺘﻢ اﺧﺘﯿﺎرھﺎ ھﻰ اﻟﺘﻰ ﯾﻤﻜﻦ أن ﯾﺪﺧﻞ ﻓﯿﮭﺎ اﻟـ ‪Null‬‬
                                ‫ﯾﻔﻀﻞ أن اﺧﺬ ﺟﻤﯿﻊ اﻷﻋﻤﺪة ﻓﻰ اﻟـ ‪ Block‬ﻻن اﻟﺬى ﯾﻈﮭﺮ ﻣﻌﻰ ھﻮ اﻟـ ‪Layout‬‬
                                ‫ﯾﻔﻀﻞ ﻋﻨﺪ إﻧﺸﺎء اﻟـ ‪ Block‬أن ﻧﻨﺸﻂ اﻻﺧﺘﯿﺎر ‪Enforced data integrity‬‬
                                                                                       ‫ﻛﯿﻔﯿﺔ إﻧﺸﺎء اﻟـ ‪Block‬‬
            ‫ﻧﻘﻒ ﻋﻠﻰ اﻟـ ‪ data block‬ﺛﻢ ﻧﻀﻐﻂ ﻋﻠﻰ اﻟﺮﻣﺰ ) + ( وھﻮ ﯾﻌﻨﻰ اﻹﻧﺸﺎء ﻓﺘﻈﮭﺮ ﺷﺎﺷﺔ اﻟـ‪Welcome‬‬
                            ‫ﻓﻨﻀﻐﻂ ﻋﻠﻰ زر ‪ Next‬ﺛﻢ ﻧﻘﻮم ﺑﺎﺧﺘﯿﺎر ‪ Table / View‬اﻟﻤﺮاد ﻋﻤﻞ ‪ Block‬ﻋﻠﯿﺔ‬
           ‫ﺛﻢ ﻧﻨﺸﻂ اﻻﺧﺘﯿﺎر‪ Enforced data integrity‬ﻓﯿﻈﮭﺮ ﻣﺮﺑﻊ ﺣﻮار ‪ Connect‬ﻓﯿﺘﻢ اﺧﺘﯿﺎر اﻟـ ‪User‬‬
           ‫ﺛﻢ ﻧﻘﻮم ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ‪ Browse‬ﻓﻨﻘﻮك ﺑﺎﺧﺘﯿﺎر اﻟﺠﺪول اﻟﻤﺮاد ﻋﻤﻞ ‪ Block‬ﻟﺔ ﺛﻢ ﻧﻘﻮم ﺑﺎﺧﺘﯿﺎر اﻷﻋﻤﺪة‬
                                              ‫ﺛﻢ ﻧﻀﻐﻂ ‪ Next‬ﻓﻨﻘﻮم ﺑﺘﺴﻤﯿﺔ اﻟـ ‪ Block‬ﺛﻢ ‪ Next‬ﺛﻢ ‪Finish‬‬
              ‫ﺛﻢ ﻧﺪﺧﻞ ﻋﻠﻰ اﻟـ ‪ Layout Wizard‬ﺛﻢ ‪ Next‬ﺛﻢ ﯾﻌﺮض ‪Available item , Displayed item‬‬
             ‫ﻓﯿﺘﻢ اﺧﺘﯿﺎرھﻢ ﺟﻤﯿﻌﺎ ) ھﻮ اﻷﻓﻀﻞ ( ﺛﻢ ‪ Next‬ﺛﻢ ﻧﺨﺘﺎر ‪ Form‬ﺛﻢ ﯾﻈﮭﺮ ﻣﺮﺑﻊ ﺣﻮار ‪Frame Title‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




        ‫ﻋﻨﺪ إدﺧﺎل اﻟﺒﺎﺳﻮورد واﺳﻢ اﻟﻤﺴﺘﺨﺪم ﯾﺘﻢ ﻓﺘﺢ ﻗﺎﺋﻤﺔ ﺑﺎﺳﻢ اﻟﺠﺪاول اﻟﻤﺘﺎﺣﺔ ﻟﻺﺧﺘﯿﺎر ﻣﻨﮭﺎ . ﻓﻨﻘﻮم ﺑﺈﺧﺘﯿﺎر اﻟﺠﺪول اﻟﻤﻄﻠﻮب‬
                                                         ‫وﺗﺤﺪﯾﺪ اﻟﺤﻘﻮل اﻟﻤﻄﻠﻮﺑﺔ وﻟﺘﻜﻦ ﻛﻞ اﻟﺤﻘﻮل واﻟﻀﻐﻂ ﻋﻠﻲ ‪. next‬‬

                                                                                                      ‫ﻣﻠﺤﻮﻇﺎت ھﺎﻣﺔ‬
                                                                                             ‫ﻹﺧﻔﺎء ﻋﻤﻮد :‬
                                                                                   ‫١-ﻻ اﺧﺘﺎر ھﺬا اﻟﻌﻤﻮد او‬
                                                                          ‫٢-اﺧﺘﺎرة وﯾﻜﻮن اﻟـ ‪canvas = Null‬‬

                                                                                      ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ ﺟﺪا :‬
                                               ‫ﻻ ﻧﺤﻔﻆ اﻟـ ‪ Form‬ﻓﻰ ﻣﺠﻠﺪ ﯾﺤﺘﻮى ﻋﻠﻰ ﻋﻼﻣﺎت ﺧﺎﺻﺔ ا، ﻣﺴﺎﻓﺔ‬
                                                             ‫ﻻﺣﻆ أن : ﻋﻨﺪ ﺣﺬف اﻟـ ‪ Form‬ﯾﺘﺒﻘﻰ اﻟـ ‪Frame‬‬
                                                                         ‫اﻟـ ‪ Form‬ﻣﻮﺟﻮد ﻋﻠﻰ ‪Canvas‬‬
                         ‫اﻟﻤـﻔـﺘـــــﺎح‬                                      ‫اﻟﻤﻌــﻨــــﻰ‬
                              ‫3‪F‬‬                                        ‫‪Object navigator‬‬
                              ‫4‪F‬‬                                   ‫‪ ) Property Palette‬اﻟﺨﺼﺎﺋﺺ (‬
                              ‫2‪F‬‬                                        ‫) ‪Design (Canvas‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                                  ‫اﻟﺨﺼﺎﺋﺺ اﻟﻌﺎﻣﺔ ﻟﻠﻌﻨﺼﺮ‬

                                                          ‫ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ 4‪ F‬ﯾﺘﻢ اﻟﺪﺧﻮل اﻟﻲ اﻟﻘﺎﺋﻤﺔ اﻟﺘﺎﻟﯿﺔ‬
                                                        ‫اﺳﻢ اﻟﻌﻨﺼﺮ اﻟﺒﺮﻣﺠ ﻲ‬

                                                       ‫ﻧﻮع اﻟﻌﻨﺼﺮ‬

                                                      ‫ﺧﺎﺻﯿﺔ اﻟﺠﺎﻓــــﺎ‬
                                   ‫ﺗﻌﻠﯿﻘﺎت‬


                                                                               ‫ﻣﺤﺎذاة ﻳﻤﯿﻦ - ﻳﺴﺎر‬

                                                         ‫ﺧﺎﺻﯿﺔ اﻟﺠﺎﻓــــﺎ‬

                                                     ‫اﻛﺘﺮ ﻣﻦ ﺳﻄﺮ‬

                                                                                    ‫ﺣﻤﺎﻳﺔ ﻣﺜﻞ وﺿﻊ رﻣﺰ ﻣﻜﺎن اﻟﺤﺮف‬

                                                    ‫ﺣﻔﻆ ﻣﻮﻗﻊ اﻟﻤﺎوس‬
                                               ‫ﻳﺮﺟﻊ ﻋﻠﻲ اﺧﺮ ﺣﺮف‪Yes‬‬
                                               ‫ﻳﺮﺟﻊ ﻋﻠﻲ اﺧﺮ ﻛﻠﻤﺔ ‪No‬‬


                                                     ‫ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﯿﺔ ﺗﻈﮫﺮ ﻗﺎﺋﻤﺔ‬

                                                             ‫اﻟﺴﻤﺎح ﻹﺳﺘﺨﺪام ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ‬

                                                         ‫اﻟﻌﻨﺼﺮ اﻟﻠﻲ ھﯿﺮوﺣﻠﺔ واﻟﻠﻲ ھﯿﺮﺟﻌﻠﺔ‬




                                                            ‫اﺟﺒﺎري ادﺧﺎل اﻟﺒﯿﺎﻧﺎت‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                                      ‫ﺧﺎﺻﺔ ﺑﺎﻟﺘﺎرﻳﺦ‬

                                                                ‫اﻗﻞ واﻗﺺ ﻗﯿﻤﺔ ﻳﻘﺒﻠﮫﺎ‬




                                                      ‫اﻟﺘﺄﻛﺪ ﻣﻦ ان اﻟﻌﻨﺼﺮ ﻓﻲ اﻟﻔﻮرم ﺗﺒﻊ اﻟﻨﻈﺎم وﻻ ﻋﻨﺼﺮ ﺧﺎرﺟﻲ‬



                                                        ‫ﻻ ﻳﺼﻠﺢ ﻹدﺧﺎل اﻟﺒﯿﺎﻧﺎت‬

                                                             ‫ﻧﺘﺮﻛﮫﺎ ﺑﺼﻔﺮ‬

                                                                           ‫ﺣﺴﺎﺳﯿﺔ اﻟﺤﺮف‬




                                                                 ‫ﻹﻇﮫﺎر اﻟﺤﻘﻮل اﻟﻠﻲ ﺑﯿﺎﻧﺎﺗﮫﺎ ﻛﺜﯿﺮة ‪Ctrl+e‬‬
                                                                 ‫ﻹﻇﮫﺎر ‪editor‬ﻻﺑﺪ ﻣﻦ اﻧﺸﺎءة اوﻻ‬




                                                            ‫اﻻﺳﻢ اﻟﻠﻲ ھﯿﻈﮫﺮ ﻋﻠﻲ اﻟﻔﻮرم ‪caption‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                                            ‫ﻇﮫﻮر ﻣﻠﺤﻮﻇﺔ ﻋﻨﺪ اﻟﻮﻗﻮف ﻋﻠﻲ اﻟﻌﻨﺼﺮ‬




                                           ‫ﻇﮫﻮر ﻣﻠﺤﻮﻇﺔ ﻋﻠﻲ اﻟﻤﺎوس‬



                                   ‫‪Master Detail Block‬‬
                                        ‫١-ﻹﻧﺸﺎء ھﺬا اﻟﻨﻮع ﻧﺒﻨﻰ اﻟـ ‪ Master Block‬أوﻻ ) ‪(Dept Block‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




          (Emp Block) Detail Block ‫ وﻧﻨﺸﻰ اﻟـ‬Data Block ‫ ﻧﻘﻒ ﻋﻠﻰ اﻟـ‬Module ‫٢-ﻣﻦ داﺧﻞ ﻧﻔﺲ اﻟـ‬
                                                   ‫ وھﻰ ﺻﻔﺤﺔ اﻟﻌﻼﻗﺔ‬Master ‫وھﻮ ﯾﺰﯾﺪ ﺻﻔﺤﺔ ﻋﻦ اﻟـ‬
    Detail block . foreign key column = Master block . foreign key column
                                      ( ‫ أوﻻ ) ﻣﻌﺎة اﻟﻌﻼﻗﺔ‬Master Block ‫ﻣﻊ ﻣﻼﺣﻈﺔ اﻧﺔ ﯾﺘﻢ وﺿﻊ اﻟـ‬
                                                              Tabular ‫ ﻣﻦ اﻟﻨﻮع‬Detail ‫وﯾﻜﻮن اﻟـ‬




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                         ‫وﻧﻀﻊ اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺠﺪوﻟﯿﻦ اﻟﺮﺋﯿﺴﻲ ‪Dept‬و اﻟﻔﺮﻋﻲ ‪Emp‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                              ‫وﻧﺨﺘﺎر اﻛﺜﺮ ﻣﻦ ‪Record Display‬اﻛﺒﺮ ﻣﻦ ١ وﻟﯿﻜﻦ ٧ وﯾﻜﻮن اﻟﻨﺎﺗﺞ اﻟﻨﮭﺎﺋﻲ‬




                                                                                           ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬
                                        ‫اﻟﻤﺴﺘﺮ ﻻﺑﺪ ان ﯾﻜﻮن ﻓﻮق ال ‪Detail‬وذﻟﻚ ﻓﻲ ﻗﺎﺋﻤﺔ ال‬
                                    ‫‪ object navigator‬وﻟﻠﻮﺻﻮل ﻟﮭﺎ ﻣﻦ ﺧﻼل اﻟﻀﻐﻂ ﻋﻠﻲ 3‪F‬‬




                                                                                           ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬

           ‫ﯾﻈﮭﺮ ﻋﻤﻮد ال ‪ Dept‬ﻓﻲ اﻟﻨﺎﺗﺞ اﻟﻨﮭﺎﺋﻲ ﻣﻜﺮر وﻹﺧﻔﺎﺋﺔ ﻧﻘﻮم ﺑﻌﻤﻞ ال ‪ Canvas‬ﻟﺔ ب ‪ Null‬او ﻧﺠﻌﻞ‬
                                                                                 ‫‪ Visible‬ب ‪. No‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                                                                                    ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬

      ‫‪trigger‬‬      ‫‪Trigger‬اﺗﻮﻣﺎﺗﯿﻜﯿ ﺎ وال‬          ‫- اﻟﻌﻼﻗ ﺔ داﺋﻤ ﺎ ﺗﻜ ﻮن ﻣ ﻊ اﻟﻤﺎﺳ ﺘﺮ ﻓﻌﻨ ﺪ ﻋﻤﻠ ﺔ ﯾ ﺘﻢ اﻧ ﺸﺎء‬
                                          ‫ﯾﻜﻮن ﻣﺴﺌﻮن ﻣﻦ ﺗﺤﻘﻖ اﻟﺒﯿﺎﻧﺎت ﻣﺜﻞ ﻋﺪم ادﺧﺎل ﻣﻮﻇﻒ ﻓﻲ ﻏﯿﺮ ادارﺗﺔ .‬
                ‫- ﻻﺣﻆ أن اﻟﻌﻼﻗﺔ ﺗﻜﻮن ﻣﻊ اﻟـ ‪ Master Block‬وﻟﻠﺪﺧﻮل ﻋﻠﻰ ﺧﺼﺎﺋﺺ اﻟﻌﻼﻗﺔ ﻧﻘﻒ ﻋﻠﯿﮭﺎ وﻧﻀﻐﻂ 4‪F‬‬
                            ‫اﻟﻤﻌﻨﻰ‬                                              ‫اﻟﺨﺎﺻﯿﺔ‬
                       ‫ﻻ ﯾﺤﺬف اﻟـ ‪ Parent‬ﻟﻮﺟﻮد ‪Child‬‬                         ‫‪Non-isolated‬‬
                 ‫ﯾﻤﺴﺢ اﻟـ ‪ Parent‬وﯾﻀﻊ ‪ Null‬ﻓﻰ ‪child‬‬                            ‫‪Isolated‬‬
                        ‫ﯾﺤﺬف اﻟـ ‪ Parent‬وﻛﺬﻟﻚ اﻟـ‪Child‬‬                         ‫‪Cascade‬‬
                   ‫- ﺧﺎﺻﯿﺔ اﻟـ ‪ Prevent Master‬إذا ﻛﺎﻧﺖ ﻗﯿﻤﺘﮭﺎ ‪ Yes‬ﻓﮭﻰ ﺗﻌﻨﻰ ﻣﻨﻊ اﻟﻜﺘﺎﺑﺔ ﻓﻰ اﻟـ ‪ Detail‬إﻻ‬
                                                                               ‫ﻋﻨﺪ اﻟﻜﺘﺎﺑﺔ ﻓﻰ اﻟـ ‪ Master‬أوﻻ‬
                                                                        ‫- ﺧﺎﺻﯿﺔ اﻹﺳﺘﻌﻼم ‪Coordination‬‬
                                                ‫ﺧﺎﺻﯿﺔ اﻟـ ‪Coordination‬‬
                ‫‪Defered‬‬          ‫‪Automatic‬‬                                   ‫اﻟﻤﻌﻨﻰ‬
                   ‫‪no‬‬                 ‫‪no‬‬                                   ‫اﻻﻓﺘﺮاﺿﻰ‬
                  ‫‪yes‬‬                 ‫‪no‬‬                          ‫ﯾﻌﺮض ﺑﯿﺎﻧﺎت اﻟـ ‪ Master‬ﻓﻘﻂ‬
                   ‫‪no‬‬                ‫‪yes‬‬                                   ‫ﻏﯿﺮ ﻣﺤﻘﻘﺔ‬
                  ‫‪yes‬‬                ‫‪yes‬‬              ‫ﯾﻈﮭﺮ اﻟـ ‪ Master‬وﻹﻇﮭﺎر اﻟـ‪ Detail‬ﻻ ﺑﺪ ﻣﻦ اﻟﻀﻐﻂ ﻋﻠﯿﺔ‬


                                                   ‫‪Items‬‬
                             ‫ﯾﻤﻜﻦ اﻟﻜﺘﺎﺑﺔ ﺑﺪاﺧﻠﺔ ‪ Text Item‬ﺑﯿﻨﻤﺎ اﻟـ ‪ Display Item‬ﻻ أﺳﺘﻄﯿﻊ اﻟﻜﺘﺎﺑﺔ ﺑﺪاﺧﻠﺔ‬

                ‫اﻟﺨﺎﺻﯿﺔ‬                                             ‫اﻟﻘﯿﻤﺔ‬
     ‫‪name‬‬                                                                                   ‫اﻻﺳﻢ اﻟﺒﺮﻣﺠﻰ‬
     ‫‪Item type‬‬                                                     ‫ﻧﻮع اﻟﻌﻨﺼﺮ وﯾﻤﻜﻦ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﻐﯿﯿﺮ اﻟﻨﻮع‬
                                                 ‫‪Functional‬‬
     ‫‪enable‬‬                                                            ‫‪ Yes‬وﺗﻌﻨﻰ إﻣﻜﺎﻧﯿﺔ اﻟﻜﺘﺎﺑﺔ ﺑﺪاﺧﻠﺔ‬
     ‫‪Justification‬‬                                                                                ‫اﻟﻤﺤﺎذاة‬
     ‫‪Multi line‬‬                        ‫اﻟﻘﯿﻤﺔ ‪ Yes‬ﺗﻌﻨﻰ إﻣﻜﺎﻧﯿﺔ ﻛﺘﺎﺑﺔ اﻛﺜﺮ ﻣﻦ ﺳﻄﺮواﻟﻌﻜﺲ ﺻﺤﯿﺢ ﺑﺎﻟﻨﺴﺒﺔ ﻟـ‪No‬‬

     ‫‪Warp style‬‬                                                               ‫ﯾﻨﮭﻰ اﻟﺴﻄﺮ ﻋﻠﻰ ﻛﻠﻤﺔ ‪Word‬‬
                                                                              ‫ﯾﻨﮭﻰ اﻟﺴﻄﺮ ﻋﻠﻰ ﺣﺮف ‪char‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

            ‫اﻟﺨﺎﺻﯿﺔ‬                                         ‫اﻟﻘﯿﻤﺔ‬
     ‫‪Case restriction‬‬                                     ‫اﻓﻀﻞ اﺧﺘﯿﺎر ھﻮ ‪ mixed‬وﺗﻌﻨﻰ اﻟﻜﺘﺎﺑﺔ ﺑﻨﻔﺲ‬
                                                                       ‫ﺣﺎﻟﺔ اﻷﺣﺮف اﻟﺘﻰ ﯾﺘﻢ اﻟﻜﺘﺎﺑﺔ ﺑﮭﺎ‬
     ‫‪Conceal Data‬‬                                ‫ﯾﺠﻌﻞ اﻟﻜﺘﺎﺑﺔ * وﻓﻰ ھﺬة اﻟﺤﺎﻟﺔ ﯾﻜﻮن ‪Multilane = no‬‬

     ‫‪Keep cursor position‬‬           ‫ﺗﺴﺘﺨﺪم ﻓﻰ ﺣﺎﻟﺔ اﻻﻧﺘﻘﺎل ﺑﯿﻦ اﻛﺜﺮ ﻣﻦ ‪ Text _item‬ﻓﺎﻟﻘﯿﻤﺔ ‪ Yes‬ﺗﻌﻨﻰ‬
                                                                         ‫ﻋﻨﺪ اﻟﺮﺟﻮع ﻟﻠﻌﻨﺼﺮ اﻟﺴﺎﺑﻖ‬
                                  ‫ﯾﺮﺟﻊ ﻷﺧﺮ ﺣﺮف ﺑﯿﻨﻤﺎ اﻟﻘﯿﻤﺔ ‪ No‬ﺗﻌﻨﻰ ﻋﻨﺪ اﻟﺮﺟﻮع ﻟﻠﻌﻨﺼﺮ اﻟﺴﺎﺑﻖ ﯾﺮﺟﻊ‬
                                                                                       ‫ﻋﻠﻰ ﻛﻞ اﻟﻜﻠﻤﺔ‬
     ‫‪Automatic skip‬‬                                       ‫ﺗﻌﻨﻰ ﻋﻨﺪ اﻟﻮﺻﻮل ﻟﻠﻨﮭﺎﯾﺔ ) أﺧﺮ اﻟـ‪(Length‬‬
                                                        ‫ﯾﻨﺘﻘﻞ ﻟﻠﻌﻨﺼﺮ اﻟﺜﺎﻧﻰ وذﻟﻚ إذا ﻛﺎﻧﺖ اﻟﻘﯿﻤﺔ ‪Yes‬‬
     ‫‪Max length‬‬                                                                      ‫ﯾﺘﻢ ﻛﺘﺎﺑﺔ رﻗﻢ ﺑﮭﺎ‬
                                        ‫‪Object navigator‬‬
                                                                                       ‫اﻻﻧﺘﻘﺎل ﻟﻸﻣﺎم‬
     ‫‪Tap‬‬
     ‫‪Shift Tap‬‬                                                                         ‫اﻟﺮﺟﻮع ﻟﻠﺨﻠﻒ‬
     ‫‪Keyboard navigation‬‬                                    ‫‪ Yes‬وﺗﻌﻨﻰ إﻣﻜﺎﻧﯿﺔ اﺳﺘﺨﺪام ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ‬
                                                                      ‫واﻟﻘﯿﻤﺔ‪ No‬ﺗﻌﻨﻰ اﺳﺘﺨﺪام اﻟﻤﺎوس‬
     ‫‪Initial Value‬‬                        ‫اﻟﻘﯿﻤﺔ اﻟﺘﻰ ﺗﻈﮭﺮ ﻓﻰ اﻟﻌﻨﺼﺮ اﻟﻤﺨﺘﺎر ﻋﻨﺪ ﺑﺪاﯾﺔ ﻇﮭﻮر اﻟـ‪Form‬‬

     ‫‪Format mask‬‬                                                            ‫اﻟﺘﻨﺴﯿﻖ اﻟﺘﻰ ﺳﯿﺘﻢ اﻟﻌﺮض ﺑﺔ‬
     ‫‪Lowest allowed / Max value‬‬                             ‫وﻧﻜﺘﺐ ‪ range‬ﻣﻌﯿﻦ وذﻟﻚ ﻓﻰ ﺣﺎﻟﺔ اﻟـ‪Insert‬‬
     ‫‪Tool tip‬‬                                                     ‫وﺗﻌﻨﻰ ﻇﮭﻮر ﺗﻌﻠﯿﻖ ﻣﻌﯿﻦ ﻋﻨﺪ اﻟﻮﻗﻮف‬
                                                                               ‫ﺑﺎﻟﻤﺎوس ﻋﻠﻰ ھﺬا اﻟﻌﻨﺼﺮ‬
     ‫‪Display automatic hint‬‬                                     ‫ﻧﺠﻌﻠﺔ ‪ yes‬وذﻟﻚ إذا أردﻧﺎ ﻇﮭﻮر اﻟﺘﻌﻠﯿﻖ‬
                                              ‫‪Data Base‬‬
     ‫‪Data base item‬‬                    ‫ھﺎﻣﺔ ﺟﺪا ﻓﺈذا ﻛﺎﻧﺖ اﻟﻘﯿﻤﺔ ‪ No‬ﻓﺎن ﺟﻤﯿﻊ اﻟﺨﻮاص أﺳﻔﻠﮭﺎ ﻻ ﻗﯿﻤﺔ ﻟﮭﺎ‬
     ‫‪Update only if null‬‬                                    ‫ﻻ ﯾﻘﺒﻞ اﻟﺘﺤﺪﯾﺚ إﻻ إذا ﻛﺎﻧﺖ ﻗﯿﻤﺔ اﻟﺨﻠﯿﺔ ﻓﺎرﻏﺔ‬
     ‫‪Query only‬‬                        ‫إذا ﻛﺎﻧﺖ اﻟﻘﯿﻤﺔ ‪ yes‬ﻓﺘﻌﻨﻰ أﻧﺔ ﻟﻦ ﯾﻘﺒﻞ اى ﺧﺎﺻﯿﺔ ﻏﯿﺮ اﻻﺳﺘﻌﻼم ﻓﻰ‬
                                         ‫ﺣﺎﻟﺔ اﻟـ‪ run time‬ﻛﻤﺎ أﻧﮭﺎ ﺗﺠﻌﻞ ﺟﻤﯿﻊ اﻟﺨﻮاص أﺳﻔﻠﮭﺎ ﻻ ﻗﯿﻤﺔ ﻟﮭﺎ‬

                                              ‫‪Physical‬‬
     ‫‪Visible‬‬                                         ‫اﻟﻘﯿﻤﺔ ‪ yes‬ﺗﻌﻨﻰ رؤﯾﺔ اﻟﻌﻨﺼﺮ ﻓﻰ اﻟـ‪run time‬‬
     ‫‪Bevel‬‬                                                                      ‫ﺷﻜﻞ اﻟﻌﻨﺼﺮ ﻧﻔﺴﺔ‬
                                               ‫‪Editor‬‬
     ‫‪Editor‬‬                                                         ‫ﺗﻌﻨﻰ إﻣﻜﺎﻧﯿﺔ ﻛﺘﺎﺑﺔ اﻛﺜﺮ ﻣﻦ ﺳﻄﺮ‬
                                                             ‫ﻓﻰ اﻟﻌﻨﺼﺮ وذﻟﻚ ﻓﻰ ﺣﺎﻟﺔ اﻟـ‪run time‬‬
     ‫‪Title‬‬                                                                       ‫ﻋﻨﻮان اﻟـ‪Editor‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

             ‫اﻟﺨﺎﺻﯿﺔ‬                                            ‫اﻟﻘﯿﻤﺔ‬
     ‫‪Visual attribute‬‬                                                ‫ﻣﺠﻤﻮﻋﺔ ﺧﻮاص ﺗﻢ إﻧﺸﺎﺋﮭﺎ ﻣﺴﺒﻘﺎ‬
                                                                               ‫ﯾﺘﻢ إﻋﻄﺎﺋﮭﺎ ﻟﻠـ ‪Editor‬‬
                                                ‫‪Help‬‬
     ‫‪Hint‬‬                                           ‫ﻣﺎ ﯾﻈﮭﺮ ﻋﻠﻰ اﻟـ‪ conceal bar‬ﻋﻨﺪ اﻟﻮﻗﻮف ﺑﺎﻟﻌﻨﺼﺮ‬
                                               ‫‪Record‬‬
     ‫‪Current record‬‬                                    ‫ﺗﺴﺘﺨﺪم ﻟﺸﺪ اﻧﺘﺒﺎه اﻟﻤﺴﺘﺨﺪم وﻣﻌﺮﻓﺔ ﻣﻜﺎن اﻟﻤﺆﺷﺮ‬
     ‫‪Distance between record‬‬                                                      ‫ﺧﺎﺻﺔ ﺑﮭﺬا اﻟﻌﻨﺼﺮ‬
     ‫‪Number of item displayed‬‬                        ‫ﻻ ﯾﺼﺢ أن ﯾﻜﻮن ﻋﺪد اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة ﺑﺎﻟـ‪Block‬‬
                                                                         ‫أن ﯾﻜﻮن اﻛﺒﺮ ﻣﻦ اﻟـ‪Record‬‬
                                           ‫‪Visual Attribute‬‬
     ‫‪Prompt visual‬‬                                       ‫اﻻﺳﻢ اﻟﺬى ﯾﻈﮭﺮ ﺑﺠﺎﻧﺐ اﻟﻌﻨﺼﺮ وﯾﻤﻜﻦ اﻟﺘﺤﻜﻢ‬
                                                                 ‫ﻓﯿﺔ ﻋﻦ ﻃﺮﯾﻖ ‪Prompot_prompot‬‬

                                                                                       ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬

                      ‫اﻟـ ‪ Item‬ﻋﻠﻰ ‪ block‬واﻟـ ‪ Block‬ﻋﻠﻰ ‪ Canvas‬واﻟـ ‪ Canvas‬ﻋﻠﻰ ‪Window‬‬

                             ‫• ﻟﻌﺮض اﻟﺘﺎرﯾﺦ اﻟﺤﺎﻟﻰ ﻓﻰ ﻋﻨﺼﺮ ﻋﻨﺪ ﻋﺮض اﻟـ‪ Form‬ﻓﻰ اﻟـ ‪Run time‬‬
                    ‫ﻧﺠﻌﻞ ﺧﺎﺻﯿﺔ اﻟـ ‪ Initial value‬ﻟﻠﻌﻨﺼﺮ ﻧﻜﺘﺐ ﻓﯿﮭﺎ $$‪$$datetime $$ , $$date‬‬
                                                             ‫• ﻹﻇﮭﺎر اﻟـ ‪ Editor‬ﻓﻰ اﻟـ ‪run time‬‬
                 ‫ﻧﻘﻒ ﻓﻰ اﻟﻌﻨﺼﺮ ﺛﻢ ﻧﻀﻐﻂ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ‪ ، Ctr + e‬ﻧﺨﺘﺎر ﻣﻦ ﻗﺎﺋﻤﺔ ‪Edit / Editor‬‬
          ‫ﻣﻊ ﻣﻼﺣﻈﺔ إذا وﻗﻔﺖ ﻓﻰ اى ﻋﻨﺼﺮ ﻟﯿﺲ ﻟﮫ ﺧﺎﺻﯿﺔ اﻟـ ‪ Editor‬ﻓﺄﻧﺔ ﯾﻜﺘﺐ ﺣﺴﺐ اﻟﺤﺠﻢ اﻟﻤﺤﺪد ﻟﮫ‬

                                                                        ‫ﻣﺜﺎل ﻋﻠﻰ اﺳﺘﺨﺪام اﻟـ ‪: Editor‬‬
                                                ‫ﺑﻔﺮض أﻧﻨﺎ ﻧﺮﯾﺪ اﻻﺳﺘﻌﻼم ﻋﻦ اﻟﻤﻮﻇﻔﯿﻦ اﻟﻤﻌﯿﻨﯿﻦ ﻓﻰ ﺷﮭﺮ ﻣﻌﯿﻦ‬
                                     ‫١. ﻧﺄﺗﻲ ﻋﻠﻰ اﻟﻌﻨﺼﺮ اﻟﺨﺎص ﺑﺘﺎرﯾﺦ اﻟﺘﻌﯿﯿﻦ ﺛﻢ ﻧﻜﺘﺐ ﻣﺜﻼ ‪:n‬‬
                   ‫٢. ﻧﻀﻐﻂ زر ‪ Execute‬ﻓﯿﻈﮭﺮ ﻣﺮﺑﻊ ﻧﻜﺘﺐ ﻓﯿﺔ ﺟﻤﻠﺔ اﻻﺳﺘﻌﻼم ﺑﺪون ‪where‬‬
      ‫)’‪hdate like upper (‘%sep‬‬
                         ‫• ﻣﺎ ﯾﺘﻢ ﻓﺘﺤﺔ ﻗﺒﻞ ﻣﺎ ﻧﻔﺘﺢ اﻟـ‪ Form‬ﺗﺴﻤﻰ ) ‪SGA ( System Global Area‬‬
             ‫• ﻗﺒﻞ اى ﺟﻤﻠﺔ ) ‪ Update ( insert / update / delete‬ﺗﻨﺰل اﻟﻘﯿﻢ ﻓﻰ اﻟـ ‪ re do buffer‬أوﻻ‬
                                                                  ‫وﻋﻨﺪ اﻟـ ‪ Commit‬ﺗﻨﺰل ﻓﻰ اﻟﺠﺪول‬
                                                                                       ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬

                        ‫ﻓﻰ ﺟﻤﻞ اﻟـ ‪ Update‬ﯾﺘﻢ اﻟﺒﺤﺚ ﻋﻠﻰ اﻟـ ‪ DB item‬وﯾﺘﻢ ﻋﻤﻞ ﺗﺤﺪﯾﺚ ﻟﮭﺎ ﻓﻘﻂ دون ﻏﯿﺮھﺎ‬
      ‫‪3 Tier‬‬
         ‫‪1. Client Tier‬‬
         ‫) ‪2. Middle Tier ( Web Server - Forms Services‬‬
         ‫‪3. Data Base‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

      Web server OC4J : Oracle 4 Java
               Forms , Data Base ‫ وھﻰ اﻟﺘﻰ ﺗﻌﻤﻞ اﺗﺼﺎل ﻣﺎ ﺑﯿﻦ اﻟـ‬Java applet ‫ھﻰ اﻟﺘﻰ ﺗﻘﻮم ﺑﺈﻧﺸﺎء اﻟـ‬

                Jinitiator ‫ ﻣﺮة واﺣﺪة ﻓﻘﻂ‬HTML‫ ﻣﺮة واﺣﺪة وﯾﻘﻮم ﺑﺈﻧﺸﺎء ﻣﻠﻒ اﻟـ‬browser ‫ﯾﺪﺧﻞ ﻓﻰ اﻟـ‬
      Forms services :
                          Forms servelets                                        Form‫ﺧﺎﺻﺔ ﺑﺎﻟـ‬
                          Forms Listener Services              ‫ ﻟﻠﻌﻨﺼﺮ اﻟﺘﺎﻟﻰ‬Parameter ‫ﺗﻌﻄﻰ اﻟـ‬
                          Forms runtime engine                                    DB‫ﯾﻌﺪل ﻓﻰ اﻟـ‬
                                                                                    ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬

                                                  Parameter ‫ ﻋﻠﻰ اﻟـ‬URL ‫ﯾﺤﺘﻮى اﻟـ‬
                                                                                    ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬
                                                                                  ‫ﻣﺴﺎر ﺗﺸﻐﯿﻞ اﻟﻔﻮرم‬
      Http://hostname:port (8889/8888/form90/f90
                              In 10g      In 9i



                                                      Tap Page ‫ﻋﻠﻲ‬Master Detail ‫- ﻟﻌﻤﻞ‬




                                                                                        ‫وﯾﻜﻮن اﻟﻨﺎﺗﺞ‬




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                                  ‫ﻹﻇﮭﺎر اﻟﺘﺎب اﻓﻘﯿﺎ ﻧﻘﻮم ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ اﻟﺘﺎﻟﯿﺔ ‪Right‬‬




                               ‫- ﻟﺠﻌﻞ ﺻﻒ ﻣﻌﯿﻦ ﯾﺄﺧﺬ ﺷﻜﻞ ﺟﻤﺎﻟﻲ ﻧﻘﻮم ﺑﻌﻤﻞ إﻧﺸﺎء ‪Visual Attributes‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                                                   ‫وﺑﺎﻟﺪﺧﻮل ﻋﻠﻲ ﺧﺼﺎﺋﺼﮭﺎ ﻋﻦ ﻃﺮﯾﻖ 4‪F‬‬




           ‫وﻳﻜﻮن اﻟﻨﺎﺗﺞ ﻋﻠﻲ اي ﻋﻤﻮد وذﻟﻚ ﺑﺈﺧﺘﯿﺎر اﻟﻌﻤﻮد واﻟﺪﺧﻮل اﻟﻲ ﺧﺼﺎﺋﺼﺔ واﺧﺘﯿﺎر ‪Visual Attribute‬‬
                                               ‫واﺧﺘﯿﺎر اﻟﺨﺼﺎﺋﺺ اﻟﺴﺎﺑﻖ اﻋﺪادھﺎ ﻟﯿﻜﻮن اﻟﻨﺎﺗﺞ ﻛﻤﺎ ﻳﻠﻲ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                        ‫‪LOV: List of Value‬‬

                                           ‫ﻋﻨﺪ ادﺧﺎل ﺑﯿﺎﻧﺎت ﻣﺜﻞ ﻧﻮع اﻹﺷﺎرة واﺳﻤﮭﺎ واﻟﺘﺨﺰﯾﻦ ﺑﺎﻟﺮﻗﻢ ﻣﺜﻞ ‪Dept no‬‬
                                                                          ‫- ﻧﻘﻮم ﺑﺈﺿﺎﻓﺔ ‪Display item‬‬
                                                                                    ‫- ﻧﻘﻮم ﺑﺈﻧﺸﺎء ‪Lov‬‬
                                                                                   ‫وﺗﻨﻘﺴﻢ اﻟﻲ ﻧﻮﻋﯿﻦ‬
                                                                 ‫‪Import query‬‬        ‫-‬
                                                                 ‫‪Build Wizard‬‬        ‫-‬

                                      ‫ھﻰ ﻗﺎﺋﻤﺔ ﻣﺴﺎﻋﺪة ﺗﺤﺘﻮى ﻋﻠﻰ ﻗﯿﻢ ﯾﺘﻢ اﺧﺘﯿﺎر أﺣﺪھﺎ ﺑﺪﻻ ﻣﻦ ﻛﺘﺎﺑﺘﮭﺎ‬    ‫•‬
                   ‫ﺗﻈﮭﺮ اﻟـ‪ LOV‬ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ ‪ Ctr + L‬واﻟﻤﺆﺷﺮ داﺧﻞ اﻟﻌﻨﺼﺮ ﺻﺎﺣﺐ اﻟـ ‪LOV‬‬                  ‫•‬
                   ‫ﻣﻦ ﻗﺎﺋﻤﺔ ‪ display lov‬إذا ﻛﺎن اﻟﻤﺆﺷﺮ داﺧﻞ اﻟﻌﻨﺼﺮ ﺻﺎﺣﺐ اﻟـ‪ Lov‬ﻓﺄﻧﺔ ﯾﻈﮭﺮ ﻣﺎ‬            ‫•‬
                                                                             ‫ﯾﻔﯿﺪ ﺑﺬﻟﻚ ﻋﻠﻰ اﻟـ‪Consol‬‬
                       ‫ﺗﻘﻮم اﻟـ ‪ Lov‬ﻋﻠﻰ ‪ record group‬ﻋﺒﺎرة ﻋﻦ ﺻﻮرة ﻣﻦ ﺟﺪول ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬              ‫•‬

                                                                                           ‫ﻛﯿﻔﯿﺔ ﻋﻤﻞ ‪LOV‬‬
                           ‫ﺑﻔﺮض أﻧﻨﺎ أردﻧﺎ ﻋﻤﻞ ‪ Lov‬وذﻟﻚ ﻟﻌﻨﺼﺮ اﻟـ ‪ ) Deptno‬اﻟﻤﻮﺟﻮد ﺑﺠﺪول اﻟـ ‪( Emp‬‬
                             ‫وذﻟﻚ ﻋﻨﺪ اﻟﻮﻗﻮف ﺑﺮﻗﻢ اﻹدارة ﺗﻈﮭﺮ ﻗﺎﺋﻤﺔ ﺑﺄﺳﻤﺎء وأرﻗﺎم اﻹدارات ﻓﻨﺨﺘﺎر ﻣﺎ ﯾﻨﺎﺳﺒﻨﺎ‬
                                                   ‫١- ﻧﻘﻮم أوﻻ ﺑﺈﻧﺸﺎء ‪ Block‬ﻟﺠﺪول اﻟـ ‪ Emp‬ﻣﻊ ﻣﻼﺣﻈﺔ أﻧﻨﺎ‬
                 ‫ﺳﻨﻀﻊ ﺑﺠﻮار اﻟـ ‪ display item deptno item‬وﻧﺴﻤﯿﺔ ‪ emp_di‬وذﻟﻚ ﻻﺳﺘﻘﺒﺎل اﻟـ ‪Lov‬‬

                                 ‫٢- ﻧﻘﻒ ﻋﻠﻰ ‪ Lov node‬وﻧﻨﺸﺊ واﺣﺪة ﺟﺪﯾﺪة وﻧﺨﺘﺎر اﻟـ ‪ Wizard‬ﺛﻢ ‪next‬‬
                                                                    ‫ﻓﺘﻈﮭﺮ ﺷﺎﺷﺔ ﻧﻜﺘﺐ ﺑﮭﺎ ﺟﻤﻠﺔ اﻻﺳﺘﻌﻼم‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                                                           ‫أو ﻛﺘﺎﺑﺔ ﺟﻤﻠﺔ ‪ SQL‬اﻟﺘﺎﻟﯿﺔ‬
            ‫‪Select dname , deptno from emp where deptno :=deptno‬‬
      ‫ﻣﻊ ﻣﻼﺣﻈﺔ أﻧﻨﺎ ﻛﺘﺒﻨﺎ اﻟﻌﻤﻮد اﻷول ﻣﻦ اﻟﻨﻮع ‪ Char‬وھﻮ اﻟـ ‪ dname‬وھﻮ اﻷﻓﻀﻞ وذﻟﻚ ﻻﺳﺘﺨﺪاﻣﺔ ﻓﻰ اﻟﺒﺤﺚ‬
                                 ‫وﻟﻠﺘﺄﻛﺪ ﻣﻦ ﺻﺤﺔ اﻻﺳﺘﻌﻼم ﻧﻀﻐﻂ زر ‪ Check _syntax‬ﺛﻢ ﻧﻀﻐﻂ ‪next‬‬
                               ‫ﻓﺘﻈﮭﺮ ﺷﺎﺷﺔ ﻣﻘﺴﻤﺔ ﻟﺠﺰﺋﯿﻦ ‪Record group column , Lov column‬‬
                              ‫ﻓﻨﺨﺘﺎر ﻣﺎ ﻧﺮﯾﺪ ﻇﮭﻮرة ﻓﻰ اﻟـ ‪ Lov Column‬وذﻟﻚ ﻣﻦ اﻟـ ‪Record column‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                                           ‫ﺛﻢ ﻧﻀﻐﻂ ‪ next‬ﻓﯿﻈﮭﺮ ﻣﺮﺑﻊ ﺣﻮار ﻓﻨﻘﻒ ﻓﻰ اﻟـ ‪Return Value‬‬




                                                   ‫ﻓﻨﻘﻮم ﺑﺘﻨﺸﯿﻂ اﻻﺧﺘﯿﺎر ‪Automatically Size Column‬‬
                                       ‫وذﻟﻚ إذا ﺣﺪث اى ﺗﻌﺪﯾﻞ ﻓﻰ ﺣﺠﻢ اﻟﻌﻤﻮد ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﯾﻌﺪل ﻓﻰ اﻟـ ‪Lov‬‬
                ‫ﺛﻢ ﻧﻘﻮم ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ‪ Look up return item‬وذﻟﻚ ﻟﻜﻰ ﻧﺨﺘﺎر اﻟﻌﻨﺼﺮ اﻟﺘﻰ ﺳﺘﻌﻮد ﻋﻠﯿﺔ اﻟﻘﯿﻢ‬



‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                  ‫وﻗﻰ ھﺬا اﻟﻤﺜﺎل ھﻮ ‪ emp_di‬ﺛﻢ ﺗﻀﻐﻂ ‪ ok‬ﺗﻢ ‪ next‬ﻓﯿﻈﮭﺮ ﻣﺮﺑﻊ ﺣﻮار ﻧﻜﺘﺐ ﻓﯿﺔ اﻟـ ‪Title‬‬
                                             ‫ﺛﻢ ‪ next‬ﻓﯿﻈﮭﺮ ﻣﺮﺑﻊ ﺣﻮار ﯾﻔﻀﻞ ﺗﺮﻛﺔ ﻟﻠـ ‪ Server‬ﺛﻢ ‪next‬‬
                                         ‫ﻓﺘﻈﮭﺮ ﺷﺎﺷﺔ ﻣﻘﺴﻤﺔ ﻟﺠﺰﺋﯿﻦ ‪Return item , Assigned item‬‬
         ‫ﻓﻨﺨﺘﺎر ﻣﺎ ﻧﺮﯾﺪ ﻇﮭﻮرة ﻓﻰ اﻟـ ‪ Assigned item‬وذﻟﻚ ﻣﻦ اﻟـ ‪ Return item‬ﺛﻢ ‪ next‬ﺛﻢ ﻧﻀﻐﻂ ‪Finish‬‬

               ‫ﻻﺣﻆ أن : ﻗﺪ ﺗﻢ إﻧﺸﺎء ﻛﻼ ﻣﻦ ‪ lovs , record group‬ﻓﻨﻘﻮم ﺑﺘﻐﯿﺮ أﺳﻤﺎﺋﮭﻢ وﻟﯿﻜﻦ ‪dept , dept‬‬




                                          ‫وﺑﺎﻟﺪﺧﻮل ﻋﻠﻲ ﺧﺼﺎﺋﺺ ال ‪ LOV‬ﻧﻔﺴﮭﺎ ﻧﺪﺧﻞ وﻧﻌﺪل اﻟﻘﯿﻢ اﻟﺘﺎﻟﯿﺔ‬




                                     ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ : ﻟﻮ ﺗﻢ ﻋﻤﻞ ‪ Run‬ﻟﻠـ ‪ Form‬ﻓﺎن اﻟـ ‪ Lov‬ﻟﻦ ﺗﻌﻤﻞ‬
                       ‫ﻷﻧﺔ ﻻﺑﺪ ﻣﻦ إﻋﻄﺎء اﻟـ ‪ deptno item‬اﻟﺨﺎص ﺑﺎﻟﺒﻠﻮك ھﺬة اﻟﺨﺼﺎﺋﺺ‬
      ‫)‪List of Values (LOV‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

      ‫)‪List of values: lov_name (dept‬‬
      ‫‪Validate from list : yes‬‬




                                           ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ : ﺟﻤﻠﺔ اﻟـ ‪ Select‬ﺗﻘﻮم ﺑﺘﻌﺒﺌﺔ اﻟـ ‪Record group‬‬
                                                                    ‫ﻹﻇﮭﺎر اﻟـ ‪ Lov‬ﻓﻰ اﻟـ ‪: Run time‬‬
                      ‫ﻧﻘﻒ ﻋﻠﻰ اﻟﻌﻨﺼﺮ ﺻﺎﺣﺐ اﻟـ ‪ Lov‬ﺛﻢ ﻧﻀﻐﻂ ‪ Ctr+ l‬ﻓﺘﻈﮭﺮ اﻟـ ‪ Lov‬ﻓﻨﺨﺘﺎر ﻣﻨﮭﺎ ﻣﺎ ﻧﺮﯾﺪ‬



                                    ‫‪Create calculation item‬‬
              ‫ﯾﺘﻢ إﻧﺸﺎء ﺑﻠﻮك ﻋﻠﻰ ﺟﺪول اﻟـ ‪ Emp‬وﻻﺣﻆ أن ﻧﻮﻋﺔ ‪ tabular‬وﻟﯿﻜﻦ اﻟـ 5 = ‪record display‬‬
                           ‫ﺛﻢ ﯾﺘﻢ وﺿﻊ ﻋﺪد ‪ 2 Dispaly item‬أﺣﺪھﻢ ﯾﻜﻮن ﻋﺪده ﯾﺴﺎوى ﻋﺪد اﻟـ ‪Record‬‬
                                           ‫وھﻮ اﻟﺬى ﺳﯿﺘﻢ ﻓﯿﺔ ﺣﺴﺎب ‪ .sal + comm‬ﻟﻜﻞ ﻣﻮﻇﻒ ﻋﻠﻰ ﺣﺪى‬
                     ‫أﻣﺎ اﻟﻌﻨﺼﺮ اﻷﺧﺮ ﯾﺴﺘﺨﺪم ﻟﺤﺴﺎب إﺟﻤﺎﻟﻲ اﻟﻤﺮﺗﺒﺎت ) ﯾﻔﻀﻞ أن ﯾﻜﻮن ‪( display item‬‬

        ‫- ﺑﻌﺪ ﻋﻤﻞ ﺑﻠﻮك ﺟﺪﯾﺪ ﻧﻀﻊ ﻋﻠﯿﺔ ٢ ‪Display Utem‬ﻓﯿﺘﻢ اﻧﺸﺎﺋﮭﻢ ﺗﻠﻘﺎﺋﯿﺎ ﺑﻌﺪد اﻟﯿﺠﻼت اﻟﻤﻮﺟﻮدة وﻟﺘﻜﻦ ٥‬
              ‫ﺑﺎﻟﻨﺴﺒﺔ ﻟﻞ ‪display‬اﻟﺘﻲ ﺳﺘﻘﻮم ﺑﺠﻤﻊ ال ‪COMM+ SAL‬ﻓﻨﺘﺮﻛﮭﺎ ﺑﻌﺪد اﻟﺴﺠﻼت ام ﺑﺎﻟﻨﺴﺒﺔ ﻟﻞ‬
                              ‫‪Display‬اﻟﺘﻲ ﺳﯿﺘﻢ ﻓﯿﮭﺎ ﺟﻤﻊ ال ‪ SAL‬ﻓﻨﻐﯿﺮ ﻓﻲ ﺧﺼﺎﺋﺼﺎ ﻛﻤﺎ ﺑﺎﻟﺼﻮرة اﻟﺘﺎﻟﯿﺔ‬




                                                                            ‫ﯾﺠﺐ ﺗﻌﺪﯾﻞ اﻟﺨﺎﺻﯿﺔ ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ‬

        ‫وﻧﻘﻮم ﺑﺘﺴﻤﯿﺔ ال ‪ Display‬اﻟﺨﺎص ﺑﺠﻤﻊ اﻟﻤﺮﺗﺐ واﻟﺤﻮاﻓﺰ ب ‪Total‬واﻟﺜﺎﻧﻲ اﻟﺨﺎص ﺑﺠﻤﻊ اﻟﻤﺮﺗﺐ ‪Sum‬‬
                                                       ‫وﺗﻜﻮن اﻟﺼﻮرة اﻟﻨﮭﺎﺋﯿﺔ ﻟﻠﻔﻮرم ﻛﻤﺎ ﺑﻠﺸﻜﻞ اﻟﺘﺎﻟﻲ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                          Total ‫ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻌﻨﺼﺮ‬Calculation ‫ﻟﻠﺘﻌﺪﯾﻞ ﻓﻲ ﺧﺼﺎﺋﺺ ال‬

                                                                     Total ‫ﺧﻮاص اﻟﻌﻨﺼﺮ اﻷول‬
                        ‫اﻟﺨﺎﺻﯿﺔ‬                                      ‫اﻟﻘﯿﻤﺔ‬
      Data type                                                     Number
                                            calculation
      Calculation mode                                               formula
      Formula                                             Nvl (:sal,0) + Nvl (:comm,0)


                                                                               ‫ھﺎااااااااام‬




                                                                      Sum ‫ﺧﻮاص اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻰ‬
                     ‫اﻟﺨﺎﺻﯿﺔ‬                                         ‫اﻟﻘﯿﻤﺔ‬
      Calculation mode                                             summary
      Formula                                                        ‫ﻛﻤﺎ ھﻰ‬
      Summary function                                                sum
      Summarized block                                               emp
      Summarized item                                                  sal




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                      ‫- ﻣﻊ ﻣﻼﺣﻈﺔ أن اﻟﻌﻨﺼﺮﯾﻦ اﻟﺨﺎﺻﯿﺔ ‪Data base item = no‬‬
                          ‫- ﺛﻢ ﻧﺪﺧﻞ ﻋﻠﻰ ﺧﺼﺎﺋﺺ اﻟﺒﻠﻮك وذﻟﻚ ﺑﺎن ﻧﻘﻒ ﻋﻠﯿﺔ ﺛﻢ ﻧﻀﻐﻂ 4‪ F‬وﻧﻐﯿﺮ اﻟﺨﺎﺻﯿﺔ‬
                               ‫) ‪Record ( query all record = yes‬‬




                                            ‫ﻟﻀﻤﺎن ﻋﺪم ﻛﺘﺎﺑﺔ ﻧﻔﺲ اﻟﺼﻨﻒ اﻛﺜﺮ ﻣﻦ ﻣﺮة ﺑﺎﻟﻔﺎﺗﻮرة اﻟﻮاﺣﺪة‬

                                                            ‫ﻧﺠﻌﻞ رﻗﻢ اﻟﻔﺎﺗﻮرة ‪ detail_id‬ﺧﺼﺎﺋﺼﺔ :-‬
      ‫‪primary key = no , required = no‬‬




                                                   ‫ﺛﻢ ﻧﺠﻌﻞ رﻗﻢ اﻟﺼﻨﻒ ‪ item_id‬ھﻮ اﻟـ ‪primary key‬‬
                                                         ‫وذﻟﻚ ﻓﻰ اﻟـ ‪ Forma‬وﻟﯿﺲ اﻟـ ‪Data Base‬‬

                                                                                   ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬
              ‫- ﻟﻮ اردﻧﺎ ﻛﺘﺎﺑﺔ ﺗﻌﻠﯿﻖ داﺧﻞ اﻟﻜﻮد وﻻ ﯾﺘﻢ اﻟﺘﻌﺎﻣﻞ ﻣﻌﺔ ﻋﻠﻲ اﻧﺔ ﻛﻮد ﯾﺘﻢ وﺿﻊ ﻗﺒﻞ اﻟﺴﻄﺮ –‬
                             ‫- وﻟﻮ ﻛﺎن اﻟﻜﻼم اﻛﺘﺮ ﻣﻦ ﺳﻄﺮ ﻧﻀﻊ ﻗﺒﻞ ﺑﺪاﯾﺔ اﻟﻜﻼم /* وﻓﻲ ﻧﮭﺎﯾﺘﺔ /*‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                             ‫ﻹدﺧﺎل ﻣﻮﻇﻒ ﻣﺮﺗﺒﺔ ﺑﯿﻦ ٠٠٠٣ إﻟﻲ ٠٠٠٥ او اﻛﺒﺮ ﻣﻦ ٠٠٥٢‬
        ‫ﻧﻘﻮم ﺑﺎﻟﺪﺧﻮل ﻋﻠﻲ ‪Enter Query Mode‬وﻧﺪﺧﻞ ﻋﻠﻲ اﻟﺤﻘﻞ اﻟﺨﺎص ﺑﺎﻟﺸﺮط ‪Sal‬وﻧﻀﻊ‬
                                                          ‫اﻟﻜﻮد ﺑﺪون ﺟﻤﻠﺔ ‪where‬‬
         ‫052=> ‪Sal‬‬
         ‫0005 ‪Sal between 3000 and‬‬

                                                  ‫‪Check Box‬‬

              ‫اﻟﺨﺎﺻﯿﺔ‬                                                ‫اﻟﻘﯿﻤﺔ‬
                                                  ‫‪Functional‬‬
     ‫‪label‬‬                                                                              ‫ﻣﺎ ﯾﻈﮭﺮ ﺑﺠﻮار اﻟﻌﻨﺼﺮ‬
     ‫‪Access Key‬‬                                                  ‫ﺣﺮف ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﯿﮫ ﻣﻊ ‪ alt‬ﻧﺼﻞ ﻟﻠﻌﻨﺼﺮ‬
     ‫‪Implementation class‬‬                                                                     ‫ﺧﺎﺻﺔ ﺑﺎﻟـ ‪Java‬‬
     ‫‪Value when checked‬‬                     ‫اى ﻗﯿﻤﺔ وﺗﻌﻨﻰ ﻋﻨﺪ دﺧﻮل ھﺬة اﻟﻘﯿﻤﺔ ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﯾﻜﻮن اﻟﻌﻨﺼﺮ ﻧﺸﻂ‬
                                                                                 ‫)1( ‪Value when checked‬‬
                                                                                 ‫)0( ‪Value when checked‬‬
     ‫‪Check box mapping of‬‬                              ‫ﺗﻌﻨﻰ ﻋﻨﺪ إدﺧﺎل ﻗﯿﻢ ﻏﯿﺮ اﻟـ ‪when check / un check‬‬
     ‫‪Other values‬‬                                           ‫ﯾﻌﺎﻣﻠﮭﺎ ﻋﻠﻰ أﻧﮭﺎ ‪check / uncheck‬ال ‪default‬‬
                                                   ‫‪Data‬‬
     ‫‪Initial value‬‬                                     ‫ﻻ ﺑﺪ أن ﺗﻜﻮن إﺣﺪى ﻗﯿﻢ اﻟـ ‪when check / un check‬‬
                                                                                             ‫اﺗﻠﻘﯿﻤﺔ اﻹﻓﺘﺮاﺿﯿﺔ‬

                                 ‫اﻟﺨﺎﺻﯿﺔ ‪ Check box mapping of other values‬ﺗﻌﻨﻰ اﻵﺗﻲ :-‬
       ‫إذا ﻛﺎن اﻟـ 1 = ‪ un check = 0 ،check‬وﺗﻢ إدﺧﺎل ﻗﯿﻢ ﻏﯿﺮ ذﻟﻚ وﻟﯿﻜﻦ 2 ﻓﺒﻤﺎذا ﯾﻌﺎﻣﻠﮭﺎ ‪check / un check‬‬
                                                                                            ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬
       ‫إذا ﺗﻢ إدﺧﺎل ﻗﯿﻢ ﻟﻠﻌﻨﺼﺮ ﻣﻦ اﻟﻨﻮع ‪ Check box‬ﻣﺨﺎﻟﻔﺔ ﻟﻠﻘﯿﻢ اﻟﻤﻮﺟﻮدة ﻟﻠـ ‪When check / un check‬‬
      ‫وذﻟﻚ ﻓﻰ اﻟـ ‪ ISQL‬ﻓﺄﻧﺔ ﻟﻦ ﯾﺮﻓﺾ وﻟﻜﻦ ﻋﺮﺿﮭﺎ ﻓﻰ اﻟـ ‪ Form‬ﯾﺘﻢ ﺑﻨﺎء ﻋﻠﻰ ‪Check box mapping of‬‬


                                                    ‫‪List Item‬‬

                         ‫‪Compo List‬‬                                        ‫‪Text List‬‬                ‫‪Popup List‬‬
         ‫ﻟﻼﺧﺘﯿﺎر أو اﻟﻜﺘﺎﺑﺔ ﺑﺪاﺧﻠﮭﺎ اﻟﺘﻌﺒﺌﺔ ﻓﻰ اﻟـ‪ run time‬ﺑﻜﻮد‬          ‫اﻟﺘﺤﺮك ﻷﻋﻠﻰ واﺳﻔﻞ وﻧﻔﺲ‬      ‫ﻻ ﯾﻜﺘﺐ ﺑﺪاﺧﻠﮭﺎ‬
              ‫اﻟﺘﻌﺒﺌﺔ ﻣﻦ ‪ Data‬ﺛﺎﺑﺘﺔ ﻟﮭﺎ ﻗﯿﻢ ﺛﺎﺑﺘﺔ ﻣﻦ اﻟﺨﺼﺎﺋﺺ‬                 ‫‪ Non editable‬ﻃﺮﯾﻘﺔ اﻟﺘﻌﺒﺌﺔ ) ﺑﻜﻮد (‬
        ‫‪Mouse navigator = yes‬‬                                         ‫ﻻ ﯾﻜﺘﺐ ﺑﺪاﺧﻠﮭﺎ ﻋﻨﺪ اﻟـ‪rtime‬‬
                          ‫ﯾﻤﻜﻦ اﻟﻜﺘﺎﺑﺔ ﺑﺪاﺧﻠﮭﺎ ﻋﻨﺪ اﻟـ‪rtime‬‬       ‫وﯾﻔﻀﻞ أن ﻧﻜﺒﺮ ﺣﺠﻤﮭﺎ ﻋﻨﺪ اﻹﻧﺸﺎء‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬


          ‫‪List item properties‬‬
                      ‫اﻟﺨﺎﺻﯿﺔ‬                                      ‫اﻟﻘﯿﻤﺔ‬
                                          ‫‪Element in list‬‬
            ‫‪List Item‬‬                                           ‫اﻟﻘﯿﻢ اﻟﺘﻰ ﺳﺘﻈﮭﺮ ﻋﻨﺪ اﻟـ ‪R time‬‬
            ‫‪List Value‬‬                                            ‫اﻟﻘﯿﻢ اﻟﺘﻰ ﺳﺘﻨﺰل ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
            ‫‪Mapping of other values‬‬              ‫وذﻟﻚ ﻋﻨﺪ إدﺧﺎل ﻗﯿﻢ ﻏﯿﺮ اﻟﻤﻮﺟﻮدة ﺑﺎﻟـ‪List item‬‬
                                          ‫ﯾﻌﺎﻣﻠﮭﺎ ﻋﻠﻰ أﻧﮭﺎ ﻗﯿﻤﺔ ) ﻻ ﺑﺪ ﻣﻦ وﺟﻮدھﺎ ( ﺑﺎﻟـ‪List item‬‬
                                                 ‫‪Data‬‬
            ‫‪Initial value‬‬                                     ‫إﺣﺪى اﻟﻘﯿﻢ اﻟﻤﻮﺟﻮدة ﺑﺎﻟـ‪List item‬‬
            ‫‪Required‬‬                                         ‫إذا ﻛﺎﻧﺖ ﺑـ‪ yes‬ﻓﻼ ﺑﺪ ﻣﻦ اﺧﺘﯿﺎر ﻗﯿﻤﺔ‬


                                           ‫‪Radio group‬‬

         ‫‪• Contain many radio buttons‬‬
         ‫‪• For every R group we can select only one R button‬‬
                                                  ‫• ﻻ ﺑﺪ ﻣﻦ وﺟﻮد ‪ R group‬أوﻻ ﻟﻌﻤﻞ ‪R button‬‬
                                          ‫• إذا ﺗﻢ ﻋﻤﻞ ‪ R button‬أوﻻ ﯾﺘﻢ ﻋﻤﻞ ‪ R group‬ﺗﻠﻘﺎﺋﯿﺎ‬
             ‫• ﻋﻨﺪ ﻋﻤﻞ ‪ R button‬ووﺟﻮد ‪ R Group‬ﺗﻈﮭﺮ ‪ Lov‬ﺑﺄﺳﻤﺎء اﻟـ‪ group‬ﻻﺧﺘﯿﺎر أﺣﺪھﻢ ،‬
                                                                ‫اﺧﺘﯿﺎر ﻋﻤﻞ ‪ R group‬ﺟﺪﯾﺪة‬

        ‫‪Radio group properties‬‬

                                                  ‫ﺑﻔﺮض أﻧﻨﺎ ﺳﻨﻐﯿﺮ ﺧﺼﺎﺋﺺ اﻟـ ‪ Deptno‬إﻟﻰ ‪R group‬‬
                                        ‫ﻻﺣﻆ أن ﺑﺘﻐﯿﯿﺮ ﺧﺎﺻﯿﺔ اﻟﻌﻨﺼﺮ ﻓﺄﻧﺔ ﯾﺨﺘﻔﻰ وﻻﻇﮭﺎرة ﻧﻀﻐﻂ زر 3‪F‬‬
                            ‫ﻓﻨﺠﺪ أن اﻟﻌﻨﺼﺮ ‪ deptno‬اﺻﺒﺢ ‪ R group‬ﻓﻨﻘﻒ ﻋﻠﯿﺔ وﻧﻈﮭﺮ اﻟـ ‪R buttons‬‬
                                         ‫ﺛﻢ ﻧﻘﻮم ﺑﺈﻧﺸﺎء ‪ R buttons‬وﻧﻐﯿﺮ ﺧﺼﺎﺋﺺ اﻟـ ‪ R button‬اﻷول‬
               ‫ﻻﺣﻆ أن ﻋﻨﺪ إﻧﺸﺎء ‪ R button‬ﻓﻰ اﻟـ ‪ Canvas‬ﯾﻈﮭﺮ ﻣﺮﺑﻊ ﯾﻮﺟﺪ ﺑﺔ اﻟﻌﻤﻮد ﺻﺎﺣﺐ اﻟـ‪R button‬‬
                   ‫ﻣﻊ ﻣﻼﺣﻈﺔ أن ھﺬا اﻟﻌﻤﻮد )‪ (deptno‬اﺻﺒﺢ اﺳﻤﺔ ‪ R group‬ﺛﻢ ﻧﻌﺪل ﺧﺼﺎﺋﺺ اﻟﺰر اﻷول‬

                                             ‫‪Functional‬‬
         ‫‪label‬‬                                                                      ‫ﻣﺎ ﯾﻜﺘﺐ ﻋﻠﻰ اﻟﺰر‬
         ‫‪R button value‬‬                 ‫اﻟﻘﯿﻢ اﻟﺘﻰ ﺳﺘﻨﺰل ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻣﻊ ﻣﻼﺣﻈﺔ اﺧﺘﻼف اﻟﻘﯿﻢ ﻟﻜﻞ زر‬
         ‫‪Mapping of other values‬‬             ‫وذﻟﻚ ﻋﻨﺪ إدﺧﺎل ﻗﯿﻢ ﻣﺨﺘﻠﻔﺔ وذﻟﻚ ﻓﻰ اﻟـ‪ isql‬ﻓﺒﻤﺎذا ﯾﻌﺎﻣﻠﮭﺎ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                                        ‫ﯾﻔﻀﻞ وﺿﻊ اﻟـ ‪ R group‬ﻓﻰ ‪ Frame‬وﯾﻮﺿﻊ ﺑﺪاﺧﻠﺔ ‪R button‬‬
                                                 ‫ﺛﻢ ﻧﻐﯿﺮ اﻟـ ‪ Frame Title‬إﻟﻰ اﺳﻢ اﻟﻌﻤﻮد ) ‪(deptno‬‬
                                             ‫‪Button item‬‬

                                               ‫‪Functional‬‬
                                          ‫ﻣﺎ ﯾﻜﺘﺐ ﻋﻠﻰ اﻟﺰر ‪label‬‬
                                          ‫‪Icon‬‬        ‫‪yes‬‬

                                 ‫‪Layout Frame properties‬‬
                 ‫‪Update layout‬‬     ‫وﺗﻌﻨﻰ ﻋﻨﺪ اﻟﺘﻌﺪﯾﻞ ﻓﻰ اﻟـ‪ Frame‬ھﻞ ﯾﻌﺪل ﻓﻰ اﻟﻌﻨﺎﺻﺮ‬
                                                              ‫اﻓﻀﻞ ﻗﯿﻤﺔ ھﻰ ‪Locked‬‬
                 ‫‪Allow Expansion‬‬                                        ‫اﺣﺘﻮاء اﻟﻌﻨﺼﺮ‬
                 ‫‪Shrink warp‬‬        ‫ﯾﺤﺬف اﻟﻤﺴﺎﻓﺎت اﻟﻔﺎرﻏﺔ ﺑﺎﻟﻌﻨﺼﺮ ) اﺣﺘﻮاء اﻟﺒﯿﺎﻧﺎت (‬

                                          ‫‪Window Properties‬‬

                          ‫اﻟﺨﺎﺻﯿﺔ‬                               ‫اﻟﻘﯿﻤﺔ‬
                    ‫‪Title‬‬                                                     ‫ﻋﻨﻮان اﻟﻨﺎﻓﺬة‬
                    ‫‪Primary Canvas‬‬                  ‫إذا ﻛﺎﻧﺖ اﻟﻨﺎﻓﺬة ﺗﺤﻤﻞ اﻛﺜﺮ ﻣﻦ ‪Canvas‬‬
                    ‫‪Modal‬‬                                   ‫اﻟﺘﺒﺪﯾﻞ ﻣﺎ ﺑﯿﻦ اﻟﻨﻮاﻓﺬ ﻣﺘﺎح أم ﻻ‬
                                                                    ‫واﻟﻘﯿﻤﺔ ‪ no‬ﺗﻌﻨﻰ ﻣﺘﺎح‬
                    ‫‪Hide on exit‬‬                ‫ﻋﻨﺪ اﻟﺬھﺎب ﻟﻨﺎﻓﺬة أﺧﺮى ﺗﺨﺘﻔﻰ اﻷوﻟﻰ وھﻜﺬا‬
                    ‫‪Close Allow‬‬                   ‫اﺧﺘﻔﺎء ﻋﻼﻣﺔ اﻹﻏﻼق وھﻜﺬا ﺑﺎﻗﻰ اﻟﻌﻼﻣﺎت‬
                    ‫‪Icon file name‬‬        ‫‪http:// server_name:8888/ picture_name‬‬
                                                 ‫‪Physical‬‬
                    ‫‪Bevel‬‬                                                      ‫ﺣﺪود اﻟﻨﺎﻓﺬة‬


                                             ‫‪Types of Trigger‬‬
      ‫‪1 - user_named trigger‬‬                 ‫‪2 - on_trigger_name‬‬                      ‫‪3 - when‬‬
      ‫‪4 - key‬‬                                ‫‪5 - Pre‬‬                                  ‫‪6 - post‬‬

          ‫اﻟﻨﻮع اﻟﺮاﺑﻊ ﯾﻌﻤﻞ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر ﻣﻌﯿﻦ ﺑﯿﻨﻤﺎ اﻟﻨﻮع اﻷﺧﯿﺮ ﯾﻌﻤﻞ ﻗﺒﻞ ﺣﺪوث ﺗﻐﯿﺮات ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
                                   ‫ﻣﺜﺎل ﻋﻠﻰ اﻟﻨﻮع ‪ on_trigger_name‬ﻛﻼ ﻣﻦ ‪on error , on message‬‬
                       ‫اى رﺳﺎﻟﺔ ﺗﻈﮭﺮ ﻋﻠﻰ اﻟـ ‪ Consol‬اﻋﺮف رﻗﻤﮭﺎ ﺛﻢ اﻋﺮف ھﻞ ھﻰ ‪ error‬أم ‪message‬‬

      ‫‪Level of triggers‬‬
      ‫‪1 - form‬‬                               ‫‪2 - block‬‬                                 ‫‪3 - item‬‬



‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                                   ‫اى ) ‪ Built in ( Procedure / function‬ﯾﺠﺐ ﻣﻌﺮﻓﺔ اﻟﺘﺎﻟﻰ ﻋﻨﮭﺎ‬

                                          ‫٢ – ھﻞ ھﻰ ‪ Procedure‬أم ‪Function‬‬             ‫١ – ﻋﻤﻠﮭﺎ‬
                                       ‫٣ – ﻟﻮ ‪ Function‬ﻣﺎ ھﻰ ﻧﻮﻋﯿﺔ اﻟـ ‪ Data type‬اﻟﻠﻰ ھﺘﺮﺟﻊ‬
                                                        ‫٤ – ﻋﺪد اﻟـ ‪ argument‬وﻛﺬﻟﻚ ﻧﻮع ﺑﯿﺎﻧﺎﺗﮭﺎ‬
                                                     ‫٥ – ﻣﻌﺮﻓﺔ اﻟﺠﻤﻠﺔ ‪ Syntax‬وﻛﺬﻟﻚ ﻣﺜﺎل ﻋﻠﯿﮭﺎ‬
                     ‫٦ – ھﻞ ﯾﻮﺟﺪ ﻋﻠﯿﮭﺎ ﻗﯿﻮد ‪ ) Restricted‬ﻻ ﺗﻌﻤﻞ ﻓﻰ اﻟـ ‪ ( Enter_query‬أم اﻟﻌﻜﺲ‬

                                       ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ : ﯾﻤﻜﻦ ﻋﻤﻞ زر وﻛﺘﺎﺑﺔ ‪ Trigger‬ﺑﺪاﺧﻠﺔ وذﻟﻚ ﺑﺎن‬
                            ‫ﻧﻀﻐﻂ ﻋﻠﻰ اﻟﺰر ‪ R- click‬ﺛﻢ ﻧﺨﺘﺎر ‪ smart trigger‬ﺛﻢ ﻧﺨﺘﺎر اﻟﻨﻮع اﻟﻤﻨﺎﺳﺐ‬
      ‫‪Enter_query , execute_query , exit_query , commit , clear_form‬‬


                                                       ‫‪IMAGE‬‬

                                                                         ‫ﻹدراج ﺻﻮرة ﻋﻠﻰ اﻟـ ‪Form‬‬
                                     ‫- وذﻟﻚ ﻓﻰ وﺿﻊ اﻟـ ‪ Design‬ﻧﺨﺘﺎر ﻣﻦ ﻗﺎﺋﻤﺔ ‪ Edit‬اﻷﻣﺮ ‪Import‬‬
        ‫- أﻣﺎ ﻓﻲ ﺣﺎﻟﺔ اﻧﺸﺎء ﺟﺪول ﺟﺪﯾﺪ ﯾﺤﺘﻮي ﻋﻠﻲ ﺻﻮرة ﻣﻦ ﻧﻮع ‪ blob‬ﻓﻨﻘﻮم ﺑﻔﺘﺢ ال ‪ isql‬وﻧﻀﻊ ﻓﯿﮭﺎ اﻟﻜﻮد‬
                                                                                ‫ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬




                                                                                     ‫-‬
               ‫- ﻧﺒﺪأ ﻣﺜﺎل اﻟﺼﻮرة ﺑﺎﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺠﺪول اﻟﺬي ﺗﻢ اﻧﺸﺎءة ﻓﻨﻘﻮم ﺑﻔﺘﺢ ﻓﻮرم وﻧﻘﻮم ﺑﺎﻧﺸﺎء ﺑﻠﻮك ﺟﺪﯾﺪ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                                     ‫- ﻋﻨﺪ اﻹﻧﺘﮭﺎء ﯾﻜﻮن ﺷﻜﻞ اﻟﻔﻮرم ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬
               ‫- ﺑﺈﻧﺸﺎء زر ﺟﺪﯾﺪ وﺗﻐﯿﺮ ال ‪Label‬ﻟﺔ ﻟﯿﻜﻮن ‪ Load Picture‬واﻟﻮﻗﻮف ﺑﺰ اﻟﻤﺎوس اﻻﯾﻤﻦ ﻋﻠﯿﺔ‬
                                                     ‫واﺧﺘﯿﺎر ‪ when Button pressed‬ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬
                                     Image Item
                          ‫اﻟﺨﺎﺻﯿﺔ‬                        ‫اﻟﻘﯿﻤﺔ‬
                    Image format             DB‫ اﻟﺘﻲ ﺳﺘﺨﺰن ﺑﮭﺎ ﻓﻰ اﻟـ‬Format ‫اﻟـ‬
                    Image depth                           ‫ﺷﻜﻞ اﻟﺼﻮرة ﻋﻨﺪ اﻟﻌﺮض‬
                    Compression quality                              ‫ﺟﻮدة اﻟﻀﻐﻂ‬
                    Show pallet             ‫ﻇﮭﻮر ﺷﺮﯾﻂ ﺑﺠﻮار اﻟﺼﻮرة ﻟﻠﺘﺤﻜﻢ ﻓﯿﮭﺎ‬
                    Sizing title        ‫ ﺗﻌﻨﻰ ﺑﻨﻔﺲ ﺣﺠﻤﮭﺎ ﻋﻠﻰ اﻟﺠﮭﺎز‬Corp ‫اﻟﻘﯿﻤﺔ‬
                                           ‫ ﺗﻌﻨﻰ ﺑﻨﻔﺲ ﺣﺠﻢ اﻟﻌﻨﺼﺮ‬Adjust ‫اﻟﻘﯿﻤﺔ‬




                                                               Forma‫ﻛﻮد ﻋﺮض اﻟﺼﻮر ﻓﻰ اﻟـ‬
                          ‫ ﻟﻨﻜﺘﺐ ﻓﯿﺔ اﺳﻢ اﻟﺼﻮرة ﺑﺎﻻﻣﺘﺪاد‬Text item ‫ ﻋﻨﺼﺮ ﻣﻦ اﻟﻨﻮع‬Forma ‫ﻧﻀﻊ ﻓﻰ اﻟـ‬
         Image item ‫ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﯿﺔ ﯾﺤﻤﻞ اﻟﺼﻮرة ﻣﻦ ﻣﻜﺎﻧﮭﺎ ﻋﻠﻰ اﻟﺤﺎﺳﺐ ﻋﻠﻰ اﻟـ‬Trigger ‫ﺛﻢ ﻧﻀﻊ زر ﺑﺔ‬

           Declare.
           V_path varchar2(25);
           V_exe varchar2(5);
           Begin
           V_path := ‘g:\photo\’||:text; -- path of image || picture name
           V_exe := substr (:text , -3 , 3 );
           Read_image_file (v_path , v_exe , ‘photo’); -- photo name of
           image item
            End;


                                  ‫. ﯾﺘﻢ ﺗﻐﯿﺮ اﻟﻜﻮد ﻟﯿﺼﺒﺢ‬jpg ‫- ﻓﻲ ﺣﺎل ﺣﺪدﻧﺎ ﻧﻮع ﻣﻌﯿﻦ ﻣﻦ اﻻﻣﺘﺪاد وﻟﯿﻜﻦ‬

           Declare.
           V_path varchar2(25);
           Begin
           V_path := ‘g:\photo\’||:text|| ‘.jpg’ ; -- path of image || picture name
           Read_image_file (v_path , ‘.jpg’, ‘photo’); -- photo name of image
           item
            End;

PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

          ‫- ﻻﺣﻈﻨﺎ ﻓﻲ اﻟﻤﺜﺎل اﻻول اﻧﺔ ﺗﻢ اﻻﻋﺘﻤﺎد ﻋﻠﻲ ان اﻻﻣﺘﺪاد ﻣﻜﻮن ﻣﻦ ٣ ﺣﺮوف ﻣﺘﺠﺎھﻼ ان ھﻨﺎك ﺻﻮرة‬
                                          ‫ وﻟﻌﻤﻞ ﻛﻮد ﯾﺸﻤﻞ اي ﻋﺪد‬jpeg ‫ﺗﺘﻜﻮن ﻣﻦ ٤ ﺣﺮوف ﻣﺜﻞ‬

           Declare.
              V_path varchar2(25);
           B number;
           Begin
           V_path := ‘g:\photo\’||:text; -- path of image || picture name
           B:inster(v_path,’.’,-1);
           Read_image_file (v_path , B , ‘photo’); -- photo name of image
           item
            End;


                                              ‫ ﻣﻌﯿﻦ رﻗﻢ ﻣﺴﻠﺴﻞ ﺗﻠﻘﺎﺋﯿﺎ‬item ‫إذا أردﻧﺎ أن ﻳﺄﺧﺬ‬
                   ‫ وﻧﻜﺘﺐ ھﺬا اﻷﻣﺮ‬when_new_record_instance ‫ ﻣﻦ اﻟﻨﻮع‬Trigger ‫- ﻧﺄﺗﻲ ﻓﻰ اﻟـ‬
      Item_id := system.cuesor_record

                                                          ‫ﻟﺘﻐﯿﺮ ﺧﺼﺎﺋﺺ اﻟﺪﺧﻮل ﻟﻸوراﻛﻞ‬
                         Instance ‫- اﻟﻤﺴﺎر اﻟﺘﺎﻟﻲ ھﻮ اﻟﻤﺴﺌﻮل ﻋﻦ ذﻟﻚ ﻣﻦ ﻧﺎﺣﯿﺔ ﻃﻮل وﻋﺮض وﺧﺼﺎﺋﺺ‬




                     ‫وﻧﺠﺪ ﻓﯿﮭﺎ اﻟﺘﺎﻟﻲ‬html ‫ ﻧﺠﺪ داﺧﻠﺔ ﺑﻌﺾ اﻻﻛﻮاد‬Notebad ‫وﺑﻔﺘﺢ اﻟﻤﻠﻒ ﻋﻦ ﻃﺮﯾﻖ‬
      separateFrame=false
      separateFrame=true
      colorScheme=teal
      background # =Forms applet parameter
      logo #=Forms applet parameter
                                             ‫ﻟﺘﻐﯿﺮ اﻟﺼﻮرة اﻟﺘﻲ ﺗﻈﮫﺮ ﻓﻲ ﺑﺪاﻳﺔ ﺗﺸﻐﯿﻞ اوراﻛﻞ‬

                                                                             ‫ﻧﺬھﺐ اﻟﻲ اﻟﻤﺴﺎر اﻟﺘﺎﻟﻲ‬
      G:\ids\j2ee\home\default-web-app
                                                                            ‫وﻧﺬھﺐ اﻟﻲ ﻣﻠﻒ اﻟﺘﻌﺪﯾﻞ‬
      Splashscreen=Http://Localhost:8889/aa.gif



PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬
                                        ‫‪Procedure‬‬
                                                                                   ‫ﻋﻤﻞ اﺟﺮاء ﻣﻌﯿﻦ‬

                                             ‫اﻟﻤﺘﻐﯿﺮات‬
                                            ‫‪Parameter‬‬


                     ‫‪OUT‬‬                                                      ‫‪IN‬‬



                                             ‫‪Function‬‬

                                                                     ‫ﻋﻤﻞ إﺟﺮاء ﻣﻌﯿﻦ واﻟﻌﻮدة ﺑﻘﯿﻤﺔ‬
      ‫‪Built In‬‬
                                                                               ‫١- ﺑﺘﻌﻤﻞ إﯾﺔ‬
                                                         ‫٢- ھﻞ ھﻲ ‪Function / Procedure‬‬
                                                     ‫٣- ﻟﻮ ‪Function‬اﻋﺮف اﻟﻨﻮع اﻟﻠﻲ ھﺘﺮﺟﻌﺔ‬

                                                ‫اﻟﻤﺘﻐﯿﺮات‬


                    ‫‪Data Base‬‬                                               ‫‪Developer‬‬

                                                                          ‫ﻣﺴﺘﻮي ال ‪Trigger‬‬
                                                                   ‫ﻋﻠﻲ ﻣﺴﺘﻮي ال ‪Trigger‬‬    ‫١-‬
                                                                       ‫ﻋﻠﻲ ﻣﺴﺘﻮي ‪Block‬‬     ‫٢-‬
                                                                   ‫ﻋﻠﻲ ﻣﺴﺘﻮي ال ‪Record‬‬     ‫٣-‬
                                                                        ‫ﻋﻠﻲ ﻣﺴﺘﻮي ‪Item‬‬     ‫٤-‬


                                              ‫‪Buid IN‬‬

     ‫‪Set_Item_Property‬‬
                                         ‫وﻧﺴﺘﻄﯿﻊ اﻟﺪﺧﻮل ﻋﻠﯿﮭﺎ ﻣﻦ ال ‪Help‬ﻋﻦ ﻃﺮﯾﻖ اﻟﻀﻐﻂ ﻋﻠﻲ 1‪F‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                                                                 ‫١- ﺗﻐﯿﺮ ﻗﯿﻤﺔ اﻟﻌﻨﺼﺮ‬
                                                                   Procedure -٢
                                                                             ---- -٣
       SET_ITEM_PROPERTY(item_id ITEM,property NUMBER,value VARCHAR2             -٤

        Get_Item_Property
                                         F1 ‫ﻋﻦ ﻃﺮﯾﻖ اﻟﻀﻐﻂ ﻋﻠﻲ‬Help ‫وﻧﺴﺘﻄﯿﻊ اﻟﺪﺧﻮل ﻋﻠﯿﮭﺎ ﻣﻦ ال‬




                                                                 ‫١- ﺗﻐﯿﺮ ﻗﯿﻤﺔ اﻟﻌﻨﺼﺮ‬
                                                                   Procedure -٢
                                                               Character ‫٣- ﺗﺮﺟﻊ‬
       SET_ITEM_PROPERTY(item_id ITEM,property NUMBER,value VARCHAR2             -٤


                                                          ‫- ﻟﻮﺿﻊ اﻟﺪﻟﺔ اﻟﺴﺎﺑﻘﺔ داﺧﻞ اﻟﻜﻮد ﻛﻤﺎ ﯾﻠﻲ‬

           Declare.
             V_x :number;
             V_y :number;
           Begin
           V_x:=Get_item_proprty(‘bb’,x_pos);
           V_x:=Get_item_proprty(‘bb’,y_pos);
           SET_ITEM_PROPERTY (‘bb’,x_pos,v_x+10)
           End;

PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




           Read_Image_file

                                                       (‫)اﻟﻌﻨﺼﺮ ﺻﺎﺣﺐ اﻟﺼﻮرة – اﻹﻣﺘﺪاد – اﻟﻤﺴﺎر ﻛﺎﻣﻞ‬

             Declare.
             V_path varchar2(25);
             V_exe varchar2(5);
             Begin
             V_path := ‘g:\photo\’||:text; -- path of image || picture name
             V_exe := substr (:text , -١ , 3 );
             Read_image_file (v_path , v_exe , ‘photo’); -- photo name
             of image item
             End;



                                              ALERT
        ‫وھﻲ رﺳﺎﺋﻞ ﺗﺤﺬﯾﺮﯾﺔ ورﺳﺎﺋﻞ ﺗﻨﺒﺔ اﻟﻤﺴﺘﺨﺪم ﺑﻮﺟﻮد ﺧﻄﺄ ﻣﺎ وﻗﻊ ﻓﯿﺔ اﻟﻤﺴﺘﺨﺪم وذﻟﻚ ﻋﻦ ﻃﺮﯾﻖ ﻋﻤﻞ ﺟﻤﯿﻊ‬
                                                         . ‫اﻻﺧﻄﺎء ﺑﺘﻮﻗﻌﮭﺎ وﺗﺤﻮﯾﻠﮭﺎ اﻟﻲ رﺳﺎﺋﻞ ﺗﺤﺬﯾﺮﯾﺔ‬
             Set_Alert_Property




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




      (“Alert_name”,”alert_message_text”,value)
            Set_Alert_Property
      (“Alert_name,alert_Button1,’label’,value)




                          ‫ ﺗﺴﻤﻰ‬Function ‫ ﺗﻮﺟﺪ‬Alert‫ وﻹﻇﮭﺎر اﻟـ‬Form‫ ﯾﻜﻮن ﻋﻠﻰ ﻣﺴﺘﻮى اﻟـ‬Alert‫اﻟـ‬
      Show_alert ( `alert_name`)

           Show_Alert

PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬


                                                                        ‫١- إﻇﮭﺎر ا ل ‪Alert‬‬
                                                                            ‫٢- ‪Function‬‬
                                                                         ‫٣- ﺗﺮﺟﻊ ال ‪Alert‬‬
                   ‫٤- ﻣﺤﺘﺎﺟﺔ ﻣﺘﻐﯿﺮ ﻣﻦ اﻟﻨﻮع ‪ Number‬ﻹﺳﺘﻘﺒﺎﻟﮭﺎ ﻣﺘﻐﯿﺮ واﺣﺪ وھﻮ اﺳﻢ ال ‪Number‬‬
                                                             ‫ﺧﺼﺎﺋﺺ اﻟﻨﺎﻓﺬة اﻟﺘﻲ ﺳﺘﻈﮭﺮ ﻟﻠﻤﺴﺘﺨﺪم‬
                       ‫ﻋﻦ ﻃﺮﯾﻖ 3‪ F‬ﻧﻘﻮم ﺑﺈﻧﺸﺎء ‪Alert‬ﺛﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ 4‪ F‬ﻧﺪﺧﻞ ﻋﻠﻲ ﻗﺎﺋﻤﺔ اﻟﺨﺼﺎﺋﺺ‬

                     ‫اﻟﺨﺎﺻﯿﺔ‬                                        ‫اﻟﻘﯿﻤﺔ‬
      ‫‪Title‬‬                                                                         ‫ﻋﻨﻮان اﻟﺮﺳﺎﻟﺔ‬
      ‫‪message‬‬                                                                ‫اﻟﺮﺳﺎﻟﺔ اﻟﻤﺮاد ﻇﮭﻮرھﺎ‬
      ‫1 ‪Button Label‬‬                                      ‫ﻣﺎ ﯾﻜﺘﺐ ﻋﻠﻰ اﻟﺰر اﻷول وھﻜﺬا ﺑﺎﻗﻰ اﻷزرار‬




                                                                                              ‫ﻣﺜﺎل )١(‬

                                                                              ‫ﺧﻄﺄ رﻗﻢ ٠٠٦٠٤‬
                                                         ‫ﻧﻘﻮم ﺑﺎﻟﺨﻮل ﻟﻞ ‪Help‬وﻧﺒﺤﺚ ﻋﻦ رﻗﻢ اﻟﺨﻄﺄ‬




                                                     ‫ﻧﻘﻮم ﺑﺈﻧﺸﺎء ‪ Alert‬وﻧﻀﻊ ﺧﺼﺎﺋﺼﺎ ﻛﻤﺎ ﺑﺎﻟﺴﺎﺑﻖ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬




                     Pl/sql editor ‫ ﺛﻢ ﻧﺨﺘﺎر‬Program unit node ‫ ﻧﻘﻒ ﻋﻠﻰ‬Procedure ‫- ﻟﻌﻤﻞ‬
                                    ‫ ﯾﻈﮭﺮ ﻋﻨﺪ أي رﺳﺎﻟﺔ ﺧﻄﺎ وﻟﻜﻦ ﯾﺸﺘﺮط ﻣﻌﺮﻓﺔ رﻗﻤﺔ‬Trigger ‫- ﻟﻌﻤﻞ‬
                     ‫ ﺛﻢ ﻧﻜﺘﺐ ھﺬا اﻟﻜﻮد‬On_error ‫ وذﻟﻚ ﻣﻦ اﻟﻨﻮع‬Form ‫ﯾﺘﻢ اﻧﺸﺎءة ﻋﻠﻰ ﻣﺴﺘﻮى اﻟـ‬




           declare
           v_alert alert;
           v_n number;
           begin
           if error_code=٤٠٦٠٠ then -- data can not duplicate
           v_n :Show_Alert(‘alert6’);
           if v_n=1
           raise form_trigger_failure; -- package used to stop form
           end if v_n=2 then
           null
           --or write(clear_block(no_validate);
           -- or write(clear_block(no_Commit);
           End if;
           End if;




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬



                                                                                                  (٢) ‫ﻣﺜﺎل‬


                                                            ‫ﺧﻄﺄ رﻗﻢ ٦٢٠٠٥ وھﻮ ﺧﺎص ﺑﺼﯿﻐﺔ اﻟﺘﺎرﯾﺦ‬
                                                            ‫وﻧﺒﺤﺚ ﻋﻦ رﻗﻢ اﻟﺨﻄﺄ‬Help ‫ﻧﻘﻮم ﺑﺎﻟﺨﻮل ﻟﻞ‬




                                                           ‫ وﻧﻀﻊ ﺧﺼﺎﺋﺼﺎ ﻛﻤﺎ ﺑﺎﻟﺴﺎﺑﻖ‬Alert ‫ﻧﻘﻮم ﺑﺈﻧﺸﺎء‬
                        Pl/sql editor ‫ ﺛﻢ ﻧﺨﺘﺎر‬Program unit node ‫ ﻧﻘﻒ ﻋﻠﻰ‬Procedure ‫- ﻟﻌﻤﻞ‬
                                       ‫ ﯾﻈﮭﺮ ﻋﻨﺪ أي رﺳﺎﻟﺔ ﺧﻄﺎ وﻟﻜﻦ ﯾﺸﺘﺮط ﻣﻌﺮﻓﺔ رﻗﻤﺔ‬Trigger ‫- ﻟﻌﻤﻞ‬
             ‫ ﺛﻢ ﻧﻜﺘﺐ ھﺬا اﻟﻜﻮد ﻛﻤﺎ اﻟﺴﺎﺑﻖ‬On_error ‫ وذﻟﻚ ﻣﻦ اﻟﻨﻮع‬Form ‫ﯾﺘﻢ اﻧﺸﺎءة ﻋﻠﻰ ﻣﺴﺘﻮى اﻟـ‬

                                                                        Procedure ‫ﻛﺘﺎﺑﺔ ال‬
                                        -: ‫ ھﻰ‬Alert ‫ اﻟﺨﺎﺻﺔ ﺑﺘﻐﯿﯿﺮ ﺧﻮاص اﻟـ‬Procedure ‫اﻟـ‬
      PROCEDURE my_alert
      (p_message varchar2,
       p_1 varchar2 default null,
       p_2 varchar2 default null,
       p_3 varchar2 default null) is
      BEGIN
        set_alert_property('ALERT1',alert_message_text,p_message);
        set_alert_button_property('ALERT1',alert_button1,label,p_1);
        set_alert_button_property('ALERT1',alert_button2,label,p_2);
        set_alert_button_property('ALERT1',alert_button3,label,p_3);
      -- alert1 name of alert
      END;

                         Pl/sql editor ‫ ﺛﻢ ﻧﺨﺘﺎر‬Program unit node ‫ ﻧﻘﻒ ﻋﻠﻰ‬Procedure ‫ﻟﻌﻤﻞ‬

                                         ‫ ﯾﻈﮭﺮ ﻋﻨﺪ أي رﺳﺎﻟﺔ ﺧﻄﺎ وﻟﻜﻦ ﯾﺸﺘﺮط ﻣﻌﺮﻓﺔ رﻗﻤﺔ‬Trigger ‫ﻟﻌﻤﻞ‬
                          ‫ ﺛﻢ ﻧﻜﺘﺐ ھﺬا اﻟﻜﻮد‬On_error ‫ وذﻟﻚ ﻣﻦ اﻟﻨﻮع‬Form ‫ﯾﺘﻢ اﻧﺸﺎءة ﻋﻠﻰ ﻣﺴﺘﻮى اﻟـ‬




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬


           declare
          v_alert alert;
          v_n number;
          begin
          if error_code=40600 then – item must contai\n and cant be
          duplicate
          v_alert:= find_alert('alert7');
          MY_ALERT('sorry this number exist',’yes’,’no’);
          V_n:=show_alert('alert7');
          If v_n=1 then
          raise form_trigger_failure; -- package used to stop form
          elseif v_n=2 then
          clear_block(no_validate);
          end if;
          else if error_code=50026 then

                                                                                         ‫ﻣﻠﺤﻮﻇﺔ ھﺎﻣﺔ‬
                                                  save , enter_query , ... ‫إذا ﺗﻢ ﻋﻤﻞ أزرار ﻟﻜﻼ ﻣﻦ‬
                            ‫ اﻟﺨﺎﺻﺔ ﺑﺔ‬Bulti in ‫ﻓﺄﻧﻨﺎ ﻻ ﻧﻜﺮر اﻟﻜﻮد ﻣﺮة أﺧﺮى وﻟﻜﻦ ﻧﻜﺘﺐ ﺗﺤﺖ ﻛﻞ زر اﻟـ‬
      Save :    do_key (‘commit_form ‘);
      Exit :    do_key (‘exit_form ‘);
      Execute : do_key (‘execute_query‘);
      Enter : do_key (‘enter_query‘);
                            bush button ‫ ﻟﮭﺬه اﻷزرار‬mouse navigator = no ‫وﯾﺠﺐ أن ﺗﻜﻮن اﻟـ‬
                                         Run time ‫ ﺑﻘﯿﻢ ﻓﻰ اﻟـ‬List ‫ﻛﻮد ﺗﻌﺒﺌﺔ ﻗﺎﺋﻤﺔ‬

                                     ‫إذا أردﻧﺎ ﻓﻰ ﺟﺪول اﻹدارات إذا اﺧﺘﺮﻧﺎ إدارة ﻣﻌﯿﻨﺔ ) رﻗﻢ إدارة ( ﯾﺘﻢ‬
                                                            ‫ ﺑﺄﺳﻤﺎء اﻟﻌﺎﻣﻠﯿﻦ ﺑﮭﺬة اﻹدارة‬List ‫ﻣﻠﺊ ﻗﺎﺋﻤﺔ‬
       data base item = no ‫ ﻣﻊ ﻣﻼﺣﻈﺔ أن‬name ‫ وﻧﺴﻤﯿﮭﺎ‬List ‫ ﻧﻘﻮم ﺑﻌﻤﻞ‬Dept block ‫ﺑﻌﺪﻣﺎ ﻧﻨﺸﺊ اﻟـ‬
                    deptno ‫ ﻋﻠﻰ ﻣﺴﺘﻮى اﻟﻌﻨﺼﺮ‬when_validate_item ‫ ﻣﻦ اﻟﻨﻮع‬Trigger ‫ﺛﻢ ﻧﻨﺸﺊ‬
                                                                                       ‫ﺛﻢ ﻧﻜﺘﺐ ھﺬا اﻟﻜﻮد‬

      DECLARE
      CURSOR AA IS
      SELECT ename
      FROM EMP
      WHERE DEPTno = :DEPATno;




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

      V_A NUMBER := 1;-- INDEX
      BEGIN
      CLEAR_LIST ('NAME'); --
      FOR K IN AA LOOP
      ADD_LIST_ELEMENT('NAME',V_A,K.LAST_NAME,K.LAST_NAME);
      -- (LIST NAME,INDEX,LABEL,VALUE)
      V_A := V_A+1;-- COUNTER
      END LOOP;
      END;

                         Key down ‫ ﻣﻦ ﻧﻮع‬Trigger ‫ وﻧﻘﻮم ﺑﺈﻧﺸﺎء‬LIST ‫ﺛﻢ ﻧﻘﻮم ﺑﺈﻧﺸﺎء ﻓﻮرم وﻧﻀﯿﻒ ﻟﮭﺎ‬




                                                                           ‫ﺛﻢ ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ اﻟﻜﻮد اﻟﺘﺎﻟﻲ‬
            Select dname
            Into:ds
            From dept
            Where deptno=:deptno;




      Canvas Types

         1. Horizontal / Vertical
                                                               Emp ‫ ﻋﻠﻰ اﻟـ‬form ‫ﺑﻔﺮض أﻧﻨﺎ ﻟﺪﯾﻨﺎ‬




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                             ‫ وﻧﻐﯿﺮ اﻟﻘﯿﻤﺔ‬F4 ‫ ﺟﺪﯾﺪ ﺛﻢ ﻧﻀﻐﻂ‬canvas ‫ وﻧﻨﺸﺊ‬canvas node ‫ﻓﻨﻘﻒ ﻋﻠﻰ‬
      General / canvas type : horizontal / vertical
             ‫ اﻟﺠﺪﯾﺪ‬canvas ‫ ﺛﻢ ﻧﻌﻄﯿﮭﺎ اﻟـ‬canvas ‫ﺛﻢ ﻧﻀﻊ ﻋﻠﯿﺔ اﻷزرار اﻟﺬى ﻧﺮﯾﺪھﺎ ﻣﻊ ﻣﻼﺣﻈﺔ أن ﻧﻜﺒﺮ اﻟـ‬

         2. Tap Canvas
                                           Tap ‫ ﯾﻜﻮن‬canvas ‫ وﻟﻜﻦ ﻧﻮع اﻟـ‬dept block ‫١ – ﻧﻨﺸﺊ‬
                    F4 ‫ ﺛﻢ ﻧﻀﻐﻂ‬tap page / page ‫ وﻟﺘﻐﯿﯿﺮ اﺳﻢ اﻟﺼﻔﺤﺔ ﻧﺨﺘﺎر‬new page ‫وﻧﺨﺘﺎره ﻋﻠﻰ‬
                                                                      Label ‫وﻧﻘﻮم ﺑﻨﻐﯿﯿﺮة ﻣﻦ اﻟـ‬
                            ‫ وﻟﻜﻦ ﻋﻠﻰ ﺻﻔﺤﺔ ﺟﺪﯾﺪة‬canvas ‫ وﻧﻌﻄﯿﮭﺎ ﻧﻔﺲ اﻟـ‬emp block ‫٢ – ﻧﻨﺸﺊ‬
                                                     2 tap page ‫ واﺣﺪ وﻟﻜﻦ‬canvas ‫اﻟﻔﻜﺮة : أﻧﺔ‬

                                                      ‫ﻟﺠﻌﻞ اﻟﺼﻔﺤﺎت وﺿﻌﮫﺎ ﻣﺨﺘﻠﻒ‬
                     physical / tap Attachment edge ‫ ﻧﻐﯿﺮ اﻟﺨﺎﺻﯿﺔ‬canvas ‫وذﻟﻚ ﻣﻦ ﺧﺼﺎﺋﺺ اﻟـ‬

                         ‫ اﻟﻤﺤﺪد ﯾﺄﺧﺬ ﻟﻮن ﻣﻌﯿﻦ ﻋﻨﺪ اﻟﻮﻗﻮف ﻋﻠﯿﺔ‬record‫ﻟﺸﺪ اﻧﺘﺒﺎة اﻟﻤﺴﺘﺨﺪم وذﻟﻚ ﺑﺠﻌﻞ اﻟـ‬
       Create Visual Attribute
                    ‫ ﻓﻨﺨﺘﺎر ﻟﻮن ﻣﻌﯿﻦ‬Color / Back ground F4 ‫ﺛﻢ ﻧﻐﯿﺮ ﺧﺼﺎﺋﺼﺔ وذﻟﻚ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ‬
                                                                 ‫ﺛﻢ ﻧﺄﺗﻲ ﺑﻌﺪ ذﻟﻚ ﻋﻠﻰ اﻟﺒﻠﻮك وﻧﻐﯿﺮ اﻟﺨﺎﺻﯿﺔ‬
       Block / record / current record visual attribute
                                                    ‫ اﻟﺘﻰ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎﺋﮭﺎ‬visual attribute ‫ﻓﻨﻘﻮم ﺑﺎﻋﻄﺎﺋﺔ اﻟـ‬

                                          Running a Form
          • Forms Services: generate an HTML file that
                               download java applet to the client machine
          • URL : http://host[:port]/forms servelet or html file
       Port for HTTP server : xxxx for oc4j = 8888
       Forms servelet alias or static html file : /forms90/f90servelet
       Parameter : start with ? separated by &
       ? form = form_name . fmx
        userid = username / password @ data base name
       parameter : can be taken from the forms configuration file
       http:// mohamed:8888/forms90/f90servlet?…

       JRE : Java Runtime Environment

       the forms applet : run in JRE on the Client machine

       types of JRE :




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

         1. native :java – enabled browser
         2. jinitiator : oracle – supplied plug – into web browser

      JAR : Java Archive file ( increment download by jinitiator )
      OC4J : servelet engine and insert only one time

      Starting run time session :
      1 - User access the URL that indicate a forms application
      2 - Oc4j receives an HTTP from the browser client and contact the forms servelet
      3 – forms servelet create an HTML page that

           contain all information to start Form session

      the form servelet
      get information from the following sources
      1 – the forms web configuration file
      2 – the forms base HTML File
      3 – URL

      Forms Listner : start the forms Run time engine


                                        Types Of Trigger




                                           Types Of Trigger

          •   Trigger Name      : When_validate_item
          •   Fire during       : The validate the item processing
          •   Definition level : Form , Block or item
          •   Legal Command : Select statement Unrestricted bultin
          •   On failure : Navigation fails and the focus remain on the originalitem
          •   Enter Query mode : no

         • Trigger Name         : When_new_form_instance



PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

         • Fire during          : After the successful completion of any navigational
           triggers that fire during the initial navigation sequence in multiple form
           application the trigger doesn’t fire when focus change from one form
           to another
         • Definition level : Form
         • Legal Command : Select statement Restricted / Unrestricted bultin
         • On failure             : no effect
         • Enter Query mode : no

         • Trigger Name     : When_new_item_instance
            • Fire during        : when the I/P focus moves to an item , after
                            navigation to an              item
         • Definition level : Form , Block or item
         • Legal Command : Select statement Restricted / Unrestricted bultin
         • On failure        : no effect
         • Enter Query mode : no

         •   Trigger Name     : When_mouse_doubleclick
         •   Fire during      : after the operator double click the mouse
         •   Definition level : Form , Block or item
         •   Legal Command : Select statement Restricted / Unrestricted bultin
         •   On failure         : no effect
         •   Enter Query mode : no




         • Trigger Name : on_error
         • Fire during : when ever forms developer would normally cause an
           error message to display
         • Definition level : Form , Block or item

         • Legal Command : Select statement Restricted / Unrestricted bultin
         • On failure      : no effect
         • Enter Query mode : no




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬


                                      ‫ ﻣﻦ اى ﻣﻜﺎن ﺑﺎﻟﮭﺎرد‬Forma ‫ اﻟﻤﺴﺘﺨﺪﻣﺔ ﻻﺳﺘﺪﻋﺎء اﻟـ‬Function ‫اﻟـ‬

      FUNCTION GET_PATH RETURN VARCHAR2
      IS
      A VARCHAR2(50);
      B NUMBER;
      BEGIN
      A := GET_APPLICATION_PROPERTY(CURRENT_FORM);
      B := INSTR(A,'\',-1);
      A := SUBSTR(A,1,B);
       RETURN (A) ;
      END;
                        NEW_FORM(GET_PATH||'form name.fmx'); ‫وﻟﺘﻨﻔﯿﺬھﺎ ﻧﻜﺘﺐ اﻷﻣﺮ‬


      ‫ إذا ﺗﻢ‬null ‫ اﻟﻤﻔﺘﻮﺣﺔ وﺗﺮﺟﻊ‬Form‫ ﺗﻘﻮم ﺑﺈرﺟﺎع اﻟﻤﻜﺎن اﻟﻤﻮﺟﻮد ﺑﺔ اﻟـ‬get_application_property ‫اﻟـ‬
                                             ( ‫ اﻟﺬى ﻧﻨﺎدى ﻋﻠﯿﮭﺎ ﻣﻦ ﻣﻜﺎن أﺧﺮ ) ﺗﻢ ﻓﺘﺤﮭﺎ ﻣﺒﺎﺷﺮة‬form‫ﻓﺘﺢ اﻟـ‬
       call_FORM(GET_PATH||'form name.fmx'); ‫ اﻟﺴﺎﺑﻘﺔ ﺑﻜﺘﺎﺑﺔ اﻷﻣﺮ‬procedure ‫ﯾﻤﻜﻦ ﺗﻨﻔﯿﺬ اﻟـ‬
                                                                                       ‫وذﻟﻚ ﺣﺴﺐ ﻣﺎ ﻧﺮﯾﺪ‬
                new_form ‫ اﻷﺻﻠﯿﺔ ﻣﻔﺘﻮﺣﺔ‬forma ‫ اﻟﺠﺪﯾﺪة ﺑﻨﺎﻓﺬة ﺟﺪﯾﺪة وﻏﻠﻖ ﻧﺎﻓﺬة اﻟـ‬Forma ‫ﺗﻌﻨﻰ ﻓﺘﺢ اﻟـ‬
          ‫ اﻷﺻﻠﯿﺔ ﻣﻔﺘﻮﺣﺔ‬forma ‫ اﻟﺠﺪﯾﺪة ﺑﻨﺎﻓﺬة ﺟﺪﯾﺪة وﺗﺮك ﻧﺎﻓﺬة اﻟـ‬Forma ‫ ﺗﻌﻨﻰ ﻓﺘﺢ اﻟـ‬call_form ‫ﺑﯿﻨﻤﺎ اﻟـ‬




                                                 BULTIIN

            Bultin                   Type                Working                          syntax
       Read_image_file             procedure           ‫ﺗﺴﺘﺨﺪم ﻷدراج ﺻﻮرة‬      (`direction`,`extension,`item
                                                             ‫ﺑﺎﻟﻨﻤﻮذج‬                    name`)
      Set_item_property            procedure       ‫ﺗﻐﯿﯿﺮ ﺧﺼﺎﺋﺺ اﻟﻌﻨﺼﺮ أﺛﻨﺎء‬   (‘item name`,property,value
                                                          ‫اﻟﻌﻤﻞ ﺑﺎﻟﻨﻤﻮذج‬                     )
      Get_item_property            Function         ‫ﺗﺴﺘﺨﺪم ﻹﯾﺠﺎد ﻗﯿﻤﺔ ﺧﺎﺻﺔ‬      (`item name`, property )
                                  ‫وﺗﺤﺘﺎج ﻣﺘﻐﯿﺮ‬             ‫ﻟﻌﻨﺼﺮ ﻣﻌﯿﻦ‬




PDF created with pdfFactory Pro trial version www.pdffactory.com
          ‫ﻛﺘﺎب ﺗﻌﻠﯿﻢ اﻟﺪﯾﻔﯿﻠﻮﺑﺮ- اﻟﻤﮭﻨﺪس رﯾﺎض ﻣﻮﺳﻰ ﺣﺴﻮن /داﺋﺮة ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت‬

                                ‫ﻻﺳﺘﻘﺒﺎﻟﮭﺎ ﻣﻦ‬
                                    ‫اﻟﻨﻮع‬
                                 Number ,
                                 varchar2
          Show_alert             Function            ‫ﺗﺴﺘﺨﺪم ﻹﻇﮭﺎر اﻟـ‬              (`alert name `)
                                ‫وﺗﺤﺘﺎج ﻣﺘﻐﯿﺮ‬               Alert
                                  ‫ﻻﺳﺘﻘﺒﺎﻟﮭﺎ‬
                                  ‫ﻣﻦ اﻟﻨﻮع‬
                                 number
      Set_alert_property        procedure           alert‫ﺗﻐﯿﯿﺮ ﺧﺼﺎﺋﺺ‬                      (`alert
                                                                                 name`,property,value)
       Add_list_element         Procedure            ‫ ﻓﻰ اﻟـ‬List ‫ﺗﻌﺒﺌﺔ‬       (‘list name`,index,
                                                         Run time            `label`,`value` )
           clear_list           procedure               list ‫ﺗﻔﺮﯾﻎ اﻟـ‬                (`list name`)
                                                     Run time ‫ﻓﻰ اﻟـ‬
          Show_lov               Function              Lov ‫إﻇﮭﺎر اﻟـ‬                (`lov name`)
                              ‫وﺗﺤﺘﺎج ﻻﺳﺘﻘﺒﺎﻟﮭﺎ‬
                               ‫ﻣﺘﻐﯿﺮ ﻣﻦ اﻟﻨﻮع‬
                                  Boolean
   Get_application_property      Function          ‫ﺑﺘﺮﺟﻊ ﻣﺴﺎر اﻟـ‬Form
        (current_form)        ‫وﺗﺤﺘﺎج ﻻﺳﺘﻘﺒﺎﻟﮭﺎ‬         ‫اﻟﺬى اﻗﻒ ﻋﻠﯿﮭﺎ‬
                               ‫ﻣﺘﻐﯿﺮ ﻣﻦ اﻟﻨﻮع‬
                                 Varchar2


   Get_application_property      Function             ‫ﺑﺘﺮﺟﻊ اﺳﻢ اﻟـ‬user            ‫ﻛﺬﻟﻚ ﯾﻮﺟﺪ ﻛﻼ ﻣﻦ‬
         (username)           ‫وﺗﺤﺘﺎج ﻻﺳﺘﻘﺒﺎﻟﮭﺎ‬    ‫اﻟﺬى دﺧﻞ ﻋﻠﻰ اﻟـ‬Form               Password ,
                               ‫ﻣﺘﻐﯿﺮ ﻣﻦ اﻟﻨﻮع‬                                   Connecting _string =
                                 Varchar2                                         db name = dev1
      Set_block_property        procedure        DML‫ﻣﻨﻊ أو إﺗﺎﺣﺔ أواﻣﺮ اﻟـ‬             (`block
                                                                                name`,property,value)




PDF created with pdfFactory Pro trial version www.pdffactory.com