Sunteți pe pagina 1din 182

Visual Basic Aplicaii n inginerie Cuprins

Introducere Capitolul 1 Visual Basic-prezentare general 1.1.Visual Basic- prezentare general 1.2. Ferestre Capitolul 2 Concepte de baz n Visual Basic 2.1. Obiectul 2.2. Proprietile unui obiect 2.3. Metode 2.4. Evenimente Capitolul 3 Etapele realizrii unei aplicaii n Visual Basic 3.1.Proiectarea interfeei cu utilizatorul 3.2. Scrierea codului 3.3. Aplicaii Capitolul 4 Elemente de limbaj procedural Visual Basic.Variabile, constante, operatori, instruciuni 4.1. Variabile 4.2. Constante 4.3. Operatori 4.4. Funcii predefinite 4.5. Aplicaii Capitolul 5 Structuri de control 5.1. Structuri de control alternative 5.2.Structuri repetitive 5.3. Aplicaii Capitolul 6 Programare modular 6.1. Proceduri standard 6.2. Proceduri de tip funcie 6.3. Aplicaii

Visual Basic Aplicaii n inginerie Capitolul 7 Fiiere Visual Basic 1. Deschiderea fiierelor 2.nchiderea fiierelor 3. Exploatarea fiierelor n acces secvenial 4. Exploatarea fiierelor cu acces aleator 5. Aplicaii Bibliografie

Visual Basic Aplicaii n inginerie INTRODUCERE

Prezenta lucrare se dorete a fi o mbinare ntre ceea ce reprezint un produs informatic foarte utilizat (Visual Basic) i mediul aplicaiilor inginereti. Se vrea, n egal msur, un suport de curs destinat proceselor educaionale de formare iniial i de formare continu. Noiunile teoretice ncearc s surprind att elementele generale ale programrii indiferent de limbajul utilizat , ct i elementele specifice Visual Basic. De ce Visual Basic? Pentru c acest limbaj este caracterizat att de simplitate, ct i de putere, deci este o bun opiune pentru cititorul interesat de a face din calculator un prieten. Mediul pune la dispoziie faciliti, programe de ghidare, comenzi. Lucrarea se adreseaz studenilor de la facultile tehnice, precum i celorlalte categorii de persoane ce doresc s-i formeze deprinderi de programare. Aplicaiile, preponderent din inginerie, ofer posibilitatea ca cititorul, nelegnd fenomenul pe care vrea s l rezolve cu ajutorul calculatorului, s se poat concentra asupra modului de rezolvare, respectiv asupra instruciunilor ce vor fi utilizate. Pentru aprofundarea noiunilor teoretice, utilizatorul va avea posibilitatea s exerseze numeroasele aplicaii care sunt prezentate n carte.

Visual Basic Aplicaii n inginerie Capitolul 1 Visual Basic-prezentare general

Cunotine prealabile Arhitectura unui calculator Sistemul de operare Windows Plan tematic 1.1.Visual Basicprezentare general 1.2.Ferestre Intrebri obiectiv - Ce este un mediu integrat de dezvoltare? - Care sunt ferestrele mediului Visual Basic?

Cuvinte-cheie -mediu integrat de dezvoltare -ferestre

Visual Basic Aplicaii n inginerie

1.1. Visual Basic-prezentare general


Visual Basic este un limbaj de programare ce permite trecerea de la programarea procedural la programarea orientat pe obiect. Visual Basic nu este un limbaj propriu-zis orientat pe obiect ns lucreaz cu obiecte. Acest limbaj combin elementele programrii orientate pe obiecte cu elementele programrii orientate pe evenimente. Visual Basic este un mediu integrat de dezvoltare (IDE) care realizeaz [FRI 01], [ANI 03]: Scrierea i testarea aplicaiilor Distribuirea aplicaiilor Scrierea fiierelor Help Crearea de controale Active X. Termenul de Visual desemneaz modul n care va fi care va fi conceput aplicaia: se va proiecta interfaa cu ajutorul form-urilor (machete ale ecranului ) pe care vor fi adugate controale ( casete de text, butoane de comand, butoane de opiune, liste, meniuri). Scrierea codului utiliznd limbajul de programare propriu-zis va definitiva aplicaia. Visual Basic abordeaz interactiv scrierea codului. Astfel, nu se va face distincie ntre cele trei etape ale programrii procedurale : scrierea codului, compilarea i testarea. Fiind un limbaj interactiv, Visual Basic interpreteaz fiecare instruciune pe msur ce este introdus de la tastatur. Dac se sesizeaz erori sintactice , acestea vor fi evideniate. Ca urmare a lansrii mediului Visual Basic, pe ecran va apare mediul integrat de dezvoltare a aplicaiilor care va conine ferestre.

Visual Basic Aplicaii n inginerie

1.2. Ferestre

Figura1.1. Ferestrele mediului Visual Basic Ferestrele ce apar pe ecran au urmtoarea semnificaie: 1- Form-ul (formularul) este principalul element de interfa; reunete obiectele interactive ale aplicaiei ( butoane de comand, etichete, bare de meniu) 2- Fereastra Toolbox conine reprezentri ale controalelor ce vor fi plasate pe form. 3- Fereastra Project Explorer permite gestionarea rapid a componentelor proiectului. Proiectul va fi format din form-uri, module ( ce

Visual Basic Aplicaii n inginerie

conin cod surs), module de tip clas, controale definite de utilizator.

Figura 1.2. Exemplu de interfa 4- Ferestra Properties conine proprietile descriptive sau funcionale form-ului, controlului sau altui element activ 5- Ferestra Immediate este o fereastr n care se pot scrie i executa instruciuni ale limbajului de programare, rezultatele fiind disponibile imediat.

Visual Basic Aplicaii n inginerie Capitolul 2 Concepte de baz n Visual Basic

Cunotine prealabile Sistemul de operare Windows Visual Basic prezentare general Plan tematic 2.1. Obiectul 2.2. Proprietile unui obiect 2.3. Metode 2.4. Evenimente Intrebri obiectiv -Ce este un obiect? -Care sunt proprietile obiectelor Visual Basic i cum pot fi modificate? -Care sunt metodele obiectelor Visual Basic? -Ce sunt evenimentele?

Cuvinte-cheie -obiect -metod -proprietate -eveniment

Visual Basic Aplicaii n inginerie

2.1. Obiectul
Spre deosebire de programarea procedural, n care structurile de date i comportamentul acestora nu sunt asociate, programarea orientat pe obiecte specific organizarea programului ca o colecie de obiecte ce conin o structur de date i un comportament. Aceast abordare permite modelarea direct a realitii prin intermediul obiectelor definite ca entiti cu identitate proprie i caracterizate prin comportament i stare. a) Obiectul reprezint o entitate din lumea real. O fereastr, un formular, un control sunt exemple de obiecte. Pentru efectuarea unei operaii asupra unui obiect se va apela la o metod. Obiectele se caracterizeaz prin [ANI 03], [LUP01]: Identitate, care permite distingerea unui obiect de un alt obiect; obiectul este caracterizat prin proprieti (atribute) ca: nume,dimensiuni, culoare, etichet. Stri semnificative, care corespund valorilor tuturor atributelor la un moment dat. Comportament ansamblul operaiilor pe care obiectul le poate executa ca reacie la mesajele trimise de ctre alte obiecte . Programarea orientat pe obiecte face apel la urmtoarele concepte: ncapsularea Clasificarea Polimorfismul Motenirea

Visual Basic Aplicaii n inginerie

10

ncapsularea - reprezint proprietatea obiectului de a conine la un loc date i metode, astfel nct accesul la date se realizeaz numai prin intermediul metodelor. Clasificarea presupune regruparea n clase a obiectelor ce au aceeai structur i acelai comportament. Polimorfismul- const n proprietatea instanelor unei clase, ca la primirea aceluiai mesaj s manifeste comportamente diferite. n Visual Basic este posibil numai simularea polimorfismului. Motenirea permite partajarea atributelor i operaiilor comune ntre clase, pstrnd, n acelai timp, diferenele. Visual Basic nu suport integral motenirea. Datorit caracteristicilor sale, Visual Basic este un limbaj pseudo-obiect.

2.2. Proprietile unui obiect


n Visual Basic un obiect este caracterizat de proprieti, metode, evenimente. Proprietile reprezint atribute ale obiectului : culoare, dimensiune, poziie, nume. Pentru a accesa proprietile unui obiect sunt posibile dou metode: Din fereastra de proprieti (Properties), n momentul proiectrii aplicaiei Prin codul programului, n momentul n care aplicaia se execut. Obiectul se transfer pe form i pe form este selectat, moment n care n fereastra de proprieti apar proprietile structurale pe dou coloane. De regul,

Visual Basic Aplicaii n inginerie

11

proprietile se in n ordine alfabetic. Indiferent de modul de nregistrare i de inere a proprietilor prima proprietate din fereastra de proprieti este NAME. Coloana stng a ferestrei de proprieti conine numele proprietilor iar coloana dreapt conine valorile actuale ale proprietilor.

Figura 2.1. Ferestra Properties a obiectului Form Selectarea unei proprieti face posibil modificarea valorii ei, ceea ce are rspuns imediat asupra obiectului. Aceste modificri sunt modificri care se fac n momentul editrii formei. Modificri asupra proprietilor, mai puin proprietatea NUME pot fi fcute i n timpul execuiei, deci prin program.

Visual Basic Aplicaii n inginerie

12

Selectarea pe form a altui obiect aduce n fereastra de proprieti proprietile corespunztoare acelui obiect (a noului obiect selectat). Principalele proprieti ale unui obiect sunt: 1) Proprietatea nume: NAME Prin intermediul acestei proprieti obiectului i se ataeaz implicit sau de ctre programator un nume de referin. Numele de referin este cuvntul rezervat prin intermediul cruia obiectul este recunoscut de ctre aplicaie.Numele de referin conine tipul obiectului i un numr de ordine. Totui este bine ca numele s conin pe lng tipul obiectului i o descriere sumar a obiectului (aciunea). Pentru atribuirea de denumiri specifice se va utiliza un prefix conform tabelului urmtor: Tabelul 2.1. Prefixe utilizate pentru denumirea obiectelor Visual Basic[FRI 01], [ANI 03] Obiect form Buton de comand etichet Caset de text meniu Buton de opiune Caset cu list Caset list combinat Caset cu list fiiere Caset de validare Prefix frm cmd lbl txt mnu opt lst cbo fil chk Exemplu frmExemplu cmdIeire lblNume txtText mnuMeniu optAlege lstGrupa cboSerie filFiier chkTiprete

Visual Basic Aplicaii n inginerie

13

2) Proprietatea legat de mesajul nscris pe obiect Mesajul nscris pe obiect poate fi: - de tip informativ; - de tip list. Dac mesajul nscris pe obiect este de tip informativ proprietatea se numete CAPTION ( de exemplu pentru obiectul Label) . Dac mesajul nscris pe obiect este de tip list proprietatea se numete TEXT (de exemplu pentru obiectul TextBox) . Pentru obiectele active i pentru forme exist proprietatea logic ENABLED care activeaz sau dezactiveaz obiectul. Aceast proprietate are valorile: - TRUE dac obiectul este activ; - FALSE dac obiectul este inactiv. Activarea sau dezactivarea se face numai n execuia formei. 3) Proprieti legate de poziie i dimensiuni - LEFT; - HIGH. 4) Proprieti legate de font pentru dimensiunea fontului, pentru caracterul italic i pentru subscrieri. 5) Proprieti legate de culori: pentru culoarea obiectului; culoarea fontului i culoarea pentru nscrisul de pe obiect.

Visual Basic Aplicaii n inginerie

14

Figura 2.2. Exemplu de modificare a proprietii Backcolor n faza de proiectare Fiecrui obiect i se ataeaz n jur de 40 de proprieti. Proprietile ataate unui obiect se gsesc n fereastra de proprieti n momentul n care obiectul este selectat. n cazul n care se dorete modificarea anumitor proprieti ale unui obiect n faza de execuie a aplicaiei, se va utiliza sintaxa : Obiect.Proprietate=Variabil Exemplu: Pentru a se modifica culoarea de fond a formei numite frmInceput n culoarea roie se va introduce comanda: frmInceput.BackColor=QBColor(red)

Visual Basic Aplicaii n inginerie

15

2.3.Metode
Metoda reprezint o aciune pe care programul poate s o efectueze asupra obiectului. Sintaxa este urmtoarea [W1]: [Obiect].Metod [list de parametri] n biblioteca de obiecte Object Browser sunt prezentate descrierile metodelor.

2.4. Evenimente
Evenimentul poate fi definit ca rspunsul unui obiect la o aciune a utilizatorului sau a programului. De exemplu, apsarea unei taste poate constitui o aciune care determin un eveniment. Pentru un eveniment se poate scrie cod. Programul va rspunde la eveniment numai dac are scris o procedur ataat evenimentului. Altfel, evenimentul va fi ignorat. Att pentru form ct i pentru controalele ataate vom avea evenimente. De exemplu, pentru controlul Caset de text se pot scrie proceduri ataate evenimentelor de clic, dublu-clic, introducere a textului. Dac programatorul va scrie o procedur eveniment pentru dublu-clic pe caseta de text, atunci cnd utilizatorul va executa aceast aciune, sistemul va rspunde prin apelarea procedurii ataate evenimentului. Numele procedurii eveniment este format din concatenarea irurilor reperezentate de numele

Visual Basic Aplicaii n inginerie

16

obiectului, liniu de subliniere i numele evenimentului. De exemplu, pentru un buton de comand la care dorim ataarea unei proceduri cnd se acioneaz click asupra lui, numele procedurii ataate va fi Command1_Click.

Visual Basic Aplicaii n inginerie Capitolul 3 Etapele realizrii unei aplicaii n Visual Basic

17

Cunotine prealabile Visual Basic prezentare general Definiia obiectului Metode, proprieti, evenimente Plan tematic 3.1.Proiectarea interfeei cu utilizatorul 3.2. Scrierea codului 3.3. Aplicaii Intrebri obiectiv -Cum se realizeaz interfaa unei aplicaii? -Care sunt caracteristicile etichetelor, butoanelor de comand, casetelor de text casetelor tip list i a controalelor de opiune? -Ce sunt modulele Visual Basic?

Cuvinte-cheie -etichete -butoane de comand -casete de text -controale de opiune -casete cu list -module

Visual Basic Aplicaii n inginerie

18

O aplicaie Visual Basic se numete general Proiect. CONTROALE FORME PROIECT Pentru realizarea unei aplicaii Visual Basic , etapele care vor fi parcurse sunt [FRI 01], [ANI 03]: 1. Stabilirea aplicaiei care va fi rezolvat cu ajutorul mediului Visual Basic 2. Proiectarea interfeei grafice cu utilizatorul prin aezarea obiectelor pe foaie (form); 3. Modificarea proprietilor obiectelor 4. Scrierea codului de program 5. Rularea aplicaiei n Visual Basic exist ferestre pentru editarea: - formelor; - obiectelor; - procedurilor.

3.1. Proiectarea interfeei cu utilizatorul


La deschiderea mediului Visual Basic, dac se alege zona STANDARD EXE (crearea de aplicaii standard) ecranul care apare cuprinde 1 2 linii de meniu orizontale.

Visual Basic Aplicaii n inginerie

19

Dintre icoanele de pe meniu se alege Tools care, prin apsare, determin apariia pe ecran a unei ferestre cu obiecte . Prin apsarea tastei F4 pe ecran mai apare o fereastr (se poziioneaz n partea dreapt a ecranului) , fereastra de proprieti sau atribute .

Figura 3.1. Crearea unei aplicaii Pe lng aceste dou ferestre pe ecran mai exist o zon (fereastr) de lucru numit fereastr de editare de forme. Ca orice editor interactiv, Visual Basic pune n eviden zona selectat a ecranului. Punerea n eviden

