88
Visual Basic Autor: Aulus Plautius Rosan

Apostila Básica Visual Basic

  • Upload
    denilson

  • View
    6.341

  • Download
    11

Embed Size (px)

DESCRIPTION

Nessa apostila você vai ter uma base descritiva do que é o Visual Basic.

Citation preview

Page 1: Apostila Básica Visual Basic

Visual Basic

Autor: Aulus Plautius Rosan

Page 2: Apostila Básica Visual Basic

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

Page 3: Apostila Básica Visual Basic

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 P ropriedades, 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,

Page 4: Apostila Básica Visual Basic

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

Page 5: Apostila Básica Visual Basic

Esssa janela possui uma lista dos arquivos que estão sendo utilizados dentro do programa que estamos desenvolvendo. Podemos ter arquivos com extensões "BAS" ,

"FRM" ,"VBP" e outros dentro dessa janela. O Visual Basic organiza os trabalhos por projeto, permitindo que cada projeto possa ter vários módulos.

Janela de Código

Essa janela con- tém a declaração de variáveis, constantes e rotinas. Na figura ao lado, po- demos ver dois quadros combo, um contendo a lista de objetos dentro do nosso programa e o outro uma lista de eventos disponíveis para cada um dos objetos. Podemos observar na figura que o evento selecionado é o "Click" e o objeto é o formulário. O comando Beep na linguagem do Visual Basic gera um aviso originário do alto-falante do PC. 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".

Funções e Sub-Rotinas As funções (functions) e sub-rotinas (subs) são chamadas de procedimentos (procedures). Existem três tipos de procedimentos: 1.) do Visual Basic; 2.) associados aos eventos; 3.) criados pelo programador. Os procedimentos do Visual Basic são, por exemplo, os métodos, as funções matemáticas, as funções manipuladoras de "Strings", etc. Os procedimentos associados aos eventos são aqueles procedimentos que são chamados em resposta a um evento. Adicionamos códigos a eles através da Janela de Código do formulário. Os procedimentos criados pelo programador são aquelas sub-rotinas e funções utilizadas para melhorar a estruturação do código. Podemos ter, por exemplo, uma função que abre um arquivo. Essa função trataria os possíveis erros e retornaria o número do arquivo aberto. Esse procedimento estaria declarado dentro do objeto "General " da Janela de Código de um formulário ou de um módulo. Dentro do Visual Basic, a diferença entre uma função e uma sub-rotina é que a função retorna um valor e a sub-rotina não.

Formulário

Page 6: Apostila Básica Visual Basic

Essa é a janela do nosso aplicativo. Quando o usuário iniciar o programa, a mesma aparecerá. A janela possui os quadros minimizar, maximizar, fechar e menu de controle. É nessa janela que colocaremos os controles gráficos (botões, quadros de texto, etc) e também o código associado a esses objetos. Para abrir uma janela de código, basta dar um duplo clique em cima do objeto do qual um evento deve ser tratado.

Menus

Menu File Você precisará do menu principal File para trabalhar com os arquivos que compõem seu projeto. Esse menu inclui comandos para salvar, abrir e imprimir arquivos. O menu File também permite que você saia do Visual Basic através de um item para isso, a outra maneira é utilizando as teclas de combinação do Windows ALT + F4 quando estiver posiconado na barra de menu principal. Como em qualquer aplicativo Windows, 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. Abaixo segue um breve resumo sobre os itens para orientá-lo melhor:

Page 7: Apostila Básica Visual Basic

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

Menu Project

Page 8: Apostila Básica Visual Basic

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

Menu Format

Menu Debug

Page 9: Apostila Básica Visual Basic

Menu Run

Menu Tools

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

Page 10: Apostila Básica Visual Basic

Menu Window

Menu Help

Barra de Ferramentas

Page 11: Apostila Básica Visual Basic

Janelas Janela de Projetos

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

Janela de Propriedades

Page 12: Apostila Básica Visual Basic

É 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, devemos selecioná-lo clicando apenas uma vez nele mesmo no formulário e depois clicar na janela de propriedades, onde serão isoladas apenas as propriedades do objeto selecionado. Então o programador irá alterar algumas das propriedades adequando assim o objeto a ficar com as características e aparência desejada. Esta mesma janela, possui uma caixa combo situada ao topo. Esta caixa contém o nome de todos os objetos utilizados no formulário em desenvolvimento. Esta é a outra forma do programador localizar e selecionar o objeto para trabalhar com suas propriedades sem ter que selecioná-lo no formulário. Obs: As propriedades dos objetos também podem ser alteradas através de programação na janela de código, para que os objetos sofram as alterarações no decorrer do programa, devido aos eventos em que foram programados.

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. Outra maneira de fazer isto, é acessando a propriedade do formulário Startup Position e escolher a opção CenterScreen , mas não será possível acessar esta propriedade, caso esteja sendo usado um formulário do tipo MDI. Então o posicionamento deverá ser feito através de programação ou por esta janela. Como centralizar um formulário através de programação:

Page 13: Apostila Básica Visual Basic

Private Sub Form_Load ( ) Top = (Screen.Height - Height) / 2 Left = (Screen.Width - Width) / 2 End Sub

Comandos mais Utilizados Os comandos mais comumente utilizados no Visual Basic, estão descritos nos sub-ítens deste capítulo, são eles:

Comandos Objetivo MsgBox (Caixa de Mensagem) Emitir um aviso ao usuário InputBox (Caixa de Entrada) Pedir informação ao usuário If...End If (Se...Fim) Fazer Perguntas ou Validações Unload me - End (Encerrar) Fechar um Formulário ou Software

Comentários Comentários são utilizados, como lembretes de informação junto à programação e são muito importantes porque poderão auxiliar na documentação do software.

MsgBox Exibe uma mensagem em uma caixa de diálogo, esperando pelo usuário clicar um botão, e retorna um valor indicando que o usuário clicou o botão.

Sintaxe MsgBox(prompt[, buttons][, title][, helpfile, 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. A quantidade máxima de caracteres que poderão ser utilizados em uma mensagem é de aproximadamente 1024 caracteres, dependendo da

Page 14: Apostila Básica Visual Basic

largura ocupada pelos caracteres usados. Se a mensagem consiste em mais do que uma linha, você pode separar as linhas usando um caracter de retorno (Chr(13)), alimentando linha com um ENTER, caracter (Chr(10)), alimentando linha com a quebra da mesma, ou ainda usar uma combinação (Chr(13) & Chr(10)) entre cada linha.

Buttons

Expressão numérica que representa a soma dos valores, especificando o número e o tipo de botões para exibir, o estilo da ícone para usar, a identidade do botão padrão, e a modalidade da caixa de mensagem. Veja as opções na seção para valores. Se omitidos, o valor padrão para botões é 0.

Title

Expressão de texto exibida na barra de título da caixa de diálogo. Se você omitir o título, o nome da aplicação entra no lugar da barra de título.

Helpfile Não suportada.

Context Não suportada.

Opções

As opções de argumentos do botão são:

Constantes Valor Descrição

vbOKOnly 0 Exibe somente o botão de ok. vbOKCancel 1 Exibe os botões de ok e cancelar.

vbAbortRetryIgnore 2 Exibe os botões abortar, repetir e ignorar.

vbYesNoCancel 3 Exibe os botões sim, não e cancelar. vbYesNo 4 Exibe os botões de sim e não.

vbRetryCancel 5 Exibe os botões repetir e cancelar. vbCritical 16 Exibe a ícone de mensagem de

parada crítica.

vbQuestion 32 Exibe a ícone de questão.

Page 15: Apostila Básica Visual Basic

vbExclamation 48 Exibe a ícone de mensagem de alerta. vbInformation 64 Exibe a ícone de mensagem informativa.

vbDefaultButton1 0 O primeiro botão é padrão. vbDefaultButton2 256 O segundo botão é padrão. vbDefaultButton3 512 O terceiro botão é padrão. vbDefaultButton4 768 O quarto botão é padrão.

vbApplicationModal 0 Modalidade da Aplicação; o usuário deverá responder a mensagem da caixa antes de continuar trbalhando na aplicação em utilização.

vbSystemModal 4096 Modalidade do Sistema; todas as aplicações são suspendidas até que o usuário responda a caixa de mensagem.

O primeiro grupo de valores(0–5) descreve o número e o tipo de botões exibidos na caixa de diálogo; o segundo grupo (16, 32, 48, 64) descreve o estilo da ícone; o terceiro grupo (0, 256, 512, 768) determina qual botão é o padrão; e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagem. Quando estiver adicionando números para criar um valor final para os argumentos dos botões, use somente um número de cada grupo.

Retorno de Valores

A caixa de mensagem segue os valores retornados abaixo:

Obs: Se a caixa de diálogo exibe um botão de cancelar, pressionando a tecla

ESC obtem-se o mesmo efeito como ter clicado o botão de cancelar.

InputBox Descrição

Exibe um prompt em uma Caixa de Diálogo, esperando que o usuário entre com um texto ou clique um botão, e retorna o conteúdo de um TextBox.

Constantes Valor Botões

vbOK 1 OK

vbCancel 2 Cancelar

vbAbort 3 Abortar

vbRetry 4 Repetir

vbIgnore 5 Ignorar

vbYes 6 Sim

vbNo 7 Não

Page 16: Apostila Básica Visual Basic

Sintaxe

InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context]) A sintaxe do InputBox possui estes argumentos:

Partes Descrição

Prompt

É exibida uma mensagem em formato texto em uma caixa de diálogo. O tamanho máximo da mensagem é aproximadamente 1024 caracteres, dependendo da largura dos caracteres usados. Se a mensagem consiste de mais do que uma linha, você pode separar as linhas usando um caracter de retorno (Chr(13)), alimentando linha com um ENTER, caracter (Chr(10)), alimentando linha com a quebra da mesma, ou ainda usar uma combinação (Chr(13) & Chr(10)) entre cada linha.

Title

Expressão de texto exibida na barra de título da caixa de diálogo. Se você omitir o título, o nome da aplicação entra no lugar da barra de título.

Default

Expressão de texto exibida na caixa de texto como a resposta padrão se outra entrada não é providenciada. Se você omitir default, a caixa de texto é exibida vazia.

xpos

Expressão numérica que especifica, em pixels, a distância horizontal da margem esquerda da caixa de diálogo da margem esquerda da tela. Se xpos é omitida, a caixa de diálogo é centralizada horizontalmente.

ypos

Expressão numérica que especifica, em pixels, a distância vertical da margem superior da caixa de diálogo do topo da tela. Se ypos é omitida, a caixa de diálogo é posicionada verticalmente aproximadamente em 1/3 da altura da tela.

Helpfile Não suportada. Context Não suportada.

Page 17: Apostila Básica Visual Basic

Obs: Se o usuário clicar OK ou pressionar ENTER, o retorno da caixa de entrada contudo está na caixa de texto. Se o usuário clicar Cancelar, o retorno é um texto de tamanho zero ("").

IF ... ENDIF Condicionalmente executa uma seleção de comandos baseados no valor de uma expressão lógica.

Sintaxe IF Expressão [THEN] Comandos [ELSE Comandos] ENDIF Argumentos Expressão Especifica a expressão lógica que recebe valor. Se a Expressão recebe valor verdadeiro (.T.), qualquer comando seguido do IF ou THEN e prescedendo ELSE ou ENDIF (que sempre ocorrerão primeiro) são executados.

• Se a Expressão é falsa (.F.) e o ELSE é incluído, qualquer comando depois do ELSE e antes do ENDIF é executado.

• Se a Expressão é falsa (.F.) e o ELSE não é incluído, todos os comandos entre o IF e o ENDIF são ignorados. Neste caso, a execução do programa continua com o primeiro comando seguindo até o ENDIF.

Obs: Você pode definir um bloco IF ... ENDIF sem outro bloco IF ... ENDIF. Os comentários precedidos por && podem estar especificados em alguma linha depois de IF, THEN, ELSE, and ENDIF. Estes comentários são ignorados durante a compilação e execução do programa.

Unload - End Unload O comando Unload é utilizado para fechar formulários que integram um projeto. Pode ser usado de duas formas: Sintaxe:

• Unload Me;

• Unload Form1.

Quando escrevemos Me, estamos nos referindo ao formulário atual em uso. Isto é feito para substituir o nome do formulário, quando o nome fornecido a ele na propriedade name é muito grande. Já no segundo caso, utilizamos o nome de um Formulário. Portanto, mesmo estando em um determinado formulário, ao clicarmos em um botão por exemplo, podemos estar fechando um outro formulário, basta apenas escrever Unload e fornecer o nome do formulário a ser fechado. Os únicos casos em que o comando Unload seguido de Me ou diretamente do nome de um Form qualquer poderá estar fechando um projeto, serão:

Page 18: Apostila Básica Visual Basic

• Se estivermos diretamente no formulário principal de um sistema;

• Se estivermos na única tela de um programa.

End O comando End é utilizado para encerrar o programa, lembrando que End significa Fim. Geralmente encontra-se em um ítem de menu descrito como Sair ou Fechar, em um botão, ou diretamente na programação, fazendo com que o sistema encerre-se propositalmente após algumas interaçõs do usuário.

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 - até que você tente modificar ou consertar um programa que alguém escreveu ou mesmo que você escreveu meses atrás. Os comentários não são executados nem processados pelo Visual Basic. Eles não ocupam nenhum espaço nos códigos compilados. Existem duas formas de indicar um comentário. A forma usual é indicar um comentário com aspas simples. Veja o exemplo abaixo: Private Sub Command1_Click ( ) ' Um comentário descrevendo o procedimento que vir ia aqui ' Toda linha de comentário ficará na cor ve rde End Sub

