Buscar

vb250 cpma.comunidades.net

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 39
Exercício 4: Calculadora
Fazer uma calculadora que tenha as seguintes operações: soma,
subtração, divisão e multiplicação.
Tela do Exercício.
Private Sub cmdcalcular_Click()
 If OptSoma.Value = True Then
 txtresult = Val(txtprim_num) + Val(txtseg_num)
 ElseIf OptSub.Value = True Then
 txtresult = Val(txtprim_num) - Val(txtseg_num)
 ElseIf OptMult.Value = True Then
 txtresult = Val(txtprim_num) * Val(txtseg_num)
 ElseIf OptDiv.Value = True Then
 If Val(txtseg_num) <> 0 Then
 txtresult = Val(txtprim_num) / Val(txtseg_num)
 Else
 MsgBox "Divisão por Zero!"
 End If
 End If
End Sub
Resolução do Exercício:
Form
Caption =Formulário do Exercício
Name = Frmexerc
Frame
 Caption = Operações
 Name = Frame2
TextBox
 Name = txtresult
 Text = (BRANCO)
TextBox
 Name = txtseg_num
 Text = (BRANCO)
HScrollBar
 Name = hScrPrim_valor
 LargeChange = 10
 Max = 1000
HScrollBar
 LargeChange = 10
 Max = 1000
 Name = HScrSeg_valor
CommandButton
 Caption = &Calcular
 Name = cmdcalcular
CommandButton
 Caption = &Sair
 Name = cmdsair
 OptionButton
 Caption = Subtração
 Name = OptSub
 OptionButton
 Caption = Soma
 Name = OptSoma
OptionButton
 Caption = Divisão
 Name = OptDiv
OptionButton
 Caption = Multiplicação
 Name = OptMult
TextBox
 Name = txtprim_num
 Text = (BRANCO)
Label
 AutoSize = True
 Caption = Primeiro Valor:
 Name = lblprim_valor
Label
 AutoSize = True
 Caption = Resultado da Operação:
 Name = lblresult
Label
 AutoSize = True
 Caption = Segundo Valor:
 Name = lblseg_valor
Private Sub hScrPrim_valor_Change()
 txtprim_num = hScrPrim_valor.Value
End Sub
Private Sub hScrPrim_valor_Scroll()
 txtprim_num = hScrPrim_valor.Value
End Sub
Private Sub HScrSeg_valor_Change()
 txtseg_num = HScrSeg_valor.Value
End Sub
Private Sub HScrSeg_valor_Scroll()
 txtseg_num = HScrSeg_valor.Value
End Sub
Private Sub cmdsair_Click()
 End
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 40
Criando Efeitos Especiais em Forms
No VB, existem controles que permite a criação de imagens
geométricas.
 Controle Line é usado para criar uma linha em seu
formulário (form). Suas propriedades mais importantes são:
BorderWidth, BorderStyle, BorderColor, Visible.
 Controle Shape é usado para desenhar uma figura
geométrica em seu formulário (form). É possível selecionar o formato
dessa figura. Os formatos são: retângulo, retângulo arredondado,
quadrado, quadrado arredondado, oval, circular.
Suas principais propriedades são:
FillColor: permite definir a cor do objeto. (Preenchimento)
FillStyle: permite definir o padrão do preenchimento.
Visible: permite que você oculte ou exiba seu objeto.
NOTAS:
Teste!
Crie um novo Project (A partir do menu File, escolha a opção New
Project). No formulário, desenhe os controles Line, Shape e modifique
suas propriedades.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 41
Funções do Mouse
O VB permite que você utilize o controle Image para criar botões
de comando no estilo da barra de ferramentas em seus programas.
Para criar esses botões, pode-se usar os seguintes eventos:
MouseDown: este evento detecta o pressionar do mouse.
MouseMove: detecta qualquer movimento com o mouse.
MouseUp: detecta quando o usuário libera o botão do mouse.
Os botões possuem três estados:
Não pressionado - esse é o estado normal do botão. Não está
selecionado.
Pressionado - esse é o estado do botão que está selecionado ou
está ativo.
Desativado - é o estado utilizado quando um botão não está
disponível para o programa.
Mais algumas propriedades da Caixa Texto
FontBold: define se o texto da caixa de texto deve ser negrito ou
não. Valor que recebe é True se for configurar o texto para negrito e
False, caso contrário.
FontItalic: define se o texto da caixa de texto deve ser itálico ou
não. Valor que recebe é True se for configurar o texto para itálico e
False, caso contrário.
FontUnderline: define se o texto da caixa de texto deve ser
sublinhado ou não. Valor que recebe é True se for configurar o texto
para sublinhado e False caso contrário.
Image Box
Tag: utiliza-se esta propriedade para identificar um objeto. No
próximo exercício, esta propriedade será utilizada para identificar o
status do botão.
NOTAS:
Para criarmos esses tipos de botões, estaremos trabalhando com o
controle Image Box que mostrará a imagem correspondente a ação
que você tomou. Por exemplo, se você pressionou o botão, aparecerá a
imagem do botão pressionado.
É possível alterar os estados dos botões através da procedure de
evento MouseDown, por exemplo.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 42
Exercício 5: Criando botões Gráficos
Faça um programa que permita que o usuário digite seu texto
numa caixa de texto e formate-o (Negrito, Itálico e Sublinhado) da
maneira que desejar.
Tela do Exercício
Private Sub Image7_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
 If Image7.Tag = "Para cima" Then
 Image7.Picture = Image4.Picture
 txttexto.FontBold = True
 Image7.Tag = "Para baixo"
 Else
 Image7.Picture = Image1.Picture
 txttexto.FontBold = False
 Image7.Tag = "Para cima"
 End If
End Sub
Resolução do Exercício:
Form
 Caption = Formulário
para Exercício
 Name = frmexerc
Label
 AutoSize = 'True
 Caption = Clique nos botões para formatar o
texto.
 Name = Label1
TextBox
 MultiLine = True
 Name = txttexto
Image
 Name = Image1
 Picture = ...\bld-up.bmp
 Tag = Para cima
 Visible = False
Image
 Name = Image2
 Picture = ...\itl-up.bmp
 Tag = Para cima
 Visible = False
Image
 Name = Image3
 Picture = ...\ulin-up.bmp
 Tag = Para cima
 Visible = False
Image
Name = Image4
Picture = ...\bld-dwn.bmp
Tag = Para baixo
Visible = False
Image
 Name = Image5
 Picture =...\itl-dwn.bmp
 Tag = Para baixo
 Visible = False
Image
 Name = Image6
 Picture = ...\ulin-dwn.bmp
 Tag = Para baixo
 Visible = False
