Você está na página 1de 101

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Marcelino Macdo

-1-

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Marcelino Macdo

-2-

Apostila de Visual Basic 6 Curso passo a passo para iniciante Aula 01 - Visual Basic e seu ambiente de desenvolvimento Caso voc j tenha alguma experincia anterior em programao, principalmente sendo esta sobre a plataforma DOS, ter que se acostumar com a idia de que, a programao Procedural no ser utilizada, substituindo a mesma pela programao ditada por eventos. Neste caso, para se programar em Windows, independente de ser no Visual Basic ou no Delphi, por exemplo, entender sua lgica. Este ser nosso objetivo a seguir: Em uma programao ditada por eventos, temos basicamente trs fatores que temos que considerar:

Janelas : o veculo usado como sada pelo Windows para a comunicao com o usurio e esta poder ter diversos formatos, como por exemplo, uma janela do tipo "dilogo de mensagem", como a que utilizada pelo Windows para efetuar o Log-Off de um usurio. Eventos : As janelas, para que desempenhem um papel, devem responder a eventos. Mas o que so eventos? Veja um exemplo ... quando voc clicou no quadrado representado por um "x", disparada uma ao, neste caso a de fechar a janela. No exemplo dado, a janela respondeu a um evento, disparado pelo clique do mouse em um determinado local desta.

Mensagens : Ao acionar um determinado evento, uma mensagem dever ser enviada para o sistema operacional, solicitando uma determinada ao. Com base no que vimos at este ponto, podemos concluir que uma aplicao orientada por eventos dever responder a aes do usurio ou da prpria aplicao. Quando estamos em um ambiente de desenvolvimento grfico, iremos trabalhar muitas vezes apenas inserindo componentes dentro do(s) formulrio(s). Estes componentes, devero responder a eventos, e estes eventos que sero codificados pelo programador. Ao inserir um componente em uma janela, automaticamente parte da codificao do mesmo automaticamente acrescentada fonte do aplicativo, por isso dado o termo VISUAL. Um componente um objeto, como por exemplo um boto ou um Grid. Este objeto, possui vrios eventos, que por sua vez so executados em determinadas sequncias, sendo que o programador, dever ter conhecimentos e a lgica necessria a identificao dos eventos que devero ser programados. Pelo que observarmos at este ponto, no ambiente Windows, a programao alm de ser orientada a eventos, baseada na utilizao de objetos, ou seja, componentes usados na confeco da interface grfica de uma determinada aplicao. Quando carregamos o VB na memria, ou seja, executamos o mesmo, apresentada inicialmente a seguinte janela na tela do seu micro:

Nesta janela, voc dever selecionar o tipo de aplicativo que ser gerado. Poderemos escolher desde um novo projeto ou aplicativo, at o desenvolvimento de um controle ActiveX ( iremos falar a respeito mais

Marcelino Macdo

-3-

Apostila de Visual Basic 6 Curso passo a passo para iniciante adiante ). Para um usurio iniciante, aconselhamos a escolha de um novo projeto, ou seja, a opo STANDARD EXE, que se encontra em destaque na figura acima. Aps este procedimento, basta clicar no boto <ABRIR>. Neste ponto, ser exibida a seguinte janela:

Acima, temos a visualizao do ambiente de desenvolvimento integrado ( IDE ), que na verdade proporciona ao desenvolvedor a possibilidade da escrita de cdigo, insero/controle dos componentes do formulrio, compilao, depurao de cdigo, ou seja, tudo integrado em um nico ambiente de fcil interpretao. Neste ambiente, podemos destacar: O MENU

Dispe dos comandos para diversas finalidades, como salvar um projeto, incluir novos componentes, compilar o projeto, etc... Estas opes esto disponibilizadas atravs de uma ordem lgica e em grupos de ferramentas/utilitrios. A BARRA DE FERRAMENTAS

Nesta barra, o desenvolvedor ter acesso aos comandos de menu mais utilizados, agilizando assim o seu trabalho. A CAIXA DE FERRAMENTAS Na caixa de ferramentas, esto dispostos os diversos componentes (objetos) que sero utilizados na construo da interface de aplicao. O EXPLORADOR DE OBJETOS

Marcelino Macdo

-4-

Apostila de Visual Basic 6 Curso passo a passo para iniciante Tambm conhecido como janela de objetos, responsvel por manter uma relao dos arquivos que compe o seu projeto, ou seja, seria uma espcie de Windows Explorer da aplicao. A JANELA DE PROPRIEDADES Cada componente que compe o seu projeto ( aplicativo que est sendo desenvolvido ), possui caractersticas determinadas por voc. Imagine um boto de comando, este dever ter uma altura e largura, uma cor, uma determinada fonte para o texto que estiver dentro do mesmo, uma aparncia, etc... Isso so propriedades, e as mesmas so controladas nesta janela. Quando selecionarmos um determinado objeto/componente, automaticamente sero exibidas as suas propriedades. O FORMULRIO Na

verdade sobre o formulrio que posicionar os componentes/objetos construindo assim a parte visual de aplicativo. Automaticamente quando inserimos um novo componente/objeto, gerada uma codificao bsica para o mesmo e poderemos trabalhar com os eventos disponveis para este.

iremos nosso

EDITOR

DE

CDIGO

Neste editor, voc ir escrever as linhas de cdigo. Como voc pode observar, no editor, poderemos escolher o componente/objeto a ser trabalhado e o respectivo evento a ser codificado. No grfico acima, temos selecionado o objeto formulrio ( FORM ), no evento "ao carregar" ( LOAD ), ou seja, a codificao que ser realizada quando o formulrio for carregado. Aos poucos iremos nos acostumando com o trabalhado de codificao dos componentes/objetos e seus respectivos eventos. Ao trabalhar com o Visual Basic 6.0, voc poder trabalhar com o Mouse, bem como substituir o mesmo com teclas de atalho. Para tal procedimento, utilize a tabela a seguir: Para a janela de cdigo Combinao do teclado CTRL + BREAK CTRL + DELETE CTRL + DOWN ARROW CTRL + END CTRL + F CTRL + H Utilidade/funo Aborta a execuo de um determinado aplicativo A partir do cursor, remove o restante da palavra Exibe a prxima rotina Move o cursor para o final do mdulo Abre uma janela de dilogo para a procura de expresses Abre uma janela de dilogo para a procura/substituio de expresses

Marcelino Macdo

-5-

Apostila de Visual Basic 6 Curso passo a passo para iniciante CTRL + HOME CTRL + I CTRL + J CTRL + LEFT ARROW CTRL + N CTRL + PAGE DOWN CTRL + PAGE UP CTRL + RIGHT ARROW CTRL + SHIFT + F2 CTRL + SHIFT + F9 CTRL + SHIFT + I CTRL + SHIFT + J CTRL + SPACEBAR CTRL + UP ARROW CTRL + Y CTRL + Z END F1 F2 F3 F7 F8 F9 PAGE UP SHIFT + F8 CTRL + C CTRL + X CTRL + V CTRL + Z TAB F4 Leva o cursor para o inicio do mdulo Ativa a guia de rpida informao Ativa a lista de mtodos e propriedades Leva o cursor para a ltima palavra esquerda da linha Insere uma linha de cdigo em branco Rola o cursor o contedo de uma tela para baixo Rola o cursor o contedo de uma tela para cima Move o cursor uma palavra direita Volta para o ponto mais recente onde o cursor esteve posicionado Remove os breakpoints de execuo Ativa a guia de parmetros Ativa a lista de constantes Remove a palavra esquerda do cursor Exibe a rotina anterior corrente Remove a linha corrente Move o cursor para o final da linha Move o cursor para o final da linha Ativa a ajuda on-line para a palavra que estiver selecionada Abre o object browser Procura pela prxima ocorrncia de uma determinada expresso Abre a janela de cdigo Roda a aplicao no sentido passo a passo Define/remove um breakpoint Retrocede uma pgina de cdigo Roda a aplicao rotina por rotina Teclas de atalho para trabalho no formulrio Copia os controles selecionados para a rea de transferncia Remove os controles selecionados para a rea de transferncia Cola o contedo da rea de transferncia no formulrio Desfaz a ltima operao Avana para o prximo controle na ordem definida pela propriedade TAB Index Exibe a janela de propriedades

Estas so as principais teclas de atalho. No decorrer do curso iremos estudar outras teclas de atalho. Aqui citamos as mais utilizadas. O objetivo desta primeira aula foi o de apresentar o ambiente VB e falar um pouco sobre o mesmo. Na prxima aula iremos comear a gerar nossos primeiros aplicativos. - Aula 02 - A Estrutura de um aplicativo desenvolvido em VB Um aplicativo desenvolvido em Visual Basic, como em outras plataformas de desenvolvimento for Windows, formada por formulrio e mdulos. Estes formulrios possui um respectivo mdulo de cdigo, e este dividido em sees:

Seo que rene o cdigo dos componentes que fazem parte do formulrio e suas respectivas propriedades; Seo de declarao de variveis; Seo de declarao de objetos no visuais que fazem parte do formulrio; Seo com os cdigos das rotinas de eventos.

Marcelino Macdo

-6-

Apostila de Visual Basic 6 Curso passo a passo para iniciante Sendo assim, cada formulrio de sua aplicao possui um bloco de cdigo, divido em sees, cdigos estes escritos para que os componentes/objetos do formulrio respondam a uma determinada ao, ou seja, evento. Os arquivos contendo a estrutura de um formulrio possuem a extenso FRM. Outro arquivo bastante utilizado no VB, so os que possuem a extenso BAS, tambm conhecidos como mdulos e que armazenam sub-rotinas de cdigos de programao que sero utilizados em qualquer formulrio da aplicao. At o momento estamos citando muito o termo objetos, mas voc sabe o que realmente um objeto? Um objeto um conjunto de cdigos de programao e dados que podero ser tratados como se fossem uma unidade. Um objeto poder tambm ter eventos que podero ser programados bem como mtodos que executam uma determinada ao sobre este. Veja na figura a seguir a estrutura de um objeto:

Quando desenvolvemos um projeto em VB, poderemos utilizar os seguintes tipos de objetos:

Aqueles que acompanham o prprio VB e so instalados juntamente com o sistema; Fornecidos por terceiros, que devero ser instalados de acordo com a necessidade de desenvolvimento;

Criados pelo prprio desenvolvedor, quando o mesmo define os seus mdulos de classe. Devemos lembrar sempre que:
As propriedades de um objeto so as caractersticas do mesmo; Os eventos so os cdigos que foram programados com um determinado fim;

Os mtodos so as aes sobre o objeto. Um exemplo comum de objeto so as caixas de texto. Os objetos ficam localizados na caixa de ferramentas, estudada no mdulo de aula anterior. As propriedades de um objeto e seus cdigos podero ser alteradas em duas hipteses: Em tempo de desenvolvimento. Vamos pegar como exemplo, uma caixa de texto. Esta possui um mtodo denominado Drag, que habilita ou no a ao de arrastar e soltar. Pelo que observamos ento at este ponto, ser fundamental escrever cdigos de programao, porm para isso, necessrio que voc conhea o editor de cdigos do Visual Basic. O editor de cdigos do VB, conforme observamos na aula 01, est sendo representado na figura a seguir:

Em tempo de execuo;

Marcelino Macdo

-7-

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Para abrir o editor de cdigos, voc poder proceder das seguintes maneiras: 1. Dando um clique duplo sobre qualquer parte vaga do formulrio; 2. Dando um clique duplo sobre qualquer parte de um objeto/componente; 3. Clicando sobre o boto View Code que est disponvel no Project Explorer. Quando abrimos o editor de cdigo atravs de um clique duplo sobre o formulrio ou sobre um de seus objetos/componentes, o cdigo ser automaticamente aberto em um determinado evento deste. A forma pela qual o cdigo ser exibido, poder ser configurada pelo usurio, atravs das opes de IDE. Tais procedimentos iremos estudar a seguir: PERSONALIZANDO A IDE Para tal, com o Visual Basic em execuo, clique na opo de menu TOOLS e no menu que se abre, selecione a opo OPTIONS. Ser aberta uma janela com o ttulo de OPTIONS, iremos a seguir estudar as principais guias e opes da mesma. Guia Editor O frame "Code Settings" possui opes que iro afetar de forma direta o trabalho de edio do seu cdigo. As principais opes so:

Auto Sintaxe Check - quando selecionada, faz com que o editor verifique se existem erros no cdigo durante o modo de projeto. Aconselhamos que esta opo esteja ticada; Require Variable Declaration - quando selecionada, faz com que as variveis a serem usadas no seu cdigo, tenham que, ser declaradas antecipadamente. Quando selecionado, o VB automaticamente ir colocar uma linha do tipo OPTION EXPLICT na seo GENERAL DECLARATION de todos os formulrios, evitando assim que se use variveis de forma incorreta ou esquecendo de declarar as mesmas; Auto List Members - quando selecionada, faz com que o editor exiba uma lista de elementos pertencentes ao objeto que

est sendo digitado/editado no editor de cdigos;

Auto Quick Info - quando selecionada, exibe informaes sobre funes e seus parmetros, uma espcie de Help on-line de grande valia a usurios menos experientes; Auto Data Tips - quando selecionada, alterna a exibio do valor de uma varivel embaixo do cursor; Auto Indent - quando selecionada, proporciona o recuo automtico de trechos de cdigo. Opo muito til para a programao estruturada, onde por exemplo, os comandos pertencentes a um determinado Loop, estejam recuados com relao ao restante do cdigo, facilitando assim a anlise do mesmo.

Tab Width - nesta caixa o usurio poder definir o nmero de espaos que ir servir como recuo da opo Auto Indent. O frame Windows Settings possui as seguintes opes:

Marcelino Macdo

-8-

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Drag-and-Drop Text Editing - Utilizada para proporcionar a possibilidade de arrastar e soltar um trecho de cdigo dentro do editor de cdigos; Default to full module view - Caso ativado, todos os procedimentos podero ser visualizados dentro de uma nica janela de cdigo; Procedure Separator - quando selecionada, exibe um separador visual entre os procedimentos que esto sendo listados na janela do cdigo. Apenas til caso a opo acima estiver ticada.

Guia

Editor

Format

Atravs desta guia, poderemos definir as cores e fontes que sero empregadas pelo editor no texto normal ( tudo aquilo que no for comando ou funo da linguagem ), etc... Basta selecionar cada um dos itens que esto na caixa Code Colors e em seguida, formatar a fonte a ser utilizada. Guia General

Marcelino Macdo

-9-

Apostila de Visual Basic 6 Curso passo a passo para iniciante

As opes de configurao desta guia so utilizadas por programadores mais experientes, pois permite o ajuste fino de vrios aspectos, como deteco de erros e compilao, etc... Por se tratar de opes avanadas no iremos entrar em detalhes a respeito da mesma. Mais adiante, quando voc tiver maiores conhecimentos a respeito do VB, estaremos detalhando esta guia. Guia Docking

Esta guia possui as opes para determinar quais janelas do IDE estaro ancoradas. Guia Environment

Marcelino Macdo

- 10 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

No frame When Visual Basic Wizards, poderemos selecionar uma das duas opes disponveis. Caso escolha a segunda ao invs da primeira, no ser mais exibido a janela Project Wizard. Porm para usurios iniciantes, aconselhamos deixar o valor padro marcado, ou seja, PROMPT FOR PROJECT; Caso voc tenha seguido nossa sugesto, poder diminuir o nmero de Wizards exibidos na janela inicial do Visual Basic, desmarcando alguns itens relacionados no Frame SHOW TEMPLATES FOR. No frame WHEN A PROGRAM STARTS, voc poder escolher a forma pela qual o VB ir salvar as alteraes do seu projeto. A opo mais utilizada a PROMPT TO SAVE CHANGES, que far com que o VB verifique se voc quer ou no salvar as alteraes do seu projeto sempre que seu aplicativo for executado ou fechado atravs do IDE. J a opo DONT SAVE CHANGES, til quando voc possui uma srie de projetos exemplos e que a maioria ou sua totalidade no precisa ser salva. J a guia ADVANCED, como o prprio nome diz, utilizada apenas por usurios avanados e iremos estudar esta futuramente. - Aula 03 - Conhecendo um formulrio e desenvolvendo seu primeiro aplicativo Em um projeto VB, o formulrio a base da aplicao, ou seja, sobre este que iremos disponibilizar os demais objetos da aplicao para que possamos gerar o respectivo cdigo. Nesta aula, iremos estudar passo a passo todas as caractersticas de um formulrio e, ao final desta, iremos gerar nosso primeiro aplicativo VB. Tecnicamente, o formulrio nada mais do que uma janela na qual poderemos adicionar os objetos necessrios construo de um aplicativo. Neste sentido, cada aplicativo se baseia em algum tipo de formulrio. Iremos comear o nosso estudo atravs do formulrio singular. Este apresentado assim que voc inicia um novo projeto no Visual Basic. Para isso, proceda da seguinte forma: 1. Atravs do menu INICIAR, execute o Visual Basic; 2. Na janela NEW PROJECT, selecione a opo STANDARD EXE; 3. Neste ponto, ser exibida a seguinte janela:

Marcelino Macdo

- 11 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Observe que o formulrio da aplicao aparece em destaque na figura. Agora, iremos estudar as partes de um formulrio. Observe o grfico a seguir e sua legenda na tabela abaixo do mesmo:

Item

Descrio

Menu de controle - Neste menu, permitido restaurar, mover, redimensionar, minimizar, maximizar 001 e fechar o formulrio. Para ativar este boto, basta definir a propriedade ControlBox do formulrio como True, na janela de propriedades. Ttulo - Representa um texto que ser exibido na barra de ttulos do formulrio, normalmente utilizado para identificar o nome ou funo do aplicativo. O texto a ser exibido como ttulo do 002 formulrio, configurado na propriedade CAPTION deste, na janela Properties. Obs.: Se a propriedade BorderStyle do formulrio estiver setada para None, o ttulo assim como toda a barra de ttulo, no estaro visveis. Barra de ttulos - Representada por uma barra de colorao diferenciada do restante do formulrio, 003 ela exibe o ttulo do formulrio, bem como poder ser usada para arrastar este para outra posio na tela do micro. Botes de minimizar, restaurar e fechar o formulrio, padro como em qualquer outra aplicao for windows. Para desativar o boto de minimizar o formulrio, basta setar a propriedade Minbutton do 004 formulrio para false na janela properties, assim como para ignorar o boto restaurar, basta setar a propriedade Maxbutton da janela properties do formulrio para false.. 005 Bordas do formulrio - Especificam os limites visuais do mesmo 006 rea de trabalho do formulrio - toda a rea na qual poderemos trabalhar com os componentes de nossa aplicao que devero ser colocados sobre o formulrio.

Citamos vrias vezes na tabela acima, sobre ajustar uma determinada propriedade do formulrio. Isso fcil de se realizar, para isso, proceda da seguinte forma: 1. D um clique em qualquer local do formulrio; 2. Na janela Properties Form 1, selecione a propriedade a ser alterada;

Marcelino Macdo

- 12 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Altere o seu valor por meio de digitao ou de seleo de valores atravs da caixa de seleo, conforme mostra a figura animada a seguir: Passo a passo alterando o caption de um formulrio: 3.

Conforme j especificamos, as propriedades so as caractersticas de um componente/objeto, como os de um formulrio. Qualquer objeto do VB dever ter no mnimo 1 propriedade. Com relao a um formulrio, iremos citar as principais propriedades de um formulrio bem como a funo das mesmas: Propriedade BackColor Funo Responsvel por definir a cor de plano de um formulrio. Ao clicar na seta de lista suspensa desta propriedade, exibindo as cores disponveis para tal configurao. Determina o comportamento de um formulrio. Este poder ter bordas fixas, ou seja, no podem ser redimensionadas ou bordas dimensionveis. Dentro das opes disponveis teremos: Valor 0 - none 1 - Fixed Single BorderStyle 2 - Sizable Descrio Determina que o formulrio no pode ser redimensionado ou movido. Determina que o formulrio no pode ser redimensionado atravs do processo de arrastar as suas bordas, porm os botes de maximize e minimize estaro habilitados. Configurao padro, possibilitando ao usurio redimensionar o formulrio arrastando suas bordas ou utilizando os botes relacionados na barra de ttulos. Configurao que dever ser selecionada quando o formulrio for utilizado como caixas de dilogo, sendo que o usurio no poder redimensionar o mesmo. Configurao idntica ao do Fixed Dialog, porm o boto close estar disponvel. Funciona como o estilo Sizable, porm no inclui o boto Maximize ou Minimize.

3 - Fixed dialog 4 - Fixed TollWindow 5 - Sizable ToolWindow Caption ControlBox Fore Color Height

Nesta propriedade , o ttulo digitado, ser apresentado na barra de ttulo do formulrio. Caso setado para true, o menu de controle estar visvel, caso contrrio, o menu de controle no estar visvel. Esta propriedade utilizada para definir a cor do texto impresso no formulrio, porm no altera a cor dos objetos colocados sobre o formulrio. Propriedade que armazena a altura de um formulrio, atravs da unidade de medida twips, representada por um nmero que ser especificado na mesma. Normalmente, a altura do formulrio, realizada atravs do processo de clicar e arrastar a sua borda.

Marcelino Macdo

