Visual Basic

Autor: Aulus Plautius Rosan

Introdução
O que é o Visual Basic ?
O Visual Basic é um compilador do tipo QuickBasic para criação de aplicativos para Windows, ele é na realidade, uma aplicação do próprio Windows. É dessa forma que os programas em Visual Basic podem ser criados, rodados, depurados e compilados diretamente no Windows. O Visual Basic possibilita aos usuários a programação baseada em eventos e objetos. Isto quer dizer que o programador coloca na janela todas as opções (menus, botões, ícones, controles, etc...) para que o usuário selecione uma delas com o mouse ou com o teclado. Antes do Visual Basic uma aplicação era desenvolvida em linguagem C, juntamente com o Kit de Desenvolvimento de Software do Windows, o que demandava muito tempo de aprendizagem.

Linguagem Baseada em Eventos
Ao darmos um clique com o mouse em um determinado objeto de um aplicativo Visual Basic, por exemplo um botão, estamos gerando um evento dentro do Windows o qual fará com que um determinado pedaço de código seja executado. Podemos, também, colocar da seguinte maneira: um determinado pedaço de código foi executado em decorrência de um evento gerado com o clique do mouse. Se o tal botão nunca for apertado aquele código poderá jamais ser executado. Programadores de linguagens voltadas para DOS, estão acostumados a escrever códigos que são executados de maneira sequencial, ou seja, o programa é orientado por sequência, isto quer dizer que as linhas de código são executadas uma após a outra durante todo o programa. Enquanto o programa não chega na última linha de código ele não para a não ser que o usuário intervenha finalizando o programa antes que ele termine. No Windows é diferente. Não existe um corpo de programa com início, meio e fim. O programa é orientado por eventos. Normalmente, um programa para Windows apresenta várias opções possíveis na tela para que o usuário as selecione conforme sua necessidade, representando, assim, um modo completamente novo de se programar. O Visual Basic é uma linguagem baseada em eventos. Isso quer dizer que o responsável pelo fluxo do programa é o usuário e não mais o programador. Devemos ter isso em mente quando estivermos projetando um aplicativo. Na programação orientada por sequência, normalemente o usuário entra com os dados na sequência determinada pelo programador. O Visual Basic permite que o usuário entre com os dados na ordem que preferir.

Linguagem Baseada em Objetos
Outra característica importante do Visual Basic é a de ser uma linguagem baseada em objetos. As linguagens como o C++ e o Pascal por exemplo, também baseadas em objetos, possuem classe e herança. No Visual Basic, os objetos são pré-definidos, isto é, já existe uma coleção de objetos que acompanham o software. Para criar novos objetos, o programador deverá utilizar a opção User Control como sendo o tipo de projeto a ser realizado. Os novos objetos só poderão ser criados a partir de um outro objeto já existente, portanto basicamente esse novo objeto terá as mesmas características do objeto que serviu de base. Para criar objetos capazes de realizar funções diferentes dos objetos existentes, você deverá criá-los em linguagem C. Dentro do Visual Basic, os objetos são, por

exemplo, menus, janelas, botões, quadros de texto, etc... Melhor especificados no capítulo sobre objetos. Cada um dos objetos possui várias propriedades, métodos e eventos associados à eles.

Ambiente de Desenvolvimento
O ambiente de programação do Visual Basic é composto pelas seguintes janelas: Janela Principal, Caixa de Ferramentas, Janela de Propriedades, Janela de Projeto, Janela de Código e Formulário. É através dessas janelas que podemos escolher os objetos que farão parte do nosso programa, configurar suas propriedades conforme a especificação do programa, escolher os eventos que serão utilizados, etc.

Janela Principal

Essa janela é a responsável pelo controle geral do ambiente de programação do Visual Basic e contém uma barra de ferramentas e de menus. O menu Help, fornece informações sobre todos os objetos e características do Visual Basic. Está também disponível, através da tecla "F1" um Help On-Line, no qual podemos obter informações detalhadas de um objeto previamente selecionado. Através desses recursos, também podemos obter informações sobre a linguagem QuickBasic utilizada no Visual Basic. Com a barra de ferramentas, temos um acesso mais rápido das funções do menu mais utilizadas.

Barra de Título
A barra de título é a barra horizontal localizada no topo da tela; ela informa o nome do aplicativo e é comum a todos os aplicativos Windows da Microsoft. Interações entre o usuário e a barra de título são manipuladas pelo Windows e não pelo aplicativo. Tudo o que está abaixo da barra de título e da barra de menu,

em um aplicativo Windows, é chamado de área do cliente. Seu aplicativo é totalmente responsável pela aparência, conteúdo e resposta dos objetos que você alojou nessa área.

Barra de Objetos
Essa barra está localizada à esquerda da tela do Visual Basic, logo abaixo da barra de ferramentas e possui os objetos gráficos (botões, caixas de texto, caixa de figura, etc...) disponíveis para serem utilizados dentro do projeto. O Visual Basic chama esses objetos de controles. O ambiente que você está utilizando pode apresentar mais figuras do que o mostrado abaixo. Isso deve-se ao fato de o Visual Basic ser um ambiente de programação aberto e extensível, ou seja, além dos controles disponíveis no Visual Basic, podemos adquirir outros controles fornecidos por outras empresas ou construir o nosso próprio controle.

Janela de Propriedades
As propriedades definem as caracte- rísticas de cada objeto - controle da aplicação. O conjunto de propriedades depende do controle selecionado. Por exemplo, um formulário tem propriedades diferentes de uma figura. As propriedades podem ser alteradas em tempo de projeto ou de execução, sendo que algumas delas somente em tempo de execução. Para alterar o valor de uma propriedade em tempo de execução só por meio de programação a ser carregada através de um objeto, por exemplo um botão ou assim que o programa for carregado, já em tempo de projeto, devemos:

1. Selecionar o controle cuja propriedade deseja alterar; 2. Rolar pela lista de propriedades até encontrar a propriedade desejada; 3. Digitar o novo valor; 4. Pressionar ENTER para confirmar a alteração efetuada.

Janela de Projetos

etc. as funções manipuladoras de "Strings". as funções matemáticas. Portanto cada vez que o usuário der um clique com o mouse no formulário o procedimento "Form_Click( )" será executado e gerará um "beep". Existem três tipos de procedimentos: 1. Esse procedimento estaria declarado dentro do objeto "General" da Janela de Código de um formulário ou de um módulo. por exemplo. Podemos ter. Os procedimentos do Visual Basic são.) criados pelo programador. Formulário . po. Adicionamos códigos a eles através da Janela de Código do formulário.) associados aos eventos. Dentro do Visual Basic. Podemos observar na figura que o evento selecionado é o "Click" e o objeto é o formulário. Os procedimentos criados pelo programador são aquelas subrotinas e funções utilizadas para melhorar a estruturação do código.) do Visual Basic. permitindo que cada projeto possa ter vários módulos. Funções e Sub-Rotinas As funções (functions) e sub-rotinas (subs) são chamadas de procedimentos (procedures). por exemplo. "FRM" . um contendo a lista de objetos dentro do nosso programa e o outro uma lista de eventos disponíveis para cada um dos objetos. Os procedimentos associados aos eventos são aqueles procedimentos que são chamados em resposta a um evento. 2. O comando Beep na linguagem do Visual Basic gera um aviso originário do alto-falante do PC.Esssa janela possui uma lista dos arquivos que estão sendo utilizados dentro do programa que estamos desenvolvendo. 3. constantes e rotinas. os métodos."VBP" e outros dentro dessa janela. Essa função trataria os possíveis erros e retornaria o número do arquivo aberto.tém a declaração de variáveis. Na figura ao lado. Podemos ter arquivos com extensões "BAS" . O Visual Basic organiza os trabalhos por projeto. uma função que abre um arquivo. Janela de Código Essa janela con.demos ver dois quadros combo. a diferença entre uma função e uma subrotina é que a função retorna um valor e a sub-rotina não.

Como em qualquer aplicativo Windows. abrir e imprimir arquivos. você também poderá abrir a caixa de controle na barra de menu e escolher Exit ou dar um duplo clique nessa caixa. A maioria dos itens do menu principal File é útil apenas quando você inicia o desenvolvimento de seu próprio aplicativo. É nessa janela que colocaremos os controles gráficos (botões. a mesma aparecerá. O menu File também permite que você saia do Visual Basic através de um item para isso.Essa é a janela do nosso aplicativo. Menus Menu File Você precisará do menu principal File para trabalhar com os arquivos que compõem seu projeto. maximizar. etc) e também o código associado a esses objetos. quadros de texto. Esse menu inclui comandos para salvar. Para abrir uma janela de código. Quando o usuário iniciar o programa. A janela possui os quadros minimizar. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor: . a outra maneira é utilizando as teclas de combinação do Windows ALT + F4 quando estiver posiconado na barra de menu principal. fechar e menu de controle. basta dar um duplo clique em cima do objeto do qual um evento deve ser tratado.

Menu Edit Abaixo segue um breve resumo sobre os itens para orientá-lo melhor: Menu Project .

códigos.O menu Project comtém itens que possibilitam a inserção de vários procedimentos. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor: Menu Format Menu Debug . módulos. janelas. etc. em seus projetos.

Utilize o Add-In Manager para adicionar e remover Add-Ins do menu. que é usado para gerenciamento de Banco de Dados. Existem dois Add-Ins fornecidos com várias versões do Visual Basic. atualmente na versão 7. que é representado pelo software da empresa Seagate Crystal Reports.Menu Run Menu Tools Menu Add-Ins O menu Add-Ins lhe permite acessar ferramentas separadas que podem ser incorporadas ao Visual Basic. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor: . A outra ferramenta inclusa é o Visual Data Manager. O Report Manager.0. é uma ferramenta completa para modificar e criar relatórios que você poderá utilizar em seu programa.

Menu Window Menu Help Barra de Ferramentas .

caso existam. (janela em que se programa as atividades para os objetos). Você notará que existem dois nomes independentemente do que estiver sendo exibido nesta janela. Abaixo do projeto. temos a possibilidade de ir até a janela de código. este estará sendo exibido sempre entre parênteses. Janela de Propriedades .Janelas Janela de Projetos Esta janela comtém informações sobre o projeto em uso. O primeiro nome é o nome lógico (nome dado ao objeto) e o segundo nome é o nome físico (nome dado ao arquivo). ou o único projeto aberto. Ainda nesta janela através das ícones. estarão definidos os nomes dos formulários em uso no projeto. É nela que serão exibidos todos os projetos utilizados ao mesmo tempo. voltar para o modo de exibição do formulário e também exibir os formulários em formato de pastas de um projeto.

Então o posicionamento deverá ser feito através de programação ou por esta janela. Obs: As propriedades dos objetos também podem ser alteradas através de programação na janela de código. é acessando a propriedade do formulário Startup Position e escolher a opção CenterScreen. devemos selecioná-lo clicando apenas uma vez nele mesmo no formulário e depois clicar na janela de propriedades. Janela de Posicionamento do Formulário É através desta janela que o programador posiciona o local em que o formulário aparecerá assim que o programa for executado. mas não será possível acessar esta propriedade. para que os objetos sofram as alterarações no decorrer do programa. devido aos eventos em que foram programados. onde serão isoladas apenas as propriedades do objeto selecionado. Esta é a outra forma do programador localizar e selecionar o objeto para trabalhar com suas propriedades sem ter que selecioná-lo no formulário.É nesta janela que o programador altera as características originais dos objetos utilizados no(s) formulário(s) do programa. Quando se cria um objeto dentro do formulário. Outra maneira de fazer isto. caso esteja sendo usado um formulário do tipo MDI. Como centralizar um formulário através de programação: . Então o programador irá alterar algumas das propriedades adequando assim o objeto a ficar com as características e aparência desejada. possui uma caixa combo situada ao topo. Esta mesma janela. Esta caixa contém o nome de todos os objetos utilizados no formulário em desenvolvimento.