Obs: Você pode utilizar a velha palavra-chave Rem. Você poderá também acrescentar comentários no final das linhas. Nesse caso é mais prático utilizar aspas simples, porque a forma Rem requer dois-pontos antes dele.

Objetos A Terminologia do Visual Basic Propriedade, Método e Evento O Visual Basic é composto de formulários e controles genericamente chamados de objetos . Cada um dos objetos possui várias propriedades listadas na Janela de Propriedades . As propriedades dos objetos nos permitem saber e modificar as características desses objetos. Por exemplo, o nome, a cor, o tamanho, a legenda, o tipo e o tamanho da fonte com que o texto aparece e sua posição, são propriedades associadas aos quadros de texto, "Labels" (legendas) e botões de controle, opção e de seleção. Ao selecionarmos um determinado objeto, dando um clique com o mouse sobre ele, a Janela de Propriedades automaticamente listará as propriedades disponíveis para aquele objeto e então poderemos modificá-las. Cada objeto reconhece as seguintes ações, tais como um clique do mouse, abertura de formulário, digitação em um quadro de texto, etc. Essas ações são chamadas de eventos .

Page 19: Apostila Básica Visual Basic

Para uma aplicação responder às ações do usuário e aos eventos do sistema, são utilizados os procedimentos associados a cada evento. Por exemplo, um botão de controle reconhece os seguintes eventos:

Eventos Ações

Click Um botão é acionado com o mouse ou com o teclado.

DragDrop Um controle é solto em cima do botão.

DragOver Um controle está sendo arrastado sobre o botão.

GotFocus O botão recebe a atenção do sistema, ou seja, qualquer ação do usuário através do mouse ou teclado será recebida pelo botão.

KeyDown Uma tecla é pressionada enquanto o botão tem a atenção do sistema.

KeyPress Uma tecla é pressionada e um valor AscII é retornado.

LostFocus O botão perde a atenção do sistema para outro objeto.

Quando um evento ocorre em uma aplicação, o sistema automaticamente reconhece o evento e executa o código associado a esse evento escrito pelo programador. Esse código é chamado de procedimento do evento ("Event Procedure "). Esse procedimento aparece na Janela de Código. O nome do procedimento associado ao evento é composto pelo nome do objeto e pelo nome do evento. O nome do objeto para todos os formulários é "Form " e para os controles é o que aparece na propriedade "Name" do controle. Devemos escrever código somente para os eventos que serão utilizados em nossa aplicação. O método é um procedimento ("Function ou Sub") que atua nos objetos. Por exemplo, um quadro de lista é um controle que possui os seguintes métodos:

Métodos Ações

AddItem Adicionar um novo item no quadro de lista durante o tempo de execução, ou seja, quando o programa está sendo executado.

Clear Limpar o conteúdo do quadro de lista.

Move Movimentar o quadro de lista para uma nova posição no formulário.

Refresh Forçar uma atualização imediata o quadro de lista.

RemoveItem Remover um item do quadro de lista.

SetFocus Fazer com que o sistema transfira sua atenção para o quadro de lista.

Formulários Os formulários são utilizados como interface com o usuário dentro de uma aplicação. Cada formulário é uma janela que pode conter controles, gráficos e outros formulários. Podemos utilizar os formulários como uma tela de ilustração, um quadro de diálogo ou como um formulário que contém outro. Podemos modificar o tamanho e localização na tela do formulário, clicando e arrastando o mouse na borda e na barra de título desse formulário, respectivamente. Além dos controles, os formulários podem conter código e variáveis. Na verdade, cada formulário possui a própria janela de código. Dentro do objeto "General " da janela de código, podemos declarar variáveis, constantes e procedimentos criados por nós. Na janela de projeto, os arquivos com extensão ".FRM" contém, cada um, um formulário, os controles contidos nele, uma lista das propriedades do

Page 20: Apostila Básica Visual Basic

formulário e dos controles, as variáveis e constantes utilizadas e o código associado. Um projeto pode conter vários formulários e podemos adicionar um novo formulário selecionando o item "Add Form" dentro do menu "Project". Podemos ter ainda outro tipo de formulário: o do tipo "MDI" (Multiple Document Interface). Esse tipo de formulário pode conter outros formulários dentro dele. Cada projeto pode conter apenas um formulário do tipo "MDI". 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. Adicionamos um formulário "MDI" ao projeto selecionando o item "Add MDI Form" dentro do menu "Project".

Controles Sao ferramentas utilizadas nos formulários para receber e mostrar informações. Os quadros de texto, botões, rótulos,quadros de figuras, etc., são exemplos de controles. Os controles disponíveis em um projeto são mostrados na Caixa de Ferramentas ("ToolBox ") e possuem a extensão de arquivo "OCX". Para inserir uma ferramenta de controle em seu projeto em Visual Basic, você deve selecionar o item "Components..." dentro do menu "Project", normalmente os arquivos ".OCX", encontram-se no diretório "WINDOWS\SYSTEM", mas você pode importá-los de outros diretórios normalmente. Podemos inserir um controle no formulário de trabalho de duas maneiras:

1. Dando um duplo clique com o mouse no controle localizado na caixa de ferramentas;

2. Selecionar o controle na Caixa de Ferramentas. 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, soltando em seguida o botão (ponto final ).

Para os controles já localizados no formulário, podemos modificar o seu tamanho da seguinte maneira:

1. Selecionar o controle do formulário dando um clique com o mouse;

2. Apertar o botão da esquerda do mouse sobre um dos quadrados localizados na borda do controle;

3. Arrastar o mouse até o tamanho desejado;

4. Soltar o botão.

Podemos mudar a posição dos controles localizados no formulário da seguinte maneira:

1. Posicionar o apontador do mouse no meio do controle;

2. Apertar o botão da esquerda do mouse e arrastar até a posição desejada;

3. Soltar o botão.

Para modificar a propriedade dos controles, devemos:

1. Selecionar o controle;

2. Selecionar a propriedade desejada da Janela de Propriedades;

3. Modificar a propriedade.

Módulos

Page 21: Apostila Básica Visual Basic

São arquivos de extensão ".BAS" que contém declarações (variáveis e constantes) e procedimentos (funções e subrotinas). Podemos criar um módulo selecionando o item "Module" dentro do menu "Project". O Visual Basic mostra uma janela de código com o título "Module". Podemos também ver, na janela de projeto, o arquivo criado. É aconselhável trocarmos o nome padrão dado pelo Visual Basic, pois os arquivos ".BAS" são uma maneira de reaproveitarmos as mesmas funções e subrotinas para várias aplicações. Selecionando o item "Save File As..." dentro do menu "File", podemos fazer essa alteração.

Projeto É um arquivo ".VBP" que contém a lista dos fornulários, módulos e controles que compõem uma aplicação. Repetindo, a Janela de Projeto lista todos os arquivos da aplicação. Cada projeto contém pelo menos um formulário. Podemos inserir quantos formulários desejarmos dentro de um projeto. Selecionamos o item "New Project" dentro do menu "File" para criarmos um novo projeto. O Visual Basic abre esse novo arquivo com o nome padrão de "Project1.vbp" É aconselhável modificarmos esse nome, selecionando o item "Save Project As..." dentro do menu "File".

Etapas de Desenvolvimento de um Projeto Há três etapas para a criação de um aplicativo em Visual Basic.

1. Criar a interface com o usuário;

2. Configurar as propriedades dos objetos;

3. Escrever o código.

Para criarmos a interface com o usuário, podemos seguir os seguintes passos:

1. Abrir um novo projeto;

2. Salvar o projeto e o formulário criado com os nomes desejados;

3. Modificar o tamanho do formulário, adequando-o aos requisitos do programa.

4. Adicionar os controles necessários (botões, quadros de texto, etc.);

5. Adicionar mais formulários e controles;

6. Salvar esses formulários com os nomes escolhidos;

7. Salvar todo o projeto.

Na segunda etapa do desenvolvimento, devemos configurar as propriedades de todos os objetos. É muito importante, nessa etapa, darmos nome a cada um dos objetos, configurando-os através de sua propriedade "Name". É aconselhável, para uma boa documentação, incluirmos no nome do objeto o seu tipo também. Por exemplo, podemos dar o nome "frmprincipal" para a janela (formulário) que iniciará a aplicação. No item "Properties..." do menu "Project", podemos ver e alterar o formulário que inicia o aplicativo. Na terceira etapa , adicionamos o código, ou seja, projetamos como o programa responderá aos diferentes eventos (cliques, duplo cliques, teclas adicionadas, interrupção causada pelo temporizador, redimensionamento de uma janela, etc.).

Page 22: Apostila Básica Visual Basic

Devemos lembrar que essas três etapas não dispensam um projeto de software detalhado, isto é, como o programa deverá funcionar, como será o fluxo de dados dentro do programa, os algorítmos utilizados, a interface com o usuário, etc.

Propriedades e Eventos mais Utilizados Propriedades comuns a todos os objetos:

Proriedades Ações BackColor Determinar a cor de fundo de um objeto.

Enabled Determinar se o formulário ou controle podem responder aos eventos gerados pelo usuário.

Font Determinar a fonte, o estilo e tamanho a ser usada para mostrar um texto em um controle; é usada também em tempo de execução para desenhar e imprimir.

ForeColor Determiar a cor do texto impresso.

Height Determinar a dimensão vertical externa de um objeto.

Left Determinar a distância entre a borda esquerda de um objeto e a borda esquerda do objeto que a contém.

MousePointer Determinar o tipo do ponteiro do mouse mostrado quando ele está sobre uma parte específica de um formulário ou controle.

Name Especificar o nome usado no código para identicar um fomulário, controle ou objeto de acesso a dados. Não está disponível em tempo de execução.

ToolTipText Exibir uma janela de assistência junto ao ponteiro do mouse, movendo-o sobre um formulário ou controle.

Top Determinar a distância entre a borda interna superior de um objeto e a borda superior do objeto que o contém.

Visible Determinar se o objeto está visível ou não.

Width Determinar a dimensão horizontal de um objeto.

Eventos comumente utilizados nos objetos:

Eventos Ações

Activate Ocorre quando um formulário se tornar uma janela ativa.

Change Ocorre quando o conteúdo de uma caixa de combinação (caixa combo), barra de paginação (barra de rolagem), etiqueta, caixa de figura ou caixa de texto mudar.

Page 23: Apostila Básica Visual Basic

Click Ocorre quando o usuário pressiona e solta o botão do mouse sobre um objeto. Pode também ocorrer quando o valor do controle é modificado.

DblClick Ocorre quando o usuário dá um duplo clique com o mouse.

DragDrop Ocorre quando uma operação de " arrastar e soltar" é completada como resultado do arrastamento sobre um formulário ou controle e soltura do botão do mouse.

DragOver

Ocorre quando uma operação de "arrastar e soltar" está em progresso. Pode ser utilizado para monitorar se o ponteiro do mouse entra, deixa ou está diretamente sobre um alvo válido. O ponteiro do mouse determina que o objeto recebe o evento.

GotFocus Ocorre quando um objeto recebe a atenção do sistema (focus). Iremos notar que um formulário recebe a atenção somente quando todos os controles visíveis estão desabilitados.

KeyDown Ocorre quando o usuário pressiona uma tecla.

KeyPress Ocorre quando o usuário pressiona e solta uma tecla.

KeyUp Ocorre quando o usuário solta a tecla previamente pressionada.

LostFocus Ocorre quando um objeto perde a atenção do sistema (focus).

MouseDown

Ocorre quando o usuário pressiona o botão do mouse.

MouseMove Ocorre quando o usuário movimenta o mouse.

MouseUp Ocorre quando o usuário solta o botão do mouse previamente pressionado.

Controles Todos os controles possuem abreviações para facilitar a programação. 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, ele facilmente poderá identificar os controles existentes dentro deste programa apenas acompanhando suas abreviações. Abaixo seguem as Abreviações dos Controles básicos utilizados pelo Visual Basic.

Page 24: Apostila Básica Visual Basic

Controles Abreviações CheckBox CHK ComboBox CMB

CommandButton CMD Data (Control) DTC

DirListBox DIR DriveListBox DRV FileListBox FIL

Form FRM Frame FRM

HScrollBar SCR

Image IMG Label LBL Line LIN

ListBox LST Ole OLE

OptionButton OPT

PictureBox PCT Shape SHP

TextBox TXT Timer TMR

VScrollBar SCR

As Propriedades Principais do CheckBox

Propriedades

Ações

Alignment Especifica se o texto ficará do lado esquerdo da caixa.

Caption O texto anexado ao objeto checkbox.

Page 25: Apostila Básica Visual Basic

Enabled Habilita ou não este objeto. Estando desabilitado, não aceitará que o usuário faça evento com a caixa de checagem.

Font Escolhe uma fonte para o texto digitado no caption.

Name Nomeia o objeto. A inicial abreviada para este tipo de controle é "chk".

Value Determina o estado do objeto: unchecked, checked ou grayed.

As Propriedades Principais do ComboBox

Propriedades

Ações

