Compartilhar via


Fazendo um computador item: Escrever seu primeiro procedimento

Nesta lição, você aprenderá como criar um procedimento, um bloco de código independente que pode ser executado a partir de outros blocos de código.Você, em seguida, aprenderá a criar parâmetros para os procedimentos.

Um procedimento é apenas um bloco de código que informa o programa para executar uma ação.Embora você não tenha percebido, você já usou procedimentos nas lições anteriores.Por exemplo, a função MsgBox é um procedimento interno que executa a ação de exibir uma caixa de diálogo.

Embora o Visual Basic tenha vários procedimentos internos para executar ações comuns, sempre haverá casos nos quais você desejará que o programa execute uma ação que um procedimento interno não pode fazer.Por exemplo, a função MsgBox não pode exibir uma caixa de diálogo que possui uma imagem.Você precisa escrever seu próprio procedimento para realizar essa tarefa.

O que é um procedimento?

Um procedimento é um bloco de código independente que pode ser executado a partir de outros blocos de código.Em termos gerais, cada procedimento contém o código que é necessário para realizar uma tarefa.Por exemplo, você pode ter um procedimento chamado PlaySound, que contém o código que é necessário para reproduzir um arquivo de som tipo wave.Embora você possa escrever o mesmo código para reproduzir um som sempre que o programa tiver que fazer algum ruído, faz mais sentido criar um procedimento simples que pode ser chamado de qualquer lugar no seu programa.

Um procedimento é rodado, ou executado, através de uma chamada no código.Por exemplo, para executar o procedimento PlaySound, basta adicionar uma linha de código que tenha o nome do procedimento, como mostrado aqui.

PlaySound()

É tudo que se precisa!Quando o programa atinge essa linha, ele irá saltar para o procedimento PlaySound e executar o código que está contido lá.Em seguida, o programa voltará para a próxima linha que segue a chamada de PlaySound.

Você pode chamar quantos procedimentos desejar.Os procedimentos são executados na ordem que são chamados.Por exemplo, você também pode ter um procedimento chamado DisplayResults. Para executá-lo depois de executar o procedimento PlaySounds, chame o procedimento conforme mostrado aqui.

PlaySounds()

DisplayResults()

Funções e Sub-rotinas

Há dois tipos de procedimentos: funções and sub-rotinas (às vezes chamado sistema autônomo sub-rotinas).Uma função retorna um valor para o procedimento que a chamou, já uma sub-rotina apenas executa código.Sub-rotinas são chamadas quando uma linha de código que contém o nome da sub-rotina é adicionada ao programa, como no exemplo a seguir.

DisplayResults

Funções são diferentes porque não somente executam código: também retornam um valor.Por exemplo, imagine uma função chamada GetDayOfWeek que retorna um Integer indicando o dia da semana.Você chama essa função primeiramente declarando uma variável para armazenar a valor de retorno e, em seguida, atribuindo o valor retornado à variável para uso posterior, conforme mostrado aqui.

Dim Today As Integer

Today = GetDayOfWeek

Nesse exemplo, o valor retornado pela função é copiado para a variável chamada Today e armazenado para uso posterior.

Escrevendo procedimentos

Para escrever procedimentos, você primeiramente deve escrever uma declaração de procedimento.Uma declaração de procedimento faz várias coisas.Ela informa se o procedimento é uma função ou uma sub-rotina, nomeia o procedimento e detalha os parâmetros que o procedimento terá.(Parâmetros serão abordados em detalhes posteriormente nesta lição.) O exemplo que segue é uma declaração simples de procedimento.

Sub MyFirstSub()
End Sub

A palavra-chave Sub informa ao programa que esse procedimento é uma sub-rotina e não retornará um valor.O nome da sub-rotina (MyFirstSub) vem em seguida. Os parênteses vazios indicam que não há parâmetros para este procedimento.Finalmente, a palavra-chave End Sub indica o fim da sub-rotina.Todo o código que será executado por essa sub-rotina estará entre essas duas linhas.

Declarar funções é semelhante, mas com uma etapa adicional, pois o tipo de retorno (tais como Integer, String, etc.) deve ser especificado.Por exemplo, uma função que retornou um Integer pode ter esta aparência.

Function MyFirstFunction() As Integer
End Function

As palavras-chave As Integer indicam que esta função retornará um valor Integer .Para retornar um valor de uma função, use a palavra-chave Return, conforme mostrado no exemplo a seguir.

Function GetTheNumberOne() As Integer
    Return 1
End Function

Esse procedimento irá retornar o número 1.

Tente-o!

