Índice:
Vídeo: So You Want To Be a Game Designer - Career Advice for Making Games - Extra Credits 2024
VB. Os programas NET são subdivididos em zonas, assim como os Estados Unidos são divididos em estados, municípios e cidades. Assim como os agentes responsáveis pela aplicação da lei têm diferentes tipos de jurisdições (policiais da cidade, soldados estaduais e FBI, que podem ir a qualquer lugar), VB. LIN linhas de programação têm variações de influência. Esta faixa de influência, chamada escopo, aplica-se principalmente a variáveis (mas também pode ser aplicada a procedimentos - subs e funções - bem como a classes inteiras).
Acessando uma variável
Muitas vezes você deseja consultar ou alterar o valor em uma variável, mas se essa variável é ou não acessível a você depende do seu escopo. Por exemplo, você sempre pode acessar uma variável dentro do mesmo procedimento (funções, sub-rotinas e eventos são todos procedimentos).
Para ver como isso funciona, digite o seguinte no seu módulo de código:
Private Sub Form1_Load (ByVal sender As System. Object, ByVal e As System. EventArgs) Controla MyBase. Carregue
Dim N como String = "Este"
MsgBox (N)
End Sub
Pressione F5 e observe que o MsgBox não tem nenhum problema ao exibir o valor da variável N.
Ele exibe This. Agora digite outro sub apenas abaixo do subconjunto Form1_Load na janela de código:
Public Sub TryIt ()
MsgBox (N)
End Sub
Observe que existe uma linha sawtooth sob a variável N no TryIt sub. Segure o ponteiro do mouse sobre a linha de dente de serra e VB. NET exibe uma mensagem de erro informando que o nome 'N' não é declarado.
Esta mensagem de erro significa que qualquer linha de código dentro do subtipo TryIt (entre Public Sub e End Sub) não pode ler (acessar) ou escrever (alterar) a variável N. N foi declarada (com o Comando Dim) em um procedimento separado e, portanto, o alcance de N (seu alcance de acessibilidade) está limitado a linhas de código dentro do mesmo procedimento.
Embora Dim seja o mais usado, você pode usar sete comandos de declaração adicionais: estático, público, protegido, amigo, compartilhado, amigo protegido e privado. Esses comandos adicionais especificam o escopo (de quais locais no seu programa pode ser acessada uma variável).
Observe que quando você declara uma variável dentro de um procedimento, a variável funciona apenas dentro desse procedimento. Quando o programa executa o procedimento (ou evento), a variável ganha vida, faz o seu e, em seguida, morre (desaparece) assim que a linha End Sub for executada.
Quando as variáveis são locais
As variáveis que vivem apenas em um único procedimento são chamadas variáveis locais. As variáveis locais têm duas qualidades que você precisa memorizar:
- Nenhuma programação fora de seu próprio procedimento pode interagir com elas, seja para ler seu valor ou para mudar seu valor. O alcance deles está limitado ao seu próprio procedimento.
- Quando VB termina executando o procedimento em que residem, seu valor evapora. Se esse procedimento for executado uma segunda vez, qualquer valor que a variável local já tenha contido não for mais lá. Uma execução do procedimento é a vida deles. Existem algumas situações em que você deseja que o valor de uma variável local seja preservado. Nesses casos, você usa o comando Static em vez do comando Dim:
Private Sub Form1_Load (ByVal sender As System. Object, ByVal e As System. EventArgs) lida com MyBase. Carregue
Dim n As Integer
Static x As Integer
End Sub
Neste exemplo, a variável n perde seu valor quando o End Sub é executado. No entanto, a variável x mantém seu valor até o programa ser desligado. Outra maneira de colocá-lo é esta: quando você usa o comando Static com uma variável local, o valor dessa variável é preservado durante toda a vida do seu aplicativo. (Lifetime significa quanto tempo algo existe em um programa.)
O que você acha que aconteceria se você colocasse dois botões de comando em seu formulário e, em seguida, você executou o programa e clicou em Command1 primeiro e, em seguida, clique em Command2, em Este próximo programa?
Private Sub Button1_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Controla Button1. Clique em
Dim X As Integer
X = 12
X = X + 5
End Sub
Private Sub Button2_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Controla Button2. Clique em
Dim X As Integer
MsgBox (X)
End Sub
A caixa de mensagem não exibe nada. A variável X no evento Click do Command1 é uma variável completamente diferente do X no evento Click do Command2. Eles são de âmbito local e simplesmente não têm relação entre si, não mais do que dois estranhos chamados de Mike que moram no Bronx e nunca se encontram.
Mas e se você quiser que esses dois procedimentos possam acessar e manipular a mesma variável? Para fazer isso, você define a variável fora de seus procedimentos. Tente. Clique logo acima do seu primeiro procedimento (logo acima da linha Private Sub Form1_Load) na janela de código para mover o cursor de inserção lá.
Agora digite o seguinte:
Dim x As Integer
É onde você deseja colocar quaisquer variáveis que você deseja dar o alcance do formulário - em outras palavras, para permitir todos os procedimentos nessa forma (Form1, neste caso) para poder ler e modificar a variável. (A área onde você coloca as variáveis de todo o tamanho usado para ser chamado de área de declarações gerais, antes de VB. NET.)
Agora, com essa variável X Dimmed acima acima (fora) todas as Subs e outros procedimentos, quando você executa o mesmo programa, clique em Command1 e, em seguida, clique em Command2, você vê o resultado que deseja ver: o número 17. Quando você declara que o X é abrangente, os dois botões podem acessar essa variável X.Exclua as duas instruções Dim que declararam anteriormente X dentro desses dois eventos Button. Agora, X = X + 5 e MsgBox (X) referem-se à mesma variável chamada X.
Quando uma variável possui um escopo abrangente, está disponível para todos os procedimentos nessa forma. No entanto, não está disponível os procedimentos sob quaisquer outras formas do projeto.