Você está na página 1de 20

Microsoft Visual Basic 6

Introduo
Quando se pensa em Windows, algumas palavras nos vm cabea, tais como: interface grfica, objetos, cones, janelas, mouse, botes, etc., e, como o prprio nome diz, janelas. Alis, uma verdadeira confuso de janelas: maximizadas, restauradas ou minimizadas; pop-ups, modais ou no-modais; caixas de mensagem ou de dilogo; janelas mes e janelas filhas. Logicamente, ento, o ponto de partida para a programao em ambiente Windows s poderia ser uma janela, pois atravs dela que o usurio vai interagir com um sistema. O Microsoft Visual Basic um pacote para desenvolvimento de aplicaes visuais para ambiente Windows baseado na linguagem de programao Basic. orientado a eventos, o que quer dizer que trata ocorrncias que do incio a alguma rotina de trabalho: o programa fica parado at que algo acontea. Quer dizer tambm que ele permite o uso de objetos, mas no a sua criao, pois no uma linguagem orientada a objetos. Objetos so estruturas que combinam propriedades e mtodos. As propriedades so caractersticas dos objetos, que podem ser acessadas e/ou alteradas pelo programador tanto em tempo de projeto (quando o projeto est sendo desenvolvido) quanto em tempo de execuo (quando o aplicativo est sendo executado). J os mtodos so rotinas internas ao objeto que servem para executar determinadas aes. Para exemplificar, pense em uma bicicleta azul. A cor azul uma caracterstica da bicicleta, ou uma propriedade dela. J um mtodo seria o ato de pedalar, que a rotina necessria para fazer a bicicleta andar. Para programao em VB, usamos uma verso da linguagem Basic estruturada para a construo de procedimentos e funes que podem estar associados aos eventos dos objetos de sua aplicao. O VB tambm faz uma verificao automtica de sintaxe dos comandos, e possui recursos avanados de compilao e rastreamento de erros.

Iniciando o VB
Clique no boto Iniciar do Windows, depois em Programas, e procure uma opo chamada Microsoft Visual Basic 6.0. Clique nela, e ser exibida durante alguns segundos uma tela de apresentao do VB, enquanto o software est sendo carregado. Depois disso, aparecer uma janela onde voc deve indicar o tipo de projeto que dever ser iniciado:

Microsoft Visual Basic 6

Para iniciar um novo projeto, escolha a opo Standard EXE na aba New. As demais opes dessa aba iniciam outros tipos de projetos, que no sero abordados nesse curso por tratarem-se de programao avanada, como a criao de controles ActiveX; A aba Existing serve para abrir um projeto j existente; Finalmente, a aba Recent contm os projetos mais recentemente utilizados, e pode ser usada para abrir um deles de maneira mais rpida que na aba Existing.

A tela do VB
Ao se utilizar o VB, tem-se a impresso que estamos esculpindo nossa aplicao diretamente no Windows. Isto se deve ao fato de que ele no possui uma janela que ao ser maximizada ocupe toda a rea de trabalho. Na verdade, o VB constitudo apenas por uma barra de ttulos, uma barra de menus e uma barra de ferramentas (veja a figura na prxima pgina). Dessa forma, quando construmos os nossos formulrios estamos vendo exatamente como eles aparecero no Windows. As janelas auxiliares, que podem ser a caixa de ferramentas, a janela de propriedades, a janela imediata, etc., aparecem flutuando na rea de trabalho do Windows. Os principais componentes da interface do VB so os seguintes:

A janela Projeto (Project)


No VB, sempre que pensamos em uma aplicao, pensamos em um projeto, que o conjunto dos arquivos que compem a aplicao. Esses arquivos podem ser formulrios ou mdulos. Existem outros arquivos que compem um projeto, tais como controles customizados (Custom Controls), bibliotecas de funes, etc. Entretanto, estes no so parte integrante do arquivo que o VB gera. No VB, cada componente de um projeto est em um arquivo separado, que pode ser visualizado e acessado atravs da janela Projeto.

Formulrios (Forms)
No VB, as janelas so chamadas de formulrios. Sempre que se comea a desenvolver uma nova aplicao, o VB nos fornece um formulrio vazio como ponto de partida, e atribui a ele o nome provisrio de Form1. Podemos inserir diversos tipos de controles neste formulrio, controles estes que esto representados por botes na caixa de ferramentas.

A caixa de ferramentas (Toolbox)


Procure na figura a caixa de ferramentas do VB. Ela geralmente est esquerda do formulrio, e contm os botes correspondentes aos controles que podem ser adicionados a ele.

Controles
Os controles so arquivos com extenso OCX e constituem a base da programao visual do VB, alm de poderem ser utilizados em qualquer outro aplicativo ou linguagem que aceite objetos com esse padro. Existem dois tipos bsicos de controles: internos ou padronizados e personalizados ou customizados. Basicamente, os controles padronizados fazem parte do corpo do VB e so disponibilizados na caixa de ferramentas quando se inicia um novo projeto. J os customizados podem ou no ser fornecidos junto com o VB, dependendo da verso utilizada, e precisam ser includos no projeto pelo programador - quando se inclui um controle customizado em um projeto, aparece um novo boto na caixa de ferramentas. Alis, qualquer pessoa pode criar um controle OCX (o prprio VB permite isso), existindo inclusive vrios deles que so comerciais, desenvolvidos por software-houses especializadas. A utilizao dos dois tipos de controles rigorosamente a mesma: ambos possuem propriedades e mtodos, respondem a eventos, aparecem na caixa de ferramentas, e so manipulados da mesma forma. A diferena que os customizados no esto disponveis enquanto no forem explicitamente incorporados caixa de ferramentas do VB pelo programador. Mas, depois que isso acontece, tudo fica transparente.

A propriedade Name
A propriedade Name determina o nome de um objeto. Todos os objetos dentro de um projeto, incluindo formulrios e controles, precisam ter um nome, pois atravs desse nome que nos referimos a eles quando estamos escrevendo o cdigo. Quando voc inicia o VB, o formulrio apresentado recebe o nome genrico de Form1; da mesma maneira, os controles recebem nomes genricos: Command1, Command2, CommandN

Microsoft Visual Basic 6

