Download - Curs 3 SGBD
-
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)