Image
 Picture=
 Tag = Para cima
 Name = Image7
Image
 Picture =
 Tag = Para cima
 Name = Image8
Image
 Picture =
 Tag = Para cima
 Name = Image9
CommandButton
 Caption = &Sair
 Name = cmdsair
Private Sub Image8_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
 If Image8.Tag = "Para cima" Then
 Image8.Picture = Image5.Picture
 txttexto.FontItalic = True
 Image8.Tag = "Para baixo"
 Else
 Image8.Picture = Image2.Picture
 txttexto.FontItalic = False
 Image8.Tag = "Para cima"
 End If
End Sub
Private Sub Image9_ MouseDown(Button As Integer,
Shift As Integer, X As Single, Y As Single)
 If Image9.Tag = "Para cima" Then
 Image9.Picture = Image6.Picture
 txttexto.FontUnderline = True
 Image9.Tag = "Para baixo"
 Else
 Image9.Picture = Image3.Picture
 txttexto.FontUnderline = False
 Image9.Tag = "Para cima"
 End If
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 43
Arrastar-e-Soltar (Drag and Drop)
Em aplicações desenvolvidas em Visual Basic, você pode
utilizar muitos recursos para facilitar e “agradar” o usuário. Uma
dessas características do VB, é o Drag-and-Drop que permite que o
usuário arraste um objeto até outro e solte-o.Usando as propriedades, eventos e métodos que o VB possui,
você pode especificar como esse recurso deve se comportar em sua
aplicação.
DragMode Permite que seu objeto seja
arrastado automaticamente
ou manualmente
Propriedades
DragIcon Especifica qual o ícone que
deve ser mostrado quando o
objeto é arrastado.
DragDrop Reconhece quando um
controle é solto em outro
objeto.
Eventos
DragOver Reconhece quando um
controle é arrastado em cima
de outro.
Métodos Drag Inicia ou termina a ação de
arrastar manualmente.
Você pode configurar a propriedade DragMode de seu objeto
para 1 (que permite que o objeto seja “arrastado”).
NOTAS:
Se você configurar a propriedade DragMode do objeto para
Manual, para iniciar e terminar a ação de arrastar-e-soltar, será
preciso programar o método Drag.
Os valores aceitos por este método é:
Constante Valor Ação
VbCancel 0 Cancela a operação Drag-and-Drop
VbBeginDrag 1 Inicia a operação de arrastar.
VbEndGrag 2 Termina a operação para arrastar e
solta o objeto.
Evento DragDrop()
Este evento possui 3 argumentos:
Source: que identifica o objeto que você esta arrastando. Você
pode utilizar esse argumento com métodos e propriedades. Por
exemplo: source.visible = false.
X, Y: que são coordenadas. X é a coordenada horizontal e Y é
a coordenada vertical.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 44
Exercício 6: Teste Arrastar-e-Soltar
Fazer um programa para testar o Arratar-e-Soltar no VB. Esse
programa deve permitir que você arraste os objetos para a lata de lixo
e depois coloque fogo.
Tela do exercício.
Resolução do Exercício:
Form
 Name = FormDrag_Drop
 Caption = Teste Arrastar-e-Soltar
Image
 Name = Image5
 Picture = ..\trash02a.ico
 Stretch = True
Image
 Name = Image6
 Picture = ..\trash02b.ico
 Stretch = True
 Visible = False
Image
 Name = Image4
 DragIcon = ..\point11.ico
 DragMode = Automatic
 Picture = ...\point11.ico
 Stretch = True
Image
 Name = Image3
 DragIcon = ..\fire.ico
 DragMode = Automatic
 Picture = ..\fire.ico
 Stretch = True
 Tag = Fogo
Image
 Name= Image2
 DragIcon = ..\gaspump.ico
 DragMode = Automatic
 Picture = ..\gaspump.ico
 Stretch = True
Private Sub Image5_DragDrop(Source As Control, X As Single, Y As Single)
 Source.Visible = False
 If Source.Tag = "Fogo" Then
 Image5.Picture = Image6.Picture
 End If
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 45
 CommonDialog
Esse objeto permite exibir cinco caixas de diálogo nos padrões do
Windows.
Apenas uma caixa de diálogo pode ser exibida a partir de um
objeto Common Dialog.
Para exibir uma determinada caixa de diálogo, deve ser utilizado o
método correspondente à caixa desejada.
Os conteúdos das caixas são controlados através de suas
propriedades, ou seja, quando uma caixa é preenchida, os resultados
são apresentados por suas propriedades.
Caixas de Diálogo e sua utilização:
Abrir: para abrir um arquivo.
Método correspondente: ShowOpen
Salvar Como: para salvar um arquivo.
Método correspondente: ShowSave
Imprimir: para definir as opções de impressão.
Método correspondente: ShowPrinter
Fonte: para definir uma fonte e um estilo para textos.
Método correspondente: ShowFont
Cor: para escolher uma nova cor da paleta.
Método correspondente: ShowColor
NOTAS:
Um objeto CommonDialog não é visível ao usuário em tempo de
execução do programa.
Propriedades correspondentes à CommonDialog Abrir:
Filter: define quais os tipos de arquivos deverão ser exibidos.
Por exemplo:
commondialog1.filter = “Bitmaps (*.BMP) | *.BMP |Metafiles (*.WMF) | *.WMF”
Filename: define o nome do arquivo selecionado.
Propriedades correspondentes à CommonDialog Color:
Flags: define qual o tipo da caixa Color deverá ser exibida. Os
Flags podem ser:
&H1&: Exibe a CommonDialog Cor padrão, com as cores
personalizadas como opção.
&H2&: Exibe a paleta padrão e a personalizada.
&H4&: Exibe a paleta padrão com o botão de Cores
Personalizadas desabilitado.
&H8&: Exibe o botão de ajuda na CommonDialog Cor.
Color: esta propriedade é utilizada para configurar a cor dos
objetos do VB que suportam cor. É possível modificar a cor do fundo
de um formulário, as cores das formas no formulário e as cores de
fundo dos objetos.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 46
Controle ImageList
O controle ImageList é utilizado para armazenar uma lista de
imagens para serem utilizadas nas barras de ferramentas, animações e
aplicativos. Cada ImageList é responsável pela criação de apenas uma
lista de imagens.
Sua capacidade é limitada pela mémoria de seu micro.
Página de Propriedades.
Para exibir a Página de Propriedades do ImageList, selecione o
objeto no formulário, clique-o com o botão direito do mouse e escolha
a opção propriedades.
A guia Images é a parte principal para a criação da lista de
imagens, pois é nela que se encontram as propriedades para inserção
da imagem na lista.
Propriedades:
Current Image:
Index: índica da imagem inserida no vetor da lista das
imagens.
Key/Tag: palavra-chave utilizada para fazer referencia a
imagem.
Images
Mostra todas as imagens inseridas na lista na ordem em que
foram inseridas.
Image Count: exibe o número de imagens inseridas na lista
Para inserir um imagem à Lista:
Utilize o botão Insert Picture, escolha a imagem e clique no
botão Open.
Para remover uma imagem da lista:
Selecione a imagem desejada e clique o botão Remove
Picture.
NOTAS:
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 47
Controle Toolbar
Este controle é utilizado para criar barras de ferramentas padrão
do Windows 95.
Página de Propriedades.
Para exibir a Página de Propriedades do ToolBar, selecione o
objeto no formulário, clique-o com o botão direito do mouse e escolha
a opção Propriedades.
Na guia Buttons, principais propriedades:
Index: índice do botão na barra de ferramentas.
Caption: texto que deve aparecer para descrever o botão.
Description: descrição da função do botão.
Key/Tag: texto para identificação do botão.
Value: define se deve estar pressionado ou não pressionado.
Style: estilo no qual o botão deve ser mostrado.
ToolTipText: texto explicativo sobre o botão que deve
aparecer para o usuário.
Image: se a ToolBar estiver associada à uma ImageList, voce
pode utilizar uma imagem da lista de imagem através seu index.
Para inserir um novo botão, utilize:
Botão Insert Button.
Para excluir um botão da ToolBar:
Utilize o botão Remove Button.
NOTAS:
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 48
Exercício 7: Utilizando as Common Dialog
Fazer uma aplicação que permita a abertura de imagens e a
configuração do ambiente de trabalho pelo usuário (cores do
Formulário). Deve tambem limpar a tela da Imagem quando o usuário
desejar.
Tela do exercício em tempo de Design.
Resolução do Exercício:
Form
 Name = Form1
 Caption = Abrindo Figuras