- 13 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Esta propriedade determina o cone que deve ser exibido na barra de tarefas quando o formulrio estiver minimizado durante a execuo. Os cones padres do VB, normalmente so instalados no diretrio \Graphics\Icons da pasta VB. Esta propriedade, determina a distncia do formulrio a partir da esquerda da tela. A unidade de medida desta a mesma da propriedade Height. Definindo esta como True, o formulrio ir mostrar o boto maximize padro no lado direito da barra de ttulo. Se for configurada como False, o boto no estar disponvel para o usurio. Definindo esta propriedade como True, o formulrio ir exibir o boto Minimize, caso contrrio, este boto no estar disponvel. O nome especificado nesta propriedade, ir definir o nome ao qual o Visual Basic ir se referir ao formulrio a nvel de codificao do sistema. Por exemplo, se tivermos a propriedade Name = Principal, deveremos citar este formulrio como Principal quando formos escrever alguma linha de cdigo se referenciando ao mesmo. Atravs desta propriedade, poderemos alterar a medida padro de twips para pixels por exemplo. Esta propriedade permite ocultar o formulrio da barra de tarefas. Ao escrever um determinado aplicativo e se tenha a inteno de que ele passe a ocupar a caixa ao lado da barra de tarefas, basta definir esta propriedade como False. Define a largura de um formulrio, atravs de um nmero que representado por twips, salvo o caso de ter sido alterada a propriedade ScaleMode. Esta configurao define a maneira pela qual o formulrio ser inicializado. As opes disponveis so: WindowState 0 - normal O formulrio aberto em seu estado normal 1 - Minimized O formulrio minimizado ao ser aberto 2 - Maximized O formulrio maximizado ao ser aberto Assim como propriedades, os formulrios possuem tambm eventos, ou seja, o Windows se utiliza de eventos ( ao abrir, ao fechar, ao minimizar... ) para controlar as reaes e execues do sistema. Vale lembrar tambm que ao mover o mouse, ou simplesmente ao clicar sobre um determinado componente, o Windows gera uma mensagem que descreve a sua ao, ou seja, o evento realizado. Essas mensagens so enviadas a uma fila e em seguida ao controle apropriado, que ao receber uma mensagem, gera o evento apropriado. No Visual Basic, poderemos codificar um evento, obrigando este a realizar a sua vontade. Como estamos falando sobre formulrios, vamos verificar os principais eventos de um formulrio: Evento Active Deactive DragDrop Load Resize Unload Ao O formulrio ser sempre ativado, depois de inicializado, ou seja, nesta condio, este evento ser disparado. Exatamente o contrrio do evento Active, ou seja, quando o formulrio deixa de estar ativo. Ocorre quando um controle arrastado solto dentro de um formulrio Este evento disparado quando o formulrio carregado para a memria, ou seja, antes de evento Active. Este evento disparado quando o usurio altera o tamanho do formulrio. Este evento o contrrio do evento Load. Quando exibida uma janela se voc tem certeza de que deseja fechar o formulrio, e responde "sim", este evento disparado.

Icon Left MaxButton MinButton

Name

ScaleMode ShowInTaskbar Width

Com o formulrio que esta aberto, vamos gerar o nosso primeiro aplicativo. O objetivo deste aplicativo ser : "encerrar a aplicao do sistema, quando clicarmos sobre o boto denominado FINALIZA". Primeiramente, vamos alterar algumas propriedades do formulrio: 1. Altere a propriedade CAPTION para PRIMEIRO EXEMPLO, neste ponto, sua rea de trabalho ter o seguinte aspecto:

Marcelino Macdo

- 14 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

2.

Inclua um componente COMMANDBUTTON, em destaque na figura a seguir:

3. Para incluir o componente no formulrio, basta dar um clique duplo sobre o mesmo, e automaticamente este ser incluso no seu formulrio, conforme podemos observar na figura a seguir:

4.

5.

Observe que, ao incluir um componente no formulrio, este passa a ser o objeto ativo, e a janela Properties automaticamente passa a exibir as propriedades do objeto selecionado, neste caso, o componente CommandButton; Nosso primeiro passo alterar o texto que aparece dentro do componente. Isto realizado na propriedade Caption do CommandButton. Altere esta para "Finaliza". Neste ponto, seu formulrio dever ter o aspecto seguinte:

Marcelino Macdo

- 15 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

6.

Agora deveremos programar o evento do clique do mouse sobre o boto, para que, neste caso, o sistema seja finalizado. Para acionar a janela de cdigos, j na programao destinada ao objeto desejado, neste caso o CommandButton, basta dar um duplo clique no objeto, ou seja, d um duplo clique no objeto CommandButton. Sua rea de trabalho, passar a ter o seguinte aspecto:

7.

8.

Observe que a janela de cdigo j esta aberta para o componente Command1, e no evento Click, ou seja, o evento que ser disparado quando o componente Commandbutton receber o click do mouse. Caso no fosse este o evento a ser programado, bastaria voc selecionar o novo evento na caixa de seleo sua direita. Observe que a mesma est apontando para o evento Click; Nosso objetivo que o sistema seja encerrado quando clicarmos sobre o CommandButton inserido em nosso formulrio, para isso, temos o comando END, que dever ser colocado entre o PRIVATE .... e o END SUB, pois eles marcam o inicio e o final da programao de um determinado evento. Logo, sua rea de trabalho dever ter o seguinte aspecto:

Marcelino Macdo

- 16 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

9.

Agora, tente executar o sistema. Para isso, basta clicar sobre o boto START da barra de ferramentas, que est em destaque na figura a seguir:

10. Ao executar o seu sistema, sua rea de trabalho ter o seguinte aspecto:

11. Observe que, em tempo de execuo, o formulrio que antes era cheio de pontinhos em seu interior, agora passa a ter uma cor uniforme. Os pontinhos, so apresentados ao desenvolvedor, para facilitar o enquadramento de componentes dentro do mesmo. Quando voc clicar sobre o boto "finaliza", observe que o sistema ser encerrado e o controle passar novamente ao VB6, possibilitando que voc continue o desenvolvimento de seu sistema. Vamos imaginar agora que voc ir salvar este projeto para continuar a trabalhar com o mesmo no dia seguinte. Para isso, basta clicar sobre o boto padro de SALVAR, o mesmo encontrado no Word, Excel, etc... Ao clicar sobre este, ser apresentada a seguinte janela:

Marcelino Macdo

- 17 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Nesta janela voc ir definir o nome do formulrio de sua aplicao, este nome dever ser digitado na caixa de edio "Nome do Arquivo". Digite o nome de sua preferncia. Aps digitar o mesmo e clicar sobre o boto SALVAR, ser apresentada a seguinte janela na tela do seu micro:

Agora voc dever dar um nome para o seu projeto. Digite o mesmo e clique em seguida em SALVAR. O controle volta ao VB6. Como voc j salvou o projeto, basta fechar o VB6. - Aula 04 - Conhecendo um formulrio e desenvolvendo seu primeiro aplicativo Na aula passada estudamos os eventos e propriedades dos objetos. At ento, observamos como alterar as propriedades durante o processo de criao do projeto, porm poderemos tambm alterar as propriedades em tempo de execuo, ou seja, quando o aplicativo for executado. Vamos criar um novo projeto, simples, composto por um nico formulrio. Neste, apesar de no alterarmos a propriedade CAPTION do formulrio durante o processo de criao do sistema, iremos alterar a sua propriedade CAPTION durante a execuo do projeto. Inicie uma nova aplicao do tipo executvel e siga os passos a seguir: 1. D um clique duplo em qualquer rea livre do formulrio que est a sua disposio para a programao. Neste ponto sua rea de trabalho, dever ter o seguinte aspecto:

Marcelino Macdo

- 18 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

2. Observe que, ao efetuarmos o clique duplo em qualquer rea livre do formulrio, na janela de cdigo, o cursor j estar disponvel no evento LOAD do FORM1, ou seja, evento que ser executado quando o formulrio for carregado/executado. justamente neste evento que, atravs de cdigos de programa, iremos alterar o ttulo da janela do formulrio ( CAPTION ) via programao, para isso, digite o comando que apresentamos no grfico a seguir:

3. Observe que o comando FORM1.CAPTION = "PROJETO APRENDA EM CASA", est na verdade dizendo que, a propriedade CAPTION do objeto FORM1 igual "PROJETO APRENDA EM CASA". 4. interessante citar que, a propriedade CAPTION da janela PROPERTIES no teve o contedo alterado, conforme voc pode observar na figura acima, em seu canto direito inferior. Esta propriedade s ser alterada em tempo de execuo. Execute o projeto e verifique o resultado:

Marcelino Macdo

- 19 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

5. Apesar de no termos alterado em tempo de criao o contedo da propriedade CAPTION do FORM1, na janela PROPERTIES, o fizemos atravs do comando visto acima, em tempo de execuo. Como no fizemos nenhuma espcie de codificao para finalizar o sistema, neste caso, voc dever clicar sobre o boto (X) que se encontra na parte direita superior da janela. Conforme voc observou, a forma bsica de se alterar uma determinada propriedade em tempo de execuo, a sintaxe : Objeto/Componente.Propriedade = contedo Vamos ver mais um exemplo, de como se trabalhar com eventos. Desta vez, vamos instruir o equipamento de que, todas as vezes que o formulrio seja carregado, ele ocupe o centro absoluto do seu monitor. Isso tambm ser realizado no evento LOAD do FORM1. Para isso, iremos introduzir a seguinte linha de cdigo, conforme mostra a figura a seguir:

Observe que, ordenamos ao equipamento que, ao ocorrer o carregamento do formulrio, ele seja movido (MOVE), para a posio vertical,horizontal centralizada do monitor, ou seja, Screen.Width e Screen.Height. Execute novamente o sistema e verifique que a janela da aplicao, nesta oportunidade ser exibida de forma centralizada. Agora vamos imaginar que o usurio poder tambm, em tempo de execuo, alterar o tamanho do formulrio, clicando e arrastando as suas bordas. Como faramos para centralizar o formulrio automaticamente sempre que tal procedimento fosse detectado? Isso fcil, basta repetir a linha MOVE (Screen........ para o evento RESIZE do FORM1. Feche a aplicao, d um clique duplo em qualquer rea livre do formulrio e em seguida, selecione na caixa de seleo sua direita da janela de cdigo, o evento RESIZE, codificando o mesmo conforme mostra a figura a seguir:

Execute o aplicativo e teste o mesmo, clicando e arrastando alguma das bordas da janela deste, e verifique que, ao acabar de redimensionar o formulrio, automaticamente ele ser centralizada, pois o evento

Marcelino Macdo

- 20 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante RESIZE, que ocorre sempre que o formulrio redimensionado pelos processos de clicar e arrastar disparado. Vamos imaginar uma nova situao. Quando o usurio clicar no boto de fechar, voc quer que seja apresentada uma nova janela agradecendo pelo uso do seu aplicativo. Primeiramente, devemos definir o evento que dever ser codificado. Neste caso o evento UNLOAD do formulrio, que executado sempre que o formulrio fechado. O outro fator saber qual comando usar para abrir a nova janela de agradecimento, que neste caso o MSGBOX, ou seja, o comando que abre uma janela de dilogo. Encerre o aplicativo caso o mesmo ainda esteja ativo e, aps dar um clique duplo em qualquer rea livre do formulrio, j dentro do editor de cdigo, selecione o evento UNLOAD do objeto FORM, entrando com a seguinte codificao:

Observe que entramos com o comando MSGBOX (construa uma caixa de dilogo) ("Obrigado pelo uso de Nosso aplicativo") (exiba a mensagem que est entre aspas) ,vbYes ( e disponibilize o boto de OK). Execute seu aplicativo e em seguida, clique sobre o boto (X) de fechar, ser ento apresentado o seguinte resultado:

Observe que a programao for Windows, tem como um dos seus grandes segredos, o conhecimento dos eventos, ou seja, em que determinado evento deveremos codificar uma determinada ao. Antes de iniciarmos o estudo dos componentes que iremos utilizar para gerar aplicativos, vamos falar sobre um dos assuntos principais em qualquer linguagem de programao, as variveis. O objetivo do uso de variveis dentro de um aplicativo o de manipular e tratar dados processados pelos programas que fazem parte do seu projeto. No Visual Basic, temos os seguintes tipos principais de variveis: Tipo da varivel Empty Null Integer Long Single -32.768 a 32.767 -2.147.483.648 a 2.147.483.647 -3.402823E38 a 3.402823E38 Faixa de valor a armazenar

Marcelino Macdo

- 21 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Double Currency Date/Time String OLE Boolean Byte True ou False 0 a 255 -1.79769633486232 a 4.94065645841247E-324 -322337203685477.5808 a 922337203685477.5807 01/01/0100 a 31/12/9999 At 65.500 bytes

Poderemos declarar as variveis que sero utilizadas em nosso sistema de duas formas: 1. Nas sees GENERAL-DECLARATION do Form, mdulo ou classe; 2. Dentro de um determinada SUB, existente em um determinado Objeto ou uma Sub criada por voc mesmo. As variveis podero ser de duas categorias, conforme mostra a tabela a seguir: Categoria de varivel Consideraes Podem ser manipuladas em qualquer ponto do projeto. Exemplo de declarao de uma varivel global: Global endereco as String Public salario as currency Podem ser utilizadas apenas no local onde foram declaradas. Exemplo de declarao de uma varivel local: Dim endereco as String Private salario as currency - Aula 05 - Constantes, vetores e matrizes No VB, temos tambm o que chamamos de constantes, ou seja, locais de memria que tero sempre um valor constante durante a execuo do aplicativo. Tal tcnica faz com que o seu projeto fique melhor documentado e de melhor compreenso para outros profissionais que por ventura tenham que continuar o trabalho de desenvolvimento de seu projeto. Quando falamos em constantes no VB, possumos duas categorias: 1. Constantes Predefinidas; 2. Constantes criadas. As constantes criadas, so aquelas geradas pelo prprio desenvolvedor, declaradas na seo DECLARATION. A sintaxe de declarao de constantes : Public Const nome_da_constante = valor Veja a seguir alguns exemplos: Public Const limite_vagas = 50 Public Const limite_idade = 25 As constantes predefinidas, geralmente so usadas em janelas de dilogo, assim como utilizamos no exemplo gerado no mdulo de aula passada, onde foi gerada uma janela de dilogo agradecendo pelo uso do sistema e o boto de OK gerado automaticamente, pela constante predefinida vbYes. Veja a seguir as constantes predefinidas de maior uso no VB: vbYesNo vbRed vbExclamation vbBlue vbQuestion vbRed vbYes vbNull vbNo vbEmpty

Globais/Pblicas

Locais/Privadas

Com o tempo, voc ir dominar o uso das mesmas, no momento, basta entender o porque e um pouco de sua lgica, como foi a da gerao do boto OK, dentro da janela de dilogo do exemplo anterior. Uma outra tcnica de programao bastante utilizada o uso de vetores e matrizes, ou seja, uma varivel que dividida em vrias partes para armazenar em cada uma dessas partes um determinado valor. Vamos imaginar um prdio residencial. Ele nico, porm divido em apartamentos e cada apartamento possui uma famlia diferente de moradores. Desta forma teramos: Prdio residencial ....... = ........ varivel Cada apartamento ..... = ........ diviso da varivel ( vetor ou matriz ) Cada famlia .............. = ........ ocupando um apartamento, ou seja, um valor diferente para cada varivel O Visual Basic possibilita o uso de de vetores unidimensionais (com apenas uma diviso), at o uso de grandes matrizes multidimensionais (com mais de uma diviso). Para criar uma varivel dos tipos citados, proceda da seguinte forma:

Marcelino Macdo

- 22 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Dim faixasalarial(10) as currency Observe que teremos 11 divises para a varivel faixasalarial, e cada uma das divises, poder armazenar um valor diferente. Mas se tenho um vetor definido em 10, porque tenho 11 posies? Porque o vetor inicial tem numerao igual zero, e a mxima igual ao nmero especificado dentro dos parnteses. Ento, teramos: faixasalarial(o) = valor a faixasalarial(o) = valor a faixasalarial(1) = valor b faixasalarial(2) = valor c ... ... ... faixasalarial(10) = valor k - Aula 06 - Eventos - Aprendendo na prtica Nesta aula, iremos gerar um pequeno exemplo para entender melhor o que so eventos. Inicie o VB solicitando um novo projeto. Sua rea de trabalho ter o seguinte aspecto:

Vamos trabalhar com trs componentes: 1 TextBox. Estes componentes esto circulados na figura a seguir:

2 CommandButtons;

Sendo que, de cima para baixo, o primeiro um Textbox e logo abaixo, temos o CommandButton. Insira estes trs componentes dentro do seu formulrio. Lembrando que: 1. Para inserir um componente em um formulrio, basta dar um clique duplo sobre o componente, e este ser automaticamente inserido; 2. Para posicionar um componente no local desejado do formulrio, basta clicar e arrastar o mesmo para o local desejado; 3. Para redimensionar (aumentar ou diminuir o tamanho) o mesmo, basta clicar e arrastar em uma das bordas que circulam o componente. O formulrio ao final do procedimento, dever estar com o seguinte aspecto:

Marcelino Macdo

- 23 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Observe que, para os componentes COMMAND, apenas os posicionamos em um novo local do formulrio, j para o componente TextBox, redimensionamos o seu tamanho. Agora, inclua um componente LABEL, acima do componente TextBox. O componente Label est circulado na figura a seguir, e sua posio final j est desenhada:

Nosso sistema, ter o seguinte objetivo: A) Ter uma rea para digitao de texto, procedimento que ser realizado no TextBox; B) Ter um boto na qual possamos limpar o contedo da caixa de texto, procedimento este que ser realizado atravs do CommandButton1; C) Ter um boto para finalizar o aplicativo, procedimento que ser realizado atravs do CommandButton2; Observamos que, de acordo com o nosso objetivo, iremos trabalhar a principio com o evento OnClick ( ao receber um click ) dos CommandButton. Primeiramente, vamos melhorar alguns aspectos de nosso formulrio, dando um ttulo a janela do mesmo. Para isso, conforme estudamos anteriormente, temos as propriedades. Selecione o formulrio, clicando em qualquer rea livre deste, e na janela de propriedades, deveremos alterar o CAPTION do formulrio, ou seja, a propriedade que indica o texto que ser apresentado na barra de ttulo do formulrio. Altere este propriedade para "Projeto de Testes de Eventos". Ao final deste procedimento, seu formulrio ter o seguinte aspecto:

Marcelino Macdo

- 24 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Observe que inserimos uma caixa de texto em nosso formulrio ( Label ) ela tem o objetivo de inserir um texto, uma espcie de etiqueta para exibir uma informao ao usurio. Pelo fato de estar disposta acima da caixa de edio, qual seria a melhor frase para orientar o usurio? Que tal : "Digite uma frase na caixa de texto abaixo". Assim como no FORM, a propriedade CAPTION especifica o texto que ser exibido na barra de ttulo, o texto que ser exibido dentro da rea da etiqueta, dever ser digitado na propriedade CAPTION do componente LABEL. Selecione o mesmo, dando um clique simples sobre ele, e altere a propriedade CAPTION deste para o texto sugerido. Ao final deste procedimento, teremos a seguinte imagem em nossa rea de trabalho:

Vamos trabalhar mais um pouco com as propriedades do LABEL, alterando a cor da fonte do texto que est sendo exibido em seu interior. Para isso, temos a propriedade FORECOLOR do mesmo. O LABEL j est selecionado, basta na janela PROPERTIES localizar a propriedade FORECOLOR, e dar um clique sobre sua caixa de seleo e clicar sobre a cor vermelha, conforme mostra a figura a seguir:

A principio o nosso formulrio e nossa etiqueta esto configurados. Agora, observe que dentro da caixa de edio ( TextBox ), existe uma palavra denominada "Text1", que na verdade, alm da frase que ser apresentada quando o sistema for executado, representa o nome do componente dentro do cdigo. Vamos fazer com que nada aparea dentro da caixa de edio quando o sistema for executado, para isso, basta apagar todo o contedo da propriedade TEXT do componente TEXTBOX. Execute este procedimento. Agora, vamos dar uma espcie de rtulo aos nossos botes, ou seja, a nvel de usurio, qual o objetivo do boto 01? e do boto 02? Sabemos que o primeiro dever limpar o contedo eventualmente digitado no TextBox e o segundo, tem a funo de finalizar o sistema. Ento, iremos alterar o CAPTION do CommandButton1 para "LIMPA" e o contedo do CAPTION do CommandButton2 para "FINALIZA". Ao final deste procedimento, sua rea de trabalho ter o seguinte aspecto:

Marcelino Macdo

- 25 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Observe que a nvel de informao e visual o nosso formulrio est dentro do esperado. Agora temos que codificar os eventos necessrios a sua operao. O primeiro evento est ligado ao click no boto "LIMPA". Observe que, ao clicar sobre este, o sistema dever apagar o contedo do TextBox. Primeiro devemos identificar de que forma chamado o componente TEXTBOX dentro do projeto. Esse nome identificado na propriedade NAME do componente. Para isso, se voc selecionar o componente TEXTBOX e verificar a sua propriedade NAME, esta estar igual a TEXT1, conforme podemos observar na figura a seguir:

este o nome que deveremos utilizar dentro da codificao do sistema. Na prxima aula iremos dar algumas dicas sobre a nomenclatura de componentes. Vamos ento codificao: Nosso objetivo limpar o contedo que por ventura tenha sido digitado no componente TEXTBOX, daqui para frente denominado de TEXT1. Sabemos que a propriedade TEXT deste componente que armazena o contedo digitado no mesmo, logo deveremos igualar a propriedade TEXT do componente TEXT1 uma string vazia ( "" ). Quando vamos especificar um valor a uma determinada propriedade de um determinado componente em tempo de execuo, usamos a sintaxe a seguir: Nome_componente.Propriedade = valor Sabendo disso, d um clique duplo no boto CommandButton1, que possui o rtulo "LIMPAR, e dentro da rea de cdigo, programe conforme mostra a figura a seguir:

Ou seja, estamos dizendo que, ao se clicar sobre o componente Command1 ( Commandbutton1 ), o sistema dever jogar uma String nula como valor da propriedade Text do componente Text1.

Marcelino Macdo

- 26 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Nosso prximo passo programar o evento Clicar do segundo boto ( Command2 - CommandButton2 ), pois quando o usurio clicar sobre ele, o sistema dever ser finalizado. Volte o controle para o formulrio e d um clique duplo no CommandButton2, e dentro da rea de cdigo que ser aberta, codifique conforme a figura a seguir:

Dentro do que foi proposto, nosso sistema est finalizado. Execute o mesmo, digite algo dentro da caixa de edio, clique sobre o boto LIMPAR e em seguida, clique sobre o boto FINALIZAR para que veja na prtica o efeito do que foi gerado. claro que este sistema simples, estamos nas primeiras aulas, apenas habituando o aluno a trabalhar com componentes, propriedades e eventos. - Aula 07 - Caixa de Ferramentas e Controles At o momento, acreditamos que voc j percebeu que, o formulrio ser a base de quase tudo o que fizer em VB. Estes formulrios sero preenchidos com controles (componentes), e atravs das propriedades e eventos dos formulrios e respectivos controles, que seu sistema ser gerado. Nesta aula, iremos estudar um pouco mais sobre a caixa de ferramentas e seus diversos controles. Temos basicamente trs tipos de controles:

