Вы находитесь на странице: 1из 103

Colgio Cruzeiro do Sul 1.

0 Apresentando o Visual Basic Objetivo do mdulo

Visual Basic

Apresentar os principais elementos do Visual Basic sem, no entanto, se aprofundar demais em nenhum tpico. Nos prximos captulos, todos estes tpicos sero discutidos mais detalhadamente.

1.1 O Formulrio e a Janela de Projeto do Visual Basic

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 : .FRM ( equivalente aos formulrios da aplicao ) .VBX ( que representam controles adicionais ) .BAS ( que so blocos de cdigo).

Colgio Cruzeiro do Sul Exemplo - Uma aplicao em VB com somente um formulrio Para Inicializar o VB : 1. Dar duplo-click no cone do Visual Basic. Visual Basic ser inicializado com um formulrio em branco na tela. Para executar a aplicao: 1. Selecionar no menu, Run / Start. O programa ser executado e mostrar o formulrio. 2. Selecionar no menu, Run / End. O programa ser finalizado. 1.2 A Caixa de Ferramentas ( Toolbox )

Visual Basic

A Caixa de Ferramentas, como o prprio nome sugere, aonde voc pega os elementos bsicos que compoem qualquer aplicao desenvolvida em Visual Basic. Existem duas formas de colocar um controle em um formulrio : Clicando duas vezes sobre o controle ou arrastando-o (drag) para dentro do formulrio.

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 1.3 A Caixa de Propriedades

Visual Basic

As propriedades definem as caractersticas de cada objeto/controle da aplicao. O conjunto de propriedades depende do controle selecionado. Por exemplo, um formulrio tem propriedades diferentes de uma figura. As propriedades podem ser alteradas em tempo de construo ou de execuo, sendo que algumas delas somente em tempo de execuo. Para alterar o valor de uma propriedade em tempo de construo, voc deve: 1. Selecionar o controle cuja propriedade desejar alterar; 2. Rolar pela lista de propriedades at encontrar a propriedade desejada ( apertando CTRL+SHIFT+<primeira letra do nome da propriedade> o VB se posiciona automaticamente na propriedade desejada .); 3. Digitar o novo valor; 4. Clicar o checkmark ( ) ou pressionar ENTER para confirmar a alterao efetuada. 1.4 A Barra de Ferramentas

A Barra de Ferramentas coloca sua disposio os comandos e funes normalmente mais utilizados. Todos estes comandos e funes tambm se encontram nos menus do VB. Os botes apresentados acima, da esquerda para a direita, executam as seguintes tarefas :

Adiciona um Projeto Adiciona um Formulrio Editor de Menu 3

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Abre um Projeto gravado Grava um Projeto Recorta Copia Cola Procura por uma sequncia de caracteres Desfaz ltima operao Refaz operao desfeita Inicia a execuo do Projeto Paraliza a execuo do Projeto Finaliza a execuo do Projeto

Visual Basic

1.5 A Janela de Cdigo 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.

1.6 O Menu de Comandos do Visual Basic 4

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Menu File - Gerenciando Formulrios e Projetos

Visual Basic

Menu Edit - Editando o cdigo Visual Basic

Menu Run - Testando Aplicaes

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 2.0 Construindo Aplicaes Visual Basic

Visual Basic

Objetivo do mdulo Apresentar vrios conceitos interrelacionados que o ajudaro na transio do mundo procedural para o mundo orientado a eventos. Este mdulo ser a base lgica utilizada no resto do curso. Aqui, cria-se o contraste entre a programao voltada para ambiente Windows e aquela para DOS.

2.1 Aplicaes Procedurais versus Aplicaes Orientadas a Eventos

Procedural
Programao Linear Baseada em caracteres Mono-tarefa Programador tem controle do ambiente

Orientada a Eventos
Eventos podem ser acionados pelo usurio ou pelo sistema. Baseada em objetos grficos Multi-tarefa Windows tem controle do ambiente

2.2 A Terminologia Visual Basic

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. Vimos portanto vrios conceitos importantes : Objetos - estrutura bsica do VisualBasic. Podem ser : controles, formulrios, impressora, etc. 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

Eventos - Acontecem aos objetos e so detectados pelo Windows. Podemos program-los para que os objetos reajam aos eventos.

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

2.3 Passos para a Criao de Uma Aplicao em Visual Basic 1. Abra um novo projeto. 2. Crie um formulrio para cada janela que voc conseguir visualizar dentro da aplicao. 3. Desenhe os controles nos formulrios. 4. Crie uma barra de menus. 5. Defina as propriedades do formulrio e dos controles. 6. Codifique os event procedures e general procedures. 7. Crie um arquivo executvel. 2.4 Como Distribuir o Executvel 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. 2.5 Projeto de Interface com Usurio A interface com o usurio deve seguir um padro. A interface atualmente adotada mundialmente para desenvolvimento de aplicaes Windows, a prpria interface criada pela Microsoft. 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 Feedback - Dar sempre um retorno ao usurio do que est acontecendo no momento. Usar cores como um chamariz de ateno, porm cuidado para no exagerar ! Preferir cores complementares, ao invs de cores inversas. A letra, normalmente utilizada em aplicaes Windows, qualquer uma Sans Serif. Ao usar tipos de letras diferentes, cuidado para no abusar da variedade.

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

3.0 Trabalhando com Formulrios Objetivo do mdulo Apresentar a ferramenta principal para o programador : o Formulrio. Apesar de ser apresentado de uma maneira simples, os conceitos e termos mostrados aqui sero necessrios para um entendimento completo deste ambiente de programao.

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 3.1 Principais Propriedades

Visual Basic

Propriedade BorderStyle

Default 2 - Sizeable

Caption ControlBox FontName Name Height Icon Left MaxButton MinButton

Form1 True Helv Form1 4425 twips

True True

MousePointer 0 Default Top Visible Width

True 7485 twips

Definio / Comentrios No padro de interface Windows, o tipo da borda segue o seguinte padro : Fixed Single - para caixas de dilogo no modais. Sizeable - borda padro para qualquer tela que no seja uma caixa de dilogo. Fixed Double - para caixas de dilogo modais. Ttulo da tela. False inibe a apario do controlbox na barra de ttulo do programa. Tipo da letra utilizada. Nome pelo qual o formulrio ser conhecido dentro da aplicao. Altura do formulrio. cone default para o formulrio. Se este for o Startup Form, ser o cone default da aplicao. Distncia da margem esquerda da tela. False inibe a apario do boto de maximizar na barra de ttulo do programa. False inibe a apario do boto de minimizar na barra de ttulo do programa. Altera o formato do mouse. Quando algo estiver sendo executado, o cursor deve assumir o formato de ampulheta (11). Distncia da margem superior da tela. False torna o formulrio invisvel. Largura do formulrio.

3.2 Principais Comandos

3.2.1 Load O comando LOAD utilizado para carregar um formulrio ou controle em memria. Normalmente aparece dentro de event procedures de outros formulrios ou controles. Sintaxe : Load objeto 10

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

Importante O comando Load no mostra automaticamente o formulrio; ele apenas carrega em memria. Para tornar o formulrio visvel, necessrio chamar o mtodo Show.

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) 3.3 Principais Eventos 3.3.1 Load

Visual Basic

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. 3.3.3 Query Unload 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 0 1 2 3 4

Significado O usurio iniciou o Unload a partir do Control Menu do formulrio. Pelo comando Unload, utilizado no cdigo. O Usurio est saindo do Windows. O usurio selecionou Finalizar Tarefa a partir do Gerenciador de Tarefas. Um formulrio MDI-filho est sendo fechado porque o MDI-pai est sendo fechado.

