39
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ção em 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).

VB modulo II.ppt - web.fe.up.pt · 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

Embed Size (px)

Citation preview

Page 1: VB modulo II.ppt - web.fe.up.pt · 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

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).

Page 2: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 3: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 4: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 5: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 6: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 7: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 8: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 9: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 10: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 11: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 12: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 13: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 14: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 15: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 16: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 17: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 18: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 19: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 20: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 21: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 22: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 23: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 24: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 25: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 26: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 27: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 28: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 29: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 30: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 31: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 32: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 33: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 34: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 35: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 36: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 37: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 38: VB modulo II.ppt - web.fe.up.pt · 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

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

Page 39: VB modulo II.ppt - web.fe.up.pt · 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

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