Você está na página 1de 35

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.

br)

Exerccio 4: Calculadora
Fazer uma calculadora que tenha as seguintes operaes: soma, subtrao, diviso e multiplicao.

Resoluo do Exerccio:
Form Caption =Formulrio do Exerccio Name = Frmexerc TextBox Name = txtresult Text = (BRANCO) HScrollBar Name = hScrPrim_valor LargeChange = 10 Max = 1000 CommandButton Caption = &Calcular Name = cmdcalcular OptionButton Caption = Subtrao Name = OptSub OptionButton Caption = Diviso Name = OptDiv TextBox Name = txtprim_num Text = (BRANCO) Label AutoSize = True Caption = Resultado da Operao: Name = lblresult Frame Caption = Operaes Name = Frame2 TextBox Name = txtseg_num Text = (BRANCO) HScrollBar LargeChange = 10 Max = 1000 Name = HScrSeg_valor CommandButton Caption = &Sair Name = cmdsair OptionButton Caption = Soma Name = OptSoma OptionButton Caption = Multiplicao Name = OptMult Label AutoSize = True Caption = Primeiro Valor: Name = lblprim_valor Label AutoSize = True Caption = Segundo Valor: Name = lblseg_valor Private Sub cmdsair_Click() End End Sub Private Sub HScrSeg_valor_Scroll() txtseg_num = HScrSeg_valor.Value End Sub

Tela do Exerccio.
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 "Diviso por Zero!" End If End If End Sub

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

Visual Basic 5.0

39

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Criando Efeitos Especiais em Forms


No VB, existem controles que permite a criao de imagens geomtricas. Controle Line usado para criar uma linha em seu formulrio (form). Suas propriedades mais importantes so: BorderWidth, BorderStyle, BorderColor, Visible. Controle Shape usado para desenhar uma figura geomtrica em seu formulrio (form). possvel selecionar o formato dessa figura. Os formatos so: retngulo, retngulo arredondado, quadrado, quadrado arredondado, oval, circular. Suas principais propriedades so: FillColor: permite definir a cor do objeto. (Preenchimento) FillStyle: permite definir o padro do preenchimento. Visible: permite que voc oculte ou exiba seu objeto.

NOTAS:
Teste! Crie um novo Project (A partir do menu File, escolha a opo New Project). No formulrio, desenhe os controles Line, Shape e modifique suas propriedades.

Visual Basic 5.0

40

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Funes do Mouse
O VB permite que voc utilize o controle Image para criar botes de comando no estilo da barra de ferramentas em seus programas. Para criar esses botes, 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 usurio libera o boto do mouse. Os botes possuem trs estados: No pressionado - esse o estado normal do boto. No est selecionado. Pressionado - esse o estado do boto que est selecionado ou est ativo. Desativado - o estado utilizado quando um boto no est disponvel para o programa. Mais algumas propriedades da Caixa Texto FontBold: define se o texto da caixa de texto deve ser negrito ou no. Valor que recebe True se for configurar o texto para negrito e False, caso contrrio. FontItalic: define se o texto da caixa de texto deve ser itlico ou no. Valor que recebe True se for configurar o texto para itlico e False, caso contrrio. FontUnderline: define se o texto da caixa de texto deve ser sublinhado ou no. Valor que recebe True se for configurar o texto para sublinhado e False caso contrrio. Image Box Tag: utiliza-se esta propriedade para identificar um objeto. No prximo exerccio, esta propriedade ser utilizada para identificar o status do boto.

NOTAS:
Para criarmos esses tipos de botes, estaremos trabalhando com o controle Image Box que mostrar a imagem correspondente a ao que voc tomou. Por exemplo, se voc pressionou o boto, aparecer a imagem do boto pressionado. possvel alterar os estados dos botes atravs da procedure de evento MouseDown, por exemplo.

Visual Basic 5.0

41

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Resoluo do Exerccio: Exerccio 5: Criando botes Grficos


Faa um programa que permita que o usurio digite seu texto numa caixa de texto e formate-o (Negrito, Itlico e Sublinhado) da maneira que desejar.
Form Caption = Formulrio para Exerccio Name = frmexerc TextBox MultiLine = True Name = txttexto Label AutoSize = 'True Caption = Clique nos botes para formatar o texto. Name = Label1 Image Image Name = Image2 Name = Image1 Picture = ...\bld-up.bmp Picture = ...\itl-up.bmp Tag = Para cima Tag = Para cima Visible = False Visible = False Image Image Name = Image5 Name = Image4
Picture = ...\bld-dwn.bmp

Image Name = Image3


Picture = ...\ulin-up.bmp

Picture =...\itl-dwn.bmp

Tag = Para cima Visible = False Image Name = Image6


Picture = ...\ulin-dwn.bmp