O evento QueryUnload de grande importncia para o programador de sistemas, pois impede o usurio de sair do sistema de uma forma incorreta, deixando clculos incompletos, conexes com banco de dados pendentes, etc..

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) Exemplo - Testando o evento Query Unload

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.

1. 2. 3. 4.

Inicializar o Visual Basic. Criar um Boto em um formulrio. Nome-lo CMDSair e o Caption = Sair. Associar ao evento CLICK do objeto CMDSair o comando End Associar ao evento Query Unload do form o seguinte cdigo :
if unloadmode <> 1 then MsgBox "O usurio tentou deixar o sistema a partir do Control Menu. Tente novamente da maneira correta !!!!" cancel = True End if

Executando a Aplicao 1. Tecle F5 ou clique na opo RUN / START do Menu

13

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 3.3.4 Activate

Visual Basic

Funciona como o GotFocus, mas para formulrios. O Activate ocorre a um formulrio sempre que este passa a ser o formulrio ativo ( com foco ). 3.3.5 Deactivate Funciona como o LostFocus, mas para formulrios. O Deactivate ocorre a um formulrio sempre que este deixa de ser o formulrio ativo. 3.4 Principais Mtodos 3.4.1 Mtodo Hide O mtodo Hide esconde um formulrio. O formulrio continua carregado em memria porm no mais visvel. O metdo Hide atribui o valor False propriedade Visible do formulrio. Se voc tentar esconder um formulrio que no esteja carregado em memria, este carregado porm fica escondido. Sintaxe : [formulrio].Hide 3.4.2 Mtodo Show 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%] Observao : O parmetro estilo% um valor inteiro que determina se um formulrio ser mostrado de forma modal ou no. Estes conceitos sero explicados mais adiante.

14

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Exemplo - Abrindo e Fechando formulrios

Visual Basic

Para exemplificar a abertura e fechamento de formulrios, construiremos uma aplicao composta por dois formulrios. Ao clicar em qualquer lugar do formulrio, o outro formulrio ser mostrado. 1. Inicializar o Visual Basic. Criando o segundo formulrio 2. Clicar com o mouse sobre o menu File. Selecionar New Form. Programando o click do primeiro formulrio 3. Clicar duas vezes sobre o primeiro formulrio. Uma janela de cdigo aparecer. 4. Na lista de eventos, selecionar o evento Click. 5. Escrever as seguintes linhas de cdigo :
Form2.show

Programando o click do segundo formulrio 6. Clicar duas vezes sobre o segundo formulrio. Uma janela de cdigo aparecer. 7. Na lista de eventos, selecionar o evento Click. 8. Escrever as seguintes linhas de cdigo :
Form2.hide

15

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Exemplo - Eventos Activate e Deactivate

Visual Basic

Para exemplificar os eventos Activate e Deactivate de formulrios, construiremos uma aplicao composta por dois formulrios. Ao passar de um formulrio para outro, a aplicao indicar quando um formulrio passou a ser o formulrio ativo da aplicao. 1. Inicializar o Visual Basic. Programando o Load do primeiro formulrio 2. Clicar duas vezes sobre o primeiro formulrio. Uma janela de cdigo aparecer. 3. Na lista de eventos, selecionar o evento Load. 4. Escrever a seguinte linha de cdigo :
MsgBox "Load do form1"

Programando o Activate do primeiro formulrio 5. Na lista de eventos, selecionar o evento Activate. 6. Escrever a seguinte linha de cdigo :
MsgBox "Activate do form1"

Programando o Deactivate do primeiro formulrio 7. Na lista de eventos, selecionar o evento Deactivate. 8. Escrever a seguinte linha de cdigo :
MsgBox "Deactivate do form1"

Programando o Unload do primeiro formulrio 9. Na lista de eventos, selecionar o evento Unload. 10. Escrever a seguinte linha de cdigo :
MsgBox "Unload do form1"

Criando o segundo formulrio 11. Clicar com o mouse sobre o menu File. Selecionar New Form. Programando o Activate do segundo formulrio 12. Clicar duas vezes sobre o segundo formulrio. Uma janela de cdigo aparecer. 13. Na lista de eventos, selecionar o evento Activate. 14. Escrever a seguinte linha de cdigo :
MsgBox "Activate do form2"

Programando o Deactivate do segundo formulrio 15. Na lista de eventos, selecionar o evento Deactivate. 16. Escrever a seguinte linhas de cdigo :
MsgBox "Deactivate do form2"

17. Na lista de eventos, selecionar o evento CLICK. 18. Escrever as seguintes linhas de cdigo:
Form2.Hide Form1.Show

Criando um boto no primeiro formulrio 19. Clicar duas vezes sobre a ferramenta Command Button da Caixa de Ferramentas. 16

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 20. Alterar propriedade Caption = Outro Formulrio. 21. Clicar duas vezes sobre o boto que aparecer no formulrio. 22. Na lista de eventos, selecionar o evento Click. 23. Escrever as seguintes linhas de cdigo :
Unload Form1 Form2.show

Visual Basic

Executando a Aplicao 24. Tecle F5 ou clique na opo Run / Start do menu.

3.5 Determinando o Formulrio Inicial de uma Aplicao

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.

3.6 Message Box

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. O formato bsico da funo MsgBox() a seguinte: MsgBox(mensagem) Essa linha de comando exibir na tela:

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: Resposta=MsgBox(Mensagem, TipodoBoto + cone + BotoDefault , Titulo)

Tipo do Boto 18

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Valor 0 1 2 3 4 5 Constante Identificada VbOKOnly VbOKCancel VbAbortRetryIgnore VbYesNoCancel VbYesNo vbRetryCancel Boto OK Botes OK e Cancel

Visual Basic

Descrio

Botes Abort, Retry e Cancel Botes Yes, No e Cancel Botes Yes e No Botes Retry e Cancel

Exemplo de uma funo MsgBox() utilizando botes: Resposta = MsgBox(Confirma Gravao, 4)

Voc pode utilizar tanto o valor numrico como a cosntante identificada para expecificar o tipo do boto. cone

Exemplo de uma funo MsgBox() utilizando botes e cone: 19

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Resposta = MsgBox(Confirma Gravao, 4 + 32)

Visual Basic

Boto Default O primeiro boto de comando em uma caixa de mensagem sempre o boto de comando padro. O Visual Basic seleciona o primeiro boto de comando ( esquerda) e, se o usurio pressionar Enter sem dar um clique em um boto de comando, o boto de comando selecionado ser acionado. 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: Valor 0 256 512 Cosntante Identificada VbDefaultButton1 VbDefaultButton2 VbDefaultButton3 Descrio O primeiro boto o padro O segundo boto o padro O terceiro boto o padro

Exemplo de uma funo MsgBox() utilizando botes , cone e definido o segundo boto como padro: Resposta = MsgBox(Confirma Gravao, 4 + 32 + 256)

Observe que o boto No o boto ativo quando a mensagem exibida.

20

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Ttulo

Visual Basic

O argumento Ttulo utilizado quando voc deseja especificar um ttulo para sua caixa de mensagem, como por exemplo: Resposta = MsgBox(Deseja Realmente Sair , 4 + 32 + 256 , Sair)