Style Escolhe o tipo de caixa de combinação que será utilizada: dropdown combo, simple combo, dropdownlist.

Text Nesta propriedade digita-se um texto que ficará como padrão, fixo na área de texto, na caixa de combinação. Geralmente deixa-se em branco.

As Propriedades Principais do CommandButton

Propriedades Ações

Cancel Se esta opção for ajustada como verdadeira, o botão será associado a tecla ESC e sempre que pressionarmos essa tecla, será como se tivéssemos apertado o botão.

Caption O título que será exibido dentro do botão.

Default Estando o botão com essa propriedade como True, indica que este botão será o padrão desta janela e sempre que apertarmos a tecla ENTER, será como se tivéssemos clicado sobre o botão.

Enabled Determina se o botão será habilitado para pressionamento por parte do usuário ou não.

Font Escolhe a fonte de letra que o Caption terá.

Name O nome que daremos para o objeto botão de comando.

Visible Determina se o botão será visível para o usuário quando o programa estiver em execução.

As Propriedades Principais do Data

Propriedades Ações

DataBaseName

Localização da base de dados a ser utilizada pelo programa.

RecordSource Associa a tabela da base de dados a ser utilizada pelos campos contidos no formulário.

Page 26: Apostila Básica Visual Basic

As Propriedades Principais do Form

Propriedades Ações

Apperance Define se o modo de exibição será 3D ou normal.

BackColor Muda a cor de fundo do formulário.

BorderStyle

Muda o tipo de borda do formulário. None : Sem borda, sem barra de título, sem menu de controle, sem botão maximizar e sem botão minimizar e não pode redimensionar a janela. FixedSingle : Borda Fixa. Aceita o menu de controle, maximizar, minimizar, barra de título e pode ser redimensionada. Sizable : Borda comum. Possui o menu de controle, maximizar, minimizar, barra de título e pode ser redimensionada. Fixed Dialog : Muito usada para janelas que vão manter um diálogo com o usuário. Ela pode ter menu de controle e a barra de título, mas não terá os botões de maximizar e minimizar. Não pode ser redimensionada. Fixed ToolWindow : Não possui o menu de controle, o botão maximizar e o botão minimizar. Também não pode ser redimensionada. Aparecerá somente a barra de título e o botão fechar, próprio do windows, esse tipo de formulário não aparece na barra de tarefas do windows. Sizable ToolWindow: Não possui o menu controle, o botão maximizar e o botão minimizar. Pode ser redimensionada. Aparecerá somente a barra de título e o botão fechar, próprio do windows,esse tipo de formulário não aparece na barra de tarefas do windows.

Caption Será o texto mostrado na barra de título do formulário (da janela).

ControlBox Retira ou coloca o menu de controle, botão maximizar, minimizar e fechar a janela.

Enabled Se esta opção estiver com False, indica que nenhum objeto desta janela, e nem a própria janela, poderão responder a eventos gerados pelo usuário, como clicar do mouse, pressionamento de teclas, etc.

Font Escolhe a fonte padrão que será usada para todos os objetos inseridos neste formulário.

Icon Nesta propriedade escolhemos um arquivo de ícone que irá representar o programa.

KeyPreview Determina se os eventos do teclado no formulário serão executados antes dos eventos correspondentes aos objetos inseridos no formulário.

MaxButton Habilita ou não o botão de maximização.

MDIChild Determina se a janela será uma janela filha. Ou seja, terá uma outra janela mestra incorporando-a.

MinButton Habilita ou não o botão de minimização.

MouseIcon Sempre que o mouse for movido em cima do formulário, o ícone associado a esta propriedade aparecerá (desde que a propriedade MousePointer esteja customizada, ou seja, personalizada).

MousePointer Nesta propriedade especificamos o tipo de ponteiro que o mouse terá quando se mover sobre o formulário. Os tipos de ponteiro de mouse estão abaixo da tabela.

Name Nome definido para o objeto formulário.

Page 27: Apostila Básica Visual Basic

Picture Insere uma figura em nosso formulário.

ShowInTaskbar

Habilita ou não a possibilidade da janela aparecer na barra de tarefas do windows.

Visible Determina se, ao executarmos o programa, essa janela ficará visível ou invisível.

WindowState Determina se, ao executarmos o programa, a janela aparecerá na tela do computador normal, maximizada ou minimizada.

Ponteiros do mouse:

0 - (Default) Ponteiro padrão; 1 - Ponteiro em forma de seta; 2 - Ponteiro de seleção exata; 3 - Seleção de escrita; 4 - Ícone (variados); 5 - Seleção de mover objetos; 6 - Redimensionamento na diagonal; 7 - Redimensionamento na vertical; 8 - Redimensionamento na diagonal; 9 - Redimensionamento na horizontal; 10 - Seleção alternada; 11- Sinal de ocupado; 12 - Não disponível (ocupado); 13 - Trabalhando em segundo plano; 14 - Seleção de ajuda; 15 - Todos os tamanhos; 99 - Aparece o ícone escolhido na propriedade MouseIcon.

As Propriedades Principais do Frame

Propriedades Ações

Page 28: Apostila Básica Visual Basic

Caption Coloca um texto no canto superior esquerdo da moldura.

Enabled Determina se todos os objetos colocados no interior da moldura estarão disponíveis ou não para o usuário.

Name Nome dado ao objeto. A inicial abreviada é "frm". Cuidado para não colocar um name igual ao de algum form.

As Propriedades Principais do HScrollBar

Propriedades Ações

Max Valor máximo a ser utilizado pela barra de rolagem, geralmente 100.

Min Valor mínimo a ser utilizado pela barra de rolagem, geralmente 0.

As Propriedades Principais do Image

Propriedades Ações

Picture

Figura a ser exibida pelo objeto. Pode ser qualquer arquivo de imagem suportado pelo Visual Basic ou até mesmo um arquivo de ícone.

Strech Possibilita que a imagem seja esticada mantendo toda a visualização possível dentro da área do objeto.

As Propriedades Principais do Label

Propriedades Ações

AutoSize Com esta propriedade habilitada, indicamos ao controle para redimensionar automaticamente seu tamanho do texto no label.

BackColor Escolhe a cor de fundo que envolverá o label.

BackStyle Escolhe entre o fundo transparente ou opaco para o label.

BorderStyle Escolhe entre colocar uma moldura envolvendo o label ou não.

Caption A propriedade principal do label. Determina o texto que será exibido dentro do objeto.

Enabled Habilita ou desabilita o objeto. Quando está em False, a cor de seu conteúdo fica acinzentada.

Font Escolhe a fonte que terá o texto digitado na propriedade caption.

ForeColor Escolhe a cor da fonte do label.

Page 29: Apostila Básica Visual Basic

Name Nomeia o objeto label. Como já foi dito, é importante que todos os objetos sejam nomeados. A inicial do label é "lbl".

Visible Indica se o objeto será visível ou não para o usuário.

WordWrap

Quando o autosize está em True, não é possível expandir o texto digitado na propriedade caption em outras linhas. Mas, se passarmos essa propriedade wordwrap para True, isto poderá ser feito, bastando para isto, dimensionarmos o label.

As Propriedades Principais do ListBox

Propriedades Ações

Columns Determina a quantidade de colunas que a caixa de listagem terá.

Enabled Habilita ou não o listbox para o usuário selecionar algum item no objeto.

IntegralHeight Determina a possibilidade dos itens dentro da caixa de listagem serem exibidos de maneira parcial.

ItemData Nesta propriedade existe uma caixa onde colocamos números relacionados com os itens existentes dentro do listbox.

List Éo local onde digitamos os itens que estarão dentro do listbox.

MultiSelect Quando esta propriedade estiver habilitada, significa que a caixa de listagem aceitará múltiplas seleções, ou seja, poderá ser selecionado mais de um item: none, simple e extended.

Name Nome que o objeto listbox terá. A abreviação para este objeto é "lst".

Sorted Classifica os itens existentes dentro do listbox em ordem alfabética ou numérica ascendente. Esta propriedade em tempo de execução tem a finalidade de informar o estado que se encontra o sorted.

As Propriedades Principais do OptionButton

Propriedades Ações

Alignment Determina se o texto ficará do lado direito ou esquerdo do botão de opção.

Caption O texto que será anexado ao objeto.

Enabled Habilita ou não este objeto. Estando desabilitado, o usuário não poderá selecionar a opção e a cor do texto será acinzentada.

Page 30: Apostila Básica Visual Basic

Name Nomeia o objeto. A inicial abreviada para este tipo de controle é "opt".

Value True para opção selecionada e False quando não está selecionada.

As Propriedades Principais do PictureBox

Propriedades Ações

Picture

Figura a ser exibida pelo objeto. Pode ser qualquer arquivo de imagem suportado pelo Visual Basic ou até mesmo um arquivo de ícone.

As Propriedades Principais do TextBox

Propriedades Ações

BackColor Escolhe a cor de fundo da caixa de texto. Geralmente é branca.

BorderStyle Tipo da borda: Fixa e simples ou sem borda.

Enabled Estando em False, o objeto não estará habilitado para interagir com o usuário.

Font Escolhe a fonte que será mostrada dentro da caixa de texto.

ForeColor Escolhe a cor da fonte.

Locked Estando em False, trava qualquer digitação na caixa de texto.

MaxLength Quantidade máxima de caracteres dentro da caixa de texto.

MultiLine Habilita a possibilidade de se digitar mais de uma linha na caixa de texto.

Name Nomeia o objeto textbox. A inicial do textbox é "txt".

PasswordChar

Se durante a digitação de qualquer dado na caixa de texto, quisermos que o Visual Basic mostre outro caracter no lugar do caracter digitado, é só especificarmos aqui qual queremos que seja mostrado. Muito usado para digitação de senhas.

ScrollBars Estando a propriedade multiline habilitada, é interessante colocarmos uma scrollbar na caixa de texto, pois ela acrescentará uma barra de rolagem que poderá ser: horizontal, vertical, ambas.

Text A propriedade text é a mais importante deste objeto. Todo texto digitado pelo usuário dentro da caixa de texto é incorporado nesta propriedade.

Page 31: Apostila Básica Visual Basic

As Propriedades Principais do Timer

Propriedades Ações

Interval Associa o intervalo de tempo em que a programação contida no objeto ocorrerá.

As Propriedades Principais do VScrollBar

CommandButton

Obs: Um botão de comando é tipicamente usado para iniciar um evento que retorna uma ação com fechar um formulário, movimentação para um registro diferente, imprimir u relatório, etc. Use a propriedade Caption para especificar o texto que aparece no botão de comando. Use a propriedade Picture para especificar uma figura para um botão de comando, só não esqueça de habilitar a propriedade Style para Graphical , caso contrário a figura não aparecerá. Você pode escolher um botão de comando para clicá-lo e se a propriedade Default está selecionada para true (.T.), pelo pressionamento da tecla ENTER o botão de comando é selecionado. Se a propriedade Cancel do botão de comando está selecionada para true (.T.), você pode escolher o botão de comando pelo pressionamento da tecla ESC.

Exercício Proposto 1

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 botões no formulário, utilizando-se das propriedades descritas na tabela abaixo:

Name Caption CmdLimpar Limpar

CmdOk Ok CmdCancelar Cancelar CmdFechar Fechar

Propriedades Ações

Max Valor máximo a ser utilizado pela barra de rolagem, geralmente 100.

Min Valor mínimo a ser utilizado pela barra de rolagem, geralmente 0.

Page 32: Apostila Básica Visual Basic

Na propriedade Name do formulário digite FrmCommand1 e na propriedade Caption digite "Exemplo do objeto Command" .

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

Page 33: Apostila Básica Visual Basic

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, como na figura abaixo:

Para retirar as mensagens escritas no formulário, é só clicar no botão Limpar e para encerrar o programa é só clicar no botão Fechar. No momento de salvar, o nome a ser dado ao projeto é PrjCommand1.

Exercício Proposto 2 Siga os seguintes passos:

• No menu File escolha a opção New Project;

• Escolha então o tipo de projeto Standard Exe.

Feito isto, reconstrua o exercício anterior, mas desta vez, 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, acrescentando & antes do nome físico. Você estará criando uma tecla de atalho para eles. Assim, quando você precisar utilizar o CommandButton, é só clicar nele ou manter pressionada a tecla seguida da letra escolhida para atalho. Na propriedade Name do formulário digite FrmCommand2 e na propriedade Caption digite "Exemplo do objeto Command" .

O resultado obtido deverá ser o formulário abaixo:

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

Page 34: Apostila Básica Visual Basic

Obs: A letra escolhida para ser o atalho do objeto deverá possuir & antes e não necessariamente deverá ser a primeira letra, poderá ser uma letra do meio ou do final da palavra.

Label Labels são usados para exibir texto e não podem ser editados pelo usuário. 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, Eles podem exibir informação em resposta a um evento ou processo em sua aplicação.

Labels são usados em muitas instâncias nas mais diferentes situações. Muito comumente, eles são usados com controles que não tem a propriedade Caption. Por exemplo, você pode usar o controle label para adicionar descrições para TextBoxes, ListBoxes, ComboBoxes e outros. Eles também podem ser usados para descrever textos em um formulário, por exemplo, para auxiliar o usuário com informação de ajuda. 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, se sua aplicação leva alguns minutos para processar uma alteração, você pode exibir uma barra de status processando uma mensagem através de um label. Obs: Este controle não pode receber foco.