Controles invisveis, que no so exibidos aos usurios e apenas fazem parte do controle interno da aplicao. Conforme observamos na aula anterior, para incluir um controle no formulrio, basta dar um clique duplo sobre o mesmo. As propriedades dos controles estaro disponveis na janela de Propriedades. A caixa de ferramentas a janela que armazena os controles personalizados para serem utilizados em seu aplicativo. Iremos a seguir estudar os controles que esto dispostos na caixa de ferramenta. Veja a figura a seguir:

Os que fornecem a comunicao com o usurio, como as caixas de edio; Os que extraem respostas, como os botes de comando;

Marcelino Macdo

- 27 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

A seguir, iremos falar um pouco sobre os componentes mais comuns que sero usados em suas aplicaes VB. Controle LABEL Este controle responsvel por exibir um texto no formulrio, ou seja, uma etiqueta. Este texto utilizado para somente leitura, e poder ser alterado atravs de sua propriedade Caption, tanto em tempo de desenvolvimento quanto em tempo de execuo. O principal uso deste componente exibir informaes ao usurio. As propriedades mais importante de um LABEL so: Name Caption Autosize WordWrap define o nome do componente a ser utilizado dentro da fonte do sistema. Esta propriedade armazena o texto que ser exibido sobre a forma de etiqueta. Quando configurada para true, faz com que o "tamanho" do componente seja automaticamente configurado de acordo com o tamanho do texto a ser exibido. Faz com que exista uma quebra automtica de linha, expandido o tamanho da legenda em uma linha, caso o texto definido em Caption, ultrapasse o limite horizontal de tamanho do Label. Controle CommandButton Os botes so utilizados para extrair respostas simples do usurio ou ainda para chamar determinadas funes dentro de um formulrio, como por exemplo, uma funo para limpar o contedo de uma caixa de edio, finalizar o sistema, etc... Tais procedimentos sero realizados aps o click no boto, ou seja, aps o evento OnClick do mesmo. Na tabela a seguir, iremos citar as propriedades mais importantes do CommandButton: Name Caption Style Esta propriedade determina o nome pelo qual o controle ser referenciado na fonte do projeto. Armazena o texto que ser exibido dentro do CommandButton. Nesta poderemos definir se o boto ir aceitar apenas texto dentro de seu interior

Marcelino Macdo

- 28 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante ou se o mesmo poder aceitar grficos. No caso de inserir uma figura, dever definir a mesma na propriedade Picture. Enabled Esta propriedade caso esteja setada como False, desativa o boto em um determinado formulrio. Evento que disparado quando o boto recebe um clique do mouse. Evento que disparado quando o ponteiro do mouse passa sobre o boto. Controle TextBox Utilizadas para proporcionar a entrada de dados, atravs do teclado, por parte do usurio. Na tabela a seguir, temos as principais propriedades do controle em questo: Name Text MaxLenght Passwordchar Multiline Locked Armazena o nome do controle, que dever ser utilizado na fonte do sistema Armazena o contedo digitado na caixa de texto. Neste caso, esta propriedade substitui a Caption Limita o nmero de caracteres que poder ser digitado pelo usurio em tempo de execuo. Utilizado para mostrar o caracter * enquanto existe a digitao do contedo. til para utilizao em campos do tipo senha. Permite ao no ao usurio digitar mais de uma linha na caixa de texto Caso configurada como true, far a caixa de texto exibir dados, sem permitir a sua edio. Este tipo de caixa bastante utilizado nas caixas de texto que contm o texto de licenciamento de um determinado software, sendo que neste caso, o contedo da caixa dever ser previamente digitado na propriedade Text. Ocorre sempre que o usurio inserir, substituir ou excluir um caracter da caixa de texto - Aula 07 - Caixa de Ferramentas e Controles Controle : Botes de opo : Option Button Dentre as principais propriedades de um boto de opo temos: Propriedade Name Caption Value Funo Nome dado ao componente, que ser utilizado dentro do cdigo fonte da aplicao sempre que o sistema apontar para o mesmo. Utilizada para permitir ao usurio determinar a finalidade de cada um dos botes de opo. Propriedade geralmente utilizada durante o sistema em tempo de execuo, pois atravs desta, o sistema saber de uma opo est ou no marcada, atravs do resultado True ou False. Se estiver setada para "0 - STANDARD" ser desenhado um boto de opo padro, caso contrrio, estando setado para "1 - Graphical", o boto de opo ter a aparncia de um boto de comando, permitindo apenas uma seleo dentro de um grupo. Evento onde mais comumente testado o valor da propriedade Valeu do boto, ou seja, aps clicado sobre uma determinada opo. Controle :Caixa de seleo : Check Box Este controle muito similar ao boto de opo, testando-se a propriedade VALUE de ambos para saber se um controle est ticado ou no. As diferenas fundamentais entre estes dois controles so: 1. As caixas de seleo representam controles simples; 2. As caixas de seleo no so mutuamente exclusivas.

Na tabela a seguir, iremos apresentar os eventos mais comuns do CommandButton: Click MouseUp

Os principais eventos das caixas de texto so: Change

Style

Dentre os principais eventos de um boto de opo, podemos citar: Click

Marcelino Macdo

- 29 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Sendo assim, um boto pode possuir dois estados : True ou False (selecionado ou no), j uma caixa de seleo poder ter at trs estados: selecionada, no selecionada e acinzentada (nem ativada e nem desativada, indicando que aquela opo no poder ter o seu contedo alterado pelo usurio). Controle : Caixas de lista : List Box Este controle tem a finalidade de exibir ao usurio uma lista de dados. Exemplo: Uma lista de todos os estados do Brasil, que ser disponibilizada ao usurio no ato do preenchimento do estado residencial do mesmo em sua ficha cadastral.Esta lista poder oferecer ao usurio a oportunidade de seleo de um ou mais de seus dados para que esta seleo seja utilizada em processamento posterior. Os dados de uma lista no podem ser editados de forma direta, ou seja, na prpria lista, pois como o nome diz, um controle de seleo e no de alterao de dados. Veja a seguir as principais propriedades das caixas de lista: Propriedade List ListCount MultiSelect Selected Sorted Retorna o valor selecionado de uma lista Fornece o nmero de itens de uma caixa de lista Determina se o usurio pode ou no selecionar mais de um item da lista Propriedade boleana que pode assumir um valor para que em tempo de execuo um valor da lista esteja previamente selecionado. Classifica ou no os itens de uma lista Objetivo

A propriedade list dever ser utilizada com uma indexao de itens, ou seja, as posies dos valores de uma caixa de lista se iniciam em zero e vo at o nmero total de itens menos 1. Este ndice dever ser utilizado tambm na propriedade Selected, conforme observamos no exemplo a seguir: List1.Selected(4)=true No comando acima, estamos pr-selecionado (via cdigo) o quarto item da lista. O evento mais utilizado nas caixas de lista o DblClick(), ou seja, verificando o item selecionado. J o mtodo AddItem utilizado para preencher os itens de uma lista. O mtodo RemoveItem utilizado para excluir um item de uma lista e o mtodo Clear utilizado para remover todos os itens de uma lista. Observe os exemplos a seguir: List1.additem "Paulo" No exemplo acima, na caixa de lista denominada "List1" foi incluso o valor "Paulo". - Aula 09 - Personalizando a sua caixa de ferramentas Aos poucos, atravs de exemplos, voc ir se acostumando com os controles vistos nas aulas anteriores e os novos que iremos estudar. importante citar que o Visual Basic possui um nmero muito maior de controles, fora os que voc j teve contato visual atravs de sua barra de ferramentas. Vamos agora, explicar passo a passo como incluir novos controles a sua caixa de ferramentas, pois esta habilidade ser de fundamental importncia para o programador. Siga os passos a seguir: Primeiramente vamos citar as seguintes situaes: Observe que a sua caixa de ferramentas formada por fichas e, por padro, temos uma nica ficha ao instalar o VB, denominada GENERAL, conforme podemos observar na figura a seguir: Conforme voc pode observar, no topo da caixa de ferramentas, existe uma GUIA, denominada GENERAL. importante que, o desenvolvedor para facilitar o seu trabalho, crie novas GUIAS ou FICHAS para organizar os novos controles que sero inclusos na caixa de ferramentas, adicionando novas GUIAS e em seguida, instalando os novos componentes na mesma. Para criar novas GUIAS, proceda da forma a seguir: 1. Clique com o boto direito do mouse sobre qualquer rea livre da caixa de ferramenta. Neste ponto, ser apresentado um menu, conforme mostra a figura a seguir:

Marcelino Macdo

- 30 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante 2. Neste menu, selecione a opo ADD TAB, ser ento exibida a seguinte janela:

3. Digite o nome da nova GUIA na janela em destaque na figura acima e em seguida clique em OK. Neste exemplo, vamos digitar o nome AVANCADO. Veja como ficar a sua caixa de ferramentas aps o trmino desta operao:

Observe que temos duas GUIAS : GENERAL e AVANCADO. D um clique simples sobre a guia AVANADO e veja o que ir acontecer na sua rea de trabalho:

Observe que, os controles da caixa GENERAL foram escondidos e esto sendo exibdos os controles da guia AVANCADO, que por padro, possui apenas o controle de seleo, que incluso sempre que uma nova guia for adicionada a sua caixa de ferramentas. Agora, para que possamos incluir controles nesta nova guia, ou at mesmo em outra guia, bem como na guia GENERAL, proceda da seguinte forma: 1. Clique com o boto direito do mouse sobre a rea livre da GUIA que ir receber o novo controle; 2. No menu suspenso que apresentado, selecione a opo COMPONENTS, ser ento apresentada a seguinte janela:

Marcelino Macdo

- 31 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

3. Na guia CONTROLS, selecione o(s) controle(s) que deevro ser inclusos na caixa de ferramentas, na guia AVANCADO. No nosso caso, como exemplo, iremos incluir o CONTROLE DE ADMINISTRAO DE IMAGENS KODAK e o CONTROLE DE DIGITALIZAO DE IMAGENS KODAK, e em seguida, clicar em OK. Observe como ir ficar a nossa caixa de ferramentas:

Observe que os dois novos controles j esto na nova GUIA que voc criou. Caso queira inserir um controle que ets na guia GENERAL no seu projeto, vasta selecionar a GUIA e assim sucessivamente. Lembramos que voc poderia incluir todos os controles em uma nica GUIA, como por exemplo a GENERAL, porm a diviso dos controles por GUIAS de grande utilidade para a organizao e fcil localizao dos controles durante o processo de desenvolvimento. - Aula 10 - Alterando as propriedades em tempo de execuo Uma das tcnicas mais utilizadas em projetos VB alterar as propriedades de um determinado componente em tempo de execuo, ou seja, enquando o seu sistema est sendo operado. Veja alguns exemplos de alterao de propriedades em tempo de execuo:

Alterar o texto a ser exbido dentro do command buttom (propriedade CAPTION) de acordo com uma situao especfica;

Alterar o fator do boto estar disponvel ou no (aceita ou no o click) de acordo com uma situao especfica. Exemplo: Em determinados momentos, o boto de SALVAR do WORD est desabilitado, ou seja, no aceita o click. Primeiro, voc dever conhecer bem as propriedades dos componentes na qual ir trabalhar. Vamos pegar como exemplo um boto de comando, que possui dentre as propriedades mais utilizadas CAPTION, VISIBLE e ENABLED. Como poderamos alterar estas propriedades durante a execuo do programa, atravs de linhas de cdigo? Existem duas formas para tal finalidade: (001) - Atravs da especificao do componente, seguido de ponto e da propriedade com o seu respectivo valor, conforme podemos observar no exemplo a seguir:

Marcelino Macdo

- 32 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Private Sub Form_Load() Command1.Caption="SALVAR" Command1.Visible=false Command1.Enabled=false End Sub No exemplo acima, alteramos as propriedades uma a uma, assim que o formulrio foi carregado, pois tais comandos esto no evento LOAD. (002) - Atravs da especificao do componente a da listagem atravs do comando WITH das propriedades a serem alteradas e seus respectivos valores, conforme poderemos observar a seguir: Private Sub Form_Load() With Command1 .Caption="SALVAR" .Visible=false .Enabled=false End With End Sub muito importante que voc tenha entendido tal procedimento, pois o emprego desta habilidade comum. Observe que entre os dois cdigos citados acima, na forma 002, economizamos escrita de cdigo e diminuimos o fator erro, pois muito mais fcil errar a digitao da palavra Command quando digitada 5 vezes do que quando digitada 1 vz. Apenas no aconselhvel usar o mtodo 002 quando temos apenas uma propriedade a alterar em tempo de execuo. Um outro procedimento comum o uso das abreviaes em nome de componentes, procedimento indicado no momento em que voc inclua os objetos na janela do seu projeto. Tais denominaes (propriedade NAME) devem ser legveis e condizentes com a funo desejada para os mesmos. Veja o exemplo a seguir: Quando incluimos um boto de comando, ele automaticamente recebe o nome de COMMAND1 na janela de propriedades e sempre que for invocado em seu cdigo. Ao incluir um prximo boto decomando ele ter o nome COMMAND2, e assim sucessivamente. O programador dever ter a noo de que ir utilizar muitos componentes do tipo COMMAND BUTTON e outros e, alterando assim seus nomes para algo que lembre a sua finalidade, facilitar a interpretao do cdigo do mesmo. Vamos imaginar que o boto 01 tenha a finalidade de finalizar o seu projeto, ou seja, sair do mesmo. Ao invs de ter o nome de COMMAND1 no projeto, seria mais fcil alterar o valor da propriedade NAME para CMDSAIR, ou seja, "comando sair". Desta forma a interpretao do cdigo por parte do desenvolvedor e de um terceiro profissional que por ventura tenha que analisar o cdigo seja facilitada.. Veja como outro exemplo, um boto de opo que ir receber o estado civil do cliente, este boto de opo poderia se chamar OPT_EST_CIVIL. Acreditamos que os exemplos e motivos expostos so o suficiente, de agora em diante, siga estes passos e ter um fonte legvel e de fcil interpretao. - Aula 11 - Nosso primeiro projeto Em nosso primeiro projeto, vamos gerar um simples programa onde teremos em um formulrio, os seguintes componentes:

1 Command Buttom (botes de comando). A finalidade de nosso primeiro projeto ser a de criar uma espcie de calculadora, ou seja, ao clicarmos sobre um dos BUTTONS (que dever ter o caption igual SOMA), o terceiro TextBox ir receber a soma dos valores inseridos nos dois primeiros TextBox. Com este pequeno e simples projeto, iremos entrar em um novo assunto na programao VB, denominado "Funes". Inicie uma nova aplicao no VB e, insira os componentes supra citados. Ao final deste procedimento, sua janela ter o seguinte aspecto:

3 Textbox (caixas de texto) 3 Labels.

Marcelino Macdo

- 33 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

O primeiro passo alterar a propriedade CAPTION dos LABELS, respectivamente para : "DIGITE UM NMERO", "DIGITE OUTRO NMERO", "RESULTADO DA SOMA". Ao final desta alterao, seu formulrio ter o seguinte aspecto:

Em seguida, iremos apagar o contedo da propridade TEXT de todos os TextBox. Com isso, o interior destes componentes no iro mais exibir as palavras TEXT1 ... TEXT2 ... TEXT3. Altere a propriedade CAPTION do CommandButtom para "SOMAR". Ao final destes procedimentos, seu formulrio ter o seguinte aspecto: Temos o obejtivo de fazer com que, aps clicar sobre o boto "SOMAR", seja exibido no terceiro TextBox a soma dos valores entrados nos dois primeiros TextBoxes. Porm observe o seguinte: 1. Em um TextBox, o contedo digitado interpretado como String, ou seja, um valor fixo e que no poder sofrer nenhuma espcie de operao matemtica. Tendo o conhecimento de tal regra, vamos tentar de forma direta, executar a soma do contedo do Textbox1 e do Textbox2 armazenando o seu resultado em TextBox3. D um clique duplo sobre o Buttom e entre com o seguinte cdigo: Private Sub Command1_Click() Text3.Text = Text1.Text + Text2.Text End Sub Execute o seu projeto. No primeiro Textbox, digite o valor "12" e no segundo o valor "34". Em seguida, clique sobre o boto "SOMAR" e veja o resultado no terceiro TextBox:

Marcelino Macdo

- 34 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Observe que o resultado da soma foi "1234", ou seja, um valor errado, pois a soma correta de 12 + 34 = 46. Mas o porque este resultado? Quando solicitamos de forma direta a soma "+" do contedo do Textbox1 com o contedo do TextBox2 ( text1.text+text2.text), estamos na verdade solicitando uma concatenao, ou seja, o agrupamento de duas Strings, onde as mesmas so colocadas uma ao lado da outra, sendo assim, em uma concatenao de "12"+"34" igual "1243". Conforme citamos, o contedo dos Textboxes so considerados Strings. Como neste caso queremos realizar uma operao matemtica, deveremos utilizar uma funo para transformar String em nmero. Sendo assim, teremos que digitar o seguinte contedo no evento click do Buttom: Private Sub Command1_Click() Text3.Text = (Val(Text1.Text) + Val(Text2.Text)) End Sub No comando acima, estamos utilizando a funo VAL, que tem o objetivo de transformar String em nmero, assim sendo, agora teremos em Text3 o resultado da soma dos nmeros de Text1 e Text2. Execute o projeto, entre com os mesmos valores e veja o resultado aps o clique no boto SOMA:

Outro detalhe interessante que, antes de usarmos a funo VAL, com o operador "+", o projeto compilou e executou sem erros, porque estamos solicitando uma concatenao, porm se tentarmos usar o operador de multiplcao (*) por exemplo, o VB ir gerar um erro, pois em Strings no existe a operao de multiplicao. A sintaxe da funo VAL a seguinte: VAL (varivel) O objetivo da funo VAL converter o contedo de uma varivel String para uma varivel numrica. Ao contrrio do que voc pode estar pensando, as funes no existem apenas para transformar valores String para numricos. Existem funes para manipulao de Datas, Strings, nmeros, etc... Nossa prxima aula ter o objetivo de estudar as principais funes do VB6.

Marcelino Macdo

- 35 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante - Aula 12 - Funes VB6 Neste modo iremos expor as principais funes do VB6, que sero de grande utilidade em aplicativos comerciais. Funo ABS Tem a finalidade de retornar o valor absoluto e positivo de um nmero ou da varivel informada. A sintaxe de construo deste comando extremamente simples: Abs (nmero_ou_varivel) No exemplo a seguir, quando o formulrio for carregado, iremos armazenar na varivel "exemplo" o valor 2001, e atravs de uma caixa de dilogo, iremos apresentar este nmero em seu valor absoluto. Veja a fonte do sistema a seguir: Private Sub Form_load() Dim exemplo as Double Let exemplo = -2001 Msgbox (str(abs(exemplo))) End Sub Observe que no exemplo anterior, usamos tambm a funo STR, que tem a funo de converter um nmero em string, pois apenas neste formato que aceito uma informao na caixa de msgbox. Logo, usamos duas funes em uma mesma linha de cdigo, sendo que a primeira transforma o nmero em string e a segunda o nmero em absoluto e positivo. Ser exibida na caixa de dilogo o nmero 2001. Funo FIX Tem a finlidade de retornar um nmero inteiro e sem arredondamento. Sua sintaxe : Fix (nmero_ou_varivel) Funo Hex Tem a funo de transformar um nmero decimal em hexadecimal. Sua sintaxe : Hex (nmero_ou_varivel) Funo Int Tem a funo de retornar o inteiro de um nmero com arredondamento. Sua sintaxe : Int (nmero_ou_varivel) Funo RND Tem a funo de retornar um nmero aleatrio de 1 at o nmero especificado. Sua sintaxe : RND (nmero) Funo VAL Tem a finalidade de transformar o valor de uma String em nmero, ou seja, o inverso da funo STR observada no primeiro exemplo. Sua sintaxe : VAL (string_ou_varivel) Funo Curdir Tem a finalidade de retornar o diretrio atual onde o usurio estiver atuando. Veja a seguir um simples exemplo construdo passo a passo com esta funo: 1. Primeiro abra o Visual Basic e inicie um novo projeto; 2. Insira no formulrio dois componentes Labels, disponibilizando estes um abaixo do outro; 3. Na propriedade CAPTION do primeiro Label, insira : "Diretrio atual de trabalho"; 4. Na propriedade CAPTION do segundo label, apague todo o contedo; 5. No evento LOAD do formulrio, entre com a seguinte codificao: Private Sub Form_Load() Dim diretorio As Variant diretorio = CurDir Label2.Caption = diretorio End Sub execute o seu projeto. Voc ter como retorno, uma janela mais ou menos como a que segue:

Marcelino Macdo

- 36 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Observe que o caminho na qual voc est operando no momento exibido no label2. Funo Left Esta funo tem o objetivo de retornar x caracteres a partir da esquerda de uma string. Sua sintaxe : Left (varivel, nmero_caracteres) Observe o exemplo a seguir: Private Sub Fom_load() Dim empresa as String Let empresa="Projeto Aprenda em Casa" MsgBox (left(empresa,7)) End Sub No exemplo acima, teremos uma caixa de mensagens apenas com a palavra "Projeto", pois solicitamos que seja exibida na mesma apenas as 7 primeiras posies (caracteres) da varivel empresa. Funo Right Tem praticamente o mesmo objetivo da funo Left, com exceo de retornar x caracteres a partir da direita da String. Veja o exemplo a seguir: Private Sub Fom_load() Dim empresa as String Let empresa="Projeto Aprenda em Casa" MsgBox (Right(empresa,7)) End Sub No exemplo acima, teremos uma caixa de mensagens apenas com a frase "em Casa", ou seja, os 7 ltimos caracteres da varivel "empresa".

