Difference between revisions of "EN/Documentation/BASIC Guide/Scope of Variables"
(New page: {{DISPLAYTITLE:変数の有効範囲と有効期限}} {{EN/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Arrays |NextPage=Docum...) |
|||
Line 1: | Line 1: | ||
− | {{DISPLAYTITLE: | + | {{DISPLAYTITLE:Campo di applicazione e vita utile delle |
+ | variabili}} | ||
{{EN/Documentation/BASICGuideTOC/v2 | {{EN/Documentation/BASICGuideTOC/v2 | ||
|ShowPrevNext=block | |ShowPrevNext=block | ||
Line 8: | Line 9: | ||
}} | }} | ||
− | {{OOo}} Basic | + | Una variabile in {{OOo}} Basic ha una vita utile limitata e un campo di applicazione limitato in cui può essere letta e utilizzata in altri frammenti di programma. Il tempo di conservazione di una variabile e le posizioni da cui è accessibile dipendono dalla posizione specificata e dal tipo. |
− | == | + | == Variabili locali == |
− | + | Le variabili dichiarate in una funzione o procedura sono denominate variabili locali: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 21: | Line 22: | ||
</source> | </source> | ||
− | + | Le variabili locali rimangono valide solo finché la funzione o la procedura sono in esecuzione e quindi sono riportate a zero. Ogni volta che la funzione viene chiamata, i valori generati in precedenza non sono disponibili. | |
− | + | Per conservare i valori precedenti, dovrete definire la variabile come <tt>Static</tt>: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 32: | Line 33: | ||
</source> | </source> | ||
− | {{Documentation/Note|VBA | + | {{Documentation/Note|A differenza di VBA, {{OOo}} Basic assicura che il nome di una variabile locale non sia utilizzato contemporaneamente come variabile globale e privata nell'intestazione del modulo. Quando si trasferisce un'applicazione VBA in {{OOo}} Basic, occorre modificare tutti i nomi di variabili duplicati.}} |
− | == | + | == Variabili pubbliche == |
− | + | Le variabili pubbliche sono definite nella sezione dell'intestazione di un modulo con la parola chiave <tt>Dim</tt>. Queste variabili sono disponibili per tutti i moduli nella loro libreria: | |
− | + | Modulo A: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 52: | Line 53: | ||
</source> | </source> | ||
− | + | Modulo B: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 60: | Line 61: | ||
</source> | </source> | ||
− | + | Il valore della variabile <tt>A</tt> non è modificato dalla funzione <tt>Test</tt>, ma è incrementato di 1 nella funzione <tt>Flip</tt> ridotto di 1 nella funzione <tt>Flop</tt>. Entrambe le modifiche alla variabile sono globali. | |
− | + | Per dichiarare un variabile pubblica potete utilizzare anche la parola chiave <tt>Public</tt> anziché <tt>Dim</tt>: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 68: | Line 69: | ||
</source> | </source> | ||
− | + | Una variabile pubblica è disponibile solo finché la macro associata è in esecuzione, poi la variabile viene ripristinata. | |
− | == | + | == Variabili globali == |
− | + | Dal punto di visto della funzione, le variabili globali sono simili alle variabili pubbliche, eccetto che i loro valori vengono conservati anche dopo l'esecuzione della macro associata. Le variabili globali sono dichiarate nella sezione dell'intestazione di un modulo utilizzando la parola chiave <tt>Global</tt>: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 78: | Line 79: | ||
</source> | </source> | ||
− | == | + | == Variabili private == |
− | <tt>Private</tt> | + | |
+ | Le variabili <tt>Private</tt> sono disponibili solo nel modulo in cui vengono definite. Utilizzate la parola chiave <tt>Private</tt> per definire la variabile: | ||
<source lang="oobas"> | <source lang="oobas"> | ||
Line 86: | Line 88: | ||
</source> | </source> | ||
− | + | Se diversi moduli contengono una variabile <tt>Private</tt> con lo stesso nome, {{OOo}} Basic crea una variabile diversa per ogni ricorrenza del nome. Nell'esempio seguente, i due moduli <tt>A</tt> e <tt>B</tt> presentano una variabile <tt>Private</tt> di nome <tt>C</tt>. La funzione <tt>Test</tt> imposta prima la variabile <tt>Private</tt> nel modulo <tt>A</tt> e quindi la variabile <tt>Private</tt> nel modulo <tt>B</tt>. | |
− | + | Modulo A: | |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 109: | Line 111: | ||
</source> | </source> | ||
− | + | Modulo B: | |
<source lang="oobas"> | <source lang="oobas"> |
Revision as of 18:21, 25 June 2009
Template:EN/Documentation/BASICGuideTOC/v2
Una variabile in Apache OpenOffice Basic ha una vita utile limitata e un campo di applicazione limitato in cui può essere letta e utilizzata in altri frammenti di programma. Il tempo di conservazione di una variabile e le posizioni da cui è accessibile dipendono dalla posizione specificata e dal tipo.
Variabili locali
Le variabili dichiarate in una funzione o procedura sono denominate variabili locali:
Sub Test Dim MyInteger As Integer ' ... End Sub
Le variabili locali rimangono valide solo finché la funzione o la procedura sono in esecuzione e quindi sono riportate a zero. Ogni volta che la funzione viene chiamata, i valori generati in precedenza non sono disponibili.
Per conservare i valori precedenti, dovrete definire la variabile come Static:
Sub Test Static MyInteger As Integer ' ... End Sub
Variabili pubbliche
Le variabili pubbliche sono definite nella sezione dell'intestazione di un modulo con la parola chiave Dim. Queste variabili sono disponibili per tutti i moduli nella loro libreria:
Modulo A:
Dim A As Integer Sub Test Flip Flop End Sub Sub Flip A = A + 1 End Sub
Modulo B:
Sub Flop A = A - 1 End Sub
Il valore della variabile A non è modificato dalla funzione Test, ma è incrementato di 1 nella funzione Flip ridotto di 1 nella funzione Flop. Entrambe le modifiche alla variabile sono globali.
Per dichiarare un variabile pubblica potete utilizzare anche la parola chiave Public anziché Dim:
Public A As Integer
Una variabile pubblica è disponibile solo finché la macro associata è in esecuzione, poi la variabile viene ripristinata.
Variabili globali
Dal punto di visto della funzione, le variabili globali sono simili alle variabili pubbliche, eccetto che i loro valori vengono conservati anche dopo l'esecuzione della macro associata. Le variabili globali sono dichiarate nella sezione dell'intestazione di un modulo utilizzando la parola chiave Global:
Global A As Integer
Variabili private
Le variabili Private sono disponibili solo nel modulo in cui vengono definite. Utilizzate la parola chiave Private per definire la variabile:
Private MyInteger As Integer
Se diversi moduli contengono una variabile Private con lo stesso nome, Apache OpenOffice Basic crea una variabile diversa per ogni ricorrenza del nome. Nell'esempio seguente, i due moduli A e B presentano una variabile Private di nome C. La funzione Test imposta prima la variabile Private nel modulo A e quindi la variabile Private nel modulo B.
Modulo A:
Private C As Integer Sub Test SetModuleA ' Sets the variable C from module A SetModuleB ' Sets the variable C from module B ShowVarA ' Shows the variable C from module A (= 10) ShowVarB ' Shows the variable C from module B (= 20) End Sub Sub SetmoduleeA C = 10 End Sub Sub ShowVarA MsgBox C ' Shows the variable C from module A. End Sub
Modulo B:
Private C As Integer Sub SetModuleB C = 20 End Sub Sub ShowVarB MsgBox C ' Shows the variable C from module B. End Sub
Content on this page is licensed under the Public Documentation License (PDL). |