delphi 7 marcos

Upload: joaozinhojao

Post on 11-Oct-2015

118 views

Category:

Documents


1 download

TRANSCRIPT

  • CURSO COMPLETODELPHI 7BORLAND

    Marcelo LeoPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • Pirataria crime contra os direitos autorais, com penas para os infratores de

    acordo com a Lei 9.610 de 19 de fevereiro de 1998.

    Este e-book no pode ser vendido e/ou distribudo em CD-ROM, DVD-ROM ou por programas decompartilhamento P2P. A forma correta de obter este arquivo adquirindo-o atravs dos sites da EditoraAxcel (www.axcel.com.br) e de Jlio Battisti (www.juliobattisti.com.br).

    Se voc adquiriu este documento atravs dos meios legais descritos acima, no distribua ou venda esteproduto. Voc estar cometendo um crime contra o autor da obra.

    Se voc adquiriu este e-book por intermdio de terceiros, regularize sua situao entrando em contato pelo [email protected], para que no seja alvo das penalizaes previstas em Lei. Usar cpia ilegal tambm crime de violao dos direitos autorais.

    R E P R O D U O P R O I B I D A P E L A L E I D O D I R E I T O A U T O R A L .

  • Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • SUMRIO

    IIICURSO COMPLETO00

    DEDICATRIA minha esposa Beatriz e aos meus filhos Thiago e Lucas, minhas constantes e principais fontes deestmulo e carinho.

    AGRADECIMENTOSA todos que sempre me apoiaram ao longo desta dura jornada e a todos que me acompanham no dia-a-dia e, ainda que de forma indireta, colaboraram para que este trabalho fosse concludo.

    Aos meus pais Pery e May Leo, pelos exemplos de carinho e dedicao; aos meus irmos Pery Jr,Ernesto e Andr pela eterna amizade; aos meus super tios Mara e Nestor Vieira e aos meus super sogrosSrgio e Marly, pelo incondicional apoio; Beth Ruth Castro da Silveira, pelo apoio e pacincia.

    Ao competente pessoal da Axcel Books, pelo trabalho srio e competente.

    Ao Jos Eugnio, Jos Rubens, Mariana Lima, Tertius e a todo pessoal da Borland Latin America, peloapoio e profissionalismo.

    Ao pessoal do Clube Delphi: Gladstone, Luciano, Jlio, Rosngela, Vincius e demais integrantes, peloapoio, amizade e incentivo.

    Ao meu amigo e conselheiro Professor Slvio Macieira, amigo de todas as horas, obrigado pela suaamizade!

    Aos amigos do CDEM 2002, pela pacincia e amizade.

    A fim de evitar o risco de cometer injustias por algum esquecimento, no vou listar a enorme relaode amigos e amigas que sempre me prestigiam com a sua valorosa amizade. Graas a deus, a listacompleta de Amigos do Marcelo Leo ocuparia um livro inteiro. Mas vale acrescentar alguns nomesaos listados na edio anterior: Alexander Mazolii, ureo Pinheiro Ruffier, Edgar Gurgel, Edson Belm,Emerson Moraes, rico Fagundes Lisboa, Guto Garcia, Luiz Felipe Estrella, Regina Clia, Renato Pitta.

    SOBRE O AUTORMarcelo Leo engenheiro formado pelo Instituto Militar de Engenharia (IME) e Mestre em Cinciaspela mesma instituio. Atualmente professor e coordenador do Curso de Graduao em Engenhariado Instituto Militar de Engenharia, professor do Curso de Graduao em Informtica da UniversidadeEstcio de S, tendo coordenado o Campus Penha desta universidade, alm de ministrar cursos deinformtica em diversas empresas de treinamento.

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • BORLAND DELPHI 7 CURSO COMPLETO

    IV 00CURSO COMPLETO

    SUMRIOPARTE I: FUNDAMENTOS ................................................................................................................................ 1

    CAPTULO 1: INTRODUO.............................................................................................................................. 2Fundamentos em: Ferramentas de Desenvolvimento ........................................................................ 4

    As Origens das Ferramentas RAD ........................................................................................................................ 4CAPTULO 2: O AMBIENTE DE DESENVOLVIMENTO INTEGRADO DO DELPHI 7 ........................................................... 9Fundamentos em: Composio do Ambiente de Desenvolvimento ................................................ 10

    Apresentao do Ambiente de Desenvolvimento Integrado do Delphi 7 ....................................................... 10Formulrios Os Elementos de Criao da Interface com o Usurio .............................................................. 14Controles e Componentes ................................................................................................................................ 15

    Propriedades ................................................................................................................................................. 16Mtodos ........................................................................................................................................................ 17Eventos ......................................................................................................................................................... 18

    O Object Inspector ............................................................................................................................................ 18Alterando o Valor de uma Propriedade no Object Inspector....................................................................... 19Definindo Procedimentos Associados a Eventos ......................................................................................... 20

    O Conceito de Projeto de uma Aplicao ......................................................................................................... 22Iniciando um Novo Projeto .............................................................................................................................. 28Salvando o Projeto Recm-criado ..................................................................................................................... 29Fechando um Projeto ........................................................................................................................................ 31Manipulando Grupos de Projetos ..................................................................................................................... 32O Code Explorer ............................................................................................................................................... 35Desabilitando o Recurso de Ancoragem de Janelas .......................................................................................... 36Garantindo a Visibilidade de uma Janela ......................................................................................................... 37

    CAPTULO 3: FUNDAMENTOS DA LINGUAGEM OBJECT PASCAL .............................................................................. 39Fundamentos em: Estrutura de uma Unidade de Cdigo (Unit) ..................................................... 40

    Examinando o Cdigo de uma Unidade de Cdigo (Unit) Gerado Pelo Delphi 7 .......................................... 40Examinando as Sees de uma Unit ................................................................................................................. 41Acessando Tipos e Variveis Definidos em Outras Units ................................................................................. 42

    Fundamentos em: Declarao de Variveis ....................................................................................... 42O Conceito de Variveis .................................................................................................................................... 42Atribuindo um Valor a uma Varivel ................................................................................................................ 43Tipos de Dados Predefinidos na Linguagem Object Pascal .............................................................................. 43

    Tipos de Variveis Inteiras ............................................................................................................................ 43Tipos de Variveis Reais ................................................................................................................................ 44Tipos de Variveis Booleanas ....................................................................................................................... 44Tipos de Variveis Para Manipulao de Caracteres .................................................................................... 44Tipos de Variveis Para Manipulao de Arquivos ...................................................................................... 45

    Tipo Genrico de Variveis ............................................................................................................................... 46Comentrios ...................................................................................................................................................... 46

    Comentrios de uma nica linha ................................................................................................................ 46Comentrios de mltiplas linhas ................................................................................................................. 46

    Definindo Novos Tipos de Dados ..................................................................................................................... 46Tipos de Dados Enumerados ........................................................................................................................ 47Conjuntos ..................................................................................................................................................... 47Variveis Compostas .................................................................................................................................... 49Vetores (Arrays) ............................................................................................................................................ 49

    Operadores Aritmticos .................................................................................................................................... 51Tipos Ordinais ................................................................................................................................................... 52

    Escopo e Tempo de Vida das Variveis ......................................................................................................... 52Variveis Locais ................................................................................................................................................. 52Variveis Globais a uma Unidade de Cdigo ................................................................................................... 53

    Criao de Variveis Globais a uma Aplicao ............................................................................................ 53Adicionando uma Nova Unit ao Projeto Para Armazenamento de Variveis Globais ................................ 53

    Fundamentos em: Blocos de Comandos, Estruturas Condicionais e de Repetio ........................ 54

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • SUMRIO

    VCURSO COMPLETO00

    Alterando o Fluxo de Execuo do Programa ................................................................................................... 54Blocos de Comandos ......................................................................................................................................... 55Estruturas Condicionais .................................................................................................................................... 55

    Estrutura Condicional if-then-else ............................................................................................................... 55Estrutura Condicional Case Of .................................................................................................................... 56

    Testes Condicionais .......................................................................................................................................... 56Os Operadores Relacionais ........................................................................................................................... 56

    Estruturas de Repetio ..................................................................................................................................... 57Laos For ....................................................................................................................................................... 57Laos While .................................................................................................................................................. 58Laos Repeat ................................................................................................................................................. 58

    Condies Compostas ...................................................................................................................................... 59Operadores Lgicos da Linguagem Object Pascal ........................................................................................ 59

    Fundamentos em: Funes e Procedimentos ..................................................................................... 59A Estratgia de Dividir Para Conquistar ........................................................................................................... 60Procedimentos (Procedures) ............................................................................................................................. 60Funes ............................................................................................................................................................. 61Funes e Procedimentos Para Manipulao de Arquivos Representados por Variveis ................................. 62Funes e Procedimentos Para Manipulao Direta de Arquivos .................................................................... 63

    Fundamentos em: Classes e Objetos ................................................................................................... 63Uma Nova (Mas J No To Nova) Abordagem ............................................................................................... 64As Classes e os Objetos ...................................................................................................................................... 64O Conceito de Classes ....................................................................................................................................... 64

    Mtodos de uma Classe ................................................................................................................................ 65Mtodos sem Parmetros ............................................................................................................................. 67O Objeto Formulrio e a Classe TForm ........................................................................................................ 68O Conceito de Herana de Classes ............................................................................................................... 69Tipos de Mtodos e Campos ........................................................................................................................ 70

    Procedimentos Associados a Eventos ............................................................................................................... 71Pare e Reflita Antes de Prosseguir ..................................................................................................................... 72

    CAPTULO 4: PLANEJANDO A SUA APLICAO ................................................................................................... 73Fundamentos em: Planejamento de Aplicaes ................................................................................ 74

    Planejando o seu Trabalho ................................................................................................................................ 74A Importncia de um Bom Planejamento ........................................................................................................ 74Planejando o Nosso Aplicativo-exemplo .......................................................................................................... 75Padronizando a Nomenclatura dos Componentes .......................................................................................... 76Adicionando um Item a uma To-Do Lists ......................................................................................................... 77

    Fundamentos em: To-Do Lists ............................................................................................................. 77Organizando o seu Trabalho com as Ferramentas To-Do List .......................................................................... 77Editando um Item de uma To-Do Lists ............................................................................................................. 78Excluindo um Item de uma To-Do Lists ........................................................................................................... 79Configurando as Informaes Exibidas em uma To-Do Lists ........................................................................... 79Configurando Como as Informaes DevemSer Ordenadas em uma To-Do Lists .................................................................................................................. 80Adicionando um Item a uma To-Do Lists Diretamente no Cdigo-fonte ....................................................... 80Copiando a Relao de Itens de uma To-Do List .............................................................................................. 81Filtrando a Relao de Itens de uma To-Do List .............................................................................................. 82

    CAPTULO 5: CRIANDO O FORMULRIO PRINCIPAL DA APLICAO ....................................................................... 83Fundamentos em: Manipulao de Formulrios .............................................................................. 84

    Os Formulrios Elementos Para a Construo daInterface em Aplicaes Desenvolvidas em Delphi 7 ....................................................................................... 84

    O Objeto Formulrio .................................................................................................................................... 84Propriedades com um Conjunto de Valores Predefinidos ........................................................................... 85Alterando as Propriedades do Objeto Formulrio........................................................................................ 88Definindo um cone Para o Formulrio Principal da Aplicao .................................................................. 89Inserindo Componentes em um Formulrio ............................................................................................... 90Inserindo um Componente Para Exibio de Imagens no Formulrio Principal ........................................ 90Renomeando um Componente ................................................................................................................... 92Reposicionando um Componente ............................................................................................................... 92Redimensionando um Componente ........................................................................................................... 93Alterando a Fonte do Texto Exibido em um Componente ......................................................................... 96

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • BORLAND DELPHI 7 CURSO COMPLETO

    VI 00CURSO COMPLETO

    Selecionando Vrios Componentes Simultaneamente ................................................................................ 96Alinhando Componentes ............................................................................................................................. 97Analisando o Cdigo Gerado Pelo Delphi ................................................................................................... 99

    Testando a sua Aplicao .................................................................................................................................. 99Finalizando a Execuo do Aplicativo ............................................................................................................ 100

    CAPTULO 6: PROJETANDO UM MENU PARA A SUA APLICAO .......................................................................... 101Fundamentos em: Criao de Menus................................................................................................ 102

    Menus Elementos Indispensveis ao Formulrio Principal de uma Aplicao ........................................... 102Incluindo um Menu na sua Aplicao............................................................................................................ 102

    Acessando o Editor de Menus .................................................................................................................... 103Criando Itens de Menu .............................................................................................................................. 105

    Criando um Separador de Itens em um Menu ............................................................................................... 107Criando Teclas Aceleradoras Para Itens de Menu ........................................................................................... 108Criando Outros Itens de Menu ....................................................................................................................... 108Incluindo um Menu Pop-up na sua Aplicao ............................................................................................... 109

    Criando Itens de Menu em um Menu Pop-up ........................................................................................... 110Criando Submenus no Menu Pop-up ........................................................................................................ 112Associando Eventos a Itens de Menu ......................................................................................................... 114Definindo Procedimentos Associando Eventos Para Itens de Menu Pop-up ............................................ 115

    CAPTULO 7: MANIPULANDO FORMULRIOS E CAIXAS DE DILOGO .................................................................... 117Fundamentos em: Criao de Caixas de Dilogo ............................................................................ 118

    Caixas de Dilogo Elementos de InterfaceQue Do Vida ao seu Aplicativo ..................................................................................................................... 118Criando uma Caixa de Dilogo de Direitos Autorais ..................................................................................... 118Personalizando a Caixa de Dilogo de Direitos Autorais ............................................................................... 119Exibindo uma Caixa de Dilogo ..................................................................................................................... 120O Componente Boto de Comando ............................................................................................................... 122

    Principais Propriedades do Componente Boto de Comando .................................................................. 123CAPTULO 8: FUNDAMENTOS DO PROJETO DE APLICATIVOS DE BANCO DE DADOS ................................................. 125Fundamentos em: Mecanismos de Acesso a Bancos de Dados ....................................................... 126

    Mecanismos de Acesso a Bancos de Dados ..................................................................................................... 126Fundamentos em: Conceitos Fundamentais Sobre Bancos de Dados............................................ 127

    Conceitos Fundamentais ................................................................................................................................ 127Custos .............................................................................................................................................................. 128Planejando seu Banco de Dados ..................................................................................................................... 128

    CAPTULO 9: FUNDAMENTOS DE BANCOS DE DADOS ........................................................................................ 129Fundamentos em: Criao de Tabelas do Interbase ....................................................................... 130

    Conceitos Fundamentais ................................................................................................................................ 130Criando um Banco de Dados no Interbase ..................................................................................................... 130Criando Tabelas com o Database Desktop ...................................................................................................... 133

    Definindo Nomes Para os Campos dos Registros de uma Tabela .............................................................. 136Definindo Tipos Para os Campos dos Registros de uma Tabela ................................................................. 138Definindo os Tamanhos Para os Campos dos Registros de uma Tabela .................................................... 139Definindo Campos de Preenchimento Obrigatrio................................................................................... 141Criando ndices .......................................................................................................................................... 141Salvando uma Tabela .................................................................................................................................. 144Inserindo Dados em uma Tabela Atravs do Database Desktop ................................................................ 144

    Construindo as Demais Tabelas do Aplicativo ............................................................................................... 148Criando a Tabela Atividades ....................................................................................................................... 148Criando ndices Para a Tabela de Atividades ............................................................................................. 149Salvando a Tabela Atividades ..................................................................................................................... 149Incluindo Registros na Tabela de Atividades ............................................................................................. 149

    Criando a Tabela de Matrculas ...................................................................................................................... 150Criando ndices Para a Tabela de Matrculas ............................................................................................. 150

    CAPTULO10: CRIAO DE UM FORMULRIO PARA MANIPULAODE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS ................................................................................... 151Criao de Formulrios Para Acesso a Dados.................................................................................. 152

    Utilizando os Componentes DatasetProvider e ClientDataset ....................................................................... 159O Componente DBEdit ................................................................................................................................... 164

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • SUMRIO

    VIICURSO COMPLETO00

    Definindo Mscaras Para os Campos .............................................................................................................. 164Significado dos Caracteres Usados na Propriedade EditMask .................................................................... 165

    O Componente MaskEdit ............................................................................................................................... 167Fazendo a Tecla Enter Funcionar Como Tab .................................................................................................. 167O Componente DBCombobox ....................................................................................................................... 168

    Propriedades do Controle DBComboBox .................................................................................................. 168Propriedades do Objeto Items (da Classe TStrings) ................................................................................... 169Mtodos do Objeto Items (da classe TStrings) ........................................................................................... 169

    Destacando o Componente Que Recebe o Foco............................................................................................. 171CAPTULO 11: CRIAO DE UM REPOSITRIO PARA COMPONENTES DE ACESSO A DADOS ....................................... 173Criao de Data Modules ................................................................................................................... 174

    Os Objetos do Tipo DataModule .................................................................................................................... 174Os Objetos de Acesso ao Banco de Dados ...................................................................................................... 178

    O Componente ClientDataset ................................................................................................................... 178O Componente DataSource ....................................................................................................................... 180O Componente SimpleDataset .................................................................................................................. 180

    Inserindo os Demais Componentes de Acesso ............................................................................................... 181Para a tabela de Atividades: ........................................................................................................................ 182Para a tabela de Matrculas: ........................................................................................................................ 182

    Definindo ndices nos Componentes de Acesso ............................................................................................ 183Criando um ndice Simples ........................................................................................................................ 183Criando um ndice Composto ................................................................................................................... 184Criando Chaves Primrias .......................................................................................................................... 184

    CAPTULO 12: CRIAO DE FORMULRIOS PARA CADASTRO DE FORNECEDORES, PRODUTOS E PEDIDOS .................... 187Criao de Formulrios de Cadastro ................................................................................................ 188

    Criando o Formulrio de Cadastro de Atividades .......................................................................................... 188Criando um Formulrio Para Cadastrar Novas Matrculas ............................................................................. 192

    Definindo o Formulrio ............................................................................................................................. 192Criando o Formulrio................................................................................................................................. 193Inserindo os Componentes no Formulrio ................................................................................................ 193Trabalhando com Campos Calculados ...................................................................................................... 196

    CAPTULO 13: CRIANDO FORMULRIOS PARA ALTERAO DE SCIOS E ATIVIDADES ............................................. 199Criao de Formulrios Para Alterao de Dados .......................................................................... 200

    O Conceito de Templates de Componentes ................................................................................................... 200Criando os Templates de Componentes ......................................................................................................... 201Criando o Formulrio de Alterao de Scios ................................................................................................ 202Criando o Formulrio de Alterao de Atividades.......................................................................................... 204O Componente DBNavigator ......................................................................................................................... 205

    CAPTULO 14: CRIANDO FORMULRIOS PARA EXCLUSO DE SCIOS, ATIVIDADES E MATRCULAS ............................ 209Criao de Formulrios Para Excluso de Dados ........................................................................... 210

    Criando um Template de Formulrio ............................................................................................................. 210Criando Formulrios a Partir de um Template ............................................................................................... 213Criando o Formulrio de Excluso de Scios ................................................................................................. 213

    Criando o Formulrio de Excluso de Atividades ...................................................................................... 215A Linguagem SQL ........................................................................................................................................... 216Criando o Formulrio de Excluso de Matrculas .......................................................................................... 217

    CAPTULO 15: CRIANDO FORMULRIOS PARA CONSULTA DE SCIOS, ATIVIDADES E MATRCULAS ............................ 223Criao de Formulrios Para Consulta de Dados ........................................................................... 224

    Criando um Formulrio Para a Consulta de Dados dos Scios ...................................................................... 224Criando um formulrio Para a Consulta de Dados das Atividades ................................................................ 225Criando um Formulrio Para a Consulta de Dados das Matrculas ............................................................... 226

    CAPTULO 16: CRIANDO ROTINAS DE BACKUP E RESTAURAO ......................................................................... 227Cpia de Arquivos .............................................................................................................................. 228

    Conceitos Fundamentais ................................................................................................................................ 228Criando um Formulrio de Backup ................................................................................................................ 228

    PARTE II: KNOW-HOW ............................................................................................................................. 233

    CAPTULO 17: CRIAO DE RELATRIOS COM O RAVE REPORTS ........................................................................ 235Know-How em: Criao de Relatrios com o Rave Reports .......................................................... 236

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • BORLAND DELPHI 7 CURSO COMPLETO

    VIII 00CURSO COMPLETO

    Introduo ...................................................................................................................................................... 236O Componente RvProject .......................................................................................................................... 236Criando um Relatrio de Scios ................................................................................................................. 236Criando um Relatrio de Atividades .......................................................................................................... 242Criando um Relatrio de Matrculas .......................................................................................................... 244

    CAPTULO 18: INCORPORANDO O RECURSO DE HELP ON-LINE NOSSA APLICAO.............................................. 247Know-How em: Criao de Arquivos de Help ................................................................................. 248

    Criando um Arquivo de Help ......................................................................................................................... 248Definindo uma Pgina de ndice .................................................................................................................... 248

    Criando um Arquivo RTF ........................................................................................................................... 249Criando uma Pgina Para Cada Tpico ..................................................................................................... 250Criando Strings de Contexto ..................................................................................................................... 250Criando uma Palavra-chave Para um Tpico ............................................................................................. 252Criando um Ttulo Para um Tpico ........................................................................................................... 252Associando um Nmero de Pgina a um Tpico ....................................................................................... 253Estabelecendo a Conexo Entre Tpicos ................................................................................................... 254Criando um Arquivo de Projeto de Help ................................................................................................... 256Criando e Compilando o Arquivo de Projeto de Help com o Microsoft Help Workshop ........................ 257Associando o Arquivo de Help sua Aplicao ......................................................................................... 260Associando um Componente a um Tpico do Arquivo de Help............................................................... 261Exibindo o Arquivo de Help em Resposta a um Item de Menu ................................................................ 262

    CAPTULO 19: PROGRAMAO ORIENTADA A OBJETOS EM DELPHI 7 ................................................................. 263KNOW-HOW em: Programao Procedural em Linguagem Object Pascal .................................. 264

    Apresentao do Problema ............................................................................................................................. 265Utilizando o Ambiente do Delphi 7 Para o Pascal Procedural ....................................................................... 266

    KNOW-HOW em: Fundamentos da Programao Orientada a Objetos ........................................ 269A Filosofia da Programao Orientada a Objetos ........................................................................................... 269Anlise do Cdigo-fonte ................................................................................................................................. 271A Implementao de uma Classe .................................................................................................................... 272Anlise do Cdigo-fonte ................................................................................................................................. 274

    KNOW-HOW em: Herana de Classes ............................................................................................... 274O Conceito de Herana de Classes ................................................................................................................. 275Mtodos Construtores .................................................................................................................................... 277Mtodos Destrutores ....................................................................................................................................... 278Visibilidade dos Campos e Mtodos de uma Classe ....................................................................................... 279

    Campos e Mtodos Pblicos (public) ......................................................................................................... 279Campos e Mtodos Privados (private) ....................................................................................................... 280Campos e Mtodos Protegidos (protected) ................................................................................................ 280

    Sobreposio de Mtodos ............................................................................................................................... 281Mtodos Estticos, Virtuais e Dinmicos ........................................................................................................ 282Mas e os Mtodos Dinmicos? O Que Significam? ........................................................................................ 284Mtodos Abstratos .......................................................................................................................................... 284Mtodos de Classe ........................................................................................................................................... 285Propriedades .................................................................................................................................................... 285Referncia: a Classe TObject ........................................................................................................................... 287

    Principais Mtodos da Classe TObject ....................................................................................................... 288KNOW-HOW em: Converso de Tipos ............................................................................................... 294

    O Conceito de Converso de Tipos ................................................................................................................ 294O Operador Is .................................................................................................................................................. 294O Operador As................................................................................................................................................. 295Converso Explcita Entre Tipos ..................................................................................................................... 295O Identificador Self ......................................................................................................................................... 296

    KNOW-HOW em: Tratamento de Excees ...................................................................................... 296Tcnica ............................................................................................................................................................ 296O Conceito de Excees .................................................................................................................................. 296Referncia: a Classe Exception ........................................................................................................................ 298

    Definio da Classe Exception ................................................................................................................... 298Campos Internos da Classe Exception ....................................................................................................... 298Mtodos Pblicos da Classe Exception ...................................................................................................... 299Propriedades da Classe Exception .............................................................................................................. 302Classes Derivadas por Herana da Classe Exception ................................................................................. 302

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • SUMRIO

    IXCURSO COMPLETO00

    O Mecanismo Utilizado na Gerao de Excees ...................................................................................... 302KNOW-HOW em: Manipulao de Listas de Objetos ....................................................................... 304

    Apresentao do Problema ............................................................................................................................. 304Referncia: a Classe TList ................................................................................................................................ 305

    Definio da Classe TList ........................................................................................................................... 305Propriedades da Classe TList ...................................................................................................................... 305Principais Mtodos da Classe TList ............................................................................................................ 306Exemplo de Utilizao................................................................................................................................ 309Definio da Interface ................................................................................................................................ 309Codificao do Exemplo ............................................................................................................................ 311

    KNOW-HOW em: Sobrecarga de Mtodos ........................................................................................ 322O Conceito de Sobrecarga de Mtodos ........................................................................................................... 323

    KNOW-HOW em: Definio de Parmetros Default Para uma Funo ou Procedimento ......... 324O Conceito de Parmetro Default Para uma Funo ou Procedimento ......................................................... 324

    CAPTULO 20: O CONCEITO DE COMPONENTES ............................................................................................... 327KNOW-HOW em: Definio de Componentes .................................................................................. 328

    O Conceito de Componentes ......................................................................................................................... 329Exibindo uma Propriedade no Object Inspector ............................................................................................ 331O Sistema de Mensagens do Windows ........................................................................................................... 331A Classe TCanvas ............................................................................................................................................ 335

    Principais Propriedades da Classe TCanvas ............................................................................................... 336Principais Mtodos da Classe TCanvas ...................................................................................................... 337Principais Propriedades da Classe TPen ..................................................................................................... 341Principais Propriedades da Classe TBrush .................................................................................................. 343

    O Componente Shape..................................................................................................................................... 343CAPTULO 21: CRIAO DE COMPONENTES .................................................................................................... 347KNOW-HOW em: Criao de Componentes ..................................................................................... 348

    Apresentao do Problema ............................................................................................................................. 348Criando o Esqueleto do Novo Componente .................................................................................................. 350Definio de Novas Propriedades ................................................................................................................... 352Criando uma Nova Propriedade ..................................................................................................................... 353Instalando o Novo Componente .................................................................................................................... 354Sobrecarregando o Mtodo Construtor da Classe Ancestral do Componente ............................................... 356Redefinindo Mtodos da Classe-base .............................................................................................................. 358Definindo um Novo Evento Para o Componente .......................................................................................... 360O Tipo TNotifyEvent ....................................................................................................................................... 361Definindo um Mtodo de Leitura Para uma Propriedade .............................................................................. 362

    KNOW-HOW em: Criao de Componentes Associados a Bancos de Dados.................................. 364Apresentao do Problema ............................................................................................................................. 365Criando o Esqueleto do Novo Componente .................................................................................................. 365Definindo as Novas Propriedades Para o Componente.................................................................................. 366Refletindo Alteraes Feitas no Campo .......................................................................................................... 369Refletindo Alteraes Feitas no Componente ................................................................................................ 371Notificando o Componente da Remoo de um DataSource ........................................................................ 374Criando uma Propriedade que Permita Tratar a Tecla Enter Como Tab ........................................................ 376

    KNOW-HOW em: Criao de Controles ActiveX .............................................................................. 379Apresentao do Problema ............................................................................................................................. 379Convertendo o Componente NumEdit em um Controle ActiveX ................................................................ 379

    CAPTULO 22: MECANISMOS DE ACESSO A BANCO DE DADOS ............................................................................ 393KNOW-HOW em: Fundamentos dos Mecanismos de Acesso a Bancos de Dados .......................... 394

    Os Mecanismos de Acesso a Bancos de Dados ............................................................................................... 394KNOW-HOW em: Classes Fundamentais de Acesso a Bancos de Dados A Classe TDataset ....... 395

    A Classe TDataSet ............................................................................................................................................ 395Principais Propriedades da Classe TDataSet ............................................................................................... 397Principais Mtodos da Classe TDataSet ...................................................................................................... 401Principais Eventos da Classe TDataSet ....................................................................................................... 406

    A Classe TCustomConnection ........................................................................................................................ 411Principais Propriedades da Classe TCustomConnection ........................................................................... 411Principais Mtodos da Classe TCustomConnection .................................................................................. 411Principais Eventos da Classe TCustomConnection ................................................................................... 413

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • BORLAND DELPHI 7 CURSO COMPLETO

    X 00CURSO COMPLETO

    CAPTULO 23: BANCO DE DADOS COMPONENTES DE ACESSO VIA BDE ............................................................ 415KNOW-HOW em: CLasses Fundamentais de Acesso a Bancosde Dados via BDE As Classes TBDEDataset e TDBDataset ........................................................... 416

    A Classe TBDEDataSet ..................................................................................................................................... 416Principais Propriedades da Classe TBDEDataSet ........................................................................................ 417Principais Mtodos da Classe TBDEDataSet ............................................................................................... 417

    A Classe TDBDataSet ....................................................................................................................................... 418Principais Propriedades da Classe TDBDataSet .......................................................................................... 418

    A Classe TDatabase ......................................................................................................................................... 419Principais Propriedades da Classe TDatabase ................................................................................................. 419

    Principais Mtodos do Componente Database .......................................................................................... 421A Classe TSession ............................................................................................................................................ 422

    Principais Propriedades da Classe TSession ............................................................................................... 422Principais Mtodos da Classe TSession ...................................................................................................... 424Eventos do Componente Session ............................................................................................................... 427

    KNOW-HOW em: CLasses de Acesso Direto a Bancos de Dados via BDE As Classes TTable e TQuery ............................................................................................................... 427

    A Classe TTable ............................................................................................................................................... 428Principais Propriedades da Classe TTable ................................................................................................... 428Principais Mtodos da Classe TTable ......................................................................................................... 430

    A Classe TQuery .............................................................................................................................................. 434Principais Propriedades da Classe TQuery ................................................................................................. 435Principais Mtodos da Classe TQuery ........................................................................................................ 436

    A Classe TUpdateSQL ...................................................................................................................................... 437Principais Propriedades da Classe TUpdateSQL ......................................................................................... 437Principais Mtodos da Classe TUpdateSQL................................................................................................ 438

    Exemplos de Aplicao ................................................................................................................................... 438Indexao de Tabelas Acessadas Pelo Componente Table ......................................................................... 438

    Exemplo de Aplicao ..................................................................................................................................... 439Filtrando os Registros de uma Tabela Acessada Pelo Componente Table .................................................. 442Estabelecendo um Relacionamento Entre Tabelas Representadas Pelo Componente Table ..................... 454Pesquisando Registros em Tabelas Representadas Pelo Componente Table .............................................. 458Criao de Tabelas em Run-time ................................................................................................................ 463Componentes e Mtodos de Navegao .................................................................................................... 473Traduo da Mensagem Delete Record do Componente Table ................................................................. 480Exemplo de Utilizao do Componente TSession ..................................................................................... 481Consulta a Bancos de Dados via Declaraes SQL Definidas em Run-Time ............................................. 487Utilizao de Parmetros em Declaraes SQL .......................................................................................... 491Utilizao do Recurso de Cached Updates ................................................................................................. 495Exemplo de Utilizao do Componente TUpdateSQL .............................................................................. 500

    KNOW-HOW em: Aplicao de Senhas a Tabelas do Tipo Paradox............................................... 506Definindo Senhas Para uma Tabela do Tipo Paradox ..................................................................................... 507Definindo Senhas Auxiliares Para uma Tabela do Tipo Paradox .................................................................... 508Inibindo a Exibio da Caixa de Dilogo EnterPassword Durante a Execuo do seu Aplicativo............................................................................................ 509Protegendo Sua Aplicao Mediante Definio de uma Senha ...................................................................... 509

    CAPTULO 24: BANCO DE DADOS COMPONENTES DE ACESSO VIA ADO ............................................................ 511KNOW-HOW em: CLasses Fundamentais de Acesso a Bancos de Dadosvia ADO A Classe TCustomADODataset e os Componentes TADOConnection,TRDSConnection e TADODataset e TADOCommand ...................................................................... 512

    O Componente TADOConnection ................................................................................................................. 512Principais Propriedades da Classe TADOConnection ................................................................................ 512Principais Mtodos da Classe TADOConnection ....................................................................................... 514Principais Eventos da Classe TADOConnection ........................................................................................ 516

    O Componente TRDSConnection .................................................................................................................. 517Principais Propriedades da Classe TRDSConnection ................................................................................. 517Principais Mtodos da Classe TRDSConnection ........................................................................................ 517Principais Eventos da Classe TRDSConnection ......................................................................................... 517

    A Classe TCustomADODataset ....................................................................................................................... 518Principais Propriedades da Classe TCustomADODataSet .......................................................................... 518Principais Mtodos da Classe TCustomADODataset ................................................................................. 521

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • SUMRIO

    XICURSO COMPLETO00

    Principais Eventos da Classe TCustomADODataset .................................................................................. 524A Classe TADOCommand ............................................................................................................................... 525

    Principais Propriedades da Classe TADOCommand .................................................................................. 525Principais Mtodos da Classe TADOCommand ......................................................................................... 526Principais Eventos da Classe TADOCommand .......................................................................................... 527

    A Classe TADODataset .................................................................................................................................... 527Principais Propriedades da Classe TADODataSet ....................................................................................... 527Principais Mtodos da Classe TADODataset .............................................................................................. 528Principais Eventos da Classe TADODataset ............................................................................................... 528

    KNOW-HOW em: Classes de Acesso Direto a Bancos de dados via BDE As Classes TADOTable e TADOQuery ................................................................................................ 528

    A Classe TADOTable ........................................................................................................................................ 529Principais Propriedades da Classe TADOTable ........................................................................................... 529Principais Mtodos da Classe TADOTable .................................................................................................. 530Principais Eventos da Classe TADOTable ................................................................................................... 530

    A Classe TADOQuery ...................................................................................................................................... 530Principais Propriedades da Classe TADOQuery ......................................................................................... 530Principais Mtodos da Classe TADOQuery ................................................................................................ 530Principais Eventos da Classe TADOQuery ................................................................................................. 531

    Exemplos de Aplicao ................................................................................................................................... 531Estabelecendo uma Conexo a Bancos de Dados do MS Acess com o Componente ADOConnection ... 531Acessando tabelas do Access com o Componente ADOComando ............................................................ 534Acessando Tabelas do Access com o Componente ADODataset ............................................................... 534Acessando tabelas do Access com o Componente ADOTable ................................................................... 535Acessando tabelas do Access com o Componente ADOQuery .................................................................. 536

    Diferenas na Utilizao dos ComponentesTable x ADOTable, e Query x ADOQuery ....................................................................................................... 536

    Definio do ndice Corrente..................................................................................................................... 536Pesquisando Registros em TabelasRepresentadas Pelo Componente ADOTable ............................................................................................. 537Criao de Tabelas em Run-time ................................................................................................................ 537Componentes e Mtodos de Navegao .................................................................................................... 537Utilizao de Parmetros em Declaraes SQL .......................................................................................... 537

    CAPTULO 25: BANCO DE DADOS COMPONENTES DE ACESSO VIA DBEXPRESS ................................................... 539KNOW-HOW em: Componentes de Acesso a Bancos de Dados via DBExpress.............................. 540

    O Componente TSQLConnection .................................................................................................................. 540Principais Propriedades da Classe TSQLConnection ................................................................................. 540Principais Mtodos da Classe TSQLConnection ........................................................................................ 542Principais Eventos da Classe TSQLConnection ......................................................................................... 543

    A Classe TCustomSQLDataset ......................................................................................................................... 543Principais Propriedades da Classe TCustomSQLDataSet ........................................................................... 544Principais Eventos da Classe TCustomSQLDataset .................................................................................... 544

    A Classe TSQLDataSet ..................................................................................................................................... 544Principais Propriedades da Classe TSQLDataSet ........................................................................................ 545

    KNOW-HOW em: Classes de Acesso Direto a Bancos deDados via DBExpress As Classes TSQLTable,TSQLQuery e TSQLStoredProc .......................................................................................................... 545

    A Classe TSQLTable ......................................................................................................................................... 546Principais Propriedades da Classe TSQLTable ............................................................................................ 546Principais Mtodos da Classe TSQLTable ................................................................................................... 547Principais Eventos da Classe TSQLTable .................................................................................................... 547

    A Classe TSQLQuery ....................................................................................................................................... 547Principais Propriedades da Classe TSQLQuery ........................................................................................... 547Principais Mtodos da Classe TSQLQuery ................................................................................................. 547Principais Eventos da Classe TSQLQuery ................................................................................................... 548

    A Classe TSimpleDataset ................................................................................................................................. 548Principais Propriedades da Classe TSimpleDataset .................................................................................... 548Principais Mtodos da Classe TSimpleDataset ........................................................................................... 549Principais Eventos da Classe TSimpleDataset ............................................................................................ 549

    CAPTULO 26: BANCO DE DADOS COMPONENTES DE ACESSO VIA INTERBASE EXPRESS ......................................... 551KNOW-HOW em: Componentes de Acesso a Bancos de Dados via Interbase Express ................. 552

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • BORLAND DELPHI 7 CURSO COMPLETO

    XII 00CURSO COMPLETO

    O Componente TIBDatabase .......................................................................................................................... 552Principais Propriedades da Classe TIBDatabase ......................................................................................... 552Principais Mtodos da Classe TIBDatabase ................................................................................................ 554Principais Eventos da Classe TIBDatabase ................................................................................................. 555

    O Componente TIBTransaction ...................................................................................................................... 555Principais Propriedades da Classe TIBTransaction ..................................................................................... 555Principais Mtodos da Classe TIBTransaction ............................................................................................ 556Principais Eventos da Classe TIBTransaction ............................................................................................. 558

    A Classe TIBCustomDataset ............................................................................................................................ 558Principais Propriedades da Classe TIBCustomDataset ............................................................................... 559Principais Mtodos da Classe TIBCustomDataset ...................................................................................... 560Principais Eventos da Classe TIBCustomDataset ....................................................................................... 561

    A Classe TIBDataSet ........................................................................................................................................ 561Principais Propriedades da Classe TIBDataSet ........................................................................................... 561Principais Mtodos da Classe TIBDataset ................................................................................................... 562Principais Eventos da Classe TIBDataset .................................................................................................... 562

    KNOW-HOW em: Classes de Acesso Direto aBancos de dados via Interbase Express AsClasses TIBTable, TIBQuery e TIBUpdateSQL ................................................................................ 563

    A Classe TIBTable ............................................................................................................................................ 563Principais Propriedades da Classe TIBTable ............................................................................................... 563Principais Mtodos da Classe TIBTable ...................................................................................................... 565Principais Eventos da Classe TIBTable ....................................................................................................... 567

    A Classe TIBQuery ........................................................................................................................................... 567Principais Propriedades da Classe TIBQuery .............................................................................................. 567Principais Mtodos da Classe TIBQuery..................................................................................................... 568Principais Eventos da Classe TIBQuery ...................................................................................................... 568

    A Classe TIBUpdateSQL .................................................................................................................................. 568Principais Propriedades da Classe TIBUpdateSQL ..................................................................................... 569Principais Mtodos da Classe TIBUpdateSQL ............................................................................................ 569

    CAPTULO 27: BANCOS DE DADOS CLIENTE/SERVIDOR .................................................................................... 571KNOW-HOW em: Fundamentos dos Bancos de Dados Cliente/Servidor ...................................... 572

    Apresentao do Problema ............................................................................................................................. 572O Administrador do Servidor de Banco de Dados .......................................................................................... 572Cadastrando um Novo Usurio ...................................................................................................................... 574Alterando os Dados de um Usurio J Cadastrado ......................................................................................... 575Removendo um Usurio Cadastrado .............................................................................................................. 575O Utilitrio Interactive SQL ............................................................................................................................ 576Criando um Banco de Dados no Interbase a Partir do Utilitrio Interactive SQL ......................................... 576

    Conectando-se a um Banco de Dados do Interbase................................................................................... 578Tipos de Dados Definidos Pelo Interbase ....................................................................................................... 578Criando uma Tabela no Interbase ................................................................................................................... 579Aplicando Restries aos Campos de uma Tabela .......................................................................................... 580Removendo uma Tabela do Banco de Dados.................................................................................................. 580Criando ndices em uma Tabela ..................................................................................................................... 580Concedendo Privilgios a um Outro Usurio ou Banco de Dados ................................................................. 581Removendo Privilgios ................................................................................................................................... 582Vises (Views) ................................................................................................................................................. 582O Conceito de Transaes ............................................................................................................................... 583Incluindo Registros com o Comando INSERT ................................................................................................ 583Atualizando Registros em uma Tabela ............................................................................................................ 584Removendo Registros de uma Tabela ............................................................................................................. 584Ordenando os Registros de uma Tabela .......................................................................................................... 585TRIGGERS ....................................................................................................................................................... 585STORED PROCEDURES (Procedimentos Armazenados) ................................................................................ 586Linguagem de Codificao do Interbase ........................................................................................................ 587

    Declarao de Variveis no Interbase ......................................................................................................... 587Atribuio de Valores a Variveis no Interbase .......................................................................................... 588Definio de Comentrios no Interbase .................................................................................................... 588Estruturas Condicionais do Interbase ........................................................................................................ 588Estruturas de Repetio do Interbase ......................................................................................................... 588

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • SUMRIO

    XIIICURSO COMPLETO00

    Criao de Novos Tipos no Interbase ........................................................................................................ 589Metadados de um Banco de Dados ................................................................................................................. 589Concatenando Dados Provenientes de Vrias Tabelas ................................................................................... 590Criando um Backup de um Banco de Dados do Interbase ............................................................................. 591Recuperando um Banco de Dados a Partir de um Backup ............................................................................. 591Criando um Alias Para um Banco de Dados do Interbase .............................................................................. 592

    CAPTULO 28: ACESSANDO BANCOS DE DADOS CLIENTE/SERVIDOR ................................................................... 593KNOW-HOW em: Acesso a Bancos de Dados Cliente/Servidor ...................................................... 594

    Apresentao do Problema ............................................................................................................................. 594Acessando Banco de Dados Cliente-Servidor do Interbase em uma Aplicao Delphi via BDE .................... 594

    Principais Propriedades do Componente StoredProc ................................................................................ 595Principais Mtodos do Componente StoredProc ....................................................................................... 596Principais Eventos do Componente IBoredProc ........................................................................................ 597Exemplo de Aplicao ................................................................................................................................ 597

    Acessando Banco de Dados do Interbase em uma Aplicao Delphi via Interbase Express .......................... 600Principais Propriedades do Componente IBSToredProc ............................................................................ 601Principais Mtodos do Componente IBStoredProc.................................................................................... 601Principais Eventos do Componente IBStoredProc ..................................................................................... 602Exemplo de Aplicao ................................................................................................................................ 603

    Acessando Banco de Dados do Interbase em uma Aplicao Delphi via DBExpress ..................................... 605Principais Propriedades do Componente SQLSToredProc ......................................................................... 605Principais Mtodos do Componente SQLStoredProc ................................................................................ 606Principais Eventos do Componente SQLStoredProc .................................................................................. 606Exemplo de Aplicao ................................................................................................................................ 606

    CAPTULO 29: PROGRAMAO GRFICA ........................................................................................................ 609KNOW-HOW em: Definio de Desenhos em Run-Time ................................................................. 610

    A Classe TCanvas ............................................................................................................................................ 610O Componente Shape..................................................................................................................................... 611Desenhando em um Formulrio ..................................................................................................................... 611

    KNOW-HOW em: Definio de Desenhos de Forma Interativa ..................................................... 620Desenhando de Forma Interativa ................................................................................................................... 621A Classe TBitmap ............................................................................................................................................ 626Modos de Mapeamento .................................................................................................................................. 630Funes Para Transformao de Coordenadas ............................................................................................... 632

    Funo SetWindowExtEx ........................................................................................................................... 632Funo SetViewportExtEx .......................................................................................................................... 633

    CAPTULO 30: TCNICAS DE IMPRESSO ........................................................................................................ 635KNOW-HOW em: Impresso Direta no Windows ............................................................................ 636

    Principais Propriedades da Classe TPrinter ..................................................................................................... 637Aborted ....................................................................................................................................................... 637Canvas ........................................................................................................................................................ 637Copies ......................................................................................................................................................... 637Fonts ........................................................................................................................................................... 637Orientation ................................................................................................................................................. 637PageHeight ................................................................................................................................................. 637PageNumber ............................................................................................................................................... 637PageWidth .................................................................................................................................................. 637PrinterIndex ............................................................................................................................................... 638Printers ....................................................................................................................................................... 638Printing ....................................................................................................................................................... 638Title ............................................................................................................................................................. 638

    Principais Mtodos da Classe TPrinter ........................................................................................................... 638BeginDoc .................................................................................................................................................... 638EndDoc ....................................................................................................................................................... 638NewPage ..................................................................................................................................................... 639

    Exemplo de Utilizao da Classe TPrinter ...................................................................................................... 639Criando a Interface da Aplicao ............................................................................................................... 639Codificando a Aplicao ............................................................................................................................ 641

    Imprimindo o Contedo Exibido por um Componente Memo .................................................................... 643Criando a Interface da Aplicao ............................................................................................................... 643Codificando a Aplicao ............................................................................................................................ 643

    Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.

  • BORLAND DELPHI 7 CURSO COMPLETO

    XIV 00CURSO COMPLETO

    CAPTULO 31: CRIAO DE DLLS ............................................................................................................... 649KNOW-HOW em: Criao de DLLs .................................................................................................... 650

    Introduo ...................................................................................................................................................... 650Procedimentos Bsicos Necessrios Criao de uma DLL em Delphi ......................................................... 650Chamando uma DLL a Partir de Outra Aplicao .......................................................................................... 652

    O Formulrio Principal da Aplicao ......................................................................................................... 653Arquivo de Cdigo Associado ao Formulrio ............................................................................................ 653

    Exibindo Formulrios a Partir de uma DLL .................................................................................................... 65