Delphi - Segredos e Solues

Capitulo 1

Iniciando . . .1
Por Que o Windows e Por Que o Delphi? . . .  3
Como Desenvolver um Aplicativo Delphi  . . . 4
O Que  Preciso para Processar o Delphi. . . 7
Trabalhando com o Delphi . . . 9
Um Programa do Tipo "Al Mundo".  . . 10
Um Primeiro Procedimento de Evento. . . 12
Acrescentando um Componente. . . 14
Um Projeto Mais Poderoso . . . 17


Capitulo 2

O Ambiente de Programao Delphi . . . 23
Uma Viso Geral da Tela Principal. . . 25
A Barra de Ttulo . . .
A Barra de Menus . . .
A SpeedBar . . . 
A Paleta de Componentes . . .
A Janela Form Inicial . . .
A Janela Object Inspector . . .
A Janela Code Editor (Unit) . . .
A Janela Project Manager . . .
A Janela Alignment Palette . . .
O Sistema de Ajuda . . .
Mais sobre o Menu File . . .
Editando . . .
O Menu Edit . . . 
O Menu Search . . .
O Menu View. . .
O Menu Options . . . 
O Menu Tools . . . 
Carregando e Processando Programas. . .


Capitulo 3

Projetando um Formulrio: Componentes, Menus e Eventos . . . 47
Trabalhando com o Object Inspector . . .
Editor Simples . . .
Editor de Lista Suspensa. . . .
Editor de Caixa de Dilogo. . .
Editor de Propriedades Aninhadas . . .
Formulrios . . .
Propriedades dos Formulrios. . .
Eventos de Formulrios . . .
Componentes . . . 
Uma Viso Geral dos Componentes. . .
Pgina Standard. . .
Pgina Additional. . .
Pgina Dialogs . . .
Pgina System . . . 
Acrescentando Componentes ao Formulrio . . . 
Acrescentando Vrios Componentes a um Formulrio . . . . 
Componentes Container . . . 
Trabalhando com Componentes Existentes . . . 
Selecionando Vrios Componentes . . . 
Movendo Componentes . . . .  71
Redimensionando e Reformando Componentes . . .  72
Cancelando Componentes . . . 73
Cortando, Copiando e Colando Componentes . . . 73
Alinhando Componentes . . . 73
Alguns Componentes Individuais . . .  74
Propriedades de Foco e Eventos . . . 75
Rtulos . . . 75
Caixas de Edio . . . 76
Componentes Memo . . . 77
Botes e Botes de Bit . . . 78
Propriedades do Boto de Bit . . . 79
Os Componentes Caixa de Lista e Caixa Combinada . . . 80
Os Componentes Caixa de Seleo e Botes de Rdio . . . 81
Temporizadores . . . 82
Enabled  . . . 82
Interval . . . 83
Os Componentes StringGrid e DrawGrid . . . 85
Projetando Menus . . . 86
Trabalhando com o Menu Designer . . . 88
Acrescentando e Apagando Itens de Menu . . . 90
Rearranjando Itens de Menu . . . 90
Especificando Teclas Aceleradoras e Simplificaes de Teclado . . . 
91
Criando Menus Aninhados  . . . 91
Modelos de Menus . . . 92
Tornando os Itens de Menu Responsivos . . . 93
A Representao ASCII de um Formulrio . . . 93


Capitulo 4

Os Fundamentos da Programao Delphi . . . 97
Comandos no Delphi . . . 100
Declaraes de Comentrios . . . 101
Processando e Terminando Programas . . . 102
O Comando Halt . . . 103
Especificao de Propriedades . . . 103
Propriedades Booleanas . . . 105
O Comando With . . . 106
Variveis . . . 106
Tipos de Variveis . . . 108
Boolean . . . 108
Tipos de Nmeros Inteiros . . . 
Tipos de Nmeros de Ponto Flutuante (Reais) . . . 
Tipos para Manusear Texto . . . 
Tipo de Dado Ponteiro . . . 
Atribuindo Valores s Variveis . . . 
Constantes . . . 
Escopo de Variveis e Constantes . . . 
Compartilhando Valores entre Procedimentos . . . 
Tornando os Valores Persistentes . . . 
Strings . . . 
Nmeros . . . 
Operaes com Nmeros . . . 
Operadores Booleanos e Binrios . . . 
Parnteses e Precedncia . . . 
Mais sobre Nmeros no Delphi . . . 
Composio de Tipos . . . 
Repetindo Operaes (Laos) . . . 
Laos Determinados (For) . . . 
Mais sobre Laos For . . . 
Laos For-Next Aninhados . . . 
Laos Indeterminados . . . 
O Lao Repeat . . . 
O Lao While . . . 
Tomando Decises . . . 
Utilizando Declaraes If-Then com Laos . . . 
A Declarao Case . . . 
Mais sobre o Trabalho com Objetos em Tempo de Execuo . . .
Mtodos . . . 
O Objeto Application . . . 
O Objeto Screen . . . 
O Objeto Canvas . . . 
O Objeto Printer (Impressora) . . . 
Caixas de Mensagem e Caixas de Entrada . . . 
A Funo MessageDlg . . . 
A Funo MessageDlgPos . . . 
FunoInputBox . . . 
FunoInputQuery . . . 
Aplicativos de Vrios Formulrios . . . 
Salvando Formulrios . . . 
Salvando um Formulrio como Modelo . . . 
Removendo um Formulrio (e a Sua Unidade Associada) de um Projeto . . 
.. 151
Especificando o Formato Principal do Projeto . . . 151
Comportamento do Formulrio em Tempo de Execuo  . . . 152
Formulrios Modais . . . 155