para os botes de comando; Text1, Text2, TextN para as caixas de texto, e assim por diante. recomendvel, porm, que os objetos recebam nomes mais descritivos e de fcil memorizao e identificao, especialmente aqueles usados com muita freqncia, como caixas de texto e labels. Em casos especiais barras de botes, timers, barras de status e outros, usados mais raramente esse cuidado pode ser dispensado.

As janelas do VB

A propriedade Name de um objeto deve sempre iniciar com uma letra, possuir no mximo 40 caracteres, e pode incluir nmeros e o caracter sublinhado _ , mas no pode incluir espaos nem sinais de pontuao. Existe uma conveno usada para a nomeao dos objetos, normalmente adotada como regra pelos programadores VB, que determina a adoo de um prefixo de duas ou trs letras minsculas identificando o tipo do objeto, seguido do nome propriamente dito. Por exemplo: se voc quiser chamar um formulrio de Aviso e usar a conveno, dever determinar para a propriedade Name o valor frmAviso, pois frm o prefixo que identifica um formulrio. O uso regular dessa conveno ajuda na documentao de um projeto, facilitando muito sua manuteno. Veja na tabela a seguir os prefixos convencionais utilizados para a propriedade Name dos objetos mais comuns do VB: Objeto..........................................................................................................Prefixo..............................Exemplo Formulrio......................................................................................................frm.................................frmMenu Caixa de Figura (PictureBox)..........................................................................pic....................................picFoto Legenda (Label)...............................................................................................lbl.............................lblResultado Caixa de Texto (TextBox)................................................................................txt...................................txtAviso Moldura (Frame).............................................................................................fra..............................fraConceito Boto de Comando (CommandButton)..........................................................cmd.............................cmdApagar Caixa de Verificao (CheckBox)...................................................................chk..............................chkNegrito Boto de Opo (OptionButton).....................................................................opt...................................optSexo

Microsoft Visual Basic 6

Objeto..........................................................................................................Prefixo..............................Exemplo Caixa de Combinao (ComboBox)................................................................cbo.............................cboCidades Caixa de Listagem (ListBox)...........................................................................lst................................lstClientes Barra de Rolagem Horizontal (HScrollBar)...................................................hsb..................................hsbIdade Barra de Rolagem Vertical (VScrollBar)........................................................vsb...................................vsbTaxa Temporizador (Timer).....................................................................................tmr...............................tmrAlarme Caixa de Listagem de Unidades (DriveListBox).............................................drv............................drvUnidades Caixa de Listagem de Diretrios (DirListBox)................................................dir................................dirDestino Caixa de Listagem de Arquivos (FileListBox)................................................fil...............................filArquivos Forma (Shape).................................................................................................shp...........................shpQuadrado Linha (Line).....................................................................................................lin................................linDiviso Caixa de Imagem (Image)..............................................................................img.................................imgCarro Controle de Dados (DataControl)...................................................................dat................................datBancos Grid.................................................................................................................grd.............................grdConsulta Menu..............................................................................................................mnu...............................mnuEditar Banco de Dados (DataBase)............................................................................db.......................dbContabilidade Conjunto de Registros (RecordSet)..................................................................rs................................rsDespesas Conexo com provedor de dados (Connection)..............................................cnn................................cnnDados

Microsoft Visual Basic 6

Lio 1: Primeiros Passos


Nessa lio vamos criar nossa primeira aplicao no VB. Precisaremos seguir os seguintes passos: 1. Criao da interface com o usurio: para isso, voc vai usar os controles da caixa de ferramentas, que sero inseridos nos formulrios de modo desenhar a interface; 2. Definio das propriedades dos objetos: aps a insero dos controles, voc deve definir as propriedades com as quais eles devem ser iniciados quando o programa for executado; 3. Codificao dos eventos: escrever a programao Basic necessria para que o programa responda corretamente aos eventos que vo ocorrer durante sua execuo.

Criao da interface com o usurio


Vamos ento para a primeira etapa do processo de criao do nosso programa: criar a interface com o usurio. Para isso voc vai precisar dos seguintes controles: Apontador (Pointer): esse no bem um controle, e sim uma ferramenta usada para inserir, movimentar e/ou dimensionar os diversos objetos de uma aplicao. Boto de comando (CommandButton): sua funo principal executar comandos quando clicado. , provavelmente, o controle mais usado em programao visual. Boto de opo (OptionButton): usado para determinar se uma informao verdadeira ou falsa, somente um boto pode estar ligado, num dado momento, para cada conjunto desses controles. Legenda (Label): serve para exibir um texto que no pode ser editado pelo usurio, como uma mensagem ou o rtulo de um campo a ser digitado. Caixa de figura (PictureBox): permite a exibio de figuras e o agrupamento controles, tais como botes de comando, em formulrios do tipo MDI (que sero estudados mais adiante). Bem, mos obra: 1. Inicie o Windows e o VB, se ainda no o fez. Na janela New Project, escolha a opo Standard EXE da aba New: ser exibida a tela do VB com um formulrio em branco; 2. Insira um boto de comando nesse formulrio. Para isso, voc pode agir de duas maneiras: dar um click no cone CommandButtom da caixa de ferramentas e arrastar o mouse sobre o formulrio de modo a definir o tamanho desejado para o boto, ou ento dar um duplo click no cone (nesse caso o boto ser inserido no centro do formulrio com um tamanho padronizado):

3. Usando o mesmo procedimento, insira trs botes de opo (OptionButtom) e posicione-os um abaixo do outro do lado esquerdo do formulrio, de modo a ficar parecido com o exemplo a seguir:

Microsoft Visual Basic 6

10

4. Ao lado dos botes, insira trs caixas de figura (PictureBox). Desenhe-as como quadrados de aproximadamente 1 centmetro de lado; 5. Insira agora trs Labels direita das caixas de figura, indo at perto da borda direita do formulrio. Seu formulrio deve estar parecido com esse:

6. No menu File, selecione Save Project. Como a primeira vez que o projeto ser gravado, aparece a caixa de dilogo Save File As, onde devemos informar o nome que ser dado ao formulrio; 7. Digite Hello e selecione Save. Seu formulrio foi gravado em um arquivo chamado Hello.FRM; 8. Aparece ento a caixa de dilogo Save Project As, onde devemos informar o nome que ser dado ao projeto. Digite Hello novamente e selecione Save. Seu projeto foi gravado no arquivo Hello.VBP; Meus parabns! Voc terminou a criao de sua primeira interface com o usurio no VB. Vamos agora passar segunda fase do nosso programa, que a definio de propriedades para os objetos do formulrio.