Tela do Exerccio
Private Sub Image7_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Tag = Para baixo Visible = False Image Picture = Tag = Para cima Name = Image9

Tag = Para baixo Visible = False Image Picture= Tag = Para cima Name = Image7 CommandButton Caption = &Sair Name = cmdsair

Tag = Para baixo Visible = False Image Picture = Tag = Para cima Name = Image8

If Image7.Tag = "Para cima" Then Image7.Picture = Image4.Picture txttexto.FontBold = True Private Sub Image9_ MouseDown(Button As Integer, Image7.Tag = "Para baixo" Shift As Integer, X As Single, Y As Single) Else If Image9.Tag = "Para cima" Then Image7.Picture = Image1.Picture Image9.Picture = Image6.Picture txttexto.FontBold = False txttexto.FontUnderline = True Image7.Tag = "Para cima" Image9.Tag = "Para baixo" End If Else End Sub Image9.Picture = Image3.Picture txttexto.FontUnderline = False Image9.Tag = "Para cima" End If End Sub

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

Visual Basic 5.0

42

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Arrastar-e-Soltar (Drag and Drop)


Em aplicaes desenvolvidas em Visual Basic, voc pode utilizar muitos recursos para facilitar e agradar o usurio. Uma dessas caractersticas do VB, o Drag-and-Drop que permite que o usurio arraste um objeto at outro e solte-o. Usando as propriedades, eventos e mtodos que o VB possui, voc pode especificar como esse recurso deve se comportar em sua aplicao. Propriedades DragMode Permite que seu objeto seja arrastado automaticamente ou manualmente Especifica qual o cone que deve ser mostrado quando o objeto arrastado. Reconhece quando um controle solto em outro objeto. Reconhece quando um controle arrastado em cima de outro. Inicia ou termina a ao de arrastar manualmente.

NOTAS:
Se voc configurar a propriedade DragMode do objeto para Manual, para iniciar e terminar a ao de arrastar-e-soltar, ser preciso programar o mtodo Drag. Os valores aceitos por este mtodo : Constante VbCancel VbBeginDrag VbEndGrag Valor 0 1 2 Ao Cancela a operao Drag-and-Drop Inicia a operao de arrastar. Termina a operao para arrastar e solta o objeto.

DragIcon

Evento DragDrop() Este evento possui 3 argumentos: Source: que identifica o objeto que voc esta arrastando. Voc pode utilizar esse argumento com mtodos e propriedades. Por exemplo: source.visible = false. X, Y: que so coordenadas. X a coordenada horizontal e Y a coordenada vertical.

Eventos

DragDrop

DragOver

Mtodos

Drag

Voc pode configurar a propriedade DragMode de seu objeto para 1 (que permite que o objeto seja arrastado).

Visual Basic 5.0

43

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 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.

Resoluo do Exerccio:
Form Name = FormDrag_Drop Caption = Teste Arrastar-e-Soltar Image Name = Image6 Picture = ..\trash02b.ico Stretch = True Visible = False Image Name = Image3 DragIcon = ..\fire.ico DragMode = Automatic Picture = ..\fire.ico Stretch = True Tag = Fogo Source.Visible = False If Source.Tag = "Fogo" Then Image5.Picture = Image6.Picture End If End Sub Image Name = Image5 Picture = ..\trash02a.ico Stretch = True Image Name = Image4 DragIcon = ..\point11.ico DragMode = Automatic Picture = ...\point11.ico Stretch = True Image Name= Image2 DragIcon = ..\gaspump.ico DragMode = Automatic Picture = ..\gaspump.ico Stretch = True

Tela do exerccio.

Private Sub Image5_DragDrop(Source As Control, X As Single, Y As Single)

Visual Basic 5.0

44

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

NOTAS: CommonDialog
Esse objeto permite exibir cinco caixas de dilogo nos padres do Windows. Apenas uma caixa de dilogo pode ser exibida a partir de um objeto Common Dialog. Para exibir uma determinada caixa de dilogo, deve ser utilizado o mtodo correspondente caixa desejada. Os contedos das caixas so controlados atravs de suas propriedades, ou seja, quando uma caixa preenchida, os resultados so apresentados por suas propriedades. Caixas de Dilogo e sua utilizao: Abrir: para abrir um arquivo. Mtodo correspondente: ShowOpen Salvar Como: para salvar um arquivo. Mtodo correspondente: ShowSave Imprimir: para definir as opes de impresso. Mtodo correspondente: ShowPrinter Fonte: para definir uma fonte e um estilo para textos. Mtodo correspondente: ShowFont Cor: para escolher uma nova cor da paleta. Mtodo correspondente: ShowColor Flags: define qual o tipo da caixa Color dever ser exibida. Os Flags podem ser: &H1&: Exibe a CommonDialog Cor padro, com as cores personalizadas como opo. &H2&: Exibe a paleta padro e a personalizada. &H4&: Exibe a paleta padro com o boto de Cores Personalizadas desabilitado. &H8&: Exibe o boto de ajuda na CommonDialog Cor. Color: esta propriedade utilizada para configurar a cor dos objetos do VB que suportam cor. possvel modificar a cor do fundo de um formulrio, as cores das formas no formulrio e as cores de fundo dos objetos. Um objeto CommonDialog no visvel ao usurio em tempo de execuo do programa. Propriedades correspondentes CommonDialog Abrir: Filter: define quais os tipos de arquivos devero ser exibidos. Por exemplo:
commondialog1.filter = Bitmaps (*.BMP) | *.BMP |Metafiles (*.WMF) | *.WMF