Capitulo 5

Tcnicas de Programao Avanada . . . 157
Reviso de Tipos . . . 159
Tipos de Dados Ordinais . . . 159
Tipos de Dados Enumerados . . . 160
Conjuntos . . . 162
Vetores . . . 164
Vetores Unidimensionais . . . 164
Listas de Strings . . . 166
Vetores de Vrias Dimenses . . . 169
Registros . . . 170
Ponteiros . . . 173
Ponteiros e Gerenciamento de Memria . . . 176
Alocando e Desalocando Blocos de Memria . . . 177
Strings de Terminao Nula e PChar . . . 178
Funes e Procedimentos . . .  180
Subprogramas Internos . . . 182
Utilizando a API do Windows . . . 185
Funes e Procedimentos Definidos pelo Usurio . . . 186
Posicionando Subprogramas . . . 189
Utilizando Subprogramas . . . 189
Passando Vetores para Subprogramas . . . 191
Recurso . . . 191
Gerenciando Projetos e Unidades . . . 194
Mais sobre Unidades . . . 195
O Cabealho da Unidade . . . 196
A Seo da Interface . . . 196
A Seo de Implementao . . . 197
A Seo de Inicializao . . . 197
Fundamentos do Compilador . . . 198
O goto . . . 201


Capitulo 6

Objetos . . . 203
Comeando . . . 205
O Vocabulrio da POO . . . 207
Classes . . . 207
Encapsulamento . . . 207
Herana . . . 208
Criando um Objeto no Delphi . . . 210
Objetos da Visual Component Library (Biblioteca de Componentes Visuais) 
.. . . 214
As Regies Pblicas e Privadas de uma Declarao de Formulrio 
.. . . 216
O Parmetro Sender . . . 217
Variveis de Objeto . . . 218
Criando Objetos Delphi em Tempo de Execuo . . . 220
Criando Novos Objetos Visuais em Tempo de Execuo . . . 222
Self . . . 222
Mtodo-Pai . . . 223
O ObjectBrowser . . . 223
Opes do Compilador e Seus Efeitos no ObjectBrowser . . . 225
O PainelInspector . . . 226
O Painel Details . . . 227
Inspeo Em-Profundidade . . . 227


Capitulo 7

Tratamento de Erros e Excees . . . 229
Blocos Protegidos . . . 231
Excees da Biblioteca de Tempo de Execuo . . . 233
As Excees RTL (Biblioteca de Tempo de Execuo) . . . 233
Excees Input/Output . . . 233
Excees do Heap . . . 234
Excees Matemticas de Inteiros . . . 234
Excees Matemticas de Ponto Flutuante . . . 234
Excees de Converso de Tipo (TypeCast) . . . 235
Excees de Converso . . . 235
Excees de Hardware . . .  235
Manuseando Classes de Excees . . . 236
Regerando uma Exceo . . . 237
Protegendo a Alocao de Recursos . . . 238
Excees Definidas pelo Usurio . . . 239
Declarando um Objeto de Execuo (Exception) . . . 239
Excees Silenciosas . . . 240


Capitulo 8 

Ferramentas e Tcnicas para Teste e Depurao . . . 241
As Ferramentas de Depurao e o Que Elas Fazem . . . 243
Projetando Programas para Facilitar o Teste . . . 245
Erros Lgicos . . .  246
Acrescentando Informaes de Depurao . . . 247
A Caixa de Dilogo Evaluate/Modify . . . 248
Mais sobre Depurao na Caixa de Dilogo Evaluate/Modify . . . 249
TraceInto . . . 249
Interrompendo Temporariamente os Programas . . . 250
Watch . . . 251
Instant Watch . . . 252
Algumas Observaes Finais sobre Depurao . . . 253
Erros e Problemas Orientados por Eventos . . . 254
Estilo de Programao . . . 254


