Documente Academic
Documente Profesional
Documente Cultură
Fig. 1.1
Pentru a deschide spaiul de lucru se acceseaz meniul File New Project, fig.1.2.
Fig. 1.2
n urma acestei aciuni apare o form cu un meniu din care se alege Windows Forms
Application, fig. 1.3, pentru aplicaii cu interfa Windows sau se poate alege ASP.NET Web
Application pentru aplicaii cu interfa Web acestea din urm nu fac obiectul prezentei
lucrrii. La baza formei s gsete o rubric de editare n care se trece denumirea aplicaiei.
Fig. 1.3
Fig. 1.4
Fig. 1.5
Pe forma de pe ecran, pentru construirea interfeei se pot utiliza obiectele vizuale predefinite care
se gsesc pe bara din partea stng. Plasarea cursorului deasupra ei determin deschiderea unei
forme ce conine toate obiectele disponibile pentru versiunea cu care se lucreaz, fig. 1.6.
Obiectul dorit a fi utilizat se selecteaz cu mausul i se trage n forma de lucru, dac selectm
button, fig. 1.6, vomobine rezultatul din fig. 1.8 n care obiectul selectat, butonul este plasat n
forma de pe ecran.
preS vom
Fig. 1.7
Fig. 1.8
Proprietile obiectului apar n caseta cu proprieti din partea dreapta, jos a spaiului de lucru.
Acestea pot fi modificate n timpul construirii aplicaiei sau dinamic n timp ce ruleaz aplicaia.
Astfel se poate modifica textul ce apare pe buton prin scrierea textului dorit, de exemplu Red la
rubrica text din caseta cu proprieti a butonului, fig. 1.9. Dup scrierea textului se apas tasta
enter i textul apare scris pe buton.
Fig. 1.9
Dac n timpul rulrii programului se dorete s se execute o anumit secven de instruciuni la
acionarea butonului, pentru aceasta trebuie definit un eveniment asociat butonului.
Evenimentele ce pot fi asociate unui obiect se gsesc tot n caseta de proprieti i pot fi
vizualizate prin acionarea butonului cu simbolul unei sgei
, fig 1.10.
Fig. 1.10
Dac la rubrica Click facem dubluclic n partea dreapt a rubricii apare pe ecran codul
programului cu definiia funciei care se va executa la apsarea butonului, fig.1.11.
Fig. 1.11
Codul programului scris automat de ctre Vizual C# se compune din pachetul de funcii
utilizat de program care sunt introduse n cod cu instruciunea using. Namespace urmat de
denumirea aplicaiei reprezint segmentul aplicaiei. Namespace grupeaz un pachet de
instruciuni, este foarte util in cazul programelor mari cnd acestea pot fi alctuite din mai multe
secvene identificate prin nume diferite ale namespace-ului dezvoltate separat de diferii
programatori.
Fiecrui obiect, n cod i se asociaz o clas, pentru Form1definiia clasei este public
partial calss Form1: Form, este o clas public, adic poet fi accesat si din alte clase i deriv
din clasa de baz Form.
Public Form1() reprezint constructorul clasei funcia prin care se construiete obiectul
Form1, n interiorul ei este o funcie InitializeComponent() care se execut la construcia
obiectului i care iniializeaz componentele acestuia.
Funcia private void button1_Click(object sender, EventArgs e) a fost scris automat de
Vizual C# i este destinat codului care se va executa n momentul cnd se acioneaz butonul.
Scriem n interiorul acestei funcii urmtorul cod:
BackColor = Color.Red;
aceasta apare o list de denumiri care pot fi utilizate. Acest IntelliSense ajut la scrierea rapid i
corect a codului.
Fig. 1.11
Pentru a rula programul se acioneaz pe sgeta din bara de instrumente (Start
Debugging), fig.1.12 sau se apas tasta F5.
Fig. 1.12
n urma acestei aciuni apare pe ecran forma pe care am proiectat-o, fig, 1.13, iar dac acionm
butonul culoarea formai se schimb n rou, fig. 1.14.
Fig. 1.13
Fig. 1.14
calcule). Regula general este c partea de calcul este organizat n module separate de
interfaa grafic. Pentru realizarea calculelor se pot utiliza n C# Clasele. Acestea sunt
obiecte soft n care utilizatorul i poate organiza datele i metodele de calcul
Pentru a nelege modul de realizare a unei aplicaii cu interfa windows n C# vom prezenta un
exemplu comentat n care se realizeaz o aplicaie simpl, denumit Calcule. Pentru a urmrii
etapele realizrii i legturile ntre interfaa i blocul de calcul s-e vor utiliza calcule aritmetice
simple.
Tema programului: Se citesc 2 valori de pe ecran. Cu acestea s se calculeze i s se afieze
suma, produsul i ctul.
Se deschide o nou aplicaie care se va denumi Calcule. Pe forma programului se construiete o
interfa asemntoare cu cea din fig. 1.5:
Fig. 1.15
Aceasta cuprinde urmtoarele obiecte:
- 2 etichete, textele acestora se modific din tabelul cu propriti A = i respectiv B =;
- 2 textBox;
- 1 buton la care se modific textul afiat n Calculeaza;
- 1 textBox pentru afiarea rezultatelor. La acesta sebifeaz obiunea MultiLine, fig. 1.6;
Fig. 1.16
Pentru a construi modulul de calcul n Solution Explorer se face clic dreapta cu mausul pe
numele aplicaiei i din meniu se alega New Item, fig. 1.7
Fig. 1.17
n urma aciunii apare o form de dialog din care se alege Class, iar n partea de jos la rubrica
Name se completeaz numele CalculeSimple, fig. 1.8
fig. 1.18
Se creeaz o clas nou care apare att n Solution Explorer ct i sursa n taburile programului,
fig. 1.9
Fig. 1.19
Clasa CalculeSimple va conine elementele de calcul ale programului. Pentru definirea acestora
se completeaz urmtorul cod, fig. 1. 20
fig. 1.20
Fig. 1.21
Fig. 1.22
n cadrul acestei funcii se completeaz codul din fig. 1.22. Semnificaia liniilor de cod este
urmtoarea:
Variabila public A astfel definit poate fi modificat din alt parte a programului n care
s-a defint obiectul asociat clasei CalculeSimple. Prin intermediul funciei de mai sus
valoarea variabilei a poate fi citit funcia get sau scris funcia set. n cazul de fa
valoarea citit de pe ecran atribuit variabilei locale A este transmis variabilei A din
clasa CalculeSimple prin instruciunea CS.A = A, iar prin intermediul funciei set ajunge
la variabila local a.
Execuia programului se face prin acionarea butonului Start Debugging, fig. 1.23. n urma
acestei aciuni apare pe ecran interfaa vizual a programului, funcional, figura 1.24. Se pot
introduce datele i prin acionarea butonului se efectueaz calculele i se afieaz rezultatele.
Fig. 1.24
n partea de calcul CalculeSimple, n exemplul prezentat mai sus transmiterea valorilor ntre
interfaa grafica Form1 i modulul de calcul s-a realizat prin intermediul variabilelor globale
(declarate cu directiva public). Pentru calcule s-a utilizat funcii de tip Suma() returnau rezultatul
i care operau pe variabilele locale a, b deja iniializate prin intermediul variabilelor A, B
declarate cu public.
O alt modalitate de a transmite valorile i rezultatele ntre modulul de calcul i interfaa grafic
este prin utilizarea parametrilor formali ai funciei de calcul. n fig. 1.20 s-a definit funcia
Suma1, figura 1.25.
Fig. 1.25
Funcia Suma1 este de tip void adic prin apelarea ei nu se returneaz nici o valoare. Are ca
parametrii de intrare dou variabile de tip float a i b care reprezint termenii sumei, iar
rezultatul este ntors prin variabila s declarat cu directiva out care semnific c valoarea acestui
parametru este returnat de funcie n urma unui calcul.
Dac se utilizeaz funcia Suma1codul corespunztor evenimentului Click se modific astfel
figura 1.26.
Fig. 1.26
n acest caz dup ce preluam de pe ecran valorile variabilelor A i B putem apela direct
procedura de calcul Sum1 punnd parametrii n ordinea corespunztoare. Pentru a extrage
valoarea rezultatului trebuie declarat n prealabil o variabil destinat acestui scop, sm.
Dac se dorete utilizarea variabilelor i metodelor din blocul de calcul CalculeSimple i pentru
alte interfee sau module trebuie s se aib n vedere faptul c declaraia:
CS = new CalculeSimple() apeleaz constructorul clasei i iniializeaz variabilele. De cte ori
se apeleaz practic se recreeaz acest obiect. Dac dorim utilizarea acestui i n alte interfee sau
module trebuie s o crem o singur dat apoi s o transmitem ca parametrii la clasele care o
utilizeaz.
1.5 Adugarea unei forme noi aplicaiei cu acces la modulul de calcul
Pentru programe complexe interfaa poate fi alctuit din mai multe forme. Este necesar ca toate
modulele interfeei s aib acces la modulul / modulele de calcul. Pentru a se conserva datele i
rezultatele din modulul de calcul acesta de regul se creeaz o dat prin apelarea constructorului
apoi se transmite ca parametru formal n toate modulele care apeleaz la acesta.
La aplicaia de mai sus se adaug o nou form. Se face click dreapta pe denumirea aplicaiei din
Solution Explorer i se alege din meniu Wwindows Form, figura 1.27 i 1.27
Fig. 1.27
Fig. 1.28
Pe noua form se adaug o etichet al crui text se completeaz ca n figura 1.29.
Fig. 1.29
Codul clasei asociat formei 2 se completeaz conform figurii 1.30.
Fig. 1.30
Fig. 1.31
Codul pentru evenimentul Click asociat acestui buton este afiat n figura 1.32
Fig. 1.32
Se definete o variabil local F2 asociat celei de-a doua forme Form2. Cnd se apeleaz
constructorul se introduce parametrul formal CS asociat blocului de calcul CalculeSimle. n acest
fel toate valorile existente la acest moment (citite de pe ecran, rezultate, etc.) n clasa
CalculeSimple se transmit n Form2 i pot fi utilizate, figura 1.33.
Fig. 1.33
Pentru ca programul s funcioneze corect trebuie ca n momentul cnd se afieaz forma 2
trebuie deja s fie iniializat clasa CalculeSimple i s fie citite valorile de pe ecran. n acest caz
trebuie respectat succesiunea de utilizarea a butoanelor. Se apas prima dat butonul Calculeaz
i apoi butonul Afieaz forma 2.
1.6 Elemente de baz ale limbajului C#
n acest paragraf se vor prezenta cteva din elementele de baz ale limbajului C#. Alte elemente
care sunt necesare aplicaiilor din acest curs vor fi prezentate n capitolele urmtoare pe msur
ce vor fi utilizate.
1.6.1 Structura uni program C#X
Codul unui program scris n C# este format din linii pe care se gsesc una sau mai multe
instruciuni dar i caracterele de formatare: spaiul, tab, sfrit de linie, etc. Compilatorul C#
ignor toate caracterele de formatare, acest lucru permite programatorului s scrie un cod
formatat uor de citit.
Blocul 2
nivelul II
}
< instruciunea 4>
Blocul 1
nivelul II
Blocul 4
Blocul 3
nivelul III
nivelul II
}
< instruciunea 7>
}
}
Valoare
Intreg ntre -128 i 127
Intreg ntre 0 i 225
Intreg ntre -128 i 127
Intreg ntre -32768 i 32768
Intreg ntre 0 i 65535
Intreg ntre 2147483648 i 2147483648
Intreg ntre 9223372036854775808 i 9223372036854775808
Intreg ntre 0 i 18446744073709551615
double
System.Double
324
float
decimal
System.Float
System.Decimal
45
28
si 1.7 10
si 3.4 10
si 7.9 10
308
38
28
char
bool
string
System.Char
System.Boolean
System.String
Pentru utilizarea unei variabile n program, aceasta trebuie declarat conform (nr.
paragrafului n care s-au dat definiii!). Funcie de poziia blocului n care se face declaraia,
variabila poate fi local sau global.
Atribuirea valorii unei variabile se face folosind operatorul de atribuire = .
De exemplu:
int n;
n = 30;
n exemplul de mai sus se definete variabila i apoi se iniializeaz. Orice variabil
trebuie iniializat, adic trebuie s i se atribuie o valoare nainte de utilizare. Se pot realiza
ambele lucruri simultan folosind iniializarea chiar n linia de definire.
Exemplul :
int x = 4, y = 7;
1.6.3 Expresii
Limbajul C# pune la dispoziia programatorului o serie de operatori care includ i
operatorul de atribuire = . Combinnd variabilele cu operatorii rezult expresiile care sunt
elementele de baz care alctuiesc blocurile de program.
Operatorii disponibili pot fi clasificai n trei categorii:
a) Operatorii matematici
n C# sunt cinci operatori matematici de tip binar, doar doi dintre acetia + i - pot fi
utilizai i ca operatori unari. n tabelul 1.5 sunt prezentai operatorii matematici i funciile
acestora.
Tabelul 1.5
Operator
+
*
/
%
Categorie
binar
binar
binar
binar
binar
Exemplu
v1 = v2 + v3;
v1 = v2 - v3;
v1 = v2 * v3;
v1 = v2 / v3;
v1 = v2 % v3;
Rezultat
lui v1 i se atribuie suma v2 plus v3
lui v1 i se atribuie diferenta dintre v2 si v3
lui v1 i se atribuie produsul dintre v2 si v3
lui v1 i se atribuie catul dintre v2 plus v3
lui v1 i se atribuie restul dintre v2 impartit la v3
Categorie
unar
unar
unar
unar
Exemplu
v1 =++v2;
v1=--v2;
v1++;
v1--;
Rezultat
lui v1 i se atribuie valoarea v2+1
lui v1 i se atribuie valoarea v2-1
Echivalent v1=v1+1;
Echivalent v1 = v1-1;
O alt combinaie util de operatori este obinut prin utilizarea operatorului de atribuire
n combinaie cu operatorii matematici spre exemplu +=. Semnificaiile acestor combinaii
sunt prezentate n tabelul 1.7.
Tabelul 1.7
Operator
+=
-=
*=
/=
%=
Categorie
binar
binar
binar
binar
binar
Exemplu
v1 += v2;
v1 -=v2;
v1 *=v2;
v1 /=v2;
v1 %=v2
Rezultat
lui v1 i se atribuie valoarea v1+v2
lui v1 i se atribuie valoarea v1-v2
lui v1 i se atribuie valoarea v1*v2
lui v1 i se atribuie valoarea v1/v2
lui v1 i se atribuie valoarea restului v1/v2
Expresiile logice utilizeaz operatori buleeni. Acestea sunt utile pentru luarea deciziilor, Tabelul
1.8
Tabelul 1.8
Operator
==
!=
<
>
Categorie
binar
binar
binar
binar
Exemplu
v1 = v2==v3
v1 = v2!=v3
v1 = v2<v2
v1 = v2>v5
<=
binar
v1 = v2<=v3
>=
binar
v1 = v2>=v3
&&
binar
v1 = v2&&v3
||
binar
V1=v2||v3
Rezultat
lui v1 i se atribuie valoarea true daca v2 este egal cu v3
lui v1 i se atribuie valoarea true daca v2 nu este egal cu v3
lui v1 i se atribuie valoarea true daca v2 este mai mic ca v3
lui v1 i se atribuie valoarea true daca v2 este mai mare ca v3
lui v1 i se atribuie valoarea true daca v2 este mai mic sau
egal v3
lui v1 i se atribuie valoarea true daca v2 este mai mare sau
egal v3
lui v1 i se atribuie valoarea true daca v2 este adevarat si v3
este adevarat
lui v1 i se atribuie valoarea true daca v2 este adevarat sau v3
este adevarat
Fig. 1.35
n interiorul blocului principal al funciei sunt definite o serie de variabile cum sunt oma, omb i
z. Alte variabile sunt numai definite A2, B, Tr, z0 i zz urmnd s fie utilizate dup necesiti.
Pentru calculul anumitor mrimi se utilizeaz operatori aritmetici. Pentru ridicarea la putere xy se
folosete funcia Pow (power) din biblioteca matematic Math.
n interiorul blocului principal se gsete un bloc de calcul controlat de instruciunea do.
Calculele care se efectueaz n acest bloc sunt cuprinse n interiorul acoladelor ce marcheaz
blocul instruciunii do.
Instruciunea While este utilizat pentru a se decide cnd se oprete calculul din blocul
instruciunii do. Expresia de lng ea este o expresie boolean. Math.Abs(z-z0) reprezint
valoarea absolut a diferenei z-z0. Expresia boolean este fals n momentul cnd valoarea
absolut a diferenei z-z0 este mai mic dect cea impus 0.0001 n acel moment calculele sunt
oprite n blocul do i programul trece la executarea instruciunilor urmtoare.
n exemplu de mai sus se observ structura de blocuri a programului, modul de definire a
variabilelor i alctuirea instruciunilor din variabile i operatori aritmetici. Se mai observ faptul
c desfurarea calculelor poate fi controlat cu ajutorul expresiilor booleene.
1.6.5 Vectorii
Fiecare tip de variabil prezentat n paragrafele anterioare stocheaz o singur valoare. Dac se
dorete stocarea mai multor valori de acelai tip ar trebui s definim cte o variabil pentru
fiecare valoare, lucru ce necesit un efort deosebit.
Pentru acest din urm caz se lot utiliza vectorii. Vectorii reprezint liste de valori indexabile
stocate ntr-o singur variabil de tip vector.
Declararea unei variabile de tip vector se face cu urmtoarea sintax:
<tip de baz>[] <nume variabil>;
Tip de baz reprezint orice tip de variabil acceptat de C#, iar nume variabil reprezint numele
vectorului. n figura 1.36 sunt prezentate cteva moduri de definire a variabilelor de tip vector.
Fig. 1.36
n exemplu de mai sus sunt prezentate mai multe tipuri de vectori:
- vectori de tip string, monodimensionali ([]) denumireStm, dataStm, codLun;
- vector de tip int, monodimensional ([]) indexStm, zileLuna;
- vector de tip double, bidimensional ([,]) tStm;
nainte de a fi utilizat un vector trebuie s fie iniializat, adic s se precizeze cte valori se va
stoca n acest vector. Aceast iniializare se poate face direct n declaraia vectorului ca n
cazurile vectorilor zileLuna i codLun n care s-a precizat direct numrul de elemente al
vectorului dar i valorile acestuia, printr-o list de elemente desprite de virgul i plasate ntre
acolade.
Un alt tip de a iniializa vectorii este cel prezentat n figura 1.37:
Fig. 1.37
n exemplul de mai sus se observ un alt mod de a iniializa vectorul folosind directiva new
urmat de tipul de baz al vectorului, iar ntre paranteze drepte este precizat numrul de elemente
al vectorului, de exemplu, n cazul DD.IndexStm vectorul va conine nCol 1 elemente.
Pentru a accesa o anumit valoare a vectorului respectiv trebuie s precizm indexul din lista
vectorului la care se gsete acea valoare. n exemplu de mai sus pentru ai atribui o valoare
variabilei vectorului DD.DataStm care se gsete la poziia k se folosete sintaxa:
DD.DataStm[k] = <valoare>;
Aceeai sintax este valabil i pentru vectorii mutidimensionali, cazul vectorului DD.TStm din
exemplu de mai sus.
1.6.7 Instruciuni cu care se controleaz execuia programului
1.6.7.1 Instruciunea goto
Instruciunea goto se utilizeaz pentru a ntrerupe desfurarea normal a programului i
produce un salt de la linia pe care se gsete instruciunea pn la linia marcat cu eticheta din
instruciune.
Sintaxa aceste instruciuni este:
goto <Name Etichet>;
Eticheta reprezint un marcaj al liniei de la care va continua programul dup execuia
instruciunii goto.
Aceasta are sintaxa:
<Nume Etichet>:
Pentru a vedea modul cum funcioneaz aceast instruciune s analizm exemplul
urmtor:
.
int i = 5
goto eticheta1
i += 10;
eticheta1:
Console.WriteLine(Valoarea numrului = {0},i);
.
n exemplul de mai sus:
-
nu este executat niciodat, acest lucru este semnalat printr-o atenionare n lista de erori a
programului.
Folosirea excesiv a instruciunii goto poate conduce la un cod confuz, din aceast cauz
de regul se recomand evirarea acesti intruciuni
1.6.7.4. Instrciunea if
Instruciunea if este de departe cea mai utilizat cale de a lua decizii n cadrul unui
program. Aceast instruciune nu produce un rezultat care poate fi atribuit, ea este utilizat
pentru a se decide cu ce instruciuni urmeaz s continuu programul. Sintaxa este urmtoarea:
if(<test>) < Codul care se execut dac testul este true>;
Dac testul produce valoarea false atunci programul continu cu execuia liniei
urmtoare:
Pentru a putea executa un cod n momentul cnd valoarea testului este false se folosete
combinaia if else cu urmtoarea sintaxa:
if(<test>)
<codul executat dac <test>este adevrat>;
else
<codul executat dac <test>este false>;
n figura 1.38 este prezentat un exemplu de utilizare a instruciunii if. Se observ c decizia este
luat funcie de o valoare fix 182. Dac variabila i este adevrat se execut instruciunile care
urmeaz dup if, n caz contrar se execut instruciunile care urmeaz dup else.
Fig. 1.38
Se poate utiliza mai multe instruciunii if succesive pentru decizii mai complexe. n figura
1.39 este prezentat un astfel de exemplu:
Fig. 1.39
Pentru decizii complexe care se iau funcie de mai multe valori ale variabilelor se pot utiliza
combinaii else if ca n exemplu de mai sus. Execuia programului va continua pe ramura else
pentru care este ndeplinit condiia ce urmeaz dup if.
1.6.7.5. Instruciunea Switch
Instruciunea Switch este similar cu instruciunea if, aceasta poate comuta execuia
diverselor ramuri din program funcie de valoarea variabilei care controleaz instruciunea.
Sintaxa este urmtoarea:
Switch(<testVar>)
{
Case <comparisonVal1>:
<cod care se execut dac <testVar> == <comparisonVal1>>
break;
Case <comparisonVal2>:
<cod care se execut dac <testVar> == <comparisonVal2>>
break;
Case <comparisonValN>:
<cod care se execut dac <testVar> == <comparisonValN>>
break;
default;
<cod care se execut dac nici o condiie de mai sus nu a fost ndeplinit>
break;
}
Variabila care controleaz instruciunea <testVar> este comparat pe rnd cu fiecare din
valorile specificate n ramurile notate cu case, n momentul cnd coincide valoarea variabilei de
control cu una din valorile din ramurile care se execut instruciunile scrise pe aceea ramur pn
la instruciunea break apoi se trece la executarea instruciunii plasat dup switch.
Una din opiunile instruciunii switch este default care poate fi utilizat, dac este cazul
sau nu. Aici se scriu instruciunile care se execut n cazul cnd nici o condiie nu a fost
ndeplinit.
n figura 1.40 este prezentat un exemplu de instruciune switch care permite salvarea selectiv a
unei imagini de pe ecran funcie de tabControl1.SelctedIndex
Fig. 1.40
1.6.7.6. Cilcuri
Cilclurile sunt instruiuni prin care se realizeaz execuia repetitiv a uneia sau mai
multor instruciuni. Utilizarea acestor tipiuri de instruciuni permite execuia aceluiai cod de
program de ami multe ori fr a rescrie istruciunile respective. Exist dou tipuri de cilcluri
unele n care trebie precizat de la nceput de cte ori se repert segvena respectiv, iar altele prin
care repetarea de face atta timp ct este ndeplinit o condiie.
1.6.7.6.1 Instruciunea do
Sintaxa acestei instruciuni este urmtoarea:
do
{
<codul care se va repeta>
} while (<Test>);
Aceast instruciune face posibil repetarea instruciunilor din corpul acesteia atta timp ct
testul logic (<Test>) are valoarea true, n momentul cnd valoarea testului devine false cilcul se
oprete.
n figura 1.41 este prezentat o secven dintr-o funcie care utilizeaz instruciunea do pentru
calculul coeficientului de pierdere hidraulic de sarcin pentru o conduct folosind metoda
aproximaiilor succesive. Secvena de calcul se repet pn cnd este ndeplinit condiia de
oprire controlat de directiva while. Dac condiia este adevrat adic diferena n valoare
absolut dintre variabilele L i L0 este mai mic dect 0.000001 programul continu cu
instruciunea return L
Fig. 1.41
1.6.7.6.2. Instruciunea while
Cilcul de tip while este similar cu ciclul do, cu deosebirea c testul care condiioneaz execuia
ciclului se face la inceputul ciclului, comparativ cu instruciunea do n care testul se face la
sfritul ciclului. n cazul instruciunii while instruciunile din corpul ciclului nu se execut dac
testul are valoarea false.
Sintaxa acestei instruciuni este:
While (<Test>)
{
<codul care se va repeta>
}
n figura 1.42 este prezentat un exemplu de utilizare a instruciunii while pentru citirea unui
fiier text n care datele sunt separate cu tab. Datele sunt adugate linie cu linie intr-un tabel
reprezentat de un dataGraid. Folosirea instruciunii while este util prin faptul c testul este
prevzut la nceputul ciclului, n cazul de fa condiia este dac nu este sfritul stream ului
(fisierului) . Atta timp ct aceast condiie este adevrat se execut intruciunile dintre
acolade. Dac condiia este fals, s-a ajuns la sfritul fierului, cilcul se oprete i porgramul
continu cu instruciunea de dup.
Fig. 1.42
operia aritmetic care modific valoare variabile contor la sfritul fiecrui ciclu.
}
n figura 1.43 sunt prezentare dou exemple de utilizare a instruciunii for. n partea de jos
sunt dou ciclului unul controlat de variabila i i altul de variabila j, al doilea fiind plasat n
interiorul primului. n acest caz pentru fiecare valoare i se execut ciclul al doilea (controlat
de j) de DD.NrZileT ori.