Controle sobre os Botes 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: Valor 1 2 3 4 5 6 7 Cosntante Identificada VbOk VbCancel VbAbort VbRetry VbIgnore VbYes vbNo Descrio O usurio deu um clique em OK O usurio deu um clique em Cancel O usurio deu um clique em Abort O usurio deu um clique em Retry O usurio deu um clique em Ignore O usurio deu um clique em Yes O usurio deu um clique em No

Independente de quantos botes de comando voc visualizar em uma caixa de mensagem, o usurio poder clicar somente em um boto. Assim que o usurio clicar em qualquer um dos botes da caixa de mensagem, ela desaparecer e o valor de retorno ser preenchido com o valor do boto que recebeu o clique.

21

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) O cdigo abaixo exemplifica a utilizao dos valores dos botes:

Visual Basic

resposta = MsgBox("Deseja Realmente Sair", 4 + 32 + 256, "Sair") If resposta = "6" Then 'O cdigo colocado aqui tratar a resposta YES Else 'O cdigo colocado aqui tratar a resposta NO End If End Sub

22

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 4.0 Criando Menus

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.

4.1 Padro de Menus Windows A seguir destacamos alguns tens que devem ser observados para que um menu esteja dentro do padro Windows.

A opo Sair deve ser a ltima opo do primeiro menu; 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

4.2 A Implementao do Visual Basic para a Criao de Menus

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) A janela de projeto de menu A janela de projetos de menu est dividida em duas partes: tens de Menu Item Descrio

Visual Basic

Caption

Nome que aparece no menu.

Name

Nome usado em cdigo.

Index

Usado na adio de menus dinamicamente.

30

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Negotiate Position

Visual Basic

ShortCut

Cria combinaes de tecla para acesso rpido.

Checked

Indica a existncia de uma check-mark ao lado do item.

Enabled

Indica se uma opo de menu est habilitada.

HelpContextId

Especifica um identificador para um item de menu em um sistema de Help.

31

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

Visible

Indica se uma opo de menu est visvel ou no.

WindowList

Especifica se o menu conter uma lista de formulrios MDI abertos.

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

Seta para esquerda

Aumenta o nvel hierrquico de um menu.

32

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

Seta para a direita

Diminui o nvel hierrquico de um menu. Seta para Cima Seta para Baixo Next Insert Delete Move a posio do cursor para um item de menu acima. Move a posio do cursor para um item de menu abaixo. Move a seleo para o prximo item da lista. Insere uma linha em branco acima do item Apaga um item de menu.

33

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Exemplo - Construindo Menus

Visual Basic

Para exemplificar a construo de menus, contruiremos uma tela simples, onde apenas as funes de construo sero enfocadas.

1. Abrir o Visual Basic. 2. Do menu Window, selecionar a opo Menu Design. 3. Criar os seguintes tens de menu :

Item de Menu
Arquivo Abrir - MNUSeparador

Caption
&Arquivo &Abrir

Name
MNUArquivo MNUAbrir

Sair

&Sair

MNUSair

34

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Editar

Visual Basic

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

5.0 Utilizando Controles Objetivo do mdulo Apresentar os controles, suas principais propriedades e eventos. No inteno do curso, que ao final deste mdulo, voc tenha domnio absoluto de todos os controles e propriedades existentes no Visual Basic. 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. Os controles apresentados sero : Labels Text boxes Frames Command Buttons Check Boxes Option Buttons Combo Boxes List Boxes Horizontal/Vertical Scroll Bars 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) 5.1 Tipos de Controles Caixa de Ferramentas

Visual Basic

38

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 5.2 Label e Text Box

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 Alignment Backcolor BorderStyle Caption Font FontSize ForeColor Height Left Name Top Descrio Alinhamento do texto dentro do label. Cor de fundo do label. Tipo de borda do label. Recomendvel no utilizar borda. Texto que aparece no label. Tipo de letra utilizada. Tamanho da letra utilizada. Cor da letra. Altura do label. Posio do extremo esquerdo do label em relao ao formulrio. Nome do controle a ser utilizado no programa. Posio do topo do label em relao ao formulrio.

39

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Text Boxes

Visual Basic

O text box um controle utilizado, basicamente, para a exibio de informao pelo sistema ou para a entrada de dados do usurio. Propriedade Alignment Font Height Left MaxLegth Multiline Name PasswordChar ScrollBars Text Top Width 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. Descrio Alinhamento do texto dentro do text box. Tipo de letra utilizada. Altura do text box. Indica margem esquerda do text box em relao ao formulrio. Tamanho mximo do texto. Indica se um text box tem mais de uma linha. Nome do controle a ser utilizado pelo programa. Caracter utilizado para esconder palavras secretas. Funciona apenas quando a propriedades Multiline tem valor False. Ex.: senhas. Indica a existncia de barras de rolagem. Texto do text box. Indica do topo do text box em relao ao formulrio. Largura da text box.

40

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Exemplo de Utilizao de Label e Text Box

Visual Basic

1. Inicializar o 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. Criando um Text Box 5. Clicar duas vezes sobre a ferramenta Text Box na Caixa de Ferramentas. 6. Selecionar o text1 e chamar a Caixa de Propriedades. 7. Atualizar a propriedade Name com TXBnome. 8. Na propriedade Text, apagar o que estiver escrito. Criando um Command Button 9. Clicar duas vezes sobre a ferramenta Command Button na Caixa de Ferramentas. 10. Selecionar o Command1 e chamar a Caixa de Propriedades. 11. Atualizar a propriedade Caption com Limpa e a propriedade Name com CMDLimpa. Programando o evento Click do boto 12. Clicar duas vezes sobre o controle Command1. 13. Na lista de eventos, selecionar o evento Click. 14. Escrever a seguinte linha de cdigo :
TXBnome.text = ""

Executando a Aplicao 15. Tecle F5 ou clique na opo Run / Start do menu.

41

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Propriedades que Restringem a Entrada de Dados

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) 5.2.1 Controlando a Tabulao

Visual Basic

A ordem de tabulao entre os campos de um formulrio designada pela propriedade Tab Index dos controles do formulrio. Esta propriedade vai sendo atribuda medida que os controles vo sendo criados dentro do formulrio. Portanto, a ordem de tabulao default a ordem de criao dos controles. No entanto, para alterar esta ordem, basta alterar a propriedade Tab Index dos controles. 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) 5.2.2 Designando Teclas de Acesso

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. Exemplo - Utilizando Labels e Text Boxes Suponha que voc tivesse que montar a seguinte tela para o envio de mensagens :

1. Inicialize o Visual Basic. 2. Com o formulrio selecionado, pressione F4 para ter acesso lista de propriedades. 3. Na propriedade Caption, escrever o ttulo do formulrio Incluso de Mensagens e na propriedade Name escrever FRMIncluso. Criando os Label Nome e Mensagem 4. Clique duas vezes sobre a ferramenta Label da Caixa de Ferramentas. 5. Com o label selecionado, pressione F4 para ter acesso lista de propriedades. 6. Na propriedade Caption, escreva o ttulo do label Nome e na propriedade Name escrever LBLNome. 7. Posicione o label de acordo com o desenho da tela acima. 8. Repita os passos de 4 at 7 para criar o label "Mensagem" ( Name=LBLMensagem). Criando o Text Box Nome 9. Clique duas vezes sobre a ferramenta Text Box da Caixa de Ferramentas. 10. Com o Text Box selecionado, pressione F4 para ter acesso lista de propriedades. 44

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 11. Na propriedade Text, apagar o que estiver escrito. 12. Na propriedade Name, escrever TXBnome. 13. Posicione o textbox de acordo com o desenho da tela acima.