Filename: define o nome do arquivo selecionado. Propriedades correspondentes CommonDialog Color:

Visual Basic 5.0

45

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Controle ImageList
O controle ImageList utilizado para armazenar uma lista de imagens para serem utilizadas nas barras de ferramentas, animaes e aplicativos. Cada ImageList responsvel pela criao de apenas uma lista de imagens. Sua capacidade limitada pela mmoria de seu micro.

A guia Images a parte principal para a criao da lista de imagens, pois nela que se encontram as propriedades para insero 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 nmero de imagens inseridas na lista Para inserir um imagem Lista: Utilize o boto Insert Picture, escolha a imagem e clique no boto Open. Para remover uma imagem da lista: Selecione a imagem desejada e clique o boto Remove Picture.

NOTAS:
Pgina de Propriedades. Para exibir a Pgina de Propriedades do ImageList, selecione o objeto no formulrio, clique-o com o boto direito do mouse e escolha a opo propriedades.

Visual Basic 5.0

46

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Controle Toolbar
Este controle utilizado para criar barras de ferramentas padro do Windows 95.

Key/Tag: texto para identificao do boto. Value: define se deve estar pressionado ou no pressionado. Style: estilo no qual o boto deve ser mostrado. ToolTipText: texto explicativo sobre o boto que deve aparecer para o usurio. Image: se a ToolBar estiver associada uma ImageList, voce pode utilizar uma imagem da lista de imagem atravs seu index. Para inserir um novo boto, utilize: Boto Insert Button. Para excluir um boto da ToolBar: Utilize o boto Remove Button.

NOTAS:

Pgina de Propriedades. Para exibir a Pgina de Propriedades do ToolBar, selecione o objeto no formulrio, clique-o com o boto direito do mouse e escolha a opo Propriedades. Na guia Buttons, principais propriedades: Index: ndice do boto na barra de ferramentas. Caption: texto que deve aparecer para descrever o boto. Description: descrio da funo do boto.

Visual Basic 5.0

47

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 7: Utilizando as Common Dialog


Fazer uma aplicao que permita a abertura de imagens e a configurao do ambiente de trabalho pelo usurio (cores do Formulrio). Deve tambem limpar a tela da Imagem quando o usurio desejar.

Resoluo do Exerccio:
Form Name = Form1 Caption = Abrindo Figuras ToolBar Name = Toolbar1 CommonDialog Name = CommonDialog1 Imagem Box Name = Image1 Image List Name = ImageList1

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"

Tela do exerccio em tempo de Design.

CommonDialog1.ShowOpen If CommonDialog1.CancelError <> True Then Image1.Picture = LoadPicture(CommonDialog1.filename) End If Case "Color" CommonDialog1.Flags = &H8& CommonDialog1.ShowColor If CommonDialog1.CancelError <> True Then Form1.BackColor = CommonDialog1.Color End If Case "Fechar" Image1.Picture = LoadPicture() Case "Sair" End End Select End Sub

Visual Basic 5.0

48

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Acesso ao Sistema de Arquivos


O VB possui controles que permitem o acesso ao seu sistema de arquivos, ou seja, so controles que permitem fazer a pesquisa em diretrios e drives e a seleo de arquivos. Os controles so: Controle DriveList: permite a pesquisa dos drives vlidos em seu sistema. Controle DirListBox: permite a pesquisa em pastas (diretrios) existentes no drive selecionado.

NOTAS:
Eventos mais utilizados: Para DirListBox Change() modifica o diretrio selecionado. Ocorre quando o usurio d um duplo clique em um novo diretrio ou quando voc muda a propriedade Path atravs de cdigo de programao. Para DriveList Change() Modifica o drive selecionado. Ocorre quando o usurio seleciona um novo diretrio ou quando voc muda a propriedade Drive atravs de programao. Para FileListBox Click: Ocorre quando o usurio pressiona o boto do mouse em um objeto. Pode tambm 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.

