Difference between revisions of "EN/Documentation/BASIC Guide/Scope of Variables"

From Apache OpenOffice Wiki
Jump to: navigation, search
(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 で確保される個々の変数は、プログラムのすべての領域で使用可能というわけではなく、それぞれ有効となる範囲と期限があります。 ·変数が確保され続ける期限および利用可\'94\'5cなプログラム範囲は、各変数の種類と宣言された位置に依存します。
+
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.
  
このような値を保持しておくには、変数を <tt>Static</tt> として定義しておく必要があります。
+
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 とは異なり、{{OOo}} Basic の局所変数には、モジュールヘッダにある大域変数やプライベート変数と同じ名前を付けることはできません。 このため、VBA アプリケーションを {{OOo}} Basic に移植する際には、重複した変数名を変更する必要があります。}}
+
{{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 ==
  
パブリックドメイン変数は、モジュールのヘッダセクションで <tt>Dim</tt> キーワード を使って定義します。 この変数は、ライブラリ内のすべてのモジュールで利用可能となります。
+
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:
  
モジュール A:
+
Modulo A:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 52: Line 53:
 
</source>
 
</source>
  
モジュール B:
+
Modulo B:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 60: Line 61:
 
</source>
 
</source>
  
変数 <tt>A</tt> の値は、関数 <tt>Test</tt> では直接変更されませんが、間接的に関数 <tt>Flip</tt> 1 増やされ、関数 <tt>Flop</tt> で 1 減らされています。 この両者の関数による変更は、大域的 (グローバル) に実\'8e\'7bされています。
+
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.
  
パブリックドメイン変数の宣言用キーワードには、<tt>Dim</tt> の代わりに <tt>Public</tt> も使用できます。
+
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 ==
  
大域変数はパブリック変数と同等の機能を担っていますが、該当するマクロの実行終了後もその値が確保され続ける点が異なります。大域変数は、モジュールのヘッダセクションでキーワード <tt>Global</tt> を使って定義します。
+
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> 変数は、定義されたモジュール内部でのみ有効となります。 プライベート変数の定義には、キーワード <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>
  
複数のモジュールで同じ名前の <tt>Private</tt> 変数が使われている場合、{{OOo}} Basic では、これらの変数はそれぞれ個別の変数として確保されます。 以下のサンプルコードでは、モジュール <tt>A</tt> およびモジュール <tt>B</tt> の両方で、<tt>C</tt> という名前の <tt>Private</tt> 変数を確保します。 関数 <tt>Test</tt> は、最初にモジュール <tt>A</tt> <tt>Private</tt> 変数を設定し、次にモジュール <tt>B</tt> <tt>Private</tt> 変数を設定します。
+
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>.
  
モジュール A:
+
Modulo A:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 109: Line 111:
 
</source>
 
</source>
  
モジュール B:
+
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

Template:Documentation/Note

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).
Personal tools