Imagem Box
 Name = Image1
ToolBar
 Name = Toolbar1
Image List
 Name = ImageList1
CommonDialog
 Name = CommonDialog1
Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button)
 Select Case Button.Key
 Case "Abrir"
 CommonDialog1.Filter = "Metafiles (*.WMF) | *.WMF |Bitmaps (*.BMP) | *.BMP _ |JPEG
(*.JPG) | *.JPG"
 CommonDialog1.ShowOpen
 If CommonDialog1.CancelError <> True Then
 Image1.Picture = LoadPicture(CommonDialog1.filename)
 End If
 Case "Color"
 CommonDialog1.Flags = &H8&
 CommonDialog1.ShowColorIf CommonDialog1.CancelError <> True Then
 Form1.BackColor = CommonDialog1.Color
 End If
 Case "Fechar"
 Image1.Picture = LoadPicture()
 Case "Sair"
 End
 End Select
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 49
Acesso ao Sistema de Arquivos
O VB possui controles que permitem o acesso ao seu sistema de
arquivos, ou seja, são controles que permitem fazer a pesquisa em
diretórios e drives e a seleção de arquivos.
Os controles são:
 Controle DriveList: permite a pesquisa dos drives
válidos em seu sistema.
 Controle DirListBox: permite a pesquisa em pastas
(diretórios) existentes no drive selecionado.
 Controle FileListBox: permite a seleção de um
arquivo específico em uma pasta (diretório).
Trabalhando com as Propriedades:
Existem propriedades que não podem ser configuradas em tempo
de design do programa, ou seja, não é possível configurá-las
utilizando a janela Properties (Janela de Propriedades). Elas só podem
ser configuradas em tempo do execução:
Drive: recebe a letra do drive selecionado (utilizado pelo
controle DriveListBox).
Path: recebe o nome do diretório selecionado (utilizado pelos
controles DirectoryListBox e FileListBox).
FileName: quando um nome de arquivo é selecionado, o VB o
coloca nesta propriedade (utilizado pelo controle FileListBox).
NOTAS:
Eventos mais utilizados:
Para DirListBox
Change() – modifica o diretório selecionado. Ocorre quando o
usuário dá um duplo clique em um novo diretório ou quando você
muda a propriedade Path através de código de programação.
Para DriveList
Change() – Modifica o drive selecionado. Ocorre quando o
usuário seleciona um novo diretório ou quando você muda a
propriedade Drive através de programação.
Para FileListBox
Click: Ocorre quando o usuário pressiona o botão do mouse
em um objeto. Pode também ocorrer quando o valor de um controle
(objeto) é mudado.
Outras propriedades do FileListBox
Archive: define se os arquivos do tipo Archive devem ser listados pelo
controle.
Hidden: define se os arquivos do tipo Hidden devem ser listados pelo controle.
Normal: define se os arquivos do tipo Normal devem ser listados pelo controle.
System: define se os arquivos do tipo System devem ser listados pelo controle.
Estas propriedades recebem apenas valores True/False. As
propriedades Archive e Normal, por default, tem o valor True.
]
Utilize a propriedade Pattern da FileListBox para definir quais os
tipos de arquivos que poderá ser selecionados.
Para especificar mais de um arquivo, utilize a seguinte sintaxe:
*.bmp;*.wmf;*.ico (sem espaçamento entre os ponto-e-vírgula).
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 50
Exercício 8: Programa para
Procura de Arquivos
Fazer um programa que permita a abertura de imagens
.WMF, .ICO, .BMP, .JPG, .GIF. Utilize, para isso, os objetos
DriveList, DirListBox e FileListBox.
Tela do Exercício.
Resolução do Exercício:
Form
 Caption = Procura de Arquivos
 Name = frmprocura
Command
Caption = &Sair
 Name = cmdsair
DriveList
 Name = drive1
Command
 Caption = Mostrar Figura
 Enabled = False
 Name = cmdfigura
FileListBox
Name = arquivos
 Pattern = *.bmp;*.wmf;*.ico
DirListBox
 Name = diretorios
Image Box
 Name = imagem
 Stretch = True
Private Sub drive1_Change()
 diretorios.Path = drive1.drive
End Sub
Private Sub diretorios_Change()
 arquivos.Path = diretorios.Path
End Sub
Private Sub arquivos_Click()
 cmdfigura.Enabled = True
