Apostila de Introdução a Visual Basic 4
-
Upload
feliperod92 -
Category
Documents
-
view
3.613 -
download
3
Transcript of Apostila de Introdução a Visual Basic 4
Fundamentos do Visual Basic
índice i
Apresentação _______________________________________ 1
O que é o Visual Basic ? ___________________________ 1
Vantagens do Visual Basic _________________________ 1
Edições do Visual Basic ___________________________ 2
Objetivos do Curso _______________________________ 2
Introdução _________________________________________ 3
Ambiente de Trabalho do Visual Basic________________ 3
Terminologia do Visual Basic _______________________ 5
Projetos e Executáveis do Visual Basic _______________ 6
Passos para a criação de uma aplicação em VB _________ 6
Técnicas de Programação __________________________ 7
Fundamentos _______________________________________ 8
Objetos ________________________________________ 8
Nomeando Objetos _______________________________ 9
Propriedades ___________________________________ 10
Métodos ______________________________________ 11
Eventos _______________________________________ 12
Controles Básicos _______________________________ 13
Manipulando Código e Formulários ___________________ 17
Trabalhando com Código _________________________ 17
Trabalhando com Formulários _____________________ 22
Exibindo e Escondendo Formulários ________________ 22
Formulários Modal ______________________________ 23
Configurando o Startup Form ______________________ 23
Encerrando sua Aplicação _________________________ 24
Índice
V
I
S
U
A
L
B
A
S
I
C
Fundamentos do Visual Basic
índice ii
Variáveis _________________________________________ 26
O que é uma Variável? ___________________________ 26
Tipos de Variáveis do Visual Basic _________________ 26
Nomeando Variáveis _____________________________ 27
Declaração _____________________________________ 28
Conversões ____________________________________ 31
Manipulando Strings _____________________________ 32
Manipulando Datas ______________________________ 32
Procedures ________________________________________ 35
Procedures _____________________________________ 35
Procedures de Evento ____________________________ 35
General Declarations _____________________________ 35
Sub Procedures _________________________________ 35
Function Procedures _____________________________ 36
Passagem de Parâmetros __________________________ 36
Controlando a Execução _____________________________ 38
Estruturas de Seleção ____________________________ 38
Estrutura de Repetição ___________________________ 40
Depuração de Aplicativos ____________________________ 45
Tipos de Erros __________________________________ 45
Ferramentas de Depuração ________________________ 45
Break Mode ____________________________________ 46
Debug Window _________________________________ 46
Índice
V
I
S
U
A
L
B
A
S
I
C
Fundamentos do Visual Basic
índice iii
Controles _________________________________________ 48
Controles Padrões _______________________________ 48
Custom Controls ________________________________ 50
Controles de Arquivos ___________________________ 51
CommonDialog _________________________________ 52
Indexando Controles _____________________________ 53
Projetando Menus _______________________________ 54
Acessando Banco de Dados __________________________ 57
Conceitos Básicos _______________________________ 57
Acessando Dados com o Visual Basic _______________ 57
Trabalhando com o Data Control ___________________ 58
RecordSet _____________________________________ 59
Usando SQL ___________________________________ 60
Data Form Designer _____________________________ 61
Manipulando Registros ___________________________ 61
Detalhes Finais ____________________________________ 65
Projetando sua Interface __________________________ 65
Desenvolvimento em 16 e 32 Bits __________________ 66
Distribuindo seus Aplicativos ______________________ 66
Glossário _________________________________________ 68
Índice
V
I
S
U
A
L
B
A
S
I
C
Fundamentos do Visual Basic
Prof.Ricardo Said página 1
1
APRESENTAÇÃO
Veremos neste capítulo:
o que é Visual Basic
conhecer as edições do Visual Basic
objetivos do Curso
O QUE É O VISUAL BASIC ?
O Visual Basic é uma linguagem de programação, que permite a criação de
aplicativos para o ambiente Windows. Através de ferramentas gráficas você
desenha seu aplicativo, atribui suas características e gera seu código de
maneira rápida e eficiente. Trata-se de uma das mais utilizadas ferramentas de
programação utilizadas atualmente.
VANTAGENS DO VISUAL BASIC
Microsoft Visual Basic é a maneira mais rápida e fácil de se criar aplicações
poderosas e com recursos que exploram todas as possibilidades da interface
gráfica do Windows. Dentre as vantagens oferecidas pelo VB podemos
destacar:
Ambiente de desenvolvimento que possibilita a criação de aplicativos de
maneira rápida, oferecendo diversas ferramentas de depuração.
Capacidade de programação para múltiplas plataformas, gerando
aplicativos de 16 bits para o Windows 3.1 ou aplicativos 32 bits para o
Windows 95 e Windows NT.
Extensibilidade da linguagem, permitindo o acréscimo de controles
personalizados para ampliar seus recursos.
Linguagem de programação derivada do BASIC, comum aos aplicativos do
Microsoft Office (VBA - Visual Basic for Application), permitindo a
integração de suas funcionalidades através da Automação OLE.
Fundamentos do Visual Basic
Prof.Ricardo Said página 2
EDIÇÕES DO VISUAL BASIC
O Visual Basic pode ser adquirido em três edições:
Standard Edition Edição padrão com Ambiente de trabalho em 32 bits
e com controles padrões
Professional Edition Edição com ambiente de trabalho para gerar
aplicativos 16 e 32 bits, acrescida de controles
personalizados e completa documentação on-line
Enterprise Edition Edição voltada para grupos de desenvolvimento
corporativo, possuindo alguns controles
persona-lizados adicionais e serviços remotos
OBJETIVOS DO CURSO
O Curso Fundamentos do Visual Basic tem por objetivos básicos:
Manipular o ambiente de desenvolvimento.
Conhecer conceitos de orientação à evento, propriedades e métodos.
Conhecer os conceitos básicos de programação no VB como: declaração e
escopo de variáveis, subrotinas, funções, estruturas de controle.
Desenvolver e depurar aplicações simples, usar controles padrões.
O Curso de Fundamentos do Visual Basic exige, como
pré-requisito, o conhecimento básico de Lógica de Programação
(variáveis, estruturas de controle, algoritmos estruturados) sendo
recomendável, portanto, noções em alguma linguagem de
programação.
Questões
1. Porque utilizar o Visual Basic como linguagem de
programação ? Para quais plataformas podemos desenvolver
nossos aplicativos com o Visual Basic ?
2. Se eu desejo desenvolver aplicativos para serem executados
no Windows 3.1, qual edição do Visual Basic devo adquirir?
Fundamentos do Visual Basic
Prof.Ricardo Said página 3
2
INTRODUÇÃO
Neste capítulo você vai aprender:
o Ambiente de Trabalho do Visual Basic
terminologia do Visual Basic
projetos e executáveis do Visual Basic
passos para a criação de uma aplicação
programação Orientada a Eventos versus
programação Procedural
AMBIENTE DE TRABALHO DO VISUAL BASIC
Exibimos abaixo o Ambiente de Trabalho do Visual Basic:
Ambiente de Trabalho do VB
Barra de
Ferramentas
Janela de
Projeto
Caixa de
Ferramentas
Janela de
Propriedades
Formulário
Fundamentos do Visual Basic
Prof.Ricardo Said página 4
O Ambiente de Trabalho do Visual Basic consiste dos seguintes elementos:
Toolbox
(caixa de
ferramentas)
A Toolbox contém todos os objetos e controles que você
pode utilizar na criação de sua aplicação. Você pode
adicionar objetos a sua Toolbox utilizando a Opção
“Custom Controls” no menu “Tools”.
Form
(formulário)
O formulário serve como uma janela que você pode
configurar a interface para a sua aplicação.
Project Window
(janela de projeto)
A janela de projeto contém um lista com todos os itens
que compõem a sua aplicação, formulários, módulos de
código e resource files. A janela de projeto é discutida
mais tarde neste capítulo.
Properties Window
(janela de
propriedades)
A janela de propriedades lista as propriedades de um ou
mais objetos selecionados (controles ou formulários),
estas propriedades podem ser alteradas quando o
formulário o controle é criado.
Code Window
(janela de código)
A janela de código é aonde o código do o seu projeto
pode ser exibido ou editado.
Toolbar
(barra de
ferramentas)
A barra de ferramentas facilita o trabalho, contendo
botões que servem de atalhos para os comandos mais
comuns no desenvolvimento de projetos.
Quando você inicia o Visual Basic, um projeto default (padrão) é criado com
um formulário genérico denominado Form1. A Caixa de Ferramentas exibirá
as ferramentas (controles) padrão.
Caso não estejam sendo mostrados alguns destes elementos, você
pode exibi-los, através do menu View escolhendo o elemento
desejado (Project, Properties, Toolbox, etc)
Fundamentos do Visual Basic
Prof.Ricardo Said página 5
TERMINOLOGIA DO VISUAL BASIC
Existem alguns termos que usaremos constantemente no ambiente do VB:
Design time
(projeto)
Design time é definido como qualquer momento que você
esteja construindo ou dando manutenção na sua aplicação
Run time
(execução)
Run time é quando a sua aplicação está sendo executada. É
importante saber diferenciar este dois termos pois certas
propriedades só podem ser alteradas em Design time,
enquanto outras só podem ser feitas em Run time
Forms
(formulários)
Servem como janelas para o desenvolvimento da sua
aplicação
Controls
(controles)
São representações gráficas de objetos tais como botões de
comando, caixas de edição onde o Usuário pode interagir
com a aplicação
Properties
(propriedades)
São características, valores que um objeto possui, tais
como Caption, Colors...
Methods
(métodos)
São ações que podem ser feitas no objeto, como exibir ou
não um formulário
Events
(eventos)
São as ações reconhecidas pelo seu aplicativo, que podem
ser efetuadas pelo Usuário, por seu programa ou pelo
próprio Sistema Operacional
Como usaremos a versão do Visual Basic em inglês (pois este não
possui versão em língua portuguesa), diversos termos serão
mencionados como no software e outros serão citados na apostila
já traduzidos, quando isto for apropriado.
Noções de Inglês são úteis ao trabalhar com o Visual Basic, uma
vez que seus menus, mensagens e principalmente sua Ajuda é toda
exibida em inglês.
Fundamentos do Visual Basic
Prof.Ricardo Said página 6
PROJETOS E EXECUTÁVEIS DO VISUAL BASIC
Os arquivos de projetos do Visual Basic tem a extensão .VBP e contém
informações sobre os itens que são utilizados numa determinada aplicação.
Projetos podem ser compostos pelos seguintes arquivos:
Tipo de arquivo Extensão Descrição
Forms
(formulários)
.FRM
.FRX
Representam os Formulários. Incluem o
formulário, objetos / controles e código
contido no formulário.
Standards Modules
(módulos)
.BAS Contém procedimentos SUB e
FUNCTION que podem ser chamados de
objetos ou formulários.
Custom Controls
(controles
personalizados)
.VBX
.OCX
Controles personalizados, que servem
como uma extensão da funcionalidade do
Visual Basic, agregando novos recursos
Class Modules
(classes)
.CLS Módulos que contém definições de
classes, com seus métodos e propriedades.
Resource Files
(arquivos de
recursos)
.RES Arquivos que contém informações
binárias que podem ser utilizadas pela
aplicação.
PASSOS PARA A CRIAÇÃO DE UMA APLICAÇÃO EM VB
1. Criar a interface com o usuário
2. Definir as propriedades dos objetos da interface
3. Escrever os código para os eventos
4. Salvar o projeto
5. Testar e depurar a aplicação
6. Gerar um arquivo executável
7. Criar o programa de instalação (setup)
Fundamentos do Visual Basic
Prof.Ricardo Said página 7
TÉCNICAS DE PROGRAMAÇÃO
A Programação Orientada a Evento trouxe um novo estilo de programação,
novos conceitos, voltados para a criação de interfaces gráficas cuja interação
com as ações do Usuário é o fator chave de sucesso para seu aplicativo.
Para começarmos a compreender estes novos conceitos, vamos comparar o
estilo de programação procedural (que estamos habituados a trabalhar em
linguagens como Pascal, Clipper, etc) com a orientação a evento.
PROGRAMAÇÃO PROCEDURAL
Na programação procedural, o programador controla as ações de forma
linear, perguntando ao usuário por informações em seqüência. Por
exemplo, um programa pergunta ao usuário que tipo de relatório ele
deseja. Quando o tipo de Relatório é escolhido, o programa verifica que
um período de datas é necessário, então ele pergunta ao usuário as datas e
assim por diante. Na programação procedural geralmente é um programa
grande que chama rotinas quando necessário.
PROGRAMAÇÃO ORIENTADA A EVENTOS
Programação Orientada a Eventos capacita o sistema a responder ao
usuário. O usuário tem o controle de decidir quando e onde fazer alguma
coisa, e pode entrar com informações e selecionar opções em qualquer
ordem. Um programa orientado a eventos, como um criado com o Visual
Basic, é tipicamente feito de pequenos blocos de código (ou procedures)
que executam tarefas discretas. A maior parte destas procedures são
procedure de evento, e são invocadas quando o usuário faz alguma ação.
Questões
1. O que são Properties? E o que são Methods?
2. Diferencie Programação Procedural de Programação
Orientada a Evento.
Fundamentos do Visual Basic
Prof.Ricardo Said página 8
3
FUNDAMENTOS
Neste capítulo você vai aprender:
objetos e sua nomenclatura
o que são Propriedades e Métodos
visão geral de Eventos
controles básicos (forms, labels, text boxes,
commandbuttons
OBJETOS
No Visual Basic um objeto é algo que você controla. Um objeto pode ser um
formulário em sua aplicação, qualquer controle (caixa de texto, botão de
comando, imagem, etc) e até mesmo classes de objetos. Para controlar um
objeto usamos suas Propriedades (características) e seus Métodos (ações que
podem ser exercidas pelos objeto).
Para compreender melhor os conceitos de Objeto, Propriedades e Métodos,
vamos exemplificá-los através de uma comparação: Um rádio seria um Objeto.
Este rádio possuiria Propriedades como tamanho, cor, nome. Os Métodos
seriam as ações a serem tomadas, como aumentar volume, mudar de estação,
desligar.
Cada objeto possui seus próprios Eventos, Propriedades e Métodos, sendo
alguns destes comuns a diversos objetos.
Como o Visual Basic possui um ambiente gráfico de desenvolvimento, para
criarmos controles em um formulário basta selecionar o controle desejado na
Caixa de Ferramentas e desenhá-lo no formulário (arrastando com o mouse).
Para selecionar um controle, selecione a ferramenta Ponteiro do
Mouse e clique no controle desejado ou arraste em sua área. Você
pode selecionar vários controles ao mesmo tempo, para movê-los
ou exclui-los.
Fundamentos do Visual Basic
Prof.Ricardo Said página 9
NOMEANDO OBJETOS
Por padrão, os controles no VB tem o nome definido como, por exemplo,
Form1, Command3, Label2. Para deixar seu código mais fácil de se entender,
você deve alterar a propriedade Name de cada controle em Design time para
um nome que seja mais adequado a função do controle. Sugerimos a utilização
da convenção de nomes de objetos descrita na tabela a seguir:
Objeto Prefixo Exemplo
Check box chk chkEntregue
Combo box cbo cboNatural
Command button cmd cmdCancelar
Data dat datFunc
Directory list box dir dirOrigem
Drive list box drv drvPadrao
File list box fil filOrigem
Form frm frmPrincipal
Frame fra fraConfig
Grid grd grdProducts
Horizontal scroll bar hsb hsbVolume
Image img imgLogo
Label lbl lblNomeCompleto
Line lin linDetalhe
List box lst lstUnidadeFederativa
Menu mnu mnuArquivoFechar
OLE ole oleQuadro
Option button opt optSexo
Picture box pic picMapaRegional
Shape shp shpCircular
Text box txt txtNome
Timer tmr tmrAlarme
Vertical scroll bar vsb vsbIndice
Fundamentos do Visual Basic
Prof.Ricardo Said página 10
PROPRIEDADES
Propriedades são características, valores de um determinado Objeto, tais como:
Name, Text, Caption, BorderStyle, Visible, as quais trocam a identificação e a
aparência do controle. Você pode alterar propriedades em design time ou em
run time.
Para exibir as propriedades de um objeto, selecione-o e pressione a
tecla F4 ou no menu View escolha a opção Properties. Será então
exibida a Janela Properties.
Para alterar uma propriedade em design time, nós utilizamos a janela
Properties. Em run time para alterarmos uma propriedade nós temos que
utilizar a programação para alterar a propriedade como no exemplo abaixo:
Sintaxe:
Objeto.Propriedade = Valor
Exemplo:
Sub Command1_Click()
Label1.Caption = “Teste”
End Sub
Você pode também obter o valor de uma propriedade, atribuindo tal valor a
uma variável em run time.
Sintaxe:
Variável = Objeto.Propriedade
Exemplo:
´ atribui o conteúdo do controle txtNome a uma variável
strNomeCliente = txtNome.Text
Algumas propriedades podem ser alteradas somente em design
time e outras são apenas para leitura em run time.
Fundamentos do Visual Basic
Prof.Ricardo Said página 11
MÉTODOS
Métodos fazem um objeto executar uma ação ou tarefa. Métodos como Move e
SetFocus fazem, respectivamente, um objeto ser movido ou receber o foco no
controle.
Métodos podem possuir argumentos e também podem retornar valor. Por isso,
teremos duas sintaxes:
Sintaxe:
Objeto.Método [Arg1, Arg2 ,...]
ou
Variável = Objeto.Método([Arg1, Arg2 ,...])
onde os colchetes [ ] indicam argumentos opcionais e no caso de um método
retornar valor, seus argumentos deverão ser colocados entre parêntese ( ).
Exemplos:
„ move um formulário para as coordenadas iniciais da tela
frmStartUp.Move 0, 0
„ posiciona o foco na caixa de texto txtMatricula
txtMatricula.SetFocus
Fundamentos do Visual Basic
Prof.Ricardo Said página 12
EVENTOS
Eventos são ações reconhecidas por formulários ou controles. Eventos podem
ocorrer quando o usuário toma alguma ação (por exemplo, clicar em um
botão), ou através de comandos em seu programa ou ainda pelo próprio
Sistema Operacional.
Você escreve o código do evento (Procedure de Evento) que só vai ser
executado quando o evento ocorrer. Virtualmente, quase todas as ações
possíveis estão associadas com um evento do Visual Basic, dando a você o
controle total sobre como a sua aplicação vai responder a ação.
Aqui estão alguns exemplos de eventos dos controles do Visual Basic:
Evento Descrição
Change Indica que o conteúdo de um controle mudou, como o evento
ocorre varia de acordo com o tipo de controle
Click Indica que o mouse foi pressionado sobre um controle
DblClick Indica que o usuário pressionou o mouse duas vezes no
controle
GotFocus Ocorre quando o controle recebe o foco
LostFocus Ocorre quando o controle perde o foco
Load Ocorre quando o formulário é carregado na memória
Unload Ocorre quando o formulário é descarregado da memória
KeyDown Indica quando uma tecla foi pressionada e não foi solta
KeyUp Indica quando uma tecla foi liberada
MouseDown Indica que um botão do mouse foi pressionado
MouseUp Indica que um botão do mouse foi liberado
MouseMove Ocorre quando o mouse se movimenta sobre um controle
Cada objeto no Visual Basic tem seus próprios eventos. Os eventos
acima listados não se aplicam a todos os objetos. Explorar os
Eventos disponíveis para cada objeto é parte importante no
aprendizado do Visual Basic.
Fundamentos do Visual Basic
Prof.Ricardo Said página 13
CONTROLES BÁSICOS
FORMS
Forms (formulários) são objetos muito importantes em sua aplicação,
pois toda interface com o Usuário será construída sobre eles. Os
principais eventos, propriedades e métodos de um formulário são:
Propriedades Name, Caption, BackColor, BorderStyle, Enabled,
ControlBox, MaxButton, MinButton, WindowState; Eventos Click,
DblClick, Load, Unload, MouseMove, Activate, Deactivate, DragOver,
DragDrop; Métodos Show, Hide, Move, SetFocus, Refresh, Print
Quando um formulário é carregado, é gerado um evento Load. Dentro
deste evento podemos efetuar ações, como centralizar na tela um
formulário ao ser carregado:
Private Sub Form_Load()
´Centraliza o formulário na tela
Form1.Top = (Screen.Height - Height) / 2
Form1.Left = (Screen.Width - Width) / 2
End Sub
LABEL
As Labels (Etiquetas) são textos que não podem ser
alterados pelo Usuário, como etiquetas indicando a
finalidade de uma textbox, mas podem ser alterados via
programação. As Labels são normalmente utilizadas para exibir um nome
de um campo que o usuário deve preencher.
Para se criar um atalho para um campo, no estilo ALT + Letra
sublinhada, devemos colocar um & (e comercial) antes da
letra desejada na propriedade Caption.
Fundamentos do Visual Basic
Prof.Ricardo Said página 14
TEXTBOX
O controle Textbox (caixa de texto) é utilizado para
obter informações do usuário ou para exibir
informações fornecidas pela aplicação. (Note que as
informações exibidas com a Textbox podem ser alteradas pelo usuário, o
que não pode ser feito nas Labels, que só podem ser alteradas por código)
Para maiores informações sobre propriedades, métodos e
eventos de qualquer controle, consulte o Help do VB.
COMMANDBUTTON
Um CommandButton (botão de comando) executa uma
ação quando o usuário clica no botão. É o principal
elemento usado para que o Usuário execute uma ação.
Questões
1. Cite 4 exemplos de Objetos no Visual Basic.
2. Defina o que é um evento? Cite 4 Eventos.
3. Por que devemos utilizar uma nomenclatura padronizada para
objetos, variáveis, etc?
4. Como posso alterar em Design Time e em Run Time o texto
exibido em uma textbox e em um label ?
Exercíci
o
1
1. Criar um programa em Visual Basic com o seguinte formulário
Fundamentos do Visual Basic
Prof.Ricardo Said página 15
Exercíci
o
1
(continuação)
2. Crie os controles necessários e defina as seguintes propriedades
Formulário:
Caption = Login
Name = frmLogin
Label de Titulo
Caption = Entre com seu nome e sua senha
Name = lblTitulo
Label Nome
Caption = Nome:
Name = lblNome
Caixa de Texto Nome
Text = “” (em branco)
Name = txtNome
Label Senha
Caption = Senha:
Name = lblSenha
Caixa de Texto Senha
Text = “” (em branco)
Name = txtSenha
PasswordChar = * (asterisco)
(continua)
Fundamentos do Visual Basic
Prof.Ricardo Said página 16
Exercíci
o
1
(continuação)
Botão OK
Name = cmdOk
Caption = &OK
Default = True
Botão Cancelar
Name = cmdCancelar
Caption = &Cancelar
Cancel = True
3. Pressione o botão direito do mouse sobre o Botão OK, no menu de
contexto escolha a opção View Code e digite o seguinte código:
MsgBox “Seu nome ” & txtNome.Text & _
“ sua senha ” & txtSenha.Text
4. Pressione o botão direito do mouse sobre o Botão Cancelar, no
menu de contexto escolha a opção View Code e digite o seguinte
código:
End
5. Salve o projeto com as seguintes definições:
Diretório de trabalho: C:\VB40FUND\CAP03
Nome do Formulário: frmLogin.frm
Nome do projeto: Login
6. Execute o programa pressionando a tecla F5 ou no menu Run
escolha a opção Start.
Fundamentos do Visual Basic
Prof.Ricardo Said página 17
4
MANIPULANDO
CÓDIGO E
FORMULÁRIOS
Neste capítulo você vai aprender:
trabalhar com código
enviar mensagens e obter dados
trabalhar com formulários
terminar uma aplicação em Visual Basic
TRABALHANDO COM CÓDIGO
PROCEDURES DE EVENTO
Procedures de Evento (event procedures) são procedimentos acionados a
partir de um evento (como um clique do mouse, pressionamento de uma
tecla, a exibição de um formulário, etc). Ao criarmos um objeto/controle
são disponibilizadas as procedures de evento relativas a tal objeto.
Para codificar uma procedure de evento siga os seguintes passos:
1. Desenhe o controle desejado.
2. Com o ponteiro do mouse dê um duplo clique no controle. Será exibida
a Janela de Código (que será detalhada na próxima página).
3. Escolha, para o controle escolhido, o evento apropriado.
4. Escreva o código de sua procedure de evento.
Exemplo:
Private Sub Form_MouseMove(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
LblX.Caption = X „ exibe coordenada X
LblY = Y „ exibe coordenada Y
End Sub
No exemplo anterior, ao omitirmos a propriedade Caption na
coordenada Y, o Visual Basic assume uma propriedade
padrão para cada controle, que no caso da label é a Caption.
Fundamentos do Visual Basic
Prof.Ricardo Said página 18
JANELA DE CÓDIGO
A janela de código é utilizada para escrever, exibir e editar código em VB.
Você pode abrir uma janela de código para cada módulo em sua
aplicação. A janela de código inclui:
Object Box
Exibe o nome do objeto selecionado, permitindo a
seleção de qualquer objeto associado com o form.
Procedure Box
Exibe todos os eventos associados com o objeto
selecionado. Quando você seleciona um evento, uma
procedure de evento correspondente é exibida na
Code Window.
Split Bar
A split bar é localizada abaixo da barra de titulo no
topo da barra de rolagem vertical. Arrastando a barra
para baixo, dividi-se a janela de código em duas partes
MÓDULOS DE CÓDIGO
Os módulos de código podem conter código que é comum a vários
formulários na sua aplicação. O código é Público por padrão, o que quer
dizer que ele é compartilhado por todos outros itens do seu projeto.
Módulos de código não podem conter Procedures de Evento pois eles não
tem objetos. Os módulos de código são armazenados como arquivos de
extensão .BAS.
EDITANDO CÓDIGO
Os principais recursos de edição de texto do ambiente Windows estão
disponíveis na janela de código, tais como seleção, utilização Área de
Transferência e outros. Para aumentar a legibilidade do código, devemos
usar alguns recursos de programação que são simples, porém eficientes.
Ao escrevermos um programa, devemos ter em mente que
este deverá ser o mais claro e bem documentado possível,
facilitando desta forma também sua manutenção.
Fundamentos do Visual Basic
Prof.Ricardo Said página 19
A Identação de Código serve para fazer uma separação visual das
estruturas lógicas de seu programa. Para identar utilize a tecla TAB.
Private Sub AnalisaValor(Valor)
If Valor = 0 Then
Msgbox “Valor igual a Zero”
ElseIf Valor < 0 Then
Msgbox “Valor Negativo”
Else
MsgBox “Valor Positivo”
Endif
End Sub
Os Comentários servem para facilitar a vida do programador
documentando o seu código. Os comentários são precedidos por uma
Aspas Simples („) ou um comando REM. Veja o exemplo anterior
acrescido de comentários.
„Procedimento para testar um valor e exibir uma Mensagem
Private Sub AnalisaValor(Valor)
If Valor = 0 Then ‘ Se o valor for Zero então
Msgbox “Valor igual a Zero” „Exibe mensagem
ElseIf Valor < 0 Then ‘Se o valor for menor que zero
Msgbox “Valor Negativo”
Else ‘ Senão Valor maior que zero
MsgBox “Valor Positivo”
Endif
End Sub ‘Fim do procedimento AnalisaValor
O caracter de continuação de linha é o sublinhado (_) que permite que
uma linha de código possa ser dividida em várias partes para melhor
exibição na tela. Veja o exemplo:
iResposta = MsgBox(“Deseja continuar operação”, _
vbExclamation + vbYesNo, “Sistema”)
Fundamentos do Visual Basic
Prof.Ricardo Said página 20
ENVIANDO MENSAGENS (FUNÇÃO MSGBOX)
A função MsgBox permite o envio, através de caixas de diálogo, de
mensagens para o Usuário, na qual este interage com seu aplicativo
através da escolha (clique) em um botão de comando.
Sintaxe:
Variável = MsgBox (mensagem[, botões][, título])
mensagem é o texto da sua mensagem.
botões são os botões/ícones que serão exibidos na caixa de
diálogo, definidos através de constantes do VB.
título é o título que será exibido na caixa de diálogo.
Constante VB Valor Exibe Botões
vbOKOnly 0 OK
vbOKCancel 1 OK e Cancelar
vbAbortRetryIgnore 2 Abortar, Repetir e Ignorar
vbYesNoCancel 3 Sim, Não e Cancelar
vbYesNo 4 Sim e Não
vbRetryCancel 5 Repetir e Cancelar
Ao executarmos a função MsgBox, esta irá retornar um valor
correspondente ao botão de comando clicado, segundo as constantes:
Botão Constante Botão Constante
OK vbOK Cancelar vbCancel
Abortar vbAbort Repetir vbRetry
Ignorar vbIgnore Sim vbYes
Não vbNo
Fundamentos do Visual Basic
Prof.Ricardo Said página 21
Para maiores informações, consulte no Help do Visual Basic
a função MsgBox.
Exemplo
Sub cmdOk_Click()
Dim botoes, resposta As Integer
botoes = vbYesNo + VbExclamation + vbDefaultButton2
resposta = MsgBox(“Deseja continuar operação”, _
botoes, “Sistema”)
If Resposta = vbYes Then
„ Ação se o usuário clicou no botão Sim
„ Comandos
Else
„ Ação se o usuário clicou no botão Não
„ Comandos
End If
End Sub
SOLICITANDO DADOS (FUNÇÃO INPUTBOX)
A função InputBox solicita que o Usuário digite uma informação, como
por exemplo um nome ou um valor.
Sintaxe:
Variável = InputBox(mensagem[, título][, default])
mensagem é o texto da sua mensagem.
título é o título que será exibido na caixa de diálogo.
default é o valor padrão que será exibido como sugestão.
Exemplo
strNacional = InputBox(“Digite sua Nacionalidade”, _
“Nacionalidade”, “brasileira”)
Fundamentos do Visual Basic
Prof.Ricardo Said página 22
TRABALHANDO COM FORMULÁRIOS
Os formulários são um dos principais blocos de construção de uma aplicação
em Visual Basic. Os usuários podem interagir no seu formulário para obter
resultados. Métodos, propriedades e eventos comumente tratados que os
formulários possuem:
Propriedade ActiveControl, BackColor, BorderStyle, Caption,
ControlBox, Enabled, Icon, Left, MaxButton, MinButton,
Name, Top, WindowState
Método Hide, Move, Paint, PrintForm, Refresh, SetFocus, Show
Eventos Activate, Click, DblClick, Deactivate, DragDrop,
DragOver, GotFocus, Load, LostFocus, MouseDown,
MouseMove, Unload
Para maiores informações sobre o objeto Form, veja na ajuda
“Form Object”.
EXIBINDO E ESCONDENDO FORMULÁRIOS
A maioria das aplicações é composta por diversos formulários. O formulário
definido como Startup form é automaticamente carregado quando a sua
aplicação é iniciada, mas durante a execução de seu aplicativo, outros
formulários devem ser exibidos e escondidos. O método ou a função usada
para exibir ou ocultar um formulário depende do que você deseja fazer:
Tarefa Método ou função
Carregar um formulário na
memória, mas não exibi-lo
Use o comando LOAD, ou faça uma
referencia ou a uma propriedade ou
controle no formulário
Carregar e exibir um formulário Use o método SHOW
Exibir um formulário carregado Use o método SHOW
Esconder um formulário Use o método HIDE
Esconder um formulário e
descarrega-lo da memória
Use o comando UNLOAD
Fundamentos do Visual Basic
Prof.Ricardo Said página 23
Exemplo:
„Procedimento de inicialização do programa
Sub Main()
Load frmPrincipal „Carrega para a memória o _
Formulário principal
Load frmCadastro „Carrega para a memória o _
Formulário de cadastro
„Define que o formulário será exibido maximizado
frmPrincipal.WindowState = vbMaximized
frmPrincipal.Show „Exibe o formulário
End Sub „ Fim do procedimento
FORMULÁRIOS MODAL
Um formulário Modal não deixa que o usuário passe de um formulário para
outro na mesma aplicação. A maioria das caixas de dialogo no Visual Basic são
modais. Quando um formulário modal é exibido, a aplicação gera um beep
caso o usuário clique fora do formulário modal.
Um formulário modeless (que é o padrão do VB ao usar o método Show)
permite ao usuário passar de um formulário para outro. Exemplos de
formulário modeless no Ambiente de Desenvolvimento do Visual Basic são as
janelas Project, Properties, Code e Formulários.
Private Sub cmdSobre_Click()
frmSobre.Show vbModal „ exibe o formulário como modal
End Sub
CONFIGURANDO O STARTUP FORM
Por padrão o Visual Basic carrega o primeiro formulário criado no seu projeto
quando a aplicação é executada. Entretanto, você pode especificar qualquer
outro formulário ou uma procedure, chamada Main, para iniciar o seu
programa. Para definir qual o Startup Form, siga os seguintes passos:
1. No menu Tools, escolha Options e selecione a guia Project
2. Selecione a partir da lista em startup form o formulário desejado
Fundamentos do Visual Basic
Prof.Ricardo Said página 24
ENCERRANDO SUA APLICAÇÃO
Como programadores nós podemos encerrar a execução da aplicação a
qualquer momento de duas formas, a primeira usando o comand END. Este
comando termina a execução da sua aplicação e descarrega todos os
formulários. A outra maneira seria usar o comando UNLOAD, neste caso a sua
aplicação deve ter apenas um formulário carregado na memória.
Sub cmdSair_click()
End „ Encerra a execução do aplicativo
End Sub
Quando o usuário escolhe uma opção que descarregue um formulário, para este
formulário é gerado um evento UNLOAD(cancel as integer) onde nós podemos
tratar o evento e podemos cancelar tal evento, perguntando se o usuário deseja
realmente fechar o formulário. Veja o exemplo a seguir:
Sub Form_Unload(Cancel as Integer)
If MsgBox(“Deseja fechar este formulário?”,_
vbYesNo,”Fechar”) = vbNo Then
Cancel = True
End if
End Sub
Questões
1. O que é uma Procedure de Evento? Por que uma procedure de
evento não pode estar contida em um módulo standard?
2. Comente sobre as características da função MsgBox.
3. Quando usar o comando LOAD e o método SHOW para
exibir formulários?
4. Quando devemos usar um formulário Modal?
Fundamentos do Visual Basic
Prof.Ricardo Said página 25
Exercíci
o
2
1. Abra, na pasta C:\VB4FUND\CAP04, o projeto Saldo.vbp
2. Insira e construa o formulário abaixo, usando as convenções de
nomenclatura de objetos estabelecida
3. Para o botão Calcular Saldo, crie um código que exiba em uma
caixa de mensagem a diferença entre a receita e a despesa.
4. Para o botão Limpar Valores, crie um código que apague o
conteúdo das caixas de texto receita e despesa.
5. Para o botão Sair, crie um código que encerre o programa.
6. Crie um novo formulário, como Caption = Sobre, no qual exiba
seu nome e contenha um botão OK, que o descarregue da
memória.
7. Para o botão Sobre, exiba o formulário Sobre, criado no item
anterior, de maneira Modal.
8. Salve os formulários criados e também seu projeto Saldo.vbp.
Fundamentos do Visual Basic
Prof.Ricardo Said página 26
5
VARIÁVEIS
Neste capítulo você vai aprender:
o que é uma variável e quais seus tipos
nomenclatura de variáveis que adotaremos
declaração e escopo de variáveis
usar algumas funções de conversão de
variáveis, manipulação de strings e de
datas
O QUE É UMA VARIÁVEL?
Uma variável é um local de armazenamento de dados, identificada por um
nome. Ela pode ter seu conteúdo alterado durante a execução de seu programa.
conteúdo de uma variável pode ser texto, data, números, valores lógicos
(TRUE ou FALSE), objetos, etc.
Exemplo de variáveis: x = 12, strNome = “Antônio ”
TIPOS DE VARIÁVEIS DO VISUAL BASIC
Tipo Descrição Exemplo Tamanho
Byte inteiro simples 5 1 byte
Boolean valor TRUE ou FALSE TRUE 2 bytes
Integer inteiro curto 528 2 bytes
Long inteiro longo 7430180 4 bytes
Single precisão simples 93.16 4 bytes
Double precisão dupla 492.028433 8 bytes
Currency monetário $ 735.16 8 bytes
Date data 10/01/95 8 bytes
Object referência a um objeto frmLogSys 4 bytes
String cadeia de caracteres “Operação OK” 10 bytes +
string
Variant qualquer tipo de variável Qualquer valor 22 bytes +
tipo de dado
Fundamentos do Visual Basic
Prof.Ricardo Said página 27
NOMEANDO VARIÁVEIS
Cada variável é identificada por um nome, que deve ser único dentro de seu
escopo (visibilidade dentro da aplicação).
REGRAS
A nomenclatura de variáveis deve seguir as seguinte regras:
1. Deve começar com um caracter alfabético
2. Não deve conter espaços nem os caracteres %, &, !, #, @ ou $
3. Deve ser único dentro de seu escopo
4. Não deve exceder 255 caracteres
CONVENÇÃO
Para facilitar a identificação de nossas variáveis, adotaremos uma
convenção, sugerida pela Microsoft, para nomenclatura de variáveis:
Tipo de Variável Prefixo Exemplo
Byte b bNumCopias
Boolean f fAtivo
Integer i iQtdeAlunos
Long l lPopulaçao
Single s sParcela
Double dbl dblRaizCubica
Currency c cSalario
Date dt dtNasc
Object prefixo do
objeto referido
frmPessoal, txtBairro,
lblMensg, etc
String str strCargo
Variant v vDados
Fundamentos do Visual Basic
Prof.Ricardo Said página 28
DECLARAÇÃO
Ao declarar uma variável iremos estabelecer seu escopo, conforme definido na
tabela abaixo:
ESCOPO
O escopo é a visibilidade da variável, ele indica se uma variável é visível
fora do local onde ela foi definida.
Escopo Visibilidade
Local uma variável definida a nível de procedure só é visível
dentro da procedure onde foi declarada
Módulo /
Formulário
uma variável declarada na General Declaration de um
módulo ou de um formulário só é visível para todas as
procedures dentro do módulo ou formulário onde foram
declaradas
Público uma variável declarada em um módulo como Public é
visível em todas as procedures de seu projeto
Esquema de Visibilidade de Variáveis
Public
Module/Form
Local
a = “Windows 95”
b = FALSE
c = 10
Fundamentos do Visual Basic
Prof.Ricardo Said página 29
VARIÁVEIS LOCAIS
Variáveis locais são aquelas que tem vida somente dentro do
procedimento que as criou. Quando o procedimento termina, seu espaço
de memória é liberado. Para declarar uma variável local usamos a
palavra-chave DIM:
Sintaxe:
Dim nomevariável [As type]
Exemplo:
Dim strBairro As String
Dim fConfirma As Boolean
Dim iQtdeAlunos As Integer
DECLARAÇÃO IMPLÍCITA E EXPLÍCITA
Podemos usar uma variável sem declará-la, simplesmente atribuindo um
valor, o que chamamos de declaração implícita. Uma variável declarada
implicitamente terá escopo Local e será do tipo Variant.
Temp = 20
Devemos evitar o uso de declarações implícitas, declarando cada variável.
Para obrigar a declaração de todas as variáveis, no menu Tools escolha a
opção Options e na guia Environment clique na caixa de seleção Require
Variable Declaration. Será incluído, automaticamente, em seu código
(na General Declaration) a definição Option Explicit.
Usando a declaração explícita, o VB irá verificar a sintaxe das
variáveis automaticamente, acusando erros de digitação
VARIÁVEIS STATIC
Variáveis do tipo Static são variáveis que não perdem seu valor quando o
procedimento que as criou terminar. Quando o procedimento for chamado
mais uma vez ela manterá o valor da chamada anterior.
Static iCounter As Integer
Static strNome As String
Fundamentos do Visual Basic
Prof.Ricardo Said página 30
VARIÁVEIS EM FORMULÁRIOS/MÓDULOS
Variáveis declaradas na seção General Declarations de um Formulário ou
Módulo são visíveis em todos os procedimentos daquele módulo. Nesta
seção nós só declaramos as variáveis, não é possível atribuir valores na
General Declarations, para se atribuir um valor devemos usar uma
Function ou uma Sub.
CONSTANTES
Constantes são similares a variáveis no sentido de armazenar um valor na
memória. Elas também podem ser de escopo Local, Módulo e Global.
Entretanto, constantes contém valores que não mudam durante toda a
execução do programa
Const PI = 3.1415
Const BotaoSimNao = 4
Const BotaoSim=6
CONSTANTES PRÉ-DEFINIDAS DO VISUAL BASIC
As Constantes Pré-definidas do Visual Basic são valores incorporados à
linguagem, representados por constantes iniciadas por vb. Veja os
exemplos:
vbModal vbMaximized vbYesNo vbNormal
vbCascade vbExclamation vbLeftButtons vbCancel
Exemplo
iConfirma = MsgBox(“Confirma Operação?” , vbYesNo + _
vbCritical + vbDefaultButton2
If iConfirma = vbNo Then
Msgbox “Operação Cancelada”, vbExclamation
Else
Msgbox “Operação Confirmada”, vbExclamation
End if
Fundamentos do Visual Basic
Prof.Ricardo Said página 31
CONVERSÕES
Quando você se torna mais interessado com o desempenho do seu programa
você declara variáveis de tipos diferentes, você precisará de converter variáveis
entre diferentes tipos de dados dependendo do que você está tentando calcular
ou processar e o que precisa exibir.
Visual Basic executa algumas conversões automaticamente. Por exemplo, se a
String “1234” é colocada numa variável do tipo Integer, Visual Basic
automaticamente converte para integer a string. Outro exemplo, quando uma
string “100” é adicionada a um valor numérico usando a formula “100” + 10, o
Visual Basic converterá a string para número para executar a formula.
Existem alguns casos, entretanto, que o Visual Basic poderá gerar resultados
estranhos. Por exemplo, se duas strings são adicionadas, o Visual Basic irá
concatenar as strings (“100” + “10” = “10010”).
Você pode evitar bugs em seu programa convertendo explicitamente, usando as
funções de conversão, antes de usa-las. Também quando os valores são
convertidos explicitamente, o seu programa é executado mais rapidamente
porque você minimiza o trabalho extra do Visual Basic.
Função Converte para Função Converte para
CBool Boolean CByte Byte
CCur Currency CDate Date
CDbl Double CInt Integer
CLng Long CSng Single
CStr String CVar Variant
Text1.Text = CStr(HScroll1.Value)
txtPixels.Text = CStr(CInt(txtPixels)+1)
sngMoney = 1.22 „ Valor single
curNewMoney = CCur(iMoney) „ Valor convertido em moeda
MyDouble = 437.324 ' MyDouble é um Double.
MyString = CStr(MyDouble) ' MyString contém "437.324".
Fundamentos do Visual Basic
Prof.Ricardo Said página 32
MANIPULANDO STRINGS
Quando precisamos manipular strings o Visual Basic traz algumas funções
para trabalharmos com elas.
Função Descrição
Left (strText, iCont) Retorna iCont letras de strText a partir da
esquerda
Right(strText, iCont) Retorna iCont letras de strText a partir da
direita
Mid( strText, iStart[,iCont]) Retorna iCont letras de strText a partir da
posição iStart
UCase(strText) Retorna strText em maiúsculas
LCase(strText) Retorna strText em minúsculas
Len(strText) Retorna o tamanho de strText
Dim strNome as String
strNome = InputBox(“Entre com seu nome”)
MsgBox “A primeira letra é: “ & Left(strNome,1)
MsgBox “A última letra é: “ & Right(strNome,1)
MsgBox “A quinta letra é: “ & Mid(strNome,5,1)
MsgBox “Seu nome tem “ & Len(strNome) & “ caracteres”
Msgbox “Seu nome em maiúsculas : “ & UCase(strNome)
Msgbox “Seu nome em minúsculas : “ & LCase(strNome)
MANIPULANDO DATAS
As datas e horas são armazenadas internamente como números. Isto permite
que você faça cálculos com as datas, tais como adicionando dias ao dia de hoje
para ter uma nova data num futuro.
O Visual Basic prove funções para retorno da data e hora atual, e para gerar
datas baseado em strings ou outra expressão.
Fundamentos do Visual Basic
Prof.Ricardo Said página 33
Exemplo:
Dim dtNovaData As Date
dtNovaData = Date + 15 „dtNovaData recebe a data de _
hoje mais 15 dias
Função Descrição
Date Retorna a data atual
Time Retorna a hora atual
Now Retorna a data e hora atual
Hour, Minute, Second Retornam Hora, Minuto e Segundo atual
Day, Month, Year Retornam Dia, Mês e Ano de uma data qualquer
DataDiff Retorna a diferença entre duas datas
MsgBox “Data atual: ” & Date
MsgBox “Dia de Hoje: ” & Day(Date)
MsgBox “Mês Atual: ” & Month(Date)
MsgBox “Ano Atual: ” & Year(Date)
Questões
1. Qual a vantagem de usarmos a declaração explícita de
variáveis? Como ativá-la?
2. Quais os níveis de escopo para declaração de variáveis?
3. O que são constantes? E o que são constantes pré-definidas?
Fundamentos do Visual Basic
Prof.Ricardo Said página 34
Exercíci
o
3
Primeira Parte
1. Abra, na pasta C:\VB4FUND\CAP05\CONVERTE, o projeto
converte.vbp
2. No evento KeyUp de cada uma das caixa de texto, codifique a
fórmula de conversão entre as unidades:
1 Polegada = 2,54 centímetros
1 Pé = 30,4 centímetros
3. Para formatar os valores numéricos calculados, utilize a função
Format, cujo código de formatação é: “##0.0000”
4. Para evitar problemas com valores não numéricos, verifique se o
conteúdo digitado é numérico (função IsNumeric), antes de
efetuar os cálculos
5. No botão Limpar Valores, criar o código para limpar as caixas
de texto.
6. Salve o projeto na pasta C:\VB40FUND\CAP05\CONVERTE
Segunda Parte
1. Abra, na pasta C:\VB4FUND\CAP05\DATAS, o projeto
Datas.vbp
2. Crie uma linha de código que faça a caixa de texto Hoje receber
o valor da data de hoje quando o programa for iniciado
3. Crie um código para que sempre que o formulário se tornar
ativo a caixa de texto txtDataIni receba o foco
4. Crie dois procedimentos de eventos para as caixas de texto Data
Inicial e Data Final para que quando uma delas for alterada a
caixa de texto Diferença seja limpa
5. Para o botão calcular use a função DateDiff para calcular a
diferença das datas entradas e atribuir o resultado a caixa de
texto Diferença
6. Salve o projeto na pasta C:\VB40FUND\CAP05\DATAS
Fundamentos do Visual Basic
Prof.Ricardo Said página 35
6
PROCEDURES
Neste capítulo você vai aprender:
o que são Sub procedures e Function
procedures
como declará-las e usá-las, para
modularizar seu programa
como passar parâmetros entre procedures
PROCEDURES
Procedures são blocos de código que escrevemos, visando modularizar nossos
programas, tornando-o mais organizado, reutilizável e de manutenção mais
simples.
PROCEDURES DE EVENTO
Uma procedure de evento (event procedure) contém linhas de código que são
acionadas somente quando ocorre tal evento. Cada controle possui uma série
de eventos, que são disponibilizados pelo VB, através de procedures de evento.
GENERAL DECLARATIONS
A General Declaration é uma área disponível em Formulários e Módulos onde
podemos codificar procedures que serão genéricas para o formulário ou
módulo. Usamos também para declararmos constantes e variáveis dentro de seu
escopo.
SUB PROCEDURES
São procedimentos independentes que executam comandos, não retornando
valor nenhum. Veja o exemplo de uma sub procedure a seguir:
Sub AbreArquivo()
„Abre um arquivo para leitura
Open “LogFile.Log” For Input as #1
End Sub
Fundamentos do Visual Basic
Prof.Ricardo Said página 36
FUNCTION PROCEDURES
São procedimentos que executam comandos, retornando valor para o
procedimento de onde foi chamada a função.
Exemplo 1:
Function GetFileName() as String
Dim strFile as String
„Abre uma janela de entrada e pede o nome do arquivo
strFile=InputBox(“Entre com o nome do arquivo”)
„para retornar um valor de uma função deve-se atribuir o
„valor desejado ao nome da função
GetFileName = strFile
End Sub
Exemplo 2:
Function CalculaComissao (Vendas As Single,_
Comissao as Single) As Single
Dim sngRetorno As Single
sngRetorno = (Vendas * Comissao) / 100
CalculaComissao = sngRetorno
End Function
PASSAGEM DE PARÂMETROS
Parâmetro é um valor que é passado à uma Sub ou uma Function para que seja
executado um processamento com este valor. Como visto no exemplo anterior,
a função CalculaComissao recebe dois parâmetros: Vendas e Comissao que
servirão de base para o cálculo da comissão de um vendedor.
Quando desejarmos passar um parâmetro para um procedimento, devemos
declará-lo juntamente com a declaração do procedimento, dentro dos
parênteses e separados por vírgulas.
Function CalculaComissao (Vendas As Single,_
Comissao as Single) As Single
Fundamentos do Visual Basic
Prof.Ricardo Said página 37
Questões
1. Qual a diferença entre Sub procedures e Function procedures?
2. Cite exemplos de procedimentos que caracterizariam
Sub procedures e Function procedures.
3. Por que passarmos parâmetros a uma procedure?
Exercíci
o
4
1. Abra o projeto Temp na pasta C:\VB40FUND\CAP06
2. Crie um módulo novo e nele crie uma sub para centralizar um
formulário qualquer
3. Neste mesmo módulo crie duas funções para conversão entre
temperaturas Fahrenheit e Celsius usando as seguintes fórmulas:
Temp.Fahrenheit = Temp.Celsius * (9 / 5) +32
Temp.Celsius = (Temp.Fahrenheit - 32) * (5 / 9)
4. No botão Converter para Celsius crie um código que converta o
valor digitado na caixa de texto da temperatura e defina o foco
para o botão Converter para Fahrenheit
5. No botão Converter para Fahrenheit crie um código que
converta o valor digitado na caixa de texto da temperatura e
defina o foco para o botão Converter para Celsius
6. No botão Sair coloque o código para finalizar a aplicação
7. Salve o projeto
Fundamentos do Visual Basic
Prof.Ricardo Said página 38
7
CONTROLANDO A
EXECUÇÃO
Neste capítulo você vai aprender:
usar estruturas de controle, para
estabelecer a seqüência lógica de seu
programa
conhecer estruturas de seleção
conhecer estruturas de repetição
ESTRUTURAS DE SELEÇÃO
Estruturas de Seleção permitem a execução de um bloco de código de acordo
com o resultado de um teste lógico (comparação).
IF...THEN...ELSE
Sintaxe:
If teste lógico Then
[comandos...]
[ElseIf teste lógico Then
[comandos...] ]
[Else
[comandos...] ]
End If
Exemplo:
If sVendas > 50000 Then „ vendas maiores que 50000
sComissão = 0.11
ElseIf sVendas > 15000 Then „ vendas maiores que 15000
sComissão = 0.07
ElseIf sVendas > 8000 Then „ vendas maiores que 8000
sComissão = 0.04
Else „ vendas menores ou iguais
sComissão = 0.02 „ a 8000
End If
Fundamentos do Visual Basic
Prof.Ricardo Said página 39
SELECT CASE
Sintaxe:
Select Case expressão
Case valor expressão1
[comandos...]
[Case valor expressão2
[comandos...] ]
[Case Else
[comandos...] ]
End Select
Exemplo:
Select Case iCódigo
Case 10
iPrioridade = 1
Case 15,20
iPrioridade = 2
Case 25 To 45
iPrioridade = 3
Case Else
iPrioridade = 4
End Select
A estrutura Select Case é mais apropriada para verificar a
igualdade de diversos valores discretos, enquanto a estrutura
If...Then...Else é mais indicada para testes lógicos de expressões.
Podemos inserir uma estrutura de seleção dentro de outra estrutura
de seleção para manipularmos lógicas mais complexas.
Fundamentos do Visual Basic
Prof.Ricardo Said página 40
ESTRUTURA DE REPETIÇÃO
Estrutura de repetição permite a execução de um bloco de código repetidas
vezes de acordo com o critério (teste lógico) estabelecido.
DO UNTIL/WHILE...LOOP
Sintaxe:
Do [ { While | Until } condição]
[comandos...]
[Exit Do]
[comandos...]
Loop
Function GetFileName() as String
Dim strFileName as String
strFileName = “”
Do While strFileName =“”
strFileName = InputBox(“Nome do arquivo”,_
”Abrir Arquivo”,””)
Loop
GetFileName = strFileName
End Function
Fundamentos do Visual Basic
Prof.Ricardo Said página 41
DO...LOOP UNTIL/WHILE
Sintaxe:
Do
[comandos...]
[Exit Do]
[comandos...]
Loop [ { While | Until } condição]
Sub EntradaDeDados()
Dim iCont As Integer
Dim iEntrada As Integer
Dim iValores(10) As Integer
iCont = 0
Do
iCont = iCont + 1
iEntrada=InputBox(“Entre com Inteiro. 0 Termina”)
If iEntrada = 0 Then
Exit Do
End If
Valores(iCont) = Entrada
Loop Until iCont = 10
End Sub
Fundamentos do Visual Basic
Prof.Ricardo Said página 42
FOR...NEXT
Sintaxe:
For contador = valor inicial To valor final [Step incremento]
[comandos...]
[Exit For]
[comandos...]
Next [contador]
Sub Form_Paint()
Dim iI, iJ As Integer
For iI = 2 To 3
For iJ = 1 To 10
Print iI & “ x “ & iJ & “ = “ & iI * iJ
Next
Next
End Sub
Questões
1. Compare uma estrutura de seleção If...Then...Else como uma
estrutura Select...Case.
2. Podemos usar estruturas de controles dentro de outras
estruturas de controle?
3. Para que serve o comando Exit Do?
Fundamentos do Visual Basic
Prof.Ricardo Said página 43
Exercíci
o
5
1. Crie um formulário com a seguinte interface:
2. Quando for selecionado o relatório anual devem ser
desabilitados os seguintes controles:
Caixa de combinação ao lado do botão de opção Mensal
Caixas de texto Inicio e Fim para o relatório de período
3. Quando for selecionado o relatório mensal devem ser
desabilitados os seguintes controles:
Caixa de texto ao lado do botão de opção Anual
Caixas de texto Inicio e Fim para o relatório de período
O conteúdo da caixa de combinação será uma seqüência numerada
de 1 até 12 representando os meses
4. Quando for selecionado o relatório mensal devem ser
desabilitados os seguintes controles
Caixa de texto ao lado do botão de opção Anual
Caixa de combinação ao lado do botão de opção Mensal
(continua)
Fundamentos do Visual Basic
Prof.Ricardo Said página 44
(continuação)
5. Quando for pressionado o botão de imprimir o programa deverá
exibir, numa caixa de mensagem, para cada cópia desejada as
seguintes mensagens de acordo com o tipo de relatório pedido:
Anual: Imprimindo <Cópia Atual> página de <Total de
cópias> do Relatório Anual de <Ano>
Mensal: Imprimindo <Cópia Atual> página de <Total de
cópias> do Relatório do mês de <Mês por extenso>
Período: Imprimindo <Cópia Atual> página de <Total de
cópias> do Relatório do Período de <Data inicial> e <Data
Final>
6. Salve o projeto e o formulário com o nome de Imprime.vbp na
pasta C:\VB40FUND\CAP07
Fundamentos do Visual Basic
Prof.Ricardo Said página 45
8
DEPURAÇÃO DE
APLICATIVOS
Neste capítulo você vai aprender:
identificar os tipos de erros no VB
conhecer as ferramentas de depuração
conhecer a Debug Window
TIPOS DE ERROS
Sintaxe são erros provocados por erros de digitação de comandos
Run-time são erros durante a execução do programa
Lógicos são erros causados por lógicas incorretas
FERRAMENTAS DE DEPURAÇÃO
Breakpoint É um local no código onde o Visual Basic para a
execução do programa e entra em break mode. Via
teclado, pressione a tecla F9.
Instant Watch Exibe o valor atual de uma expressão sobre o cursor
ou que esteja selecionada.
Calls Lista todas as chamadas de funções durante a
execução da aplicação.
Step Into Executa passo a passo o conteúdo de uma procedure,
Via teclado, pressione a tecla F8.
Step Over Roda o próximo código executável, passando através
de cada linha de código que se segue. Se o código
chamar uma procedure definida pelo usuário, esta
procedure será executa diretamente.
Start Inicia a sua aplicação
Break Entra em Break Mode
End Termina a sua aplicação
Fundamentos do Visual Basic
Prof.Ricardo Said página 46
BREAK MODE
O Break Mode para a execução do seu programa para que você possa
executá-lo passo a passo, ver o conteúdo de variáveis, propriedades e
expressões e até mudar os valores de variáveis e propriedades.
Estando em Break Mode, para executar passo a passo seu
programa, clique na ferramenta Step Into ou pressione a tecla F8.
Para executar uma procedure, sem passar linha a linha, pressione a
ferramenta Step Over, ou pressione as teclas SHIFT + F8.
DEBUG WINDOW
Para acompanhar o conteúdo de uma variável você deve fazer:
1. No menu Tools selecione a opção Add Watch.
2. Na caixa de texto Expression digite a variável desejada.
3. Pressione o botão de OK.
4. Visualize seu conteúdo em Watch Pane.
A Debug Window é dividida em
duas partes, a parte superior exibe
as variáveis que foram
adicio-nadas na janela com o
comando Add Watch para
monitorar os valores durante a
execução do programa. Na parte
inferior temos a janela imediata,
onde podemos exibir variáveis,
alterar seu valor e chamar funções
do próprio Visual Basic .
Immediate Pane
Watch Pane
Fundamentos do Visual Basic
Prof.Ricardo Said página 47
Questões
1. Explique os tipos de erros que podem ser gerados no VB?
2. Como podemos entrar em Break Mode?
3. O que podemos fazer através da Debug Window?
Exercíci
o
6
1. Abra um projeto criado anteriormente
2. Execute o aplicativo, utilizando as diversas ferramentas de
depuração descritas neste capítulo
3. Encerre seu projeto
Fundamentos do Visual Basic
Prof.Ricardo Said página 48
9
CONTROLES
Neste capítulo você vai aprender:
usar controles padrões
usar alguns custom controls
projetar Menus para sua aplicação
CONTROLES PADRÕES
Controle Descrição
Pointer (ponteiro)- Este botão não desenha nenhum controle, ele é
utilizado para redimencionar ou selecionar controle já criados
PictureBox (figura) - Use este controle para a exibição de imagens,
tanto decorativas como ativas), como container para métodos
gráficos ou container para outros controles
Label (etiqueta)- Use para exibir texto que você não deseja que o
usuário altere. Como o título de um gráfico
TextBox (caixa de texto)- Use para editar um texto onde o usuário
pode entrar com um texto ou alterá-lo
Frame (moldura) - Use este controle para criar uma divisão gráfica
ou funcional para agrupar os controle. Para agrupar os controle, crie
primeiro a frame depois desenhe os controle dentro dela
CommandButton (botão de comando) - Use este controle para criar
um botão que quando pressionado executa uma ação
CheckBox (caixa de verificação) - Use este controle para que o
usuário possa rapidamente escolher se uma informação é verdadeira
ou falsa ou exibir múltiplas escolhas quando o usuário puder escolher
mais de uma opção
OptionButton (botão de opção) - Use dentro de um grupo com
múltiplas opções de onde o usuário só poderá escolher uma opção
Fundamentos do Visual Basic
Prof.Ricardo Said página 49
Controle Descrição
Combo box (caixa de combinação) - Use para desenhar uma
combinação de Textbox e Listbox onde a opção pode ser digita no
controle ou escolhida através de uma lista
ListBox (caixa de listagem) - Usado para exibir um lista de opções
de onde o usuário pode escolher uma ou várias opções dependendo
das propriedades. A lista pode ser rolada se ela tiver mais itens que
for possível exibir de uma só vez
HScrollBar (barra de rolagem horizontal) - Utilizada para fornecer
uma ferramenta gráfica para o acesso rápido a longas listas de itens
ou uma grande quantidade de informações
VScrollBar (barra de rolagem vertical) - Utilizada para fornecer uma
ferramenta gráfica para o acesso rápido a longas listas de itens ou
uma grande quantidade de informações
Timer (temporizador) - Executa uma ação num determinado espaço
de tempo, este controle não é visível em run time
DriveListBox (caixa de listagem de drives)- Exibe uma lista de
drives do sistema
DirListBox (caixa de listagem de diretórios) - Exibe um lista com os
diretórios de um drive
FileListBox (caixa de listagem de arquivos) - Exibe um lista com os
arquivos de um diretório
Shape (figura) - Usado para desenhar várias formas geométricas no
formulário em design time
Line (linha) - Desenha uma variedade de linhas com estilos
diferentes
Image (imagem) - Utilizado para exibir uma imagem (bitmap,
metafile ou ícone), as imagens criadas com este controle são apenas
decorativas
DataControl (acesso a dados) - Fornece acesso a base de dados
OLE Container (objeto OLE)- Utilizado como container para objetos
de outros aplicativos no Visual Basic
Fundamentos do Visual Basic
Prof.Ricardo Said página 50
CUSTOM CONTROLS
Custom Controls (controles personalizados) são controles adicionais aos
controles padrões que aparecem na toolbox. Um custom control é um arquivo
que pode ser adicionado ao seu projeto. Uma vez adicionado, ele cria um botão
na toolbox para então você pode colocar o custom control no seu formulário.
Os custom controls tem as extensões .VBX ou .OCX. Os custom controls com
a extensão .OCX tiram proveito da tecnologia OLE e podem ser escritos para
16-bit ou 32-bit. (Estes controles também são chamados de OLE Controls.)
Custom controls com a extensão .VBX usam uma tecnologia antiga e são
encontrados em algumas aplicações escritas nas versões anteriores do Visual
Basic 4.0. Veja as regras para a utilização de custom controls:
Versão do Visual Basic .VBX .OCX (16-bit) .OCX (32-bit)
VB 4 versão 32 bits Não Não Sim
VB 4 versão 16 bits Sim Sim Não
Versões anteriores Sim Não Não
Nota: Quando um projeto contendo um .VBX control é aberto, a
ação padrão é atualizar este controle para um .OCX se a versão
.OCX do controle estiver disponível.
Alguns custom controls são controles que só podem ser
utilizados em Sistemas Operacionais de 32 bits, como o
Windows 95 e Windows NT 3.51 ou superiores.
Se você desenvolveu aplicativos na versão 3.0 do Visual Basic,
usando controles personalizados de terceiros, e quer migrar seus
aplicativos, verifique com seu fornecedor de controles .VBX se já
está disponível uma versão atualizada (.OCX) do controle para ser
utilizado no Visual Basic 4.0.
Fundamentos do Visual Basic
Prof.Ricardo Said página 51
CONTROLES DE ARQUIVOS
Existem controles específicos para navegação entre unidades, diretórios e
arquivos. Para integrá-los utilizamos apenas algumas linhas de código em suas
procedures de evento, como descreveremos a seguir:
A procedure abaixo é ativada quando ocorrer uma mudança no drive,
atribuindo sua escolha ao caminho de diretório:
Sub drvDrive_Change()
dirDirectory.Path = drvDrive.Drive
End Sub
A procedure abaixo é ativada quando ocorrer uma mudança no diretório
selecionado, atualizando a lista de arquivos exibida:
Sub dirDirectory_Change()
filFileList.Path = dirDirectory.Path
End Sub
A procedure abaixo utiliza o caminho de diretório e o arquivo selecionado para
exibir uma figura:
Sub filFileList_Click()
Image1.Picture = LoadPicture(dirDirectory.Path _
& “\” & filFileList.FileName)
End Sub
Para inserir caixas de diálogo de Abrir, Salvar, Fontes e outras, em
nossos aplicativos, podemos usar o controle CommonDialog, que
veremos a seguir
Fundamentos do Visual Basic
Prof.Ricardo Said página 52
COMMONDIALOG
Algumas Caixas de Diálogo do Windows são utilizadas em diversos
aplicativos, como as de Abrir, Fonte, Cores, Help, Salvar e Impressora. Para
aproveitarmos tal característica, podemos utilizar o controle CommonDialog.
CommonDialog é um controle adicionado ao seu formulário,
sendo seu ícone mostrado somente em design time, que exibe
Caixas de Diálogo padrão.
Para exibir uma caixa de diálogo, utilizamos os método do CommonDialog:
ShowColor, ShowFont, ShowOpen, ShowSave, ShowHelp e ShowPrinter.
Exemplo:
Sub cmdAbrirFigura()
CommonDialog1.DialogTitle = “Escolha um arquivo “
CommonDialog1.Filter = “Figuras(*.bmp) *.bmp”
CommonDialog1.ShowOpen
If CommonDialog1.FileName Like “*.BMP” Then
image1.Picture = LoadPicture(CommonDialog1.FileName)
Else
MsgBox “ Escolha um arquivo *.bmp “, vbOKOnly + _
vbExclamation
End If
End Sub
Fundamentos do Visual Basic
Prof.Ricardo Said página 53
INDEXANDO CONTROLES
Para facilitar a referência a diversos controles em um formulário, ao invés de
criarmos um nome para cada ocorrência do controle podemos usar um único
nome e indexá-lo, para diferenciar cada ocorrência. Para criar controles
indexados, siga os passos:
1. Crie um controle em seu formulário
2. Selecione-o e copie-o para a Área de Transferência - no menu
Editar escolha a opção Copiar.
3. Cole-o em seu formulário - no menu Editar escolha a opção
Colar. Surgirá uma caixa de diálogo, perguntando se você
deseja criar um control array - vetor de controles. Clique em
Yes.
Ao usarmos controles indexados, nosso código poderá ser reduzido, pois
evitaremos escrever linhas de código que sejam idênticas em diversos ou em
todos os elementos, criando uma única procedure de evento que receberá como
parâmetro o Index do controle desejado. Com isso, sua procedure deverá
verificar o valor do Index e selecionar o procedimento apropriado. Veja no
exemplo a seguir, onde foram criados em um formulário 4 botões de comando
com o nome de cmdCalcula, que efetuam operações aritméticas:
Private Sub cmdCalcula_Click(Index As Integer)
Select Case Index
Case 0
txtResultado = CDbl(txtOp1) + CDbl(txtOp2)
strSinal = "+"
Case 1
txtResultado = CDbl(txtOp1) - CDbl(txtOp2)
strSinal = "-"
Case 2
txtResultado = CDbl(txtOp1) * CDbl(txtOp2)
strSinal = "*"
Case 3
txtResultado = CDbl(txtOp1) / CDbl(txtOp2)
strSinal = "/"
End Select
Fundamentos do Visual Basic
Prof.Ricardo Said página 54
PROJETANDO MENUS
Para que o projeto de interface de seu aplicativo seja coerente com os padrões
do Windows, devemos incorporar Menus aos nossos programas em VB.
Usaremos o Editor de menus do VB para criar facilmente todos os elementos
componentes de menus.
TERMINOLOGIA DE MENUS
Existem vários termos associados aos menus no ambiente Windows.
Barra de Menus Barra que contém os menus de sua aplicação,
localizada abaixo da barra de título
Menu Contém uma lista de itens (comandos)
Item de Menu É uma opção (comando) dentro de um menu
SubMenu É um subordinado a um item de menu
Menu Popup É um menu de contexto, que é exibido no local onde o
Usuário clicou
Tecla de Atalho É uma tecla ou combinação de teclas que permite o
rápido acesso a um item de menu
Barra de
Menus
Menu
Item de
Menu SubMenu
Fundamentos do Visual Basic
Prof.Ricardo Said página 55
EDITOR DE MENUS
A criação de menus no Visual Basic é feita através do Editor de Menus
Para ativá-lo clique na ferramenta Menu Editor. Surgirá a
seguinte janela, onde criaremos nossos menus, submenus,
teclas de atalho, tornaremos os menus visíveis, etc.
MENUS POPUP
Menus pop-up são os menus de contexto, aqueles que aparecem quando
pressionamos o botão direito do mouse sobre alguma área da aplicação.
Para se exibir um menu de contexto, basta utilizar o método PopupMenu
de um formulário, passando para ele o nome do menu que você deseja
exibir.
Private Sub Form_MouseUp(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
Form1.PopupMenu mnuFormatar
End If
End Sub
Fundamentos do Visual Basic
Prof.Ricardo Said página 56
Questões
1. Podemos expandir os controles disponíveis no VB?
2. Para que usamos controles indexados?
3. Cite os termos associados a Menus?
Exercíci
o
7
1. Crie um formulário com a seguinte interface:
2. Adicione ao formulário um controle Timer e faça com que a
propriedade Interval seja igual a 1000
3. No evento Timer altere a propriedade Caption para que seja
igual a hora atual. Se a hora atual for igual ou maior hora
digitada na caixa de texto e o botão de opção Ativo estiver
selecionado, exiba uma caixa de mensagem com uma mensagem
de alarme
Fundamentos do Visual Basic
Prof.Ricardo Said página 57
10
ACESSANDO
BANCO DE DADOS
Neste capítulo você vai aprender:
como o VB trabalha com Banco de Dados
usar o Data Control para exibir registros
noções de SQL
usar o Data Form Designer para gerar
formulários de banco de dados
CONCEITOS BÁSICOS
Banco de Dados
(database)
É um conjunto de informações relacionadas, armazenadas
em forma de Tabelas. Ex.: banco de dados de vendas.
Tabela
(table)
É um conjunto de registros relativos a uma mesma
entidade. Ex.: tabela de vendedores.
Registro
(record)
É um conjunto de campos relacionados a uma ocorrência
específica. Ex.: registro do vendedor.
Campo
(fields)
É uma categoria de informação armazenada em um
registro. Ex.: campo Nome do vendedor.
Chave
(primary key)
É uma identificação unívoca de um registro, cujo
propósito é diferenciá-lo dos demais. Ex.: matrícula do
vendedor.
ACESSANDO DADOS COM O VISUAL BASIC
O Visual Basic permite o acesso a diversos tipos de Banco de Dados:
Jet Databases Engine Banco de Dados do MS-Access e do Visual Basic,
que manipulam os dados através do Jet Engine
ISAM Databases Banco de Dados ISAM (Indexed Sequential Access
Method) como dBase, Fox Pro, Paradox, etc
ODBC Databases Outros Banco de Dados que suportem o padrão
ODBC (Open Database Connectivity) como
ORACLE e Microsoft SQL Server
Fundamentos do Visual Basic
Prof.Ricardo Said página 58
TRABALHANDO COM O DATA CONTROL
O Data Control permite o acesso a banco de dados de maneira simples.
Primeiro você relaciona um Data Control a uma tabela de um banco de dados
ou até mesmo a uma consulta em SQL. Depois basta relacionar em seu
formulário os controles (textbox, label, listbox, combo box, picture, etc) a
campos do seu banco de dados.
Para usar o Data Control, siga os seguintes passos:
1. Selecione a ferramenta Data Control
2. Desenhe-o, arrastando com o mouse, em seu formulário
3. Clique com o botão direito do mouse e escolha Properties, para
definir as propriedades para conexão com banco de dados.
As propriedades do Data Control que devemos definir para estabelecer a
conexão com banco de dados são:
Propriedade Descrição Exemplo
Name nome do Data Control Data1
Connect tipo de banco de dados conectado Access
DatabaseName arquivo de banco de dados C:\NWIND.MDB
RecordSource tabela do banco de dados Clientes
Por padrão, o Visual Basic trabalha com banco de dados .MDB
(do MS-Access, pois usa o mesmo Jet Engine), mas você pode
escolher outros como Dbase e até formato .XLS do Excel.
DatabaseName normalmente é o nome do arquivo de banco de
dados, porém se seu banco de dados é separado em diversos
arquivos (caso típico de arquivos Xbase), indique o nome do
diretório onde estão contidos tais arquivos.
RecordSource normalmente indica uma tabela, mas podemos
indicar uma consulta em SQL, para buscar um subconjunto dos
dados de acordo que critérios que iremos estabelecer.
Fundamentos do Visual Basic
Prof.Ricardo Said página 59
Agora que seu banco de dados já está indicado, falta relacionar seus campos
com os controles em seu formulário. Para relacioná-los, você precisa definir
duas propriedades em seu controle:
Propriedade Descrição Exemplo
DataSource qual Data Control é a origem dos
dados relacionados
Data1
DataField qual campo está relacionado com o
controle
Matricula
Ao trabalhar com o Data Control, você está acessando diretamente
o banco de dados, podendo manipulá-lo indevidamente. Para obter
maior controle sobre seus dados, usamos técnicas mais sofisticadas
de manipulação, utilizando DAO - Objetos de Acesso a Dados, que
demandam maior trabalho de programação, mas oferecem maior
flexibilidade (Este tópico, não faz parte do presente curso).
RECORDSET
Um RecordSet é um Objeto que contém um conjunto de registros fornecidos
pelo Data Control. Existem propriedades e métodos do Data control
relacionados com o RecordSet, como:
Propriedades Descrição
RecordSet.EOF Retorna indicação de final dos registros
RecordSet.Bookmark Retorna ou define um indicador para o registro
corrente
RecordSet.NoMatch Retorna TRUE se nenhum registro foi encontrado
através do método Find
Métodos Descrição
Refresh Reestabelece a exibição do banco de dados
RecordSet.FindFirst,
FindLast, FindPrevious,
FindNext
Localizam um registro de acordo com um determinado
critério, posicionando-o como registro corrente.
Fundamentos do Visual Basic
Prof.Ricardo Said página 60
USANDO SQL
SQL (Structured Query Language) é uma linguagem de banco de dados que
contém comandos simples e padronizados para consulta e manipulação de
dados. Podemos utilizar SQL no Visual Basic para especificar um
RecordSource em um Data Control que contenha somente alguns dados de uma
tabela, ao invés da tabela inteira, como no exemplo abaixo:
Data1.RecordSource = “SELECT [nome aluno] FROM Alunos”
O comando SELECT é utilizado para gerar consultas, oferecendo várias
cláusulas e sintaxes:
FROM indica a tabela onde estão armazenados os dados
WHERE especifica condições de filtragem dos dados
ORDER BY indica a ordenação dos registros por um determinado campo
Sintaxe Exemplo
SELECT lista de campos
FROM tabela
WHERE condições
ORDER BY campos
SELECT [codigo aluno], [nome aluno]
FROM alunos
WHERE sexo = “F”
ORDER BY [nome aluno] DESC
Você pode usar o Microsoft Access para gerar a consulta e abria-la
como recordsource de um Data Control
Fundamentos do Visual Basic
Prof.Ricardo Said página 61
DATA FORM DESIGNER
O Data Form Designer é um Add-In que gera formulários simples para
manipulação de banco de dados.
Para acessá-lo, clique no menu Add-Ins e escolha a opção
Data Form Designer.
Caso esta opção não esteja visível, clique no menu Add-Ins e
escolha a opção Add-In Manager. Surgirá uma caixa de diálogo na
qual você irá marcar a checkbox Data Form Designer e pressionar
OK. A partir daí, esta opção se tornará disponível.
Ao carregar o Data Form Designer, você deverá fornecer um nome para seu
formulário, o tipo de conexão (default é o MS-Access), selecionar o arquivo de
banco de dados através do botão de comando Open Database, e escolher a
tabela que será o RecordSource. Após escolher seu RecordSource, serão
exibidos seus campos, e você irá escolher quais campos farão parte de seu
formulário. Escolhidos os campos, clique no botão Build the Form para que
seu formulário seja construído.
MANIPULANDO REGISTROS
Apresentamos a seguir as procedures básicas de manipulação de banco de
dados.
INCLUINDO
A procedure abaixo inclui um novo registro em branco no final do
RecordSet, permitindo a entrada de um novo registro.
Private Sub cmdAdd_Click()
Data1.Recordset.AddNew
End Sub
Fundamentos do Visual Basic
Prof.Ricardo Said página 62
EXCLUINDO
A procedure abaixo exclui o registro atual e move-se para o próximo
registro. Caso o registro excluído tenha sido o último, movemos o registro
corrente para o último registro atual.
Private Sub cmdDelete_Click()
Data1.Recordset.Delete
Data1.Recordset.MoveNext
„ Verificar se foi deletado o último registro
If Data1.RecordSet.EOF = True Then
Data1.RecordSet.MoveLast
End If
End Sub
REESTABELECER
A procedure abaixo reestabelece o conteúdo dos controles de acordo com
o conteúdo original dos campos do banco de dados, desprezando as
alterações que você acabou de digitar.
Private Sub cmdRefresh_Click()
Data1.Refresh
End Sub
Note que você só pode Reestabelecer os campos de um registro alterado
enquanto você não tenha navegado entre os registros, pois ao navegar as
alterações já são automaticamente salvas.
MODIFICANDO E ATUALIZANDO
A procedure abaixo atualiza o registro, posicionando como registro atual
o registro modificado.
Private Sub cmdUpdate_Click()
Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
End Sub
Fundamentos do Visual Basic
Prof.Ricardo Said página 63
PROCURANDO
A procedure abaixo armazena o indicador do registro atual e usa o método
Find para localizar um registro de acordo com um critério (definido por
strCriteria).
Private Sub cmdFind_Click()
Dim CurrentRecord As String
„ armazena a opsição do registro atual
CurrentRecord = Data1.Recordset.Bookmark
Data1.Recordset.FindFirst strCriteria
„ verifica se o registro não foi encontrado
If Data1.Recordset.NoMatch Then
Data1.Recordset.Bookmark = CurrentRecord
End If
End Sub
Ao encontrar a primeira ocorrência, será posicionada como registro
corrente. Caso não seja encontrado nenhum registro de acordo com o
critério estabelecido, posiciona novamente no registro onde estava
originalmente posicionado.
Questões
1. Quais as vantagens e desvantagens que você vê na utilização
do Data Control?
2. Que tipos de banco de dados podemos acessar no VB?
3. O que é um RecordSet?
4. Quais são as propriedades que devemos definir para o Data
Control? E para os controles relacionados em seu formulário?
5. Por que usar SQL? Cite as principais cláusulas?
Fundamentos do Visual Basic
Prof.Ricardo Said página 64
Exercíci
o
8
Primeira Parte
1. Crie com o Data Form Designer um formulário para manipular
os dados da tabela Agenda do Banco de dados Agenda.mdb que
está na pasta C:\VB40FUND\CAP10
2. Salve o projeto com o nome de Agenda na mesma pasta
Segunda Parte
1. Sem o auxilio do Data Form Designer crie um formulário para
visualizar os dados da tabela de Produtos do Banco de Dados
Nwind.mdb. Crie botões para Inserir novos registros, Alterar os
registros e Excluir os registros
2. Salve o projeto com o nome de Produtos na pasta
C:\VB40FUND\CAP10
Fundamentos do Visual Basic
Prof.Ricardo Said página 65
11
DETALHES
FINAIS
Neste capítulo você vai aprender:
dicas para projetar uma boa interface para
seus aplicativos
características de desenvolvimento em 16 e
32 bits
distribuir suas aplicações
PROJETANDO SUA INTERFACE
Um aplicativo de qualidade deve ser projetado de maneira a ser fácil de usar,
claro, intuitivo para o usuário. Uma interface que seja confusa, complexa e
despadronizada pode levar seu aplicativo ao total fracasso. Por isso, daremos
algumas dicas importantes que devem ser levadas em conta na hora de
construirmos nossos aplicativos.
Uma interface de qualidade deve:
ser bem organizada: ter um aspecto visual agradável, seus controles bem
distribuídos, evitar congestionar visualmente os formulário.
ser fácil de utilizar: proporcionar facilidades de manipulação para o Usuário
e ser bastante intuitiva.
prover acessibilidade: proporcionar meios alternativos de acesso. Por
exemplo, deve fornecer acesso via mouse e via teclado a comandos.
ser consistente: oferecer procedimentos padronizados, telas coerentes umas
com as outras, lay out semelhante entre formulários e principalmente
obedecer às convenções do ambiente Windows.
minimizar interações modais: reduzir o uso de formulários modais,
utilizá-los somente quando este tipo de interação for necessária.
minimizar e tratar os erros do Usuário: prevenir prováveis situações de
erros e tratá-los quando ocorrerem.
prover retorno (feedback) das ações: demonstrar para o Usuário o resultado
de ações, enviar mensagens de sucesso em operações, situações de erro, etc.
levar em conta seus Usuários: seu aplicativo deve ser projetado pensando
nos diferentes níveis de Usuários que irão utilizá-lo.
Fundamentos do Visual Basic
Prof.Ricardo Said página 66
DESENVOLVIMENTO EM 16 E 32 BITS
Podemos criar aplicativos com o Visual Basic para plataformas 16 bits
(Windows 3.X) e plataformas 32 bits (Windows 95 e Windows NT). Cada
edição do VB disponibiliza duas versões: para as plataformas 16 e 32 bits
(menos na edição Standard, que só possui ambiente de 32 bits).
Você pode instalar as duas versões (16 e 32 bits) em uma mesma
pasta (diretório), para economizar espaço em disco.
Como regra geral você pode executar uma aplicação de 16 bits em ambos
ambientes (16 e 32 bits), mas talvez queira ter uma versão separada, para
usufruir dos recursos adicionais de 32 bits. Ao abrir um projeto feito em 16 bits
na versão de 32 bits, os controles de 16 bits serão substituídos pelos
correspondentes de 32 bits (a menos que não exista um controle
correspondente). Após aberto o projeto, basta recompilar para obter um
aplicativo 32 bits.
DISTRIBUINDO SEUS APLICATIVOS
Após desenvolver nossos aplicativos, devemos prepará-los para serem
distribuídos. Aprenderemos como gerar arquivos executáveis
GERANDO EXECUTÁVEIS
Concluído, testado e aprovado seu aplicativo, iremos gerar um arquivo
executável, para que possa reunir em um único arquivo, todos os
formulários e módulos de seu projeto.
Para gerar um arquivo executável, no menu File escolha a opção Make
EXE File e escolha onde este será gravado.
O arquivo executável gerado pelo Visual Basic não é
totalmente independente, pois necessita de algumas DLLs em
seu sistema para ser executado. Para distribuir seus
executáveis, usaremos o Setup Wizard, como veremos a
seguir.
Fundamentos do Visual Basic
Prof.Ricardo Said página 67
SETUPWIZARD
Para distribuir seu aplicativo, não basta somente copiar o arquivo
executável, pois existem recursos em seu aplicativo cuja funcionalidade é
proporcionada por algumas DLLs, que são indispensáveis para que seu
aplicativo seja executável.
Por outro lado, seria conveniente que seu aplicativo possuísse a mesma
forma de instalação, um mesmo tipo de programa de Setup. O Visual
Basic permite a criação de programas de Setup, de maneira fácil e rápida,
através do Setup Wizard.
O Setup Wizard é um assistente que gera um programa de
setup para seu projeto em VB. O Setup Wizard vai guiá-lo
passo a passo na criação de seu programa de setup, já
incluindo as DLLs necessárias para execução de seu
aplicativo, custom controls, compactando seus arquivos e
gerando a quantidade de discos necessária para seu aplicativo.
O Setup Wizard é um programa que é executado a partir do mesmo grupo
de programas do Visual Basic e irá completar em 7 passos o processo de
geração dos discos de instalação de seu aplicativo. Após gerados os
discos, o Usuário fará o processo de instalação da mesma maneira que é
feito para qualquer aplicativo do Windows.
Questões
1. Cite 4 características que devem ser consideradas na
elaboração da interface de sua aplicação?
2. Podemos usar um projeto criado em uma versão anterior do
Visual Basic (versão 3) nas plataformas 16 e 32 bits? Quais
os problemas que poderiam ocorrer?
3. Um programador novato em VB desenvolveu em seu trabalho
um aplicativo interessante, gerou um arquivo executável deste
aplicativo e levou-o para casa. Ao tentar usá-lo em casa, o
programa não conseguiu ser executado. O que pode ter
acontecido? Qual o procedimento correto para evitar tal
problema?
Fundamentos do Visual Basic
Prof.Ricardo Said página 68
12
GLOSSÁRIO
Neste capítulo você vai aprender:
rever alguns dos termos mais utilizados
durante o curso
servir de referência rápida para suas
dúvidas
banco de dados - É um conjunto de informações relacionadas, armazenadas
em forma de Tabelas. Um Cadastro de Clientes é um exemplo de banco de
dados.
break mode - é um modo utilizado para depuração de aplicativos, onde seu
programa é executado passo a passo e você pode interagir com ele,
visualizando e alterando objetos.
code window - janela de código, que permite a edição das linhas de código
de seu aplicativo.
constante - armazena um valor que não se modifica durante a execução de seu
programa.
constantes pré-definidas - são constantes estabelecidas pelo VB, que não
precisam ser declaradas.
controles - são representações gráficas de objetos tais como botões de
comando, caixas de edição onde o Usuário pode interagir com a aplicação.
custom controls - são controles personalizados, que ampliam a
funcionalidade do Visual Basic.
data control - controle utilizado para acesso a banco de dados.
depuração - processo de verificação e correção de erros em um aplicativo.
design time - projeto, momento em que desenvolvemos nossa aplicação.
escopo - nível de abrangência, visibilidade de um objeto.
Fundamentos do Visual Basic
Prof.Ricardo Said página 69
events - eventos, as ações reconhecidas pelo seu aplicativo, que podem ser
efetuadas pelo Usuário, por seu programa ou pelo próprio Sistema
Operacional.
form - servem como janelas para o desenvolvimento da sua aplicação, onde
desenhamos os controles.
function procedures - função, procedimento que efetua um conjunto de
ações, retornando um valor.
general declarations - área de declaração genérica de um formulário ou
módulo.
methods - são ações que podem ser feitas no objeto, como exibir ou não um
formulário.
modal - mode de exibição que impede o Usuário de mudar de janela, dentro de
um aplicativo, até que interaja com ela.
módulos standard - módulo padrão ou módulo de código, área onde são
codificados procedimentos de uso genérico para sua aplicação.
objeto - é algo que você pode controlar no VB, como uma variável, um
controle, um formulário, etc.
parâmetros - são valores passados a uma procedure para que esta execute sua
lógica.
procedure - procedimentos, são blocos de código que escrevemos, visando
modularizar nossos programas.
procedures de evento - são procedures que são ativadas por um evento,
como um clique do mouse ou a mudança de conteúdo em uma textbox.
programação orientada a evento - técnica de programação baseada nas
ações do Usuário, codificando em função dos eventos que irão ocorrer.
programação procedural - técnica de programação cuja seqüência lógica de
execução é determinada pelo programador.
Fundamentos do Visual Basic
Prof.Ricardo Said página 70
project window -janela de projeto, agrupa os elementos componentes de seu
projeto, como formulários, módulos e controles personalizados.
Properties - são características, valores que um objeto possui.
Properties window - janela de propriedades, de são exibidas e alteradas as
propriedades de um objeto.
recordset - objeto que contém um conjunto de registros de um banco de
dados.
run time - execução, é o momento quando sua aplicação está sendo executada.
setup wizard - aplicativo que automatiza a criação de um programa de setup,
para distribuição de seus aplicativos.
SQL - Structured Query Language, linguagem não procedural de acesso e
manipulação de banco de dados.
startup form - formulário inicial, que será carregado quando sua aplicação for
executada.
sub procedure - subrotina, procedimento que efetua um conjunto de ações,
não retornando nenhum valor.
variável - armazena em seu conteúdo um valor, que pode ser alterado durante
a execução de seu programa.