Definio das propriedades dos objetos


Antes de comear, verifique se a janela Propriedades (Properties) est aberta. Caso no esteja, voc pode abr-la pressionando F4 ou selecionando a opo Properties do menu View. A definio de propriedades um processo muito simples, basta seguir os seguintes passos: 1. D um click no objeto cujas propriedades voc quer mudar (voc tambm pode clicar com o boto direito sobre ele, e escolher a opo Properties do menu de contexto); 2. Clique na propriedade que deseja alterar;

Microsoft Visual Basic 6

11

3. Digite o novo valor para a propriedade. Algumas propriedades possuem uma caixa de combinao em que voc pode indicar sua opo. Outras abrem uma caixa de dilogo, como a propriedade Picture de uma caixa de figura quando isso acontecer, ser indicado por um boto com reticncias ... ao lado do valor da propriedade. Seguindo os passos acima, altere as propriedades dos objetos do nosso formulrio, de acordo com a tabela: Objeto Formulrio Nome (propriedade Name) frmHello Outras Propriedades = Valor Caption = Hello, World! Icon = FACE05.ICO (obs.: os cones do VB normalmente so encontrados na pasta C:\Arquivos de Programas\Microsoft Visual Studio\Commom\Graphics\Icons, e o arquivo citado est na subpasta Misc) Caption = Im Happy! Caption = Im Ok Caption = Im Sad Picture = FACE03.ICO Visible = False Appearance = 0 Flat BorderStyle = 0 None Picture = FACE02.ICO Visible = False Appearance = 0 Flat BorderStyle = 0 None Picture = FACE04.ICO Visible = False Appearance = 0 Flat BorderStyle = 0 None Caption = (em branco) Font = Times New Roman, Negrito, tamanho 12 Caption = Font = Times New Roman, Negrito, tamanho 12 Caption = Font = Times New Roman, Negrito, tamanho 12 Caption = &Exit Style = 1 Graphical Picture = TRFFC14.ICO (procure na subpasta Traffic do diretrio de cones do VB)

Boto de opo Boto de opo Boto de opo Caixa de figura

optHappy optOk optSad picHappy

Caixa de figura

picOk

Caixa de figura

picSad

Label Label Label

lblHappy lblOk lblSad

Boto de comando cmdExit

Note que usamos o caracter & na definio da propriedade Caption do boto cmdExit. Fazemos isso quando queremos habilitar o acionamento de um controle pela tecla ALT. No formulrio, o rtulo do boto Exit com a letra E sublinhada, indicando que podemos acion-lo atravs da combinao de teclas ALT+E. Verifique se voc fez tudo corretamente, comparando seu formulrio com o exemplo abaixo:

Microsoft Visual Basic 6

12

Bem, vamos conhecer melhor as propriedades que usamos nesses controles, e algumas outras interessantes:

Propriedade Caption
Uma boa traduo para Caption rtulo: para um formulrio, Caption determina o texto que ser exibido na barra de ttulo, e tambm abaixo do cone do aplicativo, se ele for minimizado. Para um controle, determina o texto exibido dentro ou prximo a ele. Quando um objeto criado o contedo de Caption igual ao nome padro atribudo pelo VB ao controle.

Propriedade Picture
A propriedade Picture determina o nome de um arquivo grfico para ser exibido pelo controle. Como voc j viu, podemos escolher o arquivo grfico desejado em uma janela de dilogo que aberta quando clicamos no boto com ... (reticncias) exibido por Picture. Os formatos grficos suportados pelo VB 4 so: cones (arquivos de extenso ICO), Windows Metafile (extenso WMF o formato dos cliparts do Word), Bitmap (extenso BMP o formato dos arquivos criados pelo Paint do Windows), e arquivos JPG e GIF (muito usados em pginas da Internet). No caso do boto de comando, Picture s tem efeito se a propriedade Style for igual a 1 Graphical.

Propriedade Style
Essa propriedade indica o estilo da aparncia do controle. No caso dos botes de comando, os valores possveis so 0 Standard e 1 Graphical. Na prtica, a diferena que, alterando o estilo do CommandButton para Graphical, ser permitida a exibio de cones, enquanto que em Standard somente texto poder ser exibido por ele. Vrios controles possuem a propriedade Style, sendo que os valores possveis variam de um tipo para outro.

Propriedade Visible
Como o prprio nome indica, essa propriedade define se um controle deve ou no estar visvel em um determinado momento. Ela s pode assumir os valores True (verdadeiro) ou False (falso);

Propriedade Enabled
No usamos essa propriedade em nosso projeto, mas vamos cit-la agora para evitar confuses com Visible. Voc j reparou quando abre uma janela qualquer do Windows e aparece um boto ou uma opo de menu cujo rtulo est com uma cor mais apagada , indicando que aquele controle no est acessvel no momento? A propriedade Enabled quem faz isso: ela habilita (quando True) ou no (quando False) o acesso ao controle em um determinado momento. Um exemplo: voc cria um boto Ok para ser utilizado quando forem fornecidos alguns valores necessrios para se realizar um clculo. Voc pode usar Enabled para desabilitar o boto Ok at que o usurio tenha fornecido esses valores, pois s depois disso ele poder us-lo.

Propriedade Appearance
A propriedade Appearance define a aparncia do controle no formulrio. Ela s pode ser modificada em tempo de projeto, e normalmente s pode assumir dois valores: 0 Flat (o controle ter a mesma aparncia do formulrio, no haver destaque) ou 1 3D (o controle ser exibido em perspectiva 3D).

Propriedade BorderStyle
Essa propriedade normalmente aplicada ao formulrio, e, como o prprio nome indica, define o estilo de sua borda. Existem seis tipos de bordas, sendo que alguns controles tambm possuem a propriedade BorderStyle, mas no todos os tipos. Os tipos de bordas so os seguintes: 0 None (Nenhuma); 1 - Fixed Single (Fixa Simples): indica que o formulrio no ser dimensionvel, ou seja, o usurio no poder alterar o tamanho no formulrio em tempo de execuo. 2 Sizable (Dimensionvel); 3 - Fixed Dialog (Dilogo Fixo): o formulrio no possuir os botes Maximizar e Minimizar, e, alm disso, no ser dimensionvel. o estilo da borda das caixas de dilogo do Windows;