Width .Private Sub Form_Load ( ) Top = (Screen. Sintaxe MsgBox(prompt[.End If (Se. como lembretes de informação junto à programação e são muito importantes porque poderão auxiliar na documentação do software. e retorna um valor indicando que o usuário clicou o botão. A quantidade máxima de caracteres que poderão ser utilizados em uma mensagem é de aproximadamente 1024 caracteres.Width) / 2 End Sub Comandos mais Utilizados Os comandos mais comumente utilizados no Visual Basic.Height . esperando pelo usuário clicar um botão.End (Encerrar) Objetivo Emitir um aviso ao usuário Pedir informação ao usuário Fazer Perguntas ou Validações Fechar um Formulário ou Software Comentários Comentários são utilizados. context]) A sintaxe do comando MsgBox tem estes argumentos: Partes Descrição Prompt Expressão texto exibida como a mensagem em uma caixa de diálogo. buttons][. dependendo da . title][. helpfile.. estão descritos nos sub-ítens deste capítulo. MsgBox Exibe uma mensagem em uma caixa de diálogo.. são eles: Comandos MsgBox (Caixa de Mensagem) InputBox (Caixa de Entrada) If...Fim) Unload me .Height) / 2 Left = (Screen.

a identidade do botão padrão. Não suportada. o nome da aplicação entra no lugar da barra de título. repetir e ignorar. não e cancelar. Exibe os botões sim. Se você omitir o título. Buttons Title Helpfile Context Opções As opções de argumentos do botão são: Constantes Valor Descrição vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel vbCritical vbQuestion 0 1 2 3 4 5 16 32 Exibe somente o botão de ok. Exibe a ícone de mensagem de parada crítica. e a modalidade da caixa de mensagem. Exibe os botões abortar. . especificando o número e o tipo de botões para exibir. Expressão de texto exibida na barra de título da caixa de diálogo. alimentando linha com um ENTER. Exibe os botões repetir e cancelar. Se omitidos. alimentando linha com a quebra da mesma. ou ainda usar uma combinação (Chr(13) & Chr(10)) entre cada linha. Exibe os botões de sim e não. Exibe os botões de ok e cancelar. Não suportada. Se a mensagem consiste em mais do que uma linha. o estilo da ícone para usar. Exibe a ícone de questão. Veja as opções na seção para valores. o valor padrão para botões é 0. Expressão numérica que representa a soma dos valores. você pode separar as linhas usando um caracter de retorno (Chr(13)).largura ocupada pelos caracteres usados. caracter (Chr(10)).

o segundo grupo (16. O terceiro botão é padrão. O primeiro botão é padrão. vbSystemModal 4096 O primeiro grupo de valores(0–5) descreve o número e o tipo de botões exibidos na caixa de diálogo. o terceiro grupo (0. O quarto botão é padrão. e retorna o conteúdo de um TextBox. Não vbNo 7 pressionando a tecla ESC obtem-se o mesmo efeito como ter clicado o botão de cancelar. 256. use somente um número de cada grupo. 512. Modalidade do Sistema. Exibe a ícone de mensagem informativa. Retorno de Valores A caixa de mensagem segue os valores retornados abaixo: Constantes vbOK vbCancel vbAbort vbRetry vbIgnore vbYes Valor 1 2 3 4 5 6 Botões OK Cancelar Abortar Repetir Ignorar Sim Obs: Se a caixa de diálogo exibe um botão de cancelar. e o quarto grupo (0. 48. 32.vbExclamation vbInformation vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 vbApplicationModal 48 64 0 256 512 768 0 Exibe a ícone de mensagem de alerta. Quando estiver adicionando números para criar um valor final para os argumentos dos botões. esperando que o usuário entre com um texto ou clique um botão. . o usuário deverá responder a mensagem da caixa antes de continuar trbalhando na aplicação em utilização. 64) descreve o estilo da ícone. todas as aplicações são suspendidas até que o usuário responda a caixa de mensagem. 768) determina qual botão é o padrão. InputBox Descrição Exibe um prompt em uma Caixa de Diálogo. 4096) determina a modalidade da caixa de mensagem. O segundo botão é padrão. Modalidade da Aplicação.

dependendo da largura dos caracteres usados. Prompt Title Default xpos ypos Helpfile Context .Sintaxe InputBox(prompt[. a distância vertical da margem superior da caixa de diálogo do topo da tela. Se a mensagem consiste de mais do que uma linha. Expressão numérica que especifica. Se você omitir o título. context]) A sintaxe do InputBox possui estes argumentos: Partes Descrição É exibida uma mensagem em formato texto em uma caixa de diálogo. Se xpos é omitida. Se ypos é omitida. a distância horizontal da margem esquerda da caixa de diálogo da margem esquerda da tela. a caixa de texto é exibida vazia. Se você omitir default. helpfile. Expressão de texto exibida na caixa de texto como a resposta padrão se outra entrada não é providenciada. title][. O tamanho máximo da mensagem é aproximadamente 1024 caracteres. caracter (Chr(10)). a caixa de diálogo é posicionada verticalmente aproximadamente em 1/3 da altura da tela. você pode separar as linhas usando um caracter de retorno (Chr(13)). xpos][. em pixels. alimentando linha com um ENTER. alimentando linha com a quebra da mesma. ou ainda usar uma combinação (Chr(13) & Chr(10)) entre cada linha. em pixels. Não suportada. a caixa de diálogo é centralizada horizontalmente. Não suportada. ypos][. o nome da aplicação entra no lugar da barra de título. Expressão numérica que especifica. Expressão de texto exibida na barra de título da caixa de diálogo. default][.

qualquer comando seguido do IF ou THEN e prescedendo ELSE ou ENDIF (que sempre ocorrerão primeiro) são executados. Sintaxe IF Expressão [THEN] Comandos [ELSE Comandos] ENDIF Argumentos Expressão Especifica a expressão lógica que recebe valor. IF . qualquer comando depois do ELSE e antes do ENDIF é executado.. quando o nome fornecido a ele na propriedade name é muito grande. Se a Expressão é falsa (. Unload . todos os comandos entre o IF e o ENDIF são ignorados..) e o ELSE é incluído. Quando escrevemos Me. a execução do programa continua com o primeiro comando seguindo até o ENDIF.)..End Unload O comando Unload é utilizado para fechar formulários que integram um projeto. ao clicarmos em um botão por exemplo. • Se a Expressão é falsa (. o retorno é um texto de tamanho zero (""). utilizamos o nome de um Formulário. Estes comentários são ignorados durante a compilação e execução do programa. Isto é feito para substituir o nome do formulário.. Se a Expressão recebe valor verdadeiro (. THEN.F. ENDIF sem outro bloco IF . o retorno da caixa de entrada contudo está na caixa de texto. and ENDIF. estamos nos referindo ao formulário atual em uso.) e o ELSE não é incluído. Se o usuário clicar Cancelar..Obs: Se o usuário clicar OK ou pressionar ENTER. ENDIF Condicionalmente executa uma seleção de comandos baseados no valor de uma expressão lógica. Pode ser usado de duas formas: Sintaxe: • • Unload Me. ENDIF.F. • Obs: Você pode definir um bloco IF . Os comentários precedidos por && podem estar especificados em alguma linha depois de IF. podemos estar fechando um outro formulário.. mesmo estando em um determinado formulário.T. ELSE. Neste caso. serão: . Já no segundo caso. Portanto. Os únicos casos em que o comando Unload seguido de Me ou diretamente do nome de um Form qualquer poderá estar fechando um projeto. basta apenas escrever Unload e fornecer o nome do formulário a ser fechado. Unload Form1.

lembrando que End significa Fim. Ao selecionarmos um determinado objeto. Cada um dos objetos possui várias propriedades listadas na Janela de Propriedades. fazendo com que o sistema encerre-se propositalmente após algumas interaçõs do usuário. ou diretamente na programação. Essas ações são chamadas de eventos. são propriedades associadas aos quadros de texto. porque a forma Rem requer dois-pontos antes dele. Nesse caso é mais prático utilizar aspas simples. em um botão. opção e de seleção. End O comando End é utilizado para encerrar o programa. . Geralmente encontra-se em um ítem de menu descrito como Sair ou Fechar. a Janela de Propriedades automaticamente listará as propriedades disponíveis para aquele objeto e então poderemos modificá-las. abertura de formulário. Existem duas formas de indicar um comentário. digitação em um quadro de texto. Veja o exemplo abaixo: Private Sub Command1_Click ( ) ' Um comentário descrevendo o procedimento que viria aqui ' Toda linha de comentário ficará na cor verde End Sub Obs: Você pode utilizar a velha palavra-chave Rem. Por exemplo. "Labels" (legendas) e botões de controle.até que você tente modificar ou consertar um programa que alguém escreveu ou mesmo que você escreveu meses atrás. Eles não ocupam nenhum espaço nos códigos compilados. o tamanho. o tipo e o tamanho da fonte com que o texto aparece e sua posição. Cada objeto reconhece as seguintes ações. Você poderá também acrescentar comentários no final das linhas. Comentários Comentários são acrescidos ao programa para explicar o que um código faz. É muito simples perguntar-se por que os comentários são importantes . tais como um clique do mouse.• • Se estivermos diretamente no formulário principal de um sistema. Método e Evento O Visual Basic é composto de formulários e controles genericamente chamados de objetos. As propriedades dos objetos nos permitem saber e modificar as características desses objetos. a legenda. Os comentários não são executados nem processados pelo Visual Basic. a cor. Objetos A Terminologia do Visual Basic Propriedade. etc. dando um clique com o mouse sobre ele. A forma usual é indicar um comentário com aspas simples. o nome. Se estivermos na única tela de um programa.

quando o programa está sendo executado. O método é um procedimento ("Function ou Sub") que atua nos objetos. um formulário. O botão recebe a atenção do sistema. ou seja. Esse procedimento aparece na Janela de Código. os formulários podem conter código e variáveis. um botão de controle reconhece os seguintes eventos: Eventos Click DragDrop DragOver GotFocus KeyDown Ações Um botão é acionado com o mouse ou com o teclado. podemos declarar variáveis. Um controle está sendo arrastado sobre o botão. Podemos modificar o tamanho e localização na tela do formulário. constantes e procedimentos criados por nós. Na janela de projeto. O nome do procedimento associado ao evento é composto pelo nome do objeto e pelo nome do evento. ou seja. gráficos e outros formulários. um quadro de diálogo ou como um formulário que contém outro.FRM" contém. Devemos escrever código somente para os eventos que serão utilizados em nossa aplicação. os controles contidos nele. Um controle é solto em cima do botão. clicando e arrastando o mouse na borda e na barra de título desse formulário. uma lista das propriedades do . Por exemplo. Movimentar o quadro de lista para uma nova posição no formulário. respectivamente. Formulários Os formulários são utilizados como interface com o usuário dentro de uma aplicação. O nome do objeto para todos os formulários é "Form" e para os controles é o que aparece na propriedade "Name" do controle. os arquivos com extensão ".Para uma aplicação responder às ações do usuário e aos eventos do sistema. cada formulário possui a própria janela de código. Limpar o conteúdo do quadro de lista. Dentro do objeto "General" da janela de código. Podemos utilizar os formulários como uma tela de ilustração. Uma tecla é pressionada enquanto o botão tem a atenção do sistema. são utilizados os procedimentos associados a cada evento. qualquer ação do usuário através do mouse ou teclado será recebida pelo botão. Por exemplo. Esse código é chamado de procedimento do evento ("Event Procedure"). LostFocus O botão perde a atenção do sistema para outro objeto. Cada formulário é uma janela que pode conter controles. KeyPress Uma tecla é pressionada e um valor AscII é retornado. Além dos controles. Refresh Forçar uma atualização imediata o quadro de lista. cada um. Na verdade. um quadro de lista é um controle que possui os seguintes métodos: Métodos Ações AddItem Clear Move Adicionar um novo item no quadro de lista durante o tempo de execução. RemoveItem Remover um item do quadro de lista. SetFocus Fazer com que o sistema transfira sua atenção para o quadro de lista. o sistema automaticamente reconhece o evento e executa o código associado a esse evento escrito pelo programador. Quando um evento ocorre em uma aplicação.

quadros de figuras. Dando um duplo clique com o mouse no controle localizado na caixa de ferramentas. Soltar o botão. Selecionar o controle na Caixa de Ferramentas. botões. podemos modificar o seu tamanho da seguinte maneira: 1. etc. 3. Arrastar o mouse até o tamanho desejado. Cada projeto pode conter apenas um formulário do tipo "MDI". encontram-se no diretório "WINDOWS\SYSTEM". Módulos . Os quadros de texto. Para modificar a propriedade dos controles. Soltar o botão. Esse tipo de formulário pode conter outros formulários dentro dele. Apertar o botão da esquerda do mouse sobre um dos quadrados localizados na borda do controle. Podemos mudar a posição dos controles localizados no formulário da seguinte maneira: 1. você deve selecionar o item "Components. Podemos inserir um controle no formulário de trabalho de duas maneiras: 1.formulário e dos controles." dentro do menu "Project". 2. Para os controles já localizados no formulário.OCX". Modificar a propriedade. Adicionamos um formulário "MDI" ao projeto selecionando o item "Add MDI Form" dentro do menu "Project". devemos: 1. soltando em seguida o botão (ponto final). Um projeto pode conter vários formulários e podemos adicionar um novo formulário selecionando o item "Add Form" dentro do menu "Project". Para inserir uma ferramenta de controle em seu projeto em Visual Basic. 2. as variáveis e constantes utilizadas e o código associado. Os formulários que estão dentro do formulário "MDI" possuem a propriedade "MDIChild" como "True" e são chamados de formulários Filho. 4. Posicionar o apontador do mouse no meio do controle. Selecionar o controle do formulário dando um clique com o mouse. Dar um clique com o botão do mouse na posição desejada do formulário (ponto inicial) e arrastar até conseguir o tamanho desejado. Podemos ter ainda outro tipo de formulário: o do tipo "MDI" (Multiple Document Interface). mas você pode importá-los de outros diretórios normalmente. 2.. 3. 2. Os controles disponíveis em um projeto são mostrados na Caixa de Ferramentas ("ToolBox") e possuem a extensão de arquivo "OCX".. Selecionar o controle. são exemplos de controles. Controles Sao ferramentas utilizadas nos formulários para receber e mostrar informações. rótulos.. normalmente os arquivos ". Selecionar a propriedade desejada da Janela de Propriedades. Apertar o botão da esquerda do mouse e arrastar até a posição desejada. 3.

podemos dar o nome "frmprincipal" para a janela (formulário) que iniciará a aplicação. Selecionando o item "Save File As. O Visual Basic mostra uma janela de código com o título "Module". para uma boa documentação.).BAS" são uma maneira de reaproveitarmos as mesmas funções e subrotinas para várias aplicações.. O Visual Basic abre esse novo arquivo com o nome padrão de "Project1. No item "Properties. quadros de texto. Selecionamos o item "New Project" dentro do menu "File" para criarmos um novo projeto. Para criarmos a interface com o usuário. Na terceira etapa. incluirmos no nome do objeto o seu tipo também. 1. Configurar as propriedades dos objetos. selecionando o item "Save Project As..). duplo cliques. na janela de projeto. Por exemplo." dentro do menu "File". redimensionamento de uma janela.. Adicionar mais formulários e controles. Abrir um novo projeto. 6. Etapas de Desenvolvimento de um Projeto Há três etapas para a criação de um aplicativo em Visual Basic. 7. 2. Na segunda etapa do desenvolvimento. o arquivo criado.. etc. Repetindo. Salvar todo o projeto. Cada projeto contém pelo menos um formulário. teclas adicionadas. adequando-o aos requisitos do programa." do menu "Project". Podemos também ver. 2. projetamos como o programa responderá aos diferentes eventos (cliques. podemos ver e alterar o formulário que inicia o aplicativo. Salvar o projeto e o formulário criado com os nomes desejados. Criar a interface com o usuário. É aconselhável. a Janela de Projeto lista todos os arquivos da aplicação.São arquivos de extensão ". darmos nome a cada um dos objetos.. ou seja. devemos configurar as propriedades de todos os objetos. podemos seguir os seguintes passos: 1. Podemos inserir quantos formulários desejarmos dentro de um projeto. adicionamos o código. Salvar esses formulários com os nomes escolhidos. 5. Podemos criar um módulo selecionando o item "Module" dentro do menu "Project". interrupção causada pelo temporizador. etc.VBP" que contém a lista dos fornulários. 4. nessa etapa. configurando-os através de sua propriedade "Name". Modificar o tamanho do formulário. podemos fazer essa alteração. Projeto É um arquivo ". 3. É aconselhável trocarmos o nome padrão dado pelo Visual Basic..vbp" É aconselhável modificarmos esse nome." dentro do menu "File". Escrever o código. módulos e controles que compõem uma aplicação. Adicionar os controles necessários (botões. . 3.BAS" que contém declarações (variáveis e constantes) e procedimentos (funções e subrotinas). É muito importante. pois os arquivos ".

a interface com o usuário. Determiar a cor do texto impresso. Determinar a fonte. Determinar a dimensão horizontal de um objeto. isto é. Enabled Determinar se o formulário ou controle podem responder aos eventos gerados pelo usuário. barra de paginação (barra de rolagem). Font ForeColor Height Left MousePointer Name ToolTipText Top Visible Width Eventos comumente utilizados nos objetos: Eventos Activate Ações Ocorre quando um formulário se tornar uma janela ativa. o estilo e tamanho a ser usada para mostrar um texto em um controle. Ocorre quando o conteúdo de uma caixa de combinação (caixa combo). como será o fluxo de dados dentro do programa. Propriedades e Eventos mais Utilizados Propriedades comuns a todos os objetos: Proriedades Ações BackColor Determinar a cor de fundo de um objeto. etc. controle ou objeto de acesso a dados. Determinar a distância entre a borda interna superior de um objeto e a borda superior do objeto que o contém.Devemos lembrar que essas três etapas não dispensam um projeto de software detalhado. movendo-o sobre um formulário ou controle. Determinar a dimensão vertical externa de um objeto. Determinar se o objeto está visível ou não. Change . os algorítmos utilizados. Determinar o tipo do ponteiro do mouse mostrado quando ele está sobre uma parte específica de um formulário ou controle. como o programa deverá funcionar. Não está disponível em tempo de execução. Especificar o nome usado no código para identicar um fomulário. Determinar a distância entre a borda esquerda de um objeto e a borda esquerda do objeto que a contém. Exibir uma janela de assistência junto ao ponteiro do mouse. é usada também em tempo de execução para desenhar e imprimir. etiqueta. caixa de figura ou caixa de texto mudar.

MouseUp Ocorre quando o usuário solta o botão do mouse previamente pressionado. O ponteiro do mouse determina que o objeto recebe o evento. Abaixo seguem as Abreviações dos Controles básicos utilizados pelo Visual Basic. LostFocus Ocorre quando um objeto perde a atenção do sistema (focus). KeyUp Ocorre quando o usuário solta a tecla previamente pressionada. . MouseDow Ocorre quando o usuário pressiona o botão do mouse. Pode também ocorrer quando o valor do controle é modificado. Pode ser utilizado para monitorar se o ponteiro do DragOver mouse entra. GotFocus Iremos notar que um formulário recebe a atenção somente quando todos os controles visíveis estão desabilitados. deixa ou está diretamente sobre um alvo válido.Click Ocorre quando o usuário pressiona e solta o botão do mouse sobre um objeto. Assim caso. o programador esteja lendo um artigo ou desenvolvendo um programa que esteja em um livro (ou outra) fonte) e não exista uma foto ao menos da tela deste programa. Controles Todos os controles possuem abreviações para facilitar a programação. KeyPress Ocorre quando o usuário pressiona e solta uma tecla. Ocorre quando uma operação de "arrastar e soltar" está em progresso. ele facilmente poderá identificar os controles existentes dentro deste programa apenas acompanhando suas abreviações. DblClick Ocorre quando uma operação de " arrastar e soltar" é DragDrop completada como resultado do arrastamento sobre um formulário ou controle e soltura do botão do mouse. Ocorre quando um objeto recebe a atenção do sistema (focus). Ocorre quando o usuário dá um duplo clique com o mouse. KeyDown Ocorre quando o usuário pressiona uma tecla. n MouseMove Ocorre quando o usuário movimenta o mouse.

.Controles CheckBox ComboBox CommandButton Data (Control) DirListBox DriveListBox FileListBox Form Frame HScrollBar Image Label Line ListBox Ole OptionButton PictureBox Shape TextBox Timer VScrollBar Abreviações CHK CMB CMD DTC DIR DRV FIL FRM FRM SCR IMG LBL LIN LST OLE OPT PCT SHP TXT TMR SCR As Propriedades Principais do CheckBox Propriedade s Alignment Caption Ações Especifica se o texto ficará do lado esquerdo da caixa. O texto anexado ao objeto checkbox.

indica que este botão será o padrão desta janela e sempre que apertarmos a tecla ENTER. Geralmente deixa-se em branco. Nesta propriedade digita-se um texto que ficará como padrão. O nome que daremos para o objeto botão de comando. Escolhe a fonte de letra que o Caption terá. Escolhe uma fonte para o texto digitado no caption. Text As Propriedades Principais do CommandButton Propriedades Cancel Caption Default Ações Se esta opção for ajustada como verdadeira. o botão será associado a tecla ESC e sempre que pressionarmos essa tecla. O título que será exibido dentro do botão. não aceitará que o usuário faça evento com a caixa de checagem. será como se tivéssemos apertado o botão. Determina se o botão será visível para o usuário quando o programa estiver em execução. Determina se o botão será habilitado para pressionamento por parte do usuário ou não. As Propriedades Principais do ComboBox Propriedade s Style Ações Escolhe o tipo de caixa de combinação que será utilizada: dropdown combo. Nomeia o objeto. será como se tivéssemos clicado sobre o botão. simple combo. e RecordSource Associa a tabela da base de dados a ser utilizada pelos campos contidos no formulário. Enabled Font Name Visible As Propriedades Principais do Data Propriedades Ações DataBaseNam Localização da base de dados a ser utilizada pelo programa. na caixa de combinação. A inicial abreviada para este tipo de controle é "chk".Enabled Font Name Value Habilita ou não este objeto. fixo na área de texto. dropdownlist. checked ou grayed. Determina o estado do objeto: unchecked. . Estando o botão com essa propriedade como True. Estando desabilitado.

maximizar. ou seja. Nesta propriedade escolhemos um arquivo de ícone que irá representar o programa. etc. Se esta opção estiver com False. botão maximizar. Possui o menu de controle. Retira ou coloca o menu de controle. Será o texto mostrado na barra de título do formulário (da janela). sem botão maximizar e sem botão minimizar e não pode redimensionar a janela. sem menu de controle. Sizable ToolWindow: Não possui o menu controle. Fixed Dialog: Muito usada para janelas que vão manter um diálogo com o usuário. Sempre que o mouse for movido em cima do formulário. poderão responder a eventos gerados pelo usuário. minimizar e fechar a janela. maximizar. Name Nome definido para o objeto formulário. personalizada). Aparecerá somente a barra de título e o botão fechar. None: Sem borda. pressionamento de teclas. barra de título e pode ser redimensionada. Escolhe a fonte padrão que será usada para todos os objetos inseridos neste formulário. o botão maximizar e o botão minimizar. indica que nenhum objeto desta janela. Ou seja. mas não terá os botões de maximizar e minimizar. minimizar. Muda o tipo de borda do formulário. Pode ser redimensionada. BorderStyle Caption ControlBox Enabled Font Icon KeyPreview MaxButton MDIChild MinButton MouseIcon Nesta propriedade especificamos o tipo de ponteiro que o mouse terá MousePointer quando se mover sobre o formulário. FixedSingle: Borda Fixa. Habilita ou não o botão de minimização. Habilita ou não o botão de maximização. Os tipos de ponteiro de mouse estão abaixo da tabela. terá uma outra janela mestra incorporando-a. Aceita o menu de controle. esse tipo de formulário não aparece na barra de tarefas do windows. Fixed ToolWindow: Não possui o menu de controle. minimizar. o botão maximizar e o botão minimizar. como clicar do mouse.esse tipo de formulário não aparece na barra de tarefas do windows. sem barra de título. Aparecerá somente a barra de título e o botão fechar. Ela pode ter menu de controle e a barra de título.As Propriedades Principais do Form Propriedades Ações Apperance Define se o modo de exibição será 3D ou normal. próprio do windows. barra de título e pode ser redimensionada. . Determina se os eventos do teclado no formulário serão executados antes dos eventos correspondentes aos objetos inseridos no formulário. BackColor Muda a cor de fundo do formulário. e nem a própria janela. Determina se a janela será uma janela filha. próprio do windows. o ícone associado a esta propriedade aparecerá (desde que a propriedade MousePointer esteja customizada. Sizable: Borda comum. Não pode ser redimensionada. Também não pode ser redimensionada.

maximizada ou minimizada. 7 . Determina se.(Default) Ponteiro padrão.Ícone (variados). 12 .Redimensionamento na vertical. 1 .Trabalhando em segundo plano. 15 .Não disponível (ocupado). 11. 13 . As Propriedades Principais do Frame Propriedades Ações .Redimensionamento na horizontal. a janela aparecerá na tela do computador normal. 99 . 14 .Redimensionamento na diagonal. 9 . 4 .Todos os tamanhos. 5 .Sinal de ocupado.Redimensionamento na diagonal.Seleção alternada.Seleção de escrita. ao executarmos o programa. ShowInTaskba Habilita ou não a possibilidade da janela aparecer na barra de tarefas do windows. 2 . 6 .Seleção de ajuda. 3 . r Visible Determina se. WindowState Ponteiros do mouse: 0 . 10 . 8 .Picture Insere uma figura em nosso formulário.Seleção de mover objetos.Aparece o ícone escolhido na propriedade MouseIcon.Ponteiro em forma de seta.Ponteiro de seleção exata. ao executarmos o programa. essa janela ficará visível ou invisível.

Caption Enabled Name Coloca um texto no canto superior esquerdo da moldura. Picture Strech As Propriedades Principais do Label Propriedades AutoSize Ações Com esta propriedade habilitada. As Propriedades Principais do HScrollBar Propriedades Max Min Ações Valor máximo a ser utilizado pela barra de rolagem. geralmente 100. Possibilita que a imagem seja esticada mantendo toda a visualização possível dentro da área do objeto. Determina se todos os objetos colocados no interior da moldura estarão disponíveis ou não para o usuário. Caption Enabled Font ForeColor A propriedade principal do label. Habilita ou desabilita o objeto. Cuidado para não colocar um name igual ao de algum form. A inicial abreviada é "frm". Escolhe a cor da fonte do label. indicamos ao controle para redimensionar automaticamente seu tamanho do texto no label. Pode ser qualquer arquivo de imagem suportado pelo Visual Basic ou até mesmo um arquivo de ícone. Determina o texto que será exibido dentro do objeto. Quando está em False. BorderStyle Escolhe entre colocar uma moldura envolvendo o label ou não. Nome dado ao objeto. Escolhe a fonte que terá o texto digitado na propriedade caption. Valor mínimo a ser utilizado pela barra de rolagem. geralmente 0. a cor de seu conteúdo fica acinzentada. . BackColor Escolhe a cor de fundo que envolverá o label. BackStyle Escolhe entre o fundo transparente ou opaco para o label. As Propriedades Principais do Image Propriedades Ações Figura a ser exibida pelo objeto.

A inicial do label é "lbl". Habilita ou não o listbox para o usuário selecionar algum item no objeto. poderá ser selecionado mais de um item: none. Estando desabilitado. se WordWrap passarmos essa propriedade wordwrap para True. Como já foi dito. isto poderá ser feito. dimensionarmos o label. Habilita ou não este objeto. significa que a caixa MultiSelect de listagem aceitará múltiplas seleções. Name Nome que o objeto listbox terá. Determina a possibilidade dos itens dentro da caixa de listagem serem exibidos de maneira parcial. . Indica se o objeto será visível ou não para o usuário. Éo local onde digitamos os itens que estarão dentro do listbox. Classifica os itens existentes dentro do listbox em ordem alfabética ou numérica ascendente.Name Visible Nomeia o objeto label. simple e extended. Nesta propriedade existe uma caixa onde colocamos números relacionados com os itens existentes dentro do listbox. ou seja. As Propriedades Principais do ListBox Propriedades Columns Enabled IntegralHeight ItemData List Ações Determina a quantidade de colunas que a caixa de listagem terá. A abreviação para este objeto é "lst". é importante que todos os objetos sejam nomeados. Quando esta propriedade estiver habilitada. Sorted As Propriedades Principais do OptionButton Propriedades Alignment Caption Enabled Ações Determina se o texto ficará do lado direito ou esquerdo do botão de opção. bastando para isto. Mas. não é possível expandir o texto digitado na propriedade caption em outras linhas. o usuário não poderá selecionar a opção e a cor do texto será acinzentada. Esta propriedade em tempo de execução tem a finalidade de informar o estado que se encontra o sorted. O texto que será anexado ao objeto. Quando o autosize está em True.

é só especificarmos aqui qual queremos que seja mostrado. o objeto não estará habilitado para interagir com o usuário. é interessante colocarmos uma scrollbar na caixa de texto. Quantidade máxima de caracteres dentro da caixa de texto. Nomeia o objeto textbox. Text . Geralmente é branca. Estando em False. Todo texto digitado pelo usuário dentro da caixa de texto é incorporado nesta propriedade. vertical. Pode ser qualquer arquivo de imagem suportado pelo Visual Basic ou até mesmo um arquivo de ícone. A propriedade text é a mais importante deste objeto. pois ela acrescentará uma barra de rolagem que poderá ser: horizontal. Muito usado para digitação de senhas. As Propriedades Principais do PictureBox Propriedades Ações Figura a ser exibida pelo objeto. True para opção selecionada e False quando não está selecionada. BorderStyle Tipo da borda: Fixa e simples ou sem borda. Habilita a possibilidade de se digitar mais de uma linha na caixa de texto. Se durante a digitação de qualquer dado na caixa de texto. A inicial abreviada para este tipo de controle é "opt".Name Value Nomeia o objeto. A inicial do textbox é "txt". Escolhe a cor da fonte. trava qualquer digitação na caixa de texto. quisermos que o Visual Basic mostre outro caracter no lugar do PasswordChar caracter digitado. ScrollBars Estando a propriedade multiline habilitada. Picture As Propriedades Principais do TextBox Propriedades BackColor Ações Escolhe a cor de fundo da caixa de texto. Escolhe a fonte que será mostrada dentro da caixa de texto. Enabled Font ForeColor Locked MaxLength MultiLine Name Estando em False. ambas.

T. As Propriedades Principais do VScrollBar Propriedades Max Min Ações Valor máximo a ser utilizado pela barra de rolagem. você pode escolher o botão de comando pelo pressionamento da tecla ESC. Use a propriedade Picture para especificar uma figura para um botão de comando.T. geralmente 0. construa os seguintes botões no formulário. movimentação para um registro diferente. etc. Feito isto.). Exercício Proposto 1 Siga os seguintes passos: • • No menu File escolha a opção New Project. Valor mínimo a ser utilizado pela barra de rolagem. pelo pressionamento da tecla ENTER o botão de comando é selecionado. geralmente 100. CommandButton Obs:Um botão de comando é tipicamente usado para iniciar um evento que retorna uma ação com fechar um formulário. Você pode escolher um botão de comando para clicá-lo e se a propriedade Default está selecionada para true (. imprimir u relatório.As Propriedades Principais do Timer Propriedades Interval Ações Associa o intervalo de tempo em que a programação contida no objeto ocorrerá. caso contrário a figura não aparecerá. Se a propriedade Cancel do botão de comando está selecionada para true (. Escolha então o tipo de projeto Standard Exe. utilizando-se das propriedades descritas na tabela abaixo: Name Caption CmdLimpar Limpar CmdOk Ok CmdCancelar Cancelar CmdFechar Fechar .). só não esqueça de habilitar a propriedade Style para Graphical. Use a propriedade Caption para especificar o texto que aparece no botão de comando.

Na propriedade Name do formulário digite FrmCommand1 e na propriedade Caption digite "Exemplo do objeto Command". Programação do botão Limpar: Programação do botão Ok: Programação do botão Cancelar: Programação do botão Fechar: Programação para centralizar o Formulário: . devemos clicar duas vezes no objeto desejado. deveremos passar para a parte da programação. O resultado obtido deverá ser o formulário abaixo: Após termos construído a tela. Para gerar a programação.

Feito isto. é só clicar no botão Limpar e para encerrar o programa é só clicar no botão Fechar. mas desta vez. . Na propriedade Name do formulário digite FrmCommand2 e na propriedade Captiondigite "Exemplo do objeto Command". acrescentando & antes do nome físico. No momento de salvar. Exercício Proposto 2 Siga os seguintes passos: • • No menu File escolha a opção New Project. Assim. o nome a ser dado ao projeto é PrjCommand2.O resultado deste exercício será a impressão das mensagens inseridas dentro dos botões através do comando Print diretamente no formulário. utilize as seguintes propriedades a mais no objeto CommandButton: Propriedades Opções Style Graphical Picture Qualquer arquivo de figura Modifique também a propriedade Caption dos objetos. o nome a ser dado ao projeto é PrjCommand1. O resultado obtido deverá ser o formulário abaixo: No momento de salvar. Escolha então o tipo de projeto Standard Exe. como na figura abaixo: Para retirar as mensagens escritas no formulário. é só clicar nele ou manter pressionada a tecla seguida da letra escolhida para atalho. reconstrua o exercício anterior. Você estará criando uma tecla de atalho para eles. quando você precisar utilizar o CommandButton.

é o padrão) . poderá ser uma letra do meio ou do final da palavra. selecione a propriedade AutoSize para True. Para que o controle ajuste automaticamente seu conteúdo. você pode selecionar esta propriedade. Em tempo de projeto. Eles são usados para identificar objetos em um formulário providenciando um descrição do que um certo controle fará se clicado. por exemplo em tempo de execução. ComboBoxes e outros.Obs: A letra escolhida para ser o atalho do objeto deverá possuir & antes e não necessariamente deverá ser a primeira letra. selecionando-a na Janela de Propriedades. eles são usados com controles que não tem a propriedade Caption. para auxiliar o usuário com informação de ajuda. o texto desce para a próxima linha e é alterado se ele excede a altura do controle. Por exemplo. Você pode também escrever um código que altere o texto exibido por um label em resposta à eventos em tempo de execução. por exemplo. Eles podem exibir informação em resposta a um evento ou processo em sua aplicação. O controle expandirá . Labels são usados em muitas instâncias nas mais diferentes situações. Obs: Este controle não pode receber foco. se sua aplicação leva alguns minutos para processar uma alteração. use a propriedade Caption. quando insere-se texto dentro da propriedade Caption excedendo a largura do controle. Você pode utilizar o tamanho da propriedade Caption até o máximo de 1024 bytes. Centralizado (1). ou Justificado à Direita (2). você pode usar o controle label para adicionar descrições para TextBoxes. você pode exibir uma barra de status processando uma mensagem através de um label. Alinhando o Texto A propriedade Alignment permite que você selecione o alinhamento do texto do label para Justificado à Esquerda (0. Eles também podem ser usados para descrever textos em um formulário. ListBoxes. Por exemplo. Muito comumente. Label Labels são usados para exibir texto e não podem ser editados pelo usuário. Selecionando a Propriedade Caption do Label Para alterar o texto exibido em um label. As Propriedades AutoSize e WordWrap Pelo padrão.

Para Definir uma Chave de Acesso com um Label 1. Exercício Proposto Siga os seguintes passos: • • No menu File escolha a opção New Project.horizontalmente para receber o conteúdo da propriedade Caption. Para que o conteúdo desça uma linha e expanda verticalmente. Você pode também criar chaves de acesso para muitos outros controles que tiverem uma propriedade Caption adicionando o caracter (&) antes da letra que você quiser usar como a tecla de acesso. o usuário pode pressionar e utilizar ALT + o caracter que o programador designou para mover o foco para o próximo controle na ordem da tabulação. utilizando-se das propriedades descritas na tabela abaixo: Name LblNome LblSexo LblExame Caption Nome do Paciente Sexo Exame . use um label com o controle. Por que o controle label não pode receber foco. Feito isto. Quando você define uma chave de acesso em um label. PictureBox. 2. Obs: Você pode querer exibir teclas de acesso em um controle label. Isto permite que você una um controle label à um campo de uma linha de registro onde os dados são incluídos através do &. Use o caracter & na propriedade Caption para fornecer uma tecla de acesso para o label. ComboBox. -ouDesenhe o controle em qualquer ordem e selecione a propriedade TabIndex do label para numerar o uso do controle. Selecione o label primeiro. Usando Labels para Criar Chaves de Acesso Selecione a propriedade UseMnemonic para True se você quiser definir um caracter na propriedade Caption do label como uma chave de acesso. Para exibir & em um controle label. DriveListBox. DirListBox. então o foco se move automaticamente para o próximo controle na ordem fornecida na propriedade TabIndex. Para um controle receber uma tecla de acesso sem que ele tenha a propriedade caption. selecione a propriedade UseMnemonic para False. Use esta técnica para fornecer teclas de acesso para TextBox. Escolha então o tipo de projeto Standard Exe. se você estiver usando eles para criar teclas de acesso. e então desenhe o controle. selecione a propriedade WordWrap para True. Grid e Image. construa os seguintes labels no formulário. ListBox.

Com certeza. Se a propriedade MultiLine é False.Na propriedade Name do formulário digite FrmLabel e na propriedade Caption digite "Exemplo do objeto Label". alterar a propriedade Alignment não porporcionará efeito. o texto é automaticamente ajustado quando o TextBox é redimensionado. o nome a ser dado ao projeto é PrjLabel. Font e ForeColor BackColor. Para personalizar a barra de rolagem de um TextBox. Se um TextBox com MultiLine não tem uma barra de rolagem horizontal. você pode usar a propriedade Alignment para alterar o alinhamento do texto dentro do TextBox. Siga as instruções abaixo e confira o resultado: Objeto LblNome LblSexo LblExame Propriedades Font AutoSize. O resultado obtido deverá ser o formulário abaixo: No momento de salvar. O texto padrão é justificado à esquerda. Exercício Proposto . e a propriedade ScrollBars dele é alterada para qualquer coisa exceto None (0). os objetos criados não ficaram com esta mesma aparência apresentada acima. altere a propriedade MultiLine para True. algumas propriedades dos labels deverão ser alteradas. Barras de rolagem sempre aparecerão em um TextBox quando a propriedade MultiLine dele é alterada para True. BorderStyle. selecione a propriedade ScrollBars. Font. Para isso. Se você alterar a propriedade MultiLine para True. ForeColor e WordWrap TextBox Obs: Para exibir múltiplas linhas de texto em um controle TextBox.

Siga os seguintes passos:
• •

No menu File escolha a opção New Project; Escolha então o tipo de projeto Standard Exe.

Feito isto, construa os seguintes objetos no formulário, utilizando-se das propriedades descritas na tabela abaixo:

Name LblNomePaciente TxtNomePaciente LblSexo TxtSexo LblExame TxtExame CmdOk CmdCancelar

Caption Nome do Paciente Sexo Exame Ok Cancelar

Na propriedade Name do formulário digite FrmTextBox e na propriedade Caption digite "Exemplo do objeto TextBox". O resultado obtido deverá ser o formulário abaixo:

Após termos construído a tela, deveremos passar para a parte da programação. Para gerar a programação, devemos clicar duas vezes no objeto desejado. Programação da caixa de texto Nome do Paciente:

Programação da caixa de texto Sexo:

Programação da caixa de texto Exame:

Programação do botão Ok:

Programação do botão Cancelar:

Programação para centralizar o Formulário:

No momento de salvar, o nome a ser dado ao projeto é PrjTextBox.

Frame
Frames são usados para criar grupos de controles com identidades. Por exemplo, você pode usar um frame para subdividir um formulário funcionalmente, separarando grupos de botões de opções (OptionButton).

Figura 1. O controle Frame

Em muitos casos, você usará o frame passivamamente para agrupar outros controles e não terá a necessidade de responder por ele nos eventos. Você irá, com tudo, alterar o Name, Caption, ou a propriedade Font.

Adicionando um Frame em um Formulário
Quando usamos um frame para agrupar outros controles, primeiro desenhamos um frame, e então desenhamos os controles dentro dele. Isto habilita você a movimentar o frame e os controles contidos nele junto.

Desenhando controles dentro do Frame
Para adicionar outros controles no frame, desenhe eles dentro do frame. Se Você desenhar um controle do lado de fora do frame, ou usar o método do duplo-clique para adicionar um controle em um formulário, e então tentar movimentar ele para dentro do frame, o controle será posto no topo do frame e você terá que movimentar o frame e os controles separadamente.

Figura 2. Controles dentro do Frame

Obs: Se você já tem os controles e quer agrupá-los em um frame, você pode selecionar todos os controles, recortá-los, enviando-os para a área de transferência, selecionar o frame, e então colá-los dentro do frame.

Selecionando múltiplos controles em um Frame
Para selecionar múltiplos controles em um frame, pressione a tecla CTRL enquanto estiver usando o mouse para desenhar uma caixa em torno dos controles. Quando você soltar o mouse, os controles dentro do frame serão selecionados, como na Figura 3.

Figura 3. Selecionando controles dentro de um Frame

Check Box
O controle checkbox exibe uma marca de checagem quando ele é selecionado. Ele é comumente utilizado para presenciar uma seleção Sim/Não ou Verdadeiro/Falso para o usuário. você pode utilizar este controle em grupos para exibir múltiplas escolhas das quais o usuário pode selecionar uma ou mais. Este controle é similar ao controle optionbutton, mas neste cada opção é usada para indicar uma seleção que é feita pelo usuário. Eles diferem somente porque um optionbutton em um grupo pode ser selecionado por vez. Com o controle check box, porém, qualquer número de caixas de checagem pode ser selecionado.

O Valor da Propriedade
A propriedade Value do check box indica se o check box está checado, nãochecado ou não acessível. Quando selecionado, o valor será 1. Por exemplo:

o check box é selecionado para vbUnchecked. porque o controle check box não suporta o evento double-click. Exercício Proposto Siga os seguintes passos: . indicando um estado checado ou nãochecado. pode pode querer desabilitar um check box até que uma certa condição seja acionada. você pode selecioná-lo através da propriedade Value para vbChecked na rotina Form_Load ou Form_Initialize.Tabela de valores e constantes do Visual Basic equivalentes que são usadas para selecionar a propriedade Value. Por exemplo. pressionando a combinação de teclas ALT+C você pode alternar entre os estados checado e não-checado. Você pode então testar o estado do controle e programar sua aplicação para desenvolver alguma ação baseada nesta informação. o evento Click é acionado.Value = vbUnchecked Then Check1.Caption = "Unchecked" End If End Sub Obs: Se o usuário clicar duas vezes no controle check box. a propriedade caption do controle check muda cada vez que o controle é clicado.Value = vbChecked Then Check1. Se você quer preselecionar um check box de uma série de check boxes. Por padrão. O Evento Click Porém se o usuário clica no check box. Respondendo pelo Mouse e pelo teclado O evento click do check box é também acionado quando o foco é passado para o controle com o teclado usando a tecla TAB e então pressionando a tecla de espaço.Caption = "Checked" ElseIf Check1. Você pode então programar sua aplicação para desenvolver alguma ação dependendo do estado do check box. cada clique será processado separadamente. Como no exemplo. Por exemplo: Neste exemplo. Opção Não-Checado Checado Não-Acessível Valor 0 1 2 Constante VbUnchecked VbChecked VbGrayed O usuário clica no controle check box para indicar um estado checado ou nãochecado. Você pode selecionar o check box através do caracter que cria tecla de atalho (&). Você pode também selecionar a propriedade Value para vbGrayed para desabilitar o check box. Private Sub Check1_Click() If Check1.

O resultado obtido deverá ser o formulário abaixo: No momento de salvar. Todos os controles OptionButton com the same container act as a single group. Você agrupa os controles OptionButton desenhando-os dentro de uma controle que os contêm como um Frame. os controles OptionButton são usados em um grupo de opções para exibir opções das quais o usuário seleciona somente uma. um PictureBox. Para agrupar os controles OptionButton em um Frame ou PictureBox. construa os seguintes objetos no formulário. OptionButton Usualmente.• • No menu File escolha a opção New Project. . e então desenhe os controles OptionButton dentro. Escolha então o tipo de projeto Standard Exe. utilizando-se das propriedades descritas na tabela abaixo: Name FrmOpcoes ChkArroz ChkFeijao ChkFritas ChkOvo ChkBife CmdFechar Caption Arroz Feijão Fritas Ovo Bife &Fechar Na propriedade Name do formulário digite FrmFrameCheckBox e na propriedade Caption digite "Exemplo do objetos Frame e CheckBox". o nome a ser dado ao projeto é PrjCheckBox. Feito isto. desenhe o Frame ou o PictureBox primeiro. ou um formulário.

qualquer número de controles CheckBox poderá ser selecionado. há uma importante diferença: Quando um usuário seleciona um OptionButton. Escolha então o tipo de projeto Standard Exe. o outro controle OptionButton do mesmo grupo está automaticamente não disponível. construa os seguintes objetos no formulário. O resultado obtido deverá ser o formulário abaixo: . Exercício Proposto Siga os seguintes passos: • • No menu File escolha a opção New Project. Em contraste.Enquanto o controle OptionButton e o controle CheckBox parecem funcionar similarmente. utilizando-se das propriedades descritas na tabela abaixo: Name FrmSexo OptMasculino OptFeminino FrmEstado OptSolteiro OptCasado OptViuvo OptSeparado OptDivorciado CmdFechar Caption Sexo Masculino Feminino Estado Civil Solteiro Casado Viúvo Separado Divorciado &Fechar Na propriedade Name do formulário digite FrmOptionButton e na propriedade Caption digite "Exemplo do objeto OptionButton". Feito isto.

use o método AddItem ou RemoveItem. utilizando-se das propriedades descritas na tabela abaixo: Name List . o valor da propriedade ListIndex é -1. construa os seguintes objetos no formulário. ListBox Um ListBox exibe uma lista de ítens da qual o usuário pode selecionar um ou mais ítens. o nome a ser dado ao projeto é PrjOption. O primeiro item da lista é ListIndex 0. Obs: Para adicionar ou deletar ítens em um ListBox. você pode adicionar ítens para a lista usando a propriedade List em tempo de projeto. ListCount. Se não há item selecionado. Escolha então o tipo de projeto Standard Exe. e ListIndex para habilitar um usuário para acessar ítens no ListBox. e o valor da propriedade ListCount é sempre um valor maior do que o contido em ListIndex. Feito isto. O resultado obtido deverá ser o formulário abaixo: . Marque as propriedades List. Se o number de ítens excede o número que pode ser exibido. uma barra de rolagem é automaticamente adicionada para o ListBox. Alternativamente. Exercício Proposto 1 Siga os seguintes passos: • • No menu File escolha a opção New Project.Caption LstNomes Maria da Silva José Pereira Cornélios Silva Pedro Pereira Peter Norton Souza Bill Gates Silva CmdFechar &Fechar Na propriedade Name do formulário digite FrmListBox1 e na propriedade Caption digite "Exemplo do objeto ListBox".No momento de salvar.

construa os seguintes objetos no formulário. utilizando-se das propriedades descritas na tabela abaixo: Name LstNomes LblTexto LblQuantidade LblIndice CmdTexto CmdQuantidade CmdIndice CmdFechar List . O resultado obtido deverá ser o formulário abaixo: .No momento de salvar. o nome a ser dado ao projeto é PrjListBox1. Exercício Proposto 2 Siga os seguintes passos: • • No menu File escolha a opção New Project.Caption Joaquim Portugal José Pereira Pedro Pereira Peter Norton Souza Cornélios Silva Bill Gates Silva &Texto &Quantidade &Indice &Fechar Na propriedade Name do formulário digite FrmListBox2 e na propriedade Caption digite "Exemplo do objeto ListBox". Feito isto. Escolha então o tipo de projeto Standard Exe.

Para gerar a programação. deveremos passar para a parte da programação. devemos clicar duas vezes no objeto desejado. Programação para o Formulário: Programação do botão CmdTexto: Programação do botão CmdQuantidade: Programação do botão CmdIndice: .Após termos construído a tela.

ComboBox O ComboBox é um controle. Escolha então o tipo de projeto Standard Exe. o nome a ser dado ao projeto é PrjListBox2. utilizando-se das propriedades descritas na tabela abaixo: Name Caption CmbNomes LblNomes CmdFechar &Fechar Na propriedade Name do formulário digite FrmComboBox e na propriedade Caption digite "Exemplo do objeto ComboBox". similar a uma combinação entre um ListBox e um TextBox. construa os seguintes objetos no formulário. Feito isto.O programa será executado da seguinte maneira: No momento de salvar. O resultado obtido deverá ser o formulário abaixo: . em que você entra com um valor ou seleciona um item de uma lista. Exercício Proposto Siga os seguintes passos: • • No menu File escolha a opção New Project.

devemos clicar duas vezes no objeto desejado. Programação para o Formulário: Programação da caixa combo CmbNomes: O programa será executado da seguinte maneira: . deveremos passar para a parte da programação. Para gerar a programação.Após termos construído a tela.

Dependendo da situação do programa. o que significa que um intervalo muito longo não poderá ser mais longo do que um minuto (cerca de 64. redes. disponibilizando ao programador uma barra na posição horizontal ou uma barra na posição vertical. cálculos intensivos. o programador saberá qual das barras ele precisará em seu programa.767. Cada controle timer tem uma propriedade chamada Interval que especifica o número de milisegundos que passam entre um evento de tempo para o próximo. um timer continua a receber um evento (apropriadamente nomeado de evento Timer) em um estado inacabado igual ao intervalo de tempo. • . ou leitura de drives. o nome a ser dado ao projeto é PrjComboBox. Eles são independentes do usuário. O intervalo poderá ser entre 0 e 64. Este objeto possui duas aparências. ou portas de acesso sua aplicação não permite rodar no evento timer com frequência como especificado na propriedade Interval. Timer O controle Timer realiza ações atribuídas à ele de acordo com a passagem do tempo. A propriedade Interval tem poucas limitações para considerar quando você está programando em um controle timer: • Se sua aplicação ou outra aplicação é feita exigindo uma demanda maior do sistema tal como longos retornos. Mesmo desabilitado. você pode utilizar as setas que estão posicionadas nas extremidades para aumentar ou diminuir valores. Timers também são muito usados para outros tipos de processamento. controlar o posionamento e o direcionamento de objetos baseado em outros fatores contidos no programa. ScrollBar Com as barras de rolagem. e você pode programá-los para ter ações em intervalos de tempo regulares.No momento de salvar.8 segundos). Uma típica ação realizada com ele é a checagem do relógio do sistema para visualizar as horas em alguma barra de tarefas. tamanho de objetos.

alterando a propriedade Enabled para False suspendemos as operações do timer. Enabled Interval Note que a propriedade Enabled do controle timer é diferente da propriedade Enabled dos outros objetos. altere esta propriedade para True. deixe esta propriedade selecionada como False. Em todo caso. Para assegurar exatidão. a propriedade Enabled determina qual objeto pode responder por um evento causado pelo usuário. construa os seguintes labels no formulário. Inicializando um Controle Timer Um controle timer tem duas propriedades fundamentais: Propriedade Opção Se você quiser que o controle timer inicie trabalhando. você deverá criar no mínimo um form.• O intervalo não é garantido exatamente com o decorrer do tempo. Exercício Proposto Siga os seguintes passos: • • No menu File escolha a opção New Project. o timer exibe a checagem do relógio do sistema quando necessário. mesmo assim você terá mais precisão. Obs:Selecione as propriedades List. você pode escrever um código para sincronizá-los com o DriveListBox e com cada outro controle. Todo controle timer deverá ser associado com um form. Contudo. porque. Você poderá escolher ter um evento externo (como um clique de um botão de comando por exemplo) para iniciar a operação do timer. Feito isto. Escolha então o tipo de projeto Standard Exe. Número de milisegundos entre os eventos do timer. DriveListBox Um DriveListBox habilita um usuário selecionar uma unidade de disco válida. como o evento load do form. ListCount e ListIndex para habilitar um usuário acessar ítens em uma lista. melhor do que tentar incrementar valores acumulados internamente como se fosse tempo. Obs: Lembre-se que o evento Timer é periódico. você pode criar caixas de diálogo que habilitam o usuário abrir um arquivo de uma lista de arquivos em um disco em qualquer drive acessível. O tamanho do intervalo depende de quanta precisão você vai precisar. Na maioria dos objetos. Se você também exibir os controles DirListBox e FileListBox. existe a chance em potencial de que algum erro ocorra fazendo um intervalo quebrado. utilizando-se das propriedades descritas na tabela abaixo: Name . Com o controle Timer. para criar uma aplicação com tempo. Use este controle para exibir uma lista de todas as unidades de disco válidas no sistema do usuário. A propriedade Interval não determina "quanto tempo" e sim "qual a frequência".

deveremos passar para a parte da programação. Programação da caixa de listagem de drive Drive1: Programação da caixa de listagem de diretórios Dir1: No momento de salvar. O resultado obtido deverá ser o formulário abaixo: Após termos construído a tela. devemos clicar duas vezes no objeto desejado.Drive1 Dir1 File1 Na propriedade Name do formulário digite FrmArquivos e na propriedade Caption digite "Exemplo dos Objetos de Arquivos". Para gerar a programação. . o nome a ser dado ao projeto é PrjArquivos.

quadrado. Essas formas pré-definidas podem ser: retângulo. círculo. Figura 1. Exercício Proposto O exercício proposto para este objeto já foi realizado no item DriveListBox. FileListBox Obs: Selecione as propriedades List. você pode escrever código para sincronizá-los com o controle DirListBox e com cada outro controle. oval. O controle Shape Você pode alterar neste controle as propriedades style. color. ListCount e ListIndex para habilitar um usuário acessar ítens em uma lista. ListCount e ListIndex para habilitar um usuário acessar ítens na lista.DirListBox Obs: Selecione as propriedades List. oo picture boxes. retângulo com cantos arredondados ou um quadrado com cantos arredondados. Se você também exibe os controles DirListBox e DriveListBox. você pode escrever código para sincronizá-los com o FileListBox e com cada outro controle. Shapes Pré-Definidos A propriedade Shape do controle shape permite que você trabalhe com seis tipos pré-definidos de shapes. Se você também exibe os controles DriveListBox e FileListBox. fill style. Para uso simples. seus valores e as contantes equivalentes do Visual Basic: . Exercício Proposto O exercício proposto para este objeto já foi realizado no item DriveListBox. border color e border style de qualquer um dos shapes que você desenhou no form. o controle shape permite que você crie uma variedade de shapes sem escrever qualquer código. frames. A tabela abaixo lista todos os shapes pré-definidos. Para uma funcionalidade mais avançada você precisa usar os comandos Line e Circle. Shape O controle shape é usado para criar formas geométricas pré-definidas em forms.

Para alterar as cores em tempo de execução. Dash. A propriedade FillStyle. Downward Diagonal. Para desenhar um shape em um form: . quadrados (regulares ou de cantos arredondados). Em tempo de projeto. Solid. controla o estilo e permite que você através de um número pré-definido controle o padrão do estilo de preenchimento. Estão incluídos: Transparent. Desenhando Shapes em um Form Você pode usar o controle shape para desenhar retângulos (regulares ou de cantos arredondados). por exemplo) ou a função RGB para especificar a fillcolor. A propriedade BorderStyle permite que você através de um número pré-definido controle o estilo da borda. Cross e Diagonal Cross. DashDot. Horizontal Line. Estão incluídos: Solid. por exemplo) ou as constantes das cores do sistema (vbWindowBackground. e círculos em um form. você pode alterar fillcolor ou bordercolor escolhendo na janela de propriedades do controle shape as cores correspondentes à paleta de cores ou cores do sistema. Upward Diagonal. Dash-Dot-Dot e Inside Solid. Vertical Line. Alterando os Atributos de Cor As propriedades BackColor e FillColor permite que você adicione cores no shape e em suas bordas. ovals. Shapes Pré-defindos Preenchimento e Estilos de Linhas Você pode usar as propriedades FillStyle e BorderStyle para alterar o estilo do preenchimeto e o estilo da borda de qualquer um dos shapes que você desenhou no form. use as constantes de cores do Visual Basic (vbGreen. Transparent. Dot.Shape Rectangle Square Oval Circle Rounded Rectangle Rounded Square Style 0 1 2 3 4 5 Constant vbShapeRectangle vbShapeSquare vbShapeOval vbShapeCircle vbShapeRoundedRectangle vbShapeRoundedSquare Figura 2.

selecione a propriedade Shape. Selecionando o Estilo da Borda e Cor Você pode selecionar a cor e o estilo de um segmento de linha usando as propriedades BorderStyle e BorderColor. Selecione o estilo que você quer. você pode selecionar a cor da linha escolhendo a propriedade BorderColor na janela de propriedades do controle line e então selecionando as cores disponíveis na paleta ou cores do sistema. tamanho. Em tempo de projeto. Na caixa de ferramentas. 3. A propriedade BorderStyle possui seis estilos de linhas: • • • • • • • Transparent Solid Dash Dot Dash-Dot Dash-Dot-Dot Inside Solid Você pode especificar um estilo de linha em tempo de projeto escolhendo a propriedade BorderStyle na janela de propriedades do controle line. O line tem funcionalidade limitada e está intensionado para usos simple de exibição e impressão.Quando o ponteiro mover-se para dentro do form. Para alterar uma cor em tempo de execução. selecione o controle Shape. alterando-se para uma cruz. Os shapes podem ser aumentados como qualquer outro controle. Os segmentos de linha não podem ser unidos com outras formas geométricas. selecionando e arrastando o controle redimensionado-o. Figura 1. ou selecionando as propriedades Height e Width. ou em tempo de execução especificando o estilo usando as constantes equivalentes do Visual Basic no código.1. 2. A propriedade BackColor é usada para especificar a cor da linha. ou em um picture box. Line O controle line é usado para criar simples segmentos de linha em um form. Clique e arraste o cursor para fazer o tamanho do objeto como você quiser. Na janela de Propriedades. use as constantes de cores do Visual Basic (vbGreen. por exemplo) ou as constantes de cores do sistema . um frame. 4. cor e estilo dos controles line para personalizar o visual das aplicações. O controle line Você pode controlar a posição.

Y1 e Y2. mas ele só suporta parte das propriedades de um picture box. a figura lida dentro do controle .(vbWindowBackground. incluindo 2. 24. Você não pode mover uma segmento de linha usando o método Move. Image Um Image pode exibir um gráfico de um arquivo bitmap. Na caixa de ferramentas. A propriedade Stretch determina o quanto a figura será esticada quando o controle image é redimensionado. eventos e methods.Quando o ponteiro mover-se para dentro do form. 4. Você não pode fazer isto com o controle picture box. Contudo. selecione o controle Line. Por exemplo. e 32-bits. X2. mas um bitmap somente exibirá corretamente se o dispositivo de exibição suporta a definição de cores usadas pelo bitmap. Para desenhar uma linha em um form 1. 5. 4. Ambos os controles suportam formatos de figuras bitmap. alterando-se para uma cruz. As propriedades X2 e Y2 controlam as posições horizontal e vertical da direita do início ao fim de um segmento de linha. Um bitmap tem as extensões de seus arquivos como: .bmp. Movendo e Aumentando uma Linha Você pode mover ou redimensionar o controle line em tempo de execução alterando as propriedades X1. Um bitmap define uma imagem como uma coleção de pontos (pixels). 16. Clique no form onde você quer a linha para iniciar e pressione o botão do mouse. O image usa menos recursos do sistema e remonta as figuras mais rápido do que um picture box. você pode esticar as figuras em um controle image ajustando elas ao tamanho do controle. Desenhando Linhas em um Form Você pode usar o line para desenhar linhas simples em um form. ou . Selecione o estilo que você quer. um bitmap de resolução 8-bit-por-pixel (256 cores) somente exibe em 16 cores quando exibido em um dispositivo 4-bits-porpixel (16 cores). Se a opção é True. 3. Você pode usar bitmaps de várias definições de cores. 8. Na janela de Propriedades. As propriedades X1 e Y1 controlam as posições horizontal e vertical da esquerda do início ao fim de um segmento de linha. por exemplo) ou a função RGB para especificar as cores da borda. 2.2bp.dib. selecione a propriedade BorderStyle se você quer alterar a aparência da linha. Arraste o cursor para onde você quer o final da linha e solte o botão do mouse. .

Planilhas aparecem como planilhas. então selecione a propriedade RecordSource para uma condição apropriada no gerenciador de base de dados. você pode criar uma conecção selecionando a propriedade ConnectionString para um conecção com textos válida. As propriedades gráficas e os eventos são muito usados por operações no momento de impressão. semelhante ao outro aplicativo. Você pode também selecionar a propriedade ConnectionString para definir o nome de um arquivo em uma conecção. que aparece quando você clica na propriedade ConnectionString e então clica nas opções Build ou Select. assim como modificar o formato de um formulário na tela para impressão. você pode manipular as propriedades gráficas e os métodos através de código. Poderão ser feitas conecções com os objetos: DataGrid. para eles. ela é apresentada da mesma forma em que aparecerá no aplicativo original. Quando você acrescenta um controle OLE a seu projeto em Visual Basic. documentos em processadores de texto aparecem como deveriam aparecer em um processador de texto e assim por diante. você pode dinamicamente alterar as propriedades ConnectionString e RecordSource para alterar a base de dados. O ADO Data Control allows you to quickly create a connection to a database using Microsoft ActiveX Data Objects (ADO). Obs: Em tempo de projeto. você pode selecionar a propriedade Recordset diretamente para posteriormente abrir a origem dos registros. PictureBox Obs: Você pode também usar um PictureBox para agrupar controles OptionButton e para exibir métodos de saída de gráficos e escrever textos com o método Print. . oo DataList apenas selecionando a propriedade DataSource do Controle ADO Data. Para criar uma animação ou simulação. Esticando uma figura bitmap podemos produzir uma imagem de menor qualidade. o arquivo é gerenciado por uma caixa de diálogo de Link de Dados. Para fazer um PictureBox automaticamente redimensione para exibir uma entrada de gráfico. DataCombo. Ole (Object Linking and Embending) Ole é uma tecnologia que complementa e estende o intercâmbio dinâmico de dados.image é esticada. já que. fornece ao usuário uma ponte para outros aplicativos Windows e o que eles verão será. alterando a propriedade AutoSize para True. Alternativamente. em vez de a informação ser meramente transferida. ADO Data Control O controle ADO Data Control é similar ao intrinsíco Data control e ao Remote Data Control (RDC). Em tempo de execução.

Por exemplo. o controle.Uma variável de memória nada mais é do que uma posição da memória do computador reservada exclusivamente para que sejam guardadas informações e dados.0. E já que estamos falando de variáveis. poderíamos escrever nSalarioFunc. Acostume-se a iniciar o nome de uma variável com uma combinação de até três letras em minúsculo que identifica o seu tipo de dado. ou seja. Precisam ser únicos dentro do escopo atual. para uma . ou seja. Não podem coincidir com uma palavra reservada do Visual Basic. como por exemplo. Uma das idéias principais que sustentam a introdução da OLE foi que a Microsoft queria que os usuários deixassem de pensar em seus aplicativos como um deus supremo. em vez de X. quando formos nomeá-las. como por exemplo. retorna para o aplicativo que criou o dado. porém. isso é perfeitamente possível.A idéia por trás do conceito de incorporar é que você crie documentos que integrem vários aplicativos Windows sob um mesmo teto. como nomes de funções ou procedimentos. entre rotinas diferentes. A essa posição de memória damos um nome para referência dentro do nosso programa. Y ou Z. Qualquer sinal de pontuação e espaço em branco será inválido. devemos apenas nos preocupar em nomear e declarar as variáveis. • • • Escolha nomes sugestivos para as variáveis. Quem controla qual posição de memória do computador será reservada é a própria linguagem e o sistema operacional. de tal forma que descrevam sua função ou conteúdo que será armazenado nelas. Isso significa que podemos ter nomes de variáveis bem descritivos. Somente são permitidas letras. Variáveis O que são Variáveis ? Toda linguagem de programação precisa de algum lugar para armazenar o resultado de seus cálculos ou simplesmente para controlar o fluxo do programa. as linguagens de programação se valem de variáveis para armazenar dados na memória do computador. Por exemplo. Quando o Visual Basic ativa o controle OLE. os nomes podem ter até 255 caracteres de comprimento. Incorporação em OLE permite ao controle personalizado manter o dado do objeto dentro dele próprio. NomeCliente. e em vez disso. pensassem nele como um documento central. Assim como acontece na álgebracotidiana. No Visual Basic 6. ele. para uma variável onde seria armazenado o resultado do cálculo do salário de um funcionário. e você pode utilizar o potencial daquele aplicativo para modificar o dado no local. deveremos seguir algumas regras básicas: • • O nome precisa iniciar com uma letra. números e o caractere de sublinhado. não podemos ter duas variáveis com o mesmo nome dentro de uma rotina. PrimeiroNomeDoCliente.

é aconselhável que declare todas as variáveis que irá utilizar em seu programa. utilizamos o comando de declaração Dim para declararmos uma variável. Agora imagine que por questão de descuido. Os tipos de dados disponíveis serão vistos mais à frente. já que o mesmo fora atribuído à variável intSomar. Você pode deixar para o Visual Basic declarar implicitamente as variáveis.0. Podemos também selecionar a opção Options. e assim por diante. Isso torna o programa mais estruturado e menos propenso a erros. um escopo é atribuído a ela. Veja os seguintes exemplos: strNomePrograma = "Controle de Despesas Domésticas" lngSaldoInicial = 125080 Declaração de Variáveis Embora você possa ir criando variáveis a medida que for precisando. Para evitar esse tipo de problema (apenas um entre vários possíveis). suponhamos que você tenha a seguinte função que calcula a média entre dois números: Function Media ( PrimeiroNumero . e ativar a caixa de seleção Require Variable . apresentar uma mensagem de advertência. do menu Tools. No Visual Basic 6. Por exemplo. Assim você simplesmente cria as variáveis à medida que for precisando. que não possui qualquer valor. dando-lhe assim um nome e definindo o seu tipo de dado e escopo. como por exemplo. você tenha digitado o seguinte: Function Media ( PrimeiroNumero . no caso intSoma. SegundoNumero ) intSomar = PrimeiroNumero + SegundoNumero Media = intSoma / 2 End Function A função não seria executada. é aconselhável declarar-se todas as variáveis que serão utilizadas pela rotina (procedimento ou função). ocorrências de alterações indevidas do valor de uma variável entre chamadas de rotinas. Quando declaramos uma variável. em caso negativo. ou seja.variável do tipo string. é determinada sua abrangência (visibilidade) e tempo de vida (existência). uma vez que está tentando utilizar uma variável. para uma variável numérica inteira utilize "int". A sintaxe completa é: Dim NomeVariável [ As TipoDado ] NomeVariável representa um nome válido para variáveis. formulárioou módulo. SegundoNumero ) intSoma = PrimeiroNumero + SegundoNumero Media = intSoma / 2 End Function Neste caso. o correto seria escrever a função da seguinte forma: Function Media ( PrimeiroNumero . Já a cláusula opcional As permite que seja definido o tipo de dado que a variável armazenará. utilize a combinação "str". SegundoNumero ) Dim intSoma intSoma = PrimeiroNumero + SegundoNumero Media = intSoma / 2 End Function Você pode forçar o Visual Basic a verificar se todas as variáveis foram declaradas previamente e. Portanto. a variável Soma não fora declarada. Isso é possível através da inclusão do comando Option Explicit na seção Declarations da classe.

Você precisará de uma maneira de preservar os pontos já marcados entre as chamdas da rotina. a variável é criada quando se entra na rotina e destruída quando se sai da mesma. Essas variáveis possuem escopo local ao módulo inteiro.Declaration. Quando uma variável é declarada e a ela é atribuído um valor. Essas variáveis são ditas locais à rotina. utilize o comando de declaração Static. porém. damos o nome de variável estática. Você declara variáveis locais a nível de módulo através dos comandos de declaração Dim ou Private. que você esteja programando um pequeno jogo e que tenha criado uma rotina para controle dos pontos acumulados. O tempo de vida de uma variável diz respeito ao tempo em que ela poderá reter seu valor entre as diversas chamadas do procedimento/função. a variável. onde ela pode ser acessada. seja ela um procedimento (Sub) ou função (Function). Veja o seguinte exemplo: Private strSenhaas String Para tornar uma variável disponível a todos os módulos e a todas as rotinas. ou seja. ou seja. Isso evita que outras rotinas do programa possam alterar inadvertidamente os valores dessas variáveis. Para declarar uma variável estática. como no fragmento de código a seguir: Function CalculaSaldo ( dSaldoAntes . Isso fará com que em todo módulo novo. Suponhamos por exemplo. seja incluído o comando Option Explicit. você deverá declará-la na seção Declarations de qualquer um dos módulos com o comando Public. porém não em módulos existentes. situações onde devemos manter o valor da variável entre as chamadas. conforme mostrado no exemplo: Function Pontos ( intMarcados ) Static lngPontosAcumulados as Long lngPontosAcumulados = lngPontosAcumulados + intMarcados Pontos = lngPontosAcumulados End Function . A isso chamamos de escopo. Em outras palavras. Abrangência refere-se à(s) parte(s) do código do programa onde uma determinada variável é visível. como mostra o exemplo: Public strSenhaas String A esse tipo chamamos de variável de escopo global. Abrangência e Tempo de Vida de uma Variável Dois termos muito utilizados na programação são abrangência e tempo de vida das variáveis. esse valor se perde quando a rotina encerra sua execução. Esses termos definem o limite da visibilidade de uma variável e o tempo em que ela poderá reter seu valor. não perde seu valor após o retorno da rotina ao código que a invocou. embora não seja global. dSaldoDebito ) Dim dblNovoSaldo as Double End Function Podemos ter também variáveis que são visíveis apenas pelas rotinas existentes num módulo e não pelas rotinas de outros módulos da aplicação. Há. Para declarar uma variável local à rotina. utilize o comando de declaração Dim ou Staticdentro da mema. Isso significa que podemos ter variáveis cujos valores somente poderão ser acessados e/ou alterados pelo procedimento/função que as declarou e em nenhuma outra parte do programa. A esse tipo. na página Editor. qualquer rotina de qualquer módulo tem acesso a ela. colocados na seção Declarations do módulo. Desse modo.

O Visual Basic 6.147.401298E-45 à 3. Variáveis desse tipo são muito úteis como contadores de loops For. Os tipos de dados determinam o que você pode armazenar numa variável. A tabela a seguir.79769313486232E308 à -4. por outro lado.767 -2. Por exemplo. você não pode entrar com uma expressão caractere numa variável do tipo numérico.. da seguinte forma: Static Function Pontos ( intMarcados ) Dim lngPontosAcumulados as Long lngPontosAcumulados = lngPontosAcumulados + intMarcados Pontos = lngPontosAcumulados End Function Devemos lembrar que você deverá utilizar variáveis com o escopo mais local possível. .Next.477. sendo portanto limitada para alguns tipos de operações. abrange uma faixa muito maior de valores. como largura da faixa de dados.94065645841247E-324 (-) e 4.648 à 2.767.500 caracteres. 0 à 255 True (verdadeiro) ou False (falso) De 1 de Janeiro de 100 à 31 de Dezembro de 9999 Qualquer referência a objeto Qualquer valor numérico.79769313486232E308 (+) -922. O tipo Long.0 define 11 tipos de dados básicos. por serem de manipulação muito rápida pelo processador.337.337. declarar todas as variáveis de uma rotina como sendo estáticas. da ordem de 2 milhões. o Visual Basic também possui vários tipos de dados aplicáveis às variáveis.647 -3.477.147. Tipos Integer e Long Esses dois tipos de dados permitem o armazenamento de valores numéricos inteiros.483.768 à 32. caracter. tamanho em bytes.483. conforme pode ser constatado na tabela anterior. máximo de 2E32 caracteres. Vejamos os detalhes dos tipos de dados mais comumente utilizados.402823E38 à 1. A faixa de valores permitida para o tipo Integer vai de -32. etc.94065645841247E-324 à 1. relaciona todos esses tipos: Tipo de Dado Integer Long Single Double Currency String Byte Boolean Date Object Variant Tamanho em Bytes 2 bytes 4 bytes 4 bytes 8 bytes 8 bytes 1 byte por caracter 1 byte 2 bytes 8 bytes 4 bytes 16 bytes + 1 byte para cada caracter Faixa de Valores -32. por um motivo ou outro.Se você precisar. para assim evitar conflitos de nomes de variáveis e alterações de valores indesejáveis.401298E-45 (-) e 1. nem digitar um número numa variável lógica.685.5807 De zero à 65. coloque a palavra reservada Static à frente do nome do procedimento/função.203. pois necessitam de poucas instruções de máquina.203.685. Tipos de Variáveis Como toda linguagem de programação. objeto ou valor nulo. cada qual com suas características peculiares. que definem quais os valores que essas poderão armazenar. Em sistemas de 32 bits.5808 à 922..402823E38 (+) -1.768 à 32. com os quais podemos efetuar cálculos e operações matemáticas.

comumente chamadas apenas de variáveis de ponto-flutuante. porém permitem a manipulação de valores decimais. Se por outro lado. Ele possibilita que uma sequência de caracteres seja armazenada numa variável. Deve-se utilizá-lo apenas para armazenamento de valores monetários. como pesos. evitando-se assim erros de arredondamento durante cálculos matemáticos. Esse tipo de dado é chamado de Currency. Como os tipos anteriores. Veja a tabela anterior para comparação. será armazenado como 5402.105782 por exemplo. Se num determinado cálculo. o número 5402. você escreveria: Dim strNomeCliente As String * 50 Se for armazenado uma cadeia de caracteres menor que o tamanho máximo especificado. para declarar uma variável strNomeCliente com um tamanho máximo de 50 caracteres.. você tentar armazenar mais caracteres do que o permitido. já que qualquer número armazenado numa variável desse tipo será considerado como uma sequência de texto e não um valor numérico. O que diferencia o tipo Single do tipo Double é a precisão nas casas decimais e a faiza de valores abrnagida por cada um. Com variáveis do tipo caractere. muito embora não possamos efetuar cálculos com os números armazenados numa sequência. simplesmente adicionando um asterisco (*) seguido por um número que define o tamanho máximo em caracteres. Tipo String O tipo de dado String é certamente o mais utilizado. Variáveis do tipo Single são ditas de precisão simples. Esse tipo de variável também é útil em contador de loops For. a variável será preenchida com espaços em branco à direita para completá-la. Devemos envolver a cadeia de caracteres com aspas ("). Tipo Byte Variáveis do tipo Byte são também numéricas. Tipo Currency O Visual Basic possui um tipo de dado especial para tratamento de valores monetários. porém efetuar cálculos matemáticos e aritméticos. os excedentes serão descartados. é possível efetuarmos algumas operações de comparação. Variáveis do tipo Double são denominadas variáveis de dupla precisão. podemos efetuar qualquer operação matemática com eles.1057 numa variável do tipo Currency. cujo ciclo de repetição não ultrapasse 255. Podemos determinar um tamanho máximo para uma variável do tipo String. concatenação (junção) de duas ou mais sequências de caracteres ou extração de uma parte da sequência.Tipos Single e Double Single e Double também são tipos de dados numéricos. mas somente podem armazenar números na faixa de 0 à 255. Não é possível. Assim. Por exemplo. as casas decimais extras (a partir da quinta casa) serão truncadas.Next pequenos. o valor resultante tiver mais de quatro casas decimais.. . unidades de medidas. Essa sequência de caracteres pode conter desde letras do alfabeto até símbolos gráficos e números. etc.

Elas são armazenadas em endereços de 32 bits. Diversas funções podem ser utilizadas para determinarmos qual o tipo de dado armazenado numa variável Variant. variáveis que indicam se uma determinada condição lógica retornou ou resultou num desses dois valores. ou seja. precisamos utilizar o comando de atribuição Set para assinalar valores a ela. ilustra sua utilização: Dim objDataBase As Object Set objDataBase = OpenDataBase ("C:\VIDEO\VIDEO. Se você declara uma variável mas não especifica seu tipo de dado. especificando a palavra-chave Null à direita do sinal de igual. Veja o pequeno exemplo a seguir: Dim blnRepete As Boolean blnRepete = True While blnRepete ' ' ' Wend Tipo Date Variáveis do tipo Date permitem o armazenamento de valores que representam uma data do calendário ou um horário. como dados OLE ou binários. especifique-a entre "#". Para esse tipo de variável. Assim. para assim calcularmos uma nova data. .1 Tipo Object Variáveis do tipo Object podem fazer referência a objetos definidos pelo Visual Basic ou mesmo campos de uma base de dados. Por exemplo: dtDataHoje = Now dtDataAmanha = dtDataHoje + 1 dtDataOntem = dtDataHoje . como no seguinte exemplo: dtDataVencimento = #05/06/99# dtHora = #05:25:00# Com valores do tipo Date é possível executarmos adição ou subtração. Podemos atribuir também um valor nulo a variáveis Variant. já que ele permite que qualquer valor seja armazenado.MDB") Tipo Variant O dado Variant é um tipo especial.Tipo Boolean Uma variável do tipo Boolean pode conter apenas dois tipos de valores: True (verdadeiro) ou False (falso). em não apenas o sinal de igualdade. o dado que você armazenar na variável é que definirá o seu tipo naquele momento. São muito utilizadas como sinalizadores. O exemplo a seguir. Para armazenar uma data numa variável. o Visual Basic automaticamente atribui a ela o tipo Variant.

O resto ficará por conta do Visual Basic. Elas são utilizadas principalmente para fornecer maior legibilidade ao código fonte. Operadores Lógicos. Um dos tipos de constantes mais famoso é o valor de PI (3. se não fosse possível fazer cálculos. Para efetuarmos essas operações é que existem os operadores. Suponhamos como exemplo. não podem ter seus valores alterados durante a execução da aplicação.) Operadores De nada adiantaria termos dados e mais dados armazenados em nossas variáveis de memória ou em nosso banco de dados. escreveria: Dim intNumeros ( Num_Elementos ). Você poderia incluir a seguinte linha na seção Declarations do módulo principal do programa: Const Num_Elementos= 30 E no código do programa. teria de percorrer toda a listagem do programa e alterar as ocorrências do número 30 para a quantidade desejada de elementos. Operadores Relacionais. esse problema seria facilmente resolvido. será necessário apenas alteração na definição da constante e uma nova compilação.. . substituindo expressões numéricas ou caracteres mais complexos e de difícil entendimento. comparações ou qualquer outra operação.. Utilizando uma constante. intContador As Integer For intContador = 1 to Num_Elementos intNumeros ( intContador) = intContador * 10 ' ' Next No caso de modificações futuras. diferentemente das variáveis.14159265358979. se não pudéssemos trabalhar com eles. intContador As Integer For intContador = 1 to 30 intNumeros ( intContador) = intContador * 10 ' ' Next Se amanhã você precisasse modificar sua aplicação. que você tenha o seguinte código: Dim intNumeros ( 30 ). aumentando o número máximo de elementos da matriz intNumeros. Eles podem ser divididos em quatro categorias básicas: • • • Operadores Aritméticos. ou seja.Constantes As constantes.

Exponenciação 2ª.333333 e mesmo assim não seria um resultado preciso. Operadores Relacionais Os operadores relacionais. relaciona todos os operadores aritméticos disponíveis no Visual Basic. na divisão de 19 por 3. Efetua a exponenciação. Operador Descrição + Efetua a soma entre dois ou mais números. lista todos os operadores relacionais do Visual Basic. Operadores Aritméticos Como ocorre na matemática comum. o resto da divisão de 19 por 3.333333. obteríamos 18.• Operadores de Strings. . Por exemplo. A seguinte tabela. teremos como resultado o número 1. no caso o número 1. permitem que relacionemos (comparemos) dois valores entre si. / \ ^ Mod Efetua a divisão entre dois números e resulta num número de ponto-flutuante. Efetua a subtração entre dois ou mais números. Multiplicação e Divisão 3ª. O funcionamento de cada um deles não difere daquele empregado na matemática comum. e somar o resultado ao resto obtido. ou seja. Adição e Subtração O operador Mod é utilizado para se encontrar o resto de uma divisão não exata. Efetua a divisão entre dois números e resulta num número inteiro.333333 por 3. Eles somente podem ser utilizados com dados numéricos. Com o operador Mod na expressão 19 Mod 3. Retorna o resto de uma divisão não exata entre dois números Estes operadores respeitam uma ordem de precedência universal: 1ª. Isso significa que se você multiplicar a parte inteira de 6. poderíamos escrever: X>Y Isso nada mais é que uma comparação entre as duas variáveis. que é 6.999999. Assim se multiplicássemos 6. para saber se o valor de uma determinada variável X é maior que o de uma variável Y. A tabela a seguir. também chamados de operadores de comparação. já que se trata de uma dízima periódica. terá novamente o valor 19. Por exemplo. * Efetua a multiplicação entre dois ou mais números. os operadores aritméticos permitem que sejam feitos cálculos com os dados armazenados em variáveis ou em campos de bases de dados. o resultado seria 6.

Operador < > <= >= = <> Descrição Menor que Maior que Menor que ou igual a Maior que ou igual a Igual a Diferente de Operadores Lógicos Os operadores Lógicos como o próprio noem já diz. Se ambas as expressões forem verdadeiras. Se uma das expressões for verdadeira. avaliam uma expressão numérica ou caractere e retornam valores lógicos. possui o valor 100 e uma outra variável Y . Efetua a operação lógica OU EXCLUSIVO. ou seja. Or Not Xor Eqv Imp Para entender melhor como funcionam os operadores lógicos. Inverte o estado lógico de uma expressão. se ela for verdadeira. X = 100 And Y = 500 A tabela a seguir. Efetua a operação lógica OU. apresenta todos os operadores lógicos do Visual Basic: Operador And Descrição Efetua a operação lógica E. o resultado será falso. verdadeiro ou falso. digamos X. porém se ambas forem verdadeiras. então o resultado será verdadeiro. Efetua a operação de implicação lógica. Por exemplo. se uma variável. Operador Lógico And . possui o valor 500. então o resultado será verdadeiro. Retorna verdadeira se uma expressão implica em outra. Efetua a operação lógica NÃO. torna-a falsa e viceversa. Efetua a operação de equivalência de expressões. o resultado será verdadeiro. Se uma das expressões (ou ambas) for verdadeira. então a expressão a seguir avaliará verdadeiro. O resultado será verdadeiro somente se ambas as expressões forem equivalentes. vamos analisar cada um deles.

ou é uma coisa ou outra. ou seja. que você deseja escrever uma carta (ou quem sabe um livro também sobre o Visual Basic). e vice-versa. É o que mostra a tabela abaixo: Pneu Furado Falso Verdadeiro Pode Viajar Verdadeiro Falso Operador Lógico Xor O operador lógico Xor pode ser visto como um operador que não admite ambiguidades. você poderá assim. você não (NOT) pode viajar. como exemplo. Voltemos ao nosso exemplo da lâmpada e da bateria. quer dizer. nunca ambas. Se você tiver uma máquina de escrever (OR) um micro-computador. A lâmpada somente acenderá se você tiver ligado ambos os fios aos pólos da bateria. uma vez que avalia verdadeiro (1) sempre que uma das expressões for verdadeira (pode até ocorrer de ambas serem verdadeiras). Considere agora. se você possui um carro e o pneu está furado. Por exemplo. poderá tranquilamente satisfazer seu desejo. Acompanhe esse exemplo: Fio Vermelho Ligado Falso Verdadeiro Falso Verdadeiro Fio Preto Ligado Falso Falso Verdadeiro Verdadeiro Lâmpada Acende Falso Falso Falso Verdadeiro Operador Lógico Or O operador lógico Or às vezes é chamado somador lógico.O operador lógico And pode ser visto como um conector lógico. Imagine agora que você se encontra perto de uma tomada. Imagine que você possua dois fios ligados a uma lâmpada e a uma bateria. ele transforma em falsa uma expressão lógica que avalia verdadeiro. ligar os fios da lâmpada na bateria ou . Acompanhe o exemplo: Tem Máquina Falso Falso Verdadeiro Verdadeiro Tem Micro Falso Verdadeiro Falso Verdadeiro Pode Escrever Falso Verdadeiro Verdadeiro Verdadeiro Operador Lógico Not O operador lógico Not é um operador de inversão.

A tabela abaixo ilustra essa situação: Fio Ligado na Bateria Falso Verdadeiro Falso Verdadeiro Fio Ligado na Tomada Falso Falso Verdadeiro Verdadeiro Lâmpada Acende Falso Verdadeiro Verdadeiro Falso Operador Lógico Eqv O operador Eqv é utilizado para desempenhar uma equivalência lógica entre duas expressões. ilustra os resultados obtidos com o operador Imp de acordo com as diversas possiblidades: A primeira expressão é Verdadeiro Verdadeiro Verdadeiro Falso Falso Falso Nulo Nulo Nulo A segunda expressão é Verdadeiro Falso Nulo Verdadeiro Falso Nulo Verdadeiro Falso Nulo O resultado será Verdadeiro Falso Nulo Verdadeiro Verdadeiro Verdadeiro Verdadeiro Nulo Nulo Para melhor entendimento. então temos que: Numero1 > Numero2 Imp Numero2 > Numero3 é verdadeiro. Numero2 = 8 e Numero3 = 5. resultaria em verdadeiro.na tomada da parede. Por exemplo. Operadores de Strings . mas não em ambas ao mesmo tempo. Numero2 = 8 e Numero3 = 5. já que ambas as comparações são equivalentes: Numero1 > Numero2 Eqv Numero2 > Numero3 Operador Lógico Imp O operador Imp talvez seja o mais complexo de todos. veja o exemplo a seguir: Se Numero1 = 10. Ele é utilizado para desempenhar a função de uma implicação lógica entre duas expressões. se tivéssemos as variáveis Numero1 = 10. a expressão lógica a seguir. Ele também desempenha uma comparação bit a bit dentro de uma expressão numérica. A seguinte tabela.

. ao Case of do Pascal ou ainda ao Do Case. Esses operadores servem para concatenar duas ou mais strings de caracteres..No Visual Basic. Do. o código que está ligado à condição é executado.Loop. While.Then.. São os operadores "&" e "+"...case da linguagem C.. Quando isso ocorre.. Por exemplo. É possível repetir-se um bloco de instruções dentro de um programa em Visual Basic.. até encontrar uma que se iguale ao resultado retornado pela expressão. você deverá valer-se da estrutura If. For. Select Case A estrutura Select Case é similar à estrutura switch... se for necessário efetuar outro tipo de operação lógica. como também são conhecidas..Loop. Do Until..Wend. somente é permitido dois tipos de operadores para se trabalhar com strings.. denominadas de loops: Do While.Next.. Ela começa avaliando uma expressão e comparando o seu resultado com uma série de condições. A sintaxe dessa estrutura é: Select Case Opção Case 1 Print "Opção 1 acionada" Case 2 Print "Opção 2 acionada" Case 3 Print "Opção 3 acionada" .ElseIf... Essa estrutura é uma alternativa mais flexível e confiável ao If...ElseIf.Each. Para agrupar os seus valores numa única variável Endereço.Next.....Loop While..Loop Until.. verificando suas similaridades e diferenças.Then. suponhamos que você tenha definido duas variáveis strings Rua e Bairro.. Para isso existem sete tipos diferentes de estruturas de repetição. For.) Endereco = Rua & " " & Bairro b. você poderia utilizar um dos seguintes métodos: a.. É importante observar que somente é efetuada uma comparação do resultado da expressão com as condições.. Analisaremos cada um dos tipos separadamente. Do.) Endereco = Rua + " " + Bairro Comandos de Laço Comando de Laço ou Estruturas de Repetição. muito embora ambos possuam o mesmo efeito.EndCase do Dbase/Clipper. portanto..

O comando Loop faz com que o programa volte para a linha do Do While e teste a condição de novo.. Contador = 0 Do Contador = Contador + 1 Print Contador Loop While Contador < 10 Print "Fim de Execução" Do Until. então será Case Else. ou seja... o Visual Basic irá verificar se a variável é 1.. obrigatoriamente as instruções contidas após o comando Do serão executadas. e a linha seguinte a esta cláusula será executada. Veja o exemplo abaixo: Contador = 0 Do While Contador < 10 Contador = Contador + 1 Print Contador Loop Print "Fim de Execução" Inicializamos uma variável de nome Contador com zero... o Do While é reavaliado e a rotina continua até que a condição estabelecida esteja satisfeita. Este teste é feito no final da estrutura com o comando Loop While. quando Contador for maior ou igual a 10. Do While.Loop While (Retorne enquanto) Neste caso.Loop (Faça até que) . ou seja.2 ou 3" End Select Acrescentando na estrutura a cláusula Case Else (caso contrário). Não sendo. os comandos existentes dentro da estrutura podem não serem executados. como por exemplo: Case 2 to 4 Ou seja. o comando Do abre a sequência de repetição. Do. que o programa executará a linha após o Loop. passando direto para a linha após o comando Loop. caso a condição esteja entre 2 e 4.Case Else Print "Opção não é 1. dependendo do resultado da condição. Perceba que. e pedimos para o programa: Repita as instruções abaixo enquanto Contador for menor que 10. mas não faz nenhum teste de condição. No comando Case podemos usar também intervalos. Quando a execução do programa encontra o comando Loop.2 ou 3.Loop (Faça enquanto) Executa todos os comandos que existem entre Do While e o Loop. Somente quando a condição for verdadeira.

Sempre que essa contagem encontra com o comando Next (próximo).Executa todos os comandos que existem entre Do Until e o Loop. o Do Until é reavaliado e a rotina continua até que a condição estabelecida esteja satisfeita. O comando Loop faz com que o programa volte para a linha do Do Until e teste a condição de novo. dependendo do resultado da condição. que o programa executará a linha após o Loop. a execução volta para o For e a variável . Exemplo: For Contador = 1 to 10 Print "A variável Contador agora vale: " & Contador Next Print "Fim de Execução" Neste programa.. Contador = 0 Do Until Contador = 10 Contador = Contador + 1 Print Contador Loop Print "Fim de Execução" Inicializamos uma variável de nome Contador com zero. obrigatoriamente as instruções contidas após o comando Do serão executadas. ou seja. a execução do programa retorna ao comando For até que o número final seja alcançado. Quando a execução do programa encontra o comando Loop. e pedimos para o programa: "Repita as instruções abaixo até que Contador seja igual a 10". começando pelo 1". Semelhante ao Do While.. quando Contador for maior ou igual a 10. passando direto para a linha após o comando Loop. As instruções contidas na linha abaixo são executadas. e quando o comando Next é encontrado. Somente quando a condição for verdadeira. os comandos existentes dentro da estrutura podem não serem executados.. Este teste é feito no final da estrutura com o comando Loop Until.Next (Conte o Intervalo) O comando For faz uma contagem de um determinado intervalo de números. avisa "Vamos contar até 10.. Contador = 0 Do Contador = Contador + 1 Print Contador Loop Until Contador = 10 Print "Fim de Execução" For. mas não faz nenhum teste de condição. ou seja. o Visual Basic através do comando For.Loop Until (Repita até que) O comando Do abre a sequência de repetição. Do.

transferindo o controle do programa para a linha imediatamente seguinte. Exemplo: Se queremos que o comando conte de 2 em 2 faremos: For Contador = 1 to 10 Step 2 Exit O comando Exit permite que se saia prematuramente de um loop. São essas rotinas que fazem todo o trabalho árduo de cálculos. que compõem a interface com o usuário. No entanto. Quando Contador for igual a 10. uma vez que com ele temos duas formas de saída de uma estrutura de repetição ou procedimento/função. seja ela interna à própria linguagem ou desenvolvida pelo programador. poderemos utilizar esse comando. que uma aplicação em Visual Basic é uma união entre os formulários e as rotinas. É nesta etapa do desenvolvimento do aplicativo que o programador entrará com sua parte. Dessa forma. temos por trás desses. e isso é altamente desestimulado pelas técnicas de programação estruturada. Podemos concluir. apresenta os formatos do comando Exit para cada situação: Utilização Dentro de um loop Do Dentro de um loop For.. trabalhando amigavelmente.Contador é incrementada em mais um e assim por diante.. O que é uma Função ? Uma função em Visual Basic. é como sua similar na matemática: ela opera nos . pois ele pode desestruturar o programa. de uma função (Function) ou de um procedimento (Sub). chamadas dos formulários e execução ordenada da aplicação. Step Usamos Step em conjunto com o For para fazer com que a contagem seja incrementada. o programa deparar-se com uma certa situação que deverá forçar a interrupção do loop. portanto. recomendamos utilizá-lo com cuidado. A tabela a seguir.Next Para sair de uma função Para sair de um procedimento Formato Exit Do Exit For Exit Function Exit Sub Funções e Procedimentos Além dos formulários. a estrutura For/Next é desfeita. definindo os algorítmos e a lógica geral das rotinas. diversas rotinas (funções e procedimentos) que executam as tarefas para as quais a aplicação fora desenhada. se dentro de uma das estruturas de repetição.

A sintaxe completa é a seguinte: Function NomeFunção ( [ Parâmetros ] ) Bloco de Instruções End Function Os nomes dos argumentos devem seguir as mesmas regras de nomeação de variáveis já vistas anteriormente. como no exemplo: NumElev = Potencia ( 5 . Por exemplo. funções que somente podem ser acessadas pelos procedimentos e funções declarados no mesmo módulo. No exemplo a seguir. intContador lngResultado = 1 For intContador = 1 to intPotencia . opcionalmente. temos uma função que recebe como parâmetros dois números. devemos atribuir esse valor ao nome da própria função. para que ela retorne um número de ponto flutuante: Function Potencia ( intNumeroBase. criando assim. intContador lngResultado = 1 For intContador = 1 to intPotencia lngResultado = lgnResultado * intNumeroBase Next Potencia = lngResultado End Function Na rotina chamadora. intPotencia ) as Single Dim LngResultado. vista anteriormente. Exemplo: Function Potencia ( intNumeroBase. podemos alterar nossa função Potencia. Para declarar uma função privada ao módulo. intPotencia) Dim LngResultado. Elas são chamadas de funções privadas.valores passados como parâmetros (se houver algum) e devolve um outro valor. Seguindo essa palavra-chave vem o nome da função e. São verdadeiras caixas-pretas. Eles deverão vir também separados por vírgula. assim: Private Function MinhaFunc ( ) ' ' ' End Function Você pode especificar também o tipo de dado retornado pela função. Então ele calcula a potência do número (o próprio número multiplicado por ele mesmo) e devolve o valor à rotina chamadora. Para retornarmos um valor à rotina que chamou a função. coloque a palavra-chave Private antes da declaração Function. tudo que devemos fazer é atribuir o valor da função a uma variável de memória. uma lista de eventuais parâmetros dentro de parênteses. uma vez que estão escondidas do resto do programa. Para declararmos uma função devemos utilizar a palavra-chave Function. sendo que o primeiro se refere à base e o segundo à potência à qual o número será elevado. você pode também ocultar funções no Visual Basic. 3 ) Da mesma forma que você dá um escopo às variáveis de memória.

ou seja. Dependerá apenas da sua criatividade. intPotencia ) Dim LngResultado. servir para aplicações. Podemos criar procedimentos dos mais simples até os mais sofisticados. O que é um Procedimento ? Um procedimento nada mais é do que uma rotina desenvolvida especificamente para executar uma determinada tarefa. Um procedimento.lngResultado = lgnResultado * intNumeroBase Next Potencia = lngResultado End Function A variável que receberá o valor da função deve obrigatoriamente ser do mesmo tipo dessa. diferentemente das funções. Primeiro. Ele pode ser encarado mais como um comando definido pelo programador/usuário. Essa tarefa pode inclusive ser genérica. Para finalizar o corpo do procedimento. maiores detalhes sobre esse assunto. Vamos tomar como exemplo nossa função que calcula a potência de um dado número: Function Potencia ( intNumeroBase. A sintaxe correta para declaração de procedimentos é: Sub NomeProc ( [ parâmetros] ) Bloco de Instruções End Sub Veja um exemplo de procedimento: Sub TestePot( ) Dim NumElev as Long NumElev = Potencia ( 5. dentro do procedimento ou função. como ocorre com as funções. intContador lngResultado = 1 For intContador = 1 to intPotencia lngResultado = lgnResultado * intNumeroBase . irão comportar-se como variáveis comuns. Você declara um procedimento através da palavra-chave Sub. no sentido de que apenas executa a tarefa para a qual fora concebido. independente do formulário (ou mesmo aplicativo) atualmente sendo utilizado.4 ) Debug. Esses parâmetros.Print NumElev End Sub Passando Parâmetros Embora já tenhamos utilizado a passagem de parâmetros a procedimentos e funções. seguida pelo nome do procedimento. podemos desenvolver um procedimento para abrir um formulário e maximizá-lo na tela. não retorna qualquer valor à rotina chamadora. podendo ser manipulados como tais. você deverá especificar os parâmetros a serem recebidos através de uma lista de parâmetros colocada entre parênteses após o nome do procedimento/função. utilize a palavra-chave End Sub. veremos neste tópico. Por exemplo.

Se o procedimento possuir mais de um parâmetro. há uma maneira de se contornar esse tipo de problema. podemos especificar os parâmetros por valor ou por referência. por exemplo. o padrão do Visual Basic. isso para evitar. o procedimento ou função pode alterar livremente os valores dos parâmetros. o procedimento ou função recebe uma cópia dos valores passados como parâmetros. É como se . como mostrado a seguir: Function Potencia ( intNumeroBase as Integer. separando-os por um espaço. Se o procedimento espera apenas um parâmetro. "Outro Texto" .Next Potencia = lngResultado End Function Você deverá prestar bastante atenção quanto ao número de parênteses a serem passados a uma função ou procedimento. Você pode também chamar um procedimento passando mais de um parâmetro entre parênteses. No entanto. já que as alterações afetam apenas a cópia. intPotencia as Integer) Dim LngResultado. como veremos mais adiante. intContador lngResultado = 1 For intContador = 1 to intPotencia lngResultado = lgnResultado * intNumeroBase Next Potencia = lngResultado End Function Passagem de Parâmetros por Valor ou por Referência Procedimentos e Funções no Visual Basic podem ter ou não a capacidade de alterar o valor dos parâmetros recebidos. assim qualquer alteração nesses valores não será refletida na rotina chamadora. você poderá utilizar duas formas de chamada: colocando os parâmetros entre parênteses ou diretamente após o nome do procedimento. ByVal intIdade as Integer ) ' ' End Sub No segundo caso. sendo que os parâmetros deverão ser separados por vírgulas. porém deverá fazer a a chamada com a palavra-chave Call: Sub ChamaCall ( ) Call MinhaFuncao ( "Um Texto" . que você passe quatro parâmetros quando na verdade a função/procedimento espera por cinco ou mais. Já com procedimentos. Para isso. você os especifica entre os parênteses. isso muda um pouco. Para invocar uma função com parâmetros. 40 ) End Sub Caso deseje. conforme mostrado a seguir: Sub PassaValor ( ByVal strNome as String . Para especificar uma passagem de parâmetros por valor. então você poderá especificá-los utilizando o formato direto (sem parênteses). No primeiro caso. utilize apenas a palavra-chave ByVal Antes de cada um deles. poderá especificar os tipos dos parâmetros logo após a declaração dos mesmos. 200. Essas alterações são refletidas nas variáveis da rotina chamadora após o retorno da função/procedimento.

Function Incr ( intParam1 as Integer. Para fazer isso. ou seja. strSobreNome as String . simplesmente especifique-os na declaração da função/procedimento: Sub PassaReferencia ( strNome as String. Por exemplo. como no seguinte exemplo: Sub ParamOpcional ( Optional strNome as Variant . Optional strSobreNome as Variant ) Dim strNomeCompleto as String strNomeCompleto = strNome + " " + strSobreNome ' ' End Sub Note que os parâmetros opcionais deverão obrigatoriamente ser do tipo Variant e que se você especificar um parâmetro opcional. todos os parâmetros subsequentes a esse também precisarão ser declarados como opcionais. Optional intIdade as Variant. no seguinte código. declare todos os parâmetros com a palavra-chave Optional à frente. Isso é demonstrado no seguinte código: Sub ParamOpcional2 ( Optional strNome as String . intIdade as Integer) ' ' End Sub Utilizando essa habilidade de alteração dos valores de parâmetros. Optional sngAltura as Variant ) Dim strNomeCompleto as String strNomeCompleto = strNome + " " + strSobreNome ' ' End Sub Número Indefinido de Parâmetros . podemos criar funções que retornam mais de um valor à rotina chamadora. intParam2 as Integer) intParam1 = intParam1 + 1 intParam2 = intParam2 + 1 End Function Parâmetros Opcionais Popemos criar rotinas que recebem parâmetros opcionalmente. Não é preciso nenhuma palavra-chave para se passar um parâmetro por referência. a função Incr( ) atualiza os valores dos dois parâmetros e os retorna.passássemos o endereço da variável de memória. sua passagem não é obrigatória. ou mesmo ter procedimentos que retornam valores indiretamente.

Depreciação linear. Encontra o maior valor inteiro. o Visual Basic possibilita que. No entanto. Raiz quadrada. Encontra o arco tangente. Taxa interna de retorno. Valor futuro. demonstra como utilizar um procedimento com número indefinido de parâmetros: Function CalcTotal ( ParamArray intQuantos( ) ) as Long Dim varElementos as Variant. especifiquemos um número indefinido de parâmetros. Juros pagos por tempo. Abaixo encontra-se uma pequena relação das funções mais comuns: Funçõe Abs Atn Cos Exp Fix FV Hex Int Ipmt IRR Log Mirr Nper Npv Pmt PV Rate Rnd Sgn Sin Sln Sqr Descrição Encontra o valor absoluto de um número. Fornece o hexadecimal equivalente. através da palavra-chave ParamArray. Eleva e (2. então você precisa passar cinco parâmetros na sua chamada. Encontra o co-seno. Taxa de juros por período por uma anuidade. O exemplo a seguir. . Retorna a parte inteira de um número.718u2) a uma potência dada. Gastos com anuidade. Chama o gerar de número aleatório. Taxa interna de retorno modificada. Tempo de acúmulo de uma anuidade. Retorna o sinal de um número.Como dissemos anteriormente. Valor presente. se a rotina espera por cinco parâmetros. você precisa especificar o número de parâmetros na chamada da rotina de acordo com a sua declaração. Logarítmo comum. lngTotal as Long lngTotal = 0 For Each varElementos In intQuantos lngTotal = lngTotal + varElementos Next varElementos CalcTotal = lngTotal End Function Referências Existem centenas de funções desenvolvidas internamente no Visual Basic. A quantidade real de parâmetros recebidos somente será estabelecida no momento da chamada da rotina. Retorna o seno. Valor presente líquido. ou seja.

Remove os espaços do final de uma cadeia de caracteres. As funções data-hora: Funçõe Date DateAdd Descrição Retorna a data corrente. A tangente de um ângulo em radianos. Permite que você adicione um intervalo específico a uma . Compara cadeia de caracteres.Syd Tan Timer Soma da depreciação do ano. Encontra ou remove um número específico de caracteres do início de uma cadeia. Converte a cadeia de caracteres em minúscula. Encontra ou remove um número específico de caracteres do final de uma cadeia. Remove os espaços do início e do fim de uma cadeia de caracteres. Fornece o comprimento de uma cadeia de caracteres. Converte uma cadeia de caracteres em maiúscula. Retorna a posição da primeira ocorrência de uma cadeia dentro de outra. Encontra ou remove caracteres de uma cadeia. Retorna a cadeia de caracteres equivalente ao número. Converte uma cadeia de caracteres de um formulário para outro. As funções alfa-numéricas mais comuns: Funçõe Asc InStr LCase Left Len Ltrim Mid Right Rtrim Str StrComp StrConv String Trim Ucase Descrição Retorna o código do caractere correspondente a primeira letra. Retorna o número de segundos desde meia-noite. Retorna a repetição de uma cadeia de caracteres idênticos. Remove os espaços do início de uma cadeia de caracteres.

Informa quantos segundos uma cadeia de caracteres alfanuméricos ou números representa. Tudo isto representa os Campos que estão armazenados dentro da tabela. Informa qual hora uma cadeia de caracteres alfa-numéricos ou números representa. Todas essas tabelas ficam armazenadas dentro do arquivo MDB. podemos deixar já criado o Banco de Dados com suas . Fornecedores. Banco de Dados Sempre que trabalhamos com qualquer tipo de dado devemos gravá-los em arquivos para não perdê-los quando desligamos o computador. Informa a qual ano uma data corresponde. Exemplo: Se temos um banco de dados de um controle de estoque possivelmente ele terá o nome de "Estoque. Retorna a data e horário correntes. Dentro de um arquivo deste podemos ter várias Tabelas. Esse padrão é utilizado pelo Microsoft Access e o Visual Basic também o aceita. Informa qual mês uma cadeia de caracteres alfa-numéricos ou números representa. Por exemplo. Iremos abordar o padrão MDB (Microsoft DataBase) que representa a grande maioria de arquivos de Banco de Dados para Windows existente hoje. Chamamos esses arquivos que recebem vários dados de Banco de Dados. Quantidade no Estoque. Informa o dia da semana correspondente à data. Retorna uma variável do tipo data para o horário fornecido.data. Valor de Venda. Transforma uma cadeia de caracteres em data. na tabela Mercadoria temos o campo de Descrição da Mercadoria. Dentro dos campos que estão os dados que precisamos armazenar. etc. veja a disposição da hierarquia: Quando estamos na fase de desenvolvimento de um programa que irá gerenciar um banco de dados. mê e ano específicos.MDB". Informa o horário corrente. Informa qual dia em uma cadeia de caracteres alfa-numéricos ou números representa. podemos ter uma tabela para Mercadorias. etc. Cada tabela possui Campos onde serão armazenados os dados. Retorna uma data correspondente a um dia. Informa quantos minutos uma cadeia de caracteres alfanuméricos ou números representa. Características Um arquivo que contém dados irá possuir a extensão MDB. Clientes. DateDiff DateSerial DateValue Day Hour Minute Month Now Second Time TimeSerial Weekday Year Calcula diferenças entre datas. No exemplo de um controle de estoque.

A tela principal do Data Manager é semelhante à da figura abaixo: O data manager permite que você olhe a estrutura de um banco de dados Microsoft Access ( Jet ). Isso é normalmente chamado de formato . Ele se encontra no menu Add-Ins. O Data Manager também permite que você elimine campos. Ele está disponível no menu Add-Ins. periodicamente. Mova para um registro que você deseja utilizando os botões de setas e dê um clique no botão excluir. Abra um banco de dados já existente e então dê um duplo clique na estrutura. Por fim. Operações com o Data Manager Além de editar índices. . na realidade. seus bancos de dados crescerão rapidamente. Ele também pode construir um novo banco de dados em formato Jet. a opção Compact Database no menu File.MDB para o nome do arquivo. mas é. Você poderá apenas compactar bancos de dados no formato Microsoft Access (MDB). adicione registros em tabelas e elimine registros. Por essa razão. Visual Data Manager O data manager (Gerenciador de Banco de Dados) é a única maneira de se construir um banco de dados diretamente dentro do Visual Basic.tabelas e campos. Agora o botão Adicionar permite que você atualize a tabela. você poderá querer utilizar. ao excluir e adicionar registros. o Data Manager permite que você crie bancos de dados. Para criar um banco de dados o Visual Basic traz uma ferramenta chamada Visual Data Manager. O Data Manager também permite que você acrescente novos campos a uma tabela já existente no banco de dados. renomeie-os ou modifique qualquer de suas propriedades. um aplicativo separado (VISDATA.EXE) que pode ser executado independentemente do Visual Basic. Somente os dados é que serão inseridos pelo usuário a medida que for trabalhando com seu programa.

Então.Como Criar uma Base de Dados No menu File. Forneça a localização e o nome da base de dados a ser criada. escolha o Microsoft Access em sua última versão. serão exibidos. Os bancos de dados com que o Data Manager é capaz de trabalhar. ela é responsável pelo Access. . Trabalhe somente na janela Database Window. escolha a opção New. Nela dê um clique com o botão direito do mouse sobre a opção Properties e escolha o ítem New Table.

serão utilizadas para que a tabela da base de dados seja construída. o nome do índice da tabela e posteriormente o botão Build the Table (Construir Tabela) será habilitado.Esta é a janela de criação da estrutura da tabela. Forneça o nome do campo (Name). Para adicionar os campos necessários na tabela clique no botão Add Field (Adicionar Campo). . Tipo (Type) e Tamanho (Size) se necessário. Forneça o nome dos campos necessários. As informações contidas nesta janela.

Exercício Final Proposto Construir um simples sistema de Cadastro de Funcionários: Siga os seguintes passos: • • No menu File escolha a opção New Project.Para adicionar o índice da tabela. posicionado abaixo da lista de campos que foram adicionados à tabela. Feito isto. construa os seguintes objetos no formulário. Escolha então o tipo de projeto Standard Exe. clique no botão Add Index (Adicionar Índice). utilizando-se das propriedades descritas na tabela abaixo: .

Name Caption . O resultado obtido deverá ser o formulário abaixo: . MG txttelefone txtidentidade txtsalario cmdprimeiro &Primeiro cmdanterior An&terior cmdproximo Pró&ximo cmdultimo Últim&o cmdadicionar &Adicionar cmdremover Re&mover cmdalterar Alt&erar cmdimprimir &Imprimir cmdlimpar &limpar cmdsobre &Sobre cmdfechar &Fechar Na propriedade Name do formulário digite FrmFunc e na propriedade Caption digite "Cadastro de Funcionários".Text FrmCadastro lblcodigo Código do Funcionário lblnome Nome do Funcionário lblendereco Endereço Residencial lblbairro Bairro lblcidade Cidade lblestado Estado lbltelefone Telefone lblidentidade Identidade lblsalario Salário dtcfunc Funcionários txtcodigo txtnome txtendereco txtbairro txtcidade cmbestado SP. RJ. ES.

ou Confira abaixo a tela que se abrirá: . A outra maneira é clicando sobre a terceira ícone da barra de ferramentas do Visual Basic. Para isto. deveremos desenvolver os menus.Após termos construído a tela. você deverá clicar no menu Tools e escolher o item Menu Editor.

Caption &Registros &Adicionar Re&mover Alt&erar &Limpar &Imprimir &Fechar &Navegar &Primeiro An&terior Pró&ximo Últim&o Aj&uda &Sobre o Sistema Name mnuregistros mnuadicionar mnuremover mnualterar mnutraco1 mnulimpar mnuimprimir mnutraco2 mnufechar mnunavegar mnuprimeiro mnuanterior mnuproximo Mnuultimo Mnuajuda Mnusobre Atalho F2 F3 F4 F5 F6 F12 Ctrl+P Ctrl+T Ctrl+X Ctrl+O F1 O resultado obtido deverá ser: .Nesta tela você deverá cadastrar todos os menus que seu software irá precisar e os ítens que deverão estar contidos nesses menus. Abaixo esta a relação dos menus e ítens a serem criados.

adicione mais um form no projeto. . Feito isto. você deverá clicar no menu Project e escolher o item Add Form. Para isto. A outra maneira é clicando sobre a segunda ícone da barra de ferramentas do Visual Basic.Obs: Não é necessário deixar espaços no topo do formulário para que os menus se encaixem posteriormente. o próprio menu se encarrega de empurrar todos os objetos contidos no Form para baixo.

ou O resultado será: E também na janela de projetos: .

Feito isto. devemos clicar duas vezes no objeto desejado. Para gerar a programação. BY Aulus Plautius . construa os seguintes objetos no formulário.0 &Voltar Na propriedade Name do formulário digite FrmSobre e na propriedade Caption digite "Sobre o Sistema". o nome a ser dado ao projeto é PrjFunc. O resultado obtido deverá ser o formulário abaixo: Após termos construído as telas. deveremos passar para a parte da programação. Abaixo segue a programação dos formulários FrmFunc e FrmSobre: No momento de salvar. utilizando-se das propriedades descritas na tabela abaixo: Name Image1 lblinformacao cmdvoltar Caption – Text Sistema de Cadastro de Funcionários produzido no curso de Visual Basic 6.