Escolar Documentos
Profissional Documentos
Cultura Documentos
INÍCIO ___________________________________ 4
BARRA DE MENU E FERRAMENTAS _____________________ 5
ANATOMIA DE UMA JANELA _________________________ 10
MEU PRIMEIRO PROGRAMA ________________________ 11
Desenhar as janelas que se deseja usar ____________________ 11
Adaptar as propriedades dos objetos _____________________ 12
Escrever o código para os eventos associados ______________ 16
PRIMEIROS PASSOS
Ele trabalha com eventos que dão início à alguma rotina de trabalho, ou seja, o
programa fica parado até que um evento ocorra.
INÍCIO
Quando iniciamos o Visual Basic 6.0, ele nos apresenta a janela New Project,
onde escolhemos qual o tipo de aplicativo iremos desenvolver.
Formulário
Toolbox - Controles
1. Click Duplo no ícone do controle, na caixa de ferramentas. Que fará com que
o controle seja inserido no centro do formulário com um tamanho padrão.
2. Selecionar o ícone na caixa de ferramentas, e depois dimensioná-lo no formu-
lário, arrastando e soltando o mouse na área do cliente, no formulário.
Para iniciar, vamos construir um programa que, quando for dado um clique num
botão, será mostrada uma mensagem.
Existem três passos principais, para a criação de uma aplicação no Visual Basic,
que iremos seguir:
Para alterar a propriedade de um objeto, ele tem que estar selecionado (os oito
pontos visíveis), em seguida, procurar o nome da propriedade a ser alterada e
selecionar (no caso de valores padrão) o seu valor, ou então, escrever um valor.
Caso a Janela de Propriedades esteja oculta, pressione F4 ou dê um clique no
botão Properties Window ( ) na barra de ferramentas, para visualizá-la.
Estes números correspondem a Twips, esta unidade foi criada para que houves-
se uma independência do VB em relação aos dispositivos de entrada e saída de
dados (impressoras, monitores e scanner) e que fosse mais precisa que estes
aparelhos. Um Twip corresponde a 1/1440 de polegada.
Após você alterar estas quatro propriedades (Caption, Height, Name e Width)
do formulário, ele estará assim:
Janela de Código
Cada objeto tem um evento que é mais comumente utilizado, e é com este evento
que o VB inicia a Janela de Código, não impedindo que utilizemos outro ou mais
de um evento.
Quando for dado um clique em Iniciar será mostrada a mensagem “Você deu um
Click em Iniciar.”. Abra a Janela de Código para o botão de comando, e digite o
código conforme a figura a seguir. Observe que após a digitação de lblMensagem.
é mostrado um quadro de lista com todas as propriedades e métodos associados
ao objeto (lblMensagem - Label), quando parte da palavra digitada representar
uma propriedade ou método inequívoco, basta pressionar a barra de espaço que
o VB completará a sentença. Os métodos e propriedades são representados
pelos seguintes ícones:
- Propriedade
- Método
Observe a posição do formulário na tela, ele não está na mesma posição quando
você o estava projetando. Finalize a execução através do botão End ( ).
Para iniciar um novo projeto, escolha a opção New Project... do menu File, ou
pressione Ctrl+N, abrindo um programa do tipo Standard EXE
O editor de código do Visual Basic 6, fornece dicas de uso das funções e procedures
da linguagem, sempre que uma parte reconhecível for digitada ele nos fornecerá
uma dica de utilização.
Variável é um local onde podem ser guardados dados com possibilidade de alte-
ração em tempo de execução. O nome de uma variável pode ter até 255
caracteres, tem que começar com uma letra e tem que ser única. O nome pode
conter números e sublinhados e não pode ser uma palavra reservada.
Podemos usar certos caracteres para indicar o tipo da variável desejada, quando
usá-la inicialmente. Por exemplo: i%, trôco@. Como tipo básico, o VB usa o
tipo Single, portanto se tivermos uma variável com o nome de Valor!, será o
mesmo que deixar como Valor.
Local, a variável será usada apenas pelo procedimento onde ela foi de-
clarada.
Em nível de Formulário, a variável poderá ser acessada por todos os
procedimentos do formulário quando for declarada na seção geral (gene-
ral) .
Em nível de Módulo, a variável poderá ser acessada por todos os proce-
dimentos do módulo.
Em nível Publico, toda aplicação poderá usar esta variável.
FORMATAÇÃO DE TEXTO
A função Str$, transforma um número em texto, mas não padroniza a sua apre-
sentação. Caso você precise formatar um dado a ser exibido, use a função;
Format$(expressão [,formato] )
Onde:
expressão = expressão numérica ou string a ser formatado.
formato = a maneira como deverá ser mostrada a expressão.
Formato Exibido
d/m/yy 10/7/96
dd-mm-yyyy 01-Jun-1996
dd-ddd 02-dom
hh:mm AM/PM 08:50 AM
h:mm:ss a/p 8:50:20 a
d/m/yy h:mm 03/12/95 9:30
General Date 06/09/96 9:40:18
Long Date Sexta, 9 de setembro de 1996
Medium Date 09-set-96
Short Date 09/09/96
Long Time 9:40:19
Medium Time (12 horas) 09:40 AM
Short Time (24 horas) 09:40
MODIFICANDO A CALCULADORA
Procedimento geral é aquele que pode ser chamado por qualquer outro procedi-
mento do formulário, funciona como uma sub-rotina. Ele não é como um proce-
dimento associado a um objeto executado a partir de um evento, e sim, quando
chamado. Agora, deixe o formulário frmCalculadora como o exemplo a seguir:
Selecione todo o texto, menos o cabeçalho e End Sub, e copie (Ctrl + C). Chame
o procedimento para outro botão de operação, cole o texto e altere o operador
correspondente.
Vamos iniciar um projeto de Jogo da Velha, onde o usuário irá jogar contra o
computador que não “pensa” as suas jogadas, trabalhando com números aleató-
rios - e ao final da partida será mostrado um quadro de mensagem informando o
ganhador. O objetivo é conhecermos as estruturas condicionais e de repetição,
tão utilizadas nos programas.
O nosso Jogo da Velha possui 9 botões iguais, todos irão executar a mesma rotina
quando o usuário der um clique em um deles. Para economizar recursos, vamos
criar um Array de controle (ordem de controles), onde todos os botões tem o
mesmo nome com índices diferentes.
Todo bom programador inclui em seu código linhas de comentário que são muito
úteis quando for necessária uma manutenção do programa. Estas linhas contém
descrições a respeito de como o programa funciona, servindo tanto para o pro-
gramador inicial quanto para outros que irão realizar a manutenção.
Do Until cmdBot(M).Caption = “”
M = Int(Rnd * 9)
Loop
cmdBot(M).Caption = “0”
If cmdBot(0).Caption = “0” And cmdBot(1).Caption = “0” And
cmdBot(2).Caption = “0” Then GoTo Mens0
If cmdBot(3).Caption = “0” And cmdBot(4).Caption = “0” And
cmdBot(5).Caption = “0” Then GoTo Mens0
If cmdBot(6).Caption = “0” And cmdBot(7).Caption = “0” And
cmdBot(8).Caption = “0” Then GoTo Mens0
If cmdBot(0).Caption = “0” And cmdBot(3).Caption = “0” And
cmdBot(6).Caption = “0” Then GoTo Mens0
If cmdBot(1).Caption = “0” And cmdBot(4).Caption = “0” And
cmdBot(7).Caption = “0” Then GoTo Mens0
If cmdBot(2).Caption = “0” And cmdBot(5).Caption = “0” And
cmdBot(8).Caption = “0” Then GoTo Mens0
If cmdBot(0).Caption = “0” And cmdBot(4).Caption = “0” And
cmdBot(8).Caption = “0” Then GoTo Mens0
If cmdBot(2).Caption = “0” And cmdBot(4).Caption = “0” And
cmdBot(6).Caption = “0” Then GoTo Mens0
If NúmeroVezes = 4 Then
MsgBox “Partida Empatada”, 64, “Empate”
JogoNovo
Exit Sub
End If
Exit Sub
MensX:
MsgBox “Você Ganhou”, 64, “Vencedor”
JogoNovo
Exit Sub
Mens0:
MsgBox “Eu Ganhei”, 64, “Vencedor”
JogoNovo
Exit Sub
End Sub
DEPURAÇÃO
Para incluir um ponto de parada no programa basta dar um clique na barra cinza
da esquerda na direção da linha que se deseja como ponto de parada. Dê um
clique na linha mostrada na figura a seguir.
QUADROS DE MENSAGEM
Valor Significado
0 Somente o botão de OK
1 Botões de OK e Cancelar
2 Botões Anular, Repetir e Ignorar
3 Botões Sim, Não, Cancelar
4 Botões Sim, Não
5 Botões Repetir e Cancelar
16 Sinal de Stop
32 Sinal de Pesquisa
48 Sinal de Aviso
64 Ícone de Informação
0 Primeiro botão com foco
256 Segundo botão com foco
512 Terceiro botão com foco
768 Quarto botão com foco
Teste o projeto alterando o valor de tipo para MsgBox, faça a sua soma esco-
lhendo um item de cada seção.
Agora, vamos alterar o nosso projeto para que ele nos pergunte, ao final da par-
tida, se queremos jogar novamente ou finalizar o programa. Para isso usaremos
MsgBox como função, o que nos retornará o valor do botão acionado pelo usuá-
rio. Altere o procedimento cmdBot_Click conforme texto a seguir:
MensX:
Resposta$ = MsgBox(“Você Ganhou, Deseja Jogar Novamente?”, 36, “Ven-
cedor”)
If Resposta$ = 6 Then
JogoNovo
Else
End
End If
Exit Sub
Valor Significado
1 Botão OK foi pressionado
2 Botão Cancelar foi pressionado
3 Botão Anular foi pressionado
4 Botão Repetir foi pressionado
5 Botão Ignorar foi pressionado
6 Botão Sim foi pressionado
7 Botão Não foi pressionado
O nosso próximo projeto será um editor de texto simples do tipo caractere, com
ele poderemos alterar o tipo e tamanho da fonte utilizada em todo o texto, recor-
tar, colar e copiar partes selecionadas, e salvar e abrir nosso texto em um arquivo
de acesso seqüencial.
Vamos ao Código:
Declare a variável (CópiaTexto) que conterá o texto que foi Recortado ou Copi-
ado.
cmdColar
Copia a variável CópiaTexto para o quadro de texto no local do cursor ou área
selecionada e devolve o foco para o quadro de texto, se o foco não fosse devol-
vido ele ficaria com o botão que foi acionado.
cmdLimpar
Limpa o quadro de texto, limpando a propriedade Text e desabilita os botões
cmdRecortar e cmdLimpar. O botão cmdColar não é desabilitado porque ainda
existe conteúdo na variável CópiaTexto, que poderá ser colado.
cmdRecortar
Atribui o texto selecionado, propriedade SelText, à variável CópiaTexto, limpa o
texto selecionado e habilita o botão cmdColar.
CRIANDO MENUS
Caption. O texto que aparecerá escrito no menu ou item de menu. Para criar
uma barra separadora em seu menu, basta digitar um hífen ( - ). Para o acesso
por teclado usamos o e comercial (&) antes da letra que queremos que seja o
atalho, como nos botões.
Name. Contém o nome que será dado ao objeto que o identificará nas linhas de
código.
HelpContextID. Contém um valor numérico único que será usado para encon-
trar uma referência do objeto no arquivo de help.
Checked. Seleciona se você quer que apareça uma marca de check antes do
item de menu.
Enabled. Seleciona se você quer que o item de menu responda aos eventos ou
não. Desabilita ou habilita o item de menu.
Visible. Seleciona se você quer que o item de menu esteja visível ou não.
Use esses botões para mudar o nível do item no menu, criando submenus.
Podem ser criados até quatro níveis de submenus.
Botões:
Next Move a seleção para a próxima linha.
Insert Insere uma linha acima da linha atualmente selecionada.
OK Fecha a Menu Editor e aplica todas as mudanças efetuadas.
Cancel Fecha a Menu Editor e cancela as mudanças efetuadas.
No menu, cada item de nome da fonte ou tamanho, terá a mesma função, ou seja,
mudar as propriedades do txtTexto. Neste caso, criaremos um mesmo procedi-
mento para vários objetos utilizando para isso o recurso de Control Array. No
projeto de jogo da velha usamos Control Array para os botões, e automaticamen-
te o Index foi incrementado, para o menu, o incremento do Index não é automá-
tico, então teremos que fazê-lo manualmente.
Selecione cada uma destas rotinas e altere o seu nome para que elas estejam
associadas ao menu.
Nós não precisaremos mais devolver o foco para o txtTexto, porque ao fazer
uma seleção no menu, ele desaparece, então o foco volta para o “único” objeto
do formulário - txtTexto.
Faça o mesmo para os outros dois “ex-botões”, alterando o código aonde são
feitas referências a estes botões.
Note que teremos que acrescentar mais uma linha para itmCopiar.
Estrutura:
Select Case palavra teste
Case lista de palavras 1
declarações 1
Case lista de palavras 2
declarações 2
End Select
Salve e execute o projeto testando todos os itens, somente o menu Arquivo com
as opções Abrir e Salvar, ainda não estará ativos.
Existem objetos que não são incorporados ao formulário, mas possuem proprie-
dades e métodos associados, o ClipBoard é um desses objetos. Nós utilizare-
mos o ClipBoard para armazenar o texto que foi Recortado ou Copiado substi-
tuindo a variável CópiaTexto utilizada anteriormente.
O ClipBoard é a própria área de transferência do Windows, e possui os seguin-
tes métodos:
Clear - Limpa o conteúdo do ClipBoar
GetData - Retorna um gráfico do ClipBoard
GetFormat - Retorna um valor indicando qual o tipo de dado do
ClipBoard
GetText - Retorna um texto do ClipBoard
SetData - Grava no ClipBoard um elemento gráfico
SetText - Grava no ClipBoard um texto
Primeiro vamos criar a janela de Salvar Arquivo. Por enquanto nosso projeto
possui apenas um formulário chamado frmBloco, para criar mais um formulário -
frmSalvar, escolha a opção Add Form do menu Project ou dê um clique no botão
da barra de ferramentas, para inserir um novo formulário ao projeto. Apare-
cerá então o quadro de diálogo Add Form para escolhermos o tipo de formulário
a ser adicionado.
Escolha o tipo Form, e adicione neste novo formulário os objetos como mostrado
abaixo. Altere as propriedades dos objetos:
Para que as três caixas fiquem em sincronismo, nós devemos alterar a proprieda-
de Path das caixas de diretório e de arquivo, quando houver mudança de escolha
em alguma delas. Esta propriedade determina o caminho absoluto atual incluindo
o nome do drive. Ex: “C:\VB6\BITMAPS”, indica que o diretório atual é o
subdiretório BITMAPS do diretório VB6 na unidade C: .
No código acima, toda vez que houver alteração (evento Change) na unidade
atual, será chamado o procedimento que altera a propriedade Path de dirDiretório
que será o diretório raiz da unidade selecionada na caixa de unidades, pois na
propriedade Drive teremos a unidade atualmente selecionada.
As três caixas estão agora sincronizadas, execute o projeto e alterne entre unida-
des e diretórios.
Nas aplicações para Windows, quando queremos abrir um arquivo de uma janela
do tipo Abrir, podemos fazê-lo de duas formas:
1. Dando um clique no arquivo e outro no botão Ok.
2. Dando um duplo clique no arquivo selecionado.
Erro:
MsgBox “Erro de Arquivo”, 49, “Erro”
Close #1
End Sub
Right$(expressão, n)
Onde: expressão - é uma cadeia de caracteres numéricos ou não.
n - são quantos caracteres se quer retornar.
O código verifica se o caminho atual possui “\” no seu final, caso não exista, ele
adiciona à variável Arquivo$ que contém o caminho e nome do arquivo a ser
aberto com a declaração Open.
A linha frmBloco.txtTexto.Text = Input$(LOF(1), #1), lê o conteúdo do
arquivo que foi aberto com o número 1, transferindo este conteúdo a uma
variável ou objeto, no nosso caso para o objeto - txtTexto.
LOF (número)
Onde: número - é o número do arquivo a ser lido.
Embora o uso dos métodos gráficos - que permitem desenhos de linhas, círculos
e animações sejam complexos, poderá ser divertido e útil para quem deseja
sofisticar seus programas. A seguir, conheceremos tais recursos através de exem-
plos simples.
1. Twip = 1440 twips por polegada; 567 twips por centímetro. (Default)
2. Point =72 points por polegada.
3. Pixel = Unidade do monitor ou resolução da impressora.
4. Character = horizontal - 120 twips por unid.; vertical - 240 twips por unid.
5. Polegada
6. Milímetro
7. Centímetro
Estas escalas são definidas para cada objeto gráfico (formulário, picture box e
impressora), na propriedade ScaleMode.
DESENHO DE PONTO
Onde:
Objeto - objeto onde o ponto será desenhado, se for omitido o ponto será
desenhado no formulário corrente.
Step - especifica que as coordenadas serão relativas à posição corrente,
propriedades CurrentX e CurrentY.
x,y - coordenadas horizontal e vertical
Cor - especifica uma cor para o ponto, se for omitida, será usada a cor
da propriedade ForeColor do objeto.
1. RGB (NRed, NGreen, NBlue), onde NRed, NGreen e NBlue podem variar
de 0 a 255.
Ponto vermelho: Pset (100,100), RGB(255,0,0)
Vamos fazer um exemplo utilizando os três métodos para cor, mas antes certifi-
que-se que a propriedade DrawMode esteja com o valor 3-Copy Pen.
Onde:
Objeto - objeto onde será desenhada a linha (formulário, picture box ou
impressora).
Step - especifica que as coordenadas são relativas à posição corrente,
a
propriedades CurrentX e CurrentY.
(x1,y1) - coordenadas do ponto inicial.
Step - especifica que as coordenadas do ponto final são relativas às
b
coordenadas do ponto inicial.
(x2,y2) - coordenadas do ponto final.
Cor - especifica a cor que a linha será desenhada.
B - opção que desenha um retângulo usando as coordenadas de cantos
opostos.
F - especifica que o retângulo será preenchido com a mesma cor usada
para desenhar a borda do retângulo. Se não for usada, o retângulo será
preenchido com o valor da propriedade FillColor do objeto.
DrawStyle
Define o estilo da linha a ser desenhada no objeto gráfico. Pode ser definida tanto
em tempo de projeto, quanto em tempo de execução.
Estilos: 0 - sólida
1 - tracejada
2 - pontilhada
3 - traço-ponto
4 - traço-ponto-ponto
5 - transparente
6 - interna
DrawWidth
Para desenhar círculos, usamos o método Circle. Que desenha círculos, elipses
ou arcos em um objeto gráfico.
Onde:
Step - palavra que indica que a coordenada de centro será relativa à
posição corrente.
(x,y) - coordenadas de centro do círculo, elipse ou arco.
Radius - raio do círculo, elipse ou arco.
Cor - especifica a cor para o círculo
Start/End - valores que especificam o início e fim do arco a ser dese-
nhado. Valores expressos em radianos, o default é 0 radianos para
Start e 2p radianos para End.
Aspecto - indica a proporção entre os raios, sendo na elipse diferente
de 1. No círculo perfeito o aspecto é igual a 1.
Faça o projeto Círculo conforme exemplo a seguir, para visualizar o método Circle.
Onde:
Min - valor numérico atribuído ao lado superior ou esquerdo da barra
de paginação.
Max - valor numérico atribuído ao lado inferior ou direito da barra de
paginação.
Value - valor correspondente à posição do marcador na barra. Que
está entre Min e Max.
LargeChange - indica a quantidade que a propriedade Value deverá
variar toda vez que o usuário acionar a barra acima ou abaixo do
marcador.
SmallChange - indica a quantidade que a propriedade Value deverá
variar quando o usuário acionar as setas da barra de paginação.
O procedimento acima irá redesenhar o círculo toda vez que o usuário mover o
marcador de qualquer uma das barras de paginação. Para redesenhar o círculo,
ele utilizará a propriedade Value das barras como parâmetros.
No exemplo anterior, toda vez que o usuário selecionar o botão Mudar, uma nova
figura será carregada no Picture1. Mas poderemos também colocar no formulá-
rio três Picture Box, cada um com uma figura diferente e ir modificando a propri-
edade Visible desses quadros.
No Windows usamos botões de opção quando temos que escolher entre opções
mutuamente excludentes, ou seja, apenas uma das opções pode estar seleciona-
da. Em um formulário podemos ter somente um botão de opção selecionado de
cada vez. Caso o projeto necessite de mais de um grupo de seleção, utilizamos o
objeto Frame para separar os diferentes grupos.
Carregue as figura Fig0.gif até Fig6.gif nos controles Image seguindo o index de
cada controle. Estas figuras GIF possuem transparências o que facilita a monta-
gem da imagem em partes separadas e sobrepostas.
Para mover um objeto usamos o método Move que possui a seguinte sintaxe;
objeto.Move left[,top[,width[,height] ] ]
Onde:
left - coordenada horizontal
top - coordenado vertical
width - nova largura
height - nova altura
EVENTO DO TECLADO
O próximo passo será o tratamento das letras digitas pelo usuário. Utilizamos o
evento de teclado KeyPress que ocorre toda vez que uma tecla é pressionada e
depois liberada.
Este evento estará ligado à caixa de texto txtLetraDig e será a alma do progra-
ma. Ele recebe a letra digitada, verifica se existe na palavra escolhida, se existir
mostra a letra, se não mostra uma parte da figura e aumenta a jogada. Quando
terminadas as chances move a cabeça para fora do corpo - na figura.
Onde:
string - é a cadeia de caracteres original
começo - especifica a partir de qual caractere começará a extração.
comprimento - indica quantos caracteres se deseja extrair.
EVENTOS DO MOUSE
lblLetra(Index).Caption = “”
End Sub
Para inserir um módulo ao projeto, basta escolher a opção Add Module do menu
Project ou selecione o botão Add Module ( ) na barra de ferramentas. Abrindo
o quadro de diálogo Add Module mostrado a seguir, escolha Module e Abrir.
Dados(5).Nome = “Carlos”
Dados(5).Telefone = “981-0000”
Dados(5).Comentarios = “Bom pagador”
Adicionar
O procedimento de evento cmdAdicionar_Click, executará instruções de acordo
com a seguinte situação:
· Quando a legenda do botão for Novo, apenas limpa as caixas de texto e muda
a legenda para Adicionar.
Procurar
O botão Procurar irá abrir uma segunda janela para pesquisa dos dados deseja-
dos
Toda vez que o formulário frmProcurar for mostrado é interessante que ele mos-
tre uma lista atual de nomes. Para atualizar esta lista usamos o evento Activate,
que ocorre toda vez que o formulário se torna a janela ativa.
Neste caso não usaremos o evento Load, pois este evento só ocorrerá na primei-
ra vez que esta janela for mostrada pois para escondê-la usamos o método Hide
que não remove o formulário da memória.
O quadro Combo possui o mesmo nome do quadro de lista para não termos que
alterar o código. A propriedade Style, determina qual tipo de quadro combo
iremos trabalhar, podendo ter os seguintes estilos:
0 - Dropdown Combo; inclui uma lista de queda e um quadro de texto. O
usuário pode selecionar um item da lista ou digitar no quadro de texto.
1 - Simple Combo; inclui uma lista sempre visível e um quadro de texto.
2 - Dropdown List; Mostra somente uma lista de queda onde o usuário escolhe-
rá o seu item.
Atualizar
O botão Atualizar atualiza o conteúdo do registro atual (Ponteiro) no formulário
frmCatalogo e no frmProcurar, removendo e depois adicionando o item relativo à
Ponteiro.
Excluir
O botão Excluir limpa os valores da variável Dados () e substitui o registro vazio
pelo registro subseqüente. Nesta substituição é utilizada a estrutura de repetição
condicional While condição ... instruções ... Wend, que executa as instruções
enquanto a condição for verdadeira.
Load e Resize
Se você reparar, abaixo na barra de menu dos aplicativos Windows existem duas
linhas (cinza e branca) separando o menu da área do cliente. Estas duas linhas
serão construídas quando o formulário for carregado na memória e serão
redesenhadas quando este mesmo formulário for redimensionado pelo cliente.
Abrir arquivo
Este procedimento abre uma caixa de diálogo para o usuário escolher um arquivo
para abrir. E depois abre este arquivo no modo randômico, carregando seus
registros na variável Dados ( ).
Sub AbrirArquivo()
On Error Resume Next ‘Se algum erro ocorrer, executa
‘a linha seguinte
Dim NomeArquivo As String
Dim NumeroRegistros As Integer ‘Contém total de registros
Dim Reg As Registro ‘Usado apenas como referencia
frmCatalogo.dlgArquivo.FileName = “”
frmCatalogo.dlgArquivo.ShowOpen
If Err <> 32755 Then ‘Verifica se Cancel foi pressionado
NomeArquivo = frmCatalogo.dlgArquivo.FileName
End If
Open NomeArquivo For Random As #1 Len = Len(Reg)
NumeroRegistros = LOF(1) / Len(Reg)
ReDim Dados(NumeroRegistros)
Screen.MousePointer = 11 ‘Muda ponteiro p/ ampulheta
For I = 1 To TotalRegistros
frmProcurar.lstListaNomes.RemoveItem 0
Next I
For I = 1 To NumeroRegistros
Get #1, , Dados(I - 1)
frmProcurar.lstListaNomes.AddItem Dados(I - 1).Nome
Next I
Por isso utilizaremos uma Common Dialog para escolher além do nome, o local
onde deverá ser armazenado o arquivo de catálogo. Construiremos uma função
que abrirá a caixa de diálogo para salvar retornando o nome escolhido pelo usu-
ário.
Toda função retorna um valor após ser executada, e este valor geralmente está
associado à uma variável com o mesmo nome desta função.
Erro_SalvarArquivo:
MsgBox “Erro de arquivo”, 48, “Catálogo”
End Sub
COMANDO DE IMPRESSÃO
CONTROLE DATA
O Controle Data permite que você crie programas que acessem banco de dados
como a Access, FoxPro, dBase, Paradox. Com o uso deste controle podemos
economizar muitas linhas de código. Ele permite ao usuário visualizar registro
por registro, ir para o último ou o primeiro registro de uma tabela, mostrando o
conteúdo dos campos através de outros controles.
O Visual Basic possui o utilitário Visual Data Manager, por onde poderemos criar
um banco de dados para ser usado em nosso projeto exemplo. Para iniciar o
Visual Data Manager, escolha a opção Visual Data Manager... do menu Add-
Ins, aparecendo a janela mostrada abaixo.
Escolha a opção New... do menu File, e siga a figura abaixo para abrir a janela
Select Microsoft Acess DataBase to Create.
Clique com o botão direito do mouse em cima da janela DataBase Window, para
podermos construir a nossa tabela. Selecione a opção New Table, para abrir a
janela Table Structure.
Entre com o nome da tabela - Móveis. E com os campos, acionando o botão Add
Field, aparecendo o quadro de diálogo Add Field, como mostra a tabela abaixo:
Após conferir todos os campos, construa a tabela (Build the Table), e feche
(Close).
Após digitar todos os registro acima feche a tabela (Close), e também o Visual
Data Manager escolhendo a opção Exit no menu File.
Grande parte dos usuários está acostumada a pressionar a tecla Enter quando
finaliza um campo, mas no Windows para alternarmos entre objetos utilizamos a
tecla Tab. Para contornar este problema, deveremos criar o procedimento acima
que parte do evento KeyPress (ato de pressionar e soltar uma tecla no teclado)
que retorna o código da tecla pressionada (KeyAscii), o procedimento verifica se
foi pressionada a tecla Enter (KeyAscii=13) e, se foi, muda o foco para o próxi-
mo quadro de texto.