Visual Basic Aplicaii n inginerie

20

se face prin ncadrarea zonei active ntr-un chenar (chenarul este format din ptrele albastre). Modul de proiectare Se deseneaz forma. Se vor stabili proprietile obiectului form. n tabelul urmtor sunt descrise principalele proprieti ale obiectului. Tabelul 3.1.Principalele proprieti ale unui form [NAS 00] Proprietate BackColor BorderStyle Caption Enabled Descriere Specific culoarea fundalului formului. Se alege dintr-o list de culori. Stabilete stilul fundalului formului. Este textul care se afieaz n linia de titlu a form-ului. Stabilete dac form-ul este activ (True) sau nu (False). Se lucreaz cu aceast proprietate doar n aplicaii cu mai multe form-uri (MDI). Permite schimbarea tipului, mrimii i atributelor fontului. Stabilete culoarea cu care se va scrie textul. Precizeaz nlimea form-ului n twips.

Font ForeColor Height

Visual Basic Aplicaii n inginerie Icon Left MaxButton MinButton MousePointer Moveable Picture

21

ScaleMode

ShowInTaskbar StartUpPosition

Arat imaginea de tip icon ce se va afia pe taskbar atunci cnd utilizatorul minimizeaz form-ul. Indic distana pn la marginea stng a ecranului, n twips. Specific dac form-ul va avea sau nu buton de maximizare. Specific dac form-ul va avea sau nu buton de minimizare. Stabilete forma cursorului mouseului atunci cnd, la execuie, utilizatorul indic form-ul. Stabilete dac utilizatorul paote muta sau nu form-ul pe ecran, la momentul execuiei. Precizeaz numele unei imagini de tip icon (fiier de tip .ico) care apare pe fundalul form-ului la execuie. Stabilete unitatea de msur utilizat pentru form (twip, pixel, inch, centimetri sau altele). Implicit este twip. Stabilete dac form-ul apare sau nu la execuie n linia de start a Windows-ului. Stabilete poziia form-ului pe ecran (implicit acesta apare n stnga sus, dar poate fi afiat centrat pe ecran sau centrat n cadrul unui form-printe vezi aplicaiile MDI).

Visual Basic Aplicaii n inginerie Top Visible Width WindowState

22

Indic distana pn la marginea de sus a ecranului, n twips. Stabilete dac form-ul va aprea pe ecran la execuie (True) sau este invizibil (False). Precizeaz nlimea form-ului, n twips. Stabilete starea iniial a ferestrei n care apare form-ul la execuie (minimizat, maximizat sau cu aceleai dimensiuni ca la proiectare).

n faza urmtoare de realizare a aplicaiei se selecteaz obiectele necesare proiectului (formei) din fereastra de obiecte unul cte unul, pe rnd. Obiectul selectat se transport pe form. Transportarea obiectelor pe form se face pe rnd (cte un singur obiect odat). Pe form, prin selectarea obiectului, pot fi modificate proprietile acestuia astfel nct acesta s corespund cerinelor. Totodat, obiectului selectat i se specific metoda i evenimentele. n cadrul evenimentelor, obiectului selectat i se ataeaz o procedur. Dup aceasta aplicaia este lansat n execuie. Obiectele de lucru n Visual Basic sunt: a) etichete; b) casete de text;

Visual Basic Aplicaii n inginerie c) d) e) f) g) butoane de comand; casete de selecie; butoane de opiuni; poteniometre liniare; casete de liste combinate.

23

Fiecare obiect este caracterizat de: proprietile sale; metodele sale; evenimentele sale. Transferarea unui obiect pe form se realizeaz astfel: n fereastra de obiecte se selecteaz obiectul dorit cu clic stnga pe el, dup care cu mouse-ul se trage obiectul n fereastra de editare a formelor. Dac obiectul este selectat, simbolul de mouse devine o cruciuli de tip int (+) cu care se alege poziia din colul din stnga sus a obiectului selectat. Dup fixarea colului din stnga sus se trage cu mouse-ul pe ecran. Va apare un dreptunghi care va conine obiectul dorit. Dac pe form sunt puse mai multe obiecte, obiectul selectat este evideniat cu ptrele luminoase i are proprietile afiate n fereastra de proprieti., Dup selectare, obiectul poate fi modificat (exemplu: pot fi modificate proprietile, dimensiunile etc.). a) Eticheta (LABEL) Eticheta are un rol pur descripional. Evenimentul ataat unui obiect de tip etichet este evenimentul CHANGE. Numele care se d unei etichete trebuie s conin o descriere.

Visual Basic Aplicaii n inginerie

24

n CAPTION din fereastra de proprieti se trece textul care dorim s apar n acea etichet. Etichetele au o proprietate foarte important numit AUTOSIZE care dimensioneaz automat eticheta n funcie de fontul i de textul folosit. n tabelul urmtor sunt precizate principalele proprieti ale obiectului Etichet [FRI 01], [NAS 00] Tabelul 3.2. Principalele proprieti ale unei etichete Proprietate Alignment AutoSize Descriere Indic modul de aliniere a textului etichetei (stnga, dreapta, centru). Dac este setat True, modific dimensiunile etichetei atunci cnd, la execuie, este introdus un text prea mare pentru dimensiunile date. Specific culoarea fundalului etichetei. Se alege dintr-o list de culori. Stabilete stilul fundalului etichetei. Este textul care se afieaz pe etichet. Stabilete dac eticheta este activ (True) sau nu (False). Are valoarea implicit True. Permite schimbarea tipului, mrimii i atributelor fontului. Stabilete culoarea textului etichetei. Precizeaz nlimea etichetei n twips. Indic distana pn la marginea

BackColor BackStyle Caption Enabled Font ForeColor Height Left

Visual Basic Aplicaii n inginerie

25

MousePointer TabIndex

ToolTipText

Top Visible Width WordWrap

stng a form-ului n twips. Stabilete forma cursorului mouseului atunci cnd, la execuie, utilizatorul indic eticheta. Specific, printr-o valoare numeric, poziia n ordinea de parcurgere a controalelor la momentul execuiei (eticheta nu poate deine focus, dar poate face parte din aceast ordine). Precizeaz textul explicaii sau indicaii) ce se va afia ntr-o caset de tip tooltip, la indicarea etichetei cu ajutorul mouse-ului Indic distana pn la marginea de sus a form-ului, n twips. Stabilete dac eticheta apare pe ecran la execuie (True) sau este invizibil (False). Precizeaz limea etichetei n twips. Stabilete dac este posibil scrierea textului pe mai multe linii n cadrul etichetei.

Dup poziionarea etichetei pe form se poate ataa un eveniment acelei etichete. Este vorba despre o procedur care poate fi ataat etichetei, procedur care se lanseaz n execuie ori de cte ori coninutul sau valoarea proprietii CAPTION se modific. Din acest motiv evenimentul ataat etichetei se numete CHANGE.

Visual Basic Aplicaii n inginerie

26

Editorul de programe Editorul de programe este cel care permite scrierea textului surs al procedurii ataate etichetei i evenimentului CHANGE i se apeleaz cu dublu clic pe ETICHET.

Figura 3.2. Editare de program Un clic pe el are ca efect selectarea obiectului, fapt care face ca n cutia de proprieti s Proprietatea etichetei

ETICHET

apar proprietile ETICHETEI.

Visual Basic Aplicaii n inginerie

27

Dublu clic determin apariia editorului de text care n mod automat va prelua urmtoarele dou linii. b) Butonul de comand Butonul de comand are ca reprezentare, reprezentarea tridimensional a unui buton. Principalele proprieti ale unui buton de comand sunt prezentate n tabelul 3.3. Tabelul 3.3. Principalele proprieti ale unui buton de comand [FRI 01], [NAS 00] Proprietate BackColor Descriere Specific culoarea fundalului butonului. Se alege dintr-o list de culori. Pentru a putea schimba culoarea implicit trebuie modificat valoarea proprietii Style (1-Graphical, n loc de 0Standard). Stabilete dac butonul va recepta un eveniment clic la apsarea tastei Esc. Este textul care se afieaz pe butonul de comand. Stabilete dac butonul va recepta un eveniment clic la apsarea tastei Enter, chiar dac un alt control deine focus-ul. Stabilete dac butonul este activ (True) sau nu (False). Are valoarea

Cancel Caption Default

Enabled

Visual Basic Aplicaii n inginerie

28

Font Height Left MousePointer

Picture

Style

TabIndex

TabStop ToolTipText

implicit True. Permite schimbarea tipului, mrimii i atributelor fontului. Precizeaz nlimea butonului n twips. Indic distana pn la marginea stng a form-ului, n twips. Stabilete forma cursorului mouseului atunci cnd, la execuie, utilizatorul indic butonul de comand. Precizeaz numele unei imagini grafice de tip icon (fiier de tip .ico) care apare pe buton (valoarea proprietii Style trebuie s fie 1Graphical). Stabilete dac butonul va aprea ca un buton Windows standard numai cu text (valoarea 0-Standard) sau cu text i imagine (valoarea 1Graphical). Specific, printr-o valoarea numeric, poziia n ordinea de parcurgere a controalelor la execuie. Precizeaz dac butonul va obine (True) sau nu (False) focus la parcurgerea cu tasta TAB. Precizeaz textul (explicaii sau indicaii) ce se va afia ntr-o caset de tip tooltip, la indicarea butonului cu ajutorul mouse-ului.

Visual Basic Aplicaii n inginerie Top Visible Width

29

Indic distana pn la marginea de sus a form-ului, n twips. Stabilete dac butonul va aprea pe ecran la execuie (True) sau este invizibil (False)=. Precizeaz limea butonului n twips.

Evenimentul ataat unui buton de comand este evenimentul CLICK. Starea fizic a unui buton poate fi: activ sau inactiv. Proprietatea NUME are aceeai semnificaie ca la orice obiect. Proprietatea CAPTION este o proprietate a crei valoare se afieaz pe buton. n general butoanele de comand sunt cele care lanseaz n execuie aciunile majore ale aplicaiei. c) Caseta de text n cazul casetei de text, TEXTBOX, proprietile sunt legate de nume, nume care poate fi dat automat sau poate fi dat de programator. Tabelul 3.4. Principalele proprieti ale unei casete de text [FRI 01], [NAS 00] Proprietate Alignment BackColor Descriere Indic modul de aliniere a textului n caset (stnga, dreapta, centru) Specific culoarea fundalului casetei. Se alege dintr-o list de culori.

Visual Basic Aplicaii n inginerie BorderStyle Enabled Font ForeColor Height Left Locked MaxLength

30

MousePointer MultiLine

PasswordChar

Stabilete stilul fundalului casetei. Stabilete dac caseta este activ (True) sau nu (False). Are valoarea implicit True. Permite schimbarea tipului, mrimii i atributelor fontului. Stabilete culoarea cu care se va scrie textul. Precizeaz nlimea casetei n twips. Indic distana pn la marginea stng a form-ului n twips. Precizeaz dac utilizatorul poate (True) sau nu (False) s editeze textul ce apare n caset. Specific numrul maxim de caractere pe care le poate introduce utilizatorul n caset. Valoarea implicit 0 nseamn numr nelimitat. Stabilete forma cursorului mouseului atunci cnd, la execuie, utilizatorul indic acest control. Permite (True) sau nu (False) introducerea textului pe mai multe lini. La scrierea pe mai multe linii se poate utiliza proprietatea ScrollBars, pentru a permite deplasarea mai facil n caset. Stabilete caracterul care apare repetat n caset atunci cnd utilizatorul introduce o parol.

Visual Basic Aplicaii n inginerie ScrollBars TabIndex

31

TabStop Text

ToolTipText

Top Visible Width

Specific prezena barelor de derulare n cazul scrierii textului pe mai multe lini. Specific, printr-o valoare numeric, poziia n ordinea de parcurgere a controalelor la execuie. Precizeaz dac controlul va obine (True) sau nu (False) focus la execuie. Specific textul care se va afia iniial n caset. Acesta poate fi nlocuit sau nu de ctre utilizator la execuie. Precizeaz textul (explicaii sau indicaii) ce se va afia ntr-o caset de tip tooltip la execuie, la indicarea csuei de text cu ajutorul mouse-ului. Indic distana pn la marginea de sus a form-ului n twips. Stabilete dac controlul va aprea pe ecran la execuie (True) sau este invizibil (False). Precizeaz limea casetei n twips.

Coninutul informaiei din cutia de text se regsete n proprietatea TEXT. Restul proprietilor: poziie, dimensiune, funcie sunt aceleai. Asupra csuei de text se poate aciona cu dimensionare, mutare etc. deci aciunile de tip metod sunt legate de dimensionare i mutare.

Visual Basic Aplicaii n inginerie Evenimentul ataat evenimentul: CHANGE. Pot fi: unei csue text

32 este

d) Controale de opiune Casete de validare (Check box) Butoane de opiune (Option Box) Casete cu list (List Box) Casete combinate (Combo Box)

Casetele de validare Dau posibilitatea utilizatorului de a alege una sau mai multe opiuni, afind un marcaj de validare atunci cnd va fi validat. Utilizatorul va valida sau invalida opiunea executnd click. Butoanele de opiune Se utilizeaz n cazul n care este necesar selectarea unei opiuni. Butoanele aezate pe form formeaz un singur grup.

Figura 3.3. Butoane de opiune

Visual Basic Aplicaii n inginerie

33

Casetele cu list Permit afiarea vertical a unei liste de opiuni din care utilizatorul poate alege una sau mai multe. Tabelul 3.5. Proprietile obiectului List Box [FRI 01], [NAS 00] Proprietate BackColor Columns Forecolor List Multiselect Font Height Left MousePointer Descriere Specific culoarea fundalului casetei. Specific numrul de coloane . Definete culoarea textului. Permite introducerea manual a listei care va fi afiat Precizeaz numrul de elemente . Permite schimbarea tipului, mrimii i atributelor fontului. Precizeaz nlimea butonului n twips. Indic distana pn la marginea stng a form-ului, n twips. Stabilete forma cursorului mouseului atunci cnd, la execuie, utilizatorul indic butonul de comand. Precizeaz numele unei imagini grafice de tip icon (fiier de tip .ico) care apare pe buton (valoarea proprietii Style trebuie s fie 1Graphical). Stabilete dac butonul va aprea ca un buton Windows standard

Picture

Style

Visual Basic Aplicaii n inginerie

34

TabIndex

TabStop

numai cu text (valoarea 0-Standard) sau cu text i imagine (valoarea 1Graphical). Specific, printr-o valoarea numeric, poziia n ordinea de parcurgere a controalelor la execuie. Precizeaz dac butonul va obine (True) sau nu (False) focus la parcurgerea cu tasta TAB.

3.2. Scrierea codului


Codul Visual constante, declaraii. Basic conine instruciuni,

Exist trei tipuri de module: module formular, avnd extensia .frm, care conin descrieri ale formularelor i controalelor ataate module standard, avnd extensia .bas, ce conin declaraii i proceduri co pot fi utilizate de mai multe module module clas, cu extensia .cls sunt asemntoare cu modulele formular, dar nu posed interfa cu utilizatorul. Se folosesc pentru crearea de noi obiecte. Fiecare modul va conine : partea de declaraii partea de proceduri

Visual Basic Aplicaii n inginerie

35

Figura 3.4. Editarea modulelor

3.3. Aplicaii
Aplicaia 1. S se proiecteze o interfa care s conin o etichet cu mesajul Studenii anului I de la Facultatea de Inginerie Tehnologic. Culoarea fontului va fi albastr, fontul va fi TNR ,24. Se deschide o nou aplicaie standard exe

Visual Basic Aplicaii n inginerie