Selecionando a Propriedade Caption do Label Para alterar o texto exibido em um label, use a propriedade Caption. Em tempo de projeto, você pode selecionar esta propriedade, selecionando-a na Janela de Propriedades. Você pode utilizar o tamanho da propriedade Caption até o máximo de 1024 bytes.

Alinhando o Texto A propriedade Alignment permite que você selecione o alinhamento do texto do label para Justificado à Esquerda (0, é o padrão) , Centralizado (1), ou Justificado à Direita (2).

As Propriedades AutoSize e WordWrap Pelo padrão, quando insere-se texto dentro da propriedade Caption excedendo a largura do controle, o texto desce para a próxima linha e é alterado se ele excede a altura do controle. Para que o controle ajuste automaticamente seu conteúdo, selecione a propriedade AutoSize para True. O controle expandirá

Page 35: Apostila Básica Visual Basic

horizontalmente para receber o conteúdo da propriedade Caption. Para que o conteúdo desça uma linha e expanda verticalmente, selecione a propriedade WordWrap para True.

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. Quando você define uma chave de acesso em um label, 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. 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. Para um controle receber uma tecla de acesso sem que ele tenha a propriedade caption, use um label com o controle. Por que o controle label não pode receber foco, então o foco se move automaticamente para o próximo controle na ordem fornecida na propriedade TabIndex. Use esta técnica para fornecer teclas de acesso para TextBox, PictureBox, ComboBox, ListBox, DriveListBox, DirListBox, Grid e Image.

Para Definir uma Chave de Acesso com um Label

1. Selecione o label primeiro, e então desenhe o controle. -ou-

Desenhe o controle em qualquer ordem e selecione a propriedade TabIndex do label para numerar o uso do controle.

2. Use o caracter & na propriedade Caption para fornecer uma tecla de acesso para o label.

Obs: Você pode querer exibir teclas de acesso em um controle label, se você estiver usando eles para criar teclas de acesso. 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 &. Para exibir & em um controle label, selecione a propriedade UseMnemonic para False.

Exercício Proposto 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 labels no formulário, utilizando-se das propriedades descritas na tabela abaixo:

Name Caption LblNome Nome do Paciente LblSexo Sexo

LblExame Exame

Page 36: Apostila Básica Visual Basic

Na propriedade Name do formulário digite FrmLabel e na propriedade Caption digite "Exemplo do objeto Label" .

O resultado obtido deverá ser o formulário abaixo:

No momento de salvar, o nome a ser dado ao projeto é PrjLabel . Com certeza, os objetos criados não ficaram com esta mesma aparência apresentada acima. Para isso, algumas propriedades dos labels deverão ser alteradas. Siga as instruções abaixo e confira o resultado:

Objeto Propriedades LblNome Font

LblSexo AutoSize, BorderStyle, Font e ForeColor

LblExame BackColor, Font, ForeColor e WordWrap

TextBox Obs: Para exibir múltiplas linhas de texto em um controle TextBox , altere a propriedade MultiLine para True . Se um TextBox com MultiLine não tem uma barra de rolagem horizontal, o texto é automaticamente ajustado quando o TextBox é redimensionado. Para personalizar a barra de rolagem de um TextBox , selecione a propriedade ScrollBars .

Barras de rolagem sempre aparecerão em um TextBox quando a propriedade MultiLine dele é alterada para True , e a propriedade ScrollBars dele é alterada para qualquer coisa exceto None (0). Se você alterar a propriedade MultiLine para True , você pode usar a propriedade Alignment para alterar o alinhamento do texto dentro do TextBox . O texto padrão é justificado à esquerda. Se a propriedade MultiLine é False , alterar a propriedade Alignment não porporcionará efeito.

Exercício Proposto

Page 37: Apostila Básica Visual Basic

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 Caption LblNomePaciente Nome do Paciente TxtNomePaciente -

LblSexo Sexo TxtSexo -

LblExame Exame TxtExame - CmdOk Ok

CmdCancelar 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:

Page 38: Apostila Básica Visual Basic

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:

Page 39: Apostila Básica Visual Basic

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.

Page 40: Apostila Básica Visual Basic

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 Fra me

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ão-checado ou não acessível. Quando selecionado, o valor será 1. Por exemplo:

Page 41: Apostila Básica Visual Basic

Tabela de valores e constantes do Visual Basic equivalentes que são usadas para selecionar a propriedade Value.

Opção Valor Constante Não-Checado 0 VbUnchecked

Checado 1 VbChecked Não-Acessível 2 VbGrayed

O usuário clica no controle check box para indicar um estado checado ou 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. Por padrão, o check box é selecionado para vbUnchecked. Se você quer preselecionar um check box de uma série de check boxes, você pode selecioná-lo através da propriedade Value para vbChecked na rotina Form_Load ou Form_Initialize. Você pode também selecionar a propriedade Value para vbGrayed para desabilitar o check box. Por exemplo, pode pode querer desabilitar um check box até que uma certa condição seja acionada.

O Evento Click Porém se o usuário clica no check box, o evento Click é acionado. Você pode então programar sua aplicação para desenvolver alguma ação dependendo do estado do check box. Como no exemplo, a propriedade caption do controle check muda cada vez que o controle é clicado, indicando um estado checado ou não-checado. Private Sub Check1_Click() If Check1.Value = vbChecked Then Check1.Caption = "Checked" ElseIf Check1.Value = vbUnchecked Then Check1.Caption = "Unchecked" End If End Sub Obs: Se o usuário clicar duas vezes no controle check box, cada clique será processado separadamente, porque o controle check box não suporta o evento double-click.

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. Você pode selecionar o check box através do caracter que cria tecla de atalho (&). Por exemplo:

Neste exemplo, pressionando a combinação de teclas ALT+C você pode alternar entre os estados checado e não-checado.

Exercício Proposto Siga os seguintes passos:

Page 42: Apostila Básica Visual Basic

• 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 Caption FrmOpcoes - ChkArroz Arroz ChkFeijao Feijão ChkFritas Fritas ChkOvo Ovo ChkBife Bife

CmdFechar &Fechar

Na propriedade Name do formulário digite FrmFrameCheckBox e na propriedade Caption digite "Exemplo do objetos Frame e CheckBox" .

O resultado obtido deverá ser o formulário abaixo:

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

OptionButton Usualmente, os controles OptionButton são usados em um grupo de opções para exibir opções das quais o usuário seleciona somente uma. Você agrupa os controles OptionButton desenhando-os dentro de uma controle que os contêm como um Frame , um PictureBox , ou um formulário. Para agrupar os controles OptionButton em um Frame ou PictureBox , desenhe o Frame ou o PictureBox primeiro, e então desenhe os controles OptionButton dentro. Todos os controles OptionButton com the same container act as a single group.

Page 43: Apostila Básica Visual Basic

Enquanto o controle OptionButton e o controle CheckBox parecem funcionar similarmente, há uma importante diferença: Quando um usuário seleciona um OptionButton , o outro controle OptionButton do mesmo grupo está automaticamente não disponível. Em contraste, qualquer número de controles CheckBox poderá ser selecionado.

Exercício Proposto 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 Caption FrmSexo Sexo

OptMasculino Masculino OptFeminino Feminino FrmEstado Estado Civil OptSolteiro Solteiro OptCasado Casado OptViuvo Viúvo

OptSeparado Separado OptDivorciado Divorciado

CmdFechar &Fechar

Na propriedade Name do formulário digite FrmOptionButton e na propriedade Caption digite "Exemplo do objeto OptionButton" .

O resultado obtido deverá ser o formulário abaixo:

Page 44: Apostila Básica Visual Basic

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

ListBox Um ListBox exibe uma lista de ítens da qual o usuário pode selecionar um ou mais ítens. Se o number de ítens excede o número que pode ser exibido, uma barra de rolagem é automaticamente adicionada para o ListBox .

Se não há item selecionado, o valor da propriedade ListIndex é -1. O primeiro item da lista é ListIndex 0, e o valor da propriedade ListCount é sempre um valor maior do que o contido em ListIndex . Obs: Para adicionar ou deletar ítens em um ListBox , use o método AddItem ou RemoveItem . Marque as propriedades List , ListCount , e ListIndex para habilitar um usuário para acessar ítens no ListBox . Alternativamente, você pode adicionar ítens para a lista usando a propriedade List em tempo de projeto.

Exercício Proposto 1 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 List - 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" .

O resultado obtido deverá ser o formulário abaixo:

Page 45: Apostila Básica Visual Basic

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;

• 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 List - Caption LstNomes Joaquim Portugal

- José Pereira - Pedro Pereira - Peter Norton Souza - Cornélios Silva - Bill Gates Silva

LblTexto - LblQuantidade -

LblIndice - CmdTexto &Texto

CmdQuantidade &Quantidade CmdIndice &Indice CmdFechar &Fechar

Na propriedade Name do formulário digite FrmListBox2 e na propriedade Caption digite "Exemplo do objeto ListBox" .

O resultado obtido deverá ser o formulário abaixo:

Page 46: Apostila Básica Visual Basic

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 para o Formulário:

Programação do botão CmdTexto:

Programação do botão CmdQuantidade:

Programação do botão CmdIndice:

Page 47: Apostila Básica Visual Basic

O programa será executado da seguinte maneira:

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

ComboBox O ComboBox é um controle, similar a uma combinação entre um ListBox e um TextBox, 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;

• 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 Caption CmbNomes - LblNomes -

CmdFechar &Fechar

Na propriedade Name do formulário digite FrmComboBox e na propriedade Caption digite "Exemplo do objeto ComboBox" .

O resultado obtido deverá ser o formulário abaixo:

Page 48: Apostila Básica Visual Basic

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 para o Formulário:

Programação da caixa combo CmbNomes:

O programa será executado da seguinte maneira:

Page 49: Apostila Básica Visual Basic

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

ScrollBar

Com as barras de rolagem, você pode utilizar as setas que estão posicionadas nas extremidades para aumentar ou diminuir valores, tamanho de objetos, controlar o posionamento e o direcionamento de objetos baseado em outros fatores contidos no programa. Este objeto possui duas aparências, disponibilizando ao programador uma barra na posição horizontal ou uma barra na posição vertical. Dependendo da situação do programa, o programador saberá qual das barras ele precisará em seu programa.

Timer O controle Timer realiza ações atribuídas à ele de acordo com a passagem do tempo. Eles são independentes do usuário, e você pode programá-los para ter ações em intervalos de tempo regulares. Uma típica ação realizada com ele é a checagem do relógio do sistema para visualizar as horas em alguma barra de tarefas. Timers também são muito usados para outros tipos de processamento.

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. Mesmo desabilitado, um timer continua a receber um evento (apropriadamente nomeado de evento Timer) em um estado inacabado igual ao intervalo de 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, cálculos intensivos, ou leitura de drives, redes, ou portas de acesso sua aplicação não permite rodar no evento timer com frequência como especificado na propriedade Interval.

• O intervalo poderá ser entre 0 e 64.767, o que significa que um intervalo muito longo não poderá ser mais longo do que um minuto (cerca de 64.8 segundos).

Page 50: Apostila Básica Visual Basic

• O intervalo não é garantido exatamente com o decorrer do tempo. Para assegurar exatidão, o timer exibe a checagem do relógio do sistema quando necessário, melhor do que tentar incrementar valores acumulados internamente como se fosse tempo.

Todo controle timer deverá ser associado com um form. Contudo, para criar uma aplicação com tempo, você deverá criar no mínimo um form.

Inicializando um Controle Timer Um controle timer tem duas propriedades fundamentais:

Propriedade Opção

Enabled

Se você quiser que o controle timer inicie trabalhando, como o evento load do form, altere esta propriedade para True. Em todo caso, deixe esta propriedade selecionada como False. 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.

Interval Número de milisegundos entre os eventos do timer. Note que a propriedade Enabled do controle timer é diferente da propriedade Enabled dos outros objetos. Na maioria dos objetos, a propriedade Enabled determina qual objeto pode responder por um evento causado pelo usuário. Com o controle Timer, alterando a propriedade Enabled para False suspendemos as operações do timer.

Obs: Lembre-se que o evento Timer é periódico. A propriedade Interval não determina "quanto tempo" e sim "qual a frequência". O tamanho do intervalo depende de quanta precisão você vai precisar, porque, existe a chance em potencial de que algum erro ocorra fazendo um intervalo quebrado, mesmo assim você terá mais precisão.

DriveListBox Um DriveListBox habilita um usuário selecionar uma unidade de disco válida. Use este controle para exibir uma lista de todas as unidades de disco válidas no sistema do usuário. 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.

Obs: Selecione as propriedades List , ListCount e ListIndex para habilitar um usuário acessar ítens em uma lista. Se você também exibir os controles DirListBox e FileListBox , você pode escrever um código para sincronizá-los com o DriveListBox e com cada outro controle.

Exercício Proposto

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 labels no formulário, utilizando-se das propriedades descritas na tabela abaixo:

Name

Page 51: Apostila Básica Visual Basic

Drive1 Dir1 File1

Na propriedade Name do formulário digite FrmArquivos e na propriedade Caption digite "Exemplo dos Objetos de Arquivos" .

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 listagem de drive Drive1:

Programação da caixa de listagem de diretórios Dir1:

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

Page 52: Apostila Básica Visual Basic

