Originariamente Scritto da
chrisbasetta
Grazie come sempre Max!
Allora non vedo l'ora che esca la nuova release
Nel frattempo però perndo spunto per chiederti un altro paio di cosette:
1. Dici "includere il codice all'interno di una funzione/procedura, e dall'evento del timer richiamare la funzione/procedura appena creata"...
Questa è una cosa che ancora non sono riuscito a fare...con che comando richiamo una procedura specifica all'interno di un'altra procedura?
2. Ho notato che se creo una procedura, devo sempre dichiarare le variabili al suo interno, ma immagino che ci sia un modo per condividere la variabili tra una procedura e l'altra...
Salve,
ecco le risposte.
1. Supponiamo di avere questa procedura "Test" da qualche parte nel nostro codice:
SUB Test()
A = 1
END SUB
Se vogliamo richiamare questa procedura dobbiamo usare il seguente codice:
.... ' Qui c'e' il codice prima della chiamata alla procedura Test
Test()
.... ' Qui c'e' il codice dopo la chiamata alla procedura Test
La cosa potrebbe complicarsi se la procedura Test fosse implementata in un file diverso da quello dove la si vuole utilizzare. In questo caso, la procedura Test deve essere dichiarata come pubblica:
PUBLIC SUB Test()
A = 1
END SUB
Nel file dove si vuole richiamare la procedura Test è necessario includere il file dove quella procedura viene utilizzata nella clausola USES.
2. La domanda si riferisce allo "scope" delle variabili e delle funzioni/procedure, cioè al loro ciclo di vita ed al loro livello di visibilità. Normalmente le funzioni/procedure hanno necessità sia di variabili locali (cioè dichiarate direttamente all'interno della funzione/procedura stessa) sia di variabili non locali (cioè dichiarate all'esterno della funzione/procedura). Ecco un esempio:
DIM NonLocale As Integer ' Dichiarazione di una variabile visibile a livello di file
PUBLIC Globale ' Dichiarazione di una variabile globale, visibile in tutti i file
SUB Test()
' Dichiarazione di una variabile locale, visibile solo a livello di procedura/funzione
DIM Locale As Integer
....
' Utilizzo di tutte le variabili disponibili
NonLocale = NonLocale + Locale
Globale = Locale + 1
....
END SUB
' Questo non e' corretto perche' la variabile Locale non esiste al di fuori della procedura Test
Locale = 1
' Queste invece sono corrette perche' entrambe le variabili sono visibili in questo punto del file
NonLocale = 2
Globale = 3
Max Francario