36

Se selecteaz obiectul Label i se poziioneaz pe form Se deschide fereastra de proprieti tastnd F4

Figura 3.5. Exemplu de modificare a proprietilor Se seteaz proprietile corespunztoare cerinelor problemei, respectiv se va alege culoarea fontului i tipul fontului Modificarea proprietilor se face direct din fereastra de proprieti, nu prin intermediul programului Se ruleaz aplicaia din meniul Run

Visual Basic Aplicaii n inginerie

37

Figura 3.6. Proiectarea interfeei Aplicaia 2. S se proiecteze o aplicaie cu dou butoane de comand, prin apsarea unuia s se schimbe culoarea textului unei etichete n rou, iar prin apsarea celuilalt s se schimbe culoarea n verde. Se deschide o nou aplicaie Se poziioneaz eticheta i cele dou butoane de comand pe form Se seteaz proprietile corespunztoare pentru cele trei obiecte

Visual Basic Aplicaii n inginerie

38

Figura 3.7. Proiectarea interfeei Se deschide fereastra View Code (click mouse dreapta) Se scrie secvena de cod aferent Private Sub Command1_Click() Label1.ForeColor = vbRed End Sub Private Sub Command2_Click() Label1.ForeColor = vbGreen End Sub Se ruleaz programul

Visual Basic Aplicaii n inginerie

39

Figura 3.8. Rularea aplicaiei Aplicaia 3. S se proiecteze o aplicaie care s cuprind o caset de text i trei butoane de comand, prin care s se formateze Bold sau italic textul din caset. Se deschide o nou aplicaie Se aaz pe form o caset de text i trei butoane de comand Se schimb proprietile aferente celor trei butoane de comand i casetei text Se selecteaz opiunea View Code Se scrie codul pentru cele trei butoane de comand

Visual Basic Aplicaii n inginerie

40

Figura 3.9. Proiectarea interfeei Private Sub anulare_Click() Text1.FontBold = False Text1.FontItalic = False End Sub Private Sub bold_Click() Text1.FontBold = True End Sub Private Sub italic_Click() Text1.FontItalic = True End Sub Se ruleaz aplicaia Se va obine ecranul afiat mai jos

Visual Basic Aplicaii n inginerie

41

Figura 3.10. Scrierea codului

Figura 3.11. Rularea aplicaiei

Visual Basic Aplicaii n inginerie Capitolul 4 Elemente de limbaj procedural Visual Basic Variabile, constante, operatori, instruciuni

42

Cunotine prealabile Proiectarea interfeei grafice cu utilizatorul Obiecte Visual Basic Plan tematic 4.1. Variabile 4.2. Constante 4.3. Operatori 4.4. Funcii predefinite 4.5. Aplicaii Intrebri obiectiv -Cum se declar variabile i constantele? -Care sunt tipurile de date utilizate n Visual Basic? -Care sunt operatorii ? -Ce funcii predefinite exist?

Cuvinte-cheie -variabile -constante -operatori -funcii predefinite -funcii de dialog

Visual Basic Aplicaii n inginerie

43

4.1. Variabile
Variabilele sunt locaii de memorie n care se depoziteaz date sau informaii logice ce vor fi prelucrate n timpul execuiei [LUP 01]. Variabilele sunt caracterizate de: nume, tip, domeniu de aciune i durat de aciune. Numele variabilei este atribuit de ctre programator. El trebuie s nceap obligatoriu cu o liter; poate conine litere i cifre dar i liniua de subliniere. Odat atribuit un nume unei variabile, acest nume devine cuvnt rezervat, adresabil n orice secven procedural, att n stnga unei instruciuni de atribuire ct i n partea dreapt a acesteia. Dac se afl n partea stng atunci n variabil se nregistreaz informaia. Dac este n partea dreapt a instruciunii atunci informaia se transmite i particip la calcul. Declararea unei variabile se poate cu una din structurile [FRI 01], [NAS 00], [ANI 03] : Dim <variabil> [(indici)] [As Tip_dat] [,<variabil> [(indici)] [As Tip_dat] Sau Static <variabil> [(indici)] [As Tip_dat] [,<variabil> [(indici)] [As Tip_dat] Sau Public <variabil> [(indici)] [As Tip_dat] [,<variabil> [(indici)] [As Tip_dat]

Visual Basic Aplicaii n inginerie

44

Tipuri de variabile n Visual Basic Variabilele pot fi: variabile elementare; variabile compuse i variabile de tip definit de programator. Tipul unei variabile poate fi declarat: a) explicit n zona de declarare a programului (n zona declarativ); b) forat ntr-o instruciune de atribuire, numele variabilei aprnd pentru prima oar n procedura respectiv i gsindu-se n membrul stng al unei instruciuni de atribuire urmat de un sufix de tip; c) implicit dac numele variabilei apare pentru prima oar n procedur, se gsete n membrul stng al unei operaii de atribuire i nu este urmat de sufix. Tipul variabilei va fi tipul rezultat al membrului drept al instruciunii de atribuire. Tabelul 4.1. Tipuri de date n Visual Basic [FRI 01], [NAS 00], [ANI 03] Tipul Boolean Sufix Descriere Denumit i logic, poate lua doar valorile True sau False. True i False sunt cuvinte rezervate n Visual Basic Valori numerice pozitive, fr zecimale, n intervalul 0-255 Date numerice care stocheaz sume nsoite de semnul monetar, n intervalul -

Byte Currency

Visual Basic Aplicaii n inginerie

45

Date

Double

Integer Long

% &

Object

Single

String

$922,337,203,685,477.5808 $922,337,203,685,477.5807. Semnul monetar este scris automat de ctre Visual Basic. Date calendaristice i timp. Data se ncadreaz n intervalul 1 ianuarie 100 31 decembrie 9999 Valori numerice n intervalul 1.79769313486232E+308 1.79769313486232E+308. Este denumit i dubl precizie Valori numerice fr zecimale, n intervalul -32,768-32,767. Similar cu Integer, dar cu valori n intervalul 2,147,483,648-2,147,483,647. Acest tip consum mai mult memorie. Este denumit i long integer (ntreg lung). Tip special de date, care face referire la obiecte cum sunt controalele sau form-ul. Valori numerice n intervalul 3,402823E+38 to 3.402823E+38. Este denumit i simpl precizie. ir de caractere alfanumerice (maxim 65400 de caractere). Pe lng cifre i litere, se pot

Visual Basic Aplicaii n inginerie include caractere speciale precum ^, %. and @. Dat de orice tip, utilizat atunci cnd tipul datei este incert.

46

Variant

Sufixele sunt semne distinctive care se pun imediat dup numele declarat printr-o operaie de atribuire i foreaz tipul variabilei indiferent de rezultatul sau de tipul membrului drept al instruciunii. Caracterizarea variabilelor dup domeniul de aplicabilitate Visual Basic-ul i mparte variabilele n dou domenii mari [FRI 01], [NAS 00], [ANI 03], i anume: domeniul public i domeniul privat. Declararea unei variabile publice se face n zona declarativ general a aplicaiei sau prin cuvntul rezervat PUBLIC tot ntr-o zon declarativ. Sintaxa de declarare va fi: PUBLIC <nume> sau PUBLIC <nume>, <tip> Variabilele locale se declar n zone declarative ale subprogramelor a cror caracterizare ncepe cu PRIVATE. Diferena ntre aceste dou tipuri de variabile este dat de zona de vizibilitate a lor astfel:

Visual Basic Aplicaii n inginerie -

47

variabilele publice sunt apelabile (sunt vzute) n orice parte a aplicaiei; - variabilele private sunt vizibile numai n zonele de program . Caracterizarea variabilelor dup durata lor de via se face prin intermediul declaraiilor de tip dinamic sau static. O variabil declarat ntr-un program cu DIM are durata de via strict legat de perioada de executare a subprogramului, i anume: n momentul lansrii n execuie a subprogramului la ntlnirea declaraiei DIM n memorie se rezerv o zon corespunztoare variabilei i se iniializeaz aceast zon. La ncetarea (la terminarea) executrii procedurii, acea parte de memorie se elibereaz putnd fi folosit de orice alt procedur. Declararea static se face cu ajutorul cuvntului rezervat STATIC i pentru o variabil are urmtoarea aciune: la prima ntlnire a declaraiei STATIC variabilei declarate n acest mod i se ataeaz o zon de memorie care se iniializeaz. La terminarea executrii procedurii, zona respectiv de memorie nu se elibereaz ci pstreaz n continuare ultima valoare a variabilei. De remarcat c acea zon de memorie nu este vizibil din nici o alt procedur inclus. Exemplu 1: Private Sub Command1_Click() Static s As Integer s=s+1 Print Tab(20), "s="; s

Visual Basic Aplicaii n inginerie End Sub La prima apelare va apare 1 (PRINT A : 1); la a doua apelare va apare 2 .a.m.d.

48

Figura 4.2. Scrierea codului

Exemplu 2: PRIVATE SUB Ex1 Dim s AS INTEGER s=s+1 PRINT s END SUB

Visual Basic Aplicaii n inginerie

49

Figura 4.3. Rularea aplicaiei Dac aceeai declarare se face cu DIM, orice apelare are ca rezultat valoarea 1. Atenie! Dac n cadrul unei funcii sau proceduri se utilizeaz mai multe variabile, acestea vor fi declarate n mod explicit. Exemplu: Dac se dorete declararea variabilelor a i b de tip integer, atunci se utilizeaz structura: Dim a As Integer, b As Integer aceasta avnd ca efect recunoaterea att a lui a ct i a variabilei b de tip integer

Visual Basic Aplicaii n inginerie

50

Structura Dim a, b As Integer va avea ca efect recunoaterea lui b ca intreg, iar a variabilei a de tip Variant. Pe lng aceaste tipuri de date predefinite, utilizatorul poate s-i declare propriile tipuri de date. Acestea se declar n seciunea General/Declarations cu ajutorul cuvintelor Type i End Type[FRI 01], [NAS 00], [ANI 03] : Type tip Var1 As tip1 Var2 As tip2 ..... END TYPE Apoi se va declara variabila de acest tip cu Dim sau Static. Acest tip de date va fi accesat utilizndu-se notaia cu punct. Exemplu: se definete tipul de date Studenti Type studenti Nr_mat As Integer Nume As String * 20 Prenume As String * 20 Facultate As String * 30 End Type se declar o variabil de tip Studenti Dim a As Studenti se atribuie valori cmpurilor din noua variabil

Visual Basic Aplicaii n inginerie

51

a . Nr_mat = InputBox(Introducei numrul matricol ) a . Nume = InputBox(Introducei numele studentului) a . Prenume = InputBox(Introducei prenumele studentului ) a . Facultatea = InputBox(Introducei numele facultii )

4.2. Constante
Constantele sunt identificatori a cror valoare este cunoscut anterior execuiei programului.Constantele se declar n mod explicit utiliznd sintaxa [NAS 00], [FRI 01], [ANI 03]: Const <numeconstant> [as <tip>] = expresie Exemplu: Const PI As double = 3.14 Const data_admiterii = # 7/7/2005# Const nume = Popa Vasile

4.3. Operatori
1.Operatori matematici a) operatori uzuali: +; -; *; / funcioneaz cu orice fel de date numerice b) operatorul MOD: este un operator care red restul unei operaii de mprire i este un numr ntreg

Visual Basic Aplicaii n inginerie c) operatorul ^ (ridicare la putere) Ex.: 2 ^ 4 = 24 44 ((4^4)^4)^4 44 2.Operatori logici : AND; OR; XOR; NOT
AND A F XOR A F A A F A A F F F F F F A OR A F NOT A F A A A F A F

52

F A

Tabelul 4.2.Utilizarea operatorilor logici Operator Exemplu And If (A > B And (C < D) Or If (A > B) Or (C < D) If Not (strRasp = Da) Descriere Are rezultatul True (adevrat) atunci cnd ambele condiii sunt adevrate Are rezultatul True (adevrat) atunci cnd mcar una dintre condiii este adevrat Are rezultatul True (adevrat) atunci cnd condiia evaluat este fals i invers

Not

3.Operatori de comparare: <; <=; >; >=;

Visual Basic Aplicaii n inginerie

53

Tabelul 4.3. Utilizarea operatorilor de comparare[FRI 01] Operator Exemplu > lblVenit.Caption > Estimat Descriere Are rezultatul True (adevrat) atunci cnd valoarea din stnga este strict mai mare (numeric sau alfabetic) dect cea din dreapta Are rezultatul True atunci cnd valoarea din stnga este strict mai mic (numeric sau alfabetic) dect cea din dreapta Are rezultatul True atunci cnd valoarea din stnga este egal sau identic cu cea din dreapta Are rezultatul True atunci cnd valoarea din stnga este mai mare sau egal (numeric sau alfabetic) dect cea din dreapta Are rezultatul True atunci cnd valoarea din stnga este mai mic sau egal

<

Venit < 1200

Nota = Limita

>=

Nume >= Pop

<=

N <= LblNumar.Caption

Visual Basic Aplicaii n inginerie

54

<>

txtRaspuns.Text <> Da

(numeric sau alfabetic) dect cea din dreapta Are rezultatul True atunci cnd valoarea din stnga este diferit de cea din dreapta

1. Operatori pentru lucrul cu iruri. Exemplu: operatorii & i + concatenare. 2. Ali operatori

execut

IN se vor regsi valori n cadrul unei liste LIKE execut comparare cu caractere de nlocuire BETWEEN se vor regsi valori n cadrul unei game

4.4. Funcii predefinite


Limbajul VB cuprinde n plus o serie de funcii predefinite care faciliteaz scrierea procedurilor i funciilor utilizator [FRI 01], [NAS 00], [ANI 03]:

Abs( expresie_numerica ): returneaza valoarea absoluta a unei expresii numerice, sau a unui numar Asc( sir_caractere ): returneaza codul primului caracter din sirul de caractere specificat

Visual Basic Aplicaii n inginerie

55

Chr( COD_CARACTER ): returneaza caracterul cu codel specificat Date(): Returneaza data calendaristica Day( data_calendaristica ): returneaza numarul zilei din luna Month( data_calendaristica ): returneaza numarul lunei din an Year( data_calendaristica ): returneaza anul CDate( expresie ): face conversia la tipul Date CDbl( expresie ): face conversia la tipul Double Dec( expresie ): face conversia la tipul Decimal CInt( expresie ): face conversia la tipul Integer CLng( expresie ): face conversia la tipul Long CSng( expresie ): face conversia la tipul Single CStr( expresie ): face conversia la tipul String Cos( expresie_numeric ): returneaz cosinus dintr-o expresie numeric sau dintr-un numr. Valoarea returnat este de tip Double. Exp( expresie_numeric ): returneaz valoarea constantei e ridicat la o putere (expresie numeric sau numr).

Visual Basic Aplicaii n inginerie

56

Log( expresie_numeric ): returneaz logaritm natural dintr-un numr sau dintr-o expresie numeric. IsDate( expresie ): returneaz valoarea adevrat (TRUE) dac expresia dintre paranteze este compatibil cu o dat calendaristic. IsEmpty( expresie ): returneaz valoarea adevrat (TRUE) dac expresia dintre paranteze nu conine o valoare. Null este considerat valoare. IsNumeric( expresie ): returneaz valoarea adevrat (TRUE) dac expresia dintre paranteze poate fi evaluat ca numr. IsObject( expresie ): returneaz valoarea adevrat (TRUE) dac identificatorul dintre paranteze este de tip obiect. IsError( expresie ): returneaz valoarea adevrat (TRUE) dac expresia dintre paranteze conine o eroare. Len( ir_caractere/variabil ): returneaz numrul de caractere ale irului de caractere specificat sau numrul de octei necesari pentru a stoca coninutul unei variabile. Space( numr): returneaz numrul de spaii specificate Str(expresie_numeric): convertete rezultatul evalurii expresiei numerice dintre paranteze ntrun ir de caractere.

Visual Basic Aplicaii n inginerie

57

Val(ir_caractere): returneaz rezultatul evalurii irului de caractere specificat, ntr-un numr Mid((ir_caractere, poziie_start[, lungimea])): extrage un ir de caractere dintr-un alt ir de caractere. Funcii de dialog [FRI 01], [ANI 03]

1) INPUT BOX [prompt; title; default; xpos; ypos; helpfile; context) Primul argument este obligatoriu i este cel care transmite invitaia de a introduce un anumit tip de operaie. title parametru text care apare afiat n bara de prezentare a ferestrei Input Box default mesaj text care se afl implicit n cutia de text aferent Input Box xpos; ypos valorile coordonatelor din colul din stnga sus al ferestrei (coordonatele colului din stnga sus al ferestrei Input Box pe ecran). Input Box: TITLE Default prompt sub form de etichet