Controle FileListBox: permite a seleo de um arquivo especfico em uma pasta (diretrio). Trabalhando com as Propriedades: Existem propriedades que no podem ser configuradas em tempo de design do programa, ou seja, no possvel configur-las utilizando a janela Properties (Janela de Propriedades). Elas s podem ser configuradas em tempo do execuo: Drive: recebe a letra do drive selecionado (utilizado pelo controle DriveListBox). Path: recebe o nome do diretrio selecionado (utilizado pelos controles DirectoryListBox e FileListBox). FileName: quando um nome de arquivo selecionado, o VB o coloca nesta propriedade (utilizado pelo controle FileListBox).

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 espaamento entre os ponto-e-vrgula).

Visual Basic 5.0

49

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 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.

Resoluo do Exerccio:
Form Caption = Procura de Arquivos Name = frmprocura DriveList Name = drive1 Command Caption = &Sair Name = cmdsair Command Caption = Mostrar Figura Enabled = False Name = cmdfigura DirListBox Name = diretorios

FileListBox Name = arquivos Pattern = *.bmp;*.wmf;*.ico 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 Tela do Exerccio. 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

Visual Basic 5.0

50

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Formulrios MDI (Multiple Document Interface)


A Interface para Multiplos Documentos uma caracterstica muito marcante na programao em ambiente Windows. Esses tipos de Formulrios criam uma relao hierrquia entre um formulrio (que o Formulrio MDI-pai) e os outros (que so os formulrios CHILD). Esses programas so como o Word, que permite que vrios documentos sejam abertos simultaneamente. Caractersticas do Formulrios MDI Um Formulrio Child sempre exibido na rea interna do formulrio MDI-pai. No possvel mostr-lo fora desta rea. Quando esse formulrio minimizado, seu cone aparecer no Formulrio MDI-pai e no como um boto na barra de tarefas. Quando o Formulrio MDI-pai minimizado, todas as janelas existentes nele so minimizadas e so exibidas como um boto na barra de tarefas. As barras de menus dos formulrios Child so exibidos na barra de menus do formulrio MDI-pai.

NOTAS:
Para criar uma aplicao MDI: 1. Crie um novo Project 2. A partir do Menu Project, escolha a opo Add MDI Form. Assim, voc criou um formulrio-pai. Para criar formulriosfilhos, voc precisa: 1. A partir do menu Project, escolha a opo Add Form. Nas propriedades do Formulrio-filho, configura a propriedade MDI Child para True. Para exibir todos os formulrios Child do seu Project num Formulrio MDI-pai, configure a propriedade AutoShow (do formulrio MDI-pai) para True. Em formulrios do tipo MDI, no possvel desenhar controles que no possuam a propriedade Align. Para desenhar objetos que no possuam esta propriedade, desenhe um controle Picture no formulrio e depois, dentro dele, desenhe os demais controles. Exemplo:

Visual Basic 5.0

51

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 9: Crie um programa MDI


Crie um novo Project. Neste Project, crie um formulrio-pai e trs formulrios-filhos.

Resoluo do Exerccio:
MDIForm Caption = Controle de Estoque WindowState = Maximized Name = MDIControl_est Form Caption = Formulrio para Incluso MDIChild = True Name = FrmIncluso Form Caption = Formulrio para Alterao/Excluso MDIChild = True Name = FrmAlt_Excl Form Caption = Formulrio para Consulta MDIChild = True Name = FrmConsulta

Tela do Exerccio

Visual Basic 5.0

52

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Trabalhando com Menus


O VB possui uma ferramenta para a construo de menus: o Menu Editor . Utilize-o para criar menus customizados em sua aplicao. Para construir um menu Selecione um formulrio e a partir do menu Tools, escolha a opo Menu Editor.

NOTAS:
Cada item do seu Menu um objeto. Os itens so inseridos de forma hierrquica. 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 hfen. Para permitir o acesso ao menu pelo teclado, antes da letra, digite um &. Quando voc estiver executando a aplicao, a letra estar sublinhada e o usurio pode acessar o menu pressionando ALT + a letra sublinhada. Se voc precisar de um & ( e comercial) em seu menu, digite duas vezes o smbolo no Caption. Name: Caixa de texto na qual voc deve inserir um nome para o objeto. Esse nome s ser usado em programao, para se referir ao item do menu. No aparecein no menu. Index: Nesta caixa de texto voc define um valor numrico que determina a posio do controle com o vetor. Esta posio no relativa a posio da tela. Shortcut: neste item voc define uma tecla de atalho para o seu menu. HelpContextID: Nesta caixa de texto voc define um valor numrico para o Context ID que usado para encontrar o tpico apropriado no arquivo de Help identificado pela propriedade HelpFile. NegotiatePosition: neste item, voc pode determinar se e como o menu aparecer em determinado formulrio.

