visual basic - web.fe.up.pttavares/ensino/cfac/downloads/apontamentos/... · visual basic ii –...
TRANSCRIPT
Visual BasicII – Fundamentos de Programação
em Visual Basic
João Manuel R. S. Tavares
CFAC – Concepção e Fabrico Assistidos por Computador
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 2
Sumário
1. Objectos do Visual Basic;
2. Eventos do Visual Basic;
3. Números;
4. Cadeias de caracteres (Strings);
5. Entrada/Saída (Input/Output);
6. Funções predefinidas (Built-In Functions).
Ecrã inicial do Visual Basic
Caixa de ferramentas
Explorador do projecto
Janela das propriedades
Formulário
Barra de ferramentas
Barra de menus
Janela da posição do formulário
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 3
Passos para Criar uma Aplicaçãoem Visual Basic
1. Criar os objectos;
2. Definir as propriedades;
3. Escrever o código associado a cada evento.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 4
4 Controlos do Visual Basic mais Utilizados
• Caixas de texto (text boxes), utilizadasprincipalmente para introduzir informação;
• Etiquetas (labels), utilizadas principalmente para informar o utilizador;
• Botões de comando (command buttons),utilizados para iniciarem acções ao serem clicados;
• Caixas de imagem (picture boxes), utilizadas para mostrar texto ou gráficos.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 5
Utilizar uma Caixa de Texto
• Fazer duplo-clique sobre o objecto caixa de texto na caixa de ferramentas para a acrescentar no formulário;
• Definir a posição e as dimensões;
• Activar a janela de propriedades (pressionar F4);
• Definir os valores das propriedades para a caixa de texto.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 6
Utilizar uma Caixa de Texto
Caixa de texto (as alças servem para a dimensionar)
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 7
Algumas Propriedades úteis dasCaixas de Texto:
• Nome (Name); • Título (Caption);• Estilo da cercadura (Border style);• Visibilidade (Visible);• Cor do fundo (Back Color);• Alinhamento (Alignment);• Fonte (Font).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 8
Definir o Nome dos Objectos:
• Utilizar a janela das propriedades para alterar a propriedade nome (Name) de um objecto.
• Um bom hábito de programação é designar cada nome utilizando o prefixo, de três letras, que identifica o tipo de controlo.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 9
Definir o Nome dos Objectos:
Objecto Prefixo Exemplo Command Button cmd cmdStart Form frm frmPayroll Label lbl lblName Picture box pic picClouds Text box txt txtAddress
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 10
Eventos do Visual Basic
• O código é um conjunto de instruções (declarações) que serão executas quando o programa é executado.
• Devesse escrever o código associado a cada evento.• A maior parte dos eventos estão associados aos objectos.• O código associado a cada evento é designado por
“procedimento do evento” (“event procedure”).Quando um programa em Visual Basic é executado, aparece no ecrã um formulário com os seus controlos. Normalmente, nada acontece até o utilizador despoletar uma acção (ex. clicar num controlo, pressionar na tecla Tab , ...).@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 11
Passos para Criar uma Aplicação em Visual Basic:
1. Criar a interface;
2. Definir as propriedades para os objectos;
3. Escrever o código a ser executado quando ocorre um evento (procedimento de evento).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 12
Elementos de uma Aplicaçãoem Visual Basic
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 13
Passos para Criar um Procedimentode Evento:
1. Criar a interface;2. Definir as propriedades;3. Realizar um duplo clique no objecto em
questão para abrir a janela de código;4. Clicar na caixa dos procedimentos (procedure
box) para determinar o evento pretendido;5. Escrever o código associado a tal evento.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 14
Exemplos de Procedimentos de Eventos
Private Sub nomeDoObjecto_evento ( )declarações
End Sub
Private Sub txtOne_GotFocus( )txtOne.Font.Size = 12txtOne.Font.Bold = False
End Sub
A palavra Sub indica o início do procedimento (subprograma), e também identifica o objecto e o evento associado.
A palavra private indica que o procedimento não pode ser invocado por um evento de um outro procedimento.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 15
Mais um exemplo
Private Sub cmdButton_Click( )txtBox.ForeColor = vbRedtxtBox.Font.Size = 24txtBox.Text = “Hello”
End Sub
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 16
Componentes das declarações em Visual BASIC
• Varáveis;• Palavras chave (palavras reservadas);• Constantes.
Uma declaração em Visual Basic pode ser composta por 1023 caracteres numa mesma linha; quando pretende-se dividir uma declaração por várias linhas devesse utilizar o carácter _ seguido de um espaço para indicar a continuação.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 17
Variáveis
• Uma locação de espaço na memória principal do computador cujo valor pode ser alterado durante a execução do programa;
• Estes espaços de armazenamento podem ser identificados e evocados pelos seus nomes.
• Cada variável tem três propriedades: um Nome, um Valor e um Tipo de Dado.
• Tipos de variáveis: Numéricas e Cadeias de caracteres (Strings).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 18
Regras para criar Nomes para Variáveis
• Deve começar com uma letra.• Pode conter letras e dígitos numéricos.• Pode ter até 255 caracteres.• Não pode ser igual a palavras chave reservadas.
O Visual Basic não distingue entre letras minúsculas e maiúsculas.
Exemplos: numberOfCars, tax_Rate_1994
A instrução Let atribui valores às variáveis e o método Print mostra os seus valores.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 19
Variáveis Numéricas
• Utilizadas para guardar números.
• O valor é atribuído pelo programador ou por cálculo.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 20
Nomes para Variáveis Numéricas:
timeElapsed taxRatespeedncelsius
Válidos Inválidos
maximum/average1stChoicesquare yard
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 21
Constantes
• Similar a uma variável, mas o seu valor nãopode ser alterado durante a execução de um programa.
• Tipos de Constantes:
– constantes numéricas;– constantes de cadeia de caracteres (string).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 22
Constante Numéricas Válidas e Inválidas
Inteiras (Integer) Reais (Real)-2987 -1900.05+16 0.01855 10.56
Inválidas:14,005.5 6.8%33- $190.0415 78 3.5&
Válidas:
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 23
Exemplo de Constantes Numéricas numa Declaração:
tax = 0.02 * (income - 500 * dependence)
sum = 2 + x + 4.6 + y
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 24
Constantes de Cadeias de Caracteres:
• Um conjunto de dados alfanuméricos composto por símbolos de qualquer tipo. (Devem estar entre aspas.)
“A rose by any other name”“Down By the Sea Shore”“134.23”“She said, ‘stop , thief!’”
‘Down by the Seashore’“134.24“She said, “Stop, thief!””
Válidas Inválidas
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 25
Operações Aritméticas e Prioridade das Operações
Operador operação expressão em Basic^ Potenciação A ^ B
* Multiplicação A * B/ Divisão A / B+ Adição A + B- Subtracção A - B
Em caso de igualdade, a prioridade é da esquerda para a direita; quando necessário, utilizar parênteses curvos para definir a prioridade desejada.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 26
Exemplos
Avaliar as expressões seguintes:
x = 3 * 6 - 12 / 3
x = 4 ^ (8 / 4)
y = 12 + 6 / (3 * (10 - 9))
z = 5 + 4 ^ 2
m = 6 / 3 + 3
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 27
Palavras Chave/Reservadas
• Palavras que têm um significado predefinido no Visual Basic.
• Não podem ser usadas para nomes de variáveis.
Exemplos: Print ClsIfWhile
O Visual Basic automaticamente torna maiúscula a primeira letra de uma palavra reservada.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 28
O método Print do Visual Basic
• Print: É um método utilizado para mostrar dados no écran ou na impressora.
• Pode ser utilizado para imprimir os valores das varáveis.
• Pode ser utilizado para imprimir valores de expressões aritméticas.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 29
Exemplos de utilização do método Print
Private Sub cmdCompute_Click()picResults.Print 3 - 2picResults.Print 3 * 2picResults.Print 3 / 2picResults.Print 3 ^ 2picResults.Print 2 * (3 + 4)
End Sub
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 30
Exemplos de utilização do método Print
• picOutput.Print speed• picOutput.Print taxRate• picOutput.Print “A média da classe é”; total / 3
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 31
x = 15y = 5picOutput.Print (x + y) / 2, x / y
Saída:
10 3
Exemplos de utilização do método Print
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 32
Saída para a Impressora
• Utilizar o método Print do objecto impressora: Printer.Print expr
• Para começar uma nova página utilizar a declaração: Pinter.NewPage
• Para terminar a impressão devesse executar a declaração: Printer.EndDoc.
• Para imprimir um formulário utilizar a declaração: PrintForm.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 33
Documentação Interna
• Um apostrofe (‘) pode ser utilizado para indicar um comentário; os comentários são ignorados pelo Visual Basic.
• A palavra chave Rem também pode ser utilizada, em vez do apostrofe, para indicar comentários.
• Os comentários também podem ser colocados depois das instruções do programa.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 34
Declaração de Atribuição no Visual Basic
• A declaração var = expr atribui o valor da expressão expr à variável var.
• Atribui o valor da expressão do lado direito à variável do lado esquerdo.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 35
Exemplo
Private Sub cmdCompute_Click( )picResults.Clsa = 5b = 4c = a * (2 + b)picResults.Print c
End Sub
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 36
Válidascount = count + 1
num = 5
count = count + num /2
10 = count
count + 1 = count
Inválidas
Atribuições Válidas e Inválidas
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 37
Variáveis do tipo String(cadeia de caracteres)
• Uma variável do tipo String “guarda” uma cadeia de caracteres.
• As regras para nomear as variáveis do tipo string são idênticas às utilizadas para as variáveis numéricas.
• Quando uma variável do tipo string é inicialmente declarada o seu valor é igual a null string (isto é, uma string vazia).
O valor de uma variável do tipo string é atribuído ou alterado através da instrução Let e mostrado através do método Print tal e qual como para as varáveis do tipo numérico.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 38
Exemplo de uma Variável do tipo String
Private Sub cmdShow_Click()picOutput.Clsphrase = "win or lose that counts."picOutput.Print "It's not whether you "; phrasepicOutput.Print "It's whether I "; phrase
End Sub
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 39
Concatenação
• Duas strings podem ser combinadas através de uma operação de concatenação (concatenation).
• A concatenação é representada pelo sinal &.Exemplos:
strVar1 = “Hello”strVar2 = “World”picOutput.Print strVar1 & strVar2…txtBox.Text = “32” & CHR(176) & “ Fahrenheit”
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 40
Tipos de Dados e Declaração
• Cada variável num programa está associada a um tipo de dado.
Declaração dos Tipos das Variáveis• Utiliza-se a instrução Dim para declarar o tipo de uma
variável.Exemplo:
Dim number As IntegerDim flower As StringDim interestRate As Single
(A declaração de variáveis é considerada uma boa prática de programação.)
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 41
Tipos de Dados:
• Single (Variáveis numéricas de precisão simples): Guarda números reais;
• Double (Variáveis numéricas de dupla precisão): Guarda números reais com muitos dígitos;
• Integer: Guarda números inteiros;
• Long integer: Guarda números inteiros com muitos dígitos.
O tipo por defeito é o single; Uma variável single é exacta até à 7ª casa decimal e do tipo double até à 15ª (é utilizada quando é preciso um grau de exactidão elevado ).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 42
Utilizar Caixas de Texto (text box)para Entrada/Saída
• O conteúdo de uma caixa de texto é sempre uma string.• Números também são guardados nas caixas de texto
como strings.• O conteúdo de uma caixa de texto deve ser convertido
num número antes de ser atribuído a uma variável numérica.
• Val (txtBox.Text) converte a string de entrada num número.
Exemplo:numVar = Val (txtBox.Text)
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 43
Exemplo (converter miles para furlong e vice-versa)
Private Sub txtFurlong_LostFocus()txtMile.Text = Str(Val(txtFurlong.Text) / 8)
End Sub
Private Sub txtMile_LostFocus()txtFurlong.Text = Str(8 * Val(txtMile.Text))
End Sub
•A função Str(num) converte o valor numérico num numa string.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 44
O Procedimento Associado ao Evento KeyPress (Tecla Pressionada)
Private Sub txtCharacter_KeyPress(KeyAscii As Integer)txtCharacter.Text = ""picOutput.ClspicOutput.Print Chr(KeyAscii); " has ANSI value"; KeyAscii
End Sub
Este exemplo apresenta numa pictureBox o valor ANSI da tecla pressionada.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 45
Ler dados a partir de Ficheiros
1. Escolher um número (1, ..., 255) a ser utilizado como referência do ficheiro.
2. Definir o modo de utilização do ficheiro:
– Input (para leitura);
– Output (para escrita);
– Append (para acrescentar dados ao ficheiro).
3. Ler os dados sequencialmente utilizando a instrução Input.
4. Fechar o ficheiro.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 46
Exemplo de Leitura a partir de um Ficheiro:
Open “DATA.TXT” for Input As #1Input #1, num1Input #1, num2picOutput.Print num1+num2
Close #1
Número de Referência
Ler o dado e atribui-lo à variável num1
Abrir o ficheiro
Ler a partir do ficheiro
Fechar o ficheiro
Um ficheiro pode ter um item por linha ou vários itens separados por virgulas numa mesma linha. Os itens serão atribuídos às variáveis, um de cada vez, segundo a ordem que aparecem no ficheiro.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 47
Exemplo de Leitura a partir de um Ficheiro:
Open “Data.txt” for Input As #1Input #1,num1, num2picOutput.Print num1+num2
Close #1
Quando um ficheiro é aberto para escrita (Output) e já existe então é automaticamente destruído, criado um novo e preparado para receber dados.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 48
Introdução a partir de uma Caixa de Entrada (InputBox):
• Utilizar caixas de texto (Text Box) para várias entradas.
• Para uma única entrada utilizar uma caixa de entrada (InputBox) em vez de uma caixa de texto.
• Uma caixa de entrada (InputBox) é uma caixa de dialogo predefinida.
Depois do utilizador carregar num dos seus botões ou na tecla Enter, a caixa de entrada desaparece e a resposta é (pode ser) atribuída a uma variável do tipo string.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 49
Sintaxe para uma Caixa deEntrada (InputBox)
stringVar = InputBox (prompt, title)
O prompt é a mensagem a aparecer no interior da caixa de dialogo, e o title é o texto a aparecer na barra de título da caixa de dialogo. Os parênteses são necessários.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 50
Exemplo de uma InputBox
Private Sub cmdDisplay_Click()Dim fileName As String, prompt As String, title As StringDim houseNumber As Single, street As Stringprompt = "Enter the name of the file containing the information."title = "Name of File"fileName = InputBox(prompt, title)Open fileName For Input As #1Input #1, houseNumberInput #1, streetpicAddress.Print "The White House is at"; houseNumber; streetClose #1
End Sub
Após a execução aparecerá uma inputbox; após fechada, o nome introduzido é atribuído a fileName.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 51
Utilizar uma MessageBox(Caixa de Mensagem) para Saída:
• Utilizar caixas de mensagem para chamar a atenção do utilizador.
• Uma caixa de mensagem também é uma caixa de dialogo predefinida.
Sintaxe para uma MessageBox• MsgBox prompt, , title
Após execução, aparece uma caixa, com a string prompt no seu interior e com a string title como título, ficando residente no écran até o utilizador carregar na tecla Enter ou num dos seus botões (pode ser apenas um).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 52
Exemplo de uma MessageBox
MsgBox “Nice try, but no cigar”, , “Consolation”
Residente no ecrã até o utilizador carregar no botão OK.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 53
Formatar a Saída:
• Criar saídas amigáveis.
• No método Print, o controlo do espaçamento da saída é realizada pelos seguintes elementos:
– Ponto e Virgula;
– Virgula;
– Função Tab.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 54
Ponto e Virgula
• O valor de saída seguinte é colocado na posição da próxima coluna.
Exemplo:picOutput.Print “Patrick”; ”Jon”
Ecrã de Saída:PatrickJon
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 55
Exemplo do Ponto e Virgula
picOutput.Print “Patrick”; ” Jon”
Ecrã de Saída:Patrick Jon
Espaço
Espaço inserido
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 56
Exemplo do Ponto e Virgula
picOutput.Print 100; -200; 300
Écran de Saída:100 -200 300
Um espaço
Dois Espaços
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 57
Virgula e Zonas de Escrita
• Utilizando uma virgula o valor de saída seguinte é colocado na próxima zona de escrita disponível.
Zonas de Escrita• Cada zona de escrita tem a largura de 14 posições.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 58
Exemplo de Zonas de Escrita
Exemplo:picOutput.Print “SEE”, ”YOU”, ”SOON”
Écran de saída:SEE YOU SOON
Coluna 1
Coluna 15Coluna 29
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 59
Exemplo de Formatação com Virgulas
• Uma zona de escrita pode ser saltada através da utilização de duas virgulas consecutivas.
Exemplo:
picOutput.Print “HOURLY”, , “PAY”
Écran de saída:
HOURLY PAYColuna 29
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 60
Função Tab
• Começa a saída na coluna especificada.• Disponibiliza maior flexibilidade na
formatação. • Apenas usar Ponto e virgula com a função
Tab.• Apenas pode ser utilizada para avançar a
posição de escrita.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 61
Exemplo da Função Tab
Exemplo:picOutput.Print Tab(3); “Hi there!” ;TAB(25) ;“Bye!”
Écran de Saída:
Hi there! Bye!
Coluna 3Coluna 25
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 62
Exemplo da Função Tab
Exemplo:picOutput.Print TAB(25); 5; TAB(15); 4; TAB(5); 3
Écran de Saída:5
43
Coluna 25
Coluna 15
Coluna 5 (Passou a escrever nas linhas seguintes.)
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 63
Funções:
• O que é uma função?
• Quais as vantagens de se utilizar funções?
• Como se usa uma função?
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 64
O que é uma Função?
• Um subprograma desenvolvido para executar uma tarefa especifica.
• Um subprograma desenvolvido para retornar um único valor ao módulo que o chama (utiliza).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 65
Tipos de Funções
• Funções predefinidas (embutidas em bibliotecas);• Funções definidas (desenvolvidas) pelo programador.
Exemplos de Funções predefinidas• x = Sqr(225)• y = Int (2.7) • str1 = Left (“John Smith”, 4)• number = Rnd
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 66
Tipos Standard de Funções
• Funções Numéricas (manipulam números);
• Funções de Strings (manipulam strings).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 67
Funções Numéricas
Rnd Retorna um número ente 0 e 1. (excluindo o 1)
Sqr(n) Retorna a raiz quadrada de um número.
Round(n,r) O número n é arredondado para r casas decimais.
Int(n) Retorna a parte inteira do número n.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 68
Exemplo de Funções Numéricas
Private Sub cmdEvaluate_Click()Dim n As Single, root As SinglepicResults.Clsn = 6.76root = Sqr(n)picResults.Print root; Int(n); Round(n,1)
End Sub
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 69
Funções Mais Utilizadas com Strings
Função: Left (string1, n)
Objectivo: Devolver uma string com os n primeiros caracteres de string1 (a partir do início).
Função: Right (string1 , n)
Objectivo: Devolver uma string com os n últimos caracteres de string1 (a partir do fim).
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 70
Funções Mais Utilizadas com Strings
Função: Mid (string1, n1, n2)
Objectivo: Devolver a string contida em string1 que começa na posição n1 e tem n2 caracteres de comprimento.
Função: UCase (string)
Objectivo : Converter em maiúsculas as letras de string.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 71
Funções numéricas relacionadascom Strings
Função: InStr (string1, string2)
Objectivo: Procurar pela primeira ocorrência de string2na string1 e retornar a posição na qual foi encontrada. (0 se não encontrada)
Função: Len (string)
Objectivo: Retornar o número de caracteres da string.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 72
Funções de Formatação
As funções de formatação permitem um controlo detalhado da forma como são apresentados os números, as datas e as strings.
ExemplosFormatNumber (12345.678, 1) 12,345.6FormatCurrency (12345.678, 2) $12,345.68FormatPercent (.185, 2) 18.50%FormatNumber (1 + Sqr(2), 3) 2.414
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 73
Funções de Formatação
•Format (expr, “@……..@”)
Objectivo: O valor de retorno desta função será uma string justificada à direita num campo de n espaços. Onde n é uma string de n símbolos @.
Exemplos:Format (12345, “@@@@@”) 12345Format (123, “@@@@@”) 123Format (“123.4”, “@@@@@”) 123.4
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 74
Exemplos
FormatDateTime (“9-15-99”, vbLongDate)
Saída: Wednesday, September 15, 1999
Outra possibilidade de utilizar a função de formatação para controlar a formatação do valor da variável numérica num:
Format (num, fmt)
onde fmt pode ser igual a “Currency”, “Standard”, “#,0#, “Percent” e “Scientific”.
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 75
Função Rnd
• Devolve um numero aleatório de 0 até 1.(excluindo o 1)
Exemplo: Mostrar um inteiro aleatório de 1 até 6. picBox.Print Int(6 * Rnd) + 1
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 76
Exemplos de Utilização da Função Rnd:
Um inteiro de 1 até 100? Int(100* Rnd) + 1
Um número de 2 até 4 (excluindo o 4)? 2 * Rnd + 2
Um inteiro par de 2 até 100 ? (Int (50 * Rnd) + 1) *2
Um número igual a 0 ou a 1? Int( 2* Rnd)
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 77