Microsoft Visual Basic 6

13

4 - Fixed ToolWindow (Ferramenta Fixa): esse tipo no possui o menu de controle e os botes Maximizar e Minimizar. No dimensionvel, e mostra somente o boto Fechar e a barra de ttulo com a fonte reduzida. Alm disso, o formulrio no aparece na barra de tarefa do Windows. 5 - Sizable ToolWindow (Ferramenta Dimensionvel): semelhante a Fixed ToolWindow, s que dimensionvel.

Propriedade StartUpPosition
Aplicada ao formulrio, essa propriedade determina sua posio na tela do computador quando for acionado. Os valores possveis so: 0 Manual: a posio inicial ser a mesma que o formulrio ocupa em tempo de projeto; 1 Center Owner: a posio inicial ser o centro do formulrio principal da aplicao, quando temos mais de um formulrio no projeto; 2 Center Screen: a posio inicial ser o centro da tela do computador; 3 Windows Default: o Windows determinar a posio inicial do formulrio.

Propriedade Font
A propriedade Font permite a formatao da fonte usada nas propriedades Text e Caption. Quando voc clica em Font, aberta a janela de formatao de fontes do Windows, de modo que voc poder aplicar fonte, tamanho e efeitos ao texto das propriedades citadas. Essa propriedade no pode ser alterada em tempo de execuo, mas para isso o VB fornece algumas propriedades relacionadas a Font, que so as seguintes: FontBold (Negrito), FontItalic (Itlico), FontStrikethru (Riscado) e FontUnderline (Sublinhado): podem assumir os valores True (liga o efeito) ou False (desliga o efeito); FontName (Nome da Fonte): indica o nome da fonte a ser aplicada ao controle; FontSize (Tamanho da Fonte): recebe um valor numrico referente ao tamanho a ser aplicado em uma fonte True Type. Obs.: com exceo de Font, essas propriedades s podem ser alteradas em tempo de execuo.

Codificao dos eventos


Essa a etapa na qual vamos agora fazer nosso programa funcionar. Como j foi dito anteriormente, o Visual Basic uma linguagem orientada a eventos, o que quer dizer que os objetos respondem a eventos que contm a codificao necessria. Cada evento contm uma subrotina (ou procedure) associada a ele. Ou seja, a codificao ser feita em procedures de acordo com a ao que o programa dever executar quando um determinado evento ocorrer. Antes de escrever uma procedure, voc precisa dizer ao VB para qual objeto deseja escrev-la. A maneira mais simples de se fazer isso dando um duplo click sobre o objeto desejado, e a janela Cdigo (Code) ser apresentada. Na janela Cdigo temos trs destaques: Quando aberta, a janela Cdigo apresenta a procedure correspondente ao evento padro do objeto. Por exemplo: o evento padro de um boto de comando o Click, portanto quando abrirmos a janela Cdigo de um boto de comando o evento que aparecer ser o Click. Porm, no caso do evento padro no conter nenhuma codificao, mas outro qualquer sim, ento a janela ser aberta nesse outro evento; Na parte superior da janela temos duas caixas de combinao. A da esquerda, chamada Object, contm os nomes de todos os objetos do nosso formulrio, e da direita, chamada Proc, uma lista com todas as procedures associados ao objeto atualmente selecionado; Existe uma opo na caixa Object chamada General, que a princpio s contm uma procedure, chamada Declarations. Esse no um objeto, e sim uma Seo: uma parte do programa onde so escritas instrues especiais, como declarao de variveis e funes de uso geral. Quando estamos programando em VB, freqente a necessidade de se modificar o valor das propriedades dos objetos em tempo de execuo. Para fazer isso, o VB refere-se s propriedades de um objeto da seguinte maneira:
Objeto.Propriedade = <valor>

Microsoft Visual Basic 6

14

Mas vamos fazer a codificao do nosso projeto. Comecemos pelo boto cmdExit: para escrever o cdigo necessrio ao seu funcionamento, siga os seguintes passos: 1. D um duplo click sobre o boto cmdExit: a janela Cdigo se abre no evento Click:

2. Escreva o seguinte cdigo:


Private Sub cmdExit_Click() End End Sub

A primeira linha da procedure indica seu nome cmdExit_Click e sua classe Private (privada). A ltima linha indica o fim da procedure, atravs do comando End Sub. Entre o nome da procedure e o comando End Sub que escrevemos a codificao necessria, que nesse caso resumiu-se ao comando End (que nome sugestivo, no?), cuja funo encerrar a execuo do programa. Vamos agora testar nosso programa. Para isso, basta clicar no boto Start da barra de ferramentas ou ento pressionar a tecla F5. Teste o funcionamento de seu aplicativo: se tudo foi feito corretamente, quando voc clicar no boto Exit o programa ser encerrado e voc retornar ao VB. Uma observao: quando estamos criando um formulrio ou escrevendo cdigo dizemos que estamos em tempo de projeto; quando estamos executando um programa dizemos que estamos em tempo de execuo. Essa diferenciao importante, pois existem algumas propriedades que no podem ter seu valor alterado em tempo de execuo.

Planejando a codificao
Planejamento a palavra chave para ns, programadores, quando chegamos na fase de escrever a programao do aplicativo. Antes de comear a codificao de um programa voc precisa saber o que ele deve fazer e quando: identificar quais os eventos que podem ser acionados pelo usurio e como eles vo influenciar a execuo do aplicativo, para poder assim program-los de maneira a chegar ao resultado desejado. Vamos ento planejar nosso primeiro aplicativo: Temos em nosso formulrio trs botes de opo, que serviro para indicar nosso humor matinal ; Temos tambm trs caixas de figura, inicialmente invisveis, cada uma delas contendo uma carinha diferente, e trs Labels que no contm texto nenhum; Quando clicarmos em um boto qualquer, a figura e o texto correspondente a ele devero aparecer, e a figura e o texto dos outros botes no devero mais ser exibidos; Voc j deve ter percebido que o evento que vamos trabalhar o Click dos botes de opo, pois ele que vai gerar as aes necessrias para cumprirmos nosso planejamento. Agora que j sabemos o que fazer, vamos escrever a codificao para isso: 1. D um duplo-click no boto de opo optHappy. A janela Cdigo ser aberta e a procedure optHappy_Click exibida; 2. Digite os comandos indicado:
Private Sub optHappy_Click() picHappy.Visible = True picOk.Visible = False picSad.Visible = False lblHappy.Caption = "I'm going to Disneyworld!" lblOk.Caption = Empty lblSad.Caption = Empty End Sub

