Buscar

Visual Basic - Livro

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 129 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 129 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 129 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MICROSOFT VISUAL BASIC 
DESVENDANDO A LINGUAGEM DE PROGRAMAÇÃO 
MAIS POPULAR DO MUNDO 
 
 
 
 
 
 
Autor: William Costa Rodrigues 
Copyright© 2004, W.C. Rodrigues (Lizaro Soft) 
 
 
 
 
 
 
 
 
 
Sumário 
1. INTRODUÇÃO .............................................................................................................1 
2. CONCEITOS BÁSICO DO VISUAL BASIC.....................................................................3 
2.1. INTERFACE DO VISUAL BASIC .................................................................................................3 
2.2. CONTROLE BÁSICO ...............................................................................................................4 
2.3. CONTROLES PERSONALIZADOS................................................................................................5 
2.4. TIPOS DE PROJETOS..............................................................................................................5 
2.5. TIPO DE VARIÁVEIS ..............................................................................................................6 
2.6. DECLARANDO VARIÁVEIS NO VISUAL BASIC ..............................................................................6 
2.7. CONVERTENDO DADOS ..........................................................................................................7 
2.8. EXERCÍCIOS.........................................................................................................................8 
3. ESTRUTURA DE UMA APLICAÇÃO ..............................................................................9 
3.1. ESTRUTURAS DE PROGRAMAÇÃO DO VISUAL BASIC...................................................................10 
3.1.1. Tipos de Estruturas de Linguagem......................................................................................10 
3.1.1.1. Estrutura de Tomada de Decisão:................................................................................10 
3.1.1.1.1 IF... Then... Else ....................................................................................................10 
3.1.1.1.2 IIF ........................................................................................................................11 
3.1.1.1.3 Select Case............................................................................................................11 
3.1.1.2. Estrutura de Loop ......................................................................................................11 
3.1.1.2.1 For... Next .............................................................................................................11 
3.1.1.2.2 Do... Loop .............................................................................................................12 
3.1.1.2.3 Do While... Loop ....................................................................................................12 
3.1.1.2.4 Do Until... Loop......................................................................................................12 
3.1.1.2.5 While... Wend ........................................................................................................13 
3.1.1.2.6 For Each... Next .....................................................................................................13 
3.1.1.2.7 With... End With.....................................................................................................13 
3.1.1.3. Saindo das Estruturas de Loop....................................................................................14 
3.2. FORMULÁRIOS E CONTROLES ................................................................................................14 
3.3. MÓDULOS (MODULE) E MÓDULOS CLASSE (CLASS MODULE)......................................................17 
3.3.1. Módulos (Module) .............................................................................................................17 
3.3.2. Módulos Classe (Class Module)...........................................................................................18 
3.4. MENU EDITOR....................................................................................................................20 
3.5. EXERCÍCIOS.......................................................................................................................21 
4. CONTROLES PERSONALIZADOS (PROPRIEDADES E EVENTOS)..............................25 
4.1. MICROSOFT WINDOWS COMMON CONTROL 6.0.......................................................................26 
4.1.1. ImageList (Lista de Imagens).............................................................................................26 
4.1.1.1. Carregando uma Imagem da Coleção. .........................................................................26 
4.1.2. Controle ListView (Lista de Visualização) .............................................................................28 
4.1.3. Controle ProgressBar (Barra de Progresso)..........................................................................30 
4.1.4. Controle StatusBar (Barra de Status) ..................................................................................31 
4.1.5. Controle ToolBar (Barra de Ferramentas) ............................................................................32 
4.1.6. Controle TreeView (Árvore de Visualização).........................................................................34 
4.1.7. Controle Slider ..................................................................................................................37 
4.2. EXERCÍCIOS.......................................................................................................................37 
5. FUNÇÕES DATA E HORA ...........................................................................................39 
5.1. DATE ................................................................................................................................39 
5.2. DATAVALUE.......................................................................................................................39 
5.3. FORMAT ............................................................................................................................39 
5.4. PROJETO COMENTADO .........................................................................................................39 
6. CONTROLANDO AS VERSÕES E INFORMAÇÕES DO SEU APLICATIVO ....................41 
Microsoft Visual Basic – Sumário III 
7. TRABALHANDO COM FUNÇÕES NUMÉRICAS E FINANCEIRAS ................................45 
7.1. FUNÇÕES NUMÉRICAS .........................................................................................................45 
7.2. FUNÇÕES FINANCEIRAS .......................................................................................................45 
7.2.1. Função Pmt (Pagamento de Anuidade Baseado num Período) ...............................................45 
7.2.2. Função FV (Valor Futuro de Anuidade)................................................................................46 
7.2.3. Função IPmt (Taxa de Juros para Durante um Período)........................................................46 
7.2.4. Função NPer (Número de Períodos para Atingir uma Anuidade) ............................................46 
7.2.5. Função PV (Presente Valor Presente Baseado num Período)..................................................46 
7.2.6. Função NPV (Valor Presente Líquido) ..................................................................................46 
7.2.7. Função Rate (Taxa por Período) .........................................................................................46 
8. INICIANDO COM A SQL (STRUCTURED QUERY LANGUAGE)...................................47 
8.1. CRIANDO TABELAS VIA SQL. ................................................................................................48 
8.2. ÍNDICES E TABELAS - CRIAR, ALTERAR E EXCLUIR....................................................................498.2.1. Excluindo Tabelas .............................................................................................................49 
8.2.2. Alterando Tabelas .............................................................................................................49 
8.2.3. Criando Índices.................................................................................................................50 
8.2.4. Excluindo Índices ..............................................................................................................50 
8.3. TESTANDO AS INSTRUÇÕES SQL ...........................................................................................50 
8.4. SQL - CRIANDO CONSULTAS PARAMETRIZADAS .......................................................................50 
8.4.1. Métodos de QueryDef........................................................................................................51 
9. TRABALHANDO COM BANCO DE DADOS ACCESS ....................................................53 
9.1. CRIANDO UM BANCO DE DADOS ............................................................................................53 
9.2. O MODELO DAO (DATA ACCESS OBJECT) ...............................................................................54 
9.3. ABRINDO UM BANCO DE DADOS ............................................................................................55 
9.3.1. Recordset.........................................................................................................................55 
9.3.1.1. dbOpenTable.............................................................................................................55 
9.3.1.2. dbOpenDynaset .........................................................................................................55 
9.3.1.3. dbOpenSnapshot .......................................................................................................56 
9.3.1.4. dbOpenFowardOnly ...................................................................................................56 
9.3.1.5. dbAppendOnly...........................................................................................................57 
9.3.1.6. dbReadOnly ..............................................................................................................57 
9.3.1.7. dbSeeChanges...........................................................................................................57 
9.3.2. Utilizando o Motor do Banco de Dados DBEngine .................................................................57 
9.3.3. Utilizando o Controle DataControl .......................................................................................58 
9.4. ACESSANDO DADOS DE UMA TABELA ......................................................................................58 
9.4.1. Acesso à Dados de uma Tabela Utilizando o DataControl ......................................................58 
9.4.2. Acesso à Dados de uma Tabela Utilizando Instrução SQL .....................................................58 
9.5. ADICIONANDO, LOCALIZANDO, EDITANDO E EXCLUINDO DADOS DE UMA TABELA...........................59 
9.5.1. Adicionado Dados .............................................................................................................59 
9.5.2. Localizando Dados ............................................................................................................60 
9.5.2.1. Exemplo de como Localizar Dados...............................................................................61 
9.5.3. Editando Dados ................................................................................................................63 
9.6. COMPACTANDO E RECUPERANDO UM BANCO DE DADOS .............................................................63 
9.6.1. Compactando Banco de Dados ...........................................................................................63 
9.6.2. Recuperando Banco de Dados............................................................................................64 
9.7. SALVANDO E RECUPERAR FIGURAS NUM BANCO DE DADOS EM CAMPO OLE ..................................64 
9.8. ACESSANDO OUTROS BANCOS DE DADOS ................................................................................66 
9.8.1. Banco de Dados dBase ......................................................................................................66 
10. TRABALHANDO COM O CONTROLE MSCHART NO VISUAL BASIC ...........................69 
10.1. CRIANDO UM GRÁFICO MANUALMENTE...................................................................................70 
10.2. ACESSANDO DADOS DE UM BANCO DE DADOS PARA PLOTAR UM GRÁFICO.....................................73 
11. TRATANDO ERROS EM SUA APLICAÇÃO ..................................................................75 
11.1. OS OBJETO ERR E ERROR DO VISUAL BASIC ............................................................................75 
 IV 
