Apostila Básica Visual Basic
Apostila Básica Visual Basic
Apostila Básica Visual Basic
Autor:
Aulus Plautius Rosan
Introdução
O que é o Visual Basic ?
O Visual Basic é um compilador do tipo QuickBasic para criação de aplicativos
para Windows, ele é na realidade, uma aplicação do próprio Windows. É dessa
forma que os programas em Visual Basic podem ser criados, rodados, depurados
e compilados diretamente no Windows. O Visual Basic possibilita aos usuários a
programação baseada em eventos e objetos. Isto quer dizer que o programador
coloca na janela todas as opções (menus, botões, ícones, controles, etc...) para
que o usuário selecione uma delas com o mouse ou com o teclado. Antes do
Visual Basic uma aplicação 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 programação do Visual Basic é composto pelas seguintes
janelas: Janela Principal, Caixa de Ferramentas, Janela de Propriedades,
Janela de Projeto, Janela de Código e Formulário. É através dessas janelas
que podemos escolher os objetos que farão parte do nosso programa, configurar
suas propriedades conforme a especificação do programa, escolher os eventos
que serão utilizados, etc.
Janela Principal
Barra de Título
A barra de título é a barra horizontal localizada no topo da tela; ela informa o
nome do aplicativo e é comum a todos os aplicativos Windows da Microsoft.
Interações entre o usuário e a barra de título são manipuladas pelo Windows e
não pelo aplicativo. Tudo o que está abaixo da barra de título e da barra de menu,
em um aplicativo Windows, é chamado de área do cliente. Seu aplicativo é
totalmente responsável pela aparência, conteúdo e resposta dos objetos que você
alojou nessa área.
Barra de Objetos
Essa barra está localizada à esquerda da tela do Visual Basic, logo abaixo da
barra de ferramentas e possui os objetos gráficos (botões, caixas de texto, caixa
de figura, etc...) disponíveis 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 programação aberto e extensível, ou seja, além
dos controles disponíveis no Visual Basic, podemos adquirir outros controles
fornecidos por outras empresas ou construir o nosso próprio controle.
Janela de Propriedades
As propriedades definem as caracte- rísticas de cada
objeto - controle da aplicação. O conjunto de
propriedades depende do controle selecionado. Por
exemplo, um formulário tem propriedades diferentes
de uma figura. As propriedades podem ser alteradas
em tempo de projeto ou de execução, sendo que
algumas delas somente em tempo de execução. Para
alterar o valor de uma propriedade em tempo de
execução só por meio de programação a ser
carregada através de um objeto, por exemplo um
botão ou assim que o programa for carregado, já em
tempo de projeto, devemos:
Janela de Projetos
Esssa janela possui
uma lista dos
arquivos que estão
sendo utilizados
dentro do programa
que estamos
desenvolvendo.
Podemos ter
arquivos com
extensões "BAS" ,
"FRM" ,"VBP" e outros dentro dessa janela. O Visual Basic organiza os trabalhos
por projeto, permitindo que cada projeto possa ter vários módulos.
Janela de Código
Essa janela con- tém a declaração de variáveis, 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 disponíveis para cada um dos
objetos. Podemos observar na figura que o evento selecionado é o "Click" e o
objeto é o formulário. O comando Beep na linguagem do Visual Basic gera um
aviso originário do alto-falante do PC. Portanto cada vez que o usuário der um
clique com o mouse no formulário o procedimento "Form_Click( )" será executado
e gerará um "beep".
Funções e Sub-Rotinas
As funções (functions) e sub-rotinas (subs) são chamadas de procedimentos
(procedures). Existem três tipos de procedimentos:
Formulário
Essa é a janela do nosso aplicativo. Quando o usuário iniciar o programa, a
mesma aparecerá. A janela possui os quadros minimizar, maximizar, fechar e
menu de controle. É nessa janela que colocaremos os controles gráficos (botões,
quadros de texto, etc) e também o código associado a esses objetos. Para abrir
uma janela de código, basta dar um duplo clique em cima do objeto do qual um
evento deve ser tratado.
Menus
Menu File
Você precisará do menu principal File para trabalhar com os arquivos que
compõem seu projeto. Esse menu inclui comandos para salvar, abrir e imprimir
arquivos. O menu File também permite que você saia do Visual Basic através de
um item para isso, a outra maneira é utilizando as teclas de combinação do
Windows ALT + F4 quando estiver posiconado na barra de menu principal. Como
em qualquer aplicativo Windows, você também 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 próprio 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
O menu Project comtém itens que possibilitam a inserção de vários
procedimentos, janelas, códigos, módulos, etc. em seus projetos. Abaixo segue
um breve resumo sobre os itens para orientá-lo melhor:
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 várias versões
do Visual Basic. O Report Manager, que é representado pelo software da empresa
Seagate Crystal Reports, atualmente na versão 7.0, é uma ferramenta completa
para modificar e criar relatórios 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 comtém informações sobre o projeto em uso. É nela que serão
exibidos todos os projetos utilizados ao mesmo tempo, caso existam, ou o único
projeto aberto. Abaixo do projeto, estarão definidos os nomes dos formulários em
uso no projeto.
Você notará que existem dois nomes independentemente do que estiver sendo
exibido nesta janela. O primeiro nome é o nome lógico (nome dado ao objeto) e
o segundo nome é o nome físico (nome dado ao arquivo), este estará sendo
exibido sempre entre parênteses.
Ainda nesta janela através das ícones, temos a possibilidade de ir até a janela de
código, (janela em que se programa as atividades para os objetos), voltar para o
modo de exibição do formulário e também exibir os formulários em formato de
pastas de um projeto.
Janela de Propriedades
É nesta janela que o programador altera as características originais dos objetos
utilizados no(s) formulário(s) do programa. Quando se cria um objeto dentro do
formulário, devemos selecioná-lo clicando apenas uma vez nele mesmo no
formulário e depois clicar na janela de propriedades, onde serão isoladas apenas
as propriedades do objeto selecionado. Então o programador irá alterar algumas
das propriedades adequando assim o objeto a ficar com as características e
aparência desejada.
Esta mesma janela, possui uma caixa combo situada ao topo. Esta caixa contém
o nome de todos os objetos utilizados no formulário em desenvolvimento.
Esta é a outra forma do programador localizar e selecionar o objeto para trabalhar
com suas propriedades sem ter que selecioná-lo no formulário.
Comandos Objetivo
MsgBox (Caixa de Mensagem) Emitir um aviso ao usuário
InputBox (Caixa de Entrada) Pedir informação ao usuário
If...End If (Se...Fim) Fazer Perguntas ou Validações
Unload me - End (Encerrar) Fechar um Formulário ou Software
Comentários
Comentários são utilizados, como lembretes de informação junto à programação e
são muito importantes porque poderão auxiliar na documentação do software.
MsgBox
Exibe uma mensagem em uma caixa de diálogo, esperando pelo usuário clicar um
botão, e retorna um valor indicando que o usuário clicou o botão.
Sintaxe
MsgBox(prompt[, buttons][, title][, helpfile, context])
A sintaxe do comando MsgBox tem estes argumentos:
Partes Descrição
Opções
As opções de argumentos do botão são:
Constantes Valor Descrição
vbOKOnly 0 Exibe somente o botão de ok.
vbOKCancel 1 Exibe os botões de ok e cancelar.
vbAbortRetryIgnore 2 Exibe os botões abortar, repetir e
ignorar.
vbYesNoCancel 3 Exibe os botões sim, não e cancelar.
vbYesNo 4 Exibe os botões de sim e não.
vbRetryCancel 5 Exibe os botões repetir e cancelar.
vbCritical 16 Exibe a ícone de mensagem de
parada crítica.
vbQuestion 32 Exibe a ícone de questão.
vbExclamation 48 Exibe a ícone de mensagem de alerta.
vbInformation 64 Exibe a ícone de mensagem informativa.
vbDefaultButton1 0 O primeiro botão é padrão.
vbDefaultButton2 256 O segundo botão é padrão.
vbDefaultButton3 512 O terceiro botão é padrão.
vbDefaultButton4 768 O quarto botão é padrão.
vbApplicationModal 0 Modalidade da Aplicação; o usuário
deverá responder a mensagem da
caixa antes de continuar trbalhando
na aplicação em utilização.
vbSystemModal 4096 Modalidade do Sistema; todas as
aplicações são suspendidas até que
o usuário responda a caixa de
mensagem.
Retorno de Valores
A caixa de mensagem segue os valores retornados abaixo:
InputBox
Descrição
Exibe um prompt em uma Caixa de Diálogo, esperando que o usuário entre com
um texto ou clique um botão, e retorna o conteúdo de um TextBox.
Sintaxe
InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
A sintaxe do InputBox possui estes argumentos:
Partes Descrição
É exibida uma mensagem em formato
texto em uma caixa de diálogo. O
tamanho máximo 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)),
Prompt alimentando linha com a quebra da
mesma, ou ainda usar uma
combinação (Chr(13) & Chr(10)) entre
cada linha.
IF ... ENDIF
Condicionalmente executa uma seleção de comandos baseados no valor de uma
expressão lógica.
Sintaxe
IF Expressão [THEN]
Comandos
[ELSE
Comandos]
ENDIF
Argumentos
Expressão
Especifica a expressão lógica que recebe valor. Se a Expressão recebe valor
verdadeiro (.T.), qualquer comando seguido do IF ou THEN e prescedendo ELSE
ou ENDIF (que sempre ocorrerão primeiro) são executados.
• Se a Expressão é falsa (.F.) e o ELSE é incluído, qualquer comando depois
do ELSE e antes do ENDIF é executado.
Unload - End
Unload
O comando Unload é utilizado para fechar formulários que integram um projeto.
Pode ser usado de duas formas:
Sintaxe:
• Unload Me;
• Unload Form1.
Quando escrevemos Me, estamos nos referindo ao formulário atual em uso. Isto é
feito para substituir o nome do formulário, quando o nome fornecido a ele na
propriedade name é muito grande. Já no segundo caso, utilizamos o nome de um
Formulário. Portanto, mesmo estando em um determinado formulário, ao
clicarmos em um botão por exemplo, podemos estar fechando um outro
formulário, basta apenas escrever Unload e fornecer o nome do formulário 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, serão:
• Se estivermos diretamente no formulário principal de um sistema;
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 botão, ou diretamente na programação, fazendo com que o
sistema encerre-se propositalmente após algumas interaçõs do usuário.
Comentários
Comentários são acrescidos ao programa para explicar o que um código faz. É
muito simples perguntar-se por que os comentários são importantes - até que
você tente modificar ou consertar um programa que alguém escreveu ou mesmo
que você escreveu meses atrás. Os comentários não são executados nem
processados pelo Visual Basic. Eles não ocupam nenhum espaço nos códigos
compilados. Existem duas formas de indicar um comentário. A forma usual é
indicar um comentário com aspas simples. Veja o exemplo abaixo:
Objetos
A Terminologia do Visual Basic
Propriedade, Método e Evento
O Visual Basic é composto de formulários e controles genericamente chamados
de objetos. Cada um dos objetos possui várias propriedades listadas na Janela
de Propriedades.
As propriedades dos objetos nos permitem saber e modificar as características
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 posição, são propriedades
associadas aos quadros de texto, "Labels" (legendas) e botões de controle, opção
e de seleção.
Ao selecionarmos um determinado objeto, dando um clique com o mouse sobre
ele, a Janela de Propriedades automaticamente listará as propriedades
disponíveis para aquele objeto e então poderemos modificá-las.
Cada objeto reconhece as seguintes ações, tais como um clique do mouse,
abertura de formulário, digitação em um quadro de texto, etc. Essas ações são
chamadas de eventos.
Para uma aplicação responder às ações do usuário e aos eventos do sistema, são
utilizados os procedimentos associados a cada evento. Por exemplo, um botão de
controle reconhece os seguintes eventos:
Eventos Ações
Click Um botão é acionado com o mouse ou com o teclado.
DragDrop Um controle é solto em cima do botão.
DragOver Um controle está sendo arrastado sobre o botão.
O botão recebe a atenção do sistema, ou seja, qualquer ação do usuário
GotFocus
através do mouse ou teclado será recebida pelo botão.
Formulários
Os formulários são utilizados como interface com o usuário dentro de uma
aplicação. Cada formulário é uma janela que pode conter controles, gráficos e
outros formulários. Podemos utilizar os formulários como uma tela de ilustração,
um quadro de diálogo ou como um formulário que contém outro. Podemos
modificar o tamanho e localização na tela do formulário, clicando e arrastando o
mouse na borda e na barra de título desse formulário, respectivamente.
Além dos controles, os formulários podem conter código e variáveis. Na verdade,
cada formulário possui a própria janela de código. Dentro do objeto "General" da
janela de código, podemos declarar variáveis, constantes e procedimentos criados
por nós. Na janela de projeto, os arquivos com extensão ".FRM" contém, cada um,
um formulário, os controles contidos nele, uma lista das propriedades do
formulário e dos controles, as variáveis e constantes utilizadas e o código
associado.
Um projeto pode conter vários formulários e podemos adicionar um novo
formulário selecionando o item "Add Form" dentro do menu "Project". Podemos ter
ainda outro tipo de formulário: o do tipo "MDI" (Multiple Document Interface). Esse
tipo de formulário pode conter outros formulários dentro dele. Cada projeto pode
conter apenas um formulário do tipo "MDI". Os formulários que estão dentro do
formulário "MDI" possuem a propriedade "MDIChild" como "True" e são
chamados de formulários Filho. Adicionamos um formulário "MDI" ao projeto
selecionando o item "Add MDI Form" dentro do menu "Project".
Controles
Sao ferramentas utilizadas nos formulários para receber e mostrar informações.
Os quadros de texto, botões, rótulos,quadros de figuras, etc., são exemplos de
controles. Os controles disponíveis em um projeto são mostrados na Caixa de
Ferramentas ("ToolBox") e possuem a extensão 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 diretório "WINDOWS\SYSTEM", mas você pode
importá-los de outros diretórios normalmente.
Podemos inserir um controle no formulário 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 botão
do mouse na posição desejada do formulário (ponto inicial) e arrastar até
conseguir o tamanho desejado, soltando em seguida o botão (ponto final).
Para os controles já localizados no formulário, podemos modificar o seu tamanho
da seguinte maneira:
1. Selecionar o controle do formulário dando um clique com o mouse;
2. Apertar o botão da esquerda do mouse sobre um dos quadrados
localizados na borda do controle;
3. Arrastar o mouse até o tamanho desejado;
4. Soltar o botão.
Podemos mudar a posição dos controles localizados no formulário da seguinte
maneira:
1. Posicionar o apontador do mouse no meio do controle;
2. Apertar o botão da esquerda do mouse e arrastar até a posição desejada;
3. Soltar o botão.
Para modificar a propriedade dos controles, devemos:
1. Selecionar o controle;
2. Selecionar a propriedade desejada da Janela de Propriedades;
3. Modificar a propriedade.
Módulos
São arquivos de extensão ".BAS" que contém declarações (variáveis e
constantes) e procedimentos (funções e subrotinas). Podemos criar um módulo
selecionando o item "Module" dentro do menu "Project". O Visual Basic mostra
uma janela de código com o título "Module". Podemos também ver, na janela de
projeto, o arquivo criado.
É aconselhável trocarmos o nome padrão dado pelo Visual Basic, pois os arquivos
".BAS" são uma maneira de reaproveitarmos as mesmas funções e subrotinas
para várias aplicações. Selecionando o item "Save File As..." dentro do menu
"File", podemos fazer essa alteração.
Projeto
É um arquivo ".VBP" que contém a lista dos fornulários, módulos e controles que
compõem uma aplicação. Repetindo, a Janela de Projeto lista todos os arquivos
da aplicação. Cada projeto contém pelo menos um formulário. Podemos inserir
quantos formulários 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 padrão de "Project1.vbp" É aconselhável
modificarmos esse nome, selecionando o item "Save Project As..." dentro do
menu "File".
Eventos Ações
MouseDow
Ocorre quando o usuário pressiona o botão do mouse.
n
MouseMove Ocorre quando o usuário movimenta o mouse.
Ocorre quando o usuário solta o botão do mouse previamente
MouseUp
pressionado.
Controles
Todos os controles possuem abreviações para facilitar a programação. Assim
caso, o programador esteja lendo um artigo ou desenvolvendo um programa que
esteja em um livro (ou outra) fonte) e não exista uma foto ao menos da tela deste
programa, ele facilmente poderá identificar os controles existentes dentro deste
programa apenas acompanhando suas abreviações. Abaixo seguem as
Abreviações dos Controles básicos utilizados pelo Visual Basic.
Controles Abreviações
CheckBox CHK
ComboBox CMB
CommandButton CMD
Data (Control) DTC
DirListBox DIR
DriveListBox DRV
FileListBox FIL
Form FRM
Frame FRM
HScrollBar SCR
Image IMG
Label LBL
Line LIN
ListBox LST
Ole OLE
OptionButton OPT
PictureBox PCT
Shape SHP
TextBox TXT
Timer TMR
VScrollBar SCR
Name Nomeia o objeto. A inicial abreviada para este tipo de controle é "chk".
Nesta propriedade digita-se um texto que ficará como padrão, fixo na área
Text
de texto, na caixa de combinação. Geralmente deixa-se em branco.
Se esta opção estiver com False, indica que nenhum objeto desta
Enabled janela, e nem a própria janela, poderão responder a eventos gerados
pelo usuário, como clicar do mouse, pressionamento de teclas, etc.
Escolhe a fonte padrão que será usada para todos os objetos inseridos
Font
neste formulário.
Determina se a janela será uma janela filha. Ou seja, terá uma outra
MDIChild
janela mestra incorporando-a.
MinButton Habilita ou não o botão de minimização.
Sempre que o mouse for movido em cima do formulário, o ícone
MouseIcon associado a esta propriedade aparecerá (desde que a propriedade
MousePointer esteja customizada, ou seja, personalizada).
Ponteiros do mouse:
Propriedades Ações
Caption Coloca um texto no canto superior esquerdo da moldura.
Determina se todos os objetos colocados no interior da moldura
Enabled
estarão disponíveis ou não para o usuário.
Value True para opção selecionada e False quando não está selecionada.
CommandButton
Obs:Um botão de comando é tipicamente usado para iniciar um evento que
retorna uma ação com fechar um formulário, movimentação para um registro
diferente, imprimir u relatório, etc. Use a propriedade Caption para especificar o
texto que aparece no botão de comando. Use a propriedade Picture para
especificar uma figura para um botão de comando, só não esqueça de habilitar a
propriedade Style para Graphical, caso contrário a figura não aparecerá.
Você pode escolher um botão de comando para clicá-lo e se a propriedade
Default está selecionada para true (.T.), pelo pressionamento da tecla ENTER o
botão de comando é selecionado. Se a propriedade Cancel do botão de comando
está selecionada para true (.T.), você pode escolher o botão de comando pelo
pressionamento da tecla ESC.
Exercício Proposto 1
Siga os seguintes passos:
• No menu File escolha a opção New Project;
Exercício Proposto 2
Siga os seguintes passos:
• No menu File escolha a opção New Project;
Label
Labels são usados para exibir texto e não podem ser editados pelo usuário. Eles
são usados para identificar objetos em um formulário providenciando um
descrição do que um certo controle fará se clicado, por exemplo em tempo de
execução, Eles podem exibir informação em resposta a um evento ou processo
em sua aplicação.
Labels são usados em muitas instâncias nas mais diferentes situações. Muito
comumente, eles são usados com controles que não tem a propriedade Caption.
Por exemplo, você pode usar o controle label para adicionar descrições para
TextBoxes, ListBoxes, ComboBoxes e outros. Eles também podem ser usados
para descrever textos em um formulário, por exemplo, para auxiliar o usuário com
informação de ajuda. Você pode também escrever um código que altere o texto
exibido por um label em resposta à eventos em tempo de execução. Por exemplo,
se sua aplicação leva alguns minutos para processar uma alteração, você pode
exibir uma barra de status processando uma mensagem através de um label.
Alinhando o Texto
A propriedade Alignment permite que você selecione o alinhamento do texto do
label para Justificado à Esquerda (0, é o padrão) , Centralizado (1), ou Justificado
à Direita (2).
-ou-
Exercício Proposto
Siga os seguintes passos:
• No menu File escolha a opção New Project;
Name Caption
LblNome Nome do Paciente
LblSexo Sexo
LblExame Exame
Na propriedade Name do formulário digite FrmLabel e na propriedade Caption
digite "Exemplo do objeto Label".
O resultado obtido deverá ser o formulário abaixo:
Objeto Propriedades
LblNome Font
AutoSize, BorderStyle, Font e
LblSexo
ForeColor
BackColor, Font, ForeColor e
LblExame
WordWrap
TextBox
Obs: Para exibir múltiplas linhas de texto em um controle TextBox, altere a
propriedade MultiLine para True. Se um TextBox com MultiLine não 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.
Exercício Proposto
Siga os seguintes passos:
Name Caption
LblNomePaciente Nome do Paciente
TxtNomePaciente -
LblSexo Sexo
TxtSexo -
LblExame Exame
TxtExame -
CmdOk Ok
CmdCancelar Cancelar
Frame
Frames são usados para criar grupos de controles com identidades. Por exemplo,
você pode usar um frame para subdividir um formulário funcionalmente,
separarando grupos de botões de opções (OptionButton).
Figura 1. O controle Frame
Check Box
O controle checkbox exibe uma marca de checagem quando ele é selecionado.
Ele é comumente utilizado para presenciar uma seleção Sim/Não ou
Verdadeiro/Falso para o usuário. você pode utilizar este controle em grupos para
exibir múltiplas escolhas das quais o usuário pode selecionar uma ou mais.
Este controle é similar ao controle optionbutton, mas neste cada opção é usada
para indicar uma seleção que é feita pelo usuário. Eles diferem somente porque
um optionbutton em um grupo pode ser selecionado por vez. Com o controle
check box, porém, qualquer número de caixas de checagem pode ser
selecionado.
O Valor da Propriedade
A propriedade Value do check box indica se o check box está checado, não-
checado ou não acessível. Quando selecionado, o valor será 1. Por exemplo:
Tabela de valores e constantes do Visual Basic equivalentes que são usadas para
selecionar a propriedade Value.
Opção Valor Constante
Não-Checado 0 VbUnchecked
Checado 1 VbChecked
Não-Acessível 2 VbGrayed
O usuário clica no controle check box para indicar um estado checado ou não-
checado. Você pode então testar o estado do controle e programar sua aplicação
para desenvolver alguma ação baseada nesta informação.
Por padrão, o check box é selecionado para vbUnchecked. Se você quer
preselecionar um check box de uma série de check boxes, você pode selecioná-lo
através da propriedade Value para vbChecked na rotina Form_Load ou
Form_Initialize.
Você pode também selecionar a propriedade Value para vbGrayed para
desabilitar o check box. Por exemplo, pode pode querer desabilitar um check box
até que uma certa condição seja acionada.
O Evento Click
Porém se o usuário clica no check box, o evento Click é acionado. Você pode
então programar sua aplicação para desenvolver alguma ação 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 não-
checado.
Obs: Se o usuário clicar duas vezes no controle check box, cada clique será
processado separadamente, porque o controle check box não suporta o evento
double-click.
Exercício Proposto
Siga os seguintes passos:
• No menu File escolha a opção New Project;
• Escolha então o tipo de projeto Standard Exe.
Name Caption
FrmOpcoes -
ChkArroz Arroz
ChkFeijao Feijão
ChkFritas Fritas
ChkOvo Ovo
ChkBife Bife
CmdFechar &Fechar
OptionButton
Usualmente, os controles OptionButton são usados em um grupo de opções
para exibir opções das quais o usuário seleciona somente uma. Você agrupa os
controles OptionButton desenhando-os dentro de uma controle que os contêm
como um Frame, um PictureBox, ou um formulário. Para agrupar os controles
OptionButton em um Frame ou PictureBox, desenhe o Frame ou o PictureBox
primeiro, e então desenhe os controles OptionButton dentro. Todos os controles
OptionButton com the same container act as a single group.
Enquanto o controle OptionButton e o controle CheckBox parecem funcionar
similarmente, há uma importante diferença: Quando um usuário seleciona um
OptionButton, o outro controle OptionButton do mesmo grupo está
automaticamente não disponível. Em contraste, qualquer número de controles
CheckBox poderá ser selecionado.
Exercício Proposto
Siga os seguintes passos:
Name Caption
FrmSexo Sexo
OptMasculino Masculino
OptFeminino Feminino
FrmEstado Estado Civil
OptSolteiro Solteiro
OptCasado Casado
OptViuvo Viúvo
OptSeparado Separado
OptDivorciado Divorciado
CmdFechar &Fechar
ListBox
Um ListBox exibe uma lista de ítens da qual o usuário pode selecionar um ou
mais ítens. Se o number de ítens excede o número que pode ser exibido, uma
barra de rolagem é automaticamente adicionada para o ListBox.
Exercício Proposto 1
Siga os seguintes passos:
• No menu File escolha a opção New Project;
• Escolha então o tipo de projeto Standard Exe.
Feito isto, construa os seguintes objetos no formulário, utilizando-se das
propriedades descritas na tabela abaixo:
Name List - Caption
LstNomes Maria da Silva
- José Pereira
- Cornélios Silva
- Pedro Pereira
- Peter Norton Souza
- Bill Gates Silva
CmdFechar &Fechar
Exercício Proposto 2
Siga os seguintes passos:
• No menu File escolha a opção New Project;
• Escolha então o tipo de projeto Standard Exe.
Feito isto, construa os seguintes objetos no formulário, utilizando-se das
propriedades descritas na tabela abaixo:
ComboBox
O ComboBox é um controle, similar a uma combinação entre um ListBox e um
TextBox, em que você entra com um valor ou seleciona um item de uma lista.
Exercício Proposto
Siga os seguintes passos:
• No menu File escolha a opção New Project;
ScrollBar
Com as barras de rolagem, você pode utilizar as setas que estão 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 aparências, disponibilizando ao programador uma barra
na posição horizontal ou uma barra na posição vertical. Dependendo da situação
do programa, o programador saberá qual das barras ele precisará em seu
programa.
Timer
O controle Timer realiza ações atribuídas à ele de acordo com a passagem do
tempo. Eles são independentes do usuário, e você pode programá-los para ter
ações em intervalos de tempo regulares. Uma típica ação realizada com ele é a
checagem do relógio do sistema para visualizar as horas em alguma barra de
tarefas. Timers também são muito usados para outros tipos de processamento.
Cada controle timer tem uma propriedade chamada Interval que especifica o
número de milisegundos que passam entre um evento de tempo para o próximo.
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 limitações para considerar quando você está
programando em um controle timer:
• Se sua aplicação ou outra aplicação é feita exigindo uma demanda maior
do sistema tal como longos retornos, cálculos intensivos, ou leitura de
drives, redes, ou portas de acesso sua aplicação não permite rodar no
evento timer com frequência como especificado na propriedade Interval.
• O intervalo poderá ser entre 0 e 64.767, o que significa que um intervalo
muito longo não poderá ser mais longo do que um minuto (cerca de 64.8
segundos).
• O intervalo não é garantido exatamente com o decorrer do tempo. Para
assegurar exatidão, o timer exibe a checagem do relógio do sistema
quando necessário, melhor do que tentar incrementar valores acumulados
internamente como se fosse tempo.
Todo controle timer deverá ser associado com um form. Contudo, para criar uma
aplicação com tempo, você deverá criar no mínimo um form.
DriveListBox
Um DriveListBox habilita um usuário selecionar uma unidade de disco válida.
Use este controle para exibir uma lista de todas as unidades de disco válidas no
sistema do usuário. você pode criar caixas de diálogo que habilitam o usuário abrir
um arquivo de uma lista de arquivos em um disco em qualquer drive acessível.
Exercício Proposto
Siga os seguintes passos:
• No menu File escolha a opção New Project;
Name
Drive1
Dir1
File1
Exercício Proposto
O exercício proposto para este objeto já foi realizado no item DriveListBox.
FileListBox
Obs: Selecione as propriedades List, ListCount e ListIndex para habilitar um
usuário acessar ítens na lista. Se você também exibe os controles DirListBox e
DriveListBox, você pode escrever código para sincronizá-los com o FileListBox
e com cada outro controle.
Exercício Proposto
O exercício proposto para este objeto já foi realizado no item DriveListBox.
Shape
O controle shape é usado para criar formas geométricas pré-definidas em forms,
frames, oo picture boxes. Essas formas pré-definidas podem ser: retângulo,
quadrado, oval, círculo, retângulo 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 código. Para uma funcionalidade mais avançada
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 Style Constant
Rectangle 0 vbShapeRectangle
Square 1 vbShapeSquare
Oval 2 vbShapeOval
Circle 3 vbShapeCircle
Rounded Rectangle 4 vbShapeRoundedRectangle
Rounded Square 5 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 posição, tamanho, cor e estilo dos controles line para
personalizar o visual das aplicações. O line tem funcionalidade limitada e está
intensionado para usos simple de exibição e impressão. Os segmentos de linha
não podem ser unidos com outras formas geométricas.
• Solid
• Dash
• Dot
• Dash-Dot
• Dash-Dot-Dot
• Inside Solid
Você pode especificar um estilo de linha em tempo de projeto escolhendo a
propriedade BorderStyle na janela de propriedades do controle line, ou em tempo
de execução especificando o estilo usando as constantes equivalentes do Visual
Basic no código.
A propriedade BackColor é usada para especificar a cor da linha.
Em tempo de projeto, você pode selecionar a cor da linha escolhendo a
propriedade BorderColor na janela de propriedades do controle line e então
selecionando as cores disponíveis na paleta ou cores do sistema.
Para alterar uma cor em tempo de execução, use as constantes de cores do
Visual Basic (vbGreen, por exemplo) ou as constantes de cores do sistema
(vbWindowBackground, por exemplo) ou a função RGB para especificar as cores
da borda.
Image
Um Image pode exibir um gráfico de um arquivo bitmap. Um bitmap define uma
imagem como uma coleção de pontos (pixels). Um bitmap tem as extensões de
seus arquivos como: .bmp, .dib, ou .2bp. Você pode usar bitmaps de várias
definições de cores, incluindo 2, 4, 8, 16, 24, e 32-bits, mas um bitmap somente
exibirá corretamente se o dispositivo de exibição suporta a definição de cores
usadas pelo bitmap. Por exemplo, um bitmap de resolução 8-bit-por-pixel (256
cores) somente exibe em 16 cores quando exibido em um dispositivo 4-bits-por-
pixel (16 cores).
O image usa menos recursos do sistema e remonta as figuras mais rápido 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ê não 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 opção é True, a figura lida dentro do controle
image é esticada. Esticando uma figura bitmap podemos produzir uma imagem de
menor qualidade.
PictureBox
Obs: Você pode também usar um PictureBox para agrupar controles
OptionButton e para exibir métodos de saída de gráficos e escrever textos com o
método Print. Para fazer um PictureBox automaticamente redimensione para
exibir uma entrada de gráfico, alterando a propriedade AutoSize para True.
Variáveis
O que são Variáveis ?
Toda linguagem de programação precisa de algum lugar para armazenar o
resultado de seus cálculos ou simplesmente para controlar o fluxo do programa.
Assim como acontece na álgebracotidiana, as linguagens de programação se
valem de variáveis para armazenar dados na memória do computador.Uma
variável de memória nada mais é do que uma posição da memória do computador
reservada exclusivamente para que sejam guardadas informações e dados. A
essa posição de memória damos um nome para referência dentro do nosso
programa, como por exemplo, NomeCliente. Quem controla qual posição de
memória do computador será reservada é a própria linguagem e o sistema
operacional, ou seja, devemos apenas nos preocupar em nomear e declarar as
variáveis. E já que estamos falando de variáveis, quando formos nomeá-las,
deveremos seguir algumas regras básicas:
• O nome precisa iniciar com uma letra.
• Somente são permitidas letras, números e o caractere de sublinhado.
Qualquer sinal de pontuação e espaço em branco será inválido.
Declaração de Variáveis
Embora você possa ir criando variáveis a medida que for precisando, é
aconselhável que declare todas as variáveis que irá utilizar em seu programa. Isso
torna o programa mais estruturado e menos propenso a erros, como por exemplo,
ocorrências de alterações indevidas do valor de uma variável entre chamadas de
rotinas. Quando declaramos uma variável, um escopo é atribuído a ela, ou seja, é
determinada sua abrangência (visibilidade) e tempo de vida (existência). No Visual
Basic 6.0, utilizamos o comando de declaração Dim para declararmos uma
variável, dando-lhe assim um nome e definindo o seu tipo de dado e escopo.
A sintaxe completa é:
Dim NomeVariável [ As TipoDado ]
NomeVariável representa um nome válido para variáveis. Já a cláusula opcional
As permite que seja definido o tipo de dado que a variável armazenará. Os tipos
de dados disponíveis serão vistos mais à frente. Você pode deixar para o Visual
Basic declarar implicitamente as variáveis. Assim você simplesmente cria as
variáveis à medida que for precisando. Por exemplo, suponhamos que você tenha
a seguinte função que calcula a média entre dois números:
Function Media ( PrimeiroNumero , SegundoNumero )
intSoma = PrimeiroNumero + SegundoNumero
Media = intSoma / 2
End Function
Neste caso, a variável Soma não fora declarada. Agora imagine que por questão
de descuido, você tenha digitado o seguinte:
Function Media ( PrimeiroNumero , SegundoNumero )
intSomar = PrimeiroNumero + SegundoNumero
Media = intSoma / 2
End Function
A função não seria executada, uma vez que está tentando utilizar uma variável, no
caso intSoma, que não possui qualquer valor, já que o mesmo fora atribuído à
variável intSomar. Para evitar esse tipo de problema (apenas um entre vários
possíveis), é aconselhável declarar-se todas as variáveis que serão utilizadas pela
rotina (procedimento ou função). Portanto, o correto seria escrever a função da
seguinte forma:
Function Media ( PrimeiroNumero , SegundoNumero )
Dim intSoma
Media = intSoma / 2
End Function
Você pode forçar o Visual Basic a verificar se todas as variáveis foram declaradas
previamente e, em caso negativo, apresentar uma mensagem de advertência.
Isso é possível através da inclusão do comando Option Explicit na seção
Declarations da classe, formulárioou módulo. Podemos também selecionar a
opção Options, do menu Tools, e ativar a caixa de seleção Require Variable
Declaration, na página Editor. Isso fará com que em todo módulo novo, porém
não em módulos existentes, seja incluído o comando Option Explicit.
Pontos = lngPontosAcumulados
End Function
Se você precisar, por um motivo ou outro, declarar todas as variáveis de uma
rotina como sendo estáticas, coloque a palavra reservada Static à frente do nome
do procedimento/função, da seguinte forma:
Pontos = lngPontosAcumulados
End Function
Devemos lembrar que você deverá utilizar variáveis com o escopo mais local
possível, para assim evitar conflitos de nomes de variáveis e alterações de valores
indesejáveis.
Tipos de Variáveis
Como toda linguagem de programação, o Visual Basic também possui vários tipos
de dados aplicáveis às variáveis, que definem quais os valores que essas poderão
armazenar. O Visual Basic 6.0 define 11 tipos de dados básicos, cada qual com
suas características peculiares, como largura da faixa de dados, tamanho em
bytes, etc. A tabela a seguir, relaciona todos esses tipos:
Tipo de
Tamanho em Bytes Faixa de Valores
Dado
Integer 2 bytes -32.768 à 32.767
Long 4 bytes -2.147.483.648 à 2.147.483.647
Single 4 bytes -3,402823E38 à 1,401298E-45 (-) e 1,401298E-45 à 3,402823E38 (+)
-1,79769313486232E308 à -4,94065645841247E-324 (-) e
Double 8 bytes
4,94065645841247E-324 à 1,79769313486232E308 (+)
Currency 8 bytes -922.337.203.685.477,5808 à 922.337.203.685.477,5807
De zero à 65.500 caracteres. Em sistemas de 32 bits, máximo de
String 1 byte por caracter
2E32 caracteres.
Byte 1 byte 0 à 255
Boolean 2 bytes True (verdadeiro) ou False (falso)
Date 8 bytes De 1 de Janeiro de 100 à 31 de Dezembro de 9999
Object 4 bytes Qualquer referência a objeto
16 bytes + 1 byte para
Variant Qualquer valor numérico, caracter, objeto ou valor nulo.
cada caracter
Os tipos de dados determinam o que você pode armazenar numa variável. Por
exemplo, você não pode entrar com uma expressão caractere numa variável do
tipo numérico, nem digitar um número numa variável lógica. 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
monetários, evitando-se assim erros de arredondamento durante cálculos
matemáticos. Esse tipo de dado é chamado de Currency. Deve-se utilizá-lo
apenas para armazenamento de valores monetários. Se num determinado
cálculo, o valor resultante tiver mais de quatro casas decimais, as casas decimais
extras (a partir da quinta casa) serão truncadas. Assim, o número 5402,105782
por exemplo, será armazenado como 5402,1057 numa variável do tipo Currency.
Tipo String
O tipo de dado String é certamente o mais utilizado. Ele possibilita que uma
sequência de caracteres seja armazenada numa variável. Essa sequência de
caracteres pode conter desde letras do alfabeto até símbolos gráficos e números,
muito embora não possamos efetuar cálculos com os números armazenados
numa sequência. Devemos envolver a cadeia de caracteres com aspas (").
Tipo Byte
Variáveis do tipo Byte são também numéricas, mas somente podem armazenar
números na faixa de 0 à 255. Esse tipo de variável também é útil em contador de
loops For...Next pequenos, cujo ciclo de repetição não ultrapasse 255.
Tipo Boolean
Uma variável do tipo Boolean pode conter apenas dois tipos de valores: True
(verdadeiro) ou False (falso). São muito utilizadas como sinalizadores, ou seja,
variáveis que indicam se uma determinada condição lógica retornou ou resultou
num desses dois valores. Veja o pequeno exemplo a seguir:
'
'
Wend
Tipo Date
Variáveis do tipo Date permitem o armazenamento de valores que representam
uma data do calendário ou um horário. Para armazenar uma data numa variável,
especifique-a entre "#", como no seguinte exemplo:
dtDataVencimento = #05/06/99#
dtHora = #05:25:00#
Com valores do tipo Date é possível executarmos adição ou subtração, para
assim calcularmos uma nova data. Por exemplo:
dtDataHoje = Now
dtDataAmanha = dtDataHoje + 1
dtDataOntem = dtDataHoje - 1
Tipo Object
Variáveis do tipo Object podem fazer referência a objetos definidos pelo Visual
Basic ou mesmo campos de uma base de dados, como dados OLE ou binários.
Elas são armazenadas em endereços de 32 bits. Para esse tipo de variável,
precisamos utilizar o comando de atribuição Set para assinalar valores a ela, em
não apenas o sinal de igualdade. O exemplo a seguir, ilustra sua utilização:
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 variável mas não especifica seu tipo de dado,
o Visual Basic automaticamente atribui a ela o tipo Variant. Assim, o dado que
você armazenar na variável é que definirá o seu tipo naquele momento.
Podemos atribuir também um valor nulo a variáveis Variant, especificando a
palavra-chave Null à direita do sinal de igual. Diversas funções podem ser
utilizadas para determinarmos qual o tipo de dado armazenado numa variável
Variant.
Constantes
As constantes, diferentemente das variáveis, não podem ter seus valores
alterados durante a execução da aplicação. Elas são utilizadas principalmente
para fornecer maior legibilidade ao código fonte, substituindo expressões
numéricas ou caracteres mais complexos e de difícil entendimento.
Suponhamos como exemplo, que você tenha o seguinte código:
Dim intNumeros ( 30 ), intContador As Integer
For intContador = 1 to 30
intNumeros ( intContador) = intContador * 10
'
'
Next
Se amanhã você precisasse modificar sua aplicação, aumentando o número
máximo de elementos da matriz intNumeros, teria de percorrer toda a listagem do
programa e alterar as ocorrências do número 30 para a quantidade desejada de
elementos. Utilizando uma constante, esse problema seria facilmente resolvido.
Você poderia incluir a seguinte linha na seção Declarations do módulo principal
do programa:
Const Num_Elementos= 30
E no código do programa, escreveria:
Dim intNumeros ( Num_Elementos ), intContador As Integer
For intContador = 1 to Num_Elementos
intNumeros ( intContador) = intContador * 10
'
'
Next
No caso de modificações futuras, será necessário apenas alteração na definição
da constante e uma nova compilação.
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 variáveis
de memória ou em nosso banco de dados, se não pudéssemos trabalhar com
eles, ou seja, se não fosse possível fazer cálculos, comparações ou qualquer
outra operação. Para efetuarmos essas operações é que existem os operadores.
Eles podem ser divididos em quatro categorias básicas:
• Operadores Aritméticos;
• Operadores Relacionais;
• Operadores Lógicos;
• Operadores de Strings.
Operadores Aritméticos
Como ocorre na matemática comum, os operadores aritméticos permitem que
sejam feitos cálculos com os dados armazenados em variáveis ou em campos de
bases de dados. Eles somente podem ser utilizados com dados numéricos. A
tabela a seguir, relaciona todos os operadores aritméticos disponíveis no Visual
Basic.
Operador Descrição
+ Efetua a soma entre dois ou mais números.
- Efetua a subtração entre dois ou mais números.
* Efetua a multiplicação entre dois ou mais números.
Efetua a divisão entre dois números e resulta num número de
/
ponto-flutuante.
Operadores Relacionais
Os operadores relacionais, também chamados de operadores de comparação,
permitem que relacionemos (comparemos) dois valores entre si. Por exemplo,
para saber se o valor de uma determinada variável X é maior que o de uma
variável Y, poderíamos escrever:
X>Y
Operadores Lógicos
Os operadores Lógicos como o próprio noem já diz, avaliam uma expressão
numérica ou caractere e retornam valores lógicos, ou seja, verdadeiro ou falso.
Por exemplo, se uma variável, digamos X, possui o valor 100 e uma outra variável
Y , possui o valor 500, então a expressão a seguir avaliará verdadeiro.
Operador Lógico Or
O operador lógico Or às vezes é chamado somador lógico, uma vez que avalia
verdadeiro (1) sempre que uma das expressões for verdadeira (pode até ocorrer
de ambas serem verdadeiras).
Considere agora, como exemplo, que você deseja escrever uma carta (ou quem
sabe um livro também sobre o Visual Basic). Se você tiver uma máquina de
escrever (OR) um micro-computador, poderá tranquilamente satisfazer seu
desejo. Acompanhe o exemplo:
Operadores de Strings
No Visual Basic, somente é permitido dois tipos de operadores para se trabalhar
com strings, muito embora ambos possuam o mesmo efeito. São os operadores
"&" e "+".
Esses operadores servem para concatenar duas ou mais strings de caracteres.
Por exemplo, suponhamos que você tenha definido duas variáveis strings Rua e
Bairro. Para agrupar os seus valores numa única variável Endereço, você poderia
utilizar um dos seguintes métodos:
Comandos de Laço
Comando de Laço ou Estruturas de Repetição, como também são conhecidas.
É possível repetir-se um bloco de instruções dentro de um programa em Visual
Basic. Para isso existem sete tipos diferentes de estruturas de repetição,
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 diferenças.
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 começa
avaliando uma expressão e comparando o seu resultado com uma série de
condições, até encontrar uma que se iguale ao resultado retornado pela
expressão. Quando isso ocorre, o código que está ligado à condição é executado.
Essa estrutura é uma alternativa mais flexível e confiável ao If...Then...ElseIf.
Case 2
Print "Opção 2 acionada"
Case 3
Print "Opção 3 acionada"
Case Else
Print "Opção não é 1,2 ou 3"
End Select
Acrescentando na estrutura a cláusula Case Else (caso contrário), o Visual Basic
irá verificar se a variável é 1,2 ou 3. Não sendo, então será Case Else, e a linha
seguinte a esta cláusula será executada. No comando Case podemos usar
também intervalos, como por exemplo:
Case 2 to 4
Ou seja, caso a condição esteja entre 2 e 4.
Contador = 0
Do While Contador < 10
Contador = Contador + 1
Print Contador
Loop
Print "Fim de Execução"
O comando Loop faz com que o programa volte para a linha do Do Until e teste a
condição de novo. Somente quando a condição for verdadeira, ou seja, quando
Contador for maior ou igual a 10, que o programa executará a linha após o Loop.
Contador = 0
Do
Contador = Contador + 1
Print Contador
Loop Until Contador = 10
Print "Fim de Execução"
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:
Exit
O comando Exit permite que se saia prematuramente de um loop, de uma função
(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 repetição, o programa deparar-se com uma certa situação que
deverá forçar a interrupção 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 saída de uma estrutura de
repetição ou procedimento/função, e isso é altamente desestimulado pelas
técnicas de programação estruturada. A tabela a seguir, apresenta os formatos do
comando Exit para cada situação:
Utilização Formato
Dentro de um loop Do Exit Do
Dentro de um loop For...Next Exit For
Para sair de uma função Exit Function
Para sair de um procedimento Exit Sub
Funções e Procedimentos
Além dos formulários, que compõem a interface com o usuário, temos por trás
desses, diversas rotinas (funções e procedimentos) que executam as tarefas para
as quais a aplicação fora desenhada. São essas rotinas que fazem todo o
trabalho árduo de cálculos, chamadas dos formulários e execução ordenada da
aplicação. É nesta etapa do desenvolvimento do aplicativo que o programador
entrará com sua parte, definindo os algorítmos e a lógica geral das rotinas.
Podemos concluir, portanto, que uma aplicação em Visual Basic é uma união
entre os formulários e as rotinas, trabalhando amigavelmente.
lngResultado = 1
Next
Potencia = lngResultado
End Function
Na rotina chamadora, tudo que devemos fazer é atribuir o valor da função a uma
variável de memória, como no exemplo:
NumElev = Potencia ( 5 , 3 )
Da mesma forma que você dá um escopo às variáveis de memória, você pode
também ocultar funções no Visual Basic, criando assim, funções que somente
podem ser acessadas pelos procedimentos e funções declarados no mesmo
módulo. São verdadeiras caixas-pretas, uma vez que estão escondidas do resto
do programa. Elas são chamadas de funções privadas. Para declarar uma função
privada ao módulo, coloque a palavra-chave Private antes da declaração
Function, assim:
Private Function MinhaFunc ( )
'
'
'
End Function
Você pode especificar também o tipo de dado retornado pela função. Por
exemplo, podemos alterar nossa função Potencia, vista anteriormente, para que
ela retorne um número de ponto flutuante:
Function Potencia ( intNumeroBase, intPotencia ) as Single
Dim LngResultado, intContador
lngResultado = 1
Next
Potencia = lngResultado
End Function
A variável que receberá o valor da função deve obrigatoriamente ser do mesmo
tipo dessa.
O que é um Procedimento ?
Um procedimento nada mais é do que uma rotina desenvolvida especificamente
para executar uma determinada tarefa, como ocorre com as funções. Essa tarefa
pode inclusive ser genérica, ou seja, servir para aplicações. Por exemplo,
podemos desenvolver um procedimento para abrir um formulário e maximizá-lo na
tela, independente do formulário (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
funções, não retorna qualquer valor à rotina chamadora. Ele pode ser encarado
mais como um comando definido pelo programador/usuário, no sentido de que
apenas executa a tarefa para a qual fora concebido. Você declara um
procedimento através 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 declaração de procedimentos é:
Sub NomeProc ( [ parâmetros] )
Bloco de Instruções
End Sub
Veja um exemplo de procedimento:
Sub TestePot( )
Dim NumElev as Long
Debug.Print NumElev
End Sub
Passando Parâmetros
Embora já tenhamos utilizado a passagem de parâmetros a procedimentos e
funções, veremos neste tópico, maiores detalhes sobre esse assunto. Primeiro,
você deverá especificar os parâmetros a serem recebidos através de uma lista de
parâmetros colocada entre parênteses após o nome do procedimento/função.
Esses parâmetros, dentro do procedimento ou função, irão comportar-se como
variáveis comuns, podendo ser manipulados como tais. Vamos tomar como
exemplo nossa função que calcula a potência de um dado número:
Function Potencia ( intNumeroBase, intPotencia )
Dim LngResultado, intContador
lngResultado = 1
Potencia = lngResultado
End Function
Você deverá prestar bastante atenção quanto ao número de parênteses a serem
passados a uma função ou procedimento, isso para evitar, por exemplo, que você
passe quatro parâmetros quando na verdade a função/procedimento espera por
cinco ou mais. Para invocar uma função com parâmetros, você os especifica entre
os parênteses. 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 parâmetro, você poderá utilizar duas formas de chamada: colocando os
parâmetros entre parênteses ou diretamente após o nome do procedimento,
separando-os por um espaço. Se o procedimento possuir mais de um parâmetro,
então você poderá especificá-los utilizando o formato direto (sem parênteses),
sendo que os parâmetros deverão ser separados por vírgulas. Você pode também
chamar um procedimento passando mais de um parâmetro entre parênteses,
porém 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 parâmetros logo após a declaração
dos mesmos, como mostrado a seguir:
Function Potencia ( intNumeroBase as Integer, intPotencia as Integer)
Dim LngResultado, intContador
lngResultado = 1
Next
Potencia = lngResultado
End Function
intParam2 = intParam2 + 1
End Function
Parâmetros Opcionais
Popemos criar rotinas que recebem parâmetros opcionalmente, ou seja, sua
passagem não é obrigatória. Para fazer isso, declare todos os parâmetros com a
palavra-chave Optional à frente, como no seguinte exemplo:
'
'
End Sub
Note que os parâmetros opcionais deverão obrigatoriamente ser do tipo Variant
e que se você especificar um parâmetro opcional, todos os parâmetros
subsequentes a esse também precisarão ser declarados como opcionais. Isso é
demonstrado no seguinte código:
Sub ParamOpcional2 ( Optional strNome as String , strSobreNome as String ,
Optional intIdade as Variant, Optional sngAltura as Variant )
Dim strNomeCompleto as String
'
'
End Sub
lngTotal = 0
Referências
Existem centenas de funções desenvolvidas internamente no Visual Basic.
Abaixo encontra-se uma pequena relação das funções mais comuns:
Funçõe Descrição
Abs Encontra o valor absoluto de um número.
Atn Encontra o arco tangente.
Cos Encontra o co-seno.
Exp Eleva e (2,718u2) a uma potência dada.
Fix Retorna a parte inteira de um número.
FV Valor futuro.
Hex Fornece o hexadecimal equivalente.
Int Encontra o maior valor inteiro.
Ipmt Juros pagos por tempo.
IRR Taxa interna de retorno.
Log Logarítmo comum.
Mirr Taxa interna de retorno modificada.
Nper Tempo de acúmulo de uma anuidade.
Npv Valor presente líquido.
Pmt Gastos com anuidade.
PV Valor presente.
Rate Taxa de juros por período por uma anuidade.
Rnd Chama o gerar de número aleatório.
Sgn Retorna o sinal de um número.
Sin Retorna o seno.
Sln Depreciação linear.
Sqr Raiz quadrada.
Syd Soma da depreciação do ano.
Tan A tangente de um ângulo em radianos.
Timer Retorna o número de segundos desde meia-noite.
As funções data-hora:
Funçõe Descrição
Date Retorna a data corrente.
DateAdd Permite que você adicione um intervalo específico a uma
data.
DateDiff Calcula diferenças entre datas.
Retorna uma data correspondente a um dia, mê e ano
DateSerial
específicos.
DateValue Transforma uma cadeia de caracteres em data.
Informa qual dia em uma cadeia de caracteres alfa-numéricos
Day
ou números representa.
Banco de Dados
Sempre que trabalhamos com qualquer tipo de dado devemos gravá-los em
arquivos para não perdê-los quando desligamos o computador. Chamamos esses
arquivos que recebem vários dados de Banco de Dados. Iremos abordar o padrão
MDB (Microsoft DataBase) que representa a grande maioria de arquivos de
Banco de Dados para Windows existente hoje. Esse padrão é utilizado pelo
Microsoft Access e o Visual Basic também o aceita.
Características
Um arquivo que contém dados irá possuir a extensão 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 várias 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 serão armazenados os dados.
Por exemplo, na tabela Mercadoria temos o campo de Descrição da Mercadoria,
Quantidade no Estoque, Valor de Venda, etc. Tudo isto representa os Campos
que estão armazenados dentro da tabela. Dentro dos campos que estão os
dados que precisamos armazenar, veja a disposição 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
tabelas e campos. Somente os dados é que serão inseridos pelo usuário a
medida que for trabalhando com seu programa. Para criar um banco de dados o
Visual Basic traz uma ferramenta chamada Visual Data Manager. Ele se
encontra no menu Add-Ins.
ou
O resultado será:
BY Aulus Plautius