Quando os Menus so criados, vo aparecendo nesta caixa na ordem hierrquica em que foram criados.

Janela do Menu Editor

Visual Basic 5.0

53

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Para construir um menu (continuao) NOTAS:


Checked: define se deve ou no aparecer um check inicialmente do lado esquerdo do item do menu. Enabled: define se este menu deve ou no estar abilitado. Visible: define se o item do menu deve estar visvel ou no. Use estes botes para mudar de nvel em um menu do mais alto at o mais baixo. Voc pode criar at 4 nveis de submenus no VB. Use estes botes para mudar de posio de um item de menu no mesmo nvel (para cima ou para baixo na lista de menu). Os seguintes botes so para: O mtodo Show utilizado para visualizar um Form. <nome do formulrio>.Show Com mtodo Hide, o Form permanece carregado na memria, mas no visualizado pelo usurio. <nome do Formulrio>.Hide Os comandos Load e Unload trazem e tiram um Form da memria respectivamente. Load <nome do Formulrio> Unload <nome do Formulrio> Para trabalhar com formulrios em menus, preciso utilizar alguns mtodos para visualizao:

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.

Visual Basic 5.0

54

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 10: Construa um Menu


Para este exerccio, abra o Project do exerccio anterior (exerccio 9). E construa um menu como a figura abaixo mostra:

NOTAS:
Para mostrar os formulrios de Incluso, Alterao/Excluso e Consulta a partir dos menus, utilize os mtodos apresentados na pgina anterior (54).

Tela do Exerccio

Visual Basic 5.0

55

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Acessando um Banco de Dados atravs do DATA CONTROL.


O que o Data Control? O Data Control permite a ligao do Form com um banco de dados. Atravs desse objeto, voc pode criar uma aplicao que mostre e atualize seus dados sem precisar programar. Com o Data Control, possvel trabalhar com recordsets vazios, adicionar, editar e excluir registros. Em aplicaes mais sofisticadas, voc precisa tratar algumas condies de erros que o Data Control no trata. Como funciona o Data Control? Uma vez que a aplicao 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.

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 visualizao. 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 funo F4.

O Data Control possui setas que permitem que voc role pelos registros da tabela aberta durante a execuo do programa e uma legenda para descrever o contedo 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.

Visual Basic 5.0

56

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

O que um Recordset? um conjunto de linhas e colunas que contm todos dados da tabela. O Data Control que abre um banco de dados carrega esse Recordset. Mtodos do Recordset MoveFirst: este mtodo move do registro atual para o primeiro registro da sua tabela. MoveNext: este mtodo move do registro atual para o prximo registro. MovePrevious: este mtodo 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 Table Dynaset Snapshop Value 0 1 2

NOTAS:
BOF (Begin of File) Ana Campos Jos Silva Joo Castro Sueli Piva Rute Salim EOF (End of File) Mtodos para controlar o incio e o fim do arquivo BOF: controla o incio do arquivo. EOF: controla o final do arquivo. Sintaxe: data1.recordset.BOF (para controlar o incio do arquivo). data1.recordset.EOF (para controlar o fim do arquivo). Por exemplo: Private Sub cmdProximo_Click() este boto tem a funo de navegar para o prximo registro do Data Control. If data1.recordset.EOF then MsgBox Final de Arquivo!! Else Data1.recordset.movenext MoveNext o mtodo utilizado para mover a posio do Data Control para o prximo registro. End If End Sub

Visual Basic 5.0

57

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Acessando um Banco de Dados atravs do DATA CONTROL (continuao)


Propriedades para a manipulao de Final de arquivo (EOF end of file) e incio de arquivo (BOF - begin of file): O objeto Data Control tambm gerencia o que acontece quando encontra um Recordset vazio (sem registros). As propriedades que devemos trabalhar para controlar as aes que o Data Control deve tomar so: BOFAction: indica qual a ao que o Data Control deve tomar quando a propriedade BOF for igual a TRUE, ou seja, quando for comeo de arquivo. Valores possveis: 0. Move First: o Data Control mover o ponteiro para o primeiro registro do arquivo. 1. BOF: o Data Control continua na posio de comeo de arquivo. EOFAction: indica qual a ao que o Data Control deve tomar quando a propriedade EOF for igual a TRUE, ou seja, quando for fim de arquivo. Valores possveis: 0. Move Last: o Data Control mover o ponteiro para o ltimo registro do arquivo. 1. EOF: o Data Control continua na posio de fim de arquivo. 2. AddNew: indica que o Data Control deve ir para um novo registro.

NOTAS:

Visual Basic 5.0

58

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Objetos Associados (Data Bound) ao Data Control


Os objetos associados Data Bound so utis pois facilitam o preenchimento dos objetos da tela com o contedo do banco de dados. Existem 3 tipos de controles deste tipo:

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.