11.1.1. Propriedades dos ObjetosErr e Error ...............................................................................75 
11.1.1.1. Propriedade Description .............................................................................................75 
11.1.1.2. Propriedades HelpFile/HelpContext ..............................................................................75 
11.1.1.3. Propriedades Number.................................................................................................75 
11.1.1.4. Propriedades Source ..................................................................................................75 
11.1.1.5. Propriedades LastDLLError..........................................................................................75 
11.1.2. Métodos do Objeto Err...................................................................................................75 
11.1.2.1. Método Clear.............................................................................................................75 
11.1.2.2. Método Raise ............................................................................................................76 
11.2. ERROS RELACIONADO A BANCO DE DADOS..............................................................................76 
11.3. ERROS RELACIONADO A ARQUIVO .........................................................................................77 
11.4. ROTINA PARA TRATAMENTO DE ERROS ...................................................................................77 
12. DISTRIBUINDO SUA APLICAÇÃO.............................................................................81 
12.1. COMPILANDO O PROJETO .....................................................................................................81 
12.2. SETUP WIZARD (VISUAL BASIC 5.0)......................................................................................81 
12.3. PACKAGE AND DEPLOYMENT WIZARD (VISUAL BASIC 6.0)........................................................81 
12.4. INNO SETUP COMPILER .......................................................................................................82 
12.4.1. Dicas para Visual Basic ..................................................................................................82 
12.4.1.1. Gerando as Mensagens de Instalação em Português. ....................................................82 
12.4.1.2. Instalando Arquivos OCX. ...........................................................................................82 
12.4.1.3. Instalando Arquivos do Visual Basic.............................................................................83 
12.4.1.4. Usando o SETUP.LST Gerado pelo P & D Wizard...........................................................83 
12.4.1.5. Instalando ADO, DCOM e MDAC..................................................................................84 
12.5. ISTOOL.............................................................................................................................8413. TRABALHANDO COM API'S ......................................................................................87 
13.1. ABRINDO ARQUIVO DE AJUDA ATRAVÉS DE API........................................................................87 
13.2. ABRINDO O BROWSER OU EDITOR DE E-MAIL PADRÃO...............................................................88 
13.3. ENCONTRANDO O DIRETÓRIO DE INSTALAÇÃO DO WINDOWS E DE SISTEMA ..................................88 
13.4. DRIVE DO CD ....................................................................................................................89 
13.5. ECREVENDO E OBTENDO INFORMAÇÕES DE UM ARQUIVO INI.....................................................90 
14. CRIANDO ARQUIVOS DE AJUDA BASEDO EM ARQUIVOS HTML .............................93 
14.1. CRIANDO UM ARQUIVO DE AJUDA..........................................................................................93 
14.1.1. Arquivo de Conteúdo .....................................................................................................95 
14.1.2. Arquivo de Índice ..........................................................................................................97 
14.1.3. Aparência da Janela do Arquivo de Ajuda ........................................................................97 
14.1.4. Configurar Sensibilidade ao Contexto ..............................................................................97 
14.1.5. Compilando o Projeto da Ajuda.......................................................................................99 
14.1.6. Nota Final .....................................................................................................................99 
14.2. ACESSANDO O ARQUIVO CHM, ATRAVÉS DO VISUAL BASIC .......................................................99 
15. GERANDO RELATÓRIOS COM O CRYSTAL REPORTS .............................................101 
15.1. INICIALIZANDO O CRYSTAL REPORTS...................................................................................101 
15.2. CRIANDO UM NOVO RELATÓRIO ..........................................................................................101 
15.3. INSERINDO NOVOS CAMPOS A PARTIR DA TABELA. ..................................................................105 
15.4. FORMATANDO CAMPOS, INSERINDO FIGURAS, LINHAS E CAIXAS ................................................105 
15.4.1. Formatando Campos.................................................................................................... 105 
15.4.2. Inserindo Figuras, Linhas e Caixas ................................................................................ 106 
15.5. TRABAHANDO COM FÓRMULAS ............................................................................................107 
15.5.1.1. Especificando o valor de uma fórmula através do Visual Basic...................................... 108 
15.6. IMPRIMINDO, VISUALIZANDO E EXPORTANDO UM RELATÓRIO A PARTIR DO VISUAL BASIC............108 
15.6.1. Imprimindo................................................................................................................. 108 
15.6.2. Visualizando................................................................................................................ 108 
15.6.3. Exportando (para arquivo e por e-mail) ......................................................................... 109 
15.6.3.1. Exportando para arquivo formato do Word................................................................. 109 
Microsoft Visual Basic – Sumário V 
15.6.3.2. Enviando um relatório em anexo por e-mail ............................................................... 110 
15.7. OUTROS CÓDIGOS ÚTEIS PARA TRABALHAR COM RELATÓTIOS....................................................111 
15.7.1. Abrindo um relatório, cujo banco de dados possuui senha............................................... 111 
15.7.2. Alterar via código o caminho da base de dados do relatório ............................................ 111 
15.7.3. Como direcionar a impressão do Crystal para a porta LPT2?............................................ 111 
15.7.4. Fazendo com que a janela de impressão do Crystal Reports fique como filha (MDIChild) de 
um MDI? ................................................................................................................................. 111 
15.7.5. Inserir uma quebra de página no Crystal Reports? ......................................................... 111 
15.7.6. Modificar as margens de um relatório em modo de execução?......................................... 111 
15.7.7. Outra forma de especificar a senha do banco de dados utilizado pelo relatório.................. 112 
16. CRIANDO UM ACTIVEX ..........................................................................................113 
17. BIBLIOGRAFIA CONSULTADA................................................................................115 
 
 VI 
Microsoft Visual Basic – Índices de figuras VII 
Índice de Figuras 
FIGURA 1. INTERFACE MDI (MUTIPLE DOCUMENT INTERFACE) DO VISUAL BASIC 6.0 .................................................3 
FIGURA 2. INTERFACE SDI (SINGLE DOCUMENT INTERFACE) DO VISUAL BASIC 6.0 ....................................................3 
FIGURA 3. TELA DE SELEÇÃO DE UM NOVO PROJETO, COM OS DIVERSOS MODELOS.......................................................6 
FIGURA 4. ORGANOGRAMA SIMPLIFICADO DE UMA APLICAÇÃO. ............................................................................17 
FIGURA 5. JANELA DE PROPRIEDADES DO VISUAL BASIC. ...................................................................................17 
FIGURA 6. MENU EDITOR DO MICROSOFT® VISUAL BASIC. ...............................................................................21 
FIGURA 7. CAIXA DE CONTROLES ACTIVEX PERSONALIZADOS, LOCALIZADOS NO SISTEMA. ...........................................25 
FIGURA 8.MICROSOFT WINDOWS COMMON CONTROL 6.0 .................................................................................26 
FIGURA 9. A- CONFIGURAÇÕES DO TAMANHO DAS IMAGENS; B- COLEÇÃO DE IMAGENS INSERIDAS NO IMAGELIST. .............28 
FIGURA 10. CONTROLE LISTVIEW, EXIBINDO ÍCONES PEQUENOS..........................................................................29 
FIGURA 11. CONTROLES PROGRESSBAR'S EXIBINDO OS DOIS VALORES DA PROPRIEDADES SCROLLING (0 – 
CCSCROLLINGSTANDARD E 1- CCSCROLLINGSMOOTH) ...............................................................................30 
FIGURA 12. CONTROLE STATUSBAR, EXIBINDO VÁRIAS INFORMAÇÕES ADICIONAIS....................................................31 
FIGURA 13. CONTROLE STATUSBAR DO PROCESSADOR DE TEXTOS MICROSOFT® WORD............................................31 
FIGURA 14. CONTROLES TOOLBAR'S ALINHADOS NO TOPO DA JANELA E EM BAIXO E COM A PROPRIEDADE STYLE 1 – TBRFLAT E 
0 – TBRSTANDARD, RESPECTIVAMENTE..................................................................................................32 
FIGURA 15. CAIXA DE PROPRIEDADES GERAL DE UMA BARRA DE FERRAMENTAS (ABA GENERAL).....................................34 
FIGURA 16. CAIXA DE PROPRIEDADES DOS BOTÕES DE UMA BARRA DE FERRAMENTAS (ABA BUTTONS). ...........................34 
FIGURA 17. CAIXA DE PROPRIEDADES DOS BOTÕES DE UM CONTROLE TREEVIEW (ABA GENERAL). .................................35 
FIGURA 18. EXEMPLO DE UM CONTROLE TREEVIEW, COM UM NODE PAI (ÍCONES) E 4 NODES FILHOS. LINESTYLE IGUAL A 1– 
TVWROOTLINE. ..............................................................................................................................36 
FIGURA 19. CONTROLE SLIDER ..................................................................................................................37 
FIGURA 20. INTERFACE DA CALCULADORA DE IDADE .........................................................................................40 
FIGURA 21. CAIXA DE DIÁLOGO DE CONTROLE VERSÕES E INFORMAÇÕES DO APLICATIVO. ...........................................41FIGURA 22. TELA DE INFORMAÇÕES DE UM PROJETO.........................................................................................43 
FIGURA 23. ESTRUTURA DO BANCO DE DADOS COM QUATRO TABELAS....................................................................48 
FIGURA 24. ORGANOGRAMA SIMPLES DE UM BANCO DE DADOS. AS LINHAS PONTILHADAS INDICAM O RELACIONAMENTO ENTRE 
AS TABELAS....................................................................................................................................53 
FIGURA 25. HIERARQUIA DE CLASSES DAO ...................................................................................................54 
FIGURA 26. LAYOUT PARA PESQUISA DE DADOS DO PROGRAMA LIZARO VISUAL BASIC DICAS V3.0 ................................63 
FIGURA 27. CONTROLE MICROSOFT CHART 5.0 ..............................................................................................69 
FIGURA 28. GRÁFICO DE RECEITAS/DESPESAS DE ABRIL A JUNHO APRESENTANDO A MÉDIA DE CADA MÊS. ........................71 
FIGURA 29. GRÁFICO CRIADO COM DADOS DE ENTRADA MANUAL, EXIBINDO AS ESTATÍSTICAS. .....................................72 
FIGURA 30. GRÁFICO PLOTADO A PARTIR DOS DADOS DE UM BANCO DE DADOS ACCESS 97 .........................................74 
FIGURA 31. TELA INICIAL DO SETUP WIZARD QUE ACOMPANHA O VISUAL BASIC 5.0. ................................................81 
FIGURA 32. TELA INICIAL DO PACKAGE AND DEPLOYMENT WIZARD QUE ACOMPANHA O VISUAL BASIC 5.0 ......................82 
FIGURA 33. FIGURA DO EDITOR DE SCRIPT DO INNO SETUP COMPILER V3.0. ..........................................................84 
FIGURA 34. INTERFACE DO PROGRAMA ISTOOL 3.0 EM PORTUGUÊS (BR) ..............................................................85 
FIGURA 35.JANELA PARA INICIAR UM NOVO ARQUIVO........................................................................................93 
FIGURA 36. TELA DO WIZARD PARA ESPECIFICAR O CAMINHO E O NOME DO PROJETO. ...............................................94 
FIGURA 37. LISTAGEM DE ARQUIVOS HTML, QUE IRÃO FAZER PARTE DO ARQUIVO DE AJUDA. ......................................94 
FIGURA 38. JANELA DO PROJETO RECÉM CRIADO, COM AS OPÇÕES E LISTAGEM DE ARQUIVOS CRIADOS. ..........................95 
FIGURA 39. JANELA DE OPÇÃO PARA CRIAÇÃO OU ABERTURA DE UMA RQUIVO DE CONTEÚDO. .......................................95 
FIGURA 40. JANELA DE ADIÇÃO DE TÓPICOS E DE LIGAMENTO (LINK) COM O ARQUIVO CORRESPONDENTE. .......................96 
FIGURA 41. JANELA DE "LINKAGEM" DE ARQUIVO AO TÓPICO DO CONTEÚDO. A LISTAGEM É EXIBIDA POR TÍTULO DO ARQUIVO.
..................................................................................................................................................96 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 
 