DirListBox Obs: Selecione as propriedades List , ListCount e ListIndex para habilitar um usuário acessar ítens em uma lista. Se você também exibe os controles DriveListBox e FileListBox , você pode escrever código para sincronizá-los com o controle DirListBox e com cada outro controle.

Exercício Proposto O exercício proposto para este objeto já foi realizado no item DriveListBox .

FileListBox Obs: Selecione as propriedades List , ListCount e ListIndex para habilitar um usuário acessar ítens na lista. 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.

Exercício Proposto O exercício proposto para este objeto já foi realizado no item DriveListBox .

Shape O controle shape é usado para criar formas geométricas pré-definidas em forms, frames, oo picture boxes. Essas formas pré-definidas podem ser: retângulo, quadrado, oval, círculo, retângulo com cantos arredondados ou um quadrado com cantos arredondados. Figura 1. O controle Shape

Você pode alterar neste controle as propriedades style, color, fill style, border color e border style de qualquer um dos shapes que você desenhou no form. Para uso simples, o controle shape permite que você crie uma variedade de shapes sem escrever qualquer código. Para uma funcionalidade mais avançada você precisa usar os comandos Line e Circle.

Shapes Pré-Definidos A propriedade Shape do controle shape permite que você trabalhe com seis tipos pré-definidos de shapes. A tabela abaixo lista todos os shapes pré-definidos, seus valores e as contantes equivalentes do Visual Basic:

Page 53: Apostila Básica Visual Basic

Shape Style Constant Rectangle 0 vbShapeRectangle

Square 1 vbShapeSquare Oval 2 vbShapeOval Circle 3 vbShapeCircle

Rounded Rectangle 4 vbShapeRoundedRectangle Rounded Square 5 vbShapeRoundedSquare

Figura 2. 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. A propriedade FillStyle, 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: Solid, Transparent, Horizontal Line, Vertical Line, Upward Diagonal, Downward Diagonal, Cross e Diagonal Cross. A propriedade BorderStyle permite que você através de um número pré-definido controle o estilo da borda. Estão incluídos: Transparent, Solid, Dash, Dot, Dash-Dot, Dash-Dot-Dot e Inside Solid.

Alterando os Atributos de Cor As propriedades BackColor e FillColor permite que você adicione cores no shape e em suas bordas. Em tempo de projeto, você pode alterar fillcolor ou bordercolor escolhendo na janela de propriedades do controle shape as cores correspondentes à paleta de cores ou cores do sistema. Para alterar as cores em tempo de execução, use as constantes de cores do Visual Basic (vbGreen, por exemplo) ou as constantes das cores do sistema (vbWindowBackground, por exemplo) ou a função RGB para especificar a fillcolor.

Desenhando Shapes em um Form Você pode usar o controle shape para desenhar retângulos (regulares ou de cantos arredondados), quadrados (regulares ou de cantos arredondados), ovals, e círculos em um form. Para desenhar um shape em um form:

Page 54: Apostila Básica Visual Basic

1. Na caixa de ferramentas, selecione o controle Shape .Quando o ponteiro mover-se para dentro do form, alterando-se para uma cruz;

2. Clique e arraste o cursor para fazer o tamanho do objeto como você quiser;

3. Na janela de Propriedades, selecione a propriedade Shape;

4. Selecione o estilo que você quer.

Os shapes podem ser aumentados como qualquer outro controle, selecionando e arrastando o controle redimensionado-o, ou selecionando as propriedades Height e Width.

Line O controle line é usado para criar simples segmentos de linha em um form, um frame, ou em um picture box. Figura 1. O controle line

Você pode controlar a posição, tamanho, cor e estilo dos controles line para personalizar o visual das aplicações. O line tem funcionalidade limitada e está intensionado para usos simple de exibição e impressão. Os segmentos de linha não podem ser unidos com outras formas geométricas.

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. 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, ou em tempo de execução especificando o estilo usando as constantes equivalentes do Visual Basic no código. A propriedade BackColor é usada para especificar a cor da linha. Em tempo de projeto, 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. Para alterar uma cor em tempo de execução, use as constantes de cores do Visual Basic (vbGreen, por exemplo) ou as constantes de cores do sistema

Page 55: Apostila Básica Visual Basic

(vbWindowBackground, por exemplo) ou a função RGB para especificar as cores da borda.

Movendo e Aumentando uma Linha Você pode mover ou redimensionar o controle line em tempo de execução alterando as propriedades X1, X2, Y1 e Y2. As propriedades X1 e Y1 controlam as posições horizontal e vertical da esquerda do início ao fim de um segmento de linha. As propriedades X2 e Y2 controlam as posições horizontal e vertical da direita do início ao fim de um segmento de linha. Você não pode mover uma segmento de linha usando o método Move.

Desenhando Linhas em um Form Você pode usar o line para desenhar linhas simples em um form. Para desenhar uma linha em um form

1. Na caixa de ferramentas, selecione o controle Line .Quando o ponteiro mover-se para dentro do form, alterando-se para uma cruz;

2. Clique no form onde você quer a linha para iniciar e pressione o botão do mouse;

3. Arraste o cursor para onde você quer o final da linha e solte o botão do mouse;

4. Na janela de Propriedades , selecione a propriedade BorderStyle se você quer alterar a aparência da linha;

5. Selecione o estilo que você quer.

Image Um Image pode exibir um gráfico de um arquivo bitmap. Um bitmap define uma imagem como uma coleção de pontos (pixels). Um bitmap tem as extensões de seus arquivos como: .bmp, .dib, ou .2bp. Você pode usar bitmaps de várias definições de cores, incluindo 2, 4, 8, 16, 24, e 32-bits, mas um bitmap somente exibirá corretamente se o dispositivo de exibição suporta a definição de cores usadas pelo bitmap. Por exemplo, um bitmap de resolução 8-bit-por-pixel (256 cores) somente exibe em 16 cores quando exibido em um dispositivo 4-bits-por-pixel (16 cores).

O image usa menos recursos do sistema e remonta as figuras mais rápido do que um picture box, mas ele só suporta parte das propriedades de um picture box, eventos e methods. Ambos os controles suportam formatos de figuras bitmap. Contudo, você pode esticar as figuras em um controle image ajustando elas ao tamanho do controle. Você não pode fazer isto com o controle picture box. A propriedade Stretch determina o quanto a figura será esticada quando o controle image é redimensionado. Se a opção é True, a figura lida dentro do controle

Page 56: Apostila Básica Visual Basic

image é esticada. Esticando uma figura bitmap podemos produzir uma imagem de menor qualidade.

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 . Para fazer um PictureBox automaticamente redimensione para exibir uma entrada de gráfico, alterando a propriedade AutoSize para True .

Para criar uma animação ou simulação, você pode manipular as propriedades gráficas e os métodos através de código. As propriedades gráficas e os eventos são muito usados por operações no momento de impressão, assim como modificar o formato de um formulário na tela para impressão.

ADO Data Control O controle ADO Data Control é similar ao intrinsíco Data control e ao Remote Data Control (RDC). 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 criar uma conecção selecionando a propriedade ConnectionString para um conecção com textos válida, então selecione a propriedade RecordSource para uma condição apropriada no gerenciador de base de dados. Você pode também selecionar a propriedade ConnectionString para definir o nome de um arquivo em uma conecção; o arquivo é gerenciado por uma caixa de diálogo de Link de Dados, que aparece quando você clica na propriedade ConnectionString e então clica nas opções Build ou Select . Poderão ser feitas conecções com os objetos: DataGrid , DataCombo , oo DataList apenas selecionando a propriedade DataSource do Controle ADO Data . Em tempo de execução, você pode dinamicamente alterar as propriedades ConnectionString e RecordSource para alterar a base de dados. Alternativamente, você pode selecionar a propriedade Recordset diretamente para posteriormente abrir a origem dos registros.

Ole (Object Linking and Embending)

Ole é uma tecnologia que complementa e estende o intercâmbio dinâmico de dados, já que, em vez de a informação ser meramente transferida, ela é apresentada da mesma forma em que aparecerá no aplicativo original. Planilhas aparecem como planilhas, documentos em processadores de texto aparecem como deveriam aparecer em um processador de texto e assim por diante. Quando você acrescenta um controle OLE a seu projeto em Visual Basic, fornece ao usuário uma ponte para outros aplicativos Windows e o que eles verão será, para eles, semelhante ao outro aplicativo.

Page 57: Apostila Básica Visual Basic

A idéia por trás do conceito de incorporar é que você crie documentos que integrem vários aplicativos Windows sob um mesmo teto. Incorporação em OLE permite ao controle personalizado manter o dado do objeto dentro dele próprio. Quando o Visual Basic ativa o controle OLE, ele, o controle, retorna para o aplicativo que criou o dado, e você pode utilizar o potencial daquele aplicativo para modificar o dado no local. 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, e em vez disso, pensassem nele como um documento central.

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. Assim como acontece na álgebracotidiana, as linguagens de programação se valem de variáveis para armazenar dados na memória do computador.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. A essa posição de memória damos um nome para referência dentro do nosso programa, como por exemplo, NomeCliente. Quem controla qual posição de memória do computador será reservada é a própria linguagem e o sistema operacional, ou seja, devemos apenas nos preocupar em nomear e declarar as variáveis. E já que estamos falando de variáveis, quando formos nomeá-las, deveremos seguir algumas regras básicas:

• O nome precisa iniciar com uma letra.

• Somente são permitidas letras, números e o caractere de sublinhado. Qualquer sinal de pontuação e espaço em branco será inválido.

• No Visual Basic 6.0, os nomes podem ter até 255 caracteres de comprimento. Isso significa que podemos ter nomes de variáveis bem descritivos, como por exemplo, PrimeiroNomeDoCliente .

• Não podem coincidir com uma palavra reservada do Visual Basic, como nomes de funções ou procedimentos.

• Precisam ser únicos dentro do escopo atual, ou seja, não podemos ter duas variáveis com o mesmo nome dentro de uma rotina, porém, entre rotinas diferentes, isso é perfeitamente possível.

Escolha nomes sugestivos para as variáveis, de tal forma que descrevam sua função ou conteúdo que será armazenado nelas. Por exemplo, para uma variável onde seria armazenado o resultado do cálculo do salário de um funcionário, poderíamos escrever nSalarioFunc , em vez de X, Y ou Z. 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. Por exemplo, para uma

Page 58: Apostila Básica Visual Basic

variável do tipo string , utilize a combinação "str ", para uma variável numérica inteira utilize "int", e assim por diante. 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, é aconselhável que declare todas as variáveis que irá utilizar em seu programa. Isso torna o programa mais estruturado e menos propenso a erros, como por exemplo, ocorrências de alterações indevidas do valor de uma variável entre chamadas de rotinas. Quando declaramos uma variável, um escopo é atribuído a ela, ou seja, é determinada sua abrangência (visibilidade) e tempo de vida (existência). No Visual Basic 6.0, utilizamos o comando de declaração Dim para declararmos uma variável, dando-lhe assim um nome e definindo o seu tipo de dado e escopo. A sintaxe completa é: Dim NomeVariável [ As TipoDado ] NomeVariável representa um nome válido para variáveis. Já a cláusula opcional As permite que seja definido o tipo de dado que a variável armazenará. Os tipos de dados disponíveis serão vistos mais à frente. Você pode deixar para o Visual Basic declarar implicitamente as variáveis. Assim você simplesmente cria as variáveis à medida que for precisando. Por exemplo, suponhamos que você tenha a seguinte função que calcula a média entre dois números: Function Media ( PrimeiroNumero , SegundoNumero )

intSoma = PrimeiroNumero + SegundoNumero

Media = intSoma / 2

End Function Neste caso, a variável Soma não fora declarada. Agora imagine que por questão de descuido, você tenha digitado o seguinte: Function Media ( PrimeiroNumero , SegundoNumero )

intSomar = PrimeiroNumero + SegundoNumero

Media = intSoma / 2

