Your SlideShare is downloading. ×
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Apostila microsoft visual basic
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apostila microsoft visual basic

6,678

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
6,678
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
133
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ADO Ling. de Programação Prof.: Renata Rocha MICROSOFT VISUAL BASIC1. A APLICAÇÃO TRADICIONAL E A APLICAÇÃO ORIENTADA A OBJETOS EDIRIGIDA A EVENTOS Em uma aplicação tradicional ou programada de forma procedural, a aplicação porsi só controla que porções do código serão executadas. A execução começa na primeiralinha de código e segue um caminho pré-definido através de toda a aplicação, chamandosubrotinas conforme for sendo necessário. Em uma aplicação controlada por eventos ou event-driven, uma ação do usuárioou do sistema ativa um procedimento associado a este evento. Assim a ordem através doqual o seu Código de programa é executado depende de quais eventos ocorram. Esteseventos dependem das ações tomadas pelo usuário.2. OBJETOS, MÉTODOS E EVENTOS Objetos são coisas definidas por CLASSES e que possuem Propriedades,Métodos e Eventos. Uma janela, um botão e um banco de dados são objetos. Mas paraentender bem o que é um objeto ainda é preciso definir propriedades, métodos e eventos. Comecemos pelas Classes. Uma janela é muito diferente de um botão, mas osdois são objetos. Isso acontece porque eles são definidos por Classes diferentes. Classesdefinem um objeto a grosso modo. Definem suas propriedades, seus métodos e seuseventos. Classes são os moldes dos objetos. Um botão pode ser diferente do outro (maior ou menor, com uma legendadiferente...). Mas como isso é possível se eles pertencem à mesma classe? Porque suaspropriedades são diferentes. As propriedades definem características mais específicasdos objetos. Um botão tem, por exemplo, propriedades que determinam sua altura, sualargura e sua legenda. Um método é uma ação que age sobre um objeto. Por exemplo, se tivermos umalista, adicionamos ou removemos itens através de métodos. Ou ainda, se quiséssemosmover um certo objeto pela tela, poderíamos usar um método. Por fim, o evento. Digamos que em um certo programa, pressionamos um botão eum Beep é emitido. Como o programa sabe quando apertamos o botão? Ele sabe porquequando um objeto da classe botão é clicado, é gerado um evento. E é a esse evento queestá associado o código (comandos) que produzirá o Beep. Ocorrem também eventos,por exemplo, ao modificarmos o texto de uma caixa de texto ou ao mover o cursor domouse sobre uma janela. Para ficar mais claro, um exemplo não muito nobre: digamos que haja uma classe"Galinha". Um objeto Galinha poderia ter a propriedade "Idade", uma propriedade"CorDasPenas" e uma propriedade "Nome". Ela teria um método "PoeOvo" e um método"Cacareja". E ela geraria eventos ao dormir ao acordar e ao ser ameaçada.
  • 2. 3. AMBIENTE DE PROGRAMAÇÃO DO VISUAL BASIC Note que a janela Properties tem, logo abaixo da barra de título, uma "caixa deseleção" dizendo "Form1 Form". Esta caixa lista todos os objetos colocados na janelaativa. O texto em negrito "Form1" indica o nome do objeto. O texto ao lado, "Form", indicaa classe à qual pertence o objeto. Logo abaixo há a lista das propriedades. À esquerdaficam os nomes das propriedades e a direita os seus respectivos valores.4. PRINCIPAIS CONTROLES DO VB CommandButton (Botão de Comando) – É um dos Controles mais utilizados emprogramas do Windows, não apenas em VB. Sua função principal é executar comandosquando clicado. O Evento Click é o mais importante para ele. As Propriedades Caption,Name, Enabled são importantes entre outras. A propriedade Enabled indica se o botãoresponderá ao Evento Click ou não. PictureBox (Caixa de Imagem) - Este Controle é utilizado para exibir figuras nosFormulários e também responde ao Evento Click. A propriedade Picture é a que abre acaixa de diálogo para indicarmos o path do ícone ou da figura que queremos exibir.
  • 3. Label (Etiqueta ou Rótulo) – Exibir um texto onde o usuário não possa alterar. Suapropriedade principal é a Caption (que é o texto que o Controle exibirá). OutrasPropriedades de formatação do texto: FontName, FontBold, Alignment, etc. TextBox (Caixa de Texto) – Exibir um texto onde o usuário possa editar. Suapropriedade principal é o Text (que é o texto que o Controle contem). As Propriedades deformatação do texto são idênticas ao Label. CheckBox (Caixa de Verificação) – Útil quando necessitamos informar ao sistemaque determinadas informações são verdadeiras ou falsas. Em um mesmo Formuláriovários CheckBoxs podem assumir o valor verdadeiro ao mesmo tempo. AlgumasPropriedades: Visible, Enabled e Caption. OptionButton (Botão de Opção ou botão de rádio) – Com este Controle somenteuma das opções pode assumir o valor verdadeiro em um mesmo conjunto. Para Ter maisde um conjunto verdadeiro temos que utilizar o Controle Frame. ListBox (Caixa de Listagem) – Exibir e selecionar uma lista de itens. AsPropriedades ListCount e ListIndex são utilizadas para identificar os itens da lista. OsMétodos AddItem e RemoveItem são utilizados para adicionar e remover itens. ComboBox (Caixa de Combinação) – Combinação de uma TextBox com umaListBox. Pode-se editar um texto na parte superior ou selecionar um item da lista.Propriedades idênticas as da ListBox. ScrollBar (Barra de Rolagem) Vertical e Horizontal - Estes controles assumemvalos máximos ou mínimos de acordo com as propriedades Max e Min, respectivamente.Estes controles podem receber um deslocamento pequeno (propriedade SmallChange),que ocorre quando se clica nas setas e um deslocamento grande (propriedadeLangeChange), que ocorre quando se clica na barra. O controle recebe o valor da posiçãoatual. Timer (Temporizador) – Útil para se controlar intervalos de tempo. Evento maisimportante é o Timer e a propriedade mais importante é o Interval (que determina emmilisegundos o intervalo de tempo d controle). Shape (Formas Geométricas) – Adiciona figuras geométricas aos Formulários. Coma Propriedade Shape escolhemos o tipo de figura (forma). Outras PropriedadesBorderColor, BorderStyle e BackColor. Line (Linha) – Adicionar linhas geométricas a formulários. PropriedadesBorderColor, BorderWidth, BorderStyle, X1, X2, Y1 e Y2.
  • 4. Image (Imagem) – Exibe ícones ou figuras e também responde ao Evento Click.Diferentemente do Controle Picture este controle tem a Propriedade Stretch que ajusta otamanho da imagem para preencher a moldura. Adodc (ADO Data Control) – Conecta-se a um Banco de Dados para extrair emanipular informações deste BD. DataList – Automaticamente preenche uma lista com campos de um ADO DataControl. DataCombo – É similar ao DataList, mas permite editar o campo selecionado. DataGrid – Exibe e manipula uma série de linhas e colunas representando Registrose Campos de um objeto Recordset. OLE – Incorpora objetos de outros aplicativos em um formulário.5. PROPRIEDADES GERAIS As principais propriedades dos objetos do Visual BASIC, que estão presentes empraticamente todos os objetos, são as seguintes: - Caption - Nos botões, form, e frames, altera o título a ser exibido. - Enabled - Presente em todos os objetos, permite que os objetos sejam acessados, caso ela esteja definida como True. Esta propriedade habilita ou desabilita o objeto. - Visible - Torna o objeto invisível caso esta propriedade esteja definida como False. - Font - Presente em objetos como textbox, label, botões command e botões check e option. Permite que seja alterada a fonte de um objeto. - Name - Altera o nome do objeto, para fins de referência durante a programação. - Forecolor, Backcolor - define a cor da fonte e do fundo de um textbox, um label, ou outro objeto.
  • 5. 6. PROPRIEDADES DO FORMULÁRIO - Height - altura do formulário - Weight - largura do formulário - Maxbutton - ativa ou desativa a presença do botão Maximizar - Minbutton - ativa ou desativa presença do botão Minimizar - Left - altera a distância do formulário a partir da extrema esquerda do vídeo - Top - altera a distância do formulário a partir do topo do vídeo7. EVENTOS MAIS COMUNS O Visual BASIC apresenta alguns eventos que são usados freqüentemente, e seapresentam na maior parte dos objetos. Abaixo segue uma relação dos principais e suasrespectivas funções. - Click: É um evento que executa determinadas ações especificadas pelo programador quando alguém clica sobre o objeto. - Dblclick: Executa determinadas ações especificadas pelo programador quando alguém clica duas vezes sobre algum objeto. - Load: executa ações sempre que um formulário for carregado na memória. - Gotfocus: quando um objeto, um botão por exemplo, apenas ganha o foco. - Lostfocus: quando o foco passa para um outro objeto. Quando um objeto perde o foco. - Keypress: quando é pressionada alguma tecla, geralmente em caixas de texto, são acionados determinados comandos. - Mousemove: sempre que se move o ponteiro do mouse, algo será ativado.8. VARIÁVEIS Variáveis são áreas de memória utilizadas para armazenar dadostemporariamente. Digamos que você queira fazer uma Calculadora. Os números serãoarmazenados em variáveis. Uma variável é identificada por um nome. Este nome deve obedecer às seguintesregras: - Não pode haver repetição de nomes. - O nome deve começar com uma letra. - O nome não pode conter espaços, pontos, vírgulas e outros caracteres do tipo !, $, %. - Deve ter, no máximo, 255 caracteres.
  • 6. Tipos de variáveis:Data type Storage Range sizeByte 1 byte 0 to 255Boolean 2 bytes True or FalseInteger 2 bytes -32,768 to 32,767Long (long integer) 4 bytes -2,147,483,648 to 2,147,483,647Single (single-precision 4 bytes -3.402823E38 to -1.401298E-45 for negativefloating-point) values; 1.401298E-45 to 3.402823E38 for positive valuesDouble (double-precision 8 bytes -1.79769313486232E308 to -floating-point) 4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive valuesCurrency (scaled integer) 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807Decimal 14bytes +/-79,228,162,514,264,337,593,543,950,335 c/ no decimal point; +/- 7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is +/- 0.0000000000000000000000000001Date 8 bytes January 1, 100 to December 31, 9999Object 4 bytes Any Object referenceString (variable-length) 10 bytes + 0 to approximately 2 billion string lengthString (fixed-length) Length of 1 to approximately 65,400 stringVariant (with numbers) 16 bytes Any numeric value up to the range of a DoubleVariant (with characters) 22 bytes + Same range as for variable-length String string lengthDeclaração de variáveis: Dim x as String Dim matriz(9, 9) As Integer Obs.: Quando você não declara uma variável, ela é considerada do tipo Variant.Note que este tipo ocupa pelo menos 16 bytes de memória, bem mais que os outros. Mas,será que faz muita diferença gastar 2, 4, 8 ou 16 bytes da memória? Hoje oscomputadores têm “muita” memória. Tudo bem, em programas pequenos isto não seráuma diferença crucial, mas em um programa maior, com centenas de variáveis, isto podefazer a diferença. Além disto, devemos lembrar que o Windows pode trabalhar com váriosprogramas abertos ao mesmo tempo; e se seu programa for "gordo" poderá atrapalhar a
  • 7. performance dos outros. Além disto, quanto menos memória ocupa um certo tipo de dado,mais rapidamente ele é processado. Por isso, procure sempre usar o "menor" tipo dedado possível. Mas lembre-se: se você ultrapassar o limite da variável acontecerá umerro. (Exemplo: tente criar uma variável do tipo Byte e atribua a ela um valor maior que255).Conversão de tipos de variáveisFunção DescriçãoCbool Converte seu argumento para BooleanCbyte Converte seu argumento para ByteCcur Converte seu argumento para CurrencyCdate Converte seu argumento para DateCDbl Converte seu argumento para DoubleCint Converte seu argumento para IntegerCLng Converte seu argumento para LongCSng Converte seu argumento para SingleCStr Converte seu argumento para StringCvar Converte seu argumento para VariantCVErr Converte seu argumento para Error9. INSTRUÇÕES DE FLUXO DE CONTROLE E INSTRUÇÕES LOOPIf ... Then ... End IfIf ... Then ... Else ... End IfSelect Case … End SelectSelect Case … Case Else … End SelectDo ... Loop (Do While – Do Until)For ... Next (Step)While ... Wend
  • 8. 10. A INSTRUÇÃO EXIT A instrução Exit permite que você saia prematuramente de um bloco de instruçõesem uma estrutura de controle de um loop. Exemplo: x = 0 Do While x < 10 If Vetor(x) < 0 Then Exit Do Vetor(x) = Sqr(Vetor(x)) x = x + 1 Loop11. UTILIZANDO MAIS DE UM FORMULÁRIO A adição de novos formulários na sua aplicação é feita através do menu Project,comando Add Form.12. CONECTANDO FORMULÁRIOSComando AçãoLoad form Carrega o formulário, mas o deixa invisível.Form.Show [Modal] Mostra o formulário se ele estiver invisível. Se ele não estiver carregado, então ele primeiro carrega o formulário e depois o mostra. Modal define se o formulário que fez a carga fica parado até a desativação do novo formulário (1), ou se continua a sua execução sem se importar com o próximo formulário (0). Exemplos: Form1.Show (0) Form1.Show (1)Unload form O formulário é descarregado da memória e a sua execução é encerrada.13. FORMULÁRIOS MDI Para criar um formulário MDI, clique sobre o menu Project e escolha a opção AddMDI Form. Um projeto do VB só pode possuir um formulário MDI. Para que os outrosformulários sejam abertos dentro do MDI, a propriedade MDIChild de cada um deles deveser definida como True.14. FORMULÁRIOS SPLASH O formulário Splash é aquela tela que aparece logo ao iniciar a aplicação edesaparece em seguida, como se fosse uma tela de abertura/apresentação. Para criar um formulário Splash, clique sobre o menu Project > Add Form eescolha a opção Splash Screen.
  • 9. Em seguida, defina uma aparência agradável ao Splash, adicionando novosobjetos (Label, TextBox, Image) e/ou excluindo os objetos já inseridos automaticamente. Para fazer com que o Splash seja apresentado apenas durante alguns segundos,devemos adicionar ainda um objeto Timer. A propriedade Interval do objeto Timer deve ser definida de acordo com o tempoque o Splash será apresentado. Este tempo é definido em milisegundos. Por exemplo,para mostrar o Splash durante 4 segundos, defina a propriedade Interval como 4000. Além disso, devemos adicionar um pequeno código de programação associado aoevento Timer do objeto Timer.Private Sub Timer1_Timer() MDIForm1.Show Unload MeEnd Sub No código acima, ao término dos 4 segundos, é mostrado o MDIForm, queprovavelmente é o formulário principal da aplicação, e em seguida o Splash édescarregado. Para que o Splash seja o primeiro formulário a ser apresentado, clique sobre omenu Project > Project1 Properties (em Project1 estará o nome do seu projeto). Emseguida, na guia General, escolha o formulário Splash na lista Startup Object.15. CRIAÇÃO DE MENUS Para a criação de um Menu devemos ir ao menu Tools – Menu Editor.1) Começamos digitando o Título (em Caption) do menu mais à esquerda. Caso desejemos acessar esse menu via Alt e a letra grifada devemos inserir o & antes da letra que será grifada.2) Depois digitamos o nome (em Name) do menu para referência no código.3) Os outros itens não são obrigatórios.4) Clicar em Next para entrar um novo menu ou item de menu. Caso seja um item de menu devemos clicar na seta para a direita quando aparecerão três pontinhos à esquerda do título do item que ficará abaixo do nome do menu.
  • 10. 16. CRIANDO UMA BARRA DE FERRAMENTAS Para adicionar uma barra de ferramentas ao seu programa, primeiro é precisoadicionar um componente à Toolbox. Clique sobre o menu Project > Components eescolha a opção Microsoft Windows Common Controls 5.0. Surgirão alguns componentesna Toolbox, dentre eles o Toolbar e o ImageList, que utilizaremos na criação da barra deferramentas. Siga os passos: - Desenhe no seu formulário um objeto Toolbar e um objeto ImageList. - No objeto ImageList, serão armazenadas as imagens utilizadas na Toolbar. Clique sobre o ImageList com o botão direito e escolha Properties. - Na janela que se abre, escolha a guia Images.
  • 11. - Clique no botão Insert Picture para adicionar as imagens, repetindo o processo para cada imagem a ser adicionada.- Repare que cada imagem adicionada possui um índice (Index).- Clique em OK após ter adicionado todas as imagens.- Para adicionar botões à Toolbar, clique sobre ela com o botão direito e escolha Properties.- Na janela que se abre, escolha a guia Buttons.- Clique em Insert Button para adicionar botões.- Para cada botão adicionado defina as propriedades Image (número da imagem no ImageList) e ToolTipText (texto informativo mostrado quando se move o mouse sobre o botão).
  • 12. - Após inserir e configurar todos os botões, clique em OK. Em linha de código, para selecionar qual botão foi clicado, use um códigosemelhante ao exemplo seguinte:Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button) Select Case Button.Index Case 1: Form1.Show Case 2: Form2.Show Case 3: Form3.Show Case 4: Form4.Show Case 5: Form5.Show End SelectEnd Sub No exemplo acima, cada botão clicado abre um formulário.17. ESCOPO (OS NÍVEIS DE UM PROGRAMA)Private Sub txtNome_Change() Dim Nome As String Nome = txtNome.Text ‘A variável Nome recebe a propriedade Text daEnd Sub ‘txtNome Quando declaramos uma variável com um Dim, dentro de um subprocedimento(como no exemplo acima), a variável só existe dentro daquele subprocedimento. Ela nãoestá disponível para outras "Subs". Além disto, quando a Sub que a continha acaba deser executada, o valor da variável se perde, mesmo para futuras "chamadas" da mesmaSub. Uma variável declarada na seção Declarations (General) de um Form estádisponível para todas as suas Subs. Porém, se usarmos dois formulários, a variáveldeclarada em um deles não estará disponível para o outro. A solução é declarar a variávelem um nível "mais abrangente": o módulo. Para criar um módulo, acesse o menu Project> Add Module. Então, declare a variável da seguinte maneira: Public Nome as String Note que declaramos usando "Public", que informa ao VB que esta variável será"pública", ou seja, disponível para todas as Subs de todos os Forms deste programa.18. A LINGUAGEM SQL A linguagem SQL(Structured Query Language) é uma linguagem de alto nível paramanipulação de dados dentro do modelo relacional. Seu objetivo é fornecer uma interfacede alto nível ao usuário. É uma linguagem não procedural, e,não cabe ao usuário definircomo o gerenciador de banco de dados executará uma tarefa, mas somente o ele quedeve fazer. Uma instrução SQL consiste em três partes:
  • 13. • As declarações de parâmetros • A instrução manipulativa • As declarações de opçõesVejamos na tabela abaixo um resumo das cláusulas manipulativas e suas finalidades:Instrução Função Obtém um grupo de registros e insere os registros em um dynaset ou emSELECT uma tabela.UPDATE Define os valores dos campos de uma tabela em uma atualização.DELETE Remove registros de uma tabela.FROMINSERT INTO Acrescenta um grupo de registros a uma tabela.Vejamos alguns exemplos da instrução SELECT:1) Seleciona os campos "Primeiro nome" e "Sobrenome" de todos os registros da tabelaEmpregados.SELECT [Primeiro nome], [Sobrenome] FROM Empregados2) Seleciona todos os campos da tabela Empregados. Note o uso parâmetro (*) indicandotodos os campos da tabela indicada.SELECT Empregados.* FROM Empregados3) Conta o número de registros que têm uma entrada no campo "Código postal" e colocao título Contagem no topo da coluna.SELECT Count([Código postal]) AS Contagem FROM Clientes4) Seleciona os campos "Primeiro nome" e "Sobrenome" de cada registro cujo sobrenomeseja Pereira.SELECT [Primeiro nome], [Sobrenome] FROM Empregados WHERE [Sobrenome] =Pereira5) Seleciona os campos "Primeiro nome" e "Sobrenome" para Empregados cujossobrenomes começam pela letra S.SELECT [Primeiro nome], [Sobrenome] FROM Empregados WHERE [Sobrenome] LikeS*Observações:FROM – Indica as tabelas utilizadas como fonte de dados.WHERE – Especifica as condições que os registros devem satisfazer para compor osubconjunto de dados.
  • 14. 19. BANCOS DE DADOS FIREBIRD19.1. Obtendo o FirebirdA última versão do Firebird pode ser baixada gratuitamente no site oficial, através deseu browser preferido acesse o endereço http://www.firebirdsql.com/.Em seguida, selecione a opção download.Ao contrário de muitos sistemas de gerenciamento de bancos de dados que executamapenas na plataforma Windows, o Firebird é compatível com Linux, Mac, Unix, dentreoutros. Por isso tenha o cuidado de selecionar o programa na categoria win32 que éapropriada para quem trabalha com o Windows.Selecione em seguida de que servidor será feito o download do programa:
  • 15. Dica: as distribuições do Firebird terminadas com a string “-RCn” não são versõesfinais, por isso, prefira usar a última release do produto que é muito mais estável, enão, uma versão beta que ainda não foi testada totalmente.19.2. Instalando o Firebird a) Abra a pasta onde foi salvo o arquivo baixado do Firebird, em seguida, dê um duplo clique sobre o ícone do programa. b) Será apresentada uma caixa de dialogo com a mensagem “This will install Firebird Database Server 1.0. Do you wish to continue?”. Clique no botão “Sim” para iniciar a instalação. c) Antes de clicar no botão “Next >” para continuar a instalação, feche todos os aplicativos abertos. d) Será apresentada a “License Agreement”, selecione o botão de opção “I accept the agreement” para indicar ao programa que você concorda com a licença, em seguida, clique no botão “Next >” para continuar a instalação. e) Na caixa de diálogo “Information” serão apresentadas informações complementares sobre a instalação do Firebird. Clique no botão “Next >” para continuar. f) No caixa de diálogo “Select Destination Directory” será possível informar o local onde o Firebird será instalado. É recomendável não modificar a localização padrão que é “Arquivos de programasFirebird”. Clique no botão “Next >” para continuar.
  • 16. g) O próximo passo é informar os componentes a serem instalados, selecione a opção “Full installation of Server and development tools”, em seguida, clique no botão “Next >” para continuar. h) Na caixa de diálogo “Select Start Menu Folder” deverá ser informado o nome da pasta do menu iniciar onde os ícones do programa serão criados. Deixe o nome padrão da pasta que é “Firebird”. Dê um clique no botão “Next >” para continuar. i) Na caixa de diálogo “Select Additional Tasks” não altere nenhuma das opções, simplesmente, dê um clique no no botão “Next >” para continuar.Dica: as distribuições do Firebird quando instaladas no Windows 95 e 98 sãoexecutadas como um aplicativo. A partir do Windows 2000 como um serviço. j) Na caixa de diálogo “Ready to install” clique no botão “Install” para iniciar a copia dos arquivos para o disco rígido de seu computador. k) Se for apresentada outra caixa de diálogo, clique no botão “Next” ou “Ok” para continuar a instalação.
  • 17. 19.3. Registrando um novo Servidor no Firebird a) Após executar o IB Console, dê um clique com o botão direito do mouse sobre o objeto InterBase Server, em seguida selecione a opção “Register ...” do menu de atalho. b) Selecione a opção “Remote Server”, em seguida, preenche todos parâmetros necessários ao registro e conexão de um novo servidor no IB Console.
  • 18. Nome do Servidor: número IP da máquina local (e.g. 127.0.0.1), ou então, o número IP de uma máquina remota da rede (e.g. 192.168.0.1). Protocolo da Rede: TCP/IP. Apelido do Servidor: normalmente o nome da instituição, departamento ou setor onde o computador que possui o banco de dados esta armazenado (e.g. Laboratorio3). Descrição: informação complementar Nome do Usuário: SYSDBA Senha: masterkey Não se esqueça de deixar selecionada a caixa de checagem “Save Alias Information”. c) Após preencher todos os parâmetros obrigatórios, dê um clique com o botão esquerdo do mouse no botão OK.19.4. Fechando a conexão de um Servidor no Firebird a) Estando no IB Console, dê um clique com o botão direito do mouse sobre o objeto DSI, em seguida selecione a opção “Logout” do menu de atalho.
  • 19. b) O IB Console apresentará uma caixa de dialogo com a pergunta: “você tem certeza que você quer fechar a conexão do servidor selecionado?”. Dê um clique no botão “Sim”.19.5. Abrindo a conexão de um Servidor no Firebird a) Estando no IB Console, dê um clique com o botão direito do mouse sobre o objeto DSI, em seguida selecione a opção “Login...” do menu de atalho.
  • 20. b) Será solicitada a informação de Login no servidor. Informe para os campos “Nome do Usuário” e “Senha”, respectivamente, “sysdba” e “masterkey”. Em seguida, dê um clique no botão “Login”.19.6. Criando um novo Banco de Dados a) Estando no IB Console, dê um clique com o botão direito do mouse sobre o objeto Database, em seguida selecione a opção “Create Database...” do menu de atalho.
  • 21. b) Durante o processo de criação de um novo Banco de Dados é obrigatório o preenchimento dos seguintes campos: “Filename(s)”, “Size (Pages)” e “Alias”. É interessante preencher o campo “Size (Pages)” com o valor padrão “4096” e deixar selecionada a caixa de checagem “Register Database”. Após preenchê-los dê um clique no botão OK.O ícone do objeto de dados correspondente ao banco de dados “Hotel” será incluídodentro do objeto Databases do Servidor DSI.
  • 22. 19.7. Verificando onde foi gravado o novo Banco de Dados a) Dê um clique com o botão direito do mouse sobre o ícone do servidor DSI, em seguida, selecione a opção “Properties...”. b) Na caixa de diálogo “Server Properties” selecione a guia “General” e verifique o conteúdo do campo “Attached Databases”.
  • 23. 19.8. Trabalhando com TabelasComo criar uma tabela e definir o campo que é a chave primária a) Selecione o nome do Banco de Dados onde será criada a tabela clicando com o botão esquerdo do mouse. Em seguida, selecione o comando “Interactive SQL...” existente no menu “Tools”.
  • 24. b) Digite no Interactive SQL o comando “Create Table” com as informações sobre o nome da tabela; o nome, o tipo de dados e se o conteúdo pode ser nulo para cada campo; e o nome do campo escolhido para ser chave primária. c) Ao terminar de digitar o comando no Interactive SQL execute-o pressionando Ctrl+E ou então clicando sobre o ícone da barra de ferramentas mostrada na ferramenta abaixo: d) Se o comando digitado não possuir nenhum erro de sintaxe e for executado corretamente, a tela do Interactive SQL será apagada e não será apresentada uma mensagem de erro. Para rever o comando digitado use o ícone da barra de ferramentas mostrado na figura abaixo:Como conferir se a tabela Hospede e sua chave primária foi criada a) Com o botão esquerdo do mouse clique na opção “Windows” do menu do Interactive SQL, selecione na caixa de listagem da caixa de diálogo do Active Windows o “IB Console”, em seguida, clique no botão de comando “Switch To...”.
  • 25. b) Ao retornar a janela do IB Console, selecione com o mouse o objeto “Table” existente dentro do objeto “Hotel” do “Databases” do servidor “DSI”. Se a tabela “Hospede” tiver sido realmente criada ela será apresentada no lado direito da janela do IB Console.Como criar uma tabela que possui dependência de identificaçãoSuponha que você viajou para uma cidade onde pretende passar parte de suas férias,chegando lá decidiu se hospedar em um Hotel.Como se trata de um novo cliente o atendente somente conseguirá registrar suahospedagem após cadastrá-lo como novo hospede.Dizemos neste caso que a tabela “Hospedagens” possui dependência de identificaçãoda tabela “Hospedes”, ou seja, somente será possível cadastrar hospedagens parahospedes anteriormente cadastrados.O procedimento para criação da tabela “Hospedagens” será acrescido da criação de umrelacionamento com a tabela “Hospedes”. a) Digite os comandos “create table” e “alter table” conforme mostrado na figura abaixo. Observe que o campo “hContador” que identifica o hospede aparece com o mesmo nome nas tabelas “Hospedes” e “Hospedagens”.
  • 26. 20. CONEXÃO DO BANCO DE DADOS FIREBIRD COM O VISUAL BASIC20.1. Instalação do Driver ODBC No VB, para abrir um banco de dados Firebird, é necessário antes instalar umdriver ODBC. Para instalá-lo, basta seguir os passos do assistente. Nesta apostila, estásendo usado o IBPhoenix Firebird ODBC Driver.
  • 27. 20.2. Incluindo a Referência ao ADO No Visual Basic, para incluir a referência ao ADO, clique no menu Project >References. Na lista relacionada marque a opção: Microsoft ActiveX Data Objects 2.xLibrary.20.3. Criando a String de Conexão A string de conexão é um texto com informações necessárias à conexão. Paracriá-la, inclua em seu projeto o componente “Data Environment” executando uma dasseguintes seqüências: Menu Project Add Data Environment, ou então, Menu ProjectMore Active X Designers Data Environment. Será mostrada a janela do “Data Environment”. Dê um clique com o botão direitodo mouse sobre o item “Connection1”, em seguida, selecione a opção “Properties...” domenu de atalho.
  • 28. Na próxima caixa de diálogo deverá ser selecionado o “provedor de acesso” para obanco de dados que a conexão abrirá. Selecione a opção Microsoft OLE DB Providerfor ODBC Drivers. Clique em Next.
  • 29. Na tela seguinte, selecione a opção Use connection string e clique no botão Build.Selecione a guia Machine Data Source e clique em New.
  • 30. Na próxima tela, clique em Avançar. Selecione a opção Firebird/Interbase(r) driver e clique em Avançar, depois emConcluir. Na tela que se segue, deveremos dar um nome à fonte de dados criada (DSN).Também será preciso indicar o arquivo do banco de dados (Database), a conta paraacesso ao banco (Database Account) e a senha (Password). No exemplo abaixo,
  • 31. nomeamos a fonte de dados como Banco, o arquivo do banco de dados se chamaTeste.gdb e está localizado na Área de Trabalho, a conta para acesso é SYSDBA e asenha masterkey. Veja a figura: Após efetuar todas as configurações nesta tela, clique em Test connection.Deverá aparecer a seguinte mensagem:Clique em OK e depois OK novamente.Na tela anterior, deverá aparecer a string de conexão, conforme mostrado abaixo:
  • 32. Selecione a string de conexão e copie-a utilizando CTRL+C. A string de conexão também pode ser copiada mais tarde. Para encontrá-la, cliquecom o botão direito sobre Connection1 e selecione Properties. Em seguida, escolha aguia Connection.21. DEFININDO AS VARIÁVEIS DO PROGRAMA As variáveis que representarão o banco de dados e a tabela deverão serdeclaradas dentro da seção “General/Declarations” do formulário atual. É importante ainda declarar uma variável onde será armazenada a string deconexão usada para abrir o banco de dados.
  • 33. 22. COMANDOS PARA ABERTURA DO BANCO DE DADOS Como a string de conexão será utilizada em diversos eventos do formulário, éinteressante que ela seja armazenada em uma variável para facilitar a sua reutilização,poupando digitação desnecessária.23. DESENHANDO A INTERFACE DO PROGRAMA Antes de programar os demais eventos do formulário é necessário desenhar ainterface do programa. Para este exemplo, levaremos em consideração que o formulário “FrmCli” possui olayout mostrado abaixo:24. PROGRAMANDO OS EVENTOS24.1. Consulta da Tabela Sempre que o usuário digitar o código de um cliente que já está cadastrado nobanco de dados, o programa deverá mostrar os dados deste cliente. Abaixo a lógicausada para realizar este procedimento.Private Sub txtCodigo_LostFocus() If Not IsNumeric(txtCodigo.Text) Then Exit Sub Dim ComandoSQL As String
  • 34. ComandoSQL = "SELECT * FROM CLIENTES " & _ "WHERE Codigo=" & txtCodigo.Text & ";" TbCli.Open ComandoSQL, StringConexao, adOpenStatic If TbCli.EOF Then Limpar_Campos Else txtNome.Text = TbCli!nome txtTelefone.Text = TbCli!telefone End If TbCli.CloseEnd Sub24.2. Exclusão de Registro Antes de excluir o registro é interessante solicitar do usuário a confirmação daoperação. O exemplo do código está mostrado abaixo:Private Sub btnExcluir_Click() If Not IsNumeric(txtCodigo.Text) Then Exit Sub Dim ComandoSQL As String If MsgBox("Tem certeza?", vbYesNo, "Excluir") = vbYes Then ComandoSQL = "DELETE FROM CLIENTES " & _ "WHERE Codigo=" & txtCodigo.Text & ";" Con.Execute ComandoSQL Limpar_Campos txtCodigo.SetFocus End IfEnd Sub24.3. Salvamento de RegistroPrivate Sub btnSalvar_Click() Dim ComandoSQL As String Dim Comando As New ADODB.Command ComandoSQL = "select * from CLIENTES " & _ "where codigo = " & txtCodigo.Text & ";" TbCli.Open ComandoSQL, StringConexao, adOpenStatic If TbCli.EOF Then ComandoSQL = "INSERT INTO CLIENTES (codigo, nome, telefone) " & _ "VALUES (?, ?, ?)" TbCli.Close Comando.ActiveConnection = StringConexao Comando.CommandText = ComandoSQL Comando.Parameters(0) = txtCodigo.Text Comando.Parameters(1) = txtNome.Text Comando.Parameters(2) = txtTelefone.Text Else ComandoSQL = "UPDATE CLIENTES SET nome=?, telefone=? " & _ "WHERE codigo=" & txtCodigo.Text & ";" TbCli.Close Comando.ActiveConnection = StringConexao Comando.CommandText = ComandoSQL Comando.Parameters(0) = txtNome.Text
  • 35. Comando.Parameters(1) = txtTelefone.Text End If Comando.ExecuteEnd Sub25. MÉTODOS DE MOVIMENTAÇÃO Os métodos de movimentação permitem a passagem de um registro para outro nointerior dos recordsets, e alteram a posição do ponteiro do registro ao passar de umregistro ativo para outro registro. Você pode usar os métodos de movimentação sobrequaisquer recordsets. Vejamos a seguir os métodos de movimentação:MoveFirst - Movimenta o ponteiro do registro ativo para o primeiro registro do recordsetaberto.MoveNext - Movimenta o ponteiro do registro ativo para o registro seguinte. Se nãohouver registro seguinte, você está no último registro, o flag de final de arquivo EOF seráativado.MovePrevious - Desloca o ponteiro do registro ativo para o registro anterior no recordsetaberto. Se não houver registro anterior, você está no primeiro registro, o flag de início dearquivo BOF será ativado.MoveLast - Movimenta o ponteiro do registro ativo para o último registro do recordsetaberto.26. VALIDAÇÃO DE CAMPOSValidação do conteúdo de um textbox durante a digitação No código abaixo, temos a validação para um campo data. Nesta caixa de texto sóserá possível digitar números, Backspace e a barra (/). Note que 47 corresponde aocódigo ASCII da barra.Private Sub txtdata_KeyPress(KeyAscii As Integer) If Not ((KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Or KeyAscii = 47) Then KeyAscii = 0 End IfEnd Sub No próximo código, temos a validação para um campo moeda. Nesta caixa detexto só será possível digitar números, Backspace e a vírgula (,). Note que 44corresponde ao código ASCII da vírgula.Private Sub txtvalor_KeyPress(KeyAscii As Integer) If Not ((KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Or KeyAscii = 44) Then KeyAscii = 0 End IfEnd Sub
  • 36. Abaixo segue a tabela de códigos ASCII:ASCII Caractere ASCII Caractere ASCII Caractere ASCII Caractere 0 · 32 [space] 64 @ 96 ` 1 · 33 ! 65 A 97 a 2 · 34 " 66 B 98 b 3 · 35 # 67 C 99 c 4 · 36 $ 68 D 100 d 5 · 37 % 69 E 101 e 6 · 38 & 70 F 102 f 7 · 39 71 G 103 g 8 ** 40 ( 72 H 104 h 9 ** 41 ) 73 I 105 i10 ** 42 * 74 J 106 j11 · 43 + 75 K 107 k12 · 44 , 76 L 108 l13 ** 45 - 77 M 109 m14 · 46 . 78 N 110 n15 · 47 / 79 O 111 o16 · 48 0 80 P 112 p17 · 49 1 81 Q 113 q18 · 50 2 82 R 114 r19 · 51 3 83 S 115 s20 · 52 4 84 T 116 t21 · 53 5 85 U 117 u22 · 54 6 86 V 118 v23 · 55 7 87 W 119 w24 · 56 8 88 X 120 x25 · 57 9 89 Y 121 y26 · 58 : 90 Z 122 z27 · 59 ; 91 [ 123 {28 · 60 < 92 124 |29 · 61 = 93 ] 125 }30 · 62 > 94 ^ 126 ~31 · 63 ? 95 _ 127 ·· Caracteres não suportados pelo Windows.** Valores 8, 9, 10, e 13 representam backspace, tab, linefeed (alimentador de linha),e enter, respectivamente.Validação de datas e valores numéricos após a digitaçãoIf Not IsDate(txtdata.Text) Then MsgBox ("Data inválida!") txtdata.SetFocus Exit SubEnd If
  • 37. If Not IsNumeric(txtvalor.Text) Then MsgBox ("Valor inválido!") txtvalor.SetFocus Exit SubEnd If27. DataList A caixa de listagem vinculada aos dados – Data List – tem função idêntica à caixade listagem – ListBox, a qual seja, apresentar ao usuário uma lista de opções. A principaldiferença consiste no fato de a caixa de listagem vinculada aos dados buscar asinformações em um Recordset, enquanto que a Caixa de Listagem, obtêm asinformações através de uma série de instruções AddItem. Vejamos como utilizar o controle DataList no roteiro a seguir:1- Clique no menu Project > Components e escolha a opção Microsoft Data List Controls6.0 (OLEDB). Selecione também a opção Microsoft ADO Data Control 6.0 (OLEDB).2- Em um formulário, insira o controle Adodc (ADO Data Control) e configure aspropriedades: - Name – Nome do controle (o nome padrão é Adodc1). - ConnectionString – String de conexão. Dados necessários para efetuar a conexão com o banco de dados (já citada anteriormente). Copie a string de conexão do Data Environment. - RecordSource – Clique no botão ao lado da propriedade (...) e aparecerá a seguinte tela:
  • 38. Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e onome da tabela ou consulta (no caso, Empregado).3- A seguir, insira o controle DataList e atente para as seguintes propriedades: - RowSource – nome do controle de dados que contém as informações usadas para preencher a lista (no caso, Adodc1) - ListField – o nome do campo da origem dos dados a ser exibido na lista28. DataCombo Para configurar um DataCombo, proceda da mesma maneira como foi configuradoo DataList:1- Clique no menu Project > Components e escolha a opção Microsoft DataList Controls6.0 (OLEDB).2- Em um formulário, insira o controle Adodc (ADO Data Control) e configure aspropriedades: - Name – Nome do controle (o nome padrão é Adodc1). - ConnectionString – String de conexão. Dados necessários para efetuar a conexão com o banco de dados (já citada anteriormente). Copie a string de conexão do Data Environment. - RecordSource – Clique no botão ao lado da propriedade (...) e aparecerá a seguinte tela:Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e onome da tabela ou consulta (no caso, Empregado).
  • 39. 3- A seguir, insira o controle DataCombo e atente para as seguintes propriedades: - RowSource – nome do controle de dados que contém as informações usadas para preencher a lista (no caso, Adodc1). - ListField – o nome do campo da origem dos dados a ser exibido na lista29. DataGrid A grade vinculada aos dados – DataGrid – oferece um meio para visualizar váriosregistros ao mesmo tempo. O seu primo pobre no VB seria o controle Grid. Enquanto o Grid precisa serconfigurado quase que totalmente via código, para usar o DataGrid basta arrastar o íconedo controle para o seu formulário e definir a propriedade DataSource para identificar ocontrole de dados que contém os dados que você quer exibir, e pronto, a grade exibetodos os campos dos registros do recordset.Exemplo de Utilização e Configuração Suponha que temos a seguinte tabela com os seguintes dados: Empregado Nome Telefone João 3221-1234 Maria 3222-5678 José 3212-1234 Mauro 3213-1234 Pedro 3214-1234 Criaremos uma consulta de pessoas por nome, utilizando o DataGrid e sentençasSQL. Vejamos passo a passo como utilizar o DataGrid com o controle de dadosvinculados Adodc (ADO Data Control).1- Clique no menu Project > Components e escolha a opção Microsoft DataGrid Control6.0 (OLEDB).2- Selecione o objeto Adodc na Toolbox do Visual Basic e acrescente-o ao seu formulário.3- Defina a seguir as propriedades: - Name – Nome do controle (o nome padrão é Adodc1). - Visible (False) – para que o objeto Adodc não apareça durante a execução do programa - ConnectionString – String de conexão. Dados necessários para efetuar a conexão com o banco de dados (já citada anteriormente). Copie a string de conexão do Data Environment. - RecordSource – Clique no botão ao lado da propriedade (...) e aparecerá a seguinte tela:
  • 40. Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e onome da tabela ou consulta (no caso, Empregado).4- Selecione o ícone do DataGrid na ToolBox e arraste-o até o seu form.5- Defina a propriedade DataSource, vinculado-a ao controle de dados configuradoanteriormente (Adodc1).6- Para proibir a edição, inclusão e exclusão de registros na grade você deve definir comoFalse as propriedades AllowAddNew, AllowUpdate e AllowDelete. Isto pode ser feitoatravés da folha de propriedades do DataGrid.
  • 41. 7- Na folha de propriedades do DataGrid, na guia Columns, devemos associar cadacoluna do DataGrid com um campo da tabela que será usada para preenchê-lo.8- Desenhe, no mesmo formulário, um TextBox e um CommandButton.
  • 42. Para completar o nosso exemplo, falta o código para a execução da pesquisa. Noevento Click do Command1, acrescente o código abaixo:Private Sub Command1_Click() If Text1.Text = "" Then Adodc1.CommandType = adCmdTable Adodc1.RecordSource = "Empregado" Else Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select enome, etelefone from Empregado where Upper(enome) like " & UCase(Text1.Text) & "%" End If Adodc1.Refresh DataGrid1.RefreshEnd Sub O resultado da execução é mostrado nas telas abaixo:
  • 43. 30. MASKED EDIT Para utilizar um controle MaskedEdit, devemos, inicialmente, clicar no menuProject > Components e escolher a opção Microsoft Masked Edit Control 6.0. Isto farácom que ele seja incluído na Toolbox do VB. Para configurar o MaskedEdit, clique sobre ele com o botão direito e escolhaProperties. Surge a tela seguinte:
  • 44. Nesta tela, basta definir a máscara (Mask) e/ou o formato do campo (Format).Alguns exemplos de formatos:Moeda – R$#,##0.00;(R$#,##0.00)Data – dd/mm/yyyyAlguns exemplos de máscaras:Data – ##/##/####CEP – ##.###-###CPF – ###.###.###-##Telefone – (##)####-#### Note que a barra invertida () sempre aparece antes de um caractere especial.Obs.1: Para limpar o conteúdo de um MaskedEdit, é preciso atribuir a ele o formato damáscara. Exemplos:MaskEdBox1.Text = "__.___-___"MaskEdBox2.Text = "(__)____-____"MaskEdBox3.Text = "___.___.___-__"MaskEdBox4.Text = "__/__/____"Obs.2: Para atribuir uma data a um MaskedEdit, é preciso antes formatá-la usando afunção Format. Exemplo:MaskEdBox4.Text = Format(Date, "dd/mm/yyyy")
  • 45. 31. CRIAÇÃO DE GRÁFICOS UTILIZANDO O CONTROLE MSCHART Para construir gráficos em sua aplicação você deve usar o controle gráfico do VB,o MSChart. O MSChart permite apresentar seus dados em forma de gráfico como uma planilhado Excel (linhas e colunas); gráficos tridimensionais, gráficos de torta, barra, pizza, etc. Antes de iniciar você deve adicionar o controle Microsoft Chart Control ao seuprojeto da seguinte maneira: clique no menu Project > Components e escolha a opçãoMicrosoft Chart Control 6.0 (OLEDB). As figuras abaixo mostram a barra de ferramentas e a configuração inicial doMSChart: Agora, basta definir a fonte de dados que alimentará o gráfico, geralmente umatabela, e fazer a configuração do Controle MSChart. Para abrir um diálogo de propriedades do controle MSChart, clique com o botãodireito do mouse sobre o mesmo, selecione a opção Properties e a janela paraconfiguração surge como mostrada na figura abaixo:
  • 46. Cada aba permite configurar diversas propriedades utilizadas na confecção de um gráfico.Utilização e ConfiguraçãoVejamos agora as propriedades do MSChart e como configurá-lo. A configuração inicial do controle gráfico apresenta uma série de quatro barras emcinco colunas com legendas R1 a R5. Esta seqüência de dados é definida pelapropriedade RowCount. A quantidade de colunas é definida pela propriedadeColumnCount. Na figura acima alteramos RowCount para 2 e ColumnCount também para2 e ainda definimos a propriedade RowLabel para cada coluna e a propriedadeShowLegend para True. A propriedade ChartType permite obter os seguintes tipos de gráficos:• Barra - Valores 0 e 1• Linha - Valores 2 e 3• Áreas - Valores 4, 5 , 6 e 7• Combinação - Valores 8 e 9• Torta - Valor 14• XY - Valor 16
  • 47. Aba Chart Chart Type - Permite escolher o tipo de gráfico usado Chart Options Show Legend - Mostra a legenda no gráfico Show Markers - Marcas sobre cada coluna do gráfico Stack Series - Empilhar as colunas Series em rows - Inverte apresentação, colunas em linhasAba Axis e Axis Grid Existem diversas propriedades que permitem configurar os eixos de um gráficocomo:Espessura e cor de linhasDefinição da escala - Valor Máximo e MínimoDivisão da Escala - Valor Maior e MenorAba Series e Series Color Permitem configurar diversas propriedades relacionadas às séries do gráfico e àcor interior e da borda de cada série.Aba BackDrop Configura os elementos de fundo e da borda do gráfico. O elemento a serconfigurado é selecionado na lista Property Name.Aba Text Através da lista Property Name podemos selecionar o título, o rodapé, títulos doseixos X, Y ou de um segmento eixo Y e definir um nome para cada item, inclusivedefinindo o alinhamento e a orientação do texto através do grupo Alignment e Orientation.Aba Fonts Permite definir a fonte, estilo, tamanho e efeitos de cor.Além destas propriedades temos as seguintes:Row - especifica a linha correnteRowCount - determina o número de seqüência de dadosRowLabel - define o rótulo de dados da linha correnteData - Permite a leitura e a atribuição dos valores de dados ao gráficoColumn - define a coluna ativaColumnCount - define o número de colunas ativasColumnLabel - define a legenda para a coluna ativaBorderStyle - define a borda do gráfico
  • 48. ChartData - permite atribuir valores às seqüências de dados a partir de uma matriz (array) de duas dimensões.Exemplo de Utilização Suponha que temos uma tabela que armazene as notas de um grupo de alunos.Os dados na tabela são: Nome Nota João 5,0 Paulo 7,5 Maria 8,0 Lucas 2,0 Laura 10,0 Criaremos um gráfico de colunas que representa a nota de cada aluno. Siga ospassos:1- Adicione um controle MSChart ao formulário.2- Configure as seguintes propriedades do MSChart: - RowCount = 5 - ColumnCount = 13- Adicione o seguinte código:Dim Con As New ADODB.ConnectionDim TbAlunos As New ADODB.RecordsetDim StringConexao As StringDim x As IntegerPrivate Sub Form_Load() StringConexao = “DSN=teste;Driver=OdbcJdbc;Dbname=C:progEscola.gdb; CHARSET=NONE;UID=SYSDBA;PWD=DKEBFJENHFCOBHGHLAIMNAAFICE LEAEGDNMFNOGALAMHBBGCHFADNKCBPPGMANOGIEKENIOPHDIPBIECPL LLCBIKEJKMJLPLIB" Con.Open StringConexao Dim ComandoSQL As String ComandoSQL = "SELECT * FROM alunos order by acodigo" TbAlunos.Open ComandoSQL, StringConexao, adOpenStatic TbAlunos.MoveFirst For x = 1 To 5 MSChart1.Row = x MSChart1.RowLabel = TbAlunos!anome MSChart1.Data = TbAlunos!anota TbAlunos.MoveNext Next xEnd Sub
  • 49. O resultado será o seguinte:32. DATA REPORT Abra o projeto em questão. Em seguida, selecione o menu Project. Selecione o comando Add Data Report para adicionar este componente aoprojeto. Ainda no menu Project, selecione o comando Add Data Environment. Se por acaso um dos comandos acima não estiver disponível, use o comandoMore ActiveX Designers... para adicionar o componente desejado.Configurando o Ambiente de Dados (DataEnvironment) Antes de trabalharmos com o Data Report ou qualquer outro componente queacesse registros de uma base dados, é necessário abrir o banco de dados e asrespectivas tabelas ou consultas existentes neste banco de dados. Dê um duplo clique no objeto DataEnvironment1 para abrir a janela doDataEnvironment.
  • 50. Para alterar as propriedades do DataEnvironment, será usado a janela do ProjectExplorer em conjunto com a janela Properties Windows. Como o objeto DataEnvironment1 será usado em diversas partes do projeto,para facilitar sua utilização, mudaremos a propriedade (Name) de “DataEnvironment1”para “deComercial”. Para alterar a propriedade “Name”, dê um clique no objetoDataEnvironment1, em seguida, utilizando a janela de propriedades modifique apropriedade name.Definindo o Banco de Dados (através de conexão) Dê um clique com o botão do mouse sobre o componente Connection1, emseguida, selecione Properties na barra de Ferramentas. Na tela que se segue, devemos configurar a string de conexão. Isto já foi feito noitem 20.3 – Criando a string de conexão. Caso necessário, veja novamente o item 20.3.Definindo uma referência para uma Tabela Antes de prosseguirmos, é interessante mudar a propriedade Name docomponente Connection1 para conComercial. Para tal, use a janela de propriedades doVisual Basic.
  • 51. No DataEnvironment, cada tabela ou consulta é denominada de “Command”. Paraincluir um command, dê um clique com o botão direito sobre o objeto connection (queno exemplo se chama conComercial), em seguida selecione a opção Add Command. Após adicionar o Command, o passo seguinte será alterar suas propriedades.Para tal, dê um clique com o botão direito sobre o Command1, em seguida selecione aopção Properties.
  • 52. Na guia “General” da janela de propriedades, deverá ser informado o nome docommand, a conexão que contém o banco de dados que possui a tabela ou consultadesejada e a fonte de dados (os mais usados são Consultas e Tabelas). O campo Command Name deve ser preenchido de forma coerente com a tabelaou consulta selecionada. No exemplo abaixo, foi informado como Command Name “comProdutos”, porqueeste command será uma referência para a tabela “Produtos” (evite usar nomes poucosignificativos). Após fazer isso, dê um clique no botão OK. Se correr tudo bem, será acrescentado um novo objeto command chamado“comProdutos” subordinado a conexão “conComercial”.
  • 53. Definindo uma referência para várias Tabelas Para usarmos várias tabelas em uma consulta, a forma mais prática e simples éatravés de uma sentença SQL. Para tal, usaremos o Access para criarmos uma consulta,em seguida, usaremos a sentença SQL gerada por ele dentro do Visual Basic. Após executar o “Microsoft Access”, abra o Banco de Dados que contem astabelas que serão usadas no Command. Como iremos criar uma consulta, selecione a guia correspondente a esta opção noAccess (observe que a figura abaixo é relativa a versão 97 deste aplicativo e não a 2000). Após selecionar a guia “Consultas”, dê um clique no botão “Novo”, para criaruma nova consulta. Será mostra a janela do assistente, selecione a opção “Assistentede Consulta Simples”. Em seguida, dê um clique no botão OK.
  • 54. Utilize a caixa de combinação “Tabelas/ Consultas:”, para selecionar o nome da tabela que possui os campos que serão usados na consulta. Após selecionar o nome da tabela, o próximo passo é selecionar na caixa delistagem “Campos disponíveis”, o nome do campo que será usado na consulta. Dê umclique no botão “>” para adicionar o campo “cNome” a caixa de listagem “Campos
  • 55. selecionados”. O botão “>>” é usado para adicionar todos os campos da tabelaselecionada. Os botões “<” e “<<” são usados para remover algum campo adicionadoerroneamente ou não mais necessário. Após selecionados os campos desejados da tabela de “Clientes”, selecione nacaixa de combinação “Tabelas/ Consultas:”, o nome da próxima tabela. Feito isto,selecione o nome dos campos e assim sucessivamente até que todos os camposdesejados estejam selecionados.
  • 56. Dê um clique no botão “Concluir” para finalizar a criação de sua consulta. Aofazer isto, a consulta será automaticamente salva e executada. A execução nada mais éque a apresentação do resultado. A apresentação do resultado da consulta, é um sinal da que a mesma está correta.Porém, como o que interessa é a sentença SQL correspondente, vamos mudar o modode exibição para Modo SQL. O comando SQL correspondente será apresentado conforme abaixo. Basta agoracopiarmos para a área de transferência, em seguida, colar no Visual Basic.
  • 57. O próximo passo será adicionar um novo “Command” no DataEnvironment, paratal, dê um clique com o botão direito do mouse sobre a conexão “conComercial”, emseguida, selecione a opção Add Command. Após adicionar o novo Command, o próximo será a alteração de algumaspropriedades. Dê um clique com o botão direito do mouse sobre o command criado.
  • 58. Observe que como estamos usando uma sentença SQL, a fonte dos dados(Source of Data) deverá ser a opção SQL Statemend. Coloque o comando SQL criadono access conforme mostrado na figura anterior. Para finalizar dê um clique no botão OK. Após feito isto, o command deverá possuir as características mostradas abaixo:Utilizando Sub Commands É comum a elaboração de relatórios ou consultas, onde dois ou mais commandsestão relacionados entre sí. Isso é bastante útil quando se deseja agrupar os dados emfunção de um determinado registro. Só é possível usar um sub command quando ambos os commands tem um campoem comum. No exemplo abaixo, é possível relacionar “comEntradas” com“comItens_Entradas”, através do campo eID.
  • 59. Ambas as sentenças SQL foram criadas no Access usando os passos descritos anteriormente. Para relacionar um command com o outro, ou deixar um command subordinado ao outro, é necessário alterar as propriedades do command filho. Ou seja, aquele que tem dependência de existência. Selecione a guia “Relation” em seguida marque a opção “Relate to ParentCommand Object”. Indique na caixa de combinação “Parent Command” o “command pai”. Finalmente selecione os campos comuns aos commands em seguida dê um cliqueno botão Add. Feito isso dê um clique no botão OK. Os comands “comEntradas” e “comItens_Entrada” deverão ficar com a aparênciamostrada abaixo:
  • 60. Criando um relatório a partir de um Command Simples Primeiro Passo: dê um clique com o botão direito do mouse sobre a janela do“Project Explorer”. No menu de atalho, selecione o comando Add, em seguida, a opçãoData Report. Segundo Passo: altere as propriedades do objeto Data Report (no caso da figura,DataReport1) de forma que ele fique ligado ao Command do item 7.3.2. Para cadaDataReport (relatório), deverá ser definido um único Command. (Name): rptProdutos Caption: Relatório de Produtos DataSource: deComercial DataMember: comProdutos Terceiro Passo: dê um duplo clique no ícone do objeto rptProdutos (antigoDataReport1) para que seja mostrado o formulário correspondente. Quarto Passo: dê um clique com o botão direito do mouse sobre o formulárioaberto no passo anterior, em seguida selecione o comando Retrieve Structure.
  • 61. Todos os objetos desenhados no relatório serão apagados após a execução destecomando. Por questões de segurança, é solicitada a confirmação do usuário. Dê umclique no botão Sim. As seções do relatório serão definidas de acordo com o respectivoCommand.
  • 62. Alterando as características do Relatório Como não se pode usar os componentes da caixa de ferramentas padrão paradesenhar um relatório, o DataReport possui seus próprios componentes. Observe que oscomponentes da caixa de ferramentas “General” ficam indisponíveis se o DataReportestiver selecionado, da mesma forma que os componentes da caixa de ferramentas“DataReport” ficam indisponíveis se o Form estiver selecionado. O RptLabel, RptTextBox, RptImage, RptLine e RptShape são os equivalentes aoexistentes na caixa general, aplicando-se neles todos os conceitos vistos anteriormente. O RptFunction é um caso que será tratado a parte. Na seção “Page Header” deverá ser definido o cabeçalho da página, ou seja, otexto que será impresso no topo de todas as páginas do relatório. Na figura abaixo, umexemplo de um cabeçalho simples desenhado com o RptLabel. Para a seção “Detail (comProdutos_Detail)”, deverão ser arrastados todos oscampos do Command “comProdutos” que desejamos que sejam impressos no relatório.
  • 63. Em Page Header deverá ser definido o cabeçalho da página, ou seja, o texto que deveráser impresso no topo de todas as páginas. Usando o objeto RptLabel, desenhe 3. Somente será permitido arrastar os campos do Command especificado napropriedade DataMember. Sendo assim, como foi especificado o command comProdutos,somente podemos arrastar os campos existentes nele. Para cada campo arrastado da janela do DataEnvironment até a seção Detail sãocolados um RptLabel e um RptTextBox. Se você ainda não tiver rotulado o campo em questão, arraste o RptLabel para aseção “Page Header” em seguida modifique suas propriedades. Observe que ao sercolado um campo na seção Detail, os objetos RptLabel e RptTextBox vem selecionados,desmarque o objeto RptTextBox antes de mover o objeto RptLabel. Alignment: 1-RptJustifyRight Caption: Código DataFormat: General Font: Negrito
  • 64. É importante observar que campos numéricos devem ser alinhados sempre àdireita (right), enquanto campos alfanumericos devem ser alinhados a esquerda (left). Apropriedade DataFormat é usada para formatar a apresentação dos dados no relatório.Após alterar as propriedades do campo pCódigo, repita o procedimento para os campospDescrição e pEstoque_Atual. É importante observar as seguintes característica do DataReport: - Os objetos RptLabel, RptTextBox e todos os demais, ao serem movimentados através do mouse, observam o posicionamento do Grid (caixa retangular existente em segundo plano). - Para colocar um objeto em um determinada posição do relatório, faça-o através da alteração das propriedades Left (posição horizontal) e Top (posição vertical). - Use as propriedades Height e Width para modificar respectivamente a altura e o comprimento de um determinado componente. - Em hipótese alguma modifique o comprimento e a altura do relatório. Se após alterar o comprimento ou a altura, o relatório ficar maior que as dimensões do formulário selecionado, ocorrerá um erro durante a impressão. Se o fizer, faça-o aos poucos e teste a impressão (no vídeo a medida que for fazendo). - No DataReport existem diversas seções. Antes de alterar quaisquer propriedades, verifique antes na janela de propriedades se está atualmente selecionado o objeto desejado.Incluindo número de página, data e hora ao relatório Para incluir o número da página atual, total de páginas, data atual e hora. Dê umclique com o botão direito do mouse sobre a seção Page Header do relatório, em seguida,selecione a opção Insert Control.
  • 65. Fazendo a chamada do Relatório A maneira mais simples de chamar um relatório criado no Data Report, é atravésdo método Show. A chamada deve ser digitada dentro de um botão de comando,conforme mostrado no exemplo abaixo. Private Sub cmdImprimir_Click() rptProdutos.Show End Sub
  • 66. Filtrando os dados mostrados no relatório O método “Filter” é uma ótima alternativa para filtrar os dados apresentados emum determinado relatório criado no DataReport. Ele dever ser usado antes do métodoshow, conforme exemplos abaixo:deComercial.rscomProdutos.Filter = "pCodigo=1"rptProdutos.ShowoudeComercial.rscomProdutos.Filter = "pCodigo=" & TxtCodigo_ProdutorptProdutos.ShowdeComercial.rscomProdutos.Filter = "pDescricao= ′Polvilho Azedo 1′ "rptProdutos.ShowoudeComercial.rscomProdutos.Filter = "pDescricao= ′ " & ′ TxtDescricao & "′"rptProdutos.Show
  • 67. Se por acaso o campo usado no filtro for uma data, esta deverá delimitada porduas tralhas (e.g. vData_Emissao=#2001-08-31#”).Criando um relatório a partir de um Sub Command As mudanças em relação a um relatório que usa um único Command são poucas.Entretanto, vamos detalhar as diferenças para que seja mais fácil compreende-la.1ª Mudança: deve ser indicado como “DataMember” o nome do “command pai”, a partirdele, o Data Report recupera os demais dados existentes no “command filho”. (Name): rptEntradas_Periodo Caption: Relatório de Entradas DataSource: deComercial DataMember: comEntradas2ª Mudança: o uso do comando “Retrieve Structure”, deixa de ser opcional e passa a serobrigatório. Observe que pelo fato do “Command” possuir um “Sub Command”, a partir deagora o relatório tem agora as seções “Group Header” e “Group Footer”. Para visualiza-las, aumente a altura do formulário.
  • 68. 33. PACKAGE & DEPLOYMENT WIZARD Veja como gerar os discos de distribuição e o programa de instalação para a suaaplicação usando o PACKAGE & DEPLOYMENT WIZARD.• A questão da distribuição Você acabou de desenvolver uma aplicação em Visual Basic, testou, depurou e,finalmente, está pronto para distribuí-la aos usuários finais. Geralmente tais usuários não possuem o Visual Basic instalado em suas máquinas(você deve sempre considerar essa situação como a padrão). Você terá então que distribuir com sua aplicação uma série de arquivos DLL, e, sesua aplicação usar controles personalizados, terá também que distribuir os arquivos decontrole VBX/OCX que utiliza. Para isto, ou você cria um programa de instalação com o Wizard, que determinaos arquivos que você precisa distribuir, ou tenta determinar por si mesmo quais osarquivos precisam ser distribuídos. O Package & Deployment Wizard é fornecido com o Visual Basic e você poderáusá-lo para criar um programa que instalará sua aplicação na máquina do usuário. As tarefas básicas que o Package & Deployment Wizard faz são:• Construir o arquivo executável (EXE) do seu projeto.• Criar um programa de instalação para a sua aplicação.• Determinar os arquivos necessários para a aplicação.• Compactar os arquivos do programa, copiá-los e dividi-los em discos para distribuição (Disquete, CD-ROM, Disco Rígido e Redes).• Criar um grupo de programas e um ícone no sistema do usuário.Gerando o assistente de Instalação e os discos para distribuição Vamos descrever passo a passo o processo de criação do programa de instalaçãoe da geração dos discos de distribuição para um projeto: agenda.vbp. Vamos supor que a distribuição será feita em discos de 3 1/2 (1.44) e iremos usaro Package & Deployment Wizard. Então vamos lá:1 - Inicie o Package & Deployment Wizard, clicando em Iniciar > Programas > MicrosoftVisual Studio 6.0 > Microsoft Visual Studio 6.0 Tools > Package & Deployment Wizard.Surgirá a tela abaixo:
  • 69. 2- Nesta tela, clicamos no botão Browse para selecionar o projeto. Em seguida, clicamosem Package.3- Caso o seu projeto ainda não tenha sido compilado, aparecerá uma janela solicitando acompilação. Nela, devemos clicar em Compile. Em seguida, aparecerá a seguinte tela:
  • 70. 4- Nesta tela, basta selecionar Standard Setup Package e clicar em Next. Surge a telaseguinte:5- Aqui selecionamos a pasta onde os arquivos de instalação serão gravados. Entãoclicamos em Next e:
  • 71. 6- Clicamos no botão Add para adicionar arquivos que serão distribuídos junto com aaplicação, como por exemplo, um arquivo de banco de dados. Clicando em Next:7- Escolhemos se a instalação será distribuída em um único arquivo (HD, rede, CD) ouem vários arquivos (disquete), podendo especificar o tamanho. Clicando em Next:
  • 72. 8- Especificamos um nome para o programa de instalação. Next:9- Definimos o local onde os ícones aparecerão no Menu Iniciar.10- A partir daí, basta clicar em Next até finalizar o assistente clicando em Finish.

×