- Aula 13 - Funes VB6 Neste mdulo iremos gerar nossa segunda aplicao VB, sendo que o objetivo da mesma gerar uma calculadora. Nesta calculadora, iremos utilizar as funes e diversos eventos, o que ir facilitar o aprendizado dos tpicos estudados nos mdulos anteriores. Para este projeto, siga os passos a seguir: Inicie uma nova aplicao VB; No formulrio, na parte superior deste, inclua um objeto TEXTBOX, fazendo com que o mesmo ocupe toda a parte superior do form; Altere a propriedade Caption do formulrio para PROJETO CALCULADORA; Apague o contedo da propriedade Text do objeto TextBox; Vamos agora, com o uso dos objetos CommandButton montar as teclas de nossa calculadora, para isso, posicione 17 objetos CommandButton conforme mostra a figura a seguir:

Marcelino Macdo

- 37 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

O prximo passo alterar a propriedade Caption dos CommandButton 01 ao 10 para 0,1,2,3,4,5,6,7,8,9,0 respectivamente, formando assim o teclado numrico de nossa calculadora. Agora, iremos gerar os botes que iro representar as operaes aritmticas de nossa calculadora. Estes botes sero os de nmero 11 ao 16, contendo respectivamente o seguinte contedo: +,-,*,/,=,C. Altere o Caption dos mesmos para os valores apresentados. Finalmente, configure o Caption do Command17 para "FIM". Ao final deste procedimento, seu formulrio dever ter o seguinte visual:

O primeiro passo configurar os botes de comando que representam os nmeros que iro ser utilizados no teclado numrico de nossa calculadora. A lgica a seguinte: Cada vez que o usurio clicar sobre um dos botes numricos, este dever se acrescentado ao TextBox. Ou seja, teramos a seguinte situao: Contedo do TextBox = Contedo do TextBox + valor representado pelo boto. Observe que, o TextBox uma String e, deveremos realizar uma concatenao, ou seja, soma do valor j armazenado nesta objeto com o valor representado pelo boto clicado. Assim sendo, para o boto que representa o nmero "1" teremos o seguinte cdigo: Private Sub Command1_Click() Text1.Text = Text1.Text + "1" End Sub Este mesmo procedimento ser utilizado para os botes 2, 3, 4, 5, 6, 7, 8, 9 e 0, apenas substituindo o "1" por "2" ... "3" .... e assim sucessivamente. Observe a sequncia a seguir: Cdigo para o boto 2: Private Sub Command2_Click() Text1.Text = Text1.Text + "2" End Sub Cdigo para o boto 3: Private Sub Command3_Click()

Marcelino Macdo

- 38 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Text1.Text = Text1.Text + "3" End Sub Cdigo para o boto 4: Private Sub Command4_Click() Text1.Text = Text1.Text + "4" End Sub Cdigo para o boto 5: Private Sub Command5_Click() Text1.Text = Text1.Text + "5" End Sub Cdigo para o boto 6: Private Sub Command6_Click() Text1.Text = Text1.Text + "6" End Sub Cdigo para o boto 7: Private Sub Command7_Click() Text1.Text = Text1.Text + "7" End Sub Cdigo para o boto 8: Private Sub Command8_Click() Text1.Text = Text1.Text + "8" End Sub Cdigo para o boto 9: Private Sub Command9_Click() Text1.Text = Text1.Text + "9" End Sub Cdigo para o boto 0: Private Sub Command10_Click() Text1.Text = Text1.Text + "0" End Sub Pronto, nossa calculadora j possui a codificao para que, ao clicar sobre os botes que representam os nmeros, estes sejam repassados ao visor de nossa calculadora (TextBox). Lembramos que esta calculadora ir operar apenas com cliques do Mouse. A seguir, vamos codificar os botes que representam as operaes aritmticas. Ao clicar sobre um boto de soma, subtrao, etc... temos que saber o seguinte: 1. Deveremos armazenar o contedo do TextBox em uma determinada varivel; 2. Zerar o contedo do TextBox para que este receba o novo valor, que ir operar com o valor anterior; 3. Em seguida, aps clicar sobre o boto de igualdade, ser realizada a operao entre o valor anterior do TextBox que foi armazenado em uma varivel e o novo valor digitado no componente. Com esta lgica, entre com a seguinte codificao para o boto de soma: Private Sub Command11_Click() valor = Val(Text1.Text) Text1.Text = "" operacao = "soma" End Sub No cdigo acima, primeiro armazenamos na varivel VALOR, o contedo numrico do objeto Text1.text. Esta transformao de String para nmero se deu pela funo VAL. Em seguida, foi zerado o contedo armazenado no objeto TextBox e foi armazenado em uma outra varivel a string SOMA, para que no ato da operao matemtica a ser realizada seja identificado o tipo de operador. Aqui temos um problema, usamos duas variveis porm no declaramos as mesmas, assim sendo, nas declaraes gerais do formulrio (GENERAL ... DECLARATIONS), deveremos declara-las. Conforme mostra o cdigo a seguir: Public valor As Single Public operacao As String

Marcelino Macdo

- 39 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Agora, vamos proceder da mesma forma para a codificao do boto de subtrao, substituindo o contedo da varivel operao para SUBTRACAO, conforme mostra o cdigo a seguir para o bota~em questo: Private Sub Command12_Click() valor = Val(Text1.Text) Text1.Text = "" operacao = "subtracao" End Sub Agora, vamos codificar o boto que representa a multiplicao: Private Sub Command14_Click() valor = Val(Text1.Text) Text1.Text = "" operacao = "multiplicacao" End Sub Iremos ento codificar o boto de diviso: Private Sub Command13_Click() valor = Val(Text1.Text) Text1.Text = "" operacao = "divisao" End Sub Agora, nosso prximo passo codificar o boto de igualdade, que dever fazer apresentar no TextBox o resultado da operao aritmtica realizada entre os dois valores. Para isso, deveremos utilizar o atual valor do TextBox com o tipo de operao a ser realizada bem como com o valor anterior armazenado na varivel VALOR. Ento, teremos no boto de igualdade o seguinte cdigo: Private Sub Command15_Click() Select Case operacao Case "soma" valor = Val(Text1.Text) + valor Case "subtracao" valor = valor - Val(Text1.Text) Case "multiplicacao" valor = valor * Val(Text1.Text) Case "divisao" valor = valor / Val(Text1.Text) End Select Text1.Text = valor End Sub Aqui temos a grande novidade deste cdigo em relao ao que j estudamos, o comando SELECT CASE. Observe que, dependendo do boto que representa a operao aritmtica que foi clicado teremos uma operao diferente, porm este tipo de operao est sendo realizada com uma mesma varivel que representa o tipo da operao, a varivel OPERACAO. Neste caso, temos o conjunto de testes do SELECT CASE, onde para uma mesma varivel, testamos diversas circunstncias. A sintaxe deste comando : SELECT CASE varivel Case condio lista de comandos a serem executados caso condio for verdadeira Case condio lista de comandos a serem executados caso condio for verdadeira Case condio lista de comandos a serem executados caso condio for verdadeira .... .... END SELECT Em poucas palavras ... uma maneira de realizar diversos testes com uma mesma varivel, o que nos foi fundamental para o desenvolvimento desta calculadora. Nos falta apenas codificao o boto FIM, que tem apenas o cdigo END e o boto "Ce" que tem a finalidade de apagar o contedo do TextBox, sendo assim, neste teremos o cdigo TEXT1.TEXT="". Agora, basta executar o seu projeto. - Aula 14 - Estruturas de repetio

Marcelino Macdo

- 40 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Um dos procedimentos mais comuns em sistemas comerciais a repetio por um determinado nmero de vezes de um grupo de comandos, ou seja, uma estrutura de repetio. Para tais situaes, o VB oferece comandos prprios. Iremos comear neste mdulo o estudo destes comandos. As estruturas de repetio tambm so conhecidas como Loops. O loop mais comum na maioria das linguagens de programao o For...Next. Este tipo de Loop utilizado para criar um contador de forma automtica e, a cada vez que o contador incrementado, os comandos que esto dentro deste Loop so novamente executados. A seguir veja a sintaxe deste comando: For Contador = nmero_inicial to nmero_final ..... lista de comandos Next Para melhor exemplificar este comando, vamos a seguir gerar um projeto de exemplo com esta finalidade. O projeto ter duas caixas de edio, sendo que a primeira ir representar o nmero inicial da contagem e a segunda o nmero final da contagem e a cada nmero incrementado, este ser apresentado dentro de um ListBox. Veja a seguir passo a passo a nossa aplicao: No formulrio que apresentado, adicione: Labels; TextBox; ListBox; CommandButton.

Inicie um novo projeto no VB;

2 2 1 2

Label1 Label2

Altere as seguintes propriedades dos componentes citados: Componente Caption = Nmero inicial Caption = Nmero final Caption = Inicia contagem Text = apague o contedo desta propriedade Text = apague o contedo desta propriedade Neste ponto, seu formulrio ter o seguinte aspecto: Propriedade/Valor

Command1 Text1 Text2

Quando o usurio for utilizar o sistema, ele ir entrar com um valor para o nmero inicial da contagem e um valor para o nmero final da contagem. Aps clicar no boto "inicia contagem", o sistema ir gerar um Loop, de x (nmero inicial) at y (nmero final) e, a cada nmero da contagem, este ser acrescentado ao ListBox. Para tal procedimento, iremos entrar com a seguinte codificao para o boto "Inicia Contagem": Private Sub Command1_Click() numi = Val(Text1.Text) numf = Val(Text2.Text) For contador = numi To numf List1.AddItem (Str(contador)) Next End Sub

Marcelino Macdo

- 41 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Observe que, o primeiro passo foi armazenar nas variveis NUMI e NUMF o contedo digitado nas caixas Text1 e Text2, porm este contedo foi transformado em valor numrico atravs da funo VAL. Em seguida, criamos um contador (loop), que ir contar de NUMI (nmero inicial) at NUMF (nmero final), armazenando esta contagem na varivel contador e, a cada nmero contado, o nico comando existente entre o FOR e o NEXT ser executado, ou seja, no listbox (LIST1), iremos adicionar um item (additem) que o valor da varivel contador (que faz parte do loop), transformada em String, atravs da funo STR.

Para o boto Finaliza, basta acrescentar o comando END, conforme podemos observar na listagem a seguir: Private Sub Command2_Click() End End Sub Agora, execute o projeto e, insira dois nmeros (inicial e final) e veja o resultado aps clicar no respectivo boto. No exemplo abaixo, preenchemos como nmero inicial 3 e nmero final 6. Observe o resultado:

Agora, execute novamente o projeto, inserindo em nmero inicial um nmero menor do que em nmero final e observe o resultado. Voc ver que nada foi acrescentado ao ListBox, porque da forma como o For...Next foi construdo, a contagem ser realizada em de forma crescente, ou seja, sempre de um nmero menor para um nmero maior. Mas e se fosse necessrio a contagem de um nmero maior para um nmero menor, com incrementos de -1 unidade. Sendo assim, teramos que acrescentar o comando STEP e aps este o incremento, que neste caso seria -1. Veja como ficaria a codificao deste boto neste caso: Private Sub Command1_Click() numi = Val(Text1.Text) numf = Val(Text2.Text) For contador = numi To numf Step -1 List1.AddItem (Str(contador)) Next End Sub Ok, aprendemos a gerar contadores de forma crescente e decrescente. Mas voc deve estar perguntando: como fazer para que o sistema verifique de forma automtica se a contagem ser progressiva ou regressiva? Esta resposta ser fornecida em nossa prxima aula. Salve o projeto para que possamos realizar esta alterao no mdulo 15. - Aula 15 - Tomando decises - fazendo o seu micro pensar No mdulo passado, criamos um projeto na qual exemplificamos os processos de repetio atravs do comando FOR, porm temos um problema no projeto gerado: 1. Se o sistema estiver pronto para uma contagem progressiva e o usurio inserir o nmero inicial maior que o nmero final, nada ser executado; 2. Se o sistema estiver pronto para uma contagem regressiva e o usurio inserir o nmero inicial menor que o nmero final, nada ser executado. Como fazer para que o sistema, de forma automtica, se utilize de um FOR progressivo ou regressivo, de acordo com a diferena entre os nmeros inicial e final? A resposta simples: Iremos gerar um teste que, se o nmero inicial for maior que o nmero final, a contagem ser regressiva, caso contrrio, a contagem ser progressiva. Observe que vinculamos um teste condicional a duas situaes possveis e, para este procedimento, temos no VB6 um comando que serve como uma luva ... A sintaxe bsica deste comando a seguinte:

Marcelino Macdo

- 42 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante If <teste> then comandos a serem executados caso teste seja verdadeiro Else comandos a serem executados caso o teste seja falso End If Observe em linguagem simples, como seria nosso cdigo para a condio exposta: If nmero_inicial > nmero_final then realize uma contagem regressiva Else realize uma contagem progressiva End if Vamos ento na forma de cdigo VB, alterar o boto "Inicia contagem", que foi criado no projeto do mdulo passado e inserir o cdigo que segue: Private Sub Command1_Click() numi = Val(Text1.Text) numf = Val(Text2.Text) If numi > numf Then For contador = numi To numf Step -1 List1.AddItem (Str(contador)) Next Else For contador = numi To numf List1.AddItem (Str(contador)) Next End If End Sub Observe que geramos duas rotinas distintas, cada uma para um dos casos (verdadeiro ou falso) e atravs deste mecanismo, conseguimos fazer com que o nosso sistema seja "inteligente" e esteja pronto para agir em diversas situaes. O procedimento de "fazer o sistema pensar" de grande utilidade em aplicativos comerciais, pois nunca sabemos como o usurio ir agir. Execute agora o projeto e faa entradas com nmeros iniciais maiores que os finais e da forma inversa tambm. - Aula 16 - Estruturas de repetio (continuao) No VB, alm do For ... Next, temos outros comandos de repetio e, iremos estudar neste mdulo o comando DO ... LOOP. Ao contrrio do For ... Next, onde estipulamos um determinado nmero de vezes que o lao dever executar, no DO ... LOOP este nmero de vezes ser determinado atravs de uma determinada condio. Veja o trecho de cdigo a seguir: Do While contador<30 contador = contador + 1 Loop Observe que, no exemplo acima, o lao (conjunto de comandos) ser executado enquanto o valor da varivel contador for inferior 30. Caso o valor de contador, atravs de cdigo (contador=contador+1), este Loop seria eterno (desde que, ao alcanar a linha DO WHILE, a varivel contador tivesse um valor inferior a 30). Em resumo, este tipo de Loop utilizado quando no sabemos ao certo quantas vezes o lao deve ser executado. Veja o exemplo a seguir:

Abra a janela de cdigo e insira a sequncia a seguir no evento LOAD do Form: Private Sub Form_Load() contador = 1 continua = "s" Do While continua <> "n" List1.AddItem (Str(contador)) continua = InputBox("Pergunta", "Continua contagem S/N?", "s") contador = contador + 1 Loop

Inicie um novo projeto em VB; Insira no novo formulrio um Label e um ListBox Apague o contedo da propriedade CAPTION;

Marcelino Macdo

- 43 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Label1.Caption = "Contagem Finalizada" End Sub Neste pequeno exemplo, enquanto voc continuar respondendo (s) na caixa de dilogo denominada "Pergunta", o sistema ir acrescentando uma unidade a varivel contador e ao mesmo tempo, lanando o seu valor dentro do ListBox. A partir do momento que voc digitar "n", ou seja, que no quer que a contagem prossiga, o sistema sair do loop, pois este vlido apenas enquanto o valor da varivel continua for diferente de "n" e, voc finalmente conseguir ver o contedo do ListBox com o nmero de vezes que o loop foi executado. Exerccio: observe que no exemplo acima, quando solicitamos que a contagem seja interrompida, sempre teremos uma unidade a mais do que realmente foi solicitado. Tente solucionar este problema. A condio a ser utilizada para interromper o Loop poder ser qualquer uma condio lgica existente no VB. Caso queira tambm, poder interromper o Loop mesmo que a condio seja falsa, utilizando-se para isso, em qualquer ponto do Loop, o comando ExitDo. este tipo de comando, geralmente acompanhando de um comando If, ou seja, teremos uma condio dentro de um Loop condicional. - Aula 17 Muito se fala do temporizador oferecido como forma de controle no VB6. O temporizador uso basicamente para verificar o relgio do sistema e utilizar tais informaes dentro do seu projeto. Dentre as propriedades disponveis para este controle, podemos destacar duas: Interval -> Seria o intervalo de tempo, que medido em milisegundos. Aps cada ciclo deste intervalo, o temporizador ir buscar a hora atual no relgio do sistema. O uso deste controle interessante por exemplo, em um sistema de controle de carros em um estacionamento ou ento em sistemas de folha de ponto. Outras propriedades deste controle no so importantes, visto que este controle no apresentado em tempo de execuo no formulrio. A nvel de eventos, o temporizador possui apenas um nico evento denominado Timer(), ocorrendo sempre que o temporizador transcorre o intervalo determinado na propriedade Interval. Veja na figura a seguir o controle em questo:

Enabled -> ativa ou desativa o temporizador (true ou false)

Vamos gerar um pequeno aplicativo que ter o o bjetivo de exibir a hora atual na barra de ttulos de um determinado formulrio. Para isso, siga os passos abaixo: 1. Inicie o VB e um novo projeto; 2. Defina a propriedade CAPTION do formulrio como HORA ATUAL: 3. Insira no formulrio um controle "Timer"; 4. Altere a propriedade Enabled para true; 5. Altere a propriedade Interval para 1000 (equivalente a 1 segundo); 6. D um clique duplo sobre o temporizador (controle Timer) para que o editor de cdigo seja aberto no evento Timer() do controle e, insira o seguinte cdigo: Private Sub Timer1_Timer() Dim frase As String frase = Time$ Caption = "Hora atual:" & frase End Sub
Na verdade, criamos a varivel FRASE que ir receber a cada segundo (1000 milisegundos, devido a propriedade Interval do temporizador estar com este valor) e em seguida, a propriedade CAPTION do formulrio ser atualizado com o novo valor da hora do sistema. Veja o resultado do aplicativo em execuo na figura a seguir:

Marcelino Macdo

- 44 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Assim como "lanamos" a hora ao caption do formulrio, voc poder usa-lo atravs de variveis, gerar registros em banco de dados, etc...

- Aula 18 - Barras de rolagem O primeiro passo no achar que o controle de barra de rolagem de uma janela padro Windows (como por exemplo o de seu navegador) com o controle de barra de rolagem do VB6, visualizado em destaque na figura a seguir:

O primeiro controle em destaque o da barra de rolagem horizontal e o segundo da barra de rolagem vertical. Normalmente utilizamos estes controles em um determinado projeto para incrementar (para mais ou para menos) valores, como por exemplo a intensidade de brilho em uma determinada figura. Na tabela a seguir, observe as principais propriedades das barras de rolagem: Propriedade Max Min LargeChance SmallChange Valor Determina o valor mximo a ser atribudo ao controle Determina o valor mnimo a ser atribudo ao controle Determina o quanto o valor da propriedade Value ser incrementado quando utilizado o componente Informa o grau de alterao da propriedade Value quando ocorrer o click em uma das extremidades da seta.

Vamos gerar um pequeno projeto para exemplificar o uso das barras de rolagem: 1. Inicie um novo projeto em VB; 2. Insira no formulrio um componente HScrollBar e altere as seguintes propriedades do mesmo:

Marcelino Macdo

- 45 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Propriedade Min Max Value 0 1000 100

Contedo

Observe que o indicador da barra de rolagem estar na posio 100 de um total de 1000 posies vlidas 3. Inclua dois CommandButtoms no Form; 4. Altere a propriedade Caption do segundo boto para "Finaliza"; 5. Apague o contedo da propriedade Caption do primeiro boto; 6. D um clique duplo no segundo boto e entre com a seguinte codificao para o mesmo: Private Sub Command2_Click() End End Sub 7. D um duplo clique no controle HScrollBar e entre com a seguinte codificao: Private Sub HScroll1_Change() Command1.Caption = HScroll1.Value End Sub 8. Agora execute o projeto. V movimentando atravs de cliques nas partes extremas da barra de rolagem ou na parte livre de seu canal de volume e verifique que, o interior do primeiro boto ir assumindo o valor da barra de rolagem, conforme podemos observar a seguir:

Para que possamos compreender um pouco melhor este controle, vamos aproveitar o mesmo projeto efetuando as seguintes alteraes: 9. Exclua o primeiro boto; 10. Inclua um Label e altere a propriedade Caption do mesmo para "aprendaemcasa.com.br" 11. Altere as propriedades Min e Max do HScrollBar para 6 e 24 respectivamente 11. D um clique duplo no controle de barra de rolagem e altere a sua codificao para: Private Sub HScroll1_Change() Label1.FontSize = HScroll1.Value End Sub Observe a seguir como ficou o seu formulrio:

Marcelino Macdo

- 46 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Agora execute o projeto e movimente o ponteiro da barra de rolagem. Observe que de forma automtica o tamanho da fonte da frase que est dentro do label vai sendo ampliado ou reduzido, devido ao seguinte comando: Label1.FontSize = HScroll1.Value Neste comparamos o tamanho da fonte da frase (contedo do caption) do Label1 posio do volume da barra de rolagem. - Aula 19 - Botes de opo Os botes de opo tambm so conhecidos pelo nome de botes de rdio. O uso deste tem o objetivo de permitir ao usurio selecionar uma opo dentre as disponveis (apenas uma nica opo). Quando usados em um programa, por permitirem apenas uma seleo dentre as disponveis, gerando esto agrupados em um quadro. Dentre as propriedades mais utilizadas dos botes de rdio, destacamos: Propriedade Name Caption Value Style Valor define o nome do componente. Nome este que identificar o mesmo durante a codificao do sistema. Define um contedo para a opo a nvel de usurio Atravs desta propriedade poderemos testar se o boto est acionado ou no (true ou false). Aqui voc define se o boto ter a aparncia padro ( 0-standard) ou a aparncia de um boto (1-graphical)

