Escolar Documentos
Profissional Documentos
Cultura Documentos
Marcelino Macdo
-1-
Janelas : o veculo usado como sada pelo Windows para a comunicao com o usurio e esta
poder ter diversos formatos, como por exemplo, uma janela do tipo "dilogo de mensagem", como
a que utilizada pelo Windows para efetuar o Log-Off de um usurio.
Eventos : As janelas, para que desempenhem um papel, devem responder a eventos. Mas o que
so eventos? Veja um exemplo ... quando voc clicou no quadrado representado por um "x",
disparada uma ao, neste caso a de fechar a janela. No exemplo dado, a janela respondeu a um
evento, disparado pelo clique do mouse em um determinado local desta.
Mensagens : Ao acionar um determinado evento, uma mensagem dever ser enviada para o
sistema operacional, solicitando uma determinada ao.
Com base no que vimos at este ponto, podemos concluir que uma aplicao orientada por eventos dever
responder a aes do usurio ou da prpria aplicao.
Quando estamos em um ambiente de desenvolvimento grfico, iremos trabalhar muitas vezes apenas
inserindo componentes dentro do(s) formulrio(s). Estes componentes, devero responder a eventos, e
estes eventos que sero codificados pelo programador.
Ao inserir um componente em uma janela, automaticamente parte da codificao do mesmo
automaticamente acrescentada fonte do aplicativo, por isso dado o termo VISUAL.
Um componente um objeto, como por exemplo um boto ou um Grid. Este objeto, possui vrios eventos,
que por sua vez so executados em determinadas sequncias, sendo que o programador, dever ter
conhecimentos e a lgica necessria a identificao dos eventos que devero ser programados.
Pelo que observarmos at este ponto, no ambiente Windows, a programao alm de ser orientada a
eventos, baseada na utilizao de objetos, ou seja, componentes usados na confeco da interface grfica
de uma determinada aplicao.
Quando carregamos o VB na memria, ou seja, executamos o mesmo, apresentada inicialmente a seguinte
janela na tela do seu micro:
Marcelino Macdo
-2-
Acima, temos a visualizao do ambiente de desenvolvimento integrado ( IDE ), que na verdade proporciona
ao desenvolvedor a possibilidade da escrita de cdigo, insero/controle dos componentes do formulrio,
compilao, depurao de cdigo, ou seja, tudo integrado em um nico ambiente de fcil interpretao.
Neste ambiente, podemos destacar:
O
MENU
Dispe dos comandos para diversas finalidades, como salvar um projeto, incluir novos componentes,
compilar o projeto, etc... Estas opes esto disponibilizadas atravs de uma ordem lgica e em grupos de
ferramentas/utilitrios.
A
BARRA
DE
FERRAMENTAS
Nesta barra, o desenvolvedor ter acesso aos comandos de menu mais utilizados, agilizando assim o seu
trabalho.
A CAIXA DE FERRAMENTAS
Na caixa de ferramentas, esto dispostos os diversos componentes (objetos) que sero utilizados na
construo da interface de aplicao.
O EXPLORADOR DE OBJETOS
Marcelino Macdo
-3-
EDITOR
DE
iremos
nosso
CDIGO
Neste editor, voc ir escrever as linhas de cdigo. Como voc pode observar, no editor, poderemos escolher
o componente/objeto a ser trabalhado e o respectivo evento a ser codificado. No grfico acima, temos
selecionado o objeto formulrio ( FORM ), no evento "ao carregar" ( LOAD ), ou seja, a codificao que ser
realizada quando o formulrio for carregado. Aos poucos iremos nos acostumando com o trabalhado de
codificao dos componentes/objetos e seus respectivos eventos.
Ao trabalhar com o Visual Basic 6.0, voc poder trabalhar com o Mouse, bem como substituir o mesmo com
teclas de atalho. Para tal procedimento, utilize a tabela a seguir:
Para a janela de cdigo
Combinao do teclado
Utilidade/funo
CTRL + BREAK
CTRL + DELETE
CTRL + END
CTRL + F
CTRL + H
Marcelino Macdo
-4-
CTRL + I
CTRL + J
CTRL + N
CTRL + PAGE UP
CTRL + SHIFT + F2
CTRL + SHIFT + F9
CTRL + SHIFT + I
CTRL + SHIFT + J
CTRL + SPACEBAR
CTRL + UP ARROW
CTRL + Y
CTRL + Z
END
F1
F2
F3
F7
F8
F9
Define/remove um breakpoint
PAGE UP
SHIFT + F8
CTRL + C
CTRL + X
CTRL + V
CTRL + Z
TAB
Avana para o prximo controle na ordem definida pela propriedade TAB Index
F4
Estas so as principais teclas de atalho. No decorrer do curso iremos estudar outras teclas de atalho. Aqui
citamos as mais utilizadas.
O objetivo desta primeira aula foi o de apresentar o ambiente VB e falar um pouco sobre o mesmo. Na
prxima aula iremos comear a gerar nossos primeiros aplicativos.
- Aula 02 - A Estrutura de um aplicativo desenvolvido em VB
Um aplicativo desenvolvido em Visual Basic, como em outras plataformas de desenvolvimento for Windows,
formada por formulrio e mdulos. Estes formulrios possui um respectivo mdulo de cdigo, e este
dividido em sees:
Seo que rene o cdigo dos componentes que fazem parte do formulrio e suas respectivas
propriedades;
Marcelino Macdo
-5-
Criados pelo prprio desenvolvedor, quando o mesmo define os seus mdulos de classe.
Fornecidos por terceiros, que devero ser instalados de acordo com a necessidade de
desenvolvimento;
Um exemplo comum de objeto so as caixas de texto. Os objetos ficam localizados na caixa de ferramentas,
estudada no mdulo de aula anterior.
As propriedades de um objeto e seus cdigos podero ser alteradas em duas hipteses:
Em tempo de execuo;
Em tempo de desenvolvimento.
Vamos pegar como exemplo, uma caixa de texto. Esta possui um mtodo denominado Drag, que habilita ou
no a ao de arrastar e soltar.
Pelo que observamos ento at este ponto, ser fundamental escrever cdigos de programao, porm para
isso, necessrio que voc conhea o editor de cdigos do Visual Basic. O editor de cdigos do VB, conforme
observamos na aula 01, est sendo representado na figura a seguir:
Marcelino Macdo
-6-
Para abrir o editor de cdigos, voc poder proceder das seguintes maneiras:
1. Dando um clique duplo sobre qualquer parte vaga do formulrio;
2. Dando um clique duplo sobre qualquer parte de um objeto/componente;
3. Clicando sobre o boto View Code que est disponvel no Project Explorer.
Quando abrimos o editor de cdigo atravs de um clique duplo sobre o formulrio ou sobre um de seus
objetos/componentes, o cdigo ser automaticamente aberto em um determinado evento deste. A forma
pela qual o cdigo ser exibido, poder ser configurada pelo usurio, atravs das opes de IDE. Tais
procedimentos iremos estudar a seguir:
PERSONALIZANDO A IDE
Para tal, com o Visual Basic em execuo, clique na opo de menu TOOLS e no menu que se abre, selecione
a opo OPTIONS. Ser aberta uma janela com o ttulo de OPTIONS, iremos a seguir estudar as principais
guias e opes da mesma.
Guia Editor
O frame "Code Settings" possui opes que iro
afetar de forma direta o trabalho de edio do
seu cdigo. As principais opes so:
Auto Quick Info - quando selecionada, exibe informaes sobre funes e seus parmetros, uma
espcie de Help on-line de grande valia a usurios menos experientes;
Auto Data Tips - quando selecionada, alterna a exibio do valor de uma varivel embaixo do
cursor;
Auto Indent - quando selecionada, proporciona o recuo automtico de trechos de cdigo. Opo
muito til para a programao estruturada, onde por exemplo, os comandos pertencentes a um
determinado Loop, estejam recuados com relao ao restante do cdigo, facilitando assim a anlise
do mesmo.
Tab Width - nesta caixa o usurio poder definir o nmero de espaos que ir servir como recuo da
opo Auto Indent.
Marcelino Macdo
-7-
Default to full module view - Caso ativado, todos os procedimentos podero ser visualizados dentro
de uma nica janela de cdigo;
Procedure Separator - quando selecionada, exibe um separador visual entre os procedimentos que
esto sendo listados na janela do cdigo. Apenas til caso a opo acima estiver ticada.
Guia
Editor
Format
Atravs desta guia, poderemos definir as cores e fontes que sero empregadas pelo editor no texto normal
( tudo aquilo que no for comando ou funo da linguagem ), etc... Basta selecionar cada um dos itens que
esto na caixa Code Colors e em seguida, formatar a fonte a ser utilizada.
Guia
General
Marcelino Macdo
-8-
As opes de configurao desta guia so utilizadas por programadores mais experientes, pois permite o
ajuste fino de vrios aspectos, como deteco de erros e compilao, etc... Por se tratar de opes
avanadas no iremos entrar em detalhes a respeito da mesma. Mais adiante, quando voc tiver maiores
conhecimentos a respeito do VB, estaremos detalhando esta guia.
Guia
Docking
Esta guia possui as opes para determinar quais janelas do IDE estaro ancoradas.
Guia Environment
Marcelino Macdo
-9-
No frame When Visual Basic Wizards, poderemos selecionar uma das duas opes disponveis. Caso escolha
a segunda ao invs da primeira, no ser mais exibido a janela Project Wizard. Porm para usurios
iniciantes, aconselhamos deixar o valor padro marcado, ou seja, PROMPT FOR PROJECT;
Caso voc tenha seguido nossa sugesto, poder diminuir o nmero de Wizards exibidos na janela inicial do
Visual Basic, desmarcando alguns itens relacionados no Frame SHOW TEMPLATES FOR.
No frame WHEN A PROGRAM STARTS, voc poder escolher a forma pela qual o VB ir salvar as alteraes
do seu projeto. A opo mais utilizada a PROMPT TO SAVE CHANGES, que far com que o VB verifique se
voc quer ou no salvar as alteraes do seu projeto sempre que seu aplicativo for executado ou fechado
atravs do IDE. J a opo DONT SAVE CHANGES, til quando voc possui uma srie de projetos exemplos
e que a maioria ou sua totalidade no precisa ser salva.
J a guia ADVANCED, como o prprio nome diz, utilizada apenas por usurios avanados e iremos estudar
esta futuramente.
- Aula 03 - Conhecendo um formulrio e desenvolvendo seu primeiro aplicativo
Em um projeto VB, o formulrio a base da aplicao, ou seja, sobre este que iremos disponibilizar os
demais objetos da aplicao para que possamos gerar o respectivo cdigo.
Nesta aula, iremos estudar passo a passo todas as caractersticas de um formulrio e, ao final desta, iremos
gerar nosso primeiro aplicativo VB.
Tecnicamente, o formulrio nada mais do que uma janela na qual poderemos adicionar os objetos
necessrios construo de um aplicativo. Neste sentido, cada aplicativo se baseia em algum tipo de
formulrio.
Iremos comear o nosso estudo atravs do formulrio singular. Este apresentado assim que voc inicia um
novo projeto no Visual Basic. Para isso, proceda da seguinte forma:
1. Atravs do menu INICIAR, execute o Visual Basic;
2. Na janela NEW PROJECT, selecione a opo STANDARD EXE;
3. Neste ponto, ser exibida a seguinte janela:
Marcelino Macdo
- 10 -
Observe que o formulrio da aplicao aparece em destaque na figura. Agora, iremos estudar as partes de
um formulrio. Observe o grfico a seguir e sua legenda na tabela abaixo do mesmo:
Item
Descrio
Menu de controle - Neste menu, permitido restaurar, mover, redimensionar, minimizar, maximizar e
001 fechar o formulrio. Para ativar este boto, basta definir a propriedade ControlBox do formulrio
como True, na janela de propriedades.
Ttulo - Representa um texto que ser exibido na barra de ttulos do formulrio, normalmente
utilizado para identificar o nome ou funo do aplicativo. O texto a ser exibido como ttulo do
002 formulrio, configurado na propriedade CAPTION deste, na janela Properties. Obs.: Se a
propriedade BorderStyle do formulrio estiver setada para None, o ttulo assim como toda a barra de
ttulo, no estaro visveis.
Barra de ttulos - Representada por uma barra de colorao diferenciada do restante do formulrio,
003 ela exibe o ttulo do formulrio, bem como poder ser usada para arrastar este para outra posio na
tela do micro.
Botes de minimizar, restaurar e fechar o formulrio, padro como em qualquer outra aplicao for
windows. Para desativar o boto de minimizar o formulrio, basta setar a propriedade Minbutton do
004
formulrio para false na janela properties, assim como para ignorar o boto restaurar, basta setar a
propriedade Maxbutton da janela properties do formulrio para false..
005 Bordas do formulrio - Especificam os limites visuais do mesmo
006
rea de trabalho do formulrio - toda a rea na qual poderemos trabalhar com os componentes de
nossa aplicao que devero ser colocados sobre o formulrio.
Citamos vrias vezes na tabela acima, sobre ajustar uma determinada propriedade do formulrio. Isso fcil
de se realizar, para isso, proceda da seguinte forma:
1. D um clique em qualquer local do formulrio;
2. Na janela Properties Form 1, selecione a propriedade a ser alterada;
Marcelino Macdo
- 11 -
Altere o seu valor por meio de digitao ou de seleo de valores atravs da caixa de seleo,
conforme mostra a figura animada a seguir:
Passo a passo alterando o caption de um formulrio:
Funo
Responsvel por definir a cor de plano de um formulrio. Ao clicar na seta de lista
suspensa desta propriedade, exibindo as cores disponveis para tal configurao.
Determina o comportamento de um formulrio. Este poder ter bordas fixas, ou seja,
no podem ser redimensionadas ou bordas dimensionveis. Dentro das opes
disponveis teremos:
Valor
Descrio
0 - none
1 - Fixed Single
2 - Sizable
3 - Fixed dialog
4 - Fixed
TollWindow
5 - Sizable
ToolWindow
BorderStyle
Caption
ControlBox
Caso setado para true, o menu de controle estar visvel, caso contrrio, o menu de
controle no estar visvel.
Fore Color
Esta propriedade utilizada para definir a cor do texto impresso no formulrio, porm
no altera a cor dos objetos colocados sobre o formulrio.
Height
Icon
Marcelino Macdo
Esta propriedade determina o cone que deve ser exibido na barra de tarefas quando o
formulrio estiver minimizado durante a execuo. Os cones padres do VB,
- 12 -
MaxButton
Definindo esta como True, o formulrio ir mostrar o boto maximize padro no lado
direito da barra de ttulo. Se for configurada como False, o boto no estar disponvel
para o usurio.
MinButton
Definindo esta propriedade como True, o formulrio ir exibir o boto Minimize, caso
contrrio, este boto no estar disponvel.
Name
ScaleMode
Atravs desta propriedade, poderemos alterar a medida padro de twips para pixels
por exemplo.
ShowInTaskbar
Width
WindowState
0 - normal
Ao
Active
O formulrio ser sempre ativado, depois de inicializado, ou seja, nesta condio, este
evento ser disparado.
Deactive
DragDrop
Load
Resize
Unload
Este evento o contrrio do evento Load. Quando exibida uma janela se voc tem
certeza de que deseja fechar o formulrio, e responde "sim", este evento disparado.
Com o formulrio que esta aberto, vamos gerar o nosso primeiro aplicativo. O objetivo deste aplicativo ser :
"encerrar a aplicao do sistema, quando clicarmos sobre o boto denominado FINALIZA".
Primeiramente, vamos alterar algumas propriedades do formulrio:
1. Altere a propriedade CAPTION para PRIMEIRO EXEMPLO, neste ponto, sua rea de trabalho ter o
seguinte aspecto:
Marcelino Macdo
- 13 -
2.
3. Para incluir o componente no formulrio, basta dar um clique duplo sobre o mesmo, e automaticamente
este ser incluso no seu formulrio, conforme podemos observar na figura a seguir:
4.
5.
Observe que, ao incluir um componente no formulrio, este passa a ser o objeto ativo, e a janela
Properties automaticamente passa a exibir as propriedades do objeto selecionado, neste caso, o
componente CommandButton;
Nosso primeiro passo alterar o texto que aparece dentro do componente. Isto realizado na
propriedade Caption do CommandButton. Altere esta para "Finaliza". Neste ponto, seu formulrio
dever ter o aspecto seguinte:
Marcelino Macdo
- 14 -
6.
Agora deveremos programar o evento do clique do mouse sobre o boto, para que, neste caso, o
sistema seja finalizado. Para acionar a janela de cdigos, j na programao destinada ao objeto
desejado, neste caso o CommandButton, basta dar um duplo clique no objeto, ou seja, d um duplo
clique no objeto CommandButton. Sua rea de trabalho, passar a ter o seguinte aspecto:
7.
Observe que a janela de cdigo j esta aberta para o componente Command1, e no evento Click, ou
seja, o evento que ser disparado quando o componente Commandbutton receber o click do mouse.
Caso no fosse este o evento a ser programado, bastaria voc selecionar o novo evento na caixa de
seleo sua direita. Observe que a mesma est apontando para o evento Click;
Nosso objetivo que o sistema seja encerrado quando clicarmos sobre o CommandButton inserido
em nosso formulrio, para isso, temos o comando END, que dever ser colocado entre o
PRIVATE .... e o END SUB, pois eles marcam o inicio e o final da programao de um determinado
evento. Logo, sua rea de trabalho dever ter o seguinte aspecto:
8.
Marcelino Macdo
- 15 -
9.
Agora, tente executar o sistema. Para isso, basta clicar sobre o boto START da barra de
ferramentas, que est em destaque na figura a seguir:
10. Ao executar o seu sistema, sua rea de trabalho ter o seguinte aspecto:
11. Observe que, em tempo de execuo, o formulrio que antes era cheio de pontinhos em seu interior,
agora passa a ter uma cor uniforme. Os pontinhos, so apresentados ao desenvolvedor, para facilitar o
enquadramento de componentes dentro do mesmo. Quando voc clicar sobre o boto "finaliza", observe que
o sistema ser encerrado e o controle passar novamente ao VB6, possibilitando que voc continue o
desenvolvimento de seu sistema.
Vamos imaginar agora que voc ir salvar este projeto para continuar a trabalhar com o mesmo no dia
seguinte. Para isso, basta clicar sobre o boto padro de SALVAR, o mesmo encontrado no Word, Excel,
etc... Ao clicar sobre este, ser apresentada a seguinte janela:
Marcelino Macdo
- 16 -
Nesta janela voc ir definir o nome do formulrio de sua aplicao, este nome dever ser digitado na caixa
de edio "Nome do Arquivo". Digite o nome de sua preferncia. Aps digitar o mesmo e clicar sobre o
boto SALVAR, ser apresentada a seguinte janela na tela do seu micro:
Agora voc dever dar um nome para o seu projeto. Digite o mesmo e clique em seguida em SALVAR. O
controle volta ao VB6.
Como voc j salvou o projeto, basta fechar o VB6.
- Aula 04 - Conhecendo um formulrio e desenvolvendo seu primeiro aplicativo
Na aula passada estudamos os eventos e propriedades dos objetos. At ento, observamos como alterar as
propriedades durante o processo de criao do projeto, porm poderemos tambm alterar as propriedades
em tempo de execuo, ou seja, quando o aplicativo for executado.
Vamos criar um novo projeto, simples, composto por um nico formulrio. Neste, apesar de no alterarmos
a propriedade CAPTION do formulrio durante o processo de criao do sistema, iremos alterar a sua
propriedade CAPTION durante a execuo do projeto. Inicie uma nova aplicao do tipo executvel e siga os
passos a seguir:
1. D um clique duplo em qualquer rea livre do formulrio que est a sua disposio para a programao.
Neste ponto sua rea de trabalho, dever ter o seguinte aspecto:
Marcelino Macdo
- 17 -
2. Observe que, ao efetuarmos o clique duplo em qualquer rea livre do formulrio, na janela de cdigo, o
cursor j estar disponvel no evento LOAD do FORM1, ou seja, evento que ser executado quando o
formulrio for carregado/executado. justamente neste evento que, atravs de cdigos de programa,
iremos alterar o ttulo da janela do formulrio ( CAPTION ) via programao, para isso, digite o comando que
apresentamos no grfico a seguir:
3. Observe que o comando FORM1.CAPTION = "PROJETO APRENDA EM CASA", est na verdade dizendo que,
a propriedade CAPTION do objeto FORM1 igual "PROJETO APRENDA EM CASA".
4. interessante citar que, a propriedade CAPTION da janela PROPERTIES no teve o contedo alterado,
conforme voc pode observar na figura acima, em seu canto direito inferior. Esta propriedade s ser
alterada em tempo de execuo. Execute o projeto e verifique o resultado:
Marcelino Macdo
- 18 -
Observe que, ordenamos ao equipamento que, ao ocorrer o carregamento do formulrio, ele seja movido
(MOVE), para a posio vertical,horizontal centralizada do monitor, ou seja, Screen.Width e Screen.Height.
Execute novamente o sistema e verifique que a janela da aplicao, nesta oportunidade ser exibida de
forma centralizada.
Agora vamos imaginar que o usurio poder tambm, em tempo de execuo, alterar o tamanho do
formulrio, clicando e arrastando as suas bordas. Como faramos para centralizar o formulrio
automaticamente sempre que tal procedimento fosse detectado? Isso fcil, basta repetir a linha MOVE
(Screen........ para o evento RESIZE do FORM1. Feche a aplicao, d um clique duplo em qualquer rea
livre do formulrio e em seguida, selecione na caixa de seleo sua direita da janela de cdigo, o evento
RESIZE, codificando o mesmo conforme mostra a figura a seguir:
Execute o aplicativo e teste o mesmo, clicando e arrastando alguma das bordas da janela deste, e verifique
que, ao acabar de redimensionar o formulrio, automaticamente ele ser centralizada, pois o evento RESIZE,
que ocorre sempre que o formulrio redimensionado pelos processos de clicar e arrastar disparado.
Marcelino Macdo
- 19 -
Observe que entramos com o comando MSGBOX (construa uma caixa de dilogo) ("Obrigado pelo uso de
Nosso aplicativo") (exiba a mensagem que est entre aspas) ,vbYes ( e disponibilize o boto de OK).
Execute seu aplicativo e em seguida, clique sobre o boto (X) de fechar, ser ento apresentado o seguinte
resultado:
Observe que a programao for Windows, tem como um dos seus grandes segredos, o conhecimento dos
eventos, ou seja, em que determinado evento deveremos codificar uma determinada ao.
Antes de iniciarmos o estudo dos componentes que iremos utilizar para gerar aplicativos, vamos falar sobre
um dos assuntos principais em qualquer linguagem de programao, as variveis. O objetivo do uso de
variveis dentro de um aplicativo o de manipular e tratar dados processados pelos programas que fazem
parte do seu projeto. No Visual Basic, temos os seguintes tipos principais de variveis:
Tipo da varivel
Empty
Null
Integer
-32.768 a 32.767
Long
-2.147.483.648 a 2.147.483.647
Single
-3.402823E38 a 3.402823E38
Double
-1.79769633486232 a 4.94065645841247E-324
Currency
-322337203685477.5808 a 922337203685477.5807
Marcelino Macdo
- 20 -
01/01/0100 a 31/12/9999
String
At 65.500 bytes
OLE
Boolean
True ou False
Byte
0 a 255
Poderemos declarar as variveis que sero utilizadas em nosso sistema de duas formas:
1. Nas sees GENERAL-DECLARATION do Form, mdulo ou classe;
2. Dentro de um determinada SUB, existente em um determinado Objeto ou uma Sub criada por voc
mesmo.
As variveis podero ser de duas categorias, conforme mostra a tabela a seguir:
Categoria de varivel
Consideraes
Globais/Pblicas
Locais/Privadas
No VB, temos tambm o que chamamos de constantes, ou seja, locais de memria que tero sempre um
valor constante durante a execuo do aplicativo. Tal tcnica faz com que o seu projeto fique melhor
documentado e de melhor compreenso para outros profissionais que por ventura tenham que continuar o
trabalho de desenvolvimento de seu projeto.
Quando falamos em constantes no VB, possumos duas categorias:
1. Constantes Predefinidas;
2. Constantes criadas.
As constantes criadas, so aquelas geradas pelo prprio desenvolvedor, declaradas na seo DECLARATION.
A sintaxe de declarao de constantes :
Public Const nome_da_constante = valor
Veja a seguir alguns exemplos:
Public Const limite_vagas = 50
Public Const limite_idade = 25
As constantes predefinidas, geralmente so usadas em janelas de dilogo, assim como utilizamos no
exemplo gerado no mdulo de aula passada, onde foi gerada uma janela de dilogo agradecendo pelo uso do
sistema e o boto de OK gerado automaticamente, pela constante predefinida vbYes. Veja a seguir as
constantes predefinidas de maior uso no VB:
vbYesNo
vbExclamation
vbQuestion
vbYes
vbNo
vbRed
vbBlue
vbRed
vbNull
vbEmpty
Com o tempo, voc ir dominar o uso das mesmas, no momento, basta entender o porque e um pouco de
sua lgica, como foi a da gerao do boto OK, dentro da janela de dilogo do exemplo anterior.
Uma outra tcnica de programao bastante utilizada o uso de vetores e matrizes, ou seja, uma varivel
que dividida em vrias partes para armazenar em cada uma dessas partes um determinado valor. Vamos
imaginar um prdio residencial. Ele nico, porm divido em apartamentos e cada apartamento possui uma
famlia diferente de moradores. Desta forma teramos:
Prdio residencial ....... = ........ varivel
Cada apartamento ..... = ........ diviso da varivel ( vetor ou matriz )
Cada famlia .............. = ........ ocupando um apartamento, ou seja, um valor diferente para cada varivel
O Visual Basic possibilita o uso de de vetores unidimensionais (com apenas uma diviso), at o uso de
grandes matrizes multidimensionais (com mais de uma diviso).
Para criar uma varivel dos tipos citados, proceda da seguinte forma:
Dim faixasalarial(10) as currency
Observe que teremos 11 divises para a varivel faixasalarial, e cada uma das divises, poder armazenar
um valor diferente. Mas se tenho um vetor definido em 10, porque tenho 11 posies? Porque o vetor inicial
tem numerao igual zero, e a mxima igual ao nmero especificado dentro dos parnteses.
Marcelino Macdo
- 21 -
2 CommandButtons;
1 TextBox.
Sendo que, de cima para baixo, o primeiro um Textbox e logo abaixo, temos o CommandButton.
Insira estes trs componentes dentro do seu formulrio. Lembrando que:
1. Para inserir um componente em um formulrio, basta dar um clique duplo sobre o componente, e
este ser automaticamente inserido;
2. Para posicionar um componente no local desejado do formulrio, basta clicar e arrastar o mesmo
para o local desejado;
3. Para redimensionar (aumentar ou diminuir o tamanho) o mesmo, basta clicar e arrastar em uma
das bordas que circulam o componente.
O formulrio ao final do procedimento, dever estar com o seguinte aspecto:
Marcelino Macdo
- 22 -
Observe que, para os componentes COMMAND, apenas os posicionamos em um novo local do formulrio, j
para o componente TextBox, redimensionamos o seu tamanho.
Agora, inclua um componente LABEL, acima do componente TextBox. O componente Label est circulado na
figura a seguir, e sua posio final j est desenhada:
Marcelino Macdo
- 23 -
Vamos trabalhar mais um pouco com as propriedades do LABEL, alterando a cor da fonte do texto que est
sendo exibido em seu interior. Para isso, temos a propriedade FORECOLOR do mesmo. O LABEL j est
selecionado, basta na janela PROPERTIES localizar a propriedade FORECOLOR, e dar um clique sobre sua
caixa de seleo e clicar sobre a cor vermelha, conforme mostra a figura a seguir:
A principio o nosso formulrio e nossa etiqueta esto configurados. Agora, observe que dentro da caixa de
edio ( TextBox ), existe uma palavra denominada "Text1", que na verdade, alm da frase que ser
apresentada quando o sistema for executado, representa o nome do componente dentro do cdigo. Vamos
fazer com que nada aparea dentro da caixa de edio quando o sistema for executado, para isso, basta
apagar todo o contedo da propriedade TEXT do componente TEXTBOX. Execute este procedimento.
Agora, vamos dar uma espcie de rtulo aos nossos botes, ou seja, a nvel de usurio, qual o objetivo do
boto 01? e do boto 02? Sabemos que o primeiro dever limpar o contedo eventualmente digitado no
TextBox e o segundo, tem a funo de finalizar o sistema. Ento, iremos alterar o CAPTION do
CommandButton1 para "LIMPA" e o contedo do CAPTION do CommandButton2 para "FINALIZA". Ao final
deste procedimento, sua rea de trabalho ter o seguinte aspecto:
Marcelino Macdo
- 24 -
Observe que a nvel de informao e visual o nosso formulrio est dentro do esperado. Agora temos que
codificar os eventos necessrios a sua operao.
O primeiro evento est ligado ao click no boto "LIMPA". Observe que, ao clicar sobre este, o sistema dever
apagar o contedo do TextBox. Primeiro devemos identificar de que forma chamado o componente
TEXTBOX dentro do projeto. Esse nome identificado na propriedade NAME do componente. Para isso, se
voc selecionar o componente TEXTBOX e verificar a sua propriedade NAME, esta estar igual a TEXT1,
conforme podemos observar na figura a seguir:
este o nome que deveremos utilizar dentro da codificao do sistema. Na prxima aula iremos dar algumas
dicas sobre a nomenclatura de componentes.
Vamos ento codificao:
Nosso objetivo limpar o contedo que por ventura tenha sido digitado no componente TEXTBOX, daqui
para frente denominado de TEXT1. Sabemos que a propriedade TEXT deste componente que armazena o
contedo digitado no mesmo, logo deveremos igualar a propriedade TEXT do componente TEXT1 uma
string vazia ( "" ). Quando vamos especificar um valor a uma determinada propriedade de um determinado
componente em tempo de execuo, usamos a sintaxe a seguir:
Nome_componente.Propriedade = valor
Sabendo disso, d um clique duplo no boto CommandButton1, que possui o rtulo "LIMPAR, e dentro da
rea de cdigo, programe conforme mostra a figura a seguir:
Ou seja, estamos dizendo que, ao se clicar sobre o componente Command1 ( Commandbutton1 ), o sistema
dever jogar uma String nula como valor da propriedade Text do componente Text1.
Marcelino Macdo
- 25 -
Dentro do que foi proposto, nosso sistema est finalizado. Execute o mesmo, digite algo dentro da caixa de
edio, clique sobre o boto LIMPAR e em seguida, clique sobre o boto FINALIZAR para que veja na prtica
o efeito do que foi gerado.
claro que este sistema simples, estamos nas primeiras aulas, apenas habituando o aluno a trabalhar com
componentes, propriedades e eventos.
- Aula 07 - Caixa de Ferramentas e Controles
At o momento, acreditamos que voc j percebeu que, o formulrio ser a base de quase tudo o que fizer
em VB. Estes formulrios sero preenchidos com controles (componentes), e atravs das propriedades e
eventos dos formulrios e respectivos controles, que seu sistema ser gerado.
Nesta aula, iremos estudar um pouco mais sobre a caixa de ferramentas e seus diversos controles. Temos
basicamente trs tipos de controles:
Controles invisveis, que no so exibidos aos usurios e apenas fazem parte do controle interno da
aplicao.
Conforme observamos na aula anterior, para incluir um controle no formulrio, basta dar um clique duplo
sobre o mesmo.
As propriedades dos controles estaro disponveis na janela de Propriedades.
A caixa de ferramentas a janela que armazena os controles personalizados para serem utilizados em seu
aplicativo. Iremos a seguir estudar os controles que esto dispostos na caixa de ferramenta. Veja a figura a
seguir:
Marcelino Macdo
- 26 -
A seguir, iremos falar um pouco sobre os componentes mais comuns que sero usados em suas aplicaes
VB.
Controle LABEL
Este controle responsvel por exibir um texto no formulrio, ou seja, uma etiqueta. Este texto utilizado
para somente leitura, e poder ser alterado atravs de sua propriedade Caption, tanto em tempo de
desenvolvimento quanto em tempo de execuo.
O principal uso deste componente exibir informaes ao usurio. As propriedades mais importante de um
LABEL so:
Name
Caption
Esta propriedade armazena o texto que ser exibido sobre a forma de etiqueta.
Autosize
Quando configurada para true, faz com que o "tamanho" do componente seja
automaticamente configurado de acordo com o tamanho do texto a ser exibido.
WordWrap
Faz com que exista uma quebra automtica de linha, expandido o tamanho da
legenda em uma linha, caso o texto definido em Caption, ultrapasse o limite
horizontal de tamanho do Label.
Controle CommandButton
Os botes so utilizados para extrair respostas simples do usurio ou ainda para chamar determinadas
funes dentro de um formulrio, como por exemplo, uma funo para limpar o contedo de uma caixa de
edio, finalizar o sistema, etc... Tais procedimentos sero realizados aps o click no boto, ou seja, aps o
evento OnClick do mesmo.
Na tabela a seguir, iremos citar as propriedades mais importantes do CommandButton:
Name
Esta propriedade determina o nome pelo qual o controle ser referenciado na fonte
do projeto.
Caption
Style
Nesta poderemos definir se o boto ir aceitar apenas texto dentro de seu interior
Marcelino Macdo
- 27 -
MouseUp
Utilizadas para proporcionar a entrada de dados, atravs do teclado, por parte do usurio.
Na tabela a seguir, temos as principais propriedades do controle em questo:
Name
Text
MaxLenght
Limita o nmero de caracteres que poder ser digitado pelo usurio em tempo de
execuo.
Passwordchar
Multiline
Locked
Caso configurada como true, far a caixa de texto exibir dados, sem permitir a sua
edio. Este tipo de caixa bastante utilizado nas caixas de texto que contm o
texto de licenciamento de um determinado software, sendo que neste caso, o
contedo da caixa dever ser previamente digitado na propriedade Text.
Funo
Name
Caption
Value
Style
Este controle muito similar ao boto de opo, testando-se a propriedade VALUE de ambos para saber se
um controle est ticado ou no. As diferenas fundamentais entre estes dois controles so:
1. As caixas de seleo representam controles simples;
2. As caixas de seleo no so mutuamente exclusivas.
Marcelino Macdo
- 28 -
Objetivo
List
ListCount
MultiSelect
Selected
Propriedade boleana que pode assumir um valor para que em tempo de execuo um valor
da lista esteja previamente selecionado.
Sorted
A propriedade list dever ser utilizada com uma indexao de itens, ou seja, as posies dos valores de uma
caixa de lista se iniciam em zero e vo at o nmero total de itens menos 1. Este ndice dever ser utilizado
tambm na propriedade Selected, conforme observamos no exemplo a seguir:
List1.Selected(4)=true
No comando acima, estamos pr-selecionado (via cdigo) o quarto item da lista.
O evento mais utilizado nas caixas de lista o DblClick(), ou seja, verificando o item selecionado.
J o mtodo AddItem utilizado para preencher os itens de uma lista. O mtodo RemoveItem utilizado
para excluir um item de uma lista e o mtodo Clear utilizado para remover todos os itens de uma lista.
Observe os exemplos a seguir:
List1.additem "Paulo"
No exemplo acima, na caixa de lista denominada "List1" foi incluso o valor "Paulo".
- Aula 09 - Personalizando a sua caixa de ferramentas
Aos poucos, atravs de exemplos, voc ir se acostumando com os controles vistos nas aulas anteriores e os
novos que iremos estudar. importante citar que o Visual Basic possui um nmero muito maior de controles,
fora os que voc j teve contato visual atravs de sua barra de ferramentas.
Vamos agora, explicar passo a passo como incluir novos controles a sua caixa de ferramentas, pois esta
habilidade ser de fundamental importncia para o programador. Siga os passos a seguir:
Primeiramente vamos citar as seguintes situaes:
Observe que a sua caixa de ferramentas formada por fichas e, por padro, temos uma nica ficha ao
instalar o VB, denominada GENERAL, conforme podemos observar na figura a seguir:
Conforme voc pode observar, no topo da caixa de ferramentas, existe uma GUIA, denominada GENERAL.
importante que, o desenvolvedor para facilitar o seu trabalho, crie novas GUIAS ou FICHAS para organizar os
novos controles que sero inclusos na caixa de ferramentas, adicionando novas GUIAS e em seguida,
instalando os novos componentes na mesma.
Para criar novas GUIAS, proceda da forma a seguir:
1. Clique com o boto direito do mouse sobre qualquer rea livre da caixa de ferramenta. Neste ponto,
ser apresentado um menu, conforme mostra a figura a seguir:
Marcelino Macdo
- 29 -
Neste menu, selecione a opo ADD TAB, ser ento exibida a seguinte janela:
3. Digite o nome da nova GUIA na janela em destaque na figura acima e em seguida clique em OK. Neste
exemplo, vamos digitar o nome AVANCADO. Veja como ficar a sua caixa de ferramentas aps o trmino
desta operao:
Observe que, os controles da caixa GENERAL foram escondidos e esto sendo exibdos os controles da guia
AVANCADO, que por padro, possui apenas o controle de seleo, que incluso sempre que uma nova guia
for adicionada a sua caixa de ferramentas. Agora, para que possamos incluir controles nesta nova guia, ou
at mesmo em outra guia, bem como na guia GENERAL, proceda da seguinte forma:
Marcelino Macdo
- 30 -
3. Na guia CONTROLS, selecione o(s) controle(s) que deevro ser inclusos na caixa de ferramentas, na guia
AVANCADO. No nosso caso, como exemplo, iremos incluir o CONTROLE DE ADMINISTRAO DE IMAGENS
KODAK e o CONTROLE DE DIGITALIZAO DE IMAGENS KODAK, e em seguida, clicar em OK. Observe como
ir ficar a nossa caixa de ferramentas:
Observe que os dois novos controles j esto na nova GUIA que voc criou. Caso queira inserir um controle
que ets na guia GENERAL no seu projeto, vasta selecionar a GUIA e assim sucessivamente.
Lembramos que voc poderia incluir todos os controles em uma nica GUIA, como por exemplo a GENERAL,
porm a diviso dos controles por GUIAS de grande utilidade para a organizao e fcil localizao dos
controles durante o processo de desenvolvimento.
- Aula 10 - Alterando as propriedades em tempo de execuo
Uma das tcnicas mais utilizadas em projetos VB alterar as propriedades de um determinado componente
em tempo de execuo, ou seja, enquando o seu sistema est sendo operado. Veja alguns exemplos de
alterao de propriedades em tempo de execuo:
Alterar o texto a ser exbido dentro do command buttom (propriedade CAPTION) de acordo com
uma situao especfica;
Alterar o fator do boto estar disponvel ou no (aceita ou no o click) de acordo com uma situao
especfica. Exemplo: Em determinados momentos, o boto de SALVAR do WORD est desabilitado,
ou seja, no aceita o click.
Primeiro, voc dever conhecer bem as propriedades dos componentes na qual ir trabalhar. Vamos pegar
como exemplo um boto de comando, que possui dentre as propriedades mais utilizadas CAPTION, VISIBLE
Marcelino Macdo
- 31 -
3 Labels.
A finalidade de nosso primeiro projeto ser a de criar uma espcie de calculadora, ou seja, ao clicarmos
sobre um dos BUTTONS (que dever ter o caption igual SOMA), o terceiro TextBox ir receber a soma dos
valores inseridos nos dois primeiros TextBox. Com este pequeno e simples projeto, iremos entrar em um
novo assunto na programao VB, denominado "Funes".
Inicie uma nova aplicao no VB e, insira os componentes supra citados. Ao final deste procedimento, sua
janela ter o seguinte aspecto:
Marcelino Macdo
- 32 -
O primeiro passo alterar a propriedade CAPTION dos LABELS, respectivamente para : "DIGITE UM
NMERO", "DIGITE OUTRO NMERO", "RESULTADO DA SOMA". Ao final desta alterao, seu formulrio ter
o seguinte aspecto:
Em seguida, iremos apagar o contedo da propridade TEXT de todos os TextBox. Com isso, o interior destes
componentes no iro mais exibir as palavras TEXT1 ... TEXT2 ... TEXT3.
Altere a propriedade CAPTION do CommandButtom para "SOMAR". Ao final destes procedimentos, seu
formulrio ter o seguinte aspecto:
Temos o obejtivo de fazer com que, aps clicar sobre o boto "SOMAR", seja exibido no terceiro TextBox a
soma dos valores entrados nos dois primeiros TextBoxes. Porm observe o seguinte:
1. Em um TextBox, o contedo digitado interpretado como String, ou seja, um valor fixo e que no
poder sofrer nenhuma espcie de operao matemtica.
Tendo o conhecimento de tal regra, vamos tentar de forma direta, executar a soma do contedo do Textbox1
e do Textbox2 armazenando o seu resultado em TextBox3. D um clique duplo sobre o Buttom e entre com o
seguinte cdigo:
Private Sub Command1_Click()
Text3.Text = Text1.Text + Text2.Text
End Sub
Execute o seu projeto. No primeiro Textbox, digite o valor "12" e no segundo o valor "34". Em seguida,
clique sobre o boto "SOMAR" e veja o resultado no terceiro TextBox:
Marcelino Macdo
- 33 -
Observe que o resultado da soma foi "1234", ou seja, um valor errado, pois a soma correta de 12 + 34 =
46. Mas o porque este resultado?
Quando solicitamos de forma direta a soma "+" do contedo do Textbox1 com o contedo do TextBox2 (
text1.text+text2.text), estamos na verdade solicitando uma concatenao, ou seja, o agrupamento de duas
Strings, onde as mesmas so colocadas uma ao lado da outra, sendo assim, em uma concatenao de
"12"+"34" igual "1243".
Conforme citamos, o contedo dos Textboxes so considerados Strings. Como neste caso queremos realizar
uma operao matemtica, deveremos utilizar uma funo para transformar String em nmero. Sendo
assim, teremos que digitar o seguinte contedo no evento click do Buttom:
Private Sub Command1_Click()
Text3.Text = (Val(Text1.Text) + Val(Text2.Text))
End Sub
No comando acima, estamos utilizando a funo VAL, que tem o objetivo de transformar String em nmero,
assim sendo, agora teremos em Text3 o resultado da soma dos nmeros de Text1 e Text2. Execute o
projeto, entre com os mesmos valores e veja o resultado aps o clique no boto SOMA:
Outro detalhe interessante que, antes de usarmos a funo VAL, com o operador "+", o projeto compilou e
executou sem erros, porque estamos solicitando uma concatenao, porm se tentarmos usar o operador de
multiplcao (*) por exemplo, o VB ir gerar um erro, pois em Strings no existe a operao de
multiplicao.
A sintaxe da funo VAL a seguinte:
VAL (varivel)
O objetivo da funo VAL converter o contedo de uma varivel String para uma varivel numrica. Ao
contrrio do que voc pode estar pensando, as funes no existem apenas para transformar valores String
para numricos. Existem funes para manipulao de Datas, Strings, nmeros, etc...
Nossa prxima aula ter o objetivo de estudar as principais funes do VB6.
- Aula 12 - Funes VB6
Marcelino Macdo
- 34 -
Neste modo iremos expor as principais funes do VB6, que sero de grande utilidade em aplicativos
comerciais.
Funo ABS
Tem a finalidade de retornar o valor absoluto e positivo de um nmero ou da varivel informada. A sintaxe
de construo deste comando extremamente simples:
Abs (nmero_ou_varivel)
No exemplo a seguir, quando o formulrio for carregado, iremos armazenar na varivel "exemplo" o valor
-2001, e atravs de uma caixa de dilogo, iremos apresentar este nmero em seu valor absoluto. Veja a
fonte do sistema a seguir:
Private Sub Form_load()
Dim exemplo as Double
Let exemplo = -2001
Msgbox (str(abs(exemplo)))
End Sub
Observe que no exemplo anterior, usamos tambm a funo STR, que tem a funo de converter um nmero
em string, pois apenas neste formato que aceito uma informao na caixa de msgbox. Logo, usamos
duas funes em uma mesma linha de cdigo, sendo que a primeira transforma o nmero em string e a
segunda o nmero em absoluto e positivo. Ser exibida na caixa de dilogo o nmero 2001.
Funo FIX
Tem a finlidade de retornar um nmero inteiro e sem arredondamento. Sua sintaxe :
Fix (nmero_ou_varivel)
Funo Hex
Tem a funo de transformar um nmero decimal em hexadecimal. Sua sintaxe :
Hex (nmero_ou_varivel)
Funo Int
Tem a funo de retornar o inteiro de um nmero com arredondamento. Sua sintaxe :
Int (nmero_ou_varivel)
Funo RND
Tem a funo de retornar um nmero aleatrio de 1 at o nmero especificado. Sua sintaxe :
RND (nmero)
Funo VAL
Tem a finalidade de transformar o valor de uma String em nmero, ou seja, o inverso da funo STR
observada no primeiro exemplo. Sua sintaxe :
VAL (string_ou_varivel)
Funo Curdir
Tem a finalidade de retornar o diretrio atual onde o usurio estiver atuando. Veja a seguir um simples
exemplo construdo passo a passo com esta funo:
1. Primeiro abra o Visual Basic e inicie um novo projeto;
2. Insira no formulrio dois componentes Labels, disponibilizando estes um abaixo do outro;
3. Na propriedade CAPTION do primeiro Label, insira : "Diretrio atual de trabalho";
4. Na propriedade CAPTION do segundo label, apague todo o contedo;
5. No evento LOAD do formulrio, entre com a seguinte codificao:
Private Sub Form_Load()
Dim diretorio As Variant
diretorio = CurDir
Label2.Caption = diretorio
End Sub
execute o seu projeto. Voc ter como retorno, uma janela mais ou menos como a que segue:
Marcelino Macdo
- 35 -
Observe que o caminho na qual voc est operando no momento exibido no label2.
Funo Left
Esta funo tem o objetivo de retornar x caracteres a partir da esquerda de uma string. Sua sintaxe :
Left (varivel, nmero_caracteres)
Observe o exemplo a seguir:
Private Sub Fom_load()
Dim empresa as String
Let empresa="Projeto Aprenda em Casa"
MsgBox (left(empresa,7))
End Sub
No exemplo acima, teremos uma caixa de mensagens apenas com a palavra "Projeto", pois solicitamos que
seja exibida na mesma apenas as 7 primeiras posies (caracteres) da varivel empresa.
Funo Right
Tem praticamente o mesmo objetivo da funo Left, com exceo de retornar x caracteres a partir da direita
da String. Veja o exemplo a seguir:
Private Sub Fom_load()
Dim empresa as String
Let empresa="Projeto Aprenda em Casa"
MsgBox (Right(empresa,7))
End Sub
No exemplo acima, teremos uma caixa de mensagens apenas com a frase "em Casa", ou seja, os 7 ltimos
caracteres da varivel "empresa".
Marcelino Macdo
- 36 -
O primeiro passo configurar os botes de comando que representam os nmeros que iro ser utilizados no
teclado numrico de nossa calculadora. A lgica a seguinte: Cada vez que o usurio clicar sobre um dos
botes numricos, este dever se acrescentado ao TextBox. Ou seja, teramos a seguinte situao:
Contedo do TextBox = Contedo do TextBox + valor representado pelo boto.
Observe que, o TextBox uma String e, deveremos realizar uma concatenao, ou seja, soma do valor j
armazenado nesta objeto com o valor representado pelo boto clicado. Assim sendo, para o boto que
representa o nmero "1" teremos o seguinte cdigo:
Private Sub Command1_Click()
Text1.Text = Text1.Text + "1"
End Sub
Este mesmo procedimento ser utilizado para os botes 2, 3, 4, 5, 6, 7, 8, 9 e 0, apenas substituindo o "1"
por "2" ... "3" .... e assim sucessivamente. Observe a sequncia a seguir:
Cdigo para o boto 2:
Private Sub Command2_Click()
Text1.Text = Text1.Text + "2"
End Sub
Cdigo para o boto 3:
Private Sub Command3_Click()
Marcelino Macdo
- 37 -
Marcelino Macdo
- 38 -
Marcelino Macdo
- 39 -
2
2
1
2
Labels;
TextBox;
ListBox;
CommandButton.
Propriedade/Valor
Label1
Label2
Command1
Text1
Text2
Quando o usurio for utilizar o sistema, ele ir entrar com um valor para o nmero inicial da
contagem e um valor para o nmero final da contagem. Aps clicar no boto "inicia contagem", o
sistema ir gerar um Loop, de x (nmero inicial) at y (nmero final) e, a cada nmero da
contagem, este ser acrescentado ao ListBox. Para tal procedimento, iremos entrar com a seguinte
codificao para o boto "Inicia Contagem":
Private Sub Command1_Click()
numi = Val(Text1.Text)
numf = Val(Text2.Text)
For contador = numi To numf
List1.AddItem (Str(contador))
Next
End Sub
Marcelino Macdo
- 40 -
Observe que, o primeiro passo foi armazenar nas variveis NUMI e NUMF o contedo digitado nas
caixas Text1 e Text2, porm este contedo foi transformado em valor numrico atravs da funo
VAL. Em seguida, criamos um contador (loop), que ir contar de NUMI (nmero inicial) at NUMF
(nmero final), armazenando esta contagem na varivel contador e, a cada nmero contado, o
nico comando existente entre o FOR e o NEXT ser executado, ou seja, no listbox (LIST1), iremos
adicionar um item (additem) que o valor da varivel contador (que faz parte do loop),
transformada em String, atravs da funo STR.
Para o boto Finaliza, basta acrescentar o comando END, conforme podemos observar na listagem a
seguir:
Private Sub Command2_Click()
End
End Sub
Agora, execute o projeto e, insira dois nmeros (inicial e final) e veja o resultado aps clicar no respectivo
boto. No exemplo abaixo, preenchemos como nmero inicial 3 e nmero final 6. Observe o resultado:
Agora, execute novamente o projeto, inserindo em nmero inicial um nmero menor do que em nmero final
e observe o resultado. Voc ver que nada foi acrescentado ao ListBox, porque da forma como o For...Next
foi construdo, a contagem ser realizada em de forma crescente, ou seja, sempre de um nmero menor
para um nmero maior. Mas e se fosse necessrio a contagem de um nmero maior para um nmero menor,
com incrementos de -1 unidade. Sendo assim, teramos que acrescentar o comando STEP e aps este o
incremento, que neste caso seria -1. Veja como ficaria a codificao deste boto neste caso:
Private Sub Command1_Click()
numi = Val(Text1.Text)
numf = Val(Text2.Text)
For contador = numi To numf Step -1
List1.AddItem (Str(contador))
Next
End Sub
Ok, aprendemos a gerar contadores de forma crescente e decrescente. Mas voc deve estar perguntando:
como fazer para que o sistema verifique de forma automtica se a contagem ser progressiva ou regressiva?
Esta resposta ser fornecida em nossa prxima aula. Salve o projeto para que possamos realizar esta
alterao no mdulo 15.
- Aula 15 - Tomando decises - fazendo o seu micro pensar
No mdulo passado, criamos um projeto na qual exemplificamos os processos de repetio atravs do
comando FOR, porm temos um problema no projeto gerado:
1. Se o sistema estiver pronto para uma contagem progressiva e o usurio inserir o nmero inicial maior que
o nmero final, nada ser executado;
2. Se o sistema estiver pronto para uma contagem regressiva e o usurio inserir o nmero inicial menor que
o nmero final, nada ser executado.
Como fazer para que o sistema, de forma automtica, se utilize de um FOR progressivo ou regressivo, de
acordo com a diferena entre os nmeros inicial e final? A resposta simples:
Iremos gerar um teste que, se o nmero inicial for maior que o nmero final, a contagem ser regressiva,
caso contrrio, a contagem ser progressiva.
Observe que vinculamos um teste condicional a duas situaes possveis e, para este procedimento, temos
no VB6 um comando que serve como uma luva ... A sintaxe bsica deste comando a seguinte:
Marcelino Macdo
- 41 -
Marcelino Macdo
- 42 -
Interval -> Seria o intervalo de tempo, que medido em milisegundos. Aps cada ciclo deste
intervalo, o temporizador ir buscar a hora atual no relgio do sistema.
O uso deste controle interessante por exemplo, em um sistema de controle de carros em um
estacionamento ou ento em sistemas de folha de ponto.
Outras propriedades deste controle no so importantes, visto que este controle no apresentado em
tempo de execuo no formulrio.
A nvel de eventos, o temporizador possui apenas um nico evento denominado Timer(), ocorrendo sempre
que o temporizador transcorre o intervalo determinado na propriedade Interval.
Veja na figura a seguir o controle em questo:
Marcelino Macdo
- 43 -
Vamos gerar um pequeno aplicativo que ter o objetivo de exibir a hora atual
na barra de ttulos de um determinado formulrio. Para isso, siga os passos
abaixo:
1. Inicie o VB e um novo projeto;
2. Defina a propriedade CAPTION do formulrio como HORA ATUAL:
3. Insira no formulrio um controle "Timer";
4. Altere a propriedade Enabled para true;
5. Altere a propriedade Interval para 1000 (equivalente a 1 segundo);
6. D um clique duplo sobre o temporizador (controle Timer) para que o editor
de cdigo seja aberto no evento Timer() do controle e, insira o seguinte
cdigo:
Private Sub Timer1_Timer()
Dim frase As String
frase = Time$
Caption = "Hora atual:" & frase
End Sub
Na verdade, criamos a varivel FRASE que ir receber a cada segundo (1000 milisegundos, devido a
propriedade Interval do temporizador estar com este valor) e em seguida, a propriedade CAPTION do
formulrio ser atualizado com o novo valor da hora do sistema. Veja o resultado do aplicativo em execuo
na figura a seguir:
Marcelino Macdo
- 44 -
Assim como "lanamos" a hora ao caption do formulrio, voc poder usa-lo atravs de variveis, gerar
registros em banco de dados, etc...
Valor
Max
Min
LargeChance
SmallChange
Informa o grau de alterao da propriedade Value quando ocorrer o click em uma das
extremidades da seta.
Vamos gerar um pequeno projeto para exemplificar o uso das barras de rolagem:
1. Inicie um novo projeto em VB;
2. Insira no formulrio um componente HScrollBar e altere as seguintes propriedades do mesmo:
Propriedade
Marcelino Macdo
Contedo
- 45 -
Max
1000
Value
100
Observe que o indicador da barra de rolagem estar na posio 100 de um total de 1000 posies vlidas
3. Inclua dois CommandButtoms no Form;
4. Altere a propriedade Caption do segundo boto para "Finaliza";
5. Apague o contedo da propriedade Caption do primeiro boto;
6. D um clique duplo no segundo boto e entre com a seguinte codificao para o mesmo:
Private Sub Command2_Click()
End
End Sub
7. D um duplo clique no controle HScrollBar e entre com a seguinte codificao:
Private Sub HScroll1_Change()
Command1.Caption = HScroll1.Value
End Sub
8. Agora execute o projeto.
V movimentando atravs de cliques nas partes extremas da barra de rolagem ou na parte livre de seu canal
de volume e verifique que, o interior do primeiro boto ir assumindo o valor da barra de rolagem, conforme
podemos observar a seguir:
Para que possamos compreender um pouco melhor este controle, vamos aproveitar o mesmo projeto
efetuando as seguintes alteraes:
9. Exclua o primeiro boto;
10. Inclua um Label e altere a propriedade Caption do mesmo para "aprendaemcasa.com.br"
11. Altere as propriedades Min e Max do HScrollBar para 6 e 24 respectivamente
11. D um clique duplo no controle de barra de rolagem e altere a sua codificao para:
Private Sub HScroll1_Change()
Label1.FontSize = HScroll1.Value
End Sub
Observe a seguir como ficou o seu formulrio:
Agora execute o projeto e movimente o ponteiro da barra de rolagem. Observe que de forma automtica o
tamanho da fonte da frase que est dentro do label vai sendo ampliado ou reduzido, devido ao seguinte
comando:
Marcelino Macdo
- 46 -
Valor
Name
Caption
Value
Style
Dentre os eventos, o mais utilizado o Click() que acionado assim que usurio seleciona o boto, ou seja,
marca a sua opo.
Vamos criar um projeto exemplo, onde o usurio ir entrar com o valor total da compra e, de acordo com a
opo de pagamento, ter um desconto, o valor permanecer o mesmo ou ento teremos um acrscimo no
valor total a ser pago.
1. Inicie um novo projeto em VB;
2. Insira na parte superior do formulrio um LABEL e altere a propriedade Caption deste para VALOR TOTAL
DA COMPRA;
3. Insira ao lado do label citado um componente TEXTBOX e apague o contedo da propriedade TEXT;
4. Insira abaixo do label um componente OptionButton e altere a propriedade CAPTION do mesmo para
VISTA COM 10% DE DESCONTO;
5. Insira abaixo um novo componente OptionButton e altere a propriedade CAPTION deste para CHEQUE
PARA 30 DIAS SEM JUROS;
6. Insira abaixo um novo componente OptionButton e altere a propriedade CAPTION deste para CHEQUE
PARA 60 DIAS COM JUROS DE 3%;
7. Abaixo, insira um componente Label e altere a propriedade CAPTION deste para TOTAL A PAGAR
8. Ao lado, insira um componente TextBox e apague o contedo da propriedade TEXT.
9. Ao final deste procedimento, seu formulrio ter o seguinte aspecto:
Marcelino Macdo
- 47 -
Selecionada;
No selecionada;
Acinzentada
Name
Caption
Value
J o evento mais utilizado para este controle o evento Click(), disparado quando o usurio marca a caixa
de seleo em questo.
Vamos criar um simples projeto para que voc entenda a funcionalidade destes controles:
1. Inicie um novo projeto no VB;
2. Insira no formulrio, na parte superior do mesmo, dois controles de caixas de seleo (um abaixo do
outro);
3. Altere a propriedade Caption da primeira caixa de seleo para NEGRITO:
4. Altere a propriedade Caption da segunda caixa de seleo para ITLICO;
5. Insira abaixo dos dois controles anteriores um Label e altere a propriedade Caption do mesmo para
ABAIXO, DIGITE UM TEXTO;
6. Abaixo do label, insira um controle TextBox e apague o contedo da propriedade Text do mesmo. Ao final
destes procedimentos, seu formulrio ter o seguinte aspecto:
Marcelino Macdo
- 48 -
O objetivo deste projeto simples: Sempre que a caixa NEGRITO estiver selecionada o contedo digitado no
controle Text ficar em negrito e quando no selecionado, o contedo sair do negrito. O mesmo acontecer
com o controle Itlico.
O prximo passo codificar o evento Click do controle CheCkBox1. Veja a codificao a seguir:
Private Sub Check1_Click()
If Check1.Value = 1 Then
Text1.FontBold = True
Else
Text1.FontBold = False
End If
End Sub
As linhas acima so simples de serem analisadas. Primeiro testamos se a propriedade Value do Ckeck1
igual 1, ou seja, se a mesma est ticada. Caso positivo, a font do tipo negrito (fontbold) do controle Text
ser true (ativada), caso contrrio, ser falsa (desativada).
Esta mesma lgica iremos utilizar para codificar o evento Click do Ckeck2, porm ao invs de utilizar
FontBold, iremos utilizar FontItalic, conforme observamos na listagem a seguir:
Private Sub Check2_Click()
If Check2.Value = 1 Then
Text1.FontItalic = True
Else
Text1.FontItalic = False
End If
End Sub
Agora, execute o projeto, digite um contedo qualquer dentro da rea de texto e marque/desmarque as
duas caixas de selees e veja os resultados.
- Aula 21 - Utilizando caixas de lista
Uma caixa de lista nada mais do que uma caixa que tem a finalidade de exibir dados sobre a forma de
lista. Este controle comum em diversos aplicativos do Windows.
Uma das caractersticas das caixas de lista que o usurio no poder editar diretamente seu contedo (ou
seja, dentro da prpria lista).
Dentre as principais propriedades das caixas de lista, podemos destacar:
Columns - este propriedade permite especificar o nmero de colunas que nossa lista ter;
List - define ou retorna o valor de um item de uma lista. Vale lembrar que os itens de uma caixa de
lista so controlados por um ndice, este ndice tem seu primeiro valor igual ao nmero zero (0),
assim sendo, uma caixa de lista com 5 itens, ter como ndice o nmero zero (0) ao nmero 4
(quatro).
Atravs da propriedade List poderemos obter um item de uma lista. Veja o exemplo a segui:
List1.list(3) -> neste caso estamos nos referindo ao quarto item de uma lista. Lembre-se que o primeiro
item tem o ndice zero (0).
ListCount - fornece o nmero de itens de uma caixa de lista;
Marcelino Macdo
- 49 -
Vamos criar um pequeno projeto para que voc entenda melhor tudo o que vimos at este ponto.
1. Execute o VB6;
2. Inicie um novo projeto;
3. Insira no seu formulrio duas caixas de listas, uma em cada extremidade do formulrio;
4. Insira na parte inferior do formulrio, abaixo da primeira lista um Label, ao lado um TextBox e ao lado um
Buttom. Ao final deste procedimento, sua janela ter o seguinte aspecto:
Propriedade
Valor
Label1
Caption
Dado:
Command1
Caption
Inclui:
Command2
Caption
===>
Command3
Caption
<===
Command4
Caption
<= Exclui
Command5
Caption
Exclui =>
Command6
Caption
Command7
Caption
Command8
Caption
Finaliza
Marcelino Macdo
- 50 -
Vamos comear a codificar nosso sistema. O primeiro passo fazer com que o usurio ao digitar alguma
informao (dado) na caixa de edio Text2 e clicar sobre o boto INCLUI, esta informao seja adicionada
na lista 01. Para isso, d um clique duplo no boto INCLUI e entre com a seguinte codificao:
Private Sub Command1_Click()
List1.AddItem Text1.Text
End Sub
Observe que nos comandos acima, estamos adicionando (additem) lista 1 (List1) o contedo digitado no
controle TextBox1 (Text1.Text). Veja como simples adicionar itens em uma lista atravs do VB.
Vamos agora codificar o boto Command2 ( ===> ) que tem a finalidade de levar o item selecionado no
List1 para o List2. Para tal funo, d um clique duplo no boto em questo e entre com a seguinte
codificao:
Private Sub Command2_Click()
List2.AddItem List1.Text
List1.RemoveItem (List1.ListIndex)
End Sub
Observe a primeira linha de comando da rotina citada. Adicionamos na lista2 (List2.AddItem) o contedo do
item selecionado na Lista1 (List1.Text).
Em seguida, removemos o Item transferido para a lista2 da lista1 (List1.RemoveItem(ListIndex)). Conforme
podemos observar, para remover um item de uma lista, temos que especificar o ndice do mesmo e, como
queremos remover o item selecionado, utilizamos a propriedade ListIndex.
Vamos codificar o Command3 ( <=== ), que tem funo contrria do boto que acabamos de codificar. Os
comandos utilizados neste boto sero muito parecidos com os utilizados no boto anterior. Veja a seguir:
Private Sub Command3_Click()
List1.AddItem List2.Text
List2.RemoveItem (List2.ListIndex)
End Sub
Agora, vamos codificar o boto Command4 ( <== Exclui ) que tem a finalidade de apenas excluir o item
selecionado na lista1. Para isso, d um clique duplo no boto em questo e, entre com a seguinte
codificao:
Private Sub Command4_Click()
List1.RemoveItem (List1.ListIndex)
End Sub
No comando acima, voc simplesmente solicitou a excluso do item da lista1 que est selecionado
(List1.RemoveItem (list1.ListIndex)).
Em seguida, vamos codificar o boto Command5 ( Exclui ==> ), que tem a mesma sintaxe utilizada no
boto anterior, com a diferena de utilizar sempre o List2 ao invs do List1. Veja a codificao a seguir:
Private Sub Command5_Click()
List2.RemoveItem (List2.ListIndex)
End Sub
Vamos agora codificar o boto ( <= Limpa lista ), que tem a funo de excluir todos os itens da lista 01. O
comando simples, conforme podemos observar abaixo:
Private Sub Command6_Click()
List1.Clear
End Sub
Marcelino Macdo
- 51 -
1 DriveListBox;
1 DirListBox;
1 Label
1 FileListBox;
Marcelino Macdo
- 52 -
Altere agora as seguintes propriedades dos componente que foram inclusos no seu projeto:
Componente
Propriedade
Valor
Form1
Caption
Label1
Caption
apague o contedo
Agora, vamos codificar os eventos necessrios para que nosso projeto ganhe vida.
Selecione o evento Change do DriveListBox e entre com a seguinte codificao:
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Observe que com a codificao acima, quando o componente DriveListBox tiver o seu valor alterado, ser
armazenada na propriedade Path (que indica a unidade), a nova unidade selecionada (Drive1.Drive).
Agora, vamos codificar o evento Change do componente DirectoryListBox:
Private Sub Dir1_Change()
File1.Path = Dir1.Path
Label1.Caption = File1.Path
End Sub
Observe que primeiro estamos vinculando que as pastas (caminhos) a serem exibidos (File1.Path) sejam
aqueles constantes da unidade selecionada (Dir1.Path) e em seguida, estamos mostrando a unidade dentro
do label que inserimos em nosso projeto (Label1.Caption=File1.Path).
Agora, vamos codificar o evento Click do componente FileListBox:
Private Sub File1_Click()
Label1.Caption = File1.Path & " " & File1.FileName
End Sub
Aqui estamos apenas jogando no label, o nome do arquivo que recebeu o clique.
Salve e execute o seu projeto.
- Aula 23 - O que um MDI Form?
Voc provavelmente j operou um aplicativo comercial no Windows. Neste existe uma janela principal,
normalmente com as opes do sistema (menus e botes de atalho) e janelas secundrias, que so abertas
de acordo com as opes selecionadas na janela principal.
O MDI-Form a janela principal do controle de sua aplicao e, normalmente nesta esto dispostos os
menus do sistema e botes de atalho (acesso rpido) onde neste sero ligadas diversas outras janelas
(formulrios), tambm conhecidos por janelas filhas.
Existe uma propriedade nos formulrios denominada MDIChild, conforme mostra a figura a seguir:
Marcelino Macdo
- 53 -
Ao setar esta propriedade para True, voc est indicando que esta uma janela filha e que est subordinada
a uma janela me, passando seu projeto a operar de forma idntica ao program manager do Windows 3.1.
Normalmente os MDI-Form, conforme citamos anteriormente, possuem os seguintes componentes:
Um menu de sistema - este menu dever ser incluso atravs da seleo da opo de menu Tools ...
Menu Editor. Ao selecionar esta opo, ser exibida a seguinte janela na tela do seu equipamento:
Nesta janela voc ir construir o menu de sua aplicao (iremos estudar a mesma com riqueza de detalhes
posteriormente)
1.
Uma figura centralizada que normalmente o logotipo da empresa. Esta figura poder ser ligada ao
componente IMAGE. Para definir a figura que estar presente dentro do componente, voc dever
seguir os passos:
Insira no formulrio um componente IMAGE, em destaque na figura a seguir:
2.
Na propriedade Picture, selecionar o grfico que ser aprensentado dentro do componente Image.
Marcelino Macdo
- 54 -
3.
Confirme a operao clicando no boto ABRIR. Agora, basta voc preparar o seu MDI-Form.
- Aula 24 - Criao de Menus em projetos VB
Voc j deve ter observado que todo bom aplicativo for Windows possui na parte superior da janela um
Menu do tipo DropDown. este tipo de menu segue um padro para os mais conhecidos aplicativos do sistema
operacional Windows. Para criar um menu atravs do VB o procedimento muito simples, pois o VB traz um
utilitrio com este fim, sem que seja necessrio escrever uma nica linha de programa sequer. O primeiro
passo estar com o formulrio que ir receber o menu com o foco, feito isso, proceda da seguinte forma:
1. Clique na opo de menu Tools;
2. Clique na opo "Menu Editor", neste ponto ser apresentado a seguinte janela na sua rea de trabalho:
Caixa de texto Caption -> esta utilizada para escrever o nome da opo, por exemplo
"Arquivo", "Imprimir", etc...
Caixa de texto Name -> aqui voc ir designar uma "Sub" que ser vinculada a opo que est
sendo gerada.
Marcelino Macdo
- 55 -
Caixa de texto Index ->Voc utililizar esta caixa quando se torna necessrio o uso de um nico
nome de "Subs" criadas, economizando assim rotinas que podero ser controladas a partir de um
mesmo ponto com uma espcie de mltipla seleo, conforme podemos observar a seguir:
Private Sub MenuPrincipal_Click()
Select Case Index
Case 0
Frminclui.Show
Case 1
Frmaltera.Show
Case x
......
End Select
End Sub
Observe que temos diversas opes em um nico comando de seleo.
Caixa de texto "Help Context ID" -> caso voc saiba trabalhar com arquivos de Help, poder
associar um nmero de arquivo de Help do tipo "RTF" e, caso o usurio pressione a tecla <F1> o
arquivo em questo ser exibido.
Caixa de texto ShortCut -> aqui voc poder definir uma tecla de atalho para a opo que est
sendo criada.
Vamos gerar nesta aula um exemplo gerando um pequeno menu para sua aplicao. O primeiro passo
iniciar uma nova aplicao no VB e em seguida, siga os passos abaixo:
1. Clique na opo de menu Tools ... Menu Editor.
2. Vamos construir a primeira opo de nosso menu:
Em "Name", digite "Teste1". Ao final deste procedimento, sua janela dever ter o seguinte aspecto:
3.
Agora temos que inserir esta opo no menu que ser incluso no Form, para isso, clique no boto
INSERT. Neste momento, a linha azul (que indica a opo que est sendo criada) dever pular para
a linha em branco logo abaixo.
Voc quer inserir uma nova opo. Esta uma opo principal do menu ou uma opo do menu
Arquivo? Se for uma opo do menu Arquivo, voc dever clicar agora no boto representado pela
seta apontando para a direita, formando assim uma sub-opo do menu Arquivo. Voc identificar
que esta uma sub-opo pois ser observado trs pontos antes do nome da nova opo. Aps
criar todas as opes do menu Arquivo, para criar uma nova opo de menu principal, basta antes
clicar sobre o boto representado pela seta apontando para a esquerda e, assim sucessivamente
4.
Marcelino Macdo
- 56 -
5.
para criar as sub-opes e opes principais do menu. Clique ento no boto representado pela seta
apontando para a direita.
Vamos ento criar a sub-opo do menu Arquivo:
6.
Voc tambm deve estar perguntando o porque do smbolo "&". A letra que est logo aps este
smbolo ser aquela utilizada em conjunto com a tecla ALT para acionar esta opo no menu. Agora
que voc j conhece a forma correta de operar o construtor de menu, crie um com a seguinte
estrutura:
7.
8.
Clique em OK;
Execute seu aplicativo, veja o resultado:
Marcelino Macdo
- 57 -
Execute o VB6;
Solicite a criao de uma nova aplicao;
O prximo passo criar na aplicao o novo formulrio, que iria receber um editor de textos, pois o
Form1, que criado automaticamente quando solicitamos uma nova aplicao no VB, ter o menu
do sistema (e em um programa comercial, outros elementos, porm estamos gerando um sistema
simples apenas para exemplificar a chamada de outros forms atravs de menus). Para isso, clique
na opo de menu PROJECT ... ADD FORM. Neste ponto ser apresentada a seguinte janela:
Marcelino Macdo
- 58 -
Selecione a opo FORM e em seguida clique em OK. O novo Form apresentado na sua rea de
desenvolvimento, tendo como nome inicial FORM2, conforme podemos observar na figura a seguir:
Altere a propriedade CAPTION do BUTTOM para "Fecha Editor". Neste ponto o formulrio EDITOR
ter o seguinte aspecto:
Marcelino Macdo
- 59 -
Neste comando estamos solicitando que o formulrio EDITOR seja descarregado do sistema quando
solicitado para que o mesmo seja fechado e o controle volte ao formulrio que o chamou, porm
at o momento no codificados o FORM1 na opo de menu EDITOR DE TEXTO a chamada ao
formulrio EDITOR, para isso, retorne o foco ao FORM1, e entre com a seguinte codificao para a
opo de menu ARQUIVO ... EDITOR DE TEXTO (basta em tempo de desenvolvimento, clicar sobre
esta opo que a janela de cdigo se abre automaticamente):
Private Sub texto_Click()
editor.Show
End Sub
Observe que carregamos no evento Click desta opo de menu o form EDITOR atravs do comando
EDITOR.SHOW (exiba o form Editor) e, aps o mesmo ter sido trabalhado e quando o usurio clicar
no boto FECHA EDITOR, a respectiva janela ser fechada, voltando o controle ao formulrio
principal de nossa aplicao. Execute o projeto e teste esta opo de menu j codificada.
Agora, tente criar o terceiro FORM que representaria o editor grfico e fazer com que o usurio
possa fecha-lo e retornar o controle ao menu principal da aplicao. Em caso de dvidas, consulte o
suporte.
Ao lado deste label, inclua um componente TEXTBOX e apague o contedo da sua propriedade
TEXT;
Inclua abaixo da linha que contm o label e o textbox um componente BUTTOM, e altere a
propriedade CAPTION do mesmo para TESTE DE FUNES;
Na parte superior do form criado, insira um componente LABEL e altere a propriedade CAPTION do
mesmo para DIGITE UMA PALAVRA/FRASE;
Marcelino Macdo
- 60 -
Insira na linha abaixo e um abaixo do outro, mais 4 componentes LABELs, alterando a propriedade
CAPTION dos mesmos para: FUNO LCASE, FUNO UCASE, FUNO LEFT, FUNO RIGHT,
respectivamente.
Ao lado de cada um dos 4 labels inseridos no passo anterior, inclua um componente TEXTBOX,
apagando o contedo da sua propriedade TEXT. Ao final deste procedimento, seu formulrio ter o
seguinte aspecto:
Antes de codificarmos o boto "TESTE DE FUNES", vamos ver o que faz cada uma e a sintaxe que dever
ser empregada nas mesmas:
Funo LCASE
Esta funo converte as letras minsculas de uma string em maisculas. Sua sintaxe :
LCASE (string)
Funo UCASE
Esta funo converte as letras maisculas de uma string em minsculas. Sua sintaxe :
UCASE (string)
Funo LEFT
Esta funo retorna os "x" primeiros caracteres de uma string. Sua sintaxe :
LEFT (string, nmero_de_caracteres)
Funo RIGHT
Esta funo retorna os "x" ltimos caracteres de uma string. Sua sintaxe :
RIGHT (string, nmero de caracteres).
Agora que j sabemos o objetivo das funes que vamos utilizar e suas sintaxes, iremos codificar nosso
pequeno sistema. Para isso, d um clique duplo no buttom e entre com a seguinte codificao:
Private Sub Command1_Click()
Text2.Text = LCase(Text1.Text)
Text3.Text = UCase(Text1.Text)
Text4.Text = Left(Text1.Text, 3)
Text5.Text = Right(Text1.Text, 3)
End Sub
Execute o projeto, entre com o nome "SO paulo" no primeiro TextBox, clique no boto que testa as
funes e veja os resultados:
Passo 1 -> executando e digitando a frase citada no TextBox:
Marcelino Macdo
- 61 -
FUNO FORMATCURRENCY
Esta funo tem o objetivo de formatar um determinado numero ou varivel numrica para que seu
contedo seja exibido em formato de moeda. A sintaxe deste comando :
FormatCurrency (valor, nmero_casas_decimais,true1 ou false1, true2 ou false2, true3 ou false3)
Sendo que:
O true1 ou false1 indica se voc quer ou no que sejam exibidos zeros esquerda de uma virgula decimal.
O true2 ou false2 indica se voc quer ou no que o valor seja colocado dentro de parnteses no caso de
nmero negativo.
O true3 ou false3 indica se voc quer ou no separar as casas de milhar.
FUNO FORMATNUMBER
Esta funo tem o objetivo de formatar um determinado nmero ou varivel numrica no que se diz respeito
a forma pela qual o valor deste ser exibido. idntica a funo FORMATCURRENCY, porm no trata os
valores como sendo moeda e sim simplesmente nmeros formatados. Sua sintaxe idntica a funo
FORMATCURRENCY.
FormatNumber (valor, nmero_casas_decimais,true1 ou false1, true2 ou false2, true3 ou false3)
Sendo que:
Marcelino Macdo
- 62 -
9. Vamos codificar o primeiro boto (formata em moeda). D um duplo clique sobre este e entre com a
seguinte codificao:
Private Sub Command1_Click()
x = Val(Text1.Text)
MsgBox FormatCurrency(x, 2, vbTrue, vbTrue, vbTrue)
End Sub
O primeiro passo foi armazenar na varivel "x", o valor do text1.text transformado em nmero, para isso
usamos a funo VAL, pois sabemos que o contedo de um TextBox sempre String e para que possamos
utilizar as funes FormatCurrency e Number, temos que ter um valor do tipo numrico.
Em seguida, criamos uma caixa de dilogo (MSGBOX) que ir conter o valor da varivel "x", em formato de
moeda (formatcurrency), com duas casas decimais, com zeros esquerda da virgula decimal, sendo um
nmero negativo este ser apresentado entre parnteses e com separador de casas decimais.
10. Vamos agora codificar o segundo boto (formata em nmero). D um clique duplo sobre este e entre
com a seguinte codificao:
Private Sub Command2_Click()
x = Val(Text1.Text)
MsgBox FormatNumber(x, 2, vbTrue, vbTrue, vbTrue)
End Sub
O primeiro passo foi armazenar na varivel "x", o valor do text1.text transformado em nmero, para isso
usamos a funo VAL, pois sabemos que o contedo de um TextBox sempre String e para que possamos
utilizar as funes FormatCurrency e Number, temos que ter um valor do tipo numrico.
Em seguida, criamos uma caixa de dilogo (MSGBOX) que ir conter o valor da varivel "x", em formato de
nmero (formatNumber), com duas casas decimais, com zeros esquerda da virgula decimal, sendo um
nmero negativo este ser apresentado entre parnteses e com separador de casas decimais.
Execute agora nosso pequeno projeto, e entre com o seguinte nmero: 123456,58. Em seguida, d um
clique em cada um dos botes para ver o resultado. A sequncia do resultado exibida nos grficos a
seguir:
Neste primeiro passo entramos com o valor solicitado.
Marcelino Macdo
- 63 -
Aqui est sendo exibida a janela que ser mostrada na sua tela
quando clicar sobre o boto "formata em nmero".
Coloque agora um
operao, voc ir
Atravs do uso de banco de dados (a mais utilizada por oferecer maiores recursos)
Podem especificar uma informao por linha de texto ou por uma formatao determinada por sua
pessoa.
Quando trabalhamos com arquivos ASC II, poderemos manipular este atravs dos seguintes tipos:
Sequnciais;
Randmicos;
Binrios.
O primeiro passo para se trabalhar com arquivos do tipo ASC II abrir o mesmo. Aqui existe uma
observao importante: Se voc especificar para a abertura um arquivo que no exista, este ser criado na
hora e ter como contedo o valor nulo, ou seja, nada.
Para abrir um arquivo do tipo ASC II, temos o comando OPEN, com a seguinte sintaxe:
OPEN <nome do arquivo> FOR <tipo do arquivo> AS <manipulador>
Sendo que:
Nome do arquivo: nome que ser dado ao futuro arquivo ASC II ou o nome do arquivo ASC II j
existente que dever ser aberto.
Tipo do arquivo: aqui ser especificado a forma pela qual o arquivo ser aberto. Dentre as possveis
temos:
o Append
o
o
o
o
Input
OutPut
Binary
Random
Manipulador: tambm conhecido como Handle, que tem a funo de concretizar a referncia ao
arquivo aberto.
O parmetro <tipo do arquivo> opcional e, caso seja omitido, o arquivo ser do tipo Random (padro do
VB).
Aps manipular os dados do arquivo, dever fechar o mesmo atravs do comando CLOSE, que tem a
seguinte sintaxe:
CLOSE <nome do arquivo>
Vamos comear falando sobre os arquivos ASC II do tipo sequncial, que aquele constitudo por uma
conjunto de linhas de texto. Neste tipo de arquivo, para que possamos incluir novas informaes no mesmo
(escrever dados), deveremos atribuir a este o tipo de arquivo INPUT ou APPEND, sendo que:
Marcelino Macdo
- 64 -
No novo form que lhe oferecido, na parte superior, inclua um componente Label e altere a
propriedade CAPTION do mesmo para "Nome do Aluno";
Inclua ao lado do Label um componente TextBox e apague o contedo de sua propriedade Text;
Inclua abaixo um componente CommandButton e altere a propriedade Caption deste para "Gravar";
Agora, execute o seu editor de textos WordPad e como "documento de texto", solicite a abertura do arquivo
APCASA.TXT, voc ter o seguinte resultado:
Marcelino Macdo
- 65 -
Observe que atravs do seu programa em VB, foi gerado um arquivo texto de nome APCASA e com a
incluso dos nomes dos alunos digitados anteriormente. Voc de uma forma simples, criou um banco de
dados (arquivo contendo informaes).
- Aula 30 - Manipulando dados em arquivos ASC II - Parte II
Para melhor compreender os arquivos texto (ASC II), iremos neste mdulo comear a elaborao de um
sistema editor de texto, onde iremos desenvolver diversas tcnicas, como ler e gravar dados, imprimir os
dados digitados, etc... alm de estudarmos novos controles.
No mdulo anterior, especificamos diretamente no cdigo o nome do arquivo a ser gravado. Neste
exemplo, iremos utilizar a caixa padro do Windows para salvar ou ler arquivos, assim sendo,
deveremos incluir em nossa interface o componente Common Dialog, para isso, siga os passos
abaixo:
o Clique na opo de menu PROJECT;
Inclua no seu formulrio (na parte esquerda e um abaixo do outro), quatro componentes
CommandButtom;
Marcelino Macdo
- 66 -
Para que o TextBox aceite mltiplas linhas (fato comum em um texto), altere a propriedade
Multiline do mesmo para True, apague o contedo da propriedade Text e em seguida, altere a
propriedade ScrollBars para 3-Both;
Altere o Caption dos 4 primeiros Buttons para "LER ARQUIVO", "GRAVAR ARQUIVO", "LIMPAR
REA", "FINALIZAR";
Marcelino Macdo
- 67 -
1.
Primeiro criamos um filtro para o tipo de arquivo na qual iremos trabalhar, neste caso tipo Texto
(TXT), alm de exibir a mensagem "Arquivos Texto (*.TXT)", na barra de ttulo da janela padro do
windows de abertura de arquivos;
Em seguida, abrimos o componente Commondialog1, atravs do mtodo Show (invocando a janela
padro de abertura de arquivos do Windows), em seu mtodo de abertura de arquivos (Open);
No teste realizado pelo comando IF, testamos se o usurio digitou alguma coisa diferente de nada,
ou seja, se o mesmo entrou com um nome de arquivo, este dever ser lido, o que acontecer
durante os comandos positivos do IF;
O primeiro passo foi abrir o arquivo selecionado no CommonDialog para leitura, sendo que este ser
tratado como arquivo nmero 01 READ AS #1;
Aps a abertura, o sistema ir percorrer do primeiro ao ltimo caracter DO WHILE NOT EOF(1);
Cada caracter do arquivo, ser lido (um por vez) e concatenado (somado) varivel TEXTO
texto=texto&input(1,#1);
Aps termino o loop (todos os caracteres que fazem parte do arquivo serem lidos), iremos transferir
o contedo da varivel TEXTO para o TEXTBOX1 textbox1.text=texto;
Em seguida fechamos o arquivo.
2.
3.
4.
5.
6.
7.
8.
Execute a aplicao, clique no boto LER ARQUIVO e selecione o arquivo APCASA que geremos no
mdulo de aula anterior. Observe o resultado final:
No grfico acima representamos o ato do clique no boto em questo e, em seguida na janela de abertura
de arquivos a seleo do APCASA. Clicando em Ok, voc ter como resultado a janela seguinte:
Marcelino Macdo
- 68 -
Salve o projeto em questo. Na prxima aula iremos programar o boto GRAVAR ARQUIVO.
- Aula 30 - Manipulando dados em arquivos ASC II - Parte III
Nesta aula iremos programar o boto GRAVAR ARQUIVO, constante do projeto que comeamos algumas
aulas. Para isso, proceda da seguinte forma:
1. Abra o projeto GRAVA ARQUIVO;
2. D um clique duplo no boto GRAVA ARQUIVO e entre com a seguinte codificao para o mesmo:
Private Sub Command2_Click()
CommonDialog1.Filter = "Arquivos Text (*.TXT)|*.txt"
CommonDialog1.ShowSave
If CommonDialog1.FileName <> "" Then
Open CommonDialog1.FileName For Output As #1
Print #1, Text1.Text
Close #1
End If
O primeiro passo foi estipular o tipo de arquivo a ser aberto na caixa de dilogo padro do windows (Salvar
arquivo), que seria do tipo TXT: CommonDialog1.Filter = "Arquivos Text (*.TXT)|*.txt"
Em seguida solicitamos a exibio da janela padro "Salvar Arquivo" do windows:
CommonDialog1.ShowSave
Em seguida testamos se o usurio entrou com um nome de arquivo, ou seja, se no deixou o campo nome
do arquivo em branco, condio no permitida pelo Windows: If CommonDialog1.FileName <> "" Then
Caso o usurio tenha digitado um nome de arquivo, o primeiro passo foi abrir o caminho #1 para a gravao
do arquivo.
Logo aps salvamos o contedo do Text1 (Text1.Text) no caminho #1 aberto na linha anterior: Print #1,
Text1.Text
E para finalizar fechamos o arquivo que estvamos manipulando: Close #1.
Vamos agora programar o boto LIMPAR REA, para isso, d um clique duplo no boto em questo e entre
com o seguinte cdigo:
Private Sub Command3_Click()
Text1.Text = ""
End Sub
Aqui o procedimento utilizado foi muito simples, ou seja, apenas comparamos o contedo "" (vazio) para o
Text1.
Para o boto finalizar, basta incluir o comando END e seu editor de textos est pronto.
- Aula 32 - Trabalhando com arquivos de imagem
Neste mdulo de aula, iremos iniciar nossos estudos sobre como trabalhar arquivos de imagem em
aplicaes VB6. O procedimento muito simples e, como exemplo, iremos desenvolver um projeto que entre
outras caractersticas ir oferecer ao usurio a possibilidade de selecionar o diretrio do arquivo de imagem
para que o mesmo possa ser visualizado.
Marcelino Macdo
- 69 -
BMP;
ICO;
JPG;
WMF;
GIF.
O elemento grfico a ser exibido no controle em questo estar definido na propriedade PICTURE do mesmo.
Outra propriedade fundamental para se trabalhar com este componente a STRETCH, podendo armazenar
apenas True ou False. Caso esta propriedade esteja setada para TRUE a figura a ser exibida ser
redimensionada de acordo com o tamanho do controle definido pelo desenvolvedor, caso contrrio a mesma
ser cortada para que possa se adequadar ao espao disponibilizado.
Vamos desenvolver um projeto de exemplo para melhor compreenso dos tpicos estudados at este ponto:
I.
II.
III.
IV.
V.
VI.
Marcelino Macdo
- 70 -
Marcelino Macdo
- 71 -
Na prxima aula iremos ver a forma correta de abrir um dos arquivos que foram carregados no controle
ListBox.
- Aula 34 - Trabalhando com arquivos de imagem
Vamos nesta aula codificar o boto ABRIR, para isso, d um clique duplo no boto em questo e entre com a
seguinte codificao:
Private Sub Command1_Click()
arquivo = List1.List(List1.ListIndex)
Image1.Picture = LoadPicture(arquivo)
End Sub
O primeiro passo foi armazenar na varivel ARQUIVO o item selecionado no componente ListBox e em
seguida carrega-lo para o controle IMAGE, atravs do LOADPICTURE.
Basta agora codificar o boto SAIR, entrando com a seguinte codificao para o mesmo:
Private Sub Command2_Click()
End
End Sub
Nosso projeto para a visualizao de grficos em um sistema em VB est concludo.
- Aula 34 - Imprimindo o seu cdigo fonte
As vezes se torna necessrio a visualizao de trechos de cdigo, em determinados Forms para que o
projeto possa ser continuado. Voc poderia ler este cdigo diretamente do seu monitor de vdeo, estando
com o projeto aberto, porm vamos imaginar que voc est trabalhando em conjunto com mais 5
programadores ... j pensou todos eles "pendurados" sobre o micro para observar o cdigo. Ou ainda se
voc precisar comparar o cdigo de 2 forms?
A melhor soluo para o controle geral da fonte do sistema sem dvida nenhuma, desde a gerao DOS, a
impresso do cdigo fonte e, no VB, este procedimento bem simples, apesar de poucos o conhecer. Nada
melhor do que a prtica para explicar tais procedimentos:
Marcelino Macdo
- 72 -
Observe que a janela apresentada, apresenta diversas opes para que voc possa especificar com o
contedo deseja imprimir. Vamos ento explicar as diversas opes existentes:
O frame "Range" determina qual parte do projeto ser impresso, e este possui as seguintes opes:
SELECTION -> Caso voc tenha uma rea de texto selecionada na janela CODE, apenas esta rea
selecionada ser impressa. Quando esta opo no est disponvel, indica que no existe nenhum
trecho de cdigo selecionado.
CURRENT MODULE -> Neste caso voc ir imprimir o contedo especificado no frame "PRINT
WHAT" referente ao formulrio que est com o foco neste momento. Iremos explicar o contedo do
frame PRINT WHAT logo abaixo.
CURRENT PROJECT -> Ao selecionar esta opo e combinado com a seleo do frame "PRINT
WHAT", ser impresso o contedo de todos os mdulos que compe o seu projeto.
J o frame "Print What" define o que ser impresso dentro da opo selecionada no frame "RANGE" e, possui
as seguintes opes:
FORM IMAGE -> quando selecionada, ir imprimir a imagem do FORM, representando a aparncia
do mesmo em tempo de execuo. No caso da impresso da imagem de todos os forms do projeto
(opo current project do frame estudado acima), ser impresso um FORM por pgina.
CODE -> Ao selecionar esta opo ser impresso todos os procedimentos de evento de um
formulrio, com seus respectivos controle (ou de todos os formulrios do projeto). No caso da
impresso do cdigo de todos os Forms, ser saltada automaticamente a folha quando o cdigo
representar o inicio de um novo form.
FORM AS TEXT -> Esta opo realiza a impresso de uma listagem das propriedades de seu form e
seus respectivos controles.
Aps configurar a impresso de acordo com a sua necessidade, basta ento selecionar a impressora para
onde a impresso dever ser encaminhada e clicar no boto OK.
- Aula 36 - Verificando o hardware com o VB6 - Parte I
Para verificar determinados itens de hardware do computador atravs do VB6, necessrio que voc
trabalhe com a API do Windows. O primeiro passo entender o que significa a API:
A API na verdade um conjunto de bibliotecas e arquivos executveis, que servem para a manipulao dos
recursos do Windows.. So diversas as APIs do Windows, como exemplo, iremos a principio utilizar duas
APIs, que tem a funo de oferecer informaes sobre a CPU do equipamento e uma outra que tem a funo
de exibir informaes gerais sobre o disco do equipamento. Estas duas APIs respectivamente so:
GetSystemInfo;
GetDiskFreeSpace.
Marcelino Macdo
- 73 -
Abaixo do primeiro Buttom, inclua um novo Buttom e altere a sua propriedade CAPTION para
ESPAO LIVRE EM DISCO;
Ao lado deste Buttom, inclua um novo componente TextBox e apague o contedo da propriedade
Text;
Abaixo dos dois buttons, porm na estrema direita do formulrio, inclua um novo Buttom, alterando
a sua propriedade CAPTION para FIM;
Seu formulrio ter o seguinte aspecto:
9. Vamos agora codificar o boto FIM do formulrio, que dever ter a seguinte codificao:
Private Sub Command3_Click()
End
End Sub
10. Vamos primeiramente estudar a funo GetSystemInfo, que tem o objetivo de retornar informaes
gerais sobre o hardware da mquina, entre as quais podemos destacar:
Tipo de processador;
Marcelino Macdo
- 74 -
18. Clique sobre a opo VB 6 API VIEWER. Marque tambm as opes LOADED/UNLOADED e LOAD ON
STARTUP do frame LOAD BEHAVITOR, para que este aplicativo seja carregado no menu ADD-INS
automaticamente;
19. Clique agora no boto OK;
20. Agora clique na opo de menu ADD-INS ... API VIEWER, ser ento apresentada a seguinte janela:
Marcelino Macdo
- 75 -
21. Clique na opo de menu FILE ... LOAD TEXT FILE, para carregarmos o arquivo de texto contendo as
APIs do mesmo, ser ento apresentada a seguinte janela:
22. Clique na opo WIN32API e em seguida clique no boto ABRIR, ser apresentada a seguinte janela:
Marcelino Macdo
- 76 -
23. Observe que as APIs disponveis so listadas na caixa de listagem AVAILABLE ITEMS;
24. Agora voc dever selecionar as funes que sero utilizadas pelo sistema. Vamos selecionar a primeira,
procurando na caixa de listagem em questo a opo GETSYSTEMINFO, marcando-a e em seguida clicando
sobre o boto ADD, veja como ficou a janela do seu aplicativo:
Marcelino Macdo
- 77 -
25. Repita a operao para a API GETDISKSPACEFREE, aps concluido este procedimento, sua janela ter o
seguinte aspecto:
Marcelino Macdo
- 78 -
26. Ao final deste procedimento, clique sobre o boto COPY, assim as declaraes sero copiadas para a rea
de transferncia.
Aula 38 - Verificando o hardware com o VB6 - Parte III
27. Retornando a nossa aplicao vamos criar o arquivo de mdulos, para isso clique na opo de menu
PROJECT e em seguida, selecione a opo ADD MODULE, sua rea de trabalho passar a ter a seguinte
aparncia:
28. No cdigo do mdulo, insira a declarao de nossas APIs, colando o contedo da API Viewer;
Marcelino Macdo
- 79 -
Um processador de textos que salve arquivos no formato RTF (Rich Text Format) e tenha recursos de
trabalho com cabealhos e rodaps;
Compilador de ajuda que gere arquivos HLP. No caso do VB, existe um aplicativo que acompanha o
pacote, o HCW. Este software dever estar na mesma pgina do menu iniciar que contm o VB. Observe
na figura a seguir a janela do Microsoft Help WorkShop em execuo:
Marcelino Macdo
- 80 -
Nada melhor do que a prtica para que possamos entender a forma correta de se criar arquivos de ajuda ....
Para se construir um arquivo de ajuda, voc dever passar pela criao de trs arquivos distintos e que iro
trabalhar em conjunto. So eles:
Arquivo de contedo arquivo no formato ASC II, que ir definir o layout e a aparncia da guia
CONTENTS do arquivo de ajuda;
Arquivo de tpico neste ser incluso o texto relativo a ajuda em si que ser oferecida no Help;
Arquivo de projeto Cria a ligao entre os arquivos de contedo e tpico, alm de definir a posio
do arquivo de ajuda ao ser executado.
Vamos iniciar ento a criao do nosso arquivo de ajuda criando o nosso arquivo de contedo. Para isso,
execute o Microsoft Help Workshop e proceda da seguinte forma:
01) Clique na opo de menu FILE;
02) No menu suspenso que aberto, selecione a opo NEW, ser ento exibida a seguinte janela:
03) Na caixa de dilogo NEW, selecione a opo HELP CONTENTS e clique em OK. Ser ento apresentada a
seguinte janela:
Marcelino Macdo
- 81 -
04) Primeiramente deveremos definir o nome do arquivo de ajuda, e o mesmo dever ser digitado na caixa
de edio denominada DEFAULT FILENAME (AND WINDOW). Neste exemplo, digite MINHAAJUDA.HLP;
05) Ao lado, temos a caixa de edio DEFAULT TITLE, que representa o ttulo principal do seu arquivo ao ser
exibido. Neste caso, digite HELP DO SISTEMA;
06) O prximo passo a insero de um ttulo lista, para isso, clique no boto ADD ABOVE, ser ento
exibida a seguinte janela:
07)
08)
09)
10)
Marcelino Macdo
- 82 -
12) Agora temos que tornar este novo ttulo que foi inserido como um sub item da opo de menu principal,
que chamada de ARQUIVO DE AJUDA. Para isso, selecione a opo ARQUIVO DE CONTEDO, dando um
clique sobre o mesmo e clicando em seguida no boto MOVE RIGHT. Observe como ficou a sua janela neste
ponto:
13) Vamos ento acrescentar os tpicos do arquivo de contedo. Clique novamente em ADD BELOW, porm
desta vez, na janela EDITS CONTENTS TAB ENTRY, selecione a opo TOPIC, e configure a mesma conforme
mostra a figura a seguir:
Marcelino Macdo
- 83 -
Marcelino Macdo
- 84 -
41) O processo para os demais dois tpicos de nosso arquivo de ajuda sero os mesmos. Devido a isso,
iremos apresentar apenas o resultado grfico dos demais tpicos, que voc dever realizar seguindo os
passos anteriores;
42) Vale lembrar que de um tpico ao outro, devero ser inclusas quebras de pgina;
Marcelino Macdo
- 85 -
Marcelino Macdo
- 86 -
48. Na guia GENERAL, na caixa de edio HELP TITLE, digite o contedo ARQUIVO DE AJUDA;
49. Selecione agora a guia COMPRESSION;
50. Selecione a opo CUSTOM e marque a caixa de seleo HALL COMPRESSION, para que nosso arquivo
ajuda no ocupe muito espao;
51. Selecione a guia FILES;
52. Na caixa de edio HELP FILE, digite o nome do arquivo HLP criado, ou seja, MINHAAJUDA;
53. Clique no boto CHANGE;
54. Ser apresentada uma janela denominada TOPIC FILES;
55. Na mesma, clique no boto ADD;
56. Selecione o arquivo MINHAAJUDA.RTF, para adicionar o arquivo de tpico ao projeto do arquivo de
ajuda;
57. Clique agora no boto BROWSE;
58. Na janela que aberta, selecione o arquivo Minhaajuda.cnt;
59. Desta forma voc estar vinculando os dois arquivos;
60. Observe como dever estar a sua janela neste ponto:
Marcelino Macdo
- 87 -
63. Neste ponto iremos criar a janela do HELP, que ser objeto de estudo do prximo mdulo de aula.
Aula 43 - Gerando Arquivos de Help para Aplicaes VB - Parte II
64. Clique na caixa de edio CREATE A WINDOWS NAMED e d o nome de FONTE, neste ponto ser exibida
a seguinte janela:
69. Agora, para cada um dos tpicos, deveremos ligar ao respectivo mapa do arquivo RTF. Para isso, proceda
da seguinte forma;
70. Clique no boto ADD;
71. Aps o final deste processo, sua janela ter o seguinte aspecto:
Marcelino Macdo
- 88 -
72. Agora voc dever salvar e compilar o seu arquivo de ajuda, para isso, d um clique no boto SAVE e em
seguida no boto COMPILE, que esto marcados na figura a seguir:
73. Durante a compilao, a janela do aplicativo em questo ficar minimizada. Se no existirem erros, sua
janela ter ao final o aspecto seguinte:
74. Vamos agora testar nosso aplicativo de ajuda, antes de inserir o mesmo em nossa aplicao, para
evitarmos qualquer tipo de problema;
75. Para isso, ainda com o Microsoft Help Workshop aberto, clique sobre o boto RUN WINHELP,
representado ponto de interrogao na barra de ferramentas. Neste ponto, ser apresentada a janela
seguinte;
Marcelino Macdo
- 89 -
76. Verifique se nossa arquivo minhaajuda est selecionado em Project File, caso no esteja, procure o
mesmo clicando no menu Browse...;
77. Aps isso, clique no boto VIEW HELP;
78. Teste o arquivo de ajuda, expandido as suas pastas, clicando sobre um dos tpicos, etc...
Pronto, voc acabou de criar um arquivo de ajuda. Na prxima aula iremos estudar como vincular um
arquivo de ajuda ao seu programa VB.
Aula 44 - Gerando Arquivos de Help para Aplicaes VB - Parte VI
Na verdade, linkar o arquivo de ajuda muito mais fcil do que propriamente criar o mesmo. Podemos
utilizar o arquivo gerado de duas formas:
1.
Chamando o arquivo por inteiro, e neste caso o usurio ir navegar dentro das opes disponveis;
2.
Chamando por um dos nveis de tpicos criados, desta forma, voc estaria linkando o Help a um
assunto em especfico, por intermdio por exemplo de um menu.
Iremos primeiramente estudar a opo 01. O processo para se linkar um HELP a sua aplicao, sendo que
esta ligao seja feita com o total contedo do HELP simples, observe os passos a seguir:
1.
acesse o menu Project, escolha o item Project Properties...;
na janela que aparece, na aba General, selecione no campo Help File Name o arquivo Help que voc deseja
utilizar no projeto. Observe que o VB suporta arquivos de help tanto no formato HLP quanto no formato
CHM:
2.
Para visualizarmos como um projeto chama o help, compile o projeto e quando ele estiver sendo
executado, clique em F1 para que o help seja visualizado
Agora, vamos dificultar um pouco o processo, fazendo com que o sistema possa abrir os arquivos de HELP
atravs dos tpicos gerados. Mas como isso possvel? A resposta simples:
Voc lembra que ao criar a sua janela de HELP, utilizou o mapeamento dos tpicos atravs da janela MAP?
Onde, inclumos para o tpico CONTEDO o MAP 100 e assim sucessivamente? Pois ento, desta forma
Marcelino Macdo
- 90 -
Observe que no exemplo acima, temos uma caixa de dilogo de advertncia/aviso, ou seja, especificando ao
usurio que para a operao a ser executada necessrio que tenhamos um disco na unidade -A-.
O Visual Basic oferece em sua coleo duas caixa de dilogo distintas:
A caixa de mensagem;
A caixa de entrada.
Para informar ao usurio uma determinada situao, utilizamos as caixas de mensagens representadas pela
instruo MSGBOX. Se necessrio for permitir que o usurio alm de receber uma determinado informao
tambm efetue a entrada de dados pelo teclado, utilizamos as caixas de mensagem representadas pela
instruo INPUTBOX.
A sintaxe bsica da instruo MSGBOX pode ser observada abaixo:
MSGBOX (texto, cone, ttulo)
Onde:
Marcelino Macdo
- 91 -
cone -> Representa o cone e o boto que sero apresentados no interior da caixa de mensagem;
Title -> representa o texto que ser apresentado na barra de ttulos da caixa de dilogo.
O parmetro "cone" representado por uma expresso ou cdigo, de acordo com a tabela abaixo:
Expresso
Cdigo
Representa
vbOkOnly
vbOkCancel
vbAbortRetryIgnore
vbYesNoCancel
vbYesNo
vbRetryCancel
vbCritical
16
vbQuestion
32
vbExclamation
48
vbInformation
64
Execute o seu projeto, ao clicar sobre o boto que inserimos teremos o seguinte resultado:
Observe que o primeiro passo foi definir a frase que seria utilizada dentro da caixa de dilogo, em seguida
especificamos o boto que seria empregado dentro da mesma e como parmetro final o ttulo da caixa de
dilogo gerada.
Marcelino Macdo
- 92 -
Marcelino Macdo
- 93 -
Aps entrar com o nome do usurio e clicar sobre o boto <OK>, o formulrio principal de sua aplicao
ter o seguinte aspecto:
o
o
o
Observe que os dados recolhidos com as caixas de dilogo do tipo "entrada de dados" podem ser
trabalhados no decorrer da rotina.
Marcelino Macdo
- 94 -
Clique agora sobre a caixa de seleo que representa os eventos (a que est a sua direita superior) da janela de
cdigo. Observe que diversos outros eventos esto disponveis:
Vamos abaixo citar o objetivo dos principais eventos disponveis relacionados ao mouse:
BdlClick()
Este evento disparado quando um determinado controle recebe um clique duplo. Observe que o controle
Command Button no possui este evento, porm o mesmo encontrado no controle <ComboBox>. De acordo com
o controle utilizado um deeterminado evento aqui citado poder ou no estar disponvel.
DragDrop()
Este evento disparado quando voc solta em qualquer lugar do formulrio um determinado controle que estava
sendo arrastado. Voc poder utilizar este evento para programar uma ao que ocorrer quando o usurio
dimensionar uma imagem grfica por exemplo.
DragOver()
Este evento disparado quando o usurio arrasta um objeto qualquer sobre um determinado controle.
MouseDown()
Este evento disparado quando voc clica sobre um determinado controle e mantm o boto do clique pressionado.
MouseMove()
Marcelino Macdo
- 95 -
Marcelino Macdo
- 96 -
Observe que na parte superior da janela de cdigo temos o nome do controle e o evento Click a ser programado. Na
verdade quem dispara o evento o mouse e no o controle Button. Observe a sintaxe deste evento:
nome do controle_click()
Muitos atribuem ao boto o evento, o que um erro, pois agora sabemos que ele apenas recebe a ao provocada
pelo mouse.
Alguns controles recebem tambm o evento DBLCLICK() ou seja, apenas ser disparado se o usurio clicar duas
vezes com um pequeno intervalo de tempo entre o primeiro clique e o segundo sobre o controle em questo. O
controle Button por exemplo no oferece suporte a este evento. J o controle LISTBOX oferece suporte ao mesmo,
como por exemplo selecionar um determinado item de sua lista atravs do clique duplo. Observe na janela de
cdigo abaixo o controle LISTBOX e o evento disparado pelo mouse DBLCLICK():
A propriedade que armazena o item a ser selecionado atravs de um duplo clique em uma caixa de listagem a
TEXT. Observe abaixo como ficaria a rotina principal de seu sistema para uma escolha atravs de um clique duplo
sobre um item da lista:
Marcelino Macdo
- 97 -
Quando possui valor "0" indica que o controle est entrando nos limites do alvo;
Quando possui valor "1" indica que o controle est saindo dos limites do alvo;
Quanto possui valor "2" indica que o controle est sendo arrastado dentro dos limites do alvo.
Marcelino Macdo
- 98 -
Valor do parmetro
Descrio
Este parmetro utilizado para que o desenvolvedor tenha o controle sobre qual boto do mouse foi pressionado.
J os parmetros Shift representado por um valor inteiro que indica a tecla que foi pressionada enquanto o boto
do mouse era mantido pressionado. Os valores so:
Documentar o cdigo no uma prtica saudvel apenas para um aplicativo VB, mas em qualquer linguagem de
programao/ambiente de desenvolvimento.
Marcelino Macdo
- 99 -
Marcelino Macdo
- 100 -
o
o
btn_incluidados - utilizado para nomear um boto que tem a funo de incluir dados de um
formulrio
btn_pesquisa - utilizado para nomear um boto que tem a funo de carregar uma rotina de
busca.
Marcelino Macdo
- 101 -