Escolar Documentos
Profissional Documentos
Cultura Documentos
4499 - Visual Basic PDF
4499 - Visual Basic PDF
Autor:
Aulus Plautius Rosan
Introduo
O que o Visual Basic ?
O Visual Basic um compilador do tipo QuickBasic para criao de aplicativos
para Windows, ele na realidade, uma aplicao do prprio Windows. dessa
forma que os programas em Visual Basic podem ser criados, rodados, depurados
e compilados diretamente no Windows. O Visual Basic possibilita aos usurios a
programao baseada em eventos e objetos. Isto quer dizer que o programador
coloca na janela todas as opes (menus, botes, cones, controles, etc...) para
que o usurio selecione uma delas com o mouse ou com o teclado. Antes do
Visual Basic uma aplicao era desenvolvida em linguagem C, juntamente com o
Kit de Desenvolvimento de Software do Windows, o que demandava muito tempo
de aprendizagem.
Ambiente de Desenvolvimento
O ambiente de programao do Visual Basic composto pelas seguintes
janelas: Janela Principal, Caixa de Ferramentas, Janela de Propriedades,
Janela de Projeto, Janela de Cdigo e Formulrio. atravs dessas janelas
que podemos escolher os objetos que faro parte do nosso programa, configurar
suas propriedades conforme a especificao do programa, escolher os eventos
que sero utilizados, etc.
Janela Principal
Barra de Ttulo
A barra de ttulo a barra horizontal localizada no topo da tela; ela informa o
nome do aplicativo e comum a todos os aplicativos Windows da Microsoft.
Interaes entre o usurio e a barra de ttulo so manipuladas pelo Windows e
no pelo aplicativo. Tudo o que est abaixo da barra de ttulo e da barra de menu,
Barra de Objetos
Essa barra est localizada esquerda da tela do Visual Basic, logo abaixo da
barra de ferramentas e possui os objetos grficos (botes, caixas de texto, caixa
de figura, etc...) disponveis para serem utilizados dentro do projeto. O Visual
Basic chama esses objetos de controles. O ambiente que voc est utilizando
pode apresentar mais figuras do que o mostrado abaixo. Isso deve-se ao fato de o
Visual Basic ser um ambiente de programao aberto e extensvel, ou seja, alm
dos controles disponveis no Visual Basic, podemos adquirir outros controles
fornecidos por outras empresas ou construir o nosso prprio controle.
Janela de Propriedades
As propriedades definem as caracte- rsticas de cada
objeto - controle da aplicao. O conjunto de
propriedades depende do controle selecionado. Por
exemplo, um formulrio tem propriedades diferentes
de uma figura. As propriedades podem ser alteradas
em tempo de projeto ou de execuo, sendo que
algumas delas somente em tempo de execuo. Para
alterar o valor de uma propriedade em tempo de
execuo s por meio de programao a ser
carregada atravs de um objeto, por exemplo um
boto ou assim que o programa for carregado, j em
tempo de projeto, devemos:
Janela de Projetos
Janela de Cdigo
Essa janela con- tm a declarao de variveis, constantes e rotinas. Na figura ao
lado, po- demos ver dois quadros combo, um contendo a lista de objetos dentro
do nosso programa e o outro uma lista de eventos disponveis para cada um dos
objetos. Podemos observar na figura que o evento selecionado o "Click" e o
objeto o formulrio. O comando Beep na linguagem do Visual Basic gera um
aviso originrio do alto-falante do PC. Portanto cada vez que o usurio der um
clique com o mouse no formulrio o procedimento "Form_Click( )" ser executado
e gerar um "beep".
Funes e Sub-Rotinas
As funes (functions) e sub-rotinas (subs) so chamadas de procedimentos
(procedures). Existem trs tipos de procedimentos:
1.) do Visual Basic;
2.) associados aos eventos;
3.) criados pelo programador.
Os procedimentos do Visual Basic so, por exemplo, os mtodos, as funes
matemticas, as funes manipuladoras de "Strings", etc. Os procedimentos
associados aos eventos so aqueles procedimentos que so chamados em
resposta a um evento. Adicionamos cdigos a eles atravs da Janela de Cdigo
do formulrio. Os procedimentos criados pelo programador so aquelas subrotinas e funes utilizadas para melhorar a estruturao do cdigo. Podemos ter,
por exemplo, uma funo que abre um arquivo. Essa funo trataria os possveis
erros e retornaria o nmero do arquivo aberto. Esse procedimento estaria
declarado dentro do objeto "General" da Janela de Cdigo de um formulrio ou
de um mdulo. Dentro do Visual Basic, a diferena entre uma funo e uma subrotina que a funo retorna um valor e a sub-rotina no.
Formulrio
Menus
Menu File
Voc precisar do menu principal File para trabalhar com os arquivos que
compem seu projeto. Esse menu inclui comandos para salvar, abrir e imprimir
arquivos. O menu File tambm permite que voc saia do Visual Basic atravs de
um item para isso, a outra maneira utilizando as teclas de combinao do
Windows ALT + F4 quando estiver posiconado na barra de menu principal. Como
em qualquer aplicativo Windows, voc tambm poder abrir a caixa de controle na
barra de menu e escolher Exit ou dar um duplo clique nessa caixa.
A maioria dos itens do menu principal File til apenas quando voc inicia o
desenvolvimento de seu prprio aplicativo. Abaixo segue um breve resumo sobre
os itens para orient-lo melhor:
Menu Edit
Abaixo segue um breve resumo sobre os itens para orient-lo melhor:
Menu Project
Menu Format
Menu Debug
Menu Run
Menu Tools
Menu Add-Ins
O menu Add-Ins lhe permite acessar ferramentas separadas que podem ser
incorporadas ao Visual Basic. Existem dois Add-Ins fornecidos com vrias verses
do Visual Basic. O Report Manager, que representado pelo software da empresa
Seagate Crystal Reports, atualmente na verso 7.0, uma ferramenta completa
para modificar e criar relatrios que voc poder utilizar em seu programa. A outra
ferramenta inclusa o Visual Data Manager, que usado para gerenciamento de
Banco de Dados. Utilize o Add-In Manager para adicionar e remover Add-Ins do
menu.
Abaixo segue um breve resumo sobre os itens para orient-lo melhor:
Menu Window
Menu Help
Barra de Ferramentas
Janelas
Janela de Projetos
Esta janela comtm informaes sobre o projeto em uso. nela que sero
exibidos todos os projetos utilizados ao mesmo tempo, caso existam, ou o nico
projeto aberto. Abaixo do projeto, estaro definidos os nomes dos formulrios em
uso no projeto.
Voc notar que existem dois nomes independentemente do que estiver sendo
exibido nesta janela. O primeiro nome o nome lgico (nome dado ao objeto) e
o segundo nome o nome fsico (nome dado ao arquivo), este estar sendo
exibido sempre entre parnteses.
Ainda nesta janela atravs das cones, temos a possibilidade de ir at a janela de
cdigo, (janela em que se programa as atividades para os objetos), voltar para o
modo de exibio do formulrio e tambm exibir os formulrios em formato de
pastas de um projeto.
Janela de Propriedades
Comandos
MsgBox (Caixa de Mensagem)
Objetivo
Emitir um aviso ao usurio
If...End If (Se...Fim)
Unload me - End (Encerrar)
Comentrios
Comentrios so utilizados, como lembretes de informao junto programao e
so muito importantes porque podero auxiliar na documentao do software.
MsgBox
Exibe uma mensagem em uma caixa de dilogo, esperando pelo usurio clicar um
boto, e retorna um valor indicando que o usurio clicou o boto.
Sintaxe
MsgBox(prompt[, buttons][, title][, helpfile, context])
A sintaxe do comando MsgBox tem estes argumentos:
Partes
Descrio
Prompt
Buttons
Title
No suportada.
Helpfile
Context
No suportada.
Opes
As opes de argumentos do boto so:
Constantes
Valor
Descrio
vbOKOnly
vbOKCancel
vbAbortRetryIgnore
0
1
2
vbYesNoCancel
vbYesNo
vbRetryCancel
vbCritical
3
4
5
16
vbQuestion
32
vbExclamation
vbInformation
vbDefaultButton1
vbDefaultButton2
vbDefaultButton3
vbDefaultButton4
vbApplicationModal
48
64
0
256
512
768
0
vbSystemModal
4096
Retorno de Valores
A caixa de mensagem segue os valores retornados abaixo:
Constantes
Valor
Botes
vbOK
OK
vbCancel
Cancelar
vbAbort
Abortar
vbRetry
Repetir
vbIgnore
Ignorar
Obs: Se a caixa de
dilogo exibe um
boto de cancelar,
No
vbNo
7
pressionando a tecla
ESC obtem-se o mesmo efeito como ter clicado o boto de cancelar.
vbYes
Sim
InputBox
Descrio
Exibe um prompt em uma Caixa de Dilogo, esperando que o usurio entre com
um texto ou clique um boto, e retorna o contedo de um TextBox.
Sintaxe
InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
A sintaxe do InputBox possui estes argumentos:
Partes
Prompt
Descrio
exibida uma mensagem em formato
texto em uma caixa de dilogo. O
tamanho mximo da mensagem
aproximadamente 1024 caracteres,
dependendo da largura dos caracteres
usados. Se a mensagem consiste de
mais do que uma linha, voc pode
separar as linhas usando um caracter
de retorno (Chr(13)), alimentando linha
com um ENTER, caracter (Chr(10)),
alimentando linha com a quebra da
mesma, ou ainda usar uma
combinao (Chr(13) & Chr(10)) entre
cada linha.
Title
Default
xpos
ypos
Helpfile
Context
IF ... ENDIF
Condicionalmente executa uma seleo de comandos baseados no valor de uma
expresso lgica.
Sintaxe
IF Expresso [THEN]
Comandos
[ELSE
Comandos]
ENDIF
Argumentos
Expresso
Especifica a expresso lgica que recebe valor. Se a Expresso recebe valor
verdadeiro (.T.), qualquer comando seguido do IF ou THEN e prescedendo ELSE
ou ENDIF (que sempre ocorrero primeiro) so executados.
Obs: Voc pode definir um bloco IF ... ENDIF sem outro bloco IF ... ENDIF. Os
comentrios precedidos por && podem estar especificados em alguma linha
depois de IF, THEN, ELSE, and ENDIF. Estes comentrios so ignorados durante
a compilao e execuo do programa.
Unload - End
Unload
O comando Unload utilizado para fechar formulrios que integram um projeto.
Pode ser usado de duas formas:
Sintaxe:
Unload Me;
Unload Form1.
Quando escrevemos Me, estamos nos referindo ao formulrio atual em uso. Isto
feito para substituir o nome do formulrio, quando o nome fornecido a ele na
propriedade name muito grande. J no segundo caso, utilizamos o nome de um
Formulrio. Portanto, mesmo estando em um determinado formulrio, ao
clicarmos em um boto por exemplo, podemos estar fechando um outro
formulrio, basta apenas escrever Unload e fornecer o nome do formulrio a ser
fechado.
Os nicos casos em que o comando Unload seguido de Me ou diretamente do
nome de um Form qualquer poder estar fechando um projeto, sero:
End
O comando End utilizado para encerrar o programa, lembrando que End
significa Fim. Geralmente encontra-se em um tem de menu descrito como Sair ou
Fechar, em um boto, ou diretamente na programao, fazendo com que o
sistema encerre-se propositalmente aps algumas interas do usurio.
Comentrios
Comentrios so acrescidos ao programa para explicar o que um cdigo faz.
muito simples perguntar-se por que os comentrios so importantes - at que
voc tente modificar ou consertar um programa que algum escreveu ou mesmo
que voc escreveu meses atrs. Os comentrios no so executados nem
processados pelo Visual Basic. Eles no ocupam nenhum espao nos cdigos
compilados. Existem duas formas de indicar um comentrio. A forma usual
indicar um comentrio com aspas simples. Veja o exemplo abaixo:
Private Sub Command1_Click ( )
' Um comentrio descrevendo o procedimento que viria aqui
' Toda linha de comentrio ficar na cor verde
End Sub
Obs: Voc pode utilizar a velha palavra-chave Rem.
Voc poder tambm acrescentar comentrios no final das linhas. Nesse caso
mais prtico utilizar aspas simples, porque a forma Rem requer dois-pontos antes
dele.
Objetos
A Terminologia do Visual Basic
Propriedade, Mtodo e Evento
O Visual Basic composto de formulrios e controles genericamente chamados
de objetos. Cada um dos objetos possui vrias propriedades listadas na Janela
de Propriedades.
As propriedades dos objetos nos permitem saber e modificar as caractersticas
desses objetos. Por exemplo, o nome, a cor, o tamanho, a legenda, o tipo e o
tamanho da fonte com que o texto aparece e sua posio, so propriedades
associadas aos quadros de texto, "Labels" (legendas) e botes de controle, opo
e de seleo.
Ao selecionarmos um determinado objeto, dando um clique com o mouse sobre
ele, a Janela de Propriedades automaticamente listar as propriedades
disponveis para aquele objeto e ento poderemos modific-las.
Cada objeto reconhece as seguintes aes, tais como um clique do mouse,
abertura de formulrio, digitao em um quadro de texto, etc. Essas aes so
chamadas de eventos.
Aes
Um boto acionado com o mouse ou com o teclado.
Um controle solto em cima do boto.
Um controle est sendo arrastado sobre o boto.
GotFocus
KeyDown
Clear
Move
Formulrios
Os formulrios so utilizados como interface com o usurio dentro de uma
aplicao. Cada formulrio uma janela que pode conter controles, grficos e
outros formulrios. Podemos utilizar os formulrios como uma tela de ilustrao,
um quadro de dilogo ou como um formulrio que contm outro. Podemos
modificar o tamanho e localizao na tela do formulrio, clicando e arrastando o
mouse na borda e na barra de ttulo desse formulrio, respectivamente.
Alm dos controles, os formulrios podem conter cdigo e variveis. Na verdade,
cada formulrio possui a prpria janela de cdigo. Dentro do objeto "General" da
janela de cdigo, podemos declarar variveis, constantes e procedimentos criados
por ns. Na janela de projeto, os arquivos com extenso ".FRM" contm, cada um,
um formulrio, os controles contidos nele, uma lista das propriedades do
Controles
Sao ferramentas utilizadas nos formulrios para receber e mostrar informaes.
Os quadros de texto, botes, rtulos,quadros de figuras, etc., so exemplos de
controles. Os controles disponveis em um projeto so mostrados na Caixa de
Ferramentas ("ToolBox") e possuem a extenso de arquivo "OCX". Para inserir
uma ferramenta de controle em seu projeto em Visual Basic, voc deve selecionar
o item "Components..." dentro do menu "Project", normalmente os arquivos
".OCX", encontram-se no diretrio "WINDOWS\SYSTEM", mas voc pode
import-los de outros diretrios normalmente.
Podemos inserir um controle no formulrio de trabalho de duas maneiras:
1. Dando um duplo clique com o mouse no controle localizado na caixa de
ferramentas;
2. Selecionar o controle na Caixa de Ferramentas. Dar um clique com o boto
do mouse na posio desejada do formulrio (ponto inicial) e arrastar at
conseguir o tamanho desejado, soltando em seguida o boto (ponto final).
Para os controles j localizados no formulrio, podemos modificar o seu tamanho
da seguinte maneira:
1. Selecionar o controle do formulrio dando um clique com o mouse;
2. Apertar o boto da esquerda do mouse sobre um dos quadrados
localizados na borda do controle;
3. Arrastar o mouse at o tamanho desejado;
4. Soltar o boto.
Podemos mudar a posio dos controles localizados no formulrio da seguinte
maneira:
1. Posicionar o apontador do mouse no meio do controle;
2. Apertar o boto da esquerda do mouse e arrastar at a posio desejada;
3.
Soltar o boto.
Modificar a propriedade.
Mdulos
Projeto
um arquivo ".VBP" que contm a lista dos fornulrios, mdulos e controles que
compem uma aplicao. Repetindo, a Janela de Projeto lista todos os arquivos
da aplicao. Cada projeto contm pelo menos um formulrio. Podemos inserir
quantos formulrios desejarmos dentro de um projeto. Selecionamos o item "New
Project" dentro do menu "File" para criarmos um novo projeto. O Visual Basic abre
esse novo arquivo com o nome padro de "Project1.vbp" aconselhvel
modificarmos esse nome, selecionando o item "Save Project As..." dentro do
menu "File".
Escrever o cdigo.
Font
ForeColor
Height
Left
MousePointer
Name
ToolTipText
Top
Visible
Width
Aes
Activate
Change
Click
DblClick
Controles
Todos os controles possuem abreviaes para facilitar a programao. Assim
caso, o programador esteja lendo um artigo ou desenvolvendo um programa que
esteja em um livro (ou outra) fonte) e no exista uma foto ao menos da tela deste
programa, ele facilmente poder identificar os controles existentes dentro deste
programa apenas acompanhando suas abreviaes. Abaixo seguem as
Abreviaes dos Controles bsicos utilizados pelo Visual Basic.
Controles
CheckBox
ComboBox
CommandButton
Data (Control)
DirListBox
DriveListBox
FileListBox
Form
Frame
HScrollBar
Image
Label
Line
ListBox
Ole
OptionButton
PictureBox
Shape
TextBox
Timer
VScrollBar
Abreviaes
CHK
CMB
CMD
DTC
DIR
DRV
FIL
FRM
FRM
SCR
IMG
LBL
LIN
LST
OLE
OPT
PCT
SHP
TXT
TMR
SCR
Aes
Especifica se o texto ficar do lado esquerdo da caixa.
O texto anexado ao objeto checkbox.
Enabled
Font
Name
Value
Aes
Style
Text
Nesta propriedade digita-se um texto que ficar como padro, fixo na rea
de texto, na caixa de combinao. Geralmente deixa-se em branco.
Aes
Cancel
Caption
Default
Estando o boto com essa propriedade como True, indica que este
boto ser o padro desta janela e sempre que apertarmos a tecla
ENTER, ser como se tivssemos clicado sobre o boto.
Enabled
Font
Name
Visible
BorderStyle
Caption
ControlBox
Enabled
Se esta opo estiver com False, indica que nenhum objeto desta
janela, e nem a prpria janela, podero responder a eventos gerados
pelo usurio, como clicar do mouse, pressionamento de teclas, etc.
Font
Escolhe a fonte padro que ser usada para todos os objetos inseridos
neste formulrio.
Icon
KeyPreview
MaxButton
MDIChild
Determina se a janela ser uma janela filha. Ou seja, ter uma outra
janela mestra incorporando-a.
MinButton
MouseIcon
Picture
WindowState
Ponteiros do mouse:
Aes
Caption
Enabled
Name
Aes
Max
Min
Aes
Picture
Strech
Aes
Com esta propriedade habilitada, indicamos ao controle para
redimensionar automaticamente seu tamanho do texto no label.
Enabled
Font
ForeColor
Name
Visible
Aes
Columns
Enabled
IntegralHeight
ItemData
List
Sorted
Aes
Alignment
Caption
Enabled
Name
Value
Picture
Aes
Figura a ser exibida pelo objeto. Pode ser
qualquer arquivo de imagem suportado pelo
Visual Basic ou at mesmo um arquivo de
cone.
Aes
Escolhe a cor de fundo da caixa de texto. Geralmente branca.
Text
Aes
Associa o intervalo de tempo em que a
programao contida no objeto ocorrer.
Aes
Max
Min
CommandButton
Obs:Um boto de comando tipicamente usado para iniciar um evento que
retorna uma ao com fechar um formulrio, movimentao para um registro
diferente, imprimir u relatrio, etc. Use a propriedade Caption para especificar o
texto que aparece no boto de comando. Use a propriedade Picture para
especificar uma figura para um boto de comando, s no esquea de habilitar a
propriedade Style para Graphical, caso contrrio a figura no aparecer.
Voc pode escolher um boto de comando para clic-lo e se a propriedade
Default est selecionada para true (.T.), pelo pressionamento da tecla ENTER o
boto de comando selecionado. Se a propriedade Cancel do boto de comando
est selecionada para true (.T.), voc pode escolher o boto de comando pelo
pressionamento da tecla ESC.
Exerccio Proposto 1
Siga os seguintes passos:
Feito isto, reconstrua o exerccio anterior, mas desta vez, utilize as seguintes
propriedades a mais no objeto CommandButton:
Propriedades
Opes
Style
Graphical
Picture
Qualquer arquivo de figura
Modifique tambm a propriedade Caption dos objetos, acrescentando & antes do
nome fsico. Voc estar criando uma tecla de atalho para eles. Assim, quando
voc precisar utilizar o CommandButton, s clicar nele ou manter pressionada a
tecla seguida da letra escolhida para atalho.
Na propriedade Name do formulrio digite FrmCommand2 e na propriedade
Captiondigite "Exemplo do objeto Command".
O resultado obtido dever ser o formulrio abaixo:
Obs: A letra escolhida para ser o atalho do objeto dever possuir & antes e no
necessariamente dever ser a primeira letra, poder ser uma letra do meio ou do
final da palavra.
Label
Labels so usados para exibir texto e no podem ser editados pelo usurio. Eles
so usados para identificar objetos em um formulrio providenciando um
descrio do que um certo controle far se clicado, por exemplo em tempo de
execuo, Eles podem exibir informao em resposta a um evento ou processo
em sua aplicao.
Labels so usados em muitas instncias nas mais diferentes situaes. Muito
comumente, eles so usados com controles que no tem a propriedade Caption.
Por exemplo, voc pode usar o controle label para adicionar descries para
TextBoxes, ListBoxes, ComboBoxes e outros. Eles tambm podem ser usados
para descrever textos em um formulrio, por exemplo, para auxiliar o usurio com
informao de ajuda. Voc pode tambm escrever um cdigo que altere o texto
exibido por um label em resposta eventos em tempo de execuo. Por exemplo,
se sua aplicao leva alguns minutos para processar uma alterao, voc pode
exibir uma barra de status processando uma mensagem atravs de um label.
Obs: Este controle no pode receber foco.
Alinhando o Texto
A propriedade Alignment permite que voc selecione o alinhamento do texto do
label para Justificado Esquerda (0, o padro) , Centralizado (1), ou Justificado
Direita (2).
Exerccio Proposto
Siga os seguintes passos:
Caption
Nome do Paciente
Sexo
Exame
Objeto
LblNome
LblSexo
LblExame
Propriedades
Font
AutoSize, BorderStyle, Font e
ForeColor
BackColor, Font, ForeColor e
WordWrap
TextBox
Obs: Para exibir mltiplas linhas de texto em um controle TextBox, altere a
propriedade MultiLine para True. Se um TextBox com MultiLine no tem uma
barra de rolagem horizontal, o texto automaticamente ajustado quando o
TextBox redimensionado. Para personalizar a barra de rolagem de um
TextBox, selecione a propriedade ScrollBars.
Barras de rolagem sempre aparecero em um TextBox quando a propriedade
MultiLine dele alterada para True, e a propriedade ScrollBars dele alterada
para qualquer coisa exceto None (0). Se voc alterar a propriedade MultiLine
para True, voc pode usar a propriedade Alignment para alterar o alinhamento
do texto dentro do TextBox. O texto padro justificado esquerda. Se a
propriedade MultiLine False, alterar a propriedade Alignment no
porporcionar efeito.
Exerccio Proposto
Name
LblNomePaciente
Caption
Nome do Paciente
TxtNomePaciente
LblSexo
TxtSexo
Sexo
-
LblExame
Exame
TxtExame
CmdOk
Ok
CmdCancelar
Cancelar
Frame
Frames so usados para criar grupos de controles com identidades. Por exemplo,
voc pode usar um frame para subdividir um formulrio funcionalmente,
separarando grupos de botes de opes (OptionButton).
Check Box
O controle checkbox exibe uma marca de checagem quando ele selecionado.
Ele comumente utilizado para presenciar uma seleo Sim/No ou
Verdadeiro/Falso para o usurio. voc pode utilizar este controle em grupos para
exibir mltiplas escolhas das quais o usurio pode selecionar uma ou mais.
Este controle similar ao controle optionbutton, mas neste cada opo usada
para indicar uma seleo que feita pelo usurio. Eles diferem somente porque
um optionbutton em um grupo pode ser selecionado por vez. Com o controle
check box, porm, qualquer nmero de caixas de checagem pode ser
selecionado.
O Valor da Propriedade
A propriedade Value do check box indica se o check box est checado, nochecado ou no acessvel. Quando selecionado, o valor ser 1. Por exemplo:
Valor
0
1
2
Constante
VbUnchecked
VbChecked
VbGrayed
O usurio clica no controle check box para indicar um estado checado ou nochecado. Voc pode ento testar o estado do controle e programar sua aplicao
para desenvolver alguma ao baseada nesta informao.
Por padro, o check box selecionado para vbUnchecked. Se voc quer
preselecionar um check box de uma srie de check boxes, voc pode selecion-lo
atravs da propriedade Value para vbChecked na rotina Form_Load ou
Form_Initialize.
Voc pode tambm selecionar a propriedade Value para vbGrayed para
desabilitar o check box. Por exemplo, pode pode querer desabilitar um check box
at que uma certa condio seja acionada.
O Evento Click
Porm se o usurio clica no check box, o evento Click acionado. Voc pode
ento programar sua aplicao para desenvolver alguma ao dependendo do
estado do check box. Como no exemplo, a propriedade caption do controle check
muda cada vez que o controle clicado, indicando um estado checado ou nochecado.
Private Sub Check1_Click()
If Check1.Value = vbChecked Then
Check1.Caption = "Checked"
ElseIf Check1.Value = vbUnchecked Then
Check1.Caption = "Unchecked"
End If
End Sub
Obs: Se o usurio clicar duas vezes no controle check box, cada clique ser
processado separadamente, porque o controle check box no suporta o evento
double-click.
Exerccio Proposto
Siga os seguintes passos:
Name
FrmOpcoes
ChkArroz
ChkFeijao
ChkFritas
ChkOvo
ChkBife
CmdFechar
Caption
Arroz
Feijo
Fritas
Ovo
Bife
&Fechar
OptionButton
Usualmente, os controles OptionButton so usados em um grupo de opes
para exibir opes das quais o usurio seleciona somente uma. Voc agrupa os
controles OptionButton desenhando-os dentro de uma controle que os contm
como um Frame, um PictureBox, ou um formulrio. Para agrupar os controles
OptionButton em um Frame ou PictureBox, desenhe o Frame ou o PictureBox
primeiro, e ento desenhe os controles OptionButton dentro. Todos os controles
OptionButton com the same container act as a single group.
Exerccio Proposto
Siga os seguintes passos:
Caption
Sexo
Masculino
Feminino
Estado Civil
Solteiro
Casado
Vivo
Separado
Divorciado
&Fechar
ListBox
Um ListBox exibe uma lista de tens da qual o usurio pode selecionar um ou
mais tens. Se o number de tens excede o nmero que pode ser exibido, uma
barra de rolagem automaticamente adicionada para o ListBox.
Se no h item selecionado, o valor da propriedade ListIndex -1. O primeiro
item da lista ListIndex 0, e o valor da propriedade ListCount sempre um valor
maior do que o contido em ListIndex.
Obs: Para adicionar ou deletar tens em um ListBox, use o mtodo AddItem ou
RemoveItem. Marque as propriedades List, ListCount, e ListIndex para habilitar
um usurio para acessar tens no ListBox. Alternativamente, voc pode adicionar
tens para a lista usando a propriedade List em tempo de projeto.
Exerccio Proposto 1
Siga os seguintes passos:
Exerccio Proposto 2
Siga os seguintes passos:
Name
LstNomes
LblTexto
LblQuantidade
LblIndice
CmdTexto
CmdQuantidade
CmdIndice
CmdFechar
List - Caption
Joaquim Portugal
Jos Pereira
Pedro Pereira
Peter Norton Souza
Cornlios Silva
Bill Gates Silva
&Texto
&Quantidade
&Indice
&Fechar
ComboBox
O ComboBox um controle, similar a uma combinao entre um ListBox e um
TextBox, em que voc entra com um valor ou seleciona um item de uma lista.
Exerccio Proposto
Siga os seguintes passos:
ScrollBar
Com as barras de rolagem, voc pode utilizar as setas que esto posicionadas
nas extremidades para aumentar ou diminuir valores, tamanho de objetos,
controlar o posionamento e o direcionamento de objetos baseado em outros
fatores contidos no programa.
Este objeto possui duas aparncias, disponibilizando ao programador uma barra
na posio horizontal ou uma barra na posio vertical. Dependendo da situao
do programa, o programador saber qual das barras ele precisar em seu
programa.
Timer
O controle Timer realiza aes atribudas ele de acordo com a passagem do
tempo. Eles so independentes do usurio, e voc pode program-los para ter
aes em intervalos de tempo regulares. Uma tpica ao realizada com ele a
checagem do relgio do sistema para visualizar as horas em alguma barra de
tarefas. Timers tambm so muito usados para outros tipos de processamento.
Cada controle timer tem uma propriedade chamada Interval que especifica o
nmero de milisegundos que passam entre um evento de tempo para o prximo.
Mesmo desabilitado, um timer continua a receber um evento (apropriadamente
nomeado de evento Timer) em um estado inacabado igual ao intervalo de tempo.
A propriedade Interval tem poucas limitaes para considerar quando voc est
programando em um controle timer:
Todo controle timer dever ser associado com um form. Contudo, para criar uma
aplicao com tempo, voc dever criar no mnimo um form.
Enabled
Interval
DriveListBox
Um DriveListBox habilita um usurio selecionar uma unidade de disco vlida.
Use este controle para exibir uma lista de todas as unidades de disco vlidas no
sistema do usurio. voc pode criar caixas de dilogo que habilitam o usurio abrir
um arquivo de uma lista de arquivos em um disco em qualquer drive acessvel.
Obs:Selecione as propriedades List, ListCount e ListIndex para habilitar um
usurio acessar tens em uma lista. Se voc tambm exibir os controles
DirListBox e FileListBox, voc pode escrever um cdigo para sincroniz-los com
o DriveListBox e com cada outro controle.
Exerccio Proposto
Siga os seguintes passos:
Drive1
Dir1
File1
Na propriedade Name do formulrio digite FrmArquivos e na propriedade
Caption digite "Exemplo dos Objetos de Arquivos".
O resultado obtido dever ser o formulrio abaixo:
DirListBox
Obs: Selecione as propriedades List, ListCount e ListIndex para habilitar um
usurio acessar tens em uma lista. Se voc tambm exibe os controles
DriveListBox e FileListBox, voc pode escrever cdigo para sincroniz-los com
o controle DirListBox e com cada outro controle.
Exerccio Proposto
O exerccio proposto para este objeto j foi realizado no item DriveListBox.
FileListBox
Obs: Selecione as propriedades List, ListCount e ListIndex para habilitar um
usurio acessar tens na lista. Se voc tambm exibe os controles DirListBox e
DriveListBox, voc pode escrever cdigo para sincroniz-los com o FileListBox
e com cada outro controle.
Exerccio Proposto
O exerccio proposto para este objeto j foi realizado no item DriveListBox.
Shape
O controle shape usado para criar formas geomtricas pr-definidas em forms,
frames, oo picture boxes. Essas formas pr-definidas podem ser: retngulo,
quadrado, oval, crculo, retngulo com cantos arredondados ou um quadrado com
cantos arredondados.
Figura 1. O controle Shape
Voc pode alterar neste controle as propriedades style, color, fill style, border color
e border style de qualquer um dos shapes que voc desenhou no form.
Para uso simples, o controle shape permite que voc crie uma variedade de
shapes sem escrever qualquer cdigo. Para uma funcionalidade mais avanada
voc precisa usar os comandos Line e Circle.
Shapes Pr-Definidos
A propriedade Shape do controle shape permite que voc trabalhe com seis tipos
pr-definidos de shapes. A tabela abaixo lista todos os shapes pr-definidos, seus
valores e as contantes equivalentes do Visual Basic:
Shape
Rectangle
Square
Oval
Circle
Rounded Rectangle
Rounded Square
Style
0
1
2
3
4
5
Constant
vbShapeRectangle
vbShapeSquare
vbShapeOval
vbShapeCircle
vbShapeRoundedRectangle
vbShapeRoundedSquare
Line
O controle line usado para criar simples segmentos de linha em um form, um
frame, ou em um picture box.
Figura 1. O controle line
Voc pode controlar a posio, tamanho, cor e estilo dos controles line para
personalizar o visual das aplicaes. O line tem funcionalidade limitada e est
intensionado para usos simple de exibio e impresso. Os segmentos de linha
no podem ser unidos com outras formas geomtricas.
Transparent
Solid
Dash
Dot
Dash-Dot
Dash-Dot-Dot
Inside Solid
Image
Um Image pode exibir um grfico de um arquivo bitmap. Um bitmap define uma
imagem como uma coleo de pontos (pixels). Um bitmap tem as extenses de
seus arquivos como: .bmp, .dib, ou .2bp. Voc pode usar bitmaps de vrias
definies de cores, incluindo 2, 4, 8, 16, 24, e 32-bits, mas um bitmap somente
exibir corretamente se o dispositivo de exibio suporta a definio de cores
usadas pelo bitmap. Por exemplo, um bitmap de resoluo 8-bit-por-pixel (256
cores) somente exibe em 16 cores quando exibido em um dispositivo 4-bits-porpixel (16 cores).
O image usa menos recursos do sistema e remonta as figuras mais rpido do que
um picture box, mas ele s suporta parte das propriedades de um picture box,
eventos e methods. Ambos os controles suportam formatos de figuras bitmap.
Contudo, voc pode esticar as figuras em um controle image ajustando elas ao
tamanho do controle. Voc no pode fazer isto com o controle picture box. A
propriedade Stretch determina o quanto a figura ser esticada quando o controle
image redimensionado. Se a opo True, a figura lida dentro do controle
image esticada. Esticando uma figura bitmap podemos produzir uma imagem de
menor qualidade.
PictureBox
Obs: Voc pode tambm usar um PictureBox para agrupar controles
OptionButton e para exibir mtodos de sada de grficos e escrever textos com o
mtodo Print. Para fazer um PictureBox automaticamente redimensione para
exibir uma entrada de grfico, alterando a propriedade AutoSize para True.
Para criar uma animao ou simulao, voc pode manipular as propriedades
grficas e os mtodos atravs de cdigo. As propriedades grficas e os eventos
so muito usados por operaes no momento de impresso, assim como
modificar o formato de um formulrio na tela para impresso.
A idia por trs do conceito de incorporar que voc crie documentos que
integrem vrios aplicativos Windows sob um mesmo teto. Incorporao em OLE
permite ao controle personalizado manter o dado do objeto dentro dele prprio.
Quando o Visual Basic ativa o controle OLE, ele, o controle, retorna para o
aplicativo que criou o dado, e voc pode utilizar o potencial daquele aplicativo
para modificar o dado no local.
Uma das idias principais que sustentam a introduo da OLE foi que a Microsoft
queria que os usurios deixassem de pensar em seus aplicativos como um deus
supremo, e em vez disso, pensassem nele como um documento central.
Variveis
O que so Variveis ?
Toda linguagem de programao precisa de algum lugar para armazenar o
resultado de seus clculos ou simplesmente para controlar o fluxo do programa.
Assim como acontece na lgebracotidiana, as linguagens de programao se
valem de variveis para armazenar dados na memria do computador.Uma
varivel de memria nada mais do que uma posio da memria do computador
reservada exclusivamente para que sejam guardadas informaes e dados. A
essa posio de memria damos um nome para referncia dentro do nosso
programa, como por exemplo, NomeCliente. Quem controla qual posio de
memria do computador ser reservada a prpria linguagem e o sistema
operacional, ou seja, devemos apenas nos preocupar em nomear e declarar as
variveis. E j que estamos falando de variveis, quando formos nome-las,
deveremos seguir algumas regras bsicas:
Escolha nomes sugestivos para as variveis, de tal forma que descrevam sua
funo ou contedo que ser armazenado nelas. Por exemplo, para uma varivel
onde seria armazenado o resultado do clculo do salrio de um funcionrio,
poderamos escrever nSalarioFunc, em vez de X, Y ou Z.
Acostume-se a iniciar o nome de uma varivel com uma combinao de at trs
letras em minsculo que identifica o seu tipo de dado. Por exemplo, para uma
varivel do tipo string, utilize a combinao "str", para uma varivel numrica
inteira utilize "int", e assim por diante. Veja os seguintes exemplos:
strNomePrograma = "Controle de Despesas Domsticas"
lngSaldoInicial = 125080
Declarao de Variveis
Embora voc possa ir criando variveis a medida que for precisando,
aconselhvel que declare todas as variveis que ir utilizar em seu programa. Isso
torna o programa mais estruturado e menos propenso a erros, como por exemplo,
ocorrncias de alteraes indevidas do valor de uma varivel entre chamadas de
rotinas. Quando declaramos uma varivel, um escopo atribudo a ela, ou seja,
determinada sua abrangncia (visibilidade) e tempo de vida (existncia). No Visual
Basic 6.0, utilizamos o comando de declarao Dim para declararmos uma
varivel, dando-lhe assim um nome e definindo o seu tipo de dado e escopo.
A sintaxe completa :
Dim NomeVarivel [ As TipoDado ]
NomeVarivel representa um nome vlido para variveis. J a clusula opcional
As permite que seja definido o tipo de dado que a varivel armazenar. Os tipos
de dados disponveis sero vistos mais frente. Voc pode deixar para o Visual
Basic declarar implicitamente as variveis. Assim voc simplesmente cria as
variveis medida que for precisando. Por exemplo, suponhamos que voc tenha
a seguinte funo que calcula a mdia entre dois nmeros:
Function Media ( PrimeiroNumero , SegundoNumero )
intSoma = PrimeiroNumero + SegundoNumero
Media = intSoma / 2
End Function
Neste caso, a varivel Soma no fora declarada. Agora imagine que por questo
de descuido, voc tenha digitado o seguinte:
Function Media ( PrimeiroNumero , SegundoNumero )
intSomar = PrimeiroNumero + SegundoNumero
Media = intSoma / 2
End Function
A funo no seria executada, uma vez que est tentando utilizar uma varivel, no
caso intSoma, que no possui qualquer valor, j que o mesmo fora atribudo
varivel intSomar. Para evitar esse tipo de problema (apenas um entre vrios
possveis), aconselhvel declarar-se todas as variveis que sero utilizadas pela
rotina (procedimento ou funo). Portanto, o correto seria escrever a funo da
seguinte forma:
Function Media ( PrimeiroNumero , SegundoNumero )
Dim intSoma
intSoma = PrimeiroNumero + SegundoNumero
Media = intSoma / 2
End Function
Voc pode forar o Visual Basic a verificar se todas as variveis foram declaradas
previamente e, em caso negativo, apresentar uma mensagem de advertncia.
Isso possvel atravs da incluso do comando Option Explicit na seo
Declarations da classe, formulrioou mdulo. Podemos tambm selecionar a
opo Options, do menu Tools, e ativar a caixa de seleo Require Variable
Declaration, na pgina Editor. Isso far com que em todo mdulo novo, porm
no em mdulos existentes, seja includo o comando Option Explicit.
Tipos de Variveis
Como toda linguagem de programao, o Visual Basic tambm possui vrios tipos
de dados aplicveis s variveis, que definem quais os valores que essas podero
armazenar. O Visual Basic 6.0 define 11 tipos de dados bsicos, cada qual com
suas caractersticas peculiares, como largura da faixa de dados, tamanho em
bytes, etc. A tabela a seguir, relaciona todos esses tipos:
Tipo de
Dado
Integer
Long
Single
Tamanho em Bytes
Faixa de Valores
2 bytes
4 bytes
4 bytes
-32.768 32.767
-2.147.483.648 2.147.483.647
-3,402823E38 1,401298E-45 (-) e 1,401298E-45 3,402823E38 (+)
-1,79769313486232E308 -4,94065645841247E-324 (-) e
4,94065645841247E-324 1,79769313486232E308 (+)
-922.337.203.685.477,5808 922.337.203.685.477,5807
De zero 65.500 caracteres. Em sistemas de 32 bits, mximo de
2E32 caracteres.
0 255
True (verdadeiro) ou False (falso)
De 1 de Janeiro de 100 31 de Dezembro de 9999
Qualquer referncia a objeto
Double
8 bytes
Currency
8 bytes
String
Byte
Boolean
Date
Object
1 byte
2 bytes
8 bytes
4 bytes
16 bytes + 1 byte para
cada caracter
Variant
Os tipos de dados determinam o que voc pode armazenar numa varivel. Por
exemplo, voc no pode entrar com uma expresso caractere numa varivel do
tipo numrico, nem digitar um nmero numa varivel lgica. Vejamos os detalhes
dos tipos de dados mais comumente utilizados.
Tipo Currency
O Visual Basic possui um tipo de dado especial para tratamento de valores
monetrios, evitando-se assim erros de arredondamento durante clculos
matemticos. Esse tipo de dado chamado de Currency. Deve-se utiliz-lo
apenas para armazenamento de valores monetrios. Se num determinado
clculo, o valor resultante tiver mais de quatro casas decimais, as casas decimais
extras (a partir da quinta casa) sero truncadas. Assim, o nmero 5402,105782
por exemplo, ser armazenado como 5402,1057 numa varivel do tipo Currency.
Tipo String
O tipo de dado String certamente o mais utilizado. Ele possibilita que uma
sequncia de caracteres seja armazenada numa varivel. Essa sequncia de
caracteres pode conter desde letras do alfabeto at smbolos grficos e nmeros,
muito embora no possamos efetuar clculos com os nmeros armazenados
numa sequncia. Devemos envolver a cadeia de caracteres com aspas (").
Com variveis do tipo caractere, possvel efetuarmos algumas operaes de
comparao, concatenao (juno) de duas ou mais sequncias de caracteres
ou extrao de uma parte da sequncia. No possvel, porm efetuar clculos
matemticos e aritmticos, j que qualquer nmero armazenado numa varivel
desse tipo ser considerado como uma sequncia de texto e no um valor
numrico.
Podemos determinar um tamanho mximo para uma varivel do tipo String,
simplesmente adicionando um asterisco (*) seguido por um nmero que define o
tamanho mximo em caracteres. Por exemplo, para declarar uma varivel
strNomeCliente com um tamanho mximo de 50 caracteres, voc escreveria:
Dim strNomeCliente As String * 50
Se for armazenado uma cadeia de caracteres menor que o tamanho mximo
especificado, a varivel ser preenchida com espaos em branco direita para
complet-la. Se por outro lado, voc tentar armazenar mais caracteres do que o
permitido, os excedentes sero descartados.
Tipo Byte
Variveis do tipo Byte so tambm numricas, mas somente podem armazenar
nmeros na faixa de 0 255. Esse tipo de varivel tambm til em contador de
loops For...Next pequenos, cujo ciclo de repetio no ultrapasse 255.
Tipo Boolean
Uma varivel do tipo Boolean pode conter apenas dois tipos de valores: True
(verdadeiro) ou False (falso). So muito utilizadas como sinalizadores, ou seja,
variveis que indicam se uma determinada condio lgica retornou ou resultou
num desses dois valores. Veja o pequeno exemplo a seguir:
Dim blnRepete As Boolean
blnRepete = True
While blnRepete
'
'
'
Wend
Tipo Date
Variveis do tipo Date permitem o armazenamento de valores que representam
uma data do calendrio ou um horrio. Para armazenar uma data numa varivel,
especifique-a entre "#", como no seguinte exemplo:
dtDataVencimento = #05/06/99#
dtHora = #05:25:00#
Com valores do tipo Date possvel executarmos adio ou subtrao, para
assim calcularmos uma nova data. Por exemplo:
dtDataHoje = Now
dtDataAmanha = dtDataHoje + 1
dtDataOntem = dtDataHoje - 1
Tipo Object
Variveis do tipo Object podem fazer referncia a objetos definidos pelo Visual
Basic ou mesmo campos de uma base de dados, como dados OLE ou binrios.
Elas so armazenadas em endereos de 32 bits. Para esse tipo de varivel,
precisamos utilizar o comando de atribuio Set para assinalar valores a ela, em
no apenas o sinal de igualdade. O exemplo a seguir, ilustra sua utilizao:
Dim objDataBase As Object
Set objDataBase = OpenDataBase ("C:\VIDEO\VIDEO.MDB")
Tipo Variant
O dado Variant um tipo especial, j que ele permite que qualquer valor seja
armazenado. Se voc declara uma varivel mas no especifica seu tipo de dado,
o Visual Basic automaticamente atribui a ela o tipo Variant. Assim, o dado que
voc armazenar na varivel que definir o seu tipo naquele momento.
Podemos atribuir tambm um valor nulo a variveis Variant, especificando a
palavra-chave Null direita do sinal de igual. Diversas funes podem ser
utilizadas para determinarmos qual o tipo de dado armazenado numa varivel
Variant.
Constantes
As constantes, diferentemente das variveis, no podem ter seus valores
alterados durante a execuo da aplicao. Elas so utilizadas principalmente
para fornecer maior legibilidade ao cdigo fonte, substituindo expresses
numricas ou caracteres mais complexos e de difcil entendimento.
Suponhamos como exemplo, que voc tenha o seguinte cdigo:
Dim intNumeros ( 30 ), intContador As Integer
For intContador = 1 to 30
intNumeros ( intContador) = intContador * 10
'
'
Next
Se amanh voc precisasse modificar sua aplicao, aumentando o nmero
mximo de elementos da matriz intNumeros, teria de percorrer toda a listagem do
programa e alterar as ocorrncias do nmero 30 para a quantidade desejada de
elementos. Utilizando uma constante, esse problema seria facilmente resolvido.
Voc poderia incluir a seguinte linha na seo Declarations do mdulo principal
do programa:
Const Num_Elementos= 30
E no cdigo do programa, escreveria:
Dim intNumeros ( Num_Elementos ), intContador As Integer
For intContador = 1 to Num_Elementos
intNumeros ( intContador) = intContador * 10
'
'
Next
No caso de modificaes futuras, ser necessrio apenas alterao na definio
da constante e uma nova compilao.
O resto ficar por conta do Visual Basic. Um dos tipos de constantes mais famoso
o valor de PI (3,14159265358979...)
Operadores
De nada adiantaria termos dados e mais dados armazenados em nossas variveis
de memria ou em nosso banco de dados, se no pudssemos trabalhar com
eles, ou seja, se no fosse possvel fazer clculos, comparaes ou qualquer
outra operao. Para efetuarmos essas operaes que existem os operadores.
Eles podem ser divididos em quatro categorias bsicas:
Operadores Aritmticos;
Operadores Relacionais;
Operadores Lgicos;
Operadores de Strings.
Operadores Aritmticos
Como ocorre na matemtica comum, os operadores aritmticos permitem que
sejam feitos clculos com os dados armazenados em variveis ou em campos de
bases de dados. Eles somente podem ser utilizados com dados numricos. A
tabela a seguir, relaciona todos os operadores aritmticos disponveis no Visual
Basic.
Operador
Descrio
+
Efetua a soma entre dois ou mais nmeros.
Efetua a subtrao entre dois ou mais nmeros.
*
Efetua a multiplicao entre dois ou mais nmeros.
/
Efetua a exponenciao.
Mod
Operadores Relacionais
Os operadores relacionais, tambm chamados de operadores de comparao,
permitem que relacionemos (comparemos) dois valores entre si. Por exemplo,
para saber se o valor de uma determinada varivel X maior que o de uma
varivel Y, poderamos escrever:
X>Y
Isso nada mais que uma comparao entre as duas variveis.
A seguinte tabela, lista todos os operadores relacionais do Visual Basic. O
funcionamento de cada um deles no difere daquele empregado na matemtica
comum.
Operador
<
>
<=
>=
=
<>
Descrio
Menor que
Maior que
Menor que ou igual a
Maior que ou igual a
Igual a
Diferente de
Operadores Lgicos
Os operadores Lgicos como o prprio noem j diz, avaliam uma expresso
numrica ou caractere e retornam valores lgicos, ou seja, verdadeiro ou falso.
Por exemplo, se uma varivel, digamos X, possui o valor 100 e uma outra varivel
Y , possui o valor 500, ento a expresso a seguir avaliar verdadeiro.
X = 100 And Y = 500
A tabela a seguir, apresenta todos os operadores lgicos do Visual Basic:
Operador
And
Descrio
Or
Not
Xor
Eqv
Imp
O operador lgico And pode ser visto como um conector lgico. Imagine que voc
possua dois fios ligados a uma lmpada e a uma bateria. A lmpada somente
acender se voc tiver ligado ambos os fios aos plos da bateria. Acompanhe
esse exemplo:
Fio Vermelho Ligado
Falso
Verdadeiro
Falso
Verdadeiro
Lmpada Acende
Falso
Falso
Falso
Verdadeiro
Operador Lgico Or
O operador lgico Or s vezes chamado somador lgico, uma vez que avalia
verdadeiro (1) sempre que uma das expresses for verdadeira (pode at ocorrer
de ambas serem verdadeiras).
Considere agora, como exemplo, que voc deseja escrever uma carta (ou quem
sabe um livro tambm sobre o Visual Basic). Se voc tiver uma mquina de
escrever (OR) um micro-computador, poder tranquilamente satisfazer seu
desejo. Acompanhe o exemplo:
Tem Mquina
Falso
Falso
Verdadeiro
Verdadeiro
Tem Micro
Falso
Verdadeiro
Falso
Verdadeiro
Pode Escrever
Falso
Verdadeiro
Verdadeiro
Verdadeiro
Pode Viajar
Verdadeiro
Falso
Lmpada Acende
Falso
Verdadeiro
Verdadeiro
Falso
A primeira expresso
Verdadeiro
Verdadeiro
Verdadeiro
Falso
Falso
Falso
Nulo
Nulo
Nulo
A segunda expresso
Verdadeiro
Falso
Nulo
Verdadeiro
Falso
Nulo
Verdadeiro
Falso
Nulo
O resultado ser
Verdadeiro
Falso
Nulo
Verdadeiro
Verdadeiro
Verdadeiro
Verdadeiro
Nulo
Nulo
Operadores de Strings
Comandos de Lao
Comando de Lao ou Estruturas de Repetio, como tambm so conhecidas.
possvel repetir-se um bloco de instrues dentro de um programa em Visual
Basic. Para isso existem sete tipos diferentes de estruturas de repetio,
denominadas de loops: Do While...Loop, Do...Loop While, Do Until...Loop,
Do...Loop Until, While...Wend, For...Next, For...Each...Next. Analisaremos cada
um dos tipos separadamente, verificando suas similaridades e diferenas.
Select Case
A estrutura Select Case similar estrutura switch...case da linguagem C, ao
Case of do Pascal ou ainda ao Do Case...EndCase do Dbase/Clipper. Ela comea
avaliando uma expresso e comparando o seu resultado com uma srie de
condies, at encontrar uma que se iguale ao resultado retornado pela
expresso. Quando isso ocorre, o cdigo que est ligado condio executado.
Essa estrutura uma alternativa mais flexvel e confivel ao If...Then...ElseIf.
importante observar que somente efetuada uma comparao do resultado da
expresso com as condies, portanto, se for necessrio efetuar outro tipo de
operao lgica, voc dever valer-se da estrutura If...Then...ElseIf. A sintaxe
dessa estrutura :
Select Case Opo
Case 1
Print "Opo 1 acionada"
Case 2
Print "Opo 2 acionada"
Case 3
Print "Opo 3 acionada"
Case Else
Print "Opo no 1,2 ou 3"
End Select
Acrescentando na estrutura a clusula Case Else (caso contrrio), o Visual Basic
ir verificar se a varivel 1,2 ou 3. No sendo, ento ser Case Else, e a linha
seguinte a esta clusula ser executada. No comando Case podemos usar
tambm intervalos, como por exemplo:
Case 2 to 4
Ou seja, caso a condio esteja entre 2 e 4.
Contador = 0
Do
Contador = Contador + 1
Print Contador
Loop Until Contador = 10
Print "Fim de Execuo"
Step
Usamos Step em conjunto com o For para fazer com que a contagem seja
incrementada. Exemplo: Se queremos que o comando conte de 2 em 2 faremos:
For Contador = 1 to 10 Step 2
Exit
O comando Exit permite que se saia prematuramente de um loop, de uma funo
(Function) ou de um procedimento (Sub), transferindo o controle do programa
para a linha imediatamente seguinte. Dessa forma, se dentro de uma das
estruturas de repetio, o programa deparar-se com uma certa situao que
dever forar a interrupo do loop, poderemos utilizar esse comando. No
entanto, recomendamos utiliz-lo com cuidado, pois ele pode desestruturar o
programa, uma vez que com ele temos duas formas de sada de uma estrutura de
repetio ou procedimento/funo, e isso altamente desestimulado pelas
tcnicas de programao estruturada. A tabela a seguir, apresenta os formatos do
comando Exit para cada situao:
Utilizao
Dentro de um loop Do
Dentro de um loop For...Next
Para sair de uma funo
Para sair de um procedimento
Formato
Exit Do
Exit For
Exit Function
Exit Sub
Funes e Procedimentos
Alm dos formulrios, que compem a interface com o usurio, temos por trs
desses, diversas rotinas (funes e procedimentos) que executam as tarefas para
as quais a aplicao fora desenhada. So essas rotinas que fazem todo o
trabalho rduo de clculos, chamadas dos formulrios e execuo ordenada da
aplicao. nesta etapa do desenvolvimento do aplicativo que o programador
entrar com sua parte, definindo os algortmos e a lgica geral das rotinas.
Podemos concluir, portanto, que uma aplicao em Visual Basic uma unio
entre os formulrios e as rotinas, trabalhando amigavelmente.
valores passados como parmetros (se houver algum) e devolve um outro valor.
Para declararmos uma funo devemos utilizar a palavra-chave Function.
Seguindo essa palavra-chave vem o nome da funo e, opcionalmente, uma lista
de eventuais parmetros dentro de parnteses.
A sintaxe completa a seguinte:
Function NomeFuno ( [ Parmetros ] )
Bloco de Instrues
End Function
Os nomes dos argumentos devem seguir as mesmas regras de nomeao de
variveis j vistas anteriormente. Eles devero vir tambm separados por vrgula.
Para retornarmos um valor rotina que chamou a funo, devemos atribuir esse
valor ao nome da prpria funo. No exemplo a seguir, temos uma funo que
recebe como parmetros dois nmeros, sendo que o primeiro se refere base e o
segundo potncia qual o nmero ser elevado. Ento ele calcula a potncia
do nmero (o prprio nmero multiplicado por ele mesmo) e devolve o valor
rotina chamadora. Exemplo:
Function Potencia ( intNumeroBase, intPotencia)
Dim LngResultado, intContador
lngResultado = 1
For intContador = 1 to intPotencia
lngResultado = lgnResultado * intNumeroBase
Next
Potencia = lngResultado
End Function
Na rotina chamadora, tudo que devemos fazer atribuir o valor da funo a uma
varivel de memria, como no exemplo:
NumElev = Potencia ( 5 , 3 )
Da mesma forma que voc d um escopo s variveis de memria, voc pode
tambm ocultar funes no Visual Basic, criando assim, funes que somente
podem ser acessadas pelos procedimentos e funes declarados no mesmo
mdulo. So verdadeiras caixas-pretas, uma vez que esto escondidas do resto
do programa. Elas so chamadas de funes privadas. Para declarar uma funo
privada ao mdulo, coloque a palavra-chave Private antes da declarao
Function, assim:
Private Function MinhaFunc ( )
'
'
'
End Function
Voc pode especificar tambm o tipo de dado retornado pela funo. Por
exemplo, podemos alterar nossa funo Potencia, vista anteriormente, para que
ela retorne um nmero de ponto flutuante:
Function Potencia ( intNumeroBase, intPotencia ) as Single
Dim LngResultado, intContador
lngResultado = 1
For intContador = 1 to intPotencia
O que um Procedimento ?
Um procedimento nada mais do que uma rotina desenvolvida especificamente
para executar uma determinada tarefa, como ocorre com as funes. Essa tarefa
pode inclusive ser genrica, ou seja, servir para aplicaes. Por exemplo,
podemos desenvolver um procedimento para abrir um formulrio e maximiz-lo na
tela, independente do formulrio (ou mesmo aplicativo) atualmente sendo
utilizado.
Podemos criar procedimentos dos mais simples at os mais sofisticados.
Depender apenas da sua criatividade. Um procedimento, diferentemente das
funes, no retorna qualquer valor rotina chamadora. Ele pode ser encarado
mais como um comando definido pelo programador/usurio, no sentido de que
apenas executa a tarefa para a qual fora concebido. Voc declara um
procedimento atravs da palavra-chave Sub, seguida pelo nome do
procedimento. Para finalizar o corpo do procedimento, utilize a palavra-chave End
Sub. A sintaxe correta para declarao de procedimentos :
Sub NomeProc ( [ parmetros] )
Bloco de Instrues
End Sub
Veja um exemplo de procedimento:
Sub TestePot( )
Dim NumElev as Long
NumElev = Potencia ( 5,4 )
Debug.Print NumElev
End Sub
Passando Parmetros
Embora j tenhamos utilizado a passagem de parmetros a procedimentos e
funes, veremos neste tpico, maiores detalhes sobre esse assunto. Primeiro,
voc dever especificar os parmetros a serem recebidos atravs de uma lista de
parmetros colocada entre parnteses aps o nome do procedimento/funo.
Esses parmetros, dentro do procedimento ou funo, iro comportar-se como
variveis comuns, podendo ser manipulados como tais. Vamos tomar como
exemplo nossa funo que calcula a potncia de um dado nmero:
Function Potencia ( intNumeroBase, intPotencia )
Dim LngResultado, intContador
lngResultado = 1
For intContador = 1 to intPotencia
lngResultado = lgnResultado * intNumeroBase
Next
Potencia = lngResultado
End Function
Voc dever prestar bastante ateno quanto ao nmero de parnteses a serem
passados a uma funo ou procedimento, isso para evitar, por exemplo, que voc
passe quatro parmetros quando na verdade a funo/procedimento espera por
cinco ou mais. Para invocar uma funo com parmetros, voc os especifica entre
os parnteses. No entanto, como veremos mais adiante, h uma maneira de se
contornar esse tipo de problema.
J com procedimentos, isso muda um pouco. Se o procedimento espera apenas
um parmetro, voc poder utilizar duas formas de chamada: colocando os
parmetros entre parnteses ou diretamente aps o nome do procedimento,
separando-os por um espao. Se o procedimento possuir mais de um parmetro,
ento voc poder especific-los utilizando o formato direto (sem parnteses),
sendo que os parmetros devero ser separados por vrgulas. Voc pode tambm
chamar um procedimento passando mais de um parmetro entre parnteses,
porm dever fazer a a chamada com a palavra-chave Call:
Sub ChamaCall ( )
Call MinhaFuncao ( "Um Texto" , "Outro Texto" , 200, 40 )
End Sub
Caso deseje, poder especificar os tipos dos parmetros logo aps a declarao
dos mesmos, como mostrado a seguir:
Function Potencia ( intNumeroBase as Integer, intPotencia as Integer)
Dim LngResultado, intContador
lngResultado = 1
For intContador = 1 to intPotencia
lngResultado = lgnResultado * intNumeroBase
Next
Potencia = lngResultado
End Function
Parmetros Opcionais
Popemos criar rotinas que recebem parmetros opcionalmente, ou seja, sua
passagem no obrigatria. Para fazer isso, declare todos os parmetros com a
palavra-chave Optional frente, como no seguinte exemplo:
Referncias
Existem centenas de funes desenvolvidas internamente no Visual Basic.
Abaixo encontra-se uma pequena relao das funes mais comuns:
Fune
Abs
Atn
Cos
Exp
Fix
FV
Hex
Int
Ipmt
IRR
Log
Mirr
Nper
Npv
Pmt
PV
Rate
Rnd
Sgn
Sin
Sln
Sqr
Descrio
Encontra o valor absoluto de um nmero.
Encontra o arco tangente.
Encontra o co-seno.
Eleva e (2,718u2) a uma potncia dada.
Retorna a parte inteira de um nmero.
Valor futuro.
Fornece o hexadecimal equivalente.
Encontra o maior valor inteiro.
Juros pagos por tempo.
Taxa interna de retorno.
Logartmo comum.
Taxa interna de retorno modificada.
Tempo de acmulo de uma anuidade.
Valor presente lquido.
Gastos com anuidade.
Valor presente.
Taxa de juros por perodo por uma anuidade.
Chama o gerar de nmero aleatrio.
Retorna o sinal de um nmero.
Retorna o seno.
Depreciao linear.
Raiz quadrada.
Syd
Tan
Timer
Descrio
Asc
InStr
LCase
Left
Len
Ltrim
Mid
Right
Rtrim
Str
StrComp
StrConv
String
Trim
Ucase
As funes data-hora:
Fune
Date
DateAdd
Descrio
Retorna a data corrente.
Permite que voc adicione um intervalo especfico a uma
data.
DateDiff
DateSerial
DateValue
Day
Hour
Minute
Month
Now
Second
Time
TimeSerial
Weekday
Year
Banco de Dados
Sempre que trabalhamos com qualquer tipo de dado devemos grav-los em
arquivos para no perd-los quando desligamos o computador. Chamamos esses
arquivos que recebem vrios dados de Banco de Dados. Iremos abordar o padro
MDB (Microsoft DataBase) que representa a grande maioria de arquivos de
Banco de Dados para Windows existente hoje. Esse padro utilizado pelo
Microsoft Access e o Visual Basic tambm o aceita.
Caractersticas
Um arquivo que contm dados ir possuir a extenso MDB. Exemplo: Se temos
um banco de dados de um controle de estoque possivelmente ele ter o nome de
"Estoque.MDB". Dentro de um arquivo deste podemos ter vrias Tabelas. No
exemplo de um controle de estoque, podemos ter uma tabela para Mercadorias,
Fornecedores, Clientes, etc. Todas essas tabelas ficam armazenadas dentro do
arquivo MDB. Cada tabela possui Campos onde sero armazenados os dados.
Por exemplo, na tabela Mercadoria temos o campo de Descrio da Mercadoria,
Quantidade no Estoque, Valor de Venda, etc. Tudo isto representa os Campos
que esto armazenados dentro da tabela. Dentro dos campos que esto os
dados que precisamos armazenar, veja a disposio da hierarquia:
Quando estamos na fase de desenvolvimento de um programa que ir gerenciar
um banco de dados, podemos deixar j criado o Banco de Dados com suas
Para adicionar o ndice da tabela, clique no boto Add Index (Adicionar ndice),
posicionado abaixo da lista de campos que foram adicionados tabela.
Name
Caption - Text
FrmCadastro
lblcodigo
Cdigo do Funcionrio
lblnome
Nome do Funcionrio
lblendereco
Endereo Residencial
lblbairro
Bairro
lblcidade
Cidade
lblestado
Estado
lbltelefone
Telefone
lblidentidade
Identidade
lblsalario
Salrio
dtcfunc
Funcionrios
txtcodigo
txtnome
txtendereco
txtbairro
txtcidade
cmbestado
SP, RJ, ES, MG
txttelefone
txtidentidade
txtsalario
cmdprimeiro
&Primeiro
cmdanterior
An&terior
cmdproximo
Pr&ximo
cmdultimo
ltim&o
cmdadicionar
&Adicionar
cmdremover
Re&mover
cmdalterar
Alt&erar
cmdimprimir
&Imprimir
cmdlimpar
&limpar
cmdsobre
&Sobre
cmdfechar
&Fechar
Na propriedade Name do formulrio digite FrmFunc e na propriedade Caption
digite "Cadastro de Funcionrios".
O resultado obtido dever ser o formulrio abaixo:
Aps termos construdo a tela, deveremos desenvolver os menus. Para isto, voc
dever clicar no menu Tools e escolher o item Menu Editor. A outra maneira
clicando sobre a terceira cone da barra de ferramentas do Visual Basic.
ou
Nesta tela voc dever cadastrar todos os menus que seu software ir precisar e
os tens que devero estar contidos nesses menus.
Abaixo esta a relao dos menus e tens a serem criados.
Caption
&Registros
&Adicionar
Re&mover
Alt&erar
&Limpar
&Imprimir
&Fechar
&Navegar
&Primeiro
An&terior
Pr&ximo
ltim&o
Aj&uda
&Sobre o Sistema
Name
mnuregistros
mnuadicionar
mnuremover
mnualterar
mnutraco1
mnulimpar
mnuimprimir
mnutraco2
mnufechar
mnunavegar
mnuprimeiro
mnuanterior
mnuproximo
Mnuultimo
Mnuajuda
Mnusobre
Atalho
F2
F3
F4
F5
F6
F12
Ctrl+P
Ctrl+T
Ctrl+X
Ctrl+O
F1
ou
O resultado ser:
Caption Text
-
lblinformacao
Sistema de Cadastro de
Funcionrios produzido no
curso de Visual Basic 6.0
cmdvoltar
&Voltar
BY Aulus Plautius