Dentre os eventos, o mais utilizado o Click() que acionado assim que usurio seleciona o boto, ou seja, marca a sua opo. Vamos criar um projeto exemplo, onde o usurio ir entrar com o valor total da compra e, de acordo com a opo de pagamento, ter um desconto, o valor permanecer o mesmo ou ento teremos um acrscimo no valor total a ser pago. 1. Inicie um novo projeto em VB; 2. Insira na parte superior do formulrio um LABEL e altere a propriedade Caption deste para VALOR TOTAL DA COMPRA; 3. Insira ao lado do label citado um componente TEXTBOX e apague o contedo da propriedade TEXT; 4. Insira abaixo do label um componente OptionButton e altere a propriedade CAPTION do mesmo para VISTA COM 10% DE DESCONTO; 5. Insira abaixo um novo componente OptionButton e altere a propriedade CAPTION deste para CHEQUE PARA 30 DIAS SEM JUROS; 6. Insira abaixo um novo componente OptionButton e altere a propriedade CAPTION deste para CHEQUE PARA 60 DIAS COM JUROS DE 3%; 7. Abaixo, insira um componente Label e altere a propriedade CAPTION deste para TOTAL A PAGAR 8. Ao lado, insira um componente TextBox e apague o contedo da propriedade TEXT. 9. Ao final deste procedimento, seu formulrio ter o seguinte aspecto:

Marcelino Macdo

- 47 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Nosso prximo passo criar a codificao do sistema. Esta bastante simples, ao clicar (evento click) em qualquer um dos botes de rdio disponveis, o sistema ir fornecer no segundo TextBox o valor total a ser pago pelo cliente, j calculado o desconto ou acrscimo sobre o valor total ou, se for o caso, mantendo o valor total. Para codificar a primeira opo, ou seja, para o pagamento vista e calcular 10% de desconto, d um clique duplo sobre o componente OptionButton1 e entre com a seguinte codificao: Private Sub Option1_Click() a1 = Val(Text1.Text) a2 = (a1 * 0.9) Text2.Text = Str(FormatCurrency(a2, 2, vbTrue, vbTrue, vbTrue)) End Sub Observe que aqui, o primeiro passo foi transferir para a varivel A1 o contedo da caixa de textos TEXT1 devidamente transformado em nmero atravs da funo VAL. Em seguida estamos multiplicando o valor da compra por 0.9 (oferecendo 10% de desconto) e transferindo este valor sobre a forma de moeda (funo FORMATCURRENCY) para dentro da segunda caixa de texto TEXT2. Vamos ento codifcar o segundo boto de rdio. D um clique duplo sobre o mesmo e entre com a seguinte codificao: Private Sub Option2_Click() Text2.Text = Text1.Text End Sub Este procedimento mais simples, como o valor o mesmo (sem acrscimo ou desconto), estamos apenas transferindo para a caixa de edio 02 o contedo da caixa de edio 01. Vamos agora codificar o terceiro boto de rdio. D um clique duplo sobre o mesmo e entre com a seguinte codificao: Private Sub Option3_Click() a1 = Val(Text1.Text) a2 = ((a1 * 3) / 100) a3 = a1 + a2 Text2.Text = Str(FormatCurrency(a3, 2, vbTrue, vbTrue, vbTrue)) End Sub Observe que a lgica aqui empregada similar ao do primeiro boto de rdio, mudando apenas as operaes aritmticas realizadas. - Aula 20 - Utilizando caixas de seleo O controle que iremos estudar na aula de hoje muito similar ao que estudamos no mdulo de aula anterior, sendo que podemos destacar as seguintes diferenas entre eles: 1. Nas caixas de seleo representam um nico controle cada; 2. As caixas de seleo no so mutuamente exclusivas. J as caixas de seleo possuem trs configuraes para a propriedade Value:

Selecionada;

Marcelino Macdo

- 48 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Acinzentada As propriedades mais utilizadas em caixas de seleo so:

No selecionada;

Name Caption

Value J o evento mais utilizado para este controle o evento Click(), disparado quando o usurio marca a caixa de seleo em questo. Vamos criar um simples projeto para que voc entenda a funcionalidade destes controles: 1. Inicie um novo projeto no VB; 2. Insira no formulrio, na parte superior do mesmo, dois controles de caixas de seleo (um abaixo do outro); 3. Altere a propriedade Caption da primeira caixa de seleo para NEGRITO: 4. Altere a propriedade Caption da segunda caixa de seleo para ITLICO; 5. Insira abaixo dos dois controles anteriores um Label e altere a propriedade Caption do mesmo para ABAIXO, DIGITE UM TEXTO; 6. Abaixo do label, insira um controle TextBox e apague o contedo da propriedade Text do mesmo. Ao final destes procedimentos, seu formulrio ter o seguinte aspecto:

O objetivo deste projeto simples: Sempre que a caixa NEGRITO estiver selecionada o contedo digitado no controle Text ficar em negrito e quando no selecionado, o contedo sair do negrito. O mesmo acontecer com o controle Itlico. O prximo passo codificar o evento Click do controle CheCkBox1. Veja a codificao a seguir: Private Sub Check1_Click() If Check1.Value = 1 Then Text1.FontBold = True Else Text1.FontBold = False End If End Sub As linhas acima so simples de serem analisadas. Primeiro testamos se a propriedade Value do Ckeck1 igual 1, ou seja, se a mesma est ticada. Caso positivo, a font do tipo negrito (fontbold) do controle Text ser true (ativada), caso contrrio, ser falsa (desativada). Esta mesma lgica iremos utilizar para codificar o evento Click do Ckeck2, porm ao invs de utilizar FontBold, iremos utilizar FontItalic, conforme observamos na listagem a seguir: Private Sub Check2_Click() If Check2.Value = 1 Then Text1.FontItalic = True Else Text1.FontItalic = False End If End Sub Agora, execute o projeto, digite um contedo qualquer dentro da rea de texto e marque/desmarque as duas caixas de selees e veja os resultados.

Marcelino Macdo

- 49 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

- Aula 21 - Utilizando caixas de lista Uma caixa de lista nada mais do que uma caixa que tem a finalidade de exibir dados sobre a forma de lista. Este controle comum em diversos aplicativos do Windows. Uma das caractersticas das caixas de lista que o usurio no poder editar diretamente seu contedo (ou seja, dentro da prpria lista). Dentre as principais propriedades das caixas de lista, podemos destacar: List - define ou retorna o valor de um item de uma lista. Vale lembrar que os itens de uma caixa de lista so controlados por um ndice, este ndice tem seu primeiro valor igual ao nmero zero (0), assim sendo, uma caixa de lista com 5 itens, ter como ndice o nmero zero (0) ao nmero 4 (quatro). Atravs da propriedade List poderemos obter um item de uma lista. Veja o exemplo a segui: List1.list(3) -> neste caso estamos nos referindo ao quarto item de uma lista. Lembre-se que o primeiro item tem o ndice zero (0).

Columns - este propriedade permite especificar o nmero de colunas que nossa lista ter;

ListIndex - Retorna a posio indexada do item selecionado; ListCount - fornece o nmero de itens de uma caixa de lista; MultiSelect - define se o usurio poder ou no selecionar mais de um item da lista de forma simultnea;

Sorted - ordena (true) ou no (false) os dados da lista. Entre os principais eventos das caixas de lista temos: DblClick - ocorre quando existe um clique sobre um dos itens da lista. Mtodos da caixa de lista:
AddItem - adiciona um item a caixa de lista; Clear - remove todos os itens de uma caixa de lista;

RemoveItem - remove um item de uma caixa de lista. Vamos criar um pequeno projeto para que voc entenda melhor tudo o que vimos at este ponto. 1. Execute o VB6; 2. Inicie um novo projeto; 3. Insira no seu formulrio duas caixas de listas, uma em cada extremidade do formulrio; 4. Insira na parte inferior do formulrio, abaixo da primeira lista um Label, ao lado um TextBox e ao lado um Buttom. Ao final deste procedimento, sua janela ter o seguinte aspecto:

5. Agora, inclua entre as duas listas 8 Buttons; 6. Altere as seguintes propriedades dos componentes j inclusos: Componente Label1 Command1 Command2 Caption Caption Caption Propriedade Dado: Inclui: ===> Valor

Marcelino Macdo

- 50 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Command3 Command4 Command5 Command6 Command7 Command8 Caption Caption Caption Caption Caption Caption <=== <= Exclui Exclui => <= Limpa lista Limpa Lista => Finaliza

Ao final deste procedimento, seu formulrio ter o seguinte aspecto:

Vamos comear a codificar nosso sistema. O primeiro passo fazer com que o usurio ao digitar alguma informao (dado) na caixa de edio Text2 e clicar sobre o boto INCLUI, esta informao seja adicionada na lista 01. Para isso, d um clique duplo no boto INCLUI e entre com a seguinte codificao: Private Sub Command1_Click() List1.AddItem Text1.Text End Sub Observe que nos comandos acima, estamos adicionando (additem) lista 1 (List1) o contedo digitado no controle TextBox1 (Text1.Text). Veja como simples adicionar itens em uma lista atravs do VB. Vamos agora codificar o boto Command2 ( ===> ) que tem a finalidade de levar o item selecionado no List1 para o List2. Para tal funo, d um clique duplo no boto em questo e entre com a seguinte codificao: Private Sub Command2_Click() List2.AddItem List1.Text List1.RemoveItem (List1.ListIndex) End Sub Observe a primeira linha de comando da rotina citada. Adicionamos na lista2 (List2.AddItem) o contedo do item selecionado na Lista1 (List1.Text). Em seguida, removemos o Item transferido para a lista2 da lista1 (List1.RemoveItem(ListIndex)). Conforme podemos observar, para remover um item de uma lista, temos que especificar o ndice do mesmo e, como queremos remover o item selecionado, utilizamos a propriedade ListIndex. Vamos codificar o Command3 ( <=== ), que tem funo contrria do boto que acabamos de codificar. Os comandos utilizados neste boto sero muito parecidos com os utilizados no boto anterior. Veja a seguir: Private Sub Command3_Click() List1.AddItem List2.Text List2.RemoveItem (List2.ListIndex) End Sub Agora, vamos codificar o boto Command4 ( <== Exclui ) que tem a finalidade de apenas excluir o item selecionado na lista1. Para isso, d um clique duplo no boto em questo e, entre com a seguinte codificao: Private Sub Command4_Click() List1.RemoveItem (List1.ListIndex) End Sub No comando acima, voc simplesmente solicitou a excluso do item da lista1 que est selecionado (List1.RemoveItem (list1.ListIndex)).

Marcelino Macdo

- 51 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Em seguida, vamos codificar o boto Command5 ( Exclui ==> ), que tem a mesma sintaxe utilizada no boto anterior, com a diferena de utilizar sempre o List2 ao invs do List1. Veja a codificao a seguir: Private Sub Command5_Click() List2.RemoveItem (List2.ListIndex) End Sub Vamos agora codificar o boto ( <= Limpa lista ), que tem a funo de excluir todos os itens da lista 01. O comando simples, conforme podemos observar abaixo: Private Sub Command6_Click() List1.Clear End Sub O prximo passo codificar o boto ( Limpa lista => ) que tem o objetivo de excluir todos os itens da lista 02. O comando similar ao utilizado no procedimento anterior, apenas se trocando o List1 por List2. Veja abaixo: Private Sub Command7_Click() List2.Clear End Sub Vamos agora codificar o ltimo boto, que tem a finalidade de finalizar o programa. Para isso, basta digitar o comando END em seu procedimento de duplo clique. Private Sub Command8_Click() End End Sub Execute agora o sistema e verifique os resultados. - Aula 22 - Utilizando caixas de lista de unidades, diretrios e arquivos Neste mdulo iremos estudar trs controles que normalmente so utilizados em conjunto em um projeto. Veja no grfico a seguir os trs controles que iremos estudar marcados e numerados: 01 - Caixas de lista de unidades 02 - Caixas de lista de diretrios 03 - caixas de lista de arquivos O controle caixa de lista de unidades (DriveListBox) permite ao usurio selecionar uma determinada unidade a ser trabalhada (drive de disquete, drive de CD, Winchester, etc...). Este controle poder ser utilizado tanto para selecionar um drive para leitura de dados como para gravao de dados. Como principal propriedade deste componente temos a DRIVE, sendo que esta uma propriedade de execuo e que retorna ao sistema a unidade de drive selecionada pelo usurio durante a execuo do projeto. A propriedade em questo sempre utilizado em conjunto com o evento OnChange, ou seja, quando o usurio selecionar uma nova unidade J as caixas de lista de diretrios (DirListBox) permite selecionar um diretrio (pasta) na unidade que estiver ativa (selecionada pelo controle DriveListBox). As propriedade mais utilizada neste controle a Path que armazena o caminho que est sendo utilizado no drive selecionado. J o evento mais utilizado o Change(), ou seja, quando selecionarmos um novo caminho (patch). As caixas de listas de arquivos (FileListBox) utilizada para relacionar os nomes dos arquivos que esto em um determinado caminho (DirListBox)/unidade (DriveListBox). Dentre as principais propriedades deste controle, podemos destacar:

Pattern - define a extenso dos arquivos visveis no controle O evento mais comum a ser utilizado neste controle o evento Click(). Vamos gerar um simples programa com estes controles para que voc entenda o seu funcionamento: 1. Inicie um novo projeto no VB6; 2. Insira no seu formulrio os seguintes componentes:

Path - armazena o caminho na qual os arquivos devem ser relacionados; FileName - armazena o nome do arquivo que est/estar sendo manipulado;

1 Label Seu formulrio dever ter o seguinte aspecto:

1 DriveListBox; 1 DirListBox; 1 FileListBox;

Marcelino Macdo

- 52 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Altere agora as seguintes propriedades dos componente que foram inclusos no seu projeto: Componente Form1 Label1 Caption Caption Propriedade Valor Projeto Aprenda em Casa apague o contedo

Agora, vamos codificar os eventos necessrios para que nosso projeto ganhe vida. Selecione o evento Change do DriveListBox e entre com a seguinte codificao: Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Observe que com a codificao acima, quando o componente DriveListBox tiver o seu valor alterado, ser armazenada na propriedade Path (que indica a unidade), a nova unidade selecionada (Drive1.Drive). Agora, vamos codificar o evento Change do componente DirectoryListBox: Private Sub Dir1_Change() File1.Path = Dir1.Path Label1.Caption = File1.Path End Sub Observe que primeiro estamos vinculando que as pastas (caminhos) a serem exibidos (File1.Path) sejam aqueles constantes da unidade selecionada (Dir1.Path) e em seguida, estamos mostrando a unidade dentro do label que inserimos em nosso projeto (Label1.Caption=File1.Path). Agora, vamos codificar o evento Click do componente FileListBox: Private Sub File1_Click() Label1.Caption = File1.Path & " " & File1.FileName End Sub Aqui estamos apenas jogando no label, o nome do arquivo que recebeu o clique. Salve e execute o seu projeto. - Aula 23 - O que um MDI Form? Voc provavelmente j operou um aplicativo comercial no Windows. Neste existe uma janela principal, normalmente com as opes do sistema (menus e botes de atalho) e janelas secundrias, que so abertas de acordo com as opes selecionadas na janela principal. O MDI-Form a janela principal do controle de sua aplicao e, normalmente nesta esto dispostos os menus do sistema e botes de atalho (acesso rpido) onde neste sero ligadas diversas outras janelas (formulrios), tambm conhecidos por janelas filhas. Existe uma propriedade nos formulrios denominada MDIChild, conforme mostra a figura a seguir:

Marcelino Macdo

- 53 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Ao setar esta propriedade para True, voc est indicando que esta uma janela filha e que est subordinada a uma janela me, passando seu projeto a operar de forma idntica ao program manager do Windows 3.1. Normalmente os MDI-Form, conforme citamos anteriormente, possuem os seguintes componentes:

Um menu de sistema - este menu dever ser incluso atravs da seleo da opo de menu Tools ... Menu Editor. Ao selecionar esta opo, ser exibida a seguinte janela na tela do seu equipamento:

Nesta janela voc ir construir o menu de sua aplicao (iremos estudar a mesma com riqueza de detalhes posteriormente)

1.

Uma figura centralizada que normalmente o logotipo da empresa. Esta figura poder ser ligada ao componente IMAGE. Para definir a figura que estar presente dentro do componente, voc dever seguir os passos: Insira no formulrio um componente IMAGE, em destaque na figura a seguir:

2.

Na propriedade Picture, selecionar o grfico que ser aprensentado dentro do componente Image. Botes de atalho rpido para as opes mais importantes de seu sistema.

Marcelino Macdo

- 54 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Porm para se criar um MDI-Form, existe um procedimento especial neste sentido. Veja os passos seguintes: 1. Clique na opo de menu Project; 2. No menu suspenso que exibido selecione a opo ADD MDI-FORM. Neste ponto, ser exibida a seguinte janela:

3.

Confirme a operao clicando no boto ABRIR. Agora, basta voc preparar o seu MDI-Form. - Aula 24 - Criao de Menus em projetos VB

Voc j deve ter observado que todo bom aplicativo for Windows possui na parte superior da janela um Menu do tipo DropDown. este tipo de menu segue um padro para os mais conhecidos aplicativos do sistema operacional Windows. Para criar um menu atravs do VB o procedimento muito simples, pois o VB traz um utilitrio com este fim, sem que seja necessrio escrever uma nica linha de programa sequer. O primeiro passo estar com o formulrio que ir receber o menu com o foco, feito isso, proceda da seguinte forma: 1. Clique na opo de menu Tools; 2. Clique na opo "Menu Editor", neste ponto ser apresentado a seguinte janela na sua rea de trabalho:

Esta a janela do construtor de menus. Dentre as opes disponveis na mesma, temos:

Caixa de texto Caption -> esta utilizada para escrever o nome da opo, por exemplo "Arquivo", "Imprimir", etc...

Marcelino Macdo

- 55 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Caixa de texto Name -> aqui voc ir designar uma "Sub" que ser vinculada a opo que est sendo gerada.

Caixa de texto Index ->Voc utililizar esta caixa quando se torna necessrio o uso de um nico nome de "Subs" criadas, economizando assim rotinas que podero ser controladas a partir de um mesmo ponto com uma espcie de mltipla seleo, conforme podemos observar a seguir: Private Sub MenuPrincipal_Click() Select Case Index Case 0 Frminclui.Show Case 1 Frmaltera.Show Case x ...... End Select End Sub Observe que temos diversas opes em um nico comando de seleo.

Caixa de texto "Help Context ID" -> caso voc saiba trabalhar com arquivos de Help, poder associar um nmero de arquivo de Help do tipo "RTF" e, caso o usurio pressione a tecla <F1> o arquivo em questo ser exibido. Caixa de texto ShortCut -> aqui voc poder definir uma tecla de atalho para a opo que est sendo criada. Caixa de seleo Checked -> define se a opo boleana ou no. - Aula 25 - Criao de Menus em projetos VB - Parte II

Vamos gerar nesta aula um exemplo gerando um pequeno menu para sua aplicao. O primeiro passo iniciar uma nova aplicao no VB e em seguida, siga os passos abaixo: 1. Clique na opo de menu Tools ... Menu Editor. 2. Vamos construir a primeira opo de nosso menu:

Em "Caption" digite "&Arquivo"; Em "Name", digite "Teste1". Ao final deste procedimento, sua janela dever ter o seguinte aspecto:

3.

4.

Agora temos que inserir esta opo no menu que ser incluso no Form, para isso, clique no boto INSERT. Neste momento, a linha azul (que indica a opo que est sendo criada) dever pular para a linha em branco logo abaixo. Voc quer inserir uma nova opo. Esta uma opo principal do menu ou uma opo do menu Arquivo? Se for uma opo do menu Arquivo, voc dever clicar agora no boto representado pela seta apontando para a direita, formando assim uma sub-opo do menu Arquivo. Voc identificar que esta uma sub-opo pois ser observado trs pontos antes do nome da nova opo. Aps criar todas as opes do menu Arquivo, para criar uma nova opo de menu principal, basta antes clicar sobre o boto representado pela seta apontando para a esquerda e, assim sucessivamente

Marcelino Macdo

- 56 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante para criar as sub-opes e opes principais do menu. Clique ento no boto representado pela seta apontando para a direita. Vamos ento criar a sub-opo do menu Arquivo: Em Caption digite "A&brir"; Em ShortCut selecione a opo "CTRL+O"; Em Name digite "Teste2"; Clique no boto "Next"; Voc tambm deve estar perguntando o porque do smbolo "&". A letra que est logo aps este smbolo ser aquela utilizada em conjunto com a tecla ALT para acionar esta opo no menu. Agora que voc j conhece a forma correta de operar o construtor de menu, crie um com a seguinte estrutura:

5.


6.

7. 8.

Clique em OK; Execute seu aplicativo, veja o resultado:

- Aula 26 - Criao de Menus em projetos VB - Parte III

Marcelino Macdo

- 57 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Nem sempre uma opo de menu efetua alguma espcie de ao dentro do prprio formulrio que o contm. Muitas das vezes, ao selecionar uma opo de menu, um novo formulrio aberto para executar o procedimento proposto na opo selecionada. Este ser o objetivo da aula de hoje, exibir como chamar um novo Form atravs de uma opo de menu. Para tal, iremos gerar um exemplo para ficar claro como tal procedimento se realiza.

No Form principal de nossa aplicao, insira um componente de menu, contendo as seguintes opes: Arquivo Finaliza Editor Texto Editor grfico Finaliza Ao final deste procedimento, sua janela de menus ter o seguinte aspecto:

Execute o VB6; Solicite a criao de uma nova aplicao;

O prximo passo criar na aplicao o novo formulrio, que iria receber um editor de textos, pois o Form1, que criado automaticamente quando solicitamos uma nova aplicao no VB, ter o menu do sistema (e em um programa comercial, outros elementos, porm estamos gerando um sistema simples apenas para exemplificar a chamada de outros forms atravs de menus). Para isso, clique na opo de menu PROJECT ... ADD FORM. Neste ponto ser apresentada a seguinte janela:

Marcelino Macdo

- 58 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Selecione a opo FORM e em seguida clique em OK. O novo Form apresentado na sua rea de desenvolvimento, tendo como nome inicial FORM2, conforme podemos observar na figura a seguir:

Altere a propriedade NAME do form2 para EDITOR; Inclua no form EDITOR um componente LABEL e um componente BUTTOM; Altere a propriedade CAPTION do LABEL para "Voc est no editor de textos"; Altere a propriedade CAPTION do BUTTOM para "Fecha Editor". Neste ponto o formulrio EDITOR ter o seguinte aspecto:

Marcelino Macdo

- 59 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

