Documente Academic
Documente Profesional
Documente Cultură
CURS 2:
2
3/84 10/13/21
BUTON DE COMANDĂ
(COMMAND BUTTON)
Un buton de comandă este un control (obiect)
care are o anumită formă, afişează o etichetă sau
o imagine şi permite utilizatorului să comande
execuţia unor acţiuni prin activarea lui.
Cel mai frecvent eveniment întâlnit la acest
control şi pentru care vom scrie cel mai mult cod
este evenimentul Click. De câte ori utilizatorul va
face clic mouse pe acest buton evenimentul se va
produce şi va determina executarea codului scris.
Metode: DoDragDrop; SetBounds; BringToFront;
Focus; Show; Hide; Refresh.
4
5/84 10/13/21
13 Visible Adevarat sau fals, arată dacă utilizatorul poate vedea sau nu
(şi deci poate folosi sau nu) respectivul buton de comandă.
8
9/84 10/13/21
•
Control Etichetă (LABEL)
Controlul Etichetă este un control grafic folosit
pentru afişarea de text pe care utilizatorul nu îl
poate modifica. Textul ce va fi afişat se
stabileşte prin intermediul proprietăţii Text sau
prin cod sursa..
• Proprietăţi: Alignement; AutoSize;
BackColor; BackStyle; BorderStyle;
AllowDrop; DragMode; Enabled; Fontul
Bold; Fontul Italic; Font Name; FontSize;
Font Strikethrough; Font Underline;
ForeColor; Height;Index; Left; Cursor;
Name; TabIndex; Tag; Top; Visible; Width;
WordWrap. 9
10/84 10/13/21
14
15/84 10/13/21
Curs 2 Exemplu 1
15
16/84 10/13/21
Curs 2 Exemplu 1
16
17/84 10/13/21
19
20/84 10/13/21
20
21/84 10/13/21
22
23/84 10/13/21
Curs 2 Exemplu 2
23
24/84 10/13/21
Curs 2 Exemplu 2
24
25/84 10/13/21
Curs 2 Exemplu 2
25
26/84 10/13/21
Setul de caractere
• Pentru a scrie instrucţiunile pe care calculatorul să le
interpreteze şi să le execute în cadrul programului folosim
cuvintele. Acestea sunt entităţi formate din caractere.
27
28/84 10/13/21
Identificatori
• Un identificator este numele dat de programator unui
element dintr-un program, care poate fi o variabilă, o
constantă, un tip definit de utilizator, o enumerare, o
procedură, o funcţie, un obiect, o metodă, o proprietate, un
control, o formă, un modul sau chiar proiectul însuşi. Un
proiect Visual Basic poate să conţină maxim 32000
identificatori.
Observaţie:
• Visual Basic nu face diferenţa între literele mari şi mici
folosite în cuvintele cheie sau în formarea identificatorilor.
28
29/84 10/13/21
31
32/84 10/13/21
Exemplu:
Dim a as Integer : a=10
TIPURI DE DATE
• Tipul unei date defineşte mulţimea de valori
pe care le poate lua o variabilă şi mulţimea de
operaţii care pot fi efectuate cu elementele
mulţimii respective. În funcţie de tipul de dată
declarat pentru o anumită variabilă
compilatorul alocă o zonă mai mare sau mai
mică de memorie pentru reprezentarea ei.
34
35/84 10/13/21
37
38/84 10/13/21
Constante
• O constantă reprezintă o valoare fixă care nu se
schimbă în timpul execuţiei programului sau de la o
execuţie la alta, identificată printr-un nume
(identificator). O constantă poate conţine numere,
şiruri de caractere, date calendaristice, etc. Ea
poate avea deci un anumit tip.
În Visual Basic există două tipuri de constante:
• Intrinseci sau definite de sistem; Visual Basic
pune la dispoziţie o serie întreagă de constante
pentru culori, taste, figuri etc.
• Simbolice sau definite de utilizator (se declară
prin instrucţiunea Const).
38
39/84 10/13/21
39
40/84 10/13/21
Observaţie:
• Dacă se specifică direct valoarea constantei, atunci trebuie
să reţinem următoarele:
• o constantă de tip numeric sau logic se precizează prin
valoarea ei scrisă ca atare;
• o constantă de tip şir de caractere trebuie scrisă între
delimitatorii “ “ (ghilimele);
• o constantă de tip dată calendaristică se precizează între
delimitatorii # #.
Exemple:
Const PI = 3.14159265358979
Const Nr_zile_lucratoare = 22
Const Zi_de_nastere = #02.04.1981#
Const Nume_aplicatie = ˝Salarii˝
40
41/84 10/13/21
42
43/84 10/13/21
Declararea variabilelor
Declararea variabilelor se poate face în Visual Basic în două
moduri :
•implicit
•explicit.
În modul implicit o variabilă este considerată declarată la
prima ei folosire. Nu este necesară o declarare prealabilă cu
ajutorul cuvintelor cheie Dim, Private, Public. În mod implicit
Visual Basic declară toate variabilele de tip Variant.
•Declararea explicită a variabilelor presupune ca înainte să
fie folosită, o variabilă să fie declarată cu ajutorul uneia dintre
comenzile Dim, Private, Public.
43
44/84 10/13/21
Observaţie:
• Se poate scrie la începutul modulului opţiunea
Option Explicit sau
• Se poate cere mediului de programare să facă
acest lucru automat selectând din meniul Tools –
Options - Editor opţiunea Require Variable
Declaration. În acest caz Visual Basic ne va
atenţiona dacă folosim o variabilă pe care nu am
declarat-o anterior. Este o opţiune deosebit de utilă
şi se recomandă pentru a evita greşeli.
44
45/84 10/13/21
45
46/84 10/13/21
Variabile caracteristici
Variabilele au două caracteristici deosebit de importante şi
anume:
•domeniul de valabilitate
•durata de existenţă.
Astfel variabilele utilizate în cadrul unei proceduri se numesc
variabile locale. Acestea se declară în interiorul procedurii cu
ajutorul comenzii Dim. Variabilele locale există atâta timp cât se
execută procedura în care au fost declarate şi pot fi utilizate
numai în cadrul acelei proceduri, neavând nici o semnificaţie în
altă parte a programului. Aceste variabile au deci un domeniu de
valabilitate restrâns doar la nivelul procedurii şi au o durată de
viaţă temporară.
48
49/84 10/13/21
Variabile caracteristici
• Un alt tip de variabile îl reprezintă cele cu
domeniu de vizibilitate la nivelul unui modul.
Aceste variabile pot fi folosite oriunde în
interiorul modulului în care au fost declarate.
Ele există atâta timp cât este folosit modulul
respectiv.
• Se recomandă ca declararea lor să se facă cu
ajutorul comenzii Private în loc de Dim.
49
50/84 10/13/21
Variabile caracteristici
• Un alt tip de variabile îl reprezintă variabilele publice sau
globale, vizibile la nivelul întregului program. Acestea pot fi
folosite oriunde în program, au un domeniu de valabilitate
global şi există atâta timp cât se execută programul.
Variabilele globale se declară utilizând comanda Public în
zona General Declaration.
• Pe lângă acestea, un alt tip de variabile sunt cele statice.
Acestea pot avea un domeniu de valabilitate locală sau la
nivelul unei proceduri, dar o durată de existenţă
permanentă. Declararea lor se face cu ajutorul comenzii
Static.
50
51/84 10/13/21
Variabile caracteristici
• De exemplu se poate defini o variabilă statică la nivelul unei
proceduri. Ea va fi vizibilă doar la nivelul acelei proceduri, dar
îşi va păstra valoarea şi după ce procedura îşi va termina
execuţia. Dacă procedura va fi din nou apelată, variabila
statică nu va fi iniţializată automat de Visual Basic, aşa cum se
întâmplă cu variabilele care nu sunt statice, ci va avea
valoarea pe care a avut-o la ultima ei folosire.
• Diferenţa dintre variabilele declarate cu Dim şi cele declarate
cu STATIC constă deci în durata de viaţă a variabilelor. Astfel,
cele declarate cu static nu se modifică şi nu îşi pierd valoarea
stabilită pe parcursul execuţiei programului la o nouă reluare
a acestuia.
51
52/84 10/13/21
.
62/84 10/13/21
Funcţii pentru lucrul cu date calendaristice
• IsDate (expresie) - verifică dacă o expresie şir de
caractere sau de tip dată reprezintă o dată calendaristică
validă.
• Time() – serveşte pentru a obţine ora din sistem,
• Date – serveşte pentru a obţine data sistemului
• Now – serveşte pentru a le obţine pe amândouă (data şi
ora).
• CStr (Time) – transformă ora în şir de caractere;
• CStr (Date) – transformă data calendaristică în şir de
caractere;
• CStr (Now) – transformă data şi ora în şir de caractere:
63/84 10/13/21
Structuri alternative
Structura alternativă poate fi întâlnită sub diverse forme:
• structură alternativă cu două ramuri (simplă);
• structură alternativă cu ramură vidă (pseudoalternativă);
• structură alternativă cu mai multe ramuri
(compusă/imbricată);
• structură alternativă generalizată.
În Visual Basic structurile alternative sau de decizie sunt
implementate prin comenzi asemănătoare altor limbaje
de programare de nivel înalt, cum sunt: Pascal, C, Cobol, şi
anume:
• If ....Then
• If ....Then ....Else
• Select Case
67/84 10/13/21
If ....Then ....Else
• Sintaxa generală a comenzii este:
If condiţie1 Then
instrucţiuni1
Else
instrucţiuni2
.......................
EndIf
Exemplu: If a>0 Then
B=a+6
Else: B=a-6
C=a+1
End If
68/84 10/13/21
Structuri repetitive
Visual Basic suportă astfel două tipuri de structuri
repetitive:
• structuri repetitive cu contor descrise de
instrucţiunile For …Next şi For…Each…Next care
execută acelaşi lucru de un număr stabilit de ori ;
• structuri repetitive cu condiţie descrise de diferitele
variante ale instrucţiunii Do…Loop ce îndeplinesc
aceeaşi sarcină atâta timp cât o condiţie există sau
până când nu mai există o condiţie. În cazul unui
număr nedefinit de repetiţii, condiţia de oprire poate
fi testată la începutul sau la sfârşitul ciclului, prin
alegerea structurii adecvate.
69/84 10/13/21
While...Wend
Comanda While...Wend are sintaxa:
While condiţie
Instrucţiuni
Wend
Această comandă execută repetat una sau
mai multe instrucţiuni atâta timp cât o
condiţia specificată este adevărată.
71/84 10/13/21
Do...Loop
• Comanda execută o secvenţă de instrucţiuni de un număr
necunoscut de ori, atâta timp cât condiţia este adevărată.
• Sintaxa comenzii este:
Do While condiţie
instrucţiuni
Loop
• Do...Loop testează întâi condiţia: dacă aceasta are valoarea
true (este adevărată) se execută secvenţa de instrucţiuni
specificată până la Loop, altfel nu se execută nimic şi se trece
la prima instrucţiune de după Loop.
• Avem de a face deci cu o structură repetitivă condiţionată
anterior.
72/84 10/13/21
Do...Loop
Comanda Do...Loop mai are şi o altă variantă, care execută
secvenţa de instrucţiuni cât timp condiţia este falsă (până
când aceasta devine adevărată):
Do Until condiţie
instrucţiuni
Loop
• O altă variantă a acestei comenzi este cea în care mai întâi se
execută secvenţa de instrucţiuni şi apoi testează condiţia, deci
este o structură repetitivă condiţionată posterior.
• Sintaxa instrucţiunii în acest caz va fi:
Do
instrucţiuni
Loop While condiţie
• Instrucţiunile se repetă atâta timp cât condiţia este adevărată.
73/84 10/13/21
For...Next
Este o structura repetitiva cu numărător.
Sintaxa generală a acestei comenzi este:
For contor=început To sfârşit [Step pas]
instrucţiuni
Next [contor]
unde:
• contor - este variabila contor (care numără repetările), de
tip numeric.Nu poate fi de tip Boolean sau element de
tablou.
• început - este valoarea iniţială a contorului.
• sfârşit - este valoarea finală a contorului.
• pas - este cantitatea care se adună la contor la fiecare
reluare. În cazul în care nu se specifica este implicit 1.
• instrucţiuni - sunt instrucţiunile care se repetă.
74/84 10/13/21
COMENZI PENTRU LUCRUL CU FIŞIERE
• Fişierele conţin colecţii de date omogene ca natură şi criterii
de prelucrare, memorate pe discul magnetic. Fişierele
stochează pentru folosire ulterioară date numerice, texte,
imagini, etc. Fişierele reprezintă principala formă de
organizare a datelor pe disc.
Accesul la datele unui fişier poate fi:
• Binary - caz în care programatorul trebuie să localizeze în
fişier numărul de caractere ce urmează a fi citite sau scrise –
un mod de acces mai puţin utilizat.
• Secvenţial - situaţie în care pentru a ajunge la o anumită
înregistrare din fişier, trebuie parcurse una după alta toate
înregistrările fişierului (până când se ajunge la cea dorită);
• Aleator – când e permis un acces direct la înregistrarea
căutată, fără a fi necesară citirea înregistrărilor precedente
75/84 10/13/21
Deschiderea fişierului
Este o operaţie care trebuie executată înainte de orice prelucrare
a acestuia.
OPEN ( nume fişier ) FOR ( mod de deschidere ) [Access acces]
[blocare] AS # numărFişier [Len=LungÎnreg]
unde:
• nume fişier – este o expresie de tip şir de caractere (String)
care specifică numele fişierului. Acesta poate include întreaga
cale: unitate de disc, director etc;
• mod de deschidere – specifică modul de deschidere a
fişierului prin unul din următoarele cuvinte cheie: Append
(adăugare), Binary (binar), Input (citire), Output (scriere) sau
Random (aleator); Dacă lipseşte, instrucţiunea Open deschide
fişierul în modul de acces Random.
• acces – specifică operaţiile permise asupra fişierului prin unul
dintre următoarele cuvinte cheie: Read (citire), Write (scriere)
sau Read-Write (citire-scriere);
76/84 10/13/21
OPEN
• blocare – specifică operaţiile permise la deschiderea
fişierului de către un alt proces prin unul dintre
următoarele cuvinte cheie: Shared (partajat), Lock-
Read (citire interzisă), Lock-Write (scriere interzisă),
lock-Read-Write.
• numărFişier – un număr valid de fişier, cuprins între
1şi 511 inclusiv. Utilizând funcţia FreeFile se poate
obţine următorul număr disponibil.
• LungÎnreg- un număr mai mic sau egal cu 32767
(octeţi). Pentru fişierele deschise în acces aleator
această valoare este mărimea înregistrării. Pentru
fişierele text reprezintă numărul de caractere
transferate în buffer.
77/84 10/13/21
Moduri de deschidere
• Append – permite adăugarea de noi înregistrări în fişierul cu numele
specificat sau crearea acestuia, dacă el nu există. Practic cursorul se
plasează după ultimul caracter dacă este un fişier cu acces secvenţial
sau după ultima înregistrare dacă e vorba de un fişier proiectat pentru
acces aleator.
• Binary – permite scrierea sau citirea în valori numerice. De exemplu,
dacă se deschide în modul de acces Binary un fişier .bmp (imagine
grafică), atunci ca efect se generează o reprezentare numerică a
imaginii din fişierul respectiv.
• Input – permite doar citirea fişierului, care se va face secvenţial, de la
început spre sfârşit, câte un caracter sau câte o înregistrare.
• Output – permite practic crearea fişierului, prin scrierea secvenţială în
cadrul acestuia, pe rând, a câte unui caracter sau câte o înregistrare.
Dacă fişierul exista şi a fost deschis Output, el va fi practic recreat,
adică noul fişier se va suprascrie peste cel vechi. De aceea se
recomandă multă atenţie la utilizarea acestui mod de deschidere.
Pentru a scrie noi înregistrări într-un fişier existent vom deschide
fişierul în modul Append.
• Random – permite fie crearea, fie citirea unui fişier în acces aleator.
78/84 10/13/21
Observatie
Pentru accesul secvenţial se poate specifica:
• APPEND – pentru a adăuga înregistrări noi la sfârşit;
• INPUT – pentru a citi înregistrările din fişier;
• OUTPUT – pentru crearea unui nou fişier.
Pentru accesul binary se specifică accesul BINARY.
Pentru accesul random se specifică RANDOM.
Dacă fişierul este deja deschis şi existent, la închidere şi salvare
prin OUTPUT, acesta rescrie fişierele existente.
• Pentru a lucra cu mai multe fişiere simultan, se va utilize
funcţia FREE FILe, care returnează următorul număr de fişiere,
care poate fi utilizat în instrucţiunea OPEN.
79/84 10/13/21
END
83