Visual Basic

Criando o Text Box Mensagem 14. Clique duas vezes sobre a ferramenta Text Box da Caixa de Ferramentas. 15. Com o Text Box selecionado, pressione F4 para ter acesso lista de propriedades. 16. Na propriedade Text, apagar o que estiver escrito. 17. Na propriedade Name, escrever TXBmensagem. 18. Na propriedade ScrollBars, selecionar 2-Vertical. 19. Na propriedade Multiline, escrever True. Sem esta propriedade, o scroll bar vertical no funcionar. 20. Posicione o Text Box de acordo com o desenho da tela acima. 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) 5.3 Masked Edit

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) Propriedade ClipMode Format Mask MaxLength PromptChar PromptInclude

Visual Basic

Descrio Determina se os caracteres de mscara so includos ou no quando operaes de Cut/Copy so executadas. Valores possveis: 1 = inclui; 2 = no inclui. Formato com que nmeros, data, hora e strings sero mostrados na Masked Edit. Determina a mscara de entrada de dados. Tamanho mximo do campo. Caracter utilizado para pedir input ao usurio. Indica se os caracteres PromptChar sero includos na propriedade Text.

Caracteres de Mscara

, . : / & ? A #

Descrio Separador de casas decimais. Separador de milhar. Separador de hora. Separador de data. Reserva lugar para caracter. Reserva lugar para letras. Reserva lugar para alfanumrico. Reserva lugar para dgito.

Obs.: O separador de casas decimais e o separador de milhar se regulam pelo definido na configurao do Windows. Desta forma, se a configurao do Windows for formato brasileiro ( "," para casas decimais e "." para milhares), apesar de voc colocar "."para reservar o lugar do separador decimal, o que aparecer na tela em tempo de execuo ser ",".

47

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Exemplo - Utilizando Masked Edit

Visual Basic

Continuando o exemplo mostrado anteriormente, queremos agora colocar o nome do autor da mensagem e seu telefone de contato. O campo de autor da mensagem s dever conter letras e o telefone dever ser colocado no formato (999) 999-9999. Para fazer isto usa-se Masked Edits.

1. Inicialize o Visual Basic. 2. Como demonstrado anteriormente, crie os labels de "Autor da Mensagem" e "Telefone". Criando a Masked Edit Nome do Autor 3. Clique duas vezes sobre a ferramenta Masked Edit da Caixa de Ferramentas. 4. Com o Masked Edit selecionado pressione F4 para ter acesso lista de propriedades. 5. Na propriedade Name escrever MEBNomeAutor. 6. Na propriedade Mask colocar ????????????????????????????????????????????. Repare o que acontece com a propriedade MaxLength. Criando a Masked Edit Telefone 7. Clique duas vezes sobre a ferramenta Masked Edit da Caixa de Ferramentas. 8. Com o Masked Edit selecionado pressione F4 para ter acesso lista de propriedades. 9. Na propriedade Name escrever MEBTelefone. 10. Na propriedade Mask colocar (###) ###-####.. 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) 5.4 Frames, Option Buttons e Check Boxes

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) 5.4.1 Frames

Visual Basic

Frames permitem agrupar, grfica e funcionalmente, um grupo de controles. Um exemplo clssico do uso de Frames o agrupamento de Option Buttons mutuamente exclusivos. Propriedades Caption Name Visible Descrio O ttulo do frame. Nome do controle usado no cdigo. 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).

5.4.2 Check Boxes

Check Boxes so usados, normalmente, para permitir uma ou mais escolhas independentes, no exclusivas, em relao a outras j efetuadas.

Pro priedades Caption Enabled Name Value Visible

Descrio Ttulo da opo na tela. Habilita e desabilita o acesso do usurio. Nome do controle usado internamente. Indica se um check box est marcado ou no. Mostra ou esconde o controle.

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) 5.4.3 Option Buttons

Visual Basic

Option Buttons so normalmente utilizados para criar conjuntos de escolhas mutuamente exclusivas dentro de um contexto, que pode ser a tela, um frame ou um frame dentro de outro. Propriedades Caption Name Enabled Value Visible 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. Descrio Valor da opo na tela. Nome interno do controle. Define se o controle est ativo ou no. Indica se um option button est marcado ou no. Define se o controle est aparente ou no.

51

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

Exemplo - Utilizao de Frames, Check Boxes e Option Buttons Suponha que voc queira criar uma aplicao onde um texto escrito em um Text Box possa ser formatado por voc :

1. Inicialize o Visual Basic. 2. Como demonstrado anteriormente, crie o Text Box (Name = TXBExemplo). Criando os Option Buttons 3. Clique duas vezes sobre a ferramenta Frame da Caixa de Ferramentas. 4. Com o Frame selecionado pressione F4 para ter acesso lista de propriedades. 5. Nomeie este Frame "FRATamanho". 6. Com o frame selecionado, clique duas vezes sobre a ferramenta Option Button da Caixa de Ferramentas. 7. Com o Option Button selecionado pressione F4 para ter acesso lista de propriedades. 8. Nomeie este Option Button OPTPequena. 9. Atribua propriedade Caption o valor Pequeno. 10. Repita os passos 6 e 7 e nomeie o segundo boto OPTGrande. 11. Atribua propriedade Caption o valor Grande. Codificando os Option Buttons 12. Clique duas vezes sobre OPTPequena, uma janela de cdigo deve aparecer. 13. Escreva o seguinte comando :
TXBExemplo.FontSize = 12

14. Clique duas vezes sobre OPTGrande, uma janela de cdigo deve aparecer. 15. Escreva o seguinte comando :
TXBExemplo.FontSize = 18

Criando os Check Boxes 16. Clique duas vezes sobre a ferramenta Check Box da Caixa de Ferramentas. 17. Com o Check Box selecionado pressione F4 para ter acesso lista de propriedades. 18. Nomeie este Check Box CKBItalico. 19. Atribua propriedade Caption o valor Itlico. 20. Repita os passos 16, 17 e 18 e nomeie o segundo Check Box CKBSublinhado. 21. Atribua propriedade Caption o valor Sublinhado. Codificando os Check Boxes 22. Clique duas vezes sobre CKBItalico, uma janela de cdigo deve aparecer. 23. Escreva os seguintes comandos :
If CKBItalico.Value = 1 Then Text1.FontItalic = True Else

52

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)


Text1.FontItalic = False End If

Visual Basic

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) 5.5 Command Buttons Normais e Tridimensionais

Visual Basic

Propriedade Cancel Caption Default Enabled Height Left Name Top Width EVENTOS

Descrio Ativa o boto quando o Esc for pressinado. Valor do boto que aparece na tela. Ativa boto quando o Enter for pressionado. Permite, ou no, o acesso ao boto. Altura do boto. Posio da borda esquerda em relao ao formulrio. Nome do controle usado internamente. Posio da borda superior em relao ao formulrio. Largura do boto.

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) Propriedades Default e Cancel

Visual Basic

Default de Command Buttons 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. Cancel de Command Buttons 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) Exemplo - Utilizao de Command Buttons

Visual Basic

Suponha que voc queira criar uma aplicao onde a hora ser informada sempre que voc desejar:

1. 2. 3. 4.

Inicialize o Visual Basic. Como demonstrado anteriormente, crie o Text Box. Nomeie o Text Box de TXBHora. Com TXBHora selecionado, altere as propriedades FontSize, FontItalic e FontName.

