Static Statement

é–ĸæ•°ãŠã‚ˆãŗã‚ĩブãƒĢãƒŧãƒãƒŗå†…ã§å¤‰æ•°ã‚„é…åˆ—ã‚’åŽšįžŠã™ã‚‹éš›ãĢã€ã“ã‚Œã‚‰ã‚’ãƒ—ãƒ­ã‚ˇãƒŧã‚¸ãƒŖãƒŧãƒŦベãƒĢã§å†åˆŠį”¨ã™ã‚‹ã“ã¨ã‚’åŽŖč¨€ã—ãĻã€čŠ˛åŊ“するé–ĸæ•°ãŠã‚ˆãŗã‚ĩブãƒĢãƒŧãƒãƒŗãŒįĩ‚äē†ã—ãĻも、こうした変数や配列ãĢäģŖå…Ĩした値をäŋæŒã™ã‚‹ã‚ˆã†ãĢしぞす。ここでは Dim ゚テãƒŧãƒˆãƒĄãƒŗãƒˆã¨åŒæ§˜ãŽčĻį´„ãŒéŠį”¨ã•ã‚Œãžã™ã€‚

č­Ļ告マãƒŧク

Static ゚テãƒŧãƒˆãƒĄãƒŗãƒˆ ã¯ã€é…åˆ—å¤‰æ•°ãŽåŽšįžŠãĢはäŊŋį”¨ã§ããžã›ã‚“ã€‚é…åˆ—ã¯å›ē厚ã‚ĩイã‚ēã§åŽšįžŠã™ã‚‹åŋ…čĻãŒã‚ã‚Šãžã™ã€‚


構文:


Static VarName[(start To end)] [As VarType], VarName2[(start To end)] [As VarType], ...

例:


Sub ExampleStatic
Dim iCount As Integer, iResult As Integer
    For iCount = 0 To 2
        iResult = InitVar()
    Next iCount
    MsgBox iResult,0,"The answer is"
End Sub
 
REM ゚ã‚ŋãƒ†ã‚Ŗãƒƒã‚¯å¤‰æ•°ãŽåˆæœŸåŒ–į”¨é–ĸ数
Function InitVar() As Integer
    Static iInit As Integer
    Const iMinimum as Integer = 40 REM minimum return value of this function
    if iInit = 0 then REM check if initialized
        iInit = iMinimum
    Else
        iInit = iInit + 1
    End If
    InitVar = iInit
End Function