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