Microsoft Visual Basic 6

15

Obs.: Empty uma funo do VB que retorna uma string vazia (nula). 3. D um click na lista Object e escolha o objeto optOk. Se a procedure exibida pela janela Cdigo no for a optOk_Click, selecione-a na lista Proc; 4. Digite a procedure:
Private Sub optOk_Click() picHappy.Visible = False picOk.Visible = True picSad.Visible = False lblHappy.Caption = Empty lblOk.Caption = "I'm Ok today." lblSad.Caption = Empty End Sub

5. Selecione agora o objeto optSad e a procedure optSad_Click, e escreva o cdigo para ela (voc pode usar os recursos de copiar e colar do Windows):
Private Sub optSad_Click() picHappy.Visible = False picOk.Visible = False picSad.Visible = True lblHappy.Caption = Empty lblOk.Caption = Empty lblSad.Caption = "Goodbye, cruel world..." End Sub

6. Pressione F5 para executar o programa. Se voc digitou tudo corretamente, o VB exibir seu formulrio na tela, como no exemplo a seguir:

7. D um click no boto com o rtulo I m Happy e veja se o resultado o esperado:

Microsoft Visual Basic 6

16

8. Verifique o funcionamento dos outros botes de opo. Se algo estiver errado, confira a codificao e execute o aplicativo novamente.

Criando um arquivo executvel


O ltimo passo de qualquer projeto a criao do arquivo executvel. Ou voc vai entregar para o cliente os arquivos que o compem? Alm das razes monetrias bvias, voc no vai correr o risco de um curioso qualquer alterar ou copiar o cdigo que voc tanto suou para criar, vai? Alm disso, se voc no criar um executvel, o cliente dever possuir um cpia do VB instalada em sua mquina para poder rodar o aplicativo, o que no l muito prtico. A criao de arquivos executveis feita pela opo Make <nome do projeto>.exe do menu File: 1. Escolha a opo Make hello.exe do menu File do VB. Uma caixa de dilogo ser exibida, onde voc dever informar o nome do arquivo executvel, caso queira mud-lo. Aps indicar o nome, clique em Ok; 2. Crie um atalho para o arquivo executvel na rea de trabalho do Windows. Veja que, como cone do atalho, ser exibida a carinha feliz .

Package and Deployment Wizard


A criao do executvel, apesar de importante, ainda no suficiente para a distribuio de uma aplicao desenvolvida em VB. Como voc sabe, o Windows um sistema composto de inmeros arquivos e programas, cada qual com sua funo especfica, sendo que alguns so necessrios para a execuo de aplicativos. Alm disso, o programa escrito em VB no tem o poder de rodar sozinho, mesmo aps a criao do mdulo executvel: para funcionar, necessita de algumas bibliotecas chamadas de run-time, e dos arquivos OCX que esto gravados no diretrio do Windows. Chamamos a esses arquivos de dependncias. Mas, como saber quais so as dependncias de um aplicativo? Um dos utilitrios que acompanham o VB em suas verses comerciais o Package and Deployment Wizard, cuja funo justamente resolver esse problema. Ele cria um programa de instalao para sua aplicao, que vai copiar para a mquina onde o programa for instalado todos os arquivos de run-time, DLL s e OCX s que ele precisar, da mesma maneira que em um aplicativo comercial. O uso desse utilitrio muito simples:

Microsoft Visual Basic 6

17

1. Na caixa Select Project, selecione o projeto para o qual deve ser criado o programa de instalao; 2. Clique no boto Package para iniciar o assistente; 3. Voc dever responder algumas perguntas (por exemplo, o nome da opo que ser criada no menu Iniciar do Windows) sendo que para a maioria delas no necessrio fazer qualquer alterao. Devemos porm destacar uma delas na qual deve-se indicar, se for o caso, o nome dos arquivos externos ao projeto que tambm precisam ser copiados. O caso mais comum o de arquivos de banco de dados, quando da primeira instalao do aplicativo; 4. Depois que voc responder essas perguntas, dever indicar em que unidade e (se for o caso) em que pasta onde devem ser gravados os arquivos da instalao. Se voc indicar uma unidade de disquetes, o Wizard criar os disquetes de instalao automaticamente; 5. Pronto, o Wizard resolve todas as dependncias e cria o programa de instalao para voc.

Microsoft Visual Basic 6

18

Lio 2: Entrada e Sada de Dados


Entrada e sada so dois conceitos importantssimos em Processamento de Dados, pois envolvem a interao do usurio com a mquina: por entrada, entende-se toda solicitao ou fornecimento de dados ao computador pelo operador, e por sada, o retorno pelo computador do resultado obtido. Nessa lio voc vai aprender a implementar esses dois conceitos em seus programas.

Caixas de Texto
Em programao visual, existem vrias maneiras de se permitir a entrada de dados, mas a principal o uso das caixas de texto (TextBox). Seu evento padro o Change, que ocorre sempre que acontece uma digitao, e a propriedade principal a Text. Vejamos ento algumas propriedades importantes:

Propriedade Text
A propriedade Text de uma caixa de texto armazena o texto contido na rea de edio. Ela pode ser alterada pelo usurio em tempo de execuo, o que permite ento a digitao de dados no programa. Como a propriedade Text armazena textos, quando houver a necessidade do dado a ser digitado ser numrico teremos que converter seu contedo usando funes especficas para esse fim.

Propriedade MaxLength
Essa propriedade serve para determinar o tamanho mximo em caracteres do dado digitado em uma caixa de texto. Por exemplo: sabendo que a digitao em uma caixa de texto chamada txtNome no pode ter mais de 30 caracteres, determinamos para a MaxLength de txtNome o valor 30. Se MaxLength no for definida, o valor padro zero, e no haver limite para a digitao no campo.