1. Data Bound Combo box: semelhante a Caixa de Combinao, com a diferena 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 Combinao funcione como o esperado, preciso configurar algumas propriedades que esto listadas a seguir: DataSource Name: especifica qual o Data Control ser atualizado quando um seleo 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 Recordset especificado 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 seleo for feita. BoundText Text: valor do campo da coluna associada. Quando uma seleo feita, o valor passado para atualizar o Recordset especificado pelo DataSource e DataField.

3. Data Bound Grid: permite a manipulao de uma srie de linhas e colunas representando um registro e campos do Recordset do Data Control. O DBGrid semelhante ao Controle Grid, a diferena que com o DBGrid, no preciso programar as linhas e colunas da tabela, preciso apenas associar um Data Control ao objeto que automaticamente, o Grid ser preenchido

Visual Basic 5.0

59

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Controle Status Bar


Este controle permite a criao de uma barra de Status para o usurio. A barra de Status utilizada para emitir informaes sobre a tela atual aos usurios.

A guia mais importante para este treinamento, a guia Panels pois nela que estaremos definindo as mensagens que devem ser mostradas para os usurios. Principais propriedades: Index: ndice da mensagem na barra de status. Text: texto que deve aparecer para descrever o boto. Description: descrio da funo do boto. ToolTipText: texto explicativo sobre o boto que deve aparecer para o usurio. Key/Tag: texto para identificao do boto. Alignment: Define o alinhamento do texto da mensagem dentro do Painel.

Exemplo da utilizao da Status Bar. Propriedades do Controle:

Para inserir um novo painel, utilize: Boto Insert Panel. Para excluir um painel da ToolBar: Utilize o boto Remove Panel.

NOTAS:
Para exibir a pgina de propriedades de um controle, clique com o boto direito do mouse sobre o objeto selecionado e escolha a opo Properties.

Pgina de Propriedades.

Visual Basic 5.0

60

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Controle SSTab
Este controle utilizado para dividir a tela do formulrio em vrias funes.

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 boto. Tab Count: Nmero de guias. TabPerRow: Nmero de guias por linha. Orientation: Define a orientao das guias da SSTab, se as

guias devem estar no topo, a esquerda, a direita ou no embaixo. Exemplo da utilizao do SSTab. Propriedades do Controle:
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 pgina de propriedades de um controle, clique com o boto direito do mouse sobre o objeto selecionado e escolha a opo Properties.

Pgina de Propriedades do Controle SSTab.

Visual Basic 5.0

61

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Resoluo do Exerccio: Exerccio 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 exerccio 10 e utilize o formulrio de Consulta.
Form Data Control Data Control Name = FrmConsulta Name = data_cli Name = data_order Caption = Formulrio para DatabaseName = DatabaseName = Consulta ...\nwind.mdb ...\nwind.mdb RecordsetType = Dynaset RecordsetType = Dynaset RecordSource = Customers RecordSource = TextBox TextBox TextBox DataSource = data_cli DataSource = data_cli DataSource = data_cli DataField = CompanyName DataField = ContactName DataField = ContactTitle Name = txtCompanyName Name = txtContactName Name = txtContactTitle TextBox TextBox TextBox DataSource = data_cli DataSource = data_cli DataSource = data_cli DataField = Address DataField = City DataField = Region Name = txtcAddress Name = txtCity Name = txtRegion TextBox TextBox TextBox DataSource = data_cli DataSource = data_cli DataSource = data_cli DataField = Country DataField = PostalCode DataField = Phone Name = txtCountry Name = txtPostalCode Name = txtPhone Label Label Label AutoSize = True AutoSize = True AutoSize = True Caption = Cidade: Caption = CEP: Caption = Estado: Label Label Label AutoSize = True AutoSize = True AutoSize = True Caption = Telefone: Caption = Pas: Caption = FAX: Label Label DBGrid AutoSize = True AutoSize = True Name: DBGOrders Caption = Nome do Cliente: Caption = Companhia DataSource: data_orders Label Label CommandButton AutoSize = True AutoSize = True Name = cmdSair Caption = Cargo: Caption = Endereo: 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

Visual Basic 5.0

62

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Funo InputBox
Uma caixa de dilogo que permite a entrada de dados pelo usurio. Sua sintaxe: <variavel_string> = InputBox(mensagem, ttulo, valor Default) Parmetros da funo: Mensagem: a expresso que descreve o que deve ser digitado. Ttulo: o ttulo da caixa de dilogo Valor Default: o valor padro da InputBox, se nada for digitado. Exemplo de uma caixa de dilogo InputBox:

NOTAS:

Visual Basic 5.0

63

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Localizando registros com o mtodo SEEK


