1417
CURSO COMPLETO DELPHI 7 BORLAND ® Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

cuso delphi 7

Embed Size (px)

Citation preview

BORLAND

DELPHI 7CURSO COMPLETO

Para 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 de compartilhamento P2P. A forma correta de obter este arquivo adquirindo-o atravs dos sites da Editora Axcel (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 este produto. 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 e-mail [email protected], para que no seja alvo das penalizaes previstas em Lei. Usar cpia ilegal tambm crime de violao dos direitos autorais.

REPRODUO PROIBIDA PELA LEI

DO DIREITO AUTORAL.

SUMRIO

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

AGRADECIMENTOSA todos que sempre me apoiaram ao longo desta dura jornada e a todos que me acompanham no diaa-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 sogros Srgio 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, pelo apoio e profissionalismo. Ao pessoal do Clube Delphi: Gladstone, Luciano, Jlio, Rosngela, Vincius e demais integrantes, pelo apoio, amizade e incentivo. Ao meu amigo e conselheiro Professor Slvio Macieira, amigo de todas as horas, obrigado pela sua amizade! 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 relao de amigos e amigas que sempre me prestigiam com a sua valorosa amizade. Graas a deus, a lista completa de Amigos do Marcelo Leo ocuparia um livro inteiro. Mas vale acrescentar alguns nomes aos 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 Cincias pela mesma instituio. Atualmente professor e coordenador do Curso de Graduao em Engenharia do Instituto Militar de Engenharia, professor do Curso de Graduao em Informtica da Universidade Estcio de S, tendo coordenado o Campus Penha desta universidade, alm de ministrar cursos de informtica em diversas empresas de treinamento.

CURSO COMPLETO00

III

BORLAND DELPHI 7 CURSO COMPLETO

SUMRIOPARTE I: FUNDAMENTOS ................................................................................................................................ 1 CAPTULO 1: INTRODUO .............................................................................................................................. 2 Fundamentos em: Ferramentas de Desenvolvimento ........................................................................ 4 As Origens das Ferramentas RAD ........................................................................................................................ 4 CAPTULO 2: O AMBIENTE DE DESENVOLVIMENTO INTEGRADO DO DELPHI 7 ........................................................... 9 Fundamentos em: Composio do Ambiente de Desenvolvimento ................................................ 10 Apresentao do Ambiente de Desenvolvimento Integrado do Delphi 7 ....................................................... 10 Formulrios Os Elementos de Criao da Interface com o Usurio .............................................................. 14 Controles e Componentes ................................................................................................................................ 15 Propriedades ................................................................................................................................................. 16 Mtodos ........................................................................................................................................................ 17 Eventos ......................................................................................................................................................... 18 O Object Inspector ............................................................................................................................................ 18 Alterando o Valor de uma Propriedade no Object Inspector ....................................................................... 19 Definindo Procedimentos Associados a Eventos ......................................................................................... 20 O Conceito de Projeto de uma Aplicao ......................................................................................................... 22 Iniciando um Novo Projeto .............................................................................................................................. 28 Salvando o Projeto Recm-criado ..................................................................................................................... 29 Fechando um Projeto ........................................................................................................................................ 31 Manipulando Grupos de Projetos ..................................................................................................................... 32 O Code Explorer ............................................................................................................................................... 35 Desabilitando o Recurso de Ancoragem de Janelas .......................................................................................... 36 Garantindo a Visibilidade de uma Janela ......................................................................................................... 37 CAPTULO 3: FUNDAMENTOS DA LINGUAGEM OBJECT PASCAL .............................................................................. 39 Fundamentos em: Estrutura de uma Unidade de Cdigo (Unit) ..................................................... 40 Examinando o Cdigo de uma Unidade de Cdigo (Unit) Gerado Pelo Delphi 7 .......................................... 40 Examinando as Sees de uma Unit ................................................................................................................. 41 Acessando Tipos e Variveis Definidos em Outras Units ................................................................................. 42 Fundamentos em: Declarao de Variveis ....................................................................................... 42 O Conceito de Variveis .................................................................................................................................... 42 Atribuindo um Valor a uma Varivel ................................................................................................................ 43 Tipos de Dados Predefinidos na Linguagem Object Pascal .............................................................................. 43 Tipos de Variveis Inteiras ............................................................................................................................ 43 Tipos de Variveis Reais ................................................................................................................................ 44 Tipos de Variveis Booleanas ....................................................................................................................... 44 Tipos de Variveis Para Manipulao de Caracteres .................................................................................... 44 Tipos de Variveis Para Manipulao de Arquivos ...................................................................................... 45 Tipo Genrico de Variveis ............................................................................................................................... 46 Comentrios ...................................................................................................................................................... 46 Comentrios de uma nica linha ................................................................................................................ 46 Comentrios de mltiplas linhas ................................................................................................................. 46 Definindo Novos Tipos de Dados ..................................................................................................................... 46 Tipos de Dados Enumerados ........................................................................................................................ 47 Conjuntos ..................................................................................................................................................... 47 Variveis Compostas .................................................................................................................................... 49 Vetores (Arrays) ............................................................................................................................................ 49 Operadores Aritmticos .................................................................................................................................... 51 Tipos Ordinais ................................................................................................................................................... 52 Escopo e Tempo de Vida das Variveis ......................................................................................................... 52 Variveis Locais ................................................................................................................................................. 52 Variveis Globais a uma Unidade de Cdigo ................................................................................................... 53 Criao de Variveis Globais a uma Aplicao ............................................................................................ 53 Adicionando uma Nova Unit ao Projeto Para Armazenamento de Variveis Globais ................................ 53 Fundamentos em: Blocos de Comandos, Estruturas Condicionais e de Repetio ........................ 54

IV

00CURSO COMPLETO

SUMRIOAlterando o Fluxo de Execuo do Programa ................................................................................................... 54 Blocos de Comandos ......................................................................................................................................... 55 Estruturas Condicionais .................................................................................................................................... 55 Estrutura Condicional if-then-else ............................................................................................................... 55 Estrutura Condicional Case Of .................................................................................................................... 56 Testes Condicionais .......................................................................................................................................... 56 Os Operadores Relacionais ........................................................................................................................... 56 Estruturas de Repetio ..................................................................................................................................... 57 Laos For ....................................................................................................................................................... 57 Laos While .................................................................................................................................................. 58 Laos Repeat ................................................................................................................................................. 58 Condies Compostas ...................................................................................................................................... 59 Operadores Lgicos da Linguagem Object Pascal ........................................................................................ 59 Fundamentos em: Funes e Procedimentos ..................................................................................... 59 A Estratgia de Dividir Para Conquistar ........................................................................................................... 60 Procedimentos (Procedures) ............................................................................................................................. 60 Funes ............................................................................................................................................................. 61 Funes e Procedimentos Para Manipulao de Arquivos Representados por Variveis ................................. 62 Funes e Procedimentos Para Manipulao Direta de Arquivos .................................................................... 63 Fundamentos em: Classes e Objetos ................................................................................................... 63 Uma Nova (Mas J No To Nova) Abordagem ............................................................................................... 64 As Classes e os Objetos ...................................................................................................................................... 64 O Conceito de Classes ....................................................................................................................................... 64 Mtodos de uma Classe ................................................................................................................................ 65 Mtodos sem Parmetros ............................................................................................................................. 67 O Objeto Formulrio e a Classe TForm ........................................................................................................ 68 O Conceito de Herana de Classes ............................................................................................................... 69 Tipos de Mtodos e Campos ........................................................................................................................ 70 Procedimentos Associados a Eventos ............................................................................................................... 71 Pare e Reflita Antes de Prosseguir ..................................................................................................................... 72 CAPTULO 4: PLANEJANDO A SUA APLICAO ................................................................................................... 73 Fundamentos em: Planejamento de Aplicaes ................................................................................ 74 Planejando o seu Trabalho ................................................................................................................................ 74 A Importncia de um Bom Planejamento ........................................................................................................ 74 Planejando o Nosso Aplicativo-exemplo .......................................................................................................... 75 Padronizando a Nomenclatura dos Componentes .......................................................................................... 76 Adicionando um Item a uma To-Do Lists ......................................................................................................... 77 Fundamentos em: To-Do Lists ............................................................................................................. 77 Organizando o seu Trabalho com as Ferramentas To-Do List .......................................................................... 77 Editando um Item de uma To-Do Lists ............................................................................................................. 78 Excluindo um Item de uma To-Do Lists ........................................................................................................... 79 Configurando as Informaes Exibidas em uma To-Do Lists ........................................................................... 79 Configurando Como as Informaes Devem Ser Ordenadas em uma To-Do Lists .................................................................................................................. 80 Adicionando um Item a uma To-Do Lists Diretamente no Cdigo-fonte ....................................................... 80 Copiando a Relao de Itens de uma To-Do List .............................................................................................. 81 Filtrando a Relao de Itens de uma To-Do List .............................................................................................. 82 CAPTULO 5: CRIANDO O FORMULRIO PRINCIPAL DA APLICAO ....................................................................... 83 Fundamentos em: Manipulao de Formulrios .............................................................................. 84 Os Formulrios Elementos Para a Construo da Interface em Aplicaes Desenvolvidas em Delphi 7 ....................................................................................... 84 O Objeto Formulrio .................................................................................................................................... 84 Propriedades com um Conjunto de Valores Predefinidos ........................................................................... 85 Alterando as Propriedades do Objeto Formulrio ........................................................................................ 88 Definindo um cone Para o Formulrio Principal da Aplicao .................................................................. 89 Inserindo Componentes em um Formulrio ............................................................................................... 90 Inserindo um Componente Para Exibio de Imagens no Formulrio Principal ........................................ 90 Renomeando um Componente ................................................................................................................... 92 Reposicionando um Componente ............................................................................................................... 92 Redimensionando um Componente ........................................................................................................... 93 Alterando a Fonte do Texto Exibido em um Componente ......................................................................... 96

CURSO COMPLETO00

V

BORLAND DELPHI 7 CURSO COMPLETOSelecionando Vrios Componentes Simultaneamente ................................................................................ 96 Alinhando Componentes ............................................................................................................................. 97 Analisando o Cdigo Gerado Pelo Delphi ................................................................................................... 99 Testando a sua Aplicao .................................................................................................................................. 99 Finalizando a Execuo do Aplicativo ............................................................................................................ 100 CAPTULO 6: PROJETANDO UM MENU PARA A SUA APLICAO .......................................................................... 101 Fundamentos em: Criao de Menus ................................................................................................ 102 Menus Elementos Indispensveis ao Formulrio Principal de uma Aplicao ........................................... 102 Incluindo um Menu na sua Aplicao ............................................................................................................ 102 Acessando o Editor de Menus .................................................................................................................... 103 Criando Itens de Menu .............................................................................................................................. 105 Criando um Separador de Itens em um Menu ............................................................................................... 107 Criando Teclas Aceleradoras Para Itens de Menu ........................................................................................... 108 Criando Outros Itens de Menu ....................................................................................................................... 108 Incluindo um Menu Pop-up na sua Aplicao ............................................................................................... 109 Criando Itens de Menu em um Menu Pop-up ........................................................................................... 110 Criando Submenus no Menu Pop-up ........................................................................................................ 112 Associando Eventos a Itens de Menu ......................................................................................................... 114 Definindo Procedimentos Associando Eventos Para Itens de Menu Pop-up ............................................ 115 CAPTULO 7: MANIPULANDO FORMULRIOS E CAIXAS DE DILOGO .................................................................... 117 Fundamentos em: Criao de Caixas de Dilogo ............................................................................ 118 Caixas de Dilogo Elementos de Interface Que Do Vida ao seu Aplicativo ..................................................................................................................... 118 Criando uma Caixa de Dilogo de Direitos Autorais ..................................................................................... 118 Personalizando a Caixa de Dilogo de Direitos Autorais ............................................................................... 119 Exibindo uma Caixa de Dilogo ..................................................................................................................... 120 O Componente Boto de Comando ............................................................................................................... 122 Principais Propriedades do Componente Boto de Comando .................................................................. 123 CAPTULO 8: FUNDAMENTOS DO PROJETO DE APLICATIVOS DE BANCO DE DADOS ................................................. 125 Fundamentos em: Mecanismos de Acesso a Bancos de Dados ....................................................... 126 Mecanismos de Acesso a Bancos de Dados ..................................................................................................... 126 Fundamentos em: Conceitos Fundamentais Sobre Bancos de Dados ............................................ 127 Conceitos Fundamentais ................................................................................................................................ 127 Custos .............................................................................................................................................................. 128 Planejando seu Banco de Dados ..................................................................................................................... 128 CAPTULO 9: FUNDAMENTOS DE BANCOS DE DADOS ........................................................................................ 129 Fundamentos em: Criao de Tabelas do Interbase ....................................................................... 130 Conceitos Fundamentais ................................................................................................................................ 130 Criando um Banco de Dados no Interbase ..................................................................................................... 130 Criando Tabelas com o Database Desktop ...................................................................................................... 133 Definindo Nomes Para os Campos dos Registros de uma Tabela .............................................................. 136 Definindo Tipos Para os Campos dos Registros de uma Tabela ................................................................. 138 Definindo os Tamanhos Para os Campos dos Registros de uma Tabela .................................................... 139 Definindo Campos de Preenchimento Obrigatrio ................................................................................... 141 Criando ndices .......................................................................................................................................... 141 Salvando uma Tabela .................................................................................................................................. 144 Inserindo Dados em uma Tabela Atravs do Database Desktop ................................................................ 144 Construindo as Demais Tabelas do Aplicativo ............................................................................................... 148 Criando a Tabela Atividades ....................................................................................................................... 148 Criando ndices Para a Tabela de Atividades ............................................................................................. 149 Salvando a Tabela Atividades ..................................................................................................................... 149 Incluindo Registros na Tabela de Atividades ............................................................................................. 149 Criando a Tabela de Matrculas ...................................................................................................................... 150 Criando ndices Para a Tabela de Matrculas ............................................................................................. 150 CAPTULO10: CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS ................................................................................... 151 Criao de Formulrios Para Acesso a Dados .................................................................................. 152 Utilizando os Componentes DatasetProvider e ClientDataset ....................................................................... 159 O Componente DBEdit ................................................................................................................................... 164

VI

00CURSO COMPLETO

SUMRIODefinindo Mscaras Para os Campos .............................................................................................................. 164 Significado dos Caracteres Usados na Propriedade EditMask .................................................................... 165 O Componente MaskEdit ............................................................................................................................... 167 Fazendo a Tecla Enter Funcionar Como Tab .................................................................................................. 167 O Componente DBCombobox ....................................................................................................................... 168 Propriedades do Controle DBComboBox .................................................................................................. 168 Propriedades do Objeto Items (da Classe TStrings) ................................................................................... 169 Mtodos do Objeto Items (da classe TStrings) ........................................................................................... 169 Destacando o Componente Que Recebe o Foco ............................................................................................. 171 CAPTULO 11: CRIAO DE UM REPOSITRIO PARA COMPONENTES DE ACESSO A DADOS ....................................... 173 Criao de Data Modules ................................................................................................................... 174 Os Objetos do Tipo DataModule .................................................................................................................... 174 Os Objetos de Acesso ao Banco de Dados ...................................................................................................... 178 O Componente ClientDataset ................................................................................................................... 178 O Componente DataSource ....................................................................................................................... 180 O Componente SimpleDataset .................................................................................................................. 180 Inserindo os Demais Componentes de Acesso ............................................................................................... 181 Para a tabela de Atividades: ........................................................................................................................ 182 Para a tabela de Matrculas: ........................................................................................................................ 182 Definindo ndices nos Componentes de Acesso ............................................................................................ 183 Criando um ndice Simples ........................................................................................................................ 183 Criando um ndice Composto ................................................................................................................... 184 Criando Chaves Primrias .......................................................................................................................... 184 CAPTULO 12: CRIAO DE FORMULRIOS PARA CADASTRO DE FORNECEDORES, PRODUTOS E PEDIDOS .................... 187 Criao de Formulrios de Cadastro ................................................................................................ 188 Criando o Formulrio de Cadastro de Atividades .......................................................................................... 188 Criando um Formulrio Para Cadastrar Novas Matrculas ............................................................................. 192 Definindo o Formulrio ............................................................................................................................. 192 Criando o Formulrio ................................................................................................................................. 193 Inserindo os Componentes no Formulrio ................................................................................................ 193 Trabalhando com Campos Calculados ...................................................................................................... 196 CAPTULO 13: CRIANDO FORMULRIOS PARA ALTERAO DE SCIOS E ATIVIDADES ............................................. 199 Criao de Formulrios Para Alterao de Dados .......................................................................... 200 O Conceito de Templates de Componentes ................................................................................................... 200 Criando os Templates de Componentes ......................................................................................................... 201 Criando o Formulrio de Alterao de Scios ................................................................................................ 202 Criando o Formulrio de Alterao de Atividades.......................................................................................... 204 O Componente DBNavigator ......................................................................................................................... 205 CAPTULO 14: CRIANDO FORMULRIOS PARA EXCLUSO DE SCIOS, ATIVIDADES E MATRCULAS ............................ 209 Criao de Formulrios Para Excluso de Dados ........................................................................... 210 Criando um Template de Formulrio ............................................................................................................. 210 Criando Formulrios a Partir de um Template ............................................................................................... 213 Criando o Formulrio de Excluso de Scios ................................................................................................. 213 Criando o Formulrio de Excluso de Atividades ...................................................................................... 215 A Linguagem SQL ........................................................................................................................................... 216 Criando o Formulrio de Excluso de Matrculas .......................................................................................... 217 CAPTULO 15: CRIANDO FORMULRIOS PARA CONSULTA DE SCIOS, ATIVIDADES E MATRCULAS ............................ 223 Criao de Formulrios Para Consulta de Dados ........................................................................... 224 Criando um Formulrio Para a Consulta de Dados dos Scios ...................................................................... 224 Criando um formulrio Para a Consulta de Dados das Atividades ................................................................ 225 Criando um Formulrio Para a Consulta de Dados das Matrculas ............................................................... 226 CAPTULO 16: CRIANDO ROTINAS DE BACKUP E RESTAURAO ......................................................................... 227 Cpia de Arquivos .............................................................................................................................. 228 Conceitos Fundamentais ................................................................................................................................ 228 Criando um Formulrio de Backup ................................................................................................................ 228 PARTE II: KNOW-HOW ............................................................................................................................. 233 CAPTULO 17: CRIAO DE RELATRIOS COM O RAVE REPORTS ........................................................................ 235 Know-How em: Criao de Relatrios com o Rave Reports .......................................................... 236

CURSO COMPLETO00

VII

BORLAND DELPHI 7 CURSO COMPLETOIntroduo ...................................................................................................................................................... 236 O Componente RvProject .......................................................................................................................... 236 Criando um Relatrio de Scios ................................................................................................................. 236 Criando um Relatrio de Atividades .......................................................................................................... 242 Criando um Relatrio de Matrculas .......................................................................................................... 244 CAPTULO 18: INCORPORANDO O RECURSO DE HELP ON-LINE NOSSA APLICAO .............................................. 247 Know-How em: Criao de Arquivos de Help ................................................................................. 248 Criando um Arquivo de Help ......................................................................................................................... 248 Definindo uma Pgina de ndice .................................................................................................................... 248 Criando um Arquivo RTF ........................................................................................................................... 249 Criando uma Pgina Para Cada Tpico ..................................................................................................... 250 Criando Strings de Contexto ..................................................................................................................... 250 Criando uma Palavra-chave Para um Tpico ............................................................................................. 252 Criando um Ttulo Para um Tpico ........................................................................................................... 252 Associando um Nmero de Pgina a um Tpico ....................................................................................... 253 Estabelecendo a Conexo Entre Tpicos ................................................................................................... 254 Criando um Arquivo de Projeto de Help ................................................................................................... 256 Criando e Compilando o Arquivo de Projeto de Help com o Microsoft Help Workshop ........................ 257 Associando o Arquivo de Help sua Aplicao ......................................................................................... 260 Associando um Componente a um Tpico do Arquivo de Help ............................................................... 261 Exibindo o Arquivo de Help em Resposta a um Item de Menu ................................................................ 262 CAPTULO 19: PROGRAMAO ORIENTADA A OBJETOS EM DELPHI 7 ................................................................. 263 KNOW-HOW em: Programao Procedural em Linguagem Object Pascal .................................. 264 Apresentao do Problema ............................................................................................................................. 265 Utilizando o Ambiente do Delphi 7 Para o Pascal Procedural ....................................................................... 266 KNOW-HOW em: Fundamentos da Programao Orientada a Objetos ........................................ 269 A Filosofia da Programao Orientada a Objetos ........................................................................................... 269 Anlise do Cdigo-fonte ................................................................................................................................. 271 A Implementao de uma Classe .................................................................................................................... 272 Anlise do Cdigo-fonte ................................................................................................................................. 274 KNOW-HOW em: Herana de Classes ............................................................................................... 274 O Conceito de Herana de Classes ................................................................................................................. 275 Mtodos Construtores .................................................................................................................................... 277 Mtodos Destrutores ....................................................................................................................................... 278 Visibilidade dos Campos e Mtodos de uma Classe ....................................................................................... 279 Campos e Mtodos Pblicos (public) ......................................................................................................... 279 Campos e Mtodos Privados (private) ....................................................................................................... 280 Campos e Mtodos Protegidos (protected) ................................................................................................ 280 Sobreposio de Mtodos ............................................................................................................................... 281 Mtodos Estticos, Virtuais e Dinmicos ........................................................................................................ 282 Mas e os Mtodos Dinmicos? O Que Significam? ........................................................................................ 284 Mtodos Abstratos .......................................................................................................................................... 284 Mtodos de Classe ........................................................................................................................................... 285 Propriedades .................................................................................................................................................... 285 Referncia: a Classe TObject ........................................................................................................................... 287 Principais Mtodos da Classe TObject ....................................................................................................... 288 KNOW-HOW em: Converso de Tipos ............................................................................................... 294 O Conceito de Converso de Tipos ................................................................................................................ 294 O Operador Is .................................................................................................................................................. 294 O Operador As ................................................................................................................................................. 295 Converso Explcita Entre Tipos ..................................................................................................................... 295 O Identificador Self ......................................................................................................................................... 296 KNOW-HOW em: Tratamento de Excees ...................................................................................... 296 Tcnica ............................................................................................................................................................ 296 O Conceito de Excees .................................................................................................................................. 296 Referncia: a Classe Exception ........................................................................................................................ 298 Definio da Classe Exception ................................................................................................................... 298 Campos Internos da Classe Exception ....................................................................................................... 298 Mtodos Pblicos da Classe Exception ...................................................................................................... 299 Propriedades da Classe Exception .............................................................................................................. 302 Classes Derivadas por Herana da Classe Exception ................................................................................. 302

VIII 00CURSO COMPLETO

SUMRIOO Mecanismo Utilizado na Gerao de Excees ...................................................................................... 302 KNOW-HOW em: Manipulao de Listas de Objetos ....................................................................... 304 Apresentao do Problema ............................................................................................................................. 304 Referncia: a Classe TList ................................................................................................................................ 305 Definio da Classe TList ........................................................................................................................... 305 Propriedades da Classe TList ...................................................................................................................... 305 Principais Mtodos da Classe TList ............................................................................................................ 306 Exemplo de Utilizao ................................................................................................................................ 309 Definio da Interface ................................................................................................................................ 309 Codificao do Exemplo ............................................................................................................................ 311 KNOW-HOW em: Sobrecarga de Mtodos ........................................................................................ 322 O Conceito de Sobrecarga de Mtodos ........................................................................................................... 323 KNOW-HOW em: Definio de Parmetros Default Para uma Funo ou Procedimento ......... 324 O Conceito de Parmetro Default Para uma Funo ou Procedimento ......................................................... 324 CAPTULO 20: O CONCEITO DE COMPONENTES ............................................................................................... 327 KNOW-HOW em: Definio de Componentes .................................................................................. 328 O Conceito de Componentes ......................................................................................................................... 329 Exibindo uma Propriedade no Object Inspector ............................................................................................ 331 O Sistema de Mensagens do Windows ........................................................................................................... 331 A Classe TCanvas ............................................................................................................................................ 335 Principais Propriedades da Classe TCanvas ............................................................................................... 336 Principais Mtodos da Classe TCanvas ...................................................................................................... 337 Principais Propriedades da Classe TPen ..................................................................................................... 341 Principais Propriedades da Classe TBrush .................................................................................................. 343 O Componente Shape ..................................................................................................................................... 343 CAPTULO 21: CRIAO DE COMPONENTES .................................................................................................... 347 KNOW-HOW em: Criao de Componentes ..................................................................................... 348 Apresentao do Problema ............................................................................................................................. 348 Criando o Esqueleto do Novo Componente .................................................................................................. 350 Definio de Novas Propriedades ................................................................................................................... 352 Criando uma Nova Propriedade ..................................................................................................................... 353 Instalando o Novo Componente .................................................................................................................... 354 Sobrecarregando o Mtodo Construtor da Classe Ancestral do Componente ............................................... 356 Redefinindo Mtodos da Classe-base .............................................................................................................. 358 Definindo um Novo Evento Para o Componente .......................................................................................... 360 O Tipo TNotifyEvent ....................................................................................................................................... 361 Definindo um Mtodo de Leitura Para uma Propriedade .............................................................................. 362 KNOW-HOW em: Criao de Componentes Associados a Bancos de Dados .................................. 364 Apresentao do Problema ............................................................................................................................. 365 Criando o Esqueleto do Novo Componente .................................................................................................. 365 Definindo as Novas Propriedades Para o Componente.................................................................................. 366 Refletindo Alteraes Feitas no Campo .......................................................................................................... 369 Refletindo Alteraes Feitas no Componente ................................................................................................ 371 Notificando o Componente da Remoo de um DataSource ........................................................................ 374 Criando uma Propriedade que Permita Tratar a Tecla Enter Como Tab ........................................................ 376 KNOW-HOW em: Criao de Controles ActiveX .............................................................................. 379 Apresentao do Problema ............................................................................................................................. 379 Convertendo o Componente NumEdit em um Controle ActiveX ................................................................ 379 CAPTULO 22: MECANISMOS DE ACESSO A BANCO DE DADOS ............................................................................ 393 KNOW-HOW em: Fundamentos dos Mecanismos de Acesso a Bancos de Dados .......................... 394 Os Mecanismos de Acesso a Bancos de Dados ............................................................................................... 394 KNOW-HOW em: Classes Fundamentais de Acesso a Bancos de Dados A Classe TDataset ....... 395 A Classe TDataSet ............................................................................................................................................ 395 Principais Propriedades da Classe TDataSet ............................................................................................... 397 Principais Mtodos da Classe TDataSet ...................................................................................................... 401 Principais Eventos da Classe TDataSet ....................................................................................................... 406 A Classe TCustomConnection ........................................................................................................................ 411 Principais Propriedades da Classe TCustomConnection ........................................................................... 411 Principais Mtodos da Classe TCustomConnection .................................................................................. 411 Principais Eventos da Classe TCustomConnection ................................................................................... 413

CURSO COMPLETO00

IX

BORLAND DELPHI 7 CURSO COMPLETOCAPTULO 23: BANCO DE DADOS COMPONENTES DE ACESSO VIA BDE ............................................................ 415 KNOW-HOW em: CLasses Fundamentais de Acesso a Bancos de Dados via BDE As Classes TBDEDataset e TDBDataset ........................................................... 416 A Classe TBDEDataSet ..................................................................................................................................... 416 Principais Propriedades da Classe TBDEDataSet ........................................................................................ 417 Principais Mtodos da Classe TBDEDataSet ............................................................................................... 417 A Classe TDBDataSet ....................................................................................................................................... 418 Principais Propriedades da Classe TDBDataSet .......................................................................................... 418 A Classe TDatabase ......................................................................................................................................... 419 Principais Propriedades da Classe TDatabase ................................................................................................. 419 Principais Mtodos do Componente Database .......................................................................................... 421 A Classe TSession ............................................................................................................................................ 422 Principais Propriedades da Classe TSession ............................................................................................... 422 Principais Mtodos da Classe TSession ...................................................................................................... 424 Eventos 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 ............................................................................................................................................... 428 Principais Propriedades da Classe TTable ................................................................................................... 428 Principais Mtodos da Classe TTable ......................................................................................................... 430 A Classe TQuery .............................................................................................................................................. 434 Principais Propriedades da Classe TQuery ................................................................................................. 435 Principais Mtodos da Classe TQuery ........................................................................................................ 436 A Classe TUpdateSQL ...................................................................................................................................... 437 Principais Propriedades da Classe TUpdateSQL ......................................................................................... 437 Principais Mtodos da Classe TUpdateSQL ................................................................................................ 438 Exemplos de Aplicao ................................................................................................................................... 438 Indexao de Tabelas Acessadas Pelo Componente Table ......................................................................... 438 Exemplo de Aplicao ..................................................................................................................................... 439 Filtrando os Registros de uma Tabela Acessada Pelo Componente Table .................................................. 442 Estabelecendo um Relacionamento Entre Tabelas Representadas Pelo Componente Table ..................... 454 Pesquisando Registros em Tabelas Representadas Pelo Componente Table .............................................. 458 Criao de Tabelas em Run-time ................................................................................................................ 463 Componentes e Mtodos de Navegao .................................................................................................... 473 Traduo da Mensagem Delete Record do Componente Table ................................................................. 480 Exemplo de Utilizao do Componente TSession ..................................................................................... 481 Consulta a Bancos de Dados via Declaraes SQL Definidas em Run-Time ............................................. 487 Utilizao de Parmetros em Declaraes SQL .......................................................................................... 491 Utilizao do Recurso de Cached Updates ................................................................................................. 495 Exemplo de Utilizao do Componente TUpdateSQL .............................................................................. 500 KNOW-HOW em: Aplicao de Senhas a Tabelas do Tipo Paradox ............................................... 506 Definindo Senhas Para uma Tabela do Tipo Paradox ..................................................................................... 507 Definindo Senhas Auxiliares Para uma Tabela do Tipo Paradox .................................................................... 508 Inibindo a Exibio da Caixa de Dilogo Enter Password Durante a Execuo do seu Aplicativo ............................................................................................ 509 Protegendo Sua Aplicao Mediante Definio de uma Senha ...................................................................... 509 CAPTULO 24: BANCO DE DADOS COMPONENTES DE ACESSO VIA ADO ............................................................ 511 KNOW-HOW em: CLasses Fundamentais de Acesso a Bancos de Dados via ADO A Classe TCustomADODataset e os Componentes TADOConnection, TRDSConnection e TADODataset e TADOCommand ...................................................................... 512 O Componente TADOConnection ................................................................................................................. 512 Principais Propriedades da Classe TADOConnection ................................................................................ 512 Principais Mtodos da Classe TADOConnection ....................................................................................... 514 Principais Eventos da Classe TADOConnection ........................................................................................ 516 O Componente TRDSConnection .................................................................................................................. 517 Principais Propriedades da Classe TRDSConnection ................................................................................. 517 Principais Mtodos da Classe TRDSConnection ........................................................................................ 517 Principais Eventos da Classe TRDSConnection ......................................................................................... 517 A Classe TCustomADODataset ....................................................................................................................... 518 Principais Propriedades da Classe TCustomADODataSet .......................................................................... 518 Principais Mtodos da Classe TCustomADODataset ................................................................................. 521

X

00CURSO COMPLETO

SUMRIOPrincipais Eventos da Classe TCustomADODataset .................................................................................. 524 A Classe TADOCommand ............................................................................................................................... 525 Principais Propriedades da Classe TADOCommand .................................................................................. 525 Principais Mtodos da Classe TADOCommand ......................................................................................... 526 Principais Eventos da Classe TADOCommand .......................................................................................... 527 A Classe TADODataset .................................................................................................................................... 527 Principais Propriedades da Classe TADODataSet ....................................................................................... 527 Principais Mtodos da Classe TADODataset .............................................................................................. 528 Principais 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 ........................................................................................................................................ 529 Principais Propriedades da Classe TADOTable ........................................................................................... 529 Principais Mtodos da Classe TADOTable .................................................................................................. 530 Principais Eventos da Classe TADOTable ................................................................................................... 530 A Classe TADOQuery ...................................................................................................................................... 530 Principais Propriedades da Classe TADOQuery ......................................................................................... 530 Principais Mtodos da Classe TADOQuery ................................................................................................ 530 Principais Eventos da Classe TADOQuery ................................................................................................. 531 Exemplos de Aplicao ................................................................................................................................... 531 Estabelecendo uma Conexo a Bancos de Dados do MS Acess com o Componente ADOConnection ... 531 Acessando tabelas do Access com o Componente ADOComando ............................................................ 534 Acessando Tabelas do Access com o Componente ADODataset ............................................................... 534 Acessando tabelas do Access com o Componente ADOTable ................................................................... 535 Acessando tabelas do Access com o Componente ADOQuery .................................................................. 536 Diferenas na Utilizao dos Componentes Table x ADOTable, e Query x ADOQuery ....................................................................................................... 536 Definio do ndice Corrente ..................................................................................................................... 536 Pesquisando Registros em Tabelas Representadas Pelo Componente ADOTable ............................................................................................. 537 Criao de Tabelas em Run-time ................................................................................................................ 537 Componentes e Mtodos de Navegao .................................................................................................... 537 Utilizao de Parmetros em Declaraes SQL .......................................................................................... 537 CAPTULO 25: BANCO DE DADOS COMPONENTES DE ACESSO VIA DBEXPRESS ................................................... 539 KNOW-HOW em: Componentes de Acesso a Bancos de Dados via DBExpress .............................. 540 O Componente TSQLConnection .................................................................................................................. 540 Principais Propriedades da Classe TSQLConnection ................................................................................. 540 Principais Mtodos da Classe TSQLConnection ........................................................................................ 542 Principais Eventos da Classe TSQLConnection ......................................................................................... 543 A Classe TCustomSQLDataset ......................................................................................................................... 543 Principais Propriedades da Classe TCustomSQLDataSet ........................................................................... 544 Principais Eventos da Classe TCustomSQLDataset .................................................................................... 544 A Classe TSQLDataSet ..................................................................................................................................... 544 Principais Propriedades da Classe TSQLDataSet ........................................................................................ 545 KNOW-HOW em: Classes de Acesso Direto a Bancos de Dados via DBExpress As Classes TSQLTable, TSQLQuery e TSQLStoredProc .......................................................................................................... 545 A Classe TSQLTable ......................................................................................................................................... 546 Principais Propriedades da Classe TSQLTable ............................................................................................ 546 Principais Mtodos da Classe TSQLTable ................................................................................................... 547 Principais Eventos da Classe TSQLTable .................................................................................................... 547 A Classe TSQLQuery ....................................................................................................................................... 547 Principais Propriedades da Classe TSQLQuery ........................................................................................... 547 Principais Mtodos da Classe TSQLQuery ................................................................................................. 547 Principais Eventos da Classe TSQLQuery ................................................................................................... 548 A Classe TSimpleDataset ................................................................................................................................. 548 Principais Propriedades da Classe TSimpleDataset .................................................................................... 548 Principais Mtodos da Classe TSimpleDataset ........................................................................................... 549 Principais Eventos da Classe TSimpleDataset ............................................................................................ 549 CAPTULO 26: BANCO DE DADOS COMPONENTES DE ACESSO VIA INTERBASE EXPRESS ......................................... 551 KNOW-HOW em: Componentes de Acesso a Bancos de Dados via Interbase Express ................. 552

CURSO COMPLETO00

XI

BORLAND DELPHI 7 CURSO COMPLETOO Componente TIBDatabase .......................................................................................................................... 552 Principais Propriedades da Classe TIBDatabase ......................................................................................... 552 Principais Mtodos da Classe TIBDatabase ................................................................................................ 554 Principais Eventos da Classe TIBDatabase ................................................................................................. 555 O Componente TIBTransaction ...................................................................................................................... 555 Principais Propriedades da Classe TIBTransaction ..................................................................................... 555 Principais Mtodos da Classe TIBTransaction ............................................................................................ 556 Principais Eventos da Classe TIBTransaction ............................................................................................. 558 A Classe TIBCustomDataset ............................................................................................................................ 558 Principais Propriedades da Classe TIBCustomDataset ............................................................................... 559 Principais Mtodos da Classe TIBCustomDataset ...................................................................................... 560 Principais Eventos da Classe TIBCustomDataset ....................................................................................... 561 A Classe TIBDataSet ........................................................................................................................................ 561 Principais Propriedades da Classe TIBDataSet ........................................................................................... 561 Principais Mtodos da Classe TIBDataset ................................................................................................... 562 Principais Eventos da Classe TIBDataset .................................................................................................... 562 KNOW-HOW em: Classes de Acesso Direto a Bancos de dados via Interbase Express As Classes TIBTable, TIBQuery e TIBUpdateSQL ................................................................................ 563 A Classe TIBTable ............................................................................................................................................ 563 Principais Propriedades da Classe TIBTable ............................................................................................... 563 Principais Mtodos da Classe TIBTable ...................................................................................................... 565 Principais Eventos da Classe TIBTable ....................................................................................................... 567 A Classe TIBQuery ........................................................................................................................................... 567 Principais Propriedades da Classe TIBQuery .............................................................................................. 567 Principais Mtodos da Classe TIBQuery ..................................................................................................... 568 Principais Eventos da Classe TIBQuery ...................................................................................................... 568 A Classe TIBUpdateSQL .................................................................................................................................. 568 Principais Propriedades da Classe TIBUpdateSQL ..................................................................................... 569 Principais Mtodos da Classe TIBUpdateSQL ............................................................................................ 569 CAPTULO 27: BANCOS DE DADOS CLIENTE/SERVIDOR .................................................................................... 571 KNOW-HOW em: Fundamentos dos Bancos de Dados Cliente/Servidor ...................................... 572 Apresentao do Problema ............................................................................................................................. 572 O Administrador do Servidor de Banco de Dados .......................................................................................... 572 Cadastrando um Novo Usurio ...................................................................................................................... 574 Alterando os Dados de um Usurio J Cadastrado ......................................................................................... 575 Removendo um Usurio Cadastrado .............................................................................................................. 575 O Utilitrio Interactive SQL ............................................................................................................................ 576 Criando um Banco de Dados no Interbase a Partir do Utilitrio Interactive SQL ......................................... 576 Conectando-se a um Banco de Dados do Interbase ................................................................................... 578 Tipos de Dados Definidos Pelo Interbase ....................................................................................................... 578 Criando uma Tabela no Interbase ................................................................................................................... 579 Aplicando Restries aos Campos de uma Tabela .......................................................................................... 580 Removendo uma Tabela do Banco de Dados .................................................................................................. 580 Criando ndices em uma Tabela ..................................................................................................................... 580 Concedendo Privilgios a um Outro Usurio ou Banco de Dados ................................................................. 581 Removendo Privilgios ................................................................................................................................... 582 Vises (Views) ................................................................................................................................................. 582 O Conceito de Transaes ............................................................................................................................... 583 Incluindo Registros com o Comando INSERT ................................................................................................ 583 Atualizando Registros em uma Tabela ............................................................................................................ 584 Removendo Registros de uma Tabela ............................................................................................................. 584 Ordenando os Registros de uma Tabela .......................................................................................................... 585 TRIGGERS ....................................................................................................................................................... 585 STORED PROCEDURES (Procedimentos Armazenados) ................................................................................ 586 Linguagem de Codificao do Interbase ........................................................................................................ 587 Declarao de Variveis no Interbase ......................................................................................................... 587 Atribuio de Valores a Variveis no Interbase .......................................................................................... 588 Definio de Comentrios no Interbase .................................................................................................... 588 Estruturas Condicionais do Interbase ........................................................................................................ 588 Estruturas de Repetio do Interbase ......................................................................................................... 588

XII 00CURSO COMPLETO

SUMRIOCriao de Novos Tipos no Interbase ........................................................................................................ 589 Metadados de um Banco de Dados ................................................................................................................. 589 Concatenando Dados Provenientes de Vrias Tabelas ................................................................................... 590 Criando um Backup de um Banco de Dados do Interbase ............................................................................. 591 Recuperando um Banco de Dados a Partir de um Backup ............................................................................. 591 Criando um Alias Para um Banco de Dados do Interbase .............................................................................. 592 CAPTULO 28: ACESSANDO BANCOS DE DADOS CLIENTE/SERVIDOR ................................................................... 593 KNOW-HOW em: Acesso a Bancos de Dados Cliente/Servidor ...................................................... 594 Apresentao do Problema ............................................................................................................................. 594 Acessando Banco de Dados Cliente-Servidor do Interbase em uma Aplicao Delphi via BDE .................... 594 Principais Propriedades do Componente StoredProc ................................................................................ 595 Principais Mtodos do Componente StoredProc ....................................................................................... 596 Principais Eventos do Componente IBoredProc ........................................................................................ 597 Exemplo de Aplicao ................................................................................................................................ 597 Acessando Banco de Dados do Interbase em uma Aplicao Delphi via Interbase Express .......................... 600 Principais Propriedades do Componente IBSToredProc ............................................................................ 601 Principais Mtodos do Componente IBStoredProc .................................................................................... 601 Principais Eventos do Componente IBStoredProc ..................................................................................... 602 Exemplo de Aplicao ................................................................................................................................ 603 Acessando Banco de Dados do Interbase em uma Aplicao Delphi via DBExpress ..................................... 605 Principais Propriedades do Componente SQLSToredProc ......................................................................... 605 Principais Mtodos do Componente SQLStoredProc ................................................................................ 606 Principais Eventos do Componente SQLStoredProc .................................................................................. 606 Exemplo de Aplicao ................................................................................................................................ 606 CAPTULO 29: PROGRAMAO GRFICA ........................................................................................................ 609 KNOW-HOW em: Definio de Desenhos em Run-Time ................................................................. 610 A Classe TCanvas ............................................................................................................................................ 610 O Componente Shape ..................................................................................................................................... 611 Desenhando em um Formulrio ..................................................................................................................... 611 KNOW-HOW em: Definio de Desenhos de Forma Interativa ..................................................... 620 Desenhando de Forma Interativa ................................................................................................................... 621 A Classe TBitmap ............................................................................................................................................ 626 Modos de Mapeamento .................................................................................................................................. 630 Funes Para Transformao de Coordenadas ............................................................................................... 632 Funo SetWindowExtEx ........................................................................................................................... 632 Funo SetViewportExtEx .......................................................................................................................... 633 CAPTULO 30: TCNICAS DE IMPRESSO ........................................................................................................ 635 KNOW-HOW em: Impresso Direta no Windows ............................................................................ 636 Principais Propriedades da Classe TPrinter ..................................................................................................... 637 Aborted ....................................................................................................................................................... 637 Canvas ........................................................................................................................................................ 637 Copies ......................................................................................................................................................... 637 Fonts ........................................................................................................................................................... 637 Orientation ................................................................................................................................................. 637 PageHeight ................................................................................................................................................. 637 PageNumber ............................................................................................................................................... 637 PageWidth .................................................................................................................................................. 637 PrinterIndex ............................................................................................................................................... 638 Printers ....................................................................................................................................................... 638 Printing ....................................................................................................................................................... 638 Title ............................................................................................................................................................. 638 Principais Mtodos da Classe TPrinter ........................................................................................................... 638 BeginDoc .................................................................................................................................................... 638 EndDoc ....................................................................................................................................................... 638 NewPage ..................................................................................................................................................... 639 Exemplo de Utilizao da Classe TPrinter ...................................................................................................... 639 Criando a Interface da Aplicao ............................................................................................................... 639 Codificando a Aplicao ............................................................................................................................ 641 Imprimindo o Contedo Exibido por um Componente Memo .................................................................... 643 Criando a Interface da Aplicao ............................................................................................................... 643 Codificando a Aplicao ............................................................................................................................ 643

CURSO COMPLETO00

XIII

BORLAND DELPHI 7 CURSO COMPLETOCAPTULO 31: CRIAO DE DLLS ............................................................................................................... 649 KNOW-HOW em: Criao de DLLs .................................................................................................... 650 Introduo ...................................................................................................................................................... 650 Procedimentos Bsicos Necessrios Criao de uma DLL em Delphi ......................................................... 650 Chamando uma DLL a Partir de Outra Aplicao .......................................................................................... 652 O Formulrio Principal da Aplicao ......................................................................................................... 653 Arquivo de Cdigo Associado ao Formulrio ............................................................................................ 653 Exibindo Formulrios a Partir de uma DLL .................................................................................................... 654 Carregamento Explcito de uma DLL ............................................................................................................. 656 CAPTULO 32: MANIPULAO DE ARQUIVOS, STRINGS E FONTES EM DELPHI ....................................................... 657 KNOW-HOW em: Manipulao de Arquivos .................................................................................... 658 Manipulao Direta de Arquivos Associados a uma Varivel ......................................................................... 658 KNOW-HOW em: Manipulao de Strings ....................................................................................... 662 Principais Funes Para a Manipulao de Strings ......................................................................................... 663 Principais Funes Para a Manipulao de Strings de Terminao Nula ....................................................... 670 StrLower ...................................................................................................................................................... 674 StrNew ........................................................................................................................................................ 675 StrPCopy ..................................................................................................................................................... 675 KNOW-HOW em: Manipulao de Listas de Strings ....................................................................... 676 A Classe TStrings ............................................................................................................................................. 676 Referncia: A Classe TStrings .......................................................................................................................... 676 Definio da Classe TStrings ...................................................................................................................... 676 Propriedades da Classe TStrings .............................