VIII 
FIGURA 42. ABA DE CONTENTS, COM SUA APARÊNCIA FINAL LISTANDO TODOS OS TÓPICOS CRIADOS..............................97 
FIGURA 43. JANELA HTMLHELP API INFORMATION COM A ADIÇÃO DO ARQUIVO DE CABEÇALHO INSECTA.H. ...................98 
FIGURA 44. JANELA DE LIGAÇÃO DA DEFINIÇÃO (IDH_MAIN), COMO O ARQUIVO HTML (INSECTA.HTM). .......................98 
FIGURA 45. ÍCONE DO CRYSTAL REPORTS V4.6. ........................................................................................... 101 
FIGURA 46. JANELA PARA CRIAÇÃO DE UM RELATÓRIO NOVO NO CRYSTAL REPORTS................................................. 101 
FIGURA 47. JANELA CREATE REPORT EXPERT, COM A OPÇÃO O PASSO 1: SELEÇÃO DE TABELAS NO CRYSTAL REPORTS ...... 102 
FIGURA 48. PASSO 3: SELEÇÃO DE CAMPOS A SEREM EXIBIDOS NO RELATÓRIO DO CRYSTAL REPORTS. ......................... 103 
FIGURA 49. PASSO 4: SELEÇÃO DOS CAMPO DE ORDENAÇÃO DO RELATÓRIO E TIPO DE ORDENAÇÃO NO CRYSTAL REPORTS. 103 
FIGURA 50. PASSO 8: ESPECIFICAÇÃO DE TÍTULO E SELEÇÃO SE ESTILO DO RELATÓRIO NO CRYSTAL REPORTS................ 104 
FIGURA 51. JANELA DO MODO DE DESENHO DO CRYSTAL REPORT. ..................................................................... 104 
FIGURA 52. JANELA PAR INSERÇÃO DE NOVO(S) CAMPO(S) AO RELATÓRIO NO CRYSTAL REPORTS................................ 105 
FIGURA 53. BARRA DE FERRAMENTAS DE FORMATAÇÃO DO TEXTO DOS CAMPOS NO CRYSTAL REPORTS. ........................ 105 
FIGURA 54. MENU SUSPENSO PARA FORMATAÇÃO DO CAMPO (FONTE, FORMATO, BORDAS, ETC.) NO CRYSTAL REPORTS .... 106 
FIGURA 55. JANELA DE ALTERAÇÃO DO FORMATO DO CAMPO NO CRYSTAL REPORTS. ............................................... 106 
FIGURA 56. ALTERAÇÃO DE BORDA E CORES DE BORDA E TEXTO DO CAMPO DO CRYSTAL REPORTS. ............................. 106 
FIGURA 57. BARRA DE FERRAMENTAS PARA INSERÇÃO DE FIGURA, LINHA E CAIXA (RESPECTIVAMENTE) DO CRYSTAL REPORTS.
................................................................................................................................................ 107 
FIGURA 58. JANELA DE EDIÇÃO DE FÓRMULA DO CRYSTAL REPORTS.................................................................... 107 
FIGURA 59. BARRA DE FERRAMENTAS NA JANELA DE VISUALIZAÇÃO DO CRYSTAL REPORTS. ....................................... 109 
FIGURA 60.JANELA DE VISUALIZAÇÃO DE UM RELATÓRIO PELO CRYSTALREPORT ACTIVEX CONTROL............................. 109 
FIGURA 61. CONTROLE ACTIVEX EM DESIGN-TIME. ....................................................................................... 113 
 
Microsoft Visual Basic – Índices de códigos IX 
Índice de Códigos 
CÓDIGO 1. EXEMPLO DE DECLARAÇÃO DE VARIÁVEIS NO VISUAL BASIC....................................................................7 
CÓDIGO 2. PROCEDIMENTO PARA EXIBIÇÃO DO FORMULÁRIO FRMMAIN....................................................................9 
CÓDIGO 3. CÓDIGO EXTENSOS PARA ALTERAR A PROPRIEDADE CAPTION E BACKCOLOR, DO FORM2 E EXIBI-LO. ................18 
CÓDIGO 4. CÓDIGO MAIS PRÁTICOS ATRAVÉS DA FUNÇÃO SHOWFORM PARA ALTERAR A PROPRIEDADE CAPTION E BACKCOLOR, 
DO FORM2 E EXIBI-LO. .....................................................................................................................18 
CÓDIGO 5. ESTE EXEMPLO CARREGA VÁRIOS BITMAPS EM UM CONTROLE IMAGELIST. QUANDO O FORM É CLICADO UM UMA 
IMAGEM DA LISTA É SUBSTITUÍDA POR OUTRA IMAGEM. ESTE EXEMPLO NECESSITA DE UM CONTROLE IMAGELIST E UM 
CONTROLE PICTUREBOX. ...................................................................................................................28 
CÓDIGO 6. LINHA DE COMANDO PARA RETORNAR A SEGUNDA IMAGEM DA COLEÇÃO DA IMAGELIST1 PARA O CONTROLE 
PICTURE1. ....................................................................................................................................28 
CÓDIGO 7, LINHA DE COMANDO PARA RETORNAR A SEGUNDA IMAGEM (ÍCONE) DA COLEÇÃO DA IMAGELIST1 PARA O CONTROLE 
PICTURE1. ....................................................................................................................................28 
CÓDIGO 8. ROTINA SIMPLES PARA EXIBIR O PROGRESSO DE UM CONTROLE PROGRESSBAR...........................................30 
CÓDIGO 9. LINHA DE COMANDO PARA EXTRAIR A IMAGEM DE INDEX 1 CONTIDA NUM CONTROLE IMAGELIST E RETORNA-LO 
PARA O PAINEL A PROPRIEDADE PICTURE DA BARRA DE STATUS COM O INDEX 1. ...............................................31 
CÓDIGO 10. CONTROLE STATUSBAR. ATRIBUINDO UM TEXTO AO PAINEL 1 E ADICIONANDO PAINÉIS E FIGURAS. ...............32 
CÓDIGO 11. ADIÇÃO DE NODES NUM CONTROLE TREEVIEW................................................................................37 
CÓDIGO 12. REMOVENDO UM NODE DO CONTROLE TREEVIEW. ...........................................................................37 
CÓDIGO 13. PROJETO CALCULADORA DE DIAS, MESES E ANOS VIVIDOS..................................................................40 
CÓDIGO 14. PROJETO PARA EXIBIR AS INFORMAÇÕES DE UM APLICATIVO................................................................42 
CÓDIGO 15. ROTINA PARA ACESSO A DADOS DE UMA TABELA UTILIZANDO A INSTRUÇÃO DBOPENTABLE..........................55 
CÓDIGO 16. ROTINA PARA ACESSO A DADOS DE UMA TABELA UTILIZANDO A INSTRUÇÃO DBOPENDYNASET, UTILIZANDO 
INSTRUÇÕES SQL............................................................................................................................55 
CÓDIGO 17. PREENCHENDO UMA CAIXA DE LISTAGEM COM DADOS DE UMA TABELA UTILIZANDO O RECORDESET DO TIPO 
FOWARD-ONLY. ..............................................................................................................................57 
CÓDIGO 18. ROTINA PARA ABERTURA DE UMA BASE DE DADOS MS ACCESS.............................................................58 
CÓDIGO 19. ROTINA PARA ABERTURA DE UMA BASE DE DADOS MS ACCESS COM SENHA..............................................58 
CÓDIGO 20. ROTINA PARA ACESSO A UM BANCO DE DADOS DO TIPO MS ACCESS. .....................................................58 
CÓDIGO 21. ROTINA PARA ACESSO A DADOS DE UMA TABELA VIA INSTRUÇÃO SQL....................................................59 
CÓDIGO 22. ROTINA PARA PREPARAR UMA TABELA PARA RECEBER NOVOS DADOS (REGISTRO) ......................................59 
CÓDIGO 23. ROTINA PARA GRAVAR DADOS EM UMA TABELA DO BANCO DE DADOS. ....................................................60 
CÓDIGO 24. ROTINA PARA LOCALIZAR DADOS DENTRO DE UMA TABELA, UTILIZANDO AS INSTRUÇÕES DO DATACONTROL E 
INSTRUÇÕES SQL............................................................................................................................60 
CÓDIGO 25. ROTINA PARA FILTRAR OS DADOS DE UMA TABELA............................................................................61 
CÓDIGO 26. ROTINA PARA LOCALIZA DADOS DENTRE DE UMA TABELA, UTILIZANDO SQL E EM SEGUINDA PREENCHENDO UMA 
TREEVIEW COM OS DADOS ENCONTRADOS. .............................................................................................62 
CÓDIGO 27. ROTINA PARA EDITAR UM REGISTRO GRAVADO EM UMA TABELA DO BANCO DE DADOS. ................................63 
CÓDIGO 28. ROTINA PARA COMPACTAR UM BANCO DE DADOS SEM SENHA. ..............................................................64 
CÓDIGO 29. ROTINA PARA COMPACTAR UM BANCO DE DADOS COM SENHA. .............................................................64 
CÓDIGO 30. ROTINA PARA RECUPERAR UM BANCO DE DADOS CORROMPIDO.............................................................64 
CÓDIGO 31. ROTINA PARA SALVAR E RECUPERAR UMA FIGURA DENTRO DUM CAMPO OLE DE UM BANCO DE DADOS. ............66 
CÓDIGO 32. ROTINA PARA ACESSO À BANCO DE DADOS DBASE VERSÃO III. ............................................................66 
CÓDIGO 33. ROTINA PARA ACESSO À BANCO DE DADOS FOXPRO VERSÃO 2.5. .........................................................66 
CÓDIGO 34. ROTINA PARA ACESSO À BANCO DE DADOS EXCEL VERSÃO 4.0.............................................................67 
CÓDIGO 35. ROTINA PARA ACESSO À BANCO DE DADOS TEXTO. ...........................................................................67 
CÓDIGO 36. CÓDIGO PARA CRIAÇÃO DE UM GRÁFICO DE RECIETAS/DESPESAS E MÉDIA DUTRANTE TRÊS MESES..................70 
CÓDIGO 37. CÓDIGOS PARA CRIAÇÃO DE UM GRÁFICO MANUALMENTE E XIBIÇÃO DE ESTATÍSTICAS. ...............................72 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 
 