Criando os Command Buttons 5. Clique duas vezes sobre a ferramenta Command Button da Caixa de Ferramentas. 6. Com o Command Button selecionado pressione F4 para ter acesso lista de propriedades. 7. Nomeie este Command Button CMDInforma. 8. Atribua o valor Informa Hora propriedade Caption. 9. Repetir os passos 5 e 6 e nomeie este Command Button CMDLimpa. 10. Atribua o valor Limpa propriedade Caption. Codificando os Command Buttons 11. Clicar duas vezes sobre CMDInforma, uma janela de cdigo ir aparecer. 12. Digitar a seguinte linha de cdigo:
TXBHora.Text = Format(Now, "hh:mm.ss")

13. Clicar duas vezes sobre CMDLimpa. Uma janela de cdigo ir aparecer. 14. Digitar a seguinte linha de cdigo:
TXBHora.Text = ""

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) 5.6 Combo Box e List Box

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) 5.6.1 List Box

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 Columns List Index MultiSelect

Name Sorted Text

Descrio Permite a exibio de mltiplas colunas em uma nica lista. Vetor que contm a lista dos tens da ListBox. ndice do item ,da lista, selecionado. 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. Nome interno do controle. Indica se a lista estar em ordem alfabtica ou no. 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 Click Seleciona um item da lista.

Double-Click Combina dois eventos : a seleo do item da lista e a inicializao de um processo associado quele item.

58

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) MTODOS Mtodo AddItem RemoveItem Clear Descrio Adiciona um item lista. Normalmente executado no Form Load. Remove um item especfico da lista. Remove todos os tens da lista.

Visual Basic

Sintaxe list1.additem "Joo da Silva" list1.removeitem (ListCount) List1.Clear

5.6.2 Combo Box

Propriedade Name Style

Text Height EVENTOS

Descrio Nome do controle internamente. Tipo da combo : 0 - Drop-Down Combo 1 - Simple Combo 2 - Drop-Down List Texto selecionado. Altura do Combo

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) Exemplo - Utilizao de List Box

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 :

1. Inicialize o Visual Basic. 2. Como demonstrado anteriormente, crie um Text Box. 3. Nomeie o Text Box de TXBNome. 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. Criando os Command Buttons 7. Crie trs botes e nomeie-os: CMDInclui, CMDRemove e CMDLimpa. 8. Com CMDInclui selecionado pressione F4 para ter acesso lista de propriedades. 9. Colocar o valor TRUE na propriedade Default. Codificando os Command Buttons 10. Clicar duas vezes sobre CMDInclui, uma janela de cdigo ir aparecer. Certifique-se que o evento Click. 11. Digitar as seguintes linhas de cdigo:
If Trim(TXBNome.Text) <> "" Then LSBNomes.AddItem TXBNome.Text End If TXBNome.Text = "" TXBNome.SetFocus

12. Clicar duas vezes sobre CMDRemove. Uma janela de cdigo ir aparecer. Certifique-se que o evento Click. 13. Digitar as seguintes linhas de cdigo:
If LSBNomes.ListIndex <> -1 Then LSBNomes.RemoveItem LSBNomes.ListIndex End If TXBNome.SetFocus

14. Clicar duas vezes sobre CMDLimpa. Uma janela de cdigo ir aparecer. Certifique-se que o evento Click. 15. Digitar as seguintes linhas de cdigo:
LSBNomes.Clear TXBNome.SetFocus

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.

Exemplo - Utilizao de Combo Box 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. 1. Inicialize o Visual Basic. Criando o Label e o Combo Box para o Nome 2. Como demonstrado anteriormente, crie um Label com Caption = Nome e Name=LBLNome . 3. Crie um Combo Box com Style = 0 - Dropdowm Combo e Name=CMBNome. 4. Inicialize sua propriedade Text com branco. Criando o Label e o Combo Box para o Cargo 5. Crie um Label com Caption = Cargo e Name=LBLCargo. 6. Crie um Combo Box com Style = 2 - Dropdowm List e Name=CMBCargo. Criando o Label e o Combo Box para o Departamento 7. Crie um Label com Caption= Departamento e Name=LBLDepartamento. 8. Crie um Combo Box com Style = 2 - Dropdowm List e Name=CMBDepartamento.

61

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

Programando o Load do form - (Carregando os dados de Cargos e Departamentos) 9. Clicar duas vezes sobre o form, uma janela de cdigo ir aparecer. Certifique-se que o evento Load. 10. Escreva as seguintes linhas de cdigo:
CMBCargo.AddItem CMBCargo.AddItem CMBCargo.AddItem CMBCargo.AddItem CMBCargo.AddItem "Estagirio" "Analista de Sistemas" "Gerente de Desenvolvimento" "Analista de Suprimentos" "Gerente de Marketing" "Marketing" "Sistemas" "Suprimentos" "Recursos Humanos"

CMBDepartamento.AddItem CMBDepartamento.AddItem CMBDepartamento.AddItem CMBDepartamento.AddItem

Programando o LostFocus do CMBNome (Incluso de novos nomes no Combo) 9. Clicar duas vezes sobre o combo, uma janela de cdigo ir aparecer. 10. Selecione o evento LostFocus. 11. Escreva a seguinte linha de cdigo:
CMBNome.AddItem CMBNome.text

Executando a Aplicao 12. Pressione F5 ou selecione Start do menu Run.

62

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 5.7 Scroll Bars

Visual Basic

Scroll Bars so utilizados quando se deseja demonstrar a posio corrente em uma escala. Propriedade LargeChange Max Min Name SmallChange Value 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. Descrio Mudana de valor que ocorrer quando o usurio clicar sobre o marcador de posio da barra. Valor mximo da barra. Valor mnimo da barra. Nome interno do controle. Mudana de valor que ocorrer quando o usurio clicar sobre as setas da barra. Valor correspondente posio da barra.

63

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Exemplo - Utilizao de Scroll Bar

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.

1. Inicialize o Visual Basic. 2. Como demonstrado anteriormente, crie o Text Box. 3. Nomeie o Text Box de TXBValor. Criando o Scroll Bar 4. Clique duas vezes sobre a ferramenta Horizontal Scroll Bar da Caixa de Ferramentas. 5. Com o Scroll Bar selecionado pressione F4 para ter acesso lista de propriedades. 6. Nomeie este Scroll Bar HSBValor. 7. Coloque o valor 100 na propriedade Max. 8. Coloque o valor 0 na propriedade Min. 9. Coloque o valor 1 na propriedade SmallChange. 10. Coloque o valor 5 na propriedade LargeChange. Codificando a Scroll Bar 11. Clique duas vezes sobre o scroll bar. A janela de cdigo do evento Change aparecer. 12. Digite a linha de cdigo :
TXBValor.Text = HSBValor.Value

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. O controle timer somente visvel em design time. Propriedade Enabled Interval Name Descrio Indica se o timer est ativo. Intervalo de tempo que o controle ser ativado. 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) Exemplo - Utilizando um Timer

Visual Basic

Relembrando a aplicao do relgio, agora vamos utilizar um timer para que a hora seja atualizada a cada segundo.

1. Inicialize o Visual Basic. 2. Como demonstrado anteriormente, crie o Text Box. 3. Nomeie o Text Box de TXBHora. Criando os Command Buttons 4. Crie dois botes, nomeie-os CMDLiga e CMDDesliga e atribua, s suas propriedades Caption , os valores Liga Relgio e Desliga, respectivamente. 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. Codificando os Command Buttons 9. Clicar duas vezes sobre CMDLiga, uma janela de cdigo ir aparecer. Certifique-se que o evento Click. 10. Digitar a seguinte linha de cdigo:
TIMsegundo.enabled = true