Propriedade Multiline
A funo dessa propriedade permitir ou no a digitao de mais de uma linha em uma caixa de texto. Os valores possveis so True (Multiline habilitada) ou False. Com MuliLine = True, quando Enter for pressionada, a digitao passa para a prximo linha. Alm disso, a propriedade Alignment de uma caixa de texto s funciona de Multiline estiver habilitada.

Propriedade PasswordChar
Eis uma propriedade muito interessante: voc j digitou uma senha em um programa qualquer em que aparece na caixa um caractere especial (normalmente um * ) ao invs daquele digitado? Quem faz isso PasswordChar: basta informar em seu valor o caracter desejado, e o efeito ser exatamente esse.

Propriedades ForeColor e BackColor


A propriedade ForeColor define a cor da fonte usada no texto exibido pelo controle, e BackColor indica a cor do fundo de um objeto. Essas propriedades recebem como valor um cdigo numrico ou hexadecimal que representa a cor desejada. Em tempo de projeto, para alter-las a maneira mais simples clicar sobre a propriedade que deve ser modificada e depois no boto com as reticncias que aparece ao lado do cdigo da cor atual. Uma janela com as opes de cores disponveis se abre e basta escolher a que mais lhe agrade. Para alterar seus valores em tempo de execuo, so usadas as funes RGB e QBColor, que estudaremos mais adiante. Para exemplificar o uso das TextBoxes, vamos elaborar o projeto de uma calculadora simples: 1. Inicie um novo projeto; 2. Dimensione o formulrio e insira os controles necessrios de modo a ficar parecido com o modelo da prxima pgina;

Microsoft Visual Basic 6

19

3. Altere as propriedades dos objetos: Objeto Formulrio Caixa de Texto Caixa de Texto Caixa de Texto Label Nome frmCalculadora txtNum1 txtNum2 txtResultado lblMultiplicao Outras Propriedades = Valor Caption = Calculadora BorderStyle = 1 Fixed Single StartUpPosition = 2 Center Screen Text = (em branco) MaxLenght = 10 Text = MaxLenght = 10 Text = Caption = X (maisculo) Font = Arial, Negrito, tamanho 16 Style = 1 Graphical Picture = Misc\MISC22.ICO Caption = &Limpar

Boto de Comando cmdIgual Boto de Comando cmdLimpar

Nesse projeto, digitaremos um nmero em txtNum1 e outro em txtNum2. Quando clicarmos em cmdIgual, o resultado da multiplicao aparecer em txtResultado. Para limpar as caixas de texto, clicaremos em cmdLimpar. O projeto ir trabalhar, portanto, basicamente com dois eventos: Click em cmdIgual (=) Click em cmdLimpar (Limpar) No se preocupe com o clculo agora, pois voltaremos a esse assunto na prxima lio. Vamos ento escrever a codificao do nosso programa: 1. D um duplo click no boto cmdIgual e entre com o seguinte cdigo:
Private Sub cmdIgual_Click() vValor1 = Val(txtNum1.Text) vValor2 = Val(txtNum2.Text) txtResultado.Text = vValor1 * vValor2 End Sub

2. Alterne para a procedure cmdLimpar_Click e digite os comandos a seguir:


Private Sub cmdLimpar_Click() txtResultado.Text = Empty txtNum1.Text = Empty txtNum2.Text = Empty End Sub

3. Execute o projeto. Para testar, entre com um nmero qualquer em txtNum1, outro em txtNum2, d um click no boto = , e o resultado da multiplicao aparecer em txtResultado; 4. Grave o formulrio como frmCalc e o projeto como Calc. Obs.: voc deve ter percebido que na codificao foram usados alguns recursos novos: por enquanto, o que nos interessa que vValor1 e vValor2 so variveis, e Val uma funo de converso.

Sada de Dados
Voc j usou na lio anterior um dos principais meios de exibio de dados do VB: o controle Label. Ele tem, nesse caso, uma vantagem muito grande sobre as caixas de texto, fcil de perceber: execute novamente

Microsoft Visual Basic 6

20

o programa Calc, faa um clculo qualquer e clique com o mouse sobre a caixa de texto txtResultado. Agora escreva alguma coisa: a digitao aceita, o que, convenhamos, no l muito recomendvel para a exibio de dados. J um label no permite digitao, resolvendo esse problema. Vamos ento alterar nosso programa: 1. Apague do formulrio a caixa txtResultado; 2. Inclua um label em seu lugar, e altere suas propriedades para: Name = lblResultado Caption = (em branco) Alignment = 2 Center BorderStyle = 0 None BackStyle = 1 Opaque BackColor = (clique nas reticncias e escolha a cor branca) 3. Altere a ltima linha da procedure cmdIgual_Click para:
lblResultado.Caption = vValor1 * vValor2

4. Altere a primeira linha da procedure cmdLimpar_Click para:


lblResultado.Caption = Empty

5. Execute o programa, faa um clculo qualquer e tente alterar o resultado: como o label no permite digitao, isso no mais possvel.

Sada Formatada
muito comum a necessidade de se aplicar mscaras para a exibio dos dados. Isso fica claro quando, em nossa calculadora, um clculo resulta em um valor alto, pois no existem separadores de milhar ou decimal. O VB possui algumas funes especficas para a formatao de dados de sada:

Funo Format
A funo Format usada na aplicao de mscaras em dados numricos ou datas. Sua sintaxe a seguinte:
Format(<expresso>,<formato>)

Onde Expresso o dado a ser formatado e Formato a mscara que ser aplicada a ele, e o resultado ser uma string correspondente expresso formatada com a mscara. Veja alguns exemplos: Formato 0 0,00 #,##0 #,##0.0 $#,##0;($#,##0) $#,##0.00;($#,##0.00) 0% 0.00E+00 5 positivo 5 5,00 5 5,0 $5 $5,00 500% 5,00E+00 5 negativo -5 -5,00 -5 -5,0 ($5) ($5,00) -500% -5,00E+00 5 decimal 1 0,50 1 0,5 $1 $0,50 50% 5,00E-1

