Butoanele pot fi: OK, Cancel, Abort, Retry, Ignore, Yes sau No.
Valorile returnate de funcţie şi care pot fi testate, în expresii logice, pentru a alege ramura de prelucrare dorită de utilizator sunt:
Constanta
|
Valoare
|
Descriere
|
OK
|
1
|
OK
|
Cancel
|
2
|
Cancel
|
Abort
|
3
|
Abort
|
Retry
|
4
|
Retry
|
Ignore
|
5
|
Ignore
|
Yes
|
6
|
Yes
|
No
|
7
|
No
|
Acţionarea tastei Esc este echivalentă cu acţionarea butonului Cancel (dacă acesta este prezent). Dacă în dialog este prezent butonul Help, acţionarea lui nu termină dialogul.
4.5.2. Comanda DrawString
Puteţi afişa text în interiorul formelor și al controlerelor cu ajutorul metodei DrawString. Metoda se accesează în cadrul unui obiect Graphics atașat formelor sau controllerelor.
Sintaxa este următoarea:
[obiect.]CreateGraphics.DrawString(”sir_caractere”,obiect Font, obiect Brush, x, y[,StringFormat])
-
obiectul Font definește un format particular pentru text, cum ar fi dimensiunea, familia de fonturi, atribute de stil, etc. Cea mai simplă sintaxa pentru constructorul unui obiect Font este:
Font(numele_fontului As String, dimensiunea As Single)
-
Brush definește obiectele ce realizează umplerea formelor de tip grafic sau text. De menționat, această clasa nu poate fi instanțiată, în schimb se pot crea instațe pe baza claselor derivate SolidBrush, TextureBrush și LinearGradientBrush. Un exemplu de instațiere este următorul:
Dim brush1 As New SolidBrush(Color.Blue)
-
x și y sunt reprezintă coordonatele punctului extrem stanga-sus al șirului de caractere afișat. În sintaxa, x și y se pot înlocui cu un obiect de tip Point sau RectangleF. Acestea din urmă, trebuiesc declarate în prealabil utilizării.
Un obiect de tip Point are două proprietăți esențiale, X și Y.
Exemplu de utilizare:
Dim punct As Point‘ se declară o variabila de tip Point
punct.X=100 ‘ se inițializează proprietarea X cu 100
punct.Y=150 ‘ se inițializează proprietarea Y cu 150
În momentul în care este folosit în cadrul unor forme, controllere, obiecte de tip Graphics, rolul instanței de tip Point va fi plasarea ”cursorului” la coordonatele (100,150)
Obiectul RectangleF reține patru valori: X -coordonata x a punctului de plecare,Y-coordonata Y a punctului de plecare,Width -lățimea, Height -înălțimea;
-
StringFormat încapsulează informații legate de formatarea șirului de caractere (aliniamentul, orientarea, numărul de caractere dintr-un Tab, etc).
4.6. FUNCŢII ÎNCORPORATE ÎN VISUAL BASIC
Acestea pot fi grupate în mai multe categorii, astfel:
a). Funcţii matematice şi statistice:
Aceste functii trebuiesc precedate de clasa System.Math, de exemplu:
System.Math.Abs(-5) ’ returneaza valoarea 5
O altă soluție este importul clasei in prima linie din secțiunea (Declarations), cu comanda:
imports System.Math
caz in care, functiile se pot folosi ca atare in aplicatie
ABS( ) – determină o valoare absolută a expresiei numerice
EXP( ) – determină valoarea lui e, baza logaritmului natural
INT( ) – determină partea întreagă a numărului dat sau rezultat din evaluarea expresiei
LOG( ) – Determină logaritmul natural din valoarea argumentului.
RND( ) – Returneza o valoare dintr-o serie de numere aleatoare de tip Single. Pentru aceeasi valoare seed va returna aceeasi serie de numere aleatoare.
SQRT( ) – determină rădăcina pătrată a numărului dat sau rezultat.
ATAN( ) – determină valoarea în radiani a arctg (N )
SIN( ) – Determină valoarea în radiani a sin (N)
COS( ) şi TAN( ) – determină după caz valoarea în radiani a cosinusului şi a tangentei.
b). Funcţii pentru şiruri de caractere:
Majoritatea funcțiilor de prelucrare a șirurilor de caractere trebuiesc precedate de clasa Microsoft.VisualBasic, de exemplu:
Microsoft.VisualBasic.Len(”text de test”) ’ returneaza valoarea 12
O soluție alternativă este importul clasei in prima linie din secțiunea (Declarations), cu comanda:
imports Microsoft.VisualBasic
caz in care, functiile se pot folosi ca atare in aplicatie
LCASE(şir) – transformă literele mici dintr-un şir în majuscule.
UCASE(şir) – realizează inversul instrucţiunii de mai sus.
LTRIM(şir) - elimină spaţiile de la începutul şirului.
RTRIM(şir) - elimină spaţiile de la sfârşitul şirului.
TRIM(şir) – elimină spaţiile de la începutul şi de la sfârşitul şirului.
CHR(şir) – returnează caracterul corespunzător codului din paranteză.
ASC(şir) – returnează codul caracterului prezent în paranteză.
LEN(şir) – returnează numărul de caractere al şirului specificat (lungimea şirului).
VAL(şir) – returnează valoarea numerică a şirului de caractere precizat sau rezultat din evaluarea expresiei date.
StrREVERSE(şir) inversează ordinea caracterelor într-un şir;
LEFT(şir,Nrc) extrage din şirul de caractere specificat primele Nrc caractere din partea stângă a şirului; se poate folosi si sub forma Microsoft.VisualBasic.Left(sir,Nrc)
RIGHT(şir,Nrc) extrage din şirul de caractere specificat primele Nrc caractere din partea dreaptă a şirului;
MID(şir,Start [,Nrc]) extrage din şirul de caractere specificat primele Nrc caractere din partea stângă a şirului începând cu poziţia precizată prin Start;
INSTR ([intStart, ] Şir, strCaută[, intCompară]) verifică dacă un caracter sau un şir (strCaută) se găseşte în interiorul altui şir (Şir). În caz afirmativ funcţia returnează poziţia primului caracter căutat în şirul Şir. Funcţia este deci un instrument de căutare a unui subşir şi întoarce prima poziţie din şir corespunzătoare primului caracter din şirul dorit.
Exemplu:
Presupunem că variabila Nume conţine numele complet al unei persoane (nume şi prenume). Dorim să extragem numele de familie. Vom proceda astfel:
strSpaţiu=˝ ˝
lngNrCaracter=InStr(Nume,strSpaţiu)
NumeFam=Microsoft.VisualBasic.Left(Nume,lngNrCaracter)
c). Funcţii de editare:
Format este una dintre cele mai puternice funcţii din Visual Basic care permite stabilirea modului de reprezentare a şirurilor de caractere. Funcţia este folosită adeseori pentru a afişa timpul şi data.
Sintaxa funcţiei este următoarea:
Format(Expresie[, Format_String[, PrimaZiaSapt[, PrimaSaptaAn ]]])
unde:
.
* Expresie este orice expresie care returnează un şir de caractere, o dată sau un număr
* Format_String est un şablon de şir care spune funcţiei cum dorim să apară şirul rezultat
* PrimaZiaSapt este o constantă opţională care stabileşte prima zi din săptămână. În mod implicit prima este Sunday (Duminică), dar putem stabili ca ea să fie Monday (Luni) cu ajutorul acestui parametru.
* În mod asemănător putem stabili prima săptămână a anului cu ajutorul parametrului PrimaSaptaAn.
Valoarea returnată de funcţie este un Şir caractere.
Pentru a înţelege funcţia Format() trebuie să înţelegem parametrul Format_String. Acesta spune valorii expresiei cum să apară ca şir. Valorile pe care parametrul Format_String le poate lua sunt prezentate în tabelul de mai jos:
Format_String
|
Exemplu
|
Rezultat
|
„Long Date”
|
Format(36000, „Long Date”)
|
Friday, July 24, 1998
|
„Medium Date”
|
Format(36000, „Medium Date”)
|
24-Joule-98
|
„Short Date”
|
Format(36000, „Short Date”)
|
7/24/98
|
„Long Time”
|
Format(0.874, „Long Time”)
|
8:58:34 p.m.
|
„Medium Time”
|
Format(0.874, „Medium Time”)
|
08:58 p.m.
|
„Short Time”
|
Format(0.874, „Short Time”)
|
20:58
|
De asemenea putem folosi funcţia format pentru a stabili modul de afişare al valorilor numerice.
Pe lângă şabloanele standard oferite de valorile predefinite ale parametrului Format_String ne putem crea propriile şabloane în funcţie de necesităţi.
d). Funcţii financiare:
-
DDB calculează şi returnează amortismentul unui bun pe parcursul unei perioade specificate, urmând metoda amortismentului degresiv cu rată dublă sau după un coeficient care trebuie specificat;
-
FV calculează şi returnează valoarea viitoare a unei investiţii;
-
IPMT calculează şi returnează suma dobânzilor unei investiţii pentru o perioadă dată;
-
IRR calculează şi returnează rata de rentabilitate internă pentru fluxurile financiare pozitive şi negative finanţate la rate diferite;
-
MIRR calculează şi returnează rata de rentabilitate internă a unei investiţii fără a ţine seama de costurile de finanţare şi de plusvalorile de reinvestire;
-
NPER calculează şi returnează numărul de plăţi pentru o investiţie dată;
-
NPV calculează şi returnează valoarea actuală netă a unei investiţii pe baza fluxurilor financiare variabile;
-
PMT calculează suma totală a fiecărei rambursări periodice a unei investiţii şi ratele dobânzii constante;
-
PPMT calculează partea vărsământului principal al unui împrumut pentru o perioadă dată;
-
PV calculează valoarea actuală a unei investiţii;
-
RATE calculează rata dobânzii pe perioada unei investiţii date;
-
SLN calculează amortismentul unui bun pentru o perioadă dată pe baza metodei americane SUM-of-Years Digits.
e). Funcţii pentru conversia întregilor
Int() - Parte întreagă din argument
CInt() - Rotunjeşte valori fracţionare de .5 sau mai mult către următorul întreg.
f). Funcţii pentru conversia tipului de dată
CDbl(arg) - Converteşte argumentul la un echivalent în dublă precizie
CLng(arg) - Converteşte argumentul la un echivalent de tip Long Integer
CSng(arg) - Converteşte argumentul la un echivalent numeric în simplă precizie
CStr(arg) - Converteşte argumentul la un echivalent de tip String
CObj(arg) - Converteşte argumentul la un echivalent de tip Variant
CDec(arg) – Converteste argumentul la un echivalent de tip Decimal
g). Funcţii de verificare a tipului de dată
IsNumeric() - Determină dacă argumentul are o valoare care poate fi convertită într-un număr valid.
IsDate() - Determină dacă argumentul poate fi convertit într-o dată validă.
isNullOrEmpty() – Determină dacă argumentul are o valoare nulă sau dacă a fost inițializat cu orice valoare de la definirea sa originală. Este utilizabil doar pentru variabilele de tip String.
isNothing() – Determină dacă argumentul are valoarea implicită a tipului de date (în cazul tipurilor de date valoare) sau dacă argumentul nu are o instanță atribuită (în cazul tipurilor de date obiect și pointer).
VarType() – Determină tipul argumentului. În tabelul următor se prezintă valorile returnate de funcţia VarType
Tabel Valorile returnate de funcţia VarType()
Constanta
|
Valoare
|
Semnificaţie
|
vbEmpty
|
0
|
Neinițializată (default)
|
vbNull
|
1
|
Nu conține date valide
|
vbInteger
|
3
|
Tip Integer
|
vbSingle
|
4
|
Tip Single
|
vbDouble
|
5
|
Tip Double
|
vbDate
|
7
|
Tip Date
|
vbString
|
8
|
Tip String
|
vbObject
|
9
|
Object
|
vbError
|
10
|
Tip Error
|
vbBoolean
|
11
|
Tip Boolean
|
vbVariant
|
12
|
Variant
|
vbDataObject
|
13
|
Data access object
|
vbDecimal
|
14
|
Tip Decimal
|
vbByte
|
17
|
Tip Byte
|
vbLong
|
20
|
Tip Long
|
vbArray
|
8192-8207
|
Array. Variază în funcție de tipul de date al tabloului (ex. Tablou de tip Integer returnează valoarea 8192 + 2 = 8194)
|
h). Funcţii pentru lucrul cu date calendaristice
DateDiff() - calculează intervalului de timp dintre două momente. Acest lucru se realizează cu ajutorul funcţiei care are următoarea sintaxă:
DateDiff(Interval, DatăStart, DatăSfârşit [,PrimaZiaSapt [,PrimaSaptaAn]])
Interval este o variabilă de tip şir care defineşte intervalul de timp în care va fi măsurată diferenţa.
Valorile pe care le poate lua variabila inteval.
Valoare
|
Interval
|
Utilizare
|
Rezultat
|
„yyyy”
|
An
|
DateDiff(„yyyy”, „7/4/76”, „7/4/86”)
|
10
|
„q”
|
Trimestru
|
DateDiff(„q”, „7/4/76”, „7/4/86”)
|
40
|
„m”
|
Lună
|
DateDiff(„m”, „7/4/76”, „7/4/86”)
|
120
|
„y”
|
Zi din an
|
DateDiff(„y”, „7/4/76”, „7/4/86”)
|
3652
|
„d”
|
Zi
|
DateDiff(„d”, „7/4/76”, „7/4/86”)
|
3652
|
„w”
|
Zi din săpt.
|
DateDiff(„w”, „7/4/76”, „7/4/86”)
|
521
|
„ww”
|
Săptămână
|
DateDiff(„ww”, „7/4/76”, „7/4/86”)
|
521
|
„h”
|
Oră
|
DateDiff(„h”, „7/4/76”, „7/4/86”)
|
87648
|
„n”
|
Minut
|
DateDiff(„n”, „7/4/76”, „7/4/86”)
|
5258880
|
„s”
|
Secundă
|
DateDiff(„s”, „7/4/76”, „7/4/86”)
|
315532800
|
IsDate (expresie) - verifică dacă o expresie şir de caractere sau de tip dată reprezintă o dată calendaristică validă.
TimeOfDay() – serveşte pentru a obţine ora din sistem,
Today() – serveşte pentru a obţine data sistemului
Now() – serveşte pentru a le obţine pe amândouă (data şi ora).
CStr (TimeOfDay()) – transformă ora în şir de caractere;
CStr (Today()) – transformă data calendaristică în şir de caractere;
CStr (Now()) – transformă data şi ora în şir de caractere:
Am prezentat anterior funcţia Format care este folosită în primul rând pentru a afişa timpul şi data.
i). Funcţii pentru lucrul cu fişiere
Seek(NumărFişier) returnează ca valoare poziţia curentă de citire/scriere în cadrul unui fişier deschis cu instrucţiunea Open.
LOF(NumărFişier) returnează mărimea fişierului exprimată în octeţi.
EOF(NumărFişier) returneză valoarea logică True dacă s-a ajuns la sfârşitul unui fişier deschis în mod aleatoriu sau secvenţial şi False în caz contrar.
4.7. FUNCŢII ŞI PROCEDURI UTILIZATOR ÎN VISUAL BASIC
O funcţie este un modul program care efectuează o anumită sarcină şi returnează o valoare identificată prin numele funcţiei.
Exemplu:Valreturn = nume_funcţie([listă parametri)]
Pentru ca un program Visual Basic să fie mai uşor de scris, de modificat sau de înţeles, trebuie împărţit în entităţi logice numite proceduri. O procedură este o secvenţă de instrucţiuni executate ca un tot unitar sau partajabile.
O procedură poate fi folosită de mai multe ori în acelaşi program, accesarea sa fiind făcută prin menţionarea numelui ei în codul programului la momentul potrivit. Există trei tipuri proceduri:
- Sub – execută o anumită secvenţă de comenzi.
- Function
- Tip de proprietate
Sintaxa generală a unie proceduri este :
Private/Public/Static/Sub
………………………
End Sub.
O procedură eveniment devine activă atunci când e apelată de utilizator sau de program în mod automat.
O procedură funcţie este o procedură care realizează o anumită funcţie şi returnează o anumită valoare identificată prin numele funcţiei. Utilizatorul poate crea singur procedurile folosind proprietatea FUNCTION.
Procedurile tip proprietate – pot returna şi atribui valori şi pot stabili referinţe la obiecte.
Conceperea şi apoi scrierea unui program trebuie realizată modular, prin împărţirea acestuia în module (subprograme) relativ independente. De altfel realizarea unui program de mare complexitate impune organizarea unor date şi a acţiunilor la care acestea trebuie spuse în subprograme. În Visual Basic există un mecanism evoluat de declarare şi utilizare a subprogramelor.
În Visual Basic subprogramele sunt de tipuri:
Procedurile sunt blocuri de cod constituite din instrucţiuni, date locale şi alte subprograme. Acestea pot fi utilizate în cadrul altor programe sau a altor subprograme pentru a îndeplini o anumită sarcină.
În Visual Basic procedurile sunt două tipuri:
-
proceduri generale
-
proceduri eveniment.
Procedurile generale sunt blocuri de cod (instrucţiuni) prin care se transmite aplicaţiei cum trebuie să îndeplinească o anumită sarcină. O dată creată, o procedură generală trebuie apelată în mod explicit în cadrul aplicaţiei pentru a se executa codul (setul de instrucţiuni) pe care aceasta îl conţine.
Procedurile eveniment sunt blocuri de cod (instrucţiuni) asociate diferitelor evenimente recunoscute de un obiect (control sau formă) şi care se execută în momentul în care se produce evenimentul respectiv.
De exemplu, cmdButton_Click() este procedura aferentă evenimentului Click de mouse al butonului cmdButton. Aceasta îşi va începe execuţia în momentul în care utilizatorul va apăsa butonul cmdButton.
Numele unei astfel de proceduri este format din numele obiectului aferent, caracterul _ şi numele evenimentului ce-i declanşează execuţia.
Sintaxa definirii unei proceduri:
[Private|Public][Static] Sub NumeProcedură (listă_parametri_formali)
Instrucţiuni
End Sub
Observaţie:
O procedură eveniment poate fi definită doar Private.
Procedurile comunică date cu programul apelant cu ajutorul parametrilor.
O funcţie este asemănătoare cu o procedură, cu deosebirea că funcţia furnizează un rezultat atribuit numelui de funcţie, acest lucru permiţând ca apelul ei să se facă chiar din expresia care conţine valoarea calculată. Spre deosebire de proceduri, funcţiile au un anumit tip.
Sintaxa definirii unei funcţii:
[Private|Public][Static]Function NumeFuncţie (listă_parametri_formali) [As tip]
Instrucţiuni
End Function
Exemplu:
Să se scrie o funcţie care să calculeze aria unui cerc cu raza dată iRaza.
Private Function ArieCerc(iRaza As Integer)
ArieCerc=3.14*iRaza^2
End Function
Pe lângă funcţiile pe care le vom crea noi în cadrul aplicaţiilor, se pot utiliza o serie de funcţii standard oferite de bibliotecile Visual Basic, cum sunt: funcţiile matematice, funcţiile de prelucrare a şirurilor de caractere, funcţiile financiare, etc.
Utilizarea funcţiilor şi procedurilor în program
După ce am scris o funcţie sau o procedură, cu siguranţă că vom dori să o apelăm dintr-un program sau un subprogram. Apelarea procedurilor diferă de apelarea funcţiilor. În timp ce funcţiile returneză un rezultat şi pot fi apelate din cadrul unei expresii, apelurile de procedură sunt instrucţiuni liniare de sine stătătoare.
Apelarea unei proceduri se poate face în două moduri, cu sintaxa:
NumeProcedură listă_parametri_actuali
sau
Call NumeProcedură(listă_parametri_actuali)
Exemplu:
Dostları ilə paylaş: |