Para localizar registros em sua tabela aberta pelo Data Control, voc pode utilizar o mtodo SEEK, o mtodo de procura mais rpido pois utiliza um ndice da tabela aberta do banco de dados. Sua sintaxe :
<Data_Control.name>.Recordset.seek <comparao>, <chave>

NOTAS:
Esse mtodo, por utilizar um ndice da tabela, acessar o dado procurado diretamente, no 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 registro foi ou no encontrado, utilize o mtodo NoMatch. Por exemplo: If data_produto.Recordset.NoMatch then <instruo> Ou seja, se o registro no existir, ento, podemos inclu-lo. If NOT data_produto.Recordset.NoMatch then <instruo> Quer dizer que o registro existe, ento, voc poder traz-lo para a sua tela de consulta ou no permitir a entrada de um novo registro, pois ele j existe.

onde o parmetro <comparao> uma string de comparao e pode ter os seguintes valores: =, <=, >=, <>, < ou > e <chave> o valor a ser procurado na tabela. Para utilizar este mtodo 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 sero alteradas so: 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 cdigo do produto que for igual ao cdigo digitado na caixa de texto txtcod_produto.text.

Visual Basic 5.0

64

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 12: Localizando Registros em um Banco de Dados


Utilizando o exerccio anterior, crie um boto para localizar registros na base pelo Nome do Cliente (use o mtodo SEEK).

Resoluo do Exerccio:
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 no localizado!!!") Data_cli.Recordset.MoveFirst End If End If End Sub

Visual Basic 5.0

65

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Mtodos para Incluso, Alterao e Excluso em Banco de dados


Quando utilizamos o Data Control, os mtodos existentes para estas operaes, so: Para Incluso basta usar a seguinte sintaxe: <data_control.name>.recordset.AddNew O mtodo AddNew "prepara" a tabela para receber um novo registro. Se este a tabela tiver uma chave primria, 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 alterao: < data_control.name>.recordset.Edit Com este mtodo, voc prepara o registro atual para edio. Para efetuar as operaes de Incluso e Alterao use: <data_control.name>.recordset.Update Para excluso: <data_control.name>.Recordset.Delete Utilize o mtodo Refresh para atualizar os dados tabela aberta que foram atualizados com as operaes de incluso, alterao e excluso.

NOTAS:

Visual Basic 5.0

66

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Localizando registros com o mtodo FIND


Para localizar registros em sua tabela aberta pelo Data Control, voc pode utilizar o mtodo FindFirst (significa "Encontrar o Primeiro). Sua sintaxe :
<Data_Control.name>.Recordset.FindFirst campo da tabela = & caixa_de_texto.text

NOTAS:
Atribuindo campos da tabela a Caixa Textos da tela do Formulrio. 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.

Por exemplo: Data_produto.recordset.findefirst cod_produto = & text1.text Esse mtodo 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 formulrio) e posicionar o seu Data Control no registro encontrado. Para testar se o registro foi ou no encontrado, utilize o mtodo NoMatch. Por exemplo: If data_produto.Recordset.NoMatch then <instruo> Ou seja, se o registro no existir, ento, podemos inclu-lo. If NOT data_produto.Recordset.NoMatch then <instruo> Quer dizer que o registro existe, ento, voc poder traz-lo para a sua tela de consulta ou no permitir a entrada de um novo registro, pois ele j existe.

Visual Basic 5.0

67

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 13: Incluso de Novos Clientes


Fazer uma aplicao para incluso de novos clientes. Para isso, abra o project do exerccio 10 e utilize o formulrio de incluso.

Resoluo do Exerccio:
Data Control Name = data_cli de DatabaseName = ...\nwind.mdb RecordsetType = Dynaset RecordSource = Customers TextBox TextBox Name = txtCompanyName Name = txtContactName Text = (BRANCO) Text = (BRANCO) TextBox TextBox Name = txtcAddress Name = txtCity Text = (BRANCO) Text = (BRANCO) TextBox TextBox Name = txtCountry Name = txtPostalCode Text = (BRANCO) Text = (BRANCO) TextBox Label Name = txtcod_cli AutoSize = True Text = (BRANCO) Caption = CEP: Label Label AutoSize = True AutoSize = True Caption = Telefone: Caption = Pas: Label Label AutoSize = True AutoSize = True Caption = Nome do Cliente: Caption = Companhia Label Label AutoSize = True AutoSize = True Caption = Cargo: Caption = Endereo: CommandButton CommandButton Name = cmdSair Name = cmdIncluir Caption = &Sair 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 Form Name = FrmInclusao Caption = Incluso Novos Clientes TextBox Name = txtFax Text = (BRANCO)

Tela do Exerccio.
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

