visual basic - web.fe.up.pttavares/ensino/cfac/downloads/apontamentos/... · visual basic ii –...

77
Visual Basic II – Fundamentos de Programação em Visual Basic João Manuel R. S. Tavares CFAC – Concepção e Fabrico Assistidos por Computador

Upload: tranbao

Post on 19-Dec-2018

223 views

Category:

Documents


0 download

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