Omet navegació

3.5 Funcions i Procediments

 

FUNCIONS

Les sentències per definir una funció són

[STATIC][PUBLIC|PRIVATE] FUNCTION nom_funció ([p1 [AS tipus], ...]) [AS tipus_funció]
                                 (sentències de la funció)
                                 [nom_funció = expressió]
END FUNCTION

 

Com s'observa potser duga paràmetres o potser no, i podem definir de quin tipus és la funció (el tipus que tornarà) o no.

Si es declara STATIC totes les variables locals seran estàtiques (és a dir, conservaran el valor entre cridades)

Si es declara PUBLIC (que és l'opció per defecte) la funció estarà disponible des de qualsevol lloc, qualsevol mòdul de la Base de Dades

Si es declara PRIVATE la funció només estarà disponible des del mòdul on està declarada.

PROCEDIMENTS

Un procediment és molt paregut, excepte que no torna un valor

[STATIC][PUBLIC | PRIVATE] SUB nom_subrutina ([arg1 [AS tipus], ...])
                                   (sentències del procediment)
END SUB

 

Encara que les funcions i els procediments es poden executar directament (com ho estem fent fins ara), o cridant-los directament en resposta a un event (com en l'exercici 3.2), moltes vegades es cridaran des d'altres mòduls.

Per a cridar una funció o procediment és suficient posar el seu nom o Call i el seu nom. Recordeu que si és una funció que torna un valor, aquest es podrà assignar, posar en una expressió, ...

 

Exercici 3.8

Provar a declarar la funció de l'exercici 3.5, MissatgeIncrementat(), com a Private. Intentar utilitzar-la apretant el botó del formulari Botons. Després deixar-la com estava.