End Function A função não seria executada, uma vez que está tentando utilizar uma variável, no caso intSoma , que não possui qualquer valor, já que o mesmo fora atribuído à variável intSomar . Para evitar esse tipo de problema (apenas um entre vários possíveis), é aconselhável declarar-se todas as variáveis que serão utilizadas pela rotina (procedimento ou função). Portanto, o correto seria escrever a função da seguinte forma: Function Media ( PrimeiroNumero , 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, em caso negativo, apresentar uma mensagem de advertência. Isso é possível através da inclusão do comando Option Explicit na seção Declarations da classe, formulário ou módulo . Podemos também selecionar a opção Options , do menu Tools , e ativar a caixa de seleção Require Variable

Page 59: Apostila Básica Visual Basic

Declaration , na página Editor . Isso fará com que em todo módulo novo, porém não em módulos existentes, seja incluído o comando Option Explicit .

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. Esses termos definem o limite da visibilidade de uma variável e o tempo em que ela poderá reter seu valor. A isso chamamos de escopo . Abrangência refere-se à(s) parte(s) do código do programa onde uma determinada variável é visível, ou seja, onde ela pode ser acessada. 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. Isso evita que outras rotinas do programa possam alterar inadvertidamente os valores dessas variáveis. Essas variáveis são ditas locais à rotina. Para declarar uma variável local à rotina, seja ela um procedimento (Sub) ou função (Function), utilize o comando de declaração Dim ou Static dentro da mema, como no fragmento de código a seguir: Function CalculaSaldo ( dSaldoAntes , 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. Essas variáveis possuem escopo local ao módulo inteiro. Você declara variáveis locais a nível de módulo através dos comandos de declaração Dim ou Private , colocados na seção Declarations do módulo. Veja o seguinte exemplo: Private strSenha as String Para tornar uma variável disponível a todos os módulos e a todas as rotinas, você deverá declará-la na seção Declarations de qualquer um dos módulos com o comando Public , como mostra o exemplo: Public strSenha as String A esse tipo chamamos de variável de escopo global , ou seja, qualquer rotina de qualquer módulo tem acesso a ela. 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. Quando uma variável é declarada e a ela é atribuído um valor, esse valor se perde quando a rotina encerra sua execução. Em outras palavras, a variável é criada quando se entra na rotina e destruída quando se sai da mesma. Há, porém, situações onde devemos manter o valor da variável entre as chamadas. Suponhamos por exemplo, que você esteja programando um pequeno jogo e que tenha criado uma rotina para controle dos pontos acumulados. Você precisará de uma maneira de preservar os pontos já marcados entre as chamdas da rotina. Desse modo, a variável, embora não seja global, não perde seu valor após o retorno da rotina ao código que a invocou. A esse tipo, damos o nome de variável estática . Para declarar uma variável estática, utilize o comando de declaração Static , conforme mostrado no exemplo: Function Pontos ( intMarcados )

Static lngPontosAcumulados as Long

lngPontosAcumulados = lngPontosAcumulados + intMarc ados

Pontos = lngPontosAcumulados

End Function

Page 60: Apostila Básica Visual Basic

Se você precisar, por um motivo ou outro, declarar todas as variáveis de uma rotina como sendo estáticas, coloque a palavra reservada Static à frente do nome do procedimento/função, da seguinte forma: Static Function Pontos ( intMarcados )

Dim lngPontosAcumulados as Long

lngPontosAcumulados = lngPontosAcumulados + intMarc ados

Pontos = lngPontosAcumulados

End Function Devemos lembrar que você deverá utilizar variáveis com o escopo mais local possível, para assim evitar conflitos de nomes de variáveis e alterações de valores indesejáveis.

Tipos de Variáveis Como toda linguagem de programação, o Visual Basic também possui vários tipos de dados aplicáveis às variáveis, que definem quais os valores que essas poderão armazenar. O Visual Basic 6.0 define 11 tipos de dados básicos, cada qual com suas características peculiares, como largura da faixa de dados, tamanho em bytes, etc. A tabela a seguir, relaciona todos esses tipos:

Tipo de Dado Tamanho em Bytes Faixa de Valores

Integer 2 bytes -32.768 à 32.767 Long 4 bytes -2.147.483.648 à 2.147.483.647 Single 4 bytes -3,402823E38 à 1,401298E-45 (-) e 1,401298E-45 à 3,402823E38 (+)

Double 8 bytes -1,79769313486232E308 à -4,94065645841247E-324 (-) e 4,94065645841247E-324 à 1,79769313486232E308 (+)

Currency 8 bytes -922.337.203.685.477,5808 à 922.337.203.685.477,5807

String 1 byte por caracter De zero à 65.500 caracteres. Em sistemas de 32 bits, máximo de 2E32 caracteres.

Byte 1 byte 0 à 255 Boolean 2 bytes True (verdadeiro) ou False (falso)

Date 8 bytes De 1 de Janeiro de 100 à 31 de Dezembro de 9999 Object 4 bytes Qualquer referência a objeto

Variant 16 bytes + 1 byte para cada caracter Qualquer valor numérico, caracter, objeto ou valor nulo.

Os tipos de dados determinam o que você pode armazenar numa variável. Por exemplo, você não pode entrar com uma expressão caractere numa variável do tipo numérico, nem digitar um número numa variável lógica. Vejamos os detalhes dos tipos de dados mais comumente utilizados.

Tipos Integer e Long Esses dois tipos de dados permitem o armazenamento de valores numéricos inteiros, com os quais podemos efetuar cálculos e operações matemáticas. A faixa de valores permitida para o tipo Integer vai de -32.768 à 32.767, sendo portanto limitada para alguns tipos de operações. Variáveis desse tipo são muito úteis como contadores de loops For...Next , por serem de manipulação muito rápida pelo processador, pois necessitam de poucas instruções de máquina. O tipo Long , por outro lado, abrange uma faixa muito maior de valores, da ordem de 2 milhões, conforme pode ser constatado na tabela anterior.

Page 61: Apostila Básica Visual Basic

Tipos Single e Double Single e Double também são tipos de dados numéricos, porém permitem a manipulação de valores decimais, como pesos, unidades de medidas, etc. Como os tipos anteriores, podemos efetuar qualquer operação matemática com eles. O que diferencia o tipo Single do tipo Double é a precisão nas casas decimais e a faiza de valores abrnagida por cada um. Veja a tabela anterior para comparação. Variáveis do tipo Single são ditas de precisão simples, comumente chamadas apenas de variáveis de ponto-flutuante . Variáveis do tipo Double são denominadas variáveis de dupla precisão .

Tipo Currency O Visual Basic possui um tipo de dado especial para tratamento de valores monetários, evitando-se assim erros de arredondamento durante cálculos matemáticos. Esse tipo de dado é chamado de Currency . Deve-se utilizá-lo apenas para armazenamento de valores monetários . Se num determinado cálculo, o valor resultante tiver mais de quatro casas decimais, as casas decimais extras (a partir da quinta casa) serão truncadas. Assim, o número 5402,105782 por exemplo, será armazenado como 5402,1057 numa variável do tipo Currency .

Tipo String O tipo de dado String é certamente o mais utilizado. Ele possibilita que uma sequência de caracteres seja armazenada numa variável. Essa sequência de caracteres pode conter desde letras do alfabeto até símbolos gráficos e números, muito embora não possamos efetuar cálculos com os números armazenados numa sequência. Devemos envolver a cadeia de caracteres com aspas ("). Com variáveis do tipo caractere, é possível efetuarmos algumas operações de comparação, concatenação (junção) de duas ou mais sequências de caracteres ou extração de uma parte da sequência. Não é possível, porém efetuar cálculos matemáticos e aritméticos, 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. Podemos determinar um tamanho máximo para uma variável do tipo String , simplesmente adicionando um asterisco (*) seguido por um número que define o tamanho máximo em caracteres. Por exemplo, para declarar uma variável strNomeCliente com um tamanho máximo de 50 caracteres, você escreveria: Dim strNomeCliente As String * 50 Se for armazenado uma cadeia de caracteres menor que o tamanho máximo especificado, a variável será preenchida com espaços em branco à direita para completá-la. Se por outro lado, você tentar armazenar mais caracteres do que o permitido, os excedentes serão descartados.

Tipo Byte Variáveis do tipo Byte são também numéricas, mas somente podem armazenar números na faixa de 0 à 255. Esse tipo de variável também é útil em contador de loops For...Next pequenos, cujo ciclo de repetição não ultrapasse 255.

Page 62: Apostila Básica Visual Basic

Tipo Boolean Uma variável do tipo Boolean pode conter apenas dois tipos de valores: True (verdadeiro) ou False (falso). São muito utilizadas como sinalizadores, ou seja, variáveis que indicam se uma determinada condição lógica retornou ou resultou num desses dois valores. 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. Para armazenar uma data numa variável, especifique-a entre "#", 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, para assim calcularmos uma nova data. Por exemplo: dtDataHoje = Now dtDataAmanha = dtDataHoje + 1 dtDataOntem = dtDataHoje - 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, como dados OLE ou binários. Elas são armazenadas em endereços de 32 bits. Para esse tipo de variável, precisamos utilizar o comando de atribuição Set para assinalar valores a ela, em não apenas o sinal de igualdade. O exemplo a seguir, ilustra sua utilização: Dim objDataBase As Object Set objDataBase = OpenDataBase ("C:\VIDEO\VIDEO.MDB ")

Tipo Variant O dado Variant é um tipo especial, já que ele permite que qualquer valor seja armazenado. Se você declara uma variável mas não especifica seu tipo de dado, o Visual Basic automaticamente atribui a ela o tipo Variant. Assim, o dado que você armazenar na variável é que definirá o seu tipo naquele momento. Podemos atribuir também um valor nulo a variáveis Variant, especificando a palavra-chave Null à direita do sinal de igual. Diversas funções podem ser utilizadas para determinarmos qual o tipo de dado armazenado numa variável Variant .

Page 63: Apostila Básica Visual Basic

Constantes As constantes, diferentemente das variáveis, não podem ter seus valores alterados durante a execução da aplicação. Elas são utilizadas principalmente para fornecer maior legibilidade ao código fonte, substituindo expressões numéricas ou caracteres mais complexos e de difícil entendimento. Suponhamos como exemplo, que você tenha o seguinte código: Dim intNumeros ( 30 ), intContador As Integer For intContador = 1 to 30

intNumeros ( intContador) = intContador * 10

' ' Next Se amanhã você precisasse modificar sua aplicação, aumentando o número máximo de elementos da matriz intNumeros , teria de percorrer toda a listagem do programa e alterar as ocorrências do número 30 para a quantidade desejada de elementos. Utilizando uma constante, esse problema seria facilmente resolvido. 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, escreveria: Dim intNumeros ( Num_Elementos ), intContador As In teger For intContador = 1 to Num_Elementos

intNumeros ( intContador) = intContador * 10

' ' Next No caso de modificações futuras, será necessário apenas alteração na definição da constante e uma nova compilação. O resto ficará por conta do Visual Basic. Um dos tipos de constantes mais famoso é o valor de PI (3,14159265358979...)

Operadores De nada adiantaria termos dados e mais dados armazenados em nossas variáveis de memória ou em nosso banco de dados, se não pudéssemos trabalhar com eles, ou seja, se não fosse possível fazer cálculos, comparações ou qualquer outra operação. Para efetuarmos essas operações é que existem os operadores. Eles podem ser divididos em quatro categorias básicas:

• Operadores Aritméticos;

• Operadores Relacionais;

• Operadores Lógicos;

Page 64: Apostila Básica Visual Basic

• Operadores de Strings.

Operadores Aritméticos Como ocorre na matemática comum, os operadores aritméticos permitem que sejam feitos cálculos com os dados armazenados em variáveis ou em campos de bases de dados. Eles somente podem ser utilizados com dados numéricos. A tabela a seguir, relaciona todos os operadores aritméticos disponíveis no Visual Basic.

Operador Descrição + Efetua a soma entre dois ou mais números. - Efetua a subtração entre dois ou mais números. * Efetua a multiplicação entre dois ou mais números.

/ Efetua a divisão entre dois n úmeros e resulta num número de ponto-flutuante.

\ Efetua a divisão entre dois números e resulta num n úmero inteiro.

^ Efetua a exponenciação.

Mod Retorna o resto de uma divisão não exata entre dois números

Estes operadores respeitam uma ordem de precedência universal: 1ª. Exponenciação 2ª. Multiplicação e Divisão 3ª. Adição e Subtração O operador Mod é utilizado para se encontrar o resto de uma divisão não exata. Por exemplo, na divisão de 19 por 3, o resultado seria 6,333333 e mesmo assim não seria um resultado preciso, já que se trata de uma dízima periódica. Assim se multiplicássemos 6,333333 por 3, obteríamos 18,999999. Com o operador Mod na expressão 19 Mod 3 , teremos como resultado o número 1, ou seja, o resto da divisão de 19 por 3. Isso significa que se você multiplicar a parte inteira de 6,333333, que é 6, e somar o resultado ao resto obtido, no caso o número 1, terá novamente o valor 19.

Operadores Relacionais Os operadores relacionais, também chamados de operadores de comparação, permitem que relacionemos (comparemos) dois valores entre si. Por exemplo, para saber se o valor de uma determinada variável X é maior que o de uma variável Y, poderíamos escrever: X > Y Isso nada mais é que uma comparação entre as duas variáveis. A seguinte tabela, lista todos os operadores relacionais do Visual Basic. O funcionamento de cada um deles não difere daquele empregado na matemática comum.

Page 65: Apostila Básica Visual Basic

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, avaliam uma expressão numérica ou caractere e retornam valores lógicos, ou seja, verdadeiro ou falso. Por exemplo, se uma variável, digamos X, possui o valor 100 e uma outra variável Y , possui o valor 500, então a expressão a seguir avaliará verdadeiro. X = 100 And Y = 500 A tabela a seguir, apresenta todos os operadores lógicos do Visual Basic:

Operador Descrição

And Efetua a operação lógica E. Se ambas as expressões forem verdadeiras, então o resultado será verdadeiro.

Or Efetua a operação lógica OU. Se uma das expressões (ou ambas) for verdadeira, então o resultado será verda deiro.

Not Efetua a operação lógica NÃO. Inverte o estado lógi co de uma expressão, se ela for verdadeira, torna-a falsa e vice-versa.

Xor Efetua a operação lógica OU EXCLUSIVO. Se uma das expressões for verdadeira, o resultado será verdade iro, porém se ambas forem verdadeiras, o resultado será falso.

Eqv Efetua a operação de equivalência de expressões. O resultado será verdadeiro somente se ambas as expre ssões forem equivalentes.

Imp Efetua a operação de implicação lógica. Retorna ver dadeira se uma expressão implica em outra.

Para entender melhor como funcionam os operadores lógicos, vamos analisar cada um deles.

Operador Lógico And

Page 66: Apostila Básica Visual Basic

O operador lógico And pode ser visto como um conector lógico. Imagine que você possua dois fios ligados a uma lâmpada e a uma bateria. A lâmpada somente acenderá se você tiver ligado ambos os fios aos pólos da bateria. Acompanhe esse exemplo:

Fio Vermelho Ligado Fio Preto Ligado Lâmpada Acende Falso Falso Falso

Verdadeiro Falso Falso Falso Verdadeiro Falso

Verdadeiro Verdadeiro Verdadeiro

Operador Lógico Or O operador lógico Or às vezes é chamado somador lógico, uma vez que avalia verdadeiro (1) sempre que uma das expressões for verdadeira (pode até ocorrer de ambas serem verdadeiras). Considere agora, como exemplo, que você deseja escrever uma carta (ou quem sabe um livro também sobre o Visual Basic). Se você tiver uma máquina de escrever (OR) um micro-computador, poderá tranquilamente satisfazer seu desejo. Acompanhe o exemplo:

Tem Máquina Tem Micro Pode Escrever Falso Falso Falso Falso Verdadeiro Verdadeiro

Verdadeiro Falso Verdadeiro Verdadeiro Verdadeiro Verdadeiro

Operador Lógico Not O operador lógico Not é um operador de inversão, ou seja, ele transforma em falsa uma expressão lógica que avalia verdadeiro, e vice-versa. Por exemplo, se você possui um carro e o pneu está furado, você não (NOT) pode viajar. É o que mostra a tabela abaixo:

Pneu Furado Pode Viajar Falso Verdadeiro

Verdadeiro Falso

Operador Lógico Xor O operador lógico Xor pode ser visto como um operador que não admite ambiguidades, quer dizer, ou é uma coisa ou outra, nunca ambas. Voltemos ao nosso exemplo da lâmpada e da bateria. Imagine agora que você se encontra perto de uma tomada. você poderá assim, ligar os fios da lâmpada na bateria ou

Page 67: Apostila Básica Visual Basic

na tomada da parede, mas não em ambas ao mesmo tempo. A tabela abaixo ilustra essa situação:

Fio Ligado na Bateria Fio Ligado na Tomada Lâmpada Acende Falso Falso Falso

Verdadeiro Falso Verdadeiro Falso Verdadeiro Verdadeiro

Verdadeiro Verdadeiro Falso

Operador Lógico Eqv O operador Eqv é utilizado para desempenhar uma equivalência lógica entre duas expressões. Por exemplo, se tivéssemos as variáveis Numero1 = 10, Numero2 = 8 e Numero3 = 5, a expressão lógica a seguir, resultaria em verdadeiro, 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. Ele é utilizado para desempenhar a função de uma implicação lógica entre duas expressões. Ele também desempenha uma comparação bit a bit dentro de uma expressão numérica. A seguinte tabela, ilustra os resultados obtidos com o operador Imp de acordo com as diversas possiblidades:

A primeira expressão é A segunda expressão é O resultado será Verdadeiro Verdadeiro Verdadeiro Verdadeiro Falso Falso Verdadeiro Nulo Nulo

Falso Verdadeiro Verdadeiro Falso Falso Verdadeiro Falso Nulo Verdadeiro Nulo Verdadeiro Verdadeiro Nulo Falso Nulo Nulo Nulo Nulo

Para melhor entendimento, veja o exemplo a seguir: Se Numero1 = 10, Numero2 = 8 e Numero3 = 5, então temos que: Numero1 > Numero2 Imp Numero2 > Numero3 é verdadeiro.

Operadores de Strings

Page 68: Apostila Básica Visual Basic

No Visual Basic, somente é permitido dois tipos de operadores para se trabalhar com strings, muito embora ambos possuam o mesmo efeito. São os operadores "&" e "+".

Esses operadores servem para concatenar duas ou mais strings de caracteres. Por exemplo, suponhamos que você tenha definido duas variáveis strings Rua e Bairro. Para agrupar os seus valores numa única variável Endereço , você poderia utilizar um dos seguintes métodos:

a.) Endereco = Rua & " " & Bairro b.) Endereco = Rua + " " + Bairro

Comandos de Laço Comando de Laço ou Estruturas de Repetição , como também são conhecidas. É possível repetir-se um bloco de instruções dentro de um programa em Visual Basic. Para isso existem sete tipos diferentes de estruturas de repetição, denominadas de loops: Do While...Loop, Do...Loop While, Do Until...Loop, Do...Loop Until, While...Wend, For...Next, For...Each...Next. Analisaremos cada um dos tipos separadamente, verificando suas similaridades e diferenças.

Select Case A estrutura Select Case é similar à estrutura switch...case da linguagem C, ao Case of do Pascal ou ainda ao Do Case...EndCase do Dbase/Clipper. Ela começa avaliando uma expressão e comparando o seu resultado com uma série de condições, até encontrar uma que se iguale ao resultado retornado pela expressão. Quando isso ocorre, o código que está ligado à condição é executado. Essa estrutura é uma alternativa mais flexível e confiável ao If...Then...ElseIf. É importante observar que somente é efetuada uma comparação do resultado da expressão com as condições, portanto, se for necessário efetuar outro tipo de operação lógica, você deverá valer-se da estrutura If...Then...ElseIf. 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"

Page 69: Apostila Básica Visual Basic

Case Else

Print "Opção não é 1,2 ou 3"

End Select Acrescentando na estrutura a cláusula Case Else (caso contrário), o Visual Basic irá verificar se a variável é 1,2 ou 3. Não sendo, então será Case Else, e a linha seguinte a esta cláusula será executada. No comando Case podemos usar também intervalos, como por exemplo: Case 2 to 4 Ou seja, caso a condição esteja entre 2 e 4 .

Do While...Loop (Faça enquanto) Executa todos os comandos que existem entre Do While e o Loop . Quando a execução do programa encontra o comando Loop , o Do While é reavaliado e a rotina continua até que a condição estabelecida esteja satisfeita. 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, e pedimos para o programa: Repita as instruções abaixo enquanto Contador for menor que 10. O comando Loop faz com que o programa volte para a linha do Do While e teste a condição de novo. Somente quando a condição for verdadeira, ou seja, quando Contador for maior ou igual a 10, que o programa executará a linha após o Loop . Perceba que, dependendo do resultado da condição, os comandos existentes dentro da estrutura podem não serem executados, passando direto para a linha após o comando Loop .

Do...Loop While (Retorne enquanto) Neste caso, o comando Do abre a sequência de repetição, mas não faz nenhum teste de condição. Este teste é feito no final da estrutura com o comando Loop While , ou seja, obrigatoriamente as instruções contidas após o comando Do serão executadas. Contador = 0 Do Contador = Contador + 1 Print Contador Loop While Contador < 10 Print "Fim de Execução"

Do Until...Loop (Faça até que)

Page 70: Apostila Básica Visual Basic

Executa todos os comandos que existem entre Do Until e o Loop. Quando a execução do programa encontra o comando Loop, o Do Until é reavaliado e a rotina continua até que a condição estabelecida esteja satisfeita.

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, e pedimos para o programa: "Repita as instruções abaixo até que Contador seja igual a 10". O comando Loop faz com que o programa volte para a linha do Do Until e teste a condição de novo. Somente quando a condição for verdadeira, ou seja, quando Contador for maior ou igual a 10, que o programa executará a linha após o Loop . Semelhante ao Do While , dependendo do resultado da condição, os comandos existentes dentro da estrutura podem não serem executados, passando direto para a linha após o comando Loop .

Do...Loop Until (Repita até que) O comando Do abre a sequência de repetição, mas não faz nenhum teste de condição. Este teste é feito no final da estrutura com o comando Loop Until , ou seja, obrigatoriamente as instruções contidas após o comando Do serão executadas. Contador = 0 Do Contador = Contador + 1 Print Contador Loop Until Contador = 10 Print "Fim de Execução"

For...Next (Conte o Intervalo) O comando For faz uma contagem de um determinado intervalo de números. Sempre que essa contagem encontra com o comando Next (próximo), a execução do programa retorna ao comando For até que o número final seja alcançado. Exemplo:

For Contador = 1 to 10 Print "A variável Contador agora vale: " & C ontador Next Print "Fim de Execução"

Neste programa, o Visual Basic através do comando For , avisa "Vamos contar até 10, começando pelo 1". As instruções contidas na linha abaixo são executadas, e quando o comando Next é encontrado, a execução volta para o For e a variável

Page 71: Apostila Básica Visual Basic

Contador é incrementada em mais um e assim por diante. Quando Contador for igual a 10, a estrutura For/Next é desfeita.

Step Usamos Step em conjunto com o For para fazer com que a contagem seja incrementada. 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, de uma função (Function ) ou de um procedimento (Sub ), transferindo o controle do programa para a linha imediatamente seguinte. Dessa forma, se dentro de uma das estruturas de repetição, o programa deparar-se com uma certa situação que deverá forçar a interrupção do loop, poderemos utilizar esse comando. No entanto, recomendamos utilizá-lo com cuidado, pois ele pode desestruturar o programa, uma vez que com ele temos duas formas de saída de uma estrutura de repetição ou procedimento/função, e isso é altamente desestimulado pelas técnicas de programação estruturada. A tabela a seguir, apresenta os formatos do comando Exit para cada situação:

Utilização Formato Dentro de um loop Do Exit Do

Dentro de um loop For...Next Exit For Para sair de uma função Exit Function

Para sair de um procedimento Exit Sub

Funções e Procedimentos Além dos formulários, que compõem a interface com o usuário, temos por trás desses, diversas rotinas (funções e procedimentos) que executam as tarefas para as quais a aplicação fora desenhada. São essas rotinas que fazem todo o trabalho árduo de cálculos, chamadas dos formulários e execução ordenada da aplicação. É nesta etapa do desenvolvimento do aplicativo que o programador entrará com sua parte, definindo os algorítmos e a lógica geral das rotinas. Podemos concluir, portanto, que uma aplicação em Visual Basic é uma união entre os formulários e as rotinas, trabalhando amigavelmente.

O que é uma Função ? Uma função em Visual Basic, seja ela interna à própria linguagem ou desenvolvida pelo programador, é como sua similar na matemática: ela opera nos

Page 72: Apostila Básica Visual Basic

valores passados como parâmetros (se houver algum) e devolve um outro valor. Para declararmos uma função devemos utilizar a palavra-chave Function. Seguindo essa palavra-chave vem o nome da função e, opcionalmente, uma lista de eventuais parâmetros dentro de parênteses. 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. Eles deverão vir também separados por vírgula. Para retornarmos um valor à rotina que chamou a função, devemos atribuir esse valor ao nome da própria função. No exemplo a seguir, temos uma função que recebe como parâmetros dois números, sendo que o primeiro se refere à base e o segundo à potência à qual o número será elevado. 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. Exemplo: Function Potencia ( intNumeroBase, intPotencia)

Dim LngResultado, intContador

lngResultado = 1

For intContador = 1 to intPotencia

lngResultado = lgnResultado * intNumeroBase

Next

Potencia = lngResultado

End Function Na rotina chamadora, tudo que devemos fazer é atribuir o valor da função a uma variável de memória, como no exemplo: NumElev = Potencia ( 5 , 3 ) Da mesma forma que você dá um escopo às variáveis de memória, você pode também ocultar funções no Visual Basic, criando assim, funções que somente podem ser acessadas pelos procedimentos e funções declarados no mesmo módulo. São verdadeiras caixas-pretas, uma vez que estão escondidas do resto do programa. Elas são chamadas de funções privadas. Para declarar uma função privada ao módulo, coloque a palavra-chave Private antes da declaração Function, assim: Private Function MinhaFunc ( ) ' ' ' End Function Você pode especificar também o tipo de dado retornado pela função. Por exemplo, podemos alterar nossa função Potencia, vista anteriormente, para que ela retorne um número de ponto flutuante: Function Potencia ( intNumeroBase, intPotencia ) as Single

Dim LngResultado, intContador

lngResultado = 1

For intContador = 1 to intPotencia

Page 73: Apostila Básica Visual Basic

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.

O que é um Procedimento ? Um procedimento nada mais é do que uma rotina desenvolvida especificamente para executar uma determinada tarefa, como ocorre com as funções. Essa tarefa pode inclusive ser genérica, ou seja, servir para aplicações. Por exemplo, podemos desenvolver um procedimento para abrir um formulário e maximizá-lo na tela, independente do formulário (ou mesmo aplicativo) atualmente sendo utilizado. Podemos criar procedimentos dos mais simples até os mais sofisticados. Dependerá apenas da sua criatividade. Um procedimento, diferentemente das funções, não retorna qualquer valor à rotina chamadora. Ele pode ser encarado mais como um comando definido pelo programador/usuário, no sentido de que apenas executa a tarefa para a qual fora concebido. Você declara um procedimento através da palavra-chave Sub , seguida pelo nome do procedimento. Para finalizar o corpo do procedimento, utilize a palavra-chave End Sub. 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,4 )

