DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9 Í N D I C E Capítulo 1 - O Início de Tudo 1 Reunindo todas as informações necessárias 2 Instalando o Visual FoxPro 2 Configurando o Visual FoxPro 7 Capítulo 2 Conhecendo o Visual FoxPro 8 A Janela de Comandos 10 O Gerenciador de Projetos 11 A ferramenta Database Designer 15 A ferramenta Form Designer 19 A ferramenta Menu Designer 21 A ferramenta Report Designer 24 A ferramenta Class Browser 27 A ferramenta Class Designer 28 O Editor de Programas 31 A ferramenta Toolbox 34 A ferramenta Task Pane Manager 35 A ferramenta Code References 36 A ferramenta Debugger 38 A ferramenta Document View 40 Capítulo 3 Introdução à Linguagem do Visual FoxPro 41 O que são dados 43 Como os dados são armazenados 43 Tipos de dados no Visual FoxPro 43 Algumas definições importantes 45 Operadores 45 Operadores de Caracteres 45 Operadores de Data e Hora 46 Operadores Lógicos 46 Operadores Relacionais 46 Operadores Numéricos 47 Declaração de variáveis 47 Definição do escopo de variáveis 47 Exemplos de declaração de variáveis 48 Variáveis do Sistema 49 Convenções para nomenclatura de variáveis 50 Convenções para nomenclatura de constantes 51 Convenções para nomenclatura de campos de tabelas 51 Convenções para nomenclatura de objetos e controles 52 Funções e Procedimentos 53 O Comando Procedure 53 Exemplos de uso do comando Procedure 55 O Comando Function 56 Exemplos de uso do comando Function 57 O que são e para que servem os parâmetros 58 Estruturas de controles condicionais e de repetição 60 O Comando DO WHILE... ENDDO 60 Exemplo de uso do comando DO WHILE... ENDDO 62 O Comando IF... ELSE... ENDIF 62 Exemplo de uso do comando IF... ELSE... ENDIF 63 O comando DO CASE... ENDCASE 63
Exemplo de uso do comando DO CASE... ENDCASE 64 O comando SCAN... ENDSCAN 65 Exemplo de uso do comando SCAN... ENDSCAN 66 O comando FOR... ENDFOR 66 Exemplo de uso do comando FOR... ENDFOR 67 O comando FOR EACH... ENDFOR 68 Exemplo de uso do comando FOR EACH ENDFOR 68 Coleções 70 Cláusulas escopo 70 Capítulo 4 Entendendo e utilizando o Gerenciador de Projetos 72 O gerenciador de projetos 73 Botões do gerenciador de projetos 74 O menu Project 74 Trabalhando com o gerenciador de projetos 77 Adicionando arquivos ao projeto 77 Criando e modificando arquivos com o gerenciador de projetos 79 Adicionando uma descrição para um arquivo 80 Removendo arquivos do projeto 81 Executando programas, formulários e consultas 82 Incluindo e Excluindo arquivos do projeto 82 Definindo o arquivo principal do projeto 83 Compilando e gerando executáveis e dll s 83 Capítulo 5 Criando e gerenciando dados com Visual FoxPro 85 O que é um banco de dados 86 O banco de dados do Visual FoxPro 86 Capacidades do banco de dados do Visual FoxPro 86 Tipos de dados que podem ser armazenados 87 Como o banco de dados é constituído 88 Tabelas 88 Local Views (visões locais) 88 Remote View (visões locais) 88 Connections (conexões) 89 Stored Procedures (procedimetnos armazenados) 89 Trigger (gatilho) 89 A ferramenta Database Designer 89 Criando um novo banco de dados 89 A ferramenta Table Designer 91 Criando tabelas 92 Definindo índices na tabela 97 Relacionamentos 100 Definindo relacionamentos permanentes 100 Inserindo dados a partir do ambiente de desenvolvimento 103 Definindo integridade referencial entre tabelas 106 Trabalhando com dados remotos 112 O que são dados remotos 113 O que são views remotas (visões remotas) 113 Criando uma conexão com um banco de dados remoto 113 Criando remote views (visões remotas) 119 Capítulo 6 Introdução á Programação Orientada a Objetos (OOP) 124 O que são objetos e classes 125 O que são propriedades 125 O que são métodos 125 Classes 126 Classes de base (base classes) 126 Herança 126 Instância 127 Encapsulação 127
Criando Classes 130 Reconhecendo métodos, eventos e propriedades 131 Objetos containers 132 Bibliotecas de Classes 135 Criando uma biblioteca visual de classes 135 Criando classes baseadas em subclasses 137 Porque subclassificar as classes básicas do Visual FoxPro 138 Entendendo a Herança na prática 139 Usando SET CLASSLIB TO 142 Instanciando classes de formulário programaticamente 142 Instanciando classes de formulário visualmente 143 Mapeando campos para o tipo de controle apropriado 144 Capítulo 7 Dominando a programação de formulários 149 O que são formulários 150 Tipos de formulários 150 Os principais tipos de controles para formulários 150 Inserindo controles no formulário 151 Formulários e o ambiente de dados 156 Trabalhando com o ambiente de dados 157 Definindo qual a classe de gabarito para novos formulários 158 Construindo um primeiro formulário para entrada/edição de dados 159 Exemplos de uso do controle ListBox 163 Usando controles ComboBox 167 Utilizando o controle Grid 173 Exemplos de uso de PEM s dos controles 174 Programando o evento InteractiveChange 174 Programando o evento KeyPress 177 Usando KeyPress para disparar eventos especiais 178 Criando um formulário de pesquisa que retorne o valor do campo chave 180 Exemplo de uso do controle OptionGroup 183 Capítulo 8 Acesso a dados com CursorAdapter 186 Principais PEM s da classe CursorAdapter 188 Acessando dados nativos com CursorAdapter 190 Atualizando os dados na origem de dados 191 Usando objetos CursorAdapter em formulários 194 Usando CursorAdapter no ambiente de dados 195 Acessando dados remotos com CursorAdapter 200 Acessando dados remotos através de Drivers ODBC 201 Exemplo de acesso a dados em banco de dados MS SQL Server 201 A propriedade DataSource 204 Usando conexões ODBC compartilhadas 205 Acessando dados remotos através de ADO 210 Definindo consultas parametrizadas usando CursorAdapter e ADO 213 Instanciando o objeto ADODB.Connection 214 Instanciando o objeto ADODB.RecordSet 214 Ajustando o método CursorFill para perceber as modificações 215 Capítulo 9 Criando um framework básico 217 Definindo a estrutura de diretórios 218 Subclassificando as classes básicas do Visual FoxPro 218 Criando uma biblioteca de classes de formulários 221 Criando uma classe abstrata de formulários 221 Criando uma classe de formulário Splash 222 Criando uma classe de formulário de informações (about) 223 Criando uma classe de formulário para Login 230 Criando uma classe de formulário para pesquisa em tabela estrangeira 233 Classe para configuração do ambiente de execução do aplicativo 253
Classe de pesquisa rápida 255 Criando uma classe de formulário para navegação/pesquisa de dados 258 Criando uma classe de formulário para inclusão/edição de dados 266 Capítulo 10 Desenvolvendo um projeto passo-a-passo 279 Preparando a estrutura para o projeto 280 Criando o banco de dados 281 Definindo os relacionamentos persistentes 283 Inserindo a Stored Procedure para gerar chaves primárias no banco de dados 286 Construindo os formulários da aplicação 286 Construindo o formulário de navegação/pesquisa de clientes 286 Definindo a conexão com a origem de dados 287 Como editar o CursorAdapter sem perder as configurações da conexão personalizada 290 Associando a tabela ao grid 291 Definindo que dados exibir no grid 292 Preenchimento das propriedades do formulário 293 Construindo de inclusão/edição de clientes 294 Propriedades obrigatórias do formulário de edição 298 Formatando máscaras de edição para os campos 300 Validando dados diretamente em controles do formulário 302 Criticando os dados antes de gravar 302 Construindo o Cadastro de Produtos 304 Criando o formulário de navegação/pesquisa 304 Criando o formulário de inclusão/edição de produtos 309 Construindo o Movimento de Compras 314 Criando o formulário de navegação/pesquisa 314 Criando o formulário de inclusão/edição de compras 318 Construindo o Movimento de Vendas 333 Criando o formulário de navegação/pesquisa 333 Criando o formulário de inclusão/edição de vendas 336 Construindo o Movimento de Contas a Pagar 357 Criando o formulário de navegação/pesquisa 358 Criando o formulário de inclusão/edição de contas a pagar 362 Construindo o Movimento de Contas a Receber 372 Criando o formulário de navegação/pesquisa 372 Criando o formulário de inclusão/edição de contas a receber 377 Construindo o Cadastro de Usuários 390 Construindo um formulário para controle de acesso 398 Construindo menus 402 Construção do menu do aplicativo 404 Criando o arquivo principal (main) do aplicativo 407 Capítulo 11 Transformando dados em Informações 411 Criando consultas 411 Recuperando informações do banco de dados 411 Conhecendo em detalhes o comando SELECT SQL 411 Usando o Construtor de Consultas (Query Designer) 421 Conhecendo o motor de pesquisa do Visual FoxPro 426 Criando diversos tipos de consultas manualmente 426 Funções de agregação e dados 426 Condições de filtragem para a cláusula WHERE 428 O operador LIKE 428 O operador SQL [NOT] EXISTS 429 Conectando tabelas com a cláusula WHERE 429 Conectando tabelas com a cláusula JOIN 430 Definindo um destino para o resultado do comando SELECT 430 Definindo a ordem dos dados resultantes (ORDER BY) 431 União de tabelas (UNION) 431 Capítulos 12 Relatórios 433
A interface do Report Designer na versão 8 434 A interface do Report Designer na versão 9 436 Aprendendo a criar relatórios 441 Executando relatórios 444 Relatórios envolvendo várias tabelas 444 Incluindo banda de sumário 448 Diferença entre relatórios na versão 9 e versões anteriores 450 Como usar os recursos da versão 9 451 Gerando relatórios para saída HTML 453 Gerando relatórios para saída TIFF multi páginas 454 Gerando relatórios em formato PDF 455 Capítulo 13 Debug Identificando e corrigindo erros no aplicativo gerado 456 Funções usadas na captura e tratamento de erros 457 Usando a ferramenta Debugger 459 Rotina para tratamento de erros genéricos 464 Ativando a rotina de tratamento de erros 464 Tratamento estruturado de erros 465 Capítulo 14 Distribuição do aplicativo 467 Usando o InstallShield Express 468 Criando um projeto de instalação usando o InstallShield Express 468 Incluindo arquivos no projeto de instalação 471 Incluindo bibliotecas e módulos dependentes 472 Compilando o projeto de instalação e gerando o instalador 473 Instalando o aplicativo gerado 473 Capítulo 15 Desenvolvendo Web Services (por Pablo Sollar) 474 Introdução aos Web Services 475 Esquema de um Web Service no Visual FoxPro 475 Principais vantagens de um Web Service 476 SOAP Toolkit 476 Projeto do sistema lado cliente 478 Projeto do sistema lado servidor 783 Registrando componentes 494 Publicando o Web Service 500 Capítulo 16 Extendendo o Visual FoxPro 509 Usando componentes de terceiros 510 Usando o componente W3 Jmail para enviar Email 510 Compactando e descompactando arquivos em formato ZIP 516 Biblioteca West Wind Internet e Client Tools 518 Envio e Recebimento de arquivos por FTP 518 Introdução á API do Windows 522 Testando se há um disco na unidade 522 Verificando informações do disco 523 Obtendo informações da placa de rede 523 Reiniciar, hibernar ou desligar o computador 525 Alterar resolução do vídeo 525 Como registrar automaticamente um componente 526 Alterar a data do computador 527 Mudando o visual dos formulários do aplicativo 527 Usando Skins em formulários 527 Capítulo 17 Guia de Referência para os principais controles do Visual FoxPro 530