Upload
duongdieu
View
238
Download
4
Embed Size (px)
Citation preview
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 1
Visual Basic
II – Fundamentos de Programaçãoem Visual Basic
João Manuel R. S. Tavares
CFAC – Concepção e Fabrico Assistidos por Computador
Sumário
1 Objectos do Visual Basic;1. Objectos do Visual Basic;
2. Eventos do Visual Basic;
3. Números;
4. Cadeias de caracteres (Strings);
5 E d /S íd (I /O )
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 2
5. Entrada/Saída (Input/Output);
6. Funções predefinidas (Built-In Functions).
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 2
Ecrã inicial do Visual Basic
Barra de ferramentas
B d
Caixa de
Explorador do projecto
Janela das propriedades
Barra de menus
ferramentasp p
Formulário 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;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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 3
4 Controlos do Visual Basic mais Utilizados
• Caixas de texto (text boxes) utilizadasCaixas 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• 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);• 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 4
Utilizar uma Caixa de Texto
Caixa de texto (as alças servem para a dimensionar)p )
@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);• 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 5
Definir o Nome dos Objectos:
• Utilizar a janela das propriedades para alterar a• 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 controloidentifica 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:
Obj P fi E lObjecto Prefixo Exemplo
Command Button cmd cmdStart
Form frm frmPayroll
Label lbl lblName
Picture box pic picCloudsPicture 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 6
Eventos do Visual Basic
• O código é um conjunto de instruções (declarações) que ã t d é t dserã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”).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;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).(p )
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 12
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 7
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;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 (procedure4. 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 8
Exemplos de Procedimentos de Eventos
Private Sub nomeDoObjecto evento ( )Private Sub nomeDoObjecto_evento ( )
declarações
End Sub
Private Sub txtOne_GotFocus( )
A palavra Sub indica o início do procedimento (subprograma), e também identifica o objecto e o evento associado.
txtOne.Font.Size = 12
txtOne.Font.Bold = False
End Sub
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( )Private Sub cmdButton_Click( )
txtBox.ForeColor = vbRed
txtBox.Font.Size = 24
txtBox.Text = “Hello”
E d S bEnd Sub
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 16
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 9
Componentes das declarações em Visual BASIC
• Varáveis;• Varáveis;
• Palavras chave (palavras reservadas);
• Constantes.
Uma declaração em Visual Basic pode ser composta por 1023Uma 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 t d j l d lt d d tcomputador 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 10
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.
Exemplos: numberOfCars, tax_Rate_1994
O Visual Basic não distingue entre letras minúsculas e maiúsculas.
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• 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 11
Nomes para Variáveis Numéricas:
Válidos Inválidos
timeElapsed
taxRate
speed
Válidos Inválidos
maximum/average
1stChoice
square yard
n
celsius
@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ão• 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 12
Constante Numéricas Válidas e Inválidas
Válidas:Inteiras (Integer) Reais (Real)
-2987 -1900.05
+16 0.0185
5 10.56Inválidas:
14,005.5 6.8%
33- $190.04
15 78 3.5&
@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)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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 13
Constantes de Cadeias de Caracteres:
• Um conjunto de dados alfanuméricos composto por í b l d l ti (D t t )símbolos de qualquer tipo. (Devem estar entre aspas.)
“A rose by any other name”
“Down By the Sea Shore”
‘Down by the Seashore’
“134.24
Válidas Inválidas
“134.23”
“She said, ‘stop , thief!’”
“She said, “Stop, thief!””
@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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 14
Exemplos
Avaliar as expressões seguintes: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• Palavras que têm um significado predefinido no Visual Basic.
• Não podem ser usadas para nomes de variáveis.
Exemplos: Print
Cls
If
While
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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 15
O método Print do Visual Basic
• Print: É um método utilizado para mostrar• 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 - 2
picResults.Print 3 * 2
picResults.Print 3 / 2
picResults Print 3 ^ 2picResults.Print 3 ^ 2
picResults.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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 16
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 = 15
Exemplos de utilização do método Print
y = 5
picOutput.Print (x + y) / 2, x / y
Saída:
10 3
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 32
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 17
Saída para a Impressora
• Utilizar o método Print do objecto impressora: P i t P i tPrinter.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 EndDocdeclaraçã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 p ( ) p pum 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árioscomentá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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 18
Declaração de Atribuição no Visual Basic
• A declaração var = expr atribui o valor da• 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( )Private Sub cmdCompute_Click( )picResults.Cls
a = 5
b = 4
c = 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 19
Válidas Inválidas
Atribuições Válidas e Inválidas
Válidascount = count + 1
num = 5
10 = count
count + 1 = count
Inválidas
count = count + num /2
@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 caracterescaracteres.
• 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)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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 20
Exemplo de uma Variável do tipo String
Private Sub cmdShow_Click()
picOutput.Cls
phrase = "win or lose that counts."
picOutput.Print "It's not whether you "; phrase
i O P i "I ' h h I " hpicOutput.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 ã d t ã ( t ti )uma operação de concatenação (concatenation).
• A concatenação é representada pelo sinal &.Exemplos:
strVar1 = “Hello”
strVar2 = “World”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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 21
Tipos de Dados e Declaração
• Cada variável num programa está associada a um tipo de dadode 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;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ígitosLong 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 22
Utilizar Caixas de Texto (text box)para Entrada/Saída
• O conteúdo de uma caixa de texto é sempre uma string.Nú t bé ã d d i d t t• 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 numVal (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))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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 23
O Procedimento Associado ao Evento KeyPress (Tecla Pressionada)
Private Sub txtCharacter KeyPress(KeyAscii As Integer)Private Sub txtCharacter_KeyPress(KeyAscii As Integer)
txtCharacter.Text = ""
picOutput.Cls
picOutput.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);
A d ( t d d fi h i )– 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 24
Exemplo de Leitura a partir de um Ficheiro:
Open “DATA.TXT” for Input As #1Número de Referência
Abrir o ficheiro
Input #1, num1
Input #1, num2
picOutput.Print num1+num2
Close #1
Número de Referência
Ler o dado e atribui-lo à variável num1Ler a partir do ficheiro
F h fi h iFechar 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 #1Open Data.txt for Input As #1
Input #1,num1, num2
picOutput.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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 25
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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 26
Exemplo de uma InputBox
Private Sub cmdDisplay Click()p y_ ()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, houseNumber
Após a execução aparecerá uma inputbox; após fechada, o nome introduzido é atribuído a fileNameInput #1, houseNumber
Input #1, streetpicAddress.Print "The White House is at"; houseNumber; streetClose #1
End Sub
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 utilizadorutilizador.
• Uma caixa de mensagem também é uma caixa de dialogo predefinida.
Sintaxe para uma MessageBox
• MsgBox prompt title• 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 27
Exemplo de uma MessageBox
MsgBox “Nice try but no cigar” “Consolation”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• 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 28
Ponto e Virgula
• O valor de saída seguinte é colocado na posição da• 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”picOutput.Print Patrick ; Jon
Ecrã de Saída:
Patrick Jon
Espaço
Espaço inseridospaço se do
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 56
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 29
Exemplo do Ponto e Virgula
picOutput Print 100; 200; 300picOutput.Print 100; -200; 300
Écran de Saída:
100 -200 300Dois Espaços
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çõesCada 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 30
Exemplo de Zonas de Escrita
Exemplo:Exemplo:
picOutput.Print “SEE”, ”YOU”, ”SOON”
Écran de saída:
SEE YOU SOONSEE 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 putilização de duas virgulas consecutivas.
Exemplo:
picOutput.Print “HOURLY”, , “PAY”
É d ídÉ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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 31
Função Tab
• Começa a saída na coluna especificada• 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:Exemplo:picOutput.Print Tab(3); “Hi there!” ;TAB(25) ;“Bye!”
Écran de Saída:
Hi there! Bye!
Coluna 3
Coluna 25
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 62
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 32
Exemplo da Função Tab
Exemplo:Exemplo:
picOutput.Print TAB(25); 5; TAB(15); 4; TAB(5); 3
Écran de Saída:
5 Coluna 255
4
3
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?• 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 33
O que é uma Função?
• Um subprograma desenvolvido para executar• 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 34
Tipos Standard de Funções
• Funções Numéricas (manipulam números);• 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 nInt(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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 35
Exemplo de Funções Numéricas
Private Sub cmdEvaluate Click()Private Sub cmdEvaluate_Click()
Dim n As Single, root As Single
picResults.Cls
n = 6.76
t Sqr(n)root = 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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 36
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)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
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 37
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.
Exemplos
FormatNumber (12345.678, 1) 12,345.6
FormatCurrency (12345.678, 2) $12,345.68
FormatPercent (.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, “@@@@@”) 12345
Format (123, “@@@@@”) 123
Format (“123.4”, “@@@@@”) 123.4
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 74
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 38
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:cont ola a fo matação do valo da va iável numé ica 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• Devolve um numero aleatório de 0 até 1.
(excluindo o 1)
Exemplo: Mostrar um inteiro aleatório de 1 até 6.
i B P i t I t(6 * R d) + 1picBox.Print Int(6 * Rnd) + 1
@2009 - João Manuel R. S. Tavares CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic 76
CFAC: Visual Basic: II - Fundamentos da Programação em Visual Basic FEUP/DEMec/SDI
@2009 - João Manuel R. S. Tavares 39
Exemplos de Utilização da Função Rnd:
Um inteiro de 1 até 100? Int(100* Rnd) + 1Um 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