4 elemente ale limbajului de programare visual basic


Butoanele pot fi: OK, Cancel, Abort, Retry, Ignore, Yes sau No



Yüklə 0,58 Mb.
səhifə3/9
tarix03.11.2017
ölçüsü0,58 Mb.
#29147
1   2   3   4   5   6   7   8   9

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 Pointse 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:


  • proceduri

  • funcţii.

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:

Yüklə 0,58 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin