Sunteți pe pagina 1din 95

UNIVERSITATEA BABE BOL!

AI" CLU# NAPOCA Ce$trul %e &ormare Co$t'$u( )' *$+(,(m-$t la D'sta$,( &acultatea %e t''$,e Eco$om'ce )' .est'u$ea A/acer'lor Spec'al'0area1 Toate spec'al'0(r'le D'sc'pl'$a1 Ba0e %e %ate )' pro2rame

SUPORT DE CURS
ANUL II Semestrul 3

ClujNapoca

3453

CUPRINS I. INFORMAII GENERALE


I.1. Date de identificare ale cursului I.1.1. Date de identificare despre titularul de curs I.1.2. Date de identificare curs i contact tutori I.2. ondi!ion"ri i cunotin!e prerec#i$ite I.%. Descrierea cursului I.&. Or'ani$area te(elor din cadrul cursului I.). Materiale *i*lio'rafice o*li'atorii I.+. Materiale i instru(ente necesare pentru curs I.,. alendar al cursului I.-. .olitica de e/aluare i notare I.0. Ele(ente de deontolo'ie acade(ic" I.11. 2tuden!i cu di$a*ilit"!i I.11. 2trate'ii de studiu reco(andate

II.

23.OR43L DE 3R2 .RO.RI356I2

MODULUL NUMRUL 1 10 BAZE DE DATE BAZE DE DATE RELAIONALE 10 MODULUL NUMRUL 2 20 ELEMENTE DE LIMBAJ 20 MODULUL NUMRUL 3 30 CREAREA I GESTIUNEA TABELELOR LIBERE 30 MODULUL NUMRUL 4 44 CREAREA I GESTIUNEA BAZELOR DE DATE 44 MODULUL NUMRUL 5 51 GESTIUNEA PROIECTELOR 51 MODULUL NUMRUL 6 55

PROGRAMAREA N VISUAL FO PRO 55 MODULUL NUMRUL ! 65 FORMULARE N VISUAL FO PRO 65 MODULUL NUMRUL " "0 RAPOARTE I MENIURI "0

&