Visual Basic Aplicaii n inginerie Exemplu

58

S se introduc de la tastatur valoarea razei unui cerc. Secvena de cod va fi: Private Sub Command1_Click() Dim r As Integer r = InputBox("Introduceti raza cercului", "Raza cercului") End Sub

Figura 4.4.Rularea aplicaiei 2) MSG BOX este o funcie ce se utilizeaz pentru afiarea unor texte.

Visual Basic Aplicaii n inginerie

59

MSG BOX are sintaxa urmtoare: MSG BOX (msg, type, title, helpfile, context) msg expresie ir afiat ca mesaj n caseta dialog; este argument obligatoriu; type expresie numeric ce specific numrul i tipul butoanelor care vor fi afiate title expresie ir ce apare n bara de titlu a casetei de dialog context asigur asistena soft MSG BOX:
TITLE

msg. type

argumentul obligatoriu al MSG BOX i este un mesaj de tip ir de caractere afiat ntr-o cutie de text

buton

MSGBOX afieaz un mesaj ntr-o caset de dialog i prin argumente specific titlul i mesajul casetei preciznd i tipul butoanelor care trebuie afiate pe fereastra casetei. Este o cutie de text prin care se afieaz un rspuns i n acelai timp se ateapt o aciune aferent acelui rspuns. Tabelul 4.4Simbolurile grafice (icon-urile) din funcia MsgBox ()[FRI 01] Valoare 16 Literal predefinit vbCritical Descriere Afieaz icon-ul Critical Message

Visual Basic Aplicaii n inginerie 32 48 64 vbQuestion vbExclamation vbInformation Afieaz icon-ul Warning Query Afieaz icon-ul Warning Message Afieaz icon-ul Information Message

60

Tabelul 4.5.Specificarea butoanelor implicite pentru funcia MsgBox ()[FRI 01] Valoare 0 256 512 768 Literal predefinit vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 Descriere Primul buton este implicit Al doilea buton este implicit Al treilea buton este implicit Al patrulea buton este implicit

Tabelul 4.6. Alte opiuni ce pot fi incluse n argumentul intTip al funciei MsgBox () Valoare 0 Literal predefinit vbApplicationModal Descriere Fereastr modal la nivel de aplicaie: utilizatorul trebuie s

Visual Basic Aplicaii n inginerie

61

4096

vbSystemModal

16384

vbMsgBoxHelpButton

65536

vbMsgBoxSetForeground

524288

vbMsgBoxRight

1048576 vbMsgBoxRtlReading

rspund la mesaj nainte de a putea continua lucrul n aplicaia curent Fereastr modal la nivel de sistem: utilizatorul trebuie s rspund la mesaj nainte de a putea continua lucrul cu orice aplicaie Windows Adaug butonul Help la fereastra MsgBox () astfel se poate ajunge la 4 butoane afiate Specific faptul c fereastra MsgBox () se afieaz pe ecran deasupra oricrei alte ferestre Textul este aliniat la dreapta Textul apare de la dreapta la stnga (interfee n arab sau

Visual Basic Aplicaii n inginerie ebraic) Tabelul 4.7.Butoanele folosite de funcia MsgBox ()[FRI 01] Valoare Literal predefinit 0 vbOKOnly 1 2 3 4 5 vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel Descriere Afieaz doar butonul OK Afieaz butoanele OK i Cancel Afieaz butoanele Abort, Retry i Ignore Afieaz butoanele Yes, No i Cancel Afieaz butoanele Yes i No Afieaz butoanele Retry i Cancel

62

Tabelul 4.8. Valorile returnate de MsgBox () Valoare 1 2 3 4 5 Literal predefinit vbOK vbCancel vbAbort vbRetry vbIgnore Descriere A fost selectat butonul OK A fost selectat butonul Cancel A fost selectat butonul Abort A fost selectat butonul Retry A fost selectat butonul

Visual Basic Aplicaii n inginerie

63

6 7

vbYes vbNo

Ignore A fost seelctat butonul Yes A fost selectat butonul No

Exemplu S se afieze un mesaj de interogare a utilizatorului n privina corectitudinii unor date introduse

Figura 4.5. Rularea aplicaiei

Visual Basic Aplicaii n inginerie Secvena de cod pentru exemplificarea utilizrii acestei funcii va fi: Private Sub Command1_Click() Dim r As Integer r = MsgBox("Datele introduse sunt corecte? ", vbYesNo + vbQuestion, "ATENTIE") End Sub

64

4.5. Aplicaii
Aplicaia 4. S se determine spaiul parcurs de un vehicul pentru care se cunosc viteza i timpul deplasrii. Se va realiza macheta propus, machet ce cuprinde dou butoane de comand, unul intitulat Calcul, ce va calcula parametrul cerut, cellalt va realiza ieirea din aplicaie Pentru aceasta, se vor poziiona pe form cele dou butoane de comand Pentru fiecare obiect se va tasta F4, pentru vizualizarea ferestrei de proprieti Se vor modifica proprietile obiectelor astfel - form: proprietatea Caption va lua valoarea Aplicaia 1 - proprietatea Forecolor va lua alt valoare - command1: proprietatea Caption va lua valoarea Calcul spaiu

Visual Basic Aplicaii n inginerie -

65

command2: proprietatea Caption va lua valoarea Ieire

Figura 4.6. Proiectarea interfeei aplicaiei se vor ataa secvene de cod pentru butoanele command1 i command2 astfel:

Private Sub Command1_Click() Dim viteza As Double Dim timp As Double Dim spatiu As Double viteza = InputBox("Introducei vehiculului:") timp = InputBox("Introducei vehiculului:")

viteza viteza

Visual Basic Aplicaii n inginerie spatiu = viteza * timp Print Print Print Tab(30); "viteza vehiculului="; viteza Print Tab(30); "durata deplasrii="; timp Print Tab(30); "distana parcurs="; spatiu End Sub

66

Private Sub Command2_Click() End End Sub se va rula programul utiliznd comanda RUN se vor introduce datele cerute de aplicaie, respectiv viteza i durata rezultatul este prezentat n figura urmtoare:

Figura 4.7. Interfaa de introducere a datelor

Visual Basic Aplicaii n inginerie

67

Figura 4.8. Afiarea rezultatelor Aplicaia 5. S se determine duritatea Brinell. Datele de intrare sunt fora de apsare, diametrul bilei i diametrul calotei imprimate. HB = 2F (4.1)

D( D D 2 d 2 )

unde: F-fora de apsare D-diametrul bilei d-diametrul calotei imprimate

Visual Basic Aplicaii n inginerie

68

Se va realiza macheta propus, machet ce cuprinde dou butoane de comand, unul intitulat Calcul, ce va calcula parametrul cerut, cellalt va realiza ieirea din aplicaie

Figura 4.9 Proiectarea interfeei Pentru fiecare obiect se va tasta F4, pentru vizualizarea ferestrei de proprieti Se vor modifica proprietile obiectelor astfel - form: proprietatea Caption va lua valoarea Aplicaia 1 - proprietatea Forecolor va lua alt valoare, la alegere - command1: proprietatea Caption va lua valoarea Calcul spaiu, iar proprietatea Name va lua valoarea Calcul,

Visual Basic Aplicaii n inginerie -

69

command2: proprietatea Caption va lua valoarea Ieire, iar proprietatea Name va lua valoarea Ieire

Figura 4.10. Modificarea proprietilor se vor ataa secvene de cod pentru butoanele command1 i command2 astfel:

Private Sub Calcul_Click() Const pi = 3.14 Dim f As Double Dim d As Double Dim d1 As Double Dim hb As Double f = InputBox("Introduceti forta de apsare:")

Visual Basic Aplicaii n inginerie d = InputBox("Introduceti diametrul bilei:") d1 = InputBox("Introduceti diametrul urmei:") hb = 2 * f / pi / d / (d - Sqr((d * d) - (d1 * d1))) Print Print Print Tab(30); "forta de apsare="; f Print Tab(30); "diametrul bilei="; d Print Tab(30); "diametrul urmei="; d1 Print Print Tab(30); "Duritatea Brinell calculat HB="; d End Sub Private Sub iesire_Click() End End Sub

70

Figura 4.11. Introducerea datelor

Visual Basic Aplicaii n inginerie

71

se va rula programul utiliznd comanda RUN se vor introduce datele cerute de aplicaie, respectiv viteza i durata Rezultatul este prezentat n figura urmtoare:

Figura 4.12. Afiarea rezultatelor Aplicaia 6. S se determine duritatea Vickers, avnd ca date de intrare F (fora de apsare) i d (diagonala ptratului). Relaia de calcul va fi:
HV = 0,189 * F
2

(4.2)

Visual Basic Aplicaii n inginerie

72

se vor urma aceiai pai ca la aplicaiile precedente pentru a se realiza forma i butoanele de comand se va scrie codul :

Private Sub Command1_Click() Dim f As Double Dim d As Double Dim hv As Double f = InputBox("Introduceti forta de apsare:") d = InputBox("Introduceti diagonala ptratului:") hv = 0.189 * f / d / d Print Print Print Tab(30); "forta de apsare="; f Print Tab(30); "diagonala ptratului="; d Print Print Tab(30); "Duritatea Vickers calculat HV="; hv; "kgf/mm^2" End Sub Private Sub Command2_Click() End End Sub se va rula aplicaia

Pentru valorile F=300,d=1.5 rezultatul va fi HV=25.2 kgf/mm^2

Visual Basic Aplicaii n inginerie

73

Figura 4.13. Afiarea rezultatelor Aplicaia 7. S se determine lucrul mecanic al unui arc solicitat la ntindere. Datele de intrare sunt: - constanta elastic c=20 - alungirea final - alungirea iniial Relaia de calcul este [BOD 97] (4.3):
Lucrul _ mecanic alungirea cons tan ta _ elastic ( alungirea 2 _ initiala ) = _ final

Visual Basic Aplicaii n inginerie

74

se vor urma aceiai pai ca la aplicaiile precedente pentru a se realiza forma i butoanele de comand se va defini obiectul Label; se vor modifica proprietile Caption ( cu valoarea Calculul lucrului mecanic) i Autosize(cu valoarea True)

Figura 4.14.Modificarea proprietilor se va scrie codul

Private Sub Command1_Click() Const c = 20 Dim l As Double Dim di As Double Dim df As Double di = InputBox("Introduceti alungirea initiala:")

Visual Basic Aplicaii n inginerie df = InputBox("Introduceti alungirea finala:") l = c / 2 * (di * df) Print Print Print Print Print Tab(30); "alungirea initiala="; di Print Tab(30); "alungirea finala="; df Print Print Tab(30); "Lucrul mecanic calculat="; l End Sub Private Sub iesire_Click() End End Sub se va rula aplicaia

75

Figura 4.15. Afiarea rezultatelor

Visual Basic Aplicaii n inginerie Aplicaia 8.

76

S se determine duritatea unui material dup una din metodele Vickers sau Brinell. Se vor utiliza butoane de opiune. Se deschide o nou form Se poziioneaz dou butoane de opiune, unul pentru duritatea Vickers, cellalt pentru duritatea Brinell Se deschide fereastra de proprieti a butoanelor de opiune, utiliznd tasta F4 Se modific proprietile Caption (cu valoarea Duritatea Brinell, respectiv duritatea Vickers) Se scrie codul aferent celor dou butoane de opiune

Figura 4.16. Modificarea proprietilor

Visual Basic Aplicaii n inginerie Private Sub Option1_Click() Const pi = 3.14 Dim f As Double Dim d As Double Dim d1 As Double Dim hb As Double f = InputBox("Introduceti forta de apsare:") d = InputBox("Introduceti diametrul bilei:") d1 = InputBox("Introduceti diametrul urmei:") hb = 2 * f / pi / d / (d - Sqr((d * d) - (d1 * d1))) Print Print Print Print Print Tab(30); "forta de apsare="; f Print Tab(30); "diametrul bilei="; d Print Tab(30); "diametrul urmei="; d1 Print Print Tab(30); "Duritatea Brinell calculat HB="; d End Sub Private Sub Option2_Click() Dim f As Double Dim d As Double Dim hv As Double f = InputBox("Introduceti forta de apsare:") d = InputBox("Introduceti diagonala ptratului:") hv = 0.189 * f / d / d Print Print Print Tab(30); "forta de apsare="; f Print Tab(30); "diagonala ptratului="; d

77

Visual Basic Aplicaii n inginerie

78

Print Print Tab(30); "Duritatea Vickers calculat HV="; hv; "kgf/mm^2" End Sub

Figura 4.17.Afiarea rezultatelor Aplicaia 9. S se determine momentele de inerie n raport cu cele trei axe principale pentru un paralelipiped din font cu densitatea r=7800 kg/m3 i avnd dimensiunile a=0,5 m, b=0,3 m i c=0,04 m.

Visual Basic Aplicaii n inginerie Relaia de calcul va fi [BOD97]:

79

I1 =
I2 =

1 rabc(b 2 + c 2 ) 12
1 rabc(a 2 + c 2 ) 12

(4.4)

(4.5)

1 rabc(a 2 + b 2 ) (4.6) 12 Se va realiza macheta propus, machet ce cuprinde dou butoane de comand, unul intitulat Calcul, ce va calcula parametrul cerut, cellalt va realiza ieirea din aplicaie se va defini obiectul Label; se vor modifica proprietile Caption ( cu valoarea Calculul lucrului mecanic), Autosize(cu valoarea True), Backcolor (la alegere) i Forecolor (la alegere). se vor aeza pe form trei butoane de opiune, pentru determinarea fiecrui moment de inerie I3 =
Private Sub Check1_Click() Const r = 7800 Dim a As Double Dim b As Double Dim c As Double Dim l As Double a = InputBox("Introduceti dimensiunea a:") b = InputBox("Introduceti dimensiunea b:") c = InputBox("Introduceti dimensiunea c:") l = 1 / 12 * r * a * b * c * (b ^ 2 + c ^ 2)

Visual Basic Aplicaii n inginerie


Text1.Text = l End Sub Private Sub Check2_Click() Const r = 7800 Dim a As Double Dim b As Double Dim c As Double Dim l As Double a = InputBox("Introduceti dimensiunea a:") b = InputBox("Introduceti dimensiunea b:") c = InputBox("Introduceti dimensiunea c:") l = 1 / 12 * r * a * b * c * (a ^ 2 + c ^ 2) Text2.Text = l End Sub Private Sub Check3_Click() Const r = 7800 Dim a As Double Dim b As Double Dim c As Double Dim l As Double a = InputBox("Introduceti dimensiunea a:") b = InputBox("Introduceti dimensiunea b:") c = InputBox("Introduceti dimensiunea c:") l = 1 / 12 * r * a * b * c * (a ^ 2 + b ^ 2) Text3.Text = l End Sub