Em formato o nmero 0 ser mostrado ou trocado pelo caractere em sua posio, j o sustenido (#) no ser mostrado. Podemos usar smbolos na mscara, como no exemplo: $ , % e E (que representa exponenciao). Note que a separao de milhares e decimais na mscara deve ser feita no padro americano, ou seja, , para separao de milhares e . para decimais, mas o resultado vai seguir as configuraes feitas na opo Internacional do Painel de Controle do Windows. Format tambm pode ser usada para formatao de data e hora: Formato d/m/yy dd-mm-yyyy dd-ddd hh:mm AM/PM h:mm:ss a/p d/m/yy h:mm Exibio 10/7/96 01-Jun-1996 02-Dom 08:50 AM 8:50:20 a 03/12/95 9:30 Formato General Date Long Date Medium Date Short Date Long Time Medium Time (12 horas) Short Time (24 horas) Exibio 06/09/96 9:40:18 Sexta, 9 de setembro de 1996 09-set-96 09/09/96 9:40:19 09:40 AM 09:40

Microsoft Visual Basic 6

21

Funes UCase e LCase


Essas funes so usadas na converso de textos em letras maisculas (UCase) ou minsculas (LCase).

Funo StrConv
A funo StrConv tambm usada na formatao de strings, mas mais flexvel que UCase e LCase, pois recebe um parmetro que indica como deve ser feita a converso de maisculas para minsculas e viceversa. Esse parmetro pode ser: 1 vbUpperCase: converte a string em caracteres maisculos. O mesmo que UCase; 2 vbLowerCase: converte a string em caracteres minsculos. O mesmo que LCase; 3 vbProperCase: converte em letra maiscula a primeira letra de cada palavra na seqncia de caracteres, e as demais em minsculas. Por exemplo: Funo UCase( MICROSOFT Visual basic ) ou StrConv( MICROSOFT Visual basic , vbUpperCase) LCase( MICROSOFT Visual basic ) ou StrConv( MICROSOFT Visual basic , vbLowerCase) StrConv( MICROSOFT Visual basic , vbProperCase) Vamos alterar a exibio do resultado na calculadora: 1. Abra a janela Cdigo no evento Click do boto cmdIgual; 2. Altere a ltima linha da procedure como segue:
lblResultado.Caption = Format(vValor1 * vValor2, ###,##0.00)

Exibio MICROSOFT VISUAL BASIC microsoft visual basic Microsoft Visual Basic

3. Execute o programa e teste a alterao; 4. Grave seu trabalho. Guarde-o com cuidado, pois esse projeto ser usado novamente na prxima lio.

Microsoft Visual Basic 6

22

Lio 3: Fundamentos da Linguagem


Como j foi dito anteriormente, a programao em VB feita atravs de uma verso da linguagem Basic estruturada. essa linguagem que comearemos a estudar a partir de agora. Nessa lio, veremos a criao e o uso de variveis e constantes, e a razo da existncia dos computadores: clculos. Estudaremos tambm um conceito muito importante em programao visual: o foco.

Variveis
Varivel uma rea da memria que identificamos com um nome e onde podem ser guardados dados com possibilidade de alterao em tempo de execuo. O nome de uma varivel pode ter at 255 caracteres, deve comear com uma letra e tem que ser nico. O nome pode conter nmeros e sublinhados, e no pode ser uma palavra reservada. Nesse texto adotaremos como padro iniciar todos os nomes de variveis com a letra v . Por exemplo: para uma varivel que identifica uma quantidade poderemos adotar o nome vQuantidade. Existem vrios tipos de variveis, dependendo do dado que queremos que ela armazene: Tipo Byte Boolean Date Integer Long Single Double Currency String Variant Tamanho (Bytes) 1 2 8 2 4 4 8 8 varivel varivel Sufixo nenhum nenhum nenhum % & ! # @ $ nenhum Faixa de Dados 0 a 255 True (-1) ou False (0) 1/Jan/100 a 31/Dez/9999 -32.768 a 32.767 -2.147.483.647 a 2.147.483.647 -3,402823E38 a -1,401298E-45; 1,401298E-45 a 3,402823E38 -1,79769313486232E308 a -4,94065645841247E-324; 4,94065645841247E-324 a 1,79769313486232E308 -922.337.203.685.477,5808 a 922.337.203.685.477,5807 Qualquer dado alfanumrico Qualquer tipo de dado: ser assumido o tipo e tamanho mais apropriado ao dado a ela atribudo

A coluna Sufixo contm caracteres que servem para indicar o tipo da varivel desejada, quando a usamos pela primeira vez. Por exemplo: para iniciar uma varivel de nome vTroco e declar-la como sendo do tipo Currency, poderemos usar a linha de comando:
vTroco@ = 0

Uma observao: internamente, o tipo Date um nmero do tipo Long que representa uma data, sendo que a parte inteira desse nmero indica a data propriamente dita, e a parte decimal a hora.

Declarao de Variveis
Declarar uma varivel indicar ao VB que deve ser reservada uma rea na memria para o armazenamento de um dado, e de que tipo ser esse dado. Existem trs maneiras de declarar variveis: 1. Inicializar a varivel onde ela for necessria. Como o VB no obriga a declarao de variveis, podemos simplesmente atribuir um valor a ela e a varivel assumir o tipo mais adequado para o dado que est sendo armazenado: o que chamamos de declarao implcita; 2. Usar o mesmo mtodo acima, porm indicando o tipo da varivel atravs dos sufixos, na primeira vez em que a utilizarmos; 3. Usar os comandos Dim, Static, Private ou Public para alocar o espao na memria para a varivel e indicar seu tipo. A sintaxe a mesma para todos os comandos:
<comando> Varivel1, Varivel2, Varivel3, ..., VarivelN As <tipo>

Tambm podemos obrigar a declarao de todas as variveis de uma aplicao, o que muito interessante, pois declarar variveis uma prtica de programao altamente recomendvel. Para isso usamos o comando Option Explicit na seo Declarations do formulrio ou mdulo de programao.

Microsoft Visual Basic 6

23

Escopo das Variveis


Escopo so os pontos da aplicao de onde podemos acessar a varivel. O escopo de uma varivel determinado pelo comando usado em sua declarao (Dim, Static, Private ou Public): Variveis Locais: so reconhecidas apenas pela procedure na qual foram declaradas. Diferentes procedures podem ter variveis locais com o mesmo nome sem que isso cause conflitos, pois quando uma procedure encerrada o contedo de suas variveis locais ser perdido. A declarao de variveis locais feita com os comandos Dim ou Private. Importante: variveis com declarao implcita sero sempre locais; Variveis Estticas: so variveis locais cujo contedo ser retido ao trmino da procedure. Nesse caso, quando a procedure que contm uma varivel esttica for executada novamente, a varivel no ser reinicializada e seu contedo ser o mesmo que ela continha quando a procedure foi encerrada da ltima vez. Para declarar uma varivel como esttica usa-se o comando Static; Variveis Privadas: compartilham informaes entre todas as procedures em um mdulo de programao ou formulrio, mas no para outros mdulos ou formulrios. A declarao de variveis privadas feita com os comandos Dim ou Private na seo Declarations de um formulrio ou mdulo de programao; Variveis Pblicas: esto disponveis para todos os mdulos de programao e formulrios do aplicativo. Para a declarao de variveis pblicas usamos o comando Public. Obs.: por uma questo de compatibilidade com verses anteriores do VB, tambm pode ser usado o comando Global para declarao de variveis pblicas.

Inicializao de Variveis
De modo geral, para inicializar uma varivel basta atribuir um contedo a ela. Obviamente, esse contedo deve ser compatvel com o tipo usado na declarao da varivel. Para dados numricos basta indicar o valor desejado:
vSalrioBase = 1200

Valores reais devem usar o ponto para separao da parte decimal, jamais a vrgula, mesmo que a configurao do Painel de Controle do Windows indique o contrrio:
vPi = 3.1416

Dados tipo String devem vir entre aspas:


vNomeEscola = CEMEP

Dados tipo Date so identificados pelo caracter # (sustenido) no seu incio e fim. Por exemplo: para armazenar a data 15/07/1998 em uma varivel, podemos usar o comando:
vDataCurso = #15/07/1998#

Constantes
Constantes tambm so posies de memria que tm as mesmas caractersticas das variveis e podem ser dos mesmos tipos, mas, como o prprio nome indica, no podem ter seu valor alterado durante a execuo do programa. So teis para guardar parmetros e valores que sero usados em vrias procedures do sistema, pois com elas podemos centralizar a atribuio desses valores em alguns poucos locais, o que facilita muito a programao. Por exemplo: quando um cliente compra um sistema, obviamente pretende que o nome de sua empresa aparea nos relatrios emitidos por ele. Se voc incluir o nome da empresa em cada programa de relatrio, e depois vender esse sistema para outro cliente, ter que rastre-lo todo a procura dessas ocorrncias e fazer as alteraes necessrias. Mas, se voc definir uma constante pblica no incio do sistema contendo o nome da empresa, s ter que fazer uma alterao. Constantes s podem ser declaradas com os comandos Public (constantes pblicas) ou Private (constantes privadas ou locais). A sintaxe usada na sua criao :
<escopo> Const NomeDaConstante As <tipo> = <valor>

Por exemplo:
Public Const Pi As Single = 3.1415926535

Microsoft Visual Basic 6

24

Constantes de Sistema
O VB possui diversas constantes pr-definidas, chamadas de Constantes de Sistema, que podem ser usadas a qualquer momento pelo programador. A principal vantagem de seu uso a clareza da codificao e a conseqente facilidade de manuteno. Um bom exemplo do uso desse tipo de constante o de uma aplicao que trate com dias da semana. Se a comparao do nmero do dia da semana de uma data com 1 for verdadeira, saberemos que esse dia um domingo, pois o VB identifica um domingo pelo valor 1. Existe uma constante de sistema, de nome vbSunday, cujo valor 1, que foi criada justamente para ser usada em casos como esse: ao invs do programador comparar o dia da semana com 1 e ter que se lembrar a toda hora que 1 domingo, pode comparar com vbSunday, e seu cdigo ficar muito mais legvel. A lista completa das constantes de dias da semana a seguinte: Constante vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday Valor 1 2 3 4 5 6 7 Dia da semana Domingo Segunda Tera Quarta Quinta Sexta Sbado

Um observao importante que uma constante de sistema facilmente identificvel, pois seu nome geralmente comea com vb repare na tabela acima. Voc tambm j viu algumas delas na lio anterior, quando estudamos a funo StrConv: os valores vbUpperCase, vbLowerCase e vbProperCase so constantes de sistema cujos valores so, respectivamente, 1, 2 e 3. Estudaremos mais algumas delas durante o curso.

Funes de Converso
Como j vimos anteriormente, a entrada de dados feita pelas caixas de texto, obrigando o uso de conversores quando houver necessidade do dado ser numrico ou data. Os conversores so funes que recebem dados de um tipo e os convertem em outro. Cada tipo de converso tem uma funo correspondente. Por exemplo: no podemos usar um conversor de string para Byte se sabemos que o texto representa um valor maior que 255, pois esse o valor limite do tipo Byte: o tamanho do dado no ser suportado na converso. A tabela a seguir mostra as funes para converso de dados tipo String em numricos. Considere que a vari-vel vPi contm um texto correspondente ao valor de ( 3.1415926535 ): Funo/Sintaxe Val(<string>) CInt(<string>) CLng(<string>) CSng(<string>) CDbl(<string>) CCur(<string>) Exemplo Val(vPi) Cint(vPi) CLng(vPi) CSng(vPi) CDbl(vPi) Ccur(vPi) Tipo Resultante Long Integer Long Single Double Currency Resultado da converso 3 3 3 3.14159 3.1415926536 3.1416

Observao: as funes Val e CLng diferem-se na converso de um dado no numrico: Val a nica funo que consegue tratar um dado String que no represente um valor. Nesse caso, ela retornar zero. As outras funes, inclusive CLng, geram um erro de execuo se forem usadas para esse tipo de converso. A converso de um dado tipo String em uma data feita pela funo CDate. Essa funo tambm gera um erro de execuo se o texto a ser convertido no representar uma data vlida. Veja sua sintaxe e um exemplo de utilizao:
CDate(<data>) ' Define a data: vDia = "12/02/1969" ' Converte vDia para vDataNasc, do tipo Date. vDataNasc = CDate(vDia)

Obs.: as linhas iniciadas com o apstrofo ('so comentrios. )

Você também pode gostar