Sunteți pe pagina 1din 28

Curs 12. FOXPRO 2.6 DOS pag.

1
10. SISTEME DE GESTIONARE A BAZELOR DE DATE FOXPRO 2.6 DOS
10.1. Introducr
Sistemele de gestionare a bazelor de date S. G. . D. sunt sisteme in!ormati"e So!t#are
$programe de !irm%& spe"ializate 'n sto"area (i prelu"rarea unui )olum mare de date* supuse unui num%r
mi" de prelu"r%ri.
+ermenul de baz% de date $database file , d!"& 'n a""ep-iunea Fo.Pro se re!er% la/
datele de prelu"rat*
modul de organizare a datelor pe suportul de memorare.
+ermenul de gestiune semni!i"% totalitatea opera-iilor apli"ate asupra datelor din baza de date.
Fun"-iile elementare ale S. G. . D. relati) la bazele de date sunt/
asigur% de!inirea stru"turii $"rearea db! &*
asigur% introdu"erea datelor 'n db! $ad%ugarea de noi 'nregistr%ri&*
asigur% (tergerea datelor din db! $(tergerea 'nregistr%rilor&*
asigur% "onsultarea datelor din db! $interogarea* e.tragerea in!orma-iilor&.
B#$ d d#t %u&t'ut'&'$#tor baza de date se a!l% pe un server "entral0 poate !i a""esat% de
utilizatorii "upla-i la re-eaua deser)it% de server.
B#$ d d#t d'(tr'!u't baza de date este distribuit% pe mai multe sisteme de "al"ul "uplate
'n re-ea* dar integrat% logi"* ast!el 'n"1t pentru utlizator baza de date apare uni"% (i "ompa"t%.
10.1.1. Noiuni generale despre bazele de date
aza de date simpl% este organizat% sub !orma unui tabel $Fig. 1&
A G E N D A . D B F
2 n r e g i s t r a r i
S t r u " t u r a
b a z e i d e d a t e
C 1 m p u r i
3 u m e
$ C 4 5 &
D a t a 6 n
$ D 7 &
+ e l
$ 3 1 2 &
2 n r e g i s t r a r e
" u r e n t a
2 n d i " a t o r d e
' n r e g i s t r a r i
3 u m e l e b a z e i
d e d a t e
O b s
$ m e m o &
Fig. 1
pag.2 Curs 12. FOXPRO 2.6 DOS
8nainte de 'nmagazinarea datelor este ne"esar% de!inirea (tructur'' db! $cr#r# db!&.
Crearea db! presupune !urnizarea "1mpurilor "are al"%tuies" baza de date (i a "ara"teristi"ilor
a"estora.
)#r#ctr'(t'c'& c*%+u&u',
nu%& c*%+u&u'
1
/
ma.im 15 "ara"tere/ 9...:* 5...;* 6*
reprezint% modul de identi!i"are a "1mpului*
t'+u& c*%+u&u' identi!i"% tipul de dat% "e poate !i memorat 'n "1mpul respe"ti)/
c-#r#ctr ) / (ir de "ara"tere*
nu%r'c N / numeri"*
D#t D / dat% "alendaristi"%
Lo.'c#& L / logi" $boolean&*
M%o M , memo*
F&o#t F / numeri" 'n )irgul% !lotant%*
P'ctur P / imagine
&un.'%# c*%+u&u' num%rul ma.im de "ara"tere "e pot !i memorate 'n "1mpul respe"ti). <.. $'n
Fig. 1&/ 45 de litere pentru Nume* 12 "i!re pentru Tel.
nu%/ru& d $c'%#& are semni!i"a-ie numai pentru tipul Nu%r'c (i F&o#t (i indi"% num%rul de
"i!re de dup% pun"tul ze"imal.
Et#+& +r&ucr/r'' d#t&or 0n d!",
des"=iderea db!*
e!e"tuarea prelu"r%rilor $prelu"r%rile se realizeaz% la ni)el de 'nregistrare&/
ad%ugarea*
modi!i"are*
(tergere*
"%utare*
sele"-ie*
'n"=iderea db!.
Prin des"=iderea db! sistemul atribuie o zon% de memorie numit% $on/ d &ucru unde se
memoreaz% date ne"esare db!. 2ntr,o zon% de lu"ru* la un moment dat poate !i 'nmagazinat% o ('n.ur/
d!". Fo.Pro 2.6 posed% 2>> de zone de lu"ru distin"te. 8n"=iderea db! presupune des!a"erea leg%turii
'ntre db! (i zona de lu"ru* sal)area modi!i"%rilor e!e"tuate 'n db! (i eliberarea memoriei.
9""esul 'n baza de date se !a"e la ni)el de 'nregistrare.
Inr.'(tr#r curnt/ 'nregistrarea "are se poate "iti sau s"rie la un moment dat*
Ind'c#tor d 0nr.'(tr/r'
2
este pozi-ionat pe 'nregistrarea "urent%. Pentru a a""esa alt%
'nregistrare din db! se modi!i"% )aloarea indi"atorului de 'nregistr%ri prin "omenzi spe"i!i"e Fo.Pro.
B#$/ d d#t 1d!"2 r&#3'on#&/
Db! rela-ional% este !ormat% din mai multe db! simple denumite t#!& 'ntre "are se stabiles"
rela-ii (i "are pot !i a""esate simultan. +abelele unei db! rela-ionale se des"=id 'n zone de lu"ru di!erite.
<.emple/
1
se re"omand% "a numele "1mpului s% o!ere o in!orma-ie despre datele memorate 'n "1mpul respe"ti)* de e.emplu Nrtel
pentru num%r tele!on* Cod_ben pentru "od bene!i"iar* et".
2
)ariabil% Fo.Pro memorat% 'ntr,o lo"a-ie a zonei de lu"ru aso"iat% db!.
Curs 12. FOXPRO 2.6 DOS pag.4
a& rela-ie un# &# un#.
3ota-ii/ tabela Angajai.dbf tabel% +/r'nt* tabela Salarii.dbf tabel% "'u
Obs. 'nainte de rela-ionare tabela "'u $Salarii.dbf& se ordoneaz% $sortare sau inde.are& dup% "1mpul de
rela-ionare )od 1)42 ast!el 'n"1t 'nregistr%rile )or apare "u )alorile "1mpului )od 'n ordine "res"%toare
sau des"res"%toare.
Cele dou% tabele se a!l% 'n rela-ia dat% "1mpul )od 1)42. Obligatoriu "1mpurile de rala-ionare
trebuie s% aib% a"ela(i tip (i lungime. Pozi-ionarea indi"atorului de 'nregistr%ri 'n tabela Angajai.dbf la
pozi-ia 1 $2ones"u& determin% pozi-ionarea #uto%#t/ a indi"atorului de 'nregistr%ri* datorit% rela-ion%rii*
pe pozi-ia 2 'n tabela Salarii.dbf $"on-inutul "1mpului )od este identi"&. Deplasarea 'n "ontinuare a
indi"atorului de 'nregistr%ri 'n tabela Angajai.dbf la pozi-ia 2 $Popes"u& determin% pozi-ionarea
#uto%#t/ a indi"atorului de 'nregistr%ri pe pozi-ia 1 'n tabela Salarii.dbf $"on-inutul "1mpului )od este
identi"&* (.a.m.d.
b& rela-ie un# &# %#' %u&t.
3ota-ii/ tabela Elevii.dbf tabel% +/r'nt* tabela Note.dbf tabel% "'u
Obs.
'nainte de rela-ionare tabela "'u $Note.dbf& se ordoneaz% $sortare sau inde.are& dup% "1mpul de
rela-ionare Nr5%#t 1)42 , num%r matri"ol , ast!el 'n"1t 'nregistr%rile )or apare "u )alorile "1mpului
Nr5%#t 'n ordine "res"%toare sau des"res"%toare.
tabela Elevii.dbf are 4 'nregistr%ri iar tabela Note.dbf are 6 'nregistr%ri
Cele dou% tabele se a!l% 'n rela-ia dat% "1mpul Nr5%#t 1)42. Obligatoriu "1mpurile de
rala-ionare trebuie s% aib% a"ela(i tip (i lungime. Pozi-ionarea indi"atorului de 'nregistr%ri 'n tabela
Elevi.dbf la 'nregistrarea 2 $Popes"u& determin% pozi-ionarea #uto%#t/ a indi"atorului de 'nregistr%ri 'n
Fig. 2
Fig. 4
pag.? Curs 12. FOXPRO 2.6 DOS
tabela Note.dbf* datorit% rela-ion%rii* pe prima 'nregistare "are "orespunde "a )aloare 'nregistr%rii din
tabela p%rinte $'nregistrarea 4&.
<!e"tu1nd salturi su""esi)e "u o pozi-ie 'n tabela Elevi.dbf $"re(terea )alorii indi"atorului de
'nregistr%ri "u )aloarea 1&* )aloarea indi"atorului de 'nregistr%ri* teoreti" nu se modi!i"%* pra"ti" 'ns% el
"oboar% pe 'nregistrarea $!i"ti)%* mar"at% "u band% & a!lat% sub 'nregistrarea 2. 2n tabela !iu Note.dbf
indi"atorul de 'nregistr%ri este automat pozi-ionat pe 'nregistr%rile "are au a"eea(i )aloare a "1mpului de
rela-ionare Nr_mat. 2n "on"luzie pozi-ion1nd indi"atorul de 'nregistr%ri pe o pozi-ie 'n tabela p%rinte*
sunt a""esate pozi-iile $pozi-ia& "orespunz%toare din tabela !iu $)aloare identi"% a "1mpului de
rela-ionare&.
Ordon#r# d#t&or 0ntr6o !#$/ d d#t.
Sort#r# se "reeaz% o nou% baz% de date* "u a"eea(i stru"tur%* 'n "are 'nregistr%rile sunt dispuse 'n
ordinea dat% de c-'# d (ort#r
4
.
Ind7#r# bazei de date i se aso"iaz% un "'8'r 'nd7 "are "on-ine in!orma-ii despre pozi-ia
'nregistr%rilor din baza de date* ordonate de data a"esta "on!orm c-'' d 'nd7#r
?
. aza de date
apare ordonat% doar "1nd se des"=ide 'mpreun% "u !i(ierul inde. aso"iat* a""esul la 'nregistr%rile din
baza de date realiz1ndu,se prin intermediul !i(ierului inde. $Fig. ?&.
10.1.. !nstalarea" lansarea #i p$r$sirea mediului %o&'ro
In(t#&#r# Fo7Pro "opierea !i(ierelor !urnizate de produ"%tor pe =arddis@ul "al"ulatorului.
Fi(ierele se g%ses" pe a(a numitul A2+ de instalare* "omprimate* iar instalarea se !a"e "u "omanda
In(t#&& de pe dis"=eta nr.1$)ersiunea Fo.Pro 2.6 sub DOS&.
Dup% instalare se )eri!i"% e.isten-a 'n linia de "omand% P9+B* a dire"torului unde s,a instalat
Fo.Pro $FPD26&.
L#n(#r# Fo7Pro
Se introdu"e "omanda Fo. de la prompterul CS,DOS sau se a"-ioneaz% se")en-e de lansare
din 3orton Commander* Dindo#s ;>* a e.e"utabilului Fo7.7.
Fo.Pro "reeaz% !i(ierele* impli"it* 'n dire"torul de unde s,a lansat. De a"eea pentru gruparea
!i(ierelor utilizatorului se re"omand%/
Pornirea $sub DOS& a Fo.Pro din dire"torul unde )or !i sto"ate !i(ierele utilizatorului*
Sub Dindo#s ;> se e.e"ut% "li"@ dreapta pe pi"tograma de lansare a Fo.Pro sub DOS* se
sele"teaz% op-iunea meniu Properties. Se a"-ioneaz% eti"=eta Programs a !erestrei de dialog
4
no-iunea )a !i tratat% 'n "ursurile ulterioare.
?
no-iunea )a !i tratat% 'n "ursurile ulterioare.
Fig. ?
Curs 12. FOXPRO 2.6 DOS pag.>
Properties. 8n "aseta te.t Dor@ing se editeaz% de la tastatur% "alea $Pat=& spre dire"torul de
lu"ru.
Se utilizeaz% )#t#&o. M#n#.r din Fo.Pro pentru a grupa !i(ierele unei apli"a-ii 'ntr,un
"atalog. Des"=iz1nd "atalogul "reat pentru o apli"a-ie* se pot a""esa !i(ierele a!erente
indi!erent de lo"a-ia a"estora.
Con"ret* pentru sesiunea de lu"ru 'n laboratorul de 2n!ormati"% al ("olii ESpiru BaretF se )a
pro"eda ast!el/
se starteaz% sistemele de "al"ul 'n modul CSDOS )o%%#nd Pro%+t On&9 $unde este
"azul&
!iind "reat% lo"a-ia C/G CODHI2GFOX 'n subdire"torul FOX se )or "rea utiliz1nd metodele
"unos"ute subdire"toarele CHRS12* CHRS14* Jla 'n"eputul !ie"%rei sesiuni de lu"ru
$pentru 'n"eput subdire"torul CHRS12 este "reat&
se lanseaz% Fo.Pro* din lo"a-iile a!erente !ie"%rei sesiuni de lu"ru/
C/GCODHI2GFOXGCHRS12KFOX*
C/GCODHI2GFOXGCHRS14KFOX*
C/GCODHI2GFOXGCHRS1?KFOX*
J
Prin "omanda C/G!o.LM Se a!i(eaz% )ariantele $standard* e.tins%& (i parametrii de lansare a
Fo.Pro* pentru di!erite "on!igura-ii =ard#are ale sistemelor de "al"ul.
Ia lansare apare e"ranul Fo.Pro $Fig. >&
E&%nt& cr#nu&u' Fo7Pro/
meniul S9(t% 'n partea superioar% a e"ranului*
Fig. >
pag.6 Curs 12. FOXPRO 2.6 DOS
!ereastra de "omenzi )o%%#nd pozi-ionat% impli"it 'n partea dreapt%* Nos a e"ranului. 8n
a"east% !ereastr% utilizatorul introdu"e de la tastatur% liter% "u liter% "omenzile
>
spe"i!i"e
Fo.Pro* "are sunt e.e"utate imediat $"u "ondi-ia respe"t%rii sinta.ei limbaNului&. Da"%
!ereastra Command este 'n"=is% inten-ionat sau a""idental* ea re)ine pe e"ran prin a"-ionarea
se")en-ei O)tr&6F2K.
e"ranul de lu"ru $!undal& ai"i sunt a!i(ate e!e"tele "omenzilor $da"% ie(irea este dire"tat%
spre e"ran &. 8ntreg e"ranul de lu"ru poate !i )izualizat prin a"-ionarea se")en-ei O)tr&6A&t6
S-'"tK.
Obs. Culorile de a!i(are a elementelor e"ranului Fo.Pro se pot seta 'n !un"-ie de pre!erin-e
6
. 8n "ursul de
!a-% imaginile Fo.Pro sunt "apturate sub Dindo#s ;>* 'n e"rane de tip Dindo#* utiliz1nd s"=eme de
"ulori "are !a"iliteaz% o bun% )izualizare a elementelor. 2mpli"it !undalul este de "uloare albastr% iar la
lansare se a!i(eaz% sigla Fo.Pro. <"ranul se poate (terge $Ere'mprosp%taF& prin "omanda Clear 'n
!ereastra Command.
9"-ionarea "omenzilor Fo.Pro se poate realiza prin/
introdu"erea "omenzilor 'n !ereastra Commands*
sele"tarea "omenzilor din meniu prin intermediul Etastelor !ierbin-iF $=ot @ePs& sau tastelor
rapide $S=ortCut AePs&
sele"tarea "omenzilor din meniu prin intermediul mouse,ului.
I8'r# d'n Fo7Pro pentru p%r%sire mediului Fo.Pro se a"-ioneaz% una din se")en-ele
:A&t6F;< =*
F10< F< =.
a"-ionarea se")en-ei F'&=u't.
10.1.(. A)iuni *n ferestrele de editare ale sistemului %o&'ro
Semni!i"a-ia a"-ion%rii tastelor
T#(t# Func3'#

o linie mai sus

o linie mai Nos

un "ara"ter la st1nga

un "ara"ter la dreapta
PageHp e"ranul anterior
PageDo#n e"ranul urm%tor
OCtrl , K
pe "u)1ntul anterior
OCtrl , K
pe "u)1ntul urm%tor
Bome la 'n"eput de linie
<nd la s!1r(it de linie
OCtrl ,BomeK la 'n"eputul do"umentului
OCtrl ,<ndK la s!1r(itul do"umentului
Sele"tarea te.tului/
O por-iune de te.t* unul sau mai multe paragra!e* pot !i sele"tate ast!el/
drag "u mouse,ul de la 'n"eputul spre s!1r(itul sele"-iei sau in)ers
>
Pentru a introdu"e o "omand% Fo.Pro este su!i"ient% tastarea doar a primelor ? "ara"tere a "omenzii. <.. pentru
"omanda +ro,se este su!i"ient% introdu"erea liniei bro,.
6
3u se re"omand% setarea "ulorilor de"1t 'n "azul "unoa(terii temeini"e a modului de setare. Pentru lu"rul 'n laboratorul
("olii ESpiru BaretF se re"omand% stri"t p%strarea set%rilor impli"ite ale sistemului Fo.Pro.
Curs 12. FOXPRO 2.6 DOS pag.Q
9"-ionarea simultan% a tastei S-'"t (i tastele sau "ombina-iile de taste prezentate 'n tabelul anterior
$mutarea "ursorului 'n do"ument&
2nserarea (i (tergerea te.tului
Deplasarea "ursorului la pozi-ia de 'n(r#r (i tastarea te.tului. +e.tul )a !a"e lo" automat
noului te.t introdus.
Pentru a !i (ters un "ara"ter se a"-ioneaz%/
B#c>(+#c , (tergere la st1nga* :)tr&6B#c>(+#c; (terge "u)1ntul de la pozi-ia "ursorului*
D&t , (tergere la dreapta.
Pentru a !i (tears% o sele"-ie se a"-ioneaz% tasta Delete. Da"% se sele"teaz% un te.t (i se
introdu"e de la tastatur% un nou te.t* sele"-ia )a !i (tears% automat.
10.1.-. .oduri de lu)ru *n mediul %o&'ro
a& Modu& d'rct utilizatorul introdu"e "omenzi de la tastatur% 'n !ereastra )o%%#nd. Comenzile
sunt e.e"utate dire"t. Fereastra Command "on-ine un istori" al "omenzilor introduse de la ultima
lansare a Fo.Pro (i p1n% 'n momentul "urent. Cu aNutorul tastelor dire"-ionale (i se poate
e!e"tua o )izualizare a "omenzilor din istori". O "omand% dat% anterior poate !i reluat%* e)entual "u
modi!i"%ri introduse de la tastatur% 'n linia "omenzii* prin pozi-ionarea "ursorului 'n linia "omenzii
respe"ti)e (i a"-ionarea tastei <nter. 9"est mod de lu"ru este spe"i!i" utilizatorilor 'n"ep%tori sau
poate !i utilizat pentru )eri!i"area e!e"tului "omenzilor "are )or !i introduse 'n programe. <ditarea 'n
!ereastra Command respe"t% regulile de baz% prezentate anterior 'n sub"apitolul 15.1.4. <ste util%
men-ionarea modului de ob-inere a asisten-ei Belp $'n limba englez%& pentru "omenzile s"rise 'n
!ereastra Command/ se sele"teaz% stri"t "omanda dup% "are se a"-ioneaz% tasta F1. Se des"=ide
!ereastra de dialog Belp unde sunt prezentate e!e"tul (i sinta.a "omenzii pre"um (i e.emple
"onte.tuale de utilizare.
b& Modu& #('(t#t utilizatorul sele"teaz% "omenzile prin intermediul submeniurilor $%nu +o+u+&
prezente 'n bara meniu $%nu !#r& S9(t%. Fo.Pro este 'nzestrat "u G. H. 2. $Grap=i" Hser
2nter!a"e R 2nter!a-% Htilizator&. 8n a"est mod de lu"ru se a"-ioneaz%/
F10 pentru a"ti)area barei meniu S9(t%*
:A&t6&'tr/ &u%'no#(/
Q
; pentru a"ti)area op-iunilor bar% $%nu +#d&*
&'tr/ &u%'no#(/ pentru a"ti)area op-iunilor meniu $menu option& din !ereastra submeniu*
op-iuni meniu "are 'n maNoritatea "azurilor sunt "omenzi Fo.Pro.
t#(t/ r#+'d/ pentru a"-ionarea dire"t% a "omenzilor*
c&'c> "u mouse,ul urm%rind se")en-ele Op-iune bar%Op-iune meniu$Comand%.&
I%+ort#nt? Comenzile date 'n modul asistat #+#r d't#t #uto%#t 'n !ereastra )o%%#nd. Hrm%rirea
"omenzilor 'n !ereastra Command "onstituie un mod util de 'nsu(ire a "omenzilor Fo.Pro.
"& Modu& +ro.r#% spe"i!i" utilizatorilor a)ansa-i. O su""esiune de "omenzi sunt grupate "on!orm
unui algoritm bine stabilit 'n "adrul unor !i(iere de "omenzi $programe&
Crearea programelor se a"-ioneaz%/
F'&N@Pro.r#%OA sau "omanda %od'"9 co%%n#nd 'n !ereastra Command*
introdu"erea su""esiunii de "omenzi "are "onstituie programul* 'n !ereastra de editare.
Sal)area programelor se a"-ioneaz%/
F'& S#B A( 'ntroducr nu%5+ro.r#% S#B sau :)tr&6C; 'ntroducr
nu%5+ro.r#% S#B.
Codi!i"area programelor se a"-ioneaz% /
%od'"9 co%%#nd Onume_programK* 'n !ereastra Comand
F'& O+n Pro.r#% (&ct#r Onume_programK O+n
Q
Big=Iig=ted letter
pag.7 Curs 12. FOXPRO 2.6 DOS
dup% a"este se")en-e se e!e"tueaz% editarea 'n !ereastra Pro.r#% urmat% de sal)area
programului.
<.e"u-ia unui program se a"-ioneaz%/
do Onume_programK* 'n !ereastra Command*
Program Do sele"tare Onume_programK Do
Programele grupeaz% "omenzi Fo.Pro $"are se pot introdu"e (i dire"t 'n !ereastra Command sau
prin intermediul barei meniu& utiliz1nd stru"turi de programare spe"i!i"e* "eea "e nu este posibil 'n
!ereastra Command sau 'n bara meniu. Programele prezint% a)antaNele/
Modu&#r't#t/ program prin"ipal $apelant& S module $apelate&*
Posibilitatea utiliz%rii +ro.r#%/r'' (tructur#t.
10.1./. Elementele interfeei %o&'ro.
15.1.>.1 Ceniul S9(t%
+ipuri de meniuri/
Ceniul SPstem de!init de proie"tan-ii sistemului Fo.Pro* gestioneaz% a"ti)itatea sistemului*
Ceniuri de!inite de utilizator stru"tura (i "ara"teristi"ile a"estui meniu sunt de!inite de utilizator.
Curs 12. FOXPRO 2.6 DOS pag.;
9""esul 'n meniul S9(t% se realizeaz% "u aNutorul mouse,ului* tastelor dire"-ionale* tasta +ab*
tasta <nter* tasta <s"ape* taste rapide* taste !ierbin-i.
Fig. >
Op-iune meniu
s
u
b
m
e
n
i
u
Op-iune bar%
ara meniu
pag.15 Curs 12. FOXPRO 2.6 DOS
15.1.>.2 Ferestre
Fr(tr %od#& de!inite de proie"tan-ii sistemului Fo.Pro/
nu +r%'t modi!i"area "ara"teristi"ilor*
Fr(tr n%od#& de!inite de utilizator/
+r%'t modi!i"area "ara"teristi"ilor.
De!ilarea te.tului "e dep%(e(te dimensiunea !erestrei/
"u mouse,ul/ "li"@ pe butoanele de de!ilare*
"u tastatura/ taste dire"-ionale.
8n"=iderea !erestrei/
"u mouse,ul/ "li"@ pe butonul de 'n"=idere*
"u tastatura/ :A&t6F; )$lose&.
Codi!i"area dimensiunilor !erestrei/
"u mouse,ul/ drag and drop pe butonul de dimensionare*
Fig. 6
uton
'n"=idere
+itlul
!erestrei
De!ilare
st1nga
De!ilare
dreapta
2ndi"ator
pozi-ie
orizontal%
De!ilare sus
De!ilare Nos
2ndi"ator
pozi-ie
)erti"al%
uton
dimensionare
Ca.imizare*
minimizare
Curs 12. FOXPRO 2.6 DOS pag.11
"u tastatura/ :A&t6C; S$ize&. Fereastra p1lp1ie $blin@ing& timp 'n "are poate !i
aNustat% prin a"-ionarea tastelor dire"-ionale. Dup% aNustare se a"-ioneaz% <nter*
tasta rapid% O)tr&6FD;.
Cinimizarea L ma.imizarea !erestrei/
"u mouse,ul/ "li"@ pe butonul de minimizare L ma.imizare*
"u tastatura/ :A&t6C;Zoom $ma.imizare&* :A&t6C;:oom $minimizare&*
tastele rapide O)tr&6F10; $ma.imizare&* O)tr&6FE; $minimizare&.
Cutarea !erestrei/
"u mouse,ul/ drag and drop pe titlul !erestrei*
"u tastatura/ :A&t6C; M$o)e&. Fereastra p1lp1ie $blin@ing& timp 'n "are poate !i
mutat% prin a"-ionarea tastelor dire"-ionale. Dup% mutare se a"-ioneaz% <nter*
tasta rapid% O)tr&6FF;.
pag.12 Curs 12. FOXPRO 2.6 DOS
15.1.>.4 Obie"te de "ontrol
<.emplu/ !ereastra de dialog a op-iunii meniu $"omenzii& O+n/
S&ct#r# o!'ctu&u' ,
"u tastatura/ +ab sau S=i!t +ab*
S&ct#r d'n &'(t# dru&#nt/,
"u mouse,ul/ dublu "li"@ pe elementul din list%*
"u tastatura/ taste dire"-ionale pentru sele"tare urmate de a"-ionarea <nter pentru )alidare.
Act'B#r# &'(t' #(cun(,
"u mouse,ul/ "li"@ pe numele listei*
"u tastatura/ a"-ionare Entr.
S&ct#r d'n &'(t# #(cun(/,
"u mouse,ul/ drag pentru sele"tare urmat de drop pentru )alidarea elementului sele"tat*
"u tastatura/ t#(t d'rc3'on#& pentru sele"tare urmate de )alidare prin Entr.
Act'B#r# co%ut#to#r&or,
TXU "omutator a"ti)
T U "omutator deza"ti)at
"u mouse,ul/ "li"@ pe numele "omutatorului*
"u tastatura/ sele"tare "u +ab* OS=i!t,+abK urmat% de a"-ionare Entr sau S+#c!#r.
Act'B#r# dc&#n8#to#r&or,
"u mouse,ul/ "li"@ pe numele de"lan(atorului*
"u tastatura/ sele"tare "u +ab* OS=i!t,+abK urmat% de a"-ionare Entr sau S+#c!#r.
Act'B#r# dc&#n8#to#r&or '%+&'c't,
"u mouse,ul/ "li"@ pe numele de"lan(atorului impli"it*
"u tastatura/ a"-ionarea :)tr&6Entr;.
9lte obie"te de "ontrol "are apar 'n !erestre* pot !i identi!i"ate 'n !ereastra N@ $Fig. 7&
Fig. Q
Iist%
derulant%
Comutator
Iist% as"uns%
Iist% as"uns%
Iist% as"uns%
De"lan(ator
impli"it
De"lan(ator
De"lan(ator
Curs 12. FOXPRO 2.6 DOS pag.14
Act'B#r# !uto#n&or r#d'o,
$o& buton radio a"ti)
$ & buton radio deza"ti)at
"u mouse,ul/ "li"@ pe numele butonului radio*
"u tastatura/ sele"tare "u +ab* OS=i!t,+abK urmat% de a"-ionare Entr sau S+#c!#r.
15.1.>.? 9sistentul mediului Fo.Pro $Belp&
Belp independent de "onte.t lansat prin a"-ionarea S9(t% G&+ sau F10
Belp dependent de "onte.t 'n !ereastra Command se sele"teaz% "omanda0 prin a"-ionarea F1 sau
OA&t6c&'c> dr#+t#K in!orma-iile sunt a!i(ate stri"t 'n leg%tur% "u "omanda sele"tat%.
10.1.0. Editorul de te&te %o&'ro.
Crearea unui !i(ier te.t 'n Fo.Pro se realizeaz% prin introdu"erea de la tastatur% a "omenzii/
MODIFH FILE :nume_fiier.TXT; sau se")en-a
F'&N@!uton r#d'o F'&OA
+e.tul se introdu"e de la tastatur% liter% "u liter% 'n !ereastra des"=is% prin a"-ionarea "omenzii.
Fereastra des"=is% are numele/
Int't&d $!%r% nume& impli"it da"% nu se spe"i!i"% nume_fi#ier sau da"% se a"-ioneaz%
File3e#buton radio FileOA*
Nume_fiier.TXT da"% se spe"i!i"% numele !i(ierului 'n "omanda COD2FV F2I<.
S#&B#r# "'8'r&or Fo7Pro
+e.tul introdus 'ntr,o !ereastr% de editare poate !i sal)at sub !orm% de !i(ier sub un anumit nume (i
"u o anumit% e.tensie$tip !i(ier& ast!el.
Fi(ierul nu are nume/
se a"-ioneaz% se")en-a F'& S#B sau F'& S#B #(
se a"-ioneaz% O)tr&6CK
8n ambele "azuri se des"=ide !ereastra de dialog S#B )urrnt Docu%nt A(J $Fig. ;&.
Fig. 7
uton radio
$a"ti)at&
$a"ti)at&
pag.1? Curs 12. FOXPRO 2.6 DOS
<lementele !erestrei/
lista derulant% sele"tarea numelui $(i a lo"a-iei& sub "are se )a sal)a !i(ierul0
lista as"uns% Dri)e sele"tarea unit%-ii de dis" pe "are se )a realiza sala)area !i(ierului0
lista as"uns% Dire"torP dire"torul 'n "are se )a sal)a !i(ierul0
"omutatorul 9ll Files a"ti)area a"estuia determin% a!i(area tuturor !i(ierelor e.istente 'n
dire"torul "urent $'n "are se )a realiza sal)area&0
"omutatorul C=ange Code Page a"ti)area a"estuia determin% a!i(area unei liste de
"ompatibilit%-i "u alte plat!orme program pentru sal)area !i(ierelor te.t (i a programelor
Fo.Pro.
de"lan(atorul impli"it Sa)e a"-ionarea a"estuia determin% sal)area !i(ierului0
de"lan(atorul Can"el a"-ionarea a"estuia determin% abandonarea sal)%rii !i(ierului.
"aseta te.t din partea de Nos a !erestrei 'n a"east% zon% se introdu"e numele (i e.tensia
!i(ierului 'n "are )a !i sal)at "on-inutul !erestrei de editare.
Fi(ierul are nume sau a mai !ost sal)at anterior
se a"-ioneaz% se")en-a F'& S#B 0
se a"-ioneaz% O)tr&6CK.
Sal)area !i(ierului sub alt nume
se a"-ioneaz% se")en-a F'& S#B #( urm1nd a se "ompleta parametrii de sal)are 'n !ereastra
Sa)e 9sJ $Fig. ;&0
9bandonarea sal)%rii
prin a"-ionarea tastei E(c sau a "ombina-iei O)tr&6CK
prin a"-ionarea "li"@ pe butonul de 'n"=idere al !erestrei.
8n ambele "azuri apare !ereastra de aten-ionare Dis"ard C=anges* 'n "are se pote r%spunde/
Ves abandonarea sal)%rii
3o re'ntoar"erea 'n !ereastra de editare
Pentru editarea te.tului 'n !erestrele de editare $te.t sau programe& sunt )alabile semni!i"a-iile
tastelor* a"-iunile de sele"tare inserare (i (tergere a te.tului prezentate la sub"apitolul 15.1.4 din
prezentul "urs. +re"erea la linie nou% se !a"e prin a"-ionarea tastei <nter0
9"-iuni de "%utare L 'nlo"uire a te.tului 'n !ereastra de editare. Se a"-ioneaz% una din se")en-ele/
Fig. ;
Fig. 15
Curs 12. FOXPRO 2.6 DOS pag.1>
E d'tF'nd "%utarea unei se")en-e de te.t0
E d'tF'nd A.#'n reluarea "%ut%rii se")en-ei de te.t0
E d'tR+&#c #nd F'nd A.#'n 'nlo"uire (i reluarea "%ut%rii se")en-ei de te.t0
E d'tR+&#c A&& 'nlo"uire 'n tot te.tul.
Parametrii de "%utare L 'nlo"uire se stabiles" din !ereastra de dialog $Fig. 11&
<lementele !erestrei/
"aseta te.t Ioo@ For/ te.tul "are se "aut%*
"aseta te.t Repla"e Dit=/ te.tul "are )a 'nlo"ui te.tul "%utat*
Comutatoarele/
2gnore "ase/ nu se !a"e deosebire 'ntre literele mari (i mi"i*
Cat"= #ords/ se "aut% numai te.tul independent pre"izat la Ioo@ For*
Drap around/ "%utarea se reia de la 'n"eput dup% "e s,a aNuns la !inalul te.tului 'n "are se realizeaz%
"%utarea .
utoanele radio/
Sear"= !or#ard/ "%utarea se realizeaz% de la pozi-ia "ursorului "%tre s!1r(itul te.tului*
Sear"= !or#ard/ "%utarea se realizeaz% de la pozi-ia "ursorului "%tre 'n"eputul te.tului.
O!(. 'n "azul edit%rii programelor Fo.Pro $su""esiune de "omenzi introduse de la tastatur% 'n
e"rane de editare* sal)ate "u e.tensia W.PRG& simbolul E K F plasat la s!1r(itul unei linii spe"i!i"%
!aptul "% instru"-iunea "ontinu% (i pe linia urm%toare.
10.1.1. 'rograme %o&'ro.
<tape 'n "on"eperea programului/
"on"eperea algoritmului -in1nd "ont de posibilit%-ile Fo.Pro0
transpunerea algoritmului 'n instru"-iuni Fo.Pro.
2nstru"-iunile "are "onstituie un program se pot genera/
prin editare 'n !ereastra de "omenzi Command $!ie"are "omand% se e.e"ut% dire"t&0
prin intermediul meniului SPstem0
prin intermediul generatoarelor $generare automat% de "%tre Fo.Pro&0
prin intermediul asistentului $Dizzard&0
prin editarea programului linie "u linie 'n !erestre de editare sal)ate "u e.tensia W.PRG.
Crearea unui !i(ier program 'n Fo.Pro 'n ultimul "az $editarea 'n !erestre de editare& se realizeaz%
prin introdu"erea de la tastatur% a "omenzii/
MODIFH )OMMAND :nume_fiier>.PRG sau se")en-a
F'&N@!uton r#d'o Pro.r#%OA
<ditarea (i sal)area programului surs% se realizeaz% 'n modul prezentat anterior la !i(iere te.t.
Fig. 11
pag.16 Curs 12. FOXPRO 2.6 DOS
+rans!ormarea programului surs% $editat& 'n program "ompilat $e.tensia W.FXP&/
"omanda )OMPILE :nume_fiier>.PRG
se")en-a Pro.r#%)o%+'&J"az 'n "are se des"=ide !ereastra de dialog $Fig. 12&/
<lementele !erestrei/
din lista derulant% se sele"teaz% programul surs% "are urmeaz% a !i "ompilat0
din lista as"uns% Dr). se sele"teaz% unitatea de dis" unde se a!l% programul surs%0
din lista as"uns% Dr). se sele"teaz% dire"torul unde se a!l% programul surs%0
la se"-iunea Options se spe"i!i"% op-iunile de "ompilare0
la se"-iunea Output +o se spe"i!i"% lo"a-ia programului ob-inut 'n urma "ompil%rii0
la se"-iunea Iog <rrors se spe"i!i"% modul de prezentare a e)entualelor erori de "ompilare0
8n urma "ompil%rii se
a!i(eaz% o !ereastr% de
mesaN $Fig. 14& 'n "are se
pre"izeaz% num%rul de
!i(iere "ompilate pre"um (i
num%rul erorilor.
<)entualele erori $de
sinta.%& se spe"i!i"%
"on!orm set%rii din
se"-iunea Iog <rrors $Fig.
12&. 8n a"est "az !i(ierul surs% se reediteaz% "ore"t1nd erorile apoi se re"ompileaz%.
Rularea programului/
"omanda
DO :nume_fiier.PRG;
se")en-a Pro.r#%DoJ"az 'n "are se des"=ide !ereastra de dialog $Fig. 1?&/
Din lista derulant% se sele"teaz% numele programului "are )a !i e.e"utat. Iansarea e.e"u-iei se
realizeaz% prin a"-ionarea de"lan(atorului impli"it Do .
<.emplu/
'n !ereastra de "omenzi se introdu"e "omanda/
MODI )OMM mesaj.PRG
'n !ereastra de editare des"=is% 'n urma a"-ion%rii "omenzii se introdu" de la tastatur% liniile
de "omand%/
)LEAR
Fig. 12
Fig. 14
Fig. 1?
Curs 12. FOXPRO 2.6 DOS pag.1Q
L 1M<40 SAH NAc(t# (t +r'%u& +ro.r#%O
programul se sal)eaz% 'n C/Gmodul2G!o.G"urs12 sub numele test.PRG0
programul se "ompileaz% prin a"-ionarea se")en-ei ProgramCompiletest.PRG0
e)entualele erori se )or "ore"ta0
programul se ruleaz% prin a"-ionarea se")en-ei ProgramDotest.PRG. Pe e"ran se )a
a!i(a mesaNul Ac(t# (t +r'%u& +ro.r#%.
10.1.2. .odul de prezentare al )omenzilor #i fun)iilor %o&'ro. Convenii de
sinta&$.
Fo.Pro are la baz% "omenzi (i !un"-ii "are "ombinate dau instru"-iuni. Ori"e instru"-iune "on-ine "el
pu-in o "omand% (i 5* 1 sau mai multe !un"-ii.
Comenzile e.e"ut% o opera-ie*
Fun"-iile e!e"tueaz% "al"ule (i returneaz% un rezultat 'n memorie sau pe e"ran.
<..
"omanda )LEAR (terge e"ranul*
instru"-iunea P DATE12 "ompus% din "omanda P (i !un"-ia DATE12 returneaz% data "urent%
'n !ormatul sele"tat.
Con)en-ii/
cuB'nt& (cr'( cu %#Qu(cu&/ "u)intele rezer)ate ale limbaNului se s"riu a(a "um apar 'n
sinta.a "omenzii0
t7t 0ntr +#r#nt$ un.-'u&#r/ te.tul este !urnizat de utilizator* parantezele nu se tre" 'n
instru"-iune0
t7t 0ntr +#r#nt$ dr+t/ elemente op-ionale* parantezele nu se tre" 'n instru"-iune0
!#r# Br'c#&/ R indi"% o op-iune $sau e."lusi)&* bara nu se tre"e 'n instru"-iune0
tr' +unct J / indi"% !aptul "% instru"-iunea "ontinu% asem%n%tor "u por-iunea anterioar%.
3ota-ii/
:7+N; , e.presie numeri"%0
:7+); , e.presie de tip "ara"ter0
:7+L; , e.presie logi"%0
:7+; , e.presie de tip nepre"izat0
Obs. Parantezele rotunde* )irgula* pun"tul* simbolul R (i alte "ara"tere nespe"i!i"ate anterior se tre"
'n instru"-iune a(a "um apar 'n de!ini-ie.
<..
De!ini-ie instru"-iunea FOR/
FOR O)arK ROe.p31K TO Oe.p32K TSTEPOe.p34KU
Oinstru"-iuniK
TEXITU
TLOOPU
ENDFORRNEXT
Xariante "ore"te "are pot apare 'ntr,un program/
a& CI<9R
FOR iR2 +O 15
M i
IOOP
<3DFOR
b& CI<9R
FOR aR2 +O 2W> S+<P 2
M a
3<X+
Comentarii/ , nu sunt interpretate de "ompilator
Simbolul S la 'n"eput de linie spe"i!i"% o linie "omentariu*
pag.17 Curs 12. FOXPRO 2.6 DOS
Simbolurile TT plasate oriunde 'n linie indi"% te.tul "are urmeaz% p1n% la s!1r(itul liniei "a !iind
"omentariu.
10.1.3. Comenzi elementare %o&'ro
Comanda Argumente Efect
)LEAR (terge e"ranul Fo.Pro
U Oe.p1K T*Oe.p2KJU e)alueaz% una sau mai multe e.presii (i
a!i(eaz% )aloarea rezultat%
V Ote.tK a!i(eaz% te.tul pe e"ran
VV Ote.tK a!i(eaz% te.tul pe e"ran (i 'n !i(ier
PRPP TOe.pr1KTP2C+HR< Oe.pC1KUY
TFH3C+2O3 Oe.pC2KU
T9+ Oe.p3KU
TS+VI< Oe.pC4K Oe.pr2KUU
T*Oe.pr4KUJ
e)aluare (i a!i(are a e.presiilor Oe.prnK*
nR1*2*4J
Hnde/
P a!i(are a unei e.presii "u retur de "ar
7
PP !%r% retur de "ar
PI)TIRE< FIN)TION !ormatarea a!i(%rii in!orma-iei pe e"ran
AT a!i(are la "oloana Oe.p3K
STHLE stilul de litere doar pentru a!i(are la imprimant%
O!(. Comenzile )or !i prezentate sele"ti) la des"rierea unor a"-iuni spe"i!i"e gestion%rii bazelor de date.
10.2. T'+ur' d d#t 0n Fo7Pro
8n Fo.Pro a)em urm%toarele tipuri de date/
logi"
numeri"
(ir de "ara"tere
dat% "alendaristi"%
10..1. Tipul logi)
+ipul logi" prezint% dou% )alori/
true $ade)%rat& se noteaz% .T.
!alse $!als& se noteaz% .F.
E7+r(' &o.'c/ "ombina-ie de operatori (i operanzi a "%ror e)aluare returneaz% o )aloare logi"%.
O+r#n$' 0n 7+r('' &o.'c/
"1mpuri logi"e ale unei tabele*
!un"-ii "e returneaz% )alori logi"e*
)ariabile de tip logi"*
alte e.presii logi"e*
O+r#tor' &o.'c' 'n ordinea priorit%-ii de e)aluare/
1< 2 Grupeaz% e.presiile
?< NOT 3ega-ie logi"%
AND Zi logi"
OR Sau logi"
Rezultatul e.presiilor "are "on-in operatori rela-ionali $O* K* OR* KR* R* OK& (t d t'+ &o.'c
7
retur de "ar a!i(area 'n"epe de la "oloana 1 a r1ndului urm%tor $)R&
Curs 12. FOXPRO 2.6 DOS pag.1;
<..
;
/
a& b& "&
M 3O+ $1R4&
.+.
M $1OR?& 93D $>K4&
.+.
M $6O4& OR $?W2R;&
.F.
10... Tipul numeri)
E7+r(' nu%r'c/ "ombina-ie de operatori (i operanzi a "%ror e)aluare returneaz% o )al. numeri"%.
O+r#n$' 0n 7+r('' nu%r'c/
"1mpuri numeri"e*
!un"-ii "e returneaz% )alori numeri"e*
)ariabile de tip numeri"*
"onstante numeri"e*
O+r#tor' #+&'c#3' o+r#n$'&or nu%r'c' a)1nd rezultate de tip numeri" 'n ordinea priorit%-ilor/
$* & Grupeaz% e.presiile
WW* [ Ridi"are la putere
W* L* \ 8nmul-ire* 'mp%r-ire* modulo $restul 'mp%r-irii&
S* , 9dunare* s"%dere
Wntr dou/ 7+r('' nu%r'c se pot apli"a o+r#tor' r&#3'on#&' rezult1nd 7+r('' &o.'c
O Cai mi"
K Cai mare
R <gal
OK* ]* ^R Di!erit
OR Cai mi" sau egal
KR Cai mare sau egal
Func3'' nu%r'c/
MOD $Oe.p31K*
Oe.p32K&
returneaz% restul 'mp%r-irii lui Oe.p31K la
Oe.p32K rezultatul !iind numeri"
<../
P MOD $47* 6&
2
Comanda /
SET
DE)IMALS
TO
TOe.p3KU determin% num%rul de ze"imale "e sunt a!i(ate.
2mpli"it este 2. 3u a!e"teaz% num%rul de "i!re "u
"are lu"reaz% Fo.,ul intern.
Func3'' r"r'to#r &# (%nu& d#t&or nu%r'c,
ABS $Oe.p3K& returneaz% )aloarea absolut% a Oe.p3K
SIGN $Oe.p3K& Returneaz%/
S1 Oe.p3K poziti)%
5 Oe.p3K nul%
,1 Oe.p3K negati)%
<../
a R ,2L4
P a R SIGN $a&W 9S $a&
.+.
Func3'' d #+ro7'%#r # d#t&or nu%rt'c,
INT $Oe.p3K& returneaz% partea 'ntreag% a Oe.p3K
;
rezultatele generate de "omenzi* a!i(ate pe e"ran apar "u te.t de "uloare albastr%. Dialogul Fo.Pro "u utilizatorul
$a!i(area pe e"ran& este in!luen-at% de S<+ +9IA O3YOFF/ O3, dialog a"ti)* OFF dialog in=ibat
pag.25 Curs 12. FOXPRO 2.6 DOS
<../
a R 1?.?6
P a INT $a& __ returneaz% partea !ra"-ionar%
5.?6
)EILING $Oe.p3K& Returneaz% "el mai apropiat 'ntreg mai mare sau
egal "u Oe.p3K
FLOOR $Oe.p3K& returneaz% "el mai apropiat 'ntreg mai mi" sau egal
"u Oe.p3K
<../
P )EILING $7.42&
;
P FLOOR $,?.24&
,>
ROIND $Oe.p31K*
Oe.p32K&
rotunNe(te Oe.p31K la Oe.p32K ze"imale. Se
ignor% SET DE)IMALS.
Func3'' %#t%#t'c &%nt#r,
EXP $Oe.p3K&
<.ponen-iala
LOG $Oe.p3K&
Iogaritm natural
LOG10 $Oe.p3K&
Iogaritm ze"imal
S=RT $Oe.p3K&
Radi"al de ordinul 2
<../
b
a
b
a
a
b
log
log
ln
ln
log = =
4 & &
e 4
ln
= sau 4[ &
Func3'' tr'.ono%tr'c,
DTOR $Oe.p3K&
Oe.p3K* ung=iul 'n grade a "%rui "on)ersie 'n radiani )a !i returnat%
RTOD $Oe.p3K&
Oe.p3K* ung=iul 'n radiani "e )a !i trans!ormat 'n grade
SIN $Oe.p3K&
Sinus Oe.p3K 'n radiani
)OS $Oe.p3K&
Cosinus Oe.p3K 'n radiani
TAN $Oe.p3K&
tangenta Oe.p3K 'n radiani
<../
P SIN $PI$ &L 2&
1.55
Func3'' tr'.ono%tr'c 'nBr(,
5
2
3 / 2
1 / 2