80

Visual Basic Aplicaii n inginerie

81

Figura 4.17. Modificarea proprietilor


se vor aeza trei casete de text, la care se vor modifica proprietile Text, tergndu-se coninutul prin selecia uneia dintre cele trei opiuni se va afia momentul de inerie corespunztor uneia dintre cele trei axe se va scrie codul se va rula aplicaia

Visual Basic Aplicaii n inginerie

82

4.18. Proiectarea interfeei

Figura 4.19. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 10.

83

S se determine temperatura dezvoltat n zona de achiere la burghiere. Datele de intrare sunt: C-constant ce depinde de materialul de prelucrat s-avansul burghiului [mm/rot] D-diametrul burghiului [mm] X,y-exponeni determinai experimental Coeficienii C,x i y vor fi dai sub form de constant, iar D i s vor fi citii de la tastatur Relaia de calcul va fi:[PIC92], [LUP00]

= Cs x D y

(4.7)

se deschide o nou aplicaie se poziioneaz pe form trei casete de text i trei etichete se poziioneaz dou butoane de comand datele de la tastatur nu vor mai fi citite cu ajutorul funciei InputBox, ci vor fi citite ca i coninut al casetelor de text se vor modifica proprietile etichetelor : proprietatea Caption ( cu afirile aferente), WordWrap cu valoarea True i Autosize ( cu valoarea True) se vor modifica proprietile casetelor de text referitoare la culoarea, dimensiunea i fontul folosit

Visual Basic Aplicaii n inginerie

84

Figura 4.20. Modificarea proprietilor se va modifica proprietatea Text prin tergerea coninutului se vor modifica proprietile Caption ale butoanelor de comand se va ataa cod butoanelor de comand
Private Sub Command1_Click() Dim d As Integer Dim s As Double Const c = 400 Const x = 0.8 Const y = 0.9 d = Val(Text1.Text)

Visual Basic Aplicaii n inginerie


s = Val(Text2.Text) teta = c * s ^ x * d ^ y Text3.Text = teta End Sub Private Sub Command2_Click() End End

85

Figura 4.21. Proiectarea interfeei se va rula aplicaia se vor introduce valorile d=15mm, s=0.2mm/rot

Visual Basic Aplicaii n inginerie

86

Figura 4.22. Afiarea rezultatelor Observaie: Aceast aplicaie ofer alt posibilitate de a introduce datele, utiliznd proprietatea text a unei cutii de text. De asemeni, la afiarea datelor se va folosi tot un TEXTBOX.
Aplicaia 11.

O rachet cu masa m=100 kg va fi accelerat la prima vitez cosmic v=8000 m/s. Viteza gazelor de ardere va fi de 3000 m/s, iar timpul de ardere t=120s. S se determine ce mas de combustibil este necesar pentru ca racheta s ating viteza v.

Visual Basic Aplicaii n inginerie Formula de calcul va fi [BOD97]:


v + gt v1

87

m c = m g (

1)

(4.8)

se proiecteaz interfaa cu utilizatorul; aceasta va conine trei etichete i trei casete de text

Figura 4.23. Proiectarea interfeei cu utilizatorul se modific proprietile casetelor de text i ale etichetelor se aaz pe form un buton de comand se ataeaz butonului de comand secvena de cod care urmeaz

Visual Basic Aplicaii n inginerie


Private Sub Command1_Click() Dim mg As Integer Dim t As Double Const vr = 3000 Const v1 = 8000 g = 9.8 mg = Val(Text1.Text) t = Val(Text2.Text) mc = mg * (Exp((v1 + g * t) / vr) - 1) Text3.Text = mc End Sub

88

se ruleaz programul cu datele din enunul programului, informaia afiat va fi:

Figura 4.24. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 12.

89

Se plaseaz ntr-un ascensor un pendul matematic i un pendul elastic avnd constanta elastic k=300 N/m i masa m=1 kg. Se deplaseaz ascensorul pe vertical cu acceleraia constant de 4m/s2. S se determine care dintre cele dou pendule are perioada oscilatorie mai mare. Perioada pendulului matematic este [BOD97]:

Tm = 2

1 g+a

(4.9)

unde : g=9,8 m/s2 Perioada pendulului elastic va fi [BOD97]:

Te = 2

m k

(4.10)

se aaz pe form o caset de text creia i vor fi modificate proprietile Text, Font, Forecolor i Multiline pentru o mai bun lizibilitate a mesajului pe care l va conine se poziioneaz un buton de comand ce va avea rolul de a declana codul de determinare a pendulului cu cea mai mare perioad

Visual Basic Aplicaii n inginerie

90

Figura 4.25. Proiectarea interfeei

Figura 4.26. Modificarea proprietilor

Visual Basic Aplicaii n inginerie se ataeaz cod butonului de comand

91

Command1_Click() k = 300 m=1 a=4 g = 9.8 tm = 2 * 3.14 * Sqr(1 / (g + a)) te = 2 * 3.14 * Sqr(m / k) If tm > te Then Text1.Text = "Perioada pendulului matematic este mai mare" Else Text1.Text = "Perioada pendulului elastic este mai mare" End If End Sub

Figura 4.27. Rularea aplicaiei

Visual Basic Aplicaii n inginerie

92

se ruleaz aplicaia se acioneaz click asupra butonului de comand rezultatul va fi cel prezentat n figura anterioar

Aplicaia 13.

Se plaseaz ntr-un ascensor un pendul matematic i un pendul elastic avnd constanta elastic k=300 N/m i masa m=1 kg. Se deplaseaz ascensorul pe vertical cu acceleraia constant de 4m/s2. Dac perioada pendulului matematic este mai mare s se afieze un mesaj. Se realizeaz o machet cu un buton de comand Se modific proprietile butonului de comand (proprietatea Caption ) Se ataeaz cod butonului de comand

Private Sub Command1_Click() k = 300 m=1 a=4 g = 9.8 tm = 2 * 3.14 * Sqr(1 / (g + a)) te = 2 * 3.14 * Sqr(m / k) If tm > te Then MsgBox (" Ati obtinut rezultatul dorit") End Sub Sau Private Sub Command1_Click()

Visual Basic Aplicaii n inginerie


k = 300 m=1 a=4 g = 9.8 tm = 2 * 3.14 * Sqr(1 / (g + a)) te = 2 * 3.14 * Sqr(m / k) If tm > te Then MsgBox (" Ati obtinut rezultatul dorit") End If End Sub

93

Figura 4.28. Proiectarea interfeei

Visual Basic Aplicaii n inginerie

94

Observaie: S-a exemplificat utilizarea structurii condiionale If n dou variante. Afiarea rezultatelor s-a realizat cu ajutorul funciei Msg Box

Rezultatul rulrii este prezentat n figura urmtoare:

Figura 4.29. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Capitolul 5 Structuri de control

95

Cunotine prealabile Elementele limbajului Visual Basic Operatori de comparare Combinarea condiiilor cu ajutorul operatorilor logici Plan tematic 5.1. Structuri de control alternative 5.2. Structuri repetitive 5.3. Aplicaii Intrebri obiectiv - Ce sunt structurile de control? - Care sunt structurile alternative n Visual Basic? -Care sunt structurile repetitive ale limbajului?

Cuvinte-cheie -structuri alterantive -test iniial -structuri repetitive -test final

Visual Basic Aplicaii n inginerie

96

Limbajul procedural permite o programare structurat. Orice algoritm tradus n limbaj procedural poate fi descompus n cele trei structuri fundamentale: - atribuire; - structur de control decizional; - structur de control repetitiv.. Atribuirea se realizeaz prin intermediul semnului = i are forma VARIABIL = EXPRESIE. Expresia poate fi: o variabil; numele unei funcii sau una ori mai multe operaii. Dac numele variabilei receptoare este definit anterior atunci tipul expresiei din dreapta trebuie s aib ca domeniu un subdomeniu al tipului variabilei din stnga.

Instruciune 1

Instruciune 2

Instruciune n

Visual Basic Aplicaii n inginerie

97

Dac variabila din partea stng se definete implicit n cadrul acestei operaii de atribuire atunci tipul este dat de tipul rezultatului. Dac se face n cadrul operaiei de atribuire o declarare forat a tipului atunci tipul rmne cel declarat.

5.1. Structuri de control alternative[FRI 01], [NAS


00], [ANI 03]
Structura de control decizional este structura uzual prin intermediul creia algoritmii se ramific.

Instruciune 1

Condiie Instruciune 2 Instruciune 3

Ea este realizat prin intermediul instruciunii IF sau prin intermediul instruciunii CASE. 1) Instruciunea IF are trei forme: a) IF cu ramur vid; b) IF uzual cu dou ramuri; c) IF-uri multiple sau imbricate.

Visual Basic Aplicaii n inginerie

98

a) IF-ul cu ramur vid este instruciunea IF care are activ numai o singur ramur i este obligatoriu ca aceast ramur s fie ramura THEN. IF-ul cu ramur vid are dou forme: 1) IF <cond> then instruciune Aceast form se utilizeaz dac instruciune execut n mod obligatoriu o singur instruciune . Aceast form de IF ncape pe un singur rnd. 2) IF <cond> then instruciune 1 End If n acest caz instruciune 1 poate cuprinde una sau mai multe instruciuni i n mod obligatoriu instruciune 1 se scrie pe alt rnd dect IF-ul.
Exemplu:

S se calculeze sumele ce vor trebui pltite pentru asigurarea autovehiculelor n funcie de capacitatea cilindric a lor . Se vor utiliza ambele variante de IF.
Private Sub Command1_Click() Dim n As Integer Dim suma As Double n = InputBox("Introducei capacitatea cilindric") If n <= 800 Then suma = 35 If n > 800 And n <= 1200 Then suma = 40 If n > 1200 And n <= 1600 Then suma = 45 If n > 1600 Then suma = 60 End If

Visual Basic Aplicaii n inginerie

99

MsgBox "Suma ce va fi achitata=" & suma End Sub

b) IF-ul uzual cu dou ramuri IF <cond> then instruciune 1 Else instruciune 2 END IF. n acest caz instruciune 1 ca de altfel i instruciune 2 pot fi formate din cte o singur instruciune sau pot cuprinde secvene de instruciuni. Fiecare dintre instruciuni se scrie pe cte un rnd.
Modul de aciune: se testeaz condiia i dac aceasta este ndeplinit se execut instruciune 1 i se trece dup END IF (se pred controlul instruciunii urmtoare de dup END IF). Dac aceast condiie nu este ndeplinit atunci se execut instruciune 2 i se pred controlul instruciunii de dup END IF.

c) IF-uri multiple (imbricate) IF <cond 1> THEN instruciune 1 ELSE IF <cond 2> THEN instruciune 2 ELSE IF ELSE instruciune (n+1)

Visual Basic Aplicaii n inginerie


END IF.

100

Ca regul general se recomand a nu se folosi mai mult de 7 imbricri (7 IF-uri unul n altul). Deoarece IF-ul consum foarte mult timp, se recomand ca cea mai des ndeplinit condiie s fie trecut prima. n sintaxa IF-urilor imbricate ultimul ELSE este simplu (nu mai exist dup ELSE nici un alt IF).
Exemplu S se rezolve problema precedent utiliznduse varianta structurii cu If-uri imbricate.

Figura 5.1 Rularea aplicaiei

Visual Basic Aplicaii n inginerie

101

Private Sub Command1_Click() Dim n As Integer Dim suma As Double n = InputBox("Introducei capacitatea cilindric") If n <= 800 Then suma = 35 ElseIf n <= 1200 Then suma = 40 ElseIf n > 1200 And n <= 1600 Then suma = 45 Else: suma = 60 End If MsgBox "suma ce va fi achitat: " & suma End Sub 2) SELECT CASE este instruciunea ce permite selecia multipl. Formatul ei este: Select Case <expresie> Case <valoare1> <bloc de instruciuni> ... [Case <valoaren> <bloc de instruciuni>] [Case Else <bloc de isntruciuni>] End Select Select Case <expresie> Case Is <relaie>

Visual Basic Aplicaii n inginerie


<bloc de instruciuni> Case Is <relaie> <bloc de instruciuni> [Case Is <relaie> <bloc de instruciuni>] [Case Else <bloc de instruciuni>] End Select Select Case <expresie> Case <expresie1> To <expresie2> <bloc de instruciuni> Case <expresie1> To <expresie2> <bloc de instruciuni> [Case <expresie1> To <expresie2> <bloc de instruciuni>] [Case Else <bloc de instruciuni>] End Select

102

Valoare (1,2,...,n) poate fi valoarea unei variabile, a unei expresii ori o list de expresii.
Exemplu S se rezolve problema precedent utiliznduse varianta structurii CASE. Private Sub Command1_Click() Dim n As Integer

Visual Basic Aplicaii n inginerie


Dim suma As Double n = InputBox("Introduceti cilindric") Select Case n Case Is <= 800 suma = 35 Case Is <= 1200 suma = 40 Case Is <= 1600 suma = 45 Case Else: suma = 60 End Select

103

capacitatea

MsgBox "Suma ce va fi achitat: " & suma End Sub

Figura 5.2. Rularea aplicaiei

Visual Basic Aplicaii n inginerie

104

5.2.Structuri repetitive[FRI 01], [NAS 00],


[ANI 03]
1)Structura de control repetitiv cu test iniial este structura de control fundamental. WHILE <cond> instruciune WEND

Acest tip de instruciune este una adugat limbajului Visual Basic.

Instruciune 1 Adevrat Instruciune 2

Condiie Fals

Modul de aciune: se testeaz condiia i dac aceasta este ndeplinit se execut instruciune i se testeaz iari condiia. n momentul n care condiia nu mai este ndeplinit controlul se pred dup WEND. Aceast instruciune poate s nu se execute niciodat. Variabila testat n condiie trebuie s fie definit i iniializat anterior instruciunii WHILE.

Visual Basic Aplicaii n inginerie

105

Instruciunea din corpul lui WHILE trebuie s conin o aciune care s modifice (s altereze) valoarea variabilei testate n condiie.
2)Secvena de instruciuni DO..LOOP n cadrul acestui gen de instruciuni se ntlnesc patru tipuri: a) DO WHILE <cond> instruciune LOOP

Acest tip de secven este de fapt forma de WHILE obinuit. b) DO


instruciune LOOP WHILE <cond> Aciune: se execut instruciunea i se testeaz condiia. Dac aceast condiie este ndeplinit relanseaz execuia instruciunii; dac nu este ndeplinit atunci se trece mai departe. Este o instruciune repetitiv cu test final dar inversat. Execuia acestei instruciuni se face cel puin o dat. Variabila testat n condiie nu trebuie declarat anterior lui DO. Instruciunea trebuie s conin ns o aciune care s modifice valoarea variabilei testate.

c) DO UNTIL <cond> instruciune LOOP

Visual Basic Aplicaii n inginerie

106

Aciune: se testeaz condiia care dac nu este ndeplinit se execut instruciunea i se revine la testarea condiiei. Dac aceast condiie este ndeplinit atunci se trece la instruciunea de dup LOOP. Pentru variabila testat n condiie este obligatoriu ca ea s fie definit i iniializat anterior instruciunii (anterior lui DO). Este o instruciune repetitiv cu test final inversat.

d) DO
instruciune LOOP UNTIL <cond>

Aceasta este o structur repetitiv cu test final uzual.


Aciune: se execut instruciunea i se testeaz condiia. Dac aceast condiie nu este ndeplinit atunci se repet execuia instruciunii. Variabila testat n condiie nu trebuie declarat anterior lui DO. 3) Instruciunea For ... Next ( Instruciuni repetitive cu un numr determinat de pai) I For <contor> = <val-start> To <val-stop> [Step <increment>] [<bloc de instruciuni>] [Exit For] [<bloc de inastruciuni>] Next <contor>

