Você está em: Principal › Tutoriais › Herbertgois : Programandovbnet015
Neste tutorial você vai aprender a usar o procedimento Function. Para executar este tutorial vamos utilizar a mesma aplicação do tutorial anterior.
USANDO O PROCEDIMENTO FUNCTION
A Function (função) é muito parecida com a Sub, as regras aplicadas para as Subs se aplicam aqui, principalmente as que se referem ao escopo e aos argumentos. A diferença é que a Function vai sempre retornar um valor.
A sintaxe da Function é a seguinte:
Function NomedaFunção(argumentos) as Type
NomedaFunção é o nome que você quer dar a função que esta criando. Como com as Subs, procure dar sempre um nome que ajude a identificar a utilidade da sua função. Não esqueça do Type que é o tipo de dados que sua função vai retornar.
Argumentos são uma lista de argumentos opcionais - separados por vírgula se forem mais de um - que serão usados, como nas Subs.
Código é o bloco de código que faz o trabalho da função.
Return é a instrução que permite retornar o valor. Após o Return ser executado a função é finalizada.
Vamos continuar usando o programa tutorial2 neste tutorial para nossos exemplos, suponho que você esteja com ele aberto no Visual Studio no ponto em que paramos no tutorial anterior.
Vamos implementar no nosso código agora uma função que vai calcular o percentual de vezes que o 7 apareceu em relação ao número de tentativas (cliques no botão Girar).
1 - Adicione mais dois Labels no Form1, como na figura abaixo:
2 - Mude as seguintes propriedades do Label5:
Font = Bold
Name = lblVitorias
Text = "Vitorias: 0"
3 - Mude as seguintes propriedades do Label6:
Name = lblMediaVitorias
Text = "0.0%"
4 - Crie duas variáveis dentro da Classe Form1, uma chamada Vitorias e outra Total, ambas do tipo Short.
5 - Digite o seguinte código que cria a função PercentualVitorias:
percentual = vitorias / Total
Return Format(percentual, "0.0%")
Perceba no código acima que nossa função vai retornar uma string, o tipo que a função vai retornar deve sempre ser colocado depois dos argumentos.
Essa função determina a porcentagem de vitorias em relação ao numero de tentativas. Para isso ela recebe o numero de tentativas e o número de vitórias como argumento. Ela retorna o valor em porcentagem, usamos a função Format do Visual Basic para formatar o conteudo para variavel percentual.
6 - No Form1 novamente, de um duplo clique sobre o botão girar para exibir o procedimento do evento clicar do Button1.
7 - Depois da linha:
8 - Agora, depois da linha:
9 - Comente a seguinte linha de código:
SomaNumeros(CType(Label1.Text, Integer), CType(Label2.Text, Integer), CType(Label3.Text, Integer))
Basta colocar uma aspas simples na frente da mesma, ela vai ficar assim:
'SomaNumeros(CType(Label1.Text, Integer), CType(Label2.Text, Integer), CType(Label3.Text, Integer))
10 - Embaixo da linha de código que você acabou de comentar digite o seguinte:
lblMediaVitorias.Text = PercentualVitorias(Total, Vitorias)
Isso faz a chamada da função. Passamos o conteúdo das duas variáveis como valores para os argumentos necessários. Perceba que como uma função sempre retorna um valor, nós temos que usa-las sempre associadas com um controle por exemplo. No caso o Label lblMediaVitorias recebe a função.
11 - Embaixo da linha acima digite:
lblVitorias.Text = Vitorias.ToString
Essa linha é responsável por exibir o número de vitórias no Label lblVitorias.
Como a variável vitorias é to tipo Short, usamos o método ToString para converter o conteúdo para uma String.
Veja como ficou o conteúdo do procedimento do evento do Button1:
13 - Digite seu nome e clique em OK.
14 - Clique em Girar várias vezes.
Conforme você vai clicando ele vai exibindo o número de vitórias - que o 7 apareceu - e o percentual em relação ao número de tentativas.
15 - Clique em Parar para fechar a aplicação.
Neste tutorial você aprendeu a utilizar o procedimento Function em seus programas. Lembre-se que a diferença entre um procedimento sub e function é o segundo sempre retorna um valor enquanto a sub não. Lembre-se também de que as variáveis criadas dentro de um procedimentos estão disponíveis apenas para o mesmo, e são liberadas da memória sempre que o procedimento termina sua execução.