Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Completa de Visual Basic
Apostila Completa de Visual Basic
Note que a janela Properties tem, logo abaixo da barra de ttulo, uma "caixa de seleo" dizendo "Form1 Form". Esta caixa lista todos os objetos colocados na janela ativa. O texto em negrito "Form1" indica o nome do objeto. O texto ao lado, "Form", indica a classe qual pertence o objeto. Logo abaixo h a lista das propriedades. esquerda ficam os nomes das propriedades e a direita os seus respectivos valores.
4. PRINCIPAIS CONTROLES DO VB
CommandButton (Boto de Comando) um dos Controles mais utilizados em programas do Windows, no apenas em VB. Sua funo principal executar comandos quando clicado. O Evento Click o mais importante para ele. As Propriedades Caption, Name, Enabled so importantes entre outras. A propriedade Enabled indica se o boto responder ao Evento Click ou no. PictureBox (Caixa de Imagem) - Este Controle utilizado para exibir figuras nos Formulrios e tambm responde ao Evento Click. A propriedade Picture a que abre a caixa de dilogo para indicarmos o path do cone ou da figura que queremos exibir.
Label (Etiqueta ou Rtulo) Exibir um texto onde o usurio no possa alterar. Sua propriedade principal a Caption (que o texto que o Controle exibir). Outras Propriedades de formatao do texto: FontName, FontBold, Alignment, etc. TextBox (Caixa de Texto) Exibir um texto onde o usurio possa editar. Sua propriedade principal o Text (que o texto que o Controle contem). As Propriedades de formatao do texto so idnticas ao Label. CheckBox (Caixa de Verificao) til quando necessitamos informar ao sistema que determinadas informaes so verdadeiras ou falsas. Em um mesmo Formulrio vrios CheckBoxs podem assumir o valor verdadeiro ao mesmo tempo. Algumas Propriedades: Visible, Enabled e Caption. OptionButton (Boto de Opo ou boto de rdio) Com este Controle somente uma das opes pode assumir o valor verdadeiro em um mesmo conjunto. Para Ter mais de um conjunto verdadeiro temos que utilizar o Controle Frame. ListBox (Caixa de Listagem) Exibir e selecionar uma lista de itens. As Propriedades ListCount e ListIndex so utilizadas para identificar os itens da lista. Os Mtodos AddItem e RemoveItem so utilizados para adicionar e remover itens. ComboBox (Caixa de Combinao) Combinao de uma TextBox com uma ListBox. Pode-se editar um texto na parte superior ou selecionar um item da lista. Propriedades idnticas as da ListBox. ScrollBar (Barra de Rolagem) Vertical e Horizontal - Estes controles assumem valos mximos ou mnimos 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 (propriedade LangeChange), que ocorre quando se clica na barra. O controle recebe o valor da posio atual. Timer (Temporizador) til para se controlar intervalos de tempo. Evento mais importante o Timer e a propriedade mais importante o Interval (que determina em milisegundos o intervalo de tempo d controle). Shape (Formas Geomtricas) Adiciona figuras geomtricas aos Formulrios. Com a Propriedade Shape escolhemos o tipo de figura (forma). Outras Propriedades BorderColor, BorderStyle e BackColor. Line (Linha) Adicionar linhas geomtricas a formulrios. Propriedades BorderColor, BorderWidth, BorderStyle, X1, X2, Y1 e Y2.
Image (Imagem) Exibe cones ou figuras e tambm responde ao Evento Click. Diferentemente do Controle Picture este controle tem a Propriedade Stretch que ajusta o tamanho da imagem para preencher a moldura. Adodc (ADO Data Control) Conecta-se a um Banco de Dados para extrair e manipular informaes deste BD. DataList Automaticamente preenche uma lista com campos de um ADO Data Control.
DataGrid Exibe e manipula uma srie de linhas e colunas representando Registros e Campos de um objeto Recordset. OLE Incorpora objetos de outros aplicativos em um formulrio.
5. PROPRIEDADES GERAIS
As principais propriedades dos objetos do Visual BASIC, que esto presentes em praticamente todos os objetos, so as seguintes: Caption - Nos botes, form, e frames, altera o ttulo 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 invisvel caso esta propriedade esteja definida como False. Font - Presente em objetos como textbox, label, botes command e botes check e option. Permite que seja alterada a fonte de um objeto. Name - Altera o nome do objeto, para fins de referncia durante a programao. Forecolor, Backcolor - define a cor da fonte e do fundo de um textbox, um label, ou outro objeto.
6. PROPRIEDADES DO FORMULRIO
Height - altura do formulrio Weight - largura do formulrio Maxbutton - ativa ou desativa a presena do boto Maximizar Minbutton - ativa ou desativa presena do boto Minimizar Left - altera a distncia do formulrio a partir da extrema esquerda do vdeo Top - altera a distncia do formulrio a partir do topo do vdeo
8. VARIVEIS
Variveis so reas de memria utilizadas para armazenar dados temporariamente. Digamos que voc queira fazer uma Calculadora. Os nmeros sero armazenados em variveis. Uma varivel identificada por um nome. Este nome deve obedecer s seguintes regras: - No pode haver repetio de nomes. - O nome deve comear com uma letra. - O nome no pode conter espaos, pontos, vrgulas e outros caracteres do tipo !, $, %. - Deve ter, no mximo, 255 caracteres.
Tipos de variveis:
Data type Byte Boolean Integer Long (long integer) Single (single-precision floating-point) Double (double-precision floating-point) Storage size 1 byte 2 bytes 2 bytes 4 bytes 4 bytes Range 0 to 255 True or False -32,768 to 32,767 -2,147,483,648 to 2,147,483,647 -3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values -1.79769313486232E308 to 4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values -922,337,203,685,477.5808 to 922,337,203,685,477.5807 +/-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.0000000000000000000000000001 January 1, 100 to December 31, 9999 Any Object reference 0 to approximately 2 billion
8 bytes
8 bytes 14bytes
8 bytes 4 bytes 10 bytes + string length Length of string 16 bytes 22 bytes + string length
1 to approximately 65,400 Any numeric value up to the range of a Double Same range as for variable-length String
Declarao de variveis:
Dim x as String Dim matriz(9, 9) As Integer Obs.: Quando voc no declara uma varivel, ela considerada do tipo Variant. Note que este tipo ocupa pelo menos 16 bytes de memria, bem mais que os outros. Mas, ser que faz muita diferena gastar 2, 4, 8 ou 16 bytes da memria? Hoje os computadores tm muita memria. Tudo bem, em programas pequenos isto no ser uma diferena crucial, mas em um programa maior, com centenas de variveis, isto pode fazer a diferena. Alm disto, devemos lembrar que o Windows pode trabalhar com vrios programas abertos ao mesmo tempo; e se seu programa for "gordo" poder atrapalhar a
performance dos outros. Alm disto, quanto menos memria ocupa um certo tipo de dado, mais rapidamente ele processado. Por isso, procure sempre usar o "menor" tipo de dado possvel. Mas lembre-se: se voc ultrapassar o limite da varivel acontecer um erro. (Exemplo: tente criar uma varivel do tipo Byte e atribua a ela um valor maior que 255).
Do ... Loop
(Step)
Unload form
Em seguida, defina uma aparncia agradvel ao Splash, adicionando novos objetos (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 tempo que o Splash ser apresentado. Este tempo definido em milisegundos. Por exemplo, para mostrar o Splash durante 4 segundos, defina a propriedade Interval como 4000. Alm disso, devemos adicionar um pequeno cdigo de programao associado ao evento Timer do objeto Timer. Private Sub Timer1_Timer() MDIForm1.Show Unload Me End Sub No cdigo acima, ao trmino dos 4 segundos, mostrado o MDIForm, que provavelmente o formulrio principal da aplicao, e em seguida o Splash descarregado. Para que o Splash seja o primeiro formulrio a ser apresentado, clique sobre o menu Project > Project1 Properties (em Project1 estar o nome do seu projeto). Em seguida, na guia General, escolha o formulrio Splash na lista Startup Object.
Clique no boto 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 aps ter adicionado todas as imagens. Para adicionar botes Toolbar, clique sobre ela com o boto direito e escolha Properties. Na janela que se abre, escolha a guia Buttons.
Clique em Insert Button para adicionar botes. Para cada boto adicionado defina as propriedades Image (nmero da imagem no ImageList) e ToolTipText (texto informativo mostrado quando se move o mouse sobre o boto).
Em linha de cdigo, para selecionar qual boto foi clicado, use um cdigo semelhante 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 Select End Sub No exemplo acima, cada boto clicado abre um formulrio.
Quando declaramos uma varivel com um Dim, dentro de um subprocedimento (como no exemplo acima), a varivel s existe dentro daquele subprocedimento. Ela no est disponvel para outras "Subs". Alm disto, quando a Sub que a continha acaba de ser executada, o valor da varivel se perde, mesmo para futuras "chamadas" da mesma Sub. Uma varivel declarada na seo Declarations (General) de um Form est disponvel para todas as suas Subs. Porm, se usarmos dois formulrios, a varivel declarada em um deles no estar disponvel para o outro. A soluo declarar a varivel em um nvel "mais abrangente": o mdulo. Para criar um mdulo, acesse o menu Project > Add Module. Ento, declare a varivel da seguinte maneira:
Public Nome as String
Note que declaramos usando "Public", que informa ao VB que esta varivel ser "pblica", ou seja, disponvel para todas as Subs de todos os Forms deste programa.
Vejamos na tabela abaixo um resumo das clusulas manipulativas e suas finalidades: Instruo SELECT Funo Obtm um grupo de registros e insere os registros em um dynaset ou em uma tabela. Define os valores dos campos de uma tabela em uma atualizao.
UPDATE DELETE Remove registros de uma tabela. FROM INSERT INTO Acrescenta um grupo de registros a uma tabela.
Vejamos alguns exemplos da instruo SELECT: 1) Seleciona os campos "Primeiro nome" e "Sobrenome" de todos os registros da tabela Empregados. SELECT [Primeiro nome], [Sobrenome] FROM Empregados 2) Seleciona todos os campos da tabela Empregados. Note o uso parmetro (*) indicando todos os campos da tabela indicada. SELECT Empregados.* FROM Empregados 3) Conta o nmero de registros que tm uma entrada no campo "Cdigo postal" e coloca o ttulo Contagem no topo da coluna. SELECT Count([Cdigo postal]) AS Contagem FROM Clientes 4) Seleciona os campos "Primeiro nome" e "Sobrenome" de cada registro cujo sobrenome seja Pereira. SELECT [Primeiro nome], [Sobrenome] FROM Empregados WHERE [Sobrenome] = 'Pereira' 5) Seleciona os campos "Primeiro nome" e "Sobrenome" para Empregados cujos sobrenomes comeam pela letra S. SELECT [Primeiro nome], [Sobrenome] FROM Empregados WHERE [Sobrenome] Like 'S*'
Observaes:
FROM Indica as tabelas utilizadas como fonte de dados. WHERE Especifica as condies que os registros devem satisfazer para compor o subconjunto de dados.
Ao contrrio de muitos sistemas de gerenciamento de bancos de dados que executam apenas na plataforma Windows, o Firebird compatvel com Linux, Mac, Unix, dentre outros. Por isso tenha o cuidado de selecionar o programa na categoria win32 que apropriada para quem trabalha com o Windows.
Dica: as distribuies do Firebird terminadas com a string -RCn no so verses finais, por isso, prefira usar a ltima release do produto que muito mais estvel, e no, uma verso beta que ainda no foi testada totalmente.
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 boto Sim para iniciar a instalao.
c) Antes de clicar no boto Next > para continuar a instalao, feche todos os aplicativos abertos. d) Ser apresentada a License Agreement, selecione o boto de opo I accept the agreement para indicar ao programa que voc concorda com a licena, em seguida, clique no boto Next > para continuar a instalao. e) Na caixa de dilogo Information sero apresentadas informaes complementares sobre a instalao do Firebird. Clique no boto Next > para continuar. f) No caixa de dilogo Select Destination Directory ser possvel informar o local onde o Firebird ser instalado. recomendvel no modificar a localizao padro que \Arquivos de programas\Firebird. Clique no boto Next > para continuar.
g) O prximo passo informar os componentes a serem instalados, selecione a opo Full installation of Server and development tools, em seguida, clique no boto Next > para continuar. h) Na caixa de dilogo Select Start Menu Folder dever ser informado o nome da pasta do menu iniciar onde os cones do programa sero criados. Deixe o nome padro da pasta que Firebird. D um clique no boto Next > para continuar. i) Na caixa de dilogo Select Additional Tasks no altere nenhuma das opes, simplesmente, d um clique no no boto Next > para continuar.
Dica: as distribuies do Firebird quando instaladas no Windows 95 e 98 so executadas como um aplicativo. A partir do Windows 2000 como um servio. j) Na caixa de dilogo Ready to install clique no boto Install para iniciar a copia dos arquivos para o disco rgido de seu computador. k) Se for apresentada outra caixa de dilogo, clique no boto Next ou Ok para continuar a instalao.
b) Selecione a opo Remote Server, em seguida, preenche todos parmetros necessrios ao registro e conexo de um novo servidor no IB Console.
Nome do Servidor: nmero IP da mquina local (e.g. 127.0.0.1), ou ento, o nmero IP de uma mquina remota da rede (e.g. 192.168.0.1). Protocolo da Rede: TCP/IP. Apelido do Servidor: normalmente o nome da instituio, departamento ou setor onde o computador que possui o banco de dados esta armazenado (e.g. Laboratorio3). Descrio: informao complementar Nome do Usurio: SYSDBA Senha: masterkey
c) Aps preencher todos os parmetros obrigatrios, d um clique com o boto esquerdo do mouse no boto OK.
b) O IB Console apresentar uma caixa de dialogo com a pergunta: voc tem certeza que voc quer fechar a conexo do servidor selecionado?. D um clique no boto Sim.
b) Ser solicitada a informao de Login no servidor. Informe para os campos Nome do Usurio e Senha, respectivamente, sysdba e masterkey. Em seguida, d um clique no boto Login.
b) Durante o processo de criao de um novo Banco de Dados obrigatrio o preenchimento dos seguintes campos: Filename(s), Size (Pages) e Alias. interessante preencher o campo Size (Pages) com o valor padro 4096 e deixar selecionada a caixa de checagem Register Database. Aps preench-los d um clique no boto OK.
O cone do objeto de dados correspondente ao banco de dados Hotel ser includo dentro do objeto Databases do Servidor DSI.
19.8. Trabalhando com Tabelas Como criar uma tabela e definir o campo que a chave primria
a) Selecione o nome do Banco de Dados onde ser criada a tabela clicando com o boto esquerdo do mouse. Em seguida, selecione o comando Interactive SQL... existente no menu Tools.
b) Digite no Interactive SQL o comando Create Table com as informaes sobre o nome da tabela; o nome, o tipo de dados e se o contedo pode ser nulo para cada campo; e o nome do campo escolhido para ser chave primria.
c) Ao terminar de digitar o comando no Interactive SQL execute-o pressionando Ctrl+E ou ento clicando sobre o cone da barra de ferramentas mostrada na ferramenta abaixo:
d) Se o comando digitado no possuir nenhum erro de sintaxe e for executado corretamente, a tela do Interactive SQL ser apagada e no ser apresentada uma mensagem de erro. Para rever o comando digitado use o cone da barra de ferramentas mostrado na figura abaixo:
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.
20. CONEXO DO BANCO DE DADOS FIREBIRD COM O VISUAL BASIC 20.1. Instalao do Driver ODBC
No VB, para abrir um banco de dados Firebird, necessrio antes instalar um driver ODBC. Para instal-lo, basta seguir os passos do assistente. Nesta apostila, est sendo usado o IBPhoenix Firebird ODBC Driver.
Na prxima caixa de dilogo dever ser selecionado o provedor de acesso para o banco de dados que a conexo abrir. Selecione a opo Microsoft OLE DB Provider for ODBC Drivers.
Clique em Next.
Na tela seguinte, selecione a opo Use connection string e clique no boto Build.
Na tela que se segue, deveremos dar um nome fonte de dados criada (DSN). Tambm ser preciso indicar o arquivo do banco de dados (Database), a conta para acesso ao banco (Database Account) e a senha (Password). No exemplo abaixo,
nomeamos a fonte de dados como Banco, o arquivo do banco de dados se chama Teste.gdb e est localizado na rea de Trabalho, a conta para acesso SYSDBA e a senha masterkey. Veja a figura:
Aps efetuar todas as configuraes 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 conexo, conforme mostrado abaixo:
Selecione a string de conexo e copie-a utilizando CTRL+C. A string de conexo tambm pode ser copiada mais tarde. Para encontr-la, clique com o boto direito sobre Connection1 e selecione Properties. Em seguida, escolha a guia Connection.
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.Close End Sub
Private Sub txtdata_KeyPress(KeyAscii As Integer) If Not ((KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Or KeyAscii = 47) Then KeyAscii = 0 End If End Sub
No prximo cdigo, temos a validao para um campo moeda. Nesta caixa de texto s ser possvel digitar nmeros, Backspace e a vrgula (,). Note que 44 corresponde ao cdigo ASCII da vrgula.
Private Sub txtvalor_KeyPress(KeyAscii As Integer) If Not ((KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Or KeyAscii = 44) Then KeyAscii = 0 End If End Sub
Abaixo segue a tabela de cdigos ASCII: ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Caractere ** ** ** ** ASCII 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Caractere [space] ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? ASCII 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 Caractere @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ASCII 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 Caractere ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~
Caracteres no suportados pelo Windows. ** Valores 8, 9, 10, e 13 representam backspace, tab, linefeed (alimentador de linha), e enter, respectivamente.
If Not IsDate(txtdata.Text) Then MsgBox ("Data invlida!") txtdata.SetFocus Exit Sub End If
If Not IsNumeric(txtvalor.Text) Then MsgBox ("Valor invlido!") txtvalor.SetFocus Exit Sub End If
27. DataList
A caixa de listagem vinculada aos dados Data List tem funo idntica caixa de listagem ListBox, a qual seja, apresentar ao usurio uma lista de opes. A principal diferena consiste no fato de a caixa de listagem vinculada aos dados buscar as informaes em um Recordset, enquanto que a Caixa de Listagem, obtm as informaes atravs de uma srie de instrues AddItem. Vejamos como utilizar o controle DataList no roteiro a seguir: 1- Clique no menu Project > Components e escolha a opo Microsoft Data List Controls 6.0 (OLEDB). Selecione tambm a opo Microsoft ADO Data Control 6.0 (OLEDB). 2- Em um formulrio, insira o controle Adodc (ADO Data Control) e configure as propriedades: Name Nome do controle (o nome padro Adodc1). ConnectionString String de conexo. Dados necessrios para efetuar a conexo com o banco de dados (j citada anteriormente). Copie a string de conexo do Data Environment. RecordSource Clique no boto ao lado da propriedade (...) e aparecer a seguinte tela:
Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e o nome 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 contm as informaes usadas para preencher a lista (no caso, Adodc1) ListField o nome do campo da origem dos dados a ser exibido na lista
28. DataCombo
Para configurar um DataCombo, proceda da mesma maneira como foi configurado o DataList: 1- Clique no menu Project > Components e escolha a opo Microsoft DataList Controls 6.0 (OLEDB). 2- Em um formulrio, insira o controle Adodc (ADO Data Control) e configure as propriedades: Name Nome do controle (o nome padro Adodc1). ConnectionString String de conexo. Dados necessrios para efetuar a conexo com o banco de dados (j citada anteriormente). Copie a string de conexo do Data Environment. RecordSource Clique no boto ao lado da propriedade (...) e aparecer a seguinte tela:
Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e o nome da tabela ou consulta (no caso, Empregado).
3- A seguir, insira o controle DataCombo e atente para as seguintes propriedades: RowSource nome do controle de dados que contm as informaes usadas para preencher a lista (no caso, Adodc1). ListField o nome do campo da origem dos dados a ser exibido na lista
29. DataGrid
A grade vinculada aos dados DataGrid oferece um meio para visualizar vrios registros ao mesmo tempo. O seu primo pobre no VB seria o controle Grid. Enquanto o Grid precisa ser configurado quase que totalmente via cdigo, para usar o DataGrid basta arrastar o cone do controle para o seu formulrio e definir a propriedade DataSource para identificar o controle de dados que contm os dados que voc quer exibir, e pronto, a grade exibe todos os campos dos registros do recordset. Exemplo de Utilizao e Configurao Suponha que temos a seguinte tabela com os seguintes dados: Empregado Nome Joo Maria Jos Mauro Pedro Telefone 3221-1234 3222-5678 3212-1234 3213-1234 3214-1234
Criaremos uma consulta de pessoas por nome, utilizando o DataGrid e sentenas SQL. Vejamos passo a passo como utilizar o DataGrid com o controle de dados vinculados Adodc (ADO Data Control). 1- Clique no menu Project > Components e escolha a opo Microsoft DataGrid Control 6.0 (OLEDB). 2- Selecione o objeto Adodc na Toolbox do Visual Basic e acrescente-o ao seu formulrio. 3- Defina a seguir as propriedades: Name Nome do controle (o nome padro Adodc1). Visible (False) para que o objeto Adodc no aparea durante a execuo do programa ConnectionString String de conexo. Dados necessrios para efetuar a conexo com o banco de dados (j citada anteriormente). Copie a string de conexo do Data Environment. RecordSource Clique no boto ao lado da propriedade (...) e aparecer a seguinte tela:
Deve-se escolher o tipo de comando (no caso, adCmdTable corresponde a Tabela), e o nome 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 configurado anteriormente (Adodc1). 6- Para proibir a edio, incluso e excluso de registros na grade voc deve definir como False as propriedades AllowAddNew, AllowUpdate e AllowDelete. Isto pode ser feito atravs da folha de propriedades do DataGrid.
7- Na folha de propriedades do DataGrid, na guia Columns, devemos associar cada coluna do DataGrid com um campo da tabela que ser usada para preench-lo.
Para completar o nosso exemplo, falta o cdigo para a execuo da pesquisa. No evento Click do Command1, acrescente o cdigo 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.Refresh End Sub
Nesta tela, basta definir a mscara (Mask) e/ou o formato do campo (Format). Alguns exemplos de formatos: Moeda R$#,##0.00;(R$#,##0.00) Data dd/mm/yyyy Alguns exemplos de mscaras: Data ##/##/#### CEP ##\.###\-### CPF ###\.###\.###\-## Telefone \(##\)####\-#### Note que a barra invertida (\) sempre aparece antes de um caractere especial. Obs.1: Para limpar o contedo de um MaskedEdit, preciso atribuir a ele o formato da mscara. Exemplos: MaskEdBox1.Text MaskEdBox2.Text MaskEdBox3.Text MaskEdBox4.Text = = = = "__.___-___" "(__)____-____" "___.___.___-__" "__/__/____"
Obs.2: Para atribuir uma data a um MaskedEdit, preciso antes format-la usando a funo Format. Exemplo: MaskEdBox4.Text = Format(Date, "dd/mm/yyyy")
Agora, basta definir a fonte de dados que alimentar o grfico, geralmente uma tabela, e fazer a configurao do Controle MSChart. Para abrir um dilogo de propriedades do controle MSChart, clique com o boto direito do mouse sobre o mesmo, selecione a opo Properties e a janela para configurao surge como mostrada na figura abaixo:
Cada aba permite configurar diversas propriedades utilizadas na confeco de um grfico. Utilizao e Configurao Vejamos agora as propriedades do MSChart e como configur-lo.
A configurao inicial do controle grfico apresenta uma srie de quatro barras em cinco colunas com legendas R1 a R5. Esta seqncia de dados definida pela propriedade RowCount. A quantidade de colunas definida pela propriedade ColumnCount. Na figura acima alteramos RowCount para 2 e ColumnCount tambm para 2 e ainda definimos a propriedade RowLabel para cada coluna e a propriedade ShowLegend para True. A propriedade ChartType permite obter os seguintes tipos de grficos: Barra - Valores 0 e 1 Linha - Valores 2 e 3 reas - Valores 4, 5 , 6 e 7 Combinao - Valores 8 e 9 Torta - Valor 14 XY - Valor 16
Aba Chart Chart Type - Permite escolher o tipo de grfico usado Chart Options Show Legend Show Markers Stack Series Series em rows Aba Axis e Axis Grid Existem diversas propriedades que permitem configurar os eixos de um grfico como: Espessura e cor de linhas Definio da escala - Valor Mximo e Mnimo Diviso da Escala - Valor Maior e Menor Aba Series e Series Color Permitem configurar diversas propriedades relacionadas s sries do grfico e cor interior e da borda de cada srie. Aba BackDrop Configura os elementos de fundo e da borda do grfico. O elemento a ser configurado selecionado na lista Property Name. Aba Text Atravs da lista Property Name podemos selecionar o ttulo, o rodap, ttulos dos eixos X, Y ou de um segmento eixo Y e definir um nome para cada item, inclusive definindo o alinhamento e a orientao do texto atravs do grupo Alignment e Orientation. Aba Fonts Permite definir a fonte, estilo, tamanho e efeitos de cor. Alm destas propriedades temos as seguintes: Row RowCount RowLabel Data Column ColumnCount ColumnLabel BorderStyle - especifica a linha corrente - determina o nmero de seqncia de dados - define o rtulo de dados da linha corrente - Permite a leitura e a atribuio dos valores de dados ao grfico - define a coluna ativa - define o nmero de colunas ativas - define a legenda para a coluna ativa - define a borda do grfico
- Mostra a legenda no grfico - Marcas sobre cada coluna do grfico - Empilhar as colunas - Inverte apresentao, colunas em linhas
ChartData
- permite atribuir valores s seqncias de dados a partir de uma matriz (array) de duas dimenses.
Exemplo de Utilizao Suponha que temos uma tabela que armazene as notas de um grupo de alunos. Os dados na tabela so: Nome Joo Paulo Maria Lucas Laura Nota 5,0 7,5 8,0 2,0 10,0
Criaremos um grfico de colunas que representa a nota de cada aluno. Siga os passos: 1- Adicione um controle MSChart ao formulrio. 2- Configure as seguintes propriedades do MSChart: RowCount = 5 ColumnCount = 1
Private Sub Form_Load() StringConexao = DSN=teste;Driver=OdbcJdbc;Dbname=C:\prog\Escola.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 x End Sub
Configurando o Ambiente de Dados (DataEnvironment) Antes de trabalharmos com o Data Report ou qualquer outro componente que acesse registros de uma base dados, necessrio abrir o banco de dados e as respectivas tabelas ou consultas existentes neste banco de dados. D um duplo clique no objeto DataEnvironment1 para abrir a janela do DataEnvironment.
Para alterar as propriedades do DataEnvironment, ser usado a janela do Project Explorer em conjunto com a janela Properties Windows. Como o objeto DataEnvironment1 ser usado em diversas partes do projeto, para facilitar sua utilizao, mudaremos a propriedade (Name) de DataEnvironment1 para deComercial. Para alterar a propriedade Name, d um clique no objeto DataEnvironment1, em seguida, utilizando a janela de propriedades modifique a propriedade name.
D um clique com o boto do mouse sobre o componente Connection1, em seguida, selecione Properties na barra de Ferramentas. Na tela que se segue, devemos configurar a string de conexo. Isto j foi feito no item 20.3 Criando a string de conexo. Caso necessrio, veja novamente o item 20.3.
Definindo uma referncia para uma Tabela Antes de prosseguirmos, interessante mudar a propriedade Name do componente Connection1 para conComercial. Para tal, use a janela de propriedades do Visual Basic.
No DataEnvironment, cada tabela ou consulta denominada de Command. Para incluir um command, d um clique com o boto direito sobre o objeto connection (que no exemplo se chama conComercial), em seguida selecione a opo Add Command.
Aps adicionar o Command, o passo seguinte ser alterar suas propriedades. Para tal, d um clique com o boto direito sobre o Command1, em seguida selecione a opo Properties.
Na guia General da janela de propriedades, dever ser informado o nome do command, a conexo que contm o banco de dados que possui a tabela ou consulta desejada e a fonte de dados (os mais usados so Consultas e Tabelas). O campo Command Name deve ser preenchido de forma coerente com a tabela ou consulta selecionada.
No exemplo abaixo, foi informado como Command Name comProdutos, porque este command ser uma referncia para a tabela Produtos (evite usar nomes pouco significativos). Aps fazer isso, d um clique no boto OK.
Se correr tudo bem, ser acrescentado um novo objeto command chamado comProdutos subordinado a conexo conComercial.
Definindo uma referncia para vrias Tabelas Para usarmos vrias tabelas em uma consulta, a forma mais prtica e simples atravs de uma sentena SQL. Para tal, usaremos o Access para criarmos uma consulta, em seguida, usaremos a sentena SQL gerada por ele dentro do Visual Basic. Aps executar o Microsoft Access, abra o Banco de Dados que contem as tabelas que sero usadas no Command. Como iremos criar uma consulta, selecione a guia correspondente a esta opo no Access (observe que a figura abaixo relativa a verso 97 deste aplicativo e no a 2000).
Aps selecionar a guia Consultas, d um clique no boto Novo, para criar uma nova consulta. Ser mostra a janela do assistente, selecione a opo Assistente de Consulta Simples. Em seguida, d um clique no boto OK.
Utilize a caixa de combinao Tabelas/ Consultas:, para selecionar o nome da tabela que possui os campos que sero usados na consulta.
Aps selecionar o nome da tabela, o prximo passo selecionar na caixa de listagem Campos disponveis, o nome do campo que ser usado na consulta. D um clique no boto > para adicionar o campo cNome a caixa de listagem Campos
selecionados. O boto >> usado para adicionar todos os campos da tabela selecionada. Os botes < e << so usados para remover algum campo adicionado erroneamente ou no mais necessrio.
Aps selecionados os campos desejados da tabela de Clientes, selecione na caixa de combinao Tabelas/ Consultas:, o nome da prxima tabela. Feito isto, selecione o nome dos campos e assim sucessivamente at que todos os campos desejados estejam selecionados.
D um clique no boto Concluir para finalizar a criao de sua consulta. Ao fazer isto, a consulta ser automaticamente salva e executada. A execuo nada mais que a apresentao do resultado.
A apresentao do resultado da consulta, um sinal da que a mesma est correta. Porm, como o que interessa a sentena SQL correspondente, vamos mudar o modo de exibio para Modo SQL.
O comando SQL correspondente ser apresentado conforme abaixo. Basta agora copiarmos para a rea de transferncia, em seguida, colar no Visual Basic.
O prximo passo ser adicionar um novo Command no DataEnvironment, para tal, d um clique com o boto direito do mouse sobre a conexo conComercial, em seguida, selecione a opo Add Command.
Aps adicionar o novo Command, o prximo ser a alterao de algumas propriedades. D um clique com o boto direito do mouse sobre o command criado.
Observe que como estamos usando uma sentena SQL, a fonte dos dados (Source of Data) dever ser a opo SQL Statemend. Coloque o comando SQL criado no access conforme mostrado na figura anterior. Para finalizar d um clique no boto OK. Aps feito isto, o command dever possuir as caractersticas mostradas abaixo:
Utilizando Sub Commands comum a elaborao de relatrios ou consultas, onde dois ou mais commands esto relacionados entre s. Isso bastante til quando se deseja agrupar os dados em funo de um determinado registro. S possvel usar um sub command quando ambos os commands tem um campo em comum. No exemplo abaixo, possvel relacionar comEntradas com comItens_Entradas, atravs do campo eID.
Ambas as sentenas SQL foram criadas no Access usando os passos descritos anteriormente. Para relacionar um command com o outro, ou deixar um command subordinado ao outro, necessrio alterar as propriedades do command filho. Ou seja, aquele que tem dependncia de existncia.
Selecione a guia Relation em seguida marque a opo Relate to Parent Command Object. Indique na caixa de combinao Parent Command o command pai. Finalmente selecione os campos comuns aos commands em seguida d um clique no boto Add. Feito isso d um clique no boto OK.
Primeiro Passo: d um clique com o boto direito do mouse sobre a janela do Project Explorer. No menu de atalho, selecione o comando Add, em seguida, a opo Data 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 cada DataReport (relatrio), dever ser definido um nico Command. (Name): rptProdutos Caption: Relatrio de Produtos DataSource: deComercial DataMember: comProdutos
Terceiro Passo: d um duplo clique no cone do objeto rptProdutos (antigo DataReport1) para que seja mostrado o formulrio correspondente. Quarto Passo: d um clique com o boto direito do mouse sobre o formulrio aberto no passo anterior, em seguida selecione o comando Retrieve Structure.
Todos os objetos desenhados no relatrio sero apagados aps a execuo deste comando. Por questes de segurana, solicitada a confirmao do usurio. D um clique no boto Sim. As sees do relatrio sero definidas de acordo com o respectivo Command.
Alterando as caractersticas do Relatrio Como no se pode usar os componentes da caixa de ferramentas padro para desenhar um relatrio, o DataReport possui seus prprios componentes. Observe que os componentes da caixa de ferramentas General ficam indisponveis se o DataReport estiver selecionado, da mesma forma que os componentes da caixa de ferramentas DataReport ficam indisponveis se o Form estiver selecionado. O RptLabel, RptTextBox, RptImage, RptLine e RptShape so os equivalentes ao existentes na caixa general, aplicando-se neles todos os conceitos vistos anteriormente. O RptFunction um caso que ser tratado a parte.
Na seo Page Header dever ser definido o cabealho da pgina, ou seja, o texto que ser impresso no topo de todas as pginas do relatrio. Na figura abaixo, um exemplo de um cabealho simples desenhado com o RptLabel.
Para a seo Detail (comProdutos_Detail), devero ser arrastados todos os campos do Command comProdutos que desejamos que sejam impressos no relatrio.
Em Page Header dever ser definido o cabealho da pgina, ou seja, o texto que dever ser impresso no topo de todas as pginas. Usando o objeto RptLabel, desenhe 3.
Somente ser permitido arrastar os campos do Command especificado na propriedade 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 seo Detail so colados um RptLabel e um RptTextBox. Se voc ainda no tiver rotulado o campo em questo, arraste o RptLabel para a seo Page Header em seguida modifique suas propriedades. Observe que ao ser colado um campo na seo Detail, os objetos RptLabel e RptTextBox vem selecionados, desmarque o objeto RptTextBox antes de mover o objeto RptLabel.
importante observar que campos numricos devem ser alinhados sempre direita (right), enquanto campos alfanumericos devem ser alinhados a esquerda (left). A propriedade DataFormat usada para formatar a apresentao dos dados no relatrio. Aps alterar as propriedades do campo pCdigo, repita o procedimento para os campos pDescrio e pEstoque_Atual.
importante observar as seguintes caracterstica do DataReport: - Os objetos RptLabel, RptTextBox e todos os demais, ao serem movimentados atravs do mouse, observam o posicionamento do Grid (caixa retangular existente em segundo plano). - Para colocar um objeto em um determinada posio do relatrio, faa-o atravs da alterao das propriedades Left (posio horizontal) e Top (posio vertical). - Use as propriedades Height e Width para modificar respectivamente a altura e o comprimento de um determinado componente. - Em hiptese alguma modifique o comprimento e a altura do relatrio. Se aps alterar o comprimento ou a altura, o relatrio ficar maior que as dimenses do formulrio selecionado, ocorrer um erro durante a impresso. Se o fizer, faa-o aos poucos e teste a impresso (no vdeo a medida que for fazendo). - No DataReport existem diversas sees. Antes de alterar quaisquer propriedades, verifique antes na janela de propriedades se est atualmente selecionado o objeto desejado.
Incluindo nmero de pgina, data e hora ao relatrio Para incluir o nmero da pgina atual, total de pginas, data atual e hora. D um clique com o boto direito do mouse sobre a seo Page Header do relatrio, em seguida, selecione a opo Insert Control.
Fazendo a chamada do Relatrio A maneira mais simples de chamar um relatrio criado no Data Report, atravs do mtodo Show. A chamada deve ser digitada dentro de um boto de comando, conforme mostrado no exemplo abaixo. Private Sub cmdImprimir_Click() rptProdutos.Show End Sub
Filtrando os dados mostrados no relatrio O mtodo Filter uma tima alternativa para filtrar os dados apresentados em um determinado relatrio criado no DataReport. Ele dever ser usado antes do mtodo show, conforme exemplos abaixo: deComercial.rscomProdutos.Filter = "pCodigo=1" rptProdutos.Show ou deComercial.rscomProdutos.Filter = "pCodigo=" & rptProdutos.Show TxtCodigo_Produto
Se por acaso o campo usado no filtro for uma data, esta dever delimitada por duas tralhas (e.g. vData_Emissao=#2001-08-31#).
Criando um relatrio a partir de um Sub Command As mudanas em relao a um relatrio que usa um nico Command so poucas. Entretanto, vamos detalhar as diferenas para que seja mais fcil compreende-la. 1 Mudana: deve ser indicado como DataMember o nome do command pai, a partir dele, o Data Report recupera os demais dados existentes no command filho. (Name): rptEntradas_Periodo Caption: Relatrio de Entradas DataSource: deComercial DataMember: comEntradas 2 Mudana: o uso do comando Retrieve Structure, deixa de ser opcional e passa a ser obrigatrio. Observe que pelo fato do Command possuir um Sub Command, a partir de agora o relatrio tem agora as sees Group Header e Group Footer. Para visualizalas, aumente a altura do formulrio.
Voc acabou de desenvolver uma aplicao em Visual Basic, testou, depurou e, finalmente, est pronto para distribu-la aos usurios finais. Geralmente tais usurios no possuem o Visual Basic instalado em suas mquinas (voc deve sempre considerar essa situao como a padro). Voc ter ento que distribuir com sua aplicao uma srie de arquivos DLL, e, se sua aplicao usar controles personalizados, ter tambm que distribuir os arquivos de controle VBX/OCX que utiliza. Para isto, ou voc cria um programa de instalao com o Wizard, que determina os arquivos que voc precisa distribuir, ou tenta determinar por si mesmo quais os arquivos precisam ser distribudos. O Package & Deployment Wizard fornecido com o Visual Basic e voc poder us-lo para criar um programa que instalar sua aplicao na mquina do usurio. As tarefas bsicas que o Package & Deployment Wizard faz so: Construir o arquivo executvel (EXE) do seu projeto. Criar um programa de instalao para a sua aplicao. Determinar os arquivos necessrios para a aplicao. Compactar os arquivos do programa, copi-los e dividi-los em discos para distribuio (Disquete, CD-ROM, Disco Rgido e Redes). Criar um grupo de programas e um cone no sistema do usurio.
Gerando o assistente de Instalao e os discos para distribuio Vamos descrever passo a passo o processo de criao do programa de instalao e da gerao dos discos de distribuio para um projeto: agenda.vbp. Vamos supor que a distribuio ser feita em discos de 3 1/2 (1.44) e iremos usar o Package & Deployment Wizard. Ento vamos l: 1 - Inicie o Package & Deployment Wizard, clicando em Iniciar > Programas > Microsoft Visual Studio 6.0 > Microsoft Visual Studio 6.0 Tools > Package & Deployment Wizard. Surgir a tela abaixo:
2- Nesta tela, clicamos no boto Browse para selecionar o projeto. Em seguida, clicamos em Package. 3- Caso o seu projeto ainda no tenha sido compilado, aparecer uma janela solicitando a compilao. Nela, devemos clicar em Compile. Em seguida, aparecer a seguinte tela:
4- Nesta tela, basta selecionar Standard Setup Package e clicar em Next. Surge a tela seguinte:
5- Aqui selecionamos a pasta onde os arquivos de instalao sero gravados. Ento clicamos em Next e:
6- Clicamos no boto Add para adicionar arquivos que sero distribudos junto com a aplicao, como por exemplo, um arquivo de banco de dados. Clicando em Next:
7- Escolhemos se a instalao ser distribuda em um nico arquivo (HD, rede, CD) ou em vrios arquivos (disquete), podendo especificar o tamanho. Clicando em Next:
9- Definimos o local onde os cones aparecero no Menu Iniciar. 10- A partir da, basta clicar em Next at finalizar o assistente clicando em Finish.