Debug.Print NumElev

End Sub

Passando Parâmetros Embora já tenhamos utilizado a passagem de parâmetros a procedimentos e funções, veremos neste tópico, maiores detalhes sobre esse assunto. Primeiro, 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. Esses parâmetros, dentro do procedimento ou função, irão comportar-se como variáveis comuns, podendo ser manipulados como tais. Vamos tomar como exemplo nossa função que calcula a potência de um dado número: Function Potencia ( intNumeroBase, intPotencia )

Dim LngResultado, intContador

lngResultado = 1

For intContador = 1 to intPotencia

lngResultado = lgnResultado * intNumeroBase

Page 74: Apostila Básica Visual Basic

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, isso para evitar, por exemplo, que você passe quatro parâmetros quando na verdade a função/procedimento espera por cinco ou mais. Para invocar uma função com parâmetros, você os especifica entre os parênteses. No entanto, como veremos mais adiante, há uma maneira de se contornar esse tipo de problema. Já com procedimentos, isso muda um pouco. Se o procedimento espera apenas um parâmetro, você poderá utilizar duas formas de chamada: colocando os parâmetros entre parênteses ou diretamente após o nome do procedimento, separando-os por um espaço. Se o procedimento possuir mais de um parâmetro, então você poderá especificá-los utilizando o formato direto (sem parênteses), sendo que os parâmetros deverão ser separados por vírgulas. Você pode também chamar um procedimento passando mais de um parâmetro entre parênteses, porém deverá fazer a a chamada com a palavra-chave Call : Sub ChamaCall ( )

