73
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

Apostila de Introdução a Visual Basic 4

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Apostila de Introdução a Visual Basic 4

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

Page 3: Apostila de Introdução a Visual Basic 4

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

Page 4: Apostila de Introdução a Visual Basic 4

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.

Page 5: Apostila de Introdução a Visual Basic 4

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?

Page 6: Apostila de Introdução a Visual Basic 4

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

Page 7: Apostila de Introdução a Visual Basic 4

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)

Page 8: Apostila de Introdução a Visual Basic 4

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.

Page 9: Apostila de Introdução a Visual Basic 4

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)

Page 10: Apostila de Introdução a Visual Basic 4

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.

Page 11: Apostila de Introdução a Visual Basic 4

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.

Page 12: Apostila de Introdução a Visual Basic 4

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

Page 13: Apostila de Introdução a Visual Basic 4

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.

Page 14: Apostila de Introdução a Visual Basic 4

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

Page 15: Apostila de Introdução a Visual Basic 4

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.

Page 16: Apostila de Introdução a Visual Basic 4

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.

Page 17: Apostila de Introdução a Visual Basic 4

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

Page 18: Apostila de Introdução a Visual Basic 4

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)

Page 19: Apostila de Introdução a Visual Basic 4

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.

Page 20: Apostila de Introdução a Visual Basic 4

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.

Page 21: Apostila de Introdução a Visual Basic 4

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.

Page 22: Apostila de Introdução a Visual Basic 4

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”)

Page 23: Apostila de Introdução a Visual Basic 4

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

Page 24: Apostila de Introdução a Visual Basic 4

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”)

Page 25: Apostila de Introdução a Visual Basic 4

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

Page 26: Apostila de Introdução a Visual Basic 4

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

Page 27: Apostila de Introdução a Visual Basic 4

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?

Page 28: Apostila de Introdução a Visual Basic 4

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.

Page 29: Apostila de Introdução a Visual Basic 4

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

Page 30: Apostila de Introdução a Visual Basic 4

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

Page 31: Apostila de Introdução a Visual Basic 4

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

Page 32: Apostila de Introdução a Visual Basic 4

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

Page 33: Apostila de Introdução a Visual Basic 4

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

Page 34: Apostila de Introdução a Visual Basic 4

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

Page 35: Apostila de Introdução a Visual Basic 4

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.

Page 36: Apostila de Introdução a Visual Basic 4

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?

Page 37: Apostila de Introdução a Visual Basic 4

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

Page 38: Apostila de Introdução a Visual Basic 4

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

Page 39: Apostila de Introdução a Visual Basic 4

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

Page 40: Apostila de Introdução a Visual Basic 4

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

Page 41: Apostila de Introdução a Visual Basic 4

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

Page 42: Apostila de Introdução a Visual Basic 4

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.

Page 43: Apostila de Introdução a Visual Basic 4

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

Page 44: Apostila de Introdução a Visual Basic 4

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

Page 45: Apostila de Introdução a Visual Basic 4

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?

Page 46: Apostila de Introdução a Visual Basic 4

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)

Page 47: Apostila de Introdução a Visual Basic 4

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

Page 48: Apostila de Introdução a Visual Basic 4

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

Page 49: Apostila de Introdução a Visual Basic 4

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

Page 50: Apostila de Introdução a Visual Basic 4

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

Page 51: Apostila de Introdução a Visual Basic 4

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

Page 52: Apostila de Introdução a Visual Basic 4

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

Page 53: Apostila de Introdução a Visual Basic 4

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.

Page 54: Apostila de Introdução a Visual Basic 4

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

Page 55: Apostila de Introdução a Visual Basic 4

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

Page 56: Apostila de Introdução a Visual Basic 4

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

Page 57: Apostila de Introdução a Visual Basic 4

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

Page 58: Apostila de Introdução a Visual Basic 4

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

Page 59: Apostila de Introdução a Visual Basic 4

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

Page 60: Apostila de Introdução a Visual Basic 4

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

Page 61: Apostila de Introdução a Visual Basic 4

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.

Page 62: Apostila de Introdução a Visual Basic 4

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.

Page 63: Apostila de Introdução a Visual Basic 4

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

Page 64: Apostila de Introdução a Visual Basic 4

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

Page 65: Apostila de Introdução a Visual Basic 4

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

Page 66: Apostila de Introdução a Visual Basic 4

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?

Page 67: Apostila de Introdução a Visual Basic 4

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

Page 68: Apostila de Introdução a Visual Basic 4

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.

Page 69: Apostila de Introdução a Visual Basic 4

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.

Page 70: Apostila de Introdução a Visual Basic 4

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?

Page 71: Apostila de Introdução a Visual Basic 4

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.

Page 72: Apostila de Introdução a Visual Basic 4

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.

Page 73: Apostila de Introdução a Visual Basic 4

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.