11. Clicar duas vezes sobre CMDDesliga. Uma janela de cdigo ir aparecer. Certifique-se que o evento Click. 12. Digitar a seguinte linha de cdigo:
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

5.9 Picture Box

Picture Boxes so basicamente utilizados para mostrar grficos ou figuras. No entanto, picture boxes tambm podem conter controles. Desta forma, alm de agrupar controles afins, voc pode ter vrias verses de uma parte de uma tela, em pictures diferentes , fazendo que apenas a verso (picture) que lhe convier no momento esteja aparente. EVENTOS Paint Acontece toda vez que um formulrio ou controle movimentado, mostrando parte de um picture box que inicialmente estava escondido. Este evento entretanto, s acontece quando a propriedade AutoRedraw do Picture Box est com valor False; caso contrrio, a repintura do Picture Box feita automaticamente, portanto o evento Paint no acontece.

Cuidado !! Em alguns casos no aconselhvel deixar a propriedade AutoRedraw de um picture Box com valor True; isto pode consumir muita memria do seu micro-computador.

67

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

Propriedade AutoRedraw AutoSize Name Picture

Descrio Indica se a pintura da Picture Box ser feita automaticamente ou no Se True, ajusta o tamanho da Picture Box de acordo o tamanho da figura. Nome interno do controle. Exibe um Dialog Box para definir uma figura, no formato BMP, WMF ou ICO, com o qual o Picture Box deve ser preenchido.

CARREGANDO E DESCARREGANDO FIGURAS EM RUNTIME Para carregar ou descarregar figuras, em tempo de execuo, utiliza-se a funo LoadPicture(). Exemplo - Utilizando um Picture Box 1. Inicialize o Visual Basic. Criando dois Command Button 2. Clique duas vezes sobre a ferramenta Command Button da Caixa de Ferramentas. 3. Com o objeto selecionado pressione F4 para ter acesso lista de propriedades. 4. Fazer Name=CMDCarregar e Caption=Carregar. 5. Repetir os passos 2 e 3 para criar outro Command Button, com as seguintes propriedades: Name=CMDLimpar e Caption=Limpar. Criando o Picture Box 6. Clique duas vezes sobre a ferramenta Picture Box da Caixa de Ferramentas. 7. Com o objeto selecionado pressione F4 para ter acesso lista de propriedades. 8. Nomeie esta picture box de PICFigura. Codificando o Command Button CMDCarregar 9. Escrever o seguinte cdigo no evento CLICK
Picture1.picture = LoadPicture ("c:\vb\icons\arrows\point12.ico")

Codificando o Command Button CMDLimpar 10. Escrever o seguinte cdigo no evento CLICK
Picture1.picture = LoadPicture ()

Executando a Aplicao 15. Pressione F5 ou selecione Start do menu Run.

68

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 5.10 Grid

Visual Basic

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 Rows, Cols FixedRows, FixedCols Principais Mtodos Descrio Indica o numero de linhas e colunas do grid. Nmero de linhas e colunas fixas do grid.

AddItem - Adiciona uma linha ao grid na posio especificada e a preenche. Sintaxe : nome-grid.additem contedo, ndice RemoveItem - Adiciona uma linha e seu contedo do grid. A linha a ser retirada a especificada pelo ndice. Sintaxe : nome-grid.removeitem 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) Exemplo - Utilizao de Grid

Visual Basic

Para exemplificar a utilizao de um grid, construiremos uma pequena aplicao onde se possa cadastral nomes e telefones.

1. 2. 3. 4.

Inicialize o Visual Basic. Como demonstrado anteriormente, crie dois Text Boxes. Nomeie os Text Boxes de TXBNome e TXBTelefone. Esvazie o contedo de suas propriedades Text.

Criando os Command Buttons 5. Crie dois botes de comando e nomeie-os CMDAdicionar, CMDSair, e atribua sua propriedade Caption, os valores Adicionar e Sair, respectivamente. 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. Codificando o Load do Formulrio 11. Clique duas vezes sobre o formulrio, a janela de cdigo deve aparecer. Verificar se o evento selecionado o Load. 12. Escrever as seguintes linhas de cdigo :
GRDAgenda.Row = 0 GRDAgenda.Col = 0 GRDAgenda.Text = "Nome" GRDAgenda.Col = 1 GRDAgenda.Text = "Telefone" GRDAgenda.ColWidth(0) = 2500 GRDAgenda.ColWidth(1) = 1500 GRDAgenda.Width = 4300

Codificando os Command Buttons 13. Clicar duas vezes sobre CMDAdiciona, uma janela de cdigo ir aparecer. Certifique-se que o evento Click. 14. Digitar as seguintes linhas de cdigo:
If Trim(TXBNome.Text) <> "" And Trim(TXBTelefone.Text) <> "" Then

70

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

GRDAgenda.AddItem TXBNome.Text + Chr(9) + TXBTelefone.Text, GRDAgenda.Rows - 1 End If

15. Clicar duas vezes sobre CMDSair. Uma janela de cdigo ir aparecer. Certifique-se que o evento Click. 16. Digitar a seguinte linha de cdigo:
End

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 Cuidado !!!! No utilize nunca o mtodo SetFocus dentro de um evento LostFocus. Dependendo da lgica de programao, isto pode causar loop infinito !!

71

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 6.0 Tipos de Dados Objetivo do mdulo

Visual Basic

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. 6.1 Tipos de Dados de Variveis Tipo Integer Long Single Double Currency String Variant % & ! # @ $ Descrio Inteiro de 2 bytes Inteiro de 4 bytes Num. Ponto Flutuante de 4 bytes Num. Ponto Flutuante de 8 bytes Num. Ponto Decimal Fixo de 8 bytes String de caracteres 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. 6.2 Declarao de Variveis 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. Existem duas sintaxes de declarao explcita de variveis : Usando a palavra reservada AS
Dim Dim Dim Dim I as Integer Total as Double Nome as Sring Valor as Currency

Usando caracter de tipo


Dim Dim Dim Dim I% Total# Nome$ Valor@

Para fazer declarao de variveis compostas, usar :


Dim I as Integer, Total as Double

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

Strings de Tamanho Fixo e de Tamanho Varivel 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 1. 2. 3. 4. Nomes de variveis podem ter, no mximo, 40 caracteres. Nomes podem conter letras, nmeros e underscores (_). O primeiro caracter do nome deve ser uma letra. Palavras reservadas do Visual Basic no podero ser utilizadas.

6.3 Tipo de Dado Variant 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) 6.5 Escopo de Dados

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 : Apenas uma rotina dentro de um formulrio Dentro de todas as rotinas de um formulrio Dentro de uma nica rotina de um mdulo de procedimentos Dentro de todas as rotinas de um mdulo de procedimentos Dentro de todos os formulrios e mdulos de procedimentos da aplicao.

75

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 6.5.1 General Declarations

Visual Basic

O "objeto" general de um formulrio/mdulo a rea onde voc declara todas as variveis e rotinas, que so comuns a todos os procedimentos daquele formulrio/mdulo. Na parte de declarations, voc define suas variveis (globais ou de mdulo/formulrio). Para definir uma rotina basta escrever Sub nome_rotina ou Function nome_funcao (parametros) que o Visual Basic abre uma janela para que o cdigo seja escrito.

Escopo Local Mdulo ou Formulrio Global