Call MinhaFuncao ( "Um Texto" , "Outro Texto" , 200, 40 )

End Sub Caso deseje, poderá especificar os tipos dos parâmetros logo após a declaração dos mesmos, como mostrado a seguir: Function Potencia ( intNumeroBase as Integer, intPo tencia as Integer)

Dim LngResultado, 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. Para isso, podemos especificar os parâmetros por valor ou por referência. No primeiro caso, o procedimento ou função recebe uma cópia dos valores passados como parâmetros, assim qualquer alteração nesses valores não será refletida na rotina chamadora, já que as alterações afetam apenas a cópia. Para especificar uma passagem de parâmetros por valor, utilize apenas a palavra-chave ByVal Antes de cada um deles, conforme mostrado a seguir: Sub PassaValor ( ByVal strNome as String , ByVal in tIdade as Integer ) ' ' End Sub No segundo caso, o padrão do Visual Basic, o procedimento ou função pode alterar livremente os valores dos parâmetros. Essas alterações são refletidas nas variáveis da rotina chamadora após o retorno da função/procedimento. É como se

Page 75: Apostila Básica Visual Basic

passássemos o endereço da variável de memória. Não é preciso nenhuma palavra-chave para se passar um parâmetro por referência, simplesmente especifique-os na declaração da função/procedimento: Sub PassaReferencia ( strNome as String, intIdade as Integer ) ' ' End Sub Utilizando essa habilidade de alteração dos valores de parâmetros, podemos criar funções que retornam mais de um valor à rotina chamadora, ou mesmo ter procedimentos que retornam valores indiretamente. Por exemplo, no seguinte código, a função Incr( ) atualiza os valores dos dois parâmetros e os retorna. Function Incr ( intParam1 as Integer, intParam2 as Integer)

intParam1 = intParam1 + 1

intParam2 = intParam2 + 1

End Function

Parâmetros Opcionais Popemos criar rotinas que recebem parâmetros opcionalmente, ou seja, sua passagem não é obrigatória. Para fazer isso, declare todos os parâmetros com a palavra-chave Optional à frente, como no seguinte exemplo: Sub ParamOpcional ( Optional strNome as Variant , O ptional 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. Isso é demonstrado no seguinte código: Sub ParamOpcional2 ( Optional strNome as String , s trSobreNome as String , Optional intIdade as Variant, Optional sngAltura as Variant )

Dim strNomeCompleto as String

strNomeCompleto = strNome + " " + strSobreNome

'

'

End Sub

Número Indefinido de Parâmetros

Page 76: Apostila Básica Visual Basic

Como dissemos anteriormente, você precisa especificar o número de parâmetros na chamada da rotina de acordo com a sua declaração, ou seja, se a rotina espera por cinco parâmetros, então você precisa passar cinco parâmetros na sua chamada. No entanto, o Visual Basic possibilita que, através da palavra-chave ParamArray , especifiquemos um número indefinido de parâmetros. A quantidade real de parâmetros recebidos somente será estabelecida no momento da chamada da rotina. O exemplo a seguir, demonstra como utilizar um procedimento com número indefinido de parâmetros: Function CalcTotal ( ParamArray intQuantos( ) ) as Long

Dim varElementos as Variant, 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. Abaixo encontra-se uma pequena relação das funções mais comuns:

Funçõe Descrição Abs Encontra o valor absoluto de um número. Atn Encontra o arco tangente. Cos Encontra o co-seno. Exp Eleva e (2,718u2) a uma potência dada. Fix Retorna a parte inteira de um número. FV Valor futuro. Hex Fornece o hexadecimal equivalente. Int Encontra o maior valor inteiro.

Ipmt Juros pagos por tempo. IRR Taxa interna de retorno. Log Logarítmo comum. Mirr Taxa interna de retorno modificada. Nper Tempo de acúmulo de uma anuidade. Npv Valor presente líquido. Pmt Gastos com anuidade. PV Valor presente.

Rate Taxa de juros por período por uma anuidade. Rnd Chama o gerar de número aleatório. Sgn Retorna o sinal de um número. Sin Retorna o seno. Sln Depreciação linear. Sqr Raiz quadrada.

Page 77: Apostila Básica Visual Basic

Syd Soma da depreciação do ano. Tan A tangente de um ângulo em radianos.

Timer Retorna o número de segundos desde meia-noite.

As funções alfa-numéricas mais comuns:

Funçõe Descrição

Asc Retorna o código do caractere correspondente a prim eira letra.

InStr Retorna a posição da primeira ocorrência de uma cad eia dentro de outra.

LCase Converte a cadeia de caracteres em minúscula.

Left Encontra ou remove um número específico de caracter es do início de uma cadeia.

Len Fornece o comprimento de uma cadeia de caracteres.

Ltrim Remove os espaços do início de uma cadeia de caract eres.

Mid Encontra ou remove caracteres de uma cadeia.

Right Encontra ou remove um número específico de caracter es do final de uma cadeia.

Rtrim Remove os espaços do final de uma cadeia de caracte res.

Str Retorna a cadeia de caracteres equivalente ao númer o.

StrComp Compara cadeia de caracteres.

StrConv Converte uma cadeia de caracteres de um formulário para outro.

String Retorna a repetição de uma cadeia de caracteres idê nticos.

Trim Remove os espaços do início e do fim de uma cadeia de caracteres.

Ucase Converte uma cadeia de caracteres em maiúscula.

As funções data-hora:

Funçõe Descrição Date Retorna a data corrente.

DateAdd Permite que você adicione um intervalo específico a uma

Page 78: Apostila Básica Visual Basic

data.

DateDiff Calcula diferenças entre datas.

DateSerial Retorna uma data correspondente a um dia, mê e ano específicos.

DateValue Transforma uma cadeia de caracteres em data.

Day Informa qual dia em uma cadeia de caracteres alfa- numéricos ou números representa.

Hour Informa qual hora uma cadeia de caracteres alfa-num éricos ou números representa.

Minute Informa quantos minutos uma cadeia de caracteres al fa-numéricos ou números representa.

Month Informa qual mês uma cadeia de caracteres alfa-numé ricos ou números representa.

Now Retorna a data e horário correntes.

Second Informa quantos segundos uma cadeia de caracteres a lfa-numéricos ou números representa.

Time Informa o horário corrente.

TimeSerial Retorna uma variável do tipo data para o horário fo rnecido.

Weekday Informa o dia da semana correspondente à data. Year Informa a qual ano uma data corresponde.

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. Chamamos esses arquivos que recebem vários dados de Banco de Dados. Iremos abordar o padrão MDB (Microsoft DataBase) que representa a grande maioria de arquivos de Banco de Dados para Windows existente hoje. Esse padrão é utilizado pelo Microsoft Access e o Visual Basic também o aceita.

Características Um arquivo que contém dados irá possuir a extensão MDB. Exemplo: Se temos um banco de dados de um controle de estoque possivelmente ele terá o nome de "Estoque.MDB ". Dentro de um arquivo deste podemos ter várias Tabelas . No exemplo de um controle de estoque, podemos ter uma tabela para Mercadorias, Fornecedores, Clientes , etc. Todas essas tabelas ficam armazenadas dentro do arquivo MDB. Cada tabela possui Campos onde serão armazenados os dados. Por exemplo, na tabela Mercadoria temos o campo de Descrição da Mercadoria, Quantidade no Estoque, Valor de Venda, etc. Tudo isto representa os Campos que estão armazenados dentro da tabela. Dentro dos campos que estão os dados que precisamos armazenar, veja a disposição da hierarquia: Quando estamos na fase de desenvolvimento de um programa que irá gerenciar um banco de dados, podemos deixar já criado o Banco de Dados com suas

Page 79: Apostila Básica Visual Basic

tabelas e campos. Somente os dados é que serão inseridos pelo usuário a medida que for trabalhando com seu programa. Para criar um banco de dados o Visual Basic traz uma ferramenta chamada Visual Data Manager . Ele se encontra no menu Add-Ins .

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. Ele está disponível no menu Add-Ins, mas é, na realidade, um aplicativo separado (VISDATA.EXE) que pode ser executado independentemente do Visual Basic. 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 ). Ele também pode construir um novo banco de dados em formato Jet. Isso é normalmente chamado de formato .MDB para o nome do arquivo.

Operações com o Data Manager Além de editar índices, o Data Manager permite que você crie bancos de dados, adicione registros em tabelas e elimine registros. Mova para um registro que você deseja utilizando os botões de setas e dê um clique no botão excluir. O Data Manager também permite que você acrescente novos campos a uma tabela já existente no banco de dados. Abra um banco de dados já existente e então dê um duplo clique na estrutura. Agora o botão Adicionar permite que você atualize a tabela. O Data Manager também permite que você elimine campos, renomeie-os ou modifique qualquer de suas propriedades. Por fim, ao excluir e adicionar registros, seus bancos de dados crescerão rapidamente. Por essa razão, você poderá querer utilizar, periodicamente, a opção Compact Database no menu File. Você poderá apenas compactar bancos de dados no formato Microsoft Access (MDB).

Page 80: Apostila Básica Visual Basic

Como Criar uma Base de Dados No menu File, escolha a opção New. Os bancos de dados com que o Data Manager é capaz de trabalhar, serão exibidos. Então, escolha o Microsoft Access em sua última versão.

Forneça a localização e o nome da base de dados a ser criada.

Trabalhe somente na janela Database Window, ela é responsável pelo Access. Nela dê um clique com o botão direito do mouse sobre a opção Properties e escolha o ítem New Table.

Page 81: Apostila Básica Visual Basic

Esta é a janela de criação da estrutura da tabela. As informações contidas nesta janela, serão utilizadas para que a tabela da base de dados seja construída. Forneça o nome dos campos necessários, o nome do índice da tabela e posteriormente o botão Build the Table (Construir Tabela) será habilitado.

Para adicionar os campos necessários na tabela clique no botão Add Field (Adicionar Campo). Forneça o nome do campo (Name), Tipo (Type) e Tamanho (Size) se necessário.

Page 82: Apostila Básica Visual Basic

Para adicionar o índice da tabela, clique no botão Add Index (Adicionar Índice), posicionado abaixo da lista de campos que foram adicionados à tabela.

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;

• 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:

Page 83: Apostila Básica Visual Basic

Name Caption - 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, 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" .

O resultado obtido deverá ser o formulário abaixo:

Page 84: Apostila Básica Visual Basic

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

ou

Confira abaixo a tela que se abrirá:

Page 85: Apostila Básica Visual Basic

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.

Caption Name Atalho

&Registros mnuregistros - &Adicionar mnuadicionar F2

Re&mover mnuremover F3

Alt&erar mnualterar F4

- mnutraco1 - &Limpar mnulimpar F5

&Imprimir mnuimprimir F6

- mnutraco2 - &Fechar mnufechar F12

&Navegar mnunavegar - &Primeiro mnuprimeiro Ctrl+P

An&terior mnuanterior Ctrl+T

Pró&ximo mnuproximo Ctrl+X

Últim&o Mnuultimo Ctrl+O

Aj&uda Mnuajuda - &Sobre o Sistema Mnusobre F1

O resultado obtido deverá ser:

Page 86: Apostila Básica 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. Feito isto, adicione mais um form no projeto. Para isto, você deverá clicar no menu Project e escolher o item Add Form . A outra maneira é clicando sobre a segunda ícone da barra de ferramentas do Visual Basic.

Page 87: Apostila Básica Visual Basic

ou

O resultado será:

E também na janela de projetos:

Page 88: Apostila Básica Visual Basic

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

Name Caption – Text Image1 -

lblinformacao Sistema de Cadastro de

Funcionários produzido no curso de Visual Basic 6.0

cmdvoltar &Voltar

Na propriedade Name do formulário digite FrmSobre e na propriedade Caption digite "Sobre o Sistema" .

O resultado obtido deverá ser o formulário abaixo:

Após termos construído as telas, deveremos passar para a parte da programação. Para gerar a programação, devemos clicar duas vezes no objeto desejado. Abaixo segue a programação dos formulários FrmFunc e FrmSobre :

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

BY Aulus Plautius