Capitulo 9

Trabalhando com Arquivos . . . 257
Comandos de Arquivo . . . 259
Outras Funes de Arquivo e de E/S . . . 261
Os Componentes do Sistema de Arquivo . . . 264
O Componente FileListBox  . . . 265
Propriedades Especiais do Componente FileListBox . . . 266
O Componente DirectoryListBox . . . 267
O Componente DriveComboBox . . . 267
O Componente FilterComboBox . . . 268
Interligando Todos os Componentes de Arquivo entre Si . . . 268
Arquivos de Texto . . . 268
Enviando Informao a um Arquivo . . . 271
Lendo Informaes de um Arquivo de Texto . . . 272
Lendo Nmeros de Arquivos de Texto . . . 273
A Funo Eof . . . 274
Arquivos Tipificados . . . 275
Registros em Arquivos Tipificados . . . 276
Arquivos No-Tipificados . . . 276
Informao da Linha de Comando . . . 278


Capitulo 10

Comunicao com Outros Aplicativos Windows . . . 281
A rea de Transferncia . . . 283
A Propriedade AsText da rea de Transferncia . . . 
Formatos da rea de Transferncia e Transferncias Grficas . . 
.. 
O Mtodo HasFormat . . . 
Troca Dinmica de Dados (DDE) . . . 
Criando Elos DDE em Tempo de Projeto . . . 
Elos por Meio de um Cdigo . . . 
Propriedades, Mtodos e Eventos do Componente DDE . . . 
Propriedades DDEServerItem . . . 
Mtodos DDEServerItem . . . 
Eventos DDEServerItem . . . 
Eventos DDEServerConv . . . 
Propriedades DDEClientConv . . . 
Eventos DDEClientConv . . . 
Mtodos DDEClientConv . . .
Propriedades DDEClientItem . . . 
Eventos de DDEClientItem . . . 
OLE . . . 
Utilizando OLE . . . 
Utilizando o OLE 2 em Tempo de Projeto . . . 
Paste Special . . . 
Propriedades do OLE . . . 
Criando Conexes OLE por Meio de Cdigo . . . 


Capitulo 11

Grficos . . . 305
O Componente Shape . . . 
Fundamentos de Grficos . . . 
Mais sobre Componentes Image . . . 
Fundamentos de Grficos Canvas . . . 
Cores . . . 
Controle de Pixel . . . 
Desenhando Formas . . . 
ltimo Ponto Referenciado . . . 
Canetas . . . 
Pincis (Brushes) . . .
Salvando Grficos em Disco . . . 


Capitulo 12

Recursos Avanados da Interface com o Usurio . . . 317
Acrescentando Barras de Ferramentas e Barras de Status aos Projetos . . 
.. 319
Construindo uma Barra de Ferramentas ou uma Barra de Status . . . 319
Barras de Status . . . 321
Caixas de Dilogo Comuns . . . 322
Trabalhando com Caixas de Dilogo Comuns . . . 323
As Caixas de Dilogo File Open e File Save . . . 324
A Caixa de Dilogo Color Choice . . .  325
A Caixa de Dilogo Font Choice . . . 326
A Caixa de Dilogo Printer . . . 327
Formulrios MDI . . . 328
O Menu Window e o Mtodo Arrange . . . 329
Mais sobre Como o Delphi Exibe um Trabalho: A Ordem-Z . . . 330
Monitorando a Atividade do Mouse . . . 330
Os Manipuladores de Evento do Mouse . . . 331
Os Eventos OnMouseUp/OnMouseDown . . . 332
O Evento OnMouseMove . . . 335
Operaes de Arrastar e Soltar . . . 335
Arrastar e Soltar Manualmente . . . 337
O Evento OnDragOver . . . 338
Sistemas de Ajuda . . . 339


Capitulo 13

Uma Viso dos Recursos de Banco de Dados . . . 343
Algumas Palavras Genricas a Respeito dos Bancos de Dados Modernos . .
.. 345
A Arquitetura de Banco de Dados no Delphi . . . 348
Os Componentes Data Access . . . 348
O Componente Table . . . 350
O Componente Query . . . 350
O componente DataSource . . . 351
Os Componentes na Pgina Data Controls . . . 351
Database Form Expert . . . 353
Uma Observao Final . . . 353