Curs 12. FOXPRO 2.6 DOS pag.21


ASIN $Oe.p3K&
Oe.p3K 'n inter)alul $,1* 1& (i returneaz% 'n inter)alul

2
*
2

A)OS $Oe.p3K&
Oe.p3K 'n inter)alul $,1* 1& (i returneaz% 'n inter)alul $5*&
ATAN $Oe.p3K&
Oe.p3K ori"e )aloare (i returneaz% 'n inter)alul

2
*
2

<../
P RTOD $ATAN $1&&
?>.55
Fun"-ia/
ATN2 $Oe.p31K*
Oe.p32K&
returneaz% ung=iul "orespunz%tor 'n radiani
"on!orm !igurii $ar"tangent%&
Restri"-ie ( ) *
e.p32
e.p31

> <
> <
P pun"tul pentru "are se "al"uleaz% ar"tangenta
Func3'' r"r'to#r &# c#&cu& (t#t'(t'c 8' "'n#nc'#r,
PAHMENT $Oe.p31K* Oe.p32K*
Oe.p34K&
returneaz% )aloarea unei pl%-i* unde/
:7+N1; )aloarea 'mprumutului
:7+N2; rata dob1nzii la ni)elul unei perioade
:7+N4; num%r de pl%-i $rate&
<../ pentru a returna 1.555.555 lei 'n 12 rate egale* "u rata dob1nzii de 15\ se )or e.e"uta 12 pl%-i a
"1te/
P PAHMENT $1555555* 5.15* 12&
1?6 Q64.42
PX $Oe.p31K* Oe.p32K*
Oe.p34K&
returneaz% "antitatea "are trebuie
in)estit% pentru a atinge o anumit%
)aloare )iitoare. 9"easta se "al"uleaz%
"a o serie de pl%-i periodi"e la o rat% a
dob1nzii "onstant%.
:7+N1; )aloarea unei pl%-i periodi"e*
:7+N2; rata dob1nzii*
:7+N4; num%r de perioade de pl%-i*
FX $Oe.p31K* Oe.p32K*
Oe.p34K&
returneaz% )aloarea )iitoare a unei
in)esti-ii. 9"easta se "al"uleaz% "a o serie
de pl%-i de pl%-i periodi"e "onstante* "u o
dob1nd% !i.%.
O7+N1K )aloarea unei pl%-i $"onstant%&
O7+N2K rata dob1nzii* periodi"%
O7+N4K num%r de pl%-i $de perioade&
10..(. Tipul #ir de )ara)tere
X
V
O e . p 3 1 K
O e . p 3 2 K
P
pag.22 Curs 12. FOXPRO 2.6 DOS
E7+r(' 8'r d c#r#ctr "ombina-ie de operatori (i operanzi a "%ror e)aluare returneaz% o )aloare
tip (ir de "ara"tere.
Y'r d c#r#ctr mul-ime ordonat% de "ara"tere tratate "a un tot unitar0
Lun.'%# 8'ru&u' num%rul de "ara"tere din (ir0
Su!8'r #& 8'ru&u' por-iuni de (ir* 'n"ep1nd de la o anumit% pozi-ie* de lungime dat%0
)on(t#nt t'+ 8'r d c#r#ctr/
Z(ir de "ara"tere[
N(ir de "ara"tereO
NO sau Z[ (ir )id sau nul
E7+r(' d t'+ 8'r d c#r#ctr/
Combina-ie de operanzi (i operatori a "%rei e)aluare )a a)ea "a rezultat un (ir de "ara"tere.
O+r#n$' 0n 7+r('' d t'+ 8'r d c#r#ctr,
"1mpuri de tip (ir de "ara"tere*
!un"-ii "e returneaz% (iruri de "ara"tere*
)ariabile de tip (ir de "ara"tere*
"onstante de tip (ir de "ara"tere*
O+r#tor' #+&'c#3' o+r#n$'&or d t'+ 8'r d c#r#ctr,
De "on"atenare
Simplu ESF
Spe"ial E,E
De "omparare sau rela-ionali
<..1/
P `stradaa S aGeorgeCo(bu"a
15
stradaGeorgeCo(bu"
<..2/
P`Spiru` `Bareta
SpiruBaret
Se obser)% "% blan"urile de la s!1r(itul primului (ir sunt tre"ute la s!1r(itul (irului al doilea.
O+r#tor' !'n#r',
\ 2n"lus 'n
: Cai mi"
; Cai mare
U 2denti"
:;< ]< ?U Di!erit
:U Cai mi" sau egal
;U Cai mare sau egal
De e.emplu 'n e.presia/
:7+)1; operator_binar :7+)2;
da"% (irul Oe.pC1Kse a!l% 'n rela-ia dat% de operator "u Oe.pC2K* rezultatul este +RH< alt!el F9IS<.
Compara-ia se !a"e la ni)el de "od 9SC22.
Compararea este in!luen-at% de S<+ <X9C+ O3Y OFF
O3 dou% (iruri egale "oin"id "ara"ter "u "ara"ter (i au a"eea(i lungime
OFF dou% (iruri egale "oin"id pe lungimea "elui mai s"urt.
Func3'' r"r'to#r &# cod'"'c#r# c#r#ctr&or d'n 8'rur',
)GR $Oe.p3K& returneaz% "ara"terul 9SC22 "u "odul Oe.p3K
AS) $Oe.pCK& returneaz% "odul 9SC22 al "ara"terului Oe.pCK
15
simbolul EF semni!i"% spa-iul liber $blan"&
Curs 12. FOXPRO 2.6 DOS pag.24
<../
M CBR $6>&
9
M 9SC $`9a&
6>
Func3'' r"r'to#r &# (u!8'rur' d c#r#ctr,
SIBSTR $Oe.pCK* Oe.p31K T*Oe.p32KU& returneaz% un sub(ir al unui (ir de
"ara"tere
:7+); e.presia din "are se e.trage sub(irul
:7+N1; pozi-ia de unde 'n"epe (irul e.tras
:7+N2; num%rul de "ara"tere "e se e.trag0 da"% lipse(te se e.trage p1n% la s!1r(itul (irului de baz%
<../
P SIBSTR $`9CD<Fa* 2* 4&
CD
LEFT $Oe.pCK* Oe.p3K& returneaz% "ele mai din dreapta e.p3 "ara"tere ale
(irului e.pC
RIGGT $Oe.pCK* Oe.p3K& returneaz% "ele mai din st1nga e.p3 "ara"tere ale (irului
e.pC
:7+); (irul din "are se e.trage sub(irul
:7+N; lungimea (irului e.tras
<../
P LEFT $`Ia mul-i ani ^a* 2&
Ia
P RIGGT $`Ia mul-i ani ^a* >&
ani ^
REPLI)ATE $Oe.pCK* Oe.p3K& returneaz% un (ir de "ara"tere ob-inut prin repetarea
(irului e.pC de e.p3 ori
<../
P REPLI)ATE $`aa* >&
aaaaa
SPA)E $ Oe.p3K& returneaz% un (ir de blan"uri $CBR$42&& "u lungimea de
e.p3
<../
P REPLI)ATE $``* 6&R SPA)E $6&
.+.
ALLTRIM $Oe.pCK& elimin% blan"urile de la 'n"eputul (i s!1r(itul (irului Oe.pCK
LTRIM $Oe.pCK& elimin% blan"urile de la 'n"eputul (irului Oe.pCK
RTRIM $Oe.pCK& elimin% blan"urile de la s!1r(itul (irului Oe.pCK
8n "azul in)ers "1nd dorim s% aNungem la o lungime dat% a (irului* utiliz%m/
PAD) $Oe.prK* Oe.p3K T*Oe.pCKU&
PADL $Oe.prK* Oe.p3K T*Oe.pCKU&
PADR $Oe.prK* Oe.p3K T*Oe.pCKU&
Fun"-iile PAD)< PADL< PADR 9daug% pentru e.presia 7+r* 'n ordine la ambele "apete* la st1nga
respe"ti) la dreapta* e.presia 7+) p1n% lungimea (irului )a de)eni 7+N.
<../
pag.2? Curs 12. FOXPRO 2.6 DOS
P PAD) $`Pagina 1a* ?5* `6a&
666666666666666666666 Pagina 1 666666666666666666666
AT $Oe.pC1K* Oe.pC2K T*Oe.p3KU&
AT) $Oe.pC1K* Oe.pC2K T*Oe.p3KU&
RAT $Oe.pC1K* Oe.pC2K T*Oe.p3KU&
Fun"-iile 9+* 9+C* R9+ "aut% 'n (irul 7+)2 sub(irul 7+)1. Se returneaz% pozi-ia sub(irului g%sit*
da"% nu este g%sit se returneaz% 5. 7+N este op-ional% (i arat% a "1ta apari-ie a sub(irului de "%utat
'n"=eie a"-iunea de "%utare.
Pentru 9+ $ & (i 9+C $ & "%utarea 'n"epe de la 'n"eputul Oe.pC2K* pentru R9+ $ & "%utarea
'n"epe de la s!1r(itul Oe.pC2K
Di!eren-a dintre 9+ $ & (i 9+C $ & este "% 9+C $ & nu !a"e distin"-ie 'ntre literele mari (i mi"i.
R9+ $ & este de asemenea sensibil% la maNus"ule.
Hn (ir de "ara"tere se poate 'ntinde pe mai multe linii.
ATLINE $Oe.pC1K* Oe.pC2K&
AT)LINE $Oe.pC1K* Oe.pC2K&
RATLINE $Oe.pC1K* Oe.pC2K&
Fun"-iile 9+I23<* 9+CI23<* R9+I23< "aut% sub(irul 7+)1 'n 7+)2 return1nd num%rul liniei 'n
"are a !ost g%sit0 'n "azul 'n "are nu a !ost g%sit se returneaz% 5.
9+CI23< $ &* 9+I23< $ & "%utare de la st1nga la dreapta
R9+I23< $ & "%utare de la dreapta la st1nga
9+I23< $ &* R9+I23< $ & sensibile la maNus"ule.
O))IRS $Oe.pC1K* Oe.pC2K& returneaz% num%rul de apari-ii ale sub(irului 7+)1 'n
(irul 7+)2
Func3'' c rturn#$/ 'n"or%#3'' d(+r 8'rur' d c#r#ctr/
LEN $Oe.pCK& returneaz% lungimea (irului 7+)
ISALPGA $Oe.pCK& returneaz% .+. da"% 7+) 'n"epe "u un "ara"ter al!abeti"* alt!el
returneaz% .F.
ISDIGIT $Oe.pCK& idem pentru "i!r%
ISLOCER $Oe.pCK& idem pentru liter% mi"%
ISIPPER $Oe.pCK& idem pentru liter% mare
Func3'' +r'B'nd tr#n("or%/r' #& 8'rur'&or d c#r#ctr,
LOCER $Oe.pCK& trans!orm% maNus"ulele 'n litere mi"i 'n 7+)
IPPER $Oe.pCK& trans!orm% literele mi"i 'n maNus"ulele 'n 7+)
PROPER $Oe.pCK& trans!orm% primul "ara"ter 'n maNus"ul%
pentru !ie"are "u)1nt iar restul 'n litere mi"i
$pentru "ara"tere al!abeti"e&
)GRTRAN $Oe.pC1K*Oe.pC2K*Oe.pC4K&
Pentru !un"-ia CBR+R93/
Oe.pC1K (irul de prelu"rat
Oe.pC2K* Oe.pC4K (iruri !olosite "a tabele de trans!ormare.
E"ct, se ia primul "ara"ter din Oe.pC1K se "aut% 'n Oe.pC2K* da"% se g%se(te se 'nlo"uie(te "u
"ara"terul de pe a"eea(i pozi-ie din Oe.pC4K0 da"% nu se g%se(te* "ara"terul r%m1ne nes"=imbat. 8n
"azul 'n "are "ara"terul g%sit 'n Oe.pC2K nu are "orespondent 'n Oe.pC4K a"est "ara"ter se elimin% din
(irul de trans!ormat apoi se tre"e la "ara"terele urm%toare pro"ed1nd analog.
10..-. Tipul dat$ )alendaristi)$
Curs 12. FOXPRO 2.6 DOS pag.2>
E7+r(' d#t/ c#&nd#r'(t'c/ "ombina-ie de operatori (i operanzi a "%ror e)aluare returneaz% o
)aloare de tip dat% "alendaristi"%.
O+r#n$' 0n 7+r('' d#t/ c#&nd#r'(t'c//
"1mpuri de tip dat% "alendaristi"%*
!un"-ii "e returneaz% )alori de tip dat% "alendaristi"% *
)ariabile de tip dat% "alendaristi"%*
"onstante de tip dat% "alendaristi"%*
Formatul general impli"it este OllKLOzzKLOaaK0 ordinea zi* lun%* an $2 sau ? "i!re& pre"um (i
modelul separatorilor sunt "ontrolate de "omenzi Fo..Pro
<..
STOREb56L25L;7c TO data6"
P data6"
25L56L;7
SET DATE TO AMERI)AN
P data6"
56L25L;7
Data "alendaristi"% )id% prezint% blan"uri 'n pozi-iile lun%* zi* an sau blan@ 'ntre a"olade/
<..
data6"RbLLc
P data6"Rbc
.+.
Datele "alendaristi"e in)alide $"are nu e.ist%& sunt tratate de Fo.Pro "a (i date )ide.
<..
P b56L225L;7cRbc
.+.
8n memoria "al"ulatorului o dat% "alendaristi"% este reprezentat% printr,un num%r $num%rul de
zile tre"ute din 51.51.1;55&. De"i se poate aduna sau s"ade o "onstant% numeri"% la o dat% !i.at%
ob-in1nd modi!i"area datei "u un num%r de zile spe"i!i"at de "onstant%.
<..
M b12L41L;7cS1
51L51L;;
Formatul datei este spe"i!i"at de "omanda/
SET DATE T+OU 9C<R2C93Y93S2YR2+2SBYFR<3CBJY2+9I293
9C<R2C93 llLzzLaa
93S2 aa.ll.zz
R2+2SB zzLllLaa
FR<3CB zzLllLaa !olosit pentru !ormatul de dat% rom1nes"
2+9I293 zzLllLaa
9!i(area anului "u 2 L ? "i!re este spe"i!i"at de "omanda/
SET )ENTIRH O3YOFF
O3 ? "i!re pentru an
OFF 2 "i!re pentru an
Cara"terul separator pentru dat% este spe"i!i"at de "omanda/
SET MARA TO Oe.pCK
Hnde 7+) este "ara"terul separator
Data sistem este returnat% de !un"-ia
DATE $ &
<..
P D9+<$ &
pag.26 Curs 12. FOXPRO 2.6 DOS
Func3'' r"r'to#r &# t'+u& d#t/ c#&nd#r'(t'c/
DOC $Oe.pDK& Returneaz% $numeri"& a "1tea zi din s%pt%m1n% "ade data
e.pD
)DOC $Oe.pDK& Returneaz% $(ir de "ara"tere& a "1tea zi din s%pt%m1n%
"ade data e.pD
DAH $Oe.pDK& Returneaz% $numeri"& a "1tea zi din lun% "ade data e.pD
MONTG $Oe.pDK& Returneaz% $numeri"& a "1tea lun% din an "ade data e.pD
)MONTG $Oe.pDK& Returneaz% $(ir de "ara"tere& a "1tea lun% din an "ade data
e.pD
GOMONTG $Oe.pDK* Oe.p3K& <!e"tueaz% un salt de e.p3 luni !a-% de data e.pD
HEAR $Oe.pDK& Returneaz% anul datei "alendaristi"e e.pD
<.emplu de a!i(area datei "urente "u aNutorul !un"-iilor/
P CDOD$D9+<$&&*F*F*D9V$D9+<$ &&* CCO3+B$D9+<$ &&*V<9R$D9+<$ &&
10../. Controlul timpului *n %o&'ro
TIME $ & Returneaz% ora e.a"t% 'n !ormat ==/mm/ss
TIME $Oe.p3K & Returneaz% ora e.a"t% 'n !ormat ==/mm/ss.zz
== $ora& 5,24*
mm $minute& 5,>;*
ss $se"unde& 5,>;*
zz $ze"imi de se"und%& 5,;;.
Da"% se spe"i!i"% e.p3 $poate a)ea ori"e )aloare& se )or a!i(a ze"imile de se"und% "u pre"izia
de 1L17 "u toate "% a!i(area este de 1L155
SHS $2 & Returneaz% num%rul de se"unde s"urse de la ora 5 p1n% 'n
momentul apelului !un"-iei* "u pre"izie de o se"und%
SE)ONDS $ & 2dem "u pre"izie de o milise"und%
Ora e.a"t% poate !i men-inut% pe e"ran prin apelul "omenzilor/
SET )LO)A O3YOFF O3 "easul este )izibil pe e"ran
OFF "easul nu este )izibil pe e"ran
SET )LO)A +O TOr1ndK*O"oloan%KU R1nd* "oloan% spe"i!i"% pozi-ia "easului pe e"ran
Setarea a!i(%rii orei este spe"i!i"at% de "omanda/
SET GOIRS +O T12Y2?U 2? ore sau 12 ore "u spe"i!i"area 9C* PC
10..0. Tipul .E.5
O!er% posibilitatea utilizatorului de a 'nmagazina te.te de lungime )ariabil%* imagini* et". Fo.Pro
interpreteaz% a"este date "a (iruri de "ara"tere* "az 'n "are pot !i apli"ate unele !un"-ii re!eritoare la
(iruri de "ara"tere.
10..1. %un)ii pentru )onversii *ntre tipuri de date
DTO) $Oe.pDK T*1U& Realizeaz% "on)ersia datei "alendaristi"e e.pD 'n (ir de
"ara"tere. Formatul este in!luen-at de S<+ C<3+HRV
(i S<+ D9+<. Da"% se spe"i!i"% T*1U (irul returnat )a
a)ea !ormatul 9999II::* "o&o('t &# 'nd7#r
DTOS $Oe.pDK & <"=i)alent "u D+OC pentru "are se spe"i!i"% T*1U
)TOD $Oe.pCK & Realizeaz% "on)ersia (irului de "ara"tere e.pC 'n dat%
"alendaristi"%.
DMH $ Oe.pDK& returneaz% data e.pD "a (ir de "ara"tere 'n !ormat FR<3CB
MDH $ Oe.pDK& returneaz% data e.pD "a (ir de "ara"tere 'n !ormat
9C<R2C93
<..
P DMH$D9+<$ &&
Curs 12. FOXPRO 2.6 DOS pag.2Q
P MDH$D9+<$ &&
STR $ Oe.p31KT*Oe.p32K
T*Oe.p34K&UU&
trans!orm% )aloarea numeri"% e.p31 'n (ir de
"ara"tere
Oe.p31K e.presia numeri"% de trans!ormat
Oe.p32K spe"i!i"% lungimea total% a (irului in"luz1nd pun"tul ze"imal (i partea !ra"-ionar%*
Oe.p34K num%rul de "i!re "are se )or !olosi pentru partea !ra"-ionar%.
Da"% e.p32 se spe"i!i"% mai mi" de"1t num%rul de "i!re a e.p31* apare un (ir de simboluri W
"are spe"i!i"% dep%(ire numeri"%. 2n "azul in)ers* da"% e.p32 se spe"i!i"% mai mare de"1t num%rul de
"i!re a e.p31* atun"i se "ompleteaz% "u blan"uri 'n st1nga (i zerouri 'n dreapta.
<..
P STR$124?.>6*12*?&
124?.>655
P STR$124?.>6*12*?&
WWW
XAL $ Oe.pCK trans!orm% (irul de "ara"tere e.pC 'n )aloare numeri"%
<..
P XAL $`124?.>6`&
124?.>6
P XAL $`19`&
1.55
Func^'' r"r'to#r &# to#t t'+ur'& d d#t
THPE $ Oe.pCK& returneaz% un "ara"ter "are indi"% tipul e.presiei e.pC sau a
unui "1mp memo
"ara"terul returnat/
C tip (ir de "ara"tere*
3 tip numeri"*
D tip dat% "alendaristi"%*
I tip logi"*
C tip memo*
G tip general*
H tip nede!init.
EXALIATE $ Oe.pCK e)alueaz% e.presia (i returneaz% rezultatul e)alu%rii0 rezultatul
)a !i de tipul e.presiei
<..
P EXALIATE $`6W4L2a&
; __rezultat de tip numeri"
P EXALIATE $`D9+<$ & S1a&
56L21L;7 __rezultat de tip dat% "alendaristi"%
EMPTH $ Oe.pK returneaz% .T. da"% e.presia e.p $de ori"e tip& este )id% (i .F. 'n
"az "ontrar.
<.presia )id%/
de tip (ir de "ara"tere* "on-ine numai/
blan"uri , CBR$42&*
nuluri , CBR$5&*
taburi , CBR$;&*
s!1r(it de linie , CBR$14&* CBR$15&*
de tip numeri"* "on-ine numai )aloarea 5*
de tip dat% "alendaristi"%* "on-ine numai
b L L c*
b c*
pag.27 Curs 12. FOXPRO 2.6 DOS
de tip logi"* "on-ine numai )aloarea .F.*
de tip memo* !%r% "on-inut.
MIN $ Oe.p1K*Oe.p2KT*Oe.p4K...U& e)alueaz% e.presiile e.p1* e.p2* e.p4*... (i
returneaz% )aloarea "ea mai mi"%
MAX $ Oe.p1K*Oe.p2KT*Oe.p4K...U& e)alueaz% e.presiile e.p1* e.p2* e.p4*... (i
returneaz% )aloarea "ea mai mare
BETCEEN $ Oe.p1K*Oe.p2K*Oe.p4K& e)alueaz% e.presiile e.p1* e.p2* e.p4*... (i
returneaz% .+. da"% )aloarea e.p1 se a!l% 'ntre
)alorile e.presiilor e.p2* e.p40 alt!el
returneaz% .F.
INLIST $ Oe.p1K*Oe.p2KT*Oe.p4K...U& e)alueaz% e.presiile e.p1* e.p2* e.p4*... (i
returneaz% .+. da"% )aloarea e.p1 g%sit% 'n
interiorul )alorilor e.presiilor e.p2* e.p4...0
alt!el returneaz% .F.
<.presiile trebuie s% !ie de a"ela(i tip ^
CHPR23S
10. SISTEME DE GESTIONARE A BAZELOR DE DATE FOXPRO 2.6 DOS 1
10.1. Introducr 1
10.1.1. Noiuni generale despre bazele de date 1
10.1.. !nstalarea" lansarea #i p$r$sirea mediului %o&'ro ?
15.1.4. A)iuni *n ferestrele de editare ale sistemului %o&'ro 6
15.1.?. .oduri de lu)ru *n mediul %o&'ro Q
15.1.>. Elementele interfeei %o&'ro. 7
15.1.>.1 Ceniul S9(t% 7
15.1.>.2 Ferestre ;
15.1.>.4 Obie"te de "ontrol 15
15.1.>.? 9sistentul mediului Fo.Pro $Belp& 11
15.1.6. Editorul de te&te %o&'ro 11
15.1.Q. 'rograme %o&'ro 14
15.1.7. .odul de prezentare al )omenzilor #i fun)iilor %o&'ro. Convenii de
sinta&$
1?
15.1.;. Comenzi elementare %o&'ro 1>
10.2. T'+ur' d d#t 0n Fo7Pro 16
10..1. Tipul logi) 16
15.2.2. Tipul numeri) 16
15.2.4. Tipul #ir de )ara)tere 1;
15.2.?. Tipul dat$ )alendaristi)$ 22
15.2.>. Controlul timpului *n %o&'ro 2?
15.2.6. Tipul .E.5 2?
15.2.Q. %un)ii pentru )onversii *ntre tipuri de date 2?

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