X 
CÓDIGO 38. CÓDIGO PARA EXTRAIR DADOS DE UM BANCO DE DADOS ACCESS 97, LISTANDO O NÚMERO DE PESQUISADORES 
POR ESTADO. .................................................................................................................................73 
CÓDIGO 39. ROTINA COMPLETA PARA INTERCEPTAÇÃO, EXIBIÇÃO E ARMAZENAMENTO DE ERRO DE UMA APLICAÇÃO............80 
CÓDIGO 40. EXEMPLO DE COMO ABRIR UM ARQUIVO DE AJUDA ATRAVÉS DE API ......................................................88 
CÓDIGO 41. EXEMPLO DE COMO ABRIR O BROWSER OU EDITOR DE E-MAIL PADRÃO ..................................................88 
CÓDIGO 42.EXEMPLO DE COMO ENCONTRAR O DIRETÓRIO DE INSTALAÇÃO DO WINDOWS E DE SISTEMA ........................89 
CÓDIGO 43. EXEMPLO DE COMO DETECTA R ALETRA DO DRIVE DO CD ...................................................................90 
CÓDIGO 44. EXEMPLO DE COMO ESCREVER E OBTER INFORMAÇÕES DE UM ARQUIVO INI.............................................91 
CÓDIGO 45. ESTRUTURA DE UMA ARQUIVO DE CABEÇALHO, CONTENDO OS TÓPICOS SENSÍVEIS AO CONTEXTO E SUA 
IDENTIFICAÇÃO NUMÉRICA. ................................................................................................................98 
CÓDIGO 46. CLASSE CLSHELPCHM, CRIADA PARA ACESSAR ATRAVÉS DE API AO ARQUIVO DE AJUDA CHM, PELO VISUAL BASIC
..................................................................................................................................................99 
CÓDIGO 47. CODÍGO PARA EXIBIR O ARQUIVO DE AJUDA ATRAVÉS DO EVENTO CLICK, DE UM COMMANDBUTTON, CHAMADO 
CMDHELP. ................................................................................................................................... 100 
CÓDIGO 48. CODÍGO PARA EXIBIR O CONTEXTO ESPECÍFCO DO ARQUIVO DE AJUDA ATRAVÉS DO EVENTO CLICK, DE UM 
COMMANDBUTTON, CHAMADO CMDHELP. ............................................................................................. 100 
CÓDIGO 49. TEXTO DA FÓRMULA "NOME" INSERIDA NO RELATÓRIO DO CRYSTAL REPORTS........................................ 107 
CÓDIGO 50. ENVIO DE VALOR PARA UMA FÓRMULA DO CRYSTALREPORT .............................................................. 108 
CÓDIGO 51. FILTRAGEM DE DADOS NO CRYSTALREPORTS ATRAVÉS DO VISUAL BASIC.............................................. 108 
CÓDIGO 52. CÓDIGO PARA IMPRESSÃO DIRETA DO RELATÓRIO SEM VISUALIZAÇÃO PRÉVIA NO CRYSTAL REPORTS. ........... 108 
CÓDIGO 53. CÓDIGO PARA VISUALIZAR UM RELATÓRIO. .................................................................................. 109 
CÓDIGO 54. CÓDIGO PARA EXPORTAR UM ARQUIVO NO FORMATO DO WORD. ........................................................ 110 
CÓDIGO 55. EXPORTANDO UM ARQUIVO PARA UMA MENSAGEM DE E-MAIL............................................................. 111 
CÓDIGO 56. CÓDIGO DO CONTROLE ACTIVEX PARA ESPECIFICAR E RETORNAR AS PROPRIEDADES. ............................... 114 
CÓDIGO 57. CÓDIGO PARA EXIBIR A ARQUIVO DE AJUDA ESPECÍFICO ATRAVÉS DA API WINHELP NO CONTROLE ACTIVEX. . 114 
 
Microsoft Visual Basic – Índices de tabelas XI 
Índice de Tabelas 
TABELA 1. CONTROLES BÁSICO E SUAS DESCRIÇÕES. ..........................................................................................4 
TABELA 2. TIPO DE VARIÁVEIS SUA CAPACIDADE DE USO. .....................................................................................6 
TABELA 3. SUGESTÃO DE PREFIXO PARA IDENTIFICAÇÃO DO TIPO DE VARIÁVEL...........................................................7 
TABELA 4. FUNÇÕES INTERNAS DO VISUAL BASIC PARA CONVERSÃO DE DADOS. .........................................................7 
TABELA 5. PREFIXOS PARA NOMES DOS OBJETOS MAIS UTILIZADOS EM APLICAÇÃO (SUGESTÃO DA MICROSOFT E DO AUTOR) 14 
TABELA 6. PRINCIPAIS PROPRIEDADES DE UM FORMULÁRIO.................................................................................16 
TABELA 7. CONSTANTES, VALORES E DESCRIÇÃO DO PROPRIEDADE VIEW DO CONTROLE LISTVIEW. ...............................28 
TABELA 8. PROPRIEDADES DO CONTROLE LISTVIEW. ........................................................................................29 
TABELA 9. CONSTANTES, VALORES E DESCRIÇÃO DA PROPRIEDADE STYLE DO CONTROLE STATUSBAR.............................31 
TABELA 10. AS CONSTANTES PARA RELATIONSHIP SÃO: ....................................................................................36 
TABELA 11. CONTROLES PARA O PROJETO IDADE. ............................................................................................39 
TABELA 12. CONTROLES PARA EXIBIR AS VERSÃO E AS INFORMAÇÕES DE UM PROJETO. ...............................................41 
TABELA 13.PRINCIPAIS FUNÇÕES NUMÉRICAS UTILIZADAS PELO VISUAL BASIC E A DESCRIÇÃO. ....................................45 
TABELA 14. TIPOS DE DADOS UPORTADOS PELO JET E PELA A SQL......................................................................49 
TABELA 15. TIPOS DE DADOS SUPORTADOS PELO BANCO DE DADOS ACCESS ............................................................53 
TABELA 16. THE OPENDATABASE METHOD SYNTAX HAS THESE PARTS....................................................................57 
TABELA 17. TIPO DE GRÁFICO A SEREM EXIBIDOS PELA PROPRIEDADE CHARTYPE, SUAS CONSTANTE E VALORES.................69 
TABELA 18. ERROS GENÉRICOS RELACIONADOS À OPERAÇÃO DE BANCO DE DADOS ....................................................76 
TABELA 19. ERROS RELACIONADOS A BLOQUEIO DE REGISTROS ...........................................................................76 
TABELA 20. ERROS RELACIONADOS A PERMISSÕES...........................................................................................77 
TABELA 21. STRINGS UTILIZADAS PELO ARQIVO SETUP.LST AS STRINGS EQUIVALNTES NO INNO SETUP COMPILER..............83 
 
 
 
 
Microsoft Visual Basic – Dedicatória e Agradecimentos XIII 
Dedicatória 
Dedico a presente obra a DEUS, pela concessão de minha 
vida, a minha mãe por aceitar está tarefa árdua, a minha 
filha pela paciência e por suportar as incansáveis e 
exageradas hora que fico na frente do computador. 
William Costa Rodrigues 
 
Agradecimentos 
A todos aqueles que direta ou indiretamente 
participaram e incentivaram-me na confecção da 
presente obra. 
Meus humildes e sinceros agradecimentos. 
William Costa Rodrigues
Microsoft Visual Basic – Introdução 1 
1. INTRODUÇÃO 
 O Microsoft™ Visual Basic é uma poderosa linguagem de programação, e tem uma grande 
vantagem em relação às outras linguagens, por ser do mesmo fabricante do sistema operacional 
Microsoft™ Windows tem uma maior integração com o mesmo. Outra vantagem e que os 
programas gerados pelo Visual Basic, para serem ser executados necessitam da biblioteca 
Msvbvm50.dll ou Msvbvm60.dll e outros arquivos de extensão de aplicativos. Na prática a 
vantagem é o seguinte, os programas têm tamanhos menores e são executados, compartilhando 
este arquivos (bibliotecas e ActiveX). 
 As interfaces de usuário gráficas, ou GUIs (pronuncia "gúis", do Inglês Graphic Interfaces 
User), revolucionaram a indústria da microinformática. Elas demonstram que a frase "Uma figura 
vale por mil palavras" é verdadeira para a maioria dos usuários de computadores. Em lugar do 
estranho prompt do DOS C:> que os usuários observavam durante muito tempo (e que assustou 
muitos deles), você é presenteado com uma área de trabalho cheia de ícones e com programas 
que utilizam mouse e menus. 
 Embora alguns programadores tenham apresentado sentimentos contraditórios a respeito 