End Sub
Private Sub cmdfigura_Click() ou Private Sub arquivos_Click()
 imagem.Picture=LoadPicture(arquivos.Path & "\" & arquivos.filename)
End Sub
Private Sub cmdsair_Click()
 End
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 51
Formulários MDI (Multiple Document Interface)
A Interface para Multiplos Documentos é uma característica muito
marcante na programação em ambiente Windows. Esses tipos de
Formulários criam uma relação hierárquia entre um formulário (que é
o Formulário MDI-pai) e os outros (que são os formulários CHILD).
Esses programas são como o Word, que permite que vários
documentos sejam abertos simultaneamente.
Características do Formulários MDI
Um Formulário Child é sempre exibido na área interna do
formulário MDI-pai. Não é possível mostrá-lo fora desta área.
Quando esse formulário é minimizado, seu ícone aparecerá no
Formulário MDI-pai e não como um botão na barra de tarefas.
Quando o Formulário MDI-pai é minimizado, todas as janelas
existentes nele são minimizadas e são exibidas como um botão na
barra de tarefas.
As barras de menus dos formulários Child são exibidos na barra de
menus do formulário MDI-pai.
NOTAS:
Para criar uma aplicação MDI:
1. Crie um novo Project
2. A partir do Menu Project, escolha a opção Add MDI
Form.
Assim, você criou um formulário-pai. Para criar formulários-
filhos, você precisa:
1. A partir do menu Project, escolha a opção Add Form.
Nas propriedades do Formulário-filho, configura a propriedade
MDI Child para True.
Para exibir todos os formulários Child do seu Project num
Formulário MDI-pai, configure a propriedade AutoShow (do
formulário MDI-pai) para True.
Em formulários do tipo MDI, não é possível “desenhar” controles
que não possuam a propriedade Align. Para “desenhar” objetos que
não possuam esta propriedade, desenhe um controle Picture no
formulário e depois, dentro dele, desenhe os demais controles.
Exemplo:
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 52
Exercício 9: Crie um programa MDI
Crie um novo Project. Neste Project, crie um formulário-pai e
três formulários-filhos.
Tela do Exercício
Resolução do Exercício:
MDIForm
Caption = Controle de Estoque
WindowState = Maximized
Name = MDIControl_est
Form
Caption = Formulário para Inclusão
MDIChild = True
Name = FrmInclusão
Form
Caption = Formulário para Alteração/Exclusão
MDIChild = True
Name = FrmAlt_Excl
Form
Caption = Formulário para Consulta
MDIChild = True
Name = FrmConsulta
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 53
Trabalhando com Menus
O VB possui uma ferramenta para a construção de menus: o
“Menu Editor” . Utilize-o para criar menus customizados em sua
aplicação.
Para construir um menu
Selecione um formulário e a partir do menu “Tools”, escolha a
opção “Menu Editor”.
Janela do Menu Editor
NOTAS:
Cada item do seu Menu é um objeto. Os itens são inseridos de
forma hierárquica.
Caption: Caixa de texto no qual você deve inserir o nome do
menu que aparecerá na barra de menu.
Para criar uma barra para separadorar no menu, digite apenas
um hífen.
Para permitir o acesso ao menu pelo teclado, antes da letra, digite
um &. Quando você estiver executando a aplicação, a letra estará
sublinhada e o usuário pode acessar o menu pressionando ALT + a
letra sublinhada.
Se você precisar de um & ( e comercial) em seu menu, digite
duas vezes o símbolo no Caption.
Name: Caixa de texto na qual você deve inserir um nome para o
objeto. Esse nome só será usado em programação, para se referir ao
item do menu. Não aparecein no menu.
Index: Nesta caixa de texto você define um valor numérico que
determina a posição do controle com o vetor. Esta posição não é
relativa a posição da tela.
Shortcut: neste item você define uma tecla de atalho para o seu
menu.
HelpContextID: Nesta caixa de texto você define um valor
numérico para o Context ID que é usado para encontrar o tópico
apropriado no arquivo de Help identificado pela propriedade HelpFile.NegotiatePosition: neste item, você pode determinar se e como o
menu aparecerá em determinado formulário.
Quando os Menus são criados, vão
aparecendo nesta caixa na ordem
hierárquica em que foram criados.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 54
Para construir um menu (continuação)
Checked: define se deve ou não aparecer um check inicialmente
do lado esquerdo do item do menu.
Enabled: define se este menu deve ou não estar abilitado.
Visible: define se o item do menu deve estar visível ou não.
 Use estes botões para mudar de nível em um menu do
mais alto até o mais baixo. Você pode criar até 4 níveis de submenus
no VB.
 Use estes botões para mudar de posição de um item de
menu no mesmo nível (para cima ou para baixo na lista de menu).
Os seguintes botões são para:
• Next - é utilizado para adicionar novos itens dentro do seu
Menu.
• Insert - é utilizado para inserir menus entre os menus já
listados.
• Delete - utilizado para remover itens do seu Menu.
NOTAS:
Para trabalhar com formulários em menus, é preciso utilizar
alguns métodos para visualização:
O método Show é utilizado para visualizar um Form.
<nome do formulário>.Show
Com método Hide, o Form permanece carregado na memória, mas
não é visualizado pelo usuário.
<nome do Formulário>.Hide
Os comandos Load e Unload trazem e tiram um Form da memória
respectivamente.
Load <nome do Formulário>
Unload <nome do Formulário>
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 55
Exercício 10: Construa um Menu
Para este exercício, abra o Project do exercício anterior
(exercício 9). E construa um menu como a figura abaixo mostra:
Tela do Exercício
NOTAS:
Para mostrar os formulários de Inclusão, Alteração/Exclusão e
Consulta a partir dos menus, utilize os métodos apresentados na
página anterior (54).
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 56
 Acessando um Banco de Dados através do
DATA CONTROL.
O que é o Data Control?
O Data Control permite a ligação do Form com um banco de
dados. Através desse objeto, você pode criar uma aplicação que
mostre e atualize seus dados sem precisar programar.
Com o Data Control, é possível trabalhar com recordsets vazios,
adicionar, editar e excluir registros. Em aplicações mais sofisticadas,
você precisa tratar algumas condições de erros que o Data Control não
trata.
Como funciona o Data Control?
Uma vez que a aplicação for executada, o Data Control usa as
suas propriedades para abrir um banco de dados selecionado, para
criar um banco de dados e para criar um recordset.
O Data Control possui setas que permitem que você role pelos
registros da tabela aberta durante a execução do programa e uma
legenda para descrever o conteúdo deste. Geralmente, essa
propriedade é configurada com o nome do banco de dados que está
sendo utilizado.
Propriedades do Data Control
Existem algumas propriedades que devem ser configuradas para
que o “Data Control” possa acessar seu banco de dados.
Principais Propriedades (para exibí-las, selecione o objeto e tecle
F4):
DataBaseName: indica o nome e o caminho do seu banco de
dados.
RecordSource: indica a tabela na qual o Data Control vai buscar
os dados.
NOTAS:
Mais algumas propriedades da Caixa Texto
Depois de configurar as propriedades DataBaseName e
RecordSource, é preciso vincular os dados trazidos pelo Data Control
com algum dos objetos oferecidos pelo Visual Basic para a
visualização.
Neste curso, estaremos utilizando a Caixa Texto para visualizar e
trabalhar com os dados do Banco de Dados. Para isso, precisaremos
modificar 2 propriedades:
DataSource: Indica para a Caixa Texto qual Data Control possui
o campo que você precisa visualizar.
DataField: Indicar qual campo do Data Control especificado pela
propriedade DataSource deve ser mostrado na Caixa Texto.
Obs.: Para visualizar as propriedades da Caixa Texto, selecione-a
e pressione a tecla de função F4.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 57
O que é um Recordset?
É um conjunto de linhas e colunas que contém todos dados da
tabela.
O Data Control que abre um banco de dados carrega esse
Recordset.
Métodos do Recordset
MoveFirst: este método move do registro atual para o primeiro
registro da sua tabela.
MoveNext: este método move do registro atual para o próximo
registro.
MovePrevious: este método move do registro atual para o registro
anterior.
MoveLast: move do registro atual para o último registro da tabela.
Sintaxe: data1.Recordset.Movefirst.
Para especificar um tipo de Recordset, configure a propriedade
RecordsetType para:
Recordset Type Value
Table 0
Dynaset 1
Snapshop 2
NOTAS:
BOF (Begin of File)
Ana Campos
José Silva
João Castro
Sueli Piva
Rute Salim
EOF (End of File)
Métodos para controlar o início e o fim do arquivo
BOF: controla o início do arquivo.
EOF: controla o final do arquivo.
Sintaxe: data1.recordset.BOF (para controlar o início do arquivo).
 data1.recordset.EOF (para controlar o fim do arquivo).
Por exemplo:
Private Sub cmdProximo_Click()
‘este botão tem a função de ‘navegar para o próximo registro
‘do Data Control.
If data1.recordset.EOF then
MsgBox “Final de Arquivo!!”
Else
Data1.recordset.movenext
‘MoveNext é o método utilizado para mover a posição do
‘Data Control para o próximo registro.
End If
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 58
Acessando um Banco de Dados através do
DATA CONTROL (continuação)
Propriedades para a manipulação de Final de arquivo (EOF -
end of file) e início de arquivo (BOF - begin of file):
O objeto Data Control também gerencia o que acontece quando
encontra um Recordset vazio (sem registros). As propriedades que
devemos trabalhar para controlar as ações que o Data Control deve
tomar são:
BOFAction: indica qual a ação que o Data Control deve tomar
quando a propriedade BOF for igual a TRUE, ou seja, quando for
começo de arquivo. Valores possíveis:
0. Move First: o Data Control moverá o ponteiro para o
primeiro registro do arquivo.
1. BOF: o Data Control continua na posição de começo de
arquivo.
EOFAction: indica qual a ação que o Data Control deve tomar
quando a propriedade EOF for igual a TRUE, ou seja, quando for fim
de arquivo. Valores possíveis:
0. Move Last: o Data Control moverá o ponteiro para o
último registro do arquivo.
1. EOF: o Data Control continua na posição de fim de
arquivo.
2. AddNew: indica que o Data Control deve ir para um novo
registro.
NOTAS:
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 59
Objetos Associados (Data Bound) ao Data Control
Os objetos associados – Data Bound – são utéis pois facilitam o
preenchimento dos objetos da tela com o conteúdo do banco de dados.
Existem 3 tipos de controles deste tipo:
1. Data Bound Combo box: é semelhante a Caixa de
Combinação, com a diferença que quando associada a um Data
Control, é preenchida automaticamente, opcionalmente atualiza um
campo de outra tabela que esteja associando a outro Data Control.
Para que a Caixa de Combinação funcione como o esperado, é
preciso configurar algumas propriedades que estão listadas a seguir:
DataSource Name: especifica qual o Data Control será atualizado
quando um seleção for realizada.
DataField Name: define qual o campo que será atualizado no
Recordsetof especificado pelo DataSourcce.
RowSource Name: define qual o Data Control usado como origem
dos itens para a lista.
ListField Name: define o nome do campo no Recordsetespecificado pelo propriedade RowSource que é usado para preencher
a caixa combo.
BoundColumn Name: o nome do campo no Recordset
especificado pelo RowSource para ser passado para a propriedade
DataField quando um seleção for feita.
BoundText Text: valor do campo da coluna associada. Quando
uma seleção é feita, o valor é passado para atualizar o Recordset
especificado pelo DataSource e DataField.
NOTAS:
2. Data Bound List: semelhante ao ListBox (Caixa de
Listagem). Pode ser preenchido automaticamente quando associado à
um Data Control e opcionalmente, atualizar um Recordset de outro
Data Control. As propriedades da DBCombo Box valem para a Data
Bound List.
3. Data Bound Grid: permite a manipulação de uma série
de linhas e colunas representando um registro e campos do Recordset
do Data Control.
O DBGrid é semelhante ao Controle Grid, a diferença é que com o
DBGrid, não é preciso programar as linhas e colunas da tabela, é
preciso apenas associar um Data Control ao objeto que
automaticamente, o Grid será preenchido
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 60
Controle Status Bar
Este controle permite a criação de uma barra de Status para o
usuário. A barra de Status é utilizada para emitir informações sobre a
tela atual aos usuários.
Exemplo da utilização da Status Bar.
Propriedades do Controle:
Página de Propriedades.
A guia mais importante para este treinamento, é a guia Panels pois
é nela que estaremos definindo as mensagens que devem ser mostradas
para os usuários.
Principais propriedades:
Index: índice da mensagem na barra de status.
Text: texto que deve aparecer para descrever o botão.
Description: descrição da função do botão.
ToolTipText: texto explicativo sobre o botão que deve
aparecer para o usuário.
Key/Tag: texto para identificação do botão.
Alignment: Define o alinhamento do texto da mensagem
dentro do Painel.
Para inserir um novo painel, utilize:
Botão Insert Panel.
Para excluir um painel da ToolBar:
Utilize o botão Remove Panel.
NOTAS:
Para exibir a página de propriedades de um controle, clique com o
botão direito do mouse sobre o objeto selecionado e escolha a opção
Properties.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 61
Controle SSTab
Este controle é utilizado para dividir a tela do formulário em várias
funções.
Exemplo da utilização do SSTab.
Propriedades do Controle:
Página de Propriedades do Controle SSTab.
A guia mais importante para este treinamento, é a guia General
pois é nela que estaremos definindo as guias da tabela.
Principais propriedades:
Current Tab: índice da mensagem na barra de status.
Tab Caption: texto que deve aparecer para descrever o botão.
Tab Count: Número de guias.
TabPerRow: Número de guias por linha.
Orientation: Define a orientação das guias da SSTab, se as
guias devem estar no topo, a esquerda, a direita ou no embaixo.
0 – ssTabOrientationTop: Alinhamento das guias no Topo da tabela.
1 – ssTabOrientationBottom: Alinhamento das guias embaixo da tabela.
2 – ssTabOrientationLeft: Alinhamento das guias a Esquerda da tabela.
3 – ssTabOrientationRight: Alinhamento das guias a Direita da tabela.
Style: estilo da tabela.
Para inserir uma nova guia:
Incremente a propriedade Tab Count.
Para remover uma guia existente:
Decremente a propriedade Tab Count.
NOTAS:
Para exibir a página de propriedades de um controle, clique com o
botão direito do mouse sobre o objeto selecionado e escolha a opção
Properties.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 62
Exercício 11: Criando uma Consulta
Criar um consulta que acesse os dados das tabelas de Clientes e
Pedidos existentes no banco de dados nwind.mdb. Para isso, abra o
project do exercício 10 e utilize o formulário de Consulta.
Resolução do Exercício:
Form
Name = FrmConsulta
Caption = Formulário para
Consulta
Data Control
Name = data_cli
DatabaseName =
...\nwind.mdb
RecordsetType = Dynaset
RecordSource = Customers
Data Control
Name = data_order
DatabaseName =
...\nwind.mdb
RecordsetType = Dynaset
RecordSource =
TextBox
DataSource = data_cli
DataField = CompanyName
Name = txtCompanyName
TextBox
DataSource = data_cli
DataField = ContactName
Name = txtContactName
TextBox
DataSource = data_cli
DataField = ContactTitle
Name = txtContactTitle
TextBox
DataSource = data_cli
DataField = Address
Name = txtcAddress
TextBox
DataSource = data_cli
DataField = City
Name = txtCity
TextBox
DataSource = data_cli
DataField = Region
Name = txtRegion
TextBox
DataSource = data_cli
DataField = Country
Name = txtCountry
TextBox
DataSource = data_cli
DataField = PostalCode
Name = txtPostalCode
TextBox
DataSource = data_cli
DataField = Phone
Name = txtPhone
Label
AutoSize = True
Caption = Cidade:
Label
AutoSize = True
Caption = CEP:
Label
AutoSize = True
Caption = Estado:
Label
AutoSize = True
Caption = Telefone:
Label
AutoSize = True
Caption = País:
Label
AutoSize = True
Caption = FAX:
Label
AutoSize = True
Caption = Nome do Cliente:
Label
AutoSize = True
Caption = Companhia
DBGrid
Name: DBGOrders
DataSource: data_orders
Label
AutoSize = True
Caption = Cargo:
Label
AutoSize = True
Caption = Endereço:
CommandButton
Name = cmdSair
Caption = &Sair
TextBox
DataSource = data_cli
DataField = Fax
Name = txtFax Private Sub Data_Cli_Reposition()
 Data_order.RecordSource = "Select * from Customers where
CustomerID = ’" & Data_cli.Recordset.Fields("CustomerID")
 Data_order.Refresh
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 63
Função InputBox
Uma caixa de diálogo que permite a entrada de dados pelo usuário.
Sua sintaxe:
<variavel_string> = InputBox(mensagem, título, valor Default)
Parâmetros da função:
Mensagem: é a expressão que descreve o que deve ser digitado.
Título: é o título da caixa de diálogo
Valor Default: é o valor padrão da InputBox, se nada for digitado.
Exemplo de uma caixa de diálogo InputBox:
NOTAS:
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 64
Localizando registros com o método SEEK
Para localizar registros em sua tabela aberta pelo Data Control,
você pode utilizar o método SEEK, é o método de procura mais rápido
pois utiliza um índice da tabela aberta do banco de dados.
Sua sintaxe é:
<Data_Control.name>.Recordset.seek <comparação>, <chave>
onde o parâmetro <comparação> é uma string de comparação e
pode ter os seguintes valores: “=”, “<=”, “>=”, “<>”, “<” ou “>”
e <chave> é o valor a ser procurado na tabela.
Para utilizar este método de procura, precisamos configurar
algumas propriedades para o Data Control:
- Tipo de Recordset a ser aberto necessariamente precisa
ser TABLE.
- Sua tabela deve ter um índice cadastrado pois teremos que
definir um índice como chave da procura.
As propriedades que serão alteradas são:
- RecordsetType: indica o tipo de recordset a ser aberto.
- Index: indica qual é o índice a ser utilizado para a busca.
Por exemplo:
Data_produto.recordset.index = “cod_produto” 
‘cod_produto é o nome do índice existente na tabela Produtos
Data_produto.recordset.seek “=”, txtcod_produto.text
‘Será procurado na tabela o código do produto que for igual ao
código digitado na caixa de texto txtcod_produto.text.
NOTAS:
Esse método, por utilizar um índice da tabela, acessará o dado
procurado diretamente, não precisando percorrer toda a tabela
procurando pelo valor especificado pelo argumento. Se encontrar o
dado, posicionará o seu Data Control no registro.
Para testar se o registrofoi ou não encontrado, utilize o método
NoMatch. Por exemplo:
If data_produto.Recordset.NoMatch then
<instrução>
Ou seja, se o registro não existir, então, podemos incluí-lo.
If NOT data_produto.Recordset.NoMatch then
<instrução>
Quer dizer que o registro existe, então, você poderá trazê-lo para a
sua tela de consulta ou não permitir a entrada de um novo registro,
pois ele já existe.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 65
Exercício 12: Localizando Registros em um Banco
de Dados
Utilizando o exercício anterior, crie um botão para localizar
registros na base pelo Nome do Cliente (use o método SEEK).
Resolução do Exercício:
Command Button
 Name = cmdLocalizar
 Caption = &Localizar
Private Sub cmdLocalizar_Click()
 Dim ProcNome As String
 ProcNome = InputBox$("Digite o nome a ser localizado:", "Localizando Registros ...")
 If ProcNome <> "" Then
 Data_cli.Recordset.Index = "Nome"
 Data_cli.Recordset.Seek "=", ProcNome
 If Data_cli.Recordset.NoMatch Then
 MsgBox ("Nome não localizado!!!")
 Data_cli.Recordset.MoveFirst
 End If
 End If
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 66
Métodos para Inclusão, Alteração e Exclusão em
Banco de dados
Quando utilizamos o Data Control, os métodos existentes para
estas operações, são:
Para Inclusão basta usar a seguinte sintaxe:
<data_control.name>.recordset.AddNew
O método AddNew "prepara" a tabela para receber um novo
registro. Se este a tabela tiver uma chave primária, e o você tentar
incluir um registro que já exista nela, um erro será causado. Mais
adiante veremos como tratar esses erros no VB. No final da apostila
temos uma lista de erros gerados pelo VB.
Para alteração:
< data_control.name>.recordset.Edit
Com este método, você prepara o registro atual para edição.
Para efetuar as operações de Inclusão e Alteração use:
<data_control.name>.recordset.Update
Para exclusão:
<data_control.name>.Recordset.Delete
Utilize o método Refresh para atualizar os dados tabela aberta que
foram atualizados com as operações de inclusão, alteração e exclusão.
NOTAS:
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 67
Localizando registros com o método FIND
Para localizar registros em sua tabela aberta pelo Data Control,
você pode utilizar o método FindFirst (significa "Encontrar o
Primeiro”). Sua sintaxe é:
<Data_Control.name>.Recordset.FindFirst “campo da tabela = ” & caixa_de_texto.text
Por exemplo:
Data_produto.recordset.findefirst “cod_produto = “ & text1.text
Esse método percorrerá toda a sua tabela procurando pelo valor
especificado pelo argumento ("cod_produto = " & text1.text, onde
cod_produto é o nome do campo da tabela e text1.text é o nome do
objeto Caixa Texto da tela do seu formulário) e posicionará o seu
Data Control no registro encontrado.
Para testar se o registro foi ou não encontrado, utilize o método
NoMatch. Por exemplo:
If data_produto.Recordset.NoMatch then
<instrução>
Ou seja, se o registro não existir, então, podemos incluí-lo.
If NOT data_produto.Recordset.NoMatch then
<instrução>
Quer dizer que o registro existe, então, você poderá trazê-lo para a
sua tela de consulta ou não permitir a entrada de um novo registro,
pois ele já existe.
NOTAS:
Atribuindo campos da tabela a Caixa Textos da tela do
Formulário.
A sintaxe para atribuir os campos da tabela aberta pela Data
Control, é a seguinte:
Data1.recordset("nome_campo_tabela")
Por exemplo:
Text1.text = data1.recordset("cod_produto")
Com esta linha, você consegue visualizar os dados do campo da
tabela: cod_produto.
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 68
Exercício 13: Inclusão de Novos Clientes
Fazer uma aplicação para inclusão de novos clientes. Para isso, abra o
project do exercício 10 e utilize o formulário de inclusão.
Tela do Exercício.
Resolução do Exercício:
Form
Name = FrmInclusao
Caption = Inclusão de
Novos Clientes
Data Control
Name = data_cli
DatabaseName =
...\nwind.mdb
RecordsetType = Dynaset
RecordSource = Customers
TextBox
Name = txtFax
Text = (BRANCO)
TextBox
Name = txtCompanyName
Text = (BRANCO)
TextBox
Name = txtContactName
Text = (BRANCO)
TextBox
Name = txtContactTitle
Text = (BRANCO)
TextBox
Name = txtcAddress
Text = (BRANCO)
TextBox
Name = txtCity
Text = (BRANCO)
TextBox
Name = txtRegion
Text = (BRANCO)
TextBox
Name = txtCountry
Text = (BRANCO)
TextBox
Name = txtPostalCode
Text = (BRANCO)
TextBox
Name = txtPhone
Text = (BRANCO)
TextBox
Name = txtcod_cli
Text = (BRANCO)
Label
AutoSize = True
Caption = CEP:
Label
AutoSize = True
Caption = Estado:
Label
AutoSize = True
Caption = Telefone:
Label
AutoSize = True
Caption = País:
Label
AutoSize = True
Caption = FAX:
Label
AutoSize = True
Caption = Nome do Cliente:
Label
AutoSize = True
Caption = Companhia
Label
AutoSize = True
Caption = Cidade:
Label
AutoSize = True
Caption = Cargo:
Label
AutoSize = True
Caption = Endereço:
Label
AutoSize = True
Caption = Código do Cliente::
CommandButton
Name = cmdSair
Caption = &Sair
CommandButton
Name = cmdIncluir
Caption = &Incluir
Sub Limpa_campos()
 txtcod_cli.Text = ""
 txtFax.Text = ""
 txtCompanyName.Text = ""
 txtContactName.Text = ""
 txtContactTitle.Text = ""
 txtCountry.Text = ""
 txtPostalCode.Text = ""
 txtAddress.Text = ""
 txtCity.Text = ""
 txtRegion.Text = ""
 txtPhone.Text = ""
End Sub
Private Sub cmdincluir_Click()
 data_cli.Recordset.FindFirst "CustomerID = ‘" & txtcod_cli.Text & “’”
 If data_cli.Recordset.NoMatch Then
 data_cli.Recordset.AddNew
 data_cli.Recordset("CustomerID") = txtcod_cli.Text
 data_cli.Recordset("CompanyName") = txtCompanyName.Text
 data_cli.Recordset("ContactName") = txtContactName.Text
 data_cli.Recordset("ContactTitle") = txtContactName.Text
 data_cli.Recordset(“Contry”) = txtCountry.Text
 data_cli.Recordset(“PostalCode”) = txtPostalCode.Text
 data_cli.Recordset(“Address”) = txtAddress.Text
 data_cli.Recordset(“City”) = txtCity.Text
 data_cli.Recordset(“Region”) = txtRegion.Text
 data_cli.Recordset(“Phone”) = txtPhone.Text
 data_cli.Recordset(“Fax”) = txtFax.text
 data_cli.Recordset.Update
 Else
 MsgBox "Cliente já cadastrado!!!"
 End If
 Limpa_campos
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 69
Exercício 14 : Alteração e Exclusão de Produtos
Fazer uma aplicação para alteração e exclusão de produtos em um
almoxarifado. Para isso, abra o project do exercício 10 e utilize o
formulário de alteração/exclusão.
Tela do exercício em tempo de Design.
Private Sub cmdexcluir_Click()
 data_cli.Recordset.Delete
 data_cli.Refresh
 Limpa_campos
End Sub
Sub Limpa_campos()
 txtcod_cli.Text = ""
 txtFax.Text = ""
 txtCompanyName.Text = ""
 txtContactName.Text = ""
 txtContactTitle.Text = ""
 txtCountry.Text = ""
 txtPostalCode.Text = ""
 txtAddress.Text = ""
 txtCity.Text = ""
 txtRegion.Text = ""
 txtPhone.Text = ""
End Sub
Resolução do Exercício:
Form
Name = FrmAltExcl
Caption = Inclusão de Novos
Clientes
Data Control
Name = data_cli
DatabaseName = ...\nwind.mdb
RecordsetType = Dynaset
RecordSource = Customers
TextBox
Name = txtFax
Text = (BRANCO)
TextBox
Name = txtCompanyName
Text = (BRANCO)
TextBox
Name = txtContactName
Text = (BRANCO)
TextBox
Name = txtContactTitle
Text= (BRANCO)
TextBox
Name = txtcAddress
Text = (BRANCO)
TextBox
Name = txtCity
Text = (BRANCO)
TextBox
Name = txtRegion
Text = (BRANCO)
TextBox
Name = txtCountry
Text = (BRANCO)
TextBox
Name = txtPostalCode
Text = (BRANCO)
TextBox
Name = txtPhone
Text = (BRANCO)
TextBox
Name = txtcod_cli
Text = (BRANCO)
Label
AutoSize = True
Caption = CEP:
Label
AutoSize = True
Caption = Estado:
Label
AutoSize = True
Caption = Telefone:
Label
AutoSize = True
Caption = País:
Label
AutoSize = True
Caption = FAX:
Label
AutoSize = True
Caption = Nome do Cliente:
Label
AutoSize = True
Caption = Companhia
Label
AutoSize = True
Caption = Cidade:
Label
AutoSize = True
Caption = Cargo:
Label
AutoSize = True
Caption = Endereço:
Label
AutoSize = True
Caption = Código do Cliente::
CommandButton
Name = cmdSair
Caption = &Sair
CommandButton
Name = cmdIncluir
Caption = &Incluir
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 70
Resolução do Exercício:
Private Sub cmdalterar_Click()
 data_cli.Recordset.Edit
 data_cli.Recordset("CostumerID”) = txtcod_cli.Text
 data_cli.Recordset("Fax") = txtFax.Text
 data_cli.Recordset("CompanyName") = txtCompanyName.Text
 data_cli.Recordset("ContactName") = txtContactName.Text
 data_cli.Recordset("ContactTite") = txtContactTitle.Text
 data_cli.Recordset("Country") = txtCountry.Text
 data_cli.Recordset("PostalCode") = txtPostalCode.Text
 data_cli.Recordset("Address") = txtAddress.Text
 data_cli.Recordset("City") = txtCity.Text
 data_cli.Recordset("Region") = txtRegion.Text
 data_cli.Recordset("Phone”) = txtPhone.Text
 data_cli.Recordset.Update
 Limpa_campos
End Sub
Private Sub txtcod_prod_LostFocus()
 data_cli.Recordset.FindFirst "CostumerID = ‘" + txtcod_cli.Text
 If Not data_cli.Recordset.NoMatch Then
 txtcod_cli.Text = data_cli.Recordset("CostumerID”)
 txtFax.Text = data_cli.Recordset("Fax")
 txtCompanyName.Text = data_cli.Recordset("CompanyName")
 txtContactName.Text = data_cli.Recordset("ContactName")
 txtContactTitle.Text = data_cli.Recordset("ContactTite")
 txtCountry.Text = data_cli.Recordset("Country")
 txtPostalCode.Text = data_cli.Recordset("PostalCode")
 txtAddress.Text = data_cli.Recordset("Address")
 txtCity.Text = data_cli.Recordset("City")
 txtRegion.Text = data_cli.Recordset("Region")
 txtPhone.Text = data_cli.Recordset("Phone”)
 txtcod_prod.Enabled = False
 Else
 MsgBox "Cliente não está cadastrado!!!"
 txtcod_cli.Enabled = True
 txtcod_cli.SetFocus
 End If
End Sub
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 71
Códigos de Erros
Para evitar que o VB interrompa seu programa quando um erro
ocorrer, adicione a instrução On Error depois da declaração do Sub.
A instrução On Error deve ser seguida pelos comandos:
- Resume Next
- GoTo <label>
Resume Next
Com essa instrução, a execução do programa volta para a
instrução imediatamente posterior àquela em que o erro foi detectado
pelo VB.
GoTo <label>
Quando acontece um erro, o VB desvia o fluxo de execução
para um label definido no módulo.
Exemplo:
Sub Form_Click()
On Error GoTo ErrorHandler
...
Exit Sub
 ErrorHandler: ‘Label
MsgBox = “Ocorreu o Erro “ & Err & “.”
 Resume Next
End Sub
NOTAS:
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 72
Variáveis e Constantes no VB
Tabela de Cores para a Função QBCOLOR( )
Preto 0 Cinza 8
Azul 1 Azul claro 9
Verde 2 Verde claro 10
Ciano 3 Ciano claro 11
Vermelho 4 Vermelho claro 12
Magenta 5 Magenta claro 13
Amarelo 6 Amarelo claro 14
Branco 7 Branco brilhante 15
Constantes para Botões
Constante Valor Botões Mostrados
VbOKOnly 0 OK
VbOKCancel 1 OK, Cancelar
VbAbortRetryIgnore 2 Anular, Repetir, Ignorar
VbYesNoCancel 3 Sim, Não, Cancelar
VbYesNo 4 Sim, Não
vbRetryCancel 5 Repetir, Cancelar
Constantes de Ícones
Constante Valor Ïcone Mostrado
VbCritical 16 Ícone de Stop
VbQuestion 32 Ícone de ponto de interrogação
VbExclamation 48 Ícone de ponto de exclamação
vbInformation 64 Ícone de Informação
Constantes de Saída da Função MsgBox( )
Constante Valor Botão Clicado
VbDOK 1 Botão de OK foi clicado
VbCancel 2 Botão de Cancelar foi clicado
VbAbort 3 Botão de Anular foi clicado
VbRetry 4 Botão de Repetir foi clicado
VbIgnore 5 Botão de Ignorar foi clicado
VbYes 6 Botão de Sim foi clicado
VbNo 7 Botão de Não foi clicado
Centro de Computação
Gerência de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)
Visual Basic 5.0 73
Dicas para Consulta
 Links interessantes:
http://www.microsoft.com/vbasic
http://www.forumaccess.com/
http://www.bowmansoft.com/vbwm/
http://www.vbonline.com/
http://www.viquevb.com/
http://www.developersmagazine.com.br/
& Livros/Revistas:
Revista Fórum Access /Visual Basic/ Office
Revista Developers – Revista brasileira para desenvolvedores.

Outros materiais