Static Statement

рдЙрдкрдХрд╛рд░реНрдпрддрд╛рд▓рд┐рдХрд╛ рд╡рд╛ рдкреНрд░рдХрд╛рд░реНрдп рднрд┐рддреНрд░ рдХрд╛рд░реНрдпрд╡рд┐рдзреА рд╕реНрддрд░рдорд╛ рдЪрд▓ рд╡рд╛ рдПрд░реЗ рдШреЛрд╖рдгрд╛ рдЧрд░реНрджрдЫ рддреНрдпрд╕рдХрд╛рд░рдг рдЪрд▓ рд╡рд╛ рдПрд░реЗрдХреЛ рдорд╛рдирд╣рд░реВ рдЙрдкрдХрд╛рд░реНрдпрддрд╛рд▓рд┐рдХрд╛ рд╡рд╛ рдкреНрд░рдХрд╛рд░реНрдп рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреБрднрдиреНрджрд╛ рдкрдЫрд╛рдбрд┐ рд╕рдореНрдо рдХрд╛рдпрдо рд░рд╛рдЦреНрдЫ ред Dim рдХрдерди рд╕рдореНрдореЗрд▓рдирд╣рд░реВрдкрдирд┐ рд╡реИрдз рд╣реБрдиреНрдЫрдиреН ред

рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рддрд┐рдорд╛

рдЪрд▓ рдПрд░реЗрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдирд▓рд╛рдИрд╕реНрдерд┐рд░ рдХрдердирдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди ред рдПрд░реЗрд╣рд░реВ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЬ рдЕрдиреБрд╕рд╛рд░ рдорд╛рддреНрд░реИ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдиреБрдкрд░реНрджрдЫ ред


рд╡рд╛рдХреНрдп рд╕рдВрд░рдЪрдирд╛:

рд╕реНрдерд┐рд░ VarName[(рд╕реБрд░реБ рджреЗрдЦрд┐ рдЕрдиреНрддреНрдп)] [As VarType], VarNameреи[(рд╕реБрд░реБ рджреЗрдЦрд┐ рдЕрдиреНрддреНрдп)] [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 ' minimum return value of this function

    If iInit = 0 Then ' check if initialized

        iInit = iMinimum

    Else

        iInit = iInit + 1

    End If

    InitVar = iInit

End Function