IN&OR6A7II .ENERALE I858 Date %e '%e$t'/'care ale cursulu' I85858 Date %e '%e$t'/'care %espre t'tularul %e curs )' tutor'
Numele cursulu'1 7a$e de date i .ro'ra(e Co%ul cursulu'1 E7I111+ A$ul" Semestrul1 Anul II8 2e(estrul % T'pul cursulu'1 O*li'atoriu T'tular' %e curs )' tutor'1 prof.dr. 4o(ai Nicolae 9 nicolae.to(ai:econ.u**clu;.ro conf. dr. Lacure$eanu Ra(ona 5 ra(ona.lacure$eanu:econ.u**clu;.ro lect.dr. Mocean Loredana 9 loredana.(ocean:econ.u**clu;.ro lect.dr. 2itar 4aut Dan 5 dan.sitar:econ.u**clu;.ro lect.dr. 7refelean .aul 5 paul.*resfelean:econ.u**clu;.ro lect.dr. G#iran Ana(aria 5 ana(aria.'#iran:econ.u**clu;.ro lect.dr. <ecan 2er'iu5 ser'iu.;ecan:econ.u**clu;.ro lect.dr. .opa 2il/iu5 sil/iu.popa:econ.u**clu;.ro asis.drd. Mican Daniel5 daniel.(ican:econ.u**clu;.ro Co$sulta,''1 confor( orarului afiat la =nceputul se(estrului.

I838 Co$%','o$(r' )' cu$o)t'$,e prerec9'0'te


.entru participarea la acest curs studen!ii tre*uie s" participe la cursul de Infor(atic" Econo(ic" anul I8 se(estrul 1.

I838 Descr'erea cursulu'


ursul ur("rete crearea unor a*ilit"!i de utili$are a *a$elor de date i de creare a unor aplica!ii econo(ice specifice utili$"rii acestora. Acest curs este i(portant pentru orice econo(ist a/>nd =n /edere ca *a$ele de date sunt utili$ate e?tensi/ i o*li'atoriu =n do(eniul econo(ic din Ro(>nia. ursul se =(parte =n 2 p"r!i esen!iale i anu(e@ 7a$ele teoretice o ele(ente referitoare la *a$e de date i aplica!ii econo(ice o pro*le(e specifice 'estiunii *a$elor de date =n Access i Aisual Fo?.ro o pro*le(e referitoare la utili$area for(elor8 rapoartelor i proiectelor Aplica!ii practice pentru o Aisual Fo?.ro o Access

I8:8 Or2a$'0area temelor %'$ ca%rul cursulu'

ursul8 confor( nor(elor (etodolo'ice are 2 co(ponente@ co(ponenta teoretic"B co(ponenta practic". .arcur'erea co(ponentei teoretice se reali$ea$" de c"tre cursan!i. Ele(entele principale sunt or'ani$ate pe % ni/ele@ ele(ente de teorie a *a$elor de dateB ele(ente referitoare la utili$area Aisual Fo?.ro i AccessB ele(ente de pro'ra(are /i$ual" i o*iectual" a aplica!iilor econo(ice. Referitor la ele(entele de teorie cursan!ii pot apela8 pentru pro*le(ele de *a$"8 la suportul de curs ela*orat de (e(*rii catedrei de Infor(atic" Econo(ica pre$entat la 7i*lio'rafie o*li'atorie. .entru *i*lio'rafie (ai detaliat" pot recur'e la *i*lio'rafia din literatura =n li(*a ro(>n"8 care este accesi*il" la *i*lioteca catedrei de Infor(atic" Econo(ic" dar i la (a;oritatea *i*liotecilor din !ar"8 iar pentru cea =n li(*a en'le$" la *i*lioteca atedrei de Infor(atic" Econo(ic". Infor(a!ii supli(entare se pot o*!ine i din site5urile a(intite =n (aterial. .entru partea practic"8 =n cadrul suportului de curs sunt date e?e(ple. De ase(enea8 cursan!ii pot participa la pre'"tiri periodice unde se discut" aspectele referitoare la ele(entele practice8 dar i pro*le(e de teorie cu un 'rad (ai ridicat de dificultate.

I8;8 6ater'ale <'<l'o2ra/'ce o<l'2ator''


1. 2itar5 4aut D.8 Ele(ente de *a$e de date pentru econo(iti8 Ed. Risoprint8 lu;5Napoca8 2111 2. olecti/ departa(ent Infor(atic" Econo(ica8 7a$e de date. Aplica!ii econo(ice. ule'ere de pro*le(e8 Ed. Risoprint8 lu;5Napoca8 2110 7i*lio'rafie supli(entar" %. 2.I.Ni!c#i i al!ii8 Aplicarea 7a$elor de date =n econo(ie 8 21108 Risoprint &. 2.I.Ni!c#i i al!ii8 7a$e de date i pro'ra(are aplicate =n econo(ie8 Edi!ia 25 a8 211-8 Risoprint ). L. Mocean8 2itar54"ut Dan i al!ii8 7a$e de date. Aplica!ii Econo(ice. ule'ere de pro*le(e8 Risoprint8 2110 +. L. Mocean8 2itar54"ut Dan i al!ii8 7a$e de date i .ro'ra(are8 ule'ere de pro*le(e8 Risoprint8 211-

I8=8 6ater'ale )' '$strume$te $ecesare pe$tru curs


.entru curs este necesar" conectarea cursan!ilor la Internet i participarea la lec!iile de sinte$". Cn pri/in!a soft5urilor8 =n 'eneral cursul este proiectat pe soft5uri u$ual folosite

=n econo(ia ro(>neasc" i care pot fi utili$ate i =n s"lile de e?erci!iu ale F2EGA. Cn acest sens@ .entru Fo?.ro e?ist" Aisual Fo?.ro8 /ersiunile - i 0. .entru Access e?ist" Microsoft Office 211,. 4oate produsele sunt =nso!ite de teste8 tutoriale8 etc.

I8>8 Cale$%ar al cursulu'


Act'+'t(,' *$t-l$'re I1 Act'+'t(,' %'%act'ce Temat'ca a<or%at( Respo$sa<'l't(,'le stu%e$,'lor .arcur'erea *i*lio'rafiei. Re$ol/area de te(e practice. Locul %e %es/()urare Aa fi co(unicat ulterior

Modulul 1 9 7a$e de date 9 7a$e de date rela!ionale Modulul 2 9 Ele(ente de li(*a; Aisual Fo?.ro i de Access Modulul % 9 rearea i 'estiunea ta*elelor li*ere =n Aisual Fo?.ro i a ta*elelor =n Access *$t-l$'re II1 Modulul & 9 rearea i Act'+'t(,' %'%act'ce 'estiunea *a$elor de date =n Aisual Fo?.ro i Access Modulul ) 9 Gestiunea proiectelor Modulul + 5 .ro'ra(area =n Aisual Fo?.ro *$t-l$'re III1 Modulul , 9 For(ulare =n Act'+'t(,' %'%act'ce AF. i Access Modulul - 5 Rapoarte i Meniuri =n AF. i Access
E?ame$ /'$al

.arcur'erea Re$ol/area practice.

*i*lio'rafiei. de te(e

Aa fi co(unicat ulterior

.arcur'erea Re$ol/area practice.

*i*lio'rafiei. de te(e

Aa fi co(unicat ulterior

.re$entarea te(elor de control. 2us!inerea pro*ei practice =ntr5un inter/al dat de ti(p i sus!inerea unui test 'rila Dcu un sin'ur r"spuns corectE

Aa fi co(unicat ulterior

alendarul acti/it"!ilor este unul orientati/8 fiind suscepti*il unor (odific"ri ulterioare8 acestea ur(>nd s" fie co(unicate studen!ilor.

I8@8 Pol't'ca %e e+aluare )' $otare


Modul de e/aluare a cursului@ &1F din not" repre$int" r"spunsurile la pro*le(ele teoretice Dtest 'ril"8 nota (ini(" de trecere )EB &1F din not" repre$int" partea practic" final" D*ilet de e?a(en cu =ntre*"ri ce tre*uie reali$ate =ntr5un ti(p dat 5 o ;u("tate de or"8 nota (ini(" de trecere )EB 21F pre$entarea te(elor de control la o data fixata de tutori i co(unicat" studen!ilor la a doua =nt>lnire D e/iden!iat" i pe pa'ina de Ge* a disciplineiE

I8A8 Eleme$te %e %eo$tolo2'e aca%em'c(


2e aplic" re'ulile 'enerale de deontolo'ie acade(ic" din 377.

I8548 Stu%e$,' cu %'0a<'l't(,'


Cn principiu pentru cursan!ii cu di$a*ilit"!i care nu se pot deplasa la sediul facult"!ii se aplic" ur("toarele solu!ii@ utili$area Internet5ului i a portalului dup" aceleai re'uli ca la ceilal!i cursan!iB utili$area la ne/oie a unui siste( Ge*ca( i sHIpe =n ca$ul e/alu"rilor.

I8558 Strate2'' %e stu%'u recoma$%ate


Cn principiu =n (edie pentru =n!ele'erea con!inutului unui (odul sunt necesare (ini( % ore. .re$entul curs fiind unul funda(ental pentru orice econo(ist este necesar ca el s" fie studiat cu (are aten!ie i deci nu("rul de ore de studiu ar putea fi =n func!ie de particularit"!ile cursan!ilor8 (ai (are sau (ai (ic. .entru reali$area te(elor de control ti(pul afectat ar putea fi su*stan!ial (ai (are.

II8 SUPORTUL DE CURS PROPRIU BIS 6ODULUL NU6CRUL 5 BABE DE DATE BABE DE DATE RELA7IONALE
CONCEPTE DE BABC1 Fiier8 7a$" de date 2iste( de 'estiune a *a$elor de date D2G7DE8 dic!ionar de date Model entitate5rela!ie8 atri*ut8 constr>n'ere Model intern8 e?tern i conceptual i tipurile de independen!" Rela!ie i ta*el. rearea unei perspecti/e clare asupra *a$elor de date. Fa(iliari$area cu ele(entele le'ate de *a$e de date i (odelele *a$elor de date. rearea unor deprinderi referitoare la proiectarea *a$elor de date. .entru parcur'erea pre$entului (aterial se reco(and" parcur'erea atent" a *i*lio'rafiei8 precu( i studierea atent" a (aterialului aferent =n cadrul Acti/it"!ilor Asistate DAAE. larificarea no!iunilor le'ate de *a$e de date i (odele de date. larificarea no!iunilor le'ate de proiectarea i nor(ali$area *a$elor de date.

OBIECTIVE1

RECO6ANDCRI PRIVIND STUDIUL1 REBULTATE ATEPTATE1

UNITATEA 1. CONCEPTE GENERALE REFERITOARE LA BAZE DE DATE OBIECTIVE larificarea no!iunilor referitoare la conceptele 'enerale le'ate de *a$e de date i ni/elele de or'ani$are ale acestora. larificarea ele(entelor referitoare la (odelele de date i tipurile de independen!". Fiiere8 *a$e de date8 ar#itectura unei *a$e de date8 ni/ele de or'ani$are8 entitate rela!ie8 atri*ut8 ni/el conceptual8 intern sau e?tern.

NO7IUNI CDEIE

5858 Co$ceptul %e EBa0( %e %ateE Dup" cu( s5a (en!ionat =n capitolul precedent8 la *a$a prelucr"rii datelor stau fiierele. Odat" cu de$/oltarea infor(aticii8 nu("rul acestora a crescut8 a;un'>ndu5se ca =ntr5o fir(" s" e?iste (ai (ulte $eci sau sute de fiiere per(anente i te(porare le'ate de 'estiunea personalului8 (aterialelor8 produc!iei8 />n$"rilor etc. Aceast" cretere a a/ut o serie de de$a/anta;e8 dintre care a(inti( JNi!c#i01K@ redundana 9 este proprietatea unei infor(a!ii de a se repeta ne;ustificatB de e?e(plu codul (aterialelor8 care poate a;un'e la 215%1 de cifre8 se repet" =n (a;oritatea acestor fiiere8 ("rind ne;ustificat spa!iul fi$ic ocupatB

11

inconsistena 9 este le'at" de apari!ia distorsionat" a unor infor(a!ii =n diferite conte?teB una dintre cau$ele inconsisten!ei este redundan!a deoarece este suficient ca la o apari!ie DcopieE a infor(a!iei redundante8 aceasta s" fie introdus" 'reit i infor(a!ia poate de/eni inconsistent"B a!idarea date!or 9 este clar c" diferite aplica!ii care 'estionea$" fiiere disparate pot /alida datele diferitB ne/alidarea unifor(" a datelor poate duce la co(pro(iterea =ntre'ului siste( de fiiereB dis"oni#i!itatea $i securitatea date!or 9 repre$int" o pro*le(" de ase(enea foarte spinoas". Datele afl>ndu5se =n fiiere disparate8 acestea pot fi re!inute de proprietari nefiind disponi*ile i co(unit"!ii utili$atorilor. De ase(enea8 nee?ist>nd un control centrali$at asupra lor nu se poate asi'ura securitatea acestora. O pri(" defini!ie a *a$elor de date este JNi!c#iLRaco/i!an0+K@ #a%a de date este un siste& inte'rat( coerent $i "arta)at de *i$iere. .entru a asi'ura folosirea =n co(un a acelorai date de c"tre (ai (ul!i utili$atori era necesar" asigurarea independenei aplicaiilor fa!" de structura logic a datelor. Din acest (oti/8 era necesar" desprinderea din cadrul programelor de aplicaie a descrierii structurii datelor. Acest lucru a fost posi*il prin definirea unui fiier de descriere 'lo*al" a *a$ei de date8 denu(it dicionar de date. 7a$ele de date au ap"rut =n anii M+18 odat" cu lansarea pro'ra(ului Apollo8 =n 10+&8 pornind de la ceea ce for(au siste(ele de fiiere =nl"n!uite8 introduse de I7M pentru 'estionarea lans"rii i ur("ririi produc!iei. Astfel au ap"rut aa $isele baze de date arborescente sau de generaia 1-a. onceptul de *a$" de date8 su* aceast" denu(ire8 a ap"rut pentru pri(a dat" =n anul 10+08 an =n care ODA2NL a pu*licat8 =n cadrul unei conferin!e dedicate li(*a;elor de 'estiune a datelor8 un raport te#nic despre acest concept. Fa!" de (odelul *a$at pe fiiere clasice Dfile5*asedE8 noul (odel de or'ani$are a datelor =n *a$e de date include un fiier de descriere 'lo*al" a *a$ei de date Ddic!ionar de dateE care s" poat" asi'ura independen!a pro'ra(elor fa!" de structura datelor. .ornind de la aceste considerente8 se pot da i alte defini!ii *a$elor de date8 cu( ar fi JFotac#e11K@ O baz de date reprezint o colecie de date, organizate ntr-o structur descris printr-un model conceptual sau colecie de date aflate n interdependen, mpreun cu descrierea datelor i a relaiilor dintre ele. 4otalitatea infor(a!iilor stocate =n *a$a de date la un (o(ent dat repre$int" coninutu! #a%ei de date. on!inutul are un caracter /olatil8 =n sensul c" se (odific" per(anent =n func!ie de /olu(ul i co(ple?itatea proceselor i feno(enelor econo(ice la care se refer". 2tructura datelor =(preun" cu le'"turile dintre entit"!i i restric!iile de inte'ritate for(ea$" sc+e&a #a%ei de date" care8 de o*icei8 r"(>ne constant" pe durata utili$"rii *a$ei de date. Gestionarea datelor dintr5o *a$" de date este asi'urat" de un siste& de 'estiune a #a%e!or de date sau S.BD D=n li(*a en'le$" DB6S 5 Data 7ase Mana'e(ent 2Iste(E. Un S !" reprezint un ansamblu de programe pentru gestiunea datelor sau un mediu de programare destinat gestiunii datelor din baza de date. .rin ur(are8 el este cel care asi'ur" =nc"rcarea *a$ei de date8 actuali$area i intero'area acesteia8 c>t i interfa!a cu siste(ul de operare =n /ederea si(plific"rii accesului la date.

11

Cn 'eneral 2G7D5urile au i(ple(entate !i&#a)e 'a%d,( care con!in at>t instruc!iuni specifice e?ploat"rii datelor din *a$ele de date8 c>t i unele instruc!iuni din li(*a;ele de pro'ra(are clasice. 3n 2G7D include8 =n 'eneral8 o serie de co(ponente JDate2111K 'rupate =n ;urul dic!ionarului de date8 dintre care a(inti(@ sistemul de gestiune a fiierelor i suporturilor la ni#el fizicB sistemul de gestiune a fiierelor la ni#el logicB limba$ul de manipulare a datelor %&'"( i translatorul aferent) limba$ul de descriere a datelor %&""( i translatorul aferent) limba$ul de consultare sau interogare %*uer+ &anguage( i procesorul aferent, care traduce instruc!iunile li(*a;ului de consultare =n instruc!iuni inteli'i*ile pentru siste(ul de 'estiune la ni/el lo'icB componente de interfa cu programele de aplicaii) componente de ser#iciu, le'ate de ;urnali$"ri8 securitate etc. 4re*uie s" specific"(8 =ns"8 c" =n (a;oritatea 2G7D5urilor8 cu( este i ca$ul ?7ase sau Aisual Fo?.ro8 (ai (ulte co(ponente8 cu( ar fi de e?e(plu cele trei li(*a;e i translatoarele lor8 sunt inte'rate8 for(>nd o sin'ur" co(ponent". .rincipalele func!ii ale unui 2G7D sunt ur("toarele@ ,uncia de descriere date ,uncia de manipulare date ,uncia de utilizare 5838 Ar9'tectura u$e' <a0e %e %ate Asi'urarea independen!ei lo'ice i fi$ice a datelor i(pune adoptarea unei ar#itecturi a *a$ei de date pe trei ni/ele astfel@ 1. ni#elul intern -. ni#elul conceptual .. ni#elul extern Ni e!u! intern D*a$a de date fi$ic"E8 definete *a$a de date ca fiind o colec!ie de fiiere8 con!in>nd datele din cadrul *a$ei de date8 la care se adau'" i alte structuri au?iliare de date i un set de pro'ra(e8 care interac!ionea$" cu siste(ul de operare pentru =(*un"t"!irea (ana'e(entului *a$ei de date. La acest ni/el structura *a$ei de date se concreti$ea$" =n sc/ema intern. Aici apare independena fa de cile de acces8 adic" utili$atorul nu tre*uie s" fie preocupat de or'ani$area i (odul de acces la date la ni/el fi$ic. Ni e!u! conce"tua!" este ni/elul i(ediat superior celui fi$ic8 datele fiind pri/ite prin pris(a se(anticii lor8 respecti/ a con!inutului i rela!iilor cu alte date. Acesta este i pri(ul ni/el de a*stracti$are a lu(ii reale8 a/>nd ca o*iecti/ principal (odelarea realit"!ii e?istente prin definirea i descrierea unit"!ilor lo'ice cu care se lucrea$" i a le'"turilor dintre acestea. Aceast" sc#e(" este descris" =n 'eneral de ad(inistratorul *a$ei de date8 el fiind sin'urul care cunoate i (anipulea$" sc/ema conceptual a *a$ei de date8 de're/>nd utili$atorii de cunoaterea =ntre'ii structuri a *a$ei de date. Ni/elul conceptual se definete cu a;utorul sc#e(ei entitate-relaie DE5REJGardarin-+K sau obiect-entitate-relaie %O&0( JMirandaL7usta-+K. .rin entit"!i se =n!ele' concepte cu care operea$" utili$atorii i prin care acetia =i (odelea$" aplica!iile8 cu( ar fi@ .ROD32E8 7ENEFI IARI8 FA 43RI D=n ca$ul unei

12

fir(e producti/eE sau .ROFE2ORI8 243DEN4I8 2ALI8 MA4ERII D=n cadrul unei facult"!iE. Fiecare entitate poate a/ea una sau (ai (ulte atri*ute. De e?e(plu8 un 243DEN4 are MA4RI OLA8 N3ME8 DA4A5NAO4ERII8 etc. 1onstr2ngerile repre$int" propriet"!i ale datelor i se refer" la restric!ii pri/ind /alorile pe care le pot lua aceste date sau la restric!ii pri/ind le'"turile dintre diferite entit"!i. Cn cadrul oric"rei opera!ii de actuali$are a datelor din *a$a de date sau de =nc"rcare a acesteia cu date8 se /erific" aceste constr>n'eri8 pentru a asi'ura inte'ritatea *a$ei de date. a ur(are8 orice (odificare =n structura de (e(orare a datelor sau sc#i(*area suportului (a'netic8 /a afecta doar interfa!a dintre ni/elul conceptual i cel fi$ic f"r" a (odifica ni/elul conceptual. Re$ultatul i(ediat al independen!ei fi$ice a datelor =l repre$int" imunitatea aplicaiilor fa!" de structura fi$ic" de (e(orare a datelor. La acest ni/el structura *a$ei de date se concreti$ea$" =n sc/ema conceptual. Ni e!u! e-tern este ulti(ul ni/el de a*stracti$are la care se poate descrie o *a$" de date. Ni/elul e?tern con!ine8 deci8 o parte din unit"!ile lo'ice descrise la ni/el conceptual8 dar poate include i uniti logice care nu apar la ni#el conceptual i care nu au corespondent direct =n *a$a de date fi$ic"8 o*!inute de e?e(plu prin calcule. a ur(are8 ni/elul e?tern este deri/at din ni/elul conceptual i repre$int" ceea ce /ede utili$atorul din *a$a de date. Fiec"rui utili$ator =i /a corespunde un model extern propriu8 =n func!ie de cerin!ele infor(a!ionale ale acestuia. 3nit"!ile lo'ice folosite la ni/el e?tern se nu(esc nu(ite uniti logice #irtuale, imagini sau #ederi i formeaz o baz de date #irtual. Aceste /ederi se pot o*!ine =n unul din ur("toarele (oduri@ 1. prin modificarea unor uniti logice reale) 2. prin combinarea a dou sau mai multe uniti logice reale. 3ederile asi'ur"8 printre altele8 ur("toarele func!ii =n cadrul unei *a$e de date@ 1. securitatea bazei de date -. definirea modului de acces la date) %. ofer utilizatorului o #iziune simplificat i personalizat asupra *a$ei de date. .rin ni/elul e?tern se reali$ea$" independen!a lo'ic" a datelor din *a$a de date. Interfa!a dintre utili$ator i 2G7D se poate reali$a =n (ai (ulte (oduri8 dintre care a(inti( @ - printr5un (ecanis( de apel Dcu/>nt c#eie ur(at e/entual de para(etriiE inserat =n pro'ra(ele scrise =ntr5un li(*a; tradi!ional D 8 O7OL8 etc.E8 nu(it li(*a; 'a$d"B - prin co(en$i speciale utili$ate autonom Dspecifice 2G7D5urilor8 =n afara li(*a;elor tradi!ionaleE8 =n ca$ul 2G7D5urilor autono(e. 5838 6o%ele %e or2a$'0are a %atelor Anali$a8 proiectarea i i(ple(entarea structurii *a$ei de date se reali$ea$" utili$>nd un anu(it &ode! de date8 3n ase(enea (odel repre$int" un ansa&#!u de instru&ente conce"tua!e8 care per(it descrierea date!or" a re!aii!or dintre e!e" a se&anticii !or8 c>t i a restricii!or !a care sunt su"use aceste date JFotac#e128 .opescu12K8 3n (odel de date repre$int"8 deci8 un instru&ent teoretic care ne a;ut" s" identific"( se&ni*icaia sau coninutu! unei

1%

co!ecii de date Dstructura de or'ani$are a acestoraE c>t i &odu! de uti!i%are a acestora8 prin inter(ediul opera!iilor per(ise asupra datelor respecti/e. Modelul de or'ani$are a datelor este deci o repre$entare a o*iectelor lu(ii reale i a e/eni(entelor asociate lor8 a/>nd rolul de a pune la dispo$i!ia utili$atorilor conce"te!e de #a%, $i notaii!e( care s" le per(it" acestora s" co(unice clar i rapid infor(a!iile despre datele fir(ei J2elin'er0-K. a ur(are8 un (odel de date include ur("toarele co(ponente J2elin'er0-K@ 1. un set de reguli de structurare a datelor prin li(*a;ul de descriere date DLDDE. 2. un set de reguli de manipulare a datelor prin li(*a;ul de (anipulare date DLMDE. Modelele utili$ate de *a$ele de date se pot 'rupa =n trei cate'orii JFotac#e0-K@ &ode!e #a%ate "e o#iect( &ode!e #a%ate "e .nre'istrare i &ode!e *i%ice. /ode!e!e #a%ate "e o#iect per(it descrierea datelor la ni/el conceptual i e?tern. Din aceast" cate'orie fac parte@ aE (odelele entitate5asocia!ii DE5AE8 entitate5rela!ie DE5RE sau o*iect5entitate5 rela!ie DOLEE *E (odelul se(antic cE (odelul func!ional dE (odelul orientat pe o*iecte. Din cate'oria (odelelor orientate "e .nre'istr,ri fac parte@ aE (odelul ierar#ic *E (odelul re!ea cE (odelul rela!ional. 58:8 E$t't(,' )' t'pur' %e e$t't(,' O entitate este o realitate o*iecti/" care e?ist" prin ea nsi. Orice entitate8 aa dup" cu( s5a (ai ar"tat8 se caracteri$ea$" prin anu(ite propriet"!i8 care =n cadrul (odelului de date sunt repre$entate prin atribute. Entit"!ile la r>ndul lor sunt repre$entate prin tipuri de entiti. Mul!i(ea entit"!ilor descrise prin tipul de entitate dat repre$int" extensiunea tipului de entitate respecti/8 atri*utele unei instan!e ale entit"!ii fiind proprietile particulare sau extensionale ale acesteia. REBU6AT O pri(" defini!ie a *a$elor de date este JNi!c#iLRaco/i!an0+K@ *a$a de date este un siste( inte'rat8 coerent i parta;at de fiiere. O *a$" de date repre$int" o colec!ie de date8 or'ani$ate =ntr5o structur" descris" printr5un (odel conceptual sau colec!ie de date aflate =n interdependen!"8 =(preun" cu descrierea datelor i a rela!iilor dintre ele. 3n 2G7D repre$int" un ansa(*lu de pro'ra(e pentru 'estiunea datelor sau un (ediu de pro'ra(are destinat 'estiunii datelor din *a$a de date. .rincipalele func!ii ale unui 2G7D sunt ur("toarele@ Func!ia de descriere date Func!ia de (anipulare date Func!ia de utili$are Asi'urarea independen!ei lo'ice i fi$ice a datelor i(pune adoptarea unei ar#itecturi a *a$ei de date pe trei ni/ele astfel@

1&

Teste %e autoe+aluare B'<l'o2ra/'e

1. ni/elul intern 2. ni/elul conceptual %. ni/elul e?tern Din cate'oria (odelelor orientate "e .nre'istr,ri fac parte@ dE (odelul ierar#ic eE (odelul re!ea fE (odelul rela!ional. Reco(and"( parcur'erea testelor de la AA. J2itarP2111K

UNITATEA 0. /ODELUL RELA1IONAL OBIECTIVE larificarea no!iunilor referitoare la conceptele 'enerale le'ate de rela!ie8 atri*ut8 do(eniu larificarea ele(entelor referitoare la c#ei i le'"turi =ntre ta*ele. Fa(iliari$area cu for(ele nor(ale i nor(ali$area rela!iilor. Atri*ut8 ta*el8 do(eniu8 rela!ie8 c#eie candidat8 c#eie pri(ar"8 c#eie str"in"8 cele trei for(e nor(ale de *a$"

NO7IUNI CDEIE

3858 6o%elul %e %ate rela,'o$al 385858 Caracter'st'c' 2e$erale .ri(ul (odel de date rela!ional8 aa dup" cu( s5a a(intit8 a fost propus de c"tre cercet"torul a(erican E.F. odd de la la*oratorul din .alo Alto8 al I7M. .rincipiile (ate(atice care stau la *a$a acestui (odel pornesc de la teoria (ate(atic" a rela!iilor8 e?tins" la cerin!ele de 'estiune a datelor. O #a%, de date re!aiona!, este de*init, ca *iind un ansa&#!u de ta#e!e sau re!aii .ntre care e-ist, anu&ite !e',turi( *iecare ta#e!, *iind a!c,tuit, din co!oane( denu&ite atri#ute $i !inii( denu&ite $i tu"!e. De/'$'rea e$t't(,'lor )' structur'' acestora onceptele cu care se operea$" =n cadrul (odelului rela!ional =n /ederea definirii entit"!ilor i structurii acestora sunt ur("toarele@ 1. linia sau tuplul 2. atributul sau caracteristica %. domeniul &. nregistrarea logic ). cardinalitatea relaiei +. rangul relaiei ,. c/eia relaiei

1)

.entru e?e(plificarea conceptelor anterior pre$entate se consider" rela!ia sau ta*elul FA 3L4QI a/>nd ur("toarea structur"@ Atri*ut FA 3L4QI Co% /acultate 24E FIL 7IO MED linie DtupluE De$um're /acultate O4. E ONOMI E FILOLOGIE 7IOLOGIE MEDI INQ do(eniu A%res( MIRALI FN ROREA ) RA<DE3 11 E. I2A 21 =nre'istrare lo'ic" Dantet rela!ieE

.ute( considera c" un atri*ut repre$int" o utili$are su* un anu(it nu(e a unui do(eniu. Din acelai do(eniu pot deri/a (ai (ulte atri*ute8 fiecare cu nu(e diferite la ni/elul unui ta*el. Astfel8 dac" consider"( do(eniul nu(erelor =ntre'i sau reale8 din acest do(eniu pot deri/a atri*ute cu( ar fi@ 2ALAR8 IM.O6I48 AALOARE8 .RE48 AN4I4A4E etc. 2.2. Le2(tur' F$tre rela,''

De/'$'rea c9e'lor u$e' rela,'' Dac" =ntr5o rela!ie e?ist" (ai (ulte atri*ute sau co(*ina!ii de atri*ute care per(it identificarea unic" a tuplelor8 acestea sunt denu(ite c/ei candidat. O astfel de c#eie repre$int" un atri*ut sau o (ul!i(e de atri*ute DSE cu ur("toarele propriet"!i JGardarin-+K @ 1. identificare unicB 2. ireductibilitateB .. #alorile atributului. O entitate poate con!ine (ai (ulte c#ei candidat8 dar nu(ai una dintre ele se ale'e pentru a fi folosit" la identificarea tuplelor. Aceast" c#eie se nu(ete c/eie primar. O c#eie candidat care nu este dese(nat" ca i c#eie pri(ar" se nu(ete c/eie alternati#. .e l>n'" no!iunile de c#eie candidat i c#eie pri(ar"8 =n cadrul (odelului rela!ional se (ai folosete i no!iunea de c/eie strin. Ea se utili$ea$" la sta*ilirea le'"turilor dintre dou" ta*ele8 nu(ite tabela principal sau printe i tabela secundar sau copil. .rin defini!ie8 /aloarea c#eii str"ine tre*uie s" se re'"seasc" =n (ul!i(ea c#eilor pri(are ale ta*elei principale. Ea repre$int" deci o referin c"tre un tuplu din ta*ela p"rinte care are aceeai /aloare a c#eii pri(are. T'pur' %e le2(tur' F$tre rela,'' 3na din co(ponentele (odelului rela!ional se refer" la le'"turile dintre rela!ii sau ta*ele. O le'"tur" Drela!ie dina(ic"E se definete ca fiind o asociere =ntre (ai (ulte tipuri sau clase de entit"!i. ea (ai frec/ent" le'"tur" =nt>lnit" =n practic" este cea dintre dou" tipuri de entit"!i8 nu(it" i legtur binar. Le'"turile *inare8 aa cu( s5a a(intit8 dup" cardinalitatea lor Dnu("rul entit"!ilor din fiecare clas" de entit"!i care intr" =n cadrul le'"turiiE se pot clasifica astfel@

1+

1. !e',turi de ti" 121" prin care unei entit"!i din (ul!i(ea sau clasa M1 =i corespunde o sin'ur" entitate =n (ul!i(ea sau clasa M2B 2. !e',turi de ti" 12n" prin care unei entit"!i din (ul!i(ea M1 sau din ta*elul M1 =i corespund (ai (ulte entit"!i =n (ul!i(ea sau ta*elul M28 iar unei entit"!i din M2 =i corespunde o sin'ur" entitate =n M1B %. le2(tur' %e t'p m $" prin care unei entit"!i din M1 =i corespund (ai (ulte entit"!i =n M2 i reciproc. De/'$'rea restr'c,''lor pe$tru %atele %'$tr o <a0( %e %ate .entru datele dintr5o *a$" de date pot fi definite (ai (ulte tipuri de restric!ii8 cu( ar fi@ restric!ia de do(eniu8 de ato(icitate8 referen!ial" i restric!ii utili$ator. Dintre acestea8 ne /o( referi =n continuare la restricia referenial sau integritatea referenial, pe care se *a$ea$" sta*ilirea le'"turilor dintre dou" ta*ele. 4ntegritatea referenial8 denu(it" =n unele siste(e Dca de e?e(plu =n 2TL 2er/erE, integritate referenial static deoarece se p"strea$" =n dic!ionarul de date8 se definete ca fiind un ansa(*lu de re'uli i(puse ta*elelor =ntre care s5au sta*ilit anu(ite le'"turi. Astfel8 pentru a asi'ura inte'ritatea referen!ial" tre*uie ca atunci c>nd se fac (odific"ri ale /alorii unui c>(p de tip c#eie pri(ar" sau str"in" dintr5un ta*el8 s" nu fie afectat" rela!ia dintre cele dou" ta*ele8 adic" s" se (odifice auto(at /alorile c#eii =n toate tuplele corespun$"toare. Inte'ritatea referen!ial" cere ca /alorile c#eii str"ine s" se re'"seasc" printre /alorile c#eii pri(are. Aceast" condi!ie introduce =n *a$a de date constr>n'eri nu(ite constr3n'eri re*erenia!e. Opera!iile de ad"u'are8 (odificare i ter'ere pot afecta inte'ritatea referen!ial" astfel@ 1E In ta*ela principal" Dta*ela referit" sau p"rinteE@ a. opera!ia de ad"u'are se /a face f"r" nici un fel de restric!ii din punct de /edere al condi!iilor de inte'ritate referen!ial"B *. opera!ia de ter'ere 5 deoarece prin ter'erea unui tuplu din rela!ia sau ta*ela principal"8 =n rela!ia secundar" pot r"(>ne tuple care fac referire la tuplul ters8 pentru a (en!ine inte'ritatea referen!ial" se poate introduce ter'erea restric!ionat" sau =n cascad"B =n pri(ul ca$8 nu se poate ter'e un tuplu din ta*ela principal" dac" acesta are corespondent tuple =n ta*ela secundar"8 deoarece tuplele din ta*ela secundar" r"(>n orfane8 adic" /or a/ea referin!e nesatisf"cuteB =n al doilea ca$8 ter'erea unui tuplu din ta*ela principal" /a fi ur(at" de ter'erea tuturor tuplelor din rela!ia secundar" care fac referire la tuplul tersB c. opera!ia de (odificare poate fi pri/it" ca i =n ca$ul opera!iei de ter'ere8 iar restric!iile referen!iale sunt cele folosite la opera!ia de ter'ereB 2E In ta*ela secundar" Dde referin!" sau ta*ela copilE@ a. opera!ia de ad"u'are se poate face nu(ai dac" /alorile c#eii str"ine pentru articolele ad"u'ate se re'"sesc printre /alorile c#eii pri(are din ta*ela principal"8 altfel opera!ia de ad"u'are este inter$is"B *. opera!ia de ter'ere se poate reali$a f"r" nici o restric!ie din punct de /edere al condi!iilor de inte'ritate referen!ial"B

1,

c. opera!ia de (odificare se poate reali$a cu condi!ia s" nu apar" =nre'istr"ri f"r" corespondent =n ta*ela principal". Sc9ema )' co$,'$utul u$e' <a0e %e %ate rela,'o$ale E?ist" dou" (odalit"!i de a*ordare a *a$elor de date rela!ionale i anu(e JFotac#e2111K@ - sc#e(a rela!ional" Dintensia sau structura *a$ei de dateEB - con!inutul unei rela!ii De?tensia *a$ei de dateE. 4c+e&a re!aiona!, sau intensia unei *a$e de date poate fi definit" ca un ansa(*lu de rela!ii asociate se(antic prin do(eniul de defini!ie i prin restric!ii de inte'ritate. Ea con!ine@ a. una sau (ai (ulte sc#e(e de rela!ie8 unde fiecare sc#e(" de rela!ie include nu(ele rela!iei i atri*utele aferenteB *. restric!ii de inte'ritate8 care pot fi@ 5 restric!ia c#eilor pri(are8 adic" fiecare c#eie pri(ar" tre*uie s" fie unic"8 nenul" i cu co(po$i!ie (ini(al"B 5 restric!ii referen!iale8 care decur' din e?isten!a c#eilor str"ineB 5 alte restric!ii8 cu( ar fi cele definite de utili$ator Ddependen!e =ntre atri*ute8 /alori li(it"8 unicitate8 caracter nenul8 etc.E. 2c#e(a rela!ional" descrie =ntotdeauna (odelul conceptual din cadrul unei *a$e de date. Rela!iile dintre rela!ie i ta*el" sunt date de ur("toarele@ 1. n timp ce relaia este o mulime teoretic, tabela este un obiect concret cu o anumit reprezentare %tablou bidimensional() -. n timp ce ntr-o relaie ordinea atributelor sau tuplelor nu este semnificati#, ntr-o tabel exist o ordonare at2t a coloanelor, dat de ordinea acestora la creare, c2t i a nregistrrilor, dat de ordinea n care au fost introduse n tabel sau ca urmare a indexrii tabelei) .. n timp ce o relaie teoretic este format ntotdeauna din tuple distincte, n practic o tabel poate conine i linii duplicat, aa dup cum s-a mai menionat n cazul S*& Ser#er. Cn acest conte?t8 no!iunea de rela!ie se identific" cu cea de ta*el" sau fiier8 atri*utele cu denu(irea coloanelor unei ta*ele sau cu c>(purile unui fiier8 iar tuplele cu liniile ta*elei sau cu articolele Drespecti/ =nre'istr"rileE unui fiier. ele de (ai sus ;ustific" faptul su*liniat la defini!ia *a$elor de date8 c" baza de date este o colecie de fiiere. Cn unele 2G7D5uri8 cu( este ca$ul Aisual Fo?.ro8 fiecare fiier are articole de lun'i(e fi?"8 =n ti(p ce la altele8 cu( este ca$ul 2TL 2er/er8 articolele pot fi de lun'i(e /aria*il". 2pre deose*ire =ns" de fiierele o*inuite8 fiierele *a$ei de date pre$int" o serie de particularit"!i8 dintre care a(inti(@ 1. fiecare fiier are asociat" o =nre'istrare de structur" sau un antet8 care include infor(a!ii despre con!inutul fiierului i se (e(orea$" =n dic!ionarul de dateB 2. dac" fiierul are articole de lun'i(e fi?"8 articolele sau =nre'istr"rile de date con!in un nu("r de ordine8 folosit la identificarea unei =nre'istr"ri =n *a$a de date8 nu(it i indicatorul sau pointer5ul articolului respecti/B =n Aisual Fo?.ro acest pointer poate fi o*!inut prin func!ia RE NODEB %. de re'ul" unul dintre articolele *a$ei de date este cel tratat curentB pointer5ul acestui articol se nu(ete pointer5ul sau indicatorul *a$ei de dateB

1-

&. fiierele din *a$a de date sunt interconectate =ntre ele prin le'"turi de tip 1518 15n sau (5n. REBU6AT O *a$" de date rela!ional" este definit" ca fiind un ansa(*lu de ta*ele sau rela!ii =ntre care e?ist" anu(ite le'"turi8 fiecare ta*el" fiind alc"tuit" din coloane8 denu(ite atri*ute i linii8 denu(ite i tuple. Din punct de /edere (ate(atic8 prin rela,'e se =n!ele'e o su*(ul!i(e a produsului carte$ian al do(eniilor. Dac" =ntr5o rela!ie e?ist" (ai (ulte atri*ute sau co(*ina!ii de atri*ute care per(it identificarea unic" a tuplelor8 acestea sunt denu(ite c#ei candidat Reco(and"( parcur'erea testelor de la AA. J2itar52111K

TESTE DE AUTOEVALUARE B'<l'o2ra/'e E-e&"!e de teste 'ri!,5

1. 7a$a de date este@ aE un siste( inte'rat8 coerent i neparta;at de fiiereB *E un siste( inte'rat8 coerent i parta;at de fiiereB cE un siste( inte'rat8 necoerent i neparta;at de fiiere. R"spuns@ * . 2. 2iste(ul de 'estiune a *a$elor de date D2G7DE este@ aE o *a$" de dateB *E o co(ponent" #ardGareB cE o co(ponent" softGareB dE niciuna. R"spuns@ c .

10

6ODULUL NU6CRUL 3 ELE6ENTE DE LI6BA#


CONCEPTE DE BABA O*iecte cu care operea$" AF. Metali(*a;ul utili$at 2inta?a co(en$ilor AF. Fa(iliari$area cu (ediul Aisual Fo?.ro OBIECTIVE unoaterea ele(entelor le?icale i sintactice ale li(*a;ului AF.. .re$entarea o*iecti/elor de date i a tipurilor de date utili$ate =n cadrul pro'ra(elor Fo?. .re$entarea sinta?ei co(en$ilor Fo?.ro i a ele(entelor de (etali(*a;. Descrierea principalelor caracteristici ale Aisual Fo?.ro8 ca (ediu inte'rat8 o*iectual i /i$ual de de$/oltare de aplica!ii. Fa(iliari$area cu (ediul Aisual Fo?.ro8 precu( i a pri(elor opera!ii cu (ediul. Fa(iliari$area cu op!iunile din (eniul principal8 caseta de control8 op!iunile acestora8 precu( i cu 'estiunea ferestrelor i a o*iectelor de control. RECO6ANDCRI 2e /a studia (ai =nt>i (odul de for(" i utili$are a construc!iilor PRIVIND STUDIUL si(ple ale li(*a;ului Dcu/inte8 literale8 si(*oluri specialeE i apoi a celor co(puse Dinstruc!iuni8 func!ii i e?presiiE. 2e /a pune =n continuare accent pe for(area i utili$area o*iecti/elor date folosite =n cadrul li(*a;ului@ constante8 c>(puri8 /aria*ile. 2e /a studia tipurile de date utili$ate =n cadrul li(*a;ului i con/ersia =ntre tipuri. Cn finalul studiului pri/ind ele(entele li(*a;ului se pune accent pe (odul de definire a sinta?ei unei co(en$i =n Aisual Fo?.ro. REBULTATE Dup" parcur'erea acestui (odul utili$atorul tre*uie s" fie =n ATEPTATE ("sur" s" defineasc" i foloseasc" corect construc!iile li(*a;ului la ni/elul unui pro'ra( i s" =n!elea'" (odul de utili$are al clau$elor din sinta?a co(en$ilor Fo?.ro. 2e ateapt". De ase(enea@ 1. Fa(iliari$area cu (ediul de de$/oltare Aisual Fo?.ro. 2. rearea unor deprinderi de utili$are a (ediuluiB UNITATEA 1. ELE/ENTELE LE6ICALE 7I 4INTACTICE ALE LI/BA8ULUI 9I4UAL FO6PRO OBIECTIVE NO7IUNI CDEIE unoaterea (odului de for(are i utili$are a construc!iilor si(ple i co(puse ale li(*a;ului u/inte8 Literale8 Instruc!iuni8 Func!ii8 E?presii

21

Setul %e caractere &o?pro Ma;oritatea li(*a;elor de pro'ra(are8 printre care i li(*a;ul Fo?.ro8 au alfa*etul for(at din ur("toarele caractere@ - l'terele al/a<etulu' l'm<'' e$2le0eG - c'/rele ara<e H4 AIG - caractere spec'aleG Eleme$tele le?'cale )' s'$tact'ce ale l'm<ajulu' &o?Pro 3n pro'ra( Fo?.ro este alc"tuit din )'rur' %e caractere sau co$struc,'' i separator'. onstruc!iile li(*a;ului se pot =(p"r!i =n dou" cate'orii@ 5 construc!ii si(pleB 5 construc!ii co(puse. Co$struc,''le s'mple8 repre$int" cea (ai (ic" unitate le?ical" cu =n!eles de sine st"t"tor8 nu(ite i ato(i le?icale. E?ist" ur("toarele cate'orii de ato(i le?icali sau de construc!ii si(ple@ 1. identificatori Dcu/inteEB 2. literaliB %. si(*oluri speciale. care for(ea$" =(preun" +oca<ularul sau le?'cul li(*a;ului. 58 I%e$t'/'cator''8 repre$int" o sec/en!" ar*itrar" de caractere alfa*etice8 cifre sau liniu!a de su*liniere8 din care pri(ul caracter este o liter" sau liniu!a de su*liniere. E?ist" dou" cate'orii de identificatori sau cu/inte@ aE cu/inte predefiniteB *E cu/inte utili$ator. Cu+'$te pre%e/'$'teG sunt preci$ate la definirea li(*a;ului. u a;utorul lor se construiesc instruc!iunile li(*a;ului. Ele se =(part la r>ndul lor =n@ - cu/inte c#eieB - cu/inte re$er/ate. Cu+'$tele ut'l'0atorB sunt cu/inte definite de utili$ator8 fiind folosite =n diferite conte?te. 38 L'teral'G repre$int" o /aloare constant"8 de tip nu(eric sau caracter. 4er(enul de literal pro/ine de la cu/>ntul Uad5litera(U i are se(nifica!ia unei /alori preci$ate e?plicit. 38 S'm<olur' spec'aleG la fel ca i cu/intele re$er/ate8 si(*olurile speciale nu(ite i se(ne de punctua!ie8 operatori8 deli(itatori8 au o se(nifica!ie *ine definit" fiind utili$ate confor( destina!iei lor. Co$struc,'' compuse A doua 'rup" de construc!ii8 al"turi de construc!iile si(ple8 o repre$int" construc!iile co(puse8 nu(ite i cate2or'' s'$tact'ce %e <a0( o*!inute prin a're'area succesi/" a construc!iilor si(ple confor( unor re'uli sintactice. La ni/elul li(*a;ului Fo?.ro din aceast" 'rup" fac parte ur("toarele cate'orii sintactice@ 1. instruciuni) -. funcii) .. expresii.

21

1. I$struc,'u$'le li(*a;ului Fo?.ro se nu(esc come$0' i constituie ca =n orice li(*a; de pro'ra(are cate'oria sintactic" funda(ental". 2. &u$c,''leB repre$int" a doua cate'orie sintactic" de *a$"8 utili$ate =n (a;oritatea prelucr"rilor asupra datelor din *a$a de date. 2pre deose*ire de co(en$i8 func!iile returnea$" o /aloare. E?pres'' &o?Pro repre$int" ele(ente sintactice de *a$" prin care se e/aluea$" re$ultatul unor opera!ii. Ele con!in )'rur' %e opera$0' le'ate =ntre ele prin inter(ediul unor operator'. E?presiile re$ultate =n func!ie de tipul operan$ilor pot fi de tip@ $umer'c" caracter" %at( cale$%ar'st'c(" lo2'c" rela,'o$al8 Opera$0'' din cadrul unei e?presii pot fi@ +ar'a<'le Dc>(puri8 /aria*ile de (e(orieE8 co$sta$te i /u$c,''. Operator'' sunt caractere speciale HJ" " K" L" M" N OI sau cu/inte c#eie re$er/ate HAND" OR" NOTI prin care se specific" ac!iunile ce tre*uie e?ecutate asupra operan$ilor Do*iectelor de dateE. Operatorii utili$a!i =n cadrul e?presiilor Fo?.ro8 se pot 'rupa dup" tipul acestora astfel@ - operatori arit(eticiB - operatori rela!ionali Dde co(para!ieEB - operatori lo'iciB - operatori de concatenareB - operatori pentru date de tip 'estiune ti(p. Separator'@ acetia se =(part =n dou" cate'orii distincte astfel@ 1E separator' u0ual'G care ser/esc la separarea a doi ato(i le?icali i pot fi@ spa,'u" ta<" retur %e car i a+a$s %e r-$%8 2E come$tar''leB acetia nu influen!ea$" e?ecu!ia pro'ra(ului i per(it o =n!ele'ere (ai *un" a te?tului surs". Structura u$u' pro2ram &o?Pro 2tructura unui pro'ra( Fo?.ro se poate descrie astfel@ PRO.RA611PNte?t ASCIIM D 1 sau (ai (ulte linii lo'ice sau fi$iceE LINIE LO.ICC11PQl'$'e /'0'c(R Ddou" sau (ai (ulteE

UNITATEA 0. OBIECTE DE DATE 7I TIPURI DE DATE FOLO4ITE IN 9FP OBIECTIVE NO7IUNI CDEIE unoaterea principalelor o*iecte de date oferite utili$atorilor de li(*a; Dconstante8 c>(puri8 /aria*ile de (e(orieEB unoaterea tipurilor de date folosite =n cadrul li(*a;ului constante c>(puri /aria*ile de (e(orie tip nu(eric8 alfanu(eric8 lo'ic8 'estiune ti(p8 special

O<'ecte %e %ate Li(*a;ul Fo?.ro pune la dispo$i!ia utili$atorilor ur("toarele o*iecte de date@ co$sta$te" +ar'a<'le i matr'ce %e +ar'a<'le. aI Co$sta$teB sunt date definite de utili$ator care nu5i sc#i(*" /aloarea =n ti(pul e?ecu!iei co(en$ilor.

22

<I C-mpur'G repre$int" co(ponentele principale ale =nre'istr"rilor de date sau *locurile constructi/e ale fiierelor .D7F. Ele stoc#ea$" datele de prelucrat i au caracter de per(anen!"8 deci supra/ie!uiesc pe durata e?ecu!iei oric"rui pro'ra( care se refer" la fiierul respecti/. Acest o*iect de date se caracteri$ea$" prin ur("toarele atri*ute@ - Nu(e Didentificatorul o*iectuluiE. - 4ipB - AaloareB - Lun'i(eB cI Var'a<'le %e memor'e. se caracteri$ea$" prin ur("toarele atri*ute@ - Nu(eB - 4ipB - Lun'i(eaB - Durata de /ia!"B - Do(eniul de /i$i*ilitateB Cn raport cu acest atri*ut /aria*ilele de (e(orie pot fi de dou" feluri@ 1. pu*lice sau 'lo*aleB 2. pri/ate sau locale. T'pur' %e %ate /olos'te F$ V'sual &o?Pro Cn Aisual Fo?.ro sunt i(ple(entate ur("toarele tipuri de date@ a. tipul numeric) b. tipul alfanumeric) c. tipul logic) d. tipul pentru gestiune timp) e. tipul special. UNITATEA :. 4INTA6A CO/ENZILOR 9I4UAL FO6PRO OBIECTIVE Inserarea (odului de folosire a clau$elor de do(eniu i a op!iunilor de tip filtru din structura co(en$ilor Fo?.ro unoaterea (etali(*a;ului folosit la defini!ia for(atului 'eneral al unei co(en$i clau$e do(eniu8 filtru 'lo*al8 filtru local

NO7IUNI CDEIE

Eleme$te %e metal'm<aj Re'ulile sintactice prin care se sta*ilete dac" o anu(it" construc!ie este corect alc"tuit" se descriu printr5un li(*a; (ai si(plificat nu(it (etali(*a;. Acest li(*a; apare =n teoria li(*a;elor de pro'ra(are su* denu(irea de BN& D7aHus5Nau( For(E respecti/ EBN& repre$ent>nd o for(" e?tins" a li(*a;ului 7NF. Metali(*a;ul con!ine un ansa(*lu de si(*oluri D(etasi(*oluriE i de re'uli de descriere. For(a =n care se pre$int" o construc!ie de *a$" Dinstruc!iuneE8 utili$>nd (etasi(*oluri8 ele(ente ter(inale i neter(inale8 repre$int" for(atul 'eneral sau sinta?a 'eneral" a construc!iei respecti/e.

2%

S'$ta?a come$0'lor V'sual &o?Pro Structura )' caracter'st'c'le come$0'lor V'sual &o?Pro o(en$ile Fo?.ro au ca re$ultat i(ediat o ac!iune. Ele pot ac!iona asupra@ unui fiier sau unui c>(p dintr5un fiier al *a$ei de date8 asupra unei /aria*ile de (e(orie sau ele(ent dintr5un (asi/8 asupra unei ferestre sau (eniu8 etc. ele patru clau$e5do(eniu din sinta?a unei co(en$i au ur("toarea se(nifica!ie@ 1. RECORDNe?pNMG indic" faptul c" respecti/a co(and" ac!ionea$" asupra articolului D=nre'istr"riiE cu nu("rul de sec/en!" definit de /aloarea lui Ve?pNW. 2. NESTNe?pNMG indic" faptul c" respecti/a co(and" ac!ionea$" asupra ur("toarelor articole =ncep>nd cu articolul curent8 =n ordinea dat" de inde? i respect>nd filtrul curent8 p>n" la un nu("r total de =nre'istr"ri e'al cu /aloarea Ve?pNW. %. ALLG indic" faptul c" respecti/a co(and" ac!ionea$" asupra tuturor =nre'istr"rilor din fiierul curent8 respect>nd filtrele =n curs. Ea repre$int" pentru (a;oritatea co(en$ilor clau$a i(plicit". &. RESTB indic" faptul c" respecti/a co(and" ac!ionea$" asupra =nre'istr"rilor cuprinse =ntre =nre'istrarea curent" i sf>ritul fiierului acti/. Op!iunile FOR i XRILE au ur("toarea se(nifica!ie@ &ORNe?pLMG este un /'ltru 2lo<al8 adic" se aplic" tuturor articolelor din do(eniul selectat8 trat>ndu5le pe cele pentru care condi!ia specificat" prin Ve?pLW este ade/"rat". TDILENe?pLMG este un /'ltru local8 adic" se aplic" nu(ai articolelor succesi/e din do(eniul selectat8 =ncep>nd cu articolul curent8 c>t ti(p condi!ia specificat" prin Ve?pLW este ade/"rat". REBU6AT 3n pro'ra( Fo?.ro este alc"tuit din )'rur' %e caractere sau co$struc,'' i separator'. onstruc!iile li(*a;ului se pot =(p"r!i =n dou" cate'orii@ co$struc,'' s'mpleG co$struc,'' compuse8 Co$struc,''le s'mple8 repre$int" cea (ai (ic" unitate le?ical" cu =n!eles de sine st"t"tor8 nu(ite i ato(i le?icale. E?ist" ur("toarele cate'orii de ato(i le?icali sau de construc!ii si(ple@ 58 '%e$t'/'cator' Hcu+'$teIG 38 l'teral'G 38 s'm<olur' spec'ale8 care for(ea$" =(preun" +oca<ularul sau le?'cul li(*a;ului. A doua 'rup" de construc!ii8 al"turi de construc!iile si(ple8 o repre$int" construc!iile co(puse8 nu(ite i cate2or'' s'$tact'ce %e <a0( o*!inute prin a're'area succesi/" a construc!iilor si(ple confor( unor re'uli sintactice. La ni/elul li(*a;ului Fo?.ro din aceast" 'rup" fac parte ur("toarele cate'orii sintactice@ 1. instruciuni; 0. *uncii; :. e-"resii.

2&

TE6E DE CONTROL
B'<l'o2ra/'e

Li(*a;ul Fo?.ro pune la dispo$i!ia utili$atorilor ur("toarele o*iecte de date@ co$sta$te" +ar'a<'le i matr'ce %e +ar'a<'le. Aaria*ilele la r>ndul lor sunt de dou" tipuri i anu(e@ c-mpur' %'$ /')'ere 8DB& i +ar'a<'le %e memor'e D(e(orI /aria*les sau (e(/arsE. %I t'pul spec'al8 ele patru clau$e5do(eniu au ur("toarea se(nifica!ie@ RECORDNe?pNMG indic" faptul c" respecti/a co(and" ac!ionea$" asupra articolului D=nre'istr"riiE cu nu("rul de sec/en!" definit de /aloarea lui Ve?pNW. NESTNe?pNMG indic" faptul c" respecti/a co(and" ac!ionea$" asupra ur("toarelor articole =ncep>nd cu articolul curent8 =n ordinea dat" de inde? i respect>nd filtrul curent8 p>n" la un nu("r total de =nre'istr"ri e'al cu /aloarea Ve?pNW. ALLG indic" faptul c" respecti/a co(and" ac!ionea$" asupra tuturor =nre'istr"rilor din fiierul curent8 respect>nd filtrele =n curs. Ea repre$int" pentru (a;oritatea co(en$ilor clau$a i(plicit". RESTB indic" faptul c" respecti/a co(and" ac!ionea$" asupra =nre'istr"rilor cuprinse =ntre =nre'istrarea curent" i sf>ritul fiierului acti/. 2" se dea e?e(plu de@ cu/inte utili$ator i literale nu(erice i alfanu(erice 2" se construiasc" e?presii Fo?.ro folosind toate tipurile de operatori Darit(etici8 rela!ionali i lo'iciE J2itarP2111K UNITATEA <. INTRODUCERE =N 9I4UAL FO6 PRO

OBIECTIVE

NO7IUNI CDEIE

Descrierea principalelor caracteristici ale Aisual Fo?.ro8 ca (ediu inte'rat8 o*iectual i /i$ual de de$/oltare de aplica!iiB Cnsuirea lans"rii i ter(in"rii unei sesiuni Aisual Fo?.roB Fa(iliari$area cu (ediul Fo?.roB .rincipalele (oduri de lucru =n Aisual Fo?.roB Fa(iliari$area cu op!iunile din (eniul principal sau caseta de control i rolurile acestor op!iuni Fa(iliari$area cu 'estiunea ferestrelor i a o*iectelor de controlB Aisual Fo?.ro8 (ediu de de$/oltareB 2esiune Aisual Fo?.roB (oduri de lansare i ter(inareB o(ponentele (ediuluiB Modurile de lucru =n (ediuB Op!iunile (eniului principalB Op!iunile casetei de controlB 4ipuri de ferestre i caracteristicile lorB O*iecte de control

La$sarea F$ e?ecu,'e )' term'$area u$e' ses'u$' V'sual &o?Pro

2)

Lansarea siste(ului Aisual Fo?.ro din acest director se poate face analo' cu lansarea oric"rui pro'ra( =n XindoGs8 =n unul dintre ur("toarele (oduri@ 1. prin selectarea opiunii .ROGRAM2 din meniul 24AR4 i apoi a opiunii 'icrosoft 3isual ,ox5ro 6.7) 2. prin efectuarea unui dublu clic pe pictograma aferent programului 3isual ,ox5ro 6.7, dac pictograma este #izibil pe ecran) %. prin selectarea din fereastra 0xplorer a directorului care conine 'icrosoft 3isual ,ox5ro 8 %de regul 5rogram ,iles( i apoi, din lista aprut sau din fereastr se selecteaz opiunea sau pictograma Launc# Microsoft Aisual Fo?pro 0.1) &. prin introducerea n caseta de dialog 9un din meniul Start a c:ii complete a programului 3isual ,ox5ro 6. 4er(inarea unei sesiuni de lucru =n Aisual Fo?.ro se poate reali$a =n unul din ur("toarele (oduri@ prin tastarea comenzii *U4; n fereastra de comand) prin selectarea opiunii 0<4; %=&;>,?( din meniul ,4&0) prin selectarea opiunii 1&OS0 din caseta meniului de control a ferestrei principale 3isual ,ox5ro 8) prin folosirea butonului 1&OS0 din meniul principal. &ereastra pr'$c'pal( H'$','al(I Dup" lansarea Aisual Fo?.ro8 pe ecran este afiat" fereastra principal". 1. Bara de tit!u >Tit!e Bar?G co$,'$e $umele apl'ca,'e'" respect'+ 6'croso/t V'sual &o?Pro" aliniat la st>n'a8 a/>nd =n fa!" un *uton cu picto'ra(a Fo?.ro Dcap de /ulpeE. =ceasta este caseta de control a ferestrei principale. "ac se execut pe ea un clic@ cu unul dintre butoanele mouse, sau se tasteaz =lt>!ara Spaiu, apare meniul de control #ertical, uzual pentru aplicaiile AindoBs. De ase(enea8 =n dreapta apar cele % *utoane u$uale Dde (ini(i$are8 $oo( i =nc#idere a ferestreiE. !ara meniului principal %'enu bar(, include la lansare ur("toarele op!iuni@ File8 Edit8 AieG8 For(at8 4ools8 .ro'ra(8 XindoG i Relp. Fiecare op!iune din *ara (eniului principal Dsiste(E afiea$" un su*(eniu /ertical atunci c>nd se e?ecut" un clicH pe op!iunea respecti/" Bara cu instru&ente standard >4tandard Too!#ar?. 0a conine -7 butoane %casete cu pictograme( i o caset derulant. ;rebuie s subliniem c ultimele dou butoane au fost introduse n #ersiunea 6.7 i nu existau n C.7. 5rin poziionarea mouse-ului pe orice pictogram din bara cu instrumente, sub pictograma selectat apare afiat %ntr-o caset( numele opiunii aferente pictogramei respecti#e. "up cum este cunoscut n XindoGs pot fi folosite meniuri rapide. 'eniul rapid pentru 3isual ,ox5ro 6.7 se poate lansa simplu prin executarea unui clic@ cu butonul din dreapta pe bara de instrumente. 3a apare meniul n care se regsesc c2te o opiune pentru principalele programe de proiectare automat a tabelelor, formelor, rapoartelor etc., dar i alte opiuni. Fereastra de co&and, 5 este poriunea de pe ecran ncadrat de un dreptung/i, a#2nd numele 1O''=D" i permite introducerea direct de

2.

%.

&.

2+

). +. ,.

comenzi prin tastare. 0ste pre#zut cu butonul de close cu barele de derulare orizontal i #ertical. 4u"ra*aa de !ucru 5 reprezint zona din cadrul ferestrei principale n care se afieaz rezultatul execuiei comenzilor introduse de utilizator. O parte din ea este acoperit de fereastra de comand. Cursoru! E este un simbol grafic, care p2lp2ie i indic poziia de pe ecran n care se poate introduce urmtorul caracter. &a lansarea sistemului, cursorul apare n fereastra de comand, pe prima linie. Bara de stare HStatus BarE - indic contextul n care ne gsim la un moment dat, afi2nd o serie de informaii utile. Fona de mesa$e din bara de stare este #id dac nu este desc/is nici o tabel n zona de lucru curent. 4n sc/imb, dac este desc/is o tabel, n cadrul zonei se afieaz urmtoarele informaiiG numele tabeleiG numele bazei de date din care face parte ta*ela8 inclus" =n parante$eG numrul nregistrrii curente a tabeleiG numrul total de nregistrri a tabeleiG starea curent de parta$are a fiierului desc/is %a tabelei?( prin una din urmtoarele opiuni@ E?clusi/e8 Record 3nlocHed8 Record LocHed8 File LocHed. Fona casetelor indicatoare con!ine trei sau patru casete indicatoare cu ur("toarea se(nifica!ie@ prima caset indic starea tastei IN2. 0a este goal, atunci c2nd editorul ,ox se afl n mod inserare, sau conine literele OAR, indic2nd modul de suprascriere; urmtoarea caset afieaz N3M dac tasta Nu(LocH este acti#; a treia caset afieaz A.2 dac tasta apsLocH este acti#; ultima caset %opional( conine ora curent.

6o%ur' %e lucru 3tili$atorul are la dispo$i!ie (ai (ulte (oduri de lucru8 =n func!ie de ni/elul s"u8 scopul ur("rit etc. 1. Modul de lucru interacti/ prin co(en$i %i(ediat8 con/ersa!ional sau directEB 2. Modul de lucru asistat %interacti/ pe *a$" de (eniuri i *utoaneE. %. Modul de lucru pro'ra(at. Dup" intrarea =n (ediul Aisual Fo?.ro8 este selectat i(plicit pri(ul (od de lucru8 fapt se(nalat prin pre$en!a cursorului =n fereastra de co(and"8 ceea ce =nsea(n" c" utili$atorul poate introduce co(anda dorit". 4recerea la (odul de lucru asistat se face fie printr5un cl'cU cu mouse ul pe una dintre op!iunile (eniului principal8 fie cu tastatura8 prin ac!ionarea tastei &54 sau ALT prin care se selectea$" pri(a op!iune din (eniul siste( D&'leE. Re/enirea =n fereastra de co(and" se face prin ac!ionarea tastelor &548 ALT sau ESC8 a/>nd ca efect deselectarea op!iunii acti/e din (eniul siste( i apari!ia cursorului =n fereastra de co(and". Dac" se utili$ea$" (ouse5ul8 se po$i!ionea$" cursorul acestuia =n fereastra de co(and" i se e?ecut" un clicH.

2,

6e$'ul s'stem )' su<me$'ur' Meniul siste( sau *ara (eniului principal se afiea$" =n fereastra principal" a (ediului Aisual Fo?.ro8 su* *ara de titlu i se co(pune din ur("toarele ele(ente@ 1. *ara de (eniuri Dmenu barEB 2. op!iuni din *ar" Dmenu padsEB %. (eniuri derulante Dsu*(eniuri /erticale 5 menu popupsEB &. op!iuni din (eniu Dmenu optionsE. Caseta %e co$trol a /erestrelor F$ V'sual &o?Pro Dat" fiind i(portan!a ferestrelor =n Fo?.ro8 acestea sunt 'estionate prin inter(ediul op!iunilor din caseta de control a ferestrei sau al op!iunilor din (eniul XindoG. aseta sau (eniul de control al unei ferestre con!ine co(en$i Dop!iuniE pentru (utarea8 redi(ensionarea sau =nc#iderea unei ferestre. E?ecutarea unui du*lu clicH pe acest o*iect al ferestrei principale Aisual Fo?.ro repre$int" cea (ai rapid" cale de ieire din (ediul Fo?.ro. Aspecte pr'+'$% 2est'u$ea /erestrelor F$ V'sual &o?Pro O alt" co(ponent" a interfe!ei Aisual Fo?.ro8 al"turi de (eniuri8 este repre$entat" de ferestre. O fereastr" este o por!iune dreptun'#iular" a ecranului cu propriet"!i specifice Dcoordonate8 caracteristici 'rafice8 de colorare8 etc.E8 prin care Fo?.ro co(unic" cu utili$atorul. .e ecran se pot afia sau desc#ide si(ultan (ai (ulte ferestre8 care se acoper" sau nu =ntre ele8 dup" cu( s5a /"$ut =n ca$ul op!iunii AindoB. Dintre acestea8 la un (o(ent dat una sin'ur" este acti/"8 cea care con!ine cursorul sau ulti(a desc#is". #enarul ei are de re'ul" o culoare (ai pronun!at". .rin acti/are8 o fereastr" este adus" =n pri( plan8 i toate ieirile sunt diri;ate spre fereastra respecti/". Ea r"(>ne acti/" p>n" c>nd este de$acti/at" sau este acti/at" o alt" fereastr". Ieirea dintr5o fereastr" siste( se poate reali$a prin@ ac!ionarea *utonului de =nc#idere8 a tastei 0S18 a unui o*iect de control din cadrul ferestrei sau prin selectarea co(en$ii 1&OS0 din (eniul ,4&0. a ur(are8 fereastra respecti/" este eli(inat" de pe ecran8 structura ei de control este tears" din (e(oria operati/" iar ieirile sunt diri;ate spre o alt" fereastr" sau pe ecran. 2iste(ul Aisual Fo?.ro per(ite lucrul cu dou" tipuri de ferestre i anu(e@ 1E ferestre siste(B 2E ferestre utili$ator. O fereastr cu statut special n cadrul mediului 3isual ,ox5ro o reprezint /ereastra %e come$0' HComma$% T'$%oVI8 =fiarea acestei ferestre se poate realiza n mai multe moduriG prin selectarea opiunii o((and XindoG din meniul XindoG, prin acionarea tastelor 4RLYF2, sau prin acionarea butonului aferent de pe *ara cu instru(ente standard.

2-

REBU6AT

TE6E CONTROL

B'<l'o2ra/'e

Modulul are =n co(ponen!" dou" unit"!i. .ri(a unitate este destinatZ studiului (ediului Aisual Fo?.ro8 ca (ediu inte'rat8 o*iectual i /i$ual de de$/oltare de aplica!ii. Dintre pro*le(ele tratate a(inti(@ - lansarea i ter(inarea unei sesiuniB - co(ponen!a (ediului Aisual Fo?.roB - (oduri de lucru =n Aisual Fo?.roB - op!iunile din (eniul principal i din caseta de controlB - 'estiunea ferestrelor i a o*iectelor de control. Efectuarea unor opera!ii u$uale cu (ediul Aisual Fo?.roB Ela*orarea unui (e(ento recapitulati/eB unoaterea ele(entelor le?icale i sintactice ale li(*a;ului AF.. .re$entarea o*iecti/elor de date i a tipurilor de date utili$ate =n cadrul pro'ra(elor Fo?. .re$entarea sinta?ei co(en$ilor Fo?.ro i a ele(entelor de (etali(*a; 1. J2itarP2111K

E-e&"!e de teste 'ri!,5 1. u/intele predefinite cuprind@ aE cu/inte c#eie i cu/inte re$er/ateB *E c#ei pri(are i c#ei candidatB cE nici unul din r"spunsuri . R"spuns@ a . 2. Metali(*a;ul este@ aE un li(*a; de pro'ra(areB *E un ansa(*lu de si(*oluri i re'uli de descriereB cE un ansa(*lu de instruc!iuni . R"spuns@ * .

20

6ODULUL NU6CRUL 3 CREAREA I .ESTIUNEA TABELELOR LIBERE


CONCEPTE DE BABC rearea8 (odificarea i listarea structurii ta*elelorB Aalidarea datelor din cadrul unui ta*el la ni/el de c>(p i =nre'istrareB Desc#iderea i =nc#iderea ta*elelorB Cnc"rcarea ta*elelor cu date i listarea con!inutului acestoraB Modificarea con!inutului unui ta*elB Oter'erea =nre'istr"rilor din cadrul unui ta*el OBIECTIVE unoaterea (odului de creare i (odificare a structurii ta*elelor =n Aisual Fo?.ro B Asi(ilarea te#nicilor de =nc"rcare a ta*elelor cu date i de actuali$are a datelor din ta*elele respecti/eB RECO6ANDCRI 2e /or studia =n continuare opera!iile de 'estiune cu ta*ele li*ere@ PRIVIND creare8 desc#idere8 =nc#idere8 ad"u'area sau eli(inarea unei *a$e STUDIUL de date din proiect8 ad"u'are8 eli(inare ta*ele din *a$a de date8 inde?area =nre'istr"rilor unui ta*elB .entru =nsuirea lucrului cu ta*elele se /or studia te#nicile de creare a structurii ta*elelor i de =nc"rcare a ta*elelor cu date8 de actuali$are a datelor i de definire a rela!iilor dintre ta*ele. REBULTATE Cnsuirea te#nicilor de creare a structurii ta*elelor8 de =nc"rcare a ATEPTATE acestora cu date i de actuali$are a datelor din ta*elB unoaterea procedurilor de inde?are a ta*elelor i a tipurilor de indeci utili$a!i =n Aisual Fo?.ro. UNITATEA 1. LUCRUL CU TABELELE LIBERE =N 9I4UAL FO6PRO OBIECTIVE rearea8 (odificarea i listarea structurii ta*elelor =n Aisual Fo?.roB Desc#iderea i =nc#iderea ta*elelorB Cnc"rcarea ta*elelor cu date i listarea con!inutului acestoraB Modificarea con!inutului unui ta*elB Oter'erea =nre'istr"rilor din cadrul unui ta*elB Accesul la =nre'istr"rile unui ta*elB Ordonarea =nre'istr"rilor unui ta*el. 2tructur" ta*el8 6one de lucru8 Alias ta*el8 Indicatori de =nre'istr"ri8 Inde?are8 2ortare.

CUVINTE CDEIE

Crearea" mo%'/'carea )' l'starea structur'' ta<elelor F$ V'sual &o?Pro Crearea u$u' $ou ta<el 4a*elele repre$int" co(ponentele de *a$" din cadrul aplica!iilor =n Aisual Fo?.ro. O ta*el" sau fiier .d*f =n Aisual Fo?.ro8 poate e?ista fie ca ta*el" inclus" =ntr5o *a$" de date8 fie ca o ta*el" li*er"8 care nu este asociat" nici unei *a$e de date.

%1

.entru a folosi o ta*el"8 ea tre*uie8 (ai =nt>i8 creat"8 aceasta =nse(n>nd definirea structurii acesteia i apoi =nc"rcarea cu date. rearea unei noi ta*ele =n Aisual Fo?.ro se poate reali$a =n unul din ur("toarele (oduri@ a. Cn (od interacti/8 folosind 'eneratorul de ta*ele 4a*le Desi'ner sau 4a*le Xi$ardB *. .rin co(en$i ale li(*a;ului Aisual Fo?.ro. Crearea u$u' $ou ta<el pr'$ /olos'rea 2e$eratorulu' %e ta<ele HTa<le Des'2$erI Lansarea 'eneratorului sau proiectantului de ta*ele se poate reali$a =n unul din ur("toarele (oduri@ 1E .rin inter(ediul ferestrei .ro;ect Mana'er. 2E .rin selectarea op!iunii NeG din (eniul File sau a picto'ra(ei NeG de pe *ara de instru(ente standard. %E .rin utili$area asistentului Xi$ard Crearea u$u' $ou ta<el pr'$ selectarea op,'u$'' NeV %'$ me$'ul &'le La selectarea op!iunii NeV din (eniul &'le sau de pe *ara de instru(ente standard pe ecran se desc#ide fereastra NeV din care se selectea$" *utonul de op!iuni Ta<le indic>ndu5se astfel c" se dorete crearea unui nou ta*el8 dup" care se ac!ionea$" *utonul NeV &'le a/>nd ca efect afiarea pe ecran a ferestrei Create. Cn continuare se parcur' aceleai etape ca i =n ca$ul folosirii constructorului de proiecte D.ro;ect Mana'erE. Crearea u$e' $o' ta<ele pr'$ come$0' ale l'm<ajulu' V'sual &o?Pro .entru crearea structurii unei ta*ele prin co(en$i ale li(*a;ului Aisual Fo?.ro se folosesc =n principiu 2 co(en$i i anu(e@ CREATE i CREATE TABLE8 De ase(eni8 se (ai pot folosi i alte co(en$i indirecte care =n final per(it o*!inerea structurii unui nou ta*el. 1. o(anda CREATEG aceasta este o co(and" (en!inut" din /ersiunea clasic" i per(ite crearea =n (od con/ersa!ional a structurii unui ta*el i e/entual =nc"rcarea acestuia cu date. -. o(anda CREATE TABLE Aceast" co(and" este preluat" din li(*a;ul 2TL i per(ite crearea structurii unui ta*el =n (od direct8 pe *a$a op!iunilor cuprinse =n co(and". Dac" noul ta*el a c"rui structur" se creea$" /a fi asociat unei *a$e de date8 se desc#ide (ai =nt>i *a$a de date respecti/" i apoi se creea$" ta*elul. Dac" dori( =n sc#i(* s" cree( un ta*el li*er /a tre*ui s" (en!ion"( =n co(anda REA4E op!iunea FREE. Dac" nu este desc#is" nici o *a$" de date8 co(anda /a crea auto(at un ta*el li*er8 f"r" s" (ai (en!ion"( =n cadrul co(en$ii op!iunea FREE. .. Alte come$0' ut'l'0ate la crearea structur'' ta<elelor %'$ <a0e %e %ate 3n ta*el din cadrul unei *a$e de date sau li*er se poate crea prin copierea structurii sale dintr5un ta*el e?istent8 dintr5un fiier inter(ediar sau dintr5un (asi/. In acest sens se folosesc ur("toarele co(en$i@ a8 Coma$%a COP! STRUCTURE

%1

E?ecu!ia acestei co(en$i per(ite copierea par!ial" sau total" a structurii unui ta*el de date acti/ =ntr5un nou ta*el. 2inta?a co(en$ii este ur("toarea@ COP! STRUCTURE TO N$ume /')'erM W&IELDSNl'st( %e c-mpur'MX &IELDS LIYE6)a<lo$5MX &IELDS ESCEPTN)a<lo$3MX WWTITDZ CDS X WTITDZ PRODUCTIONZ <8 Coma$%a CREATE &RO6 E?ecu!ia acestei co(en$i per(ite crearea unui nou fiier8 prin copierea structurii sale dintr5un fiier inter(ediar =n care se =ncarc" structura de copiat. o(anda per(ite =n acelai ti(p i editarea structurii e?istente =nainte de o*!inerea noii structuri. For(atul 'eneral al co(en$ii este ur("torul@ CREATEWN/')'er 5MZ &RO6 WN/')'er 3MZ unde@ N/')'er 5M este nu(ele fiierului care /a fi creat. Acesta preia =nre'istr"rile de date din Vfiier 2W pentru crearea structurii sale. Dup" e?ecu!ia co(en$ii REA4E noua *a$" de date de/ine acti/". N/')'er 3M este nu(ele fiierului inter(ediar sau surs"8 nu(it i fiier cu structur" e?tins". Dac" nu se specific" nici unul din cele dou" fiiere se /a desc#ide o fereastr" de dialo' din care se selectea$" fiierele folosite =n co(and". Fiierul cu structur" e?tins" se o*!ine prin utili$area co(en$ii O.N 24R3 43RE E[4ENDED cu ur("toarea sinta?"@ COP! STRUCTURE ESTENDED TO N$ume /')'erM W&ILEDSNl'st( %e c-mpur'MX &ILEDS LIYE N)a<lo$ 5MX &ILEDS ESCEPTN)a<lo$ 3MZ 6o%'/'carea )' +'0ual'0area structur'' u$u' ta<el Dup" crearea unui ta*el8 utili$atorul poate (odifica structura i propriet"!ile acestora prin@ ad"u'area8 (odificarea sau ter'erea nu(elui i caracteristicilor unui c>(p sau propriet"!ilor acestuia@ /alori i(plicite8 c#ei8 re'uli de /alidare8 etc. Modificarea structurii unui ta*el se poate reali$a =n unul din ur("toarele (oduri@ - prin folosirea constructorului de ta*ele D4a*le Desi'nerEB - prin co(en$i introduse =n fereastra de co(and" sau la ni/el de pro'ra(. 58 6o%'/'carea structur'' u$u' ta<el pr'$ ut'l'0area co$structorulu' %e ta<ele Din fereastra .ro;ect Mana'er se selectea$" ta*elul a c"rei structur" se (odific" i apoi se ac!ionea$" *utonul ModifI\ . a efect pe ecran apare fereastra 4a*el Desi'ner =n care se pot face (odific"rile dorite. onstructorul de ta*ele se (ai poate lansa i prin selectarea op!iunii 6o%'/[ din (eniul Data<ase. In acest scop se desc#ide (ai =nt>i fereastra Data<ase Des'2$er i din fereastra respecti/" se /a selecta ta*elul a c"rui structur" se (odific"8 dup" care se selectea$" op!iunea 6o%'/[ din Data<ase. a i =n

%2

pri(ul ca$8 pe ecran apare fereastra 4a*le Desi'ner con!in>nd structura ta*elului selectat anterior. Modific"rile care se pot face referitor la stsructura ta*elului acti/ se refer" la@ - adugarea sau eliminarea unor c2mpuri %linii( din structura existent) - redenumirea unor c2mpuri %sc/imbarea numelui acestora() - sc/imbarea ordinii c2mpurilor n structur) - sc/imbarea dimensiunii sau tipului unor c2mpuri) - sc/imbarea proprietilor unui c2mp %#alori implicite, reguli de #alidare, comentarii etc.(. - adgarea, modificarea sau tergerea unui index %tag(. Dup" efectuarea (odific"rilor se ac!ionea$" *utonul OY prin care se solicit" siste(ului sal/area (odific"rilor efectuate. 2iste(ul Aisual Fo?.ro afiea$" pe ecran o caset" de (esa; prin care se cere confir(area (odific"rilor efectuate. 2. 6o%'/'carea structur'' u$u' ta<el pr'$ come$0' .entru (odificarea structurii unui ta*el se (ai pot folosi co(anda 6ODI&! STRUCTURE i func!ia D72E4.RO. D E. 1omanda 6ODI&! STRUCTURE .rin e?ecu!ia acestei co(en$i pe ecran se /a afia fereastra 4A7LE DE2IGNER aferent" ta*elului curent8 =n care se pot opera (odific"rile dorite. Dup" efectuarea (odific"rilor se /a afia pe ecran caseta de (esa; cu confir(area (odific"rilor efectuate i apoi se re/ine =n fereastra de co(en$i sau =n pro'ra(ul care a lansat co(anda MODIFN 24R3 43RE. %. L'starea structur'' u$u' ta<el .entru a /i$uali$a structura unui ta*el din *a$a de date8 se folosesc co(en$ile LIST sau DISPLA! cu ur("toarea sinta?"@ DISPLA! STRUCTURE WIN N0o$( lucruMZ WTO PRINTERZ WTO &ILEN/')'erMZ WNOCONSOLEZ LIST STRUCTURE WIN N0o$( lucruMZ WTO PRINTERZ WTO &ILEN/')'erMZ WNOCONSOLEZ ele dou" co(en$i afiea$" structura ta*elului desc#is =n $ona de lucru curent" nu(ele ta*elului8 nu("rul de =nre'istr"ri din ta*el i data ulti(ei actuali$"ri. 2tructura include nu(ele fiec"rui c>(p8 tipul i lun'i(ea acestora i nu("rul de $eci(ale pentru c>(purile nu(erice. o(anda DI2.LAN este si(ilar" cu LI24 cu deose*irea c" aceasta afiea$" doar infor(a!iile care =ncap pe un ecran sau =ntr5o fereastr"8 dup" care se =ntrerupe afiarea

%%

iar =ntr5o caset" apare (esa;ul UPress a$[ Ue[ to co$t'$ueOE8 In ca$ul co(en$ii LI248 infor(a!iile pri/ind structura ta*elului specificat sunt afiate f"r" nici o pau$". 6e$,'$erea '$te2r't(,'' %atelor pr'$ re2ul' %e +al'%are Inte'ritatea datelor dintr5o *a$" de date se poate reali$a prin inter(ediul de /alidare a datelor pe de5o parte i prin inte'ritatea referen!ial" pe de alt" parte. Re'ulile de /alidare per(it /erificarea prelu"rii datelor de intrare. u a;utorul lor se co(par" dac" /alorile introduse =n c>(purile unei =nre'istr"ri corespund cerin!elor din cadrul e?presiei de /alidare. onceptul de inte'ritate a datelor dep"ete sfera inte'rit"!ii la ni/el de c>(p i =nre'istrare i se e?tinde la ni/elul rela!iilor dintre ta*ele prin inter(ediul inte'rit"!ii referen!iale. Inte'ritatea referen!ial" are ca o*iecti/ (en!inerea le'"turilor dintre ta*ele i per(ite efectuarea opera!iilor de =nc"rcare i actuali$are a datelor din *a$a de date astfel =nc>t aceste le'"turi s" nu fie afectate. 7a$ele de date suport" re'uli de /alidare la dou" ni/eluri@ la $'+el %e c-mp i la $'+el %e F$re2'strare8 .entru a (en!ine inte'ritatea datelor din *a$a de date8 re'ulile de /alidare se pot introduce at>t la ni/elul aplica!iilor Dpro'ra(elorE sau c#iar =n cadrul *a$ei de date prin inter(ediul procedurilor stocate. Desc9'%erea )' F$c9'%erea ta<elelor %'$ <a0a %e %ate Bo$e %e lucru .entru a folosi un ta*el al *a$ei de date8 acesta tre*uie (ai =nt>i desc#is sau acti/at. Aceast" opera!ie se reali$ea$" =ntr5o $on"8 re$er/at" =n (e(oria intern"8 =n care se (e(orea$" infor(a!ii pri/ind folosirea fiierului respecti/8 nu(it" zon de lucru. Astfel =n $ona de lucru =n care s5a desc#is un fiier se (e(orea$"@ - nregistrarea de structur %antetul fiierului() - numrul nregistrrii curente) - formatul fiierului) - relaiile dintre fiierele ."!,. 4ot =n $ona de lucru se creea$" $ona ta(pon aferent" fiierului desc#is =n care se (e(orea$" pri(a =nre'istrare din fiier. Fo?.ro asi'ur" %2,+, de $one de lucru nu(erotate de la 1 la %2,+,8 =n care se pot desc#ide diferite fiiere. In fiecare $on" de lucru se poate desc#ide =ns"8 un sin'ur fiier. I%e$t'/'carea 0o$elor %e lucru se poate reali$a@ - cu a;utorul cifrelor de la 1 la 11 sau cu a;utorul literelor de la A la < pentru pri(ele 11 $one de lucru. - cu a;utorul cifrelor de la 11 5 %2,+, pentru celelalte $one de lucruB - cu a;utorul aliasului fiierului desc#is =ntr5o anu(it" $on" de lucru. Desc9'%erea ta<elelor .entru desc#iderea unui ta*el li*er sau asociat unei *a$e de date se pot folosi ur("toarele /ariante@ 1. Din fereastra .ro;ect Mana'er se selectea$" *a$a de date din care face parte ta*elul i se ac!ionea$" *utonul O.EN a/>nd ca efect desc#iderea *a$ei de date respecti/e. 2. De pe *ara de instru(ente standard se selectea$" picto'ra(a care deter(in" desc#iderea unui o*iect a/>nd ca efect apari!ia pe ecran a ferestrei O.EN. In

%&

cadrul ferestrei se selectea$" tipul de fiier DD7FE i apoi din lista ap"rut" nu(ele fiierului. Nu(ele fiierului se poate introduce i direct =n caseta NAME. %. .rin utili$area co(en$ii 32E8 =n fereastra de co(and" sau =n pro'ra( Coma$%a USE o(anda 32E per(ite desc#iderea sau acti/area unui fiier D7F =n $ona de lucru curent" sau specificat" =n clau$a IN. De ase(enea8 co(anda poate =ndeplini =n acelai ti(p i alte func!ii cu( ar fi@ desc#iderea fiierelor inde? i sta*ilirea fiierului inde? principal sau atri*uirea unui alias fiierului desc#is etc. USEQQN$ume <a0( %ateM8ZN$ume ta<elM XS\LN$ume +'eVMX]Z WIN N0o$( lucruMX4Z WONLINEZWAD6INZQA.AINZ WNORE\UER!WN$r8ses'u$e %esc9's(MZZ WNODATAZWALIASN$ume al'asMZ WINDESNl'st( /'s8 '$%e?MX] ORDERNe?pNMXN/'s8IDSMX TA.Net'c9et(MWO&N/'s8CDSMZ WASCENDIN.XDESCENDIN.RRR WESCLUSIVEZWSDAREDZWNOUPDATEZ *$c9'%erea ta<elelor .entru =nc#iderea fiierelor asociate unei *a$e de date =n fereastra .roiect Mana'er se selectea$" *a$a de date aferent" i se ac!ionea$" *utonul ose . .rin =nc#iderea *a$ei de date se =nc#id auto(at i fiierele asociate. Dac" dori( s" =nc#ide( nu(ai o parte din fiierele desc#ise asociate unei *a$e de date sau li*ere8 se /a folosi i fereastra Data 2ession. Din aceast" fereastr" se selectea$" fiierul ce ur(ea$" a fi =nc#is i se ac!ionea$" *utonul lose. Opera!ia se repet" pentru fiecare fiier ce ur(ea$" a fi =nc#is. 4nc/iderea unui ta*el se poate face i prin folosirea co(en$ii 32E f" nici un para(etru8 pentru a =nc#ide fiierul din $ona curent"8 sau cu para(etrul 4D Hzona-lucruI8 pentru a =nc#ide fiierul desc#is =n $ona de lucru preci$at" =n clau$a IN. *$c(rcarea ta<elelor cu %ate )' l'starea co$,'$utulu' acestora Cnc"rcarea unui ta*el cu date const" =n ad"u'area =n cadrul fiierului aferent de =nre'istr"ri con!in>nd datele necesare unei aplica!ii. Aceast" opera!ie se poate reali$a i(ediat dup" crearea structurii unui ta*el8 =n (od interacti/8 prin preluarea datelor de la tastatur" sau ulterior =n func!ie de necesit"!i. In 'eneral se prefer" a doua /ariant" de =nc"rcare a ta*elelor din *a$a de date8 deoarece =n acest ca$8 datele se pot =nc"rca fie prin preluare dintr5un alt ta*el fie prin folosirea unui for(ular. De ase(enea =n func!ie de po$i!ia pe care o =nre'istrare o /a ocupa =n fiier8 ad"u'area se poate face la sf>ritul fiierului sau =n interiorul acestuia8 printre =nre'istr"rile e?istente. A%(u2area %e $o' F$re2'str(r' la s/-r)'tul u$u' ta<el pr'$ me$'ul s'stem .rincipalul instru(ent folosit de Aisual Fo?.ro pentru ad"u'area de noi =nre'istr"ri =n cadrul unui ta*el8 =l repre$int" fereastra !roBse. .rin inter(ediul acestei ferestre se pot

%)

de ase(enea modifica sau marcaJdemararea pentru ter'ere anu(ite =nre'istr"ri sau se pot #izualiza =nre'istr"rile unui ta*el. .entru desc#iderea ferestrei 7roGse i ad"u'area de noi =nre'istr"ri se pot folosi ur("toarele /ariante@ Din fereastra 5ro$ect 'anager se selectea$" *a$a de date care con!ine ta*elul sau ta*elele ce ur(ea$" a fi =nc"rcate. 2e selectea$" apoi din sec!iunea ;ables8 ta*elul =n care se fac ad"u'"rile i se ac!ionea$" *utonul 7roGse. a efect pe ecran apare fereastra 7roGse cu con!inutul fiierului .entru a ad"u'a o sin'ur" =nre'istrare /id" la sf>ritul ferestrei se selectea$" din (eniul Ta#!e op!iunea A""end Ne@ Record sau se ac!ionea$" tastele 4RLYN. Datele aferente =nre'istr"rii /ide se introduc =n fiecare c>(p prin tastare8 trecerea la c>(pul ur("tor reali$>ndu5se cu EN4ER. .entru a ad"u'a un nu("r (are de =nre'istr"ri se /a selecta op!iunea A""end /ode din (eniul 9ie@" prin care se adau'" c>te o =nre'istrare /id" dup" ulti(a =nre'istrare din fereastr". Dup" introducerea unei =nre'istr"ri se poate ac!iona tasta cu s"'eata =n ;os D=n (odul 7roGseE sau Enter D=n (odul EditE pentru a ad"u'a o nou" =nre'istrare. Dup" =nc"rcarea acesteia cu date Aisual Fo?.ro /a ad"u'a o nou" =nre'istrare /id" pe ulti(a po$i!ie din cadrul ferestrei i /a plasa cursorul pe =nre'istrarea respecti/". La ter(inarea opera!iei de =nc"rcare8 datele introduse /or fi sal/ate pe disc =n fiierul aferent. Dac" desc#ide( din nou fereastra 7roGse /o( /edea =nre'istr"rile anterior ad"u'ate. A%(u2area %e $o' F$re2'str(r' pr'$ come$0' ale l'm<ajulu' V'sual &o?proG coma$%a APPEND .entru ad"u'area de noi =nre'istr"ri =n cadrul unui ta*el prin inter(ediul li(*a;ului Aisual Fo?.ro se folosesc co(en$ile@ =550D"8 care deter(in" ad"u'area de =nre'istr"ri la sf>ritul fiierului. Coma$%a APPEND E?ecutarea acestei co(en$i deter(in" ad"u'area de noi =nre'istr"ri la sf>ritul ta*elului acti/8 desc#is =n $ona de lucru curent". Dac" nu este desc#is nici un ta*el =n $ona de lucru curent" pe ecran se afiea$" fereastra O.EN pentru a selecta i desc#ide ta*elul =n care se /or face ad"u'"ri. .rin folosirea co(en$ii =n for(atul@ A..END adic" f"r" op!iunea 7LANS se adau'" =nre'istr"ri la sf>ritul ta*elului8 prin prelucrarea datelor de la tastatur". a ur(are pe ecran se afiea$" fereastra de editare =550D" care con!ine c>(purile ta*elului acti/ ordonate pe /ertical". Aalorile aferente fiec"rui c>(p se tastea$" =n dreptul c>(pului respecti/. Dup" introducerea datelor aferente unei =nre'istr"ri8 pe ecran se afiea$" (ac#eta de preluare date pentru ur("torul articol. V'0ual'0area co$,'$utulu' u$u' ta<elG come$0'le LIST )' DISPLA! La ni/el de pro'ra( listarea con!inutului unui ta*el se poate reali$a cu a;utorul co(en$ilor DI2.LAN i LI24. ele dou" co(en$i per(it afiarea con!inutului unui ta*el al *a$ei d date pe ecran8 la i(pri(ant" sau =ntr5un fiier pe disc. 6o%'/'carea co$,'$utulu' u$u' ta<el

%+

Modificarea /alorii unor c>(puri din cadrul =nre'istr"rilor unui fiier al *a$ei de date se poate reali$a prin (eniul siste( sau cu a;utorul co(en$ilor EDI48 RANGE8 7ROX2E8 RE.LA E8 7LANS8 3.DA4E. 6o%'/'carea co$,'$utulu' u$u' ta<el pr'$ me$'ul s'stem Cn (a;oritatea ca$urilor se prefer" (odul de lucru 7roGse8 prin inter(ediul ferestrei 7roGse8 dat fiind (ultitudinea de facilit"!i oferite de acest instru(ent al (ediului Aisual Fo?.ro. Interfa!a prietenoas" a ferestrei de calcul ta*elar8 per(ite na/i'area rapid" prin ta*el =n ti(p ce siste(ul Aisual Fo?.ro asi'ur" o /ite$" superioar" i caracteristici perfor(ante de c"utare. de aceea8 ea repre$int" (odul ideal pentru afiarea i (odificarea =nre'istr"rilor unui ta*el. Dup" desc#iderea unei ferestre 7roGse =n /ederea (odific"rii unuia sau (ai (ultor c>(puri dintr5o =nre'istrare8 tre*uie reali$at" po$i!ionarea pe =nre'istrarea respecti/". In ca$ul care =n fereastra 7roGse sunt afiate (ai pu!ine =nre'istr"ri8 deplasarea la o anu(it" =nre'istrare se poate reali$a cu a;utorul tastelor cu s"'e!i sau (ouse5ului. 6o%'/'carea co$,'$utulu' u$u' ta<el pr'$ come$0' ale l'm<ajulu' V'sual &o?Pro Coma$%a BROTSE E?ecu!ia acestei co(en$i per(ite afiarea =nre'istr"rilor din fiierul curent8 su* for(" de ta*el =ntr5o fereastr" de editare. Cnre'istr"rile astfel afiate pot fi editate D(odificateE sau pot fi (arcate sau de(arcate pentru ter'ere. De ase(enea8 dup" afiarea =nre'istr"rilor =n fereastra de editare se pot ad"u'a =nre'istr"ri /ide ale c"ror c>(puri se /or edita i(ediat sau ulterior. Inre'istr"rile sunt afiate pe ecran =n ordinea lor natural" sau =ntr5o ordine alfa*etic" definit" de fiierul inde? acti/ asociat fiierului de date. Coma$%a REPLACE E?ecu!ia acestei co(en$i per(ite =nlocuirea con!inutului unuia sau (ai (ultor c>(puri din cadrul =nre'istr"rilor fiierului acti/8 cu anu(ite /alori. E?ecu!ia acestei co(en$i per(ite =nlocuirea con!inutului unuia sau (ai (ultor c>(puri din cadrul =nre'istr"rilor fiierului acti/8 cu anu(ite /alori. 2pre deose*ire de co(en$ile precedente8 e?ecu!ia acestei co(en$i nu deter(in" desc#iderea pe ecran a unei ferestre de editare =n care utili$atorul introduce noile /alori ale c>(purilor8 ci reali$ea$" actuali$area pe *a$a datelor incluse =n co(and". ter2erea F$re2'str(r'lor %'$ ca%rul u$u' ta<el pr'$ me$'ul s'stem Oter'erea unor =nre'istr"ri dintr5un ta*el al *a$ei de date se reali$ea$" =n dou" etape i anu(e@ 1E ter'erea lo'ic"B 2E ter'erea fi$ic". ter2erea F$re2'str(r'lor %'$ ca%rul u$u' ta<el pr'$ come$0' ale l'm<ajulu' V'sual &o?Pro 58 ter2erea lo2'c( Inre'istr"rile din cadrul unui ta*el pot fi (arcate pentru ter'ere folosind co(anda DELE4E. DELETEWN%ome$'uMZW&ORNe?pLMZ WTDILENe?pIM WNOOPTI6IBEZ

%,

ele trei op!iuniVdo(eniuW8 FORVe?pLW i XRILE Ve?pLW per(it selectarea =nre'istr"rilor ce ur(ea$" a fi (arcate pentru ter'ere. Do(eniul i(plicit al co(en$ii este =nre'istrarea curent". Accesul la =nre'istr"rile (arcate pentru ter'ere se pot controla cu co(anda 2E4 DELE4IND ON]OFF astfel@ aE la folosirea op!iunii ON8 articolele (arcate pentru ter'ere sunt i'norate de co(en$ile FO[B *E la folosirea op!iunii O&&8 co(en$ile FO[ pot a/ea acces la toate =nre'istr"rile8 c#iar dac" o parte dintre acestea sunt (arcate pentru ter'ereB cE op!iunea i(plicit" este OFF. 38 ter2erea /'0'c( Aceast" opera!ie const" =n eli(inarea din fiierul curent a tuturor =nre'istr"rilor (arcate pentru ter'ere i se reali$ea$" cu a;utorul co(en$ii PACY cu sinta?a@ PACYW6E6OZWDB&Z Dac" nu se folosete nici una din clau$e8 co(anda .A S se refer" at>t la fiierul .D7F c>t i la fiierul (e(o asociat. Accesul la F$re2'str(r'le u$u' /')'er Accesul la o s'$2ur( F$re2'strare G I$%'catorul %e F$re2'str(r' Din punct de /edere fi$ic8 fiierele din *a$a de date sunt de tip sec/en!ial8 =nre'istr"rile acestora fiind identificate printr5un nu("r de sec/en!". Acest nu("r se atri*uie =nre'istr"rilor din cadrul unui fiier =n ordine cresc"toare =ncep>nd cu 1. .rin opera!iile efectuate asupra unor =nre'istr"ri8 acest nu("r nu se (odific" D/aloarea (a?i("E. Cn sc#i(* acesta se poate (odifica prin inserarea de noi =nre'istr"ri sau ter'erea unor =nre'istr"ri din *a$a de date. .entru a per(ite accesul la o anu(it" =nre'istrare8 dintr5un fiier al *a$ei de date8 Fo?.ro folosete o loca!ie de (e(orie din $ona de lucru =n care (e(orea$" nu("rul de sec/en!" al =nre'istr"rii curente. Aceast" loca!ie poart" denu(irea de '$%'cator %e F$re2'str(r'. El poate fi considerat ca o /aria*il" de (e(orie care e?ist" c>t ti(p fiierul este desc#is. Modificarea indicatorului de =nre'istr"ri =n /ederea preci$"rii =nre'istr"rii curente se reali$ea$" prin (eniul siste( sau prin co(en$i ale li(*a;ului Aisual Fo?.ro8 folosind doua (etode@ 1. selectarea poziiei unei nregistrri n fiier8 (etod" prin care nu("rul =nre'istr"rii curente se sta*ilete direct prin e/aluarea unor e?presiiB 2. specificarea unor condiii logice8 (etod" prin care nu("rul =nre'istr"rii curente se sta*ilete ca ur(are a unui proces de c"utare. 6o%'/'carea '$%'catorulu' %e F$re2'str(r' pr'$ me$'ul s'stem .entru a a/ea acces la o anu(it" =nre'istrare din cadrul unui ta*el8 se /a selecta op!iunea .o to Recor% din (eniul Ta<le. a efect pe ecran se /a afia un su*(eniu care con!ine ur("toarele op!iuni@ Top8 Bottom8 Ne?t8 Pre+'ous8 Recor% O8 Locate O astfel@

%-

6o%'/'carea '$%'catorulu' %e F$re2'str(r' pr'$ come$0' ale l'm<ajulu' V'sual &o?Pro .entru (odificarea indicatorului de =nre'istr"ri din cadrul li(*a;ului Aisual Fo?.ro se folosesc cele dou" (etode8 ca i =n ca$ul (eniului siste( i anu(e@ 5 2electarea po$i!iei =nre'istr"rii =n fiier8 folosind =n acest scop co(en$ile .O TO i SYIPB 5 2pecificarea unor condi!ii lo'ice la ni/elul unor co(en$i8 (etod" prin care indicatorul de =nre'istr"ri se (odific" ca ur(are a unui proces de cutare. Cn (o(entul =n care se '"sete pri(a =nre'istrare care satisface condi!ia8 aceasta de/ine =nre'istrare curent". Cn acest ca$ se folosesc co(en$ile LO A4E8 FIND i 2EES. 5recizarea nregistrrii curente prin specificarea poziiei acesteia) comenzile O;O i SK45 1. Coma$%a .OTO E?ecu!ia acestei co(en$i reali$ea$" po$i!ionarea indicatorului de =nre'istr"ri pe =nre'istrarea cu nu("rul de sec/en!" re$ultat din e/aluarea e?presiei din cadrul co(en$ii. .rin e?ecu!ia co(en$ii GO4O =n pri(ul for(at8 are loc po$i!ionarea indicatorului de =nre'istr"ri pe =nre'istrarea cu nu("rul de sec/en!" re$ultat din e/aluarea e?presiei specificat" prin Ve?pN1W8 =n fiierul desc#is =n $ona de lucru curent" sau specificat" prin clau$a IN. Cn ca$ul for(atului 28 are loc po$i!ionarea indicatorului de =nre'istr"ri la e?tre(ele fiierului8 adic" pe pri(a =nre'istrare Dop!iunea 4O.E sau pe ulti(a =nre'istrare Dop!iunea 7O44OME. 2. Coma$%a SYIP 3tili$area acestei co(en$i deter(in" (odificarea indicatorului de =nre'istr"ri prin efectuarea unui salt peste anu(ite =nre'istr"ri pornind de la =nre'istrarea curent". 1utarea nregistrrilor n tabelele bazei de date 1. C(utarea sec+e$,'al(G come$0'le LOCATE )' CONTINUE .entru c"utarea =ntr5un fiier sec/en!ial a unor =nre'istr"ri care satisfac anu(ite condi!ii se folosesc co(en$ile LOCATE i CONTINUE. o(anda LO A4E per(ite c"utarea =n fiierul curent a =nre'istr"rii care satisface condi!ia specificat" =n co(and". 2. C(utarea %'rect(G come$0'le &IND )' SEEY Aceste co(en$i se folosesc dac" fiierul la care se refer" este inde?at i per(it c"utarea direct" i po$i!ionarea indicatorului de =nre'istr"ri pe pri(a =nre'istrare la care /aloarea c#eii de inde?are este e'al" cu irul de caractere sau /aloarea e?presiei din cele dou" co(en$i. 6o%al't(,' %e /olos're a celor dou" co(en$i@ 1E co(anda 2EES sau FIND ac!ionea$" doar asupra fiierului inde?at8 consider>nd para(etrii co(en$ii ca o /aloare a c#eii de inde?areB 2E cele dou" co(en$i '"sesc doar pri(ul articol care satisface criteriul de c"utareB %E opera,'a %e c(utare se desf"oar" astfel@ a.=n ca$ul c#eii de tip ir de caractere este suficient specificarea doar a pri(elor caractere din ir8 iar co(anda FIND sau 2EES '"sete =nre'istrarea a c"rei c#eie de inde?are =ncepe cu irul specificatB

%0

*.=n ca$ul c"ut"rii dup" /aloarea unei c#ei nu(erice8 se '"sete =nre'istrarea a c"rei c#eie de inde?are este e'al" cu /aloarea specificat" =n cele dou" co(en$iB c.la c"utarea dup" con!inutul unei /aria*ile de (e(orie8 nu(ele acesteia se specific" =n co(anda FIND dup" procedeul (acrosu*stitu!iei8 adic" precedat de caracterul L Da(persandE. Dac" /aloarea /aria*ilei =ncepe cu spa!ii se introduce =ntre '#ili(ele. Or%o$area F$re2'str(r'lor %'$ ca%rul u$u' ta<el .relucrarea datelor financiar5conta*ile presupune de cele (ai (ulte ori ordonarea acestora dup" anu(ite criterii. 3n fiier al *a$ei de date este ordonat dup" un anu(it criteriu dac" fiecare =nre'istrare a acestuia respect" criteriul dat =n raport cu =nre'istr"rile anterioare i posterioare. Cn Fo?.ro se pot folosi dou" (etode de ordonare a datelor unui fiier al *a$ei de date@ 1. or%o$area propr'u 0's( sau sortarea reali$at" prin sc#i(*area =ntre ele a =nre'istr"rilor8 dup" un anu(it al'orit( de sortare =n func!ie de c#eia de sortare definit" de utili$ator. Cn acest ca$ se o*!ine un nou fiier8 care con!ine aceleai =nre'istr"ri cu cele din fiierul surs"8 dar ordonate dup" un anu(it criteriu. 2. '$%e?area8 aceasta =nse(n>nd de ase(enea crearea unui nou fiier care con!ine infor(a!ii cu pri/ire la ordinea =nre'istr"rilor din fiierul surs"8 nu(it fiier inde?. 2pre deose*ire de pri(a (etod" i =n acest ca$ se o*!ine un nou fiier8 dar acesta nu con!ine =nre'istr"rile de date din fiierul surs" ci (e(orea$" nu(ai ordinea acestora. 4ortarea *i$iere!or din #a%a de date La sortarea unui fiier al *a$ei de date8 siste(ul Fo?.ro creea$" un nou fiier cu un nu(e diferit de cel al fiierului surs" care con!ine articolele din fiierul surs" ordonate dup" un anu(it criteriu. 2tructura sa este aceeai cu cea a fiierului ini!ial. Aceast" opera!ie se reali$ea$" cu a;utorul co(en$ii 2OR4 cu ur("toarea sinta?"@ SORT TO VfiierW ON Vc>(p1W J]A ^ ]DK J]CK J8 Vc>(p2W J]A ^ ]DK J]CK \K JASCENDIN. ^ DESCENDIN.K JVdo(eniuWK J&OR Ve?pL1WK JTDILE Ve?pL2WK J&IELDS Vlist"5c>(puriW ^ J&IELDS LIYE Va*lon1W ^&IELDS ESCEPT Va*lon2WK JNOOPTI6IBEK o(anda8 sortea$" articolele fiierului curent8 cre>nd un nou fiier8 =n care sunt depuse =nre'istr"rile selectate din fiierul curent8 =n ordinea specificat" prin co(and". Inde-area .nre'istr,ri!or din cadru! unui ta#!e; Lo'ica o"eraiei de inde-are ea de a doua (etod" de ordonare a datelor unui fiier o repre$int" inde?area acestuia8 (etod" prin care se creea$" un fiier inde?8 asociat fiierului de date acti/8 =n care se (e(orea$" c#eia de inde?are i ordinea =nre'istr"rilor din fiierul acti/. a ur(are =n fiierul inde? pentru fiecare =nre'istrare de date din fiierul acti/ se (e(orea$" un inde? for(at din perec#ea de infor(a!ii@ c#eia de inde?are i nu("rul de sec/en!" a =nre'istr"rii din fiierul de date. Cn acest fiier /alorile c#eii de inde?are apar =n ordine

&1

cresc"toare8 iar fiierul de date acti/ nu este (odificat. Cn acest fel accesul la o anu(it" =nre'istrare se /a face prin inter(ediul fiierului inde? asociat8 ordinea fi$ic" a =nre'istr"rilor din fiierul acti/ nefiind (odificat". T'pur' %e /')'ere '$%e? Cn Aisual Fo?.ro pot fi create trei tipuri de fiiere inde? i anu(e@ fiiere index simple sau independente cu e?tensia .ID[B fiiere index compuse structurale cu e?tensia . D[B fiiere index compuse nestructurale cu e?tensia . D[. 1. &')'erele '$%e? s'mple sau independente con!in c>te o sin'ur" c#eie de inde?are de tip 3ni_ue Dc#eie unic"E. Ele se nu(esc independente deoarece nu(ele lor nu are nici o le'"tur" cu ta*ela la care sunt asociate. Aceste fiiere se pot crea =n Aisual Fo?.ro nu(ai cu co(anda INDES. 2. &')'ere '$%e? compuse structuraleB con!in (ai (ulte c#ei de inde?are8 fiecare c#eie a/>nd asociat" o etic/et sau un tag. .e *a$a indecilor defini!i =n fereastra Ta<le Des'2$er8 Aisual Fo?.ro creea$" =ntotdeauna un fiier inde? co(pus structural cu etic#etele definite =n caseta 4a*le Desi'ner.Dac" dori( s" cre"( un fiier inde? si(plu sau un fiier co(pus nestructural /a tre*ui s" folosi( co(en$i ale li(*a;ului Aisual Fo?.ro Dco(anda INDESE. %. &')'er '$%e? compus $estructuralB con!in de ase(enea (ai (ulte c#ei de inde?are8 fiecare c#eie a/>nd asociat" o etic#et" sau un ta'. 2pre deose*ire de fiierele inde? structurale8 aceste fiiere au nu(e diferit de cel al ta*elei la care sunt asociate. a ur(are ele tre*uie desc#ise prin co(en$i e?plicite. Crearea /')'erelor '$%e? Inde?area repre$int" (odalitatea cea (ai *un" de a ordona datele unui ta*el. Cn Aisual Fo?.ro se pot crea ur("toarele cate'orii de indeci@ 1. Normal' HRe2ularIB indic" faptul c" siste(ul Aisual Fo?.ro (e(orea$" =n fiierul inde? /aloarea aferent" e?presiei de inde?are Dc#eia de inde?areE pentru fiecare =nre'istrare din ta*ela de date8 c#iar dac" =n ta*el" e?ist" (ai (ulte =nre'istr"ri cu aceeai /aloare a c#eii de inde?are. 2. U$'c' HU$'^ueIB per(it (e(orarea =n fiierul inde? a unei /alori unice a c#eii de inde?are. Astfel8 dac" (ai (ulte =nre'istr"ri din ta*ela surs" au aceiai /aloare a c#eii de inde?are se (e(orea$" nu(ai c#eia de inde?are pentru pri(a =nre'istrare de acest 'en. elelalte =nre'istr"ri cu aceiai /aloare a c#eii de inde?are nu /or putea fi accesate prin inter(ediul fiierului inde?8 ele fiind ascunse utili$atorului. Acest tip de inde? asi'ur" co(pati*ilitatea cu /ersiunea Fo?.ro 2.+ su* XindoGs. Ca$%'%at HCa$%'%ateIB este ase("n"tor cu inde?ul unic8 dar nu accept" nici =n ta*elul surs" =nre'istr"ri cu aceeai /aloare a c#eii de inde?are. Cn ca$ul indecilor unici8 puteau e?ista =n ta*ela surs" i =nre'istr"ri cu aceeai /aloare a c#eii de inde?are dar se prelua =n fiierul inde? nu(ai /aloarea c#eii de inde?are aferent" pri(ei =nre'istr"ri din aceast" cate'orie8 celelalte =nre'istr"ri nefiind asociate fiierului inde?. Pr'mar' HPr'mar[IB con!in pentru fiecare =nre'istrare din ta*elul surs" o /aloare unic" a c#eii de inde?are. Acest tip de inde? este deci la fel ca si cel candidat i se utili$ea$" =n cadrul ta*elei p"rinte pentru a asi'ura inte'ritatea referen!ial" =ntr5o rela!ie per(anent". .entru o ta*el" se accept" nu(ai un sin'ur inde? pri(ar8 iar ta*ela respecti/" tre*uie s" fie inclus" =n *a$a de date.

&1

1rearea indecilor prin meniul sistem 3n inde? aferent unei ta*ele apare =n fereastra ta<le Des'2$er8 =n pa'ina I$%e?es8 su* for(a unei =nre'istr"ri care con!ine@ or%'$ea %e '$%e?are Dcresc"toare sau descresc"toareE8 $umele et'c9ete' din fiierul co(pus care se creea$" pe *a$a inde?ului8 t'pul '$%e?ulu'8 c9e'a %e '$%e?are i un /'ltru pentru =nre'istr"rile care /or fi asociate inde?ului creat. .entru fiecare inde? aferent unui ta*el /o( crea c>te o =nre'istrare de acest 'en8 repre$ent>nd un r-$% =n pa'ina I$%e?es. De fiecare dat" c>nd construi( un inde? se creea$" de fapt un fiier care p"strea$" pointeri la =nre'istr"rile din fiierul .d*f. Indecii aferen!i unei ta*ele pot fi crea!i fie =n (o(entul definirii structurii unui ta*el8 sau ulterior. 1rearea fiierelor index prin comenzi ale limba$ului 3isual ,ox5ro .entru crearea unui fiier inde?8 prin co(en$i ale li(*a;ului Aisual Fo?.ro se folosete co(anda INDES. Coma$%a INDES .rin e?ecu!ia acestei co(en$i se creea$" un fiier inde? si(plu sau un fiier inde? co(pus structural sau nestructural. 2inta?a acestei co(en$i este ur("toarea@
REBU6AT

O *a$" de date =n Aisual Fo?.ro are ataat un fiier special cu e?tensia .D7 DData7ase ontainerE =n care sunt (e(orate printre altele structura ta*elelor co(ponente8 rela!iile per(anente dintre ta*elele *a$ei de date8 caracteristici supli(entare ale ta*elelor din *a$a de date8 caracteristici ale *a$ei de date =n ansa(*lul s"u i proceduri ce ur(ea$" a fi e?ecutate la apari!ia unor e/eni(ente. onstruirea unei *a$e de date =n Aisual Fo?.ro se reali$ea$" =n etapele@ crearea bazei de date, n care se #or memora informaii pri#ind tabelele i baza de date n ansamblul su) ncorporarea n noua baz de date a tabelelor simple anterior create i construirea noilor tabele ce #or fi ncorporate direct n baza de date) specificarea pentru tabelele simple incluse n baze de date a unor caracteristici ce nu se puteau declara n momentul construirii lor, ca tabele izolate) stabilirea legturilor permanente ntre tabelele bazei de date) precizarea unor caracteristici ale noii baze de date) includerea n baza de date a unor #ederi, conexiuni cu date externe etc. Crearea /')'erulu' <a0e' %e %ate de poate reali$a =n unul din ur("toarele (oduri@ prin folosirea constructorului de *a$e de date DData7ase Desi'nerE apelat din (eniul siste(B prin folosirea ferestrei .RO<E 4 MANAGERB prin folosirea co(en$ii REA4E DA4A7A2E. .rin crearea unei *a$e de date cu a;utorul co(en$ii REA4E DA4A7A2E8 aceasta nu de/ine auto(at parte co(ponent" a unui proiect8 c#iar dac" pe ecran este desc#is" fereastra .ro;ect Mana'er. A/>nd =n /edere facilit"!ile oferite de instru(entul .ro;ect Mana'er pri/ind or'ani$area8 /i$uali$area i (anipularea o*iectelor sale prin inter(ediul interfe!ei
Dfereastra .ro;ect Mana'erE se reco(and" ca *a$ele de date create independent s" fie ad"u'ate =n cadrul unui proiect e?istent sau nou creat. Cn acest scop8 dup" lansarea Gestionarului de proiecte i afiarea pe ecran a ferestrei

&2

.ro;ect Mana'er se selectea$" sec!iunea DataBase i apoi se e?ecut" un clic pe *utonul Add\ . a ur(are se /a afia pe ecran fereastra O"en( din care se selectea$" *a$a de date ce ur(ea$" a fi inclus" =n proiect. O *a$" de date poate fi retras" dintr5un proiect i inclus" =n altul sau tears" fi$ic de pe disc8 dac" nu (ai este necesar" =n cadrul siste(ului. .entru a eli(ina o *a$" de date dintr5un proiect8 din fereastra .ro;ect Mana'er se acti/ea$" *utonul Re(o/e iar din caseta care se afiea$" dup" acti/area acestui *uton8 se ale'e op!iunea Re(o/e. Dac" dori( ca *a$a de date s" fie tears" fi$ic de pe #ard5disc se /a ale'e op!iunea Delete.

TE6E DE CONTROL

B'<l'o2ra/'e

.entru %esc9'%erea u$e'a sau ma' multor <a0e %e %ate8 din fereastra .ro;ect Mana'er se selectea$" *a$a de date ce ur(ea$" a fi desc#is" i se e?ecut" un clic pe *utonul Ope$ sau 6o%'/[. Opera!ia se repet" apoi pentru fiecare *a$" de date ce ur(ea$" a fi desc#is". De ase(enea8 pentru desc#iderea unei *a$e de date din fereastra .ro;ect Mana'er8 sau care nu este inclus" =ntr5un proiect se poate folosi co(anda O.EN .entru F$c9'%erea u$e' <a0e %e %ate8 a/>nd pe ecran afiat" fereastra .ro;ect Mana'er8 se /a selecta (ai =nt>i *a$a de date ce ur(ea$" a fi =nc#is" i apoi se acti/ea$" *utonul Close. Opera!ia se repet" pentru fiecare *a$" de date ce ur(ea$" a fi =nc#is". De ase(enea pentru =nc#iderea *a$ei de date curente i a ta*elelor aferente se poate folosi co(anda CLOSE DATABASE. 2e /or efectua lucr"ri practice de creare a unei *a$e de date folosind instru(entele de lucru pre$entate anteriorB 2e /or efectua opera!ii de 'estiune a unei *a$e de date B 2e /or crea (ai (ulte ta*ele care se includ =n *a$a de date anterior creat" B 2e /or defini rela!ii per(anente =ntre ta*elele create i se /i$uali$ea$" sc#e(a *a$ei de date B 2e =ncarc" ta*elele create cu date i se /i$uali$ea$" con!inutul acestora B 2e actuali$ea$" ta*elele create prin (odificare i ter'ere de =nre'istr"ri B 2e inde?ea$" ta*elele create. J2itarP2111K

E-e&"!e de teste 'ri!,5 1. are este do(eniul i(plicit de ac!iune al co(en$ii RE.LA E@ aE articolul curentB *E *a$a de date curent"B cE ta*ela curent". R"spuns@ a . 2. are este efectul e?ecu!iei co(en$ii DELE4E =n sinta?a c"reia nu apare niciun para(etru` aE ter'e fi$ic articolul curentB *E (arc#ea$" pentru ter'ere articolul curentB cE ter'e ta*ela curent"B dE nu are niciun efect. R"spuns@ * .

&%

6ODULUL NU6CRUL : CREAREA I .ESTIUNEA BABELOR DE DATE


CONCEPTE DE BABA rearea *a$ei de date Desc#iderea i =nc#iderea *a$elor de date Ad"u'area ta*elelor =n *a$a de date Eli(inarea unei ta*ele din *a$a de date Relationarea ta*elelor din *a$a de date Cnuirea (odului de creare i 'estionare a *a$ei de date 2tudiul aspectelor specifice ta*elelor din *a$ele de date 2tudiul rela!ion"rilor dintre ta*ele Reco(and"( parcur'erea etapelor de creare a unei *a$e de date folosind@ instru(entul DA4A7A2E DE2IGNERB co(anda REA4E DA4A 7A2E. 2e /or studia =n continuare opera!iile de 'estiune cu *a$e de date. 2e /or studia rela!iile dintre ta*ele Cn!ele'erea i =nsuirea deprinderilor practice de creare i 'estionare a *a$elor de date =n Aisual Fo?.roB Cnsuirea 'estiunii ta*elelor i a rela!iilor dintre ele =n cadrul unei *a$e de date.

OBIECTIVE RECO6ANDCRI PRIVIND STUDIUL

REBULTATE ATEPTATE

UNITATEA 1. CREAREA 7I GE4TIUNEA BAZELOR DE DATE =N 9I4UAL FO6PRO OBIECTIVE crearea *a$elor de date 'estiunea *a$elor de dateB desc#idere8 =nc#idere8 ad"u'are sau eli(inare de ta*ele din *a$a de dateB rela!ionarea ta*elelor din *a$a de dateB constructorul *a$ei de dateB rela!ii persistente8 rela!ii te(porareB inte'ritate referen!ial"B

CUVINTE CDEIE

Caracter'st'c' 2e$erale O *a$" de date =n Aisual Fo?.ro are ataat un fiier special cu e?tensia .D7 DData7ase ontainerE =n care sunt (e(orate printre altele structura ta*elelor co(ponente8 rela!iile per(anente dintre ta*elele *a$ei de date8 caracteristici supli(entare ale ta*elelor din *a$a de date8 caracteristici ale *a$ei de date =n ansa(*lul s"u i proceduri ce ur(ea$" a fi e?ecutate la apari!ia unor e/eni(ente. Aisual Fo?.ro =ncearc" s" corecte$e utili$area i(proprie a celor doi ter(eni8 prin introducerea unui o*iect distinct nu(it container de baze de date. onstruirea unei *a$e de date =n Aisual Fo?.ro se reali$ea$" =n ur("toarele etape@ 1. crearea bazei de date, n care se #or memora informaii pri#ind tabelele i baza de date n ansamblul su)

&&

2. ncorporarea n noua baz de date a tabelelor simple anterior create i construirea noilor tabele ce #or fi ncorporate direct n baza de date) .. specificarea pentru tabelele simple incluse n baze de date a unor caracteristici ce nu se puteau declara n momentul construirii lor, ca tabele izolate) ?. stabilirea legturilor permanente ntre tabelele bazei de date) L. precizarea unor caracteristici ale noii baze de date) M. includerea n baza de date a unor #ederi, conexiuni cu date externe etc. Crearea <a0e' %e %ate rearea fiierului *a$ei de date de poate reali$a =n unul din ur("toarele (oduri@ aE prin folosirea constructorului de *a$e de date HDataBase Des'2$erI apelat din (eniul siste(G *E prin folosirea ferestrei PRO#ECT 6ANA.ERG cE prin folosirea co(en$ii CREATE8 Crearea <a0e' %e %ate pr'$ /olos'rea /erestre' PRO#ECT 6ANA.ER .entru a desc#ide fereastra .RO<E 4 MANAGER e?ist" dou" posi*ilit"!i@ 1. dac" e?ist" un proiect anterior creat se selectea$" nu(ele proiectului din su*(eniul FILE8 fapt care deter(in" afiarea pe ecran a ferestrei PRO#ECT 6ANA.ER aferent" proiectului respecti/. In acest ca$ noua *a$" de date /a fi creat" =n cadrul proiectului respecti/ 2. dac" nu e?ist" =nc" nici un proiect definit se selectea$" op!iunea PRO#ECT din fereastra NeV. a ur(are pe ecran apare fereastra CREATE prin care se solicit" nu(ele noului proiect i directorul =n care se (e(orea$". Dup" introducerea acestor infor(a!ii prin ac!ionarea *utonului 2AAE se sal/ea$" noul proiect i se desc#ide pe ecran fereastra .RO<E 4 MANAGER aferent" noului proiect. Crearea <a0e' %e %ate pr'$ come$0' .entru crearea *a$ei de date prin co(en$i se folosete co(anda REA4E cu sinta?a@ CREATE DATABASE W N$ume <a0a %e %ateMX] Z La e?ecu!ia acestei co(en$i are loc crearea unei *a$e de date i desc#iderea acesteia =n $ona curent". A%(u2area sau el'm'$area u$e' <a0e %e %ate laL%'$ pro'ect .rin crearea unei *a$e de date cu a;utorul co(en$ii REA4E DA4A7A2E8 aceasta nu de/ine auto(at parte co(ponent" a unui proiect8 c#iar dac" pe ecran este desc#is" fereastra .ro;ect Mana'er. A/>nd =n /edere facilit"!ile oferite de instru(entul .ro;ect Mana'er pri/ind or'ani$area8 /i$uali$area i (anipularea o*iectelor sale prin inter(ediul interfe!ei Dfereastra .ro;ect Mana'erE se reco(and" ca *a$ele de date create independent s" fie ad"u'ate =n cadrul unui proiect e?istent sau nou creat. In acest scop8 dup" lansarea Gestionarului de proiecte i afiarea pe ecran a ferestrei .ro;ect Mana'er se selectea$" sec!iunea DataBase i apoi se e?ecut" un clic pe *utonul Add\. a

&)

ur(are se /a afia pe ecran fereastra O"en( din care se selectea$" *a$a de date ce ur(ea$" a fi inclus" =n proiect. Desc9'%erea <a0elor %e %ate 7a$ele de date din cadrul unui proiect8 pot fi desc#ise si(ultan pe ecran folosind *utonul Open sau prin referin!e la ta*elul unei *a$e de date =nc#is"8 prin folosirea co(en$ii 32E cu si(*olul UaU. .rin desc#iderea unei noi *a$e se date8 nu are loc =nc#iderea *a$ei de date anterior desc#ise. Acestea r"(>n =n continuare desc#ise8 iar ulti(a *a$" de date desc#is" de/ine *a$a de date curent"8 nu(ele ei fiind afiat =n caseta de pe *ara de instru(ente standard a ferestrei Aisual Fo?.ro. Dac" *a$a de date nu este inclus" =n cadrul unui proiect pentru desc#iderea acesteia =n (od interacti/ se poate folosi fereastra Data Sess'o$ afiat" pe ecran ca ur(are a select"rii op!iunii cu acelai nu(e din (eniul XindoG. De ase(enea8 pentru desc#iderea unei *a$e de date din fereastra .ro;ect Mana'er8 sau care nu este inclus" =ntr5un proiect se poate folosi co(anda O.EN =n for(atul@ OPEN DATABASE WN$ume <a0a %ateMX]Z WESCLUSIVEZWSDAREDZ WNOUPDATEZ WVALIDATEZ *$c9'%erea u$e' <a0e %e %ate .entru =nc#iderea unei *a$e de date8 a/>nd pe ecran afiat" fereastra .ro;ect Mana'er8 se /a selecta (ai =nt>i *a$a de date ce ur(ea$" a fi =nc#is" i apoi se acti/ea$" *utonul Close. Opera!ia se repet" pentru fiecare *a$" de date ce ur(ea$" a fi =nc#is". De ase(enea pentru =nc#iderea *a$ei de date curente i a ta*elelor aferente se poate folosi co(anda CLOSE DATABASE. A%(u2area ta<elelor F$ <a0a %e %ate .rin ad"u'area unei ta*ele =n *a$a de date se creea$" o le'"tur" =ntre fiierul ta*elei i containerul *a$ei de date. Infor(a!ia de le'"tur" despre ta*el" stocat" =n fiierul *a$ei de date este o le'"tur" =nainte DbE8 iar infor(a!ia de le'"tur" despre *a$a de date =n care se include o ta*el"8 stocat" =n fiierul ta*elei8 este o le'"tur" =napoi DcE Orice ta*el" din Aisual Fo?.ro poate e?ista =n una din ur("toarele st"ri@ 5 ta<el( l'<er(G ta<el( asoc'at(G 4a*elele asociate unei *a$e de date au o serie de propriet"!i specifice8 care nu se =nt>lnesc =n cadrul ta*elelor li*ere sau e?terne8 cu( ar fi@ rela!ii persistente =ntre ta*ele8 re'uli de /alidare la ni/el de c>(p i =nre'istrare8 etc. Ele pot fi asociate unei *a$e de date prin crearea lor direct n cadrul bazei de date existente sau prin adugarea acestora dup" ce au fost create ca i ta*ele li*ere. Rela,'o$area ta<elelor %'$ <a0a %e %ate

&+

Cn Aisual Fo?.ro rela!iile pe care le cre"( =ntre ta*ele cu a;utorul onstructorului *a$ei de date DData*ase Desi'nerE se nu(esc relaii persistente. In afara acestora se pot defini i relaii temporare sau dina(ice prin co(en$i introduse =n pro'ra(ele de prelucrare. a ur(are rela!iile te(porare sunt disponi*ile nu(ai =n (o(entul rul"rii pro'ra(ului =n care au fost definite dup" care ele nu (ai e?ist". 4a*elele =ntre care se creea$" o rela!ie se nu(esc@ tabel principal sau printe i respecti/ tabel secundar sau fiu. Cntre cele dou" ta*ele se pot defini ur("toarele tipuri de rela!ii@ 1. rela!ie una5la5una D151EB 2. rela!i una5la5(ai5(ulte D15nEB %. rela!ie (ai5(ulte la5una Dn51EB &. rela!ie (ai5(ulte5la5(ai5(ulte D(5nE. Cn Aisual Fo?.ro sunt i(ple(entate pri(ele trei tipuri de rela!ii. Deoarece (odelul rela!ional nu poate accepta direct o rela!ie dMai (ulte la (ai (ulted acest tip de rela!ie se poate =nlocui cu 2 rela!ii @ d(ai (ulte la unad i duna la (ai (ulted prin inter(ediul unei ta*ele supli(entare nu(it" i ta*el" de ;onc!iune. .entru a reali$a unul din tipurile de rela!ii a(intite8 =ntre dou" ta*ele8 acestea tre*uie s" fie inde?ate dup" con!inutul aceluiai c>(p. >(pul din ta*ela p"rinte dup" care se face inde?area acesteia se nu(ete c+eie "ri&ar, >"ri&arA BeA?" iar cel din ta*ela fiu8 dup" care se face inde?area8 se nu(ete c+eie e-tern, >*orei'n BeA?. #eia pri(ar" se setea$" la inde?area ta*elei ca i index primar sau candidat %primar+ index or candidate indexE8 iar c#eia e?tern" se poate seta ca i inde? pri(ar8 candidat8 unic sau nor(al. Rela,'' perma$e$te Dup" sta*ilirea c>(purilor c#eie din cele dou" ta*ele i a indecilor aferen!i se poate defini o rela!ie per(anent" =ntre cele dou" ta*ele. In acest scop se /a afia pe ecran fereastra constructorului de *a$e de date D"atabase "esigner( =n care apar ta*elele ce co(pun *a$a de date. In ta*ela p"rinte se selectea$" inde?ul pri(ar i se face drag-drop la inde?ul din ta*ela fiu8 a/>nd ca efect crearea rela!iei =ntre cele dou" ta*ele. Faptul c" rela!ia =ntre cele dou" ta*ele a fost creat" se indic" prin afiarea unei linii care unete cei doi indeci. Cnceputul liniei de la ta*ela p"rinte con!ine o cruce8 iar sf>ritul liniei spre ta*ele fiu8 con!ine o *ifurca!ie8 indic>nd o rela!ie de tip 1-n. Fiecare rela!ie per(anent" repre$int" un o*iect Aisual8 su* for(a unei linii cu dou" si(*oluri Dcruce i *ifurca!ieE. a ur(are8 ca orice o*iect8 poate fi (odificat cu a;utorul unor co(en$i specifice. .entru ter'erea unei rela!ii incorect definite sau care nu (ai este necesar"8 se e?ecut" clic pe linie i apoi se apas" tasta DELE4E8 sau din (eniul s#ortcut al liniei se selectea$" op!iunea Re(o/e. As'2urarea '$te2r't(,'' %atelor %'$ ta<elele le2ate F$tre ele pr'$ rela,'' perma$e$te .rintre (ecanis(ele care asi'ur" inte'ritatea *a$ei de date se nu("r" i cele pri/ind inte'ritatea entit"!ilor i inte'ritatea referen!ial". Inte'ritatea entit"!ilor este i(ple(entat" prin specificarea =n cadrul unei ta*ele8 a faptului c" nu pot accepta /alori nule c>(purile care repre$int" c#ei pri(are. I$te2r'tatea re/ere$,'al( Dreferen!ial inte'ritI5RIE definete un ansa(*lu de re'uli8 care per(it (en!ionarea inte'rit"!ii datelor din ta*elele le'ate =ntre ele8 la opera!iile de

&,

(odificare8 ad"u'are i ter'erea datelor din ta*elele respecti/e8 astfel =nc>t s" nu e?iste =nre'istr"ri neparticipante la rela!ie. I(ple(entarea acestor re'uli =ntre ta*ele se reali$ea$" prin inter(ediul unor restric!ii nu(ite restric!ii pentru inte'ritate referen!ial" DRI 9 constraintsE. .rin definirea re'ulilor de inte'ritate referen!ial"8 (ediul Aisual Fo?.ro /a inter$ice@ - a%(u2area %e F$re2'str(r' F$ ta<ela /'u atunci c>nd =n ta*ela p"rinte nu e?ist" nici o =nre'istrare cu aceeai /aloare a c#eii de inde?areB - mo%'/'carea +alor'' c9e'' %e '$%e?are F$ ta<ela pr'$c'pal( care s" duc" la apari!ia de =nre'istr"ri orfane =n ta*ela fiuB - )ter2erea %e F$re2'str(r' F$ ta<ela p(r'$te8 dac" e?ist" =nre'istr"ri asociate =n ta*ela fiu. 2pecificarea restric!iilor de inte'ritate referen!ial" i 'enerarea auto(at" a procedurilor aferente se reali$ea$" prin inter(ediul Generatorului de Inte'ritate Referen!ial" HRe/ere$t'al I$te2r't[ Bu'l%erI8 Rela,'' temporare Al"turi de rela!iile per(anente se pot defini =n Aisual Fo?.ro i rela!ii sau le'"turi te(porare8 care sunt acti/e at>ta ti(p c>t durea$" o sesiune de lucru sau un pro'ra(. Ele se pot crea prin (eniul siste( sau prin pro'ra(. a i =n ca$ul rela!iilor per(anente8 cele dou" ta*ele8 principal" i secundar"8 tre*uie s" fie inde?ate pe *a$a unui c>(p co(un Dc#eia pri(ar" =n ta*ela principal"8 c#eia e?tern" =n cea secundar"E. REBU6AT O *a$" de date =n Aisual Fo?.ro are ataat un fiier special cu e?tensia .D7 DData7ase ontainerE =n care sunt (e(orate printre altele structura ta*elelor co(ponente8 rela!iile per(anente dintre ta*elele *a$ei de date8 caracteristici supli(entare ale ta*elelor din *a$a de date8 caracteristici ale *a$ei de date =n ansa(*lul s"u i proceduri ce ur(ea$" a fi e?ecutate la apari!ia unor e/eni(ente. onstruirea unei *a$e de date =n Aisual Fo?.ro se reali$ea$" =n ur("toarele etape@ crearea bazei de date, n care se #or memora informaii pri#ind tabelele i baza de date n ansamblul su) ncorporarea n noua baz de date a tabelelor simple anterior create i construirea noilor tabele ce #or fi ncorporate direct n baza de date) specificarea pentru tabelele simple incluse n baze de date a unor caracteristici ce nu se puteau declara n momentul construirii lor, ca tabele izolate) stabilirea legturilor permanente ntre tabelele bazei de date) precizarea unor caracteristici ale noii baze de date) includerea n baza de date a unor #ederi, conexiuni cu date externe etc. rearea fiierului *a$ei de date de poate reali$a =n unul din ur("toarele (oduri@ - prin folosirea constructorului de *a$e de date DData7ase Desi'nerE apelat din (eniul siste(B - prin folosirea ferestrei .RO<E 4 MANAGERB - prin folosirea co(en$ii REA4E. Ad"u'area sau eli(inarea unei *a$e de date la]din proiect

&-

.in crearea unei *a$e de date cu a;utorul co(en$ii REA4E DA4A7A2E8 aceasta nu de/ine auto(at parte co(ponent" a unui proiect8 c#iar dac" pe ecran este desc#is" fereastra .ro;ect Mana'er. A/>nd =n /edere facilit"!ile oferite de instru(entul .ro;ect Mana'er pri/ind or'ani$area8 /i$uali$area i (anipularea o*iectelor sale prin inter(ediul interfe!ei Dfereastra .ro;ect Mana'erE se reco(and" ca *a$ele de date create independent s" fie ad"u'ate =n cadrul unui proiect e?istent sau nou creat. In acest scop8 dup" lansarea Gestionarului de proiecte i afiarea pe ecran a ferestrei .ro;ect Mana'er se selectea$" sec!iunea DataBase i apoi se e?ecut" un clic pe *utonul Add\ . a ur(are se /a afia pe ecran fereastra O"en( din care se selectea$" *a$a de date ce ur(ea$" a fi inclus" =n proiect. O *a$" de date poate fi retras" dintr5unproiect i inclus" =ntr5un alt proiect sau tears" fi$ic de pe disc8 dac" nu (ai este necesar" =n cadrul siste(ului. .entru a eli(ina o *a$" de date dintr5un proiect8 din fereastra .ro;ect Mana'er se acti/ea$" *utonul Re(o/e iar din caseta care se afiea$" dup" acti/area acestui *uton8 se ale'e op!iunea Re(o/e. Dac" dori( ca *a$a de date respecti/" s" fie tears" fi$ic de pe #ard5disc se /a ale'e op!iunea Delete. Desc9'%erea <a0elor %e %ate .entru desc#iderea uneia sau (ai (ultor *a$e de date8 din fereastra .ro;ect Mana'er se selectea$" *a$a de date ce ur(ea$" a fi desc#is" i se e?ecut" un clic pe *utonul Ope$ sau 6o%'/[. Opera!ia se repet" apoi pentru fiecare *a$" de date ce ur(ea$" a fi desc#is". De ase(enea8 pentru desc#iderea unei *a$e de date din fereastra .ro;ect Mana'er8 sau care nu este inclus" =ntr5un proiect se poate folosi co(anda O.EN *$c9'%erea u$e' <a0e %e %ate .entru =nc#iderea unei *a$e de date8 a/>nd pe ecran afiat" fereastra .ro;ect Mana'er8 se /a selecta (ai =nt>i *a$a de date ce ur(ea$" a fi =nc#is" i apoi se acti/ea$" *utonul Close. Opera!ia se repet" pentru fiecare *a$" de date ce ur(ea$" a fi =nc#is". De ase(enea pentru =nc#iderea *a$ei de date curente i a ta*elelor aferente se poate folosi co(anda CLOSE DATABASE. Rela,'o$area ta<elelor %'$ <a0a %e %ate Cn Aisual Fo?.ro rela!iile pe care le cre"( =ntre ta*ele cu a;utorul onstructorului *a$ei de date DData*ase Desi'nerE se nu(esc relaii persistente. In afara acestora se pot defini i relaii temporare sau dina(ice prin co(en$i introduse =n pro'ra(ele de prelucrare. a ur(are rela!iile te(porare sunt disponi*ile nu(ai =n (o(entul rul"rii pro'ra(ului =n care au fost definite dup" care ele nu (ai e?ist". 4a*elele =ntre care se creea$" o rela!ie se nu(esc@ tabel principal sau printe i respecti/ tabel secundar sau fiu. Cntre cele dou" ta*ele se pot defini ur("toarele tipuri de rela!ii@ - re!aie una2!a2unaG prin care unei =nre'istr"ri din ta*ela p"rinte =i corespunde o sin'ur" =nre'istrare =n ta*ela fiu DcopilEB - re!aii una2!a2&ai2&u!teG prin care unei =nre'istr"ri din ta*ela p"rinte =i corespund (ai (ulte =nre'istr"ri =n ta*ela copilB - re!aie &ai2&u!te !a2unaG prin care pentru o =nre'istrare =n ta*ela copil pute( a/ea (ai (ulte =nre'istr"ri =n ta*ela p"rinteB

&0

TE6E DE CONTROL

B'<l'o2ra/'e

re!aie &ai2&u!te2!a2&ai2&u!teB prin care unei =nre'istr"ri din ta*ela p"rinte =i pot corespunde (ai (ulte =nre'istr"ri =n ta*ela copil i in/ers adic" unei =nre'istr"ri din ta*ela copil =i pot corespunde (ai (ulte =nre'istr"ri =n ta*ela p"rinte. As'2urarea '$te2r't(,'' %atelor %'$ ta<elele le2ate F$tre ele pr'$ rela,'' perma$e$te .rintre (ecanis(ele care asi'ur" inte'ritatea *a$ei de date se nu("r" i cele pri/ind inte'ritatea entit"!ilor i inte'ritatea referen!ial". Inte'ritatea entit"!ilor este i(ple(entat" prin specificarea =n cadrul unei ta*ele8 a faptului c" nu pot accepta /alori nule c>(purile care repre$int" c#ei pri(are. I$te2r'tatea re/ere$,'al( Dreferen!ial inte'ritI5RIE definete un ansa(*lu de re'uli8 care per(it (en!ionarea inte'rit"!ii datelor din ta*elele le'ate =ntre ele8 la opera!iile de (odificare8 ad"u'are i ter'erea datelor din ta*elele respecti/e8 astfel =nc>t s" nu e?iste =nre'istr"ri neparticipante la rela!ie. I(ple(entarea acestor re'uli =ntre ta*ele se reali$ea$" prin inter(ediul unor restric!ii nu(ite restric!ii pentru inte'ritate referen!ial" DRI 9 constraintsE. 2pecificarea restric!iilor de inte'ritate referen!ial" i 'enerarea auto(at" a procedurilor aferente se reali$ea$" prin inter(ediul Generatorului de Inte'ritate Referen!ial" HRe/ere$t'al I$te2r't[ Bu'l%erI8 Aceasta per(ite8 de ase(enea8 preci$area ta*elelor p"rinte i fiu din cadrul unei rela!ii i a e/eni(entelor din siste( care i(pun (ediului Aisual Fo?.ro s" /erifice re'ulile definite. 2e /or efectua lucr"ri practice de creare a unei *a$e de date folosind instru(entele de lucru pre$entate anteriorB 2e /or efectua opera!ii de 'estiune a unei *a$e de date B 2e /or crea (ai (ulte ta*ele care se includ =n *a$a de date anterior creat" B 2e /or defini rela!ii per(anente =ntre ta*elele create i se /i$uali$ea$" sc#e(a *a$ei de date B J2itarP2111K -

E-e&"!e de teste 'ri!,5 1. u( se poate crea o *a$" de date =n Aisual Fo?.ro ` aE nu(ai prin (eniuB *E nu(ai prin co(and"B cE =n a(*ele (oduriB dE prin niciunul. R"spuns@ c . 2. #eia pri(ar" =n ca$ul unei ta*ele este@ aE pri(ul c>(p din ta*el"B *E c>(pul sau co(*ina!ia de c>(puri dup" care se face inde?area ta*eleiB cE c>(pul sau co(*ina!ia de c>(puri dup" care se face sortarea ta*elei. R"spuns@ * .

)1

6ODULUL NU6CRUL ; .ESTIUNEA PROIECTELOR


CONCEPTE DE BABA OBIECTIVE Rolul proiectelor =n de$/oltarea aplica!iilorB .ro;ect Mana'er8 co(ponenta Aisual Fo?.ro pentru 'estiunea proiectelor. Fa(iliari$area cu no!iunea de proiect i rolul acestuia =n de$/oltarea aplica!iilor cu particularitZ$" =n Aisual Fo?.ro. 2ta*ilirea (odalit"!ilor de 'estiune a proiectelorB .ersonali$area (ana'erului B Deprinderea utili$"rii Xi$ard5ului. 2tudierea atentZ a *i*lio'rafieiB 2tudiu indi/idual =n la*orator i e?ersarea op!iunilor i co(ponentelor (ediuluiB Ela*orarea unor sc#i!e referitoare la =nl"n!uirea lo'icZ a opera!iilor. rearea unor deprinderi de utili$are a (ana'erului de proiect.

RECO6ANDCRI PRIVIND STUDIUL

REBULTATE ATEPTATE

UNITATEA 1. GE4TIUNEA PROIECTELOR OBIECTIVE Fa(iliari$area cu no!iunea de proiect i rolul acestuia =n de$/oltarea aplica!iilor B .articularit"!ile proiectelor =n Aisual Fo?.ro. 2ta*ilirea (odalit"!ilor de creare8 respecti/e de (odificare a proiectelorB Descrierea pa'inilor etic#etate din .roiect Mana'er B Gestiunea unor tipuri de fiiere prin .roiect Mana'er B Fa(iliari$area cu (eniul .roiect B .ersonali$area (ana'erului B 3tili$area Xi$ard5ului .roiect i co(ponentele sale =n Aisual Fo?.ro B Modalit"!i de creare](odificare a proiectelorB 4ipuri de pa'ini etic#etate =n .ro;ect Mana'erB Op!iunile (eniului .ro;ectB Gestiunea fiierelor cu a;utorul .ro;ect Mana'erB 3tili$area Xi$ard5ului pentru (ana'e(entul proiectelor i op!iunile acestuia.

NO7IUNI CDEIE

Caracter'st'c' 2e$erale Ela*orarea siste(elor infor(atice este o acti/itate la*orioas" i siste(atic". De aceea orice astfel de acti/itate de*utea$" cu ela*orarea unui proiect. .roiectul =nsea(n" un ansa(*lu de date8 pro'ra(e8 for(ulare i rapoarte de diferite tipuri8 or'ani$ate =ntr5o anu(it" structur". Aisual Fo?.ro pune la dispo$i!ia utili$atorilor o (odalitate siste(atic" de or'ani$are i 'estiune a ele(entelor necesare unui proiect8 cu a;utorul utilitarului .ro;ect Mana'er.

)1

.ro;ect Mana'er este o =(*un"t"!ire a 'eneratorului de proiecte din Fo?.ro 2.)8 respecti/ 2.+8 uor de utili$at8 a/>nd8 =n acelai ti(p8 o interfa!" prietenoas"8 care per(ite utili$atorilor finali s"5i 'estione$e eficient proiectul. El func!ionea$" =n principiu =n ur("torii pai@ 1. Folosind interfe!e 'rafice8 utili$atorul introduce i 'estionea$" ele(entele co(ponente ale proiectului. 2iste(ul reali$ea$" pe *a$a acestor ele(ente un ta*el cu e?tensia .pj?8 care este de fapt un container =n care se (e(orea$" datele referitoare la co(ponentele din proiect. 2. Cn a doua fa$"8 dac" utili$atorul dorete8 poate transfor(a proiectul fie =ntr5o aplica!ie su* for(" de cod inter(ediar Dcu e?tensia .appE8 fie =ntr5o aplica!ie e?ecuta*il" Dcu e?tensia .e?eE. Cn cadrul ferestrei aferente acestui utilitar8 datele sunt 'rupate pe cate'orii func!ionale@ *a$e de date8 ta*ele8 rapoarte8 for(e8 etic#ete8 pentru a a/ea o e/iden!" (ai clar" a tuturor ele(entelor proiectului i8 =n acelai ti(p8 o /edere de ansa(*lu asupra acestora. Ut'l'0area co$structorulu' %e pro'ecte HProject 6a$a2erI Crearea u$u' pro'ect $ou .entru a crea un proiect nou, din (eniul &'le se selectea$" opiunea NeV, sau de pe bara de instrumente se selectea$" pictograma aferent" cre"rii unui nou fiier. Din fereastra NeV, se ale'e butonul de selecie Project i apoi butonul de comand NeV &'le. a ur(are8 pe ecran apare caseta de dialog Create, =n care se sta*ilete directorul i nu(ele noului proiect Di(plicit acesta are nu(ele .ro;ect 1 i8 aa dup" cu( s5a /"$ut8 e?tensia pj?E. Dup" introducerea acestor infor(a!ii se ac!ionea$" *utonul Sa+e, a/>nd ca efect afiarea pe ecran a ferestrei .ro;ect Mana'er. onstructorul de proiecte poate fi lansat i =n (od co(and"8 tast>nd o co(and" de for(a@ CREATE PRO#ECT W$umepro'ect X ]Z dac" =n fereastra de co(and" se tastea$" REA4E .RO<E 4 ` sau pur i si(plu REA4E .RO<E 48 ac!iunea se /a derula identic cu lansarea constructorului din (eniuB dac" se tastea$" =ns" co(anda su* for(a CREATE PRO#ECT $umepro'ect se trece peste fa$a de /i$uali$are a c#enarului 1reate i apare direct c#enarul constructorului de proiecte. .entru a desc#ide un proiect de;a e?istent8 din (eniul &'le8 se selectea$" op!iunea Ope$8 sau se acti/ea$" picto'ra(a pentru desc#idere fiiere Da douaE de pe *ara de instru(ente standard. Cn caseta de dialo' Ope$ se /a selecta tipul de fiier ce ur(ea$" a fi desc#is8 adic" .ro;ect i apoi denu(irea proiectului8 dup" care se ac!ionea$" *utonul OY8 a/>nd ca efect afiarea pe ecran a ferestrei .ro;ect Mana'er aferent" proiectului selectat. Alt" (odalitate (ai rapid" de afiare a ferestrei .ro;ect Mana'er const"8 =n selectarea nu(elui de proiect direct din (eniul &'le" unde dup" lista de op!iuni apar i nu(ele tuturor proiectelor e?istente.

)2

Cn (od co(and"8 un proiect poate fi desc#is printr5o co(and" de for(a@ 6ODI&! PRO#ECT W$umepro'ect X ]Z care /a func!iona ase("n"tor cu ca$ul cre"rii proiectelor i anu(e@ dac" se utili$ea$" for(a 6ODI&! PRO#ECT ] sau 6ODI&! PRO#ECT8 opera!ia se /a derula ca i =n ca$ul lans"rii sale din (eniuB dac" se utili$ea$" for(a 6ODI&! PRO#ECT $umepro'ect apare direct c#enarul constructorului de proiecte8 f"r" a (ai apare fereastra Ope$. Compo$e$tele ut'l'tarulu' Project 6a$a2er .entru a asi'ura o or'ani$are c>t (ai clar" a datelor necesare unui proiect8 fereastra .ro;ect Mana'er con!ine ase pa'ini8 fie etic#etate sau foi de propriet"!i8 fiecare dintre acestea fiind asociat" unei anu(ite cate'orii de date. Fiecare pa'in" are o etic#et" cu nu(ele cate'oriei de infor(a!ii pe care o repre$int". .rincipalele co(ponente ale pa'inilor din fereastra .ro;ect Mana'er sunt ur("toarele@ 1. Pa2'$a Data - conine datele necesare unei aplicaii, fiind organizat la primul ni#el, pe urmtoarele categoriiG Data*ase %baze de date( Free 4a*els %tabele libere( Tueries %interogri( Fiecare <a0( %e %ate poate con!ine ur("toarele su*cate'orii @ 4a*les %tabele( Local AieG %#ederi locale( Re(ote AieG %#ederi la distan( onections %conexiuni( 2tored .rocedures %proceduri stocate( 2. Pa2'$a Docume$ts include toate docu(entele utili$ate =n lucrul cu ta*ele8 cu( ar fi@ /ormulare DFor(sE pentru citirea datelor i /i$uali$area lor8 rapoarte DReportsE8 repre$ent>nd situa!ii de ieire i et'c9ete po)tale DLa*elsE8 pentru tip"rirea re$ultatelor intero'"rilor. %. Pa'ina C!ases 2 =ceast pagin conine toate bibliotecile de clase definite sau adugate aplicaiei. !ibliotecile de clase n 3isual ,ox5ro sunt memorate n fiiere cu extensia . c- i pot conine oric2te clase. 3izualizarea claselor dintr-o anumit bibliotec se face prin execuia unui clic@ pe semnul N>N din faa numelui bibliotecii. &. Pa2'$a Co%e include codul surs al programelor ,ox5ro precum i aplicaiile asociate. 5rogramul principal este marcat prin litere ngroate. 4n cadrul paginii, pe l2ng toate programele surs a#em posibilitatea de a include i alte aplicaii care pot fi asociate cu aplicaia cu care lucrm. "in cadrul ferestrei .ro;ect Mana'er putem crea, aduga sau terge fiiere program %cu extensia ."r'( legate de aplicaia respecti#. ). Pa2'$a Ot9er Fn cadrul acestei pa'ini sunt stocate codurile surs" pentru (eniuri8 su* for(" de fiiere cu e?tensia .mpr8 c>t i celelalte fiiere8 cu( ar fi@ icon5uri8 *it(ap5uri8 fiiere de te?t etc. +. Pa2'$a All con!ine toate o*iectele celorlalte pa'ini.

)%

REBU6AT

TE6E DE CONTROL" APLICA7II

B'<l'o2ra/'e

Modulul are =n co(ponen!" o unitate destinatZ 'estiunii proiectelor ca (edii de de$/oltare de aplica!ii cu particulari$are =n ca$ul Aisual Fo?.ro. Dintre pro*le(ele studiate a(inti(@ .articularit"!ile proiectelor =n Aisual Fo?.ro. 2ta*ilirea (odalit"!ilor de creare8 respecti/e de (odificare a proiectelorB 3tili$area ferestrei .ro;ect Mana'er i a (eniului /ertical aferentB .ersonali$area (ana'erului de proiecteB Facili"!i oferite de Xi$ard. Ela*orarea unui (e(ento recapitulati/B Opera!ii de creare8 (odificare i ter'ere a unor proiecte8 precu( i a unor co(ponente ale lor cu i fZrZ Xi$ard. J2itarP2111K

E-e&"!e de teste 'ri!,5 1.Desc#iderea proiectului cu nu(ele .roiect1.p;? se poate face prin co(anda@ aE O.EN .RO<E 4 .roiect1.p;?B *E 32E .RO<E 4 .roiect1.p;?B cE MODIFN .RO<E 4 .roiect1.p;?B dE niciuna de (ai sus. R"spuns@ c . 2. .a'ina 1ode din cadrul .ro;ect Mana'er include@ aE *i*liotecile de claseB *E datele necesare unei aplica!iiB cE codul surs" al pro'ra(elor Fo?.ro i aplica!iile asociateB dE niciuna de (ai sus. R"spuns@ c.

)&

6ODULUL NU6CRUL = PRO.RA6AREA *N VISUAL &OSPRO


CONCEPTE DE I(ple(entarea structurilor de control =n Aisual Fo?.ro BABC Gestiunea /aria*ilelor de (e(orie8 a c>(purilor (e(o i (asi/elor de date o(en$i de intrare]ieire .roceduri i func!ii utili$ator O*iecte i clase =n Aisual Fo?.ro OBIECTIVE unoaterea co(en$ilor de i(ple(entare a structurilor de control alternati/e i repetiti/eB unoaterea (odului de definire a /aria*ilelor de (e(orie8 c>(purilor (e(o i a (asi/elor de date. RECO6ANDCRI 2e reco(and" studierea principalelor co(en$i de i(ple(entare a PRIVIND structurilor de control alternati/e i repetiti/e DIF8 DO8 A2E8 DO STUDIUL XRILE8 FOR8 2 ANE n continuare se /or studia co(en$ile de intrare]ieire8 prin Cn testarea pe calculator a (odulului de utili$are a acestoraB 2e /or studia no!iunile de clas" i o*iect8 propriet"!ile acestora. De ase(eni se /or studia conceptele de e(etoded i ee/eni(ented. REBULTATE La finele studiului acestui (odul utili$atorul tre*uie s" cunoasc" ATEPTATE (odul de folosire al co(en$ilor de i(ple(entare al structurilor de control c>t i al co(en$ilor de intrare]ieireB De ase(enea utili$atorul tre*uie s" fie =n ("sur" s" cree$e o*iecte i s" atae$e acestora sec/en!e de co(en$i. UNITATEA 1. CO/ENZI DE I/PLE/ENTARE A 4TRUCTURILOR DE CONTROL ALTERNATI9E 7I REPETITI9E OBIECTIVE unoaterea (odului de func!ionare i utili$are a co(en$ilor de i(ple(entare a structurii de control8 alternati/e i repetiti/e. CUVINTE CDEIE IF8 DO A2E8 DO XRILE8 FOR8 2 AN Impleme$tarea structur'lor %e co$trol F$ V'sual &o?Pro Li(*a;ul Fo?.ro con!ine co(en$i pentru i(ple(entarea celor trei tipuri de structuri de control@ sec/en!iale8 alternati/e i repetiti/e8 cu ur("toarele preci$"ri@ 5 o(en$ile pentru i(ple(entarea structurilor de control alternati/e i repetiti/e nu se pot folosi =n (od interacti/ nu(ai la ni/el de pro'ra(. 5 Li(*a;ul nu con!ine instruc!iuni de salt condi!ionat de tip GO4O Cn capitolul de fa!" ur(ea$" a fi pre$entate co(en$ile pentru i(ple(entarea structurilor alternati/e i repetiti/e8 respecti/@ IF8 DO A2E8 DO XRILE8 FOR i 2 AN. elelalte co(en$i din cadrul li(*a;ului sunt considerate ca i co(en$i pentru reali$area structurilor sec/en!iale8 ele fiind pre$entate =n cadrul unor capitole distincte Dcrearea

))

structurii de date8 desc#iderea *a$ei de date8 actuali$area *a$ei de date8 intr"ri]ieiri de date etc.E Structur' alter$at'+e Aceste structuri reali$ea$" selectarea unei sec/en!e de co(en$i =n func!ie de =ndeplinirea sau ne=ndeplinirea unei condi!ii. .entru i(ple(entarea acestor structuri se folosesc co(en$ile IF i DO A2E. Coma$%a I& Aceast" co(and" per(ite e?ecu!ia unei sec/en!e de instruc!iuni pe *a$a e/alu"rii unei e?presii lo'ice. Fiind cea (ai si(pl" structur" de control8 poate fi considerat" ca fiind p"rintele fa(iliei structurilor de pro'ra(are. 2inta?a 'eneral" a co(en$ii este ur("toarea@ I&Ne?plM Nsec+ come$0'5M WELSE Nsec+ come$0'3MZ ENDI& La =nt>lnirea acestei co(en$i se e/aluea$" Ve?pLW i dac" este ade/"rat" se e?ecut" Vsec/5co(en$i1W8 dup" care se trece la pri(a co(and" dup" ENDIF. Dac" condi!ia din Ve?pLW nu este ade/"rat" se e?ecut" Vsec/5co(en$i2W8 dup" care se trece la pri(a co(and" dup" ENDIF. In acest ca$8 dac" op!iunea EL2E lipsete8 se trece direct la pri(a co(and" dup" ENDIF. Coma$%a DO CASE Cn scopul creterii fle?i*ilit"!ii pro'ra(ului8 li(*a;ul Aisual Fo?.ro per(ite i(ple(entarea structurilor de control 'enerali$ate sau (ultiple8 f"r" folosirea de instruc!iuni IF incluse una =n alta8 folosind co(anda DO A2E. Ea repre$int" e?tinderea natural" a principiului e?clusi/it"!ii (utuale la dou" sau (ai (ulte situa!ii. .rin ur(are8 =n loc s" folosi( e?presii lo'ice reciproc e?clusi/e8 Aisual Fo?.ro8 per(ite s" include( orice e?presie lo'ic" dori( pentru fiecare ca$ sau situa!ie =n parte. 2inta?a 'eneral" a co(en$ii este ur("toarea@ DO CASE CASE Ne?pL5M Nsec+ com5M CASE Ne?pL3M Nsec+ com3M OTDER TISE Nsec+ com$M ENDCASE E?ecu!ia acestei co(en$i are loc astfel@ 1. 2e e/aluea$" fiecare e?presie lo'ic" =n ordinea =n care apare =n co(anda DO A2E8 iar =nt>lnirea pri(ei e?presii lo'ice ade/"rate se e?ecut" sec/en!a de co(en$i aferent"8 dup" care se trece la pri(a co(and" dup" END A2E.

)+

2. Dac" nici una din e?presiile lo'ice specificate =n co(anda DO A2E nu sunt ade/"rate8 se e?ecut" 'rupul de co(en$i din clau$a O4RERXI2E sau se trece la pri(a co(and" dup" END A2E8 dac" clau$a O4RERXI2E lipsete. %. Dac" (ai (ulte e?presii lo'ice din co(anda DO A2E sunt ade/"rate8 se e?ecut" nu(ai sec/en!a de co(en$i aferent" pri(ei condi!ii lo'ice ade/"rate8 dup" care se trece la pri(a co(and" dup" END A2E. Structur' repet't'+e 2tructurile repetiti/e pot fi i(ple(entate =n li(*a;ul Aisual Fo?.ro cu a;utorul co(en$ilor@ DO XRILE8 FOR i 2 AN. Coma$%a DO TDILE Dac" structura DO CASEO ENDCASE este o copie aproape fidel" a structurii I&O ENDI&8 structura DO TDILEOENDDO este ase("n"toare i ea cu I&OENDI&8 Astfel8 dac" co(anda IF e?ecut" sec/en!a de instruc!iuni dac" e?presia lo'ic" este ade/"rat"8 co(anda DO XRILE per(ite e?ecu!ia repetat" a sec/en!ei de instruc!iuni c>t ti(p e?presia lo'ic" din cadrul co(en$ii este ade/"rat". Ea per(ite astfel i(ple(entarea structurilor de control repetiti/e cu condi!ionare anterioar". For(atul 'eneral al co(en$ii este ur("torul@ DO TDILE Ne?pLM Nsec+ come$0'M WLOOPZ WESITZ ENDDO E?ecu!ia co(en$ii =ncepe cu e/aluarea e?presiei lo'ice. Astfel8 dac" e?presia lo'ic" este ade/"rat" se e?ecut" sec/en!a de co(en$i p>n" la ENDDO8 dup" care se re/ine la e/aluarea e?presiei lo'ice. Dac" e?presia lo'ic" este fals" se trece la pri(a co(and" dup" ENDDO. Instruc!iunea LOOP deter(in" re/enirea la e/aluarea condi!iei lo'ice din DO XRILE.8 Coma$%a &OR Aceast" co(and" se afl" =ntr5o rela!ie foarte str>ns" cu co(anda DO TDILE8 fiind o /ariant" ase("n"toare a co(en$ii DO XRILE. Ea per(ite e?ecu!ia repetat" a unei sec/en!e de co(en$i %e u$ a$um't $um(r %e or' fiind utili$at" pentru i(ple(entarea structurilor de control repetiti/e cu indici. For(atul 'eneral al co(en$ii este ur("torul@ &OR N+arM PNe?p5M TO Ne?p3M W"STEPNe?p3MZ Nsec+e$,( %e come$0'M WLOOPZ WESITZ END&ORLNEST unde@ V/arWB este /aria*ila de control care indic" de c>te ori se e?ecut" sec/en!a de co(en$i din instruc!iunea FOR Ve?p1WB repre$int" /aloarea ini!ial" a /aria*ilei de control Ve?p2WB definete /aloarea final" a /aria*ilei de control

),

Ve?p%WB definete ra!ia cu care se (odific" /aloarea ini!ial" a /aria*ilei de control. Aaloarea i(plicit" pentru ra!ie este 1 Coma$%a SCAN Aceast" co(and" repre$int" o alt" (odalitate de ciclare speciali$at"8 fiind proiectat" pentru e?ecu!ia de sec/en!e de co(en$i prin care se prelucrea$" =nre'istr"rile unui ta*el din *a$a de date. E?ecu!ia co(en$ii deter(in" parcur'erea ta*elului curent i efectuarea pentru fiecare =nre'istrare selectat" din ta*el a sec/en!ei de co(en$i specificate =n co(and". For(atul 'eneral al co(en$ii este ur("torul@ SCAN WN%ome$'uMZ W&ORNe?pL5MZ WTDILE Ne?pL3MZ WNOOPTI6IBEZ WLOOPZ WESITZ Nsec+e$,a %e come$0'M ENDSCAN 2e(nifica!ia op!iunilor din cadrul co(en$ii este ur("toarea@ - N%ome$'uM" &ORNe?pL5M" TDILE Ne?pL3MB per(it selectarea din ta*elul curent a =nre'istr"rilor pentru care se /a e?ecuta sec/en!a de co(en$i din co(anda 2 AN. - Nsec+e$,a %e come$0'MG con!ine co(en$ile ce ur(ea$" a fi e?ecutate pentru fiecare =nre'istrare selectat" din ta*el. Reluarea sec/en!ei de co(en$i pentru ur("toarea =nre'istrare se face auto(at la =nt>lnirea cu/intelor END2 N sau LOO.. UNITATEA 0. CO/ENZI DE INTRARECIE7IRE OBIETIVE CUVINTE CDEIE Cnsuirea (odului de folosire al co(en$ilor de intrare]ieire =n (od linie@ IN.348 A E.4 Cnsuirea de afiare8 coduri de func!ii.

Come$0' %e '$trareL'e)'re Aceste co(en$i se pot =(p"r!i =n dou" cate'orii i anu(e@ 1. o(en$i de intrare]ieire =n (od linie. 2. o(en$i de intrare]ieire =n (od ecran. Come$0'le %e '$trareL'e)'re F$ mo% l'$'e per(it afiarea8 respecti/ introducerea datelor din po$i!ia curent" a cursorului. Acestea su$t@ A E.48 IN.348 XAI4 Dde intrareE8 `8``8```8 DI2.LAN8 LI24 Dde ieireE. Come$0' %e '$trare F$ mo% l'$'eG Come$0'le ACCEPT )' INPUT Aceste co(en$i per(it introducerea de date de la tastatur" i preluarea lor =ntr5o /aria*il" de (e(orie sau =ntr5un ele(ent dintr5un (asi/. Op!ional8 se poate afia un (esa;8 definit de utili$ator8 referitor la infor(a!ia de preluat. 2inta?a 'eneral" a celor dou" co(en$i este ur("toarea@ ACCEPTWNe?pCMZTON+arMXNeleme$t mas'+M INPUTWNe?pCMZTON+arMXNeleme$t mas'+M )-

Datele de intrare pentru co(anda A E.4 sunt considerate iruri de caractere8 ca ur(are /aria*ila sau ele(entul de (asi/ =n care se preiau aceste date /or fi de tip ir de caractere. Cn ca$ul co(en$ii IN.348 datele de intrare sunt interpretate ca o e?presie care este e/aluat"8 re$ultatul e/alu"rii8 fiind de tip caracter8 dat" calendaristic"8 lo'ic sau nu(eric. a ur(are8 /aria*ila sau ele(entul (asi/ului care (e(orea$" datele de intrare8 /or a/ea tipul specificat anterior. .ara(etrul Ve?p W repre$int" pro(ptul sau (esa;ul care se afiea$" =naintea datei de preluat. Come$0' %e 'e)'re F$ mo% l'$'eG &ormatul %e a/')areLc't're La afiarea /alorii unor date sau la citirea lor de pe un periferic se folosesc clau$ele .I 43RE i F3N 4ION cu ur("toarea sinta?"@ PICTURE Ns'r5M &UNCTION Ns'r3M Ele deter(in" afiarea sau citirea datelor preci$ate =ntr5o co(and" de intrare sau de ieire8 =ntr5un for(at specificat prin Vsir1W respecti/ Vsir2W astfel@ Ns'r5M con!ine =ntre '#ili(ele diferite co%ur' %e a/')are8 c>te unul pentru fiecare caracter din date de afiat Ns'r3M con!ine tot =ntre '#ili(ele co%ur' %e /u$c,'e. 3n cod de func!ie ac!ionea$" asupra tuturor caracterelor din data de afiat sau citit i definete o anu(it" caracteristic" a te?tului de afiat sau citit. UNITATEA :. OBIECTE 7I CLA4E =N 9I4UAL FO6PRO OBIECTIVE CUVINTE CDEIE Cnsuirea conceptelor de clas"8 o*iect (etode i e/eni(enteB unoaterea (odului de creare a claselor i o*iectelor =n Aisual Fo?.ro i a (odului de referire la o*iectele unei clase. las"8 O*iect8 Metode8 E/eni(ente8 ontroale8 ontainere.

Crearea )' e?ecu,'a pro2ramelor F$ V'sual &o?Pro rearea unui pro'ra( =n Aisual Fo?.ro presupune parcur'erea ur("toarelor etape@ 1. '$tro%ucerea pro2ramulu' =n fereastra de editare i sal/area acestuia pe discB In acest scop se poate folosi fereastra Project 6a$a2er de unde se selectea$" pa'ina Co%e i apoi *utonul NeV8 a ur(are8 are loc lansarea editorului de te?t propriu siste(ului Aisual Fo?.ro8 iar pe ecran se afiea$" fereastra de editare =n care se /a introduce pro'ra(ul. Lansarea editorului se poate face i prin introducerea co(en$ii 6ODI&! CO66AND JVnu(e5pro'ra(WK =n fereastra de co(en$i. 2e reco(and" =ns" folosirea pri(ei (etode8 prin care pro'ra(ul creat este inclus auto(at =n proiect. .entru sal/area pro'ra(ului se pot ac!iona tastele CTRLJT sau se selectea$" op!iunea Sa+e sau SAVE AS din (eniul &'le. 2. la$sarea F$ e?ecu,'eB care se poate reali$a =n (ai (ulte (oduriB din fereastra Project 6a$a2er se selectea$" din pa'ina Co%e pro'ra(ul surs" i apoi se e?ecut" un clic pe *utonul Ru$.

)0

- =n fereastra de co(en$i se introduce co(anda DO N$ume pro2ramM WTITD Nl'sta parametruMZ8 - din (eniul PRO.RA6 se selectea$" op!iunea DO. Proce%ur' )' /u$c,'' %e/'$'te %e ut'l'0ator .entru a uura =n!ele'erea8 testarea i depanarea unui pro'ra(8 acesta se structurea$" pe (odule8 unde fiecare (odul con!ine o sec/en!" de co(en$i prin care se reali$ea$" o anu(it" prelucrare. Aceste (odule se pot defini fie ca (odule principale8 fie ca proceduri sau func!ii utili$ator DU&D 5 3ser Defined FunctionsE. Modulele or'ani$ate su* for(" de proceduri i func!ii utili$ator pot fi apelate =n cadrul unui pro'ra(8 de (ai (ulte ori8 prin c>te o co(and" de apel8 f"r" a rescrie aceste (odule ori de c>te ori sunt e?ecutate. Modul de definire i apelare a unei proceduri sau func!ii utili$ator8 pre$int" ur("toarele particularit"!i@ 1. o proce%ur( con!ine o sec/en!" de co(en$i 'rupate su* acelai nu(e care reali$ea$" o anu(it" prelucrare. Ea este apelat" de alte (odule i poate pri(i de la acestea unul sau (ai (ul!i para(etrii. Dup" e?ecu!ia co(en$ilor din cadrul procedurii8 se red" controlul pro'ra(ului apelant8 f"r" a returna neap"rat /reo /aloare. 2. o /u$c,'e utili$ator con!ine de ase(enea o sec/en!" de co(en$i. Ea pri(ete de o*icei un set de para(etrii de la pro'ra(ul apelant i returnea$" acestuia la ter(inarea prelucr"rii o /aloare ca re$ultat al prelucr"rilor efectuate asupra para(etrilor pri(i!i. Definirea procedurii se reali$ea$" cu co(anda .RO ED3RE8 iar a func!iei cu co(anda F3N 4ION. O<'ecte )' clase F$ V'sual &o?Pro Cn Aisual Fo?.ro8 fa!" de /ersiunea clasic"8 s5au ad"u'at o serie de facilit"!i8 dintre care cea (ai i(portant" o repre$int" pro'ra(area orientat" pe o*iecte i condus" de e/eni(ente. 3n obiect repre$int" un ansa(*lu de date =(preun" cu procedurile de prelucrare a acestora. .rocedurile sau co(porta(entul8 poart" denu(irea de (etode8 iar datele de atri*ute sau propriet"!i. O*iectele (ai pot fi definite ca repre$ent>nd entit"!i din lu(ea real"8 care =n'lo*ea$" =n ele st"ri DdateE i co(porta(ente Dfunc!iuniE. Repre$entarea unei entit"!i se reali$ea$" printr5un ansa(*lu de propriet"!i co(une Dcolec!ii de propriet"!iE. Propr'et(,'" meto%e )' e+e$'me$te Fiecare o*iect posed" anu(ite propriet"!i i (etode =n func!ie de clasa din care fac parte. Astfel8 un *uton de co(and" poate a/ea ur("toarele propriet"!i@ - CAPTION 5 con!ine te?tul scris pe *utonB - LE&T 5 con!ine distan!a fa!" de (ar'inea din st>n'a ecranuluiB - RI.DT 5 con!ine distan!a fa!" de (ar'inea din dreapta ecranuluiB - TOP8 5 con!ine distan!a fa!" de partea de sus a ecranuluiB - DI.DT 5 con!ine =n"l!i(ea *utonuluiB

+1

VISIBLE con!ine /alorile .4. sau .F. prin care se indic" dac" o*iectul este /i$i*il sau nu pe ecran. O propr'etate este8 prin ur(are8 un atri*ut al unui o*iect Dc>(p8 fereastr"8 controlE pe care =l folosi( pentru a defini aspectul sau co(porta(entul o*iectului respecti/. Cn Aisual Fo?.ro8 proprietatea se definete printr5o /aria*il" de (e(orie =n care se (e(orea$" /alorile pentru proprietatea respecti/". Ea poate a/ea oricare din tipurile de date acceptate de Aisual Fo?.ro. Aa cu( re$ult" din e?e(plul dat8 propriet"!ile unui o*iect8 respecti/ a unui *uton8 identific" atri*utele fi$ice ale acestuia Dlun'i(e8 =n"l!i(e etc.E. Cns"8 o*iectele nu sunt caracteri$ate nu(ai prin atri*utele fi$ice8 ci ele con!in ce/a =n plus fa!" de aceste propriet"!i8 respecti/ (etodele. 6eto%ele sunt ac!iuni pe care le poate e?ecuta un o*iect i includ cod Dinstruc!iuniE care indic" (odul de co(porta(ent al o*iectului respecti/. odul aferent o*iectelor8 se definete de c"tre utili$ator8 =n func!ie de cerin!ele pro'ra(ului i se e?ecut" =n (o(entul apel"rii (etodei respecti/e. 3nele dintre (etode8 posed" cod =ncorporat8 care indic" un anu(it co(porta(ent al o*iectului. E?e(plu (etode@ SDOT 5 afiea$" i acti/ea$" o fereastr" pe ecranB RE&RESD 5 afiea$" starea unui o*iect8 dup" efectuarea unor (odific"ri asupra o*iectului respecti/. Deci8 fa!" de instruc!iuni8 unei (etode utili$atorul =i poate ataa o sec/en!" de cod specific" unei anu(ite prelucr"ri8 care se e?ecut" =n (o(entul apel"rii (etodei respecti/e. Fiecare o*iect =n Aisual Fo?.ro8 recunoate i r"spunde la anu(ite e+e$'me$te. Acestea pot fi e/eni(ente e?terne8 ini!iate de utili$ator8 sau interne8 ini!iale de c"tre siste(ul Aisual Fo?.ro. E/eni(entele e?terne sunt 'enerate de anu(ite ac!iuni cu( ar fi@ efectuarea unui clic cu (ouse5ul pe un o*iect8 ap"sarea unei taste etc. 2etul de e/eni(ente aferent unui tip de o*iect este sta*ilit anterior. .rin ur(are8 utili$atorul nu poate crea noi e/eni(ente care s" le asocie$e unui o*iect. 2pre deose*ire de e/eni(ente8 setul de (etode8 este infinit e?tensi*il. Ele e?ist" independent de e/eni(ente i se e?ecut" =n (o(entul =n care sunt apelate. E/eni(entele au asociate (etode. Astfel8 dac" scrie( o (etod" cu nu(ele clicH8 care repre$int" un e/eni(ent i o asocie( unui *uton8 sau unui alt o*iect8 codul (etodei se /a e?ecuta auto(at8 ori de c>te ori sur/ine e/eni(entul clicH8 adic" face( un clic cu (ouse5ul pe o*iectul respecti/. Clase .rin propriet"!i8 o*iectele pot s" difere =ntre ele8 sau s" se ase(ene unul cu altul. De e?e(plu8 dou" calculatoare8 unul de *u$unar8 altul de *irou8 se deose*esc =ntre ele printr5o (ul!i(e de caracteristici D'reutate8 di(ensiuni8 culoare etc.8 nu(ite propriet"!iE8 dar principiul de *a$" al func!ion"rii lor este acelai8 con!in piese electronice aproape identice8 pot efectua aceleai calcule. a ur(are8 o*iectele care au aceleai propriet"!i i acelai co(porta(ent Dr"spund la aceleai e/eni(ente prin aceleai ac!iuniE apar!in aceleai clase. Astfel8 cele dou" calculatoare Dde *irou i de *u$unarE8 prin ele(entele lor co(une Dcircuite8 piese

+1

electroniceE i prin faptul c" pot r"spunde la aceleai e/eni(ente interne sau e?terne8 se consider" c" apar!in aceleai clase8 cea de calculatoare. Deci8 o clas" descrie o (ul!i(e de o*iecte cu propriet"!i i co(porta(ent si(ilar. ele dou" no!iuni8 clas" i o*iect8 nu pot fi =ns" confundate pentru c" nu repre$int" acelai lucru. O clas conine informaii despre felul cum arat i se comport obiectele care-i aparin. 1lasa reprezint deci o noiune abstract care definete structura i comportamentul obiectelor care-i aparin. Su<clase Cn Aisual Fo?.ro pot fi create clase deri#ate sau subclase pornind de la clasele de *a$". A/>nd o clas" de;a definit"8 pute( 'enera8 pornind de la aceast" clas"8 o nou" clas" prin opera!ia de deri/are. O clas" deri/at" (otenete auto(at propriet"!ile i (etodele clasei de *a$"8 deci aceste propriet"!i nu (ai tre*uie definite =n clasa deri/at". In noua clas" se /or include nu(ai caracteristici noi8 cele /ec#i consider>ndu5se i(plicit. T'pur' %e clase )' o<'ecte Aisual Fo?.ro con!ine 2- de clase de *a$" predefinite cu a;utorul c"rora pute( crea noi o*iecte. Aceste clase se =(part la r>ndul lor =n dou" su*cate'orii@ 1 5 clase ontainer 2 5 clase ontrol REBU6AT Impleme$tarea structur'lor %e co$trol F$ V'sual &o?Pro Li(*a;ul Aisual Fo?.ro con!ine co(en$i pentru i(ple(entarea celor trei tipuri de structuri de control@ sec/en!iale8 alternati/e i repetiti/e8 cu ur("toarele preci$"ri@ o(en$ile pentru i(ple(entarea structurilor de control alternati/e i repetiti/e nu se pot folosi =n (od interacti/ nu(ai la ni/el de pro'ra(. - Li(*a;ul nu con!ine instruc!iuni de salt condi!ionat de tip GO4O Cn capitolul de fa!" sunt pre$entate co(en$ile pentru i(ple(entarea structurilor alternati/e i repetiti/e8 respecti/@ IF8 DO A2E8 DO XRILE8 FOR i 2 AN. Coma$%a I& Aceast" co(and" per(ite e?ecu!ia unei sec/en!e de instruc!iuni pe *a$a e/alu"rii unei e?presii lo'ice. La =nt>lnirea acestei co(en$i se e/aluea$" Ve?pLW i dac" este ade/"rat" se e?ecut" Vsec/5co(en$i1W8 dup" care se trece la pri(a co(and" dup" ENDIF. Dac" condi!ia din Ve?pLW nu este ade/"rat" se e?ecut" Vsec/5co(en$i2W8 dup" care se trece la pri(a co(and" dup" ENDIF. In acest ca$8 dac" op!iunea EL2E lipsete8 se trece direct la pri(a co(and" dup" ENDIF. Coma$%a DO CASE Cn scopul creterii fle?i*ilit"!ii pro'ra(ului8 li(*a;ul Aisual Fo?.ro per(ite i(ple(entarea structurilor de control 'enerali$ate sau (ultiple8 f"r" folosirea de instruc!iuni IF incluse una =n alta8 folosind co(anda DO A2E. Coma$%a DO TDILE Astfel8 dac" co(anda IF e?ecut" sec/en!a de instruc!iuni dac" e?presia

+2

lo'ic" este ade/"rat"8 co(anda DO XRILE per(ite e?ecu!ia repetat" a sec/en!ei de instruc!iuni c>t ti(p e?presia lo'ic" din cadrul co(en$ii este ade/"rat". Ea per(ite astfel i(ple(entarea structurilor de control repetiti/e cu condi!ionare anterioar". E?ecu!ia co(en$ii =ncepe cu e/aluarea e?presiei lo'ice. Astfel8 dac" e?presia lo'ic" este ade/"rat" se e?ecut" sec/en!a de co(en$i p>n" la ENDDO8 dup" care se re/ine la e/aluarea e?presiei lo'ice. Dac" e?presia lo'ic" este fals" se trece la pri(a co(and" dup" ENDDO. Coma$%a &OR Aceast" co(and" se afl" =ntr5o rela!ie foarte str>ns" cu co(anda DO TDILE8 fiind o /ariant" ase("n"toare a co(en$ii DO XRILE. Ea per(ite e?ecu!ia repetat" a unei sec/en!e de co(en$i %e u$ a$um't $um(r %e or' fiind utili$at" pentru i(ple(entarea structurilor de control repetiti/e cu indici. Coma$%a SCAN Aceast" co(and" repre$int" o alt" (odalitate de ciclare speciali$at"8 fiind proiectat" pentru e?ecu!ia de sec/en!e de co(en$i prin care se prelucrea$" =nre'istr"rile unui ta*el din *a$a de date. E?ecu!ia co(en$ii deter(in" parcur'erea ta*elului curent i efectuarea pentru fiecare =nre'istrare selectat" din ta*el a sec/en!ei de co(en$i specificate =n co(and". Come$0' %e '$trareL'e)'re Aceste co(en$i se pot =(p"r!i =n dou" cate'orii i anu(e@ o(en$i de intrare]ieire =n (od linie. o(en$i de intrare]ieire =n (od ecran. o(en$ile de intrare]ieire =n (od linie per(it afiarea8 respecti/ introducerea datelor din po$i!ia curent" a cursorului. Acestea sunt@ A E.48 IN.348 XAI4 Dde intrareE8 `8``8```8 DI2.LAN8 LI24 Dde ieireE. O<'ecte )' clase F$ V'sual &o?Pro Caracter'st'c' 2e$erale 3n o*iect repre$int" un ansa(*lu de date =(preun" cu procedurile de prelucrare a acestora. .rocedurile sau co(porta(entul8 poart" denu(irea de (etode8 iar datele de atri*ute sau propriet"!i. O proprietate este8 prin ur(are8 un atri*ut al unui o*iect Dc>(p8 fereastr"8 controlE pe care =l folosi( pentru a defini aspectul sau co(porta(entul o*iectului respecti/. Aa cu( re$ult" din e?e(plul dat8 propriet"!ile unui o*iect8 respecti/ a unui *uton8 identific" atri*utele fi$ice ale acestuia Dlun'i(e8 =n"l!i(e etc.E. Cns"8 o*iectele nu sunt caracteri$ate nu(ai prin atri*utele fi$ice8 ci ele con!in ce/a =n plus fa!" de aceste propriet"!i8 respecti/ (etodele. 6eto%ele sunt ac!iuni pe care le poate e?ecuta un o*iect i includ cod Dinstruc!iuniE care indic" (odul de co(porta(ent al o*iectului respecti/. odul aferent o*iectelor8 se definete de c"tre utili$ator8 =n func!ie de cerin!ele pro'ra(ului i se e?ecut" =n (o(entul apel"rii (etodei respecti/e. 3nele dintre (etode8 posed" cod =ncorporat8 care indic" un anu(it co(porta(ent al o*iectului. Fiecare o*iect =n Aisual Fo?.ro8 recunoate i r"spunde la anu(ite e/eni(ente. Acestea pot fi e/eni(ente e?terne8 ini!iate de utili$ator8 sau interne8 ini!iale de c"tre siste(ul Aisual Fo?.ro.

+%

TE6E CONTROL B'<l'o2ra/'e

E/eni(entele e?terne sunt 'enerate de anu(ite ac!iuni cu( ar fi@ efectuarea unui clic cu (ouse5ul pe un o*iect8 ap"sarea unei taste etc. 2etul de e/eni(ente aferent unui tip de o*iect este sta*ilit anterior. .rin ur(are8 utili$atorul nu poate crea noi e/eni(ente care s" le asocie$e unui o*iect. 2pre deose*ire de e/eni(ente8 setul de (etode8 este infinit e?tensi*il. Ele e?ist" independent de e/eni(ente i se e?ecut" =n (o(entul =n care sunt apelate. Clase O clas" con!ine infor(a!ii despre felul cu( arat" i se co(port" o*iectele care5i apar!in. lasa repre$int" deci o no!iune a*stract" care definete structura i co(porta(entul o*iectelor care5i apar!in. Su<clase Cn Aisual Fo?.ro pot fi create clase deri#ate sau subclase pornind de la clasele de *a$". A/>nd o clas" de;a definit"8 pute( 'enera8 pornind de la aceast" clas"8 o nou" clas" prin opera!ia de deri/are. O clas" deri/at" (otenete auto(at propriet"!ile i (etodele clasei de *a$"8 deci aceste propriet"!i nu (ai tre*uie definite =n clasa deri/at" T'pur' %e clase )' o<'ecte Aisual Fo?.ro con!ine 2- de clase de *a$" predefinite cu a;utorul c"rora pute( crea noi o*iecte. Aceste clase se =(part la r>ndul lor =n dou" su*cate'orii@ clase ontainer i clase ontrol. 2e /or ela*ora pro'ra(e de folosire a co(en$ilor de i(ple(entare a structurilor de control i a co(en$ilor de intrare]ieireB 2e /or ela*ora pro'ra(e de creare i utili$are a clasei for( i a o*iectelor de tip *uton de co(and". J2itarP2111K

E-e&"!e de teste 'ri!,5 1..roprietatea A.4ION a unui *uton de co(and" con!ine@ aE distan!a fa!" de partea de sus a ecranuluiB *E te?tul =nscris pe *utonB cE /alorile .4. sau .F. care indic" dac" o*iectul este /i$i*il sau nu pe ecranB dE niciuna de (ai sus. R"spuns@ * . 2. Diferen!a dintre co(en$ile IN.34 i A E.4 este@ aE nicio diferen!"B *E co(anda A E.4 interpretea$" tipul datelor8 iar IN.34 nuB cE co(anda IN.34 interpretea$" tipul datelor8 iar A E.4 nu. R"spuns@ c .

+&

6ODULUL NU6CRUL > &OR6ULARE *N VISUAL &OSPRO


CONCEPTE DE BABC aracteristici 'enerale rearea unui nou for(ular .ropriet"!i i (etode ale for(ularelor Mediu de date ale unui for(ular 2crierea codului pentru e/eni(entele i (etodele unui for(ular 2al/area i rularea unui for(ular Descrierea i utili$area o*iectelor 'rafice OBIECTIVE Cnsuirea te#nicilor de creare a unui for(ular Aisual Fo?.ro i de ad"u'are de o*iecte =n cadrul for(ularului respecti/B unoaterea (odului de asi'urare a propriet"!ilor i (etodelor unui for(ularB unoaterea principalelor e/eni(ente la ni/el de for(at i a (odului de scriere a codului pentru e/eni(entele respecti/eB unoaterea o*iecti/elor 'rafice ce pot fi =ntr5un for(ular Dproprietate8 e/eni(enteE@ *utoane radio8 liste8 casete de /alidare8 casete de te?t8 *utoane de co(and"8 RECO6ANDCRI Cn /ederea cunoaterii (odului de creare a unui for(ular8 se PRIVIND reco(and" efectuarea de e?erci!ii practice8 folosind =n acest scop STUDIUL For( Xi$ard i apoi For( Desi'nerB Dup" crearea for(ularului se /or studia propriet"!ile aferente unui for(ular8 ur("rind aceste propriet"!i =n fereastra .ropertiesB 2e /or introduce apoi =n for(ularul creat o serie de o*iecte de pe *ara For( ontrols i apoi se /or defini propriet"!ile acestora din fereastra .ropertiesB Cn etapa ur("toare se /or defini e/eni(entele aferente for(ularului i o*iectelor incluse =n for(ular i se /a scrie sec/en!a de co(en$i pentru fiecare e/eni(ent =n func!ie de pro'ra(ul pentru care s5a proiectat for(ularulB Cn ulti(a etap" se sal/ea$" i se lansea$" for(ularul =n e?ecu!ie. REBULTATE La =nc#eierea studiului acestui (odul8 utili$atorul tre*uie s" fie =n ATEPTATE ("sur" s" cree$e un for(ular cu diferite o*iecte =ncorporate =n for(ular i s" defineasc" propriet"!ile i e/eni(entele aferente for(ularului i o*iectelor aferente. For(ularul astfel creat s" fie testat pe calculator i s" per(it" e?ecutarea corect" a pro'ra(ului pentru care a fost proiectat8

+)

UNITATEA 1. CREAREA FOR/ULARELOR =N 9I4UAL FO6PRO 7I ADDUGAREA OBIECTELOR LA FOR/UALR OBIECTIVE Cnsuirea (odulelor de creare a unui for(ular@ prin co(en$i8 cu utilitarele For( Desi'ner sau For( Xi$ardB unoaterea te#nicilor de ad"u'are a o*iectelor =n cadrul unui for(ular folosind *ara de instru(ente For( ontrols i aplica!ia For( 7uilder. FORM DE2IGNER8 FORM XI6ARD8 FORM 73ILDER8 FORM ON4ROL2.

CUVINTE CDEIE

C't'rea %atelorG &ormulare Cn /ersiunile precedente ale 2G7D Fo?.ro8 ter(enul utili$at pentru ele(entul de interfa!" la introducerea de date era cel de Uecran de introducereU sau de (ac#et" de introducereU construit i afiat pe ecran8 sau =n cadrul unei ferestre8 prin inter(ediul unor co(en$i specifice sau cu 'eneratorul de ecrane. Odat" cu apari!ia =ns" a li(*a;elor orientate pe o*iect8 ecranele de introducere date au fost =nlocuite cu for(ulare. &ormularul poate fi considerat ca o fereastr" a/>nd toate atri*utele unei ferestre su* XindoGs@ *ara de titlu8 caseta (eniului de control8 *utoane de (ini(i$are8 (a?i(i$are8 =nc#idere. In plus8 acestea repre$int" =n Aisual Fo?.ro un o*iect a/>nd ca toate celelalte o*iecte8 propriet"!i8 (etode i e/eni(ente asociate. Acestea definesc aspectul e?terior al for(ularelor i deter(in" =n acelai ti(p co(porta(entul acestuia =n di/erse situa!ii. Dintre propriet"!ile unui for(ular pute( (en!iona@ nu(e8 di(ensiuni8 culoare fond8 culoare scris. .e l>n'" propriet"!i o for(ular" (ai are ataate sec/en!e de cod D(etodeE e?ecuta*ile =n anu(ite situa!ii. Modelul pro'ra("rii orientat pe o*iecte8 i(ple(entat =n Aisual Fo?.ro8 este i unul condus de e/eni(ente. a ur(are8 la specificarea unei sec/en!e de cod ataat" unui e/eni(ent8 acesta se e?ecut" auto(at ori de c>te ori se produce e/eni(entul respecti/ Dde e?e(plu ap"sarea unei taste8 e?ecu!ia unui clic cu (ouse5ul etc.E Cn cadrul unui for(ular se pot insera diferite o*iecte 'rafice8 care per(it citirea i (anipularea datelor de intrare. Aceste o*iecte au i ele asociate anu(ite propriet"!i8 (etode i e/eni(ente i per(it astfel prelucrarea datelor de intrare sau afiarea unor date din ta*elele *a$ei de date. Dup" creare8 for(ularul poate fi rulat i(ediat prin selectarea *utonului DRunE de pe *ara de instru(ente standard. Crearea u$u' $ou /ormular rearea unui for(ular se poate reali$a =n unul din ur("toarele (oduri@ 5 prin inter(ediul co(en$ilor li(*a;ului Aisual Fo?.ro 5 prin inter(ediul utilitarului For( Desi'ner 5 prin inter(ediul utilitarului For( Xi$ard Cn pri(ul ca$ este necesar" cunoaterea co(en$ilor de definire o*iecte8 clase i propriet"!i ale for(ularului i o*iectelor incluse =n for(ular c>t i a co(en$ilor de definire a procedurilor asociate unor e/eni(ente. .entru a =nl"tura incon/enientele definirii for(ularelor prin pro'ra(8 siste(ul Aisual Fo?.ro8 dispune de un utilitar special cu a;utorul c"ruia utili$atorul poate crea (ult (ai

++

rapid diferite for(ulare nu(it &orm Des'2$er Dconstructor de for(ulareE. Al"turi de acest instru(ent se (ai pot folosi utilitarele &ormular Bu'l%er i &ormular T'0ar%8 3tilitarul &orm Bu'l%er Dop,'u$ea \u'U &ormE a (eniului For(8 este utili$at pentru a popula rapid un for(ular cu c>(puri ale unei ta*ele. El nu se folosete8 prin ur(are8 la crearea unui for(ular8 ci nu(ai pentru introducerea rapid" a co(ponentelor acestuia. Ao( crea for(ularul =n for(ula ini!ial" cu For( Desi'ner sau For( Xi$ard8 ad"u'>ndu5i apoi c>(purile dorite cu For( 7uilder. De altfel8 i celelalte o*iecte introduse =ntr5un for(ular =n (eniul 2#ortcut op!iunea 7uilder care per(ite specificarea rapid" a caracteristicilor o*iectului respecti/. u For( Xi$ard se poate crea un for(ular8 pe etape8 cu toate o*iectele =ncorporate8 'ata pentru a fi lansat =n e?ecu!ie i care poate fi folosit =ntr5o aplica!ie (ai si(pl" . Dup" creare8 for(ularele sunt (e(orate =n fereastra .ro;ect Mana'er8 sec!iunea Docu(ents8 la picto'ra(a cu te?tul For(s. Crearea u$u' $ou /ormular pr'$ ut'l'0area 2e$eratorulu' &orm Des'2$er onstructorul de for(ulare constituie cel (ai folosit instru(ent de creare a unui for(ular8 deoarece acesta ofer" utili$atorului posi*ilitatea de a /edea aspectul for(ularului i a fiec"rui o*iect inclus =n for(ular8 pe ("sur" ce acesta se construiete. .e durata proiect"rii for(ularului8 acesta se poate lansa =n e?ecu!ie folosind *utonul Run i apoi se poate re/eni8 din nou8 =n fa$a de creare8 select>nd *utonul 6o%'/[ &orm8 .entru crearea unui for(ular cu a;utorul utilitarului For(ular Desi'ner se folosesc ur("toarele /ariante@ 1. 2e selectea$" din fereastra Project 6a$a2er sec!iunea Docume$ts8 iconul sau picto'ra(a cu te?tul &orms8 In continuare8 tot din cadrul ferestrei .ro;ect Mana'er se selectea$" *utonul NeVO sau op!iunea NeV &'le din (eniul Project8 In a(*ele ca$uri8 pe ecran apare fereastra NeV &orm8 din care se /a selecta op!iunea cu acelai nu(e 2. 2e selectea$" din (eniul &'le8 op!iunea NeV8 care deter(in" afiarea8 pe ecran8 a ferestrei NeG. Din aceast" fereastr" se selectea$" *utonul radio For( i apoi op!iunea NeV &'le8 2e introduce =n fereastra de co(en$i co(anda@ CREATE &OR6 N$ume /ormularM Crearea u$u' /ormular cu &orm T'0ar% Cn cadrul unei aplica!ii de tip Xi$ard8 la crearea unui o*iect aplica!ia respecti/" afiea$" anu(ite =ntre*"ri8 ur(>nd ca pe *a$a r"spunsului ales de proiectant s" fie creat un anu(it o*iect. For( Xi$ard func!ionea$" dup" acelai principiu i ca atare /a solicita din partea proiectantului infor(a!ii pri/ind@ ta*elele utili$ate8 denu(irea c>(purilor8 (odalit"!i de inde?are8 tipuri de o*iecte ce ur(ea$" a fi incluse =n for(ular8 etc. 4oate =ntre*"rile referitor la aceste infor(a!ii sunt concepute =n cadrul a &5+ etape dup" care /o( o*!ine un for(ular care poate fi ulterior (odificat. .entru crearea unui for(ular cu For(ular Xi$ard se parcur' ur("torii pai@ - se selectea$" din fereastra Project 6a$a2er sec,'u$ea &orms i apoi *utonul NeV care deter(in" desc#iderea ferestrei NeV &orm din care se selectea$" *utonul &orm T'0ar%B - se selectea$" din (eniul &'le8 op!iunea NeV care deter(in" afiarea ferestrei NeV din care se selectea$" *utonul radio &orm i apoi *utonul T'0ar%B

1.

+,

Cn a(*ele ca$uri prin selectarea *utonului &orm T'0ar% sau T'0ar% in al doilea ca$8 pe ecran se afiea$" fereastra T'0ar% Select'o$ cu dou" op!iuni1 &orm T'0ar% )' O$e To 6a$[ &orm T'0ar%8 Dup" selectarea tipului de for(ular dorit se ac!ionea$" *utonul OS iar pe ecran apare fereastra For( Xi$ard. .rin inter(ediul celor dou" op!iuni se indic" tipul de for(ular ce poate fi creat cu For( Xi$ard i anu(e@ a &orm T'0ar%G creea$" un for(ular si(plu *a$at pe un sin'ur ta*el =n care se pot efectua opera!ii de afiare =nre'istr"ri8 de (odificare8 ad"u'are i ter'ere8 prin inter(ediul unui set de *utoane de co(and" . < O$e to 6a$[G creea$" un for(ular unu la (ai (ulte8 care se *a$ea$" pe dou" ta*ele =ntre care se definete o rela!ie de tip 15n. a ur(are se pot afia =nre'istr"ri din ta*elul p"rinte i cele aferente din ta*elul fiu. A%(u2area o<'ectelor la u$ /ormular .entru ca un for(ular s" poat" fi rulat i s" e?ecute o anu(it" prelucrare D=nc"rcarea unui ta*el cu date sau actuali$area unui ta*el etc.E acesta tre*uie s" con!in" diferite controale sau o*iecte de control cu propriet"!ile confi'urate i codul surs" asociat e/eni(entelor. La un for(ular se pot ad"u'a@ co$troale" co$ta'$ere" clase %e/'$'te %e ut'l'0ator i o<'ecte OLE8 ontainerele sunt o*iecte care pot con!ine alte containere sau controale. Astfel8 un for(ular ca i container poate con!ine diferite controale D*utoane de co(and"8 casete de /alidare etc.E ontroalele pot face parte din containere8 dar nu pot con!ine alte o*iecte8 adic" nu pot fi p"rinte pentru alte o*iecte. .entru a ad"u'a un control =ntr5un for(ular se folosete *ara cu instru(ente &orm Co$trols. Dac" acesta nu este desc#is" i afiat" pe ecran8 pentru a o desc#ide se selectea$" din (eniul V'eV op!iunea &orm Co$trols Tool<ar. Aceast" *ar" con!ine toate o*iectele ce pot fi ad"u'ate =n cadrul unui for(ular su* for(a unor picto'ra(e. .entru a ad"u'a orice control =ntr5un for(ular se e?ecut" un clic pe picto'ra(a acestuia de pe *ara &orm Co$trols" dup" care se e?ecut" un clic pe for(ular =n locul unde dori( s" fie plasat o*iectul respecti/. UNITATEA 0. PROPRIETD1I 7I /ETODE ALE FOR/ULARELOR OBIECTIVE cunoaterea principalelor propriet"!i i e/eni(ente aferente unui for(ular i a (odului de confi'urare a acestuiaB cunoaterea structurii ferestrei .RO.ER4IE2 i a (odului de selectare a propriet"!ilor i (etodelor aferente for(ularului i o*iectelor incluse =n for(ularB cunoaterea (odului de scriere a codului Dsec/en!e de co(en$iE pentru e/eni(entele unui for(ularB fereastra .RO.ER4IE28 caseta O7<E 48 pa'ina ME4OD28 e/eni(entele INI48 LOAD8 2ROX8 LI S.

CUVINTE CDEIE

Propr'et(,' )' meto%e ale /ormularelorG &ereastra Propert'es Fereastra .roperties este co(un" for(ularului i tuturor o*iectelor din for(ular creat cu Aisual Fo?.ro. u a;utorul acestei ferestre /i$uali$"( i confi'ur"( propriet"!ile i (etodele for(ularului i ale o*iectelor din for(ular pe toat" durata proiect"rii acestuia. La desc#iderea unui for(ular8 fereastra .roperties /a afia propriet"!ile i (etode

+-

aferente for(ularului. .entru a edita sau (odifica aceste propriet"!i ale for(ularului sau ale unui alt o*iect inclus =n for(ular se /a selecta o*iectul din caseta O<ject8 Compo$e$tele /erestre' Propert'es Fereastra .roperties con!ine ur("toarele co(ponente@ 58 Bo$a pe$tru propr'et(,' )' meto%e apare =n partea st>n'" de ;os a ferestrei i con!ine propriet"!ile i (etodele pentru o*iectul curent selectat Dlista .roperties and E/entsE. 38 Bo$a %e +alor' apare =n partea dreapt" de ;os a ferestrei i con!ine /alorile aferente propriet"!ilor unui o*iect. 38 Ta<ur' Hpa2'$'Iapar =n partea superioar" a ferestrei8 =n nu("r de cinci i per(it /i$uali$area propriet"!ilor i (etodelor o*iectului curent selectat astfel@ dac" se selectea$" ta*ul All se afiea$" toate propriet"!ile i (etodele o*iectului curent8 iar dac" este selectat unul din celelalte ta*uri8 se afiea$" doar un su*set de propriet"!i sau (etode pentru o*iectul curent8 =n func!ie de denu(irea ta*ului. :8 Caseta %e co$/'2urare propr'et(,' HPropert[ sett'$2Iaceast" co(ponent"8 nu(it" i cutie de editare se afl" deasupra $onei dreptun'#iulare care con!ine propriet"!ile i (etodele pentru o*iectul curent selectat i afiea$" /aloarea propriet"!ii selectate. ;8 Caseta %e o<'ecte HO<jectI con!ine denu(irea o*iectului curent selectat8 cu care lucr"( la un (o(ent dat. .rin e?ecu!ia unui clic pe picto'ra(a aferent" for(ularului se afiea$" =ntr5o list" toate o*iectele incluse =n for(ular su* for(a unei ierar#ii specifice platfor(ei XindoGs. Co$/'2urarea propr'et(,'lor )' meto%elor u$u' /ormular F$ t'mpul pro'ect(r'' Fereastra .roperties afiea$" la desc#idere propriet"!ile i (etodele o*iectului curent selectat. .entru a edita propriet"!ile sau (etodele altui o*iect8 (ai =nt>i se /a selecta o*iectul respecti/ =n caseta O*;ect. In cadrul ferestrei .roperties se /a selecta apoi proprietatea sau (etoda ce ur(ea$" a fi (odificat" din lista Propert[ a$% E+e$ts i se tastea$" noua /aloare =n cutia de editare Propert[ Sett'$2 =n ca$ul unei propriet"!i. Dac" (odific"( codul unei (etode dup" selectarea (etodei se e?ecut" un du*lu clic pe (etoda respecti/" a/>nd ca efect afiarea ferestrei aferent" (etodei =n care se poate (odifica codul e?istent sau introduce alt cod8 dup" care fereastra se =nc#ide re/enindu5 se =n fereastra .roperties. Fereastra aferent" (etodei de (odificat se poate desc#ide i prin selectarea op!iunii Co%e din (eniul XindoG. .entru a trece de la o procedur" la alta8 =n cadrul ferestrei de editare8 se pot folosi tastele .'3p sau .'Dn. La selectarea i confi'urarea propriet"!ilor sau (etodelor unui o*iect se au =n /edere ur("toarele aspecte@ 1. propriet"!ile prote;ate la scriere DRead onlIE sunt scrise =n $ona Propert[ a$% E+e$ts cu caractere italice =n ti(p ce propriet"!ile rea% Vr'te sunt scrise cu caractere nor(ale./alorile i(plicite ale propriet"!ilor apar scrise cu litere nor(ale HRe2ularI iar /alorile (odificate de utili$ator cu litere =n'roate HBol%I8 In ca$ul (etodelor (odificate8 =n dreptul acestora apare scris cu litere =n'roate8 e?presia@ WUser Proce%ureZ8 2. pentru a readuce o (etod" sau proprietate (odificat" la /aloarea ini!ial"8 =nainte de a ac!iona tasta Enter se /a putea folosi op!iunea Reset to De/ault din (eniul 2#ortcut al o*iectului respecti/.

+0

& 5 =n cadrul ferestrei .roperties pute( atri*ui propriet"!ilor /alori re$ultate =n ur(a e/alu"rii unor e?presii sau func!ii8 prin introducerea8 =n caseta de editare8 a se(nului e'al ur(at de e?presia sau func!ia respecti/" . E?e(plu8 pentru te?tul repre$ent>nd titlul unei ferestre Dproprietatea aptionE pute( introduce =n caseta de editare e?presia@f ALIA2DE pentru a o*!ine ca te?t nu(ele fiierului curent selectat. Oroprietate se poate confi'ura i =n cadrul (etodei aferente unui o*iect. De e?e(plu@ =n (etoda Init a for(ularului pute( sc#i(*a te?tul for(ularului astfel@ 4#is. aptionf.roc1DE + 5 dup" definirea D(odificareaE propriet"!ilor unui for(ular8 acestea de/in efecti/e8 cu e?cep!ia ca$ului =n care proprietatea Aisi*le are /aloarea .F. De/'$'rea aspectulu' e?ter'or al u$u' /ormular .rincipalele caracteristici ale unui for(ulae referitoare la aspectul e?terior sunt cele pri/ind po$i!ia for(ularului pe ecran i di(ensiunea acestuia. "efinirea dimensiunii i poziiei unui for(ular se reali$ea$" prin inter(ediul ur("toarelor propriet"!i@ 58Top )' Le/t 5 per(it definirea po$i!iei pentru col!ul din st>n'a sus al ferestrei for(ularului. In (od i(plicit8 Aisual Fo?.ro plasea$" un for(ular nou =n col!ul din st>n'a sus al ferestrei constructorului de for(ulare D4opf18 Leftf1E 3.AutoCe$ter 5 deter(in" po$i!ionarea for(ularului =n centrul ferestrei constructorului de for(ulare8 dac" proprietatea Auto enter are /aloarea .4.8 f"r" a !ine cont de /alorile propriet"!ilor Left i 4op. 38D'29t )' T'%t9 5 definesc di(ensiunea unui for(ular8 respecti/ =n"l!i(ea i lun'i(ea acesteia8 e?pri(ate =n pi?eli. :8AlVa[O$Top 5 indic" dac" un for(ular este afiat deasupra celorlalte ferestre desc#ise. Aaloarea i(plicit" este .F. =lte proprieti referitoare la aspectul unui for(ular sunt ur("toarele@ 5 Capt'o$ 5 repre$int" titlul for(ularului sau te?tul care apare pe *ara de titlu i care i(plicit are aceeai /aloare cu nu(ele for(ularului definit prin proprietatea Na(e. 3 Bor%st[le 5 definete c#enarul unui for(ular prin inter(ediul a patru /alori astfel@ 3 BacUColor )' &oreColor 5 definesc culoarea pentru fond =n cadrul for(ularului D7acH olorE i respecti/ pentru scris DFore olorE. Aceste propriet"!i pot fi (odificate prin selectarea culorii dorite din fereastra Color Palette sau din fereastra Color care se afiea$" pe ecran prin e?ecu!ia unui du*lu clic pe proprietatea 7acH olor sau Fore olor din fereastra .roperties. Co$/'2urarea meto%elor )' propr'et(,'lor u$u' /ormular pr'$ come$0' .entru a confi'ura propriet"!ile sau (etodele unui o*iect prin co(en$i8 acesta tre*uie (ai =nt>i identificat =n raport cu iarar#ia containerului din care face parte. Acest lucru se reali$ea$" =n ca$ul for(ularului8 prin inter(ediul unei /aria*ile8 la care se /a face referin!" pentru confi'urarea unei propriet"!i. Aaria*ila o*iect pentru for(ular este c#iar nu(ele fiierului .sc?. .ropriet"!ile sau (etodele pot fi confi'urate prin inter(ediul referin!elor la o*iect8 i proprietate sau (etod" 8 separate prin punct8 astfel@ ontainer. o*iect..proprietate f /aloare /aria*il" 5o*iect.control.(etod" Scr'erea co%ulu' pe$tru e+e$'me$teleLmeto%ele u$u' /ormular

,1

Fiecare o*iect se caracteri$ea$" prin atri*utele stare i comportame$t8 2tarea unui o*iect se definete prin propriet"!ile sale8 iar co(porta(entul prin (etodele pe care pe poate e?ecuta i e/eni(entele la care poate r"spunde. Cn condi!iile pro'ra("rii orientate pe o*iect i condus" de e/eni(ente8 utili$atorul este cel care controlea$" pro'ra(ul. .rin ur(are8 pro'ra(ul ateapt" ca utili$atorul s" fac" ce/a Dap"sarea unei taste8 e?ecu!ia unui clic cu (ouse5ulE ur(>nd ca pro'ra(ul s" r"spund" la e/eni(entul respecti/ prin declanarea unor opera!ii de prelucrare. La apari!ia unui e/eni(ent pro'ra(ul /a e?ecuta codul (etodei asociate e/eni(entului respecti/. .entru fiecare o*iect inclus =ntr5un for(ular c>t i pentru for(ularul respecti/8 (etodele i e/eni(entele aferente apar =n fereastra .roperties8 pa'ina Met#ods. .entru a ataa cod =n cadrul unei (etode aferent" unui o*iect8 se selectea$" (ai =nt>i o*iectul8 iar =n pa'ina 6et9o%s din fereastra Propert'es se /or afia toate (etodele i sec/en!ele asociate o*iectului respecti/8 fiecare cu /aloarea WDe/aultZ" ceea ce =nsea(n" c" fereastra de cod a (etodei respecti/e este /id" . .entru a desc#ide fereastra de cod a o*iectului selectat se e?ecut" du*lu clic pe (etoda respecti/" sau se selectea$" op!iunea Co%e din (eniul s#ortcut al for(ularului sau din su*(eniul V'eV. Fereastra aferent" codului unei (etode are ur("toarea structur" @ Cn caseta O*;ect /a apare o*iectul selectat. .rin ac!ionarea *utonului din dreapta casetei se /a desc#ide o list" derulant" con!in>nd toate o*iectele incluse =n for(ular. Cn partea dreapt" a ferestrei apare caseta Proce%ure care con!ine (etoda pentru care se /a scrie cod i =n acest ca$ prin ac!ionarea *utonului cu s"'eat" =n ;os apar (etodele i e/eni(entele asociate o*iectului selectat. Pr'$c'palele e+e$'me$te )' meto%e la $'+el %e /ormular .entru un for(ular e?ist" anu(ite e/eni(ente la care acesta poate r"spunde i pentru care utili$atorul tre*uie s" introduc" co(en$i Dsec/en!e de codE =n cadrul (etodelor asociate e/eni(entelor respecti/e. Ale'erea (etodelor =n care se /a introduce cod8 se face =n func!ie de tipul de o*iect i de (o(entul =n care se lansea$" Dapelea$" E (etoda respecti/" i presupune cunoaterea de c"tre proiectant a e/eni(entelor la care for(ularul i o*iectele incluse =n for(ular poate r"spunde. .rincipalele (etode asociate co(porta(entului unui for(ular i o*iectelor incluse =n for(ular sunt ur("toarele@ 1E I$'tB aceast" (etod" este apelat" la crearea for(ularului a/>nd rolul de ini!iali$are a acesteia. In acelai ti(p fiecare o*iect inclus =n for(ular poate a/ea (etoda sa Init proprie. Aceasta este apelat" atunci c>nd se creea$" o*iectul la rularea for(ularului. 2E Loa%G este apelat" i(ediat dup" crearea unui for(ular8 dar =naintea (etodei Init i altor (etode. a ur(are8 =n cadrul acestei (etode se pot include co(en$i de desc#idere a *a$ei de date8 a ta*elelor i de ini!iali$are a unor /aria*ile de lucru. %E U$loa%G este apelat" la ter(inarea pro'ra(ului i per(ite trans(iterea para(etrilor din cadrul for(ularului c"tre pro'ra(ul apelant prin co(anda RETURN cu sinta?a RE43RN V/aria*il" W. &E S9oVG per(ite afiarea pe ecran a unuei for(ular anterior creat. Dac" pe ecran se afiea$" (ai (ulte for(ulare unul sin'ur este acti/ 8 =n sensul c" repre$int" pentru utili$ator !inta intr"rilor. )E .ot&ocusG trecerea controlului de la un for(ular la altul sau =n cadrul aceluiai for(ular de la un o*iect la altul8 este controlat" de e/eni(entele GotFocus Dpreluare controlE i respecti/ LostFocus Dpierdere controlE.

,1

+E Set&ocusG per(ite transferul controlului de la un for(ular la altul sau de la un o*iect la altul8 =n cadrul aceluiai for(ular8 atunci c>nd trecerea are loc prin co(en$i introduse =n cadrul altor (etode. ,E Val'%G este una din (etodele frec/ent utili$ate i per(ite e?ecu!ia unei sec/en!e de co(en$i la trecerea de la un o*iect la altul =n cadrul for(ularului. Metoda este deci apelat" la p"r"sirea unui o*iect si =n func!ie de /aloarea returnat" de e?presie lo'ic" din cadrul co(en$ilor din Aalid8 se per(ite sau nu trecerea la o*iectul ur("tor. -E Re/res9G con!ine co(en$i pentru re>(prosp"tarea /alorii o*iectelor din cadrul for(ularului ca ur(are a unor (odific"ri efectuate cu aceste /alori. E?e(plu@ la calculul stocului ca ur(are a unor opera!ii de intrare]ieire =n (etoda Aalid a c>(purilor Intr"ri i respecti/ Ieiri se /a introduce co(anda. Refres# iar =n cadrul (etodei Refres# aferenta c>(pului 2toc /o( introduce co(anda 2tocf2tocYIntr"ri5 Ieiri 0E ReleaseG se apelea$" la ter(inarea pro'ra(ului i are rolul de a desc"rca Dter'eE for(ularul din (e(orie. Astfel dac" a/e( =n cadrul for(ularului un *uton de ieire8 =n (etoda licH aferent" 8/o( apela (etoda Release8 e/entual dup" =nc#iderea *a$ei de date8 astfel@ CLOSE DATABASES TDIS&OR68RELEASE 11E Cl'cUG este de ase(enea una dintre (etodele cel (ai frec/ent utili$ate8 fiind asociat" at>t *utoanelor de co(and" c>t i c>(purilor de preluare date din cadrul unui for(ular. De e?e(plu la e?ecu!ia unui clic pe un *uton de ieire se /a introduce =n (etoda licH aferent" *utonului co(en$ile de afiare (esa; ter(inare pro'ra( i co(anda de ter'ere a for(ularului DReleaseE. Sal+area )' rularea u$u' /ormular Dup" construirea unui for(ular acesta se sal/ea$" ca orice fiier8 prin selectarea op!iunii SAVE din &'le prin care se afiea$" fereastra Sa+e As =n care se introduce nu(ele fiierului repre$int>nd for(ularul. De ase(enea pentru sal/area for(ularului se poate selecta iconul aferent de pe *ara de instru(ente standard. Dac" se =nc#ide un for(ular =nainte de sal/are se /a afia o caset" de dialo' =n care se cere confir(area (odific"rilor dup" care pe ecran apare fereastra 2a/e As. Dac" se dorete sal/area for(ularului ca defini!ie de clas" se /a selecta op!iunea Sa+e as Class din &'le8 .entru lansarea n execuie a unui for(ular se pot folosi ur("toarele procedee@ 1. =n fereastra .ro;ect Mana'er se selectea$" pa'ina Docume$ts i apoi op!iunea &orms8 Din cadrul sec!iunii respecti/e se selectea$" denu(irea for(ularului i se ac!ionea$" *utonul Ru$8 2. din su*(eniul For( Dcare apare la afiarea unui for(ular pe ecranE se selectea$" op!iunea Ru$ &orm D 4RLYEE. %. de pe *ara de instru(ente standard se selectea$" picto'ra(a de lansare for(ular DaE sau se tastea$" co(anda@ DO &OR6 N$ume /ormularM .entru nc/iderea for(ularului acti/ se pot folosi ur("toarele /ariante@ se e?ecut" un clic pe *utonul de =nc#idere al for(ularuluiB se selectea$" op!iunea LO2E din (eniul de control al for(ularuluiB se introduce co(anda RELEA2E =n fereastra de co(en$i sau =n pro'ra(8

,2

codul (etodei sau e/eni(entului licH a unui *uton de ieire astfel@ T9's/orm8Release

UNITATEA :. DE4CRIEREA 7I UTILIZAREA OBIECTELOR GRAFICE OBIECTIVE unoaterea principalelor o*iecte 'rafice folosite =n cadrul unui for(ular i le'"tura lor cu sursa de dateB unoaterea propriet"!ilor i e/eni(entelor pentru principalele tipuri de o*iecte ale unui for(ular i a (odului de confi'urare a acestora. O.4ION GR3.8 LI24 7O[8 DRO. DOXN8 RE S 7O[8 OM7O 7O[8 4E[4 7O[8 OMMAND 7344ON.

CUVINTE CDEIE

Descr'erea )' ut'l'0area o<'ectelor 2ra/'ce O*iectele 'rafice folosite =n Aisual Fo? pot fi clasificate dup" (ai (ulte criterii@ 15 dup" posi*ilitatea de a include alte o*iecte@ 5 o*iecte container8 5 o*iecte si(ple. 25 dup" faptul dac" sunt sau nu /i$i*ile pe ecran la e?ecu!ie@ 5 o*iecte /i$uale8 5 o*iecte non5/i$uale. %5 dup" posi*ilitatea de a a/ea le'"tur" cu datele de prelucrat@ 5 o*iecte le'ate de date8 5 o*iecte nele'ate de date. &5 dup" (odul de utili$are@ 5 for(uri8 5 controale. Aceste clasific"ri de ordin 'eneral sunt aplica*ile oric"ror o*iecte 'rafice i i(plicit claselor din care fac parte. .ornind de la faptul c" Aisual Fo? este un siste( de 'estiune a datelor8 un rol i(portant =l are clasificarea =n o<'ecte le2ate sau $ele2ate %e %ate8 .rin ac!ionarea asupra unui o*iect le'at de date8 /aloarea pe care acest tip de o*iect o (e(orea$" este stocat" =n sursa de date Dta*el8 /aria*il" de (e(orie8 etc.E. Le'area unui o*iect de acest tip cu sursa de date se face set>nd proprietatea@ Co$trol Source sau Recor% Source. Aceast" proprietate (e(orea$" sursa de date la care este le'at un o*iect. Astfel8 dac" a/e( pe ecran un o*iect de tip Te?tBo? iar proprietatea Co$trolSource are /aloarea A$2ajat8 Salar8 atunci /aloarea afiat" pe ecran pentru o*iectul 4e?t7o? Dc>(p editareE /a fi /aloarea c>(pului 2alar din ta*ela An'a;at. Orice (odificare a /alorii o*iectului /a deter(ina auto(at i (odificarea acesteia din sursa de date. Aaloarea propriet"!ii ontrol2ource poate fi i nu(ele unei /aria*ile de (e(orie8 a c"rei /aloare se /a afia =n c>(pul de editare a o*iectului. Cn acelai ti(p /aloarea respecti/" din sursa de date este (e(orat" =ntr5o $on" aferent" unei propriet"!i a o*iectului nu(it" Value8 Aceasta se poate nu(i /aloarea o*iectului8 ea fiind /aloarea pe care o*iectul o =n(a'a$inea$". Atri*uind o /aloare acestei propriet"!i /o( putea (odifica /aloarea c>(pului din sursa de date. Dac" ac!ion"( asupra unui o*iect care nu este le'at cu o surs" de date8 proprietatea Aalue este sin'ura care se sc#i(*". Dup" e?ecu!ia for(ularului din care face parte o*iectul8 /aloarea respecti/" se pierde. Le'"tura dintre o*iectul i sursa de date se face =n func!ie de tipul de o*iect. a ur(are tipul de date din surs" depinde de tipul de

,%

o*iect. Astfel un o*iect de tip #ecH7o? nu poate fi pus =n le'"tur" cu o surs" de date de tip caracter deoarece el accept" /alori lo'ice. Pu$erea la %'spo0','a ut'l'0atorulu' a u$u' set %e op,'u$' pre%e/'$'te Cn ca$ul introducerii de date =ntr5o ta*el" printr5un for(ular8 e?ist" posi*ilitatea select"rii8 pentru anu(ite c>(puri a /alorii presta*ilite a acestora dintr5o ta*el" de tip no(enclator. Astfel de date se pot referi la@ nu(e client8 adres" client8 adres" furni$or etc. Aceste date8 care sunt finite8 deoarece i a'en!ii co(erciali ai unei fir(e sunt =n nu("r finit8 sunt (e(orate =ntr5o ta*el" separat" . La =nc"rcarea unei ta*ele care necesit" astfel de date8 =n loc s" introduce( aceste date (anual pentru fiecare a'ent co(ercial8 /o( folosi un o*iect de tip Com<oBo? care con!ine anu(ite c>(puri din ta*ela secundar" . .rin selectarea unor c>(puri din acest o*iect8 datele aferente sunt introduse auto(at =n ta*ela care se =ncarc". In felul acesta se ofer" utili$atorului un set de op!iuni predeter(inate. Acest (od de lucru asi'ur" un control auto(at al datelor de intrare8 =n sensul c" =n *a$a de date /or fi introduse nu(ai date /alide. .entru acest tip de introducere de date8 pute( folosi ur("toarele o*iecte@ 1. Grup de *utoane de op!iuni DOption roupE 2. asete cu list" i liste derulante D&ist!ox, "rop"oBn &ist!oxE %. asete de /alidare D1/ec@!oxE Ut'l'0area 2rupur'lor %e <utoa$e %e op,'u$' HO"tion Grou"I Grupurile de *utoane de op!iuni8 repre$int" o*iecte de tip container i con!in *utoane de op!iuni sau *utoane radio. Ele per(it utili$atorului ale'erea unei op!iuni din (ai (ulte /ariante posi*ile i nu introducere de date. Astfel8 pute( folosi un 'rup de *utoane pentru a specifica (odul de afiare a datelor unor prelucr"ri Dla i(pri(ant"8 pe ecran8 =ntr5un fiierE sau pentru a selecta anu(ite =nre'istr"ri dintr5un ta*el Dpri(a8 ulti(a8 ur("toarea8 precedentaE. 3n 'rup de *utoane de op!iuni8 se repre$int" pe ecran su* for(a unui dreptun'#i care con!ine dou" sau (ai (ulte cercule!e ur(ate fiecare de c>te un te?t. Fiecare cercule! poate con!ine punct sau spa!iu =n func!ie de faptul dac" *utonul a fost sau nu selectat. Grupul de *utoane de op!iuni poate apare i su* for(a unui 'rup de *utoane de co(and" te?tul cu nu(ele *utonului fiind afiat pe *utonul respecti/. ea (ai i(portant" dintre propriet"!i este Butto$Cou$t8 care se definete =nainte de a etic#eta *utoanele indi/iduale din cadrul 'rupului i repre$int" nu("rul de *utoane din 'rup. .rin (odificarea acestei propriet"!i utili$atorul poate include =n 'rup nu("rul de *utoane dorit. O alt" proprietate i(portant" este Value" care indic" la $'+elul 2rupulu' %e <utoa$e" nu("rul de ordine al *utonului selectat. La afiarea pe ecran a 'rupului de *utoane8 dac" proprietatea Aalue are /aloarea 18 atunci pri(ul *uton apare selectat8 dac" are /aloarea 28 al doilea *uton apare selectat8 etc. .roprietatea Value la $'+elul u$u' <uto$8 dac" are /aloarea 1 indic" *uton neselectat8 iar 1 sau alt" /aloare indic" *uton selectat. Fiecare *uton din 'rup poate a/ea una din cele dou" /alori. La rularea pro'ra(ului8 =n (o(entul select"rii unui *uton celelalte se deselectea$" auto(at. O alt" proprietate este Co$trol Source prin care se face le'"tura cu o surs" de date Dc>(p sau /aria*il" E. La ni/el de 'rup8 c>(pul sau /aria*ila /a con!ine fie nu("rul de

,&

ordine al *utonului selectat fie pro(pterul acestuia Dte?tul aferent *utonului selectatE =n func!ie de tipul c>(pului sau /aria*ilei. 4e?tul aferent fiec"rui *uton din 'rupul de *utoane este (e(orat de proprietatea aption. Ut'l'0area casetelor %e +al'%are HC+ecBBo-I Aceste o*iecte se folosesc pentru a specifica o stare cu( ar fi@ ade/"rat sau fals8 acti/at sau fals8 acti/at sau de$acti/at8 desc#is sau =nc#is8 fiind repre$entate pe ecran printr5o caset" care poate con!ine un si(*ol de *ifare sau spa!iu8 =n func!ie de selectarea sau nu a o*iectului8 ur(ate de un te?t. Cn cadrul unui for( pute( defini (ai (ulte o*iecte de acest tip din care utili$atorul poate selecta la un (o(ent dat unul8 (ai (ulte8 toate sau niciunul. Atunci c>nd utili$atorul selectea$" o caset" de /alidare =n interior apare se(nul de *ifare. a i =n ca$ul *utoanelor de op!iuni8 casetele de /alidare pot apare =n for(" 'rafic"8 respecti/ su* for(" de *utoane a/>nd afiat pe *uton titlul sau o i(a'ine8 prin setarea propriet"!ii 2tIle. Ut'l'0area casetelor cu l'st( )' l'st( %erula$t( HList Bo- )' Dro"do@n ListBo-I asetele cu list" DList7o?E i cele cu list" derulant" DDropdoGn List7o?E con!in ele(ente de un anu(it tip8 afiate par!ial sau total pe ecran8 =ntr5un dreptun'#i. Cntr5o caset" cu list" DList7o?E sunt /i$i*ile toate sau o parte din ele(entele listei8 =n ti(p ce =ntr5o list" derulant" DDropdoGn ListE8 =n starea neacti/at" 8 este /i$i*il un sin'ur ele(ent8 cel curent selectat. .rin e?ecu!ia unui clic pe *utonul cu s"'eat" =n ;os din dreapta casetei8 se afiea$" o list" derulant" 8 cu toate ele(entele casetei. Lista derulant" sau e?panda*il" repre$int" un o*iect o(*o7o? i este de dou" feluri =n func!ie de proprietatea 2tIle a o*iectului@ - cu posi*ilitatea de co(pletarea (anual" a ele(entului de selectat. Aceasta per(ite pe l>n'" selectarea unui anu(it ele(ent din list" dup" e?pandare8 introducerea (anual"8 prin tastare =n cadrul casetei8 =n locul ele(entului curent selectat a /alorii noului ele(ent care de/ine curent selectat Dproprietatea 2tIlef1 DropdoGn o(*oE. - cu selectarea ele(entului dorit din lista e?pandat" 8 f"r" posi*ilitatea de a introduce date. D2tIlef2 DropdoGn List7o?E. asetele cu list" DList7o?E se utili$ea$" =n ca$ul =n care e?ist" spa!iu suficient pe for( i dori( s" ("ri( perspecti/a utili$atorului asupra datelor din care tre*uie s" alea'"8 =n ca$ contrar8 pentru a face econo(ie de spa!iu se /a folosi o list" derulant" DDropdoGn List7o?E. aracteristica principal" a celor dou" tipuri de liste const" =n faptul c" ele ofer" utili$atorului un set de op!iuni predefinite8 din care acesta poate selecta op!iunea sau op!iunile dorite. Cn acest fel se si(plific" =n (od considera*il proceduta de introducere date la =nc"rcarea ta*elelor din *a$a de date8 prin faptul c" utili$atorul selectea$" din list" datele necesare8 =n loc s" introduc" (anual fiecare /aloare. Introducerea (anual" a datelor8 pe l>n'" faptul c" necesit" ti(p8 ("rete pro*a*ilitatea de introducere a unor date eronate. I$tro%ucerea %atelor ce $u pot /' pre%eterm'$ate Cn ca$ul =n care utili$atorul nu poate anticipa /alorile ce ur(ea$" a fi preluate =n cadrul unui o*iect de control se pot folosi ur("toarele controale@ casete de text, casete de editare, casete combinate.

,)

Ut'l'0area casetelor %e '$tro%ucere te?t HTe-tBo-I asetele de te?t8 repre$int" unul din cele (ai i(portante o*iecte de interfa!" utili$ate =n cadrul pro'ra(elor de introducere date8 deoarece per(it preluarea oric"rui tip de date cu e?cep!ia celor de tip Me(o i General. .rin inter(ediul lor utili$atorul poate ad"u'a sau (odifica datele unor c>(puri din =nre'istr"rile unui ta*el. Aaloarea afiat" =n caset" este stocat" =n /aria*ila sau c>(pul asociat casetei definit prin proprietatea ontrol 2ource8 c>t i =n $ona aferent" propriet"!ii Aalue aferent" casetei. Crearea u$e' casete %e te?t rearea acestui o*iect se face prin selectarea *utonului aferent de pe *ara cu instru(ente standard i trasarea cu (ouse5ul a $onei ocupate de o*iect pe suprafa!a for(ularului. Dup" definirea o*iectului se setea$" propriet"!ile acestuia i se definete con!inutul (etodelor asociate e/eni(entelor pentru caseta de te?t. O (odalitate (ai si(pl" de creare i confi'urare a propriet"!ilor unei casete de te?t o repre$int" utili$area instru(entului Te-tBo- Bui!der. Lansarea acestuia se poate face prin selectarea de pe *ara de instru(ente standard a picto'ra(ei aferente sau prin selectarea op!iunii 7uilder din (eniul 2#ortcut al o*iectului. Preluarea %atelor cupr'$se F$tr u$ '$ter+al %at Hcasete cu <utoa$e %e '$creme$tare %ecreme$tare Sp'$$ereI .rin utili$area acestui o*iect8 utili$atorul are posi*ilitatea controlului asupra datelor introduse =n prelucrare8 =n sensul =ncadr"rii lor =ntr5un anu(it inter/al. Acest o*iect se folosete8 =n special8 =n ca$ul datelor nu(erice. 3tili$atorul poate ale'e /aloarea de introdus8 fie prin ac!ionarea unor *utoane8 fie prin tastarea /alorii datei respecti/e. O*iectul de tip 2pinner apare ca i un c>(p de editare cu dou" *utoane8 unul de incre(entare8 altul de decre(entare8 plasate =n partea dreapt" a c>(pului de editare DcaseteiE. .rin ac!ionarea *utonului de incre(entare sau decre(entare8 cu a;utorul (ouse5ului8 are loc creterea sau descreterea /alorii din c>(pul de editare8 cu o /aloare fi?" sta*ilit" de utili$ator. Aaloarea (ini(" i respecti/ (a?i(" a c>(pului de editare c>t i cea cu care se (odific" cele dou" /alori se sta*ilesc la proiectarea for(ului care con!ine o*iectul de tip 2pinner. Acest o*iect se poate utili$a pentru introducerea de date =ntr5un c>(p din cadrul unei ta*ele8 sau ar putea repre$enta /aloarea indicatorului de =nre'istr"ri dintr5o ta*el"8 =n /ederea po$i!ion"rii pe =nre'istrarea respecti/"8 pentru (odificare sau ter'ere. Butoa$e %e coma$%( HCo&&and ButtonI 7utoanele de co(and" constituie unul dintre cele (ai frec/ent utili$ate o*iecte de interfa!" care apar =n cadrul unui for(. Ele se afiea$" pe ecran su* for(a unui dreptun'#i tridi(ensional8 con!in>nd =n interiorul s"u un te?t sau o i(a'ine. 4e?tul scris pe *uton se definete prin proprietatea aption ca la orice o*iect de control8 iar i(a'inea prin proprietatea .icture i repre$int" un fiier .7M. sau .I O. Cn cadrul unui for(ular se pot defini dou" tipuri de *utoane@ si(ple i i(plicite. La ni/elul unui for(ular se poate defini un sin'ur *uton i(plicit i unul sau (ai (ulte *utoane si(ple. Buto$ul 'mpl'c't este acti/at auto(at la ap"sarea tastei Enter sau spa!iu8 indiferent de po$i!ia cursorului. .entru a defini un *uton de tip i(plicit /a tre*ui ca proprietatea Default s" ai*" /aloarea ade/"rat D.4.E. .e ecran8 un astfel de *uton apare cu (ar'inea

,+

din dreapta i de ;os =n'roate. .rin ap"sarea tastei Enter se /a e?ecuta auto(at codul din cadrul (etodei asociate e/eni(entului licH a *utonului respecti/. 2electarea unui astfel de *uton se reali$ea$" prin e?ecu!ia unui clic pe *utonul respecti/. E/eni(entul cel (ai frec/ent aferent unui astfel de control este Cl'cU E+e$t8 a ur(are8 codul pentru ac!iunile de e?ecutat la acti/area unui *uton de co(and" se introduc =n (etoda licH asociat" e/eni(entului licH E/ent.
REBU6AT

&ormularul poate fi considerat ca o fereastr" a/>nd toate atri*utele unei ferestre su* XindoGs@ *ara de titlu8 caseta (eniului de control8 *utoane de (ini(i$are8 (a?i(i$are8 =nc#idere. In plus8 acestea repre$int" =n Aisual Fo?.ro un o*iect a/>nd ca toate celelalte o*iecte8 propriet"!i8 (etode i e/eni(ente asociate. Acestea definesc aspectul e?terior al for(ulare i deter(in" =n acelai ti(p co(porta(entul acestuia =n di/erse situa!ii. 6o%al't(,' %e creare a u$u' /ormular rearea unui for(ular se poate reali$a =n unul din ur("toarele (oduri@ 5 prin inter(ediul co(en$ilor li(*a;ului Aisual Fo?.ro 5 prin inter(ediul utilitarului For( Desi'ner 5 prin inter(ediul utilitarului For( Xi$ard A%(u2area o<'ectelor la u$ /ormular .entru ca un for(ular s" poat" fi rulat i s" e?ecute o anu(it" prelucrare D=nc"rcarea unui ta*el cu date sau actuali$area unui ta*el etc.E acesta tre*uie s" con!in" diferite controale sau o*iecte de control cu propriet"!ile confi'urate i codul surs" asociat e/eni(entelor. La un for(ular se pot ad"u'a@ co$troale" co$ta'$ere" clase %e/'$'te %e ut'l'0ator i o<'ecte OLE8 ontainerele sunt o*iecte care pot con!ine alte containere sau controale. Astfel8 un for(ular ca i container poate con!ine diferite controale D*utoane de co(and"8 casete de /alidare etc.E ontroalele pot face parte din containere8 dar nu pot con!ine alte o*iecte8 adic" nu pot fi p"rinte pentru alte o*iecte. .entru a ad"u'a un control =ntr5un for(ular se folosete *ara cu instru(ente &orm Co$trols. Dac" acesta nu este desc#is" i afiat" pe ecran8 pentru a o desc#ide se selectea$" din (eniul V'eV op!iunea &orm Co$trols Tool<ar. 7ara For( ontrols8 ca de altfel toate *arele de instru(ente8 este (o*il" B prin ur(are ea poate fi deplasat" pe ecran =n locul dorit. De o*icei8 aceasta se plasea$" =n (ar'inea ecranului pentru a r"(>ne li*er" suprafa!a for(ularului. .rin plasarea *arei pe (ar'inea ecranului aceasta se transfor(" =ntr5o linie /ertical" sau ori$ontal"8 opera!ia de (utare fiind nu(it" ancorare. &ereastra Propert'es Fereastra .roperties este co(un" for(ularului i tuturor o*iectelor din for(ular creat cu Aisual Fo?.ro. u a;utorul acestei ferestre /i$uali$"( i confi'ur"( propriet"!ile i (etodele for(ularului i ale o*iectelor din for(ular pe toat" durata proiect"rii acestuia. La desc#iderea unui for(ular8 fereastra .roperties /a afia propriet"!ile i (etode aferente for(ularului. .entru a edita sau (odifica aceste propriet"!i ale for(ularului sau ale unui alt o*iect inclus =n for(ular se /a selecta o*iectul din caseta O<ject8 Co$/'2urarea propr'et(,'lor )' meto%elor u$u' /ormular Fereastra .roperties afiea$" la desc#idere propriet"!ile i (etodele o*iectului curent selectat. .entru a edita propriet"!ile sau (etodele altui o*iect8 (ai =nt>i se

,,

/a selecta o*iectul respecti/ =n caseta O*;ect. In cadrul ferestrei .roperties se /a selecta apoi proprietatea sau (etoda ce ur(ea$" a fi (odificat" din lista Propert[ a$% E+e$ts i se tastea$" noua /aloare =n cutia de editare Propert[ Sett'$2 =n ca$ul unei propriet"!i. Scr'erea co%ulu' pe$tru e+e$'me$teleLmeto%ele u$u' /ormular Fiecare o*iect se caracteri$ea$" prin atri*utele stare i comportame$t8 2tarea unui o*iect se definete prin propriet"!ile sale8 iar co(porta(entul prin (etodele pe care pe poate e?ecuta i e/eni(entele la care poate r"spunde. .entru a ataa cod =n cadrul unei (etode aferent" unui o*iect8 se selectea$" (ai =nt>i o*iectul8 iar =n pa'ina 6et9o%s din fereastra Propert'es se /or afia toate (etodele i sec/en!ele asociate o*iectului respecti/8 fiecare cu /aloarea WDe/aultZ" ceea ce =nsea(n" c" fereastra de cod a (etodei respecti/e este /id". .entru a desc#ide fereastra de cod a o*iectului selectat se e?ecut" du*lu clic pe (etoda respecti/" sau se selectea$" op!iunea Co%e din (eniul s#ortcut al for(ularului sau din su*(eniul V'eV. Pr'$c'palele e+e$'me$te )' meto%e la $'+el %e /ormular .rincipalele (etode asociate co(porta(entului unui for(ular i o*iectelor incluse =n for(ular sunt ur("toarele@ 58 I$'tB aceast" (etod" este apelat" la crearea for(ularului a/>nd rolul de ini!iali$are a acesteia. 38 Loa%G este apelat" i(ediat dup" crearea unui for(ular8 dar =naintea (etodei Init i altor (etode. 38U$loa%G este apelat" la ter(inarea pro'ra(ului i per(ite trans(iterea para(etrilor din cadrul for(ularului c"tre pro'ra(ul apelant prin co(anda RETURN8 :8 S9oVG per(ite afiarea pe ecran a unui for(ular anterior creat . ;8 .ot&ocusG trecerea controlului de la un for(ular la altul. =8 Set&ocusG per(ite transferul controlului de la un for(ular la altul. >8 Val'%G este una din (etodele frec/ent utili$ate i per(ite e?ecu!ia unei sec/en!e de co(en$i la trecerea de la un o*iect la altul =n cadrul for(ularului. @8 Re/res9G con!ine co(en$i pentru re>(prosp"tarea /alorii o*iectelor din cadrul for(ularului ca ur(are a unor (odific"ri efectuate cu aceste /alori. A8 ReleaseG se apelea$" la ter(inarea pro'ra(ului i are rolul de a desc"rca Dter'eE for(ularul din (e(orie. 548 Cl'cUG este de ase(enea una dintre (etodele cel (ai frec/ent utili$ate8 fiind asociat" at>t *utoanelor de co(and" c>t i c>(purilor de preluare date din cadrul unui for(ular Rela,'o$area ta<elelor %'$ <a0a %e %ate Cn Aisual Fo?.ro rela!iile pe care le cre"( =ntre ta*ele cu a;utorul onstructorului *a$ei de date DData*ase Desi'nerE se nu(esc relaii persistente. Cn afara acestora se pot defini i relaii temporare sau dina(ice prin co(en$i introduse =n pro'ra(ele de prelucrare. a ur(are rela!iile te(porare sunt disponi*ile nu(ai =n (o(entul rul"rii pro'ra(ului =n care au fost definite dup" care ele nu (ai e?ist". 4a*elele =ntre care se creea$" o rela!ie se nu(esc@ tabel principal sau printe i respecti/ tabel secundar sau fiu. Cntre cele dou" ta*ele se pot defini ur("toarele tipuri de rela!ii@ - re!aie una2!a2unaG prin care unei =nre'istr"ri din ta*ela p"rinte =i corespunde

,-

TE6E CONTROL

B'<l'o2ra/'e

o sin'ur" =nre'istrare =n ta*ela fiu DcopilEB re!aii una2!a2&ai2&u!teG prin care unei =nre'istr"ri din ta*ela p"rinte =i corespund (ai (ulte =nre'istr"ri =n ta*ela copilB - re!aie &ai2&u!te !a2unaG prin care pentru o =nre'istrare =n ta*ela copil pute( a/ea (ai (ulte =nre'istr"ri =n ta*ela p"rinteB - re!aie &ai2&u!te2!a2&ai2&u!teB prin care unei =nre'istr"ri din ta*ela p"rinte =i pot corespunde (ai (ulte =nre'istr"ri =n ta*ela copil i in/ers adic" unei =nre'istr"ri din ta*ela copil =i pot corespunde (ai (ulte =nre'istr"ri =n ta*ela p"rinte. As'2urarea '$te2r't(,'' %atelor %'$ ta<elele le2ate F$tre ele pr'$ rela,'' perma$e$te .rintre (ecanis(ele care asi'ur" inte'ritatea *a$ei de date se nu("r" i cele pri/ind inte'ritatea entit"!ilor i inte'ritatea referen!ial". Inte'ritatea entit"!ilor este i(ple(entat" prin specificarea =n cadrul unei ta*ele8 a faptului c" nu pot accepta /alori nule c>(purile care repre$int" c#ei pri(are. I$te2r'tatea re/ere$,'al( Dreferen!ial inte'ritI5RIE definete un ansa(*lu de re'uli8 care per(it (en!ionarea inte'rit"!ii datelor din ta*elele le'ate =ntre ele8 la opera!iile de (odificare8 ad"u'are i ter'erea datelor din ta*elele respecti/e8 astfel =nc>t s" nu e?iste =nre'istr"ri neparticipante la rela!ie. I(ple(entarea acestor re'uli =ntre ta*ele se reali$ea$" prin inter(ediul unor restric!ii nu(ite restric!ii pentru inte'ritate referen!ial" DRI 9 constraintsE. 2pecificarea restric!iilor de inte'ritate referen!ial" i 'enerarea auto(at" a procedurilor aferente se reali$ea$" prin inter(ediul Generatorului de Inte'ritate Referen!ial" HRe/ere$t'al I$te2r't[ Bu'l%erI8 Aceasta per(ite8 de ase(enea8 preci$area ta*elelor p"rinte i fiu din cadrul unei rela!ii i a e/eni(entelor din siste( care i(pun (ediului Aisual Fo?.ro s" /erifice re'ulile definite. 2e /or ela*ora pro'ra(e de folosire a co(en$ilor de i(ple(entare a structurilor de control i a co(en$ilor de intrare]ieireB 2e /or ela*ora pro'ra(e de creare i utili$are a clasei for( i a o*iectelor de tip *uton de co(and". J2itarP2111K -

E-e&"!e de teste 'ri!,5 1. Cnc#iderea for(ularului acti/ se poate reali$a prin@ aE clic pe *utonul de =nc#idere al for(ularuluiB *E op!iunea LO2E din (eniul de control al for(ularuluiB *E co(anda RELEA2E =n fereastra de co(en$i sau =n pro'ra(B cE codul 4RI2FORM.RELEA2E =n e/eni(entul licH al unui *utonB dE toate de (ai sus. R"spuns@ d . 2. Metoda 90&0=S0 asociat" unui for(ular are rolul@ aE de a reali$a trecerea controlului de la un for(ular la altulB *E de a per(ite afiarea pe ecran a unei for(ular anterior creatB cE de a desc"rca for(ularul din (e(orieB R"spuns@ c .

,0

6ODULUL NU6CRUL @ RAPOARTE I 6ENIURI


CONCEPTE DE BABC Raport din punct de /edere conceptual o(ponentele unui raport =n AF. ontroalele raportului onstructorul de rapoarte Gestiunea rapoartelor Dcreare8 (odificare8 e?ploatare i ter'ereE Asisten!i pentru 'estiunea rapoartelor i utili$area lorB Meniuri i rolul lorB Fereastra constructorului de (eniuriB Op!iunile posi*ile la 'enerarea (eniurilor i su*(eniurilorB rearea i (odificarea (eniurilorB E?ploatarea (eniurilor. Fa(iliari$area cu se(antica 'eneral" le'at" de rapoarte. Fa(iliari$area cu structura rapoartelor din Aisual Fo?.ro. For(area deprinderilor de creare i utili$are a rapoartelor. Fa(iliari$area cu no!iunea de (eniu i ele(entele sale co(ponente rearea a*ilit"!ii de creare i utili$are (eniurilor =n Aisual Fo?.ro. 2e /or proiecta din punct de /edere conceptual (ac#ete de rapoarte i de (eniuri. 2e /or studia cu aten!ie constructorii celor dou" cate'orii. 2e /or crea diferite rapoarte i (eniuri pentru aplica!ii econo(ice. 2e /or testa opera!iile i op!iunile referitoare la (ana'e(entul celor dou" cate'orii. Dup" parcur'erea acestui (odul utili$atorul tre*uie s" fie =n ("sur" s" defineasc" i foloseasc" corect rapoartele i (eniurile i s" i(ple(ente$e pe *a$a lor aplica!ii co(ple?e din infor(atica econo(ic" i de afaceri. UNITATEA 1. RAPOARTE OBIECTIVE NO7IUNI CDEIE Fa(iliari$area cu se(antica 'eneral" le'at" de rapoarte. Fa(iliari$area cu structura rapoartelor din Aisual Fo?.ro. For(area deprinderilor de creare i utili$are a rapoartelor Raport o(ponentele unui raport =n AF. ontroalele raportului Asisten!i i utili$area lor

OBIECTIVE

RECO6ANDCRI PRIVIND STUDIUL

REBULTATE ATEPTATE

Cn literatura de specialitate e?ist" defini!ii (ai (ult sau (ai pu!in for(ali$ate ale acestui o*iect. O9aport E prezentarea informaiilor referitoare la o anumit tem. efectuat o*icei =ntr5o for(" tip"rit". \ 5rogramele de baze de date pot oferi funcii speciale de creare i generare de rapoarteP JMicrosoft00K.

-1

O9aportul este o extragere a datelor din baza de date. 0l poate fi tiprit pe ecranul calculatorului, sau pe orice alt dispoziti# de ieireP JSroenHe02K. Orice raport are ataate 2 fiiere. O ta*el" siste( special" cu e?tensia .FR[8 =n care sunt (e(orate specifica!iile raportului8 adic" caracteristicile raportului i ele(entele sale co(ponente. Acest fiier este interpretat de un (odul al 2G7D pentru afiarea raportului respecti/. .entru orice raport a/e( dou" (o(ente i( portante@ crearea (ac#etei raportului Dsi(plist crearea raportuluiEB e?ploatarea acestei (ac#ete D/i$uali$area raportuluiE. Structura u$u' raport 2tructura rapoartelor difer" =n principiu8 =n func!ie de for(atul de afiare al datelor i de co(ple?itatea acestuia. Datele pot fi afiate =n raport8 pe linii8 pe coloane sau co(*inat8 =n func!ie de do(eniul pentru care se ela*orea$" raportul. In ceea ce pri/ete co(ple?itatea rapoartelor8 unele pot afia date dintr5o sin'ur" ta*el"8 altele din (ai (ulte ta*ele. De ase(enea8 =n cadrul unui raport8 datele din ta*ele pot fi 'rupate pe ni/eluri8 confor( unor criterii de 'rupare definite de utili$ator. In acest ca$8 pentru fiecare ni/el de 'rupare se pot defini =nre'istr"ri totali$atoare D totaluri pentru anu(ite coloane sau c>(puriE c>t i un total 'eneral8 la ni/elul =ntre'ului raport. Cn Aisual Fo?.ro8 rapoartele repre$int" un o*iect de tip Report8 Din acest punct de /edere8 el are o structur" co(pus" din dou" p"r!i@ I. Structura %e %ate B include datele aferente raportului i este repre$entat" prin (ediul de date asociat raportului DData En/iron(entE unde se definesc datele aferente raportului su* for(" de ta*ele. II. Structura %e a/')areB con!ine *en$ile sau $onele care co(pun raportul i o*iectele incluse =n raport8 prin care se reali$ea$" le'"tura cu sursa de date. Crearea u$u' raport Ela*orarea unui raport se reali$ea$" pe etape8 astfel@ 1. onceperea proiectului de raport. 2. Definirea structurii de date8 respecti/ preci$area ta*elei sau ta*elelor din care se preiau datele de afiat. %. Lansarea 'eneratorului de rapoarte DReport Desi'nerE prin care se afiea$" pe ecran (ac#eta de raport. Raportul astfel o*!inut este /id. rearea unui raport se poate reali$a i cu instru(entul Report Xi$ard. &. Definirea sursei de date a raportului. ). Includerea =n raport a o*iectelor necesare8 pentru a face le'"tura cu sursa de date. +. 2al/area i pre/i$uali$area raportului. Crearea u$u' raport cu ut'l'tarul Report Des'2$er .entru a crea un raport /id Df"r" nici un o*iect inclus =n elE se pot folosi ur("toarele /ariante@ 1. se selectea$" din (eniul &'le op!iunea NeV8 iar din fereastra NeV8 *utonul radio Report i apoi *utonul de co(and" NeV&'le. 2. din fereastra .ro;ect Mana'er se selectea$" pa'ina Docume$ts i apoi sec!iunea Reports. 2e selectea$" apoi *utonul NeV8 care deter(in" afiarea pe ecran a

-1

ferestrei NeV Report din care se selectea$" *utonul cu acelai nu(e. Dac" /re( s" cre"( raportul cu utilitarul Xi$ard se /a selecta *utonul Report Xi$ard. %. prin utili$area co(en$ii CREATE REPORT N$ume raportM 2inta?a 'eneral" a co(en$ii REA4E RE.OR4 este@ CREATE REPORT W$ume_raport X ]Z WNOTAITZ WSAVEZ WTINDOT &ereastr(5Z WIN WTINDOTZ &ereastr(0 X IN SCREEN &ereastra co$structorulu' %e rapoarte a ur(are a folosirii uneia din cele % (odalit"!i de lansare a constructorului de rapoarte8 pe ecran se /a afia /ereastra co$structorulu' %e rapoarte cu titlul Report Des'2$er Report5 i *ara cu o*iecte de control DReportCo$trolE8 iar la (eniul siste( se adau'" su*(eniul Report. 2uprafa!a ferestrei este =(p"r!it" =n 0o$e sau <e$0'8 al c"ror nu("r %ep'$%e %e comple?'tatea raportulu'8 7en$ile raportului difer" =ntre ele8 at>t din punct de /edere al se(nifica!iei acestora8 c>t i din punct de /edere al frec/en!ei cu care sunt afiate datele *en$ii respecti/e. Astfel8 /a e?ista o *and" care /a con!ine titlul raportului i care /a apare o sin'ur" dat" pe pri(a pa'in"8 o *and" cu datele raportului8 care /a apare de at>tea ori c>te =nre'istr"ri se /or afia =n raport8 o *and" de sf>rit de pa'in"8 etc. Cn (od i(plicit8 la afiarea ferestrei Report Desi'ner8 aceasta con!ine % *en$i8 cu ur("toarele denu(iri i se(nifica!ii@ Pa2e Dea%erB con!ine antetul de pa'in"8 care se /a afia la =nceputul fiec"rei pa'ini din raport. In cadrul antetului de pa'in" se include denu(irea coloanelor raportului i e/entual data curent". Deta'lB repre$int" $ona principal" a raportului8 =n care se /or afia datele aferente raportului8 respecti/ =nre'istr"rile din ta*ela folosit" ca surs" de date. Fiecare =nre'istrare din ta*el /a ocupa o linie =n cadrul acestei $one. Pa2e &ooterB repre$int" $on" de sf>rit de pa'in"8 unde se poate afia nu("rul de pa'in". Cn (od supli(entar8 la raport se (ai pot ad"u'a i alte *en$i8 ca ur(are a select"rii unor op!iuni din (eniul Report. Aceste *en$i sau $one sunt ur("toarele@ T'p <a$%( T'tle &rec+e$,a %e a/')are 6o% %e a/')are 5 o sin'ur" dat" pe raport8 pe 5 prin selectarea op!iunii pri(a pa'in" T'tleLSummar[ din (eniul Report Colum$ Dea%er 5 o dat" pe coloan" 5 prin selectarea op!iunii Pa2eSetup din (eniul File .roup Dea%er 5 o sin'ur" dat" pe 'rup 5 prin selectarea op!iunii .roup'$2 din (eniul Report .roup &ooter 5 o sin'ur" dat" pe 'rup 5 prin selectarea op!iunii Groupin' din (eniul Report Colum$ &ooter 5 o dat" pe coloan" 5 prin selectarea op!iunii .a'e2etup din (eniul File Summar[ 5 o dat" pe raport 5 prin selectarea op!iunii 4itle]2u((arI din (eniul Report 2e(nifica!ia acestor *en$i este ur("toarea@

-2

1. T'tleLSummar[G 7anda 4itle con!ine titlul raportului i alte infor(a!ii supli(entare cu( ar fi@ si'la fir(ei i e/entual antetul de ta*el8 dac" acesta nu a fost inclus =n antetul de pa'in". Aceast" *and" se afiea$" prin selectarea op!iunii T'tleLSummar[ din (eniul Report. a efect pe ecran apare fereastra 4itle]Report cu cele dou" op!iuni@ T'tle i Summar[. Fiecare din cele dou" co(utatoare au asociat un alt co(utator nu(it NeVPa2e8 la acti/area c"ruia *anda respecti/" se /a afia pe o pa'in" nou". 2. .roup Dea%erG include c>(pul dup" care se reali$ea$" 'ruparea datelor =n raport i se afiea$" o dat" pentru fiecare 'rup. .entru includerea *en$ii =n raport se /a selecta op!iunea Data .roup'$2 din (eniul Report. 7anda se poate afia nu(ai dac" s5a reali$at =n preala*il 'ruparea datelor. %. .roup &ooterB include infor(a!ii referitoare la sf>ritul de 'rup8 respecti/ totaluri la ni/el de 'rup i e?plica!iile necesare. 7anda se afiea$" prin selectarea op!iunii Data .roup'$2 din (eniul Report8 &. Colum$ Dea%erB con!ine antetul de coloan" i se poate afia nu(ai dac" raportul con!ine cel pu!in dou" coloane. 2etarea nu("rului de coloan" se face prin selectarea op!iunii Colum$ Num<er din fereastra Pa2e Setup8 fereastr" care se afiea$" prin selectarea op!iunii cu acelai nu(e din (eniul File ). Colum$ &ooterB con!ine infor(a!ii pri/ind sf>ritul de coloan" i se afiea$" dup" selectarea nu("rului de coloane Dcel pu!in dou"E din fereastra .a'e 2etup. Propr'et(,' ale <e$0'lor )' raportulu' 1. Fiecare *and" /a afia =n raportul final un nu("r de instan!e ale sale =n func!ie de tipul de *and". 2. Fiecare $on" sau *and" a raportului are =n fereastra constructorului de rapoarte asociat" o *ar" prin care se deli(itea$" de alte $one. Fiecare *ar" sau $on" a raportului are anu(ite propriet"!i8 care pot fi (odificate de utili$ator. .entru a se seta aceste propriet"!i se face un du*lu clic pe *ara deli(itatoare a *en$ii dorite8 a/>nd ca efect afiarea pe ecran a unei ferestre cu titlul *en$ii respecti/e. %. 4oate ferestrele aferente unei *en$i au aceeai structur"8 doar denu(irea acestora difer" =n func!ie de tipul *en$ii la care se refer". In cadrul ferestrei aferent" unei *en$i se poate seta =n"l!i(ea *en$ii prin inter(ediul unui o*iect de tip 2pinner cu denu(irea Ri'#t sau se poate seta aceeai di(ensiune pentru toate instan!ele unei *en$i tot prin inter(ediul unui spinner cu nu(ele Co$sta$t <a$% 9e'29t. &. De ase(enea8 la afiarea unei instan!e a unei *en$i se pot specifica anu(ite prelucr"ri pentru dou" e/eni(ente aferente unei instan!e8 astfel@ aI =nainte de afiarea fiec"rei instan!e a *en$ii se poate e/alua o e?presie introdus" =n caseta O$ E$tr[. Dac" e?presia este (ai co(ple?"8 poate fi construit" i specific" =n fereastra E?pression 7uild care se desc#ide prin selectarea *utonului cu trei puncte din dreapta casetei On entrI. <I dup" fiecare afiare a instan!ei unei *en$i se poate e/alua o e?presie introdus" =n caseta O$ e?'t sau =n fereastra E?press'o$ Bu'l%. Cn afar" de propriet"!ile aferente *en$ilor8 un rol i(portant =l au proprietile aferente raportului =n ansa(*lul s"u8 care se refer" la@ 5 ("ri(ea pa'inii pe care se /a afia raportul 5 orientarea pa'inii

-%

5 (ar'inile e?terioare ale pa'inii 5 l"!i(ea coloanelor i spa!iile dintre ele =n ca$ul unui raport (ulticoloan" 5 tipul de i(pri(ant" =n ca$ul tip"ririi raportului la i(pri(ant". .entru a seta aceste propriet"!i se afiea$" pe ecran fereastra Pa2e Setup8 prin selectarea op!iunii cu acelai nu(e din (eniul &'le .rin selectarea *utonului Pr'$t Setup se afiea$" pe ecran o fereastr" =n care se poate seta tipul de i(pri(ant"8 di(ensiunea #>rtiei utili$ate la i(pri(are i orientarea acesteia DPortra't sau La$%scapeE. A%(u2area %e co$troale F$ ca%rul u$u' raport 4oate infor(a!iile afiate =n cadrul unui raport sunt specificate prin inter(ediul unor o*iecte. Aceste o*iecte se pot include =n cadrul unui raport8 prin preluarea lor din *ara Report Co$trols8 care se afiea$" pe ecran odat" cu lansarea constructorului de rapoarte. 7ara Report Co$trols con!ine + tipuri de controale. De ase(enea8 pe *ara cu instru(ente se (ai '"sete *utonul LocU care *loc#ea$" fiecare control selectat8 pentru a per(ite crearea auto(at" a (ai (ultor instan!e ale o*iectului respecti/8 c>t i *utonul cu s"'eat" =nclinat" spre st>n'a8 care per(ite selectarea unuia sau (ai (ultor o*iecte din *en$ile raportului. .entru includerea unui o*iect =n raport8 se selectea$" o*iectul dorit din *ara Report ontrols i se e?ecut" un clicH pe suprafa!a raportului8 unde dori( s" apar" o*iectul respecti/. a efect pe ecran se afiea$"@ - fereastra Report E?presionB dac" s5a selectat o*iectul Field - fereastra Report .ictureB dac" s5a selectat o*iectul .icture]OLE - o*iectul selectatB dac" s5a selectat LINE RE 4ANGLE8 RO3NDED RE 4ANGLE - cursorul8 dac" s5a selectat o*iectul La<el. Dup" includerea =n raport a unor controale8 =n func!ie de co(pel?itatea acestuia8 utili$atorul poate (odifica propriet"!ile oric"rui control8 prin efectuarea unui du*lu clic pe controlul respecti/. Aa cu( re$ult" din structura *arei Report ontrols8 =n raport se pot include trei cate'orii de o*iecte@ 5 <locur' %e te?t 5 c-mpur' 5 o<'ecte 2ra/'ce Hl'$''" %reptu$29'ur'" 'ma2'$'E. 2e(nifica!ia acestora este ase("n"toare cu cea de la for(ulare. Crearea u$u' raport cu ajutorul as'ste$,'lor Folosirea utilitarului TuicH Report .entru popularea unui raport cu date luate direct din ta*ela definit" ca surs" de date a raportului8 se folosete utilitarul \u'cU Report care este o aplica!ie de tip 7uilder. Lansarea utilitarului se face prin selectarea op!iunii \u'cU Report din (eniul Report8 dup" crearea unui raport /id cu Report Desi'ner. .rin ur(are8 dup" afiarea pe ecran a ferestrei Report Desi'ner8 repre$ent>nd (eniul /id8 se /a selecta op!iunea TuicH Report din (eniul Report. a efect8 pe ecran /a apare fereastra TuicH Report.

-&

Dac" =n (o(entul lans"rii utilitarului TuicH Report8 nu este desc#is nici un ta*el8 care s" repre$inte sursa de date a raportului ce /a fi creat8 pe ecran se afiea$" (ai =nt>i fereastra Open8 din care se /a selecta ta*ela dorit" dup" care se /a afia fereastra TuicH Report. Cn func!ie de op!iunile selectate din aceast" fereastr" /a fi creat un raport corespun$"tor. Cn acest scop se selectea$" (ai =nt>i din ta*ela care repre$int" sursa de date8 c>(purile care ur(ea$" a fi afiate =n raport8 prin ac!ionarea *utonului de co(and" &'el%sO a efect pe ecran se desc#ide fereastra Field .ic#er. In cadrul acestei ferestre8 se selectea$" c>(purile dorite din sec!iunea All Fields prin (utarea lor =n sec!iunea 2elected Fields i se ac!ionea$" *utonul OS8 a/>nd ca re$ultat re/enirea =n fereastra TuicH Report. Dup" sta*ilirea c>(purilor ce ur(ea$" a fi afiate se /a sta*ili po$i!ia acestora =n raport8 adic" pe ori$ontal" sau /ertical"8 prin selectarea celor dou" *utoane aferente8 din sec!iunea Field LaIout. Cn fereastra TuicH Report se (ai '"sesc trei co(utatoare cu ur("toarea se(nifica!ie@ 5 T'tlesB afiea$" denu(irea c>(purilor =n *anda de antet de pa'in" B 5 A%% Al'as B adau'" aliasul ta*elului la denu(irile c>(purilor B 5 A%% Ta<le B adau'" ta*elul =n fereastra Data En/iron(ent. Dup" selectarea acestor op!iuni8 prin ac!ionarea *utonului OS8 are loc ieirea din fereastra TuicH Report8 iar pe ecran se afiea$" structura noului raport care con!ine@ - *anda de antet de pa'in" cu denu(irea c>(purilor ce /or fi afiate B - *anda Detail cu c>(purile aferente B - *anda de sf>rit de pa'in" unde se include auto(at data curent" i nu("rul de pa'in". rearea unui raport cu Report Xi$ard rearea unui raport prin utili$area utilitarului Report Xi$ard8 presupune parcur'erea ur("toarelor etape@ - se lansea$" utilitarul Report Xi$ard i se selectea$" apoi tipul de raport - se parcur' cei ase pai solicita!i de Report Xi$ard pentru a a;un'e la for(a final" a raportului. La$sarea 2e$eratorulu' Report T'0ar% .entru lansarea 'eneratorului Report Xi$ard se selectea$" din fereastra Project 6a$a2er pa'ina Docume$ts i apoi *utonul NeVO. Din fereastra NeG Report care se afiea$" pe ecran se selectea$" *utonul Report T'0ar% care deter(in" afiarea pe ecran a ferestrei T'0ar% Select'o$. O alt" (odalitate de lansare a 'eneratorului Report Xi$ard const" =n selectarea din (eniul &'le a op!iunii NeG. Din fereastra NeG8 care apare pe ecran se /a selecta *utonul radio Report i apoi *utonul de co(and" Xi$ard8 a/>nd ca efect afiarea pe ecran a ferestrei T'0ar% Select'o$ i se ur(ea$" paii indica!i de acesta. 6e%'ul %e %ate al u$u' raport Compo$e$ta Data E$+'ro$me$t Datele afiate =n cadrul unui raport se preiau din diferite ta*ele8 care repre$int" sursa de date a raportului. Aceste date8 =(preun" cu anu(ite /aria*ile utili$ate =n raport8 alc"tuiesc me%'ul %e %ate al raportului. Acesta repre$int" =n Aisual Fo?pro un o*iect

-)

real8 =n sensul pro'ra("rii orientate pe o*iecte8 adic" are ataate anu(ite propriet"!i i (etode. Mediul de date se definete =n fereastra Data En/iron(ent unde se pot include ta*elele i /ederile necesare construirii unui raport. Afiarea ferestrei Data En/iron(ent8 se poate reali$a =n unul din ur("toarele (oduri@ A. prin selectarea op!iunii Data E$+'ro$eme$t din (eniul V'eV 7. prin selectarea op!iunii Data e$+'ro$me$t din (eniul s#ortout al ferestrei Report Des'2$er. . prin selectarea picto'ra(ei aferente ferestrei8 din *ara cu instru(ente Report Des'2$er8 2pre deose*ire de o*iectele din raport8 cele din fereastra Data En/irone(ent8 sunt o*iecte reale8 =n sensul c" au ataate propriet"!i8 r"spund la anu(ite e/eni(ente i e?ecut" sec/en!e de cod din (etodele aferente. a ur(are8 utili$atorul poate introduce cod Dsec/en!e de instruc!iuniE =n cadrul unor (etode pentru e/eni(entele care =nso!esc datele raportului. .ropriet"!ile8 (etodele i e/eni(entele asociate (ediului de date8 se pot /edea =n fereastra .roperties afiat" prin fereastra op!iunii .roperties din (eniul s#ortcut al ferestrei Data En/iron(ent8 sau din (eniul s#ortcut al unei ta*ele din cadrul ferestrei Data En/iron(ent. De ase(eni aceast" co(ponent" Dfereastra Data En/iron(entE reali$ea$" toate opera!iile le'ate de 'estiunea datelor necesare raportului astfel@ 5 desc#ide ta*elele aferente raportului e?istente =n fereastra Data En/iron(ent8 la lansarea =n e?ecu!ie a raportuluiB 5 aduce =n raport datele necesare din ta*eleB 5 =nc#ide ta*elele la ter(inarea e?ecu!iei raportului. .entru includerea =n fereastra Data En/iron(ent a ta*elelor necesare unui raport se pot folosi ur("toarele (odalit"!i de lucru@ 5 se face dra'5drop cu ta*elul dorit din fereastra .ro;ect Mana'er =n fereastra Data En/iron(entB 5 se selectea$" op!iunea A%% din (eniul data En/iron(ent sau din me$'ul s9ortcut al ferestrei Data En/iron(ent. a efect pe ecran apare fereastra A%% Ta<le or V'eV8 din care se selectea$" *a$a de date i ta*ela necesar". Dup" ad"u'area ta*elelor =n cadrul ferestrei Data En/iron(ent8 se sta*ilete inde?ul care se accesea$" datele din ta*el pentru a fi aduse =n raport. In acest scop8 =n fereastra .roprerties se selectea$" proprietatea Or%er8 repre$ent>nd ordinea de inde?are8 pentru ta*elul respecti/ i se introduce =n caseta aferent" un nu(e de inde? sau se ale'e un inde? din lista de indeci a ta*elei. Dup" inde?are8 =n fereastra Data*ase Desi'ner8 se poate defini o rela!ie te(porar" =ntre 2 ta*ele prin opera!ia dra'5drop a c9e'' pr'mare8 la c#eia e?tern" din ta*ela fiu. Sursa %e %ate a u$u' raport 2ursa de date a unui raport se poate defini =n (ai (ulte (oduri8 astfel@ 1. prin includerea ta*elelor necesare raportului =n fereastra Data En/iron(entB 2. prin folosirea unei fra$e 2ELE 4 din 2TL8 inclus" =ntr5un pro'ra( si(plu8 al"turi de co(anda de pre/i$uali$are a raportului. In fra$a 2ELE 48 se specific" prin op!iunea IN4O 3R2OR Vnu(ePta*elW8 nu(ele unei ta*ele te(porare care /a con!ine datele necesare raportului8. %. prin includerea fra$ei 2ELE 4 =n (etoda aferent" en/irone(entului INI4 a containerului Data En/iron(ent aferent raportului

-+

&. prin definirea unui pro'ra( si(plu =n care se introduce co(en$i pentru desc#iderea *a$ei de date8 a ta*elului8 utili$ate =n raport8 setarea inde?ului aferent ta*elului surs" i lans"rii =n e?ecu!ie a raportului ). prin includerea co(en$ilor de desc#idere a *a$ei de date i ta*elelor aferente raportului =n (etoda e/eni(entului clic asociat" unui *uton de co(and" de lansare =n e?ecu!ie a raportului. .ruparea %atelor F$ rapoarte Cn practic"8 foarte frec/ent rapoartele tre*uie s" con!in" infor(a!ii pri/itoare la 'rupe de articole din ta*elele de date pentru care sunt ele ela*orate8 'rupele respecti/e for(>ndu5 se pe anu(ite criterii. Fiecare criteriu de 'rupare este descris printr5o e?presie pe care o nu(i( e?presie de 'rupare sau c#eie de 'rupareB ea con!ine unul sau (ai (ulte c>(puri ale ta*elei de date pentru care se ela*orea$" raportul. Acele instan!e pentru care e?presia de 'rupare are aceeai /aloare8 alc"tuiesc un 'rup. Deci8 =ntr5un raport cu datele 'rupate dup" o c#eie de 'rupare8 e?ist" at>tea 'rupuri c>te /alori distincte are c#eia de 'rupare respecti/". Cn e?e(plul anterior8 de cate ori se sc#i(*" /aloarea c#eii care descrie anul se sc#i(*" 'rupul. Gruparea datelor se poate reali$a pe un ni/el sau pe (ai (ulte ni/ele de 'rupare. In 'eneral8 =n Aisual Fo?.ro nu("rul ni/elelor de 'rupare nu este li(itat. In ca$ul 'rup"rii datelor8 raportul /a con!ine pe l>n'" *en$ile care s5a /"$ut de;a c" le poate con!ine un raport8 i *en$ile pentru 'ruparea datelor. Astfel8 pentru fiecare ni/el de 'rupare se definete o *and" de antet de 'rup i o *and" de picior de 'rup. Antetul8 respecti/ piciorul fiec"rui 'rup /a con!ine infor(a!ii introducti/e8 respecti/ infor(a!ii de sinte$" referitoare la 'rupul respecti/. .entru 'ruparea datelor se selectea$" op!iunea Data .roup'$2 din (eniul /ertical Report sau e?ecut>nd un clicH cu *utonul din dreapta (ouse apare (eniul /ertical conte?tual din care se poate selecta op!iunea Data .roup'$2O 8Indiferent de (odul de lansare apare c#enarul corespun$"tor care are for(a din fi'ura al"turat". Dup" cu( se poate constata =n c#enarul Data .roup'$2 apare o list" si(pl" cu denu(irea .roup e?press'o$s8 Cn fiecare linie a listei se poate introduce c>te o e?presie de 'rupare. Cn ca$ul nostru a( introdus linia de studii8 sec!ia8 anul i ur(a s" introduce( 'rupa. .entru (odificarea acestei ordini se poate proceda cu( se procedea$" =n (od u$ual cu sc#i(*area ordinii ele(entelor dintr5o list" i anu(e @ sau se tra'e Dopera!ie de gdrag h E cu *utonul din st>n'a (ouse5ului ap"sat de *utonul din st>n'a op!iunii Dcel cu s"'eat" du*l"E8 =n sus sau =n ;os (ut>nd op!iunea8 sau se e?ecut" un clicH cu *utonul din st>n'a (ouse5ului i se tastea$" trlY.'3. pentru a (uta op!iunea cu o po$i!ie =n sus8 respecti/ trelY.'Dn pentru a o aduce cu o po$i!ie =n ;os. .entru introducerea e?presiei de 'rupare se poate fie tasta direct /aloarea e?presiei8 fie se poate e?ecuta un clicH pe *utonul din dreapta liniei respecti/e8 opera!ie care declanea$" apari!ia ferestrei constructorului de e?presii Dca =n fi'ura de (ai susE cu care se poate construi e?presia de 'rupare. .entru ter'erea unei e?presii de 'rupare se e?ecut" un clicH pe linia de ters i se e?ecut" cu clicH pe declanatorul "elte. Op!iunea curent" /a fi tears"8 iar op!iunile ur("toare /or a/ansa cu c>te o po$i!ie. Fiecare 'rup poate a/ea o serie de propriet"!i specificate prin c#enarul .roup propert'es8 2electarea *utoanelor din 'rup are ur("toarele se(nifica!ii@

-,

Start 2roup o$ $eV colum$8 respecti/8 Start eac9 2roup o$ $eV pa2e indic" faptul c" fiecare la fiecare sc#i(*are de 'rup se /a trece la coloan" Deste selecta*il nu(ai =n ca$ul rapoartelor (ulticoloan"E8 respecti/8 pa'in" nou". Reset pa2e $um<er to 5 /or eac9 2roup specific" faptul c" la sc#i(*area 'rupului se trece la pa'in" nou" i se =ncepe nu(erotarea pa'inilor =ncepe de la 1. Repr'$t 2roup 9ea%er o$ eac9 pa2e specific" faptul c" =n situa!ia =n care 'rupul /a fi pe (ai (ulte pa'ini8 antetul 'rupului /a fi tip"rit pe toate pa'inile8 dup" antetul de pa'in"8 nu nu(ai pe pri(a pa'in". Start 2roup o$ $eV pa2e V9e$ less t9a$ aceast" op!iune are un contor DspinnerE cu care se poate sta*ili distan!a (ini(" D=n nu("r de liniiE de la *a$a pa'inii la care poate =ncepe antetul unui 'rup pe pa'in". Ut'l'0area +ar'a<'lelor F$ ca%rul rapoartelor Cn unele situa!ii8 de e?e(plu dac" dori( calculul (ediei 'enerale pe 'rupe sau ani i dori( s" le afi"( =n liniile de su(ar8 a/e( ne/oie de /aria*ile. Aaria*ilele =n rapoarte se definesc astfel@ Din (eniul siste( select>nd op!iunea Report se selectea$" din (eniul /ertical op!iunea Var'a<les8 Apare fereastra Report +ar'a<les. Cn aceast" fereastr" se definesc nu(ele /aria*ilelor =n lista /ertical" Var'a<les8 A/>nd =n /edere c" ordinea de definire a /aria*ilelor este i(portant"8 /alorile acestora deter(in>ndu5se =n ordinea definirii8 aceast" ordine se poate sc#i(*a analo' ca =n para'raful precedent8 adic" tr"'>nd de s"'eata du*l" din fa!a nu(elui /aria*ilei sau e?ecut>nd un clicH iar apoi tast>nd P2Up sau P2D$. .entru fiecare /aria*il" pute( sta*ili /aloarea de (e(orat cu op!iunea Value to store sau /aloarea ini!ial" I$'t'al +alue8 Fiecare dintre cele dou" op!iuni are c>te un c#enar de editare unde se poate tasta nu(ele unui c>(p sau o e?presie. Dac" nu se dorete tastarea e?presiei se poate e?ecuta clicH pe *utonul din dreapta c#enarului i se lansea$" auto(at c#enarul constructorului de e?presii cu care se poate construi e?presia dorit". Asupra acestor e?presii se pot e?ecuta opera!ii de a're'are. De e?e(plu8 se dorete calcularea (ediei arit(etice (ediilor studen!ilor unei 'rupe. .entru aceasta a/e( un c#enar cu *utoane radio Calculate. Dac" se p"strea$" selectat *utonul Not9'$2 =nsea(n" c" =n /aria*il" se p"strea$" sau respecti/ /aria*ila este ini!iali$at" cu /aloarea e?presiei din c#enarul de tip te?t. Altfel se e?ecut" opera!ii de a're'are asupra e?presiei cu( ar fi@ nu("rarea8 se calcularea su(ei8 a /alorii (edii8 (ini(ului8 (a?i(ului8 a*aterii (edii p"tratice sau a dispersiei. .rin c#enarul de selec!ie Release a/ter report se poate sta*ili ca /aria*ila s" fie eli*erat" dup" ter(inarea raportului sau ulti(a /aloare s" r"(>n" i dup" ter(inarea raportului. 3lti(a op!iune este le'at" de ini!iali$area /aria*ilei i este Reset at8 Aceasta este o list" derulant" care poate a/ea diferite /alori =n func!ie de conte?t. Astfel a/e( =n totdeauna 0nd of 9eport8 dar pot fi 0nd of 5ag, 0nd of 1olumn, sau 0nd of roup. E?ploatarea rapoartelor .re/i$uali$area se reali$ea$" prin selectarea op!iunii Pr'$t pre+'eV din (eniul &'le8 Re$ultatul este apari!ia i(a'inii tip"rite i a unei care de instru(ente8 confor( fi'urii de

--

(ai ;os8 =n care *utoanele au ur("toarea se(nifica!ie @ treci la prima pagin, treci la pagina precedent, deplasare la o pagin dat, treci la pagina urmtoare, treci la ultima pagin nc/ide fereastra i tiprete. Cn *ara de instru(ente (ai apare i o list" desc#is" =n care se poate preci$a scala de afiare =n procente. E?ploatarea efecti/" a (ac#etei de raport se poate reali$a @ Din (eniul siste( select>nd op!iunea Ru$ Report din (eniul /ertical Report8 .rin co(anda REPORT8 UNITATEA 0. /ENIURI OBIECTIVE NO7IUNI CDEIE Fa(iliari$area cu no!iunea de (eniu i ele(entele sale co(ponente rearea a*ilit"!ii de creare i utili$are (eniurilor =n Aisual Fo?.ro. Meniuri i rolul lorB Fereastra constructorului de (eniuriB Op!iunile posi*ile la 'enerarea (eniurilor i su*(eniurilorB rearea i (odificarea (eniurilorB E?ploatarea (eniurilor.

Q 'eniu E list de opiuni din care utilizatorul o poate selecta pe cea necesar pentru o anumit aciune, cum ar fi alegerea unei comenzi sau aplicarea unui anumit format unei poriuni de document. &a mai multe programe de aplicaie, n special cele care dispun de interfa grafic, meniurile reprezint o alternati# mai uor de n#at i de folosit dec2t memorarea comenzilor i a utilizrii lor h JMicrosoft00K. Meniurile sunt de (ai (ulte feluri. .ri(ele (eniuri8 (eniurile clasice8 au fost utili$ate =n /ersiunile /ec#i de d7A2E i Fo?. Ele apar su* for(" de liste8 utili$atorul put>nd ale'e op!iunea prin tastarea unui identificator Dde e?e(plu nu("rul op!iunii =n list"E. O aplica!ie cu (eniurile *ine proiectate se =n!ele'e (ult (ai uor de c"tre *eneficiarii acesteia. De re'ul" principalele func!ii ale unei aplica!ii sunt incluse =n (eniu. Astfel8 de e?e(plu8 =n AisualFo? -.1 co(anda BroVse apare ca op!iune =n (eniul /ertical V'eV8 Cn acelai ti(p alte op!iuni cu( ar fi I$sert nu apar =n nici un (eniu sau su*(eniu. Din cele de (ai sus se poate o*ser/a c" (eniurile sunt =n principal de dou" tipuri@ Meniuri ori$ontale Dcu( este =n fi'ura de (ai sus (eniul principal al Aisual Fo?uluiEB acesta este for(at din op!iuni Ddenu(ite i pad5uriE. Acestea8 la r>ndul lor8 pot lansa o ac!iune sau un su*(eniu /ertical. Meniurile /erticale au o serie de op!iuni I D*are8 care la r>ndul lor pot lansa co(en$i8 alte su*(eniuri /erticale sau ori$ontale sau ferestre de dialo'. a i =n ca$ul rapoartelor8 =n 'estiunea (eniurilor a/e( dou" etape i(portante@ rearea siste(ului de (eniuri. E?ploatarea siste(ului de (eniuri. Crearea u$u' s'stem %e me$'ur'lor Indiferent de di(ensiunea i co(ple?itatea aplica!iei8 pentru crearea unui siste( de (eniuri sunt necesare o serie de etape. Nu("rul acestora difer" de la autor la autor. Cn esen!" =ns" aceast" acti/itate re/ine la ur("torii pai@

-0

.asul 1 @ 5 proiectarea siste(ului (eniului8 care const" =n sta*ilirea locului acestuia8 op!iunile utili$ate i su*(eniurile aferente8 c#ei rapide de acces8 etc. .asul 2@ 5 crearea (eniurilor i su*(eniurilorB .asul %@ 5 ataarea func!iilor i ac!iunilor de op!iunile (eniului cu( ar fi @ 5 afiare unor for(ulare sau casete de dialo' B 5 inserarea de cod de ini!iali$are de /aria*ile8 desc#ideri de fiiere etc. =nainte acti/area op!iunii B 5 inserare sec/en!elor de cod asociate diferitelor e/eni(ente le'ate de acti/area]de$acti/area op!iunilor sau (eniului B .asul & @ 5 'enerarea pro'ra(ului aferent (eniului B .asul ) @ 5 testarea siste(ului Dpro'ra(ului8 aplica!ieiE. Pla$'/'carea u$u' s'stem %e me$'ur' .lanificarea unui siste( de (eniuri este o opera!ie de anali$" i ca atare se efectuea$" de re'ul" independent de calculator fiind o opera!iune (i'"loas"8 dar de care depinde =n (are ("sur" succesul aplica!iei8 (odul =n care aceasta /a fi receptat" de utili$ator. Nu("rul reco(and"rilor pentru proiectarea (eniurilor poate fi (are i i(portant. Cn fa$a de proiectare se descriu fiecare op!iune. Astfel8 de e?e(plu la creare se /i$uali$ea$" un (eniu /ertical cu ta*elele care pot fi create. Dac" o ta*el" este creat" de;a i este utili$at" ea nu /a (ai fi selecta*il". Analo' se anali$ea$" i se descriu func!iile fiec"rei op!iuni. 2e sta*ilesc caracterele de acces Dcele su*liniate =n aa fel ca ele s" nu cree$e confu$ie. .entru unele op!iuni8 de e?e(plu pentru Oter'erea articolelor (arcate D.A SE pute( sta*ili co(*ina!ia de taste trlY.. Crearea )' mo%'/'carea me$'ur'lor rearea (eniurilor se poate reali$a prin (ai (ulte (etode. .ri(ele (eniuri au fost create cu a;utorul unor co(en$i de tip :saI8 :'et cu care se pot 'enera diferite o*iecte. Aceast" (etod" este destul de ane/oioas" pentru neinfor(aticieni8 (oti/ pentru care de;a =n Fo?.ro 2.)52.+ s5a recurs la un constructor 'rafic de (eniuri8 denu(it atunci 'enerator de (eniuri. a i =n ca$ul constructorului de rapoarte8 constructorul de (eniu lucrea$" =n dou" fa$e@ o =n pri(a fa$" se 'enerea$" o ta*el" siste( care are e?tensia MN[B o =n a doua fa$" se 'enerea$" pornind de la acesta un pro'ra( cu e?tensia M.R care se e?ecut" ca orice pro'ra( cu co(anda DO8 La$sarea co$structorulu' %e me$'ur' onstructorul de (eniuri8 denu(it Menu Desi'ner poate fi lansat din co(and" sau din (eniul siste(. o(anda de creare a unui (eniu nou are sinta?a@ CREATE 6ENU WNu&eFi$ier E FZ WNOTAITZ WSAVEZ WTINDOT Gindo@Na&e1Z WIN WTINDOTZ Gindo@Na&e0 X IN SCREEN Din aceast" sinta?" este i(portant" por!iunea@ CREATE 6ENU WNu&eFi$ier E FZ eilal!i para(etrii fiind de;a pre$enta!i =n sec!iunile anterioare. Dac" se lansea$" deci co(anda CREATE 6ENU test

01

apare fereastra constructorului de (eniuri. 2elect>nd declanatorul 6e$u se /a construi un (eniu ori$ontal cu op!iuni su* for(a unor (eniuri /erticaleG select>nd S9ortcut" /a apare un (eniu /ertical cu op!iuni su* for(a unor su*(eniuri /erticale. Dac" nu se preci$ea$" nu(ele fiierului sau se tastea$" se(nul =ntre*"rii8 apare ca i =n ca$ul cre"rii celorlalte o*iecte Dta*ele8 ferestre8 rapoarte etc.E se 'enerea$" te(porar cu nu(ele Menu18 iar =n (o(entul =n care se dorete 'enerarea pro'ra(ului siste(ul /a /i$uali$a fereastra standard a+e As cu care se poate fi?a nu(ele (eniului. rearea unui (eniu cu a;utorul (eniului siste( 1E 2e selectea$" op!iunea NeV din (eniul /ertical &'le8 2E Din fereastra NeV se selectea$" *utonul radio 6e$u i declanatorul NeV &'le8 %E Apare c#enarul NeV 6e$u i acti/itatea se continu". rearea unui (eniu din (ana'erul de proiect 1. 2e selectea$" op!iunea NeV din (eniul /ertical &'le8 2. Din fereastra NeV se selectea$" *utonul radio Project i declanatorul NeV &'le8 %. Apare fereastra constructorului de proiecte DFi'ura &.1E din care se poate selecta op!iunea Ot9er din (eniul /ertical sau etic#eta cu acelai nu(e. &. Apar op!iunile (eniului /ertical din fi'ura de (ai ;os. ). 2elect>nd op!iunea 6e$u i declanatorul NeV8 +. Apare fereastra NeV 6e$u. 6o%'/'carea %escr'er'' me$'ur'lor a i =n ca$ul cre"rii (eniurilor i =n ca$ul (odific"rii se poate proceda =n dou" (oduri. o(anda de (odificare a unui (eniu nou are sinta?a@ 6ODI&! 6ENU WFi!eNa&e X ]Z WWTINDOT Gindo@Na&e1Z WIN WTINDOTZ Gindo@Na&e0 X IN SCREENZZ WNOTAITZ WSAVEZ Din aceast" sinta?" este i(portant" por!iunea@ 6ODI&! 6ENU WNu&eFi$ier E FZ eilal!i para(etrii fiind de;a pre$enta!i =n sec!iunile anterioare. Dac" se lansea$" deci co(anda 6ODI&! 6ENU test /a apare fereastra 6e$u Des'2$ cu starea curent" a (eniului. Dac" se lansea$" co(anda@ 6ODI&! 6ENU apare fereastra OPEN din care se poate selecta (eniul dup" care apare fereastra 6e$u Des'2$er ca =n ca$ul precedent. 6o%'/'carea u$u' me$'u cu ajutorul me$'ulu' s'stem 2e selectea$" op!iunea Ope$ din (eniul /ertical &'le" dup" care se procedea$" ca =n ca$ul co(en$ii 6ODI&! 6ENU f"r" nu(ele fiierului (eniu. Sta<'l'rea u$or propr'et(,' )' co%ur' ale me$'ur'lor Aceste propriet"!i i coduri se pot sta*ili =n orice (o(ent al cre"rii sau (odific"rii (eniurilor din (eniul /ertical V'eV8 Sta<'l'rea propr'et(,'lor 2e$erale .entru sta*ilirea propriet"!ilor 'enerale se poate reali$a select>nd din (eniul /ertical V'eV op!iunea .e$eral Opt'o$s8 Aceasta /i$uali$ea$" fereastra cu acelai nu(e.

01

Cn $ona Proce%ure utili$atorul poate scrie o sec/en!" de pro'ra( care s" fie e?ecutat" la acti/area (eniului. Dac" codul nu =ncape =n c#enarul de editare acesta /a defila /ertical. Dac" utili$atorul dorete s" edite$e o sec/en!" (ai (asi/" de cos poate selecta declanatorul E%'t i /a apare o fereastr" de editare accesi*il" nu(ai =n (o(entul =nc#iderii ferestrei .e$eral Opt'o$s8 #enarul Locat'o$ per(ite sta*ilirea locului (eniului =n cau$" fa!" de (eniul siste(. Astfel8 dac" se las" selectat Replace8 acest (eniu /a =nlocui (eniul siste(. Dac" se selectea$" Appe$%8 (eniul actual se /a ad"u'a (eniului siste(8 iar dac" se selectea$" Be/ore sau A/ter8 =n dreptul *utonului apare o list" derulant" din care se poate selecta o op!iune din (eniul siste( =n fa!a c"ruia sau dup" care s" se insere$e (eniul curent. Dac" se selectea$" op!iunile Setup8 respecti/e Clea$up din c#enarul 6e$u co%e8 apare c>te un c#enar =n care se pot edita sec/en!ele de cod care s" fie e?ecutate auto(at la ini!iali$area (eniului8 respecti/e la ter'erea sa din (e(orie. Op!iunea Top le+el este le'at de /i$uali$area (eniului =ntr5un docu(ent SDI HS'$2le Docume$t I$ter/aceI. F"r" a intra =n a("nunte8 preci$"( c" dac" nu se selectea$" aceast" op!iune8 Aisual Fo?.ro lucrea$" =n re'i( 6DI H6ult'ple Docume$t I$ter/aceI adic" e?ist" o fereastr" principal"8 care este r"d"cina ar*orelui de docu(ente. Cn re'i( 2DI toate docu(entele sunt independente i la acelai ni/el. Sta<'l'rea co%ulu' pe$tru me$'u sau su<me$'ur' Acest cod se poate sta*ili select>nd din (eniul /ertical V'eV op!iunea 6e$u Opt'o$s8 Aa apare o fereastr" cu nu(ele (eniului sau su*(eniului pentru care se creea$" sau editea$" sec/en!a de cod i $ona de editare i declanatoarele cu se(nifica!ia din fereastra .e$eral Opt'o$s8 Crearea u$u' me$'u rap'% 2elect>nd la crearea unui (eniu nou op!iunea \u'cU 6e$u8 /a apare fereastra constructorului de (eniuri. At>t op!iunile (eniului ori$ontal c>t i a celor /erticale /or fi cele din (eniul siste(. 3tili$atorul poate (odifica acest (eniu sau poate 'enera un (eniu cu un nu(e dat. E?tensia i(plicit" a acestui pro'ra( /a fi M.R. .ro'ra(ul astfel o*!inut poate fi refolosit =n (eniul care se creea$" pentru re/enirea la (eniul siste(. 4re*uie s" (en!ion"( c" dac" nu se asi'ur" aceast" re/enire nu pute( continua e/entual acti/itatea cu Aisual Fo?.ro. .ute( o*ser/a c" re/enirea la (eniul siste( se poate reali$a i =n alte (oduri8 de e?e(plu8 'ener>nd co(anda@ SET S!S6ENU TO DE&AULT Co$stru'rea e/ect'+( a me$'ulu' )' su<me$'ur'lor Fereastra constructorului de (eniuri are =n st>n'a un c#enar =n care a/e( o list" /ertical" for(at" din % ele(ente@ #enarul de tip te?t Prompt este $ona =n care se definesc te?tele care /or apare =n cadrul op!iunilor8 de e?e(plu =n fi'ura de (ai sus RH,ile. Referitor la aceste te?te tre*uie s" su*linie( faptul c"8 aa dup" cu( se poate o*ser/a8 anu(ite caractere au =n fa!" si(*olul i. 2e(nifica!ia acestui fapt este@ Dac" iV este =n fa!a unui caracter8 acesta /a de/eni caracter de selec!ie =n sensul cunoscut din XindoGs8 adic"8 =n cadrul nu(elui op!iunii din (eniu /a apare su*liniat i dac" (eniul Dsu*(eniulE respecti/e este acti/e i se tastea$" caracterul respecti/ se lansea$" auto(at op!iuneaB

02

Dac" i sin'ur apare =n fa!a unei op!iuni8 aa dup" cu( se poate constata din e?e(plul de (ai ;os Dop!iunea reareE8 aceast" op!iune /a fi scris" (ai sla* i nu este selecta*il". oloana Result este o list" derulant" =n care se poate sta*ili re$ultatul ac!iunii de acti/are a op!iunii respecti/e din (eniu Dsu*(eniuE. Dac" este pri(a selec!ie a unui ele(ent din coloan" =n dreptul ele(entului respecti/e apare un declanator Create8 Ele(entele din lista derulant" pot fi@ Comma$% 9 indic" faptul c" prin selectarea op!iunii respecti/e din (eniu se dorete e?ecutarea unei sin'ure co(en$i. Dac" se selectea$" aceast" op!iune =n dreptul ei apare un c#enar de editare a te?tului co(en$ii care se dorete s" fie e?ecutate =n ca$ul select"rii op!iunii. Pa%Name Orice (eniu are dou" nu(e. 3nul este cel din interfa!"8 care apare =n coloana Prompt i unul care apare =n pro'ra(ul 'enerat cu e?tensia 86PR Dcare este nu(ele de PADE. Orice op!iune dintr5un (eniu are un nu("r DBAR`I . Dac" utili$atorul nu =i d" el un nu(e .AD5ului8 siste(ul /a 'enera auto(at un identificator. Acesta este fi?8 dac" este .AD siste( i se sc#i(*" de la 'enerare la alta dac" este .AD utili$ator. Dac" =n cadrul pro'ra(ului utili$atorul /rea s" utili$e$e un .AD8 el tre*uie s" foloseasc" nu(ele de .AD. 2ta*ilirea unui nu(e de .AD pentru un (eniu aferent unei op!iuni8 se poate reali$a =n c#enarul Prompt Opt'o$s8 Nu(ele standard de .AD5urilor siste( pot fi o*!inute cu a;utorul func!iei 2N2D211%E. Su<me$u5 lansea$" crearea]editarea unui su*(eniu. Fereastra de editare a unui su*(eniu este ase("n"toare cu cea a (eniului principal D7ar"E cu unele (ici (odific"ri. Astfel8 =n locul op!iunii PAD /a apare BAR` care este nu("rul intern al op!iunii. De e?e(plu8 tip"rirea are nu("rul intern8 care se poate o*!ine tot cu func!ia 2N2D211%E8 sau din crearea unui (eniu rapid DT3I S MEN3E i efectuarea unui clicH pe declanatorul E%'t i selectarea op!iunii P(fiPsIsprint. De ase(enea8 spre deose*ire de (eniul *ar"8 aici declanatorul INSERT BAR este accesi*il. Din fi'ura de (ai ;os se poate re(arca8 faptul c" op!iunile dintr5un (eniu /ertical se pot 'rupa. .entru a le 'rupa se tra'e o linie ori$ontal". .entru a insera o line de separa!ie =n coloana Prompt se utili$ea$" co(*ina!ia a 8 2e poate o*ser/a de ase(enea f"r" dificultate din fi'ur" dac" o op!iune dintr5un (eniu /ertical are un su*(eniu8 nu(ele lui este ur(at de un />rf de s"'eat". Nu("rul ni/elelor de (eniuri nu este li(itat. Proce%ure indic" faptul c" la selectarea op!iunii corespun$"toare din (eniu se dorete e?ecutarea unei proceduri Dsec/en!e de co(en$iE. Dac" se selectea$" op!iunea Proce%ure" apare al"turi de $ona respecti/" un declanator pe care scrie Create la crearea procedurii i respecti/ E%'t dac" procedura a fost de;a creat" i se dorete8 e/entual8 (odificarea ei. 3lti(a coloan" a acestei ferestre este Opt'o$s. Cn aceast" fereastr" pute( sta*ili op!iuni le'ate de o*iectul =n cau$". Dac" se selectea$" o op!iune8 de e?e(plu Ai$uali$are8 =n dreptul ei apare un *uton pe coloana Opt'o$s8 Efectu>nd un clicH pe *utonul respecti/e apare c#enarul Prompt opt'o$s cu a;utorul c"reia se pot sta*ili op!iunile dorite. Aceast" fereastr" are (ai (ulte c#enare. 5 .ri(ul c#enar S9ortcut8 are dou" $one de tip te?8 Ye[ La<el i Ye[ Te?t" cu a;utorul c"rora pute( defini co(*ina!ii de taste pentru apelul scurtcircuitat al (eniului sau al op!iunii8 analo' (etodei *inecunoscute din XindoGs8 Op!iunile au pentru scurtcircuitare CtrlJtast(. De e?e(plu8 pentru /i$uali$are se poate utili$a co(*ina!ia trlYA. Nu se ad(ite co(*ina!ia CtrlJ#8 Ini!ial cursorul de

0%

inserare este =n Ye[ La<el iar te?tul afiat este D5ress t/e @e+(8 Ac!ion>nd deodat" trlYA aceasta se =nscrie =n a(*ele $one. 3lterior8 ca =n e?e(plul nostru8 utili$atorul poate s" sc#i(*e te?tul =n $ona Ye[ Te?t. 5 #enarul Ne2ot'ate se utili$ea$" nu(ai =n situa!ia =n care titlul (eniului /a fi un container pentru un o*iect. Cn acest ca$ se poate sta*ili for(a containerului i sursa o*iectului. 5 SU'p /or per(ite sta*ilirea unei e?presii lo'ice care dac" ia /aloarea 4rue op!iunea nu este selecta*il". E?presia poate fi construit" i cu a;utorul Co$structorulu' %e e?pres''8 dac" se efectuea$" un clicH pe *utonul de l>n'" c#enarul de editare. 5 Cn c#enarul 6essa2e se poate introduce o e?presie de tip caracter care dup" e/aluare este afiat" pe linia de stare a ferestrei. 5 Pa% NameLBar` are se(nifica!ia de (ai sus8 cu o*ser/a!ia c" Pa% Name este utili$a*il nu(ai =n situa!ia utili$"rii unuia dintre pro(pterele diferite de PAD" iar BAR poate fi folosit nu(ai =n (eniurile conte?tuale. 5 P'cture 5 se utili$ea$" dac" =n st>n'a te?tului din (eniu sau =n (eniu se afiea$" un 'rafic sau se utili$ea$" o resurs" siste(. 5 Comme$t 9 per(ite editarea unui co(entariu ca i =n ca$ul 'ener"rii altor o*iecte. Re/enind la 6e$u Des'2$er" =n dreapta sus apare lista derulant" 6e$u Le+el" cu a;utorul c"ruia se poate sta*ili ni/elul de (eniu care este afiat curent. Dac" se dorete na/i'area =n (eniu8 de e?e(plu trecerea la (eniul *ar"8 se e?ecut" un clicH pe s"'eat" i din lista e?pandat" se selectea$" 6e$u Bar8 Cn felul acesta ne pute( deplasa pe structura ar*orescent" a (eniului.i Cn fereastra 6e$u Des'2$er a/e( i c#enarul Item cu patru declanatoare INSERT8 INSERT BAR" DELETE i 6OVE ITE6. u aceste se poate insera o op!iune =naintea unei alte op!iuni din (eniul *ar" DINSERTE. Cn acest ca$ apare o op!iune cu nu(ele standard NeV Item. Folosind INSERT BAR apare lista /ertical" I$sert S[stem 6e$u Bar din care dac" se selectea$"8 de e?e(plu8 NeV" se o*!ine linia aNeV din fi'ura de (ai ;os. Dac" se selectea$" *utonul 6o+e Item apare fereastra cu acelai nu(e8 iar din lista derulant" To Locat'o$ se poate selecta loca!ia din (eniu unde se dorete (utarea op!iunii. 3lti(a op!iune din fereastra 6e$u Des'2$er este Pre+'eV8 cu care pute( /i$uali$a =n orice (o(ent (odul de func!ionare a (eniului care se construiete sau se editea$"8 ca i =n ca$ul e?e(plului nostru. Op,'u$'le me$'ulu' +ert'cal 6e$u )' 2e$erarea me$'ur'lor Odat" cu lansarea co(en$ii de creare sau (odificare a unui (eniu8 =n (eniul *ar" /a apare op!iunea 6ENU8 Dac" se selectea$" aceast" op!iune apare un (eniu /ertical. Op!iunile (eniului au fost pre$entate anterior r"(>n>nd doar op!iunea de 'enerare. Deci8 dac" se sal/ea$" f"r" 'enerare (eniul8 se o*!ine ta*ela special" cu e?tensia 6NS. Dac" se selectea$" op!iunea .e$erate apare c#enarul cu nu(ele .e$erate 6e$u. Cn c#enarul Output &'le pute( (odifica nu(ele cu care se 'enerea$" (eniul Di(plicit este nu(ele cu care s5a 'enerat ta*ela 8m$?E i e/entual calea8 fie tast>nd direct8 fie utili$>nd un siste( BroVse cu a;utorul *utonului al"turat.

0&

Efectu>nd un clicH pe *utonul .e$erate se 'enerea$" auto(at pro'ra(ul cu e?tensia 8mpr" care se e?ecut" prin co(anda DO N$ume_me$'uM8mpr 4re*uie re(arcat c" e?ist" i alte (etode de creare a (eniurilor i op!iunilor cu( ar fi co(en$ile DE&INE PAD" DE&INE POPUP i DE&INE BAR De ase(enea8 Aisula Fo? .ro per(ite crearea unor (eniuri conte?tuale. Aceste (eniuri se utili$ea$" e?ecut>nd un clicH cu *utonul din dreapta pe un o*iect. Meniurile conte?tuale se creea$" ase("n"tor cu cele *ar"8 deose*irile fiind date nu(ai de faptul c" =n c#enarul NeV 6e$u se selectea$" declanatorul S9ortcut" =n loc de 6e$u8 iar (eniul este /ertical. REBU6AT Modulul este for(at din dou uniti. 5rima unitate este destinat" 'estiunii rapoartelor. .ro*le(ele principale tratare =n aceast" unitate sunt@ - 2tructura i planificarea unui raport8 din punct de /edere conceptualB o(ponentele unui raport =n AF.B ontroalele raportului i (odul de utili$are al acestoraB - 2tructura constructorului de rapoarte de rapoarte i (odul lui de utili$areB - Gestiunea rapoartelor Dcreare8 (odificare8 e?ploatare i ter'ereE - Asisten!i pentru 'estiunea rapoartelor at>t pentru rapoarte rapide c>t i utili$area Xi$ard5ului. = doua unitate este destinat" (eniurilor. .rincipalele pro*le(e tratate se refer" la@ - .ro*le(e conceptuale referitoare la (eniuri i rolul lorB - 2tructura i utili$area ferestrei constructorului de (eniuriB - Op!iunile posi*ile la 'enerarea (eniurilor i su*(eniurilorB - Gestiunea (eniurilor Dcreare8 (odificare8 ter'ereEB - E?ploatarea (eniurilor. 2e /or ela*ora aplica!ii le'ate de cele dou" te(e din (odul. 2e /or ela*ora aplica!ii co(ple?e de Infor(atic" Econo(ic" Afaceri. J2itarP2111K

TE6E DE CONTROL" APLICA7II B'<l'o2ra/'e

E-e&"!e de teste 'ri!,5 1. Cn *ara 4itle a unui raport se specific"@ aE titlul pa'iniiB *E titlul raportuluiB cE titlul sec!iuniiB R"spuns@ * . 2. Re/enirea la (eniul siste( se face prin@ aE co(anda LO2E ALL *E co(anda 2E4 2N2MEN3 4O DEFA3L4 cE co(anda MODIFN MEN3 ` dE niciuna de (ai sus. R"spuns@ * .

0)

S-ar putea să vă placă și