Baixe o app para aproveitar ainda mais
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.
Compartilhar