Declarao Dim, Static (dentro de um procedimento) Dim (dentro da General Declarations de um mdulo de procedimentos ou formulrio) Global (dentro do General Declarations de um mdulo de procedimentos)

Visibilidade dentro do procedimento dentro de todas as rotinas de um formulrio ou mdulo de procedimentos em todos os pontos da aplicao

6.5.2 Static versus Dim 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) 6.6 Tipos de Dados Adicionais do VB

Visual Basic

Tipos de Dados Definidos pelo Usurio 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

Em uma rotina utilizar :


Sub Le_Cliente Dim Cliente as Reg_cliente Cliente.nome = TXBNome.text Cliente.telefone = TXBTelefone.text End Sub

77

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

Exemplo - Utilizao de tipos de dados definidos pelo usurio 1. Inicializar o 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. Criao do mdulo BAS 5. Selecionar no menu as opes File / New Module Declarao do tipo definido pelo usurio 6. Digitar as seguintes linhas de cdigo no General / Declarations do mdulo BAS:
Type Reg_cliente nome As String * 50 telefone As String * 11 End Type

Declarao da varivel do tipo Reg_cliente 7. Digitar a seguinte linha de cdigo no General / Declarations do form:
Dim Cliente as Reg_cliente

Codificando o evento Click do CMDIncluir 8. Digitar as seguintes linhas de cdigo:


Cliente.nome = TXBNome.Text Cliente.telefone = TXBTelefone.Text

Codificando o evento Click do CMDMostrar 9. Digitar as seguintes linhas de cdigo:


Dim Msg As String Msg = "Nome do cliente: " + Cliente.nome Msg = Msg + " Telefone do cliente: " + Cliente.telefone MsgBox Msg

78

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 6.7 Vetores

Visual Basic

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 Dim nome_vetor(limite_inferior To 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. Vetores Multidimensionais ou Matrizes 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)


Sub Command1_click () ReDim Preserve Vetor (List1.listcount) End Sub

Visual Basic

Para limpar uma matriz e reduzir o seu tamanho fazer :


Redim vetor(0)

Exemplo - Escopo de Dados 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.

1. Inicializar o Visual Basic. 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 Outro Form Boto 1 Boto 2 Name CMDOutroForm CMDBotao1 CMDBotao2

6. Em FRMPrimeiro, criar um timer. Habilit-lo e colocacar como intervalo de funcionamento o valor de 1 segundo ( lembre-se que a unidade de VB milsimo de segundo ). 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) 7.0 Estruturas Lgicas e Condicionais Objetivo

Visual Basic

Sendo este um curso direcionado a profissionais de informtica acostumados utilizao de estruturas de controle como condies e repeties, este mdulo apresentar apenas as sintaxes das estruturas j conhecidas e tambm quaisquer novidades que estas estruturas no Visual Basic possuam. 7.1 If / Then / Else Formato: If condio Then comando

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 ElseIf condio2 Then 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 : Pode comportar um nmero ilimitado de ElseIfs Se nenhuma condio for verdadeira, o bloco de comandos seguindo o Else ser executado.

82

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 7.2 Select Case Formato: Select Case varivel a ser testada Case expresso Bloco de comandos Case expresso Bloco de comandos Case Else bloco de comandos End Select

Visual Basic

A estrutura de comandos Select Case funciona como uma estrutura If...Then...ElseIf...Else... , porm mais eficiente. Nos exemplos abaixo, demonstra-se o uso das palavras reservadas TO e IS, que diversificam ainda mais a utilizao desta estrutura. 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

Select case palavra Case "A" to "a" 'Entra se pertencer a este intervalo. Ex.: "BRASIL" entra comandos Case "H" to "c" comandos End Select

83

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 7.3 Do While Formato: Do While condio bloco de comandos Loop

Visual Basic

Do bloco de comandos Loop While condio

Ambas sintaxes acima tem a mesma funcionalidade : executar um bloco de comandos enquanto uma condio for verdadeira. A diferena entre elas : a composio do while/loop testa a condio antes de executar o bloco de comandos. J a composio do/loop while executa o bloco de comandos uma vez e depois testa a condio. 7.4 Do Until Formato: Do Until condio bloco de comandos Loop

Do bloco de comandos Loop Until condio 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.

7.5 For Next 84

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Formato:

Visual Basic

For contador = valor_inicial To valor_final {Step incremento} 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) 8.0 Codificando em VB Objetivo do mdulo

Visual Basic

Fornecer as ferramentas necessrias para que voc possa comear a escrever o cdigo por trs das interfaces em Visual Basic. 8.1 Procedimentos (Sub e Functions) Procedimentos so conjuntos de comandos Visual Basic que podem ser chamados de unidades lgicas. Existem dois tipos de procedimentos : subrotinas e funes. Subrotinas Conjunto de comandos que no obrigatoriamente retorna um valor ao procedimento que o chamou. Ao chegar ao final de sua execuo retorna ao mdulo que fez a chamada. 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) 8.2 Passando Parmetros para uma Subrotina

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. Sintaxe - declarao da subrotina :
Sub nome_subrotina ( parmetro1 as Integer, parmetro2 as Integer) Bloco de comandos End Sub

Sintaxe - chamada da subrotina :


nome_subrotina argumento1, argument2

Sintaxe - declarao de funo :


Function nome_funo ( parmetro1 as Integer, Integer Bloco de comandos nome_funo = valor End Function parmetro2 as Integer) as

Sintaxe - chamada de funo :


Dim resultado as Integer Resultado = nome_funo(argumento1, argumento2)

87

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Passagem de Argumentos por Valor e por Referncia

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. J na passagem de argumentos por referncia, a subrotina/funo recebe o endereo que realmente contm o dado. Assim sendo, qualquer alterao no argumento alterar o dado de verdade. 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 : 1. Propriedades de objetos somente podem ser passadas por valor. 2. Se o seu argumento do tipo variant, e a sua subrotina/funo espera um parmetro de um tipo de dado definido, a passagem do argumento deve ser feita por valor. 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) 8.3 Tipos de Procedimentos

Visual Basic

O Visual Basic possui duas categorias de procedimentos : Eventos e Gerais. Procedimentos gerais, como vimos anteriormente podem ser funes ou subrotinas, e so ativados pelo prprio programador via cdigo.

Event Procedures Procedimentos de Eventos, ou Event Procedures, so sempre ativados a partir de um evento acionado pelo usurio ou ento pelo sistema (Windows). Event Procedures esto sempre ligados a um formulrio ou controle. O nome do procedimento indica o evento e a qual formulrio/controle que o evento est associado. Sintaxe : Sub nome-objeto_nome-evento() Exemplo : Command1_Click, Form1_Load, Text1.Change, etc.

89

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 8.4 Criando uma Event Procedure

Visual Basic

O Visual Basic j fornece as declaraes de todos os procedimentos de eventos existentes para cada controle. Para inserir cdigo de tratamento para qualquer evento, voc deve abrir a janela de cdigo, selecionar o objeto que voc deseja tratar, selecionar o evento, e ento digitar o cdigo.

Ativando um Procedimento de Evento O Visual Basic reconhece automaticamente o acontecimento de um evento. Ao reconhecer o evento, ele executa imediatamente o cdigo de tratamento para aquele evento.

Escopo de Procedimentos de Eventos Procedimentos de Eventos somente esto disponveis dentro do formulrio onde eles foram definidos.

90

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) 8.5 Escopo de Procedimentos Gerais

Visual Basic

Assim como variveis, procedimentos gerais tambm tm escopo. Veja no exemplo abaixo de onde as funes e subrotinas declaradas podero ser vistas :