Para criar procedimentos

  1. On the Arquivo menu, clicar Novo projeto.

  2. Na caixa de diálogo Novo Projeto , no painel de Templates, clique em Windows Application .

  3. Na caixa Name digite MyFirstProceduree clique em OK.

    Abre um novo projeto Windows Forms.

  4. Clique duas vezes no formulário para abrir o Editor de Código.

  5. No Editor de códigos, localize a linha que tem End Class.Este é o fim da seção de código que compõe o formulário.Imediatamente antes dessa linha, adicione o procedimento a seguir:

    Function GetTime() As String
      Return CStr(Now)
    End Function
    

    Essa função usa o procedimento interno Now para receber a hora atual e, em seguida, usa a função CStr para converter o valor retornado por Now em um String legível.Finalmente, esse valor String é retornado como o resultado da função.

  6. Acima da função que você adicionou na etapa a anterior, adicione a seguinte Sub.

    Sub DisplayTime()
      MsgBox(GetTime)
    End Sub
    

    Essa sub-rotina chama a função GetTime e exibe o resultado retornado por ela em um caixa de mensagem.

  7. Finalmente, adicione uma linha para o manipulador de eventos Form1_Load que chama a sub-rotina DisplayTime, como mostrado aqui.

    DisplayTime()
    
  8. Pressione F5 para executar a página.

    Quando o programa for iniciado, o procedimento de evento Form1_Load é executado.Esse procedimento chama a sub-rotina DisplayTime, então a execução do programa vai para o procedimento sub DisplayTime.Essa sub-rotina, por sua vez, chama a função GetTime. Logo, a execução do programa vai para a função GetTime.Essa função retorna um String que representa a hora para o procedimento sub DisplayTime que, em seguida, exibe essa sequência de caracteres em uma caixa de mensagem.Após a execução da sub-rotina, o programa continua normalmente e exibe o formulário.

Parâmetros em sub-rotinas e funções

Às vezes, você precisará fornecer informações adicionais para os procedimentos.Por exemplo, no procedimento PlaySound, você pode querer executar um dentre vários sons diferentes.Você pode fornecer as informações sobre que som deve ser reproduzido usando parâmetros.

Os parâmetros são muito semelhantes às variáveis.Eles têm um tipo e um nome e armazenam informações exatamente como variáveis.Eles podem ser usados como variáveis em um procedimento.As duas principais diferenças entre parâmetros e variáveis são:

  • Os parâmetros são declarados na declaração do procedimento, não em linhas individuais de código.

  • Os parâmetros são utilizáveis somente no procedimento em que são declarados.

Os parâmetros são declarados na declaração do procedimento nos parênteses que seguem o nome do procedimento.A palavra-chave As é usada para declarar o tipo e cada parâmetro geralmente é precedido pela palavra-chave ByVal.Esta palavra-chave será adicionada automaticamente pelo Visual Basic se você não adicioná-la. Ela tem uma função relativamente avançada que está além do escopo desta lição.

Um exemplo de uma sub-rotina com parâmetros é mostrado aqui.

Sub PlaySound(ByVal SoundFile As String, ByVal Volume As Integer)
  My.Computer.Audio.Play(SoundFile, Volume)
End Sub

Você poderia em seguida chamar a sub-rotina com os valores para os parâmetros, conforme mostrado aqui.

PlaySound("Startup.wav", 1)

Você pode também declarar parâmetros para as funções da mesma forma que faria para sub-rotinas.

Tente-o!

Criar uma função que tem parâmetros

  1. On the Arquivo menu, clicar Novo projeto.

  2. Na caixa de diálogo Novo Projeto , no painel de Templates, clique em Windows Application .

  3. Na caixa Name digite parameterse clique em OK.

    Abre um novo projeto Windows Forms.

  4. Da Toolbox, arraste dois controles Textbox para o formulário.

  5. Arraste um controle Button a partir da Caixa de Ferramentas para o formulário.

  6. Clique duas vezes em Button para abrir o Editor de Código.

  7. Imediatamente após a linha End Sub do manipulador de eventos de Button1_Click, adicione o procedimento a seguir:

    Function AddTwoNumbers(ByVal N1 As Integer, ByVal N2 As Integer) _
      As Integer
      Return N1 + N2
    End Function
    
  8. No procedimento Button1_Click, digite o código a seguir:

    Dim aNumber As Integer = CInt(Textbox1.Text)
    Dim bNumber As Integer = CInt(Textbox2.Text)
    MsgBox(AddTwoNumbers(aNumber, bNumber))
    

    Esse código declara dois inteiros e converte o texto nas duas caixas de texto para valores inteiros.Em seguida, passa os valores para a função AddTwoNumbers e exibe o valor retornado em uma caixa de mensagem.

  9. Pressione F5 para executar a página.

  10. Digite um valor de número em cada caixa de texto e clique no botão.Os dois números são adicionados e o resultado é exibido em uma caixa de mensagem.

Próximas etapas

Nesta lição, você aprendeu a diferença entre as funções e sub-rotinas e como criar cada um desses dois procedimentos.Você também aprendeu como chamar procedimentos e criar procedimentos que têm parâmetros.

Na próxima lição, você aprenderá a usar a declaração For...Next para repetir ações.

Próxima Lesson: Fazendo um programa repetir ações: Um loop com loop for... Next

Consulte também

Tarefas

Comparações: Usando expressões para comparar valores

Conceitos

Procedimentos no Visual Basic