D um clique duplo no buttom1 e entre com a seguinte codificao: Private Sub Command1_Click() Unload Me End Sub
Neste comando estamos solicitando que o formulrio EDITOR seja descarregado do sistema quando solicitado para que o mesmo seja fechado e o controle volte ao formulrio que o chamou, porm at o momento no codificados o FORM1 na opo de menu EDITOR DE TEXTO a chamada ao formulrio EDITOR, para isso, retorne o foco ao FORM1, e entre com a seguinte codificao para a opo de menu ARQUIVO ... EDITOR DE TEXTO (basta em tempo de desenvolvimento, clicar sobre esta opo que a janela de cdigo se abre automaticamente): Private Sub texto_Click() editor.Show End Sub

Observe que carregamos no evento Click desta opo de menu o form EDITOR atravs do comando EDITOR.SHOW (exiba o form Editor) e, aps o mesmo ter sido trabalhado e quando o usurio clicar no boto FECHA EDITOR, a respectiva janela ser fechada, voltando o controle ao formulrio principal de nossa aplicao. Execute o projeto e teste esta opo de menu j codificada. Agora, tente criar o terceiro FORM que representaria o editor grfico e fazer com que o usurio possa fecha-lo e retornar o controle ao menu principal da aplicao. Em caso de dvidas, consulte o suporte.

- Aula 27 - Visual Basic 6 e funes - Parte I Voc saberia definir o que uma funo? Uma funo nada mais do que um ou mais comandos que retornam um valor determinado de acordo com os parmetros informados. Existem uma srie de funes prontas para uso em VB6. Neste mdulo iremos estudar algumas delas. Vamos comear a citar as funes que tratam de Strings, para isso, vamos criar um simples projeto para exemplificar as mesmas.

Inicie um novo projeto; Na parte superior do form criado, insira um componente LABEL e altere a propriedade CAPTION do mesmo para DIGITE UMA PALAVRA/FRASE; Ao lado deste label, inclua um componente TEXTBOX e apague o contedo da sua propriedade TEXT; Inclua abaixo da linha que contm o label e o textbox um componente BUTTOM, e altere a propriedade CAPTION do mesmo para TESTE DE FUNES; Insira na linha abaixo e um abaixo do outro, mais 4 componentes LABELs, alterando a propriedade CAPTION dos mesmos para: FUNO LCASE, FUNO UCASE, FUNO LEFT, FUNO RIGHT, respectivamente.

Marcelino Macdo

- 60 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Ao lado de cada um dos 4 labels inseridos no passo anterior, inclua um componente TEXTBOX, apagando o contedo da sua propriedade TEXT. Ao final deste procedimento, seu formulrio ter o seguinte aspecto:

Antes de codificarmos o boto "TESTE DE FUNES", vamos ver o que faz cada uma e a sintaxe que dever ser empregada nas mesmas: Funo LCASE Esta funo converte as letras minsculas de uma string em maisculas. Sua sintaxe : LCASE (string) Funo UCASE Esta funo converte as letras maisculas de uma string em minsculas. Sua sintaxe : UCASE (string) Funo LEFT Esta funo retorna os "x" primeiros caracteres de uma string. Sua sintaxe : LEFT (string, nmero_de_caracteres) Funo RIGHT Esta funo retorna os "x" ltimos caracteres de uma string. Sua sintaxe : RIGHT (string, nmero de caracteres). Agora que j sabemos o objetivo das funes que vamos utilizar e suas sintaxes, iremos codificar nosso pequeno sistema. Para isso, d um clique duplo no buttom e entre com a seguinte codificao: Private Sub Command1_Click() Text2.Text = LCase(Text1.Text) Text3.Text = UCase(Text1.Text) Text4.Text = Left(Text1.Text, 3) Text5.Text = Right(Text1.Text, 3) End Sub Execute o projeto, entre com o nome "SO paulo" no primeiro TextBox, clique no boto que testa as funes e veja os resultados: Passo 1 -> executando e digitando a frase citada no TextBox:

Marcelino Macdo

- 61 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Passo 2 -> clicando no boto TESTE DE FUNES:

- Aula 28 - Visual Basic 6 e funes - Parte II Neste mdulo vamos estudar algumas funes do VB que tem o objetivo de formatar os dados que sero exibidos em um determinado sistema.

FUNO FORMATCURRENCY Esta funo tem o objetivo de formatar um determinado numero ou varivel numrica para que seu contedo seja exibido em formato de moeda. A sintaxe deste comando : FormatCurrency (valor, nmero_casas_decimais,true1 ou false1, true2 ou false2, true3 ou false3) Sendo que: O true1 ou false1 indica se voc quer ou no que sejam exibidos zeros esquerda de uma virgula decimal. O true2 ou false2 indica se voc quer ou no que o valor seja colocado dentro de parnteses no caso de nmero negativo. O true3 ou false3 indica se voc quer ou no separar as casas de milhar. FUNO FORMATNUMBER Esta funo tem o objetivo de formatar um determinado nmero ou varivel numrica no que se diz respeito a forma pela qual o valor deste ser exibido. idntica a funo FORMATCURRENCY, porm no trata os valores como sendo moeda e sim simplesmente nmeros formatados. Sua sintaxe idntica a funo FORMATCURRENCY. FormatNumber (valor, nmero_casas_decimais,true1 ou false1, true2 ou false2, true3 ou false3) Sendo que:

Marcelino Macdo

- 62 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante O true1 ou false1 indica se voc quer ou no que sejam exibidos zeros esquerda de uma virgula decimal. O true2 ou false2 indica se voc quer ou no que o valor seja colocado dentro de parnteses no caso de nmero negativo. O true3 ou false3 indica se voc quer ou no separar as casas de milhar. Para melhor compreender as duas funes acima, vamos gerar um pequeno exemplo: 1. Inicie o VB e solicite uma nova aplicao; 2. Inclua na parte superior do FORM um Label e ao lado um TextBox; 3. Altere a propriedade CAPTION do label para "Entre com um nmero"; 4. Apague o contedo TEXT do componente TEXTBOX; 5. Inclua abaixo dos componentes dos passos anteriores dois CommandButton; 6. Altere a propriedade Caption do primeiro para "Formata em Moeda"; 7. Altere a propriedade Caption do segundo para "Formata em nmero"; 8. Ao final deste procedimento seu formulrio ter o seguinte aspecto:

9. Vamos codificar o primeiro boto (formata em moeda). D um duplo clique sobre este e entre com a seguinte codificao: Private Sub Command1_Click() x = Val(Text1.Text) MsgBox FormatCurrency(x, 2, vbTrue, vbTrue, vbTrue) End Sub O primeiro passo foi armazenar na varivel "x", o valor do text1.text transformado em nmero, para isso usamos a funo VAL, pois sabemos que o contedo de um TextBox sempre String e para que possamos utilizar as funes FormatCurrency e Number, temos que ter um valor do tipo numrico. Em seguida, criamos uma caixa de dilogo (MSGBOX) que ir conter o valor da varivel "x", em formato de moeda (formatcurrency), com duas casas decimais, com zeros esquerda da virgula decimal, sendo um nmero negativo este ser apresentado entre parnteses e com separador de casas decimais. 10. Vamos agora codificar o segundo boto (formata em nmero). D um clique duplo sobre este e entre com a seguinte codificao: Private Sub Command2_Click() x = Val(Text1.Text) MsgBox FormatNumber(x, 2, vbTrue, vbTrue, vbTrue) End Sub O primeiro passo foi armazenar na varivel "x", o valor do text1.text transformado em nmero, para isso usamos a funo VAL, pois sabemos que o contedo de um TextBox sempre String e para que possamos utilizar as funes FormatCurrency e Number, temos que ter um valor do tipo numrico. Em seguida, criamos uma caixa de dilogo (MSGBOX) que ir conter o valor da varivel "x", em formato de nmero (formatNumber), com duas casas decimais, com zeros esquerda da virgula decimal, sendo um nmero negativo este ser apresentado entre parnteses e com separador de casas decimais. Execute agora nosso pequeno projeto, e entre com o seguinte nmero: 123456,58. Em seguida, d um clique em cada um dos botes para ver o resultado. A sequncia do resultado exibida nos grficos a seguir: Neste primeiro passo entramos com o valor solicitado.

Marcelino Macdo

- 63 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Aqui est sendo exibida a janela que ser mostrada na sua tela quando clicar sobre o boto "formata em moeda".

Aqui est sendo exibida a janela que ser mostrada na sua tela quando clicar sobre o boto "formata em nmero".

Coloque agora um operao, voc ir

sinal de negativo ao lado do nmero do TextBox e repita a perceber que os nmeros sero exibidos dentro de parnteses. - Aula 29 - Manipulando dados em arquivos ASC II - Parte I

No VB6 existem duas maneiras bsicas de armazenar informaes: Atravs de arquivos ASC II. Dentre as caractersticas de arquivos ASC II, podemos destacar:

Atravs do uso de banco de dados (a mais utilizada por oferecer maiores recursos)

Armazenam dados do tipo texto; Possuem seus valores (lista de valores) separados por vrgulas (CSV);

Podem especificar uma informao por linha de texto ou por uma formatao determinada por sua pessoa. Quando trabalhamos com arquivos ASC II, poderemos manipular este atravs dos seguintes tipos: Sequnciais; Randmicos;

Binrios. O primeiro passo para se trabalhar com arquivos do tipo ASC II abrir o mesmo. Aqui existe uma observao importante: Se voc especificar para a abertura um arquivo que no exista, este ser criado na hora e ter como contedo o valor nulo, ou seja, nada. Para abrir um arquivo do tipo ASC II, temos o comando OPEN, com a seguinte sintaxe: OPEN <nome do arquivo> FOR <tipo do arquivo> AS <manipulador> Sendo que:

Nome do arquivo: nome que ser dado ao futuro arquivo ASC II ou o nome do arquivo ASC II j existente que dever ser aberto. Tipo do arquivo: aqui ser especificado a forma pela qual o arquivo ser aberto. Dentre as possveis temos:

o o o o o

Append Input OutPut Binary Random

Manipulador: tambm conhecido como Handle, que tem a funo de concretizar a referncia ao arquivo aberto. O parmetro <tipo do arquivo> opcional e, caso seja omitido, o arquivo ser do tipo Random (padro do VB). Aps manipular os dados do arquivo, dever fechar o mesmo atravs do comando CLOSE, que tem a seguinte sintaxe: CLOSE <nome do arquivo> Vamos comear falando sobre os arquivos ASC II do tipo sequncial, que aquele constitudo por uma conjunto de linhas de texto. Neste tipo de arquivo, para que possamos incluir novas informaes no mesmo (escrever dados), deveremos atribuir a este o tipo de arquivo INPUT ou APPEND, sendo que:

No tipo INPUT, os dados sero sobrescritos; No tipo APPEND, os dados sero acrescentados aos j existentes ao final do contedo j armazenado.

Marcelino Macdo

- 64 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante Se o procedimento a ser adotado for a leitura do contedo de um arquivo do tipo sequncial, teremos ento que atribuir a este o tipo de arquivo OUTPUT. Para que possamos escrever (gravar) informaes no arquivo gerado, iremos utilizar o comando PRINT. Para que estes comandos fiquem claros, vamos gerar um pequeno exemplo em VB e em seguida acompanhar o seu resultado no WordPad do Windows. Para tal, proceda da seguinte maneira:

Execute o VB6 e solicite a criao de uma nova aplicao; No novo form que lhe oferecido, na parte superior, inclua um componente Label e altere a propriedade CAPTION do mesmo para "Nome do Aluno"; Inclua ao lado do Label um componente TextBox e apague o contedo de sua propriedade Text; Inclua abaixo um componente CommandButton e altere a propriedade Caption deste para "Gravar"; Ao final deste procedimento, seu formulrio ter o seguinte aspecto:

Agora d um clique duplo sobre o Button e entre com a seguinte codificao: Private Sub Command1_Click() Dim manipulador As Integer manipulador = FreeFile Open "C:\meus documentos\apcasa.txt" For Append As manipulador Print #manipulador, Text1.Text Close manipulador Text1.Text = "" End Sub
O primeiro passo foi criar a varivel manipulador, que sendo atribuda a mesma o valor FreeFile faz com que o sistema retorne o prximo manipulador de arquivos disponvel, que dever ser utilizado em todas as instrues do tipo Open, Print# e Close. Depois abrimos o arquivo APCASA.TXT que est armazenado no diretrio "meus documentos" para o tipo Append (ou seja, ir receber a adio/incluso de dados). Em seguida, gravamos no arquico apcasa.txt o contedo armazenado no componente Text1.text, liberando em seguida o seu contedo. Execute o sistema, digite a seguinte sequncia:

Encerre a execuo do seu aplicativo, clicando sobre o boto "x". Agora, execute o seu editor de textos WordPad e como "documento de texto", solicite a abertura do arquivo APCASA.TXT, voc ter o seguinte resultado:

Digite no TextBox o contedo "Paulo" e clique no boto "Gravar"; Digite no TextBox o contedo "Maria" e clique no boto "Gravar"; Digite no TextBox o contedo "Manoel" e clique no boto "Gravar"; Digite no TextBox o contedo "Fernando" e clique no boto "Gravar".

Marcelino Macdo

- 65 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Observe que atravs do seu programa em VB, foi gerado um arquivo texto de nome APCASA e com a incluso dos nomes dos alunos digitados anteriormente. Voc de uma forma simples, criou um banco de dados (arquivo contendo informaes). - Aula 30 - Manipulando dados em arquivos ASC II - Parte II Para melhor compreender os arquivos texto (ASC II), iremos neste mdulo comear a elaborao de um sistema editor de texto, onde iremos desenvolver diversas tcnicas, como ler e gravar dados, imprimir os dados digitados, etc... alm de estudarmos novos controles.

Inicie o VB6 e solicite a criao de um novo aplicativo; Inclua no seu formulrio (na parte esquerda e um abaixo do outro), quatro componentes CommandButtom; Na parte central do formulrio inclua um componente TextBox, redimensionando o mesmo conforme podemos observar na figura abaixo:

No mdulo anterior, especificamos diretamente no cdigo o nome do arquivo a ser gravado. Neste exemplo, iremos utilizar a caixa padro do Windows para salvar ou ler arquivos, assim sendo, deveremos incluir em nossa interface o componente Common Dialog, para isso, siga os passos abaixo:

o o

Clique na opo de menu PROJECT; No menu suspenso que apresentado, selecione a opo COMPONENTS, ser ento apresentada a seguinte janela:

Marcelino Macdo

- 66 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Marque a opo MICROSOFT COMMON DIALOG CONTROL 6 e em seguida, clique em OK. Este controle ser acrescentado a sua barra de ferramentas, conforme podemos observar a seguir:

Inclua o componente CommonDailog em sua aplicao (no Form). Este um componente no visvel, ou seja, durante a execuo do projeto, o mesmo no estar visvel. Para que o TextBox aceite mltiplas linhas (fato comum em um texto), altere a propriedade Multiline do mesmo para True, apague o contedo da propriedade Text e em seguida, altere a propriedade ScrollBars para 3-Both; Altere o Caption dos 4 primeiros Buttons para "LER ARQUIVO", "GRAVAR ARQUIVO", "LIMPAR REA", "FINALIZAR";

Para o boto LER ARQUIVO, entre com a seguinte codificao: Private Sub Command1_Click() CommonDialog1.Filter = "Arquivos Texto (*.TXT)|*.TXT" CommonDialog1.ShowOpen If CommonDialog1.FileName <> "" Then Open CommonDialog1.FileName For Input Access Read As #1 Do While Not EOF(1) texto = texto & Input(1, #1) Loop Text1.Text = texto Close #1

Marcelino Macdo

- 67 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante End If End Sub

1.

2. 3.

4. 5. 6. 7. 8.

Observaes relativas aos cdigos utilizados acima: Primeiro criamos um filtro para o tipo de arquivo na qual iremos trabalhar, neste caso tipo Texto (TXT), alm de exibir a mensagem "Arquivos Texto (*.TXT)", na barra de ttulo da janela padro do windows de abertura de arquivos; Em seguida, abrimos o componente Commondialog1, atravs do mtodo Show (invocando a janela padro de abertura de arquivos do Windows), em seu mtodo de abertura de arquivos (Open); No teste realizado pelo comando IF, testamos se o usurio digitou alguma coisa diferente de nada, ou seja, se o mesmo entrou com um nome de arquivo, este dever ser lido, o que acontecer durante os comandos positivos do IF; O primeiro passo foi abrir o arquivo selecionado no CommonDialog para leitura, sendo que este ser tratado como arquivo nmero 01 READ AS #1; Aps a abertura, o sistema ir percorrer do primeiro ao ltimo caracter DO WHILE NOT EOF(1); Cada caracter do arquivo, ser lido (um por vez) e concatenado (somado) varivel TEXTO texto=texto&input(1,#1); Aps termino o loop (todos os caracteres que fazem parte do arquivo serem lidos), iremos transferir o contedo da varivel TEXTO para o TEXTBOX1 textbox1.text=texto; Em seguida fechamos o arquivo. Execute a aplicao, clique no boto LER ARQUIVO e selecione o arquivo APCASA que geremos no mdulo de aula anterior. Observe o resultado final:

No grfico acima representamos o ato do clique no boto em questo e, em seguida na janela de abertura de arquivos a seleo do APCASA. Clicando em Ok, voc ter como resultado a janela seguinte:

Marcelino Macdo

- 68 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Salve o projeto em questo. Na prxima aula iremos programar o boto GRAVAR ARQUIVO. - Aula 30 - Manipulando dados em arquivos ASC II - Parte III Nesta aula iremos programar o boto GRAVAR ARQUIVO, constante do projeto que comeamos algumas aulas. Para isso, proceda da seguinte forma: 1. Abra o projeto GRAVA ARQUIVO; 2. D um clique duplo no boto GRAVA ARQUIVO e entre com a seguinte codificao para o mesmo: Private Sub Command2_Click() CommonDialog1.Filter = "Arquivos Text (*.TXT)|*.txt" CommonDialog1.ShowSave If CommonDialog1.FileName <> "" Then Open CommonDialog1.FileName For Output As #1 Print #1, Text1.Text Close #1 End If O primeiro passo foi estipular o tipo de arquivo a ser aberto na caixa de dilogo padro do windows (Salvar arquivo), que seria do tipo TXT: CommonDialog1.Filter = "Arquivos Text (*.TXT)|*.txt" Em seguida solicitamos a exibio da janela padro "Salvar Arquivo" do windows: CommonDialog1.ShowSave Em seguida testamos se o usurio entrou com um nome de arquivo, ou seja, se no deixou o campo nome do arquivo em branco, condio no permitida pelo Windows: If CommonDialog1.FileName <> "" Then Caso o usurio tenha digitado um nome de arquivo, o primeiro passo foi abrir o caminho #1 para a gravao do arquivo. Logo aps salvamos o contedo do Text1 (Text1.Text) no caminho #1 aberto na linha anterior: Print #1, Text1.Text E para finalizar fechamos o arquivo que estvamos manipulando: Close #1. Vamos agora programar o boto LIMPAR REA, para isso, d um clique duplo no boto em questo e entre com o seguinte cdigo: Private Sub Command3_Click() Text1.Text = "" End Sub Aqui o procedimento utilizado foi muito simples, ou seja, apenas comparamos o contedo "" (vazio) para o Text1. Para o boto finalizar, basta incluir o comando END e seu editor de textos est pronto. - Aula 32 - Trabalhando com arquivos de imagem Neste mdulo de aula, iremos iniciar nossos estudos sobre como trabalhar arquivos de imagem em aplicaes VB6. O procedimento muito simples e, como exemplo, iremos desenvolver um projeto que entre outras caractersticas ir oferecer ao usurio a possibilidade de selecionar o diretrio do arquivo de imagem para que o mesmo possa ser visualizado.

Marcelino Macdo

- 69 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante O componente mais comum para se trabalhar com Imagens em aplicaes VB6 o IMAGE, em destaque na figura abaixo:

Os arquivos de imagem compatveis com este controle so:

GIF. O elemento grfico a ser exibido no controle em questo estar definido na propriedade PICTURE do mesmo. Outra propriedade fundamental para se trabalhar com este componente a STRETCH, podendo armazenar apenas True ou False. Caso esta propriedade esteja setada para TRUE a figura a ser exibida ser redimensionada de acordo com o tamanho do controle definido pelo desenvolvedor, caso contrrio a mesma ser cortada para que possa se adequadar ao espao disponibilizado. Vamos desenvolver um projeto de exemplo para melhor compreenso dos tpicos estudados at este ponto:

BMP; ICO; WMF; JPG;


I. II. III. IV. V. VI.

Inicie um novo projeto no VB6; Inclua no Form os seguintes componentes: DriveListBox; DirListBox; FileListBox; Image; 2 CommandButtons; ListBox. O seu formulrio dever estar com o seguinte aspecto:

