curs 3 sgbd

Upload: alexandru-luca-postescu

Post on 25-Feb-2018

242 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Curs 3 SGBD

    1/17

    1. Tipuri de date. Constante, operaii i funcii

    Datele (variabile sau constante) utilizate n programare pot fi simple sau subform de masiv de date (vectori, matrici, care presupun o ordonare a datelor dup uncriteriu depoziie). La rndul lor aceste dou categorii pot fi alctuite din date de tip:

    logic, care nu pot lua dect dou valori: .T. (adevrat) i .F. (fals);numeric;ir de caractere, reprezint o mulime ordonat de caractere, fiecare caracteravnd un numr de ordine n ir, numerotarea ncepnd cu 1. irurile decaractere (constante) se scriu ntre apostroafe sau ghilimele;calendaristic.

    1.1 Operatori i operanzi

    Se pot construi expresii, combinnd datele (operanzi) cu operaii specifice(operatori). Operatorii la rndul lor sunt de tip:

    logic, lucreaz cu toate tipurile de date i returneaz o valoare logic (.T. /.F.)

    Operator Aciune Cod( ) gruparea expresiilor

    logiceCvar1 AND (Cvar2 AND Cvar3)

    NOT, ! negare logic IF NOT CvarA = CvarB sauIF ! Nvar1= Nvar2

    AND I logic LvarX AND LvarY

    OR SAU logic LvarX OR LvarY

    unde Cvar variabil de tip caracter, Nvarvariabil de tip numeric,Lvar variabil

    de tip logic.

    CURS

    Tipuri de date predefinite inVisual FoxPro. Variabile3

    Sumar

    Tipuri de date. Constante, operaii i funcii

    Variabile Aplicaii propuse spre rezolvare n laborator

  • 7/25/2019 Curs 3 SGBD

    2/17

    Curs 3 SGBD 2 Mircea Musan

    2

    relaional, lucreaz cu toate tipurile de date, expresia este evaluat i sereturneaz o valoare logic .T. / .F.(adevrat / fals).

    Operator Aciune Cod< mai mic dect ? 23 < 54

    > mai mare dect ? 1 > 2 sau ?.t.>.f.= egal cu ? cVar1 = cVar, #, != diferit de ? .T. .F.= n_ani== comparare iruri de

    caractere? status == "Open"

    n cazul variabilelor de tip caracter operatorii relaionali funcioneaz princompararea codurilor ASCII corespunztoare caracterelor din cele dou iruri,comparaia fcndu-se caracter cu caracter, de la stnga la dreapta.

    Dac irurile care se compar nu au aceeai lungime, implicit se completeazirul mai scurt cu codul ASCII pentru caracterul 0.

    Operaia de egalitate a dou iruri de caractere este controlat de comanda:SET EXACT ON| OFF

    prin clauza OFF, implicit, se consider c cele dou iruri sunt egale n cazul cndcaracterele coincid pe lungimea celui mai scurt.

    prin clauza ON, egalitatea se verific pe lungimea irului mai lung, spaiile de lasfritul irurilor sunt ignorate.

    numeric, lucreaz cu toate tipurile de date numerice.

    Operator Aciune Cod( ) gruparea subexpresiilor (4-3) * (12/Nvar2)**, ^ exponent (putere) ? 3 ** 2 sau ? 3 ^ 2*, / nmulire, mprire ? 2 * 7 sau ? 14 / 7% restul mpririi (modulo) ? 15 % 4+, - adunare, scdere ? 4 + 15

    Ordinea operatorilor din tabel este cea folosit n matematic.Operaia modulo (%) se mai poate executa apelnd funcia MOD(n1,n2) care vacalcula restul mpririi numrului n1 la numrul n2.

    caracter, care permite concatenarea, compararea datelor de tip ir decaracatere, utiliznd urmtorii operatori:

    Operator Aciune Cod+ Concatenare. Se unescdou iruri de caractere, un ir

    i un cmp dintr-o nregistrare sau un ir de caracterei o variabil

    ? 'Bun ' + 'ziua'

  • 7/25/2019 Curs 3 SGBD

    3/17

    Curs 3 SGBD 3 Mircea Musan

    3

    - Concatenare. Se ndeprteaz spaiile goale de lasfritul elementului care precede operatorul, apoi seunesc cele dou elemente.

    ? 'Bun ' - 'seara'

    $ Comparare. Se caut un ir de caractere n interiorulaltui ir de caractere.

    ? 'punct' $contrapunct'

    ? 'principal' $clienti.adresa

    1.2 Date i funcii predefinite asociate tipurilor de date

    a) Date de tip numeric. Funcii aritmetice

    Expresiile de tip numeric pot fi:

    cmpuri de tip numeric (N), ntreg (I), virgul mobil (F) dintr-un tabel;funcii care returneaz o variabil (constant) numeric;variabile i constante de tip numeric.

    Scop / reprezentare matematic Funcie VFP

    restul mpririi exacte a lui n1la n

    2 mod (n

    1,n

    2)

    abs(x)

    partea ntreag a lui x int(x)urmtorul ntreg mai mare sau egal cu x (plafon) ceiling(x)

    urmtorul ntreg care este mai mic sau egal cu x (podea) floor(x)rotunjirea unei expresii numerice la un numr specificatde zecimale

    round(nExpr,nr_zecimale)

    ex

    exp(x)

    ln(x) log(x)log10(x)

    sqrt(x)

    sinx sin(x)cosx cos(x)tgx tan(x)arcsinx asin(x)arccosx acos(x)arctgx atan(x)trecerea din grade n radiani dtor(x)trecerea din radiani n grade rtod(x)alegerea numrului de zecimale n set decimals to n

    valoarea constantei PI()

  • 7/25/2019 Curs 3 SGBD

    4/17

    Curs 3 SGBD 4 Mircea Musan

    4

    b) Funcii financiare

    Scop Funcie VFP

    returneaz valoarea ratei necesare pentru achitarea unuimprumut s, cu dobnda d*, pe perioadanr** (anual saulunar)

    PAYMENT(s,d,nr)

    returneaz suma ce trebuie depus n cont pentru a plti orat s, pe o perioad nr(ani sau luni), dac dobndaacordat este d

    PV(s,d,nr)(Present Value)

    returneaz suma ce se poate strnge n cont, dup operioad nr(ani sau luni), dac dobnda este diar ratadepunerii este s

    FV(s,d,nr)(Future Value)

    *Argumentul d(dobnda) este utilizat n form zecimal (d=0.06 6%). Dac dobndasepreia sub form procentual se va mprii la 100. Implicit este dobnda anual.**Argumentul nr(perioada) este implicit exprimat n ani. Dac calculul se efectueaz

    pentru o perioad exprimat n luni, va terbui modificat corespunztor i dobnda(anual lunar).

    A. Funcia PAYMENT returneaz valoarea fiecrei pli, dintr-o serie periodic depli (rat), a unui mprumut s, cu dobnda fix d,pe o perioad nr.Sintaxa funciei: PAYMENT(s, d, nr )

    Exemplu 1: Firma DACIA vinde autoturisme care pot fi achitate n rate lunare, pe operioad de patruani. mprumutnd de la BRD suma de 6400 $ cu dobnda anual de8.9%, s se stabileasc care este rata lunar pe care trebuie s o achite un client.

    SET TALK OFF && anuleaza afisarea rezultatelor comenzilorCLEAR && curata spatiul de afisareSET CURRENCY TO ' $' && definirea simbolului monedeiSTORE 0 TO S, NR && initializarea variabilelor S, NR cu 0D=0. 00 && initializarea variabilei D (un alt mod de initializare)

    @3, 20 SAY ' STABI LI REA RATEI LUNARE PENTRU UN I MPRUMUT'

    @7, 15 SAY ' SUMA I MPRUMUTATA ?: ' GET S@9, 15 SAY ' DOBANDA ANUALA ( %) ?: ' GET D@11, 15 SAY ' I N CATE LUNI TREBUI E ACHI TAT I MPRUMUTUL ?: ' GET NRREAD && citirea ntregului ecran - variabilele editate cu @.. GET

    D=D/ 12/ 100 && transformare dobnda anuala procentuala, n dobnda lunara, exprimatazecimal

    @15, 20 SAY ' RATA LUNARA ESTE DE: 'SET CURRENCY RI GHT && setarea afisarii simbolului monedei la dreapta@15, 45 SAY PAYMENT( S, D, NR) FUNCTI ON ' $9999. 99' && afisarea rezultatuluifunctiei si a monedei

    WAI T WI NDOW ' APASATI ENTER'

  • 7/25/2019 Curs 3 SGBD

    5/17

    Curs 3 SGBD 5 Mircea Musan

    5

    B.Funcia PV returneaz valoarea sumei pe care trebuie s o avem n cont, pentru aputea plti o rat s, pe o perioad nr, pentru o dobnd anual dacordat de banc ladepozit. Sintaxa funciei: PV( s, d, nr )

    Exemplu 2: O firm trebuie s achite o chirie lunar de 300 $ pentru sediu, pe o

    perioad de 5 ani. Ci bani trebuie depui n cont la banca BCR, dac dobnda laacest tip de depozit este de 4% pe an.

    SET CLOCK ON && afisarea timpului dat de sistemul de operareCLEARSTORE 0 TO S, NRD=0. 00@3, 25 SAY ' STABI LI REA SUMEI NECESARE I N CONT PENTRU PLATA UNEI RATE;LUNARE'@7, 20 SAY ' RATA LUNARA ?: ' GET S@9, 20 SAY ' DOBANDA ANUALA ( %) ?: ' GET D@11, 20 SAY ' PERI OADA ( LUNI ) DE ACHI TARE A RATEI ?: ' GET NRREADD=D/ 12/ 100@15, 25 SAY ' SUMA I NI TI ALA DI N CONT TREBUI E SA FI E DE ' ;+ALLTRI M( STR( PV( S, D, NR) , 10, 2) ) +' $'* functia STR() transforma o valoare numerica ntr-un sir de caractere

    * functia ALLTRIM() elimina spatiile de la nceputul si sfrsitul siruluiWAI T WI NDOW ' APASATI ENTER'

    C.Funcia FV returneaz valoarea sumei ce se strnge ntr-un cont, n cazul n care sedepune o rat s, banca ofer o dobnd anual d, pe o perioad nr. Sintaxa funciei:FV( s, d, nr )

    Exemplu 3:Ce sum va strnge n cont un copil, care primete pensie alimentar timp

    de 10 ani, cte 50 $ pe lun, la o banc ce ofer o dobnd de 4% pe an ?

    CLEARSTORE 0 TO S, NRD=0. 00@3, 25 SAY STABI LI REA SUMEI STRANSE I N CONT DUPA O PERI OADA DE TI MP@7, 20 SAY RATA LUNARA ?: GET S@9, 20 SAY DOBANDA ANUALA ?: GET D@11, 20 SAY PERI OADA ( LUNI ) DE DEPUNERE A RATEI ?: GET NRREADD=D/ 12/ 100@15, 25 SAY SUMA STRANSA I N CONT ESTE

    +ALLTRI M( STR( FV( S, D, NR) , 10, 2) ) + $WAI T WI NDOW APASATI ENTER

    c)Date i funcii de tip caracter

    Operanzii de tip caracter pot fi:cmpurile de tip CHARACTER ale unui tabel;funciile care returneaz un ir de caractere;variabile i constante de tip ir de caractere.

    O constant de tip ir de caractere se trece ntre caracterele , resprectiv, .

  • 7/25/2019 Curs 3 SGBD

    6/17

    Curs 3 SGBD 6 Mircea Musan

    6

    Dac irul de caractere conine n componena sa caracterul () atunci pentrudefinirea irului se folosesc caracterele ( ).

    Scop Funcie VFP

    Returneaz caracterul corespunztor codului ASCIIn(I=1...127)

    CHR(n)

    Returneaz codul ASCII pentru un caracter c ASC(c)Extragerea unui subir de de caractere, de lungimen

    2, din irul s, ncepnd cu poziia n

    1

    SUBSTR(s,n1,n2)

    Extragerea unui subir de ncaractere, ncepnd dinstnga irului s

    LEFT(s,n)

    Extragerea unui subir de ncaractere, ncepnd dindreapta irului s

    RIGHT(s,n)

    Returnarea unui ir de caractere s,n mod repetat denori

    REPLICATE(s,n)

    Obinerea unui ir de nspaii goale SPACE(n)Eliminarea spaiilor ntr-un ir de caractere:de la nceputul i sfritul irului sde la nceputul irului sde la sfritul irului s

    ALLTRIM(s)LTRIM(s)RTRIM(s)

    Adugarea de spaii, sau a unui caracter c_pad, ntr-un ir spentru a ajunge la lungimea n:la ambele capetela stngala dreapta

    PADC(s,n[,c_pad])PADL(s,n[,c_pad])PADR(s,n[,c_pad])

    Returneaz lungimea unui ir de caractere s LEN(s)Returneaz poziia de nceput, la a n-a apariie, aunui subir de caractere ssntr-un ir de caractere s

    AT(s,ss,n)

    Returneaz poziia de nceput, la a n-a apariie, aunui subir de caractere ssntr-un ir de caractere s,fr a se ine seama de litere mari/mici

    ATC(s,ss,n)

    Returneaz poziia numeric, la a n-a apariie, a unuisubir de caractere ss ntr-un ir de caractere s,ncepnd cutarea de la dreapta

    RAT(s,ss,n)

    Transformarea caracterelor unui ir s n litere mari UPPER(s)

    Transformarea caracterelor unui ir sn litere mici LOWER(s)Transformarea primului caracter al unui ir s, daceste o liter, n majuscul

    PROPER(s)

    d)Date i funcii de tip calendaristic

    Expresiile de tip dat calendaristic pot fi:cmpuri de tip dat calendaristic (DATE), dintr-un tabel;funcii care returneaz data calendaristic;

    constante de tip dat calendaristic.

  • 7/25/2019 Curs 3 SGBD

    7/17

    Curs 3 SGBD 7 Mircea Musan

    7

    O dat de tip dat calendaristic precizeaz ziua, luna, anul, ordinea acestor 3elemente poate fi aleas din 11 moduri, cu ajutorul comenzii:

    SET DATE TO unde:

    tip_dat Format

    AMERICAN ll/zz/aaANSI aa.ll.zzBRITISH zz/ll/aaFRENCH zz/ll/aaGERMAN zz.ll.aaITALIAN zz-ll-aaJAPAN aa/ll/zzUSA ll-zz-aaMDY ll/zz/aa

    DMY zz/ll/aaYMD aa/ll/dd

    Cele 3 elemente pot fi separate cu /, -, .. Implicit se consider formatul: ll/zz/aa.Cu comanda:

    SET CENTURY ON|OFFse poate preciza dac anul este este afiat cu 2 cifre (ON) sau 4 cifre (OFF).Comanda:

    SET MARK TO precizeaz ce caracter se va folosi ca separator ntre cele 3 elemente ale datei.

    Funcii pentru datele de tip dat calendaristic sunt date n tabelul urmtor:Scop Funcie VFP

    Returneaz data din sistem(calculator) DATE()Numele zilei dintr-o expresie de tip dat d CDOW(d)A cta zi din sptmn dintr-o expresie de tip dat d DOW(d)

    Numele lunii dintr-o expresie de tip dat d CMONTH(d)A cta lun din an dintr-o expresie de tip dat d MONTH(d)Izolarea anului dintr-o expresie de tip dat d YEAR(d)Returneaz ora din sistem (calculator) TIME()

    Returnarea sub form de ir de caractere, n formataaaallzz a unei expresii de tip dat calendaristic d

    DTOS(d)

    Folosirea ntr-un program a unei constante de tip dat calendaristic, se facentre acolade { aaaa/ l l / zz}, unde aaaareprezint anul (scris folosind patru cifre),l l reprezint luna, iar zz ziua n cadrul anului respectiv.

    O constant de tip moment de timp se specific astfel: { aaaa/ l l / zz,oo: mm: ss xM}, unde:

    -aaaa

    reprezint anul,l l

    reprezint luna, iarzz

    reprezint ziua; acest formatpoate varia n funcie de comenzile SET DATE, SET YEAR, etc.;

  • 7/25/2019 Curs 3 SGBD

    8/17

    Curs 3 SGBD 8 Mircea Musan

    8

    - oo reprezint ora n cadrul zilei (de la 0 la 12 sau de la 0 la 24, n funcieprezena sau de absena construciei AMsau PM), mmreprezint minutele, iar ss secundele;- xMpoate fi AM (AnteMeridian), indicnd c ora respectiv este nainte de

    prnz (ora 12:00), sau PM(PostMeridian), cnd ora se situeaz dup prnz.

    Spre deosebire de cazul datelor calendaristice, efectul aplicrii operatorilor+ i - asupra unor date de tip moment de timp este acela de avans i respectiv derecul cu numrul de secunde respectiv.

    e) Date de tip memo

    Acest tip de date este asemntor tipului ir de caractere. Este indicatfolosirea datelor de tip memo n cazul n care un cmp al unei nregistrri dintr-untabel, nu are o lungime cunoscut (sau care nu poate fi aproximat). Utilizarea unui

    cmp memo ntr-un tabel, are ca efect asocierea la tabel a unui fiier suplimentar ncare se depun datele cmpului memo. n tabel, n cmpul memo sunt stocateinformaii referitoare la tabelul suplimentar.

    f) Funcii de conversieFuncii de conversie din grade n radiani si invers

    DTOR (nExpr)RTOD (nExpr)

    unde, nExpreste o expresie numeric

    transformarea unei date calendaristice intr-un sir de caractereDTOC (dExpr)DTOS (dExpr)MDY (dExpr)DMY (dExpr)

    unde, dExpreste o expresie dat calendaristic transformarea unui sir de caractere in data calendaristica

    CTOD (cExpr)unde, cExpreste o expresie caracter ir de caractere transformarea valorilor numerice in siruri de caractere

    STR(nExpr[, nLength[, nDecimalPlaces]])

    unde, nLengthlungimea exact a irului, nDecimalPlacesnumrul de zecimaledup virgul transformarea sirurilor de caractere in valori numerice

    VAL(cExpr)

    Exemplu 4: Se va scrie o rutin pentru exemplificarea lucrului cu date ale unor tipuri

    predefinite.

    cl ear

    * Ti pul l ogi c

    ?not ( 1=3)?( 13)?6

  • 7/25/2019 Curs 3 SGBD

    9/17

    Curs 3 SGBD 9 Mircea Musan

    9

    *Ti pul numeri c?mod( 38, 6) && echi val ent ul l ui %?mod( 44. 44, 11. 11)

    ?abs ( - 400) && r eturneaza absol ut ul unui numar

    ?si gn( - 32) && semnula=- 2/ 3?a=si gn( a)*abs( a)

    ?i nt ( 14. 46)a=14. 46?a- i nt ( a) && par t ea zeci mal a

    ?r ound( 14. 4, 2) && r otunj i r e cu un numar de zeci mal e pr eci zat e

    ?exp( 2) && e l a x?l og( 2) && l n x?l og10( 2)

    ?sqrt(2)

    *Ti pul si r de car act er e?l en( ' St r ada i on Rat i u' +' nr . 10' ) && r et ur neaza l ungi mea si r ul ui decar act er e?chr ( 49) && car act er ul al car ui cod este 49?asc(' 1' ) &&codul ASCI I al car at er ul ui ' 1'?subst r ( ' ABCDEF' , 2, 3) && ext r agere di n pozi t i a a doua pe 3 car act ere?subst r ( ' ABCDEF' , 2) && ext r agere di n pozi t i a a dua

    ?l ef t ( ' ABCDEF' , 2)?r i ght ( ' ABCDEF' , 2)?space( 6) +r epl i cat e( ' a' , 5)

    *al l t r i m( ) el i mi na t oat e spat i i l e goal e*l t r i m( ) el i mi na t oat e spat i i l e goal e di n st anga*r t r i m( ) el i mi na t oat e spat i i l e goa; l e di n dr eapt a

    ?padl ( ' Exempl u' , 40, ' - ' )?padr ( ' Exempl u' , 40, ' - ' )?padc(' Exempl u' , 40, ' - ' )

    ?upper ( ' Al Fa' )? l ower( ' Al Fa' )?proper ( ' Al Fa' )

    *Ti pur i de date pent r u gest i unea t i mpul uiset cent ur y onset dat e t o br i tset mar k t o ' . 'set hour s t o 24set seconds on

    st ore { 1999/ 03/ 24} to data_c?dat a_c

    ?dat e( ) && data di n si st em?day(dat e( ) )?mont h( date( ) )?year(date())

    ?dat et i me( )

  • 7/25/2019 Curs 3 SGBD

    10/17

    Curs 3 SGBD 10 Mircea Musan

    10

    ?t i me( )?hour ( dat et i me( ) )?mi nut e( dat et i me( ) )?sec( dat et i me( ) )

    *Conversi i i nt re t i pur i

    *a) si r de car ct er e - numar?st r ( 13. 34, 7, 3) && 7 e nr de caracter e i ar 3 el emnt el e de dupavi rgul a?val ( ' 13. 34' )

    *b) dat a cal endar i st i ca - si r de car act er e?dtoc( { 1990/ 10/ 02})?ct od( ' 10/ 02/ 1990' ) && pt r a f ost def i ni t modul br i t ani c de dat a

    2. Variabile2.1 Folosirea variabilelor

    O variabil are asociate urmtoarele elemente:numeleconinutultipul variabilei

    Din punct de vedere al utilizrii lor, variabilele pot fi: locale, acioneaz ntr-o funcie sau procedur. Declararea utilizrii lor se

    face cu comanda:

    LOCAL -variabilele se declar prin nume i tip.

    globale, acioneaz la nivelul ntregului program, inclusiv n funcii iproceduri. Declararea utilizrii lor se face cu comanda:

    PUBLIC Atribuirea de valoriunei variabile se face cu sintaxa:

    =Efectul comenzii: se evalueaz expresia din dreapta, se caut dac variabila a fost

    definit i i se atribuie valoarea i tipul expresiei.Atribuirea se mai poate face utiliznd comanda:

    STORE TO Efectul comenzii: se evaluaz expresia i se atribuie variabilelor din list, valoarea itipul ei.

    Eliberarea zonelor de memorie ocupate de variabile care nu mai sunt necesare nprogram se face cu una din comenzile:

    RELEASE [ALL] CLEAR [ALL]

    Afiarea coninutului variabilelorexistente n memorie se face cu comenda:DISPLAY MEMORY [TO PRINTER[PROMPT] | TO FILE nume_fiier]

    [NOCONSOLE]unde:

  • 7/25/2019 Curs 3 SGBD

    11/17

    Curs 3 SGBD 11 Mircea Musan

    11

    TO PRINTER[PROMPT] ieirea la imprimant. Clauza PROMPT se folosetepentru a confirma imprimarea, ntr-o fereastr de dialog;TO FILE nume_fiierieirea direcionat ctre un fiier;[NOCONSOLE] mpiedic afiarea n fereastra principal VFP, a rezultatelorcomenzii.

    Exemplu 5:pr ocedur e testpr i vat e cpubl i c dc=3d=4note aici se cunosc variabilele a,b,c si d

    ?' a=' , a?' b=' , b?' c=' , c?' d=' , d

    Rezultatul n urma rulrii rutinei anterioare este cel descris ulterior:

    2.2Expresii de substituie

    Macro substituia trateaz coninutul unei variabile ca un ir de caractere n sens literal(cmpul unei nregistrri dintr-o tabel, nume de fiier etc.), ca i cum n loculvariabilei respective ar fi pus irul de caractere fr apostrofuri.

    Sintaxa comenzii: & nume_variabil

    Exemplu 6: Presupunem c avem 2 fiiere tabel St udent 1. DBF ( Nume,Pr enume, Facul t ate) i St udent2. DBF ( Not a1, Nota2, Nota3) . Vrem sle vizualizm coninutul ntr-un ciclu FOR.

    PUBLI C FI S C( 20)FOR I =1 TO 2

    FI S=' St udent ' +ALLTRI M( STR( I ) ) +' . DBF'USE &FI SBROWSE

    ENDFOR

    CLOSE DATABASES

    2.3 Expresia de nume

    Aceste expresii sunt de forma: nume_var i abi l . Este utilizat oriunde ntr-

    o instruciune, unde este vorba de un nume (nume de tabel, cmp, fiier). String-ul

    coninut de variabil este numele care va fi folosit de instruciune.

    Ex.: USE ( var t ) I NDEX ( var i nt ) - e mai bun dect substituia

    Variabilele pot fi folosite i n legtur cu tabelele pentru a prelua din articolulcurent al unui tabel valorile cmpurilor, respectiv, pentru a depune n articolul curent

  • 7/25/2019 Curs 3 SGBD

    12/17

    Curs 3 SGBD 12 Mircea Musan

    12

    valori dintr-o list de variabile. Variabilele i cmpurile au nume identice. Instruciuni

    folosite sunt urmtoarele:

    SCATTER MEMVAR pentru preluare din table

    GATHER MEMVARpentru inserarea (ncrcarea) unei variabile n tabel.Exemplu 7:

    USE St udent 1LOCATE FOR Nume="POP"SCATTER MEMVARDI SPLAY OFF Nume, Pr enume, Facul t at e

    3. Aplicaii propuse spre rezolvare n laborator

    Aplicaia 1.

    Se va realiza o aplicaie tip calculator, pentru realizarea operaiilor primare aritmetice.Se va construi un formular Calculator.scxsub descrierea de mai jos.

    Modul proiectare

    Modul rulare

  • 7/25/2019 Curs 3 SGBD

    13/17

    Curs 3 SGBD 13 Mircea Musan

    13

    Coninutul butonului de comand (lansare) are urmtoarea procedur deeveniment Click:do case

    case t hi sf orm. opt i ongr oup1. val ue=1t hi sf or m. t ext 3. val ue=st r ( val ( t hi sf or m. t ext 1. val ue) +;

    val ( t hi sf orm. t ext 2. val ue) )case t hi sf orm. opt i ongr oup1. val ue=2

    t hi sf or m. t ext 3. val ue=st r ( val ( t hi sf or m. t ext 1. val ue) - ;val ( t hi sf orm. t ext 2. val ue) )

    case t hi sf orm. opt i ongr oup1. val ue=3t hi sf or m. t ext 3. val ue=st r ( val ( t hi sf or m. t ext 1. val ue) *;

    val ( t hi sf orm. t ext 2. val ue) )case t hi sf orm. opt i ongr oup1. val ue=4

    t hi sf or m. t ext 3. val ue=st r ( val ( t hi sf or m. t ext 1. val ue) / ;val ( t hi sf or m. t ext 2. val ue) , 10, 2)

    endcase

    Caseta de introducere are stabilit proprietatea:ReadOnly: .T. True.

    Aplicaia 2.

    Se va realiza o aplicaie tip simulator rate bancare. Aplicaia va fi descris sub formaunui formular, cu numele Simulator credite.scx.

    Modul proiectare

    Modul rulare

  • 7/25/2019 Curs 3 SGBD

    14/17

    Curs 3 SGBD 14 Mircea Musan

    14

    Opiunea list ascuns conine valorile nscrise, din meniul de

    context opiuneaBuilder, .

    Opiuneade introducere date are urmtoarele proprieti:ReadOnly: .T. TrueControlSource:dDin meniul de context se alegeBuilder, iar din opiuneaData Type: Numeric.

    Primul buton de comand are urmtorul coninut de procedur Click:i f t hi sf orm. combo1. val ue="Nevoi personal e"

    t hi sf or m. t ext1. val ue=10

    endi fi f t hi sf orm. combo1. val ue="Aut o"

    t hi sf or m. t ext1. val ue=8. 9endi fi f t hi sf or m. combo1. val ue=" I mobi l i ar "

    t hi sf or m. t ext1. val ue=6. 5endi f

    Elementul de introducere date are urmtoarele proprieti:ControlSource:sDin meniul de context se alegeBuilder, iar din opiuneaData Type: Numeric.

    Elementul de introducere date are urmtoarele proprieti:ControlSource:pDin meniul de context se alegeBuilder, iar din opiuneaData Type: Numeric.

    Butonul de introducere date are urmtoarele proprieti:ReadOnly: .T. TrueDin meniul de context se alegeBuilder, iar din opiuneaData Type: Numeric.

    Al doilea buton de comand are urmtorul coninut de procedur Click:t hi sf orm. t ext4. val ue=payment ( s, d/ 12/ 100, p)

    Aplicaia 3:

    Se va dezvolta o aplicaie concretizat ntr-un formular cu numele Varsta.scx, n carese va determina timpul exact trecut de la naterea unui subiect.

  • 7/25/2019 Curs 3 SGBD

    15/17

    Curs 3 SGBD 15 Mircea Musan

    15

    Modul proiectare

    Modul rulare Cmpul de editare (introducere) date Text2are urmtoarele proprieti:Tip de date ales: dat calendaristicControlSource:d

    Etichetele Label4i Label5:Autocenter: .T. True

    Butonul de comand are urmtorul coninut de procedurClick:

    t hi sf or m. l abel 4. capt i on="Sal ut , "+al l t r i m( upper ( t hi sf or m. t ext 1. t ext ) )

    Butonul de comand are urmtorul coninut de procedurClick:set dat e t o br i t &&seteaza data in format zz/ll/aaset cent on &&seteaza data in format zz/ll/aaaa

    azi =dat e( ) &&data de azi este retinuta in variabila aziz1=day( azi ) &&ziua curentam1=mont h( azi ) &&luna curentaa1=year( azi ) &&anul curent

    z2=day( d) &&ziua nasteriim2=mont h( d) &&luna nasteriia2=year ( d) &&anul nasterii

  • 7/25/2019 Curs 3 SGBD

    16/17

    Curs 3 SGBD 16 Mircea Musan

    16

    i f a2

  • 7/25/2019 Curs 3 SGBD

    17/17

    Curs 3 SGBD 17 Mircea Musan

    17

    Modul proiectare

    Modul rulare

    Cmpul de introducere date Text1:Tip de date ales: caracter

    MaxLength: 13

    Cmpul de introducere date Text2:Tip de date ales: caracter

    ReadOnly: .T. True

    Cmpul de introducere date Text3:Tip de date ales: dat calendaristic

    ReadOnly: .T. True

    Primul buton de comand are urmtorul coninut de procedur Click:i f l ef t ( t hi sf orm. t ext 1. t ext , 1) ="1"

    t hi sf or m. t ext2. val ue="Mascul i n"el se

    i f l ef t ( t hi sf orm. t ext 1. t ext , 1) ="2"

    t hi sf or m. t ext2. val ue="Femi ni n"el se

    wai t wi nd "CNP gr esi t ! "endi f

    endi f

    Al doilea buton de comand are urmtorul coninut de procedur Click:z=subst r ( t hi sf or m. t ext 1. t ext , 6, 2)l =substr ( t hi sf orm. t ext 1. t ext , 4, 2)a=subst r ( t hi sf or m. t ext 1. t ext , 2, 2)

    set cent on

    set dat e t o br i tt hi sf or m. t ext3. val ue=ct od( z+"/ "+l +"/ "+a)