Baixe o app para aproveitar ainda mais
Prévia do material em texto
Técnica de Programação - Visual Basic 5.0 Pág: � PAGE �351� Índice 4INTRODUÇÃO: � 4Programação orientada a eventos. � 4Como acessar o VB5. � 5Formulário � 5Caixa de ferramentas. � 7Janela properties. � 8Janela project. � 9Janela Form – Layout � 9Compilar e executar o programa. � 9Salvando � 9Criando o arquivo executável para windows. � 9Variáveis � 9Comando DIM � 10Comando public. � 10Caixas de Mensagens: MSGBOX � 11Comando INPUTBOX: � 12Comandos Condicionais � 121 - IF - THEN - END IF � 122 – IF - THEN - ELSE - END IF � 123 – IF - THEN - ELSE IF - ELSEIF - … - END IF � 134 – Instrução SELECT CASE � 135 – Comando DO WHILE -LOOP � 136 – Comando DO UNTIL – LOOP � 137 – Comando FOR – NEXT � 13FUNÇÕES � 131 – FUNÇÃO Left( )– � 142 – FUNÇÃO Len( )- � 143 – FUNÇÃO Right( ) – � 144 – FUNÇÃO Mid( ) – � 145 – FUNÇÃO Lcase( ) – � 146– FUNÇÃO Ucase( ) � 147-FUNÇÃO Ltrim ( ) � 158– FUNÇÃO Rtrim ( ) � 159 – FUNÇÃO Trim ( ) � 1510 – FUNÇÃO STR( ) � 1511 – FUNÇÃO Val( ) � 15Menu Editor � 16Janela do Menu Editor: � 16Convenções para criar menus para aplicativos for Windows � 17Opções comuns como, abrir, salvar como, imprimir, fonte e cor nos programas de menu: � 17Comandos � 17Comando Show � 17Comando hide: � 17Comando load: � 17Comando unload me: � 17Objeto timer e procedure timerx_timer, � 17Eventos: � 18Vetores Ou Array � 18Como declarar o vetor � 19Exercícios usando bando de dados � 20Criar telas de manutenção utilizando a janela VISDATA. � 20Modificando os forms criados pela janela VISDATA. � 20Alterar a procedure do botão close � 20Ativando e desativando botões. � 21Exercícios Resolvidos: � 211. Mensagem � 212 - Repassa � 224 - Exercício de desenhar � 225 - Exercício utilizando imagens � 236 - Exercício utilizando MSGBOX e INPUTBOX � 237 - Exercício de senha e login usando INPUTBOX E MSGBOX � 248 - Exercício usando operadores: � 249 – Menu1 � 2610 – Menu2 � 2811 - Colocar uma tela de splash � 34612 - Para colocar a tela de login � 34713 - Para colocar uma tela com acesso a internet � 34714 - Colocar uma tela do sobre � 34815 - Para colocar no menu a opção para organizar janelas � 34816 - Projeto usando Banco de Dados (Departamento – Funcionário) � 349Mapeamento � 349Criar as tabelas e o relacionamento no AccessTabelas: � 349Tela do Menu Principal – usar MDIForm � 350Tela – Controle de Departamento � 350Códigos � 353Tela de funcionários � 353Códigos � 35612– Crie um projeto com base no anterior com os sequintes dados: � 357Exercícios de fixação: � � VISUAL BASIC 5 INTRODUÇÃO: Programação orientada a eventos. Os programas desenvolvidos na linguagem VB5, são orientados a eventos. Os eventos são gerados pelo usuário ao executar uma determinada ação, que pode ser um simples clicar no mouse, ou o pressionar de uma tecla, etc... Deste modo, cada evento possui um código de programação distinto, assumindo todo o fluxo do programa, deixando o programador isento da responsabilidade da organização deste fluxo. Como acessar o VB5. BOTÃO INICIAR PROGRAMAS Microsoft Visual Basic 5.0 Visual Basic 5.0 É mostrado a caixa de diálogo New Project ( novo projeto) Clique em Standard.exe e depois no botão ABRIR Formulário É a janela que você personaliza e criar o seu programa. Ele pode conter menus, botões, caixas de listagens , barras de rolagem e qualquer outro item de um programa windows. Caixa de ferramentas. (clique no botão TOOLBOX se ela não está visível) Para colocar qualquer objeto da caixa de ferramentas no Form, clique duas vezes no objeto ou clique no objeto e depois leve o mouse para o formulário arrastando para a direita e para baixo. PONTEIRO ( POINTER) – usado para selecionar um ou mais objetos. LABEL – usado para textos não alteráveis pelo usuário. FRAME – usado para agrupamento de controles CAIXA DE CHECAGEM (CHECK BOX) – utilizado em um grupo de botões para mostrar múltiplas escolhas. COMBO BOX – permite ao usuário inserir ou escolher opções em uma lista. BARRA DE ROLAGEM (HSCROLL BAR) – utilizada para fazer rolagem de uma longa lista de itens. TEMPORIZADOR (TIMER) – usado para mostrar eventos em intervalos de tempo. LISTA DE PASTAS (DIR LIST BOX) – mostra lista de pastas de um computador. SHAPE – insere figuras geométricas. CAIXA DE IMAGEM (IMAGE) – permite inserir uma imagem gráfica no programa. OLE – executa chamadas a outros programas com recursos OLE. CAIXA DE PINTURA (PICTURE BOX) – permite inserir imagens no programa. CAIXA DE TEXTO (TEXT BOX) – permite ao usuário inserir dados. BOTÃO DE COMANDO (COMMAND BUTTON) – permite inserir um botão no programa. BOTÕES DE OPÇÃO (OPTION BUTTON) – botão de opção, usado em um grupo de opções, onde o usuário poderá escolher uma opção entre todas.\ CAIXA DE LISTA (LIST BOX) – usado para mostrar uma lista de itens, com simples ou múltiplas escolha. DRIVE LIST BOX – mostra os drives disponíveis em um determinado computador. LISTA DE ARQUIVOS ( FILE LIST BOX) – mostra lista de arquivos de um determinado diretório. LINHA (LINE) – desenha uma linha no form. DATA – gerenciador de banco de dados. Janela properties. É a janela que contém as configurações de propriedades ou características usadas para programar os objetos do formulário. Configurações de propriedade é uma qualidade dos objetos. Janela project. (se não estiver visível clique no botão PROJECT EXPLORE) Mostra todos os forms que você está utilizando no seu programa e proporciona acesso a eles através dos botões VIEW CODE e VIEW OBJETCT. VIEW CODE – mostra as linhas do programa, na folha CODE VIEW OBJECT – mostra o modulo, na folha FORM. Janela de Código (code) Janela onde contém todos os objetos utilizados no projeto Janela onde contém todos os eventos possíveis, para o objeto selecionado. Área onde é feita a programação OBS: a janela CODE possui barra de rolagem que você utiliza para visualizar qualquer procedure, ou você poderá utiliza os botões PROCEDURE VIEW ( mostra uma procedure de cada vez), ou FULL MODULE VIEW ( mostra todas as procedures). PROCEDURES – são as rotinas de códigos do programa. Janela Form – Layout Mostra o lugar no monitor onde sua tela será exibida. Compilar e executar o programa. É só clicar no botão ou tecle F5 ou ainda MENU RUN, OPÇÃO STAR. Salvando 1 – clique no menu FILE 2 – escolha a opção SAVE PROJECT AS. 3 - coloque o nome no form – escolha o local para gravar – clique em salvar – coloque o nome no projeto – escolha o local para gravar – clique em salvar. Obs:você poderá salvar seu projeto simplesmente clicando no ícone do disquete na barra de ferramenta, coloca-se o nome do form e depois o nome do projeto Criando o arquivo executável para windows. 1 – clique no menu FILE 2 – escolha a opção MAKE... 3 – escolha o local para o seu programa executável 4 – clique em OK Variáveis Comando DIM Usualmente no VB não é necessário declarar uma variável antes de utilizá-la, mas eventualmente isso pode se fazer necessário, e para isso utilizamos o comando DIM. Sintaxe: DIM <nome da variável> As <tipo da variável> Exemplo: DIM cidade As String OBS: uma variável declarada no comando DIM é local, para torna-la publica é necessário declara-la usando o comando PUBLIC. Comando public. Declara variáveis pública ao form e publica ao projeto. Pública ao form é declarada no modo geral do form. Púclica ao projeto é declarada no MODULE. Para declarar uma variável pública ao form: Entrar na folha de codificação através da Janela de projeto Escolher GENERAL na caixa de objetos Digitar as variáveis. Exemplo: Para declarar uma variável pública ao projeto. Clicar no ícone ADD FORM Escolher MODULE Clicar em ABRIR Digitar as variáveis Exemplo: Caixas de Mensagens: MSGBOX O comando MSGBOX é um meio de diálogo em queo usuário limita-se a responder através de botões, com respostas pré-programadas. Podemos criar uma mensagem apenas como aviso, sem retorno. Sintaxe do comando MSGBOX. MSGBOX “Mensagem”, <flags>, “Título da janela da mensagem” Exempo: MSGBOX “Atenção”, 64, “Erro Inesperado!!!” A função MSGBOX, retorna um valor que poderá ser utilizado no programa, sua sintaxe é: <variável> = MSGBOX (“Mensagem”, <flags>, “Título da janela da mensagem”) FLAGS Grupo DESCRIÇÃO 0 1 Somente o botão OK 1 1 Botões OK e CANCELAR 2 1 Botões ABORTAR, REPETIR, IGNORAR 3 1 Botões SIM, NÃO e CANCELAR 4 1 Botões SIM e NÃO 16 2 Ícone PARE do Windows 32 2 Ícone INTERROGAÇÃO do Windows 48 2 Ícone EXCLAMAÇÃO do Windows 64 2 Ícone INFORMAÇÃO do Windows Os flags podem ser compostos de mais de uma opção, que é a soma dos valores do grupo 1 com o grupo 2. Onde, VARIÁVEL, recebe um valor retornado pela função MSGBOX() dependendo de qual dos botões foi pressionado. Os possíveis valores retornados são: valor Descrição 1 Botão OK pressionado 2 Botão CANCELAR pressionado 3 Botão ABORTAR pressionado 4 Botão REPETIR pressionado 5 Botão IGNORAR pressionado 6 Botão SIM pressionado 7 Botão NÃO pressionado Exemplo: RETORNO = MSGBOX (“Você entendeu a função MSGBOX ? “, 36, “Janela de teste”) Onde: a palavra RETORNO é o nome da variável MSGBOX (...) é a função 36 é um flag composto da soma dos flag 4 do grupo 1 e o flag 32 do grupo 2. O valor da variável poderá ser 6 ou 7, dependendo onde o usuário irá clicar no botão SIM ou no botão NÃO. Comando INPUTBOX: este comando é uma forma do usuário dialogar com o programa fornecendo dados. Sintaxe: <variável> = INPUTBOX(“mensagem”, “título da mensagem”, “valor padrão”) onde: <variável> - é uma variável que receberá o valor digitado na caixa de entrada “mensagem” – é a mensagem mostrada na caixa de entrada “título da mensagem” – é o título da caixa de entrada “valor padrão” – é o valor opcional que será mostrado como inicial na caixa de entrada. Exemplo: Retorno = INPUTBOX(“digite seu nome”, “caixa de mensagem”, “Fulano de Tal”) Comandos Condicionais 1 - IF - THEN - END IF Este comando permite ao Visual Basic verificar uma única condição. Caso esta condição seja verdadeira o programa executa várias instruções. Sintaxe: IF <EXPRESSÃO> THEN INSTRUÇÃO 1 INSTRUÇÃO 2 ... END IF 2 – IF - THEN - ELSE - END IF Quando houver necessidade de se executar um bloco de instruções quando uma condição seja verdadeira e outro bloco de instruções quando esta condição seja falsa, utiliza-se a instrução IF THEN ELSE END IF. Sintaxe: IF < expressão> THEN Instrução 1 Intrução 2 ... ELSE Instrução a Instrução b ... END IF 3 – IF - THEN - ELSE IF - ELSEIF - … - END IF Quando houver necessidade de se executar blocos de instruções quando uma condição seja verdadeira e testar outros blocos de instruções utiliza-se a intrução IF THEN ELSEIF, ... ELSEIF... END IF. Pode-se usar a quantidade de ELSEIF que for necessário. Sintaxe: IF < expressão> THEN Instrução 1 Intrução 2 ... ELSEIF < expressão> THEN Instrução a Instrução b ... ELSEIF < expressão> THEN Instrução c Instrução d ... END IF 4 – Instrução SELECT CASE Esta instrução efetua uma série de testes condicionais, onde em cada condição poderá ser executada várias instruções: Sintaxe: SELECT CASE <variável a ser testada> CASE <valor da variável> Instruções .... CASE <valor da variável> Instruções ... CASE < valor da variável> Instruções END SELECT 5 – Comando DO WHILE -LOOP Este comando executa um bloco de instruções enquanto uma determinada condição for verdadeira, encerrando o loop quando a condição for false. Sintaxe: DO WHILE <condição /expressão> Instruções LOOP 6 – Comando DO UNTIL – LOOP Este comando executa um bloco de instruções enquanto uma determinada condição for falsa, encerrando o LOOP quando a condição for verdadeira. Sintaxe: DO UNTIL <condição/expressão> Instruções ... LOOP 7 – Comando FOR – NEXT Este comando possibilita que seu programa execute um bloco de instruções, um número específico de vezes. Sintaxe: FOR < variável > = < expressão > to < expressão > Instruções... NEXT < variável> Ou FOR < variável > = < expressão > to < expressão > step <incremento> Instruções... NEXT < variável> FUNÇÕES 1 – FUNÇÃO Left( )– Esta função seleciona caracteres localizados à esquerda de uma string. Sintaxe: < variável > = LEFT ( < string>, N ) Onde N é o número de caracteres que será selecionado. Ex: V_nome = “Paulo Cesar” ‘V_nome é uma variável V_prinome = Left ( V_nome , 5) O conteúdo da variável V_prinome = Paulo 2 – FUNÇÃO Len( )- Esta função determina o tamanho de uma string. Sintaxe: < variável > = Len ( string) Ex: V_cidade = “São Paulo” ‘ V_cidade é uma variável V_tamanho = Len (V_cidade) O conteúdo da variável V_tamanho é igual a 9 caracteres 3 – FUNÇÃO Right( ) – Esta função seleciona os caracteres localizado à direita de uma string. Sintaxe: < variável > = Right ( < string> , N ) Ex: V_nome = “Paulo Cesar” V_ultnome = Right ( V_nome , 5) O conteúdo da variável V_ultnome é “Cesar” 4 – FUNÇÃO Mid( ) – Esta função seleciona uma sub-string contida em uma string. Sintaxe: < variável > = Mid ( < string > , posição , comprimento) Onde: posição é a posição inicial e comprimento é o número de caracteres desejado para a sub-string. Ex: V_var = “Curso de Visual Basic” V_parte = Mid ( V_var , 9, 6) O conteúdo da variável V_parte é “Visual” 5 – FUNÇÃO Lcase( ) – Esta função converte uma string para letras minúsculas. Sintaxe: < variável > = Lcase ( < string > ) Ex: V_var = Lcase( “Brasil”) O conteúdo da variável V_var é brasil 6– FUNÇÃO Ucase( ) Esta função converte um string em letra maiúsculas. Sintaxe: < variável > = Ucase ( < string > ) Ex: V_var = Ucase( “Brasil”) O conteúdo da variável V_var é BRASIL– 7-FUNÇÃO Ltrim ( ) Esta função remove todos os espaços em branco localizados à esquerda de uma string. Sintaxe: < variável > = Ltrim ( “string”) Ex: V_nome1 = “ Fulano de Tal” V_nome2 = Ltrim ( V_nome1) O conteúdo da variável V_nome2 é “Fulano de Tal” 8– FUNÇÃO Rtrim ( ) Esta função é utilizada para remover todos os espaços embranco localizados à direita de uma string. Sintaxe: < variável > = Rtrim ( “string”) Ex: V_nome1 = “Fulano de Tal “ V_nome2 = Rtrim ( V_nome1) O conteúdo da variável V_nome2 é “Fulano de Tal” 9 – FUNÇÃO Trim ( ) Esta função é utilizada para remover todos os espaços em branco localizados à esquerda e a direita de uma string simultaneamente. Sintaxe: < variável > = Trim (“string”) Ex: V_nome1 = “ Fulano de Tal “ V_nome2 = Trim(“V_nome1”) O conteúdo da variável V_nome2 é “Fulano de Tal” 10 – FUNÇÃO STR( ) Esta função converte valores numéricos em string. Ex: V_var = 100 V_var2 = Str(V_var) O conteúdo da variável V_var2 continua a ser 100 , só que como se fosse uma string, não pode mais ser utilizado em um operação aritmética. 11 – FUNÇÃO Val( ) Esta função converte uma string em um valor numérico que possa ser utilizado em uma operação aritmética. Ex: V_var = “100 anos” V_anos = Val(V_var) O conteúdo da variável V_anos é 100 Ex: V_var2 = “Brasil” V_valor = Val( V_var2) O conteúdo da variável V_valor é zero. Menu Editor O editor de menus é uma ferramenta gráfica que gerencia os menus de seus programas. Para ativar o menu editor de um clique no form1 para selecionar o formulário primeiro , depois de um clique no ícone Menu Editor, na barra de ferramenta. Ícone do menu editor Janela do Menu Editor: Caixa de texto Coloca-se Caption A legendado menu, que vai ser exibido no programa Name O nome o menu que vai ser usado no código de programa Move os itens de menu para direita Move os itens de menu para esquerda Move uma opção do menu para linha de cima Move uma opção do menu para linha de baixo Next para passar para o próximo menu ou opção de menu Insert para inserir um menu ou opção de menu entre outros já existente delete para apagar um menu ou opção de menu enable desativa/ativa um menu ou opção de menu visible torna visível / invisível um menu ou opção de menu shortcut acrescenta teclas de atalhos aos menus Aposição do item na caixa de listagem indica se ele é menu (alinhado a esquerda), se é uma opção de menu (uma endentação), uma opção de menu que indique outro menu ( duas endentação), uma opção de outro menu que indique outro menu ( três endentação) , e assim por diante. Convenções para criar menus para aplicativos for Windows 1 – Todo os menus iniciam-se com letra maiúsculas. 2 – Menu Arquivo e Editar os dois primeiros. 3 – Menu Ajuda o último. 4 – Utilizar legendas curtas e específicas. 5 – Atribuir cada opção do menu a uma única tecla de acesso. 6 – Coloque reticências (...) após o menu se este solicita mais informações. 7 – Utilize as letras “mnu” antes do nome interno do menu. – Utilize a palavra “item” depois do nome interno de uma opção de menu. Opções comuns como, abrir, salvar como, imprimir, fonte e cor nos programas de menu: Cada uma destas opções , quando ativada, abre uma caixa de diálogo para que o usuário possa fazer usa escolha. Para utilizar umas das 5 opções comuns acima é preciso colocar na interface de seu programa um objeto de diálogo comum, o CommonDialog. Para inserir um controle CommonDialog em sua caixa de ferramentas, clique no menu Project, opção Componets e selecione Microsoft CommonDialog Control, na guia Controls, depois clique em OK. Comandos da caixa CommonDialog ShowOpen - abrir ShowSave - salvar ShowPrinter – Imprimir ShowFont - Fonte ShowColor – Cor Comandos Comando Show Serve para chamar um outro form. Exemplo: form2.show nesta linha de comando e ativado o form2. Comando hide: OCULTA UM FORM Exemplo: form3.hide Comando load: CARREGA NA MEMÓRIA UM FORM Exemplo: load.form2 Comando unload me: Serve para esconder o form que esta aberto Exemplo: UNLOAD ME Objeto timer e procedure timerx_timer, onde x é o número do timer No objeto timer quando é clicado 2 vezes, cria- se a procedure timerx_timer que é executada variz vezes a partir do momento em que o objeto estiver ativo (enabled= true) e atingir seu intervalo de tempo determinado pela propriedade interval. Eventos: TIMER – executa a procedure quando o intervalo atinge seu limite máximo. LOSTFOCUS – executa a procedure quando o objeto perde o focu FORM_LOAD – executa a procedure no momento em que o form é carregado na tela. CLICK – executa a procedure quando é clicado sobre o objeto. CHANGE – executa a procedure quando é digitada alguma coisa no objeto. Vetores Ou Array É uma variável homogênea, isto é, variáveis com vários elementos, que serve para armazenar vários elementos de um mesmo tipo, usando apenas um índice para acessa-las. 1 2 3 4 5 10 20 30 40 50 Como declarar o vetor Dim variável(1 to 5) Banco de Dados Banco de dados é um conjunto de dados. Por exemplo, uma fábrica pode armazenar seus dados de estoque em um banco de dados. Na verdade, o banco de dados é um conjunto de tabelas. O banco de dados é um único arquivo que contém todas as suas informações. Para organizar essas informações, um banco de dados permite que se organizem os dados em tabelas. Poe exemplo, em vez de lançar nomes e endereços em um banco de dados aleatoriamente, as tabelas permitem que você armazene um conjunto de nomes e endereços em uma tabela chamada Clientes, e outro conjunto de nomes e endereços em uma tabela chamada Fornecedores, Lista de correspondência, Datas importantes, Todo banco de dados precisa ter:, pelo menos uma tabela. Cada tabela consiste em um ou mais registros, onde um único registro contém todas as informações sobre um único item, tal como o nome de uma pessoas seu endereço e número de telefone. Cada registro consiste em um ou mais campos, onde um campo contém uma única parte da informação, tal como nome, endereço, cidade ou estado civil. Esses campos podem ser do tipo: Tipo Tamanho Exemplo Byte 0 a 255 Armazena números não inferiores a 0 nem superiores a 255 Boolean True ou false Valores verdadeiros (True) ou valores falsos (False) Currency 922337203685477,5808 a 922337203685477,5807 Números que representam valores monetários Date Datas entre 1 de janeiro a 31 de dezembro de 9999 Armazena datas Double ou Numbers 1,79769313486232E308 a 4,94065645841247E - 324 e 4,94065645841247E - 324 a 1,79769313486232E308 Números muito pequenos ou muito grandes com separadores decimais Integer 32.768 a 32.767 Números inteiros Long 2.147.483.648 a 2.147.483.647 Números muito pequenos ou muito grandes Single 3,402823E38 a -1,401298E-45 e 1,401298E-45 a 3,402823E38 Números com separadores decimais String Ao armazenar números, a faixa é a mesma de Double. Ao armazenar Strings, a faixa é a mesma da string. Números ou strings. Como criar banco de dados, utilizando o menu add-ins O data Manager grava o banco de dados como um arquivo Access. PROCEDIMENTOS: 1 – Clicar no menu ADD-INS. 2 – Clicar na opção Visual Data Manager.( abre-se a janela VisData). 3 – Clicar no menu file(arquivo) da janela VisData. 4 – escolher a opção New(novo), depois Microsoft Access e depois Version 7.0 MDB. 5 – escolher a pasta para criar seu banco de dados, na janela Select Microsoft Access Database to Create. Obs: sempre criar o BD na mesma pasta do projeto. 6 – colocar o nome do BD, sem a extensão MDB, na caixa Nome do arquivo. 7 – clicar no botão salvar. OBS: neste momento na barra de título da janela VisData, deve aparecer o nome e caminho do BD criado. 8– Na janela Data base Windows, clicar com o botão direito do mouse e no me suspenso escolher a opção NewTable (nova tabela). 9 -Na caixa Tabel Name( nome da tabela), colocar o nome da tabela. 10– clicar no botão Add Field (adicionar campo). 11– na janela Add Field, na caixa Name, colocar o nome do 1º campo. 12– na caixa Type (tipo) escolher o tipo de campo (ex: integer, text, date, etc...) 13– na caixa Size (tamanho) escolher o tamanho do campo, só para quando o campo for do tipo text. 14– clicar no botão OK. 15– REPETIR os itens 11, 12, 13 e 14 para todos os campos da tabela. 16– clicar no botão close. 17– caso erre algum dado do campo, selecione o campo e clique no botÃo Remove Field (remover campo). 18– para colocar índice na tabela, clicar no botão Add Index (adiciona índice). 19– na janela Add Index to ... , colocar o nome do índice na caixa Name. 20 - na caixa Available Fields, escolher o campo da tabela que vai compor o índice. 21 - deixar ticada as opções Primary e Unique, somente para um índice. 22 - clicar no botão OK. 23 - REPETIR os itens 19, 20 , 21 e 22 para todos os índice da tabela. 24– clicar no botão close. 25– para salvar o banco de dados e a tabela, clicar no botão Build the Table. Exercícios usando bando de dados 1 – Fazer um projeto conforme mostra a figura abaixo, utilizando o banco de dados PRODUTO. DBF . NOME DO CAMPO TIPO TAMANHO DESCRIÇÃO CÓDIGO INTEGER Código do produto DESCRICAO TEXT 40 Descrição do produto UNIDADE TEXT 5 Unidade de medida PRECO_U SIMPLES Preço unitário QTDE_EST SIMPLES Quantidade em estoque DATA_ULT Data Data da última movimentação COD_FOR INTEGER Código do fornecedor EST_MIN INTEGER Quantidade de estoque mínimo Criar telas de manutenção utilizando a janela VISDATA. selecione a tabela clicar no menu UTILITY escolher a opção DATA FORM DESIGNER Na janela data form designer, colocar o nome para o formuláriona caixa FORM NAME (procurar usar o mesmo nome da tabela sem o TB) Na caixa RECORD SOURCE, escolher o nome da tabela No lado direito da janela deverá aparecer todos os campos que fazem parte da tabela. clicar no botão para selecionar para o lado direito todos os campos. clicar no botão BUILD THE FORM, para criar a tela de manutenção. observar a janela de projeto do VB, aparece o form, iniciado com as letras FRM repetir estes procedimentos para todos os forms do projeto. No fim clicar no botão CLOSE. Modificando os forms criados pela janela VISDATA. Traduzir os botões do form INCLUIR EXCLUIR ALTERAR GRAVAR SAIR Para alterar, clicar no botão e alterar a propriedade CAPTION Desativar os botões de maximizar e minimizar do form. Clicar no form Alterar a propriedade MAXBUTTON e MINBUTTON para FALSE Transformar todos os forms de manutenção em forms do tipo filhos, alterando a propriedade MIDCHILD para TRUE. Alterar a procedure do botão close Tirar o comando UNLOAD ME e colocar ME HIDE O comando MI HIDE, descarrega da memória o form O comando UNLOAD ME somente fecha o form. Ativando e desativando botões. O processo de ativar e desativar botões, é necessário para que o usuário siga a ordem correta na digitação de dados, para projetos utilizando o recurso de telas prontas. No caso, quando o usuário quer incluir registros deve primeiro clicar no botão incluir para só depois começar a digitar os dados, clicando no botão gravar no fim de cada registro. Para que isto seja possível, deve-se colocar os comandos: Alterar a propriedade enabled = false, para quase todos os botões (menos o botão incluir) e também todas as caixas de textos. Codificação do botão Form_ load, Alterar, Excluir e Gravar Cmdadd.enabled = True Cmddeletee.enabled = False Cmdupdate.enabled = False Cmdrefresh.enabled = False Txtfields(0) .enabled = False Txtfields(...).enabled = False Codificação do botão Incluir Cmdadd.enabled = false Cmddeletee.enabled = False Cmdupdate.enabled = true Cmdrefresh.enabled = False Txtfields(0) .enabled = true Txtfields(...).enabled = true Codificação do objeto data1_validate() Cmdadd.enabled = True Cmddeletee.enabled = true Cmdupdate.enabled = False Cmdrefresh.enabled = true Txtfields(0) .enabled = true Txtfields(...).enabled = true Exercícios Resolvidos: 1. Mensagem 2 - Repassa � 3 - Exercício criar cícculos 4 - Exercício de desenhar 5 - Exercício utilizando imagens 6 - Exercício utilizando MSGBOX e INPUTBOX Private Sub cmdbotao1_Click() MsgBox "A sua winchester está sendo formatada...", 48, "Atenção" End Sub Private Sub cmdbotao4_Click() retorno = InputBox("Entre com o seu nome", "Dados pessoais") txtnome = retorno End Sub Private Sub cmdbotao5_Click() retorno = InputBox("Entre com a data atual", "Data", Date) txtdata = retorno End Sub Private Sub cmdsair_Click() End End Sub 7 - Exercício de senha e login usando INPUTBOX E MSGBOX 8 - Exercício usando operadores: Private Sub Command2_Click() End End Sub Private Sub Option1_Click() txtres = txtval1 \ txtval2 End Sub Private Sub Option4_Click() txtres = txtval1 & txtval2 End Sub Private Sub Option5_Click() txtres = Val(txtval1) + Val(txtval2) End Sub 9 – Menu1 objetos – propriedades Image1 Visible False Picture Escolher caminho e figura Image2 Visible False Picture Escolher caminho e figura Label1 caption Em branco Label2 caption Em branco Timer1 interval 1 enabled False Timer2 interval 1 enabled False Codificação: Private Sub itemdata_Click() Timer1.Enabled = True End Sub Private Sub itemhora_Click() Timer2.Enabled = True End Sub Private Sub itemimg1_Click() Image1.Visible = True Image2.Visible = False End Sub Private Sub itemimg2_Click() Image1.Visible = False Image2.Visible = True End Sub Private Sub Timer1_Timer() Label1 = Date End Sub Private Sub Timer2_Timer() Label2 = Time End Sub 10 – Menu2 objetos - propriedades text text Em branco multiline True scrollbars Vertical Instalar o componente Microsoft common dialog control 6.0 Instalar o componente Microsoft calendar control 9.0 Codificação: Private Sub Form_Load() Calendar1 = Date End Sub Private Sub item10_Click() Text1.FontSize = 10 End Sub Private Sub item22_Click() Text1.FontSize = 22 End Sub Private Sub item48_Click() Text1.FontSize = 48 End Sub Private Sub itemarial_Click() Text1.Font = "arial" End Sub Private Sub itemativar_Click() Text1.Visible = False Calendar1.Visible = True End Sub Private Sub itemcalc_Click() Shell ("c:\windows\calc.exe"), vbNormalFocus End Sub Private Sub itemcor_Click() CommonDialog1.Flags = &H1& CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color End Sub Private Sub itemnegrito_Click() Text1.FontBold = True Text1.FontItalic = False Text1.FontUnderline = False End Sub Private Sub itemourier_Click() Text1.Font = "courier new" End Sub Private Sub itemtimes_Click() Text1.Font = "times new roman" End Sub Private Sub itendesativar_Click() Text1.Visible = True Calendar1.Visible = False End Sub Private Sub itenitalico_Click() Text1.FontBold = False Text1.FontItalic = True Text1.FontUnderline = False End Sub Private Sub itensublinha_Click() Text1.FontBold = False Text1.FontItalic = False Text1.FontUnderline = True End Sub 11 - Colocar uma tela de splash Tela de splash é a tela que abre o programa, é como uma apresentação antes do programa, geralmente é utilizada para mostrar o logotipo da firma ou alguma figura que lembre o sistema. Procedimentos para colocar uma tela de splash no projeto clique no ícone ADD FORM, na seta apontando para baixo escolher a opção form na janela ADD Form, escolher splash screen a figura abaixo mostra a tela de splash Entrar na codificação desta tela e apagar a procedure form_load alterar o conteúdo da tela para que fique de acordo com seu projeto para alterar a figura, clique sobre ela e altere a propriedade picture nos labels é só clicar e alterar a propriedade caption clicar duas vezes no form da tela de splash e alterar a procedure � Private Sub Frame1_Click() Unload Me End Sub PARA: Private Sub Frame1_Click() Unload Me frmLogin.Show End Sub � E Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me End Sub 12 - Para colocar a tela de login A tela de login é a tela que vem depois da tela de splash e contem uma senha para entrar no sistema, sendo assim só poderá entrar no sistema quem tem a senha. Procedimento para colocar a tela de login. clique no ícone ADD FORM, na seta apontando para baixo escolher a opção form na janela ADD Form, escolher tela de login a figura abaixo mostra a tela de login Alterar o label User name para Nome do Usuário, o label Password para senha e o botão cancel para cancelar Na procedure do botão OK apagar o comando ME.HIDE e colocar o comando Unload me e o comando MDIForm1.Show Obs: um comando embaixo do outro Ainda na procedure do botão OK, mudar a senha para a que achar mais apropriada, e traduzir o comando MSGBOX. Private Sub cmdOK_Click() 'check for correct password If txtPassword = "password" Then 'place code to here to pass the 'success to the calling sub 'setting a global var is the easiest LoginSucceeded = True Me.Hide Else MsgBox "Invalid Password, try again!", , "Login" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End Sub Na procedure do botão Cancelar, tirar o comando ME.HIDE e colocar o comando END. 13 - Para colocar uma tela com acesso a internet Procedimentos: clique no ícone ADD FORM, na seta apontando para baixo escolher a opção form na janela ADD Form, escolher tela de Browser a figura a baixo mostra uma tela de browser desativar os botões demaximizar, minimizar e transformar este form e filho, através das propriedades: Maxbutton = false, Minbutton = false, MdiChild = true Clicar na barra de ferramentas do form e alterar a propriedade Tool tip text para o português (voltar página, avançar página, para, atualizar, página principal, localizar). Alterar o label address para endereço Apagar a procedure Form Load 14 - Colocar uma tela do sobre Esta tela tem por objetivo, mostrar uma breve descrição do que faz o projeto. Procedimentos: clique no ícone ADD FORM, na seta apontando para baixo escolher a opção form na janela ADD Form, escolher tela About Dialog a figura abaixo mostra a tela do sobre Transformar o form em filho alterando a propriedade MdiChild = true Alterar a propriedade Caption do form, colocando o título do projeto. Alterar todos os labes de acordo com o seu projeto. No label App Description é o lugar onde deve constar uma breve descrição do que faz o seu sistema. Alterar a figura do objeto Picture Box, através da propriedade Picture. Apagar a procedure Form Load 15 - Para colocar no menu a opção para organizar janelas No menu janela de conter o menu Janelas com os itens, Horizontal, Vertical e Cascata, a procedure para cada item do menu janela é: Private Sub itemHorizontal_Click() MDIForm1.Arrange 1 End Sub Private Sub ItemVertical_Click() MDIForm1.Arrange 2 End Sub Private Sub ItemCascata_Click() MDIForm1.Arrange 0 End Sub 16 - Projeto usando Banco de Dados (Departamento – Funcionário) MER Mapeamento Departamento(Numero, nome, endereço) Funcionário(Numero, nome, endereço, salário, numdep) Criar as tabelas e o relacionamento no AccessTabelas: Relacionamento no Access: Tela do Menu Principal – usar MDIForm Tela – Controle de Departamento objetos – propriedades: Data1 Databasename Nome e caminho BD Recordsource Tabela de departamento DBGrid1 Datasource Data1 Códigos Private Sub CommandButton1_Click() dep.AddNew dep("numero") = Text1 dep("nome") = Text2 dep("endereco") = Text3 dep.Update limpa dep.MoveLast autoinc Text2.SetFocus Data1.Refresh End Sub Private Sub CommandButton2_Click() dep.Edit dep("numero") = Text1 dep("nome") = Text2 dep("endereco") = Text3 dep.Update limpa dep.MoveLast autoinc Text2.SetFocus End Sub Private Sub CommandButton3_Click() limpa End Sub Private Sub CommandButton4_Click() dep.Delete limpa dep.MoveLast autoinc End Sub Private Sub CommandButton5_Click() frmdep.Height = 7635 frmdep.Width = 7350 End Sub Private Sub CommandButton6_Click() End End Sub Private Sub CommandButton7_Click() frmdep.Height = 3600 frmdep.Width = 7350 End Sub Private Sub Form_Load() Set empresa = OpenDatabase(App.Path + "\bdfundep.mdb") Set dep = empresa.OpenRecordset("departamento", dbOpenTable) frmdep.Height = 3600 frmdep.Width = 7350 autoinc End Sub Public Sub autoinc() dep.Index = "primarykey" If Not dep.EOF Then dep.MoveLast Text1 = dep("numero") + 1 Else Text1 = 1 End If End Sub Public Sub limpa() Text2 = Clear Text3 = Clear End Sub Private Sub Text1_Change() If Text1 <> "" Then dep.Index = "primarykey" dep.Seek "=", Text1 If dep.NoMatch Then CommandButton1.Enabled = True CommandButton2.Enabled = False CommandButton3.Enabled = True CommandButton4.Enabled = False Else Text2 = dep("nome") Text3 = dep("endereco") CommandButton1.Enabled = False CommandButton2.Enabled = True CommandButton3.Enabled = True CommandButton4.Enabled = True End If End If End Sub Private Sub Text4_Change() Data1.RecordSource = "select * from departamento where numero like '" & Text4 & "*'" Data1.Refresh End Sub Private Sub Text5_Change() Data1.RecordSource = "select * from departamento where nome like '" & Text5 & "*'" Data1.Refresh End Sub Módulo - usar Module Public empresa As Database Public dep As Recordset Public func As Recordset Tela de funcionários objetos e propriedades Data1 Databasename Nome e caminho BD Recordsource Tabela de funcionários DBGrid1 Datasource Data1 Data2 Databasename Nome e caminho BD Recordsource Tabela de departamento DBCombo1 Datasource Data1 Datafield Numdep Boundcolumn Numero Listfield Nome Rowsource Data2 Códigos Private Sub CommandButton1_Click() func.AddNew func("numero") = Text1 func("nome") = Text2 func("endereco") = Text3 func("salario") = mksal func("numdep") = DBCombo1.BoundText func.Update limpa func.MoveLast autoinc Text2.SetFocus Data1.Refresh End Sub Private Sub CommandButton2_Click() func.Edit func("numero") = Text1 func("nome") = Text2 func("endereco") = Text3 func("salario") = mksal func("numdep") = DBCombo1 func.Update limpa func.MoveLast autoinc Text2.SetFocus End Sub Private Sub CommandButton3_Click() limpa End Sub Private Sub CommandButton4_Click() func.Delete limpa func.MoveLast autoinc End Sub Private Sub CommandButton5_Click() frmfun.Height = 7635 frmfun.Width = 7350 End Sub Private Sub CommandButton6_Click() End End Sub Private Sub CommandButton7_Click() frmfun.Height = 3600 frmfun.Width = 7350 End Sub Private Sub Form_Load() Set empresa = OpenDatabase(App.Path + "\bdfundep.mdb") Set func = empresa.OpenRecordset("funcionario", dbOpenTable) frmfun.Height = 3600 frmfun.Width = 7350 autoinc End Sub Public Sub autoinc() func.Index = "primarykey" If Not func.EOF Then func.MoveLast Text1 = func("numero") + 1 Else Text1 = 1 End If End Sub Public Sub limpa() Text2 = Clear Text3 = Clear mksal.Mask = Clear mksal.Text = Clear mksal.Mask = "R$#,##0.00;(R$#,##0.00)" End Sub Private Sub Text1_Change() If Text1 <> "" Then func.Index = "primarykey" func.Seek "=", Text1 If func.NoMatch Then CommandButton1.Enabled = True CommandButton2.Enabled = False CommandButton3.Enabled = True CommandButton4.Enabled = False Else Text2 = func("nome") Text3 = func("endereco") mksal = func("salario") func("numdep") = DBCombo1.BoundText CommandButton1.Enabled = False CommandButton2.Enabled = True CommandButton3.Enabled = True CommandButton4.Enabled = True End If End If End Sub Private Sub Text4_Change() Data1.RecordSource = "select * from funcionario where numero like '" & Text4 & "*'" Data1.Refresh End Sub Private Sub Text5_Change() Data1.RecordSource = "select * from funcionario where nome like '" & Text5 & "*'" Data1.Refresh End Sub 12– Crie um projeto com base no anterior com os sequintes dados: MER Mapeamento Crie as tabelas usando o ACCESS Relacionamento Ao clicar no botão consulta deverá aparecer outro formulário contendo a consulta desejada. Nos forms de consulta deverá ser utilisado o objeto Sstab.(Componente que deve ser adicionado ao projeto) Tela de funcionários Tela de dependente Exercícios de fixação: 1 – Entrar com 2 valores, descobrir qual o maior e subtrair o maior do menor. 2 – Defina as seguintes propriedades: Name Caption Style Mouseicon Backcolor Forecolor Font Picture Stretch Mousepointer Icon Enabled Visible 3 – Explique os seguintes eventos: Click Load Mousemove Mousedown 4 – Quais são as duas etapas do processo de elaboração de um programa em VB? 5 – Qual das seguintes opções não é um objeto do VB? Botão de comando Formulário Variável Caixa de texto 6 –Qual o erro na seguinte instrução? Txtdisplay.text=Oi, tudo bem? 7 – Descubra o erro dessa instrução: IF B=3 B=2 End if 8 – Qual método é usado para mover objetos durante a execução de um programa? Método - move Método - load Método - activete 9 – Criar um programa para calcular as férias de um funcionário, para isto é fornecido o nome e o salário. Sabendo-seque a formula é: férias= salário + 1/3. 10 – Criar um programa para calcular o juros de atraso no pagamento e total a pagar, onde deve-se entrar com o nome do funcionário e valor da compra e o total de dias de atraso. Se dias de atraso menor ou igual a 5, juros de 0.02% ao dia, senão se dias de atraso >5 ou <30, juros de 2% ao dia, senão, juros de 5% ao dia. 11 – Criar uma folha de pagamento, onde deve-se entrar com o nome do funcionário, salário. Calcular o reajuste salarial de 10% do salário, o convênio de 2%, o FGTS de 8% e o INSS. Se salario for <700,00 então INSS de 8%, senão, INSS de 11%. Calcular também o salário liquido que é o salário + reajuste – INSS - Convênio -Ler e armazenar 10 valores no vetor A, multiplicar os valores por 3 e mostra-los no vetor B -Usar um vetor para ler a idade de 15 pessoas e determinar qual a amior idade. - Ler o vetor com 10 elementos e lista-los na ordem inversa de entrada. -Ler dois vetores A e B (com 5 elementos cada), intercale os valores de A e B e armazene o resultado no vetor C. – Calcular a área de um triangulo, onde deve-se entrar com o valor da base e o valor da altura. A = (b.h)/2 Fazer um programa usando o objeto listbox e o comando For Next para criar a tabuada do X, onde x é um valor que o usuário irá entrar pela tela. Exemplo: 1X5 = 5 2X5 = 10 . Criar um programa que mostre o seguinte resultado: 1, 1, 2, 3, 5, 8, 13, 21, 34 Criar um programa, onde a tela deverá ser o seguinte: Entre com o primeiro valor: 10 Entre com o segundo valor: 55 Escolha o operador(+ - * / ): + Clicar no botão resultado e... Resultado: 65 20. Criar um programa das eleições, onde o primeiro form entre com o RG, o form2, seja parecido com o que está apresentado abaixo e o terceiro o form de FIM. 21. Mostrar os múltiplos de 3, onde o valor inicial é 0 (zero) e o valor final é 30. 22. Para uma variável diferente de 15 faça: mostrar valores iniciando de 1, se valor = a 15, sair fora do programa e jogar mensagem de FIM. 23. Entrar com dois valores A e B, Calcular a soma, média, maior valor e menor valor e no final mostrar esses valores. Criar o jogo dos sete erros, onde deve-se ter duas imagens uma com erro e outra sem erros. Apostila Elaborada pelas professoras – Maria Amália Vercesi Doreto Marli Helenice Gaiotto Cazarin El Kadre � EMBED PBrush ��� � EMBED PBrush ��� � EMBED PBrush ��� � EMBED PBrush ��� � EMBED PBrush ��� Formulário salario � EMBED PBrush ��� endereco SENHA INVÁLIDA, TENTE NOVAMENTE SENHA nome Numero Data_niver Nome parentesco � EMBED PBrush ��� N 1 possui Funcionário Dependente � EMBED PBrush ��� salario endereco nome Numero Endereco Nome � EMBED PBrush ��� Numero N 1 SENHA possui Caixa de Ferramenta 6 5 3 2 4 1 Funcionário 7 8 9 10 11 12 13 14 15 16 17 6 18 19 20 Departamento Private Sub Option7_Click() txtres = txtval1 / txtval2 End Sub Private Sub Option8_Click() txtres = txtval1 * txtval2 End Sub Private Sub Option6_Click() txtres = txtval1 - txtval2 End Sub Private Sub Option2_Click() txtres = txtval1 Mod txtval2 End Sub Private Sub Option3_Click() txtres = txtval1 ^ txtval2 End Sub Private Sub Command1_Click() UserName = InputBox("Entre com o seu primeiro nome") pass = InputBox("Digite a sua senha") If UserName = "maria" And pass = "professora" Then MsgBox ("BEM VINDA AO SISTEMA") Else MsgBox ("Nome ou senha IMCORRETO!!!") End End If End Sub Private Sub cmdbotao2_Click() resp = MsgBox("O VB é uma linguagem orientado a eventos", 35, "VB") If resp = 6 Then txtresp = "muito bem" Else txtresp = "Precisa estudar mais" End If End Sub Private Sub cmdbotao3_Click() MsgBox "A prova de VB será na próxima aula", 65, "Informação" End Sub Private Sub cmdimagem1_Click() Image1.Picture = LoadPicture("C:\Arquivos de programas\Arquivos comuns\Microsoft Shared\Clipart\cagcat50\bd06675_.wmf") Image1.Visible = True End Sub Colocar imagem 2 idem ao de cima!! Private Sub cmdlimpar_Click() Image1.Visible = False Image2.Visible = False End Sub Private Sub cmdsair_Click() End End Sub Private Sub Command1_Click() End End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.CurrentX = X Form1.CurrentY = Y End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Line (Form1.CurrentX, Form1.CurrentY)-(X, Y), QBColor(0) End If End Sub Private Sub Command1_Click() End End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Circle (X, Y), 40 End Sub Mudar a cor, o nome e o rótulo do form Mudar o ponteiro do mouse Colocar ícone no CommandButton e mudar a cor da fonte, negrito No objeto label, mudar a font, cor da letra, itálico e tam. 14 Fazer a codificação do botão repassa. Propriedades do Text1 Name = txtmostra Text = nulo Forecolor = Vermelho Backcolor = Cinza Janela do projeto Caixa de Proprie- dades Janela Form Layout Propriedades do Command1 Name = cmdcliqe Caption = Clique Style = Graphic Forecolor = Azul Font = Arial, tam.16, negrito Propriedades do Formulário Name = frmprimeiro Caption = Primeiro Backcolor = Azul MousePointer = 99-custom MouseIcon= escolher o ponteiro para o mouse � EMBED PBrush ��� � EMBED PBrush ��� � EMBED PBrush ��� � EMBED PBrush ��� � EMBED PBrush ��� � EMBED PBrush ��� _1078030278/ole-[42, 4D, 86, 0A, 00, 00, 00, 00] _1089185270/ole-[42, 4D, 42, 0E, 00, 00, 00, 00] _1100961279/ole-[42, 4D, FE, F2, 00, 00, 00, 00] _1118750833/ole-[42, 4D, 36, 86, 01, 00, 00, 00] _1136238597/ole-[42, 4D, 56, 12, 02, 00, 00, 00] _1136239660/ole-[42, 4D, 76, 45, 01, 00, 00, 00] _1118752455/ole-[42, 4D, 06, 00, 03, 00, 00, 00] _1100973305/ole-[42, 4D, 72, 3F, 01, 00, 00, 00] _1101151593/ole-[42, 4D, 96, B7, 00, 00, 00, 00] _1100972837/ole-[42, 4D, B6, 92, 00, 00, 00, 00] _1100968079/ole-[42, 4D, AE, DF, 01, 00, 00, 00] _1100960484/ole-[42, 4D, B6, A6, 00, 00, 00, 00] _1100960655/ole-[42, 4D, 66, D1, 00, 00, 00, 00] _1089353273/ole-[42, 4D, 36, 80, 01, 00, 00, 00] _1089354281/ole-[42, 4D, 96, 7F, 07, 00, 00, 00] _1089354971/ole-[42, 4D, 8E, C1, 04, 00, 00, 00] _1100960308/ole-[42, 4D, C6, 9B, 00, 00, 00, 00] _1089354792/ole-[42, 4D, C6, 33, 00, 00, 00, 00] _1089354183/ole-[42, 4D, 06, 21, 00, 00, 00, 00] _1089352746/ole-[42, 4D, 22, 86, 06, 00, 00, 00] _1089353129/ole-[42, 4D, B6, 2B, 00, 00, 00, 00] _1089352303/ole-[42, 4D, 42, 3C, 00, 00, 00, 00] _1089352369/ole-[42, 4D, 8A, 0B, 00, 00, 00, 00] _1089185786/ole-[42, 4D, AE, 6C, 00, 00, 00, 00] _1078030358/ole-[42, 4D, EE, 0B, 00, 00, 00, 00] _1086598072/ole-[42, 4D, 26, 0B, 00, 00, 00, 00] _1086598189/ole-[42, 4D, A6, 2E, 04, 00, 00, 00] _1086597939/ole-[42, 4D, 36, 57, 03, 00, 00, 00] _1078030322/ole-[42, 4D, 46, 0A, 00, 00, 00, 00] _1078030336/ole-[42, 4D, C2, 07, 00, 00, 00, 00] _1078030303/ole-[42, 4D, 86, 0A, 00, 00, 00, 00] _1002578711/ole-[42, 4D, D6, 7E, 00, 00, 00, 00] _1078030118/ole-[42, 4D, 16, 0B, 00, 00, 00, 00] _1078030185/ole-[42, 4D, BA, 09, 00, 00, 00, 00] _1078030239/ole-[42, 4D, C2, 0A, 00, 00, 00, 00] _1078030259/ole-[42, 4D, 36, 09, 00, 00, 00, 00] _1078030209/ole-[42, 4D, 46, 0A, 00, 00, 00, 00] _1078030153/ole-[42, 4D, 0E, 0A, 00, 00, 00, 00] _1078030169/ole-[42, 4D, 26, 0B, 00, 00, 00, 00] _1078030135/ole-[42, 4D, 56, 08, 00, 00, 00, 00] _1078030039/ole-[42, 4D, 56, 08, 00, 00, 00, 00] _1078030075/ole-[42, 4D,B6, 0A, 00, 00, 00, 00] _1078030097/ole-[42, 4D, 0A, 0B, 00, 00, 00, 00] _1078030054/ole-[42, 4D, F6, 09, 00, 00, 00, 00] _1002579914/ole-[42, 4D, AA, 86, 00, 00, 00, 00] _1078030001/ole-[42, 4D, 06, 08, 00, 00, 00, 00] _1078030021/ole-[42, 4D, 5A, 0B, 00, 00, 00, 00] _1041919581/ole-[42, 4D, 76, 7D, 0C, 00, 00, 00] _1078029981/ole-[42, 4D, 2E, 0A, 00, 00, 00, 00] _1024810706/ole-[42, 4D, B6, 37, 01, 00, 00, 00] _1002579661/ole-[42, 4D, 76, DC, 00, 00, 00, 00] _1002579780/ole-[42, 4D, 26, 7A, 00, 00, 00, 00] _1002579281/ole-[42, 4D, E6, C9, 01, 00, 00, 00] _1002579416/ole-[42, 4D, D6, B6, 01, 00, 00, 00] _988789115/ole-[42, 4D, 16, 71, 00, 00, 00, 00] _1002576388/ole-[42, 4D, B6, 37, 00, 00, 00, 00] _1002578044/ole-[42, 4D, 66, DF, 00, 00, 00, 00] _1002578632/ole-[42, 4D, 7A, B0, 00, 00, 00, 00] _1002576904/ole-[42, 4D, 8A, F7, 00, 00, 00, 00] _1002576530/ole-[42, 4D, BE, 1A, 04, 00, 00, 00] _1002576257/ole-[42, 4D, 5A, 08, 02, 00, 00, 00] _1002576292/ole-[42, 4D, 4E, C1, 03, 00, 00, 00] _1002574984/ole-[42, 4D, 9E, F5, 00, 00, 00, 00] _988790334/ole-[42, 4D, 0E, 13, 00, 00, 00, 00] _986656099/ole-[42, 4D, D6, 09, 00, 00, 00, 00] _988788580/ole-[42, 4D, 16, 6F, 00, 00, 00, 00] _988788965/ole-[42, 4D, CE, 92, 00, 00, 00, 00] _986822898/ole-[42, 4D, 36, 07, 00, 00, 00, 00] _986654929/ole-[42, 4D, EE, 05, 00, 00, 00, 00] _986655048/ole-[42, 4D, 52, 06, 00, 00, 00, 00] _986654939/ole-[42, 4D, EE, 05, 00, 00, 00, 00] _986654736/ole-[42, 4D, 5E, 06, 00, 00, 00, 00] _986654831/ole-[42, 4D, EE, 05, 00, 00, 00, 00] _986654307/ole-[42, 4D, B6, 07, 00, 00, 00, 00]
Compartilhar