A lgica deste projeto simples: Os arquivos selecionados atravs de uma determinada unidade de disco (selecionada pelo componente DriveListBox) e uma determinada pasta deste (selecionada pelo componente

Marcelino Macdo

- 70 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante DirListBox), sero exibidos no componente ListBox1 e, ao clicar no primeiro buttom, o referido arquivo ser exibido no controle IMAGE constante da parte superior do formulrio em questo. Altere a propriedade CAPTION do primeiro CommandButton para "Abrir" e a do segundo para "Sair". Vamos comear a codificar nosso sistema, comeando pelo GENERAL DECLARATION do projeto. Neste declare uma varivel chamada CONTADOR do tipo integer, conforme mostra a listagem a seguir: Public contador As Integer Esta varivel ir na verdade indexar os itens selecionados na caixa LIST BOX para futuras manipulaes. Adiante voc ir entender o objetivo desta varivel. Em seguida, vamos codificar o evento Form Load do projeto, onde iremos definir o tipo de arquivo que ser aceito pelo sistema, aqui iremos definir arquivos JPG e GIF. Observe o cdigo completo abaixo: Private Sub Form_Load() contador = 0 File1.Pattern = "*.gif;*.jpg" End Sub O prximo passo codificar o controle DriveListBox. O objetivo do mesmo ser o de possibilitar ao usurio a seleo de uma das unidades de disco disponveis no equipamento. Para isso, no evento CHANGE do controle em questo, entre com a seguinte codificao: Private Sub Drive1_Change() ChDrive Drive1.Drive Dir1.Path = Drive1.Drive End Sub O primeiro passo utilizar o comando CHDRIVE que possibilita alterar o drive corrente para um novo, selecionado pelo usurio atravs de cliques. Esta nova unidade selecionada fica armazenada na propriedade Drive1.Drive. Em seguida, indicamos ao controle DirListBox (DIR1) o no path (caminho), que foi aquele selecionado no controle anterior, onde recuperamos a informao pela propriedade Drive1.Drive. Agora, temos que codificar o controle DirListBox, para que o mesmo possibilite ao usurio alterar a pasta da unidade selecionada no procedimento anterior. No evento change do controle em questo, entre com a seguinte codificao: Private Sub Dir1_Change() ChDir Dir1.Path File1.Path = Dir1.Path End Sub A lgica aqui empregada a mesma do componente DriveListBox, sendo que o primeiro trata da unidade selecionada e o segundo da pasta selecionada. Salve o projeto e, na prxima aula iremos continuar a codificao do nosso projeto. - Aula 33 - Trabalhando com arquivos de imagem Agora vamos codificar o controle FileListBox, que ter a funo de exibir os arquivos grficos da pasta especificada no controle DirListBox e exibir o respectivo grfico no controle Image. Os comandos deste controle so vistos abaixo: Private Sub File1_Click() If Right$(Dir1.Path, 1) = "\" Then arquivo = Dir1.Path + File1.FileName Else arquivo = Dir1.Path + "\" + File1.FileName End If Image1.Picture = LoadPicture(arquivo) List1.AddItem arquivo End Sub Nas primeiras linhas de comando, estamos testando a principio se o ltimo caracter do caminho selecionado no controle Dir1 uma barra, se positivo, poderemos armazenar na varivel arquivo o nome da pasta/caminho e em seguida o nome do arquivo a ser exibido, caso contrrio, iremos montar a smbolo de barra entre o nome da pasta/caminho e o nome do arquivo. Se no existir um caminho completo incluindo a sintaxe, no teremos como abrir a figura no controle image. A sintaxe : unidade:\caminho\nome_arquivo_grfico Aps ter este caminho somado ao nome do arquivo selecionado no controle FileListBox, iremos carregar o mesmo no controle Image, conforme a linha Image1.Picture = LoadPicture(arquivo). Em seguida, vamos adicionar o arquivo selecionado ao controle ListBox, para que este arquivo possa ser recuperado

Marcelino Macdo

- 71 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante posteriormente, mesmo que o usurio tenha navegado para outra pasta, tal procedimento se deu com a linha List1.AddItem arquivo. Vale a pena lembrar que interessante que a propriedade Strech do componente Image seja alterada para True, assim sendo, a figura selecionada ter seu tamanho ajustado para o componente Image do Form. Agora execute o seu sistema e selecione alguns arquivos de imagem que estejam armazenados nas pastas do seu disco rgido. Veja um exemplo abaixo, da seleo de um determinado arquivo do disco rgido, com o programa em execuo:

Na prxima aula iremos ver a forma correta de abrir um dos arquivos que foram carregados no controle ListBox. - Aula 34 - Trabalhando com arquivos de imagem Vamos nesta aula codificar o boto ABRIR, para isso, d um clique duplo no boto em questo e entre com a seguinte codificao: Private Sub Command1_Click() arquivo = List1.List(List1.ListIndex) Image1.Picture = LoadPicture(arquivo) End Sub O primeiro passo foi armazenar na varivel ARQUIVO o item selecionado no componente ListBox e em seguida carrega-lo para o controle IMAGE, atravs do LOADPICTURE. Basta agora codificar o boto SAIR, entrando com a seguinte codificao para o mesmo: Private Sub Command2_Click() End End Sub Nosso projeto para a visualizao de grficos em um sistema em VB est concludo. - Aula 34 - Imprimindo o seu cdigo fonte As vezes se torna necessrio a visualizao de trechos de cdigo, em determinados Forms para que o projeto possa ser continuado. Voc poderia ler este cdigo diretamente do seu monitor de vdeo, estando com o projeto aberto, porm vamos imaginar que voc est trabalhando em conjunto com mais 5 programadores ... j pensou todos eles "pendurados" sobre o micro para observar o cdigo. Ou ainda se voc precisar comparar o cdigo de 2 forms? A melhor soluo para o controle geral da fonte do sistema sem dvida nenhuma, desde a gerao DOS, a impresso do cdigo fonte e, no VB, este procedimento bem simples, apesar de poucos o conhecer. Nada melhor do que a prtica para explicar tais procedimentos: 1. Abra um projeto qualquer em VB; 2. Clique na opo de menu FILE ... PRINT, ser ento apresentada a seguinte janela:

Marcelino Macdo

- 72 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Observe que a janela apresentada, apresenta diversas opes para que voc possa especificar com o contedo deseja imprimir. Vamos ento explicar as diversas opes existentes: O frame "Range" determina qual parte do projeto ser impresso, e este possui as seguintes opes:

SELECTION -> Caso voc tenha uma rea de texto selecionada na janela CODE, apenas esta rea selecionada ser impressa. Quando esta opo no est disponvel, indica que no existe nenhum trecho de cdigo selecionado. CURRENT MODULE -> Neste caso voc ir imprimir o contedo especificado no frame "PRINT WHAT" referente ao formulrio que est com o foco neste momento. Iremos explicar o contedo do frame PRINT WHAT logo abaixo.

CURRENT PROJECT -> Ao selecionar esta opo e combinado com a seleo do frame "PRINT WHAT", ser impresso o contedo de todos os mdulos que compe o seu projeto. J o frame "Print What" define o que ser impresso dentro da opo selecionada no frame "RANGE" e, possui as seguintes opes:

FORM IMAGE -> quando selecionada, ir imprimir a imagem do FORM, representando a aparncia do mesmo em tempo de execuo. No caso da impresso da imagem de todos os forms do projeto (opo current project do frame estudado acima), ser impresso um FORM por pgina. CODE -> Ao selecionar esta opo ser impresso todos os procedimentos de evento de um formulrio, com seus respectivos controle (ou de todos os formulrios do projeto). No caso da impresso do cdigo de todos os Forms, ser saltada automaticamente a folha quando o cdigo representar o inicio de um novo form.

FORM AS TEXT -> Esta opo realiza a impresso de uma listagem das propriedades de seu form e seus respectivos controles. Aps configurar a impresso de acordo com a sua necessidade, basta ento selecionar a impressora para onde a impresso dever ser encaminhada e clicar no boto OK. - Aula 36 - Verificando o hardware com o VB6 - Parte I Para verificar determinados itens de hardware do computador atravs do VB6, necessrio que voc trabalhe com a API do Windows. O primeiro passo entender o que significa a API:

Application Programming Interface A API na verdade um conjunto de bibliotecas e arquivos executveis, que servem para a manipulao dos recursos do Windows.. So diversas as APIs do Windows, como exemplo, iremos a principio utilizar duas APIs, que tem a funo de oferecer informaes sobre a CPU do equipamento e uma outra que tem a funo de exibir informaes gerais sobre o disco do equipamento. Estas duas APIs respectivamente so:
GetDiskFreeSpace. Vamos ento gerar o nosso sistema de exemplo, seguindo os passos abaixo: 1. Execute o VB; 2. Na nova aplicao que disponibilizada, altere a propriedade CAPTION do formulrio para WINDOWS API; 3. Inclua na parte superior do FORM um componente Buttom e, altere a sua propriedade CAPTION para MODELO CPU; 4. Ao lado deste Buttom, inclua um componente TextBox e apague o contedo da propriedade Text; 5. Abaixo do primeiro Buttom, inclua um novo Buttom e altere a sua propriedade CAPTION para ESPAO LIVRE EM DISCO;

GetSystemInfo;

Marcelino Macdo

- 73 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante 6. 7. 8. Ao lado deste Buttom, inclua um novo componente TextBox e apague o contedo da propriedade Text; Abaixo dos dois buttons, porm na estrema direita do formulrio, inclua um novo Buttom, alterando a sua propriedade CAPTION para FIM; Seu formulrio ter o seguinte aspecto:

9. Vamos agora codificar o boto FIM do formulrio, que dever ter a seguinte codificao: Private Sub Command3_Click() End End Sub 10. Vamos primeiramente estudar a funo GetSystemInfo, que tem o objetivo de retornar informaes gerais sobre o hardware da mquina, entre as quais podemos destacar:

Nvel de dependncia do processador. 11. A sintaxe para a utilizao desta funo a que segue: Void GetSystemInfo(LPSYSTEM_INFO); 12. Lpsysteminfo na verdade um parmetro que determina o tipo de informao sobre o sistema que dever ser retornado. 13. Para utilizar as funes da API do Windows em um aplicativo VB6, ser necessrio declarar estas em um arquivo de mdulo, que ser o objeto de estudo do prximo mdulo de aula. - Aula 36 - Verificando o hardware com o VB6 - Parte II 14. Conforme estudamos no mdulo de aula anterior, deveremos declarar as funes que iro manipular as APIs do Windows em um arquivo de mdulo. A sintaxe para este procedimento citada abaixo: Declare Sub/Function Nome_funo lib "bliblioteca" (lista de parmetros) As Tipo_retorno 15. Vale lembrar que em funes na qual so utilizados parmetros do tipo String, tem de possuir em seu alias o nome da funo concatenado de um caracter "A". 16. Aps conhecer estas regras, poderemos utilizar o API Text, utilitrio do prprio VB6 que auxilia o desenvolvedor na declarao da API que ser utilizada. Para executar este aplicativo, voc dever proceder da seguinte forma: 17. Clique na opo de menu ADD-INS e no menu suspenso que apresentado, selecione a opo ADD-IN MANAGER, ser apresentada a seguinte janela:

Tipo de processador; Nmero de processadores no sistema;

Marcelino Macdo

- 74 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

18. Clique sobre a opo VB 6 API VIEWER. Marque tambm as opes LOADED/UNLOADED e LOAD ON STARTUP do frame LOAD BEHAVITOR, para que este aplicativo seja carregado no menu ADD-INS automaticamente; 19. Clique agora no boto OK; 20. Agora clique na opo de menu ADD-INS ... API VIEWER, ser ento apresentada a seguinte janela:

Marcelino Macdo

- 75 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

21. Clique na opo de menu FILE ... LOAD TEXT FILE, para carregarmos o arquivo de texto contendo as APIs do mesmo, ser ento apresentada a seguinte janela:

22. Clique na opo WIN32API e em seguida clique no boto ABRIR, ser apresentada a seguinte janela:

Marcelino Macdo

- 76 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

23. Observe que as APIs disponveis so listadas na caixa de listagem AVAILABLE ITEMS; 24. Agora voc dever selecionar as funes que sero utilizadas pelo sistema. Vamos selecionar a primeira, procurando na caixa de listagem em questo a opo GETSYSTEMINFO, marcando-a e em seguida clicando sobre o boto ADD, veja como ficou a janela do seu aplicativo:

Marcelino Macdo

- 77 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

25. Repita a operao para a API GETDISKSPACEFREE, aps concluido este procedimento, sua janela ter o seguinte aspecto:

Marcelino Macdo

- 78 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

26. Ao final deste procedimento, clique sobre o boto COPY, assim as declaraes sero copiadas para a rea de transferncia. Aula 38 - Verificando o hardware com o VB6 - Parte III 27. Retornando a nossa aplicao vamos criar o arquivo de mdulos, para isso clique na opo de menu PROJECT e em seguida, selecione a opo ADD MODULE, sua rea de trabalho passar a ter a seguinte aparncia:

28. No cdigo do mdulo, insira a declarao de nossas APIs, colando o contedo da API Viewer;

Marcelino Macdo

- 79 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

29. Salve as alteraes realizadas at o momento; 30. Vamos agora codificar o boto "Modelo CPU". D um duplo clique no mesmo e entre com a seguinte codificao: Private Sub Command1_Click() Dim minhacpu As SYSTEM_INFO GetSystemInfo minhacpu Text1.Text = CStr(minhacpu.dwprocessortype) End Sub 31. Entre com a seguinte codificao para o boto "ESPAO LIVRE EM DISCO": Private Sub Command2_Click() Dim NUMSETS As Long Dim NUMBYTES As Long Dim NUMCLUST As Long Dim TOTALCLUST As Long Dim ESPACOLIVRE As Single ESPACOLIVRE = NUMCLUST * NUMSETS * NUMBYTES Text2.Text = Format(ESPACOLIVRE, "#,###,###,###,##0 BYTES") End Sub Salve todas as alteraes. Est finalizado o nosso sistema. Aula 39 - Gerando Arquivos de Help para Aplicaes VB Neste mdulo de aula, iremos comear a explicar os passos que voc dever seguir para a criao de arquivos de HELP. Iremos abordar a forma de criar arquivos de ajuda On-Line para seus aplicativos. O processo relativamente simples, porm requer uma srie de regras e tcnicas para que seu Help seja simples e funcional. No mercado existem diversos aplicativos que so utilizados para a criao e incorporao de arquivos de ajuda ao aplicativo VB, porm iremos trabalhar com as ferramentas oferecidas pelo prprio VB. Para Criar o seu HELP, dever ter instalado em seu micro os seguintes softwares: Um processador de textos que salve arquivos no formato RTF (Rich Text Format) e tenha recursos de trabalho com cabealhos e rodaps; Compilador de ajuda que gere arquivos HLP. No caso do VB, existe um aplicativo que acompanha o pacote, o HCW. Este software dever estar na mesma pgina do menu iniciar que contm o VB. Observe na figura a seguir a janela do Microsoft Help WorkShop em execuo:

Marcelino Macdo

- 80 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Nada melhor do que a prtica para que possamos entender a forma correta de se criar arquivos de ajuda .... Para se construir um arquivo de ajuda, voc dever passar pela criao de trs arquivos distintos e que iro trabalhar em conjunto. So eles: Arquivo de contedo arquivo no formato ASC II, que ir definir o layout e a aparncia da guia CONTENTS do arquivo de ajuda; Arquivo de tpico neste ser incluso o texto relativo a ajuda em si que ser oferecida no Help; Arquivo de projeto Cria a ligao entre os arquivos de contedo e tpico, alm de definir a posio do arquivo de ajuda ao ser executado. Vamos iniciar ento a criao do nosso arquivo de ajuda criando o nosso arquivo de contedo. Para isso, execute o Microsoft Help Workshop e proceda da seguinte forma: 01) Clique na opo de menu FILE; 02) No menu suspenso que aberto, selecione a opo NEW, ser ento exibida a seguinte janela:

03) Na caixa de dilogo NEW, selecione a opo HELP CONTENTS e clique em OK. Ser ento apresentada a seguinte janela:

Marcelino Macdo

- 81 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

04) Primeiramente deveremos definir o nome do arquivo de ajuda, e o mesmo dever ser digitado na caixa de edio denominada DEFAULT FILENAME (AND WINDOW). Neste exemplo, digite MINHAAJUDA.HLP; 05) Ao lado, temos a caixa de edio DEFAULT TITLE, que representa o ttulo principal do seu arquivo ao ser exibido. Neste caso, digite HELP DO SISTEMA; 06) O prximo passo a insero de um ttulo lista, para isso, clique no boto ADD ABOVE, ser ento exibida a seguinte janela:

07) 08) 09) 10)

Nas caixas de seleo, deixe marcada a opo HEADING; Observe que os campos TOPIC ID / HELP FILE / WINDOW TYPE no estaro mais ativo; No campo TITLE, digite ARQUIVO DE AJUDA, que ser nosso ttulo; Clique no boto OK. Observe como ficou a sua janela neste ponto:

Marcelino Macdo

- 82 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Aula 40 - Gerando Arquivos de Help para Aplicaes VB - Parte II 11) Clique agora sobre o boto ADD BELOW para que possamos incluir um novo ttulo, subordinado ao primeiro. Ser aberta a mesma janela do processo anterior, selecione ento a opo HEADING e no campo TITLE, digite ARQUIVO DE CONTEDO. Confirme a operao clicando em OK. Sua janela neste ponto estar parecida com a que segue:

12) Agora temos que tornar este novo ttulo que foi inserido como um sub item da opo de menu principal, que chamada de ARQUIVO DE AJUDA. Para isso, selecione a opo ARQUIVO DE CONTEDO, dando um clique sobre o mesmo e clicando em seguida no boto MOVE RIGHT. Observe como ficou a sua janela neste ponto:

13) Vamos ento acrescentar os tpicos do arquivo de contedo. Clique novamente em ADD BELOW, porm desta vez, na janela EDITS CONTENTS TAB ENTRY, selecione a opo TOPIC, e configure a mesma conforme mostra a figura a seguir:

Marcelino Macdo

- 83 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

14) Confirme a operao e clique em OK; 15) Adicione mais dois tpicos ao exemplo acima, configurando os mesmos conforme mostra a sequncia grfica a seguir:

16) Neste ponto, sua janela ter o seguinte aspecto:

17) Agora salve o seu arquivo como MINHAAJUDA.CNT; 18) Voc acaba de criar o seu primeiro arquivo de contedo.

Marcelino Macdo

- 84 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante 19) Nosso prximo passo agora a criao do arquivo de tpicos, que um arquivo do tipo RTF contendo o texto e imagens, que sero apresentados quando o arquivo de ajuda executado. Iremos utilizar o Word, que gera arquivos do tipo RTF para este fim. Este tpico ser abordado no prximo mdulo de aula. Aula 41 - Gerando Arquivos de Help para Aplicaes VB - Parte II 20) Execute o Word e crie um novo documento; 21) Altere o modo de exibio para a forma de TPICOS; 22) Digite o primeiro tpico : CRIANDO O ARQUIVO DE AUTO CONTEDO; 23) Na linha seguinte, digite o texto que ser apresentado neste tpico, aqui para simplificar, digitamos: O arquivo de contedo e criado em formato ASC II; 24) Devemos agora adicionar uma nota de rodap, que dever estar no inicio do tpico, para tal, coloque o cursor antes da frase CRIANDO O ARQUIVO.....; 25) Clique na opo de menu INSERIR; 26) No menu suspenso que aberto, selecione a opo NOTAS; 27) Na janela que foi aberta, na seo numerao, marque Personalizada e digite na caixa de edio o sinal de #. Clique em OK; 28) Na rea do texto de rodap, voc dever digitar o ID de tpico respectivo ao texto que est sendo digitado, neste caso IDH_CONTEDO; 29) Vamos adicionar agora um ttulo ao tpico, que ser o texto exibido quando pesquisamos no arquivo de ajuda, para isso, proceda da seguinte forma: 30) Posicione o cursor entre o sinal de # e o ttulo que consta na linha; 31) Clique na opo de menu INSERIR; 32) No menu suspenso que aberto, selecione a opo NOTAS; 33) Na janela que foi aberta, selecione a opo PERSONALIZADA do item NUMERAO, e na caixa de edio digite o sinal de $; 34) Clique em OK; 35) Insira o texto da nota de rodap O que e arquivo de contedo?, que ser o ttulo deste tpico; 36) Vamos agora inserir o sequncia da procura do auto-ajuda. Para isso, coloque o cursor entre o sinal de $ e o texto do ttulo; 37) Clique na opo de menu INSERIR; 38) No menu suspenso que foi aberto, selecione a opo NOTAS; 39) Na janela que foi aberta, selecione a opo PERSONALIZADA do item NUMERAO, e na caixa de edio, digite o sinal de +. Clique em OK; 40) Digite auto como texto da nota de rodap para que o Windows Help crie uma seqncia de autoprocura em seu arquivo de ajuda. Neste ponto, sua janela dever ter o seguinte aspecto:

41) O processo para os demais dois tpicos de nosso arquivo de ajuda sero os mesmos. Devido a isso, iremos apresentar apenas o resultado grfico dos demais tpicos, que voc dever realizar seguindo os passos anteriores; 42) Vale lembrar que de um tpico ao outro, devero ser inclusas quebras de pgina;

Marcelino Macdo

- 85 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

43) Salve o arquivo como MinhaAjuda.RTF 44) O prximo passo vincular o arquivo de contedo e o arquivo de tpicos, para isso temos criar o arquivo de projeto de ajuda. Aula 42 - Gerando Arquivos de Help para Aplicaes VB - Parte II 45. Clique na opo de menu FILE ... NEW, porm desta vez selecione o arquivo HELP PROJECT, e clique em OK; 46. Ser solicitado um nome para o arquivo de projeto, digite MINHAAJUDA, e clique em OK. Ser ento apresentada a seguinte janela:

47. Clique no boto OPTIONS, ser exibida ento a seguinte janela:

Marcelino Macdo

- 86 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

48. Na guia GENERAL, na caixa de edio HELP TITLE, digite o contedo ARQUIVO DE AJUDA; 49. Selecione agora a guia COMPRESSION; 50. Selecione a opo CUSTOM e marque a caixa de seleo HALL COMPRESSION, para que nosso arquivo ajuda no ocupe muito espao; 51. Selecione a guia FILES; 52. Na caixa de edio HELP FILE, digite o nome do arquivo HLP criado, ou seja, MINHAAJUDA; 53. Clique no boto CHANGE; 54. Ser apresentada uma janela denominada TOPIC FILES; 55. Na mesma, clique no boto ADD; 56. Selecione o arquivo MINHAAJUDA.RTF, para adicionar o arquivo de tpico ao projeto do arquivo de ajuda; 57. Clique agora no boto BROWSE; 58. Na janela que aberta, selecione o arquivo Minhaajuda.cnt; 59. Desta forma voc estar vinculando os dois arquivos; 60. Observe como dever estar a sua janela neste ponto:

61. Clique no boto OK; 62. Observe que o controle do sistema retornou ao programa Microsoft Help Workshop, agora, clique no boto WINDOWS. Ser ento aberta a seguinte janela:

Marcelino Macdo

- 87 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

63. Neste ponto iremos criar a janela do HELP, que ser objeto de estudo do prximo mdulo de aula. Aula 43 - Gerando Arquivos de Help para Aplicaes VB - Parte II 64. Clique na caixa de edio CREATE A WINDOWS NAMED e d o nome de FONTE, neste ponto ser exibida a seguinte janela:

