Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Proceduri Sub

visual basic


Proceduri Sub

Organizarea generala a unei proceduri de tip Sub este

[Private | Public] [Static] Sub name ([arglist])

[instructiuni]

[Exit Sub]

[instructiuni]

End Sub

Public, Private, Static — determina vizibilitatea procedurii. Public = vizibila pentru toate procedurile si toate module 333b18d le (în functie de Option Private se defineste vizibilitatea pentru alte proiecte). Private = vizibila doar pentru procedurile din modulul unde procedura este declarata. Static = arata ca toate variabilele locale îsi pastreaza valorile între apeluri.



name — numele procedurii.

arglist — lista de argumente, separate prin virgule.

Prin instructiunea Exit Sub se poate iesi din procedura si altminteri decât prin linia finala.

Argumentele se definesc dupa sintaxa:

[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]

Optional — arata ca parametrul nu este obligatoriu. Parametrii optionali trebuie sa fie grupati la sfârsitul listei (aparitia clauzei Optional cere ca toti parametrii care urmeaza sa aiba aceeasi clauza).

ByVal — arata ca apelul paramatrului se face prin valoare (orice modificare a valorii transmise nu este regasita dupa parasirea procedurii, calculele efectuându-se pe o copie a parametrului).

ByRef — arata ca apelul paramatrului se face prin referinta (orice modificare a valorii transmise este regasita dupa parasirea procedurii). Acesta este modul implicit de transmitere a parametrilor.

ParamArray — folosit doar ca ultim argument în lista, denota un tablou Optional de elemente de tip Variant. Clauza ParamArray permite definirea unui numar arbitrar de parametri. ParamArray nu poate fi utilizat împreuna cu ByVal, ByRef, sau Optional.

varname — numele argumentului. Daca este tablou se vor indica parantezele.

type — tipul parametrului transmis: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal, Date, String (doar lungime variabila), Object, Variant. Pentru parametrii obligatorii (fara Optional) poate fi si un tip definit sau de obiect.

defaultvalue — defineste valoarea implicita pentru argumentele optionale. Poate fi orice expresie, dar pentru tipul Object se admite doar Nothing.

Apelul unei proceduri Sub

Pentru a executa o procedura de tip Sub din alta procedura (vezi si discutia privind vizibilitatea) se mentioneaza, pe o linie separata, numele procedurii urmat sau nu de parametri. Daca este necesar, datorita apelarii unui alt proiect sau modul, atunci apelul este dupa modelul:

Nume_proiect.Nume_modul.Nume_procedura lista de argumente

unde lista de argumente poate sau nu sa fie inclusa între paranteze. Argumentele efective sunt separate în lista prin virgule si trebuie sa respecte ordinea (si tipul) argumentelor din definitia procedurii. În cazul procedurilor cu multe argumente, dintre care multe optionale, transferul poate provoca erori de scriere a codului (un argument optional necesita totusi virgula sa, de unde o numarare atenta a virgulelor etc.). Pentru asemenea situatii (în special) se permite si transferul valorilor prin intermediul tehnicii de argumente denumite. Aceasta se realizeaza alcatuind lista de argumente, la apelul procedurii, din intrari de forma

nume_argument:=valoare_argument

separate prin virgule si la care nu mai conteaza ordinea initiala a argumentelor. Se vor specifica doar parametrii care se transmit efectiv (adica valorile optionale dorite si toate valorile neoptionale).

Pentru apelul unei proceduri se va studia si instructiunea Call.


Document Info


Accesari: 398
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )