Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivo do mdulo
O formulrio o centro de uma aplicao grfica. com ele que o usurio interage de
modo a executar suas tarefas. Nele, voc define e posiciona os controles que
apresentaro ao usurio as opes disponveis
A Janela de Projeto ( Project Window ) uma lista usada pelo Visual Basic para
controlar que arquivos fazem parte da sua aplicao. Esta lista poder ser composta
por arquivos do tipo :
1
Colgio Cruzeiro do Sul Visual Basic
Para Inicializar o VB :
2
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Adiciona um Projeto
Adiciona um Formulrio
Editor de Menu
3
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Grava um Projeto
Recorta
Copia
Cola
A janela de cdigo o lugar onde voc escreve o cdigo que a mquina deve executar para
responder s aes do usurio. Para abrir uma janela de cdigo, basta dar um click-duplo em
cima do objeto do qual um evento deva ser tratado.
4
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
5
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Objetivo do mdulo
Objetos - So ferramentas que o Visual Basic fornece com as quais voc construir aplicaes.
Um formulrio um tipo de objeto; controles dentro do formulrio, como: botes, caixas de
texto e figuras tambm so objetos. Cada objeto possui uma lista de propriedades;
alterando-as voc estar caracterizando, criando a identidade do seu objeto. A objetos voc
pode aplicar mtodos: mostrar um formulrio o mtodo mostrar aplicado a um formulrio,
adicionar um item a uma lista o mtodo adicionar aplicado a uma lista, etc.. A objetos
6
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
tambm acontecem eventos. Eventos so percebidos pelo sistema, e voc pode programar a
sua aplicao para que ela reaja a estes eventos.
Propriedades - so as caractersticas que personalizam seu objeto. Cada objeto tem uma lista
de propriedades prpria.
Mtodos - Procedimentos fornecidos pelo Visual Basic que podem ser aplicados aos
objetos. Cada objeto possui uma lista de mtodos prpria.
Caractersticas de um mtodo :
Voc no pode criar um mtodo, o VB j os cria para voc. Mtodos somente podem ser
chamados.
No possvel ver ou alterar o cdigo de um mtodo.
Os nomes de mtodos so palavras reservadas do Visual Basic.
Sintaxe :
nome_controle.mtodo
Exemplos :
Form1.Hide
List1.AddItem
GRDAgenda.RemoveItem
Picture1.Drag
7
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
2. Crie um formulrio para cada janela que voc conseguir visualizar dentro da aplicao.
Para instalar o executvel para os usurios ou clientes, voc precisa levar tambm uma cpia
da biblioteca do Visual Basic VBRUN300.DLL. Este arquivo faz parte dos arquivos de
instalao do Visual Basic e pode ser distribudo livremente.
Determinaes Bsicas :
Projetar a interface para o usurio, no para o sistema. - Tpico caso de criar telas diferentes
para Incluso, Alterao e Excluso ( quando, na maioria dos casos, estas trs funes
poderiam estar agrupadas em uma nica tela).
Ter em mente que agora o usurio que mantm o controle da aplicao, e no mais o
programa.
Clareza - Ter certeza de que o propsito de cada tela est bem claro para o usurio.
Esttica
A letra, normalmente utilizada em aplicaes Windows, qualquer uma Sans Serif. Ao usar
tipos de letras diferentes, cuidado para no abusar da variedade.
8
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Objetivo do mdulo
9
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
3.2.1 Load
Sintaxe :
Load objeto
10
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
3.2.2 Unload
O comando Unload utilizado para retirar um formulrio de memria. Note que ao retirar um
formulrio de memria apenas a parte grfica da tela descarregada, o cdigo continua em
memria.
Sintaxe :
Unload objeto
11
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
3.3.1 Load
Acontece sempre antes que um formulrio seja carregado em memria. utilizado normalmente
para inicializar os controles do formulrio.
3.3.2 Unload
Este evento ocorre sempre momentos antes de um formulrio ser descarregado. Nele devem ser
tratados procedimentos de finalizao de banco de dados, clculos e etc.
O Evento QueryUnload de um formulrio permite que voc consiga detectar como o Unload do
formulrio foi iniciado. Este evento possui dois parmetros : o UnloadMode e o Cancel. O
UnloadMode indica como o Unload foi iniciado. O Cancel, que inicialmente possui valor
False, se receber o valor True impede que o Unload do Formulrio continue.
UnloadMode Significado
0 O usurio iniciou o Unload a partir do Control Menu do formulrio.
1 Pelo comando Unload, utilizado no cdigo.
2 O Usurio est saindo do Windows.
3 O usurio selecionou Finalizar Tarefa a partir do Gerenciador de
Tarefas.
4 Um formulrio MDI-filho est sendo fechado porque o MDI-pai est
sendo fechado.
Exemplo :
Sub Form1_QueryUnload ( Cancel as Integer, UnloadMode as Integer )
If UnloadMode <> 1 Then
MsgBox "Utilize o boto 'Sair' para finalizar a tarefa"
Cancel = true
12
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Para exemplificar a utilizao do evento Query Unload, criaremos uma aplicao onde somente
ser possvel finalizar a aplicao atravs do comando End a partir do cdigo.
Executando a Aplicao
13
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
3.3.4 Activate
3.3.5 Deactivate
Sintaxe :
[formulrio].Hide
O mtodo Show utilizado para mostrar um formulrio. Assim como o mtodo Hide, o
Show trabalha com a propriedade Visible do formulrio, atribuindo-lhe o valor True. Caso o
formulrio no esteja carregado em memria, o mtodo show executa automaticamente o
comando Load.
Sintaxe :
[formulrio].Show [estilo%]
14
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
15
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
16
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Executando a Aplicao
24. Tecle F5 ou clique na opo Run / Start do menu.
Normalmente uma aplicao contm mais de um formulrio. Se este for seu caso, voc
precisa definir o formulrio inicial da aplicao (que por default aquele que foi criado
primeiro). Para fazer isto selecionar a opo Project Properties do menu Project. O text box
Startup Object deve conter o nome (propriedade Name) do formulrio inicial.
17
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
O MsgBox() uma funo que produz uma caixa de mensagem pop-up. A figura abaixo
mostra uma caixa de mensagem. Como podemos ver, uma caixa de mensagem exibe um cone e
uma mensagem com pelo menos um boto de comando. O boto de comando d ao usurio uma
chance de ler a mensagem dentro da caixa e dar um clique no boto depois de concluir.
Os argumentos que voc fornece para a funo MsgBox() determinam qual cone a
funo exibir, a mensagem o nmero de botes de comando. Portanto, o programador
controla exatamente como a caixa de mensagem aparecer para o usurio. Quando a
MsgBox() for concluda, seu valor de retorno especificar em qual boto de comando o
usurio clicou. Portanto o seu programa far sempre um teste no valor de retorno da funo
MsgBox(), caso a funo tenha dois botes de comando. O programa pode ento utilizar uma
instruo If a fim de determinar o melhor curso de ao com base na seleo do boto de
comando do usurio.
MsgBox(mensagem)
Note que a mensagem ficou simples, ou seja, sem cone e o ttulo ficou sendo o nome do
projeto. Para melhorar a aparncia de uma MsgBox() podemos utilizar argumentos opcionais.
Esses argumentos podem ser:
Tipo do Boto
18
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
0 VbOKOnly Boto OK
Voc pode utilizar tanto o valor numrico como a cosntante identificada para expecificar o
tipo do boto.
cone
19
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Boto Default
Voc pode alterar o boto que aparece como boto padro quando a caixa de mensagem
aparecer pela primeira vez ao adicionar um dos seguintes valores ao argumento Boto
Default:
Exemplo de uma funo MsgBox() utilizando botes , cone e definido o segundo boto como
padro:
20
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Ttulo
O argumento Ttulo utilizado quando voc deseja especificar um ttulo para sua caixa de
mensagem, como por exemplo:
Quando voc utiliza uma caixa de mensagem com mais de um boto voc pode utilizar uma
varivel (Resposta) para armazenar o comando que recebeu o clique, e utilizar essa
informao em uma instruo If para executar um determinado comando para cada boto. A
tabela a seguir mostra os valores de cada boto:
21
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
22
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Objetivo do mdulo
Mostrar como trabalhar com aplicao composta por mais de um formulrio, montando
menus. Nos mdulos anteriores, trabalhamos com um nico formulrio, basicamente, para
mostrar o funcionamento de uma aplicao Visual Basic.
A seguir destacamos alguns tens que devem ser observados para que um menu esteja dentro do
padro Windows.
Trs pontos devem ser colocados ao final do comando para indicar a existncia de uma caixa
de dilogo, quando esta existir;
Para indicar que uma opo est ativa, colocar um check-mark () ao lado da opo.
Barras de separao devem ser utilizadas para separar, visualmente, tens relacionados ou
opes perigosas para o usurio.
Teclas de acesso ou atalho devem ser definidas para todos os tens do menu. ( Pelo padro
Windows, as aplicaes devem possibilitar seu uso, mesmo quando o usurio no tem um
mouse).
23
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Par
24
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
25
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
26
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
27
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
28
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
29
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
tens de Menu
Item
Descrio
Caption
Name
Index
30
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Negotiate Position
ShortCut
Checked
Enabled
HelpContextId
31
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Visible
WindowList
Na parte de manipulao de tens, voc define a hierarquia dos tens de menu, inclui novos tens
e apaga outros. Para qualquer uma das operaes, o item deve estar selecionado.
Manipulao de Lay-Out
Item
Funo
32
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Seta para Cima Move a posio do cursor para um item de menu acima.
Seta para Baixo Move a posio do cursor para um item de menu abaixo.
Next Move a seleo para o prximo item da lista.
Insert Insere uma linha em branco acima do item
Delete Apaga um item de menu.
33
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Sair
&Sair
MNUSair
34
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Editar
&Editar
MNUEditar
Copiar
&Copiar
MNUCopiar
Colar
Co&lar
MNUColar
35
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
4. Pressione F5 para executar o programa e verifique o encadeamento dos menus. Note que,
para que os menus executem alguma ao necessrio que o evento Click de cada objeto
menu seja codificado. No caso acima, deveramos codificar o evento click dos seguintes
objetos : MNUAbrir, MNUSair, MNUCopiar e MNUColar.
Objetivo do mdulo
Ao longo do mdulo, uma srie de pequenos exerccios e apresentaes sero feitas de modo
que voc se familiarize com o uso de cada controle, e perceba como as propriedades os
afetam.
Labels
Text boxes
Frames
Command Buttons
Check Boxes
Option Buttons
Combo Boxes
List Boxes
Timers
Picture Boxes
Grid
Panel 3d
36
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Alm de controles, neste captulo tambm introduziremos dois conceitos muito importantes,
que so diretamente relacionados aos controles. So eles :
/ Foco
/ Control Arrays
37
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Caixa de Ferramentas
38
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Labels
Labels so normalmente utilizados para exibir textos que o usurio no deve modificar. Um
exemplo clssico seria o ttulo de campos em formulrios.
Propriedade Descrio
Alignment Alinhamento do texto dentro do label.
Backcolor Cor de fundo do label.
BorderStyle Tipo de borda do label. Recomendvel no utilizar borda.
Caption Texto que aparece no label.
Font Tipo de letra utilizada.
FontSize Tamanho da letra utilizada.
ForeColor Cor da letra.
Height Altura do label.
Left Posio do extremo esquerdo do label em relao ao formulrio.
Name Nome do controle a ser utilizado no programa.
Top Posio do topo do label em relao ao formulrio.
39
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Text Boxes
O text box um controle utilizado, basicamente, para a exibio de informao pelo sistema
ou para a entrada de dados do usurio.
Propriedade Descrio
Alignment Alinhamento do texto dentro do text box.
Font Tipo de letra utilizada.
Height Altura do text box.
Left Indica margem esquerda do text box em relao ao formulrio.
MaxLegth Tamanho mximo do texto.
Multiline Indica se um text box tem mais de uma linha.
Name Nome do controle a ser utilizado pelo programa.
PasswordChar Caracter utilizado para esconder palavras secretas. Funciona
apenas quando a propriedades Multiline tem valor False. Ex.:
senhas.
ScrollBars Indica a existncia de barras de rolagem.
Text Texto do text box.
Top Indica do topo do text box em relao ao formulrio.
Width Largura da text box.
EVENTOS
Change Este evento acontece toda vez que o usurio altera o contedo de uma Text Box.
Por exemplo, quando o usurio escreve a palavra "papel", o evento Change ocorre cinco (5)
vezes.
40
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Criando um Label
2. Clicar duas vezes sobre a ferramenta Label na Caixa de Ferramentas.
3. Selecionar o label1 e chamar a Caixa de Propriedades.
4. Atualizar a propriedade Caption com Nome: e a propriedade Name com LBLNome.
Executando a Aplicao
15. Tecle F5 ou clique na opo Run / Start do menu.
41
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Maxlength de TextBoxes
Determina o nmero mximo de caracteres que uma caixa de texto pode conter. Se o usurio
digitar mais que o permitido, o sistema emitir um beep, e ignorar tudo que o usurio digitar
que ultrapasse o limite.
PassWordChar de TextBoxes
Determina o caracter a ser mostrado na tela, independente do que o usurio estiver digitando.
Normalmente utilizado para que senhas e cdigos secretos no apaream na tela.
Normalmente o caracter utilizado em aplicaes Windows o astersco (*).
42
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Tab Stop
Quando esta propriedade estiver com o valor false, o cursor no parar aqui quando o usurio
estiver usando o Tab para se movimentar pelo formulrio.
43
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Assim como podemos usar o & ( E comercial) para designar teclas de acesso a menus e
botes, podemos tambm utiliz-lo para acessar caixas de texto. Para isso, basta inserir um
label na frente ( na ordem de tabulao ) de um TextBox, e utilizar o & para designar uma
tecla de acesso para o label.
Como labels no recebem foco, o foco ir para o controle que tenha o TabIndex
imediatamente maior, portanto o Text Box receber o foco.
Suponha que voc tivesse que montar a seguinte tela para o envio de mensagens :
44
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Executando a Aplicao
21. Pressione F5 ou selecione Start do menu Run.
22. Experimente dar Tab entre controles; selecionar, cortar e colar parte do texto, etc.
45
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
um controle que se assemelha a um Text box. No entanto, ele permite restringir a entrada
de dados do usurio e tambm formatar a sada dos dados.
Essa ferramenta Masked Edit dever ser inserida na caixa de feramentas da seguinte forma:
Na opo Components do menu Project selecionar o item Microsoft Masked Edit Control.
46
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Propriedade Descrio
ClipMode Determina se os caracteres de mscara so includos ou no
quando operaes de Cut/Copy so executadas. Valores
possveis: 1 = inclui; 2 = no inclui.
Format Formato com que nmeros, data, hora e strings sero mostrados
na Masked Edit.
Mask Determina a mscara de entrada de dados.
MaxLength Tamanho mximo do campo.
PromptChar Caracter utilizado para pedir input ao usurio.
PromptInclude Indica se os caracteres PromptChar sero includos na
propriedade Text.
47
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Executando a Aplicao
11. Pressione F5 ou selecione Start do menu Run.
12. Experimente digitar nmeros no nome, letras no telefone e etc.
48
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Frames, check boxes e option buttons possibilitam mostrar ao usurio conjuntos de opes
entre as quais ele pode escolher. O arranjo na tela dos frames e option buttons definem
grupos independentes de opes. A escolha em um grupo no afeta a escolha em outro.
49
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
5.4.1 Frames
Propriedades Descrio
Caption O ttulo do frame.
Name Nome do controle usado no cdigo.
Visible Indica se um frame e seus controles esto visveis ou no.
Observao : Para colocar controles dentro de um frame, voc tem que criar primeiro o
frame; selecion-lo e, ento, criar os controles dentro dele. Ou ento, caso os controles
tenham sido criados anteriormente, deve-se recort-los, selecionar o frame e, dentro deste,
col-los (Cut e Paste).
Check Boxes so usados, normalmente, para permitir uma ou mais escolhas independentes,
no exclusivas, em relao a outras j efetuadas.
EVENTOS
Click O evento click indica que o usurio fez uma seleo. Ao ocorrer este evento , o
Check Box marcado/desmarcado conforme o seu valor anterior.
50
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Propriedades Descrio
Caption Valor da opo na tela.
Name Nome interno do controle.
Enabled Define se o controle est ativo ou no.
Value Indica se um option button est marcado ou no.
Visible Define se o controle est aparente ou no.
EVENTOS
Click Quando o usurio clica sobre o option button, uma srie de acontecimentos
ocorrem : o option button selecionado marcado, os outros Option Buttons do contexto so
desmarcados e a propriedade value, para cada option button do contexto atualizada com a
nova seleo.
51
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Suponha que voc queira criar uma aplicao onde um texto escrito em um Text Box possa
ser formatado por voc :
52
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Text1.FontItalic = False
End If
24. Clique duas vezes sobre CKBSublinhado, uma janela de cdigo deve aparecer.
25. Escreva os seguintes comandos :
If CKBSublinhado.Value = 1 Then
Text1.FontUnderline = True
Else
Text1.FontUnderline = False
End If
Executando a Aplicao
26. Pressione F5 ou selecione Start do menu Run.
27. Experimente apertar os botes e os Check boxes para ver o que acontece.
53
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Propriedade Descrio
Cancel Ativa o boto quando o Esc for pressinado.
Caption Valor do boto que aparece na tela.
Default Ativa boto quando o Enter for pressionado.
Enabled Permite, ou no, o acesso ao boto.
Height Altura do boto.
Left Posio da borda esquerda em relao ao formulrio.
Name Nome do controle usado internamente.
Top Posio da borda superior em relao ao formulrio.
Width Largura do boto.
EVENTOS
Click Normalmente, significa que o usurio deseja que alguma ao seja tomada. Neste
caso, voc dever escrever o cdigo correspondente.
54
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Determina que, se o usurio pressionar a tecla de Enter, de qualquer ponto da tela, o evento
Click do boto Default ocorrer. Existe no mximo um boto default por tela.
Determina que se o usurio pressionar a tecla de Esc, de qualquer ponto da tela, o evento
Click do boto, cuja propriedade Cancel estiver com valor True, ocorrer. Existe no mximo
um boto cancel por tela.
Obs.: No evento Click de botes cujas propriedades Default ou Cancel tenham valor
True, deve existir um comado transferindo o foco para o prprio boto
(nome_boto.setfocus), porque se o click do boto for ativado porque o usurio pressionou
ENTER ou CANCEL, o LostFocus do controle onde o foco estava anteriormente no ocorre.
55
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Suponha que voc queira criar uma aplicao onde a hora ser informada sempre que voc
desejar:
Executando a Aplicao
13. Pressione F5 ou selecione Start do menu Run.
14. Experimente apertar os botes.
56
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Existem quatro tipos de controles de listas, cada um com uma funo ligeiramente diferente.
Ambas as listas que caem ( Drop Down Combo Box e Drop Down List Combo Box ) foram
projetadas para economizar o espao de tela utilizado pelo controle. Usurios somente podem
adicionar tens a uma lista do tipo Drop-Down Combo Box ou Simple Combo Box, pois os
outros tipos permitem apenas escolha entre os tens existentes.
Todas os List Boxes e combo boxes apresentaro automaticamente uma barra de rolagem,
caso o tamanho da lista ou combo ultrapasse a sua prpria altura ( definida pela propriedade
Height).
Nas pginas seguintes, sero apresentados Combo Boxes e List Boxes mais detalhadamente.
57
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
List Boxes mostram um conjunto de tens entre os quais o usurio pode escolher um ou mais.
Atravs de cdigo, voc pode adicionar ou remover tens do list box.
Propriedade Descrio
Columns Permite a exibio de mltiplas colunas em uma nica lista.
List Vetor que contm a lista dos tens da ListBox.
Index ndice do item ,da lista, selecionado.
MultiSelect 0 - Permite selecionar apenas um item por vez.
1 - Permite selecionar mais de um item da lista.
2 - Permite seleo do tipo File Manager do Windows,
usando teclas CTRL e SHIFT.
Name Nome interno do controle.
Sorted Indica se a lista estar em ordem alfabtica ou no.
Text Retorna o item selecionado da lista.
O vetor boleano SELECTED() indica quais os tens selecionados da lista, caso voc tenha
escolhido uma lista de seleo mltipla.
EVENTOS
58
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
MTODOS
Propriedade Descrio
Name Nome do controle internamente.
Style Tipo da combo :
0 - Drop-Down Combo
1 - Simple Combo
2 - Drop-Down List
Text Texto selecionado.
Height Altura do Combo
EVENTOS
Change O evento Change indica que o contedo do controle foi alterado. No caso
de combo boxes, o evento change ocorre toda vez que, a parte editavel do combo alterada.
Obs.: Os mtodos AddItem, RemoveItem e Clear, demonstrados no item anterior sobre listas,
tambm so vlidos para Combo Boxes.
59
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Suponha que voc queira criar uma aplicao onde voc possa incluir nomes em uma lista,
remov-los e limpar a lista por completo :
Criando a Lista
4. Clique duas vezes sobre a ferramenta List Box da Caixa de Ferramentas.
5. Com o List Box selecionado pressione F4 para ter acesso lista de propriedades.
6. Nomeie esta lista LSBNomes.
60
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Executando a Aplicao
16. Pressione F5 ou selecione Start do menu Run.
17. Experimente adicionar e retirar nomes da lista.
Suponha que voc queira criar uma aplicao que associe nomes de funcionrios cargos e
departamentos de uma empresa:
OBS: Os cargos e departamentos existentes j esto definidos e no devero ser alterados por sua
aplicao.
ATENO: Em uma aplicao real, os Combo Box de Cargo e Departamento deveriam ser
preenchidos a partir de uma arquivo que contivessem estas informaes.
61
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
CMBDepartamento.AddItem "Marketing"
CMBDepartamento.AddItem "Sistemas"
CMBDepartamento.AddItem "Suprimentos"
CMBDepartamento.AddItem "Recursos Humanos"
Executando a Aplicao
12. Pressione F5 ou selecione Start do menu Run.
62
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Scroll Bars so utilizados quando se deseja demonstrar a posio corrente em uma escala.
Propriedade Descrio
LargeChange Mudana de valor que ocorrer quando o usurio clicar sobre
o marcador de posio da barra.
Max Valor mximo da barra.
Min Valor mnimo da barra.
Name Nome interno do controle.
SmallChange Mudana de valor que ocorrer quando o usurio clicar sobre
as setas da barra.
Value Valor correspondente posio da barra.
EVENTOS
Change O evento Change indica que o contedo do controle foi alterado. No caso
de scroll bars , ocorre quando o usurio rola a barra.
63
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Para exemplificar o uso de um scrollbar, usaremos um text box. medida que voc mexer no
Scrollbar, o valor do Text Box tambm alterar.
Executando a Aplicao
13. Pressione F5 ou selecione Start do menu Run.
14. Movimente-se pelo scrollbar.
15. Experimente alterar o valor das propriedades Large Change e SmallChange.
5.8 Timer
64
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Timers so utilizados para ativar eventos, periodicamente, em um prazo definido por voc.
Um exemplo seria sair de uma tela qualquer, quando o usurio deixasse o computador parado
por um intervalo de tempo.
Propriedade Descrio
Enabled Indica se o timer est ativo.
Interval Intervalo de tempo que o controle ser ativado.
Name Nome interno do controle.
Obs.: Para um timer funcionar, a propriedade Enabled deve ter o valor True e a propriedade
Interval deve ser diferente de 0.
EVENTOS
Timer Este evento ocorre a cada intervalo de tempo especificado na propriedade Interval do
controle.
65
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Relembrando a aplicao do relgio, agora vamos utilizar um timer para que a hora seja
atualizada a cada segundo.
Criando o Timer
5. Clique duas vezes sobre a ferramenta Timer da Caixa de Ferramentas.
6. Com o Timer selecionado pressione F4 para ter acesso lista de propriedades.
7. Nomeie este timer TIMsegundo.
8. Coloque o valor 1000 na propriedade Interval, e False em Enabled.
TIMsegundo.enabled = False
Codificando o Timer
13. Clicar duas vezes sobre TIMSegundo, uma janela de cdigo ir aparecer. Certifique-se que o
evento Timer.
14. Digitar a seguinte linha de cdigo:
TXBHora.text = Format (Now, "hh:mm:ss")
Executando a Aplicao
15. Pressione F5 ou selecione Start do menu Run.
16. Ligue e desligue o relgio.
17.Pare a execuo do programa e experimente alterar o valor do Interval do timer.
66
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
EVENTOS
67
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Propriedade Descrio
AutoRedraw Indica se a pintura da Picture Box ser feita automaticamente
ou no
AutoSize Se True, ajusta o tamanho da Picture Box de acordo o
tamanho da figura.
Name Nome interno do controle.
Picture Exibe um Dialog Box para definir uma figura, no formato
BMP, WMF ou ICO, com o qual o Picture Box deve ser
preenchido.
Executando a Aplicao
15. Pressione F5 ou selecione Start do menu Run.
68
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
5.10 Grid
Para inserir a feramenta GRID na caixa de ferramentas devemos selecionar o item Microsoft
FlexGrid Control da opo Components do menu Project
Este controle trabalha com um conjunto de propriedades atravs das quais possvel
selecionar linhas e colunas ( como clulas em uma planilha ), escrever dentro delas e copiar
dados para elas. Um grid possui um nmero inicial de linhas e colunas que no pode ser
menor que o seu nmero de linhas e colunas fixas. O dados que preenchem um grid so
representados por um texto no qual separa-se colunas por Tabs e linhas por CarriageReturn.
Propriedade Descrio
Rows, Cols Indica o numero de linhas e colunas do grid.
FixedRows, FixedCols Nmero de linhas e colunas fixas do grid.
Principais Mtodos
RemoveItem - Adiciona uma linha e seu contedo do grid. A linha a ser retirada a
especificada pelo ndice.
Obs.: ndice em ambos os casos significa o nmero da linha a ser includa ou retirada.
Exemplos :
Sub Command1_Click ()
'Determina a clula inicial e a preenche
Grid1.col =0
Grid1.Row =0
Grid1.Text = "Nome"
End Sub
Sub Command2_Click ()
'Seleciona um grupo de clulas e as preenche
Grid1.SelStartCol = 1
Grid1.SelEndCol = 3
Grid1.SelStartRow = 1
Grid1.SelEndRow = 3
tab = chr(9)
carriage_return = chr(13)
texto = "L1C1" + tab + "L1C2" + carriage_return
texto = texto + "L2C1"+ tab + "L2C2"
Grid1.clip = texto
End Sub
69
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Criando o Grid
6. Clique duas vezes sobre a ferramenta Grid da Caixa de Ferramentas.
7. Com o Grid selecionado pressione F4 para ter acesso lista de propriedades.
8. Nomeie este grid GRDAgenda.
9. Coloque o valor 0 na propriedade FixedCols, e 1 em FixedRows.
10. Coloque o valor 2 na propriedade Cols, e 2 em Rows.
70
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Executando a Aplicao
17. Pressione F5 ou selecione Start do menu Run.
5.11 Foco
Em Windows, apenas um controle, formulrio ou janela pode ter o foco de cada vez. Ter o
foco significa que qualquer ao do usurio recai sobre aquele elemento, seja ele um controle
ou uma janela. O foco pode ser transferido pelo usurio ou pela aplicao.
O Visual Basic possui alguns eventos e mtodos para o tratamento de foco. A seguir
detalharemos cada um deles.
EVENTOS
GotFocus Acontece sempre que um controle recebe o foco, ou porque o usurio pressionou
Tab, ou porque ele clicou sobre o controle, ou atravs de aplicao. Note que o Formulrio
somente recebe o evento GotFocus quando no h nenhum controle visvel dentro dele.
Lost Focus Acontece em um controle sempre que um outro controle recebe o foco, ou porque
o usurio pressionou Tab, ou porque ele clicou sobre o outro controle, ou atravs de
aplicao.
MTODOS
SetFocus Este mtodo, aplicado a qualquer controle, transforma aquele controle no controle
ativo. O SetFocus em um controle, provoca o LostFocus do controle que possua o foco
anteriormente e o GotFocus do controle ao qual foi aplicado o mtodo.
Sintaxe : controle.Setfocus
71
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Objetivo do mdulo
Introduzir os tipos de dados do Visual Basic e suas regras de escopo e durabilidade. Este o
primeiro, de um conjunto de captulos, que ensina a programao em Visual Basic.
Tipo Descrio
Integer % Inteiro de 2 bytes
Long & Inteiro de 4 bytes
Single ! Num. Ponto Flutuante de 4 bytes
Double # Num. Ponto Flutuante de 8 bytes
Currency @ Num. Ponto Decimal Fixo de 8 bytes
String $ String de caracteres
Variant Data/Hora, string, num de ponto Flutuante
Obs.: Operaes que utilizam o tipo de dado Currency so mais rpidas e exatas do que as que
utilizam o tipo Single e Double.
Voc pode declarar um varivel de duas maneiras : usando o comando Dim ou ento, uma das
duas palavras reservadas - Global ou Static. A declarao de variveis no Visual Basic
extremamente importante, pois qualquer varivel no declarada considerada como sendo do
tipo Variant.
Cuidado !!! Em declaraes de variveis compostas, especificar o tipo para cada uma delas.
No exemplo abaixo, apenas a ltima varivel ser do tipo Integer, as outras sero do tipo
Variant.
Dim I, J, K as Integer
Declarao Obrigatria de Variveis
Para que a declarao de variveis no seu projeto seja obrigatria, colocar Yes no item
Require Variable Declaration nas opes de configurao do ambiente.
72
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Quando voc no souber o tamanho de uma string, voc poder declar-la com tamanho
varivel. Caso contrrio, voc dever declar-lo. Uma string de tamanho fixo jamais ter
valor nulo (NULL).
Ex :
Dim palavra as string
Dim palavra2 as string * 50
Inicializao de Variveis
O Visual Basic, automaticamente, inicializa todas as variveis numricas com zero (0) e
todas as strings, de tamanho fixo, com brancos.
Nomenclatura de Variveis
Variant o tipo de dado default do Visual Basic. Uma varivel do tipo variant pode conter
qualquer tipo de dado : nmeros, letras ou datas. No necessrio fazer qualquer tipo de
converso para atribuir valores destes tipos a um variant; o Visual Basic se encarrega de
fazer a converso automaticamente.
Para saber o tipo de dado que est dentro de um variant, voc pode utilizar as seguintes
funes boleanas do VB : IsNumeric e IsDate.
Para somar variveis do tipo variant, as mesmas devem conter valores numricos. Para
concatenar variveis do tipo variant utilizar o smbolo & para evitar ambigidade.
Sub Command1_Click ()
Dim a
Dim b
a = 3
b = 5
Print (a & b) 'resulta em 35
Print (a + b) 'resulta em 8
End Sub
Variant tem o valor Empty at que algum valor seja atribudo a ela. Empty um valor
especial diferente de Null, brancos ou zero. Para verificar se uma varivel est Empty,
utilizara funo IsEmpty do Visual Basic.
6.4 Constantes
73
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Constantes so entidades do programa cujo valor voc necessita apenas saber, sem ter que
atualizar. O Visual Basic mantm um arquivo, o CONSTANT.TXT que contm uma srie de
constantes predefinidas.
Este arquivo poder ser adicionado ao seu projeto.
Para declarar uma constante, utilize a palavra reservada Const dentro do general declarations de
qualquer formulrio ou de um mdulo de cdigo (*.BAS).
74
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Pode-se definir o escopo como sendo o nvel de visibilidade de uma varivel dentro de uma
aplicao. J vimos anteriormente que, uma aplicao Visual Basic composta de
formulrios e mdulos de procedimentos. Assim sendo, podemos ter variveis visveis,
dentro de :
75
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Ao usar a palavra reservada Static ao invs de Dim dentro de uma rotina de um formulrio
(.Frm) ou de um mdulo de procedimento (.Bas), voc estar trabalhando no com o escopo
de uma varivel, mas com sua durabilidade. Declarar uma varivel como static dentro de uma
rotina significa dizer que aquela varivel no ser reinicializada cada vez que a rotina for
chamada (apenas no Load do formulrio), no entanto ela s estar visvel dentro daquela
rotina. Ou seja, ela ter escopo Local e durabilidade enquanto o formulrio estiver ativo.
76
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Alm dos tipos de dados oferecidos pelo Visual Basic, voc tambm pode criar estruturas de
dados suas. Um exemplo tpico criar estruturas semelhantes a um registro do seu arquivo,
ou criar variveis que serviro de padro para a aplicao ( Ex.: Tipo nome um string de 50
posies; qualquer nome do seu sistema ser declarado como sendo do tipo nome, para que
todas tenham o mesmo tamanho).
Sintaxe :
Type tipo-do-usurio
elemento as string
elemento as string
End Type
Exemplo :
Type Reg_cliente
nome as string *50
telefone as string *11
End Type
77
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Criao de Controles
2. Criar 2 controles do tipo Label com os seguintes valores nas propriedades: Caption=Nome e
Name=LBLNome para um controle e Caption=Telefone e Name=LBLTelefone para o outro
controle.
3. Criar 2 controles do tipo Text Box com os seguintes valores nas propriedades:
Name=TXBNome para um controle e Name=TXBTelefone para o outro controle. Inicializar
com branco a propriedade Text de ambos controles.
4. Criar 2 controles do tipo Command Button com os seguintes valores nas propriedades:
Name=CMDIncluir e Caption=Incluir para um controle e Name=CMDMostrar e
Caption=Mostrar para o outro controle.
78
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
6.7 Vetores
Assim como vrias outras linguagens de programao, o Visual Basic tambm permite a criao
de vetores. Vetores so grupos de variveis de um mesmo tipo que compartilham um nome.
Cada elemento do vetor identificado por um ndice nico.
Sintaxe :
Dim nome_vetor(limite_superior) as tipo_de_dado
Observao Por default o primeiro elemento de um vetor tem ndice 0, portanto se voc
declarar um vetor com o comando Dim vetor(10) as integer, voc ter um vetor de 11
elementos e no de 10. Para evitar problemas prefira utilizar a segunda sintaxe, declarando
Dim vetor(1 to 10) as integer.
O Visual Basic permite a criao de vetores com mais de uma dimenso. Desta forma, voc pode
criar vetores de at 60 dimenses (matrizes).
Exemplo :
Dim matriz(9, 9) as single
Dim Matriz (1 to 10, 1 to 10) as single
Vetores Dinmicos
Em alguns casos, voc sentir a necessidade de utilizar um vetor, mas o tamanho do vetor
somente ser definido em runtime. O VB permite que voc crie vetores dinmicos, ou de
tamanho varivel. Para isso, o vetor deve ser declarado sem tamanho dentro do general
declarations de um formulrio ou mdulo.
Exemplo :
'Colocar dentro do general declarations de um formulrio ou mdulo
Dim Vetor() as string * 25
Feito isto, dentro da rotina onde vai ser definido o tamanho, redimensionar o vetor usando o
comando ReDim.
Exemplo :
Sub Command1_click ()
ReDim Vetor (List1.listcount)
End Sub
Importante: Sempre que voc usa o comando ReDim, todos os valores contidos no vetor so
perdidos e o vetor todo preenchido com o valor NULL. Para aumentar o tamanho de um
vetor sem que seu contedo seja perdido, utilizar a palavra chave Preserve.
Exemplo :
79
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Sub Command1_click ()
ReDim Preserve Vetor (List1.listcount)
End Sub
Para demonstrar a declarao de variveis, criaremos um exemplo onde quatro variveis sero
declaradas diferentemente :
VAR_GLB - varivel global.
VAR_FRM - varivel a nivel de formulrio.
VAR_TIM - varivel esttica local.
VAR_LOC - varivel esttica local a dois procedimentos diferentes.
Teremos tambm dois formulrios, onde um ter todas as funes de display e mudana de
valores das variveis e outro ter apenas a funo de alterar o valor da varivel de nvel
global.
Criao de Formulrios
2. Nomear o formulrio aberto de FRMPrimeiro.
3. Criar outro formulrio. Nome-lo de FRMSegundo.
4. Criar um mdulo de cdigo, ou seja, um .BAS.
80
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Criao de Controles
5. Em FRMPrimeiro, criar trs botes. Atribuir os seguintes valores s suas propriedades :
Caption Name
Outro Form CMDOutroForm
Boto 1 CMDBotao1
Boto 2 CMDBotao2
Criao de Variveis
7. Declarar uma varivel global do tipo inteiro com o nome de VAR_GL.
8. Declarar uma varivel a nvel de formulrio no FRMPrimeiro do tipo inteiro com o nome de
VAR_FRM.
9. Declar ar uma varivel esttica local ao eveo Timer do Timer no FRMPrimeiro do tipo
single com o nome de VAR_TIM.
10. Declarar uma varivel esttica local ao evento click do CMDBotao1 no FRMPrimeiro do tipo
inteiro com o nome de VAR_LOC.
11. Declarar uma varivel esttica local ao evento click do CMDBotao2 no FRMPrimeiro do tipo
inteiro com o nome de VAR_LOC.
Escrevendo o cdigo
12. Associar ao evento Timer do Timer no FRMPrimeiro, as seguintes linhas de cdigo :
Var_Tim = Var_Tim + 1
If Var_Tim MOD 2 = 0 Then
Var_Frm = Var_Frm + 1
Endif
13. Associar ao evento Click do CMDBotao1 no FRMPrimeiro, as seguintes linhas de cdigo :
Var_Loc = Var_Loc + 1
Print Var_Loc, Var_Frm, Var_gl
Print
14. Associar ao evento Click do CMDBotao2 no FRMPrimeiro, as seguintes linhas de cdigo :
Var_Loc = Var_Loc - 1
Print Var_Loc, Var_Frm, Var_gl
Print
15. Associar ao evento Click do CMDOutroForm no FRMPrimeiro, a seguinte linha de cdigo:
Form2.Show
16. Associar ao evento Load do FRMSegundo, a seguinte linha de cdigo :
Var_gl = Var_gl + 1
Executando a Aplicao
17. Pressionar F5 ou selecione Start do menu Run.
18. Pressione vrias vezes os botes e observe o comportamento das variveis.
81
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Objetivo
Formato:
If condio Then
bloco de comandos
End If
Existem dois tipos de estrutura condicional do tipo If...Then... . A primeira sintaxe, escrita em
apenas uma linha, deve ser utilizada quando apenas um comando for ser executado como
resultado de uma condio verdadeira. Quando, como resultado de uma condio, um bloco
de comandos tiver que ser executado, torna-se necessria a utilizao do End If como
demarcador do final do bloco de comandos.
Os seguintes operadores podem ser usados na composio de condies : =, <>, <, >, <=, >=.
If condio1 Then
Bloco de comandos
Bloco de comandos
Else
Bloco de Comandos
End If
Nesta estrutura permite-se testar vrias condies em um nico bloco de ifs, e reagir
diferentemente a cada uma das situaes. Esta estrutura de comandos possui as seguintes
caractersticas :
82
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Formato:
Case expresso
Bloco de comandos
Case expresso
Bloco de comandos
Case Else
bloco de comandos
End Select
Exemplos :
Select case varivel
case 1,3,5,7 to 11
comandos 'Entra se varivel for igual a 1,3,5,7,8,9,10,11
case 2, 4, 6, IS >=12
comandos 'Entra se varivel for igual a 2,4,6,12,13,14,15,...
End Select
83
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
7.3 Do While
Formato:
Do While condio
bloco de comandos
Loop
Do
bloco de comandos
7.4 Do Until
Formato:
Do Until condio
bloco de comandos
Loop
Do
bloco de comandos
Ambas sintaxes acima tem a mesma funcionalidade : executar um bloco de comandos at que
uma condio se torne verdadeira. A diferena entre elas : a composio do until/loop testa
a condio antes de executar o bloco de comandos. J a composio do/loop until executa o
bloco de comandos uma vez e depois testa a condio.
84
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Formato:
bloco de comandos
{Exit For}
bloco de comandos
Next contador
Esta estrutura de controle permite a execuo de um bloco de comandos por um nmero fixo
de vezes. O incremento pode ser positivo, negativo e em valores no inteiros. Cuidado para
no criar loops infinitos!!!
O Exit For permite a finalizao da execuo do For Next a partir daquele ponto. Deve-se ter
cuidado para no desestruturar o programa.
7.6 Go to
Formato:
GoTo label
GoTo linha
Este comando faz com que a execuo do programa pule para o label ou linha especificada.
Deve ser usado basicamente em rotinas de tratamento de erro, pois sua utilizao
generalizada pode causar desestruturao do programa.
85
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
8.0 Codificando em VB
Objetivo do mdulo
Fornecer as ferramentas necessrias para que voc possa comear a escrever o cdigo por trs
das interfaces em Visual Basic.
Sintaxe :
Sub Nome_da_subrotina()
Bloco de comandos
End Sub
Funes Similar a uma rotina. No entanto, de um tipo de dados, assim como variveis. Ao
final de sua execuo, retorna um valor ao mdulo que fez a chamada.
Sintaxe :
Function nome_funo() As tipo_de_dados
Blocos de comandos
nome_funo = Valor
End Function
86
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Argumentos
Qualquer procedimento pode receber dados, se tiver sido declarado para tal. Cada argumento
passado deve ter seu equivalente ( do mesmo tipo de dado ) na lista de parmetros da
subrotina ou funo.
87
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
A passagem de argumentos para uma funo ou subrotina pode ser feita por Valor ou por
Referncia. Na passagem por valor, a subrotina ou funo recebe apenas uma cpia do
argumento, sendo assim qualquer alterao no argumento dentro da subrotina/funo no ter
efeito no dado real.
O Visual Basic, por default, passa argumentos por referncia. Para passar argumentos por
valor, utiliza-se a palavra chave ByVal na lista de parmetros, ou ento coloca-se o
argumento entre parnteses na chamada da subrotina/funo.
Observaes :
3. Voc precisa apenas utilizar a palavra chave ByVal ou ento os parnteses extra.
Exemplos :
-- declarao da subrotina --
Sub nome_subrotina ( ByVal parmetro1 as Integer )
Bloco de comandos
End Sub
-- chamada da subrotina --
nome_subrotina (argumento1)
-- declarao de funo --
Function nome_funo ( ByVal parmetro1 as Integer) as Integer
Bloco de comandos
nome_funo = valor
End Function
-- chamada de funo --
Dim resultado as Integer
Resultado = nome_funo((argument1))
88
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Event Procedures
89
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Procedimentos de Eventos somente esto disponveis dentro do formulrio onde eles foram
definidos.
90
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Assim como variveis, procedimentos gerais tambm tm escopo. Veja no exemplo abaixo
de onde as funes e subrotinas declaradas podero ser vistas :
Como voc pde observar no exemplo acima, existem trs escopos de rotinas: a nvel de
formulrio, a nvel global e a nvel privado em mdulos.
Declarada com as palavras reservadas Sub ou Function dentro de um mdulo. Podem ser
chamadas de qualquer ponto da aplicao.
Utilizar a palavra reservada Private antes de Sub ou Function dentro de um mdulo. Somente
podem ser chamadas de dentro dele.
91
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Funo Descrio
Chr Retorna um caracter para o cdigo ANSI informado. Ex.: Chr(13) +
Chr(10) , CarriageReturn e LineFeed.
Format Rotina que retorna um nmero no formato que voc quiser. Ex.:
Format(Now, "dd-mm-yy"), traz a data de hoje no formato especificado.
Lcase Retorna o caracter minsculo do caracter informado. Ex.: LCase("H"),
retorna "h".
Left Traz os n caracteres mais a esquerda. Ex.: Left("gravador",5), retorna
"grava".
Len Traz o tamanho de um string. Ex.: Len("Mar"), retorna 3.
LTrim Retira espaos esquerda em um string.
Mid Retorna parte de uma string. Ex.: Mid( "reflorestamento", 3, 8), retorna
"floresta".
Right Traz os n caracteres mais a direita. Ex.: Right("armrio",3), retorna "rio".
Rtrim Retira espaos direita em um string.
Trim Retira espaos direita e esquerda em um string.
Ucase Retorna o caracter maisculo do caracter informado. Ex.: UCase("g"),
retorna "G".
Val Converte um string de dgitos em um nmero. Ex.: Val("100"), retorna
100; Val("1345,98") retorna 1345.
Funo Descrio
CCur Converte uma expresso caracter para tipo currency.
Cdbl Converte uma expresso caracter para tipo double.
Cint Converte uma expresso caracter para tipo integer.
CLng Converte uma expresso caracter para tipo long.
CSng Converte uma expresso caracter para tipo single.
CStr Converte uma expresso caracter para tipo string.
CVar Converte uma expresso caracter para tipo variant.
OBS.: A funo CVAR reconhece o indicador de decimal do Brasil (,). Para capturar um nmero
de casas decimais, us-la em conjuno com CDBL, CINT, CLNG, CSNG, dependendo do
tipo de nmero que desejar armazenar.
92
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
9. DATA MANAGER
Neste captulo ser visto passo-a-passo como construir um banco de dados ACCESS.
Para criar um banco de dados selecione a opco Visual Data Manager do menu Add-Ins
No Data Manager, escolha a opo New do menu File, no exemplo estamos criando um
Banco de Dados ACCESS da verso 7.0
93
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Dentro da janela Database Window d um clique com o boto direito do mouse e selecione a
opo New Table do menu de contexto.
94
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
D um nome para sua tabela e clique no boto Add Field para adicionar um campo sua
tabela. A seguinte janela aparece:
95
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Propiedades Descrio
Definida as propriedades do novo campo, pressione o boto OK. Repita o mesmo processo
para todos os campos que desejar incluir e pressione o boto Close para finalizar a criao de
novos campos.
Agora vamos criar ndices para a tabela. Clique no boto AddIndex. A seguinte janela
mostrada:
Escolha um nome para o ndice e os campos a serem indexados dando em duplo clique sobre
eles (na caixa Avaliable Fields). Especifique se o ndice primrio (Primary) e se o campo
aceita repeties (Unique).
Para criar outro ndice clique no boto OK e para finalizar a criao de ndices clique no
boto Close.
96
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Aps criar os campos e ndices desejados, voc deve confirmar a estrutura dando um clique
no boto Build the Table.
Voc pode adicionar novos campos ou alterar algumas das propriedades de uma tabela
existente. Isso feito clicando com o boto direito do mouse sobre a tabela que voc deseja
alterar, em seguida escolha a opo Design do menu de contexto.
97
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Aps criado o Banco de Dados voc pode inserir, apagar, editar e pesquisar registros em
cada tabela.
Na janela Database Window, clique com o boto direito do mouse sobre a tabela que
deseja trabalhar e selecione a opo Open. A seguinte janela mostrada:
Para inserir um registro, clique no boto Add e entre com os dados nas caixas referentes aos
campos da tabela. Em seguida clique no boto Update.
Para excluir, primeiro selecione o registro a ser apagado e clique no boto Delete.
Para alterar o valor de algum dado, clique no boto Edit. Nas caixas corespondentes entre
com o novo valor e clique no boto Update.
Com os outros botes voc pode impor um critrio de ordenao (SORT), fazer uma seleo
dos registros (FILTER), mover diretamente a um certo registro (MOVE) e realizar uma busca
(FIND).
98
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
No cdigo acima foi definido na primeira linha uma varivel objeto de banco de dados
(Banco), e a seguir usamos o mtodo OpenDatabase para designar o caminho de nosso banco
de dados.
Aps abrir o banco de dados voc deve definir um Recordset para ter acesso aos dados
contidos no banco de dados.
10.1 Recordset
o recurso mais importante relacionado com os objetos de acesso a dados. H trs tipos de
Recordset disponveis:
Snapshot Uma cpia somente de leitura dos dados de uma ou mais tabelas.
a nica forma de Recordset que aceita o uso de ndices, tordando a pesquisa em uma
tabela muito mais rpida
99
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Para abrir uma tabela, defina um objeto Rcordset e use o mtodo OpenRecordset para acessar
a tabela.
Informe a constante DbOpenTable para identificar o tipo de recordset criado. Veja o cdigo
abaixo:
Set Banco=OpenDatabase(C:\diretorio\banco.mdb)
Set Tabela=Banco.OpenRecordset(Clientes,DbOpenTable)
No cdigo acima definida a varivel objeto Recordset Tabela e atribuido a esta varivel a
tabela Clientes do banco de dados Banco.mdb.
Mtodo Ao
100
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
O mtodo Seek somente pode ser utilizado com o recordset do tipo tabela (Table).
Um comando Seek s localiza o primeiro registro que satisfaz aos valores de ndice
especificados. Para invocar o mtodo Seek necessrio fazer a chamada ao mtodo usando
operadores de comparao (<, <=, >, >=, =, <>), lembrando que os valores de chaves que
esto sendo comparados devem ter o mesmo tipo de dados dos campos no ndice de controle.
No cdigo acima definimos a recordset Tabela do tipo Table e a seguir definimos o ndice
ativo Tabela.index = nome e invocamos o mtodo Seek usando o operador = com nome a
ser procurado. Note que o ndice j deve ter sido criado, o operador deve estar entre aspas e
que deve ser separdo por vrgula do valor a ser localizado.
101
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
Aps a consulta realizada na tabela, voc pode incluir, excluir, editar o seu contedo, para
isso utilizamos as propriedades:
Propriedades Ao
102
Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) - Visual Basic
txtendereco = tabela.endereco
txttelefone = tabela.telefone
End If
End Sub
Private Sub Form_Load()
Set banco = OpenDatabase("c:\alunos\teste.mdb")
Set tabela = banco.OpenRecordset("teste", dbOpenTable)
End Sub
103