das GUIs, os iniciantes gostam delas, e assim é de se esperar que os programas Windows sejam 
baseados no modelo GUI (e que tenham a aparência e proporcionem a sensação certa). Portanto , 
se você precisar desenvolver um programa para qualquer versão Windows, desejará Ter uma 
ferramenta para desenvolver com eficiência aplicativos fundamentados em GUIs, e o Visual Basic é 
a ferramentas mais indicada, por possui facilidade na síntese de código e interface amigável, 
próxima dos aplicativos do Windows. 
 Os exemplos e dicas aqui exibidos são de parte de exemplos de livros, do Help do Visual 
Basic, dicas da Internet (VBAccelerator.com – www.vbaccelerator.com de Steve MacMahon, 
vbbrasil.com – www.vbbrasil.com.br, VBMania – www.vbmania.com.br, José Carlos Macorati – Site 
Pessoal www.macoratti.net e etc.). 
 Uma recomendação bastante pertinente para que pretende programar é por em dia o 
Inglês, pois todos os comandos os arquivos de ajuda (Help) e a maioria da documentação para as 
linguagens de programação estão em Inglês. Outra recomendação é sempre que possui dúvidas 
acesse o arquivo de Ajuda ou o Books Online que vêm junto com o Visual Basic. 
 Para quem não possui uma versão registrada do Microsoft™ Visual Basic poderá adquirir 
gratuitamente no site da Microsoft a versão mais simplificada: Visual Basic Control Create. Apesar 
de muito básica é possível criar executáveis simples e componentes ActiveX, com a mesma 
facilidade das outras versões (Standard, Professional e Enterprise). 
 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 2 
Microsoft Visual Basic – Conceitos Básicos do Visual Basic 3 
2. CONCEITOS BÁSICO DO VISUAL BASIC 
 
 Se você já está familiarizado com o Visual Basic pode passar para o próximo capítulo, pois 
o capítulo atual visa fazer uma introdução do Visual Basic para os iniciantes. 
 
2.1. Interface do Visual Basic 
 
 O Visual Basic Possui uma interface amigável com o padrão MDI (Multiple Document 
Interface), porém é possível trabalhar com uma interface SDI (Single Document Interface), 
através do menu Tools > Options > Advanced. 
 
 
Figura 1. Interface MDI (Mutiple Document Interface) do Visual Basic 6.0 
 
Figura 2. Interface SDI (Single Document Interface) do Visual Basic 6.0 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 4 
2.2. Controle Básico 
 O Visual Basic ao ser carregado apresenta uma barra de ferramenta a esquerda da tela 