Fromulrio/Mdulo Form1.frm Form2.frm Modulo.bas

Pode ver Rotina A, Funo1, Funo 3 Rotina B, Funo2, Funo 3 Rotina C, Funo 3

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. Escopo a nvel de formulrio Declarada com as palavras reservadas Sub ou Function dentro de um formulrio. Somente podem ser chamadas de dentro dele. Escopo a nvel global Declarada com as palavras reservadas Sub ou Function dentro de um mdulo. Podem ser chamadas de qualquer ponto da aplicao. Escopo privado em mdulos 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

8.6 Funes de Converso de Expresses Numricas e de Caracteres Funo Chr Format Lcase Left Len LTrim Mid Right Rtrim Trim Ucase Val Descrio Retorna um caracter para o cdigo ANSI informado. Ex.: Chr(13) + Chr(10) , CarriageReturn e LineFeed. Rotina que retorna um nmero no formato que voc quiser. Ex.: Format(Now, "dd-mm-yy"), traz a data de hoje no formato especificado. Retorna o caracter minsculo do caracter informado. Ex.: LCase("H"), retorna "h". Traz os n caracteres mais a esquerda. Ex.: Left("gravador",5), retorna "grava". Traz o tamanho de um string. Ex.: Len("Mar"), retorna 3. Retira espaos esquerda em um string. Retorna parte de uma string. Ex.: Mid( "reflorestamento", 3, 8), retorna "floresta". Traz os n caracteres mais a direita. Ex.: Right("armrio",3), retorna "rio". Retira espaos direita em um string. Retira espaos direita e esquerda em um string. Retorna o caracter maisculo do caracter informado. Ex.: UCase("g"), retorna "G". Converte um string de dgitos em um nmero. Ex.: Val("100"), retorna 100; Val("1345,98") retorna 1345.

Funo CCur Cdbl Cint CLng CSng CStr CVar

Descrio Converte uma expresso caracter para tipo currency. Converte uma expresso caracter para tipo double. Converte uma expresso caracter para tipo integer. Converte uma expresso caracter para tipo long. Converte uma expresso caracter para tipo single. Converte uma expresso caracter para tipo string. 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) 9. DATA MANAGER

Visual Basic

O DataManager um gerenciador de banco de dados, permite criar, modificar e apagar um banco de dados, inserir, modificar e excluir registros e criar ndices. Neste captulo ser visto passo-a-passo como construir um banco de dados ACCESS. 9.1 Criando um Banco de Dados 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

Nomeie e salve o Banco de Dados no diretrio desejado A seguinte janela ser exibida:

93

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

9.2 Criao de tabelas Vamos montar a estrutura do banco de dados, iniciaremos pelas tabelas. Dentro da janela Database Window d um clique com o boto direito do mouse e selecione a opo New Table do menu de contexto.

A seguinte janela aparece:

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:

Defina as propiedades do novo campo:

95

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br) Propiedades Name Type Nome do campo

Visual Basic

Descrio

Tipo do campo. Pode ser: Boolean, Byte, Integer, Long, Currency, Single, Double, Date/Time, Text, Binary ou Memo Tamanho do campo. definido automaticamente, aps a seleo do tipo de dados, podemdo ser alterado apenas para campos do tipo Text

Size

AllowZeroLenght

Define se o campo permite dados de comprimento zero

Required

Define se o preenchimento do campo obrigatrio Define a ordem do campo na tabela Mensagem a ser exibida ao se violar a regra de validao Regra de validao para os dados a serem inseridos no campo Valor padro para o campo

Ordinal Position Validation Text

Validadtion Rule

Default Value

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.

9.3 Modificando a estrutura de uma tabela existente 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) 9.4 Inserindo dados

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

10. Utilizando um Banco de Dados A abertura de um banco de dados feita com o uso do mtodo Opendatabase, como mostrado no exemplo abaixo: Dim banco as Database Set banco = OpenDatabase(C:\diretrio\banco.mdb) 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: Tabelas so estruturas fsicas que contm os dados em um banco de dados

Dynaset Um conjunto de ponteiros para acesso de campos e registros localizados em uma ou mais tabelas. Snapshot Uma cpia somente de leitura dos dados de uma ou mais tabelas.

Nos nossos estudos utilizaremos a Tabela, cujo as vantagens so : a nica forma de Recordset que aceita o uso de ndices, tordando a pesquisa em uma tabela muito mais rpida As alteraes realizadas pelos usurios ficam imediatamente disponveis

99

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

10.2 Abertura de uma tabela 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: Dim Banco as Databse Dim Tabela as Recordset 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.

10.3 Mtodos de movimentao e localizao Os mtodos de movimentao permitem a passagem de um registro para outro no interior do Recordset, e alteram a posio do ponteiro do registro ao passar de um registro ativo para outro registro. Os mtodos de movimentao so:
Mtodo MoveFirst MoveNext Ao Movimenta o ponteiro para o primeiro registro do recordset Movimenta o ponteiro do registro para o prximo registro. Se no houver registro seguinte o flag final de arquivo (EOF) ser ativado MovePrevious Movimenta o ponteiro do registro para o registro anterior. S no houver registro anterior o flag de incio de arquivo (BOF) ser ativado MoveLast Move n Move o ponteiro para o ltimo registro do recorset Movimenta o ponteiro de registro para n possies para frente (n

100

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)

Visual Basic

positivo) ou para trs (n negativo) a partir do registro ativo. Se a movimentao levar o ponteiro alm dos limites do recordset ocorrer um erro

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. Aps executar o mtodo de localizao voc deve verificar o status da propriedade NOMATCH. Se Nomatch verdadeira o mtodo no encontrou o registro desejado, se Nomatch falsa o ponteiro do registro se posiciona no registro encontrado. Veja o exemplo a seguir :
Dim Banco as Databse Dim Tabela as Recordset Set Banco=OpenDatabase(C:\diretorio\banco.mdb) Set Tabela=Banco.OpenRecordset(Clientes,DbOpenTable) Tabela.index = nome Tabale.seek =, Bill Gates If tabela.nomatch then Msgbox Cliente no localizado Else Msgbox Cliente localizado com sucesso Endif

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

10.4 Trabalhando com a tabela Aps a consulta realizada na tabela, voc pode incluir, excluir, editar o seu contedo, para isso utilizamos as propriedades: Propriedades AddNew Delete Edit Upadate Ao Prepara a tabela para a insero de um novo registro Apaga o registro atual da tabela Prepara a tabela para a edio do registro atual Atualiza os dados aps uma operao de gravao ou alterao de um registro

O Cdigo abaixo demostra a utilizao das propriedades descritas acima:


Dim banco As Database Dim tabela As Recordset Private Sub cmdapagar_Click() tabela.Delete End Sub Private Sub cmdeditar_Click() tabela.Edit tabela.endereco = txtendereco tabela.telefone = txttelefone tabela.Update End Sub Private Sub cmdgravar_Click() tabela.AddNew tabela.nome = txtnome tabela.endereco = txtendereco tabela.telefone = txttelefone tabela.Update End Sub Private Sub Cmdlocalizar_Click() tabela.Index = "nome" tabela.Seek "=", txtnome If tabela.NoMatch Then MsgBox "Cliente no localizado" Else MsgBox "Cliente localizado com sucesso" txtnome = tabela.nome

102

Somm@ Edioes Amos Lima (amos_lima@yahoo.com.br)


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

Visual Basic

103

Вам также может понравиться