TextBox Name = txtContactTitle Text = (BRANCO) TextBox Name = txtRegion Text = (BRANCO) TextBox Name = txtPhone Text = (BRANCO) Label AutoSize = True Caption = Estado: Label AutoSize = True Caption = FAX: Label AutoSize = True Caption = Cidade: Label AutoSize = True Caption = Cdigo do Cliente::

Visual Basic 5.0

68

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Exerccio 14 : Alterao e Excluso de Produtos


Fazer uma aplicao para alterao e excluso de produtos em um almoxarifado. Para isso, abra o project do exerccio 10 e utilize o formulrio de alterao/excluso.

Resoluo do Exerccio:
Form Data Control Name = FrmAltExcl Name = data_cli Caption = Incluso de Novos DatabaseName = ...\nwind.mdb Clientes RecordsetType = Dynaset RecordSource = Customers TextBox TextBox Name = txtCompanyName Name = txtContactName Text = (BRANCO) Text = (BRANCO) TextBox TextBox Name = txtcAddress Name = txtCity Text = (BRANCO) Text = (BRANCO) TextBox TextBox Name = txtCountry Name = txtPostalCode Text = (BRANCO) Text = (BRANCO) TextBox Label Name = txtcod_cli AutoSize = True Text = (BRANCO) Caption = CEP: Label Label AutoSize = True AutoSize = True Caption = Telefone: Caption = Pas: Label Label AutoSize = True AutoSize = True Caption = Nome do Cliente: Caption = Companhia Label Label AutoSize = True AutoSize = True Caption = Cargo: Caption = Endereo: CommandButton CommandButton Name = cmdSair Name = cmdIncluir Caption = &Sair Caption = &Incluir TextBox Name = txtFax Text = (BRANCO)

Tela do exerccio em tempo de Design.


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

TextBox Name = txtContactTitle Text = (BRANCO) TextBox Name = txtRegion Text = (BRANCO) TextBox Name = txtPhone Text = (BRANCO) Label AutoSize = True Caption = Estado: Label AutoSize = True Caption = FAX: Label AutoSize = True Caption = Cidade: Label AutoSize = True Caption = Cdigo do Cliente::

Private Sub cmdexcluir_Click() data_cli.Recordset.Delete data_cli.Refresh Limpa_campos End Sub

Visual Basic 5.0

69

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Resoluo do Exerccio:
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 no est cadastrado!!!" txtcod_cli.Enabled = True txtcod_cli.SetFocus End If End Sub

Visual Basic 5.0

70

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Cdigos de Erros
Para evitar que o VB interrompa seu programa quando um erro ocorrer, adicione a instruo On Error depois da declarao do Sub. A instruo On Error deve ser seguida pelos comandos: Resume Next GoTo <label>

NOTAS:

Resume Next Com essa instruo, a execuo do programa volta para a instruo imediatamente posterior quela em que o erro foi detectado pelo VB. GoTo <label> Quando acontece um erro, o VB desvia o fluxo de execuo para um label definido no mdulo. Exemplo: Sub Form_Click() On Error GoTo ErrorHandler ... Exit Sub ErrorHandler: Label MsgBox = Ocorreu o Erro & Err & . Resume Next End Sub

Visual Basic 5.0

71

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

Variveis e Constantes no VB
Tabela de Cores para a Funo QBCOLOR( )
Preto Azul Verde Ciano Vermelho Magenta Amarelo Branco 0 1 2 3 4 5 6 7 Cinza Azul claro Verde claro Ciano claro Vermelho claro Magenta claro Amarelo claro Branco brilhante 8 9 10 11 12 13 14 15

Constantes de Sada da Funo MsgBox( )


Constante VbDOK VbCancel VbAbort VbRetry VbIgnore VbYes VbNo Valor 1 2 3 4 5 6 7 Boto Clicado Boto de OK foi clicado Boto de Cancelar foi clicado Boto de Anular foi clicado Boto de Repetir foi clicado Boto de Ignorar foi clicado Boto de Sim foi clicado Boto de No foi clicado

Constantes para Botes


Constante VbOKOnly VbOKCancel VbAbortRetryIgnore VbYesNoCancel VbYesNo vbRetryCancel Valor 0 1 2 3 4 5 Botes Mostrados OK OK, Cancelar Anular, Repetir, Ignorar Sim, No, Cancelar Sim, No Repetir, Cancelar

Constantes de cones
Constante VbCritical VbQuestion VbExclamation vbInformation Valor 16 32 48 64 cone Mostrado cone de Stop cone de ponto de interrogao cone de ponto de exclamao cone de Informao

Visual Basic 5.0

72

Centro de Computao Gerncia de Atendimento ao Cliente (e-mail apoio@ccuec.unicamp.br)

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 Frum Access /Visual Basic/ Office Revista Developers Revista brasileira para desenvolvedores.

Visual Basic 5.0

73

Você também pode gostar