Argumentele contor, sfrit, step, nceput trebuie s fie numerice.

Visual Basic Aplicaii n inginerie

107

contor variabila ce controleaz numrul de execuii al ciclului val-start valoarea iniial a variabilei contor val-stop valoarea final a variabilei contor step indic valoarea cu care se mrete sau se micoreaz variabila contor dup fiecare execuie a instruciunii. Dac Step lipsete, valoarea implicit a pasului de ciclare este egalat cu 1.
Aciune: a) se egaleaz variabila contor cu valoarea iniial (val-start ); b) se testeaz dac valoarea din contor este mai mare dect valoarea final (sfrit) i dac da se iese din ciclu, dac nu atunci se execut secvena de instruciune; c) se adaug la valoarea contorului valoarea pasului (cnd aceasta exist) sau valoarea 1 n lipsa acestuia i se repet ciclul de la punctul b. Valoarea pasului (STEP) nu este obligatoriu 1 i poate avea chiar valori negative.

5.3. Aplicaii
Aplicaia 11. 8

S se realizeze o aplicaie de selecie a unui rspuns corect, dndu-se patru variante de rspuns.

NOTA 8 1. Ecuatia de gradul II 2. Mediile aritmetica, geometrica si armonica a 3 numere 3. Maximul si minimul a 3 numere

Visual Basic Aplicaii n inginerie

108

Se adaug pe form obiectele conform machetei: 5 etichete, un buton de comand i o caset text Se modific proprietile obiectelor pentru a mri lizibilitatea Se adaug cod butonului de comand Pentru introducerea datelor se va utiliza coninutul unei casete de text Se va afia mesajul cu ajutorul funciei MsgBox Se va utiliza o structur alternativ de tip CASE

Figura 5.3.Proiectarea interfeei


Private Sub Command1_Click() Dim v As Integer v = Val(Text1.Text) Select Case v

Visual Basic Aplicaii n inginerie


Case 1 MsgBox ("Rspuns gresit") Case 2 MsgBox ("Rspuns gresit") Case 3 MsgBox ("Rspuns corect") Case 4 MsgBox ("Rspuns gresit") End Select End Sub

109

Figura 5.4. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 12.

110

S se rezolve aceeai aplicaie utilizndu-se o structur IF: Se va utiliza aceeai interfa cu utilizatorul Se va scrie cod ataat butonului de comand Pentru introducerea datelor se va utiliza coninutul unei casete de text Se va afia mesajul cu ajutorul funciei MsgBox Se va rula aplicaia

Private Sub Command1_Click() Dim v As Integer v = Val(Text1.Text) If v = 1 Then MsgBox ("Rspuns gresit") ElseIf v = 2 Then MsgBox ("Rspuns gresit") ElseIf v = 3 Then MsgBox ("Rspuns corect") Else MsgBox ("Rspuns gresit") End If End Sub

Visual Basic Aplicaii n inginerie

111

Figura 5.5. Rularea aplicaiei


Aplicaia 13.

S se determine fora de frecare tiind ca aceasta are loc ntre trei perechi de suprafee ( oel pe oel, oel pe ghea, cauciuc pe asfalt) . Datele de intrare sunt fora de frecare i coeficienii de frecare [LUP 01] .

F = *N
oel/oel=0,12 oel/ghea=0,014 cauciuc/asfalt =0,85

(5.1)

Visual Basic Aplicaii n inginerie

112

Se proiecteaz o form ce va conine dou casete de text , o etichet i un buton de comand

Figura 5.6. Proiectarea interfeei Se scrie codul ataat butonului de comand

Private Sub Command1_Click() Dim v As Integer v = Val(Text2.Text) Select Case v Case 1 miu = 0.12 Case 2 miu = 0.014

Visual Basic Aplicaii n inginerie


Case 3 miu = 0.85 End Select

113

N = InputBox("Introduceti valoarea fortei normale") Ff = miu * N MsgBox (Ff) End Sub

Figura 5.7. Introducerea datelor de intrare se va rula aplicaia pentru citirea datelor de la tastatur se utilizeaz funcia InputBox

Visual Basic Aplicaii n inginerie

114

Figura 5.8. Afiarea rezultatelor


Aplicaia 14. 10

Folosindu-se structuri compuse, s se determine fora de frecare n condiiile alegerii dintre frecarea static i frecarea de alunecare. Coeficienii de frecare static sunt: oel/oel=0,15 oel/ghea=0,027 cauciuc/asfalt =0,9 Coeficienii de frecare de alunecare sunt cei de la aplicaia precedent.

Visual Basic Aplicaii n inginerie

115

Figura 5.9. Proiectarea interfeei


Private Sub Command1_Click() Dim v As Integer Dim tip As String v = InputBox("Varianta selecTat este:") tip = InputBox("Selectati tipul frecrii:S-static; Aalunecare") If tip = "S" Then Select Case v Case 1 miu = 0.15 Case 2 miu = 0.027

Visual Basic Aplicaii n inginerie


Case 3 miu = 0.9 End Select Else Select Case v Case 1 miu = 0.15 Case 2 miu = 0.014 Case 3 miu = 0.85 End Select End If

116

Figura 5.10. Afiarea rezultatelor

Visual Basic Aplicaii n inginerie


Aplicaia 15. 10

117

S se calculeze, utiliznd instruciunea repetitiv FOR , suma primelor N numere naturale, numrul N fiind dat de intrare. Se proiecteaz o interfa coninnd un buton de comand Se ataeaz codul
Private Sub Command1_Click() Dim n As Integer s=0 n = InputBox("Introduceti valoarea N=") For i = 1 To n s=s+i Next s = MsgBox(s, vbOKOnly, "Suma calculat este") End Sub

Visual Basic Aplicaii n inginerie Figura 5.11. Rularea aplicaiei


Aplicaia 16. 10

118

S se calculeze , utiliznd instruciunea repetitiv FOR, produsul primelor N numere naturale . Se realizeaz interfaa cu utilizatorul ca la aplicaia precedent

Figura 5.12. Introducerea datelor Se scrie codul aferent aciunii asupra butonului de comand

Private Sub Command1_Click()

Visual Basic Aplicaii n inginerie


Dim n As Integer p=1 n = InputBox("Introduceti valoarea N=") For i = 1 To n p=p*i Next

119

p = MsgBox(p, vbOKOnly, "Produsul calculat este") End Sub

Se ruleaz aplicaia

Figura 5.13.Rularea aplicaiei

Visual Basic Aplicaii n inginerie

120

Aplicaia 17.

10

S se calculeze , utiliznd instruciunea repetitiv FOR, produsul primelor n numere naturale pare. Se realizeaz interfaa cu utilizatorul ca la aplicaia precedent Se scrie codul
Private Sub Command1_Click() Dim n As Integer p=1 n = InputBox("Introduceti valoarea N=") For i = 1 To n p=p*i*2 Next p = MsgBox(p, vbOKOnly, "Produsul calculat este") End Sub

Se ruleaz aplicaia

Figura 5.14. Afiarea rezultatelor

Visual Basic Aplicaii n inginerie


Aplicaia 18. 10

121

S se calculeze , utiliznd instruciunea repetitiv FOR, produsul primelor n numere naturale impare. Se realizeaz interfaa cu utilizatorul ca la aplicaia precedent Se scrie codul
Private Sub Command1_Click() Dim n As Integer p=1 n = InputBox("Introduceti valoarea N=") For i = 1 To n p = p * (i * 2 - 1) Next p = MsgBox(p, vbOKOnly, "Produsul calculat este") End Sub

Se ruleaz aplicaia

Figura 5.15. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 19. 10

122

S se calculeze , utiliznd instruciunea repetitiv FOR, suma primelor n numere naturale impare. Se realizeaz interfaa cu utilizatorul ca la aplicaia precedent Se scrie codul Private Sub Command1_Click() Dim n As Integer s=0 n = InputBox("Introduceti valoarea N=") For i = 1 To n s = s + (i * 2 - 1) Next s = MsgBox(s, vbOKOnly, "Suma calculat este") End Sub

Figura 5.16. Afiarea rezultatelor

Visual Basic Aplicaii n inginerie


Aplicaia 20.

123

S se calculeze , utiliznd instruciunea repetitiv FOR, suma primelor n numere naturale pare. Se realizeaz interfaa cu utilizatorul ca la aplicaia precedent Se scrie codul
Private Sub Command1_Click() Dim n As Integer s=0 n = InputBox("Introduceti valoarea N=") For i = 1 To n s = s +i * 2 Next s = MsgBox(s, vbOKOnly, "Suma calculat este") End Sub

Figura 5.17. Afiarea rezultatelor

Visual Basic Aplicaii n inginerie


Aplicaia 21. 10

124

S se calculeze , utiliznd instruciunea repetitiv FOR, suma primelor n numere naturale mai mari dect un numr A. Se realizeaz interfaa cu utilizatorul ca la aplicaia precedent Se scrie codul Private Sub Command1_Click() Dim n As Integer n = InputBox("Introduceti valoarea N=") a = InputBox("Introduceti valoarea A=") s=0 For i = 1 To n s=s+i+a Next s = MsgBox(s, vbOKOnly, "Suma calculat este") End Sub

Figura 5.18. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 22. 10

125

S se evalueze rspunsul la ntrebarea Care dintre urmtoarele proprieti nu este caracteristic lichidelor? Variantele de rspuns sunt: 1. Curgerea laminat 2. Curgerea turbulent 3. Presiunea 4. Compresibilitatea Pentru fiecare rspuns incorect se vor scdea dou puncte din not. Se poziioneaz pe form urmtoarele obiecte: o etichet (Label) creia i se vor schimba proprietile Caption ( cu mesajul dorit) i Wordwrap (True); o caset de tip list, unde la proprietatea List se vor scrie cele patru opiuni; un buton de comand Se vor introduce datele privind rspunsul cu ajutorul funciei InputBox Se vor afia notele utiliznd funcia MsgBox Pentru determinarea notei obinute se alege structura repetitiv While..Wend Codul va fi

Private Sub Command1_Click() Dim raspuns As Integer raspuns = InputBox("Alegeti o variant de raspuns:") i=0

Visual Basic Aplicaii n inginerie

126

While raspuns <> 4 raspuns = InputBox("Alegeti o variant de raspuns:") i=i+2 Wend nota = 10 - i nota = MsgBox(nota, vbOKOnly, "Nota dvs. este:") End Sub

Se ruleaz aplicaia

Figura 5.19. Proiectarea interfeei

Visual Basic Aplicaii n inginerie

127

Figura 5.20. Afiarea rezultatelor


Aplicaia 23. 10

S se determine diferena dintre consumul de combustibil normat i cel efectiv pe marca de main. Se realizeaz macheta urmtoare, care va conine un buton de comand intitulat Diferene Se tasteaz codul

Private Sub Command1_Click() Dim tip As String Dim conse As Double Dim consn As Double

Visual Basic Aplicaii n inginerie

128

Dim rasp As String * 2 rasp = "DA" Cls Print Tab(7); " Situatia diferentei dintre Ce si Cn" Print Print Tab(10); "TIP"; Tab(20); "Consum normat"; Tab(40); "Consum efectiv"; Tab(60); "Diferenta" Print String(60, "_") While UCase(rasp) = "DA" tip = InputBox("Marca automobilului") consn = InputBox("Consum normat") conse = InputBox("Consum efectiv") Dif = consn - conse Print Print Tab(10); tip; Tab(20); consn; Tab(40); conse; Tab(60); Dif Print Print String(60, "_"); rasp = InputBox("Mai continuati?") Wend End

Observaie: Afiarea datelor cerute se va realiza utiliznd comanda Print. Pentru a introduce mai multe date, se interoghez utilizatorul n privina continurii aciunii, folosind MsgBox

Visual Basic Aplicaii n inginerie

129

Figura 5.21. Rularea aplicaiei


Aplicaia 24.

S se calculeze , utiliznd instruciunea repetitiv While... Wend, suma primelor n numere naturale . Se realizeaz interfaa cu utilizatorul ce va conine un buton de comand poziionat pe o form Se modific proprietatea Caption a butonului de comand dndu-i-se valoarea Calculul sumei primelor N numere naturale Se scrie codul

Private Sub Command1_Click()

Visual Basic Aplicaii n inginerie

130

Dim n As Integer s=0 n = InputBox("Introduceti valoarea N=") While i <= n s=s+i i=i+1 Wend s = MsgBox(s, vbOKOnly, "Suma calculat este") End Sub

Se ruleaz aplicaia

Aplicaia 25.

S se calculeze , utiliznd instruciunea repetitiv Do While..Loop , produsul primelor n numere naturale . Se realizeaz interfaa cu utilizatorul ce va conine un buton de comand poziionat pe o form Se modific proprietatea Caption a butonului de comand dndu-i-se valoarea Calculul produsului primelor N numere naturale Se scrie codul

Private Sub Command1_Click() Dim n As Integer p=1

Visual Basic Aplicaii n inginerie

131

n = InputBox("Introduceti valoarea N=") i=1 Do While i <= n p=p*i i=i+1 Loop p = MsgBox(p, vbOKOnly, "Produsul calculat este") End

Se ruleaz aplicaia

Aplicaia 26.

S se calculeze , utiliznd instruciunea repetitiv Do Until..Loop , produsul primelor n numere naturale . Se realizeaz interfaa cu utilizatorul ce va conine un buton de comand poziionat pe o form Se modific proprietatea Caption a butonului de comand dndu-i-se valoarea Calculul produsului primelor N numere naturale Se scrie codul

Private Sub Command1_Click() Dim n As Integer p=1 n = InputBox("Introduceti valoarea N=") i=1 Do Until i > n p=p*i

Visual Basic Aplicaii n inginerie

132

i=i+1 Loop p = MsgBox(p, vbOKOnly, "Produsul calculat este") End

Se ruleaz aplicaia

Aplicaia 27.

S se calculeze , utiliznd instruciunea repetitiv Do..Loop Until, suma primelor n numere naturale . Se realizeaz interfaa cu utilizatorul ce va conine un buton de comand poziionat pe o form Se modific proprietatea Caption a butonului de comand dndu-i-se valoarea Calculul sumei primelor N numere naturale Se scrie codul

Private Sub Command1_Click() Dim n As Integer s=0 n = InputBox("Introduceti valoarea N=") Do s=s+i i=i+1 Loop Until i > n s = MsgBox(s, vbOKOnly, "Suma calculat este") End Sub

Visual Basic Aplicaii n inginerie

133

Figura 5.22. Rularea aplicaiei


Aplicaia 28.

S se calculeze , utiliznd instruciunea repetitiv Do..Loop While, suma primelor n numere naturale . Se realizeaz interfaa cu utilizatorul ce va conine un buton de comand poziionat pe o form Se modific proprietatea Caption a butonului de comand dndu-i-se valoarea Calculul produsului primelor N numere naturale Se scrie codul

Private Sub Command1_Click() Dim n As Integer p=1 n = InputBox("Introduceti valoarea N=") i=1 Do

Visual Basic Aplicaii n inginerie

134

p=p*i i=i+1 Loop While i <= n p = MsgBox(p, vbOKOnly, "Produsul calculat este") End Sub

Figura 5.23. Rularea aplicaiei


Aplicaia 29.

10

n funcie de materialul din care este construit un perete (beton, crmid, lemn), temperatura interioar Ti, temperatura exterioar Te , grosimea peretelui l i conductivitatea termic , s se determine fluxul termic.

Visual Basic Aplicaii n inginerie

135

Se cunosc : Kbeton =2,1; Kcrmid=0,5; Klemn =0,15 J= K (Ti Te) l (5.2)

Aplicaia se va realiza utiliznd structura Select..End select

Figura 5.24. Proiectarea interfeei