65. Selecione a guia BUTTONS; 66. Marque a caixa de verificao BROWSE, para que sejam includos os botes de pesquisa sua janela de HELP; 67. Clique em OK; 68. Clique agora no boto MAP. Ser aberta a seguinte janela:

69. Agora, para cada um dos tpicos, deveremos ligar ao respectivo mapa do arquivo RTF. Para isso, proceda da seguinte forma; 70. Clique no boto ADD; 71. Aps o final deste processo, sua janela ter o seguinte aspecto:

Marcelino Macdo

- 88 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

72. Agora voc dever salvar e compilar o seu arquivo de ajuda, para isso, d um clique no boto SAVE e em seguida no boto COMPILE, que esto marcados na figura a seguir:

73. Durante a compilao, a janela do aplicativo em questo ficar minimizada. Se no existirem erros, sua janela ter ao final o aspecto seguinte:

74. Vamos agora testar nosso aplicativo de ajuda, antes de inserir o mesmo em nossa aplicao, para evitarmos qualquer tipo de problema; 75. Para isso, ainda com o Microsoft Help Workshop aberto, clique sobre o boto RUN WINHELP, representado ponto de interrogao na barra de ferramentas. Neste ponto, ser apresentada a janela seguinte;

Marcelino Macdo

- 89 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

76. Verifique se nossa arquivo minhaajuda est selecionado em Project File, caso no esteja, procure o mesmo clicando no menu Browse...; 77. Aps isso, clique no boto VIEW HELP; 78. Teste o arquivo de ajuda, expandido as suas pastas, clicando sobre um dos tpicos, etc... Pronto, voc acabou de criar um arquivo de ajuda. Na prxima aula iremos estudar como vincular um arquivo de ajuda ao seu programa VB. Aula 44 - Gerando Arquivos de Help para Aplicaes VB - Parte VI Na verdade, linkar o arquivo de ajuda muito mais fcil do que propriamente criar o mesmo. Podemos utilizar o arquivo gerado de duas formas: 1. Chamando o arquivo por inteiro, e neste caso o usurio ir navegar dentro das opes disponveis; 2. Chamando por um dos nveis de tpicos criados, desta forma, voc estaria linkando o Help a um assunto em especfico, por intermdio por exemplo de um menu. Iremos primeiramente estudar a opo 01. O processo para se linkar um HELP a sua aplicao, sendo que esta ligao seja feita com o total contedo do HELP simples, observe os passos a seguir:

Project, escolha o item Project Properties...; na janela que aparece, na aba General, selecione no campo Help File Name o arquivo Help que
1. acesse o menu voc deseja utilizar no projeto. Observe que o VB suporta arquivos de help tanto no formato HLP quanto no formato CHM:

2.

Para visualizarmos como um projeto chama o help, compile o projeto e quando ele estiver sendo executado, clique em F1 para que o help seja visualizado Agora, vamos dificultar um pouco o processo, fazendo com que o sistema possa abrir os arquivos de HELP atravs dos tpicos gerados. Mas como isso possvel? A resposta simples: Voc lembra que ao criar a sua janela de HELP, utilizou o mapeamento dos tpicos atravs da janela MAP? Onde, inclumos para o tpico CONTEDO o MAP 100 e assim sucessivamente? Pois ento, desta forma

Marcelino Macdo

- 90 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante podemos dentro de nossa aplicao, chamar um assunto em especfico no HELP, para isso, basta proceder da forma que segue: 1. Inclua na aplicao que ir receber o HELP um componente COMMON DIALOG; 2. Altere a propriedade NAME do mesmo para AJUDA; 3. Clique com o boto direito do mouse em PROJECT1, no PROJECT EXPLORER; 4. No menu suspenso que apresentado, selecione a opo PROJECT PROPERTIES; 5. Na caixa de dilogo que foi aberta, defina o campo HELP FILE como o arquivo de ajuda a ser vinculado ao aplicativo; 6. No evento FORM_LOAD() do formulrio, entre com a seguinte codificao: AJUDA.HELPFILE=APP.HELPFILE 7. Lembre-se de que AJUDA equivale ao componente COMMON DIALOG que representar o arquivo ajuda; 8. Em seguida, na opo de menu ou no boto que ir chamar um determinado tpico do arquivo de ajuda, basta incluir a seguinte sequncia de comandos (supondo que a solicitao da abertura da ajuda, partisse de uma opo de menu) : Private Sub opcaoajuda_click() With ajuda .helpcontext=100 .helpcommand=cdlhelpcontext .ShowHelp End With End Sub Observe que a linha HELPCONTEXT=100, representa um dos tpicos que queremos ligar a esta opo do menu que abre o arquivo de ajuda, neste nosso exemplo, a mesma poderia ser 100/200 ou 300. Desta forma voc vinculou o seu arquivo de ajuda a sua aplicao principal. Aula 45 - Utilizando Caixas de Dilogo - Parte I Uma caixa de dilogo na verdade um recurso nativo do prprio Windows e seu principal objetivo de transmitir informaes ao usurio do sistema. Quando voc realiza um determinado procedimento e recebe uma notificao do sistema conforme a que podemos observar no grfico abaixo, estamos na verdade visualizando uma caixa de dilogo:

Observe que no exemplo acima, temos uma caixa de dilogo de advertncia/aviso, ou seja, especificando ao usurio que para a operao a ser executada necessrio que tenhamos um disco na unidade -A-. O Visual Basic oferece em sua coleo duas caixa de dilogo distintas: A caixa de entrada. Para informar ao usurio uma determinada situao, utilizamos as caixas de mensagens representadas pela instruo MSGBOX. Se necessrio for permitir que o usurio alm de receber uma determinado informao tambm efetue a entrada de dados pelo teclado, utilizamos as caixas de mensagem representadas pela instruo INPUTBOX. A sintaxe bsica da instruo MSGBOX pode ser observada abaixo: MSGBOX (texto, cone, ttulo) Onde:

A caixa de mensagem;

Texto -> Representa a mensagem que ser exibida ao usurio; cone -> Representa o cone e o boto que sero apresentados no interior da caixa de mensagem;

Marcelino Macdo

- 91 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Title -> representa o texto que ser apresentado na barra de ttulos da caixa de dilogo. O parmetro "cone" representado por uma expresso ou cdigo, de acordo com a tabela abaixo:
Expresso vbOkOnly vbOkCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel vbCritical vbQuestion vbExclamation vbInformation Cdigo 0 1 2 3 4 5 16 32 48 64 Representa Exibe apenas o boto de OK. Exibe os botes de Ok e Cancel. Exibe os botes de Abortar, Ignorar e Falhar. Exibe os botes de Sim, No e Cancelar. Exibe os botes de Sim e No. Exibe os botes de Ignorar e Cancelar Exibe o cone de mensagem crtica Exibe o cone de Warning Query Exibe o cone de Exclamao Exibe o cone de Informao

Aula 46 - Utilizando Caixas de Dilogo - Parte II Vamos neste mdulo de aula criar o nosso primeiro exemplo com o uso de caixas de dilogo. Siga os passos abaixo:

D um clique duplo no controle em questo e entre com a seguinte codificao: Private Sub Command1_Click() texto = MsgBox("Isto uma caixa de dilogo", vbOKOnly, "PAC") End Sub

Inicie uma nova aplicao no VB6; No form que disponibilizado inclua um CommandButton; Altere a propriedade "CAPTION" do mesmo para "CLIQUE AQUI";

Execute o seu projeto, ao clicar sobre o boto que inserimos teremos o seguinte resultado:

Observe que o primeiro passo foi definir a frase que seria utilizada dentro da caixa de dilogo, em seguida especificamos o boto que seria empregado dentro da mesma e como parmetro final o ttulo da caixa de dilogo gerada.

Marcelino Macdo

- 92 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Aula 47 Utilizando caixas de dilogo - Parte III


Alm da caixa de dilogo padro que estudamos nos mdulos de aula anteriores, o VB6 oferece tambm caixas de dilogo que permitem a entrada de dados por parte do usurio. Neste caso ao invs de empregarmos a funo MSGBOX iremos empregar a funo INPUTBOX. A sintaxe bsica desta funo pode ser observada abaixo: INPUTBOX ("texto do interior da caixa","Ttulo da janela") Vamos gerar um simples exemplo para entendermos melhor a funo em estudo:

Gere um novo aplicativo no VB6; Insira no Form um componente do tipo <COMMAND BUTTON>; Altere a propriedade <CAPTION> do mesmo para <CLIQUE AQUI PARA INSERIR SEU NOME>; Neste ponto seu formulrio ter um aspecto parecido com o que segue:

D um clique duplo sobre o boto do formulrio e entre com a seguinte codificao:

Private Sub Command1_Click() Dim nome As String nome = InputBox("Entre com o seu nome", "Dados do usurio") Form1.Caption = nome End Sub

Execute o seu sistema e observe o resultado:

Marcelino Macdo

- 93 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Aps entrar com o nome do usurio e clicar sobre o boto <OK>, o formulrio principal de sua aplicao ter o seguinte aspecto:

O cdigo gerado para o evento On_Click do boto simples de ser compreendido: o Primeiro criamos uma varivel do tipo String chamada <NOME>; o Em seguida lanamos para esta varivel o contedo que seria digitado pelo usurio na caixa de dilogo de entrada de dados; o O prximo passo foi alterar a propriedade CAPTION do FORM1 para o contedo da varivel <NOME>. Observe que os dados recolhidos com as caixas de dilogo do tipo "entrada de dados" podem ser trabalhados no decorrer da rotina.

Aula 48 Trabalhando com eventos do mouse - Parte I


At o momento voc deve ter observado que os controles (como por exemplo os botes) possuem eventos que so disparados por aes provocadas pelo mouse, como por exemplo o evento Click. A partir deste mdulo de aula iremos estudar os principais eventos que podero ser disparados em um controle atravs de ao provocada pelo mouse. O evento click() Este evento disparado quando um determinado controle recebe um clique. Este evento est associado principalmente aos botes de comando. Ou seja, neste evento voc deever programar o que dever ser executado pelo sistema. Sempre que for necessrio programar este evento, voc poder proceder da seguinte maneira: 1) Selecione o controle que dever ter o evento Click programado; 2) D um clique duplo sobre o mesmo para abrir a janela de cdigo; 3) Observe se est selecionada na janela de cdigo o controle desejado e o evento Click para ser programado, conforme podemos observar no grfico abaixo:

Marcelino Macdo

- 94 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Clique agora sobre a caixa de seleo que representa os eventos (a que est a sua direita superior) da janela de cdigo. Observe que diversos outros eventos esto disponveis:

Vamos abaixo citar o objetivo dos principais eventos disponveis relacionados ao mouse: BdlClick() Este evento disparado quando um determinado controle recebe um clique duplo. Observe que o controle Command Button no possui este evento, porm o mesmo encontrado no controle <ComboBox>. De acordo com o controle utilizado um deeterminado evento aqui citado poder ou no estar disponvel. DragDrop() Este evento disparado quando voc solta em qualquer lugar do formulrio um determinado controle que estava sendo arrastado. Voc poder utilizar este evento para programar uma ao que ocorrer quando o usurio dimensionar uma imagem grfica por exemplo. DragOver() Este evento disparado quando o usurio arrasta um objeto qualquer sobre um determinado controle. MouseDown() Este evento disparado quando voc clica sobre um determinado controle e mantm o boto do clique pressionado. MouseMove() Este evento disparado quando um ocorre a movimentao do ponteiro do mouse (sem cliques) sobre um determinado controle. MouseUp()

Marcelino Macdo

- 95 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante


Este evento disparado quando um contrrole qualquer recebe um clique e o usurio solta o boto do mouse, ou seja, seria algo como um ps-clique. No prximo mdulo de aula iremos especificar a sintaxe destes eventos e gerar alguns exemplos.

Marcelino Macdo

- 96 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Aula 49 trabalhando com eventos do mouse - Parte II


Insira em seu formulrio um boto de comando e d um clique duplo sobre o mesmo. Observe como ficar a sua janela de cdigo:

Observe que na parte superior da janela de cdigo temos o nome do controle e o evento Click a ser programado. Na verdade quem dispara o evento o mouse e no o controle Button. Observe a sintaxe deste evento: nome do controle_click() Muitos atribuem ao boto o evento, o que um erro, pois agora sabemos que ele apenas recebe a ao provocada pelo mouse. Alguns controles recebem tambm o evento DBLCLICK() ou seja, apenas ser disparado se o usurio clicar duas vezes com um pequeno intervalo de tempo entre o primeiro clique e o segundo sobre o controle em questo. O controle Button por exemplo no oferece suporte a este evento. J o controle LISTBOX oferece suporte ao mesmo, como por exemplo selecionar um determinado item de sua lista atravs do clique duplo. Observe na janela de cdigo abaixo o controle LISTBOX e o evento disparado pelo mouse DBLCLICK():

A propriedade que armazena o item a ser selecionado atravs de um duplo clique em uma caixa de listagem a TEXT. Observe abaixo como ficaria a rotina principal de seu sistema para uma escolha atravs de um clique duplo sobre um item da lista:

No prximo mdulo de aula iremos estudar sobre o evento DragDrop().

Marcelino Macdo

- 97 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

Aula 50 trabalhando com eventos do mouse - Parte III


Quando voc clica e arrasta um objeto, em determinado momento ir soltar este objeto, ou seja, soltar o mesmo em um determinado ponto do formulrio. Este evento pode ser tratado atravs de um programa em VB6, para isso dever programar o evento DragDrop(). A sintaxe do evento em questo pode ser observada abaixo: Private Sub Command1_DragDrop(Source As Control, X As Single, Y As Single) Observe que na sintaxe acima estamos tratando o evento "DragDrop" no componente Command1. A sua xintaxe formada por 3 parmetros, a saber:

Source -> armazena o nome do controle solto no controle atual; X e Y -> armazenam as coordenadas (horizontal e vertical respectivamente) do ponteiro do mouse quando o evento gerado.

No prximo mdulo de aula iremos estudar sobre o evento DargOver().

Aula 51 trabalhando com eventos do mouse - Parte IV


Conforme citamos, vamos estudar neste mdulo de aula o evento DragOver() do mouse, que disparado quando o usurio arrasta um determinado objeto sobre um controle qualquer. Este evento possui a seguinte sintaxe: Provate Sub target_DragOver(Source As Control, X as Single, Y as Single, State as Integer. Sendo que: O parmetro Source tem o objetivo de especificar o nome do controle que est sendo arrastado sobre o objeto alvo. Os parmetros "x" e "y" representam as coordenadas de linha e coluna por onde o ponteiro do mouse est sendo arrastado sobre o objeto alvo; O parmetro State representado por um nmero inteiro e representa o estado do controle propriamente dito, conforme podemos observar abaixo:

Quando possui valor "0" indica que o controle est entrando nos limites do alvo; Quando possui valor "1" indica que o controle est saindo dos limites do alvo; Quanto possui valor "2" indica que o controle est sendo arrastado dentro dos limites do alvo.

No prximo mdulo de aula iremos estudar com detalhes o evento MouseDown().

Aula 52 Trabalhando com eventos do mouse - Parte V


O evento MouseDown() disparado quando voc clica sobre um determinado componente e mantm o boto do mouse pressionado por um determinado tempo. A sintaxe deste evento pode ser observada abaixo: Private Sub target_MouseDown(Button as Integer, Shift as Integer, X as Single, Y as Single) Na sintaxe acima, temos os parmetros "x" e "y", que representam as coordenadas do ponteiro do mouse sobre um determinado componente. Outro parmetro existente representado pelo Button e, este poder assumir trs valores distintos, a saber:

Marcelino Macdo

- 98 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante


Valor do parmetro 1 2 4 Descrio Boto esquerdo do Mouse boto direito do Mouse boto do meio do Mouse

Este parmetro utilizado para que o desenvolvedor tenha o controle sobre qual boto do mouse foi pressionado. J os parmetros Shift representado por um valor inteiro que indica a tecla que foi pressionada enquanto o boto do mouse era mantido pressionado. Os valores so:

1 -> representa a tecla <SHIFT>; 2 -> Representa a tecla <CTRL>; 4-> Representa a tecla <ALT>.

Aula 53 Trabalhando com eventos do mouse - Parte VI


Ao movimentar o ponteiro do mouse sobre um determinado controle, disparado o evento MouseMove(). Os desenvolvedores empregam este evento para alterar o estado do controle que est com o ponteiro do mouse sobre o mesmo. Este evento opera com a seguinte sintaxe: Private Sub Target_MouseMove(Button As Integer, Shift As Integer, X as Single, Y as Single) Os parmetros citados acima so os mesmos daqueles estudados no evento MouseDown(). No prximo mdulo de aula iremos estudar sobre o evento MouseUp().

Aula 54 Trabalhando com eventos do mouse - Parte VII


Se voc solta o ponteiro do mouse sobre um determinado controle, neste momento gerado o evento <MOUSEUP()>. Os parmetros deste evento so idnticos aos que estudamos nos eventos das aulas 52 e 53 e sua sintaxe pode ser observada abaixo: Private Sub Target_MouseUp(Button as Integer, Shift As Integer, A as Single, B as Single) A insrtuo mais utilizada neste evento a de finalizao de um determinado programa, pois se o usurio soltar o clique do ponteiro do mouse sobre um boto de <FINALIZAR> o programa por exemplo, no teremos nenhum risco de que o programa no seja finalizado.

Aula 55 Documentando o seu cdigo


Em sistemas comerciais complexos, temos uma infinidade de linhas de cdigo e, todo sistema requermanuteno. Com o passar do tempo voc poder esquecer de alguns detalhes ou "para que serve" um determinado trecho de cdigo. Assim sendo, a documentao do cdigo muito importante para a manuteno do sistema, bem como para facilitar o estudo das fontes por parte de uma equipe de profissionais. Os comentrios de cdigo so empregados em trs objetivos distintos:

Especificar a finalidade de uma linha de comando do programa; Especificar a finalidade de um procedimento completo do programa; Especificar o objetivo de um determinado mdulo do aplicativo.

Documentar o cdigo no uma prtica saudvel apenas para um aplicativo VB, mas em qualquer linguagem de programao/ambiente de desenvolvimento. Para inserir uma linha de documentrio em seu aplicativo, em qualquer um dos nveis informados, voc dever usar o smbolo ao lado ( ' ). Observe abaixo um exemplo de sequncia de linhas de comentrios:

Marcelino Macdo

- 99 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante


Private Sub Command1_Click() arquivo = List1.List(List1.ListIndex) 'na linha acima estamos armazenando o contedo selecionado na caixa de listagem List1 'na varivel arquivo Image1.Picture = LoadPicture(arquivo) 'na linha acima estamos informando que o componente que ir receber a imagem dever 'carrega-la no disco atravs de um nome identico ao da varivel arquivo. End Sub No exemplo acima utilizamos o primeiro modo de documentar um programa, ou seja, linha a linha. Este mtodo no empregado em todo o sistema, pois em um aplicativo comercial, teremos milhares de linhas de programas e, deveremos empregar este mtodo apenas em comandos mais complexos ou que possuam uma finalidade especial no contexto do programa. No prximo mdulo de aula iremos estudar sobre a documentao de um determinado trecho de programa.

Aula 56 Documentando o seu cdigo - Parte II


Em sistemas comerciais, teremos diversos procedimentos e mdulos que iro compor o sistema e, importante documentar cada mdulo ou procedimento, fazendo com que os demais desenvolvedores envolvidos no projeto, tenham uma exata noo do objetivo ou da funo daquele procedimento ou mdulo. Este tipo de comentrio poder ajudar tambm que outros programadores da equipe, possam reutilizar o mdulo ou procedimento, sabendo a funo do mesmo, em outros projetos da prpria empresa. Abaixo estamos sugerindo um padro para comentar o inicio de um mdulo ou de um procedimento: 'Nome_arquivo: controle_acesso.cls 'Autor: Paulo Matuszewski 'Data: 09/11/2004 'Descrio: este mdulo tem por objetivo realizar o controle de acesso aos usurios cadastrados e '.................. devidamente autorizados a utilizarem o sistema. Utiliza o banco de dados Empresa.MDB e a tabela '.................. usuarios. 'ltima alterao da rotina: 05/06/2004 Observe que incluindo um comentrio completo no inicio de um mdulo ou procedimento/rotina, voc estar facilitando a vida de colegas de trabalho assim como a sua, pois voc poder ficar meses sem a necessidade de realizar alteraes no sistema e, quando o fizer, conseguir interpretar com facilidade a funo das mesmas. No existe um padro definido para a incluso dos mesmos, o trecho acima apenas uma sugesto e, poder ser livremente adaptado para as suas necessidades. No prximo mdulo de aula iremos estudar sobre as convenes de nomeao.

Aula 57 Convenes de nomeao


Quando voc cria um aplicativo completo ou um formulrio, pode observar que, se incluir 10 controles do tipo boto de comando, cada um receber um nome, que ficar armazenado na propriedade NAME do respectivo componente. O VB ir nomear os componentes como Command1, Command2, etc. Mas esta identificao gerada automaticamente pelo VB e, de acordo com o nmero de componentes de um formulrio ou de um projeto, convm nomear estes controles um a um, principalmente com o objetivo de identificar com mais facilidade, caso contrrio a interpretao do cdigo fonte poder ser complicada. Assim sendo, o primeiro procedimento ao incluir um componente em um formulrio alterar a sua propriedade NAME para algum contedo descritivo, fazendo com que seu cdigo fique mais legvel e de forma automtica o tempo de desenvolvimento e depurao dos procedimentos seja reduzido. Para gerar os nomes de controles, existem algumas regras de nomeao, as quais discutiremos a seguir:

Ao nomear variveis, utilize sempre letras minusculas; Sempre escreva constantes com letras maisculas; Utilize nomes que lembrem o controle ou sua funo, como por exemplo:

Marcelino Macdo

- 100 -

Apostila de Visual Basic 6 Curso passo a passo para iniciante

o o

btn_incluidados - utilizado para nomear um boto que tem a funo de incluir dados de um formulrio btn_pesquisa - utilizado para nomear um boto que tem a funo de carregar uma rotina de busca.

Procure no utilizar nomes muito longos, para facilitar a escrita de cdigo; Crie prefixos para cada tipo de controle, como por exemplo para os botes o prefixo "btn" e, padronize esses para todo o seu cdigo.

Marcelino Macdo

- 101 -