Conteúdo

# Instrução Static

Define uma variável ou uma matriz ao nível de procedimento numa sub-rotina ou função, para que os valores da variável ou da matriz sejam guardados depois de terminada a sub-rotina ou função. Também são válidas as convenções das instruções Dim.

A instrução Static não pode ser utilizada para definir matrizes variáveis. As matrizes terão de ser especificadas de acordo com um tamanho fixo.

## Sintaxe:

    Static NomeVar[(início To fim)] [As TipoVar], NomeVar2[(início To fim)] [As TipoVar], ...

## Exemplo:

    Sub ExampleStatic
    Dim iCount As Integer, iResult As Integer
        For iCount = 0 To 2
            iResult = InitVar()
        Next iCount
        MsgBox iResult,0,"A resposta é"
    End Sub

    ' Função para inicialização da variável estática
    Function InitVar() As Integer
        Static iInit As Integer
        Const iMinimum As Integer = 40 ' valor mínimo devolvido por esta função
        If iInit = 0 Then ' verificar se inicializado
            iInit = iMinimum
        Else
            iInit = iInit + 1
        End If
        InitVar = iInit
    End Function