Private Sub Command1_Click() Dim perete As String Dim optiune As Integer Dim ti As Double Dim te As Double

Visual Basic Aplicaii n inginerie

136

optiune = InputBox("introduceti materialul ") l = InputBox("introduceti ltimea peretelui ") ti = InputBox("introduceti temperatura interioar ") te = InputBox("introduceti temperatura exterioar ") Select Case optiune Case 1 perete = beton Case 2 perete = caramida Case 3 perete = lemn End Select Select Case perete Case beton j = 2.1 / l * (ti - te) Case caramida j = 0.5 / l * (ti - te) Case lemn j = 0.15 / l * (ti - te) End Select v = MsgBox(j, vbExclamation, "Fluxul termic este:") End Sub

Visual Basic Aplicaii n inginerie

137

Figura 5.25. Rularea aplicaiei


Aplicaia 30. 8

S se determine elementul maxim i elementul minim dintr-un ir de valori introduse de la tastatur. Se va ataa cod unui buton de comand Se iniializeaz o variabil de tip sir Pentru citirea datelor de la tastatur se utilizeaz o instruciune repetitiv For..next Se vor iniializa valorile maxime i minime cu primul element al irului Se ruleaz aplicaia

Visual Basic Aplicaii n inginerie

138

Private Sub Command1_Click() Dim sir(1 To 5) As Integer For i = 1 To 5 sir(i) = InputBox("Introduceti elementul & i & al sirului", i) Next i Max = sir(1) Min = sir(1) For i = 1 To 5 If sir(i) > Max Then Max = sir(i) If sir(i) < Min Then Min = sir(i) Next i MsgBox "Maximul sirului este" & Max & " Minimul sirului este :" & Min End Sub

Figura 5.26. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 31. 10

139

S se determine diametrul standardizat al unui ax dintr-un ir de valori. Valoarea calculat va fi rotunjit, alegndu-se diametrul imediat superior. Pentru introducerea diametrelor standardizate va fi declarat o variabil de tip ir Pentru parcurgerea irului n vederea introducerii diametrelor standardizate i a determinrii limitelor n care se ncadreaz diametrul rezultat din calcule se vor folosi instruciuni repetitive For...Next

Figura 5.27. Proiectarea interfeei

Visual Basic Aplicaii n inginerie

140

Private Sub Command1_Click() Dim sir(1 To 10) As Integer Dim diametru As Double For i = 1 To 10 sir(i) = InputBox("Introduceti diametrul standardizat " & i) Next i diametru = InputBox("INTRODUCETI DIAMETRUL CALCULAT ") For i = 1 To 9 If (diametru > sir(i)) And (diametru < sir(i + 1)) Then diametru = sir(i + 1) End If Next i MsgBox "DIAMETRUL STANDARDIZAT ALES ESTE: " & diametru End Sub

Figura 5.28. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 32.

141

S se determine diametrul standardizat al unui ax dintrun ir de valori. Valoarea calculat va fi rotunjit, alegndu-se diametrul imediat superior. Fa de aplicaia precedent, valorile standardizate vor fi afiate sub forma unei liste utiliznd obiectul ListBox. Se proiecteaz interfaa cu utilizatorul. Aceasta va conine un buton de comand la care se va modifica proprietatea Caption (Cu valoarea Alegerea diametrului standardizat) Pe interfa se plaseaz o etichet cu proprietaea Caption Valorile standardizate ale diametrului Se plaseaz un obiect Textbox care la proprietatea List va avea introdus lista cu valorile standardizate. Se ataeaz codul
Private Sub Command1_Click() Dim diametru As Double diametru = InputBox("INTRODUCETI DIAMETRUL CALCULAT ") For i = 1 To 5 If (diametru > Val(List1.List(i))) And (diametru < Val(List1.List(i + 1))) Then diametru = List1.List(i + 1) End If Next i MsgBox DIAMETRUL ESTE: & diametru End Sub STANDARDIZAT ALES

Visual Basic Aplicaii n inginerie

142

Figura 5.29.Rularea aplicaiei

Figura 5.30. Afiarea rezultatelor

Visual Basic Aplicaii n inginerie


Aplicaia 33.

143

S se determine suma elementelor unei matrici. Se proiecteaz o interfa cu o etichet i dou butoane de comand, unul pentru calculul sumei elementelor matricii, cellalt pentru ieirea din aplicaie Se modific proprietile aferente fiecrui obiect Se scriu codurile ataate celor dou butoane de comand

Figura 5.31. Proiectarea interfeei aplicaiei


Private Sub Command1_Click() Dim i As Integer Dim j As Integer

Visual Basic Aplicaii n inginerie

144

Dim n As Integer Dim m(5, 5) As Integer n = InputBox(" Introduceti numrul de linii si coloane:") For i = 1 To n For j = 1 To n m(i, j) = InputBox("Elementul [" & i & "," & j & "]=") Sum = Sum + m(i, j) Next j Next i MsgBox "SUMA ELEMENTELOR MATRICII ESTE : " & Sum End Sub Private Sub Command2_Click() End End Sub

Figura 5.32. Afiarea rezultatelor

Visual Basic Aplicaii n inginerie


Aplicaia 34.

145

S se determine elementul maxim al unei matrici.


Private Sub Command1_Click() Dim i As Integer Dim j As Integer Dim n As Integer Dim m(5, 5) As Integer n = InputBox(" Introduceti numrul de linii si coloane:") For i = 1 To n For j = 1 To n m(i, j) = InputBox("Elementul [" & i & "," & j & "]=") Next j Next i Max = m(1, 1) For i = 1 To n For j = 1 To n If Max < m(i, j) Then Max = m(i, j) Next j Next i For i = 1 To n For j = 1 To n Print "m(" & i & "," & j & ")=" & m(i, j) Next j Next i MsgBox "ELEMENTUL MAXIM AL MATRICII ESTE : " & Max End Sub

Visual Basic Aplicaii n inginerie


Private Sub Command2_Click() End End Sub

146

Figura 5.33. Rularea aplicaiei


Aplicaia 35.

S se determine numrul de dini z al unei frezei n funcie de diametrul prii de fixare d. [LUP 00]
z = kz * q * d

(5.3)

n care kz i q sunt constante ce depind de tipul frezei astfel:

Visual Basic Aplicaii n inginerie

147

Tipul frezei

Material

Kz

Cilindric Disc Unghiular

Oel rapid Carbur metalic Oel rapid Carbur metalic Oel rapid Carbur metalic

1,2 0,85 2,1 1,1 2,3 1,1

3 5 4

Se vor afia toate cele ase variante. n seciunea General a unui modul se va defini tipul de date freza.

Figura 5.34. Definirea tipului de date Freza

Visual Basic Aplicaii n inginerie

148

Se va ataa secvena de cod

Private Sub Command1_Click() Dim lista(1 To 6) As freza Dim i As Integer Dim d As Double Dim z As Integer d = InputBox(" Introduceti diametrul prtii de fixare") For i = 1 To 6 lista(i).tip = InputBox("Introduceti tipul frezei " & i) lista(i).material = InputBox("Introduceti materialul frezei " & i) lista(i).kz = InputBox("Introduceti kz pentru freza" &i) lista(i).q = InputBox("Introduceti q pentru freza " & i) Next i For i = 1 To 6 z = Round(lista(i).kz * Sqr(lista(i).q * d)) Print Print Print Tab(20); "Numrul de dinti al frezei" & i & " este z=" & z Next i End Sub

Se va rula aplicaia introducndu-se datele prezentate n tabelul anterior

Visual Basic Aplicaii n inginerie

149

Figura 5.35.Afiarea datelor

Visual Basic Aplicaii n inginerie


Capitolul 6 Programare modular n Visual Basic

150

Cunotine prealabile Elementele limbajului Visual Basic Structuri de control Plan tematic 1. Proceduri de tip funcie 2.Proceduri standard 4. Aplicaii Intrebri obiectiv - Cum se elaboreaz aplicaiile utiliznd programarea modular? - Cum se definesc procedurile? - Cum se apeleaz procedurile?

Cuvinte-cheie - funcii definite de utilizator apelarea funciilor -proceduri de tip proprietate -apelarea procedurilor

Visual Basic Aplicaii n inginerie

151

6.1. Proceduri de tip funcie


O funcie/procedur reprezint un bloc de instruciuni care realizeaz o prelucrare. Acestea pot fi apelate ori de cte ori este nevoie, fr a mai fi necesar rescrierea lor. n felul acesta se reduce considerabil efortul de programare. Pentru a da un grad de generalitate ct mai mare, funciile i/sau procedurile conin n definirea acestora o list de parametri formali. n momentul apelrii unei funcii i/sau proceduri se transmit ctre acestea, nici unul, unul sau mai multe valori pentru fiecare parametru al procedurii sau funciei. Att funciile ct i procedurile sunt subuniti de program menite s nglobeze n ele aciunile a cror descriere se repet n cadrul unui program. Subunitile sunt de dou tipuri: a) cele de tip funcie pe baza unei liste de parametri returneaz n urma aciunii lor o valoare utilizabil n restul aplicaiei; b) cele de tip subrutin efectueaz doar aciune fr a returna valoare.

Procedurile de tip funcie au structura uzual a unui program cuprins ntre declaraiile: Sintaxa unei funcii este urmtoarea [FRI 01], [NAS 00], [ANI 03]:

Visual Basic Aplicaii n inginerie

152

[Private|Public] Function nume_funcie [([ByRef|ByVal] param_1 as tip_date , ....)] [as tip_date] [instruciuni] [nume_funcie = expresie] ... [Exit Function] [instruciuni] [nume_funcie = expresie] End Function Unde:

Exit Function permite ieirea forat dintr-o funcie, nume_funcie = expresie permite asocierea unui rezultat numelui funciei.

ntre Function i End Function se afl zona declarativ a funciei n care se declar variabile locale i zona activ a funciei, respectiv cea care comand aciunea. Printre instruciunile din zona activ exist o instruciune de tip atribuire care este obligatorie. Aceast instruciune este de forma:
NUME_FUNCIE=expresie

Visual Basic Aplicaii n inginerie

153

Acest lucru nseamn c nume_funcie este att denumirea procedurii de tip funcie ct i numele variabilei prin intermediul creia se realizeaz transferul implicit de informaie ntre funcie i programul general. Tipul acestei variabile este implicit variant n lipsa unei declaraii care s foreze tipul. Apelarea unei funcii se face n afara ei prin nume_funcie urmat n parantez de lista parametrilor actuali, nume situat obligatoriu n partea dreapt a unei instruciuni de atribuire. Dac funcia nu are parametri, prezena parantezelor dup nume_funcie este obligatorie. Printre instruciunile dintre declaraiile de nceput i sfrit ale funciei poate s existe i o instruciune de ieire forat din funcie, instruciune de tip EXIT. Instruciunea EXIT ne semnaleaz n timpul execuiei ieirea forat iar funcia nu returneaz valoare (practic aceast instruciune ne scoate forat din funcie) . Acest rezultat va fi returnat n momentul terminrii execuiei funciei. Apelul unei funcii se poate face astfel:
Variabila = nume_funcie [(valoare_param_1, valoare_param_2, ... .)]. Variabila preia rezultatul returnat de funcie.

6.2. Proceduri standard


Procedurile de tip subrutin Procedurile de tip subrutin sunt secvene de program care realizeaz o grupare de aciuni fr a returna o valoare n partea principal de program.

Visual Basic Aplicaii n inginerie Exist trei tipuri de proceduri subrutin: a) subrutine generale; b) subrutine de tip eveniment; c) subrutine de tip proprietate.

154

a) Subrutinele generale nu sunt legate de obiecte. Ele reprezint doar o secven de cod apelabil prin program. Sintaxa pentru definirea unei proceduri este urmtoarea[FRI 01], [NAS 00], [ANI 03]:
Private|Public] Sub nume_procedura[([ByRef|ByVal] param_1 as tip_date,....)] [instruciuni] .... [Exit Sub] ... [instruciuni] End Sub

Unde:

Private semnific faptul c procedura poate fi apelat numai din modulul unde a fost definit, Public semnific faptul c procedur poate fi apelat din orice modul; Exit Sub permite ieirea forat dintr-o procedur.

Visual Basic Aplicaii n inginerie

155

Apelarea unei astfel de proceduri se poate face n dou moduri: 1) prin intermediul numelui procedurii urmat e lista parametrilor, list ce nu se gsete ntre paranteze, parametrii urmnd imediat dup nume_procedur i fiind separai prin virgule; nume_procedur n acest caz constituind o instruciune de sine stttoare. 2) prin intermediul instruciunii CALL nume_procedur [lista parametrii] n acest caz lista de parametrii este obligatorie ntre paranteze.
[Call ] nume_procedura [(valoare_param_1,valoare_param_2,....)] Dac un parametru formal este prefixat de ByRef , modificarea acestora n procedur se va reflecta i n variabila corespunztoare transmis ca parametru actual. Acesta este transfer de parametri prin referin. Acest aspect este valabil i cnd lipsete declaraia ByRef din faa unui parametru. Modificarea parametrilor declarai By Val nu va afecta coninutul variabilelor care le-au fost transmise. Acest tip de transfer reprezint transferul prin valoare.

b) Subrutine de tip eveniment Subrutinele de tip eveniment sunt subrutine ataate unor obiecte i acioneaz la un eveniment ataat obiectului. Modul lor de descriere: [PRIVATE/STATIC] SUB nume_obiect_aciune ()

Visual Basic Aplicaii n inginerie END SUB.

156

Aciunea unor astfel de proceduri se desfoar numai la aciunea asupra obiectului ceea ce nseamn c procedura principal are n observaie pentru fiecare obiect un CONTROL care dac este activat genereaz lansarea n execuie a procedurii. n general evenimentele sunt de tip CLICK sau CHANGE. c) Proceduri de tip proprietate Acestea sunt de tipul: PROPERTY GET; LET i PUT

6.3. Aplicaii
Aplicatia 36.

S se determine, utiliznd funcii definite de utilizator, durabilitatea unui cuit de strung [LUP 95], [LUP 01]. T= C v t sy
z x

(6.1)

Se dau sub form de constant C=4000 i x=3,y=4, z=3,5. Se va utiliza funcia putere. Se proiecteaz interfaa din figura urmtoare, coninnd o etichet i dou butoane de comand,

Visual Basic Aplicaii n inginerie

157

unul pentru calcul, cellalt pentru ieirea din aplicaie Se modific proprietile obiectelor ca la aplicaiile anterioare Se va ataa cod butoanelor de comand Funcia putere, definit de utilizator, va fi scris n seciunea General Funcia va fi apelat cu parametri actuali n cadrul procedurii ataate evenimentului click al butonului de comand. Atenie : parametrii actuali vor fi de acelai tip cu parametrii formali

Figura 6.1. Proiectarea interfeei

Visual Basic Aplicaii n inginerie

158

Public Function putere(a As Double, b As Double) As Double putere = a ^ b End Function Private Sub Command1_Click() Dim v As Double Dim ta As Double Dim s As Double Dim c As Double Dim x As Double Dim y As Double Dim z As Double c = 4000 x = 300 z = 3.5 v = InputBox("Introduceti viteza de aschiere n intervalul 20-60:") ta = InputBox("Introduceti adancimea de aschiere n intervalul 0,5-3 :") s = InputBox("Introduceti avansul n intervalul 0,050,5 :") t = c / (putere(v, x) * putere(ta, y) * putere(s, z)) MsgBox " Durabilitatea cutitului de strung este " & t& min End Sub Private Sub Command2_Click() End End Sub

Visual Basic Aplicaii n inginerie Se ruleaz aplicaia

159

Figura 6.2. Rularea aplicaiei


Aplicaia 37.