contendo 19 controles padrão, que fazem parte da Biblioteca do VB (MSVBVM50.dll v5.0 ou 
MSVBVM60.dll v6.0, em síntese a biblioteca significa MicroSoft Visual Basic Virtual Machine versão 
do VB, ou seja, Máquina Virtual do MicroSoft Visual Basic). Eles poderão ser utilizados e no 
momento da distribuição do aplicativo, também deverá ser distribuída à biblioteca (MSVBVMx0.dll, 
onde x é a versão do VB). A única exceção é o controle Data, que necessita da biblioteca DAO 
(Data Access Objects, ou seja, Acesso a Objetos de Dados. 
 
Tabela 1. Controles básicos e suas descrições. 
 Img Controle/Descrição 
 
Pointer – Não verdade não se trata de um Controle, mas sim uma 
ferramenta que serve para dimensionar e mover Controles. 
 PictureBox – Permite exibir figuras (bmp, ,jpg, gif, wmf, emf) e ícones. 
 
Label – Etiqueta ou rótulo, exibe um texto para identificação outros 
controles no formulário. 
 TextBox – Este controle permite ao usuário digitar texto. 
 
Frame – Moldura utilizada para agrupar controles dentro de um 
formulário. 
 
CommandButton – Controle que permite o usuário realizar uma 
operação, através de linhas de comando pré-determinadas. 
 
CheckBox – Pode assumir valores falso ou verdadeiro. Em um mesmo 
Formulário vários CheckBox's podem assumir o valor verdadeiro ao 
mesmo tempo. 
 
OptionButton – Pode também assumir valores falso/verdadeiro, mas 
em um mesmo Formulário somente um OptionButton pode assumir o 
valor verdadeiro. 
 
ComboBox – Combina caixa de texto com caixa de listagem. O usuário 
pode digitar a informação como também pode encolher da lista. 
 ListBox – Exibe uma lista de itens que o usuário pode selecionar. 
 
 
HScrollBar e VScrollBar – Permite selecionar com o mouse um 
determinado valor numa faixa de valores. 
 
Timer – Controla intervalos de tempo determinados pelo programador 
em milisegundos. 
 DriveListBox – Exibe os drivers do computador. 
 
DirListBox – Exibe as pastas (diretórios) do computador. 
 FileListBox – Exibe os arquivos de uma pasta (diretório). 
 Shape – Permite exibir várias formas geométricas num formulário. 
 Line – Permite traçar linhas dentro do formulário. 
 
Image – Permite exibir figuras (bmp, jpg, gif, wmf, emf) e ícones, ainda 
permitindo que seja dimensionado de acordo com a necessidade do 
programador. 
 
Data – Permite acessar diversas base de dados. 
 
 
OLE – permite incorporar objetos ou arquivos no formulário. 
 
Microsoft Visual Basic – Conceitos Básicos do Visual Basic 5 
2.3. Controles Personalizados 
 As versões Professional e Enterprise permitem que o programador utilize controle 
personalizados, que são os ActiveX, que possuem funções específicasde acordo com o controle. 
Alguns do mais utilizados são RichTextBox, CommomDialog, Toolbar, StatusBar, 
ProgressBar; TreeView, ListView, ImageList, Slider, MSChart, entre outros. Cada um 
possui sua função específica. Deste modo atendendo as necessidades do programador. 
 Para acessar os controle personalizados no Visual Basic, basta clicar Project > 
Components... ou pressionar "Control+T". 
 Existe uma infinidade de ActiveX no diretório do sistema (em geral C:\Windows\System) 
que poderão ser utilizados, caso o ambiente suporte tal componente ou se ela estiver registrado 
no sistema. Além disto o programador poderá adquirir componentes personalizados elaborados por 
empresas de Software ou na Internet (gratuitamente). 
 O Visual Basic permite que o usuário avançado elabore seus próprios controles, deste modo 
atendendo mais ainda as necessidades específicas do programador, maiores detalhes serão vistos 
no Capítulo 4. 
 
2.4. Tipos de Projetos 
 O Visual Basic permite nas versões Professional e Enterprise diverso tipos de projeto. A 
seguir consta a descrição de cada projeto: 
 
 Standard EXE – Este é o projeto padrão. Através do qual o programador inicia um novo 
projeto baseado na construção de um aplicativo executável comum; 
 ActiveX EXE – Este projeto permite que o aplicativo gerado possa de utilizado ou distribuído 
pela Internet; 
 ActiveX DLL – Este tipo de projeto permite a criação de executáveis do tipo DLL (Dynamic 
Link Libary, ou seja Biblioteca de Vínculo Dinâmico). Sua construção permite a utilização dos 
códigos nela construídos, em projeto futuros; 
 ActiveX Control – Permite a criação de controles personalizados de acordo com a 
necessidade de funções e controles para outros projetos, minimizando assim o excesso de 
programação; 
 VB Application Wizard – Este projeto dispara o assistente de criação de aplicativos do Visual 
Basic, permitindo a criação de formulários chaves de uma aplicação como a tela de entrada 
SplashScreen, formulário das informações do sistema, vínculo com base de dados, ente outros; 
 VB Enterprise/Professional Edition Controls – Este tipo de projeto permite que o 
programador elabore um aplicativo com base em todos os controles disponíveis para as 
versões Professional e Enterprise; 
 Addin – Permite a elaboração de Add-ins que poderão ser utilizados pelo Visual Basic, para 
automatizar tarefas repetitivas e/ou complexas; 
 ActiveX Document DLL – Permite criar DLLs do tipo ActiveX que podem ser utilizadas na 
Internet para exibir ou capturar dados; 
 ActiveX Document EXE – Permite que seja criado documentos para utilização na Internet. 
 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 6 
 
Figura 3. Tela de seleção de um novo projeto, com os diversos modelos. 
 
2.5. Tipo de Variáveis 
 
 O Visual Basic trabalha com 8 tipo de variáveis fixas que possuem características próprias 
de tamanho e forma de uso. Porém você poderá criar variáveis temporárias para atender suas 
necessidade. A seguinte demonstra o nome das variáveis e a capacidade de dados de cada uma. 
 
Tabela 2. Tipo de variáveis sua capacidade de uso. 
Tipo de Variável Capacidade 
Boolean True ou False 
Byte 0 a 256 
Currency -922.337.203.685.477,5808 a -922.337.203.685.477,5807 
Date Qualquer expressão de data válida. 
Double 
(Valores negativos) 
-1,79769313486232 E-308 a -4,94065645841247 E-324 
(Valores positivos) 
4,94065645841247 E-324 a 1,79769313486232 E-308 
Integer -32.768 a 32.767 
Long -2.147.483.648 a 2.417.483.647 
Single 
(Valores negativos) 
-3,402823 E-38 a -1,401298 E-45 
(Valores positivos) 
1,401298 E-45 a 3,402823 E-38 
String Qualquer tamanho 
Variant – 
 
2.6. Declarando Variáveis no Visual Basic 
 As variáveis do Visual Basic (como visto no Tópico 2.5), podem ser declaradas dentro de 
eventos ou procedimentos. Quando o programador declara uma variável com Dim, esta será 
eliminada da memória, quando o evento finalizar, entretanto se a variável for declarada como 
Public, está permanecerá na memória até que a aplicação seja finalizada. Duas outras formas de 
declarar uma variável são através dos argumentos Private (que restringe a variável a um 
Form/Module/Class) ou através de Global que possui a mesma amplitude de Public. 
Microsoft Visual Basic – Conceitos Básicos do Visual Basic 7 
 Alguns padrões poderão ser seguidos para facilitar a identificação do tipo de variável, o 
seja, antes do nome da variável o programador poderá inserir uma letra ou duas letras que 
identifique o tipo de variável. Veja uma sugestão na Tabela 3. 
 
Tabela 3. Sugestão de prefixo para identificação do tipo de variável. 
Tipo de Variável Letra/Prefixo Exemplo 
Boolean b bFinalizar 
Byte by byLetter 
Currency c cReal 
Date dt dtAniversario 
Doublé d dJuros 
Integer i iIndice 
Long l lTitulo 
Single sg sgLetra 
String s sEndereco 
Variant v vCEP 
 
Public sNome As String 'Variável pública declarada como String 
 
Private lTitle As Long 'Variável pública declarada como Long 
 
Dim vCEP as Variant 'Variável privada a um evento declarada como Variant 
 
Global sEndereco as String 'Variável global declarada como String 
Código 1. Exemplo de Declaração de variáveis no Visual Basic. 
 Se o programador não especificar o tipo de variável o Visual Basic atribuirá o tipo Variant a 
variável. 
 Para exigir que as variáveis sejam sempre declaradas, nas declarações da janela Code 
sempre insira Option Explicit. Uma forma mais fácil e acionar esta opção automaticamente, para 
que toda vez que o programador exibe a janela Code pela primeira vez seja inserida esta string. 
Para tal clique em no meu Tools > Options, na aba Editor (primeira) marque a opção Require 
Variable Declaration, clique em OK para confirmar. A vantagem desta opção é que o Visual Basic 
verifica a síntese de cada variável e impede que uma variável seja utilizada sem antes ser 
declarada. 
 
2.7. Convertendo Dados 
 O Visual Basic possui funções internas de conversão de dados, o que facilita e muito a vida 
de um programador, pois hora é necessário que uma variável possua dados longos outra hora 
dados do tipo String. Entretanto cuidado no momento de converter os dados pois fica um tanto 
quanto incoerente converter um dado string para um dado byte. A Tabela seguinte exibe a 
funções e suas respectivas descrições. 
 
Tabela 4. Funções internas do Visual Basic para conversão de dados. 
Função Descrição 
CInt Transforma uma expressão numérica em um número inteiro por arredondamento. 
CLng Transforma uma expressão numérica em um inteiro longo por arredondamento. 
CSng Transforma uma expressão numérica em precisão simples. 
CDbl Transforma uma expressão numérica em precisão dupla 
CCur Transforma uma expressão numérica em moeda. 
CStr Transforma qualquer expressão string. 
CVar Transforma uma expressão variante. 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 8 
Função Descrição 
CBool Transforma uma expressão em booleana (verdadeira/falsa) 
CByte Transforma uma expressão numérica em um byte. 
CDate Transforma uma expressão compatível em uma data válida. 
 
2.8. Exercícios 
1. Quais controles abaixo são básico da biblioteca padrão do Visual Basic? 
( ) PictureBox ( ) RichTextBox ( ) ProgressBar ( ) Image ( ) OLE 
( ) Label ( ) TabStrip ( ) Timer ( ) ListBox ( ) ComboBox 
 
2. De acordo com as funções dos componentes básicos da biblioteca do VB, assinale V 
(verdadeiro) ou F (Falso), para as função especificadas abaixo: 
( ) Line - Permite traçar linhas dentro do formulário. 
( ) Shape – permite traçar linhas e caixas de texto no formulário. 
( ) Frame – Moldura utilizada para agrupar controles dentro de um formulário. 
( ) OptionButton – Pode assumir valores falso ou verdadeiro. Em um mesmo Formulário vários 
OptionButton's podem assumir o valor verdadeiro ao mesmo tempo. 
( ) CheckBox – Pode também assumir valores falso/verdadeiro, mas em um mesmo Formulário 
somente um CheckBox pode assumir o valor verdadeiro. 
() DriveListBox – Exibe os drivers do computador. 
( ) DirListBox – Exibe as pastas (diretórios) do computador. 
( ) FileListBox – Exibe os arquivos de uma pasta (diretório). 
 
3. De acordo com os tipos de projeto do Visual Basic qual dos tipos encaixa-se na descrição 
seguinte: "Permite a criação de controles personalizados de acordo com a necessidade de 
funções e controles para outros projetos, minimizando assim o excesso de programação" 
( ) StandardEXE ( ) ActiveX EXE ( ) ActiveX Control ( ) AddIn 
 
4. Defina o projeto do tipo StandardEXE. 
________________________________________________________________________________
________________________________________________________________________________ 
 
5. Qual das variáveis do Visual Basic, listadas abaixo, retorna o valor verdadeiro/false 
(True/False). 
( ) String ( ) Variant ( ) Boolean ( ) Long ( ) Integer ( ) Single 
 
6. Qual das variáveis do Visual Basic, listadas abaixo, retorna o maior valor numérico. 
( ) Byte ( ) Variant ( ) Boolean ( ) Long ( ) String ( ) Single 
 
7. Qual das variáveis do Visual Basic, listadas abaixo, retorna o menor valor numérico. 
( ) Integer ( ) Variant ( ) Byte ( ) Long ( ) String ( ) Single 
 
8. Declare uma variável publica (Public) do tipo String, atribua uma valor a esta variável e por fim 
converta esta para uma variável longa (Long) 
 
 
 
 
 
 
 
Microsoft Visual Basic – Estrutura de uma Aplicação 9 
3. ESTRUTURA DE UMA APLICAÇÃO 
 Uma aplicação em Visual Basic é um conjunto de elementos (formulários, módulos, classes, 
etc.) contendo diversas instruções que orientam o computador na realização de determinadas 
tarefas. Essas instruções encontram-se devidamente organizadas numa estrutura lógica bem 
definida, como veremos a seguir, e, quanto mais complexa for a aplicação maiores os cuidados 
devem ser tomados com essa estrutura. 
 O desenvolvimento de uma aplicação obedece a algumas etapas importantes, geralmente 
bem distintas. A primeira delas é a criação de uma interface, isto é, um conjunto de elementos 
que permitirá a comunicação do aplicativo com o usuário. Nesta etapa, deve ser definido, como o 
usuário irá interagir com a aplicação e, para isso, programador precisa criar os formulários e 
desenhar os componentes (controles) que permitirão a interação usuário-aplicação. 
 O primeiro passo ao desenvolver um aplicativo em Visual Basic é planejar o que será visto 
pelo usuário final, ou seja, projetar as telas. Quais os menus deverão conter na aplicação? Qual 
deverá ser o tamanho das janelas (formulários) a serem exibidas pelo programa? Quantas janelas 
deverá possuir o aplicativo. O usuário deverá ser capaz de redimensionara a janela? Onde deverão 
ser desenhados os controles (botões, caixas de texto, etc.)? Quais serão os controles necessários 
para que o aplicativo possa desempenhar as funções a que se propõem?. Bom, entre outras 
infinitas perguntas que poderão surgir a medida que o programador interage com a linguagem de 
programação. Na Figura 04, está um exemplo de um organograma simplificado de uma aplicação 
básica. 
 Após projetar a interface o segundo passo é escrever os códigos para ativar a interface 
visual que foi previamente elaborada. Os objetos no Visual Basic irão reconhecer eventos como 
clique do mouse. A maneira pela qual os objetos irão responder a esses eventos dependerá do 
código que o programador escreveu. O exemplo a seguir exibe o formulário frmMain a partir do 
procedimento Main, contido num módulo (Module) 
Public Sub Main() 
 frmMain.Show 
End Sub 
Código 2. Procedimento para exibição do formulário frmMain. 
 Grande parte do código de programação em Visual Basic que informa ao programa como 
responder a eventos como um clique do mouse ocorre no que o Visual Basic chama de 
procedimentos de eventos (ou procedures de eventos). Um procedimento de evento nada mais é 
que o código necessário para informar ao Visual Basic como responder a um evento. 
Essencialmente, tudo o que é executável em um programa Visual Basic é um procedimento na 
realização de sua tarefa. 
 É evidente que o terceiro e quarto passo na construção de um aplicativo, consiste em 
localizar e tratar o erros no código (depuração) e depois corrigi-los. 
 Eis um resumo dos passos que um programador poderá adotar na construção de um 
aplicativo com o Visual Basic: 
1. Personalizar as janelas que serão exibidas para o usuário; 
2. Decidir quais os eventos que os controles na janela devem reconhecer; 
3. Escrever os procedimento de eventos (procedures) para aqueles eventos e os 
prcedimentos subsidiários que fazem funcionar tais procedimentos de eventos. 
 Quando o aplicativo for executado, acontecerá o seguinte: 
1. O Visual Basic monitora as janelas e os controles em cada janela para todos os eventos 
que cada controle consegue reconhecer (movimentos do mouse, cliques, teclas, etc.); 
2. Quando o Visual Basic detecta um evento, caso não haja uma resposta intrínseca ao 
evento, o Visual Basic examina o aplicativo para ver se o programador escreveu um 
procedimento (procedure) para tal evento; 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 10 
3. Se o programador escreveu o procedimento (procedure), o Visual Basic executa o 
código que forma tal procedimento de evento e volta para o passo 1. Se o 
procedimento (procedure), não for localizada o Visual Basic, gera um erro. 
 Devemos ressaltar que existem vários padrões adotados por programadores para nomear 
os controles ou objetos que fazem parte de uma aplicação, porém é ideal que a equipe de 
programação possua um padrão de nomeação os objetos ou controles. A Tabela 5 apresenta o 
padrão de prefixos para os nomes dos objetos mais utilizados em uma aplicação. 
 Uma das informações mais importantes para o programador que está iniciando, 
é que o hábito de consultar a ajuda do Visual Basic dever ser constante, pois assim as 
dúvidas poderão ser sanadas em tempo muito curto. Outra forma de sanar estas 
dúvidas é adquirindo bibliografia a respeito do assunto (Visual Basic). Devemos 
lembrar que o programador deverá ter pelo menos uma noção de INGLÊS, pois toda 
documentação que acompanha o Visual Basic é em inglês, e a maioria da bibliografia 
do mercado, pelo menos as mais sofisticadas, estão no idioma Inglês. Felizmente com 
a popularização da linguagem vários livros e tutoriais são encontrados em português, 
no caso dos tutoriais é possível encontra-los vastamente na WEB. 
 
3.1. Estruturas de Programação do Visual Basic1 
 Aqui será apresentado às principais estruturas de programação da linguagem. Dominando 
estas estruturas, você poderá escrever programas mais simples e concisos e, muitas vezes, 
diminuir consideravelmente o número de instruções e comandos para executar a mesma tarefa e 
consequentemente o tamanho do aplicativo/componente. 
 
3.1.1. Tipos de Estruturas de Linguagem 
 As estruturas de utilizadas para se escrever códigos no Visual Basic 5 ou 6 são 
normalmente divididas em dois tipos distintos: estruturas de tomada de decisão e estrutura de 
loop (ou laço). 
 
3.1.1.1. Estrutura de Tomada de Decisão: 
 Estas estruturas são utilizadas durante o fluxo do programa para permitir a execução de 
diferentes tipos de códigos, de acordo com o contexto atual em que o usuário do seu programa se 
encontra. 
3.1.1.1.1 IF... Then... Else 
If <condição 1> = verdadeiro Then 
 Declaração 1 
ElseIf <condição 2> = verdadeiro> Then 
 Declaração 2 
Else 
 Declaração 3 
End If 
 
 Considerada a mais tradicional estrutura de linguagem (Se... Então... Senão), esta 
instrução avalia o conteúdo da <condição 1> e, se ela for verdadeira, executa as Declaração 1 
contida entre a linha If e a primeira instrução Else ou ElseIf (se houver alguma). Caso contrário, 
pula para a próxima cláusula ElseIf <condição2> Then, para avaliar a <condição 2>, caso 
ela seja verdadeira a Declaração 2, será executada (Se houver alguma), caso contrário a 
instrução executará a cláusula Else (senão) daexpressão. 
 
 
1 Baseado na obra Morgado, F. 1998. Visual Basic 5, método rápido 
Microsoft Visual Basic – Estrutura de uma Aplicação 11 
3.1.1.1.2 IIF 
Variável=IIF(<condição>, <valor true>, <valor false>) 
 
 Considerada uma variante da função anterior, também chamada de Se Imediato nas 
versões em Português do Microsoft Access e Excel, está instrução permite que o programador 
coloque uma instrução If... Then... Else End If em uma única linha de código, permitindo que 
atribua diferentes valores a variáveis ou objetos, dependendo do resultado da expressão. 
 Esta instrução avalia o valor da cláusula <condição> e se o valor for verdadeiro, retorna 
para variável o resultado da expressão contida na cláusula <valor true>. Caso o resultado de 
<condição> seja falso, <variável> é preenchida com o valor da cláusula <valor false>. 
 
3.1.1.1.3 Select Case 
Select Case <condição> 
 Case <resultado 1> 
 Declaração 1 
 Case <resultado 2> 
 Declaração 2 
 Case Else 
 Declaração 3 
End Select 
 
 Considerada uma variante à estrutura If... Then... Else, a instrução Select Case permite 
que o programador faça apenas um teste <condição> no início da instrução Select Case e 
tome várias decisões dependendo do valor retornado. 
 Esta instrução é geralmente utilizada quando existem inúmeras possibilidades de 
tratamento do valor gerado pela cláusula <condição>, como é o caso das rotinas de tratamento 
de erro em tempo de execução ou ativação de botões de uma ToolBar (Barra de Ferramentas), 
onde nesse caso a resultado é geralmente o valor Key ou o valor Index de cada botão. 
 Verifique que esta estrutura oferece uma saída caso nenhum valor retornado (resultado) 
seja verificado pelos Case's da instrução, assim o valor retornado poderá ser atribuído na 
expressão Case Else (Declaração 3). 
 
3.1.1.2. Estrutura de Loop 
 As estruturas de loop (ou laço) são utilizadas para permitir que um mesmo conjunto de 
instruções seje executado continuamente, até que uma determinada condição seja satisfeita. 
3.1.1.2.1 For... Next 
For... <contador> = <começo> To <fim> Step <passo> 
 Declaração 
Next <contador> 
 
 Esta estrutura de laço permite que você execute todas as instruções contidas dentro de 
For... Next, por um número de vezes definido entre o valor <começo> e o valor <fim>, contando-
se as interações de acordo com o argumento opcional Step <passo>. O valor do contador não 
poderá ser uma variável Boolean (Boleana) ou uma array. 
 Exemplo: O laço For... Next..., abaixo, faz com que a variável IntJ sela incrementada de 1 a 
tá 100, de 5 em 5 unidades (forçando a execução do laço por 20 vezes consecutivas): 
Dim IntJ as Integer 
For IntJ = 1 To 100 Step 5 
 <executar as instruções> 
Next IntJ 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 12 
 A especificação do nome da variável contadora dentro da cláusula Next ( como Next IntJ é 
opcional) é opcional – basta escrever Next para fechar o laço. No entanto, ela melhora 
significativamente a compreensão do código e, portanto, é amplamente recomendada. 
 
3.1.1.2.2 Do... Loop 
Do 
 Declaração 
Loop 
 
 A instrução Do... Loop convencional é executada continuamente. Você deve colocar uma 
condição de teste no interior do laço, através de uma instrução If... Then... Else, para fazer com 
que ela termine sua execução, enviando uma instrução do tipo Exit Do. 
 Exemplo: No exemplo a seguir, a instrução Do... Loop é executada continuamente, ate que 
o valor da variável fCancelar seja verdadeiro. 
Do 
 DoEvents 
 If fCancelar Then 
 Exit Do 
 End If 
Loop 
 
 Muito cuidado na hora de utilizar uma instrução Do... Loop, pois se o valor que determina o 
final do laço não for alcança o laço seja executado infinitamente, fazendo com que a aplicação seja 
paralisada, provocando um Bug, consequentemente travando o computador. 
 As estruturas Do... Loop possuem diversas variantes e são utilizadas para fazer com que o 
código seja executado seguidamente, até que uma determinada condição seja verdadeira. Esta 
condição pode ser testada no início ou no fim do laço, e é normalmente utilizada com as cláusulas 
While (enquanto) ou Until (até). 
 
3.1.1.2.3 Do While... Loop 
Do While <condição> 
 Declaração 
Loop 
 
 Nesta variante, as instruções dentro do laço Do... Loop serão executadas enquanto 
(While) o valor de <condição> for verdadeiro. Isto significa que, se o valor de <condição> for 
falso antes do início do laço, as declarações contidas em seu interior não serão executadas. 
 
3.1.1.2.4 Do Until... Loop 
Do Until <condição> 
 Declaração 
Loop 
 
 Apesar desta instrução ser muito semelhante a anterior à anterior, o teste é feito em um 
momento diferente. Neste caso, o laço será executado até que o valor <condição> seja 
verdadeiro, o que inverte a situação anterior, ou seja, as declarações no interior do laço serão 
executadas apenas se o valor de <condição> for falso. 
 
Microsoft Visual Basic – Estrutura de uma Aplicação 13 
3.1.1.2.5 While... Wend 
While <condição> 
 Declaração 
Wend 
 
 Esta estrutura é bastante semelhante a estrutura Do While... Loop. A diferença entre elas 
consiste no fato de que While... Loop é menos flexível do que um laço Do... Loop convencional, 
não permitindo, por exemplo, sair prematuramente do laço em uma instrução Exit Loop. 
 Além disso, a estrutura While... Wend sempre executa o teste <condição> no início do 
laço. 
 
3.1.1.2.6 For Each... Next 
For Each <objeto> In <Colação> 
 Declaração 
Next 
 
 Esta estrutura permite que você caminhe por todos os objetos de uma coleção ou matriz 
(variável do tipo array). 
 Exemplo: No exemplo a seguir, você pode utilizar a estrutura For... Each para alterar a 
propriedade Enabled (ativado) de todos os controles do tipo TextBox (Caixa de Texto) do 
formulário frmMain, tornando-os indisponíveis. 
For Each ctl In frmMain 
 If TypeOf ctl Is TextBox Then 
 ctl.Enabled = False 
 End IF 
Next 
 
 A cláusula For... Each cria automaticamente uma variável chamada ctl (uma abreviação de 
control ou controle), e faz um laço por todos os controle do formulário frmMain, desativando todas 
as caixas de texto, sem importar quantas elas são. Verifique que o teste para saber se o controle é 
mesmo uma caixa de texto (TextBox), é realizado pela cláusula If TypeOf Is TextBox Caso o valor 
retornado seja verdadeiro o controle testado é desabilitado, ou seja, o controle é uma caixa de 
texto, se o controle for um botão (CommandButton) este não será desabilitado pois não é um 
TextBox. 
 
3.1.1.2.7 With... End With 
With <coleção> 
 Declaração 
End With 
 
 Esta estrutura permite que o programador referencie diretamente cada elemento ou 
propriedade de uma coleção (ou matriz), sem a necessidade de especificar o caminho completo 
(ou índice) para cada elemento da coleção. 
 A estrutura With... End With, é muito utilizada para permitir a alteração de diversas 
propriedades de um único controle ou formulário do Visual Basic ou Access. 
 Exemplo: para alterar diversas propriedades de uma Caixa de Texto (TextBox) chamada 
txtxValorTotal, utiliza-se a estrutura With... End With, da seguinte forma: 
With txtValorTotal 
 .Locked = False 
 .MaxLenght = 30 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 14 
 .TabStop = True 
 .Visible = True 
End With 
 
3.1.1.3. Saindo das Estruturas de Loop 
 Algumas vezes você pode precisar terminar abruptamente a execução de uma estrutura de 
laço antes de a condição testada ser verdadeira. 
 No caso da estrutura For... Next, você pode utilizar uma instrução Exit For dentro do 
laço, para que a instrução que segue a cláusula Next seja imediatamente executada. 
 Já nas estruturas Do... Loop utilize a instrução Exit Do. Isto fará com que a instrução que 
segue a cláusula Loop seja imediatamente executada. 
 Devemos lembrar que Exit Loop, não funcionara na cláusula While... Wend. 
 
3.2. Formulários e Controles 
 Cada formulário de uma aplicação é gravado em um arquivocom seções bem-definidas – 
uma seção reúne o código que define os objetos apresentados em tela e a configuração de suas 
propriedades, outra seção contém as declarações das variáveis e objetos não visuais utilizados 
pelo formulário e, finalmente, uma outra seção inclui o código das rotinas de eventos, além das 
rotinas e funções escritas pelo programador para uma determinada finalidade. 
 O formulário visualizado em uma tela possui uma interface gráfica, que é carregada pelo 
VB a partir do arquivo padrão som extensão FRM. Além da interface gráfica os formulários 
(Forms) possuem instruções (código) para execução e tarefas, pré-determinadas pelo 
programador. 
 Um formulário possui propriedades, para sua definição visual, métodos, que definem 
seu comportamento e eventos, relativos à interação como usuário. 
 As propriedades podem ser definidas na fase de desenho (Design Time) – através da janela 
de propriedades (Figura 05) – ou também durante a execução da aplicação (Run Time), porém 
existem algumas propriedades que são somente leitura (Read Only) em tempo de execução (Run 
Time). Caso alguma seqüência de código seja definida para um determinado evento, ela será 
automaticamente disparada quando este ocorrer, já os métodos são funções intrínsecas ao 
formulário e, se invocadas em determinada linha de comando (código), podem ser acessadas 
somente durante a execução da aplicação pelo disparo de algum evento. 
 
 
Tabela 5. Prefixos para nomes dos objetos mais utilizados em aplicação (Sugestão da Microsoft e 
do Autor) 
Objeto/Componente Prefixo Exemplo 
"Outline" out outChart 
Abas (TabStrip) tab tabDados 
Árvore de visualização (TreeView) tvw tvwNome 
Barra de Ferramentas (ToolBar) tlb tlbMain 
Barra de rolagem horizontal (HscroolBar) hsb hsbPicture 
Barra de rolagem plana (FlatScroolBar) fsb fsbTextBox 
Barra de rolagem vertical (VScroolBar) vsb vsbPicture 
Barra de Status stb stbMain 
Botão de comando (CommandButton) cmd cmdClose 
Botão de opção (OptionButton) opt optSend 
Caixa de Diálogo (CommonDialog) cdl cdlOpenFile 
Caixa de Listagem (ComboBox) cbo ou cmb cboName 
Caixa de listagem de Banco de dados (DBCombo) dbc dbcState 
Caixa de listagem de imagens (ImageCombo) icb ou cbi icbIconSmall 
Microsoft Visual Basic – Estrutura de uma Aplicação 15 
Objeto/Componente Prefixo Exemplo 
Caixa de Máscara (MaskEditBox) msk mskPhone 
Caixa de Texto (TextBox) txt txtName 
Caixa de texto formatado (RichTextBox) rtf rtfFile 
Caixa de Verificação (CheckBox) chk chkSaveSetting 
Contador de tempo ou temporizador (Timer) tmr tmrShowAll 
Controle de animação (Animation) ani aniAviFile 
Controle de Dados (DataControl) dat ou dtc datDBase 
Controle de gráfico (MSChart) grf grfDBase 
CoolBar clb clbMain 
DTPicker dtp dtpMonth 
Figura (PictureBox) pic piclogo 
Forma (Shape) shp shpSquare 
Formulário (Form) frm frmMain 
Formulário MDI (MDIForm) mdi mdiMain 
Grade (Grid) grd grdName 
Grade do Bando de Dados (DBGrid) dbg dbgTitle 
Imagem (Image) img imgIcon 
Legenda (Label) lbl lblTitle 
Linha (Line) lnh lnhVertical 
Lista (Listbox) lst lstEmail 
Lista de arquivos (FileListBox) flb filBitmap 
Lista de diretórios (DirListbox) drl drlSource 
Lista de Drive (DriveListBox) dvl dvlSource 
Lista de imagens (ImageList) iml imlIcons32 
Lista de visualização (ListView) lvw lvwTitles 
Listagem de Banco de dados (DBList) dbl dblAuthor 
Menu mnu ou smnu 
mnuFile ou 
smnuProperty 
Módulo (Module) mod modAPIs 
Módulo Classe (Class Module) cls clsTypeFile 
Moldura (Frame) fra fraTitles 
MothView mvw mvwCalendar 
MS Flex Grid fgd fgdAuthor 
MS Tab tab tabConfig 
OLE ole oleWord 
Página de propriedades (Property Page) ppg ppgFont 
Painel Tridimensional (3D Panel) pnl pnlGroup 
ProgressBar (Barra de progresso) pbr pbrLoadfile 
Relatório (DataReport) drp drpTitles 
Resource File res resIcons 
Slide (Slider) sld sldConfig 
UpDown upd updCopies 
User Control ctl ctlButton 
 
Desvendando a linguagem de programação mais popular do mundo – W.C. Rodrigues 16 
 Os formulários possuem várias propriedades como segue na Tabela 6. 
Tabela 6. Principais propriedades de um formulário. 
Propriedade Descrição Valor Padrão 
(Name) Define o nome do formulários (vide prefixos de nome de objetos Quadro 4) Form1 
Apparence Define a aparência do formulário se 0 – Flat ou 1 – 3D 1 – 3D 
BackColor Define a cor do fundo do formulário &H8000000F& 
BorderStyle Define o tipo borda que o formulário exibirá: 0 – None; 1 – Fixed Single; 2 – Sizable; 3 – Fixed Dialog 2 – Sizable 
Caption Define o texto que será exibido na barra de título do formulário Form1 
ControlBox Define se o formulário irá exibir ou não os botões de minimizar, maximizar, fechar e o ícone da janela. True 
Enabled Define se o formulário estará ativo ou não True 
Font Define a fonte que o formulário irá exibir MS Sans Serif 
Fore Color Define a cor da fonte no formulário &H80000012& 
Height Define a altura do formulário 3570 
Icon Define o ícone que o formulário exibirá 
Left Define a posição a esquerda do monitor que o formulário irá se posicionar 0 
MaxButton Exibe ou oculta o botão fechar do formulário True 
MDIChild Define se o formulário será "Child - filho" ou não de uma formulário MDIForm False 
MinButton Exibe ou oculta o botão minimizar do formulário True 
MouseIcon Exibe o cursor personalizado do formulário (None) 
MousePointer 
Exibe o cursor do formulário: 0 – Default; 1 – Arrow; 2 – 
Cross; 3 – I-Bean; 4 – Icon; 5 – Size; 6 – Size NE SW; 7 – 
Size N S; 8 – Size NW SE; 9 – Size W E; 10 – Up Arrow; 
11 – Hourglass; 12 – No Drop; 13 – Arrow or Hourglass; 
14 – Arrow and Question; 15 – Size All; 99 – Custom 
0 – Default 
Moveable Define se o formulário será móvel ou não True 
Picture Define a imagem que será exibida no fundo do formulário (None) 
StartUpPosition 
Define a posição que o formulário será exibido na tela: 0 
– Manual; 1 – CenterOwner; 2 – CenterScreen; 3 – 
Windows Default 
3 – Windows 
Default 
Top Define a posição no parte superior do monitor que o formulário irá se posicionar 0 
Visible Define se o formulário será visível ou não True 
Width Define a largura do formulário 4770 
WindowState 
Define como o formulário será exibido em run time 
(tempo de execução) 0 – Normal; 1 – Minimized; 2 – 
Maximided 
0 – Normal 
 
 Além do arquivo alfanumérico FRM, que contém as informação de propriedades, linhas de 
comando, eventos do formulário dos controles inseridos nele, o VB poderá gerar um arquivo 
binário com extensão FRX, o qual contém informações binárias de certas propriedades do form ou 
dos controles, por exemplo: ícone e figura do Form, figura do PictureBox, etc. 
 Os controles, assim como o formulário, também possui propriedades, eventos e métodos, 
porém muito variáveis, de acordo com a finalidade do controle e do fabricante. 
 
Microsoft Visual Basic – Estrutura de uma Aplicação 17 
Sistema operacional
API's
DLL's
ActiveX's
Banco de dados Impressora
Arquivo
controles
menus
frmCadastro
frmMain
controles
m enus
modMain
módulo In icial da aplicação
Módulos Classes
User Control
 
Figura 4. Organograma simplificado de uma aplicação. 
 
 
Figura 5. Janela de propriedades do Visual Basic. 
3.3. Módulos (Module) e Módulos Classe (Class Module) 
3.3.1. Módulos (Module) 
 Os módulos padrão (Module), em geral são utilizados para declarar procedimentos públicos 
(procedures) e criar funções publicas, minimizando assim o trabalho de escrita de códigos e 
reduzindo desta forma o tamanho do executável final. Em geral se utiliza os módulos padrão para 
criar procedimentos comuns a vários eventos que o Visual Basic irá utilizar. Por exemplo, se o 
programador deseja que três botões (CommandButton) exiba o mesmo formulário, porém com 
as propriedades deste forma diferente, uma função poderá substitui o exemplo do exibido no 
Código 3, ou seja, o Código 4, seria mais rápido e menos trabalhoso. 
 Sempre que possível recomenda-se ao programador que crie suas próprias funções com o 
objetivo de minimizar o trabalho árduo de declaração

Outros materiais