S se transmit trei parametri unei proceduri, att prin valoare ct i prin referin. Se proiecteaz o interfa cu dou butoane de comand, unul prin care se vor apela procedurile, cellalt pentru ieirea din aplicaie. Parametrul x transmis cu prefixul ByVal , dei a fost modificat n procedura de apelare, la revenire va pstra valoarea iniial

Visual Basic Aplicaii n inginerie

160

Parametrii y i z, transmii prin referin (prefixul By Ref), vor pstra valorile modificate, dup revenirea din procedura apelant Se vor ataa urmtoarele secvene de cod. (se va defini un modul ce va conine procedurile testare() i procedura1() )

Private Sub Command1_Click() Call testare End Sub Sub procedura1(ByVal x As Integer, ByRef y As Integer, c As Integer) x=y+z y=x+z z=x+y MsgBox "x=" & x & " y=" & y & " z=" & z End Sub Sub testare() Dim x As Integer, y As Integer, z As Integer x=1 y=2 z=3 Call procedura1(x, y, z) MsgBox "x=" & x & " y=" & y & " z=" & z End Sub Private Sub Command2_Click() End End Sub Se ruleaz aplicaia

Visual Basic Aplicaii n inginerie Se vor afia dou rnduri de valori: X=2, Y=2, Z=4

161

Fig 6.3. Rularea aplicaiei


x=1,y=2, z=3

Fig.6.4. A doua rulare a aplicaiei

Visual Basic Aplicaii n inginerie


Capitolul 7 Fiiere n Visual Basic

162

Cunotine prealabile Elementele limbajului Visual Basic Structuri de control Programare modular Plan tematic 1. Deschiderea fiierelor 2.nchiderea fiierelor 3. Exploatarea fiierelor n acces secvenial 4. Exploatarea fiierelor cu acces aleator 5. Aplicaii Intrebri obiectiv - Cum se stocheaz datele n fiiere ? - Cum se citesc datele din fiiere? - Cum se scriu datele dintr-un fiier n alt fiier?

Cuvinte-cheie - fiier -acces secvenial -acces direct -deschidere fiier -nchidere fiier

Visual Basic Aplicaii n inginerie

163

Fiierele sunt colecii de date omogene din punct de vedere al naturii, coninutului i prelucrrii lor. Accesul la datele din fiier poate fi: secvenial, caz n care pentru a se ajunge la o anumit nregistrare se vor parcurge toate nregistrrile anterioare direct, caz n care este posibil accesarea unei nregistrri n mod direct, fr a fi necesar parcurgerea datelor anterioare.

7.1.Deschiderea fiierelor
Pentru a se putea scrie/citi datele n/dintr-un fiiere este necesar deschiderea acestuia. Comanda care va aloca zone de memorie tampon pentru operaiile de intrare-ieire este[FRI 01], [NAS 00], [ANI 03]:
OPEN nume_fiier FOR mod_deschidere AS #nr_fiier LEN=expresie unde: nume_fiier poate fi un fiier care exist pe disc sau un fiier care va fi creat n acest moment; dac fiierul nu se gsete n directorul curent, atunci va fi specificat calea mod_deschidere- poate avea valorile: Pentru acces secvenial APPEND permite adugarea de date n fiier INPUT- permite citirea datelor din fiier OUTPUT permite crearea unui nou fiier Pentru acces direct:

Visual Basic Aplicaii n inginerie

164

RANDOM Pentru acces binar: Binary Observaie : dac fiierul exist i el va fi deschis utiliznd clauza OUTPUT, atunci va fi suprascris. nr_fiier este un numr cuprins ntre1 i 511 i reprezint numrul care este atribuit fiierului i care va fi utilizat ca identificator pentru respectivul fiier
Exemplu:

Se va deschide pentru creare fiierul Freze.DAT Se va deschide pentru citire fiierul Materiale.DAT

Open d:\date\freze.dat For Output As #1 Open d:\date\materiale.dat For Input As #2

7.2. nchiderea fiierelor


Dup ce se finalizeaz lucrul cu fieierul , acesta va fi nchis. Comanda de nchidere a fiierului este[FRI 01], [ANI 03] :
CLOSE lista_nr_fiiere

Aceast comand are ca efect ntreruperea legturii dintre fiier i numrul lui. Dac dup instruciunea Close nu este precizat nici o clauz, atunci vor fi nchise toate fiierele.

Visual Basic Aplicaii n inginerie

165

7.3. Exploatarea fiierelor n acces secvenial


Citirea datelor din fiiere Se realizeaz cu ajutorul comenzii[FRI 01], [ANI 03] :
Line input #numr_fiier, nume_variabil Unde: Numr_fiier este numrul fiierului Nume_variabil- numele unei variabile ir Aceast comand are ca efect citirea unei ntregi linii . Linia va fi atribuit unei variabile ir.

Scrierea datelor n fiiere Se realizeaz cu comanda :


Print #numr_fiier, list_expresii Unde: Numr_fiier este numrul fiierului List_expresii expresie ce se va scrie n fiier Pentru scrierea n fiiere este necesar deschiderea cu opiunile Output sau Append. Observaie: Accesul secvenial este utilizat att pentru fiiere care au linii de aceeai lungime ct i linii de lungimi diferite.n modul de acces secvenial se scrie sau se citete o linie o dat. Exemplu Se creaz fiierul fiier .dat Private Sub Command1_Click()

Visual Basic Aplicaii n inginerie


Dim fis As pers Open "d:\cartevb\fisier" For Output As #1 Rasp = "DA" While UCase(Rasp) = "DA" fis.nume = InputBox("Nume") fis.suma = InputBox("Suma") Print #1, fis.nume, Tab(10), fis.suma Rasp = InputBox("Continuati ? DA/NU") Wend Close #1 End Sub

166

La nivel de proiect s-a declarat o variabil de tip utilizator: Type pers nume As String suma As Double End Type

Figura 7.1. Rularea aplicaiei

Visual Basic Aplicaii n inginerie

167

7.4. Exploatarea fiierelor n acces direct


Deschiderea fiierelor pentru acces direct se face Random. Este necesar precizarea lungimii nregistrrii, deoarece acestea vor avea lungime fix. Citirea datelor din fiier Se realizeaz cu instruciunea [FRI 01], [ANI 03]
Get numr_fiier, numr_nregistrare, nume_variabil

Unde: Numr_fiier - numrul fiierului Nr_nregistrare prin nmulirea cu lungimea nregistrrii va determina poziia datelor care vor fi citite Nume_variabil numele variabilei care conine datele ce vor fi citite Scrierea datelor n fiier Se realizeaz cu instruciunea:
Put numr_fiier, numr_nregistrare, nume_variabil

7.5. Aplicaii
Aplicaia 38 .

S se creeze fiierul secvenial freze.dat cu urmtoarea structur: tip frez; material; kz; q; d. [LUP 00] S se scrie o procedur de introducere a datelor n fiier.

Visual Basic Aplicaii n inginerie

168

Se creaz o interfa cu un buton de comand Se adaug proiectului un modul n care se va declara tipul de date utilizator Fisier i se va declara o variabil global de tip fiier Se scrie cod pentru butonul de comand Procedura va realiza crearea fiierului i scrierea datelor

Type fisier tip As String material As String kz As Double q As Integer d As Double z As Integer End Type Global fis As fisier Private Sub Command1_Click() fnume = "d:\cartevb\freze.dat" Open fnume For Output As #1 raspuns = "DA" While UCase(raspuns) = "DA" fis.tip = InputBox("Introduceti tipul frezei :") fis.material = InputBox("Introduceti materialul

Visual Basic Aplicaii n inginerie

169

frezei :") fis.kz = InputBox("Introduceti kz :") fis.q = InputBox("Introduceti q :") fis.d = InputBox("Introduceti diametrul frezei :") fis.z = Round(fis.kz * (fis.q * fis.d) ^ (1 / 2)) Print #1, fis.tip; Tab(10); fis.material; Tab(30); fis.kz; Tab(40); fis.q; Tab(50); fis.d; Tab(60); fis.z raspuns = InputBox("Mai continuati?") Wend Close #1 End Sub

Figura 7.2. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 39.

170

S se adauge date n fiierul care a fost creat la aplicaia precedent. Procedura de adugare a datelor n fiierul existent presupune deschiderea fiierului cu clauza APPEND
Type fisier tip As String material As String kz As Double q As Integer d As Double z As Integer End Type Global fis As fisier Private Sub Command2_Click() fnume = "d:\cartevb\freze.dat" Open fnume For Append As #1 raspuns = "DA" While UCase(raspuns) = "DA" fis.tip = InputBox("Introduceti tipul frezei :") fis.material = InputBox("Introduceti materialul frezei :") fis.kz = InputBox("Introduceti kz :")

Visual Basic Aplicaii n inginerie

171

fis.q = InputBox("Introduceti q :") fis.d = InputBox("Introduceti diametrul frezei :") fis.z = Round(fis.kz * (fis.q * fis.d) ^ (1 / 2)) Print #1, fis.tip; Tab(10); fis.material; Tab(30); fis.kz; Tab(40); fis.q; Tab(50); fis.d; Tab(60); fis.z raspuns = InputBox("Mai continuati?") Wend Close #1 End Sub

Figura 7.3. Rularea aplicaiei

Visual Basic Aplicaii n inginerie


Aplicaia 40.

172

S se afieze datele existente n fiierul Freze.dat Se va ataa unui buton de comand urmtoarea procedur
Private Sub Command3_Click() Dim z As Integer Dim l1 As String, l2 As String Cls fnume = "d:\cartevb\freze.dat" Open fnume For Input As #1 Print "Tip "; Tab(10); "Material"; Tab(30); "z" Print String(55, "_") While Not EOF(1) Line Input #1, l l1 = Mid(l, 1, 6) l2 = Mid(l, 10, 10) l3 = Mid(l, 60, 2) Print l1; Tab(10); l2; Tab(30); l3 Wend Close End Sub

Visual Basic Aplicaii n inginerie

173

Figura 7.4.Rularea aplicaiei


Aplicaia 41.

S se scrie datele din fiierul Freze.dat n fiierul Date.dat Se va proiecta o intefa cu un buton de comand Se va scrie procedura ataat butonului de comand Se va rula aplicaia
Private Sub Command4_Click() Cls fnume = "d:\cartevb\freze.dat" Open fnume For Input As #1 Open "d:\cartevb\date.dat" For Output As #2

Visual Basic Aplicaii n inginerie

174

Print #2, "Tip "; Tab(10); "Material"; Tab(30); "z" Print #2, String(55, "_") While Not EOF(1) Line Input #1, l l1 = Mid(l, 1, 6) l2 = Mid(l, 10, 10) l3 = Mid(l, 60, 2) Print #2, l1; Tab(10); l2; Tab(30); l3 Wend Close End Sub Aplicaia 42.

S se creeze fiierul Agenda.dat n acces aleatoriu cu urmtoarea structur: Denumirea materialului Modulul Young de elasticitate E Coeficientul de ntindere transversal Poisson Modulul de compresiune K Rezistena la traciune sigma S se afieze proprietile de mai sus pentru materialul a crui nume va fi introdus de la tastatur.
Material E Poisson k Sigma

otel alama aluminiu plumb

200 100 72 17

0.28 0.38 0.34 0.44

170 125 75 44

0.70 0.55 0.013 0.014

Visual Basic Aplicaii n inginerie Informaiile introduse se vor fi listate. Drept interfa se vor folosi dou forme : -frmfis, cu trei butoane de comand ( pentru crearea, consultare i execuie) -frmintrod, cu cinci etichete, cinci casete de text i un buton de comand pentru scrierea datelor Se va aduga aplicaiei un modul care va avea coninutul: Type materiale material As String e As Double poisson As Double k As Double sigma As Double End Type
Global mat As materiale Global nr As Integer

175

Se va proiecta interfaa cu formularul frmfis, pe care se vor aeza cele trei butoane Se va ataa urmtoarea secven de cod:

Private Sub Command1_Click() Frmintrod.Show Frmintrod.Text1.SetFocus Frmintrod.Text1 = "" Frmintrod.Text2 = ""

Visual Basic Aplicaii n inginerie


Frmintrod.Text3 = "" Frmintrod.Text4 = "" Frmintrod.Text5 = "" End Sub

176

Private Sub Command2_Click() n=0 d = InputBox("Introduceti denumirea materialului ") Do n=n+1 Get #2, n, mat If Trim(mat.material) = d Then Print mat.material; Tab(20); mat.e; Tab(25); mat.poisson; Tab(30); mat.k; Tab(35); mat.sigma Exit Sub End If Loop Until EOF(2) End Sub Private Sub Command3_Click() Close End End Sub Private Sub Form_Load() Dim lung lung = Len(mat) Open "d:\cartevb\agenda.dat" For Random As #2 nr = 1 End Sub

Visual Basic Aplicaii n inginerie

177

Figura 7.5. Proiectarea interfeei Se va aduga un nou formular, frmintrod, pe care vor fi afiate cele cinci etichete i cele cinci casete de text. Citirea de la tastatur a datelor se va face prin cititea proprietii Text a casetelor de text aferente.

Visual Basic Aplicaii n inginerie

178

Figura 7.6.Proiectarea interfeei Se va aduga cod

Private Sub Command1_Click() mat.material = Text1.Text mat.e = Text2.Text mat.poisson = Text3.Text mat.k = Text4.Text mat.sigma = Text5.Text Put #2, nr, mat nr = nr + 1 Frmintrod.Hide Beep End Sub

Visual Basic Aplicaii n inginerie

179

Se va rula aplicaia; se va aciona asupra butonului de introducere a datelor, ceea ce va determina deschiderea formularului de introducere a datelor.

Figura 7.7.Introducerea datelor Se va aciona asupra butonului de afiare a datelor

Visual Basic Aplicaii n inginerie

180

Figura 7.8.Afiarea datelor

Visual Basic Aplicaii n inginerie

181

Bibliografie

[ANI 03] [BOD97] [FRI 01] [JON 98] [LUP 00]

[LUP 01]

Anica-Popa, L., Anica-Popa, I, Programarea calculatoarelor- Visual Basic, Ed. Infomega, Bucureti, 2003 Bodea, M., Fizica pentru ingineri, vol. I, II, Editura Universitii Transilvania Braov, 1997 Frinaru, L., Brava, I., Visual Basic: Primii pai i urmtorii, Editura Polirom, Iai, 2001 John Clark Craig, Jeff, Visual Basic 5.0, Manualul programatorului, Editura Teora, Bucureti, 1998 Lupulescu, N.B., Oancea ,Gh., Nedelcu, A., Proiectarea informatizat a sculelor pentru frezarea metalelor, Editura Lux Libris, Braov, 2000 Lupulescu, N.B., Oancea ,Gh.,Informatic aplicat n inginerie, Aplicaii n limbaj Turbo Pascal, Editura Universitii Transilvania, Braov, 2001

[MAN01] Mansfield, R., Programarea bazelor de date n Visual Basic 6 pentru.. amici!, Editura Tehnic, Bucureti, 2001 [NAS 00] Nastase, P., Coscescu, L., Covrig, L., Tehnologia bazelor de date-Access 2000, Editura Economic, Bucureti, 2000 [POP 99] Popa, Gh.,Iliescu, M.,Programarea calculatoarelor, Limbajul Visual Basic,

Visual Basic Aplicaii n inginerie

182

[LUP 95]

[POP 99] W1 W2

Editura Cison,Bucureti, 1999 Lupulescu, N.B., Oancea, Gh. Proiectarea informatizat a sistemelor de producie, Editura Universitii Transilvania, Braov, 1995 Popa, Gh. Ivancenco, V., Andronache, V., Visual Basic, Editura Cison, Bucureti, 1999 http://msdn.microsoft.com/library/ http://www.vb-world.net