Professional Documents
Culture Documents
DELPHI 7
CURSO COMPLETO
Marcelo Leo
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 editora@axcel.com.br, para que no seja alvo das penalizaes previstas em Lei. Usar cpia ilegal tambm crime de violao dos direitos autorais.
DO DIREITO AUTORAL.
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
SUMRIO
DEDICATRIA
minha esposa Beatriz e aos meus filhos Thiago e Lucas, minhas constantes e principais fontes de estmulo e carinho.
AGRADECIMENTOS
A 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 AUTOR
Marcelo 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
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
III
SUMRIO
PARTE 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
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
SUMRIO
Alterando 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
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
VI
00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
SUMRIO
Definindo 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
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
VII
SUMRIO
O 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
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
IX
00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
SUMRIO
Principais 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
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
XI
SUMRIO
Criao 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
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
XIII
SUMRIO
Alterando o Tempo de Incio e Trmino de Exibio da String de Auxlio ............................................... 739 Alterando o Tempo de Exibio Entre Strings de Auxlio Distintas .......................................................... 739 Exibindo uma String de Auxlio Composta por Vrias Linhas .................................................................. 739 KNOW-HOW em: Mltiplas Instncias ............................................................................................ 740 Apresentao do Problema ............................................................................................................................. 740 KNOW-HOW em: Reinicializao do sistema a partir de uma aplicao ..................................... 741 Apresentao do Problema ............................................................................................................................. 741 KNOW-HOW em: Manipulao da data e hora do sistema ............................................................ 741 O Tipo TDateTime .......................................................................................................................................... 742 Obtendo a Data e Hora do Sistema ............................................................................................................ 742 Convertendo um Valor do Tipo Data/Hora em uma String ...................................................................... 743 Convertendo uma String em um Valor do Tipo Data/Hora ...................................................................... 743 Obtendo o Dia da Semana Correspondente a uma Data ........................................................................... 743 Funes Especiais de Converso de Data/Hora .......................................................................................... 743 KNOW-HOW em: Personalizao de Formulrios com a Definio de um Pano de Fundo ........ 744 Inserindo um Pano de Fundo em um Formulrio .......................................................................................... 744 KNOW-HOW em: Desenvolvimento de Aplicaes MDI ................................................................. 745 Criando Aplicaes MDI ................................................................................................................................. 745 Criando a Janela Principal de uma Aplicao MDI ................................................................................... 746 Criando uma Janela-filha de uma Aplicao MDI ..................................................................................... 746 Destruindo Uma Janela-Filha de uma Aplicao MDI ............................................................................... 746 Organizando a Exibio das Janelas-filhas ................................................................................................. 747 Mesclando Menus ...................................................................................................................................... 747 Codificando a Aplicao ................................................................................................................................. 748 KNOW-HOW em: Operaes de Drag-drop em Componentes ........................................................ 751 Apresentao do Problema ............................................................................................................................. 751 Descrio das Tcnicas de Drag & Drop ..................................................................................................... 751 Exemplo de Utilizao ................................................................................................................................ 752 Definio da Interface ................................................................................................................................ 752 Codificao do Exemplo ............................................................................................................................ 754 CAPTULO 37: INTERNACIONALIZAO DE APLICATIVOS CRIADOS COM O DELPHI .................................................. 757 KNOW-HOW em: Internacionalizao de Aplicativos .................................................................... 758 O Ambiente Integrado de Traduo do Delphi 7 ........................................................................................... 758 Incorporando os Recusos do Ambiente Integrado de Traduo ao seu Projeto de Aplicativo ....................................................................................................... 758 Traduzindo Constantes e Expresses .............................................................................................................. 763 Definindo o Idioma Corrente ......................................................................................................................... 765 Utilizando o Translation Repository .......................................................................................................... 766 CAPTULO 38: CRIANDO APLICAES PARA A INTERNET .................................................................................. 769 KNOW-HOW em: Desenvolvimento de Aplicaes CGI com WebBroker ...................................... 770 Procedimentos Bsicos Necessrios Criao de Aplicaes CGI .................................................................. 770 Uma Aplicao CGI Bastante Elementar ........................................................................................................ 771 Exibindo a Data e a Hora do Sistema em uma Pgina HTML ........................................................................ 776 Respondendo a Entrada de Dados de Formulrios HTML .............................................................................. 777 O Componente PageProducer .................................................................................................................... 780 O Componente DataSetTableProducer ...................................................................................................... 782 O Componente QueryTableProducer ......................................................................................................... 788 KNOW-HOW em: Desenvolvimento de Aplicaes CGI com WebSnap ....................................................... 791 Criando o Mdulo Principal de uma Aplicao WebSnap ............................................................................. 792 Adicionando um Grid Para Exibio dos Registros ........................................................................................ 796 Adicionando Botes Para a Edio dos Registros do Grid .............................................................................. 798 Criando uma Pgina com um Formulrio Para Edio dos Registros ............................................................ 799 Conectando as Pginas ................................................................................................................................... 801 Testando a Aplicao ...................................................................................................................................... 801 Tratando Erros ................................................................................................................................................. 803 Criando uma Pgina de Login ........................................................................................................................ 803 Definindo as Pginas que Requerem Login .................................................................................................... 805 Definindo Direitos de Acesso a Usurios ........................................................................................................ 805 KNOW-HOW em: Desenvolvimento de Aplicaes CGI com Intraweb ........................................................ 806 Fundamentos da Tecnologia IntraWeb ........................................................................................................... 807 Criando a Aplicao ........................................................................................................................................ 807
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
XV
CAPTULO 41: PROPRIEDADES ..................................................................................................................... 977 CAPTULO 42: MTODOS .......................................................................................................................... 1229 CAPTULO 43: EVENTOS ........................................................................................................................... 1339 NDICE REMISSIVO .................................................................................................................................. 1383
CAPTULO 1 INTRODUO
Parte
Fundamentos
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CAPTULO 1 INTRODUO
Captulo
Introduo
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
METODOLOGIA
Apresentao do problema: A escolha de uma ferramenta capaz de acelerar o processo de desenvolvimento de software.
00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CAPTULO 1 INTRODUO
no desenvolvimento dos novos sistemas. A linguagem C++, por ser uma extenso da linguagem C (s vezes denominada por alguns autores como C com Classes), podia acessar diretamente as funes da API do Windows e j oferecia uma srie de classes que definiam os principais elementos de interface. Continuava, no entanto, a existir uma certa distncia entre a codificao do aplicativo e a criao da interface com o usurio. A interface com o usurio era desenhada em um editor de recursos e a sua associao ao cdigo era feita de forma indireta, em uma tabela de respostas a eventos definida no cdigo da aplicao. Essa lacuna comeou a ser preenchida com o surgimento das primeiras ferramentas para desenvolvimento rpido de aplicativos, tambm denominadas ferramentas RAD (Rapid Application Development). Essas ferramentas permitiam associar, de maneira simples e rpida, um elemento de interface e o cdigo da aplicao. Uma das primeiras ferramentas a adotar o conceito RAD foi o Visual Basic for Windows, da Microsoft. Ao adotar uma linguagem simples como o Basic e facilitar a associao entre cdigo e elementos de interface (por meio da incorporao das tcnicas de programao orientada a eventos), o Visual Basic reuniu os requisitos bsicos para se tornar, inicialmente, uma das ferramentas de desenvolvimento de maior sucesso do mercado. Havia, no entanto, algumas limitaes. Uma aplicao desenvolvida em Visual Basic requeria a utilizao de algumas DLLs cuja distribuio era indesejvel, e o desempenho dos aplicativos gerados no era to bom quanto o das aplicaes desenvolvidas em C++. Alm disso, o Visual Basic no suportava os requisitos de uma linguagem de programao orientada a objetos (o que, no entanto, j ocorre a partir da verso do produto para a plataforma .NET, que incorporou profundas modificaes na linguagem). Os desenvolvedores Windows passaram ento a ser obrigados a optar entre desempenho final e velocidade de desenvolvimento. Aqueles que optassem pelos ambientes de desenvolvimento baseados na linguagem C++ ganhavam no desempenho das aplicaes geradas, mas necessitavam de prazos superiores aos daqueles que optavam pelo Visual Basic. Foi ento que a Borland surpreendeu o mercado com o lanamento do Borland Delphi (ainda na verso 1.0 para desenvolvimento de aplicaes para o Windows 3.x) uma ferramenta que aliava a facilidade do Visual Basic ao poder da linguagem Object Pascal, cujo compilador apresentava o mesmo desempenho do Borland C++. O Delphi apresentava (e ainda apresenta) uma biblioteca de componentes inteiramente desenvolvida em Object Pascal a VCL (Visual Component Library) , na qual cada componente era representado por uma classe. Alm disso, a linguagem Object Pascal suportava os requisitos bsicos de programao orientada a objetos (excetuando-se apenas os recursos de herana mltipla que pode ser simulada e sobrecarga de operadores e funes esse ltimo recurso j incorporado desde a verso 4 do produto). Alm disso, a Borland disponibilizou o cdigo-fonte dos componentes da VCL, o que permitiu aos desenvolvedores compreender sua estrutura hierrquica e codificao, e tambm facilitou a expanso dessa biblioteca mediante a criao de novos componentes (desenvolvidos por terceiros). Essa estratgia impulsionou o surgimento de um novo mercado o mercado de desenvolvedores de componentes. Ao mesmo tempo em que incorpora ao Delphi os componentes padres para criao de interface, a Borland permite que terceiros desenvolvam componentes capazes de realizar tarefas especficas.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CAPTULO 1 INTRODUO
Embora tenha me esforado para redigir meus livros de forma didtica e precisa, de maneira a poder oferecer informao atualizada aos nossos leitores, a rapidez com que a informtica evolui fora-nos a escrever e publicar livros em tempo recorde! Conseqentemente, eventuais erros de redao ou digitao podem vir a ocorrer, mas que de forma alguma comprometem o entendimento do assunto. Reforo o argumento de que programao uma atividade que exige muito raciocnio, estando distante de ser uma atividade mecnica. De qualquer maneira, estarei disposio para resolver dvidas referentes ao livro pelo endereo eletrnico mrleao@rio.com.br. Gostaria de concluir esse captulo parabenizando o leitor por adotar o Delphi 7 como ferramenta de desenvolvimento. Conforme ser mostrado ao longo do livro, o Delphi 7 ferramenta de desenvolvimento robusta e capaz de atender s necessidades de desenvolvedores de qualquer porte desde aqueles que desenvolvem aplicativos mais simples (com acesso a bancos de dados locais) at aqueles que esto comprometidos com o desenvolvimento de solues corporativas e para a Internet.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Captulo
O Ambiente de Desenvolvimento Integrado do Delphi 7
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
METODOLOGIA
Apresentao dos elementos que compem o ambiente de desenvolvimento integrado do Delphi 7.
10 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
As figuras exibidas neste livro foram capturadas com o sistema operacional Windows XP, mas os procedimentos e as janelas so muito semelhantes nas outras verses deste sistema operacional (95/98/Me/NT/2000). O ambiente de desenvolvimento integrado do Delphi 7 composto pelas seguintes reas de trabalho: a) Uma janela principal, onde se encontram: Uma barra de ttulos, que exibe o ttulo do projeto corrente. Quando voc inicia um novo projeto, este recebe o nome default Project1, como mostra a figura anterior. Uma barra de menus, que d acesso aos principais comandos e configuraes do ambiente de desenvolvimento integrado do Delphi 7. Uma caixa de ferramentas, composta de vrios botes reunidos em trs grupos, e que fornecem atalho para a execuo de diversas tarefas, como ser mostrado ao longo do texto. Uma caixa combo que permite selecionar a configurao desejada para a sua rea de trabalho. Uma paleta de componentes, composta por diversas pginas nas quais os componentes esto reunidos por categoria. Estes componentes so os objetos utilizados na criao da interface do programa, no desenvolvimento de aplicaes para o ambiente Windows. Estas pginas da paleta de componentes apresentam algumas diferenas quando a aplicao se baseia na VCL ou na CLX. A VCL, por ser desenvolvida exclusivamente para o ambiente Windows, possui mais componentes que a CLX (que precisa atender ao requisito de ser multiplataforma). Logo, se voc for desenvolver uma aplicao exclusivamente para o ambiente Windows, dever dar preferncia utilizao da VCL. Caso a aplicao venha a ser multiplataforma (compilada no Delphi para o ambiente Windows e no Kylix para o ambiente Linux), dever dar preferncia utilizao da CLX. b) Uma janela chamada Object Inspector, que d acesso s principais propriedades e eventos de um componente. Esta janela composta por: Uma caixa de seleo de objetos, utilizada para selecionar o objeto cujas propriedades e eventos desejamos alterar. Duas guias, intituladas Properties e Events, que do acesso s pginas de propriedades e de eventos, respectivamente. Os nomes das propriedades e dos eventos podem ser organizados em ordem alfabtica ou por categoria, alm de se poder ocultar a exibio de determinados tipos de propriedades e eventos. Esta versatilidade permite otimizar ainda mais a utilizao do ambiente de desenvolvimento. c) Uma janela chamada Form1, criada automaticamente pelo Delphi 7. O que o Delphi 7 chama de formulrios so as janelas usadas no desenvolvimento de aplicaes. Em geral, uma aplicao composta por diversas janelas (ou, como descrito anteriormente, por vrios formulrios). Uma janela denominada Code Editor mostrada na figura a seguir , inicialmente sobreposta pelo formulrio Form1, na qual ser digitado o cdigo da aplicao. Para alternar entre o Editor de Cdigos e o formulrio, basta pressionar seguidamente a tecla de funo F12.
d)
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
11
Para que uma aplicao se comporte da maneira desejada, torna-se necessria a incluso de linhas de cdigo que definam o comportamento do programa, como resposta a aes do usurio ou do sistema operacional. Embora o Delphi 7 facilite muito o trabalho de codificao de um aplicativo, sempre ser necessrio incluir algumas linhas de cdigo, como ser mostrado ao longo do livro, no desenvolvimento dos nossos aplicativos-exemplo. Repare que, inicialmente, a janela do Editor de Cdigos possui uma outra janela ancorada ao longo da sua extremidade esquerda. Esta janela, chamada Code Explorer, e que pode ser reposicionada dentro do ambiente de desenvolvimento integrado do Delphi 7, permite uma melhor movimentao pelo cdigo da aplicao, principalmente quando os arquivos de cdigo se tornam mais extensos. Em sua barra de ttulos, a janela do Code Editor apresenta o nome do arquivo em que est armazenado o cdigo que est sendo editado no momento. Inicialmente, conforme mostrado na figura anterior, esse arquivo denominado Unit1. Logo abaixo da sua barra de ttulos so exibidas as guias correspondentes aos arquivos de cdigo que esto abertos. Na figura anterior, como apenas o arquivo unit1 est aberto, s existe uma guia, identificada pelo nome Unit1 (essa a situao existente quando se inicia um novo projeto). Ao editar o cdigo do seu programa, voc pode aplicar as tcnicas de copiar, recortar e colar texto usando as combinaes de tecla Ctrl+C, Ctrl+X e Ctrl+V, como se faz em muitos editores de texto, ou empregar os itens correspondentes no menu Edit da janela principal do ambiente de desenvolvimento. e) Uma janela chamada Object TreeView mostrada na figura a seguir que permite selecionar rapidamente um componente inserido no formulrio, estando os nomes dos componentes exibidos
12 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
importante destacar que o ambiente de desenvolvimento do Delphi 7 completamente configurvel. Voc pode ancorar janelas em outras, alm de arrast-las e reposicion-las de forma que o ambiente seja configurado para acelerar ao mximo a sua produtividade. Existem ainda outras janelas, usadas principalmente na depurao de aplicativos, e que sero discutidas em um captulo posterior. A janela principal usada para a edio do trabalho, personalizao do ambiente, gerenciamento de documentos, etc. Os elementos que compem a janela principal podem ser tratados como barras de ferramentas independentes (mas internas janela principal), isto , podem ser arrastados, reposicionados, etc. dentro da janela principal. Voc pode selecionar os elementos que devem ser exibidos na janela principal. Para isso, basta executar o seguinte procedimento: 1. Pressionar o boto direito do mouse sobre qualquer rea livre da janela principal (geralmente na rea superior direita dessa janela, prximo ao menu Help) para exibir o menu pop-up mostrado na figura a seguir, na qual se pode selecionar os elementos da janela principal que devem ou no ser exibidos.
Figura 2.4: Exibindo o menu pop-up da janela principal do ambiente de desenvolvimento do Delphi 7.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
13
Essa caixa de dilogo apresenta ainda as guias Commands e Options, que permitem que se definam opes para a janela principal. Utilizando-se da guia Commands dessa caixa de dilogo, voc pode adicionar novos botes s barras de ferramentas da janela principal. Para isso, basta executar os seguintes procedimentos: 1. Exiba a caixa de dilogo Customize, executando os procedimentos descritos anteriormente. 2. Selecione a guia Commands dessa caixa de dilogo. 3. Selecione uma das categorias na lista da esquerda (lista Categories). Os comandos correspondentes so exibidos na lista da direita (Commands). 4. Selecione o comando que deseja acessar por meio de um boto de comando e o arraste para a janela principal, na posio em que o boto deve ser inserido. Caso o comando possua um bitmap associado, este ser exibido no boto a ser criado; caso contrrio, o texto do comando ser exibido (e as dimenses do boto sero maiores). Para remover o boto de comando, basta selecion-lo e arrast-lo para fora da barra de ferramentas. Utilizando a guia Options dessa caixa de dilogo, voc pode definir se os botes de comando devem ou no exibir strings de auxlio e se estas devem ou no exibir as teclas de atalho correspondentes ao comando. Para isso, basta selecionar as opes correspondentes.
14 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Os procedimentos necessrios personalizao de um formulrio sero apresentados posteriormente, medida que forem apresentados os procedimentos necessrios criao da interface.
CONTROLES E COMPONENTES
Os componentes so os objetos utilizados para criar a interface do programa com o usurio e executar tarefas especficas do sistema operacional. Os controles so os componentes que podem permanecer visveis durante a execuo do aplicativo. Fica evidente, portanto, que os componentes podem ser divididos em dois grandes grupos: os componentes no-visuais e os componentes visuais os controles. Como exemplo de componentes no-visuais podem ser citados os que permitem a exibio das caixas de dilogo padro do sistema (encontradas na pgina Dialogs da paleta de componentes) e o temporizador (encontrado na pgina System da paleta de componentes do Delphi 7), usado para gerar mensagens do sistema a intervalos de tempo predefinidos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
15
As pginas da paleta de componentes exibidas no Delphi 7 dependem da biblioteca de componentes utilizada. As pginas de componentes da VCL e da CLX no so exatamente iguais, mas a maneira de utiliz-las a mesma. As diferenas dizem respeito existncia ou no de determinadas pginas (A CLX, por ser multiplataforma, no possui uma pgina chamada Win32 na sua paleta de componentes) e componentes especficos, bem como localizao de determinados componentes. O temporizador (componente Timer) um exemplo de componente disponvel nas duas bibliotecas, mas em pginas diferentes da paleta de componentes. importante destacar que, inicialmente, nem todas as guias esto visveis. Para navegar pelas guias da paleta de componentes, use os botes de seta situados no seu canto superior direito. Para selecionar uma das pginas, basta clicar com o boto esquerdo do mouse sobre a guia correspondente. Quando o nmero de componentes de uma pgina exceder a sua capacidade de exibio, use os botes de seta situados nas extremidades da pgina para exibir os componentes que estiverem ocultos. Outra opo alterar a resoluo atual do seu monitor, de forma a tornar possvel a exibio simultnea de um maior nmero de componentes por pgina. Normalmente, em uma resoluo de 800 x 600, todos os componentes podem ser acessados sem qualquer dificuldade, o que no ocorre no caso em que se adota uma resoluo de 640 x 480. Cada controle ou componente tem propriedades, mtodos e eventos associados. As propriedades de um controle ou componente definem o seu aspecto e algumas das suas principais caractersticas. Os mtodos so funes ou procedimentos intrnsecos ao controle ou componente, e so capazes de realizar alguma tarefa especfica quando executados. Os eventos, por sua vez, so acontecimentos associados a um controle ou componente. As definies de propriedades, mtodos e eventos sero detalhadas nos tpicos a seguir.
PROPRIEDADES
Os controles e componentes, junto com os formulrios, so objetos predefinidos da linguagem Object Pascal (a linguagem de programao utilizada pelo Delphi 7) e apresentam algumas caractersticas muito semelhantes s dos objetos que diariamente manipulamos. Vamos aproveitar essas semelhanas na definio das caractersticas dos objetos da linguagem Object Pascal e eleger como objeto de
16 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Esse um tpico exemplo de comando de atribuio, e o sinal de igualdade precedido por dois-pontos , nesse caso, denominado operador de atribuio. Os operadores da linguagem Object Pascal sero apresentados no prximo captulo.
MTODOS
Todo objeto na vida real tem alguma funcionalidade e, no caso do monitor de vdeo, por exemplo, essa funcionalidade consiste em mostrar a imagem correspondente a um sinal enviado pela placa de vdeo do sistema. Entretanto, para que isso acontea, necessrio que o monitor de vdeo saiba como transformar o sinal emitido pela placa de vdeo em imagem, isto , deve existir um mtodo para se fazer isso (no caso do monitor de vdeo, existem circuitos eletrnicos que se encarregam dessa tarefa). Assim como o monitor de vdeo, os objetos utilizados no desenvolvimento de uma aplicao com o Delphi 7 tambm tero mtodos que os tornaro capazes de realizar determinadas tarefas. Diferentemente do que ocorre com as propriedades, que tambm podem ser definidas na fase de projeto, a chamada a um mtodo s pode ser feita durante a execuo do aplicativo, mediante a incluso de uma linha de cdigo com a seguinte sintaxe:
nome_do_objeto.nome_do_mtodo;
Conforme ser descrito posteriormente (no captulo referente programao orientada a objetos), um mtodo pode ou no receber parmetros, sendo, na realidade, uma funo ou procedimento que definida para o objeto (para ser mais exato, um mtodo definido internamente a uma classe, da qual
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
17
EVENTOS
No tpico anterior vimos que todo objeto tem mtodos, que so caractersticas que representam a sua funcionalidade. Normalmente, os mtodos so executados em resposta a algum acontecimento (um evento). No caso do monitor de vdeo, por exemplo, quando o usurio alterna entre aplicaes do Windows (quando ocorre o evento de alternar entre aplicaes), os mtodos necessrios atualizao da imagem so executados. Da mesma forma que no monitor de vdeo, os objetos que usamos no desenvolvimento dos nossos aplicativos com o Delphi 7 tambm apresentam eventos associados. Cada objeto tem a capacidade de responder a um determinado conjunto de eventos, e essa resposta a um evento feita mediante a definio de um procedimento associado a esse evento, e esse procedimento pode ser facilmente acessado por meio do Object Inspector. Sempre que um determinado evento ocorre, a aplicao verifica se existe um procedimento associado a esse evento e, em caso positivo, o procedimento a ele associado executado. Considere, por exemplo, um boto de comando, objeto bastante comum nas aplicaes desenvolvidas para o ambiente Windows. Quando um usurio seleciona um boto (clicando sobre este com o boto esquerdo do mouse), diz-se que ocorreu o evento de clicar sobre o boto com o boto esquerdo do mouse. Quando esse evento ocorre, o usurio espera alguma resposta (afinal de contas, se o boto est l, deve servir para alguma coisa). Associado a esse evento, deve haver um procedimento a ser executado sempre que isso ocorrer. importante lembrar que, ao ocorrer esse evento, a aplicao verifica se existe um procedimento associado. Se houver, esse procedimento executado, se no, a aplicao no faz nada. Cabe a voc o desenvolvedor definir um procedimento associado a esse evento e codificar os comandos a serem executados nesse procedimento. Nos prximos tpicos, sero apresentados os passos necessrios definio de procedimentos associados a eventos.
O OBJECT INSPECTOR
Essa janela, que fornece acesso direto s propriedades e eventos associados a um componente, tem: Uma caixa de seleo de objetos, que identifica o objeto selecionado. Pginas de eventos (acessada selecionando-se a guia Events com o boto esquerdo do mouse) e de propriedades (acessada selecionando-se a guia Properties com o boto esquerdo do mouse).
18 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
19
Para alguns componentes, algumas propriedades consideradas muito importantes tambm so exibidas na pgina de eventos do Object Inspector.
20 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Observe que o cabealho e o corpo principal do procedimento so gerados automaticamente. Qualquer cdigo a ser executado em resposta a esse evento dever ser escrito entre as palavras begin e end (no as apague). Como mostra a Figura 2.12, alm de criar o cabealho e o corpo principal da funo, o compilador ainda inseriu uma declarao do procedimento dentro da definio da classe TForm1 (Calma! Se voc no sabe o que uma classe, no precisa se assustar, pois isso ser visto no prximo captulo).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
21
22 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Na primeira linha, tem-se a palavra-chave program seguida do nome do projeto (nome do arquivo de projeto). Se voc salvar esse projeto com um outro nome, esse outro nome ser mostrado logo aps a palavra-chave program (em vez de Project1). O programador iniciante no deve manipular diretamente o arquivo de projeto. Mesmo no desenvolvimento de aplicativos avanados, raramente se faz necessria a manipulao direta desse arquivo, ficando todo o gerenciamento do projeto por conta do prprio ambiente. Em seguida pode-se verificar a clusula Uses reproduzida a seguir. Na VCL:
uses Forms, Unit1 in Unit1.pas {Form1};
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
23
Essa clusula permite que o arquivo de projeto acesse as definies armazenadas nos arquivos Forms.pas (no caso da VCL) ou QForms.pas (no caso da CLX) e Unit1.pas. Repare que, enquanto a VCL usa a unit Forms, a CLX usa a unit QForms. Em geral, o prefixo Q identifica que a unit pertence biblioteca CLX. Em seguida verifica-se a presena da seguinte linha de cdigo:
{$R *.res}
Esta linha de cdigo, exibida normalmente em itlico, representa uma diretiva de compilao, e indica ao compilador que, associado a este projeto, deve existir um arquivo de recursos (resources) com o mesmo nome do arquivo de projeto e extenso .res, e que se este arquivo no existir, dever ser criado. Por fim, verifica-se a existncia do seguinte trecho de cdigo (que o cdigo principal do arquivo de projeto, responsvel pela execuo do aplicativo):
begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.
Nesse trecho de cdigo usa-se o objeto Application (que uma instncia da classe TApplication) que representa a aplicao. O mtodo Initialize do objeto Application, executado na linha de cdigo reproduzida a seguir, responsvel pela inicializao da aplicao.
Application.Initialize;
O mtodo CreateForm do objeto Application carrega um formulrio na memria (esse mtodo recebe como parmetros a classe e o nome do formulrio). Nesse caso, como o projeto recm-criado j possui automaticamente um formulrio chamado Form1, da classe TForm1, a criao desse formulrio feita na execuo da seguinte linha de cdigo:
Application.CreateForm(TForm1, Form1);
A execuo da aplicao se inicia com a execuo do mtodo Run do objeto Application, o que ocorre mediante a execuo da seguinte linha de cdigo:
Application.Run;
Se voc examinar o cdigo do arquivo unit1.pas criado pela VCL, mostrado a seguir, ver que esse cdigo faz referncia ao objeto Form1:
24 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Na primeira linha, tem-se a palavra-chave unit seguida do nome da unit (nome da unidade de cdigo). Se voc salvar o arquivo dessa unit com um outro nome, esse outro nome ser mostrado logo aps a palavra-chave unit (em vez de unit1). Alm disso, pode-se observar a seguinte linha de cdigo:
{$R *.DFM}
Essa linha de cdigo representa uma diretiva de compilao e indica ao Delphi 7 que, associado a essa unit, existe um arquivo de mesmo nome, mas com a extenso DFM. Um arquivo com a extenso DFM armazena uma descrio textual do formulrio. Para acessar o arquivo unit1.dfm, por exemplo, basta executar os seguintes procedimentos: 1. Selecione o formulrio, clicando sobre este com o boto esquerdo do mouse. 2. Pressione o boto direito do mouse, para exibir o menu pop-up mostrado na Figura 2.14. Nunca altere o nome do arquivo no qual a unit est armazenada usando as ferramentas disponveis no sistema operacional. Sempre que precisar alterar o nome do arquivo no qual uma unit est armazenada, use as opes disponveis no ambiente de desenvolvimento (usando, por exemplo, o item Save as do menu File ou o boto correspondente da barra de ferramentas).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
25
3. Selecione o item View as Text do menu pop-up. Pronto! Ser exibida a descrio textual do formulrio, como mostra a Figura 2.15.
At a verso 4 do Delphi esse arquivo, que contm a descrio textual do formulrio, era armazenado com uma formatao especial e no podia ser visualizado em outros editores de texto. Nas ltimas verses, este arquivo passou a ser armazenado, por default, como um arquivo ASCII, desde que a opo correspondente (Text DFM) esteja selecionada no menu pop-up do formulrio.
26 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Repare na diferena entre os nomes das units bsicas acessadas pela VCL e pela CLX. Alm disso, a diretiva de compilao {$R *.xfm} indica que, associado a essa unit, existe um arquivo de mesmo nome, mas com a extenso xfm (mantenha a extenso em letras minsculas, pois caso voc venha a recompilar sua aplicao no Kylix, isto faz diferena). Podemos ento concluir que, em qualquer das bibliotecas de componentes, todo formulrio tem uma unidade de cdigo associada (um arquivo com a extenso PAS) e possui a sua descrio visual armazenada em um arquivo com a extenso DFM (no caso da VCL) ou xfm (no caso da CLX) que armazena a sua descrio textual. Para retornar situao anterior (representao visual do formulrio), bastando executar os seguintes procedimentos: 1. Selecione o arquivo com a descrio textual do formulrio. 2. Pressione o boto direito do mouse, para exibir o menu pop-up mostrado na Figura 2.16. 3. Selecione o item View As Form do menu pop-up. Pronto! Ser exibida novamente a representao visual do formulrio. Ao fazer o backup de um projeto de aplicao, voc dever copiar: Os arquivos de cdigo (extenso .pas). Os arquivos de descrio textual de formulrio (extenso .dfm no caso da VCL ou .xfm no caso da CLX). O arquivo de projeto (extenso .dpr). Alm dos arquivos do banco de dados, se for o caso.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
27
28 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1. Selecione o item Application, na pgina New desta caixa de dilogo, para criar uma aplicao baseada na VCL. 2. Selecione o item CLX Application, na pgina New desta caixa de dilogo, para criar uma aplicao baseada na CLX. 3. Clique em OK, para fechar a caixa de dilogo. Ser ento criado um novo projeto chamado Project1, armazenado no arquivo Project1.dpr; um formulrio denominado Form1, armazenado no arquivo unit1.dfm (no caso da VCL) ou unit1.xfm (no caso da CLX) e um arquivo de cdigo associado ao formulrio Form1, denominado Unit1.pas. Esses so os nomes default fornecidos pelo ambiente de desenvolvimento, mas voc deve salvar o seu projeto e os seus arquivos de cdigo com nomes mais fceis de se memorizar. Antes de iniciar o desenvolvimento de uma aplicao, voc deve planej-la com cuidado, principalmente no que se refere aos nomes dos arquivos a serem manipulados pela aplicao. Um arquivo com o cdigo referente ao cadastro de um scio, por exemplo, pode ser armazenado com o nome UnitCadastroSocio.pas. Repare que o nome de um arquivo deve ser o mais descritivo possvel, de maneira a facilitar uma futura manuteno do sistema. Se aps iniciar o desenvolvimento da aplicao voc desejar alterar o nome de um arquivo de cdigo aps referenci-lo em outros arquivos, ser necessrio alterar explicitamente todas as referncias a este arquivo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
29
Sempre que voc mandar salvar as alteraes de projetos, ser solicitado que voc atribua nomes a todas as units que foram criadas desde a ltima vez em que o projeto foi salvo, e que ainda no foram renomeadas (isto , ainda esto com o nome default gerado pelo ambiente). Aps definir um nome para a primeira unidade de cdigo e fechar a caixa de dilogo Save Unit1 As com o boto Salvar, ser exibida a caixa de dilogo Save Project1 As (Figura 2.19), para que voc defina o nome e a pasta do arquivo de projeto. Salve esse projeto com um nome fcil de se memorizar, mas que seja diferente dos nomes atribudos aos arquivos de cdigo (voc no pode dar o mesmo nome a uma unit e a um arquivo de projeto). Nesse caso, adotamos o nome Clube, como mostra a figura a seguir.
30 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
FECHANDO UM PROJETO
Ao terminar de executar seu trabalho, voc deve fechar o ambiente de desenvolvimento integrado. Antes disso, no entanto, voc deve salvar as alteraes realizadas no projeto. Para salvar todas as alteraes realizadas, basta executar um dos seguintes procedimentos: 1. Selecione o item Save All do menu File. Ou: 1. Na caixa de ferramentas, selecione o cone correspondente. Para fechar o projeto, basta executar um dos seguintes procedimentos: 1. Selecione o item Close do menu File. Ou: 1. Selecione o item Close All do menu File. Se voc alterar o projeto atual ou um dos arquivos de cdigo e no salv-lo antes de tentar executar os passos anteriores, ser apresentada uma caixa de dilogo como as das Figuras 2.20 e 2.21, perguntando se as alteraes devem ser salvas. Caso no tenha sido definido um nome para o projeto e para cada uma das suas unidades de cdigo, tambm sero apresentadas as caixas de dilogo Save Unit1 As e Save Project1 As, descritas anteriormente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
31
2. Selecione o item Project Group, na pgina New desta caixa de dilogo. 3. Clique em OK, para fechar a caixa de dilogo. Ser exibida a caixa de dilogo Project Manager, mostrada na figura a seguir.
32 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para adicionar um projeto existente ao grupo de projetos atual, voc deve executar os seguintes procedimentos: 1. Selecionar o boto direito do mouse com o nome do grupo de projetos selecionado, para exibir o menu pop-up dessa janela. 2. Selecionar o item Add Existing Project desse menu pop-up, como mostrado na figura a seguir. Ser exibida a caixa de Open Project, na qual voc dever selecionar o projeto a ser includo no grupo de projetos atual e o boto Abrir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
33
No Delphi 7, voc pode adicionar ou remover unidades de cdigo em um projeto simplesmente arrastando o seu cone a partir do Windows Explorer para o local adequado na janela do Project Manager. A figura a seguir apresenta a janela do gerenciador de projetos (Project Manager) aps a incluso de um novo projeto (Project1.exe) e um projeto existente (Clube.exe).
Para remover um projeto do grupo de projetos atual, voc deve executar os seguintes procedimentos: 1. Selecionar o projeto que se quer remover na janela do Project Manager. 2. Selecionar o boto Remove na janela do Project Manager.
34 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
O CODE EXPLORER
Conforme descrito anteriormente, inicialmente existe outra janela ancorada ao longo da borda esquerda da janela do Editor de Cdigos. Essa janela (denominada Code Explorer) pode ser destacada do Code Editor, bastando, para isso, selecionar a barra horizontal situada no topo da janela e arrast-la para fora da janela do Editor de Cdigos. A figura a seguir mostra a janela do Code Explorer, aps ser destacada do Editor de Cdigos.
Voc pode ancorar essa janela em qualquer janela do ambiente, como no Object Inspector, por exemplo. Para isso, basta selecionar a barra horizontal superior da janela do Code Explorer com o boto esquerdo do mouse, arrast-la e solt-la na janela em que deseja ancor-la. A figura a seguir mostra a janela do Code Explorer ancorada no Object Inspector.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
35
Conforme descrito anteriormente, a janela do Code Explorer exibe uma rvore hierrquica que mostra os tipos, classes, propriedades, variveis e rotinas globais, alm dos nomes das units listadas na clusula Uses da unit corrente. O Code Explorer permite que se acesse o trecho de cdigo no qual definido um tipo de dado ou declarada uma funo dando-se um duplo clique com o boto esquerdo do mouse sobre o item desejado na rvore hierrquica do Code Explorer. Esse recurso muito til quando se est trabalhando com unidades de cdigo extensas, nas quais se deseja localizar o trecho de cdigo no qual declarado um tipo, uma varivel, ou implementada uma funo. Alm disso, a janela do Code Explorer possui o recurso de pesquisa incremental, isto , voc pode localizar um item, digitando o seu nome quando a janela do Code Explorer possui o foco.
36 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
37
38 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Captulo
Fundamentos da Linguagem Object Pascal
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
39
METODOLOGIA
Apresentao e descrio dos elementos que compem uma unit.
40 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Inicialmente observa-se a palavra reservada unit seguida do nome do arquivo em que a unit est armazenada (j discutido no captulo anterior). Nos prximos tpicos, ser detalhado o significado de cada uma das outras linhas de cdigo, automaticamente geradas pelo Delphi 7, e sero apresentados os tipos de dados predefinidos da linguagem Object Pascal.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
41
A palavra uses outra palavra reservada da linguagem Object Pascal e define as units que sero utilizadas pela unit corrente. Repare que o ambiente j incluiu diversas units nessa clusula uses. No caso da VCL, por exemplo, foi includa a unit Windows (na qual esto armazenadas as declaraes das funes da API do Windows). Se voc remover a unit Windows da clusula uses da unit, no ter mais acesso s funes da API do Windows. Voc tambm pode, opcionalmente, incluir uma clusula uses na seo Implementation de uma unit. Isso evita problemas como referncia circular e impede que as units referenciadas nessa clusula uses sejam acessadas por outros usurios (lembre-se de que nada que declarado na seo Implementation pode ser visto por outras unidades de cdigo que usam essa unit).
METODOLOGIA
Apresentao e descrio dos conceitos de variveis, bem como dos tipos predefinidos da linguagem Object Pascal.
TCNICA
Apresentao dos procedimentos necessrios declarao de variveis e tipos na linguagem Object Pascal.
O CONCEITO DE VARIVEIS
Em um programa de computador, dados so armazenados em variveis. Na linguagem Object Pascal, a declarao de uma varivel de um determinado tipo feita na seo var de uma unit (ou de uma funo ou procedure, no caso de se desejar criar uma varivel local, conforme ser visto posteriormente) e obedece seguinte sintaxe:
var Nome_varivel: Tipo_da_varivel;
Voc pode declarar simultaneamente mais de uma varivel de um mesmo tipo. Nesse caso, os nomes das variveis devem vir separados por vrgulas, obedecendo seguinte sintaxe:
42 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Nos trechos de cdigo exemplificados anteriormente, a palavra reservada var (que j existe na unit gerada) foi includa apenas para tornar mais claro o contexto em que uma varivel declarada.
Os nomes das variveis devem comear com uma letra ou um caractere sublinhado (_), seguidos por uma seqncia de letras, dgitos ou caracteres sublinhados, e no podem conter espaos em branco ou caracteres especiais como $,%, acentuao e operadores aritmticos.
Nesse caso, conforme descrito anteriormente, o sinal de igualdade precedido de dois-pontos denominado operador de atribuio. O programador novato no deve estranhar a utilizao da seguinte linha de cdigo:
X := X + 1;
Evidentemente, se nesse caso o sinal de igual estivesse realmente representando a igualdade entre dois valores, essa equao seria matematicamente absurda. Entretanto, se considerarmos que, nesse caso, esse sinal est funcionando como um operador de atribuio, a expresso anterior passa a ter sentido, pois, nesse caso, estamos atribuindo varivel X o valor armazenado nessa varivel, acrescido de uma unidade. Essa expresso deve ser entendida da seguinte maneira: Obtenha o valor armazenado na varivel X, acrescente uma unidade a esse valor e atribua o resultado varivel X. Conseqentemente, analisando-a como um comando de atribuio, essa expresso passa a ter sentido.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
43
Formato 16 32 64 8 bits, sem sinal 16 bits, sem sinal 32 bits, sem sinal
(*) Esses tipos so definidos apenas por questo de compatibilidade com outras linguagens de programao. Uma varivel booleana pode assumir apenas os valores ordinais 0 e 1, ao passo que os demais tipos podem assumir quaisquer valores ordinais. Nesses casos, a expresso ser falsa se seu valor ordinal for 0, e verdadeira quando esse valor for diferente de 0 (como ocorre nas linguagens C e C++).
44 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Por exemplo, para criar uma varivel denominada arq_real, para representar um arquivo destinado a armazenar nmeros reais, deve ser usada a seguinte declarao:
arq_real: File of Real;
Para armazenar texto no formato ASCII, existem os tipos predefinidos Text e TextFile. Os dois so equivalentes. Nesse caso, a declarao correspondente seria:
arq_text: TextFile;
Existem funes especficas para manipulao de arquivos, que sero abordadas ainda neste captulo, aps os tpicos correspondentes s funes e procedimentos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
45
COMENTRIOS
Os comentrios constituem pores de texto cuja finalidade documentar o cdigo de um programa, sendo eventualmente empregado como recurso para a depurao de programas. A linguagem Object Pascal admite dois tipos de comentrios:
A segunda opo consiste em colocar o texto entre os seguintes identificadores: Parnteses-asterisco para incio do comentrio e asterisco-parnteses para o seu trmino.
(* isto um comentrio de mltiplas linhas *)
46 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Esse tipo de dado ainda apresenta uma caracterstica interessante: seus elementos tm uma relao de ordem, isto , Domingo menor que Segunda, que menor que Tera, e assim por diante. Podemos, ento, declarar uma varivel denominada dia, do tipo semana, incluindo a sua declarao aps a palavra-chave var:
var dia: semana;
Essa varivel pode, portanto, receber qualquer um dos valores definidos no seu tipo, como, por exemplo:
dia:= Quarta;
CONJUNTOS
Um conjunto muito parecido com um tipo de dado enumerado, mas, nesse caso, a ordem dos elementos no importante. Alm disso, uma varivel de um tipo definido como um conjunto pode armazenar vrios elementos de um conjunto (podendo inclusive no armazenar qualquer dos elementos caso em que se obtm um conjunto vazio). Para criar um tipo de dado como um conjunto, voc deve incluir, aps a palavra reservada type, uma linha de comando com a seguinte sintaxe:
nome_do_tipo = set of tipo_j_definido;
A palavra reservada set indica que est sendo criado um conjunto baseado em um tipo ordinal j definido (pode ser um dos tipos fundamentais da linguagem Object Pascal, ou um tipo definido pelo desenvolvedor). Por exemplo, para criar um tipo conjunto denominado letras, poderamos considerar o seguinte trecho de cdigo:
type letras = set of Char;
Podemos, ento, declarar uma varivel denominada consoante, do tipo letras, incluindo a sua declarao aps a palavra-chave var, como exemplificado a seguir.
var consoante: letras;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
47
Voc pode realizar operaes sobre conjuntos, tal qual se faz na matemtica. Apresentamos, a seguir, as operaes definidas para o tipo Set:
Exemplo Letras1 + Letras2 ou [a, b] + [c, d] Letras1 Letras2 ou [a, b] [c, d] Letras1 * Letras2 ou [a, b] * [a, e] Letras1 <= Letras2 ou [a, b] <= [a, d] Letras1 >= Letras2 ou [a, b] >= [a, d] Letras1 = Letras2 ou [a, b] = [a, d] Letras1 <> Letras2 ou [a, b] <> [a, d] char in Letras1 ou a in [a, d]
A operao de unio retorna um conjunto cujos elementos esto contidos em qualquer dos operandos. A operao de diferena retorna um conjunto cujos elementos esto contidos no primeiro operando, mas no esto presentes no segundo. A operao de interseo retorna um conjunto cujos elementos esto obrigatoriamente contidos simultaneamente nos dois operandos. A operao de subconjunto corresponde ao est contido que aprendemos na matemtica colegial, e retorna true ou false, conforme o primeiro operando seja ou no um subconjunto do segundo operando, isto , se todo e qualquer elemento do primeiro operando est presente no segundo. A operao de superconjunto corresponde ao contm que aprendemos na matemtica colegial, e retorna true ou false, conforme o primeiro operando seja ou no um superconjunto do segundo operando, isto , se todo e qualquer elemento do segundo operando est presente no primeiro. A operao de igualdade retorna true ou false. Retorna true se todo elemento do primeiro operando estiver presente no segundo e vice-versa, retornando false em caso contrrio. A operao de desigualdade retorna true ou false. Retorna true se ao menos um elemento do primeiro operando no estiver presente no segundo e vice-versa, retornando false em caso contrrio.
48 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
VARIVEIS COMPOSTAS
A linguagem Object Pascal permite que se definam tipos compostos de variveis, denominados registros, aos quais pertence um conjunto de variveis de tipos distintos. Isso feito mediante a incluso de um trecho de cdigo na seo type de uma unit, e que apresenta a seguinte sintaxe:
nome_do_tipo = varivel1: varivel2: ...... variveln: end; Record primeiro_tipo; segundo_tipo; n-zimo_tipo;
As variveis varivel1, varivel2, ..., variveln contidas no registro so denominadas campos do registro. Podem ser de qualquer tipo, inclusive objetos de classes definidas no ambiente ou pelo prprio desenvolvedor (a definio de uma classe ser apresentada nos prximos tpicos). Para declarar uma varivel desse tipo, devemos proceder da mesma forma que faramos se quisssemos declarar uma varivel de qualquer tipo predefinido, bastando que se inclua, aps a palavra reservada var, uma linha de cdigo como:
Nome_varivel: nome_do_tipo;
Para acessar um campo de uma varivel composta, devemos usar a chamada notao de ponto, que pode ser descrita como:
nome_da_variavel.nome_do_campo;
Por exemplo, para criar um tipo de varivel composta chamada materia, poderamos definir o seguinte trecho de cdigo, aps a palavra reservada type:
materia= Record Livro_Texto: string; carga_horaria: integer; end;
Podemos, ento, declarar uma varivel chamada matematica, do tipo materia, incluindo a sua declarao aps a palavra reservada var:
var matematica: materia;
Para atribuir valores aos seus campos, basta incluir as seguintes linhas de cdigo:
matematica.Livro_Texto:= Matematica para Principiantes; matematica.carga_horaria:= 75;
VETORES (ARRAYS)
Os vetores ou arrays so grupos de variveis com mesmo nome, mas diferenciados por um ndice, sendo teis para armazenar uma grande quantidade de dados de um mesmo tipo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
49
Onde i1 e i2 determinam os valores mnimo e mximo do ndice, respectivamente. Por exemplo, para criar um tipo chamado letras como um vetor, poderamos definir o seguinte trecho de cdigo:
type letras = array[1..23] of Char;
Podemos, ento, declarar uma varivel denominada alfabeto, do tipo letras, incluindo a sua declarao aps a palavra reservada var, como mostra o trecho de cdigo a seguir.
var alfabeto: letras;
A atribuio de valores a uma varivel definida como um vetor feita independentemente para cada um dos seus elementos, indicando-se o seu ndice entre colchetes, como mostramos a seguir.
alfabeto[1]:= a; alfabeto[2]:= b; alfabeto[3]:= c;
A linguagem Object Pascal tambm suporta diretamente o conceito de arrays dinmicos (cujas dimenses podem ser alteradas durante a execuo do aplicativo). A declarao de um array dinmico feita mediante a incluso de uma linha de cdigo que apresenta a seguinte sintaxe:
var A : array of integer; // Declara um array unidimensional de inteiros. B : array of array of real; // Declara um array bidimensional de nmeros reais. C : array of array of array of char; // Declara um array tridimensional de caracteres.
A simples declarao no aloca memria para o array, o que feito mediante uma chamada ao procedimento SetLength. Esse procedimento, declarado na unit System, recebe como parmetros o nome do array e as suas novas dimenses. Poderamos, por exemplo, alocar memria para os arrays descritos anteriormente mediante a incluso do seguinte trecho de cdigo:
SetLength(A,20); SetLength(B,20,5); SetLength(C,20,10,15);
importante deixar claro para o leitor que, para arrays dinmicos, o ndice de cada dimenso comea em 0, e no em 1, como poderia indicar a nossa intuio. Para atribuir um valor a um elemento do array multidimensional C, deve-se utilizar a seguinte linha de cdigo:
C[4,3,7]:= k;
50 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
OPERADORES ARITMTICOS
Na linguagem Object Pascal, voc pode realizar operaes aritmticas sobre variveis, e os seguintes operadores esto disponveis:
Significado Multiplicao Diviso (entre duas variveis reais) Soma (ou concatenao, no caso de strings) Subtrao Diviso (entre duas variveis inteiras) Resto da diviso entre duas variveis inteiras
Voc pode realizar uma operao aritmtica entre duas variveis e atribuir o resultado a uma terceira varivel, mediante a incluso de uma linha de cdigo com a seguinte sintaxe:
variavel3:= varivel1 op variavel2;
Onde op um dos operadores aritmticos descritos anteriormente. importante respeitar a precedncia dos operadores, que pode ser alterada mediante a utilizao de parnteses. A seguir apresentamos a ordem de precedncia dos diversos operadores:
Operador @, not *, /, div, mod, and, shl, shr, as +, , or, xor =, <>, <, >, <=, >=, in, is
Ordem de Precedncia 1 2 3 4
Os operadores + e -, quando aplicados a um nico operando (como operadores unrios, indicando o sinal de um nmero ou varivel), possuem ordem de precedncia igual a 1.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
51
Caso voc queira que a adio seja executada antes da multiplicao, deve incluir parnteses para alterar a ordem de precedncia, como a seguir (o resultado, nesse caso, seria a atribuio do valor 52 varivel X):
X := (8 + 5) * 4;
TIPOS ORDINAIS
Definem-se como ordinais os tipos de variveis cujos valores tm uma relao de ordem entre si. Dentre os tipos ordinais podem-se destacar os tipos integer e char, por exemplo. Entre duas variveis de um mesmo tipo ordinal podem-se estabelecer comparaes do tipo menor que (<), maior que (>), etc. Existem funes especficas para os tipos ordinais, que sero abordadas ainda neste captulo, aps os tpicos correspondentes s funes e procedimentos.
VARIVEIS LOCAIS
Na linguagem Object Pascal, quando uma varivel for declarada dentro de uma funo ou procedimento, ela somente ser visvel dentro da prpria rotina (procedimento ou funo), isto , ter escopo local. Se, em outra funo ou procedimento, voc declarar uma varivel com o mesmo nome, uma no tomar conhecimento da existncia da outra, no havendo relao alguma entre elas, ou qualquer tipo de interferncia. Conseqentemente, os dados tratados dentro de um procedimento ou funo esto protegidos contra intervenes externas. Quando uma varivel definida em uma funo ou procedimento, diz-se que essa varivel tem o escopo da funo ou procedimento (a varivel local funo ou procedimento), excetuando-se o caso em que a varivel definida como um parmetro que passado por referncia (precedido pela palavra reservada var).
52 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
53
METODOLOGIA
Apresentao e descrio dos elementos de sintaxe necessrios criao dos blocos de comandos e das estruturas condicionais e de repetio.
TCNICA
Apresentao e descrio dos procedimentos necessrios criao dos blocos de comandos e das estruturas condicionais e de repetio da linguagem Object Pascal.
54 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
BLOCOS DE COMANDOS
Na linguagem Object Pascal, um bloco de comandos constitudo por um conjunto de linhas de cdigo, que comea com a palavra reservada begin e termina com a palavra reservada end, seguida de um ponto-e-vrgula (;). Um bloco de comandos definido pela sintaxe:
begin {Instrues do Bloco de comandos} end;
A palavra reservada end s no deve ser seguida por um ponto-e-vrgula nas seguintes situaes: Antes da palavra reservada else, em uma estrutura condicional do tipo if-then-else (a ser abordada nos prximos tpicos). No final de uma unit (o end que encerra uma unit seguido por um ponto).
ESTRUTURAS CONDICIONAIS
Existem situaes em que se deseja executar um trecho de cdigo, apenas se uma determinada condio for verdadeira, e um outro trecho de cdigo, caso a condio testada seja falsa. Na linguagem Object Pascal, isso obtido utilizando-se as estruturas condicionais if-then-else e case of, descritas a seguir.
Caso voc no queira executar qualquer comando se a condio for falsa, basta suprimir o trecho de cdigo correspondente clusula else, como mostrado no trecho de cdigo a seguir.
if (condio) then begin {Bloco de comandos executados se a condio for verdadeira} end;
Nunca coloque um ponto-e-vrgula antes da palavra reservada else. Isso gerar um erro de compilao.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
55
e:
if (condio) then {Comandos executados se a condio for verdadeira}
Nesse caso, se a expresso testada for igual a um dos valores especificados (Valor_1, Valor_2,..., Valor_n), ser executado o bloco de comandos a ele correspondente. Caso nenhum desses valores seja igual ao definido pela expresso testada, o bloco de comandos correspondente palavra reservada else ser executado.
A expresso avaliada em uma estrutura condicional case of deve ser de um tipo ordinal.
TESTES CONDICIONAIS
Nos tpicos anteriores foram apresentadas as estruturas condicionais da linguagem Object Pascal. Nessas estruturas, a condio a ser testada deve retornar o valor False (falso) ou True (verdadeiro). Quando a condio a ser testada uma varivel booleana, a sua verificao imediata. Existem situaes, no entanto, em que o resultado da condio advm de uma relao entre dois operandos. Quando for esse o caso, devem-se usar os operadores relacionais da linguagem Object Pascal, mostrados nos tpicos a seguir.
OS OPERADORES RELACIONAIS
A linguagem Object Pascal tem os seguintes operadores relacionais:
56 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Operador = (igual): <> (diferente): < (menor): <= (menor ou igual): > (maior): >= (maior ou igual): in (pertinncia):
Finalidade Usado para testar se dois valores so iguais. Usado para testar se dois valores so diferentes. Usado para testar se um valor menor do que outro. Usado para testar se um valor menor ou igual a outro. Usado para testar se um valor maior do que outro. Usado para testar se um valor maior ou igual a outro. Verifica se um valor pertence ou no a um conjunto.
O trecho de cdigo a seguir, por exemplo, compara o valor de duas variveis e exibe uma mensagem em funo do resultado obtido.
if (a < b) then Showmessage(a menor que b) else Showmessage(a maior ou igual a b);
ESTRUTURAS DE REPETIO
Quando um mesmo tipo de comando (ou bloco de comandos) precisa ser executado repetidamente, podese economizar a sua codificao usando-se uma das estruturas de repetio da linguagem Object Pascal. A linguagem Object Pascal tem os seguintes tipos de estruturas de repetio: Laos For Laos While Laos Repeat
LAOS FOR
Essa estrutura de repetio bastante til quando se deseja que a execuo de um bloco de comandos seja repetida um nmero predeterminado de vezes. Essa estrutura apresenta a seguinte sintaxe:
for contador:= valor_inicial to valor_final do <bloco de comandos>
Onde: contador: uma varivel ordinal enumervel, normalmente inteira. valor_inicial: o valor inicial do contador, geralmente um nmero inteiro. valor_final: o valor final assumido pelo contador, geralmente um nmero inteiro. bloco de comandos: uma seqncia de comandos que comea com a palavra reservada begin e termina com a palavra reservada end.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
57
Nesse caso, evidentemente, o valor inicial deve ser superior ao valor final. O contador pode ser qualquer tipo ordinal enumervel. O cdigo abaixo, por exemplo, perfeitamente vlido (embora possa no ser muito til).
for contador:= a to z do Showmessage(contador);
A varivel contador, nesse caso, deve ser declarada como sendo do tipo char.
LAOS WHILE
Essa estrutura de repetio bastante til quando se deseja que a execuo de um bloco de comandos seja repetida enquanto uma determinada condio for verdadeira. Essa estrutura de repetio apresenta a seguinte sintaxe:
while <condio> do <bloco de comandos>
Observe que, se a condio for falsa na primeira vez em que a estrutura de repetio for acessada, o bloco de comandos no ser executado nenhuma vez. Essa estrutura de repetio muito til quando se quer, por exemplo, ler as informaes a partir de um arquivo, pois, nesse caso, no se sabe previamente quantas iteraes sero necessrias para ler todo o seu contedo. O seguinte trecho de cdigo pode ser usado:
while not Eof(F1) do begin Read(F1, Ch); Write(F2, Ch); end;
Onde F1 e F2 so variveis de arquivo e Eof uma funo que retorna o valor True, se for alcanado o final do arquivo, e False, em caso contrrio. Portanto, enquanto houver registros a serem lidos no arquivo, isto , enquanto a condio Eof(F1) for falsa (e not Eof(F1) for verdadeira), o bloco de cdigo ser executado, lendo dados de F1 e gravando-os em F2.
LAOS REPEAT
Essa estrutura de repetio bastante til quando se pretende que a execuo de um bloco de comandos seja repetida enquanto uma determinada condio for verdadeira, mas se impe que esse bloco de comandos seja executado ao menos uma vez. Nesse caso, ao contrrio do que ocorre nos laos While,
58 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CONDIES COMPOSTAS
Existem situaes em que uma condio a ser testada , na realidade, uma combinao de duas ou mais condies. Normalmente, uma condio composta testada usando-se os operadores lgicos da linguagem Object Pascal, apresentados no prximo tpico.
METODOLOGIA
Apresentao e descrio dos conceitos e elementos de sintaxe necessrios criao dos procedimentos e funes.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
59
PROCEDIMENTOS (PROCEDURES)
Normalmente, os procedimentos so usados para dividir um programa em blocos menores de cdigo e para armazenar trechos de cdigo utilizados diversas vezes no programa (em vez de se digitar o mesmo trecho de cdigo em cada ponto do programa no qual a sua presena se faz necessria, basta que se inclua uma chamada ao procedimento). Normalmente, o cabealho de um procedimento composto pela palavra reservada procedure, seguida do nome do procedimento, uma lista de parmetros e um ponto-e-vrgula. A definio de um procedimento na linguagem Object Pascal obedece seguinte sintaxe:
procedure nome_do_procedimento (parmetro_1: tipo_1, ,...,parmetro_n: tipo_n) var {declarao de variveis locais ao procedimento} begin {Corpo do procedimento} end;
A palavra reservada var indica o incio do trecho de cdigo em que so declaradas as variveis locais ao procedimento. A declarao de variveis locais termina na linha anterior da palavra reservada begin, que inicia o corpo do procedimento propriamente dito, e que termina com a palavra reservada end, seguida de um ponto-e-vrgula. Um exemplo de procedure muito utilizada no Delphi 7, quando se quer exibir uma mensagem simples para o usurio, a procedure ShowMessage, cuja declarao mostrada a seguir.
procedure ShowMessage(const Msg: string);
Essa procedure tem como nico parmetro uma string a ser exibida em uma caixa de dilogo. Para exibir a mensagem Al pessoal, basta incluir a seguinte linha de cdigo:
Showmessage(Delphi 7);
A mensagem ser exibida em uma caixa de dilogo simples, como mostra a figura a seguir.
60 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
O quadro de dilogo gerado pela procedure Showmessage exibe, na sua barra de ttulos, o nome do aplicativo, alm de um boto com o texto OK, usado para fechar a caixa de dilogo. Esse exemplo foi elaborado com um novo projeto, inicialmente denominado Project1.
FUNES
Na linguagem Object Pascal, uma funo muito semelhante a um procedimento, com a diferena de que a chamada a uma funo deve retornar um valor como resultado, e este pode ser atribudo a uma varivel. Alm disso, o resultado de uma chamada a funo pode ser diretamente incorporado a uma expresso aritmtica. Normalmente, o cabealho de uma funo composto pela palavra reservada function, seguida pelo nome da funo, uma lista de parmetros, um sinal de dois-pontos, do tipo de retorno e um ponto-e-vrgula. A definio de uma funo na linguagem Object Pascal obedece seguinte sintaxe:
function nome_da_funo (parmetro_1:tipo_1;...;parmetro_n:tipo_n): tipo_de_retorno; var {declarao de variveis locais funo} begin {Corpo da funo} result:= valor; end;
A palavra reservada var indica o incio do trecho de cdigo em que so declaradas as variveis locais funo. A declarao de variveis termina na linha anterior da palavra reservada begin. A palavra reservada begin inicia o corpo da funo propriamente dita, que termina com a palavra reservada end, seguida de um ponto-e-vrgula. O valor a ser retornado deve ser atribudo a result (uma varivel interna criada automaticamente pelo ambiente) ou ao prprio nome da funo, como indicado. Um grupo de funes bastante til no Delphi 7 o das funes que permitem a converso de tipos. Por exemplo, para converter um nmero real em uma string, deve ser utilizada a funo FloatToStr, que tem o seguinte cabealho:
function FloatToStr(Value: Extended): string;
Como voc pode observar, essa funo recebe um parmetro do tipo Extended e retorna uma string.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
61
Nesse caso, a funo recebe um parmetro do tipo string e retorna um nmero real. Tanto para procedimentos como para funes, a clusula var s deve ser includa se voc realmente declarar uma varivel local funo. Caso no se declare nenhuma varivel local, a clusula var deve ser omitida, ou dar origem a um erro de compilao.
62 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
METODOLOGIA
Apresentao e descrio dos conceitos de classes e objetos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
63
AS CLASSES E OS OBJETOS
A linguagem Object Pascal uma linguagem de programao orientada a objetos. A expresso POO (Programao Orientada a Objetos) tem tirado o sono de muitos programadores iniciantes, principalmente quando estes resolvem aprender programao orientada a objetos em textos que abordam o tema sob um aspecto bastante filosfico (e pouco didtico). Como este livro se destina a ensinar ao leitor como desenvolver aplicativos utilizando o Delphi 7 como ferramenta de desenvolvimento, e como foge aos nossos objetivos escrever um tratado sobre POO, nos prximos tpicos procuraremos abordar de maneira didtica e sucinta apenas os conceitos bsicos da POO necessrios ao entendimento dos exemplos apresentados ao longo desta primeira parte do livro. Na segunda parte do livro, abordaremos mais detalhadamente as tcnicas de programao orientada a objetos.
O CONCEITO DE CLASSES
Nos tpicos anteriores, mostramos como criar uma varivel composta em Object Pascal. Como voc deve se lembrar, uma varivel composta tem diversos campos, que podem ser de qualquer tipo predefinido da linguagem ou previamente criados pelo programador. Naquele tpico, vimos que, para criar um tipo de varivel composta denominada materia, com os campos Livro_Texto e carga_horaria, bastava incluir o seguinte trecho de cdigo na seo type da unit:
materia= Record Livro_Texto: string; carga_horaria: integer; end;
Vimos tambm que, para declarar uma varivel denominada matematica, do tipo materia, bastava incluir a sua declarao aps a palavra reservada var:
64 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Uma classe, por sua vez, tem muitas semelhanas com uma varivel composta, pois uma classe tambm pode ter diversos campos. A definio de um tipo de classe pode ser feita de forma bastante semelhante de um tipo de varivel composta, bastando que se substitua a palavra reservada Record por Class. Dessa maneira, se quisssemos criar uma classe denominada materia em vez de um tipo composto chamado materia, bastaria incluir o seguinte trecho de cdigo aps a palavra reservada type:
materia= Class Livro_Texto: string; carga_horaria: integer; end;
Agora teramos uma classe denominada materia, em vez de um tipo de varivel composta chamada materia. Podemos, ento, declarar um objeto denominado matematica, da classe materia, incluindo a sua declarao aps a palavra reservada var:
var matematica: materia;
Repare que, at o presente momento, pouca coisa mudou. A diferena bsica que anteriormente crivamos um tipo de varivel e declarvamos uma varivel daquele tipo. Agora criamos uma determinada classe e declaramos um objeto daquela classe. Podemos, ento, concluir que uma classe est para um tipo de varivel assim como um objeto de uma determinada classe est para uma varivel de determinado tipo! (os puristas da POO dizem que um objeto uma instncia de uma classe). Para acessar os campos de um objeto da classe, basta que se utilize a notao de ponto, descrita anteriormente para as variveis compostas. Para atribuir valores aos campos do objeto matematica (da classe materia), basta incluir as seguintes linhas de cdigo:
matematica.Livro_Texto:= Matematica para Principiantes; matematica.carga_horaria:= 75;
Alguns puristas da POO preferem dizer que um objeto uma instncia de uma classe. Na minha opinio, o importante que voc entenda o conceito de classes e objetos, razo pela qual no estou me atendo rigorosamente aos termos tcnicos da Programao Orientada a Objetos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
65
A funo anterior deve ser implementada na seo Implementation de uma unit, sendo apenas o seu cabealho reproduzido na funo interface, pelas razes expostas no prximo pargrafo. Caso se queira que outras unidades de cdigo (units) que incluem o nome da unit na qual essa funo foi definida em sua clusula uses possam utilizar essa funo, o cabealho da funo deve ser definido na seo Interface da sua unit. Essa funo precisa de dois parmetros: um objeto da classe matria e um nmero inteiro, que representa o nmero de semanas de um perodo letivo. Como resultado, a funo retorna a carga horria semanal, obtida dividindo-se a carga horria total (que um campo do objeto) pelo nmero de semanas do perodo letivo. Repare que a funo foi definida externamente classe e que um objeto da classe um dos parmetros da funo. Que tal se essa funo fizesse parte da nossa classe? aqui que comeam as diferenas entre uma classe e uma varivel composta. Para que a funo anterior faa parte da classe, basta defini-la (ou declar-la) na prpria definio da classe, como mostra o trecho de cdigo a seguir:
type materia= Class Livro_Texto: string; carga_horaria: integer; function carga_semanal (disciplina: materia; semanas: integer): integer; end;
A implementao da funo, no entanto, deve ser feita fora da classe, na seo Implementation da unit, como mostra o trecho de cdigo a seguir (correspondente a uma unit do Delphi 7):
implementation {$R *.DFM}
66 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Repare, contudo, que agora o nome da funo precedido pelo nome da classe, indicando que essa funo pertence classe, isto , a funo um mtodo da classe. Mas as coisas podem ficar ainda melhores! Como a funo agora um mtodo da classe, ela enxerga os campos da classe. Dessa maneira, no h mais a necessidade de se passar um objeto da classe como parmetro da funo, e esse mtodo pode ser redefinido como mostrado nos trechos de cdigo a seguir:
type materia= Class Livro_Texto: string; carga_horaria: integer; function carga_semanal (semanas: integer): integer; end; .......................................... implementation {$R *.DFM} f unction materia.carga_semanal (semanas: integer): integer; begin result:= (carga_horaria div semanas); end;
A est mais uma vantagem de se empregar um mtodo! Ao contrrio das funes externas classe, um mtodo conhece e pode acessar todos os campos da classe. Para executar um mtodo de uma classe, basta chamar o nome do mtodo usando-se a mesma notao de ponto utilizada para acessar os campos da classe (devendo, no entanto, incluir os parmetros necessrios chamada do mtodo), como mostra o trecho de cdigo a seguir:
var matematica: materia; horas_por_semana: integer;
.............................................
horas_por_semana:= matematica.carga_semanal(15);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
67
..........................................
implementation {$R *.DFM} function materia.carga_semanal: integer; begin horas_por_semana:= (carga_horaria div semanas); end;
Nesse caso, para executar o mtodo, basta que se inclua a seguinte linha de cdigo (neste caso, nenhum parmetro necessrio na chamada do mtodo):
matematica.carga_semanal;
Onde, como descrito nos tpicos anteriores, matematica um objeto da classe materia. Entretanto, nos casos em que uma funo no precisa retornar um valor, mais conveniente que se defina o mtodo como uma procedure em vez de uma funo. Dessa maneira, poderamos redefinir o mtodo como mostra o trecho de cdigo a seguir:
type materia= Class Livro_Texto: string; carga_horaria, horas_por_semana, semanas: integer; procedure carga_semanal; end; .......................................... implementation {$R *.DFM} procedure materia.carga_semanal: integer; begin horas_por_semana:= (carga_horaria div semanas); end;
Embora nesse caso o uso de uma funo no gere um erro de compilao, a utilizao de uma procedure evita que o Delphi 7 exiba a mensagem de advertncia Return value of function materia.carga_horaria might be undefined.
68 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Como voc j deve ter percebido, essa declarao indica que Form1 um objeto da classe TForm1. Esse objeto nada mais nada menos que o formulrio criado automaticamente pelo Delphi 7, e do qual voc j tomou conhecimento desde o incio do segundo captulo. Mas o que TForm? TForm uma classe, definida na unit Forms (no caso da VCL) ou Qforms (no caso do CLX), e que representa um formulrio vazio (sem nenhum controle ou componente). Ento voc deve estar se perguntando: no seria mais fcil trabalhar com a classe TForm, em vez de criar uma nova classe, chamada TForm1? Bem, a resposta seria positiva se voc quisesse trabalhar com um formulrio vazio. Acontece que esse, provavelmente, no o seu caso; afinal de contas, para que serve um formulrio (janela) vazio? No prximo tpico abordaremos o conceito de herana de classes, e acredito que as coisas comearo a ficar mais claras.
Mas voc deve estar se perguntando: qual a classe-base da classe materia, definida nos tpicos anteriores? A resposta a seguinte: a linguagem Object Pascal possui uma classe, denominada TObject, que a me de todas as classes. Por esta razo, quando voc deriva uma classe diretamente de TObject, no
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
69
Ou:
materia= Class(TObject) Livro_Texto: string; carga_horaria, horas_por_semana, semanas: integer; procedure carga_semanal; end;
Podemos ento concluir que, ao se criar uma nova classe sem especificar uma classe-base, estamos na realidade criando uma classe derivada de TObject. No caso anterior, o Delphi 7 criou uma nova classe chamada TForm1, derivada de TForm. A razo de se criar uma nova classe que, como ser visto posteriormente, medida que inserirmos componentes e controles em nosso formulrio, esses objetos passaro a ser um campo da nova classe (um campo pode ser qualquer tipo j definido, inclusive um objeto de uma outra classe). Nos tpicos a seguir, sero apresentados os tipos de mtodos e campos de uma classe.
70 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Inicialmente, temos na primeira linha o cabealho do procedimento, que comea com a palavra reservada procedure, seguida do nome da classe do objeto (TForm1), de um ponto e do indicativo do evento (FormActivate Ativao de formulrio), alm de uma lista de parmetros (Sender: TObject) e de um ponto-e-vrgula, que indica o fim do cabealho do procedimento. Abaixo do cabealho vem o corpo do procedimento, limitado pelas palavras reservadas begin e end, entre as quais deve ser digitado o cdigo do procedimento (nesse caso, o cdigo que definir o comportamento do nosso aplicativo em resposta ocorrncia do evento). Alm disso, se voc observar o incio do arquivo de cdigo, ver que o Delphi 7 tambm incluiu na definio do objeto TForm1 a declarao da procedure, como mostra o trecho de cdigo a seguir, extrado do arquivo de cdigo.
type TForm1 = class(TForm) procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
71
72 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Captulo
Planejando a sua Aplicao
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
73
METODOLOGIA
Apresentao e descrio dos fatores que influenciam o sucesso no desenvolvimento de uma aplicao.
74 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
75
76 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
METODOLOGIA
Apresentao do problema: Utilizao das TO-DO Lists na organizao e planejamento durante o desenvolvimento de aplicaes com o Delphi 7.
TCNICA
Apresentao dos procedimentos necessrios utilizao do recurso de TO-DO Lists.
Cada Projeto possui a sua prpria relao de To-Do Lists a ele associada.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
77
Nesta caixa de dilogo, devero ser fornecidas as seguintes informaes: Um texto descritivo da ao a ser realizada (Text). A prioridade desta tarefa (Priority). O responsvel pela tarefa (Owner). Voc pode digitar um novo nome ou selecionar um nome j existente. A sua categoria (Category). Voc pode digitar uma nova categoria ou selecionar um nome j existente. 3. Aps fornecer as informaes necessrias, selecionar o boto Ok para fechar esta caixa de dilogo e criar o novo item.
Nesta caixa de dilogo, podero ser alteradas as informaes j fornecidas na criao do item, alm de poder indicar que a tarefa j foi realizada (o que feito marcando-se a caixa de verificao Done).
78 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Esta caixa de dilogo apresenta duas pginas, uma referente s caractersticas gerais da tabela de itens, como mostrado na figura anterior, e outra na qual se pode configurar cada uma das suas colunas, como mostrado na prxima figura.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
79
Nesta pgina pode-se definir, para cada coluna: Seu ttulo (Title). Sua largura (Width) em porcentagem da largura total. Sua altura (Height) em pixels. Se o texto pode ser quebrado em mais de uma linha (Wrap). Se a coluna deve estar visvel (Visible). Seu alinhamento (horizontal e vertical). A fonte usada na exibio do texto correspondente.
80 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Repare que ser criado um novo item na TO-DO List Neste caso seria melhor no t-lo criado anteriormente. A diferena est no fato de que o item recm-criado est diretamente vinculado ao cdigo-fonte e, ao ser posteriormente editado e marcado como concludo, o cdigo-fonte ser automaticamente alterado para:
procedure TFormPrincipal.BotaoTesteClick(Sender: TObject); begin { DONE 2 -oMarcelo -cInterface : Iniciar a interface } end;
Voc tambm pode digitar diretamente as informaes no cdigo-fonte, usando comandos com a seguinte sintaxe:
{TODO|DONE [n] [-o<owner>] [-c<category>] : <to-do item text>}
Onde: n indica a prioridade do item. TODO: indica que a tarefa representada por este item no foi completada. DONE: indica que a tarefa representada por este item foi completada. -o owner: o nome do responsvel pela tarefa. -c category: a categoria da tarefa representada pelo item.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
81
FILTRANDO
Voc pode filtrar a relao de itens de uma To-Do List. Para isto, basta selecionar o boto direito do mouse sobre a janela TO-DO Lists e, no menu pop-up que ser exibido, selecionar o item Filter para exibir os subitens, selecionando-se ento a opo desejada.
82 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Captulo
Criando o Formulrio Principal da Aplicao
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
83
METODOLOGIA
Apresentao e descrio das principais caractersticas de um formulrio.
TCNICA
Apresentao dos procedimentos necessrios configurao de formulrios.
O OBJETO FORMULRIO
Um dos principais objetos utilizados no desenvolvimento de aplicaes com o Delphi 7 o objeto formulrio (Form). Como j foi visto no Captulo 2, sempre que iniciamos uma nova aplicao (um novo projeto), o Delphi 7 cria um formulrio vazio, que pode ser usado como o formulrio principal da aplicao. Como todo objeto que se preza, um formulrio possui propriedades, mtodos e eventos. Dentre as propriedades de um formulrio, podem-se destacar: BorderStyle: Determina o estilo de borda do formulrio. BorderIcons: Determina os cones a serem habilitados na extremidade superior direita da barra de ttulos do formulrio. Caption: Armazena o texto exibido na barra de ttulos do formulrio.
84 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
85
Observe ainda que cada uma dessas propriedades exibe uma lista de valores possveis (nesse caso, True e False). Existem ainda casos em que os valores dessas subpropriedades podem ser definidos em uma caixa de dilogo. Esse o caso, por exemplo, da propriedade Font de um formulrio. Nessas situaes, alm do sinal de + exibido esquerda do nome da propriedade, o Object Inspector apresenta reticncias (...) direita do valor da propriedade. Clicando-se sobre essas reticncias, exibese uma caixa de dilogo na qual se podem definir os valores das subpropriedades.
86 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Conforme veremos ao longo do livro, essa situao ocorre em muitas propriedades de diversos componentes.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
87
Os valores das propriedades Height e Width foram definidos considerando-se uma resoluo de 1280 por 1024. Caso a resoluo a ser adotada seja diferente, reajuste estes valores de forma proporcional.
88 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
3. Selecione o boto Load desta caixa de dilogo. Ser exibida a caixa de dilogo Load Picture, mostrada na Figura 5.7, na qual dever ser selecionado o cone desejado. Nesse exemplo, a imagem selecionada est no arquivo C:\Arquivos de Programas\Arquivos Comuns\Borland Shared\Images\Icons\Handshak.ico do Windows. A localizao deste arquivo pode, no entanto, no ser a mesma no seu computador, dependendo de como foi feita a sua instalao do Delphi 7. Neste caso, recomenda-se pesquisar a sua localizao. 4. Selecione o boto Abrir, para fechar a caixa de dilogo Load Picture.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
89
90 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Entre as principais propriedades desse componente, possvel destacar: AutoSize: Essa propriedade define se o componente ser ou no automaticamente redimensionado para se adaptar ao tamanho da imagem a ser exibida (definida na sua propriedade Picture) e s pode assumir os valores False (falso) e True (verdadeiro). Height: Define a dimenso vertical (altura) do componente. Left: Define a posio do componente em relao extremidade esquerda do formulrio. Name: Define o nome com o qual o objeto referenciado no cdigo da aplicao. Picture: Define a imagem a ser exibida pelo componente. Stretch: Essa propriedade define se a imagem ser ou no automaticamente redimensionada e, para se adaptar ao tamanho do componente, s pode assumir os valores False (falso) e True (verdadeiro). Entretanto, definir o valor de Stretch como True pode provocar distores na imagem. Top: Define a sua posio, em relao extremidade superior do formulrio. Width: Define a dimenso horizontal (largura) do componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
91
RENOMEANDO UM COMPONENTE
O nome dado a um componente, definido pela sua propriedade Name, o nome pelo qual este componente ser referenciado no cdigo da aplicao. Para renomear um componente, execute os seguintes procedimentos: 1. Selecione o componente com o mouse. 2. Altere o valor da sua propriedade Name diretamente no Object Inspector. Executando os passos anteriores, mude o valor da propriedade Name do componente de exibio de imagens para Logotipo.
REPOSICIONANDO UM COMPONENTE
Para movimentar um componente com o mouse, execute os seguintes procedimentos: 1. Pressione o boto esquerdo do mouse sobre o componente e, mantendo o boto pressionado, movimente o mouse, arrastando o componente. medida que voc movimenta o componente, os valores das suas propriedades Left e Top so exibidos junto ao ponteiro do mouse. 2. Quando o componente estiver situado na posio desejada, libere o boto esquerdo do mouse. Por exemplo: selecione com o mouse o componente inserido no formulrio no tpico anterior e verifique o valor das suas propriedades Left e Top no Object Inspector. Movimente o componente executando os passos descritos anteriormente e, aps coloc-lo em uma nova posio, verifique os novos valores das suas propriedades Left e Top. Como voc j deve ter constatado, os valores das propriedades Left e Top so automaticamente atualizados quando voc termina de movimentar o componente. Isso ocorre porque as propriedades
92 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
REDIMENSIONANDO UM COMPONENTE
Para redimensionar um componente com o mouse, execute os seguintes procedimentos: 1. Selecione o componente com o boto esquerdo do mouse. 2. Posicione o ponteiro do mouse sobre uma das marcas de seleo do componente, at que ele se torne uma seta dupla. 3. Pressione o boto esquerdo do mouse e movimente o seu ponteiro, redimensionando o componente. medida que voc redimensiona o componente, os valores das suas propriedades Height e Width so exibidos junto ao ponteiro do mouse (esse recurso no estava disponvel nas verses anteriores, e simplifica bastante a tarefa de se redimensionar um componente no formulrio). 4. Quando o componente estiver com o tamanho desejado, libere o boto esquerdo do mouse. Selecione, com o mouse, o componente de exibio de imagens que foi inserido no formulrio e verifique, no Object Inspector, o valor das suas propriedades Height e Width. Redimensione o componente executando os passos descritos anteriormente e, aps redimension-lo, verifique os novos valores das suas propriedades Height e Width. Como voc j deve ter constatado, os valores das propriedades Height e Width so automaticamente atualizados quando voc termina de redimensionar o componente. Isso ocorre porque as propriedades Height e Width definem respectivamente os valores, em pixels, da altura e largura do componente. A recproca tambm verdadeira, isto , se voc selecionar um componente e alterar os valores das suas propriedades Height e Width no Object Inspector, o componente ser redimensionado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
93
94 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
95
96 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
ALINHANDO COMPONENTES
Quando inserimos vrios componentes em um formulrio, dificilmente conseguimos coloc-los em uma disposio bem organizada. Felizmente, o Delphi fornece um recurso que permite que os componentes sejam facilmente alinhados. Para ajustar a posio dos componentes Label1 e Logotipo, execute os seguintes procedimentos: 1. Selecione o componente Label1 e, pressionando a tecla Shift, selecione o componente Logotipo. Os dois componentes exibiro marcas de seleo. 2. Selecione o item Align do menu Edit. Ser exibida a caixa de dilogo Alignment, mostrada na Figura 5.12.
Essa caixa de dilogo apresenta dois grupos de botes, um denominado Horizontal e outro denominado Vertical, com as seguintes opes: No change: A posio do(s) componente(s) no se altera na direo especificada. Essa opo est disponvel nos dois grupos de botes. Left sides: Os componentes so alinhados pela sua extremidade esquerda, tomando por base a extremidade esquerda do primeiro componente selecionado. Essa opo s existe no grupo Horizontal.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
97
Repare que os valores armazenados nas propriedades Left e Top dos componentes devem ter sido alterados.
98 00CURSO COMPLETO
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Repare que a classe TFormPrincipal apresenta, entre seus campos, um componente do tipo TImage e outro do tipo TLabel, que no existem na classe TForm. Lembra-se do conceito de herana? A classe TFormPrincipal, derivada de TForm, herda suas propriedades e mtodos, e ainda acrescenta novas propriedades e mtodos (inexistentes em TForm).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
99
Voc pode reposicionar a janela, clicando com o boto esquerdo do mouse sobre a sua barra de ttulos e, mantendo o boto esquerdo pressionado, arrast-la para a posio desejada, alternar para outra aplicao e posteriormente retornar. Tudo isso sem a necessidade de qualquer codificao, a no ser aquela gerada pelo prprio Delphi. De qualquer maneira, isso refora os argumentos de que a criao da interface apenas uma fase do desenvolvimento de um aplicativo.
Captulo
Projetando um Menu Para a sua Aplicao
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
101
METODOLOGIA
Apresentao e descrio das principais caractersticas de um menu.
TCNICA
Apresentao dos procedimentos necessrios incluso de um menu no formulrio principal da sua aplicao.
Observe que, quando voc inseriu o componente MainMenu no formulrio, o ambiente atribuiu o valor MainMenu1 sua propriedade Name e atribuiu esse mesmo valor propriedade Menu do formulrio (indicando que o menu que ser exibido no formulrio o representado por este componente). Quando posteriormente voc alterou o valor da propriedade Name do componente MainMenu para MenuPrincipal, o ambiente de desenvolvimento fez a alterao correspondente na propriedade Menu do formulrio. A criao dos menus e itens de menus no Delphi 7 feita em um editor de menus. No prximo tpico ser mostrado como acessar o editor de menus.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
103
Os itens de menu (que so objetos da classe TMenuItem) possuem uma propriedade chamada AutoHotKeys que, se configurada corretamente, impede que dois itens de menu possuam a mesma tecla de atalho.
Esta propriedade pode assumir um dos valores a seguir: maAutomatic: Caso dois itens de menu possuam a mesma tecla de atalho, a do ltimo item automaticamente redefinida durante a execuo do aplicativo. maManual: Caso dois itens de menu possuam a mesma tecla de atalho, a do ltimo item redefinida mediante uma chamada ao mtodo RethinkHotKeys da classe TMenuItem. maParent: A redefinio das teclas de atallho de itens de menu segue a regra estabelecida pelo seu componente-pai. No caso de itens de menu, por exemplo, ser adotado o valor configurado na propriedade de mesmo nome do componente MainMenu ou PopupMenu que o contm. Voc tambm pode acessar o editor de menus clicando com o boto direito do mouse sobre o componente MenuPrincipal e selecionando o item Menu Designer no menu pop-up exibido. Outra opo consiste em selecionar no Object Inspector a propriedade Items do componente MainMenu. Crie ainda os seguintes menus para o nosso aplicativo-exemplo: Menu Scios Name: MenuSocios Caption: &Scios
Repare que a propriedade Name no pode conter acentuao, o que j no ocorre com a propriedade Caption.
A figura a seguir apresenta o aspecto do formulrio principal da aplicao, aps a incluso destes menus.
Figura 6.4: Aspecto do formulrio principal da aplicao, aps a incluso de todos os menus.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
105
A Figura 6.6 mostra o estado atual do nosso menu, aps a criao de mais esses dois itens.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
107
Esta propriedade pode assumir um dos valores a seguir: maAutomatic: Caso haja separadores contguos, os excedentes sero automaticamente removidos durante a execuo do aplicativo. maManual: Caso haja separadores contguos, os excedentes sero removidos durante a execuo do aplicativo mediante uma chamada ao mtodo RethinkLines da classe TMenuItem. maParent: A remoo de separadores contguos segue a regra estabelecida pelo seu componentepai. No caso de itens de menu, por exemplo, ser adotado o valor configurado para o componente MainMenu ou PopupMenu que o contm.
Figura 6.8: Criao das teclas aceleradoras para o item Finalizar do menu Sistema.
uma conveno de que, em programas desenvolvidos para o ambiente Windows, itens de menu que provoquem a exibio de caixas de dilogo terrminem com trs pontinhos.
Execute procedimentos semelhantes para criar os itens Cadastro, Alterao, Excluso e Consulta do menu Atividades. Para o menu Matrculas, crie os itens Cadastro, Excluso e Consulta. Para o menu Relatrios, crie os itens Scios, Atividades e Matrculas. Para o menu Help, crie os itens Tpicos e Sobre.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
109
5. Usando o Object Inspector, altere a propriedade PopupMenu do componente FormPrincipal para PopupPrincipal.
3. Altere os valores das suas propriedades Name e Caption para PopupSistema e &Sistema, respectivamente.
5. Pressione o boto de seta para baixo, para exibir o espao destinado ao prximo menu pop-up. 6. Altere os valores de suas propriedades Name e Caption para PopupScios e &Scios, respectivamente. 7. Pressione o boto de seta para baixo, para exibir o espao destinado ao prximo menu pop-up. 8. Altere os valores de suas propriedades Name e Caption para PopupAtividades e &Atividades, respectivamente. 9. Pressione o boto de seta para baixo, para exibir o espao destinado ao prximo menu pop-up. 10. Altere os valores de suas propriedades Name e Caption para PopupMatriculas e &Matrculas, respectivamente. 11. Pressione o boto de seta para baixo, para exibir o espao destinado ao prximo menu pop-up. 12. Altere os valores de suas propriedades Name e Caption para PopupRelatorios e &Relatrios, respectivamente. 13. Pressione o boto de seta para baixo, para exibir o espao destinado ao prximo menu pop-up. 14. Altere os valores de suas propriedades Name e Caption para PopupHelp e &Help, respectivamente. Seu menu pop-up ficar com o aspecto da Figura 6.12.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
111
2. Selecione o item Create Submenu, e o submenu ser criado, como mostra a Figura 6.14. A seta exibida ao lado da palavra Sistema foi includa automaticamente pelo editor de menus. 3. Altere os valores das propriedades Name e Caption desse item para PopupSistemaBackup e &Backup, respectivamente.
4. Pressione o boto de seta para baixo, para criar um novo item. 5. Altere os valores das suas propriedades Name e Caption para PopupSistemaRestaurar e &Restaurar, respectivamente. 6. Pressione o boto de seta para baixo, para criar um novo item e crie um separador de itens de menu. 7. Pressione o boto de seta para baixo, para criar um novo item. 8. Altere os valores das suas propriedades Name e Caption para PopupSistemaFinalizar e &Finalizar, respectivamente.
Repita os passos anteriores para criar os demais submenus. Para o menu pop-up Scios, inclua os seguintes itens no seu submenu.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
113
Como esse o formulrio principal da aplicao e, ao se fechar o formulrio principal de uma aplicao, esta encerrada, poderamos alternativamente incluir a seguinte linha de cdigo, em vez da mostrada anteriormente:
FormPrincipal.Close;
Para criar o procedimento associado ao evento OnClick do item Finalizar do menu Sistema, basta executar os seguintes procedimentos: 1. Na caixa de seleo de objetos do Object Inspector, selecione o objeto SistemaFinalizar, como mostra a Figura 6.16. 2. Selecione a pgina Events do Object Inspector, se ela j no estiver selecionada. 3. D um duplo clique no campo direita do evento a ser definido (no caso, o evento OnClick). 4. Inclua a linha de cdigo acima, como mostra a Figura 6.17.
Agora sua aplicao pode ser finalizada selecionando-se o item Finalizar do menu Sistema ou por meio da combinao de teclas Ctrl+X. Execute a aplicao e verifique o seu funcionamento.
Figura 6.17: Incluso de uma linha de cdigo no procedimento associado ao evento OnClick de um item de menu.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
115
Captulo
Manipulando Formulrios e Caixas de Dilogo
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
117
METODOLOGIA
Apresentao e descrio das principais caractersticas de uma caixa de dilogo.
TCNICA
Apresentao dos procedimentos necessrios exibio de caixas de dilogo a partir da janela principal de uma aplicao.
Figura 7.1: Seleo da opo About box da caixa de dilogo New Items.
Altere as propriedades Name e Caption desse formulrio para FormSobre e Informaes Gerais, respectivamente. Repare que essa caixa de dilogo j possui os seguintes componentes: Um componente do tipo boto de comando, que o ambiente chamou de OkButton. Um componente de exibio de imagens, que o ambiente chamou de ProgramIcon. Quatro componentes do tipo Label para exibio de texto, que o ambiente chamou de ProductName, Version, Copyright e Comments. Um componente chamado Panel1, usado para criar um painel no formulrio. No prximo tpico mostraremos os procedimentos necessrios personalizao desta caixa de dilogo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
119
Para incluir essa linha de cdigo no procedimento associado ao evento OnClick do item Sobre do menu Help, basta executar os seguintes procedimentos: 1. Exiba o formulrio FormPrincipal e selecione o objeto HelpSobre (que um item de menu), usando a caixa de seleo de objetos do Object Inspector. 2. Selecione a pgina Events do Object Inspector, se ela j no estiver selecionada. 3. D um duplo clique no campo direita do evento a ser definido (no caso, o evento OnClick). 4. Inclua a linha de cdigo acima, como mostra a Figura 7.4.
Figura 7.4: Incluso de uma linha de cdigo no procedimento associado ao evento OnClick de um item de menu.
5. Associe esse procedimento ao evento OnClick do item Sobre do menu pop-up criado no captulo anterior. Tente executar a sua aplicao. Infelizmente ela no compilar de imediato e ser exibida uma mensagem de advertncia (Figura 7.5), informando que o formulrio FormPrincipal faz referncia ao formulrio FormSobre, declarado na unit UnitSobre, mas cujo nome no est includo na clusula uses da unit
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
121
Tente executar outra vez a sua aplicao. Agora o programa funcionar normalmente e, quando o usurio selecionar o item Sobre do menu Help, a caixa de dilogo ser exibida como uma caixa de dilogo modal, como mostra a Figura 7.6.
No prximo tpico, vamos examinar o componente boto de comando, includo automaticamente no formulrio quando o mesmo foi criado, usando a caixa de dilogo New Items.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
123
Captulo
Fundamentos do Projeto de Aplicativos de Banco de Dados
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
125
METODOLOGIA
Apresentao e descrio dos principais conceitos relacionados ao desenvolvimento de aplicaes que acessem bancos de dados, e seus mecanismos de acesso.
TCNICA
Apresentao dos mecanismos de acesso a bancos de dados presentes no Delphi 7.
METODOLOGIA
Apresentao e descrio dos termos fundamentais relacionados criao e acesso a bancos de dados.
CONCEITOS FUNDAMENTAIS
Um banco de dados consiste em uma forma organizada de armazenamento de informaes, mas seu conceito no representa uma inovao da era da informtica. H muito tempo as corporaes (empresas, escolas, hospitais, rgos governamentais, etc.) que necessitam manipular grande quantidade de informaes armazenam dados de forma organizada e, antes que os custos da implantao de sistemas informatizados cassem a nveis compatveis com a realidade econmica das pequenas e mdias empresas, estas organizavam seus dados e informaes em enormes arquivos de ao. A informatizao trouxe, entre outros benefcios, a impressionante reduo do espao necessrio ao armazenamento dessas informaes e uma maior rapidez em sua consulta e pesquisa. Atualmente, muitas empresas disponibilizam um mesmo conjunto de informaes em um banco de dados acessvel localmente, pela Internet ou atravs de uma Intranet. Antes da informatizao, esses bancos de dados consistiam em enormes arquivos de ao utilizados para armazenar dados dos scios, dados de atividades, etc. Os dados dos scios, por exemplo, eram guardados em fichas armazenadas em ordem alfabtica, e cada ficha continha uma srie de campos nos quais eram guardadas informaes como nome, endereo, CPF, etc. Quando se cadastrava um novo scio, uma nova ficha (um novo registro) deveria ser preenchida e armazenada (inserida) no local correto. Qualquer operao de busca de informaes deveria ser feita dessa forma, e o armazenamento incorreto de uma ficha produzia enormes transtornos. O mesmo era vlido para as informaes das atividades, matrculas, etc. Embora os antigos arquivos de ao tenham sido substitudos, muitos dos seus conceitos permanecem vlidos. Os dados dos scios continuam a ser armazenados em arquivos, porm estes so agora arquivos de dados armazenados em meios magnticos especiais (disquetes, discos rgidos, CDs-ROM, Zip disks, DVDs, etc.). Esses arquivos tambm contm fichas, que passaram a ser denominadas registros, e em cada registro (como nas fichas) existem diversos campos. No caso do nosso arquivo de scios, por exemplo, cada registro ser usado para armazenar as informaes de um determinado scio, com um campo para o nome, outro para o endereo, etc.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
127
CUSTOS
Ao se desenvolver um aplicativo que acesse bancos de dados deve-se considerar tambm os custos envolvidos na aquisio de licenas que permitam a sua utilizao de forma legal. Estes custos, no entanto, podem ser considerados elevados para pequenas empresas, e para estas situaes h a alternativa de se empregar bancos de dados gratuitos, como a verso OpenSource do Interbase e o MySQL. Neste livro abordaremos em nossos exemplos o Interbase, que por ser um produto da Borland e estar presente no prprio CD do Delphi, certamente estar ao alcance de nossos leitores.
Captulo
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
129
METODOLOGIA
Apresentao e descrio dos principais conceitos relacionados ao desenvolvimento de tabelas para bancos de dados do Interbase.
TCNICA
Apresentao dos procedimentos necessrios criao de tabelas do tipo Interbase com o Database Desktop, utilitrio para criao de tabelas que acompanha o Delphi 7.
CONCEITOS FUNDAMENTAIS
Nesta primeira parte do livro so apresentados os procedimentos necessrios ao desenvolvimento de aplicaes que acessam localmente tabelas do Interbase.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
131
Um servidor pode conter diversos bancos de dados. Repare que neste caso a conexo foi feita ao servidor, e no a um banco de dados.
6. Selecione o item Create Database, do menu Database, para exibir a caixa de dilogo mostrada na figura a seguir, na qual so fornecidas as informaes necessrias criao do banco de dados. Voc dever informar o nome do banco de dados (com extenso gdb, que a extenso padro para um banco de dados do Interbase) a ser criado e um alias (neste caso, CLUBE).
7. Selecione o boto Ok, para fechar a caixa de dilogo e criar o banco de dados. O painel esquerdo do IBConsole mostra o banco de dados que acabou de ser criado (identificado pelo seu alias), como mostra a Figura 9.5.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
133
2. Selecione o boto New para criar um novo Alias, e configure-o como mostrado na Figura 9.9. 3. Selecione o boto Ok, para criar o alias. Ser mostrada a mensagem de confirmao mostrada na Figura 9.10. Selecione Yes para confirmar a sua criao.
Figura 9.9: Configurando o Alias na caixa de dilogo Alias Manager do Database Desktop.
Para criar uma tabela com o Database Desktop, execute os seguintes procedimentos: 1. Selecione o item New do menu File. Ser exibido um submenu, com as opes QBE Query, SQL File e Table, como mostra a Figura 9.11.
Figura 9.11: O submenu exibido quando o item New do menu File selecionado.
2. Selecione o item Table do submenu File. Ser exibida a caixa de dilogo Create Table, como mostra a Figura 9.12.
A caixa de dilogo Create Table permite que voc selecione os seguintes tipos de tabela: Paradox 7
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
135
Figura 9.14: A caixa de dilogo Create INTRBASE Table aps a definio de um nome para o primeiro campo.
Repita os passos anteriores para definir os seguintes nomes para os campos subseqentes da tabela: Nome, Sobrenome, Endereo, Complemento, Bairro, Cidade, Estado, CEP, Telefone e CPF. Aps definir todos os nomes para os campos, a caixa de dilogo Create INTRBASE Table dever ter a aparncia mostrada na Figura 9.15.
Figura 9.15: A caixa de dilogo Create INTRBASE Table aps a definio de um nome para todos os campos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
137
Os tipos disponveis podem variar de um banco de dados para outro, e inclusive entre verses distintas de um mesmo banco de dados.
Para definir o tipo do campo CodigoCliente como LONG, execute os seguintes procedimentos: 1. Selecione com o boto esquerdo do mouse a coluna Type do campo CodigoSocio. 2. Digite LONG. ou: 1. No menu pop-up exibido quando se pressiona o boto direito do mouse (Figura 9.16), selecione a opo LONG. 2. Pressione a tecla de seta para baixo.
Figura 9.16: Menu pop-up, usado para selecionar um tipo para um campo.
Figura 9.17: A caixa de dilogo Create INTRBASE Table aps a definio de tipos para todos os campos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
139
Figura 9.18: A caixa de dilogo Create INTRBASE Table aps a definio do tamanho para o campo Nome.
Repita os passos anteriores, definindo os seguintes valores para os tamanhos dos demais campos: Sobrenome: 25. Endereo: 25. Complemento: 10. Bairro: 20. Cidade: 20. Estado: 2. CEP: 8. Telefone: 10. CPF: 11. A caixa de dilogo Create INTRBASE Table dever ficar com o aspecto indicado na Figura 9.19.
Figura 9.19: A caixa de dilogo Create INTRBASE Table aps a definio de tamanho para os campos.
Definimos um tamanho igual a 10 para o campo telefone, considerando-se a nova modalidade de ligao interurbana. Um telefone do Rio de Janeiro poderia, por exemplo, ser cadastrado como (21)2345-6789, e no armazenaremos os caracteres no-numricos.
Figura 9.20: A caixa de dilogo Create INTRBASE Table aps a definio do campo Nome como um campo de preenchimento obrigatrio.
CRIANDO NDICES
Quando desejamos ordenar ou filtrar os registros de uma tabela por um determinado campo (ou grupo de campos), devemos associ-lo a um ndice. Cada ndice deve ter um nome que o identifique, como por exemplo ind_Nome para um ndice correspondente ao Nome de um cliente. recomendvel que se atribuam aos ndices nomes fceis de memorizar, para auxiliar durante a fase de codificao do aplicativo. Um ndice pode ser simples, no caso de s corresponder a um campo, ou composto, no caso de se referir a mais de um campo. No caso da tabela scios, vamos definir os seguintes ndices:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
141
2. Selecione com o mouse o campo Nome na caixa de lista Fields. 3. Pressione a tecla Shift e, mantendo-a pressionada, selecione o campo Sobrenome (para selecionar um campo sem desmarcar outros que j tenham sido previamente selecionados, mantenha pressionada a tecla Ctrl). A Figura 9.22 mostra os campos selecionados na caixa de lista Fields. 4. Selecione com o boto esquerdo do mouse o pequeno boto que exibe uma seta para a direita, para movimentar os campos selecionados para a caixa de lista Indexed Fields, como mostra a Figura 9.23.
5. Selecione o boto OK, e ser exibida a caixa de dilogo Save Index As, na qual deve ser digitado o nome do ndice, como mostra a Figura 9.24.
Repare que a caixa de dilogo anterior exibe a expresso<Table>_, indicando que devemos apenas completar o nome do ndice, pois o termo <Table> ser substitudo pelo nome da tabela. Neste caso, por exemplo, bastar informar <Table>_Nome.
Repita os passos anteriores para definir os ndices simples Socios_Bairro e Socios_Cidade descritos anteriormente. Repare que, aps a sua definio, os nomes dos ndices so exibidos na caixa de dilogo Create INTRBASE Table, como mostra a Figura 9.25.
Figura 9.25: A caixa de dilogo Create INTRBASE Table aps a definio dos ndices.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
143
Figura 9.26: Salvando uma tabela com a caixa de dilogo Save Table As.
Se for exibida uma caixa de dilogo de Login, preencha com o username e password descritos anteriormente.
Aps salvar a tabela, o Interbase coloca todas as informaes de nomes de campos e de ndices em letras maisculas.
Figura 9.27: Abrindo uma tabela com a caixa de dilogo Open Table.
2. Selecione o item Edit Data do menu Table, ou pressione a tecla de funo F9, para colocar a tabela em modo de edio, conforme indicado na Figura 9.28.
Vamos incluir em nossa tabela os seguintes dados, referentes a trs clientes (fictcios, naturalmente): Cliente 1: CodigoCliente: 1 Nome: Augusto. Sobrenome: Campos da Silva.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
145
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
147
Tamanho
Dec
25 8 2
Aps a definio dos campos indicados anteriormente, esta tabela deve apresentar, no Database Desktop, o aspecto mostrado na Figura 9.30.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
149
Tipo
Tamanho LONG
Dec
LONG
Defina estes dois campos como campos requeridos. Nesta tabela o campo Socio, do tipo LONG, armazenar o cdigo do scio desta matrcula. Desta maneira, se precisarmos obter dados a respeito do scio, basta consultar na tabela de scios o registro cujo valor do campo CodigoSocio seja igual ao valor armazenado no campo Socio do registro corrente na tabela Matriculas. Veremos mais adiante como se estabelece um relacionamento entre tabelas, usando um campo como ligao entre elas. O mesmo se aplica ao campo Atividade.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
Captulo
10
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
151
METODOLOGIA
Apresentao e descrio dos principais conceitos relacionados criao de formulrios para acesso a bancos de dados.
TCNICA
Apresentao e descrio dos procedimentos necessrios criao de formulrios para acesso a dados com o Delphi 7. Para criar um formulrio para acessar os dados da tabela de Scios, voc deve executar os seguintes procedimentos: 1 Abra o projeto Socio.dpr. 2 Selecione o item New/Form do menu File do Delphi 7. Ser criado um formulrio em branco. 3. Altere a propriedade Name deste formulrio para FormCadastraSocios. 4. Altere a propriedade Caption deste formulrio para Cadastro de Scios. 5. Coloque um componente SQLConnection, situado na pgina DBExpress da paleta de componentes ( o primeiro componente desta pgina). Este um componente no-visual (logo, sua posio no formulrio indiferente), e representa um banco de dados acessado pelo formulrio. 6. D um duplo clique sobre este componente para exibir a caixa de dilogo Connection Editor, mostrada na Figura 10.1 (esta caixa de dilogo tambm pode ser exibida selecionando o item Edit Connection Properties no menu pop-up exibido quando voc seleciona o componente com o boto direito do mouse). 7. Crie uma nova conexo chamada Clube, selecionando o boto com o smbolo + desta caixa de dilogo. Ser exibida a caixa de dilogo New Connection, mostrada na Figura 10.2 8. Configure esta caixa de dilogo como mostrado na Figura 10.3 e selecione o boto Ok para fech-la. Repare, como mostrado na caixa de dilogo apresentada na figura a seguir, que a nova conexo foi selecionada para ser configurada. Configure esta conexo como indicado, e selecione o boto Ok. Repare na Figura 10.3 que, para este exemplo, foi criada uma conexo chamada Clube, tendo sido configuradas, na caixa de dilogo DBExpress Connection Editor, as propriedades DriverName, Database, UserName e Password.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
153
Caso voc queira usar uma conexo j definida para outro banco de dados do Interbase, basta alterar as propriedades da conexo, usando a caixa de dilogo Value List editor, exibida quando voc seleciona os trs pontinhos existentes direita da propriedade Params do componente, mostrada na Figura 10.4.
9. Atribua o valor True propriedade Connected do componente. Se a propriedade LoginPrompt deste componente estiver configurada como True, ser exibida a caixa de dilogo Database Login (na qual devero ser informados o nome do usurio UserName, e senha password). Caso contrrio, ser feita uma tentativa de conexo com os valores default de User_Name e Password j fornecidos. 10. Aps estabelecer a conexo ao banco de dados (definindo a propriedade Connected como True), altere o valor da propriedade Name do componente SQLConnection para SQLConnectionClube. 11. Insira no formulrio um componente SQLTable, tambm situado na pgina DBExpress ( o quinto componente desta pgina). 12. Altere o valor da propriedade Connection deste componente para SQLConnectionClube. 13. Defina SOCIOS como o valor da propriedade TableName deste componente. 14. Altere o valor da propriedade Name deste componente para SQLTableSocios. 15. Altere para True o valor da sua propriedade Active.
16. Coloque um componente DataSource (disponvel como o primeiro componente da pgina Data Access da paleta de componentes) no formulrio e atribua o valor SQLTableSocios sua propriedade Dataset. Este componente responsvel pela ligao entre os componentes de acesso a dados e os componentes de visualizao (apresentados a seguir). 17. Altere o valor da propriedade Name deste componente para DataSouceSocios.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
Seu formulrio dever ficar com o aspecto mostrado na figura a seguir.
Figura 10.5: Aspecto do formulrio, aps a incluso dos componentes de acesso a dados, com o componente Datasource selecionado.
Pronto! J esto colocados os componentes de acesso a dados. Posteriormente abordaremos esta categoria de componentes em maiores detalhes.
Como os componentes inseridos at o momento so componentes no-visuais, sua posio no formulrio irrelevante.
18. Insira um componente Label (pgina Standard da paleta de componentes) no formulrio, e altere o valor da sua propriedade Caption para Cdigo. 19. Insira um componente DBEdit (quarto componente da pgina Data Controls da paleta de componentes) no formulrio. Este componente, vinculado a uma tabela atravs de um componente Datasource, representa um dos campos do registro corrente. Suas principais propriedades so Name (que define o nome do componente), Datasource (que define o nome do componente Datasource ao qual est vinculado) e DataField (que define o nome do campo acessado pelo componente). Altere o valor da propriedade Name deste componente para DBEditCodigoSocio. 20. Altere o valor da propriedade Datasource deste componente para DatasourceClientes. 21. Altere o valor da propriedade DataField deste componente para CodigoSocio. Repare que, neste momento, o valor deste campo correspondente ao primeiro registro exibido. 22. Repita os procedimentos anteriores de forma semelhante para cada um dos outros campos da tabela Clientes. Disponha os componentes de forma semelhante mostrada na figura a seguir (ou com o layout que voc julgar mais conveniente).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
155
23. Selecione o item Save As do menu File e salve-o com o nome UnitCadastroSocios.pas. 24. Inclua um boto de comando do tipo BitBtn (boto de figura, situado na pgina Additional da paleta de componentes) no formulrio. 25. Altere os valores das propriedades Kind e ModalResult deste componente para bkCustom e mrNone, respectivamente. 26. Altere os valores das propriedades Name, Caption e Default deste boto de comando para BotaoCadastrar, &Cadastrar e False, respectivamente. 27. Inclua um segundo boto de comando do tipo BitBtn (boto de figura, situado na pgina Additional da paleta de componentes) no formulrio. 28. Altere o valor da propriedade Kind deste componente para bkClose. 29. Altere os valores das propriedades Name e Caption deste boto de comando para BotaoFechar e &Fechar, respectivamente. O fato de se definir o valor da propriedade Kind deste componente como bkClose far com que, ao ser selecionado este boto, o formulrio seja fechado. Alm disso, se voc alterar o valor da propriedade Kind depois de alterar o valor da propriedade Caption, o valor desta ltima propriedade ser alterado para &Close. 30. Reposicione e redimensione os botes, de maneira que o mesmo fique com um aspecto semelhante ao apresentado na Figura 10.7. 31. Defina da seguinte maneira o procedimento associado ao evento OnShow deste formulrio:
procedure TFormCadastraSocios.FormShow(Sender: TObject); begin DBEditCodigoSocio.SetFocus; SQLTableSocios.Open;
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
SQLTableSocios.Append; end;
Neste procedimento, executado sempre que o formulrio exibido, so executados os mtodos Open e Append do componente SQLTableSocios, da classe SQLTable. O mtodo Open ativa o acesso tabela. O mtodo Append adiciona um novo registro em branco. Evidentemente, o mtodo Open no necessrio se mantivermos a propriedade Active do componente como True. Desta forma, altere o valor da propriedade Active do componente SQLTableSocios para False. Faa o mesmo para a propriedade Connected do componente SQLConnectionClube.
Atribuir o valor True propriedade Active do componente SQLTable equivale a executar o mtodo open deste componente. Ao atribuir o valor True propriedade Active do componente SQLTableSocios este tentar estabelecer a conexo atravs do componente SQLConnectionClube. Se a propriedade Connected deste componente estiver definida como False, o aplicativo tentar redefini-la como True. 32. Defina da seguinte maneira o procedimento associado ao evento OnClick do componente BotoCadastrar:
procedure TFormCadastraSocios.BotaoCadastrarClick(Sender: TObject); begin SQLTableSocios.Post; SQLTableSocios.Append; DBEditCodigoSocio.SetFocus; end;
O mtodo Post responsvel por gravar o ltimo registro criado pelo mtodo Append. Aps a gravao do registro, um novo registro criado com outra chamada ao mtodo Append. O mtodo SetFocus do componente DBEdit responsvel por redirecionar o foco da aplicao (o cursor) para o componente DBEditCodigoSocio. 33. Defina da seguinte maneira o procedimento associado ao evento OnClose do formulrio:
procedure TFormCadastraSocios.FormClose(Sender: TObject; var Action: TCloseAction); begin SQLTableSocios.Delete; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
157
35. Compile a aplicao. Ser exibida a mensagem de erro mostrada na figura a seguir, indicando que a unit unitCadastraSocios no foi includa na clusula uses da unit referente ao formulrio principal. Selecione o boto Yes.
36. Execute e teste a aplicao. Ao selecionar o item Cadastro do menu Socios, ser exibida a mensagem de erro mostrada na figura a seguir:
Esta mensagem indica que a aplicao est tentando editar uma tabela atravs de um componente disponvel apenas para leitura. Esta a primeira diferena do DBExpress para os demais mecanismos de acesso: O DBExpress (ao contrrio do BDE e do ADO) unidirecional, e no permite a edio direta dos registros (exceto em comandos SQL) apenas a sua consulta, e desde que esta seja feita de forma unidirecional. Para contornar este problema, devem-se utilizar os componentes DatasetProvider e ClientDataset (pgina Data Access da paleta de componentes), que em conjunto armazenam e gerenciam na memria o conjunto de registros acessados pelo componente SQLTable, e podem editar estes conjunto de registros (devendo posteriormente aplicar estas alteraes ao banco de dados, mediante uma chamada ao mtodo Applyupdates do componente ClientDataset). No prximo tpico, sero apresentados os procedimentos necessrios utilizao dos componentes DatasetProvider e ClientDataset.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
Figura 10.10: Aspecto do formulrio, aps a incluso e configurao dos componentes DatasetProvider e ClientDataset.
Desta forma, uma cpia dos registros ser manipulada localmente pelo componente ClientDataset.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
159
importante destacar, neste caso, a chamada ao mtodo ApplyUpdates do componente ClientDataset, responsvel por efetivar no banco de dados as alteraes realizadas no conjunto de registros manipulados localmente pelo componente. Lembre-se de que, ao ativar a conexo com o banco de dados, este componente recebeu uma cpia dos registros armazenados na tabela, e todas as incluses, excluses e alteraes foram feitas nesta cpia. O mtodo ApplyUpdates responsvel por gravar estas alteraes no banco de dados, recebendo como parmetro um nmero inteiro que identifica o nmero de erros permitidos em tal operao (entenda por erros as inconsistncias entre os registros obtidos inicialmente e aqueles existentes no banco de dados no momento em que sero efetivamente registradas tais alteraes (neste caso, definido como igual a zero). 10. Selecione o componente ClientDatasetSocios com o boto direito do mouse, para exibir o seu menu pop-up, como mostrado na figura a seguir.
11. Selecione o item Fields Editor neste menu pop-up, para exibir a janela do editor de campos, mostrada na figura a seguir.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
12. Selecione com o boto direito do mouse a rea branca desta janela para exibir o menu pop-up do Field Editor, mostrado na figura a seguir.
13. Neste menu popup, selecine o item Add All Fields. Sero criados os objetos que representam os campos, como mostrado na Figura 10.14. 14. A classe TFormCadastraSocios passa a incluir, entre seus campos, objetos que representam os campos da tabela, como mostrado no trecho de cdigo reproduzido a seguir:
TFormCadastraSocios = class(TForm) SQLConnectionClube: TSQLConnection;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
161
Repare que o campo CEP, por exemplo, representado pelo objeto ClientDataSetSociosCEP, do tipo TstringField.
Figura 10.14: Incluindo os objetos que representam os campos da tabela no editor de campos do componente ClientDataset.
15. Inclua componentes Labels e DBEdits correspondentes aos demais campos da tabela de Scios. Para isso, selecione no Fields Editor os objetos que representam os demais campos e arraste estes componentes para o formulrio, como mostrado nas Figuras 10.15 e 10.16. Reposicione e redimensione estes componentes para que seu formulrio fique com o aspecto mostrado na Figura 11.17. Atribua nomes adequados aos diversos componentes DBEdit, como DBEditSobrenomeSocio, DBEditEnderecoSocio, etc., para facilitar sua identificao no cdigo da aplicao.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
Figura 10.15: Arrastando os objetos que representam os demais campos da tabela de Scios a partir do editor de campos para o formulrio.
Figura 10.16: Criando os objetos para acessar os demais campos da tabela de Scios a partir do formulrio.
Figura 10.17: Criando os componentes para acessar os demais campos da tabela de Scios a partir do formulrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
163
O COMPONENTE DBEDIT
Este componente, usado anteriormente, exibe o valor de um campo do registro corrente e permite que o usurio altere o seu valor. Entre as propriedades deste componente, podemos destacar: DataSource: Esta propriedade define o componente que nos fornecer a conexo a um componente que representa uma tabela ou um banco de dados. Name: Esta propriedade define o nome pelo qual o componente ser referenciado no programa. DataField: Esta propriedade especifica o campo da tabela cujo valor ser exibido. No nosso exemplo, temos diversos controles deste tipo, todos com a propriedade DataSource igual a DataSourceSocios e cuja propriedade DataField vale, respectivamente: Nome, Sobrenome, Endereo, Complemento, Bairro, Cidade, Estado, CEP, Telefone e CPF. Neste caso, como usamos o Fields Editor, estas propriedades foram configuradas automaticamente quando os componentes foram criados no formulrio. O componente que exibe o valor do campo Nome, por exemplo, possui as seguintes propriedades: DataSource: DataSourceSocios DataField: Nome Name: DBEditNomeSocio
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
165
Esta caixa de dilogo apresenta as seguintes caractersticas: Permite que voc selecione uma das mscaras j disponveis na lista Sample Masks. Permite que voc personalize a mscara na caixa de texto Input Mask. Permite que voc especifique o caractere usado para representar espaos em branco na caixa de texto Character for Blanks. Permite que voc defina se toda a mscara deve ser armazenada na tabela ou apenas os dados digitados pelo usurio, atravs da caixa de verificao Save Literal Characters. Permite que voc teste a mscara, digitando valores na caixa de texto Test Input.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
Permite que voc carregue um arquivo de mscaras (extenso .dem) e armazene seus dados na lista de mscaras disponveis selecionando o boto Masks. Experimente criar o seu prprio arquivo de mscaras, disponibilizando-as atravs da caixa de dilogo Input Mask Editor. Para definir uma mscara para o campo CEP, atribua o valor 00000\-999;0; propriedade EditMask do objeto ClientDataSetSociosCEP. Esta mscara permite que se digitem todos os caracteres ou apenas os cinco primeiros. Outro campo que deve ter mscara o campo CPF. Defina da seguinte forma a mscara deste campo: Atribua o valor 000.000.000-00;0; propriedade EditMask do objeto ClientDatasetSociosCPF. Experimente acrescentar um novo registro e verifique que os campos para os quais foram definidas mscaras no permitem a digitao de caracteres invlidos.
O COMPONENTE MASKEDIT
Em situaes em que voc precisa definir uma mscara para um texto a ser digitado pelo usurio, mas este texto no ser armazenado em um campo de um registro, possvel usar o componente MaskEdit, que tambm possui a propriedade EditMask. O componente MaskEdit est localizado na pgina Additional da paleta de componentes.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
167
Compartilhe este evento tambm com o componente BotaoCadastrar e defina como False a propriedade TabStop do componente BotaoFechar.
O COMPONENTE DBCOMBOBOX
Nosso formulrio j est funcionando corretamente, mas poderemos aperfeio-lo ainda mais se considerarmos que, ao invs de exigir do usurio que digite um valor para o campo Estado, podemos dar a ele a possibilidade de selecionar este valor a partir de uma lista contendo todos os estados da federao o que pode ser feito utilizando-se o componente DBCombobox, situado na pgina Data Controls da paleta de componentes.
Significado Cria uma lista drop-down com uma caixa de edio na qual o usurio pode digitar texto. Cria uma caixa de edio sem uma lista drop-down.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
Significado Cria uma lista drop-down sem uma caixa de edio. Cria uma lista drop-down sem caixa de edio em que os itens podem ser qualquer objeto definido pelo usurio e no apenas strings, sendo que todos eles tm altura fixa. Cria uma lista drop-down sem caixa de edio em que os itens podem ser qualquer objeto definido pelo usurio e no apenas strings, sendo que eles no tm altura fixa.
Text: Define o texto que est sendo exibido na caixa de texto do componente. Items: Esta propriedade consiste em uma lista de strings, que associa uma linha de texto a cada um dos itens da lista. Esta propriedade pode ser alterada mediante a incluso de um trecho de cdigo ou diretamente no Object Inspector.
Clear: Deleta todas as strings da lista. Para deletar todas as strings na lista de strings exibida por um componente do tipo DBComboBox chamado DBComboBox1, basta incluir uma linha de cdigo como:
DBComboBox1.Items.Clear;
Delete: Remove uma string da lista. Para remover a string selecionada na lista de strings exibida por um componente do tipo DBComboBox chamado DBComboBox1, basta incluir uma linha de cdigo como:
DBComboBox1.Items.Delete(DBComboBox1.ItemIndex);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
169
LoadFromFile: Carrega a lista de strings a ser armazenada a partir de um arquivo. Para colocar o texto armazenado no arquivo dados.dat na lista de strings exibida por um componente do tipo DBComboBox chamado DBComboBox1, basta incluir uma linha de cdigo como:
DBComboBox1.Items.LoadFromFile(dados.dat);
SaveToFile: Salva a lista de strings em um arquivo. Para colocar a lista de strings armazenada no componente em um arquivo chamado dados.dat, basta incluir uma linha de cdigo como:
DBComboBox1.Items.SaveToFile(dados.dat);
A propriedade chamada Items na realidade, uma lista de strings (objeto da classe TStrings) que permite armazenar uma relao de valores que podem ser selecionados pelo usurio. Neste caso, queremos armazenar nesta lista de strings as siglas de cada um dos 27 estados da federao, relacionadas a seguir:
AC AL AM AP BA CE DF ES GO MA MG MT MS PA PB PE PI PR RJ RN RR RO RS SC SE SP TO
Para substituir o componente DBEditEstadoSocio pelo componente DBCombobox, voc dever executar os seguintes procedimentos: 1. Selecionar o componente DBEditEstadoSocio e pressionar a tecla Del, para remov-lo. 2. Incluir um componente DBCombobox (o oitavo componente da pgina Data Controls) no local anteriormente ocupado pelo componente DBEditEstadoSocio.
CAPTULO 10 CRIAO DE UM FORMULRIO PARA MANIPULAO DE TABELAS DE BANCOS DE DADOS COM O DBEXPRESS
3. Alterar a propriedade Name deste componente para DBComboboxEstadoSocio. 4. Selecionar as reticncias exibidas direita da propriedade Items deste componente para exibir a caixa de dilogo String List Editor e digitar as siglas dos 27 estados. 5. Alterar o valor da propriedade Style deste componente para csDropDownList. 6. Utilizando a caixa de dilogo Edit Tab Order (mostrada na figura a seguir e exibida selecionandose o item Tab Order no menu pop-up do formulrio), ordenar os componentes como indicado.
7. Compartilhar com este componente o procedimento associado ao evento OnKeyPress do componente DBEditCodigoSocio (que j est sendo compartilhado pelos demais componentes). Desta maneira, a tecla Enter funcionar como Tab tambm para este componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
171
Gostaria de, neste ponto, fazer uma observao importante. Voc j deve ter reparado que, na maioria dos procedimentos associados a eventos, existe um parmetro denominado Sender. Este parmetro muito til quando compartilhamos procedimentos associados a eventos entre diversos componentes, pois identifica qual destes componentes disparou o evento o que muito importante quando precisamos alterar as propriedades do componente que disparou o evento (pois precisamos identificlo). Como o parmetro Sender definido como sendo um objeto da classe TObject, precisamos tratlo como sendo um objeto da classe do componente que disparou o evento o que pode ser feito usando-se o operador de converso As. Pronto! Agora nosso formulrio de Cadastro de Clientes est mais interessante e funcional, e deve apresentar o aspecto mostrado na figura a seguir.
Captulo
11
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
173
METODOLOGIA
Apresentao e descrio dos principais conceitos relacionados criao e utilizao de objetos Data Module.
TCNICA
Apresentao e descrio dos procedimentos necessrios criao de Data Modules para armazenamento de componentes de acesso a dados.
4. Exiba o formulrio de Cadastro de Scios e selecione os diversos componentes de acesso, como mostrado na figura a seguir.
5. Selecione o item Cut do menu Edit do ambiente de desenvolvimento do Delphi 7. 6. Exiba novamente o Datamodule. 7. Selecione o item Paste do menu Edit do ambiente de desenvolvimento do Delphi 7. Os componentes de acesso sero includos no formulrio, como mostrado na figura a seguir.
Figura 11.3: Copiando os componentes de acesso a dados do formulrio de cadastro de scios para o Datamodule.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
175
8. Exiba novamente o formulrio de Cadastro de Scios e selecione o item Use Unit do menu File do ambiente de desenvolvimento do Delphi 7. Ser exibida a caixa de dilogo Use Unit, mostrada na figura a seguir.
9. Nesta caixa de dilogo, selecione a unit UnitDados e o boto Ok. 10. Selecione cada um dos componentes DBEdit e o DBCombobox e altere a propriedade Datasource de cada um deles para Dados.DatasourceSocios. 11. Na unit UnitCadastraSocios, troque cada referncia a ClientDatasetSocios para Dados.ClientDatasetSocios. Isto se deve ao fato de que, a partir de agora, o componente ClientDataSocios um campo interno ao objeto Dados, e da a necessidade da sua qualificao. Desta maneira, os procedimentos associados a eventos na unit UnitCadastraSocios passaro a ter a seguinte codificao:
procedure TFormCadastraSocios.FormShow(Sender: TObject); begin DBEditCodigoSocio.SetFocus; Dados.ClientDatasetSocios.Open; Dados.ClientDatasetSocios.Append; end; procedure TFormCadastraSocios.BotaoCadastrarClick(Sender: TObject); begin Dados.ClientDatasetSocios.Post; Dados.ClientDatasetSocios.Append; DBEditCodigoSocio.SetFocus;
Para exibir o objeto DataModule criado nos tpicos anteriores, execute os seguintes procedimentos: 1. Selecione a opo Forms no menu View. Ser apresentada a lista de formulrios disponveis (Figura 11.5).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
177
O COMPONENTE CLIENTDATASET
Conforme visto no tpico anterior, o componente ClientDataset representa uma tabela de um banco de dados, permitindo a sua edio local e com acesso bidirecional, o que no permitido pelo componente SQLTable. Este componente possui um cursor ou ponteiro que indica o registro corrente da tabela na memria, isto , aquele registro com o qual se est trabalhando localmente no momento.
First: Este mtodo coloca o primeiro registro da tabela na memria como o registro corrente (move o cursor para o primeiro registro da tabela na memria). Last: Este mtodo coloca o ltimo registro da tabela na memria como o registro corrente (move o cursor para o primeiro registro da tabela na memria). Next: Este mtodo coloca o prximo registro da tabela na memria como o registro corrente (move o cursor para o prximo registro da tabela na memria). Open: Este mtodo abre uma tabela na memria, tornando-a ativa e fornecendo acesso aos seus registros (equivale a definir o valor da propriedade Active como True). Post: Este mtodo realiza a gravao do registro corrente na memria. Prior: Este mtodo coloca o registro anterior da tabela na memria como o registro corrente (move o cursor para o registro anterior da tabela na memria). Refresh: Este mtodo atualiza os dados exibidos pelos registros da tabela na memria.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
179
O COMPONENTE DATASOURCE
Este componente de importncia fundamental no desenvolvimento de aplicativos de bancos de dados com o Delphi, pois ele quem se encarrega de fazer a conexo entre os componentes de visualizao (a serem vistos posteriormente) e os componentes de acesso (no nosso caso, as tabelas que compem o banco de dados). Exemplificando: para acessar a tabela Scios, representada na memria por um componente do tipo ClientDatasetSocios, precisamos incluir um componente DataSource para realizar a conexo entre a tabela na memria e os componentes que exibiro os valores armazenados nos campos dos seus registros (os componentes de visualizao). Os componentes de visualizao que desejarem acessar esta tabela na memria no o faro diretamente, mas atravs do componente DataSource, que serve como uma ponte entre estes e as tabelas.
O COMPONENTE SIMPLEDATASET
Este componente foi incorporado a esta verso do Delphi (substituindo o componente SQLClientDataset incorporado na verso 6), e tem por finalidade substituir os componentes SQLConnection, SQLTable, DatasetProvider e ClientDataset. Na verdade, ele incorpora um componente SQLDataset, que ser visto posteriormente. Nestes exemplos, no eliminaremos a necessidade de uso do componente SQLConnection (no caso o componente SQLConnectionClube), pois vrios componentes usaro a conexo definida por este componente. Este componente o ltimo da pgina DBExpress da paleta de componentes, e para utiliz-lo para acessar a tabela Scios, execute os seguintes procedimentos:
7. Usando o Fields Editor, selecione o item Add All Fields de seu menu pop-up para adicionar objetos para representar todos os campos desta tabela. 6. Redefina a propriedade EditMask para os objetos que representam os campos CEP e CPF, como descrito no captulo anterior.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
181
Figura 11.6: Aspecto do objeto Datamodule aps a incluso dos demais componentes de acesso.
3. Selecione o boto direito do mouse para exibir o menu pop-up desta janela e, neste menu, selecione o ndice Add, para criar um novo ndice na memria. Este ndice ser representado por um objeto da classe TIndexDefs, como mostrado na figura a seguir.
4. Altere a propriedade Name deste objeto para indNome, usando o Object Inspector. 5. Defina como NOME a propriedade Fields deste objeto no Object Inspector. Isto indica que este ser um ndice simples, formado pelo campo Nome.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
183
Desta maneira, o ndice ser trocado ao se exibir o formulrio. 9. Redefina da seguinte maneira o procedimento associado ao evento OnClose do formulrio:
procedure TFormCadastraSocios.FormClose(Sender: TObject; var Action: TCloseAction); begin Dados.SimpleDatasetSocios.Delete; Dados.SimpleDatasetSocios.ApplyUpdates(0); Dados.SimpleDatasetSocios.IndexName := indNomeCompleto; end;
10. Redefina da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoCadastrar:
procedure TFormCadastraSocios.BotaoCadastrarClick(Sender: TObject); begin try Dados.SimpleDatasetSocios.Post; Dados.SimpleDatasetSocios.Append; except ShowMessage(Este Cdigo J Foi Cadastrado); end; DBEditCodigoSocio.SetFocus; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
185
Captulo
Criao de Formulrios Para Cadastro de Fornecedores, Produtos e Pedidos
12
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
187
METODOLOGIA
Apresentao e descrio dos principais conceitos relacionados criao de formulrios de cadastro.
TCNICA
Apresentao e descrio dos procedimentos necessrios criao de formulrios de cadastro.
6. Pressione o boto direito do mouse com o componente SimpleDatasetAtividades selecionado, para exibir o seu menu pop-up.
Conforme j descrito anteriormente, ao adicionar os campos da tabela no Fields Editor, o Delphi automaticamente cria objetos para representar estes campos. 10. Arraste os objetos do Fields Editor para o formulrio FormCadastraAtividades para criar os componentes Labels e DBEdits vinculados aos campos da tabela, como mostrado na figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
189
Isto provoca a incluso do nome da unit que contm o Datamodule Dados (UnitDados) na clusula uses da unit UnitCadastraAtividades. 11. Altere a propriedade Caption do Label referente ao cdigo da atividade para CDIGO DA ATIVIDADE. 12. Renomeie os componentes de visualizao dando-lhes os nomes DBEditCodigoAtividade, DBEditNomeAtividade e DBEditValorAtividade. 13. Coloque um boto de comando com figura (BitBtn) para Cadastro, e defina da seguinte maneira as suas principais propriedades: Kind: bkCustom. ModalResult: mrNone Name: BotaoCadastrar Caption: &Cadastrar Height: 50 Width: 100 14. Para que estes dados sejam gravados na tabela quando o usurio selecionar este boto, devemos definir da seguinte maneira o procedimento associado ao evento OnClick deste boto.
procedure TFormCadastraAtividades.BotaoCadastrarClick(Sender: TObject); begin try Dados.SimpleDatasetAtividades.Post; Dados.SimpleDatasetAtividades.Append; except ShowMessage(Este Cdigo J Foi Cadastrado); end; DBEditCodigoSocio.SetFocus; end;
15. Defina da seguinte maneira o procedimento associado ao evento OnShow deste formulrio:
procedure TFormCadastraAtividades.FormShow(Sender: TObject); begin Dados.SimpleDatasetAtividades.IndexName := indCodigoSocio; DBEditCodigoSocio.SetFocus; Dados.SimpleDatasetAtividades.Open; Dados.SimpleDatasetAtividades.Append; end;
17. Defina da seguinte maneira o procedimento associado ao evento OnClose deste formulrio:
procedure TFormCadastraAtividades.FormClose(Sender: TObject; var Action: TCloseAction); begin Dados.SimpleDatasetAtividades.Delete; Dados.SimpleDatasetAtividades.ApplyUpdates(0); Dados.SimpleDatasetAtividades.IndexName := indNomeCompleto; end;
Desta maneira, o ndice ser novamente trocado ao se fechar o formulrio. 18. Defina da seguinte maneira o procedimento associado ao evento OnEnter do componente DBEditCodigoAtividade, a ser compartilhado pelos demais componentes DBEdit:
procedure TFormCadastraAtividades.DBEditCodigoAtividadeEnter( Sender: TObject); begin (Sender as TDBEdit).Color := clActiveCaption; (Sender as TDBEdit).Font.Color := clCaptionText; end;
19. Defina da seguinte maneira o procedimento associado ao evento OnExit do componente DBEditCodigoAtividade, a ser compartilhado pelos demais componentes DBEdit:
procedure TFormCadastraAtividades.DBEditCodigoAtividadeExit( Sender: TObject); begin (Sender as TDBEdit).Color := clWindow; (Sender as TDBEdit).Font.Color := clWindowText; end;
20. Inclua mais um boto de comando com figura e defina suas principais propriedades como indicado a seguir: Name: BotaoFechar Kind: bkClose Caption: &Fechar Height: 50 Width: 100
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
191
21. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Cadastrar do menu Atividades, e compartilhe este procedimento com o evento OnClick do item Cadastrar do submenu Atividades do menu pop-up:
procedure TFormPrincipal.AtividadesCadastroClick(Sender: TObject); begin FormCadastraAtividades.ShowModal; end;
Ao recompilar a aplicao, ser exibida uma mensagem de advertncia perguntando se o nome da unit do novo formulrio deve ser includo na clusula uses da unit UnitPrincipal. Responda yes a esta mensagem e recompile o projeto.
DEFININDO O FORMULRIO
Este formulrio ser usado para acrescentar um nova matrcula de um scio numa atividade tabela de matrculas. Como j descrito anteriormente, esta tabela possui os seguintes campos: CodigoScio. Este campo, do tipo inteiro, armazena o cdigo de scio que ser matriculado. CodigoAtividade. Este campo, do tipo inteiro, armazena o cdigo da atividade na qual o scio ser matriculado. Estes campos poderiam ser acessados atravs de um componente do tipo DBEdit. No entanto, o valor armazenado neles deve ser igual a um dos valores j armazenados no campo CodigoScio (para o campo referente ao scio que est sendo matriculado) da tabela de Scios, ou igual a um dos valores j armazenados no campo CodigoAtividade (para o campo referente atividade na qual o scio ser matriculado) da tabela de Atividades. Desta forma evitamos que se selecione um scio ou uma atividade no cadastrados. Para resolver este problema, podemos apresentar uma lista de opes usando um componente do tipo DBLookupComboBox, que ser apresentado nos prximos tpicos.
CRIANDO O FORMULRIO
Para criar o formulrio, execute os seguintes procedimentos: 1. Selecione o item New/Form do menu File do Delphi 7. Ser criado um formulrio default, chamado Form1. 2. Altere o valor da propriedade Name do formulrio para FormCadastraMatriculas. 3. Altere o valor da sua propriedade Caption para Cadastro de Matrculas. 4. Salve a unit associada a este formulrio com o nome UnitCadastraMatriculas. 5. Inclua a unit UnitCadastraMatriculas na clusula uses da unit UnitPrincipal.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
193
Desta maneira, o ndice ser novamente trocado ao se fechar o formulrio. 8. Defina da seguinte maneira o procedimento associado ao evento OnShow deste formulrio:
Desta maneira, o ndice ser trocado ao se exibir o formulrio. 9. Defina da seguinte maneira o procedimento associado ao evento OnKeyPress do componente DBLookupComboboxSocio, a ser compartilhado pelos componente DBLookupComboboxSocio.
procedure TFormCadastraMatriculas.DBLookupComboBoxSocioKeyPress( Sender: TObject; var Key: Char); begin if (key = #13) then begin Key := #0; SelectNext((Sender as TWinControl),True,True); end; end;
10. Defina da seguinte maneira o procedimento associado ao evento OnClose deste formulrio:
procedure TFormCadastraMatriculas.FormClose(Sender: TObject; var Action: TCloseAction); begin Dados.SimpleDatasetMatriculas.Delete; Dados.SimpleDatasetMatriculas.ApplyUpdates(0); Dados.SimpleDatasetMatriculas.IndexName := indSocio; end;
11. Inclua mais um boto de comando com figura e defina suas principais propriedades como indicado a seguir: Name: BotaoFechar Kind: bkClose Caption: &Fechar Height: 50 Width: 100 Seu formulrio dever ficar com o aspecto mostrado na figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
195
13. Use a caixa de dilogo Edit Tab Order para que os componentes sejam ordenados na forma mais adequada para a digitao das informaes. Repare que ao exibir o formulrio e selecionar a seta direita do componente DBLookupComboboxSocio, apenas o nome de um scio exibido. Isto ocorre porque, em nossa tabela, o nome e o sobrenome de um scio foram armazenados em campos distintos. E como resolver o caso de vrios scios com o mesmo nome? Neste caso, a soluo consiste em empregar o recurso de campos calculados, apresentado no tpico a seguir.
A linha de cdigo anterior faz com que o valor armazenado no campo NomeCompleto seja obtido pela concatenao do valor armazenado no campo Nome, com uma string composta por um espao em branco e o valor armazenado no campo Sobrenome. No esquea de incluir a string composta por um espao em branco, para que seja inserido um espao entre o nome e o sobrenome do scio. Esta string tambm ser til quando criarmos um formulrio para a consulta de dados de scios. 12. Redefina como NomeCompleto a propriedade ListField do componente DBLookupComboboxSocio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
197
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Captulo
13
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
199
METODOLOGIA
Apresentao e descrio dos principais conceitos relacionados criao de Templates de Componentes para agrupar componentes a serem utilizados em vrios Formulrios.
TCNICA
Apresentao e descrio dos procedimentos necessrios criao de Templates de Componentes.
Figura 13.1: A caixa de dilogo Component Template Information, usada para manipular componentes de acesso tabela de scios.
4. Nesta caixa de dilogo devero ser informados: Um nome para o template. O nome da pgina da paleta de componentes na qual o cone do Template ser exibido como se fosse um componente. Neste exemplo digitaremos o nome de uma pgina inexistente na paleta de componentes, e que ser ento automaticamente criada pelo ambiente de desenvolvimento. Um cone para o Template (neste exemplo, estamos usando o cone do componente Label). Digite as informaes mostradas na figura anterior e selecione o boto OK, para fechar esta caixa de dilogo e criar o Template de Componentes. Ser criada uma pgina chamada Clube na paleta de componentes, para armazenar o Template recm-criado. Para criar o Template de Componentes para a tabela Atividades usando os componentes j existentes no formulrio de cadastro de Atividades, voc dever executar os seguintes procedimentos: 1. Exibir o formulrio FormCadastraAtividades. 2. Selecionar todos os componentes Label e DBEdit existentes neste formulrio. 3. Selecionar o item Create component Template do menu Component, para exibir a caixa de dilogo mostrada na figura a seguir, na qual devero ser fornecidas as informaes necessrias criao do template.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
201
Figura 13.2: A caixa de dilogo Component Template Information, usada para manipular componentes de acesso tabela de atividades.
4. Digite as informaes mostradas na figura anterior e selecione o boto OK, para fechar esta caixa de dilogo e criar o Template de Componentes.
Para evitar erros de compilao mantenha todo o comando digitado em uma nica linha.
10. Inclua prximo ao componente EditPesquisa um componente Label no formulrio e altere o valor da sua propriedade Caption para DIGITE O NOME A SER PESQUISADO, respectivamente. 11. Inclua um componente DBNavigator (pgina Data Controls) no formulrio e defina da seguinte maneira as suas principais propriedades: Name: DBNavigatorSocios DataSource: Dados.DatasourceSocios VisibleButtons: [nbFirst,nbPrior,nbNext,nbLast] 12. Reposicione os componentes no formulrio, de maneira que este fique com um aspecto semelhante ao apresentado na figura a seguir.
Figura 13.3: Aspecto do formulrio para alterao dos dados dos scios.
13. Inclua o nome da unit associada a este formulrio na clusula uses da unit associada ao formulrio FormPrincipal. 14. Inclua a seguinte linha de cdigo no procedimento associado ao evento OnClick do item Alterao do menu Scios, e compartilhe este procedimento com o evento OnClick do item Alterao do submenu Scios do menu pop-up do formulrio.
FormAlteraSocios.ShowModal;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
203
10. Inclua prximo ao componente EditPesquisa um componente Label no formulrio e altere o valor da sua propriedade Caption para DIGITE O NOME A SER PESQUISADO. 11. Inclua um componente DBNavigator no formulrio e defina da seguinte maneira as suas principais propriedades: Name: DBNavigatorAtividades DataSource: Dados.DatasourceAtividades VisibleButtons: [nbFirst,nbPrior,nbNext,nbLast]
Figura 13.4: Aspecto do formulrio para alterao dos Dados das Atividades.
13. Inclua o nome da unit associada a este formulrio na clusula uses da unit associada ao formulrio FormPrincipal. 14. Inclua a seguinte linha de cdigo no procedimento associado ao evento OnClick do item Alterao do menu Atividades, e compartilhe este procedimento com o evento OnClick do item Alterao do submenu Atividades do menu pop-up do formulrio.
FormAlteraAtividades.ShowModal;
O COMPONENTE DBNAVIGATOR
Este controle permite a manipulao direta dos registros de uma tabela. Este controle permite que o usurio manipule os registros de uma tabela do banco de dados e seus botes possuem os seguintes significados (da esquerda para a direita): Exibir o primeiro registro da tabela. Exibir o registro anterior da tabela. Exibir o prximo registro da tabela. Exibir o ltimo registro da tabela. Insere um registro em branco na tabela. Deleta (exclui) o registro corrente da tabela. Permite a edio do registro corrente da tabela. Grava o registro corrente da tabela. Cancela a edio do registro corrente do banco de dados. Atualiza a exibio dos registros da tabela. Entre as propriedades deste componente, podemos destacar: DataSource: Esta propriedade define o componente que nos fornecer a conexo que desejamos estabelecer.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
205
5. Selecione o boto OK, para fechar a caixa de dilogo. Nessa caixa de dilogo, cada string digitada em uma linha corresponde string de auxlio de um boto. A primeira linha corresponde ao primeiro boto (da esquerda para a direita); a segunda linha, ao segundo boto e assim por diante. Os mtodos correspondentes a cada um desses botes, disponveis para os objetos da classe TSimpleDataset, so: Primeiro Registro: Mtodo First. Registro Anterior: Mtodo Prior. Prximo Registro: Mtodo Next. ltimo Registro: Mtodo Last. Inserir Registro: Mtodo Append. Deletar Registro: Mtodo Delete.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
207
Captulo
14
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
209
METODOLOGIA
Apresentao e descrio dos procedimentos necessrios criao de Templates de formulrios Templates. Apresentao e descrio dos principais conceitos relacionados criao de Formulrios Para Excluso de Dados.
TCNICA
Descrio dos procedimentos necessrios criao de formulrios Para Excluso.
Name: Caption:
BotaoExcluir &Excluir
Glyph: Localize o arquivo Trash.bmp (no Delphi 7 este arquivo costuma estar em c:\Arquivos de programas\Arquivos comuns\Borland shared\Images\Buttons\Trash.bmp, a menos que voc tenha alterado o diretrio default de instalao). Height: 50 Width: 100 Default: False Kind: bkCustom ModalResult: mrNone 6. Inclua outro boto de comando com figura na parte inferior do formulrio, e defina da seguinte maneira as suas principais propriedades: Name: BotaoFechar Kind: bkClose Caption: &Fechar Height: 50 Width: 100 7. Inclua um componente Caixa de Texto (Edit) no formulrio, e altere o valor da sua propriedade Name para EditPesquisa. 8. Apague o texto existente na propriedade Text do componente EditPesquisa. 9. Inclua um componente Label no formulrio e altere o valor da sua propriedade Caption para Digite o Nome a ser Pesquisado. 10. Altere as propriedades Name e Caption do formulrio para FormExclusao e Excluso de , respectivamente. 11. Reposicione os componentes no formulrio, de maneira que este fique com um aspecto semelhante ao apresentado na Figura 14.1.
12. Inclua o nome da unit UnitDados na clusula uses da unit associada a este formulrio. 13. Selecione o boto direito do mouse sobre o formulrio para exibir o seu menu pop-up, conforme mostrado na Figura 14.2.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
211
14. Neste menu pop-up, selecione o item Add To Repository, como indicado na figura anterior, para exibir a caixa de dilogo de mesmo nome, reproduzida na Figura 14.3.
15. Digite um ttulo para este template na caixa de texto Title, desta caixa de dilogo, como indicado na figura anterior. Este ser o nome exibido na caixa de dilogo New Items, quando se desejar criar um novo formulrio usando este template. 16. Digite uma descrio para este template na caixa de texto Description, desta caixa de dilogo, como indicado na figura anterior. Esta descrio tem por finalidade documentar o objetivo do template. 17. Na caixa combo Page digite o nome da pgina da caixa de dilogo New Items na qual o template ser exibido, ou selecione um dos nomes disponveis. 18. Digite o nome do autor deste template na caixa de texto Author, desta caixa de dilogo, como indicado na figura anterior. 19. Opcionalmente, voc pode definir um cone alternativo para representar este template. Para isto, basta selecionar o boto Browse, clicando sobre o mesmo com o boto esquerdo do mouse, e especificar o nome do arquivo do cone na caixa de dilogo que ser exibida. 20. Selecione o boto Ok para fechar esta caixa de dilogo. Ser exibida uma mensagem, reproduzida na figura a seguir, indicando que a unit deve ser salva.
21. Selecione yes nesta caixa de dilogo. Ser exibida a caixa de dilogo Save Unit1 As, na qual dever ser fornecido um nome para a unit. D o nome UnitTemplateExclusao para esta unit, como mostrado na figura a seguir e selecione o boto Salvar, para fechar esta caixa de dilogo.
Pronto! O Template foi criado e poder ser usado na criao dos formulrios de excluso, conforme ser mostrado nos prximos tpicos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
213
Repare que esta caixa de dilogo possui a guia Clube (referente ao projeto) e CLUBE (referente ao Template).
2. Selecione o boto OK para fechar esta caixa de dilogo e criar o novo formulrio. 3. Altere as propriedades Name e Caption do formulrio recm-criado para FormExclusaoSocios e Excluso de Scios, respectivamente. 4. Altere a propriedade Datasource do DBGrid para Dados.DatasourceSocios. 5. Inclua a unit DB na clusula Uses da unit associada ao formulrio. 6. Defina da seguinte maneira o procedimento associado ao evento OnChange do componente EditPesquisa:
procedure TFormExclusaoSocios.EditPesquisaChange(Sender: TObject); begin Dados.SimpleDatasetSocios.Locate(NOME,VarArrayOf([EditPesquisa.Text]),[loPartialKey,LocaseInsensitive]); end;
Este cdigo faz com que seja efetuada uma pesquisa aproximada pelo nome do cliente. 7. Defina da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoExcluir:
procedure TFormExclusaoSocios.BotaoExcluirClick(Sender: TObject); begin if MessageDlg(Confirma a Excluso do Registro?,mtConfirmation,mbOkCancel,0) = mrOk then Dados.SimpleDataSetsocios.Delete; end;
Desta maneira, ser enviada uma mensagem de confirmao antes que o registro seja efetivamente excludo. 8. Defina da seguinte maneira o procedimento associado ao evento OnClose deste formulrio:
procedure TFormExclusaoSocios.FormShow(Sender: TObject); begin
10. Salve a unit associada a este formulrio com o nome UnitExlusaoSocios. 11. Inclua o nome da unit associada a este formulrio na clusula uses da unit associada ao formulrio FormPrincipal. 12. Inclua a seguinte linha de cdigo no procedimento associado ao evento OnClick do item Excluso do menu Scios, e compartilhe este procedimento com o evento OnClick do item Excluir do submenu Scios do menu pop-up do formulrio.
FormExclusaoSocios.ShowModal;
6. Inclua a unit DB na clusula Uses da unit associada ao formulrio. 7. Defina da seguinte maneira o procedimento associado ao evento OnChange do componente EditPesquisa:
procedure TFormExclusaoAtividades.EditPesquisaChange(Sender: TObject); begin Dados.SimpleDatasetAtividades.Locate(NOME,VarArrayOf([EditPesquisa.Text]),[loPartialKey,LocaseInsensitive]); end;
Este cdigo faz com que seja efetuada uma pesquisa aproximada pelo nome da atividade.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
215
Desta maneira, ser enviada uma mensagem de confirmao antes que o registro seja efetivamente excludo. 9. Salve a unit associada a este formulrio com o nome UnitExclusaoAtividades. 10. Inclua o nome da unit associada a este formulrio na clusula uses da unit associada ao formulrio FormPrincipal. 11. Defina da seguinte maneira o procedimento associado ao evento OnClose deste formulrio:
procedure TFormExclusaoAtividades.FormClose(Sender: TObject; var Action: TCloseAction); begin Dados.SimpleDatasetAtividades.ApplyUpdates(0); end;
12. Inclua a seguinte linha de cdigo no procedimento associado ao evento OnClick do item Excluso do menu Atividades, e compartilhe este procedimento com o evento OnClick do item Excluso do submenu Atividades do menu pop-up do formulrio.
FormExclusaoAtividades.ShowModal;
A LINGUAGEM SQL
SQL a abreviatura de Structured Query Language (Linguagem Estruturada de Consulta). Nos ltimos anos, a linguagem SQL se transformou numa linguagem padro para a consulta e acesso a registros de bancos de dados, sendo convencionalmente subdividida em: Uma linguagem de manipulao de dados (DML Data Manipulation Language). Uma linguagem de controle de dados (DCL Data Control Language). Uma linguagem de definio de dados (DDL Data Definition Language). Embora existam vrios dialetos para a linguagem SQL, uma tentativa de padronizao foi feita com a definio da linguagem SQL ANSI-92. Este livro no tem por objetivo apresentar ao leitor uma descrio completa da linguagem SQL, mas isto no nos impede de mostrar como os seus comandos podem ser executados a partir de um aplicativo desenvolvido com o Delphi 7. Para executar comandos SQL em um aplicativo desenvolvido com o Delphi 7, voc pode usar o componente SimpleDataset com o qual j est trabalhando, mas deve no entanto considerar as seguintes modificaes: Sua propriedade CommandTupe dever ser definida como ctQuery, e no como ctTable. Sua propriedade CommandText dever definir o comando SQL a ser executado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
217
Este trecho de cdigo seleciona (SELECT) os campos CodigoSocio da tabela Scios (SOCIOS.CODIGOSOCIO), Nome da tabela Scios (SOCIOS.NOME AS NOME), Sobrenome da tabela Scios (SOCIOS.SOBRENOME AS SOBRENOME), CodigoAtividade da tabela Atividades (ATIVIDADES.CODIGOATIVIDADE), e campo Nome da tabela Atividades (ATIVIDADES.NOME AS ATIVIDADE). Repare que, quando se manipulam vrias tabelas em um cdigo Select, o acesso a um campo de uma tabela segue a sintaxe Nome_Tabela.Nome_Campo. O conector As d um nome alternativo para cada um dos campos selecionados.
FROM SOCIOS, ATIVIDADES, MATRICULAS
Este trecho de cdigo informa os nomes das tabelas a partir das quais ser montada a consulta.
WHERE SOCIOS.CODIGOSOCIO = MATRICULAS.SOCIO AND ATIVIDADES.CODIGOATIVIDADE = MATRICULAS.ATIVIDADE
Este trecho de cdigo define as condies que devem ser obedecidas por estes campos. Os campos selecionados so descritos no trecho de cdigo anterior (SELECT) e desde que (WHERE) as seguintes condies sejam satisfeitas: O valor armazenado no campo CodigoSocio da tabela Scios deve ser igual ao campo SOCIO da tabela MATRICULAS.
E (AND)
O valor armazenado no campo CodigoAtividade da tabela Atividades deve ser igual ao campo ATIVIDADE da tabela MATRICULAS.
ORDER BY SOCIOS.NOME, SOCIOS.SOBRENOME
Este trecho de cdigo define que os registros retornados (satisfazendo as condies anteriores) devero ser ordenados pelos campos Nome e Sobrenome da tabela Scios. 5. Inclua um componente Datasource neste formulrio e atribua os seguintes valores para as suas principais propriedades: Name: DatasourceConsulta. Dataset: SimpleDatasetConsulta. 6. Inclua um segundo componente SimpleDataset neste formulrio e atribua os seguintes valores s suas principais propriedades: Name: SimpleDatasetExclusao. Subpropriedade CommandType da Propriedade Dataset: ctTable. Subpropriedade Command da Propriedade Dataset: Matriculas. Propriedade Mastersource: DatasourceConsulta.
7. Altere a propriedade Datasource do DBGrid para DatasourceConsulta. 8. Defina da seguinte maneira o procedimento associado ao evento OnShow do formulrio:
procedure TFormExclusaoMatriculas.FormShow(Sender: TObject); begin SimpleDataSetConsulta.Open; SimpleDataSetExclusao.Open; EditPesquisa.Clear; end;
9. Inclua a unit DB na clusula Uses da unit associada ao formulrio. 10. Defina da seguinte maneira o procedimento associado ao evento OnChange do componente EditPesquisa:
procedure TFormExclusaoMatriculas.EditPesquisaChange(Sender: TObject); begin Dados.SimpleDatasetConsulta.Locate(Nome,VarArrayOf([EditPesquisa.Text]),[loPartialKey,LocaseInsensitive]); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
219
Desta maneira, ser enviada uma mensagem de confirmao antes que o registro seja efetivamente excludo. 12. Salve a unit associada a este formulrio com o nome UnitExlusaoMatriculas. 13. Inclua o nome da unit associada a este formulrio na clusula uses da unit associada ao formulrio FormPrincipal. 14. Defina da seguinte maneira o procedimento associado ao evento OnClose deste formulrio:
procedure TFormExclusaoMatriculas.FormClose(Sender: TObject; var Action: TCloseAction); begin Dados.SimpleDatasetExclusao.ApplyUpdates(0); end;
15. D um duplo clique com o boto esquerdo do mouse sobre o DBGrid, para exibir a janela Columns Editor (editor de colunas) do DBGrid, como mostrado na figura a seguir.
16. Exiba o menu pop-up desta janela e selecione o item Add All Fields, para criar objetos que representam os campos exibidos nas colunas do DBGrid, como mostrado na Figura 14.11. Estes objetos permitem que se configure de forma independente cada uma das colunas do DBGrid. 17. Remova os objetos correspondentes aos campos CODIGOSOCIO e CODIGOATIVIDADE, selecionando-se e pressionando a tecla Del. Desta forma, o DBGrid s exibir as colunas correspondentes aos campos Lookup.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
221
Captulo
15
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
223
METODOLOGIA
Apresentao e descrio dos conceitos relacionados criao de formulrios para consulta de dados.
TCNICA
Apresentao e descrio dos procedimenttos relacionados criao de formulrios para consulta de dados a partir de formulrios criados para excluso.
Repare que neste caso estamos usando a guia Clube (referente ao projeto) e no a guia CLUBE (referente ao Template). Repare ainda a seleo da opo inherit, que indica que ser usado o mecanismo de herana de formulrios.
2. Selecione o boto OK para fechar esta caixa de dilogo e criar o novo formulrio. 3. Altere as propriedades Name e Caption do formulrio recm-criado para FormConsultaSocios e Consulta de Scios, respectivamente. 4. Defina como False a Propriedade Visible do componente BotaoExcluir.
Repare que, como este formulrio foi criado a partir do formulrio FormExclusaoSocios usando o mecanismo de herana, no possvel excluir o componente BotaoExcluir, a menos que isso fosse feito no prprio formulrio ancestral (no o caso). A redefinio de valores de propriedade, no entanto, permitida. A existncia deste mecanismo verificada na seguinte linha de cdigo, extrada da unit deste formulrio:
type TFormConsultaSocios = class(TFormExclusaoSocios)
Repare que os diversos componentes esto todos definidos no formulrio ancestral. No caso do captulo anterior, em que foi criado um template independente, a opo Copy pode ser usada na caixa de dilogo New Items, e neste caso foram criadas cpias do formulrio criado como template, desvinculados de qualquer herana com o formulrio original. 5. Salve a unit associada a este formulrio com o nome UnitCONSULTASocios. 6. Inclua o nome da unit associada a este formulrio na clusula uses da unit associada ao formulrio FormPrincipal. 7. Inclua a seguinte linha de cdigo no procedimento associado ao evento OnClick do item Consulta do menu Scios, e compartilhe este procedimento com o evento OnClick do item Consulta do submenu Scios do menu pop-up do formulrio.
FormConsultaSocios.ShowModal;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
225
Captulo
Criando Rotinas de Backup e Restaurao
16
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
227
CPIA DE ARQUIVOS
PR-REQUISITOS
Noes bsicas da utilizao do ambiente de desenvolvimento do Delphi 7. Conhecimentos bsicos sobre a linguagem Object Pascal (j apresentados nos captulos anteriores). Criao de formulrios e utilizao dos componentes bsicos de interface.
METODOLOGIA
Apresentao e descrio dos comandos da linguagem pascal que permitem a realizao de cpias de arquivos.
TCNICA
Apresentao e descrio dos procedimentos necessrios criao de formulrios para cpia e restaurao de arquivos.
CONCEITOS FUNDAMENTAIS
Para efetuar cpias de arquivos, o Delphi 7 fornece acesso a uma funo chamada CopyFileTo, definida na unit IdGlobal, que permite que esta tarefa seja executada de maneira simples e rpida. Esta funo recebe como parmetros: Uma string que define o nome do arquivo a ser copiado (incluindo seu path). Uma string que define o nome do arquivo de destino para o qual a cpia ser feita (incluindo seu path). Esta funo multiplataforma, e retorna False se o arquivo de destino j existir. Logo, deve-se inicialmente testar se o referido arquivo j existe e, em caso positivo, apag-lo.
Name: Text
5. Inclua um componente Boto de Comando com figura no formulrio e defina os seguintes valores para as suas principais propriedades. Name: BotaoCopiar Caption: &Copiar Glyph: c:\Arquivos de programas\Arquivos comuns\Borland shared\Images\Buttons\ Floppy.bmp. Height: 50 Width: 100 6. Inclua um segundo componente Boto de Comando com figura no formulrio e defina os seguintes valores para as suas principais propriedades. Name: BotaoFechar Kind: bkClose Caption: &Fechar Height: 50 Width: 100 Seu formulrio dever ficar com o aspecto indicado na figura a seguir.
7. Inclua o nome da unit IdGlobal na clusula uses da unit associada a este formulrio. 8. Defina da seguinte maneira o procedimento associado ao evento Onclick do componente BotaoCopiar:
procedure TFormBackup.BotaoCopiarClick(Sender: TObject); var origem, destino: string; begin origem := ExtractFilePath(Application.Exename)+C:\DB\Clube.gdb;; destino := EditDestino.Text; if FileExists(destino) then DeleteFile(destino); if (CopyFileTo(origem,destino)) then ShowMessage(Backup Efetuado com Sucesso) else ShowMessage(Cpia No Efetuada); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
229
Para criar um formulrio de Restaurao de dados, voc dever executar os seguintes procedimentos: 1. Selecione o item New/Form do menu File do Delphi 7, para criar um novo formulrio. 2. Altere os valores das suas propriedades Name e Caption para FormRestaura e Recuperao de Dados respectivamente. 3. Coloque um label no formulrio e defina sua propriedade Caption como Digite o Nome do Arquivo de Origem (incluindo seu path). 4. Inclua um componente Caixa de Texto (pgina Standard) no formulrio e defina os seguintes valores para as suas principais propriedades.
Name: Text
5. Inclua um componente Boto de Comando com figura no formulrio e defina os seguintes valores para as suas principais propriedades. Name: BotaoCopiar Caption: &Copiar Glyph: c:\Arquivos de programas\Arquivos comuns\Borland shared\Images\Buttons\ Floppy.bmp. Height: 50 Width: 100 6. Inclua um segundo componente Boto de Comando com figura no formulrio e defina os seguintes valores para as suas principais propriedades. Name: BotaoFechar Kind: bkClose
7. Inclua o nome da unit IdGlobal na clusula uses da unit associada a este formulrio. 8. Defina da seguinte maneira o procedimento associado ao evento Onclick do componente BotaoCopiar:
procedure TFormRestaura.BotaoCopiarClick(Sender: TObject); var origem, destino: string; begin origem := Editorigem.Text; destino := ExtractFilePath(Application.Exename)+C:\DB\Clube.gdb;; if FileExists(destino) then DeleteFile(destino); if (CopyFileTo(origem,destino)) then ShowMessage(Recuperao Efetuada com Sucesso) else ShowMessage(Cpia No Efetuada); end;
9. Salve a unit associada a este arquivo de cdigo com o nome UnitRestaura. 10. Inclua o nome desta unit na clusula uses da unit associada ao formulrio FormPrincipal (o formulrio principal da aplicao). 11. Inclua a seguinte linha de cdigo no procedimento associado ao evento OnClick do item Restaurar do menu Sistema, e compartilhe este procedimento com o evento OnClick do item Restaurar do submenu Sistema do menu pop-up do formulrio.
FormRestaura.ShowModal;
Evidentemente estamos supondo que o backup esteja sendo feito para um meio de armazenamento secundrio de grande capacidade, como um ZipDisk ou um SuperDisk. Uma opo alternativa seria a utilizao de componentes disponveis no mercado, que gerenciam a compactao de arquivos (no formato .zip) e possuem mtodos capazes de gerenciar cpia de arquivos para mltiplos disquetes.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
231
Parte
Know-How
II
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
233
Captulo
Criao de Relatrios com o Rave Reports
17
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
235
METODOLOGIA
Apresentao e descrio dos principais conceitos relacionados criao de relatrios com o conjunto de componentes Rave Reports.
TCNICA
Apresentao dos procedimentos necessrios criao de relatrios com o conjunto de componentes Rave Reports.
INTRODUO
O Rave Reports , na realidade, um conjunto de componentes situados na pgina Rave da paleta de componentes, que permite a criao de relatrios de forma simples e rpida.
O COMPONENTE RVPROJECT
O componente RvProject (o primeiro componente da pgina Rave da paleta de componentes) de fundamental importncia na criao de relatrios com o Rave Reports, pois fornece acesso direto a um ambiente de desenvolvimento intrnseco criao de relatrios.
6. D um duplo clique com o boto esquerdo do mouse sobre o componente RvClube. Ser exibido o ambiente de desenvolvimento do Rave Reports, mostrado na figura a seguir.
Repare que este ambiente apresenta sua prpria paleta de componentes, seu prprio Object Inspector, etc. 7. Selecione o item New Data Object do menu File do ambiente do Rave Reports, para exibir a caixa de dilogo Data Connection, mostrada na Figura 17.3. 8. Nesta caixa de dilogo, selecione o item Direct Data View e o boto Next. Sero exibidas as conexes de dados disponveis (no momennto s h uma), como mostra a Figura 17.4. 9. Selecione a nica conexo disponvel e o boto Finish. Selecione e expanda a opo Data View Dictionary, no lado direito do ambiente do Rave Reports. Selecione o item Dataview1 e altere para DataviewSocios a sua propriedade Name. Repare que foram inseridos objetos correspondentes aos diversos campos da tabela Scios, como mostrado na figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
237
Figura 17.4: Exibindo as conexes de dados disponveis na caixa de dilogo Data Connections.
12. Inclua um componente Band (pgina Report da paleta de componentes do ambiente de desenvolvimento do Rave Reports) na rea superior do componente Region1. 13. Selecione os trs pontinhos direita da propriedade BandStyle para exibir a caixa de dilogo Band Style Editor, mostrada na Figura 17.7. 14. Marque a opo Body Header e o boto Ok para fechar esta caixa de dilogo. 15. Altere para 0,990 o valor da propriedade Height. 16. Inclua nesta banda um componente Text (pgina Standard da paleta de componentes do ambiente de desenvolvimento do Rave Reports) e atribua os seguintes valores s suas principais propriedades: Name: Ttulo Text: Relatrio de Clientes Font: Arial, Bold Italic, sublinhada, tamanho 20. Top: 0,080
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
239
17. Centralize horizontalmente este componente na banda, selecionando o item Center Horizontally na pgina Alignment da paleta de componentes do ambiente de desenvolvimento do Rave Reports. 18. Coloque mais trs componentes Text e defina a propriedade Text de cada um deles como Cdigo, Nome e Sobrenome, respectivamente. Defina para estes componentes a mesma fonte e cuide de seu alinhamento. Seu relatrio dever ficar com o aspecto mostrado na figura a seguir.
19. Inclua um componente DataBand (pgina Report da paleta de componentes do ambiente de desenvolvimento do Rave Reports) abaixo da banda existente. Esta banda ser a banda na qual sero exibidos os dados dos registros das tabelas.
25. Nesta caixa de dilogo, selecione a opo Preview e o boto Ok para Pr-visualizar o relatrio, como mostrado na Figura 17.10. 26. Salve a unit associada ao Datamodule Relatrios com o nome UnitRelatorios, e inclua o nome desta unit na clusula uses da unit do formulrio principal da aplicao. 27. No Delphi 7, Atribua o valor RelatClube.rav propriedade ProjectFile do componente RvClube. 28. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Scios do menu Relatrio, a ser compartilhado pelo item Scios do submenu Relatrios do menu pop-up.
procedure TFormPrincipal.RelatorioSociosClick(Sender: TObject); begin Relatorios.RvClube.SelectReport(RelatSocios,False); Relatorios.RvClube.Execute; end;
A primeira linha de cdigo seleciona o relatrio a ser exibido (podemos ter vrios relatrios relacionados a um nico componente RvProject) e a segunda manda executar o relatrio selecionado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
241
22. Selecione o item Save do menu File do ambiente de desenvolvimento do Rave Reports para salvar as alteraes no projeto de relatrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
243
23. Selecione o item Save do menu File do ambiente de desenvolvimento do Rave Reports para salvar as alteraes no projeto de relatrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
245
Captulo
18
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
247
METODOLOGIA
Apresentao e descrio dos principais conceitos relacionados criao de Arquivos de Help com o Word e o Microsoft Help Compiler.
TCNICA
Apresentao e descrio dos procedimentos necessrios criao de Arquivos de Help com o Word e o Microsoft Help Compiler.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
249
3. Nesta caixa de dilogo, selecione a opo Notas de rodap. 4. Digite o caractere # na caixa de texto direita da opo Personalizada. 5. Selecione o boto OK, para fechar a caixa de dilogo. 6. Digite a string de contexto na nota de rodap, logo aps o sinal #, criado no passo anterior, como mostra a figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
251
Uma string de contexto no pode conter espaos em branco e deve ter, no mximo, 255 caracteres.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
253
Crie as demais pginas de tpicos e defina as strings de auxlio, palavras-chave, ttulo e numerao como indicado. Defina a numerao da pgina de ndice como Tpico:001.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
255
A primeira linha define a string de contexto do tpico principal do arquivo de Help (na realidade, o Help On-Line de uma aplicao pode ser composto por vrios arquivos). Se esta linha for omitida, o primeiro tpico do primeiro arquivo de ajuda ser assumido como tpico principal. A segunda linha define o texto exibido na barra de ttulos do arquivo de Help. A terceira linha define o tipo de compresso do arquivo. O nvel de compresso pode assumir um dos valores definidos na tabela a seguir:
Velocidade de Compilao Rpida Mdia Lenta Rpida Lenta Rpida Lenta Lenta
Tamanho do arquivo Grande (sem compresso) Mdio (compresso mdia) Pequeno (compresso alta) Grande (sem compresso) Pequeno (compresso alta) Grande (sem compresso) Pequeno (compresso alta) Pequeno (compresso alta)
Se esta linha for omitida, no haver compresso. A quarta linha define o arquivo no qual sero gravadas as mensagens de erros de compilao. Se esta linha for omitida, as mensagens de erro sero exibidas na tela mas no sero enviadas para nenhum arquivo. A seo CONFIG possui a seguinte sintaxe:
[CONFIG] BrowseButtons()
Esta linha, se includa, faz com que os botes << e >> sejam exibidos, permitindo ao usurio percorrer uma seqncia de pginas do arquivo de Help.
Voc pode criar este arquivo em um editor de texto ou usando o Microsoft Help Workshop, como mostrado no prximo tpico.
2. Selecione o item New do menu File. Ser exibida a caixa de dilogo New (Figura 18.12). 3. Selecione a opo Help Project. 4. Selecione o boto OK, para fechar a caixa de dilogo. Ser exibida a caixa de dilogo Project File Name (Figura 18.13).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
257
5. Digite o nome do arquivo de projeto. 6. Selecione o boto Salvar, para fechar a caixa de dilogo. Ser criado o esqueleto do arquivo de projeto, como mostra a Figura 18.14.
7. Selecione o boto Files, para exibir a caixa de dilogo Topic Files (Figura 18.15).
8. Selecione o boto Add, para exibir a caixa de dilogo Abrir (Figura 18.16).
9. Selecione o arquivo desejado. 10. Clique em Open para fechar a caixa de dilogo Abrir. 11. Clique em OK para fechar a caixa de dilogo Topic Files. Seu arquivo ser includo no projeto, como mostra a figura a seguir. 12. Selecione o boto Save and Compile, para salvar e compilar o arquivo de projeto de Help. Pronto! Voc acaba de criar o arquivo Clube.hlp (o arquivo de help do seu aplicativo).
Voc pode configurar as diversas sees do arquivo de projeto de Help selecionando o boto correspondente na janela principal do Microsoft Help Workshop.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
259
002
Para associar um nmero a uma string de contexto, voc deve executar os seguintes procedimentos: 1. Abra o arquivo de projeto, selecionando o item Open no menu File do Microsoft Help Workshop. 2. Selecione o boto Map. Ser exibida a caixa de dilogo Map. Selecione o boto Add para exibir a caixa de dilogo Add Map Entry (Figura 18.19).
3. Digite os valores adequados nas caixas de texto Topic ID e Mapped numeric value. 4. Selecione o boto OK para fechar a caixa de dilogo. Ser exibida a caixa de dilogo Map, mostrada na figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
261
A funo WinHelp uma funo da API do Windows que requer os seguintes parmetros: O handle da janela. Uma string com o path completo e o nome do arquivo de Help. O tipo de Help. Um inteiro (geralmente pode ser usado o valor 0).
Assim, quando o usurio selecionar o item Ajuda, do menu Help, ou pressionar a tecla de funo F1, ser exibida a tela do arquivo de Help associado aplicao.
Captulo
Programao Orientada a Objetos em Delphi 7
19
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
263
Apresentao do problema: Criao de um programa que utilize o Pascal procedural utilizando-se o ambiente de desenvolvimento integrado
do Delphi 7.
Utilizao do ambiente de desenvolvimento integrado do Delphi 7 para criar aplicaes tipo Console.
APRESENTAO DO PROBLEMA
Este tpico se destina a apresentar os procedimentos necessrios ao desenvolvimento de aplicaes tipo console com o Delphi 7, e sua incluso decorre da necessidade de apresentarmos, nos tpicos que se seguem, os fundamentos da programao orientada a objetos sem a necessidade de nos referirmos aos elementos de criao da interface grfica de uma aplicao. Alm disso, gostaria de iniciar este captulo relatando um fato bastante interessante, mas que pode parecer um tanto estranho para os analistas, programadores e demais profissionais de informtica. Nos ltimos anos, minha experincia acadmica e profissional tem demonstrado que, apesar de toda a evoluo dos sistemas operacionais com interface grfica (como o Windows 95/98/Me/2000/NT/XP, por exemplo), os currculos escolares de muitas faculdades e universidades brasileiras tm evitado a incluso de disciplinas que abordem exclusivamente a utilizao de ambientes e linguagens visuais de programao, como o Delphi, o C++ Builder, o Visual Basic, etc. Esse fato se deve, entre outras causas, aos seguintes fatores:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
265
A aplicao tipo console ser criada com um nico arquivo (arquivo de projeto, com extenso dpr), e cujo cdigo gerado reproduzido a seguir.
program Project1; {$APPTYPE CONSOLE} uses sysutils; begin end.
4. Salve o seu projeto com o nome Console.dpr, usando o tem Save Project As do menu File. 5. O cdigo-fonte do seu arquivo de projeto dever ficar como indicado a seguir.
program console;
No caso de um programa desenvolvido com o Pascal padro, o incio do programa definido pela palavrachave program, seguida pelo nome do programa e pelas instrues delimitadas entre o primeiro begin e o ltimo end (que acompanhado de um ponto, e no de um ponto-e-vrgula, pois encerra a unit). Apenas para exemplificar o funcionamento de uma aplicao do tipo console, redefina o cdigo do seu programa da maneira indicada a seguir.
program Console; {$APPTYPE CONSOLE} uses sysutils; begin Writeln(Exemplo de Aplicativo Tipo Console); Readln; end.
importante salientar, no entanto, que no caso do Delphi 7, este tipo de aplicao de 32 bits do Windows (e no uma aplicao de 16 bits do DOS), e conseqentemente pode chamar qualquer funo definida pela API do Windows 95/98/Me/2000/NT/XP. Experimente, por exemplo, redefinir este programa da maneira mostrada a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
267
A funo ShowMessage tpica do ambiente Windows, mostrando que, embora seja do tipo Console, no uma aplicao DOS (embora possua a cara e interface do DOS). Execute esta aplicao, e ver a janela mostrada na figura a seguir.
Figura 19.3: Acessando uma funo da API do Windows em uma aplicao tipo console criada com o Delphi 7.
O objetivo deste tpico foi mostrar que o ambiente de desenvolvimento do Delphi 7 pode ser usado no desenvolvimento de aplicaes do tipo console, utilizando-se o Pascal como linguagem de programao procedural. Desta maneira, se voc possui qualquer aplicao desenvolvida utilizando-se o Pascal tradicional, pode recompil-la a partir do ambiente do Delphi 7, executando os procedimentos descritos neste tpico (talvez tenha alguma dificuldade no caso de utilizao de algumas bibliotecas grficas). Dessa maneira no necessrio manter instalados simultaneamente, em um mesmo equipamento, o Delphi 7 e uma verso antiga do compilador Turbo Pascal. Nos prximos tpicos, a comparao entre a programao estruturada e a programao orientada a objetos ser feita, inicialmente, utilizando aplicaes tipo console, e nestas situaes este tpico poder ser bastante til.
Conhecimento das tcnicas de programao estruturada. Conhecimento da sintaxe bsica da linguagem Pascal. Familiaridade com o ambiente de desenvolvimento integrado do Borland Delphi 7.
METODOLOGIA
Apresentao dos conceitos fundamentais da programao orientada a objetos. Comparao dos procedimentos adotados na programao estruturada e na programao orientada a objetos.
TCNICA
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
269
Observe que no Delphi 7, a janela para edio de cdigos (O Code Editor) apresenta sua esquerda uma outra janela denominada Code Browser, como mostrado na figura a seguir, e que exibe os procedimentos, tipos, objetos e variveis definidos na unit que est sendo editada (mesmo se tratando de uma aplicao tipo console).
Figura 19.4: A janela do editor de cdigos, com a janela do Code Browser incorporada.
Esta janela pode ser desacoplada do editor de cdigos e visualizada de forma independente, bastando para isso selecionar a sua barra de ttulos e arrastar a janela para outra regio do ambiente de desenvolvimento.
No prximo tpico ser apresentada uma anlise deste cdigo, escrito por meio do Pascal procedural.
ANLISE DO CDIGO-FONTE
Conforme descrito anteriormente, nesse programa (escrito em Pascal Procedural) os dados so entidades totalmente distintas das funes. Nesse caso particular, os dados so declarados no seguinte trecho de cdigo:
var Contribuinte : TContribuinte;
onde TContribuinte um tipo composto (registro) definido na seo type da unit que rene duas variveis chamadas rendimento e imposto (denominadas campos). Os tipos compostos j existem h muito tempo na linguagem pascal, e no so uma inovao do Delphi 7. A nica sub-rotina deste programa a funo calcula_imposto, que recebe como parmetro uma varivel do tipo TContribuinte (sub-rotina esta reproduzida a seguir).
procedure calcula_imposto(var um_contribuinte : TContribuinte); begin with um_contribuinte do begin if (rendimento < 900.0) then imposto := 0.0; if (rendimento > 1800) then imposto := 0.275*rendimento - 360.0; if (rendimento >= 900)and(rendimento <= 1800) then imposto := 0.15*rendimento -135.0; end; end;
Observe a utilizao do parmetro var, caracterizando que a varivel passada por referncia, e no por valor. Desta maneira, garantimos que estamos trabalhando com a varivel original, e no com uma cpia da mesma. O programa principal muito simples, e dispensa maiores comentrios, pois realiza apenas a leitura das informaes solicitadas, chama a funo calcula_imposto e exibe o resultado final na tela. Dessa maneira pode-se constatar que, conforme j dissemos anteriormente, na programao procedural os dados e as funes so entidades distintas. evidente que, neste exemplo muito simples, a varivel Contribuinte possui escopo global, e por esta razo poderamos alter-la diretamente na sub-rotina, no havendo a necessidade de utilizao do parmetro especificado. Esta, no entanto, uma prtica de programao desaconselhvel, principalmente se levarmos em conta a possibilidade de se incluir a procedure calcula_imposto em uma biblioteca de funes codificada em uma unit independente. O objetivo da programao orientada a objetos, por outro lado, consiste primordialmente em reunir os dados, as funes e procedimentos que operam sobre estes dados em uma nica entidade ou tipo,
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
271
onde tipo pode ser qualquer tipo bsico definido pela linguagem, criado pelo programador ou, at mesmo, outras classes previamente definidas. Repare que agora estamos definindo um novo tipo, no qual internamente so declaradas variveis e funes. Pode-se dizer, sem muito preciosismo, que a definio de uma classe estende a definio de um registro, permitindo a incorporao de funes ao tipo que est sendo criado. Por conveno, os nomes das classes definidas na linguagem Object Pascal comeam com a letra T, e neste livro seguiremos esta conveno. importante caracterizar que, na definio do tipo, as funes e os procedimentos so declarados mas no implementados. A implementao das funes e dos procedimentos declarados internamente a uma classe, e que no jargo da programao orientada a objetos so denominados mtodos, feita na seo Implementation da unit em que a classe definida, devendo, no entanto, o nome do mtodo ser precedido pelo nome da classe e obedecer seguinte sintaxe:
function Nome_da_Classe.Nome_do_Mtodo(parmetros) begin // Cdigo do mtodo end;
ou
procedure Nome_da_Classe.Nome_do_Mtodo(parmetros) begin // Cdigo do mtodo end;
evidente que um mtodo, assim como uma funo ou procedimento, tambm pode no ter parmetros. No caso do exemplo anterior, poderamos, portanto, criar uma classe denominada TContribuinte, como mostrado a seguir.
type TContribuinte = Class
A implementao do mtodo calcula_imposto, por sua vez, poderia ser feita da seguinte maneira:
procedure TContribuinte.calcula_imposto; begin if (rendimento < 900.0) then imposto := 0.0; if (rendimento > 1800) then imposto := 0.275*rendimento -360.0; if (rendimento >= 900)and(rendimento <= 1800) then imposto := 0.15*rendimento -135.0; end;
Repare que, neste caso, no h a necessidade de se passar qualquer parmetro. Isso se deve ao fato de que, por ser definido internamente a uma classe, um mtodo pode acessar diretamente todos os seus campos. Conseqentemente, o mtodo calcula_imposto acessa diretamente o campo rendimento, e este no precisa ser passado como parmetro. O Delphi 7 possui um recurso que permite a gerao automtica do cdigo bsico de um mtodo na seo Implementation da unit, bastando para isso que se pressione, simultaneamente as teclas Ctrl, Shift e C. O mesmo se aplica definio de propriedades para uma classe, conforme ser visto posteriormente. Esse recurso, denominado Complementao Automtica de Classes, acelera muito o trabalho de codificao por parte do programador, reduzindo-se tambm a possibilidade de erros de digitao. Antes de utilizarmos uma varivel, objeto ou instncia de uma classe, devemos alocar memria para o mesmo. A alocao de memria para um objeto feita executando-se um mtodo especial da classe, denominado mtodo construtor. Em geral (mas no obrigatoriamente) esse mtodo denominado Create, e pode ou no possuir parmetros. Voc pode definir vrios mtodos construtores para uma classe, com nomes e parmetros distintos, e decidir qual deve ser usado na alocao de memria para um objeto ou instncia da classe. Essa memria que foi alocada deve ser posteriormente liberada, antes de se finalizar a execuo do programa, e isso feito executando-se um outro mtodo especial da classe, denominado mtodo destrutor. Em geral, esse mtodo denominado Destroy, e pode ou no possuir parmetros. O programa anterior poderia, portanto, ser recodificado da seguinte maneira (usando uma classe ao invs de um registro):
program imposto_renda; {$APPTYPE CONSOLE} type TContribuinte = Class rendimento, imposto : double; procedure calcula_imposto; end; var Contribuinte : TContribuinte; procedure TContribuinte.calcula_imposto; begin
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
273
ANLISE DO CDIGO-FONTE
Nesse exemplo, a varivel Contribuinte , na realidade, um objeto ou instncia (terminologia largamente empregada na programao orientada a objetos) da classe TContribuinte, mas no nenhum pecado cham-la de varivel (embora os puristas da programao orientada a objetos possam querer me crucificar por causa disso). Repare que, no trecho principal do programa, alterou-se a linha de cdigo em que o procedimento para clculo do imposto executado. No programa escrito anteriormente, utilizando as tcnicas de programao estruturada, o procedimento para clculo do imposto era uma entidade independente dos dados que deve manipular, e precisava receber, como parmetro, uma varivel do tipo composto TContribuinte. O programa escrito utilizando as tcnicas de programao orientada a objetos, por sua vez, define esse procedimento como um mtodo da classe TContribuinte. Dessa maneira, a chamada desse procedimento (que nesse caso no possui parmetros) feita a partir de um objeto dessa classe, como mostra a linha de cdigo a seguir:
contribuinte.calcula_imposto;
Alm disso, foram includas duas outras linhas de cdigo, em que os mtodos construtor e destrutor da classe so executados. Repare que o mtodo construtor executado a partir da classe propriamente dita, enquanto o destrutor executado a partir do objeto ou instncia da classe. Nesse ponto, uma dvida deve estar presente na mente do prezado leitor: como os mtodos construtor e destrutor podem ser executados, se no foram sequer definidos para a classe? A resposta a essa pergunta ser dada no prximo tpico, em que abordaremos uma das caractersticas mais importantes da programao orientada a objetos o mecanismo de herana de classes.
Conhecimento da sintaxe bsica da linguagem Pascal. Familiaridade com o ambiente de desenvolvimento integrado do Delphi 7.
A definio de uma classe derivada a partir de uma classe-base feita mediante a utilizao de um cdigo com a seguinte sintaxe:
Nome_Classe_Derivada = Class(Nome_Classe_Base) // Definio dos campos e mtodos da classe derivada end;
Caso no seja especificado o nome de uma classe-base, ser usada como tal a classe TObject, que a classebase de todas as classes definidas na linguagem Object Pascal. Se voc analisar o diagrama de hierarquia de objetos do Delphi 7, ver que a classe TObject exibida isoladamente no topo dessa hierarquia. Dessa maneira, a classe TContribuinte poderia ser redefinida da seguinte maneira, em que o nome da classe-base (TObject) exibido de maneira explcita.
type TContribuinte = Class(TObject)
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
275
Na unit System (definida pelo arquivo System.pas), a classe TObject definida da seguinte maneira:
TObject = class constructor Create; procedure Free; class function InitInstance(Instance: Pointer): TObject; procedure CleanupInstance; function ClassType: TClass; class function ClassName: ShortString; class function ClassNameIs(const Name: string): Boolean; class function ClassParent: TClass; class function ClassInfo: Pointer; class function InstanceSize: Longint; class function InheritsFrom(AClass: TClass): Boolean; class function MethodAddress(const Name: ShortString): Pointer; class function MethodName(Address: Pointer): ShortString; function FieldAddress(const Name: ShortString): Pointer; function GetInterface(const IID: TGUID; out Obj): Boolean; class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry; class function GetInterfaceTable: PInterfaceTable; function SafeCallException(ExceptObject: TObject; ExceptAddr: Pointer): HResult; virtual; procedure AfterConstruction; virtual; procedure BeforeDestruction; virtual; procedure Dispatch(var Message); virtual; procedure DefaultHandler(var Message); virtual; class function NewInstance: TObject; virtual; procedure FreeInstance; virtual; destructor Destroy; virtual; end;
Observe que essa classe j define os mtodos Create e Destroy. Conseqentemente, as classes dela derivadas por herana (como, por exemplo, a classe TContribuinte) herdaro esses mtodos da classe TObject. Isso esclarece a questo colocada no tpico anterior, em que se utilizaram os mtodos Create e Destroy sem que os mesmos houvessem sido explicitamente declarados na classe. Esses mtodos foram definidos na classe-base (TObject), podendo ser utilizados nas classes dela derivadas por herana. Repare ainda que alguns mtodos se iniciam com palavras reservadas especiais, como:
Constructor, no caso do mtodo construtor da classe. Destructor, no caso do mtodo destrutor da classe. Class, que ocorre em diversos mtodos.
O significado de cada uma dessas palavras reservadas ser descrito nos prximos tpicos. No comentaremos o significado das palavras reservadas procedure e function, por considerarmos o seu conhecimento obrigatrio a todos aqueles que j tm alguma experincia com a linguagem pascal (incluindo-se neste grupo aqueles que j leram a primeira parte deste livro). Dessa maneira, a definio das classes TContribuinte, TPessoa_Juridica e TPessoa_Fisica pode ser feita da seguinte maneira:
TContribuinte = Class(TObject) imposto : double;
Essas classes, portanto, herdam os campos imposto e o mtodo calcula_imposto da classe-base TContribuinte. Alm disso, herdam tambm os mtodos definidos na classe TObject. No jargo da programao orientada a objetos diz-se que as classes TPessoa_Fisica e TPessoa_Juridica so especializaes da classe TContribuinte. Quando voc declarar uma instncia de uma classe, aquela armazenar, na realidade, o endereo de um objeto dessa classe, podendo no entanto armazenar tambm o endereo de uma classe dela derivada por herana. Caso nenhum endereo seja referenciado, o seu valor ser igual a nil (nulo). Consideremos, por exemplo, a linha de cdigo a seguir, em que declaramos uma instncia da classe TContribuinte:
Contribuinte : TContribuinte;
Essa instncia a varivel contribuinte pode armazenar o endereo de um objeto da classe TContribuinte ou de qualquer das classes dela derivadas por herana. Dessa maneira, as linhas de cdigo a seguir so igualmente vlidas:
Contribuinte := TContribuinte.Create; Contribuinte := TPessoa_Fisica.Create; Contribuinte := TPessoa_Juridica.Create;
A recproca, no entanto, no verdadeira: voc no pode declarar um objeto de uma classe e referenciar um objeto da sua classe-base.
MTODOS CONSTRUTORES
Um construtor um mtodo especial de uma classe, que tem por finalidade alocar a memria para um objeto que est sendo criado (ou instanciado, no jargo da Programao Orientada a Objetos) e, opcionalmente, atribuir valores iniciais aos campos do objeto. Uma classe pode ter mais do que um mtodo construtor e, se voc no definir explicitamente um construtor para essa classe, o construtor da sua classe-base ser utilizado. A definio de um construtor utiliza a palavra-chave constructor em vez de procedure ou function. Alm disso, um construtor pode ter parmetros e chamar o construtor da classe-base. Dessa maneira, a palavrachave constructor que indica ao compilador que deve alocar a memria necessria para o objeto. Embora no especifique um tipo de retorno, um construtor retorna um novo objeto da classe. A chamada ao mtodo construtor deve ser feita a partir da definio da classe, e no a partir de uma instncia ou
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
277
MTODOS DESTRUTORES
Um destrutor um mtodo especial de uma classe, que tem por finalidade liberar a memria alocada para um objeto ou instncia da classe. Uma classe pode ter mais do que um mtodo destrutor e, se voc no definir explicitamente um destrutor para essa classe, o destrutor da sua classe-base ser utilizado. A definio de um mtodo destrutor usa a palavra-chave destructor em vez de procedure ou function. Alm disso, um mtodo destrutor pode ter parmetros e chamar o mtodo destrutor da classe-base. Se voc est criando uma nova classe derivada de uma classe-base e est sobrecarregando ou redefinindo o seu mtodo destrutor, a ltima instruo a ser colocada no corpo do novo mtodo destrutor deve ser aquela que chama o destrutor da classe-base, principalmente se o destrutor da classe-base executa algumas tarefas importantes relacionadas liberao de memria alocada para um objeto. No caso de uma classe derivada de TObject, no entanto, isso no necessrio, pois seu mtodo destrutor no realiza nenhuma tarefa importante, como mostra o trecho de cdigo a seguir (extrado da unit System.pas):
destructor TObject.Destroy; begin end;
Geralmente, mais seguro chamar o mtodo Free do que o mtodo Destroy de uma classe, uma vez que Free verifica se o objeto realmente existe na memria e, em caso positivo, executa o mtodo Destroy. Esse mtodo tambm declarado como uma procedure na classe TObject, e sua implementao (definida na unit System.pas da VCL do Delphi 7) reproduzida a seguir.
procedure TObject.Free; asm TEST EAX,EAX JE @@exit MOV ECX,[EAX] MOV DL,1 CALL dword ptr [ECX].vmtDestroy @@exit: end;
Esse cdigo, na realidade, est escrito em Assembler, e verifica se existe memria alocada para o objeto antes de executar o seu destrutor.
Execute a aplicao e selecione o boto. A caixa de texto ser eliminada do formulrio, e se voc selecionar novamente o boto de comando nada de anormal acontecer. Por outro lado, se voc substituir a linha de cdigo anterior pela apresentada a seguir, o componente caixa de texto ser eliminado do formulrio quando o boto de comando for selecionado pela primeira vez. Entretanto, caso voc selecione novamente o boto de comando, a execuo da aplicao ser interrompida e uma mensagem de erro ser exibida. Isso se deve ao fato de que o mtodo Destroy, ao contrrio do mtodo Free, no verifica se realmente existe memria alocada para o objeto antes de tentar destru-lo.
Edit1.Destroy;
Mas ateno: o mtodo Free verifica se existe memria alocada para o objeto, isto , se o valor referenciado pelo objeto diferente de nil antes de executar o mtodo Destroy para destruir o objeto. Contudo, cabe a voc garantir que, aps destruir o objeto, esse apontar para um endereo nulo, isto , nil. Para garantir que isso ocorra, no entanto, voc deve atribuir o valor nil instncia aps executar o seu mtodo Free, no caso de estar implementando esses mtodos da classe.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
279
Existe, no entanto, uma exceo a essa regra: uma classe pode acessar os campos e mtodos privados de outras classes que tenham sido definidas na mesma unit.
SOBREPOSIO DE MTODOS
Existem situaes em que, ao criarmos uma classe, desejamos sobrepor o mtodo existente na classebase. Quando desejamos simplesmente substituir o mtodo j existente na classe-base basta que se defina, na classe derivada, um mtodo com o mesmo nome do mtodo a ser sobreposto. Desse modo, a classe derivada passar a ignorar a existncia de um mtodo de mesmo nome na classe-base. Nada impede, no entanto, que voc ainda acesse o mtodo de mesmo nome da classe-base, desde que o nome do mtodo seja precedido pela palavra reservada inherited. Para compreender esse mecanismo, codifique uma aplicao tipo console da maneira indicada a seguir.
program Exemplo; {$APPTYPE CONSOLE} uses Dialogs; type TClasseBaseTeste = class procedure ExibeMensagem; end; TClasseDerivadaTeste = class(TClasseBaseTeste) procedure ExibeMensagem; end; procedure TClasseBaseTeste.ExibeMensagem; begin ShowMessage(Classe Base); end; procedure TClasseDerivadaTeste.ExibeMensagem; begin ShowMessage(Classe Derivada); inherited ExibeMensagem; end; var Teste : TClasseDerivadaTeste; {$R *.RES} begin Teste := TClasseDerivadaTeste.Create; writeln(Digite Qualquer tecla); Readln; Teste.ExibeMensagem; Teste.Free; end.
Execute essa aplicao e verifique que, embora o mtodo ExibeMensagem da classe-base tenha sido sobreposto na classe derivada, pode ainda ser chamado em um mtodo da classe derivada usando a palavra reservada inherited. Experimente trocar a ordem das linhas de cdigo do mtodo ExibeMensagem da classe derivada, e verifique que a ordem de exibio de mensagens alterada.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
281
Nesse caso, embora a varivel Teste seja declarada como um objeto da classe TClasseBaseTeste, no programa principal referencia um objeto da classe TClasseDerivadaTeste o que perfeitamente legal, pois, conforme discutido anteriormente, uma instncia ou objeto de uma determinada classe pode referenciar um objeto dessa classe ou de qualquer classe dela derivada por herana (embora a recproca no seja correta).
Se voc executar essa aplicao, ver que o mtodo correto chamado. Nesse caso, no entanto, nada impede que o mtodo da classe-base continue a ser acessado pelo mtodo de mesmo nome da classe derivada usando-se a palavra reservada inherited mas, nesse caso, o mtodo correto ser chamado!
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
283
MTODOS ABSTRATOS
Os mtodos abstratos formam um tipo especial de mtodo, que so declarados em uma classe-base, mas s so implementados nas classes dela derivadas por herana.
Voc pode sobrecarregar um mtodo abstrato da mesma forma que sobrecarrega um mtodo virtual ou dinmico. A nica restrio que, nesse caso, no se pode usar a palavra reservada inherited para chamar o mtodo de mesmo nome da classe-base (j que nesta ele no foi implementado).
MTODOS DE CLASSE
Conforme pode ser verificado na definio da classe TObject, a declarao de alguns de seus mtodos comea com a palavra reservada class. Quando a declarao de um mtodo inicia com essa palavra reservada, isso significa que esse mtodo intrnseco definio da classe e no pode, no entanto, acessar os campos e mtodos da classe. Esses mtodos sero descritos no prximo tpico, que discute em mais detalhes a classe TObject.
PROPRIEDADES
Nos tpicos anteriores foram apresentados os conceitos de campos e mtodos de uma classe. Conforme j descrito anteriormente, os campos armazenam valores que definem as caractersticas de um objeto e os mtodos implementam a sua funcionalidade. Existem situaes, no entanto, em que no se quer permitir o acesso direto aos campos de uma classe, ainda que esses sejam definidos como pblicos. Nesse caso, uma opo natural seria a utilizao de mtodos destinados a ler e atribuir valores aos campos da classe. Consideremos, por exemplo, a seguinte definio para a classe TContribuinte.
type TContribuinte = Class public rendimento:double; imposto : double; procedure calcula_imposto; private // Campos e mtodos privados devem ser definidos aqui. protected // Campos e mtodos protegidos devem ser definidos aqui. end;
Nesta definio, imposto um campo pblico, e conseqentemente pode ter o seu valor diretamente alterado, o que no caracteriza uma boa prtica de programao, pois o valor do imposto deve sempre
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
285
Nesse caso, o campo imposto passa a ser privado, e no pblico. A sua implementao correspondente seria:
function TContribuinte.calcula_imposto:double; begin if (rendimento < 900.0) then imposto := 0.0; if (rendimento > 1800) then imposto := 0.275*rendimento -360.0; if (rendimento >= 900)and(rendimento <= 1800) then imposto := 0.15*rendimento -135.0; result := imposto; end;
Dessa maneira, se Contribuinte um objeto da classe TContribuinte, a obteno do valor do imposto pode ser feita utilizando-se a seguinte linha de cdigo, onde valor_do_imposto uma varivel global do tipo double:
valor_do_imposto := Contribuinte.calcula_imposto;
O Delphi 7, no entanto, permite uma soluo alternativa, que consiste em empregar o conceito de propriedades. Uma propriedade consiste em um meio de comunicao entre um campo interno e privado da classe e o cdigo que utiliza um objeto dessa classe. Para o programador que utiliza a classe, uma propriedade funcionalmente equivalente a um campo, mas para quem definiu a classe um campo e uma propriedade so entidades distintas. Por conveno, os campos internos das classes definidas pela VCL e pela CLX (as bibliotecas de classes do Delphi 7) so privados e seus nomes comeam com a letra F (de Field). As propriedades, por sua vez, tm o mesmo nome de um campo da classe, omitindo-se a letra F inicial. O componente Label, por exemplo, um objeto da classe TLabel, que tem uma propriedade chamada Left. Embora voc, usurio da classe, acesse essa propriedade da mesma maneira que acessa um campo pblico qualquer, est na realidade acessando um meio de comunicao com um outro campo interno e privado da classe, chamado FLeft.
Como pode ser visto na definio anterior, uma propriedade deve ter um tipo e pode ter um mtodo de leitura e um mtodo de escrita. Quando se omite o nome do mtodo de escrita, a propriedade do tipo read-only (apenas de leitura) e quando se omite o mtodo de leitura a propriedade do tipo write-only (apenas de escrita). Existem situaes, no entanto, que, em vez de se definir um mtodo de leitura e um mtodo de escrita, coloca-se em seu lugar o nome do campo em que o valor da propriedade ser armazenado. Nesses casos, diz-se que a propriedade acessa diretamente o valor de um campo, sem que se use qualquer mtodo especfico. Conforme ser visto posteriormente, os mtodos de acesso so teis para validar o valor atribudo a uma propriedade. A propriedade imposto poderia, portanto, ser definida da seguinte maneira:
property imposto : double read calcula_imposto;
Nesse caso, imposto definida como uma propriedade apenas de leitura (repare que foi omitida a clusula write).
A classe TContribuinte seria, portanto, redefinida da seguinte maneira: TContribuinte = Class public rendimento:double; function calcula_imposto:double; property imposto : double read calcula_imposto; private // Campos e mtodos privados devem ser definidos aqui. Fimposto : double; protected // Campos e mtodos protegidos devem ser definidos aqui. end; function TContribuinte.calcula_imposto:double; begin if (rendimento < 900.0) then Fimposto := 0.0; if (rendimento > 1800) then Fimposto := 0.275*rendimento -360.0; if (rendimento >= 900)and(rendimento <= 1800) then Fimposto := 0.15*rendimento -135.0; result := Fimposto; end;
No prximo tpico apresentaremos a classe TObject, que a me de todas as classes definidas na linguagem Object Pascal.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
287
AfterConstruction
Declarao
procedure AfterDestruction; virtual;
Esse mtodo um mtodo virtual, executado automaticamente aps a finalizao do ltimo mtodo construtor da classe.
BeforeDestruction
Declarao
procedure BeforeDestruction; virtual;
Esse mtodo um mtodo virtual, executado automaticamente antes da inicializao do primeiro mtodo destrutor da classe.
Create
Declarao
constructor Create;
Esse mtodo o mtodo construtor da classe, conforme indicado pela palavra reservada constructor, e tem por finalidade alocar a memria necessria a um objeto ou instncia da classe. Como qualquer construtor, executado como se fosse um mtodo da classe (embora, por ser um mtodo construtor, no seja precedido pela palavra reservada class).
ClassInfo
Declarao
class function ClassInfo: Pointer;
Como pode ser verificado a partir da sua declarao, este um mtodo de classe e, por ser uma funo, deve retornar um valor, que nesse caso ser um Pointer (ponteiro para um endereo de memria sem uma qualificao de tipo). A Unit TypInfo define, no entanto, alguns tipos compostos que simplificam a utilizao da informao retornada por esse mtodo. Dentre esses tipos compostos destaca-se:
O tipo TTypeInfo possui os campos Kind e Name, que retornam respectivamente um valor que indica o tipo de dado armazenado em um endereo e o nome do tipo ou Classe do valor armazenado nesse endereo, respectivamente.
O tipo PtypeInfo representa um ponteiro para um valor do tipo TtypeInfo. O tipo TTypeKind (definido como um tipo enumerado em Pascal) tambm declarado na unit
TypeInfo, sendo sua definio reproduzida a seguir.
TTypeKind = (tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat, tkString, tkSet, tkClass, tkMethod, tkWChar, tkLString, tkWString, tkVariant, tkArray, tkRecord, tkInterface);
Logo, para obter informaes sobre uma classe atravs do mtodo ClassInfo, voc precisa:
Declarar uma varivel do tipo PtypeInfo (que ser um ponteiro). Armazenar nessa varivel o valor retornado pelo mtodo ClassInfo. Utilizar as informaes armazenadas nos campos dessa varivel.
ClassName
Declarao
class function ClassName: ShortString;
Como pode ser verificado a partir da sua declarao, esse um mtodo de classe e, por ser uma funo, deve retornar um valor, que nesse caso ser uma string que armazenar o nome da classe.
ClassNameIs
Declarao
class function ClassNameIs(const Name: string): Boolean;
Como pode ser verificado a partir da sua declarao, esse um mtodo de classe e, por ser uma funo, deve retornar um valor que nesse caso ser true ou false dependendo do texto definido na string passada como parmetro. Se o texto passado como parmetro for igual ao nome da classe, esse mtodo retornar true. Caso contrrio, retornar o valor False.
ClassParent
Declarao
class function ClassParent: TClass;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
289
Isso significa que TClass , na realidade, uma varivel que pode armazenar o nome de um tipo de classe, que pode ser a classe TObject, ou qualquer classe dela derivada por herana. Embora esse mtodo no seja til para a classe TObject (que no possui classe-base) pode ser empregada nas demais classes dela derivadas por herana. No caso de TObject, esse mtodo retorna nil.
ClassType
Declarao
function ClassType: TClass;
Como pode ser verificado pela sua declarao, esse mtodo retorna a classe do objeto, e usado internamente pelo Delphi 7 no emprego dos operadores Is e As, a serem descritos posteriormente.
CleanupInstance
Declarao
procedure CleanupInstance;
Esse mtodo automaticamente executado a partir do mtodo Free, e no deve ser chamado diretamente pelo cdigo da sua aplicao. Esse mtodo atribui uma string vazia a campos do tipo string e o valor Unassigned a campos do tipo Variant da classe.
Dispatch
Declarao
procedure Dispatch(var Message);
Esse mtodo responsvel por disparar a execuo de outros mtodos da classe que sejam capazes de manipular mensagens do Windows, baseado no valor passado pelo parmetro Message. Caso nenhum dos mtodos definidos pela classe (ou pelas suas classes ancestrais) seja capaz de manipular a mensagem indicada pelo parmetro Message, o mtodo DefaultHandler da classe ser executado. Isso permite que se d um tratamento s mensagens que no so manipuladas diretamente pelos objetos da classe (o conceito de mensagens ser apresentado posteriormente).
DefaultHandler
Declarao
procedure DefaultHandler(var Message); virtual;
Destroy
Declarao
destructor Destroy; virtual;
Esse mtodo o mtodo destrutor da classe, conforme indicado pela palavra reservada destructor, e tem por finalidade liberar a memria reservada para um objeto (memria esta alocada pelo seu construtor). Como pode ser verificado, esse um mtodo virtual e que pode ser sobrecarregado nas classes derivadas. Conforme descrito anteriormente, geralmente mais seguro executar o mtodo Free, que verifica se o valor armazenado na instncia da classe igual a nil, e s executa o mtodo Destroy se existir memria alocada para o objeto.
FieldAddress
Declarao
function FieldAddress(const Name: ShortString): Pointer;
Esse mtodo retorna, na forma de um Pointer (ponteiro para um endereo de memria sem uma qualificao de tipo), o endereo de um campo do objeto da classe, cujo nome passado como parmetro na forma de uma string. Caso no exista o campo cujo nome passado como parmetro, o mtodo retornar nil.
Free
Declarao
procedure Free;
Esse mtodo, conforme j descrito anteriormente, verifica se existe memria alocada para uma instncia de uma classe, antes de chamar o mtodo destrutor da classe. Lembre-se de que cabe a voc incluir, na implementao do cdigo da sua aplicao, uma linha de cdigo que atribua o valor nil instncia da classe aps a execuo do mtodo Free (isso no necessrio para objetos da VCL e da CLX).
FreeInstance
Declarao
procedure FreeInstance; virtual;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
291
NewInstance
Declarao
class function NewInstance: TObject; virtual;
Esse mtodo um mtodo de classe, e responsvel por alocar a memria necessria a uma nova instncia da classe, retornando o endereo de memria a partir do qual estar armazenada esta instncia recm-criada. Para obter a quantidade de memria a ser alocada para a nova instncia, esse mtodo chama o mtodo InstanceSize da classe, e para criar a nova instncia executa o mtodo InitInstance. Esse mtodo chamado automaticamente pelo construtor da classe, e o cdigo da sua aplicao no deve incluir uma chamada explcita a esse mtodo.
InitInstance
Declarao
class procedure InitInstance(Instance: Pointer): TObject;
Esse mtodo um mtodo de classe, e responsvel por criar a instncia da classe propriamente dita (a ser retornada pelo construtor). Voc no precisa incluir uma chamada explcita a esse mtodo no cdigo da sua aplicao, pois isso feito pelo mtodo NewInstance. Entretanto, caso voc sobrecarregue o mtodo NewInstance, deve incluir, como ltimo comando a ser executado por esse mtodo, uma chamada ao mtodo InitInstance.
InstanceSize
Declarao
class function InstanceSize: Longint;
Esse um mtodo de classe, e determina a quantidade de bytes de memria necessrios para armazenar uma instncia da classe. Geralmente esse mtodo usado internamente pelos mtodos responsveis pela alocao de memria para um objeto, e posterior liberao dessa memria, quando o objeto for destrudo. Se voc possuir um formulrio com um componente chamado Edit1, da classe TEdit e um boto de comando chamado Button1 (da classe TButton) pode descobrir o nmero de bytes ocupados para cada
Ao executar este procedimento, voc descobrir que Edit1 e Button1 ocupam 496 e 484 bytes, respectivamente.
MethodAddress
Declarao
class function MethodAddress(const Name: ShortString): Pointer;
Esse um mtodo de classe, e retorna, na forma de um Pointer (ponteiro para um endereo de memria sem uma qualificao de tipo), o endereo de um mtodo cujo nome passado como parmetro na forma de uma string. Caso no exista o mtodo cujo nome passado como parmetro, o mtodo retornar nil. Geralmente esse mtodo usado internamente pelo Delphi 7, e normalmente no dever ser includa uma chamada explcita a esse mtodo no cdigo da sua aplicao.
MethodName
Declarao
class function MethodName(Address: Pointer): ShortString;
Esse um mtodo de classe, e retorna, na forma de uma string, o nome do mtodo cujo endereo passado como parmetro, na forma de um Pointer (ponteiro para um endereo de memria sem uma qualificao de tipo). Repare que esse mtodo executa a tarefa inversa do mtodo MethodAddress. Caso no exista o mtodo cujo endereo passado como parmetro, o mtodo retornar uma string vazia. Geralmente esse mtodo usado internamente pelo Delphi 7, e normalmente no dever ser includa uma chamada explcita a esse mtodo no cdigo da sua aplicao.
InheritsFrom
Declarao
class function InheritsFrom(AClass: TClass): boolean;
Este um mtodo de classe, e determina se a classe cujo tipo passado como parmetro ou no um ancestral da classe a partir da qual o mtodo executado Evidentemente, se voc passar TObject como parmetro, esse mtodo retornar sempre o valor true, pois todas as classes so derivadas, ainda que indiretamente, da classe TObject.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
293
Conhecimento da sintaxe bsica da linguagem Pascal e dos fundamentos da programao orientada a objetos em Delphi 7 . Familiaridade com os ambientes de desenvolvimento integrado do Delphi 7.
METODOLOGIA
Implementao do mecanismo de converso de tipos, usando os operadores Is, As e a converso explcita entre classes.
Quando se quer realizar uma mesma operao sobre objetos de classes distintas, mas que possuem uma caracterstica semelhante, presente
em uma classe-base comum.
Quando se quer compartilhar um procedimento (que pode estar ou no associado a um evento) entre vrios objetos.
Nesse caso, a soluo consiste em tratar os vrios objetos como se fossem uma instncia da classe-base da qual todas so derivadas (direta ou indiretamente). Para verificar se um objeto uma instncia de uma classe derivada de uma classe-base, deve-se utilizar o operador Is. Para tratar um objeto como uma instncia de uma das suas classes-base, deve-se utilizar o operador As. Os operadores Is e As, bem como a converso explcita entre classes, sero apresentados nos prximos tpicos.
O OPERADOR IS
Existem situaes em que, durante a execuo de um programa, voc precisa verificar se um objeto uma instncia de uma determinada classe, ou de uma das classes dela derivadas por herana. Nesse caso, voc pode utilizar o operador Is, usando a seguinte sintaxe:
<nome_objeto> Is <nome_classe> Considere, a ttulo de exemplificao, o seguinte trecho de cdigo: if (nome_objeto Is nome_classe) then // Cdigo executado se a expresso verdadeira else // Cdigo executado se a expresso falsa
O OPERADOR AS
O operador As permite que um objeto de uma determinada classe seja tratado como uma instncia de uma das suas classes-base. A utilizao do operador As segue esta sintaxe:
<nome_objeto> As <nome_classe>
Em geral, o operador As utilizado para acessar um mtodo ou propriedade da classe-base. Nesse caso, deve-se colocar a expresso anterior entre parnteses, como indicado a seguir:
(nome_objeto As nome_classe).nome_mtodo (nome_objeto As nome_classe).nome_propriedade
Considere, por exemplo, que voc queira limpar o texto exibido em todos os controles do tipo TEdit e TDBEdit existentes em um formulrio, quando o usurio selecionar um boto de comando. Essa situao comum, por exemplo, em formulrios de cadastro de clientes, de produtos, fornecedores ou qualquer outra entidade. Para obter esse resultado, basta definir da seguinte maneira o procedimento associado ao evento OnClick desse boto de comando:
procedure TForm1.Button1Click(Sender: TObject); var i:integer;
begin
for i:= 0 to Componentcount-1 do if Components[i] is TCustomEdit then (Components[i] as TCustomEdit).Text := ; end;
Nesse cdigo, executa-se um looping pelos componentes inseridos no formulrio (definidos pela sua propriedade Components). Para cada um dos componentes, verifica-se se o mesmo um objeto de uma classe derivada da classe TCustomEdit, usando-se para isso o operador Is. Caso o componente seja um objeto de uma classe derivada da classe TCustomEdit, utiliza-se o operador As para efetuar uma converso de tipo e atribuir uma string nula sua propriedade Text.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
295
Em geral, a converso explcita entre tipos utilizada para acessar um mtodo ou propriedade da classe-base. Nesse caso, deve-se colocar a expresso anterior entre parnteses, como indicado a seguir:
((Classe-Base)nome_objeto).nome_mtodo ((Classe-Base)nome_objeto).nome_propriedade
O cdigo apresentado no tpico anterior poderia, portanto, ser reescrito da seguinte maneira:
procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin for i:= 0 to Componentcount-1 do if Components[i] is TCustomEdit then (TCustomEdit(Components[i])).Text := ; end;
O IDENTIFICADOR SELF
O identificador Self pode ser utilizado para referenciar a instncia corrente de uma classe em um dos seus mtodos ( semelhante ao identificador this do C++). Por incrvel que parea, isso praticamente tudo o que voc precisa saber sobre esse identificador. Diversos exemplos de utilizao desse identificador sero apresentados ao longo do livro, o que tornar ainda mais fcil a compreenso do seu significado.
Conhecimento da sintaxe bsica da linguagem Pascal e dos fundamentos da programao orientada a objetos em Delphi 7.
METODOLOGIA
TCNICA
Discusso das propriedades e mtodos da classe Exception e das principais classes dela derivadas por herana. Implementao de novas excees.
O CONCEITO DE EXCEES
Excees so erros que ocorrem durante a execuo do seu programa, mas que podem ser tratadas em um bloco de cdigo do tipo tryexceptend. Dessa maneira, seu cdigo pode tratar os erros ocorridos durante a execuo do programa, evitando que a execuo da aplicao seja encerrada de forma brusca.
Considere, por exemplo, um formulrio no qual existam duas caixas de texto, denominadas EditNum1 e EditNum2, nas quais devem ser digitados dois nmeros reais. Alm disso, considere que esse formulrio possui um boto de comando no qual foi digitado o seguinte cdigo no procedimento associado ao seu evento OnClick:
ShowMessage(FloatToStr(StrToFloat(EditNum1.Text)/StrToFloat(EditNum2.Text)));
Esse cdigo exibe em uma mensagem o resultado da diviso dos valores digitados nas duas caixas de texto. Caso voc execute essa aplicao, digite o valor 4 na primeira caixa de texto e 0 na segunda; ao selecionar o boto de comando ser gerada uma mensagem de erro com o texto:
Floating point division by zero.
Experimente, no entanto, redefinir o trecho de cdigo do procedimento associado ao evento OnClick do boto de comando da seguinte maneira:
try ShowMessage(FloatToStr(StrToFloat(EditNum1.Text)/StrToFloat(EditNum2.Text))); except ShowMessage(Voc digitou valores incorretos); EditNum1.Text := ; EditNum2.Text := ; end;
Nesse caso, se ocorrer algum problema durante a execuo do programa, seja na converso das strings em valores numricos ou na diviso dos nmeros, uma mensagem mais amigvel ser exibida. Alm disso, o contedo das caixas de texto ser apagado. Voc pode, no entanto, definir um tratamento para cada tipo de erro. Para isso, basta redefinir da seguinte maneira o cdigo do procedimento associado ao evento OnClick do boto de comando:
try ShowMessage(FloatToStr(StrToFloat(EditNum1.Text)/StrToFloat(EditNum2.Text))); except On EZeroDivide do begin ShowMessage(Voc digitou valores incorretos); EditNum1.Text := ; EditNum2.Text := ; end; On EconvertError do begin ShowMessage(Erro de Converso); EditNum1.Text := ;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
297
Com essa clusula, voc pode definir uma resposta para cada um dos diversos tipos de erros que possam ser gerados durante a execuo do seu aplicativo.
FMessage
Esse campo, do tipo string, define o texto a ser exibido na caixa de dilogo que mostrada quando ocorre um erro definido por essa exceo.
FHelpContext
Esse campo, do tipo inteiro, armazena o valor que identifica o tpico do arquivo de help on-line associado a essa classe.
Esse um dos mtodos construtores da classe (responsvel pela alocao da memria necessria aos objetos da classe), e recebe como parmetro uma string que ser mostrada na caixa de dilogo exibida quando a exceo ocorrer durante a execuo do programa. Como j foi descrito anteriormente, uma classe pode definir mais de um mtodo construtor, o que ocorre justamente na definio da classe Exception. Como pode ser verificado na codificao do mtodo (reproduzida a seguir), o valor passado como parmetro no construtor da classe armazenado no campo interno FMessage.
constructor Exception.Create(const Msg: string); begin FMessage := Msg; end;
CreateFmt
Declarao
constructor CreateFmt (const Msg: string; const Args: array of const)
Este outro mtodo construtor da classe (responsvel pela alocao da memria necessria aos objetos da classe), e recebe como parmetros uma string que ser mostrada na caixa de dilogo exibida quando a exceo ocorrer durante a execuo do programa, e um array contendo cdigos de formatao para essa string. Como pode ser verificado na codificao do mtodo (reproduzida a seguir), os valores passados como parmetros nesse construtor da classe so passados como parmetros em uma chamada da funo Format, e a string resultante da execuo dessa funo armazenada no campo interno FMessage.
constructor Exception.CreateFmt(const Msg: string; const Args: array of const); begin FMessage := Format(Msg, Args); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
299
CreateFmtHelp
Declarao
constructor CreateFmtHelp (const Msg: string; const Args: array of const; AHelpContext: Integer);
Este outro mtodo construtor da classe (responsvel pela alocao da memria necessria aos objetos da classe), e recebe como parmetros uma string que ser mostrada na caixa de dilogo exibida quando a exceo ocorrer durante a execuo do programa, um array contendo cdigos de formatao para essa string e um inteiro identificando o tpico do arquivo de help on-line a ser associado classe. Como pode ser verificado na codificao do mtodo (reproduzida a seguir), os dois primeiros valores passados como parmetros nesse construtor da classe so passados como parmetros em uma chamada da funo Format, e a string resultante da execuo dessa funo armazenada no campo interno FMessage. O terceiro parmetro, por sua vez, armazenado no campo interno FhelpContext.
constructor Exception.CreateFmtHelp(const Msg: string; const Args: array of const; AHelpContext: Integer); begin FMessage := Format(Msg, Args); FHelpContext := AHelpContext; end;
CreateHelp
Declarao
constructor CreateHelp (const Msg: string; AHelpContext: Integer);
Este outro mtodo construtor da classe (responsvel pela alocao da memria necessria aos objetos da classe), e recebe como parmetros uma string que ser mostrada na caixa de dilogo exibida quando a exceo ocorrer durante a execuo do programa e um inteiro identificando o tpico do arquivo de help on-line a ser associado classe. A diferena entre esse construtor e o descrito no tpico anterior est no fato de que a string no formatada, no havendo portanto uma chamada funo Format. A codificao deste mtodo reproduzida a seguir.
constructor Exception.CreateHelp(const Msg: string; AHelpContext: Integer); begin FMessage := Msg; FHelpContext := AHelpContext; end;
CreateRes
Declarao
constructor CreateRes (Ident: Integer; Dummy: Extended = 0);
Este outro mtodo construtor da classe (responsvel pela alocao da memria necessria aos objetos da classe), e recebe como parmetro um inteiro que identifica uma string armazenada no arquivo de recursos do seu aplicativo.
CreateResFmt
Declarao
constructor CreateResFmt(Ident: Integer; const Args: array of const);
Esse outro mtodo construtor da classe (responsvel pela alocao da memria necessria aos objetos da classe), e recebe como parmetros um inteiro que identifica uma string armazenada no arquivo de recursos do seu aplicativo e um array contendo cdigos de formatao para essa string. Nesse caso, a string a ser armazenada no campo interno FMessage obtida executando-se a funo Format, passando como parmetro a string resultante de uma chamada funo LoadStr (que retorna a string armazenada no arquivo de recursos identificada pelo valor passado como parmetro). A codificao deste mtodo reproduzida a seguir.
constructor Exception.CreateResFmt(Ident: Integer; const Args: array of const); begin FMessage := Format(LoadStr(Ident), Args); end;
CreateResFmtHelp
Declarao
constructor CreateResFmtHelp(Ident: Integer; const Args: array of const ; AHelpContext: Integer);
Este outro mtodo construtor da classe (responsvel pela alocao da memria necessria aos objetos da classe), e recebe como parmetros um inteiro que identifica uma string armazenada no arquivo de recursos do seu aplicativo, um array contendo cdigos de formatao para essa string e um valor inteiro que identifica o cdigo do arquivo de help associado a essa classe. A diferena entre esse mtodo e o descrito no tpico anterior est na incluso do terceiro parmetro, que identifica o cdigo do arquivo de help associado classe, e cujo valor ser armazenado no campo interno FhelpContext. A codificao deste mtodo reproduzida a seguir.
constructor Exception.CreateResFmtHelp(Ident: Integer; const Args: array of const; AHelpContext: Integer); begin
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
301
Conforme pode ser verificado, o valor atribudo propriedade HelpContext diretamente armazenado no campo FHelpContext. Da mesma forma, ao se tentar obter o valor dessa propriedade, esse tambm obtido diretamente do campo FHelpContext. Repare que, nesse caso, no se definiu nenhum mtodo de leitura ou de escrita, e conseqentemente a propriedade acessa diretamente o valor armazenado em um campo interno da classe.
Message
A propriedade Message definida pela seguinte linha de cdigo.
property Message: string read FMessage write FMessage;
Conforme pode ser verificado, o valor atribudo propriedade Message diretamente armazenado no campo FMessage. Da mesma forma, ao se tentar obter o valor dessa propriedade, esse tambm obtido diretamente do campo FMessage. Repare que, nesse caso, tambm no se definiu nenhum mtodo de leitura ou de escrita, e conseqentemente a propriedade acessa diretamente o valor armazenado em um campo interno da classe.
Essa classe pode ser usada para exibir uma mensagem de erro para o usurio da classe, sempre que se tentar atribuir um valor incorreto para o campo. Para isso, podemos redefinir a classe TContribuinte (j definida anteriormente) da maneira mostrada a seguir.
TContribuinte = Class private // Campos e mtodos privados devem ser definidos aqui. FRendimento : double; Fimposto : double; public procedure SetRendimento (valor : double); function calcula_imposto:double; property rendimento : double read FRendimento write SetRendimento; property imposto : double read calcula_imposto; protected // Campos e mtodos protegidos devem ser definidos aqui. end; function TContribuinte.calcula_imposto:double; begin if (FRendimento < 900.0) then Fimposto := 0.0; if (FRendimento > 1800) then Fimposto := 0.25*rendimento -315.0; if (FRendimento >= 900)and(FRendimento <= 1800) then Fimposto := 0.15*rendimento -135.0; result := Fimposto; end; procedure TContribuinte.SetRendimento (Valor : double); begin if valor < 0 then raise ERendimentoError.Create(Rendimento No pode ser Negativo) else FRendimento := valor; end;
Dessa maneira, se voc tentar atribuir um valor negativo propriedade rendimento de uma instncia da classe TContribuinte, ser exibida uma caixa de dilogo com a mensagem Rendimento No pode ser Negativo (ainda bem!). As excees permitem, portanto, que se faa um tratamento diferenciado em funo do tipo de erro que provoca uma interrupo na execuo normal de um programa. Voc pode tratar o erro descrito anteriormente em um bloco try..except semelhante ao mostrado no seguinte trecho de cdigo, onde valor uma varivel do tipo double:
try contribuinte1.rendimento := valor; except on ERendimento Error do ShowMessage(Rendimento No pode ser Negativo); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
303
Conhecimento da sintaxe bsica da linguagem Pascal e dos fundamentos da programao orientada a objetos em Delphi 7.
METODOLOGIA
Implementao de classes derivadas da classe TList, de forma a ilustrar o mecanismo de manipulao de listas de objetos.
APRESENTAO DO PROBLEMA
Considere a seguinte situao: sua aplicao define uma determinada classe, e precisa manipular uma lista de objetos dessa classe. Vamos considerar novamente a classe TPessoa_Fisica, derivada da classe TContribuinte, qual ser acrescida o campo nome, do tipo string, como a seguir:
TPessoa_Fisica = Class(TContribuinte) nome: string; end;
Caso a sua aplicao necessite manipular uma lista de contribuintes do tipo pessoa fsica, a princpio seria necessrio criar uma nova classe com essa finalidade. A fim de facilitar o trabalho do desenvolvedor, o Delphi 7 inclui entre as diversas classes disponveis a classe TList, que declara a maioria dos mtodos necessrios manipulao de listas de objetos. importante, no entanto, ressaltar que uma instncia de uma classe armazena, na realidade, um endereo para um objeto da classe, e no o objeto propriamente dito embora o Delphi 7 torne o acesso ao objeto da classe to transparente que muitos consideram que o objeto esteja sendo acessado diretamente. Quando manipulamos um objeto (ou instncia) de uma classe estamos na realidade acessando o endereo ocupado pelo objeto a questo que o Delphi 7 trata de desreferenciar o ponteiro. J que o ambiente de desenvolvimento tratou de simplificar essa tarefa, no vamos nos deter em explicar a aritmtica de ponteiros definida na linguagem Object Pascal seria complicar aquilo que j foi simplificado na contramo da produtividade desejada por aqueles que utilizam o Delphi 7 como ferramenta de desenvolvimento. importante, no entanto, que esse conceito fique bem claro pelo leitor: embora tudo se passe como se estivssemos acessando diretamente uma instncia da classe, o nome do objeto armazena na realidade o endereo do objeto. Conforme ser visto a seguir, a classe TList manipula endereos de objetos, e no armazena os objetos propriamente ditos. Podemos portanto pensar em criar a classe TListaContribuinte a partir da classe TList, aproveitando as caractersticas j disponveis para essa classe. Apresentamos a seguir a descrio das principais propriedades, mtodos e eventos da classe TList.
Capacity
Essa propriedade declarada como uma varivel inteira, e retorna o nmero de objetos que podem ser referenciados na lista. Essa propriedade retorna o nmero de objetos que a lista capaz de referenciar, e no o nmero de objetos que realmente esto sendo endereados pela lista, o que definido pela sua propriedade Count (a ser vista a seguir). Inicialmente (quando a lista criada) o seu valor igual a 0, mas alterado durante a manipulao da lista.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
305
Count
Essa propriedade declarada como uma varivel inteira, e retorna o nmero de objetos referenciados na lista e no o nmero de objetos que podem vir a ser endereados pela mesma, o que definido pela sua propriedade Capacity, descrita anteriormente. O valor da propriedade Count pode ser inferior ao definido pela propriedade Capacity, pois a lista pode, eventualmente, enderear ponteiros nulos (que armazenam o valor nil). Para remover essas referncias a endereos nos quais no est armazenado nenhum objeto, deve-se utilizar o mtodo Pack da classe, a ser descrito posteriormente.
Items
Essa propriedade armazena, na forma de um array, as referncias a todos os objetos endereados pela lista. Esse array inicia com o ndice 0 e, conseqentemente, o endereo do primeiro objeto referenciado pela lista estar armazenado em Items[0].
List
Essa propriedade armazena, na forma de um array, os endereos de todos os objetos da lista (as variveis do tipo Pointer que armazenam os endereos dos objetos referenciados pela lista).
Esse mtodo adiciona uma referncia a um objeto no final da lista, e retorna um valor inteiro que retorna o ndice dessa referncia no array (esse ndice comea em zero).
Clear
Declarao
procedure Clear; dynamic;
Esse mtodo remove todas as referncias a objetos da lista, e atribui o valor 0 s propriedades Count e Capacity.
Delete
Declarao
procedure Delete(Index: Integer);
Destroy
Declarao
destructor Destroy; override;
Este o mtodo destrutor da classe, responsvel por remover todas as referncias a objetos da lista. Aconselha-se utilizar o mtodo Free (herdado da classe TObject) em vez do mtodo Destroy, pois, conforme j descrito anteriormente, o mtodo Free verifica se o valor do endereo igual a nil antes de chamar o mtodo destrutor da classe. importante destacar que esse mtodo no destri os objetos propriamente ditos, mas sim as suas referncias na lista. Para destruir cada objeto, deve-se chamar seu prprio mtodo construtor.
Error
Declarao
class procedure Error(const Msg: string; Data: Integer); virtual;
Este mtodo deve ser usado para gerar uma exceo caso ocorra algum erro durante a manipulao dos objetos da lista, e recebe como parmetros uma string e um valor inteiro que pode ser usado para indicar a causa do erro.
Exchange
Declarao
procedure Exchange(Index1, Index2: Integer);
Esse mtodo troca a posio na lista das referncias a dois objetos cujos ndices so passados como parmetros.
Expand
Declarao
function Expand: TList;
Esse mtodo expande a capacidade da lista. Se Count = Capacity, o valor da propriedade Capacity incrementado de acordo com as seguintes regras:
Se o valor da propriedade Capacity maior do que 8, seu valor incrementado em 16 unidades. Se o valor da propriedade Capacity maior do que 4 e menor ou igual a 8, seu valor
incrementado em 8 unidades.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
307
First
Declarao
function First: Pointer;
Esse mtodo retorna em um ponteiro o endereo do primeiro objeto referenciado pela lista.
IndexOf
Declarao
function IndexOf(Item: Pointer): Integer;
Esse mtodo retorna o ndice da referncia a objeto cujo endereo passado como parmetro.
Insert
Declarao
procedure Insert(Index: Integer; Item: Pointer);
Esse mtodo insere, na posio da lista definida pelo ndice cujo valor passado como primeiro parmetro, o endereo do objeto a ser referenciado, que passado como segundo parmetro na forma de um ponteiro. Conseqentemente, o ndice dos objetos cujo ndice atual igual ou superior ao do objeto inserido na lista tem o seu valor incrementado em uma unidade.
Last
Declarao
function Last: Pointer;
Esse mtodo retorna em um ponteiro o endereo do ltimo objeto referenciado pela lista.
Move
Declarao
procedure Move(CurIndex, NewIndex: Integer);
Esse mtodo move a referncia ao objeto definida pelo ndice passado como primeiro parmetro para a posio indicada pelo ndice passado como segundo parmetro.
Pack
Declarao
procedure Pack;
Remove
Declarao
function Remove(Item: Pointer): Integer;
Esse mtodo remove da lista a referncia ao objeto cujo endereo passado como parmetro na forma de um ponteiro, retornando o ndice do objeto cuja referncia na lista foi removida. Conseqentemente, o ndice das referncias a objetos cujo ndice atual superior ao do objeto removido da lista tem o seu valor reduzido em uma unidade.
Sort
Declarao
procedure Sort(Compare: TListSortCompare);
Esse mtodo ordena os itens da lista usando o algoritmo QuickSort, usando como valor para definir essa ordenao o retornado pela funo passada como parmetro. Essa funo deve receber como parmetros dois ponteiros que referenciam itens da lista e retorna:
Um valor negativo (< 0), se o objeto referenciado por item1 , segundo o critrio de ordenao
definido no corpo da funo, menor do que o objeto referenciado por item2.
Um valor nulo (= 0), se o objeto referenciado por item1 , segundo o critrio de ordenao
definido no corpo da funo, igual ao objeto referenciado por item2.
Um valor positivo (> 0), se o objeto referenciado por item1 , segundo o critrio de ordenao
definido no corpo da funo, maior do que o objeto referenciado por item2. O cabealho da funo usada na ordenao dos itens da lista definido pelo tipo TListSortCompare, indicado a seguir.
type TListSortCompare = function (Item1, Item2: Pointer): Integer;
EXEMPLO DE UTILIZAO
Nesse tpico apresentaremos um exemplo de utilizao de uma classe derivada da classe TList.
DEFINIO DA INTERFACE
Inicialmente dever ser definida uma nova aplicao, composta por um formulrio no qual sero inseridos vrios componentes, com as propriedades descritas a seguir:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
309
Boto de Figura:
Name: BotaoFechar Kind: bkClose Caption: &Fechar
GroupBoxes:
Name: GroupBoxDados Caption: Dados do Contribuinte Name: GroupBoxOperacoes Caption: Operaes Sobre a Lista Name: GroupBoxPesquisa Caption: Digite o Nome do Contribuinte a Pesquisar Objetos a serem inseridos dentro do GroupBox GroupBoxDados:
Labels:
Name: LabelNome Caption: Nome: Name: LabelRendimento Caption: Rendimento: Name: LabelImposto Caption: Imposto: Name: LabelValorImposto Caption: 0.0
Caixas de Texto:
Name: EditNome Text: Name: EditRendimento Text: Objetos a serem inseridos dentro do GroupBox GroupBoxOperacoes:
Botes de Comando:
Name: BotaoAdiciona Caption: Adiciona
Caixas de Texto:
Name: EditPesquisa Text: Reposicione e redimensione estes componentes para que o formulrio fique com o aspecto mostrado na figura a seguir.
CODIFICAO DO EXEMPLO
Ser criada uma classe chamada TListaContribuinte, destinada a manipular uma lista de objetos da classe TPessoa_Fisica, na qual sero includos mtodos no existentes em sua classe ancestral (TList).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
311
Repare que inclumos ainda as definies das classes TContribuinte (ancestral da classe TPessoa_Fisica) e ERendimentoError (exceo manipulada pela classe TContribuinte). Repare ainda que, nesse caso, optamos por manter o campo rendimento definido na classe TContribuinte, de maneira a aproveitar o cdigo j escrito em tpicos anteriores. O nico campo acrescentado na definio da classe TPessoa_Fisica foi o campo nome, do tipo string. A classe TListaContribuinte, derivada por herana da classe TList, acrescenta na sua definio os mtodos PesquisaNome e Destroy (que sobrecarrega o mtodo de mesmo nome definido na classe-base). Para criar o corpo principal de um mtodo da classe, basta selecionar simultaneamente as teclas Ctrl, Shift e C aps digitar as declaraes dos mtodos na definio da classe. O ambiente de desenvolvimento vai gerar automaticamente o corpo principal dos mtodos na seo Implementation da unit. Declare as seguintes variveis na seo var da unit:
ListaContribuinte : TListaContribuinte; indiceatual : integer;
O objeto ListaContribuinte, da classe TListaContribuinte, ser usado para representar a lista que manipular os objetos. A varivel indiceatual, do tipo inteiro, ser usada para armazenar o ndice do objeto cujos valores so exibidos no momento.
Para liberar a memria alocada ao trmino da execuo da aplicao, basta definir da seguinte maneira o procedimento associado ao evento OnDestroy do formulrio:
procedure TFormListaObjetos.FormDestroy(Sender: TObject); begin ListaContribuinte.Free; end;
Para permitir ao usurio adicionar um elemento lista, deve-se definir da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoAdicionar:
procedure TFormListaObjetos.BotaoAdicionaClick(Sender: TObject); var Contribuinte: TPessoa_Fisica; begin Contribuinte := TPessoa_Fisica.Create; Contribuinte.Nome := EditNome.Text; Contribuinte.rendimento := StrToFloat(EditRendimento.Text); ListaContribuinte.Add(Contribuinte); indiceatual := ListaContribuinte.Count-1; LabelValorImposto.Caption:=FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto); BotaoRemove.Enabled := True; end;
Repare que esse procedimento declara uma instncia local da classe TPessoa_Fisica, e que a chamada ao seu mtodo Create retorna uma nova instncia da classe, o que feito mediante a incluso da seguinte linha de cdigo:
Contribuinte := TPessoa_Fisica.Create;
Em seguida, atribuem-se valores aos campos Nome e rendimento da classe, o que feito mediante a incluso das seguintes linhas de cdigo:
Contribuinte.Nome := EditNome.Text; Contribuinte.rendimento := StrToFloat(EditRendimento.Text);
A adio do objeto lista feita mediante uma chamada ao mtodo Add da classe TListaContribuinte, mediante a incluso da seguinte linha de cdigo:
ListaContribuinte.Add(Contribuinte);
Por fim, o valor do ndice atual e o texto exibido no label LabelValorImposto so atualizados, o que feito mediante a incluso das seguintes linhas de cdigo:
indiceatual := ListaContribuinte.Count-1; LabelValorImposto.Caption:=FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
313
Para permitir ao usurio inserir um elemento na lista, deve-se definir da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoInsere:
procedure TFormListaObjetos.BotaoInsereClick(Sender: TObject); var Contribuinte: TPessoa_Fisica; begin Contribuinte := TPessoa_Fisica.Create; Contribuinte.Nome := EditNome.Text; Contribuinte.rendimento := StrToFloat(EditRendimento.Text); ListaContribuinte.Insert(indiceatual, Contribuinte); BotaoRemove.Enabled := True; end;
Esse cdigo muito semelhante ao definido para o procedimento associado ao evento OnClick do componente BotaoAdiciona, exceto que se utiliza nesse caso o mtodo Insert em vez do mtodo Add da classe TListaContribuinte. Para permitir ao usurio remover um elemento na lista, deve-se definir da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoRemove:
procedure TFormListaObjetos.BotaoRemoveClick(Sender: TObject); begin ListaContribuinte.Delete(indiceatual); if indiceatual > ListaContribuinte.Count-1 then indiceatual := ListaContribuinte.Count-1; if ListaContribuinte.Count > 0 then begin EditNome.Text := TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).Nome; EditRendimento.Text:=FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]). rendimento); LabelValorImposto.Caption := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto); end else begin EditNome.Clear; EditRendimento.Clear; LabelValorImposto.Caption := ; BotaoRemove.Enabled := False; end; end;
importante, inicialmente, verificar que esse procedimento s ser executado se a propriedade Enabled do componente for igual a True.
Em seguida, verifica-se se o valor armazenado na varivel ndice atual est dentro dos limites possveis para o ndice do array, o que feito mediante a incluso da seguinte linha de cdigo:
if indiceatual > ListaContribuinte.Count-1 then indiceatual := ListaContribuinte.Count-1;
Por fim, verifica-se se ainda existem elementos na lista (analisando-se o valor da propriedade Count do objeto ListaContribuinte), e atualizam-se corretamente os valores exibidos nas caixas de texto e no label LabelValorImposto, o que feito mediante a incluso do seguinte trecho de cdigo:
if ListaContribuinte.Count > 0 then begin EditNome.Text := TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).Nome; EditRendimento.Text:=FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]). rendimento); LabelValorImposto.Caption := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto); end else begin EditNome.Clear; EditRendimento.Clear; LabelValorImposto.Caption := ; BotaoRemove.Enabled := False; end;
Repare que, se no houver mais objetos na lista, o boto BotaoRemove desabilitado, mediante a incluso da seguinte linha de cdigo:
Enabled := False;
Para permitir ao usurio exibir os dados armazenados no primeiro objeto da classe, deve-se definir da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoPrimeiro:
procedure TFormListaObjetos.BotaoPrimeiroClick(Sender: TObject); begin ListaContribuinte.First; indiceatual := 0; EditNome.Text := TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).Nome; EditRendimento.Text := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).rendimento); LabelValorImposto.Caption := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto); end;
Inicialmente, faz-se uma chamada ao mtodo First da classe TListaContribuinte, mediante a incluso da seguinte linha de cdigo:
ListaContribuinte.First;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
315
Por fim, atualizam-se os valores exibidos nas caixas de texto e no label LabelValorImposto, o que feito mediante a incluso das seguintes linhas de cdigo:
EditNome.Text := TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).Nome; EditRendimento.Text := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).rendimento); LabelValorImposto.Caption := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto);
Os procedimentos associados ao evento OnClick dos componentes BotaoProximo, BotaoUltimo e BotaoAnterior tm codificao semelhante, sendo sua definio reproduzida a seguir.
procedure TFormListaObjetos.BotaoAnteriorClick(Sender: TObject); begin if indiceatual > 0 then indiceatual := indiceatual-1; EditNome.Text := TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).Nome; EditRendimento.Text := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]). rendimento); LabelValorImposto.Caption := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto); end; procedure TFormListaObjetos.BotaoProximoClick(Sender: TObject); begin if indiceatual < ListaContribuinte.Count-1 then indiceatual := indiceatual+1; EditNome.Text := TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).Nome; EditRendimento.Text := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).rendimento); LabelValorImposto.Caption := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto); end; procedure TFormListaObjetos.BotaoUltimoClick(Sender: TObject); begin ListaContribuinte.Last; indiceatual := ListaContribuinte.Count-1; EditNome.Text := TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).Nome; EditRendimento.Text := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).rendimento); LabelValorImposto.Caption := FloatToStr(TPessoa_Fisica(ListaContribuinte.Items[indiceatual]).calcula_imposto); end;
O nico cuidado que se deve ter na codificao desses procedimentos se refere a garantir que os limites do ndice do array sejam respeitados. O mtodo PesquisaNome da classe TListaContribuinte deve ser capaz de retornar o ndice do objeto manipulado pela lista cujo valor armazenado no campo Nome seja igual ao da string passada como parmetro. Apresenta-se a seguir a codificao desse mtodo:
procedure TListaContribuinte.PesquisaNome(Nome: String); var i : integer;
Nesse procedimento, define-se uma varivel local i a ser usada no loop de pesquisa. Inicialmente define-se o objeto corrente como sendo o primeiro objeto manipulado pela lista, mediante uma chamada ao mtodo First da classe TListaContribuinte, o que feito mediante a incluso da seguinte linha de cdigo:
First;
Por fim, efetua-se um looping pelos objetos referenciados pela lista, at que se encontre um objeto cujo valor armazenado no campo Nome igual ao da string passada como parmetro (atribuindo-se o valor atual do contador varivel indiceatual).
for i := 0 to Count-1 do begin if TPessoa_Fisica(Items[i]).Nome = Nome then begin indiceatual := i; Exit; end; end;
Repare que nesse caso implementou-se uma pesquisa exata, e no uma pesquisa aproximada. Para permitir ao usurio ordenar os objetos referenciados pela lista, deve-se definir da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoOrdena:
procedure TFormListaObjetos.BotaoOrdenaClick(Sender: TObject); begin ListaContribuinte.Sort(Compara); end;
O cdigo desse procedimento consiste apenas em uma chamada ao mtodo Sort da classe TListaContribuinte, o que feito mediante a incluso da seguinte linha de cdigo:
ListaContribuinte.Sort(Compara);
Falta ainda definir a funo a ser usada pelo algoritmo QuickSort. Nesse caso, definiu-se uma funo denominada Compara, e implementada da seguinte maneira:
function Compara(indice1, indice2: Pointer): integer;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
317
Repare que essa funo utiliza a funo AnsiCompareText, definida na unit SysUtils, e que compara duas strings sem levar em considerao se a letra est em caixa alta ou caixa baixa. Por fim, falta apresentar a definio do mtodo destrutor da classe TListaContribuinte, cuja codificao reproduzida a seguir:
destructor TListaContribuinte.Destroy; var i : integer; begin for i:= 0 to Count-1 do begin TPessoa_Fisica(Items[i]).Destroy; end; end;
Repare que esse mtodo responsvel por liberar a memria alocada para todos os objetos referenciados pela lista. Para simplificar a digitao de novos valores pelo usurio, os procedimentos associados ao evento OnEnter das caixas de texto EditNome e EditRendimento devem ser implementados da seguinte maneira:
procedure TFormListaObjetos.EditNomeEnter(Sender: TObject); begin EditNome.Clear; LabelValorImposto.Caption := 0.0; end; procedure TFormListaObjetos.EditRendimento Enter(Sender: TObject); begin EditRendimento.Clear; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
319
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
321
Evidentemente esse exemplo pode ser ainda mais incrementado pelo leitor, pois nosso objetivo aqui foi apresentar as tcnicas fundamentais relacionadas manipulao de listas de objetos. Um dos problemas que deve ter sido verificado pelo leitor a ausncia de persistncia de dados, ou seja, os dados so manipulados apenas em memria e perdidos aps o trmino da aplicao.
Conhecimento da sintaxe bsica da linguagem Pascal e dos fundamentos da programao orientada a objetos em Delphi 7.
METODOLOGIA
Repare que, agora, a classe possui dois mtodos de mesmo nome, mas com uma lista de parmetros distinta. A nica exigncia que deve ser atendida ao se sobrecarregar um mtodo consiste em incluir na sua declarao a palavra reservada overload, conforme exemplificado anteriormente. importante destacar que esse recurso pode ser aplicado a qualquer mtodo da classe, e no apenas aos seus construtores, e que os cdigos dos mtodos sobrecarregados podem ser inteiramente distintos. Nesse caso, as duas linhas de cdigo a seguir so igualmente vlidas:
Contribuinte := TContribuinte.Create;
e
Contribuinte := TContribuinte.Create(1000.00);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
323
O recurso de sobrecarga tambm pode ser empregado em funes e procedimentos que no sejam mtodos de uma classe.
Conhecimento da sintaxe bsica da linguagem Pascal e dos fundamentos da programao orientada a objetos em Delphi 7.
METODOLOGIA
Implementao:
function Soma(valor1, valor2, valor3 : integer):integer; begin result := valor1+valor2+valor3; end;
Caso se queira definir o valor 0 como valor default para os dois ltimos parmetros, essa funo deveria ser redeclarada da seguinte maneira (no altere a sua implementao):
function Soma(valor1 : integer; valor2 : integer = 0; valor3 : integer = 0):integer;
Com os recursos de sobrecargas de mtodos e de definio de valores default, o Object Pascal se torna uma linguagem de programao orientada a objetos ainda mais completa.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
325
Captulo
O Conceito de Componentes
20
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
327
METODOLOGIA
Apresentao do conceito de componentes. Definio dos conceitos de propriedades e eventos. Apresentao da classe TCanvas.
TCNICA
Discusso dos conceitos relacionados definio de um componente. Implementao de procedimentos capazes de responder a mensagens do sistema operacional.
O CONCEITO DE COMPONENTES
Os componentes so, na realidade, objetos ou instncias de classes que tm algumas caractersticas adicionais s existentes nas classes definidas no captulo anterior. Diferentemente do que ocorre com as instncias das classes definidas anteriormente, os componentes podem ter algumas das suas caractersticas manipuladas durante a fase de projeto de um aplicativo, isto , a partir do prprio ambiente de desenvolvimento integrado do Delphi 7, e isso normalmente feito alterando-se algumas das suas propriedades diretamente no Object Inspector. O prprio componente pode ser visualizado e manipulado diretamente com o mouse (e algumas das suas caractersticas visuais, como tamanho e posio, podem ser diretamente alteradas pelo mouse). Alm disso, durante a execuo do aplicativo, alguns componentes podem responder a aes diretas do usurio ou do sistema operacional, ou seja, so capazes de responder s mensagens disparadas pelo sistema operacional. O usurio do componente pode ainda definir um trecho de cdigo a ser executado quando o componente responder a essa mensagem, o que geralmente feito definindo-se procedimentos associados a eventos (onde se define genericamente por evento uma ao do usurio ou do sistema operacional). Exemplificando: Quando um componente precisa ser redesenhado na tela, o sistema operacional envia ao componente uma mensagem identificada como WM_Paint. Alm disso, alguns componentes possuem um evento chamado OnPaint, cujo procedimento associado ser executado sempre que o componente precisar responder a essa mensagem. Alguns componentes, no entanto, s podem ser visualizados na fase de projeto do aplicativo, como por exemplo aqueles que representam as caixas de dilogo padres do Windows. Esse tipo de componente, na realidade, representa uma determinada funcionalidade do sistema operacional, que foi transformada em componente para facilitar o trabalho do programador. O mesmo ocorre com os componentes utilizados para representar tabelas, em aplicaes que acessam bancos de dados. Se voc examinar o diagrama da hierarquia de objetos do Delphi 7, ver que todas as classes usadas na definio de componentes so classes derivadas, direta ou indiretamente, da classe TPersistent, definida na unit Classes. A classe TPersistent incorpora a funcionalidade bsica a todas as classes cujas instncias devem ser capazes de ler e armazenar suas caractersticas em um meio auxiliar de armazenamento, que pode ser a memria RAM ou um disco magntico. Na realidade, os mtodos fornecidos por essa classe so todos virtuais ou dinmicos, podendo portanto ser sobrecarregados nas classes dela derivadas por herana, de forma a ampliar a sua funcionalidade. Alm dos componentes propriamente ditos, todas as classes cujos objetos precisam incorporar o conceito de persistncia so derivadas diretamente da classe TPersistent. Dentre as classes derivadas diretamente da classe TPersistent, podem-se destacar: TCanvas: Utilizada para representar uma superfcie de desenho, incorporando boa parte da funcionalidade presente na GDI (Graphical Device Interface) do Windows.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
329
As principais mensagens relacionadas com o pressionamento de teclas e movimentao do mouse para aplicaes desenvolvidas em Delphi 7 com a VCL so codificadas como mostrado a seguir:
WM_MOUSEFIRST = $0200; WM_MOUSEMOVE = $0200; WM_LBUTTONDOWN = $0201;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
331
No caso do Windows, para definir em uma classe um mtodo que responda a uma mensagem do sistema operacional, basta codific-lo com a seguinte sintaxe:
Procedure <cdigo_mensagem_sem_undescore>(var Nome_Parmetro: TMessage);message <cdigo_da_mensagem>;
Onde: < cdigo_mensagem_sem_undescore> exatamente isso: o cdigo da mensagem sem o undescore. Conseqentemente, se quisermos definir um mtodo que responda mensagem WM_PAINT, ele ser denominado WMPaint. Nome_Parmetro o nome de um parmetro passado por referncia, e de um tipo definido como um registro que identifica a mensagem a ser manipulada, e definida na unit Messages. Message uma palavra reservada utilizada para identificar que esse procedimento ser executado em resposta a uma mensagem do sistema operacional. <cdigo_da_mensagem> o cdigo da mensagem propriamente dita. Para responder a uma mensagem WM_PAINT, por exemplo, um componente deve definir um mtodo chamado WMPaint, que apresenta o seguinte cabealho:
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
As classes TWinControl e TGraphicControl, por exemplo, implementam esse mtodo, embora o faam de maneira diferente, como mostram os trechos de cdigo que implementam esses mtodos, reproduzidos a seguir.
procedure TWinControl.WMPaint(var Message: TWMPaint); var DC, MemDC: HDC; MemBitmap, OldBitmap: HBITMAP; PS: TPaintStruct; begin if not FDoubleBuffered or (Message.DC <> 0) then if ControlCount = 0 then inherited else PaintHandler(Message) else begin DC:= GetDC(0); MemBitmap:= CreateCompatibleBitmap(DC, ClientRect.Right, ClientRect.Bottom); ReleaseDC(0, DC); MemDC:= CreateCompatibleDC(0); OldBitmap:= SelectObject(MemDC, MemBitmap); try DC:= BeginPaint(Handle, PS); Perform(WM_ERASEBKGND, MemDC, MemDC);
Alguns exemplos de tipos definidos como registro (tipo composto) na unit Messages so apresentados a seguir. Para representar mensagens geradas pelo pressionamento de uma tecla:
TWMKey = record Msg: Cardinal; CharCode: Word; Unused: Word; KeyData: Longint; Result: Longint; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
333
Algumas mensagens especficas so representadas como um alias (nome alternativo) para os registros descritos anteriormente, como exemplificado a seguir:
TWMLButtonDblClk = TWMMouse; TWMLButtonDown = TWMMouse; TWMLButtonUp = TWMMouse; TWMMButtonDblClk = TWMMouse; TWMMButtonDown = TWMMouse; TWMMButtonUp = TWMMouse; TWMMouseMove = TWMMouse; TWMRButtonDblClk = TWMMouse; TWMRButtonDown = TWMMouse; TWMRButtonUp = TWMMouse; TWMChar = TWMKey; TWMKeyDown = TWMKey; TWMKeyUp = TWMKey; TWMSysChar = TWMKey; TWMSysKeyDown = TWMKey; TWMSysKeyUp = TWMKey;
No discutiremos neste livro a codificao desses mtodos, que executam diversas funes da API do Windows. O objetivo desse tpico mostrar como so implementados os mtodos que respondem a mensagens do sistema operacional. Repare que, como a classe TGraphicControl j implementa o mtodo Paint, tenta execut-lo a partir do procedimento definido como resposta mensagem WM_PAINT, o que no ocorre no caso do mesmo mtodo para a classe TWinControl, que no implementa o mtodo Paint. Entretanto, a classe TCustomControl, derivada da classe TWinControl e que implementa o mtodo Paint, define seu procedimento WMPaint da maneira descrita a seguir:
procedure TCustomControl.WMPaint(var Message: TWMPaint); begin PaintHandler(Message); end;
Esse mtodo executa o mtodo PaintHandler, definido na classe-base, e que por sua vez executa o mtodo PaintWindow, que na classe TCustomControl implementado da seguinte forma:
procedure TCustomControl.PaintWindow(DC: HDC); begin FCanvas.Lock; try FCanvas.Handle:= DC; try Paint; finally FCanvas.Handle:= 0; end; finally FCanvas.Unlock; end; end;
A CLASSE TCANVAS
Muitos componentes (como os representados pela classe TGraphicControl ou de classes dela derivadas por herana) tm um campo interno chamado FCanvas, e uma propriedade chamada Canvas, da classe TCanvas, que representa a superfcie de desenho do componente. Neste tpico apresentaremos algumas propriedades e mtodos da classe TCanvas, fundamentais compreenso dos procedimentos envolvidos na criao de componentes. Para o Windows, qualquer rea a ser manipulada na tela (ou na impressora) tratada como uma superfcie de desenho. Para simplificar a vida do programador, o Delphi 7 possui uma classe, denominada TCanvas, que representa uma superfcie de desenho retangular sobre a qual podero ser feitos desenhos, exibidos textos, etc. Em um Canvas existe um sistema de coordenadas cartesianas em que a origem est situada no canto superior esquerdo, as abscissas crescem da esquerda para a direita e as ordenadas de cima para baixo (ao contrrio do sistema cartesiano convencional). Conforme ser visto posteriormente, no captulo referente programao grfica, existem funes da GDI do Windows que permitem que se altere a orientao de eixos do Canvas, bem como o posicionamento da origem desse sistema. A figura a seguir apresenta a orientao de eixos em um Canvas, conforme descrito anteriormente.
0 X
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
335
Brush
A propriedade Brush de um objeto da classe TCanvas , na realidade, um objeto da classe TBrush, e define as caractersticas do pincel utilizado no preenchimento de superfcies como retngulos e elipses, por exemplo.
CanvasOrientation
Essa propriedade, apenas de leitura, uma varivel do tipo Tcanvas e pode assumir um dos seguintes valores: coLeftToRight: Orientao da esquerda para a direita. coRightToLeft: Orientao da direita para a esquerda.
ClipRect
Essa propriedade um objeto da classe TRect, e permite restringir a rea de desenho a uma poro retangular do Canvas.
CopyMode
Essa propriedade definida como uma varivel inteira, e define como imagens grficas devem ser desenhadas no Canvas: Uma relao dos valores possveis e seus efeitos ser apresentada no captulo de programao grfica.
Font
Essa propriedade um objeto da classe TFont, e define a fonte utilizada na exibio de textos no Canvas.
Handle
Essa propriedade retorna o handle do Canvas, e utilizada apenas quando se precisa utilizar funes grficas da GDI do Windows que no foram incorporadas pela VCL do Delphi 7 ou pela CLX como mtodos da classe TCanvas.
LockCount
Essa propriedade definida como uma varivel inteira, e define quantas vezes o canvas foi protegido contra a interveno de outras threads, mediante chamadas ao seu mtodo Lock.
Pen
A propriedade Pen de um objeto da classe TCanvas , na realidade, um objeto da classe TPen, e define as caractersticas da caneta utilizada no desenho de linhas e do contorno de figuras como retngulos e elipses, por exemplo.
PenPos
Essa propriedade uma varivel do tipo TPoint, e define a posio atual da caneta no Canvas. Atribuir um valor propriedade PenPos equivale a executar o mtodo MoveTo do Canvas.
Pixels [x,y]
Essa propriedade define a cor do pixel situado nas coordenadas (x,y) do Canvas.
TextFlags
Essa propriedade definida como uma varivel inteira, e define como um texto deve ser desenhado no Canvas. Uma relao dos valores possveis e seus efeitos ser apresentada no captulo de programao grfica.
Arc
Declarao
procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
Esse mtodo desenha na superfcie do Canvas um arco coincidente com o permetro da elipse cujo retngulo circunscrito definido pelos pontos (X1,Y1) e (X2,Y2). O arco comea no ponto de interseo desse retngulo com a linha que une o centro da elipse ao ponto (X3,Y3) e segue no sentido anti-horrio at o ponto de interseo desse retngulo com a linha que une o centro da elipse ao ponto (X4,Y4).
BrushCopy
Declarao
procedure BrushCopy(const Dest: TRect; Bitmap: TBitmap; const Source: TRect; Color: TColor);
Esse mtodo copia uma poro retangular de um bitmap (Source) para uma rea retangular do canvas (Dest), substituindo uma das cores do bitmap (Color) pela definida para a propriedade Brush do canvas.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
337
Chord
Declarao
procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
Esse mtodo desenha uma curva fechada, definida pela interseo entre uma linha e uma elipse. A Elipse definida pelos dois primeiros pontos e a linha, pelos dois ltimos.
CopyRect
Declarao
procedure CopyRect(Dest: TRect; Canvas: TCanvas; Source: TRect);
Esse mtodo copia uma rea retangular de um Canvas para outra rea retangular do Canvas corrente (que executa o mtodo).
Draw
Declarao
procedure Draw(X, Y: Integer; Graphic: TGraphic);
Esse mtodo copia uma imagem grfica (que pode ser um cone, um bitmap ou um metafile) para o Canvas corrente, sendo a extremidade superior esquerda da imagem colocada no ponto de coordenadas X e Y (passadas como parmetros).
DrawFocusRect
Declarao
procedure DrawFocusRect(const Rect: TRect);
Esse mtodo desenha um retngulo no Canvas, com o estilo comumente usado para indicar que o componente recebeu o foco da aplicao.
Ellipse
Declarao
procedure Ellipse(X1, Y1, X2, Y2: Integer); overload; procedure Ellipse(const Rect: TRect); overload;
Esse mtodo desenha no Canvas uma elipse cujo retngulo circunscrito definido pelos pontos (X1,Y1) e (X2,Y2) ou por uma rea retngular (Rect). Para desenhar um crculo, basta que o retngulo circunscrito seja um quadrado, isto , (Y2 - Y1) deve ser igual a (X2 - X1). Repare que este mtodo um mtodo sobrecarregado.
FillRect
Declarao
procedure DrawFocusRect(const Rect: TRect);
LineTo
Declarao
procedure LineTo(X, Y: Integer);
Esse mtodo desenha no Canvas uma linha que comea na posio atual da caneta imaginria e termina na posio definida pelas coordenadas (X,Y), que passa a ser a posio atual da caneta imaginria.
Lock
Declarao
procedure Lock;
MoveTo
Declarao
procedure MoveTo(X, Y: Integer);
Esse mtodo move a caneta imaginria para a posio do Canvas definida pelas coordenadas (X,Y).
PolyBezier
Declarao
procedure PolyBezier(const Points: array of TPoint);
Esse mtodo desenha uma curva de Bezier, com base no conjunto de pontos fornecido como parmetro.
Esse mtodo desenha no Canvas um setor elptico cujo retngulo circunscrito definido pelos pontos (X1,Y1) e (X2,Y2), preenchendo-o com o pincel definido na propriedade Brush do Canvas.
Polygon
Declarao
procedure Polygon(Points: array of TPoint);
Esse mtodo desenha no Canvas um polgono fechado usando a caneta imaginria definida na propriedade Pen do Canvas e preenchendo-o com o pincel imaginrio definido pela propriedade Brush do Canvas.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
339
Polyline
Declarao
procedure Polyline(Points: array of TPoint);
Esse mtodo desenha uma poligonal aberta unindo os pontos que compem o array passado como parmetro. Para desenhar uma poligonal fechada, basta que as coordenadas do primeiro e do ltimo ponto do array sejam coincidentes.
Rectangle
Declarao
procedure Rectangle(X1, Y1, X2, Y2: Integer); overload; procedure Rectangle(const Rect: TRect); overload;
Esse mtodo desenha no Canvas um retngulo definido pelos pontos (X1,Y1) e (X2,Y2), ou por uma varivel do tipo Trect (repare que este um mtodo sobrecarregado) preenchendo-o com o pincel definido na propriedade Brush do Canvas.
RoundRect
Declarao
procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);
Esse mtodo desenha no Canvas um retngulo de cantos arredondados definido pelos pontos (X1,Y1) e (X2,Y2), sendo os cantos concordados por uma elipse de eixos iguais a X3 e Y3.
StretchDraw
Declarao
procedure StretchDraw(const Rect: TRect; Graphic: TGraphic );
Esse mtodo copia, na rea retangular definida pelo parmetro Rect do canvas corrente, uma imagem definida pelo parmetro Graphic.
TextExtent
Declarao
function TextExtent(const Text: string): TSize;
Esse mtodo retorna, nos campos cx e cy de uma varivel do tipo TSize, as dimenses (largura e altura, em pixels) que uma string ocupa ao ser desenhada no canvas corrente.
TextHeight
Declarao
function TextHeight(const Text: string): Integer;
TextOut
Declarao
procedure TextOut(X, Y: Integer; const Text: string);
Esse mtodo exibe no Canvas uma string definida pelo parmetro Texto, na posio definida pelas coordenadas (X,Y). Essas coordenadas definem o vrtice superior esquerdo do retngulo circunscrito ao texto, usando a fonte corrente do Canvas (definida pela sua propriedade Font).
TextWidth
Declarao
function TextWidth(const Text: string): Integer;
Esse mtodo retorna a largura, em pixels, que a string definida pelo parmetro Texto ocupa no Canvas.
Unlock
Declarao
procedure Unlock;
Esse mtodo permite que outras threads desenhem sobre o Canvas. Deve ser chamado sempre que outras threads houvessem sido impedidas de desenhar no Canvas aps uma chamada do mtodo Lock. Apresentam-se a seguir as principais propriedades da classe TPen.
Color
Essa propriedade um objeto da classe TColor, e define a cor atual da caneta imaginria. Voc pode usar uma das constantes predefinidas do Delphi 7 (clBlack, clWhite, clBlue, clYellow, etc.).
Style
Essa propriedade define como a linha ser desenhada, e pode assumir um dos valores apresentados a seguir.
Significado Desenha uma linha slida. Desenha uma linha tracejada. Desenha uma linha pontilhada.
continua
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
341
Significado Desenha uma linha no estilo trao-ponto. Desenha uma linha no estilo trao-dois pontos. Desenha uma linha invisvel. Desenha uma linha slida, mas cuja cor pode sofrer leves variaes, quando sua propriedade width tiver valor maior do que 1.
Mode
Essa propriedade define como a cor atual da caneta interage com a cor corrente do Canvas, e pode assumir um dos valores apresentados a seguir: pmBlack: A linha desenhada na cor preta, independente da cor existente no Canvas. pmWhite: A linha desenhada na cor branca, independente da cor existente no Canvas. pmNop: A cor atual do canvas permanece inalterada. A caneta se comporta de forma transparente. pmNot: A cor utilizada pela caneta ser a inversa da presente no Canvas. pmCopy: A caneta desenha linhas com a cor especificada na sua propriedade Color. pmNotCopy: A caneta desenha linhas com a cor especificada na sua propriedade Color. pmMergePenNot: A caneta desenha linhas com a cor resultante da combinao entre a cor da propriedade Color da caneta e a inversa da presente no Canvas. pmMaskPenNot: A caneta desenha linhas com a cor resultante da combinao das cores comuns entre a cor da propriedade Color da caneta e a inversa da presente no Canvas. pmMergeNotPen: A caneta desenha linhas com a cor resultante da combinao entre a cor inversa da propriedade Color da caneta e a cor presente no Canvas. pmMaskNotPen: A caneta desenha linhas com a cor resultante da combinao entre a cor inversa da definida pela propriedade Color da caneta e a da cor de fundo do Canvas. pmMerge: A caneta desenha linhas com a cor resultante da combinao entre a cor definida pela propriedade Color da caneta e a da cor de fundo do Canvas. pmNotMerge: Cor inversa da definida com pmMerge. pmMask: A caneta desenha linhas com a cor resultante da combinao entre a cor definida pela propriedade Color da caneta e a da cor de fundo do Canvas. PmNotMask: Cor inversa da definida com pmMask. PmXor: A caneta desenha linhas com a cor resultante da combinao entre as cores presentes na propriedade Color da caneta e na cor de fundo do Canvas, mas no em ambas. PmNotXor: Cor inversa da definida com pmXor.
Width
Essa propriedade armazena um valor inteiro que define a espessura da linha desenhada pela caneta imaginria. Apresentam-se a seguir as principais propriedades da classe TBrush.
Bitmap
Essa propriedade permite que se defina um bitmap de 8 x 8 pixels como padro de preenchimento do pincel imaginrio. Se for atribudo um bitmap de dimenses maiores, apenas a regio de 8 x 8 pixels situada no canto superior esquerdo do bitmap ser considerada.
Color
Essa propriedade um objeto da classe TColor, e define a cor atual do pincel imaginrio.
Style
Essa propriedade define o estilo de preenchimento do pincel imaginrio, com os seguintes valores:
Significado Preenchimento Total (Slido) Transparente Hachura em diagonal, com inclinao //// Hachura em diagonal, com inclinao \\\\ Hachuras Ortogonais cruzadas Hachuras Diagonais cruzadas Hachuras Horizontais Hachuras Verticais
O COMPONENTE SHAPE
O componente Shape, situado na pgina Additional da paleta de componentes, utilizado para desenhar formas geomtricas em um formulrio ou outro componente que permita a incluso de outros componentes em seu interior (como um Panel, por exemplo), e, diferentemente de outros componentes, permite que suas propriedades Brush e Pen sejam definidas durante o projeto da aplicao alterando os seus valores diretamente no Object Inspector. A ttulo de ilustrao, apresentamos a seguir a definio da classe TShape e a implementao do seu mtodo Paint, extrados do arquivo ExtCtrls.pas:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
343
Observe que essa classe herda o campo interno FCanvas e a propriedade Canvas da sua classe-base, TGraphicControl.
procedure TShape.Paint; var X, Y, W, H, S: Integer; begin with Canvas do begin Pen := FPen; Brush := FBrush; X := Pen.Width div 2; Y := X; W := Width - Pen.Width + 1; H := Height - Pen.Width + 1; if Pen.Width = 0 then begin Dec(W); Dec(H); end; if W < H then S := W else S := H; if FShape in [stSquare, stRoundSquare, stCircle] then begin Inc(X, (W - S) div 2); Inc(Y, (H - S) div 2); W := S; H := S; end;
Conforme descrito anteriormente, o mtodo Paint de um componente executado sempre que o mesmo precisa ser redesenhado em um formulrio. Repare que, no mtodo Paint do componente Shape, so feitas vrias chamadas a mtodos da sua propriedade Canvas (que um objeto da classe TCanvas). Repare ainda que no mtodo Paint do componente Shape, os valores das propriedades Brush e Pen do Canvas so definidos como sendo iguais aos definidos nos campos FBrush e FPen, que so na realidade objetos da classe TBrush e TPen, e que armazenam internamente os valores definidos pelas propriedades Brush e Pen, respectivamente. Existem componentes, no entanto, que no permitem que se acessem suas propriedades Brush e Pen na fase de projeto, mas apenas durante a execuo do aplicativo. Esses componentes, no entanto, como aqueles representados pelas classes TPaintBox, TImage e TPrinter, possuem um evento chamado OnPaint, para o qual podemos definir um procedimento associado, e nesse procedimento definir o cdigo referente a qualquer desenho a ser feito no seu Canvas. Para que um desenho seja permanentemente visualizado em um formulrio ou componente, o cdigo que o define deve ser digitado no procedimento associado ao evento OnPaint do formulrio ou componente. Se esse cdigo no for includo no evento OnPaint e a regio do formulrio ou componente que exibe o desenho for sobreposta por outra janela, este no ser restaurado na tela quando a regio correspondente se tornar visvel novamente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
345
Captulo
Criao de Componentes
21
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
347
METODOLOGIA
Apresentao do problema: Utilizao dos conceitos de herana e polimorfismo na criao de novos componentes.
TCNICA
Apresentao dos procedimentos necessrios criao de novos componentes.
APRESENTAO DO PROBLEMA
Ao longo dos ltimos captulos, voc trabalhou intensamente com componentes, selecionando-os nas diversas pginas da paleta de componentes, inserindo-os em formulrios e alterando algumas das suas propriedades diretamente no Object Inspector. Esses componentes so, na verdade, objetos de classes previamente definidas na Visual Component Library VCL (a biblioteca de componentes do Delphi). O que diferencia um componente de uma classe comum justamente o fato de que os componentes podem ser manipulados na fase de projeto do aplicativo, ao passo que as classes comuns s podem ser manipuladas via cdigo. Existem situaes, no entanto, em que precisamos adaptar um componente j existente de forma a adequ-lo s nossas necessidades. Considere, por exemplo, que nossas aplicaes utilizem constantemente caixas de texto (componentes da classe TEdit) nas quais devem ser digitados apenas nmeros inteiros.
O procedimento associado ao evento OnKeyPress do componente verifica se a tecla pressionada pelo usurio corresponde a um dos caracteres vlidos, que so os dgitos (0 a 9) e os sinais + e -. Como a tecla pressionada passada para o procedimento associado ao evento pelo parmetro Key, basta verificar se a tecla representada por esse parmetro pertence ao conjunto de valores permitidos, o que feito nas linhas de cdigo reproduzidas a seguir.
if (not (key in [0..9',-,+,#8]))or((key in [+,-]) and (Pos(key,TEdit(Sender).text)>0)) then key := #0;
Essa linha de cdigo verifica se a tecla representada pelo parmetro Key pertence ao conjunto de valores permitidos e, caso essa condio no seja satisfeita, anula a entrada fornecida pelo usurio. Portanto, caso a tecla seja invlida, atribui-se o valor #0 ao parmetro Key, anulando-se a ao do usurio (isso possvel, pois o parmetro Key passado por referncia, como indica o modificador var includo na relao de parmetros do procedimento). Repare que, no caso das teclas + e -, deve-se ainda verificar se o caractere correspondente j existe na propriedade Text do componente, o que feito verificando-se o valor retornado pela funo Pos (que retorna a posio de um conjunto de caracteres em uma string) no procedimento associado ao
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
349
Para o caractere +:
indice := Pos(+,TEdit(Sender).text); if indice > 1 then begin posinal := TEdit(Sender).Text; Delete(posinal, indice, 1); TEdit(Sender).Text := ++posinal; end;
Evidentemente, se nossa aplicao utilizar muitos componentes caixas de texto com essas caractersticas, ou se muitas aplicaes necessitarem dessa funcionalidade, ser mais adequado criar um novo componente capaz de incorporar essas funcionalidades, ou criar um template para este componente. Nos prximos tpicos sero apresentados os procedimentos necessrios criao de templates e criao desse componente, que neste ser representado por uma classe derivada da classe TEdit, e que ser denominada TNumEdit.
2. Selecione o boto Ok para fechar essa caixa de dilogo, criar a unit do componente e exibi-la no editor de cdigos, como mostrado a seguir.
unit NumEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TNumEdit = class(TEdit) private { Private declarations } protected { Protected declarations } public { Public declarations } published { Published declarations } end; procedure Register; implementation
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
351
Outra opo seria selecionar o item New do menu File para exibir a caixa de dilogo New Items, o item Component da pgina New dessa caixa de dilogo e o boto Ok.
Nesse arquivo de cdigo, verifica-se que a nova classe, TNumEdit, ser derivada por herana da classe TEdit, como mostra o trecho de cdigo a seguir, em que a mesma definida:
type TNumEdit = class(TEdit)
Repare ainda que foi definido o procedimento Register, e nesse procedimento feita uma chamada a um outro procedimento, denominado RegisterComponents. A procedure RegisterComponents recebe como parmetro o nome da pgina da paleta de componentes na qual os novos componentes sero inseridos (se a pgina indicada no existir, a mesma ser criada), e um array de componentes. Voc pode registrar vrios componentes de uma nica vez para uma nica pgina da paleta de componentes. Nesse caso, o nome de todos os componentes a serem exibidos nessa paleta dever ser includo nesse array de componentes. Caso a unit defina mais de um componente, e esses componentes sejam instalados em paletas distintas, o procedimento Register dever fazer vrias chamadas procedure RegisterComponents.
Embora o procedimento Register possa conter vrias chamadas ao procedimento RegisterComponents, s pode haver um procedimento Register em cada unit.
Como pode ser visto na definio anterior, uma propriedade pode ter um mtodo de leitura e um mtodo de escrita. Quando se omite o nome do mtodo de escrita, a propriedade do tipo read-only (apenas de leitura) e seu valor pode ser apenas lido. Existem situaes, no entanto, que, em vez de se definir um mtodo de leitura e um mtodo de escrita, coloca-se em seu lugar o nome do campo em que o valor da propriedade ser armazenado. Nesses casos, diz-se que a propriedade acessa diretamente o valor de um campo, sem que se use qualquer mtodo especfico. No caso da propriedade Numerico, sua definio ser inicialmente feita mediante a incluso da seguinte linha de cdigo na seo published da classe:
property Numerico : boolean read FNumerico write FNumerico;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
353
No se esquea de incluir, na seo private da classe que representa o componente, a definio do campo que armazenar internamente o valor da propriedade.
Aps preencher corretamente as informaes dessa caixa de dilogo, selecione o boto OK. Ser exibida a caixa de dilogo de confirmao mostrada na figura a seguir.
Durante a instalao sero exibidas algumas mensagens informativas. Basta selecionar o boto Ok dessas caixas de dilogo para dar prosseguimento ao processo.
Nesse caso, o componente foi inserido no pacote dclusr.dpk, que possui exatamente esta finalidade armazenar a definio de componentes criados pelo desenvolvedor. O componente estar instalado e estar disponvel na pgina Axcel da paleta de componentes, como mostra a figura a seguir.
Caso o componente no tenha sido instalado, selecione os botes Compile e Install na janela Package do pacote correspondente.
Repare que, como no foi definido um bitmap especfico para o componente, o bitmap do seu componente ancestral foi automaticamente utilizado (nesse caso, o bitmap definido para o componente TEdit). Posteriormente sero apresentados os procedimentos necessrios definio de um bitmap para o novo componente. Se voc colocar o cursor do mouse sobre o bitmap que identifica o componente na paleta, ser exibida uma string de auxlio com o nome do componente (no caso, NumEdit). Coloque o componente em um formulrio e verifique que a nova propriedade j est disponvel no Object Inspector, como mostra a figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
355
Repare que o valor default dessa propriedade False. Para alterar esse valor default, voc deve sobrecarregar o construtor da classe-base e definir o novo valor. Isso ser feito da maneira descrita no tpico apresentado a seguir. Evidentemente, a alterao do valor dessa propriedade ainda no provoca nenhum efeito, pois o componente ainda no foi codificado para reagir a alterao de valores da propriedade Numerico. Nos prximos tpicos, esses aspectos sero tratados em maiores detalhes.
A implementao do construtor deve ser feita na seo implementation da unit, como apresentado a seguir:
Repare que a primeira coisa que o construtor faz chamar o mtodo construtor da classe-base. Em seguida, define as propriedades Numerico e Text como True e 0, respectivamente (afinal de contas, no seria lgico que o valor default da propriedade Text desse componente fosse NumEdit1). Reinstale novamente o componente. Voc ver que agora o valor default da propriedade Numerico ser igual a True. Para reinstalar o componente, voc deve executar os seguintes procedimentos: 1. Selecionar o item Install Packages do menu Components. Ser exibida a caixa de dilogo Project Options, na qual dever ser selecionado o item Borland Delphi User, conforme indicado na figura a seguir.
2. Selecione o boto Edit dessa caixa de dilogo. Ser exibida uma caixa de dilogo solicitando uma confirmao, e indicando que a caixa de dilogo Project Options ser fechada. 3. Ser exibida a caixa de dilogo do editor de pacotes. Selecione o boto Compile dessa caixa de dilogo, para recompilar o pacote. Dessa maneira, a partir desse momento, a propriedade Numerico ter o valor default igual a True e a proprieade Text o valor 0. Entretanto, se voc observar a descrio textual de um formulrio aps a incluso desse componente, ver que a descrio do objeto feita da seguinte maneira (os valores numricos podem variar um pouco):
object NumEdit1: TNumEdit Left = 208 Top = 168
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
357
Para que o valor default da propriedade Numerico do componente TNumEdit no seja armazenado na descrio textual do formulrio que o contm, torna-se necessrio redefinir a declarao da propriedade na definio da classe, como mostra o trecho de cdigo a seguir.
property Numerico : boolean read FNumerico write Fnumerico default True;
Repare que definir um valor default para a propriedade (ou campo) diferente de definir um valor default para a sua descrio textual no formulrio. A declarao de um valor default para o campo feita no construtor, ao passo que a definio de um valor default para definir a incluso ou no do valor da propriedade na descrio textual do formulrio que contm o componente feita na prpria definio da propriedade. Dessa maneira, se o valor da propriedade Numerico for igual a True, sua definio no ser mais includa na descrio textual do formulrio.
Com a implementao desse mtodo definida dessa maneira, caso o usurio insista em digitar um caractere invlido no componente na fase de projeto do aplicativo, o valor da propriedade Numerico ser redefinido como false. A redefinio da classe por completa apresentada a seguir.
type TNumEdit = class(TEdit) private { Private declarations } FNumerico : boolean; protected { Protected declarations } procedure KeyPress(var Key : Char);override; procedure Change;override; public { Public declarations } constructor Create(AOwner: TComponent);override; published { Published declarations } property Numerico : boolean read FNumerico write FNumerico default True; end;
A partir de ento, se o valor da propriedade Numerico for igual a True, apenas valores numricos podero ser digitados no componente durante a execuo de um aplicativo que o utilize. Dessa maneira, a utilizao do componente TNumEdit evita que se tenha de codificar os procedimentos associados aos eventos OnKeyPress e OnChange para cada caixa de texto, e exatamente este o objetivo de se criar novos componentes automatizar tarefas realizadas com freqncia no desenvolvimento dos seus aplicativos. Alm disso, da forma como foi definido, esse componente ainda pode ser utilizado como uma caixa de texto comum, bastando para isso que se defina como False o valor da sua propriedade Numerico. Considere agora a situao em que se prefere dar ao usurio a capacidade de definir o que deve ser feito caso a converso descrita anteriormente no seja possvel. O que fazer nesse caso? Que tal criarmos um evento que deve ser disparado quando isso ocorrer, e deixar a cargo do usurio a tarefa de tomar uma deciso? Embora este exemplo possa parecer meio simplrio, ao menos ajuda a esclarecer didaticamente o processo de definio de novos eventos para um componente. Alm disso, veremos como usar mtodos de leitura e escrita na definio de novas propriedades.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
359
Repare que, por ser uma propriedade, o evento OnErroConverso tambm possui um campo interno associado, denominado FOnErroConversao. No entanto, esse evento dever ser disparado quando o usurio alterar o valor da propriedade Numerico, e apenas se isso ocorrer durante a execuo do aplicativo. Dessa forma, devemos definir um mtodo de escrita para essa varivel, de modo a tratar esse fato. Um mtodo de escrita deve ter um nico parmetro, e este deve ser do mesmo tipo da propriedade acessada. Podemos ento definir, atravs do seguinte cdigo, um mtodo denominado AtribuiValor para a classe TNumEdit:
procedure TNumEdit.AtribuiValor(NovoValor : boolean); var valorconvertido : Integer; begin FNumerico := NovoValor; if not(NovoValor) then exit; try valorconvertido := StrToInt(Text); except on EConvertError do begin if (csdesigning in ComponentState) then Text := 0 else
Nesse procedimento, verifica-se se o valor da propriedade Numerico est sendo alterada na fase de projeto do aplicativo, verificando-se se a propriedade ComponentState (que um conjunto) contm entre seus elementos a constante csdesigning que indica que a propriedade est sendo alterada na fase de projeto do aplicativo. A classe ter, conseqentemente, a sua definio alterada para:
type TNumEdit = class(TEdit) private { Private declarations } FNumerico : boolean; FOnErroConversao : TNotifyEvent; protected { Protected declarations } procedure KeyPress(var Key : Char);override; procedure Change;override; procedure AtribuiValor(NovoValor : boolean); public { Public declarations } constructor Create(AOwner: TComponent);override; published { Published declarations } property Numerico : boolean read FNumerico write AtribuiValor default True; property OnErroConversao : TNotifyEvent read FOnErroConversao write FOnErroConversao; end;
Repare que agora o valor da propriedade Numerico escrito no campo FNumerico atravs de um mtodo chamado AtribuiValor. Voc pode agora recompilar o pacote que contm este novo componente, incluir um componente NumEdit no formulrio e definir, da seguinte maneira, o procedimento associado ao seu evento OnErroConversao:
procedure TForm1.NumEdit1ErroConversao(Sender: TObject); begin NumEdit1.text := 0; end;
Dessa maneira, sempre que neste exemplo ocorrer um erro de converso durante a execuo do aplicativo, o valor da propriedade Text de NumEdit1 ser igual a 0. Isso foi definido pelo usurio do componente, que poder no ter acesso ao seu cdigo-fonte, mas poder decidir o que deve ser feito pelo programa quando houver um erro de converso.
O TIPO TNOTIFYEVENT
O tipo TNotifyEvent est definido da seguinte maneira na unit Classes:
type TNotifyEvent = procedure (Sender: TObject) of object;
Caso voc queira, pode definir outros tipos de eventos, como descrito a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
361
Nesse caso, se essa definio fosse includa antes da definio da classe TNumEdit, voc poderia definir FOnErroConversao como:
FOnErroConversao : TMeuEvento;
No mtodo AtribuiEvento, a chamada do procedimento associado ao evento seria feita da seguinte maneira:
if Assigned(FOnErroConversao) then FOnErroConversao;
Repare que, nesse caso, no existiro mais parmetros a passar, pois voc usou o tipo TMeuEvento em vez de TNotifyEvent! Nada o impede, no entanto, de definir outros eventos com parmetros distintos. Repare os procedimentos associados a diversos eventos de um formulrio, e verifique as diferenas existentes em suas listas de parmetros.
Repare que esse mtodo bastante simples, e pouco acrescenta ao mtodo de acesso direto, pois apenas retorna o valor armazenado no campo FNumerico da classe. Nosso objetivo, contudo, foi mostrar os procedimentos necessrios definio de um mtodo de leitura para uma propriedade de um componente. No Delphi, os mtodos de leitura e de escrita costumam ter os seus nomes iniciados com as palavras Get e Set, respectivamente. Esta , no entanto, apenas uma conveno, pois, conforme mostrado anteriormente, os mtodos podem ter qualquer nome vlido, de acordo com as regras da linguagem Object Pascal. De qualquer forma, nos prximos tpicos seguiremos as convenes do Delphi. Apresenta-se a seguir o cdigo final da unit que define a classe TNumEdit:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
363
METODOLOGIA
Apresentao do problema: Associao de um componente ao valor armazenado em um campo de uma tabela de um banco de dados.
TCNICA
Apresentao dos procedimentos necessrios criao de componentes associados a bancos de dados.
APRESENTAO DO PROBLEMA
Nos tpicos anteriores foram apresentados os procedimentos necessrios criao de novos componentes com o Delphi 7. Existem situaes, no entanto, em que o valor exibido pelo componente deve refletir o valor armazenado em um campo de uma tabela. Alm disso, qualquer alterao feita no valor exibido pelo componente deve ser refletida no valor armazenado na tabela. Nos tpicos subseqentes, sero apresentados os procedimentos necessrios converso do componente TNumEdit, descrito e desenvolvido nos tpicos anteriores, em um componente associado a um banco de dados (ou, como costuma-se denominar na linguagem object Pascal, um componente data-aware) que ser denominado TDBNumEdit.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
365
Como j deve ser do seu conhecimento, os componentes associados a um banco de dados costumam apresentar as seguintes propriedades: DataSource: Que identifica o objeto da classe TDataSource ao qual o componente est vinculado. DataField: O nome do campo da tabela cujo valor do registro corrente ser exibido e/ou editado pelo componente. A princpio, seria natural que se criassem dois campos internos, denominados FDataSource (do tipo TDataSource) e FDataField (do tipo string) para armazenarem internamente os valores dessas propriedades. Ocorre no entanto que, para simplificar o desenvolvimento de componentes associados a bancos de dados, a Borland incorporou biblioteca de classes do Delphi uma classe chamada TFieldDataLink, a partir da qual poderemos criar um objeto responsvel pela associao do componente ao banco de dados. A classe TFieldDataLink possui, entre outras, as seguintes propriedades: DataSource: Que identificar o componente da classe TDataSource ao qual o nosso componente ser vinculado. FieldName: Que identificar o nome do campo ao qual o nosso componente ser vinculado. Conseqentemente, em vez de criarmos campos internos para armazenar os valores das propriedades DataSource e DataField do nosso componente, podemos utilizar as propriedades DataSource e FieldName de um objeto da classe TFieldDataLink (a ser criado e destrudo pelo nosso componente) nos mtodos de acesso dessas propriedades. Alm disso, como a classe TFieldDataLink est definida na unit dbctrls, o nome dessa unit dever ser includo na clusula uses da unit que define a classe TBDNumEdit, e o mesmo se aplica unit db, na qual est definida a classe TDataSource.
As propriedades so definidas incluindo-se as seguintes linhas de cdigo na seo public da classe que define o componente:
property DataSource : TDataSource read GetDataSource write SetDataSource; property DataField : string read GetDataField write SetDataField;
Os mtodos de leitura e escrita devero ser implementados como mostrados nos trechos de cdigo apresentados a seguir.
function TDBNumEdit.GetDataSource : TDataSource; begin Result := FDataLink.DataSource; end; procedure TDBNumEdit.SetDataSource(Value : TDataSource); begin FDataLink.DataSource := Value; end; function TDBNumEdit.GetDataField : string; begin Result := FDataLink.FieldName; end; procedure TDBNumEdit.SetDataField(Value : string); begin FDataLink.FieldName := Value; end;
Conforme descrito anteriormente, nosso componente ser responsvel por criar e destruir o objeto FDataLink, o que deve ser feito sobrecarregando-se os mtodos construtor e destrutor do componente. No mtodo construtor devero ser includas as seguintes linhas de cdigo:
inherited Create(AOwner); FDataLink := TFieldDataLink.Create;
Lembre-se de que o mtodo construtor um mtodo virtual, e que estamos sobrecarregando o mtodo construtor da classe-base. No mtodo destrutor devero ser includas as seguintes linhas de cdigo:
FDataLink.Free; inherited Destroy;
Apresenta-se a seguir o cdigo da unit que define a classe TDBNumEdit, aps terem sido feitas as alteraes descritas anteriormente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
367
Inclumos um tratamento de exceo para o caso de no haver sucesso na associao desejada. 2. Associar esse procedimento ao evento OnDataChange do objeto FDataLink, o que pode ser feito incluindo-se a seguinte linha de cdigo no mtodo construtor do componente:
FDataLink.OnDataChange := DataChange;
Apresenta-se a seguir o cdigo da unit que define a classe TDBNumEdit, aps terem sido feitas as alteraes descritas anteriormente.
unit DBNumEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, NumEdit, dbCtrls, db;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
369
Nesse mtodo, caso ocorra uma exceo na tentativa de se atualizar o campo, o objeto FDataLink colocado em modo de edio e a alterao efetivada. 2. Associar esse procedimento ao evento OnUpdateData do objeto FDataLink, o que pode ser feito incluindo-se a seguinte linha de cdigo no mtodo construtor do componente:
FDataLink.OnUpdateData := UpdateData;
3. Sobrecarregar o mtodo Change da classe-base, de maneira que o valor armazenado no campo seja alterado sempre que o usurio alterar o texto exibido pelo componente. A implementao do mtodo Change deve ser feita da maneira apresentada a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
371
Apresenta-se a seguir o cdigo da unit que define a classe TDBNumEdit, aps terem sido feitas as alteraes descritas anteriormente.
unit DBNumEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, NumEdit, dbCtrls, db; type TDBNumEdit = class(TNumEdit) private { Private declarations } FDataLink : TFieldDataLink; function GetDataSource : TDataSource; procedure SetDataSource(Value : TDataSource); function GetDataField : string; procedure SetDataField(Value : string); procedure DataChange(Sender : TObject); procedure UpdateData(Sender : TObject); procedure Change;override; protected { Protected declarations } public { Public declarations } constructor Create(AOwner: TComponent);override; destructor Destroy;override; published { Published declarations } property DataSource : TDataSource read GetDataSource write SetDataSource; property DataField : string read GetDataField write SetDataField; end; procedure Register; implementation procedure TDBNumEdit.Change; begin FDataLink.ModiFied; inherited Change; try FDataLink.Edit; FDataLink.UpdateRecord; except
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
373
Apresenta-se a seguir o cdigo da unit que define a classe TDBNumEdit, aps terem sido feitas as alteraes descritas anteriormente.
unit DBNumEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, NumEdit, dbCtrls, db; type TDBNumEdit = class(TNumEdit) private { Private declarations } FDataLink : TFieldDataLink; function GetDataSource : TDataSource; procedure SetDataSource(Value : TDataSource); function GetDataField : string; procedure SetDataField(Value : string); procedure DataChange(Sender : TObject); procedure UpdateData(Sender : TObject); procedure Change;override; protected { Protected declarations } procedure Notification(AComponent : TComponent;Operation : TOperation);override; public { Public declarations } constructor Create(AOwner: TComponent);override; destructor Destroy;override; published { Published declarations } property DataSource : TDataSource read GetDataSource write SetDataSource;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
375
CRIANDO UMA PROPRIEDADE QUE PERMITA TRATAR A TECLA ENTER COMO TAB
Normalmente os usurios de aplicaes desenvolvidas para o ambiente Windows, principalmente aqueles acostumados a utilizar aplicaes desenvolvidas para o ambiente MS-DOS, preferem utilizar a tecla Enter em vez da tecla Tab, para alterar o componente que recebe o foco. Como j deve ser do seu conhecimento, essa caracterstica pode ser implementada incluindo-se o seguinte trecho de cdigo no procedimento associado ao evento OnKeyPress do componente:
if key = #13 then begin Key := #0; Perform(WM_NEXTDLGCTL,0,0); end;
Com essa codificao, ao se pressionar a tecla Enter o foco ser deslocado para o prximo componente (seguindo-se a ordem estabelecida para a propriedade TabOrder dos componentes). Evidentemente, seria muito mais simples incluir essa caracterstica em uma propriedade do componente. Neste exemplo, definiremos para o componente DBNumEdit uma propriedade chamada TabEnter, do tipo booleano, que se for igual a true (seu valor default) far com que, ao se pressionar a tecla Enter, o prximo componente receba o foco. Para implementar essa propriedade devemos redefinir da seguinte maneira a unit que define o componente:
unit DBNumEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, NumEdit, dbCtrls, db; type TDBNumEdit = class(TNumEdit)
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
377
Repare que, como queremos que o mtodo Perform seja executado no formulrio (ou objeto) que contm o componente, o cdigo correto :
(Parent as TComponent).Perform(WM_NEXTDLGCTL,0,0);
e no simplesmente
Esta ltima linha de cdigo no surtiria nenhum efeito. Repare ainda que foi necessrio sobrecarregar o mtodo KeyPress da classe-base.
Esta ltima propriedade poderia ser definida na classe TNumEdit. Neste caso, estaria tambm presente na classe TDBNumEdit, derivada por herana da classe TNumEdit.
METODOLOGIA
Apresentao do problema: Criao de controles ActiveX a partir de componentes desenvolvidos em Delphi 7.
TCNICA
Apresentao dos procedimentos necessrios criao de Controles ActiveX.
APRESENTAO DO PROBLEMA
Conforme descrito nos tpicos precedentes, a criao de componentes usando-se a linguagem Object Pascal no oferece maiores dificuldades. Considere agora a seguinte situao: voc precisa desenvolver uma aplicao usando uma outra ferramenta de desenvolvimento que no o Delphi 7, e nessa aplicao precisa utilizar um componente (no disponvel no ambiente) cujas caractersticas sejam idnticas s existentes em um componente desenvolvido em Object Pascal. Se esse ambiente de desenvolvimento manipular controles ActiveX, e entre as caractersticas desejadas para o componente no se inclurem aquelas relacionadas manipulao de bancos de dados, a sua tarefa ser bastante simples, pois o Delphi 7 permite que se converta, de forma simples e rpida, um componente Delphi em um controle ActiveX (desde que esse componente no seja data-aware). A ttulo de exemplificao, apresentaremos nos tpicos subseqentes os procedimentos necessrios converso do componente NumEdit em um controle ActiveX.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
379
3. Selecione o boto Ok, para fechar essa caixa de dilogo e exibir a caixa de dilogo ActiveX Control Wizard, mostrada na figura a seguir.
Nessa caixa de dilogo, devem-se definir: O nome da classe que define o componente a partir do qual ser gerado o controle ActiveX. O nome do controle ActiveX que ser gerado. O nome da unit na qual ser implementado o controle. O nome do projeto responsvel pela gerao do controle ActiveX. O modelo de Thread empregado. 4. Selecione o boto Ok, para fechar essa caixa de dilogo. Caso o projeto corrente no corresponda a uma biblioteca ActiveX, ser exibida a mensagem de advertncia mostrada na figura a seguir. Selecione o boto Ok para gerar o novo projeto.
Ser ento criada a unit responsvel pela gerao do controle ActiveX, cujo cdigo reproduzido a seguir.
unit NumEditImpl1; {$WARN SYMBOL_PLATFORM OFF} interface uses Windows, ActiveX, Classes, Controls, Graphics, Menus, Forms, StdCtrls, ComServ, StdVCL, AXCtrls, NumEditXControl1_TLB, NumEdit; type TNumEditX = class(TActiveXControl, INumEditX) private { Private declarations } FDelphiControl: TNumEdit; FEvents: INumEditXEvents; procedure ChangeEvent(Sender: TObject); procedure ClickEvent(Sender: TObject); procedure DblClickEvent(Sender: TObject); procedure ErroConversaoEvent(Sender: TObject); procedure KeyPressEvent(Sender: TObject; var Key: Char); protected { Protected declarations } procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override; procedure EventSinkChanged(const EventSink: IUnknown); override; procedure InitializeControl; override; function DrawTextBiDiModeFlagsReadingOnly: Integer; safecall; function Get_AlignDisabled: WordBool; safecall; function Get_AutoSelect: WordBool; safecall; function Get_AutoSize: WordBool; safecall; function Get_BevelInner: TxBevelCut; safecall; function Get_BevelKind: TxBevelKind; safecall; function Get_BevelOuter: TxBevelCut; safecall; function Get_BorderStyle: TxBorderStyle; safecall; function Get_CanUndo: WordBool; safecall; function Get_CharCase: TxEditCharCase; safecall; function Get_Color: OLE_COLOR; safecall; function Get_Ctl3D: WordBool; safecall; function Get_DoubleBuffered: WordBool; safecall; function Get_DragCursor: Smallint; safecall; function Get_DragMode: TxDragMode; safecall; function Get_Enabled: WordBool; safecall; function Get_Font: IFontDisp; safecall; function Get_HideSelection: WordBool; safecall; function Get_ImeMode: TxImeMode; safecall; function Get_ImeName: WideString; safecall; function Get_MaxLength: Integer; safecall; function Get_Modified: WordBool; safecall; function Get_Numerico: WordBool; safecall; function Get_OEMConvert: WordBool; safecall; function Get_ParentColor: WordBool; safecall; function Get_ParentCtl3D: WordBool; safecall;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
381
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
383
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
385
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
387
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
389
5. Selecione o item Build All Projects (ou Build NumEditXControl1) do menu Project para gerar o arquivo NumEditXControl.ocx, no qual est definido o controle ActiveX. 6. Selecione o item Register ActiveX Server do menu Run, para registrar o controle no sistema operacional. Caso o componente seja registrado com sucesso, ser exibida a caixa de dilogo mostrada na figura a seguir.
O controle gerado pode ento ser usado por qualquer ambiente de desenvolvimento que suporte controles ActiveX, como o Microsoft Visual Basic 5.0, por exemplo. A figura a seguir mostra a incluso do controle no ambiente de desenvolvimento do Microsoft Visual Basic 6.0. A Figura 21.12 mostra a janela de propriedades do Microsoft Visual Basic 6.0 para o controle recm-criado. O controle ActiveX recm-criado apresenta as mesmas caractersticas definidas para o componente usado no Delphi.
Figura 21.12: Incluso do controle no ambiente de desenvolvimento do Microsoft Visual Basic 6.0.
Figura 21.13: A janela de propriedades do Microsoft Visual Basic 6.0 para o controle recm-criado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
391
Captulo
Mecanismos de Acesso a Banco de Dados
22
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
393
METODOLOGIA
Apresentao dos conceitos fundamentais dos mecanismos de acesso a bancos de dados, e sua terminologia.
METODOLOGIA
Apresentao das classes e componentes fundamentais de acesso a bancos de dados, juntamente com uma descrio das suas propriedades, mtodos e eventos.
TCNICA
Descrio da classe TDataset, para acesso a bancos de dados. Inicialmente ser apresentada a classe TDataSet, a partir da qual so derivadas, por herana, as classes mais utilizadas para acessar os bancos de dados a serem manipulados por uma aplicao desenvolvida em Delphi, atravs dos diversos mecanismos de acesso.
A CLASSE TDATASET
Observando-se o diagrama de hierarquia de classes da VCL, verifica-se que, no topo das classes de acesso a bancos de dados, encontra-se a classe TDataSet. Dela so derivadas:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
395
ACTIVE
Essa propriedade definida como uma varivel booleana, e define se a tabela (ou conjunto de tabelas) associada ao componente est ou no ativa. Conforme ser visto posteriormente, atribuir o valor true a essa propriedade equivale a executar o mtodo Open do componente. Da mesma forma, atribuir o valor false a essa propriedade equivale a executar o mtodo Close do componente.
AUTOCALCFIELDS
Essa propriedade definida como uma varivel booleana, e define se o procedimento associado ao evento OnCalcFields do componente deve ser executado sempre que houver uma alterao nos dados armazenados na tabela representada pelo componente. Os campos calculados so aqueles cujo valor pode ser diretamente obtido em funo dos valores armazenados em outros campos da tabela, razo pela qual no precisam ser armazenados permanentemente na tabela. A definio da frmula utilizada para o clculo dos valores desses campos feita no procedimento associado ao evento OnCalcFields do componente, conforme ser exemplificado posteriormente.
BOF
Essa propriedade definida como uma varivel booleana, e define se o registro corrente o primeiro registro da tabela representada pelo componente. uma propriedade apenas de leitura, e tem o valor true em cada uma das seguintes situaes: Quando se estabelece o acesso tabela representada pelo componente, definido-se como True o valor da sua propriedade Active, ou aps uma chamada ao seu mtodo Open.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
397
EOF
Essa propriedade definida como uma varivel booleana, e define se o registro corrente o ltimo registro da tabela representada pelo componente. uma propriedade apenas de leitura, e tem o valor True em cada uma das seguintes situaes: Quando se estabelece o acesso tabela representada pelo componente, definido-se como True o valor da sua propriedade Active (ou aps uma chamada ao seu mtodo Open) e a tabela no possui nenhum registro armazenado. Aps uma chamada ao mtodo Last do componente. Aps uma chamada ao mtodo Next do componente, quando o registro corrente j o ltimo registro da tabela.
FIELDCOUNT
Essa propriedade definida como uma varivel inteira, e define o nmero de campos da tabela representada pelo componente. uma propriedade apenas de leitura, e no pode ter o seu valor diretamente alterado pelo usurio. importante salientar que essa propriedade retorna o nmero de campos acessado pelo componente que no necessariamente igual ao nmero de campos reais da tabela representada pelo componente. Uma forma de se alterar o nmero de campos acessados pela tabela consiste em utilizar o Fields Editor, que permite que se definam os campos da tabela que sero realmente acessados pelo componente.
FIELDS
Essa propriedade definida como uma array de objetos da classe TField, e permite o acesso a campos individuais do registro corrente da tabela representada pelo componente. Nesse caso, o primeiro campo representado pelo ndice 0, sendo o n-zimo campo representado pelo ndice n-1. importante lembrar que esses campos so aqueles realmente acessados pelo componente, e no so necessariamente todos os campos da tabela por ele representada. Para acessar os valores armazenados em cada campo acessado pelo componente, deve-se utilizar uma das propriedades de converso da classe TField, dentre as quais podem-se destacar: AsString, para tratar o valor armazenado no campo como uma string. AsInteger, para tratar o valor armazenado no campo como um nmero inteiro. AsFloat, para tratar o valor armazenado no campo como um nmero real.
FIELDVALUES
Essa propriedade definida como uma array de valores do tipo Variant, indexado pelos nomes dos campos da tabela representada pelo componente. interessante destacar que essa a propriedade default da classe TDataSet e das classes dela derivadas por herana. Conseqentemente, se TblPais o nome de um componente de uma classe derivada de TDataSet, as linhas de cdigo a seguir so equivalentes.
TblPais[Nome] := Brasil; TblPais.FieldValues[Nome] := Brasil;
FILTER
Essa propriedade definida como uma varivel do tipo string, e permite que se estabelea uma condio (filtro) a ser atendida pelos registros da tabela acessada por esse componente. Para que essa condio seja aplicada, deve-se, no entanto, definir como True o valor da propriedade Filtered do componente.
FILTERED
Essa propriedade definida como uma varivel booleana, e define se os registros provenientes da tabela representada pelo componente devem ou no atender a uma condio (filtro) especificada na sua propriedade Filter (definida anteriormente) ou por um cdigo inserido no procedimento associado ao seu evento OnFilterRecord.
FILTEROPTIONS
Essa propriedade definida como uma varivel do tipo TFilterOptions que , por sua vez, um conjunto de elementos do tipo TFilterOption, sendo esses elementos definidos da seguinte maneira: foCaseInsensitive: No diferencia letras maisculas e minsculas na aplicao do filtro. foNoPartialCompare: No permite que se utilize um asterisco para definir comparaes parciais na aplicao de um filtro. Esse elemento deve ser includo quando se quer tratar o asterisco (*) como um caractere do filtro.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
399
RECNO
Essa propriedade definida como uma varivel inteira, e define o nmero do registro corrente, dentre todos os registros provenientes da tabela representada pelo componente. uma propriedade apenas de leitura, e no pode ter o seu valor diretamente alterado pelo usurio, podendo ter o seu valor alterado em funo da aplicao de um filtro.
RECORDCOUNT
Essa propriedade definida como uma varivel inteira, e define o nmero de registros provenientes da tabela representada pelo componente. uma propriedade apenas de leitura, e no pode ter o seu valor diretamente alterado pelo usurio, podendo, no entanto, ter o seu valor alterado em funo da aplicao de um filtro.
STATE
Essa propriedade uma varivel do tipo TDataSetState que define os estados que podem ser assumidos por uma tabela representada pelo componente. Essa propriedade s est disponvel durante a execuo do aplicativo, e, por ser uma propriedade apenas de leitura, no pode ter o seu valor diretamente alterado pelo usurio. Essa propriedade pode assumir um dos valores descritos a seguir: dsInactive: A tabela est inativa, ou seja, sua propriedade Active igual a false. dsBrowse: A tabela est sendo consultada. Os registros podem ser visualizados, mas no podem ser alterados. dsEdit: A tabela est sendo editada. dsFilter: O procedimento associado ao evento OnFilterRecord est sendo executado. dsInsert: A tabela est em modo de Insero (um novo registro foi includo na tabela). dsSetKey: A tabela est sendo reindexada (aplica-se apenas a objetos da classe TTable, derivada por herana da classe TDataSet). dsCalcFields: O procedimento associado ao evento OnCalcFields est sendo executado. dsNewValue: Estado temporrio, utilizado para indicar que a propriedade NewValue de um objeto da classe TField est sendo acessada. dsOldValue: Estado temporrio, utilizado para indicar que a propriedade OldValue de um objeto da classe TField est sendo acessada. dsCurValue: Estado temporrio, utilizado para indicar que a propriedade CurValue de um objeto da classe TField est sendo acessada.
APPEND
Declarao
procedure Append;
Esse mtodo adiciona um novo registro aps o ltimo registro existente na tabela representada pelo componente.
APPENDRECORD
Declarao
procedure AppendRecord(const Values: array of const);
Esse mtodo adiciona e grava um novo registro aps o ltimo registro existente na tabela representada pelo componente, atribuindo aos campos do registro valores passados como parmetros na chamada do mtodo.
CANCEL
Declarao
procedure Cancel; virtual;
Esse mtodo cancela as alteraes realizadas no registro corrente da tabela representada pelo componente, desde a ltima chamada ao seu mtodo Post.
CLEARFIELDS
Declarao
procedure ClearFields;
Esse mtodo apaga os valores armazenados nos campos do registro corrente da tabela representada pelo componente, desde que a tabela esteja em modo de edio ou insero, gerando uma exceo em caso contrrio.
CLOSE
Declarao
procedure Close;
Esse mtodo desfaz a conexo tabela representada pelo componente, atribuindo o valor False propriedade Active do componente, como mostra o trecho de cdigo a seguir, extrado da unit db.pas.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
401
CREATE
Declarao
constructor Create(AOwner: TComponent);
Esse mtodo o mtodo construtor da classe, e recebe como parmetro um objeto da classe TComponent, que indica o seu componente proprietrio.
DELETE
Declarao
procedure Delete;
Esse mtodo remove o registro corrente da tabela representada pelo componente, definindo o prximo registro como registro atual.
DESTROY
Declarao
destructor Destroy;
Esse mtodo o mtodo destrutor da classe, devendo ser utilizado apenas quando uma instncia da classe criada dinamicamente pelo cdigo da aplicao (mediante uma chamada ao mtodo Create do componente que representa a tabela).
DISABLECONTROLS
Declarao
procedure DisableControls;
Esse mtodo desconecta temporariamente todos os componentes associados ao componente que representa a tabela.
EDIT
Declarao
procedure Edit;
Esse mtodo coloca a tabela representada pelo componente em modo de edio, permitindo que se alterem os valores armazenados nos campos do registro corrente.
ENABLECONTROLS
Declarao
procedure EnableControls;
Esse mtodo restabelece a conexo a todos os componentes associados ao componente que representa a tabela, cuja conexo tenha sido desabilitada por uma chamada ao mtodo DisableControls.
FIELDBYNAME
Declarao
function FieldByName(const FieldName: string): TField;
Esse mtodo retorna um objeto da classe TField que representa o campo cujo nome passado como parmetro na chamada ao mtodo. O valor retornado pelo mtodo pode, evidentemente, ser tratado como um objeto da classe TField, e as propriedades de converso descritas anteriormente podem ser utilizadas normalmente. A utilizao desse mtodo apresenta, em relao propriedade Fields, a vantagem de se poder desconsiderar a ordem exata dos campos, bastando que se conhea o nome de cada um deles.
FINDFIELD
Declarao
function FindField(const FieldName: string): TField;
Esse mtodo determina se o componente acessa um campo cujo nome passado como parmetro na forma de uma string, retornando um objeto da classe TField que representa o campo caso o mesmo exista, e retornando nil em caso contrrio.
FIRST
Declarao
procedure First;
Esse mtodo define o primeiro registro da tabela representada pelo componente como registro corrente. Alm disso, antes de alterar o registro corrente grava qualquer alterao pendente, mediante uma chamada implcita ao mtodo Post do componente.
INSERT
Declarao
procedure Insert;
Esse mtodo insere um novo registro na posio definida pelo registro corrente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
403
INSERTRECORD
Declarao
procedure InsertRecord(const Values: array of const);
Esse mtodo insere e grava um novo registro na posio definida pelo registro corrente da tabela representada pelo componente, atribuindo aos campos do registro valores passados como parmetros na chamada do mtodo.
ISEMPTY
Declarao
function IsEmpty: Boolean;
Esse mtodo retorna True se a tabela representada pelo componente no tiver nenhum registro, retornando False em caso contrrio.
ISLINKEDTO
Declarao
function IsLinkedTo(DataSource: TDataSource): Boolean;
Esse mtodo retorna True se o componente que representa a tabela estiver ligado a um componente DataSource, cujo nome passado como parmetro na chamada ao mtodo, retornando False em caso contrrio.
LAST
Declarao
procedure Last;
Esse mtodo define o ltimo registro da tabela representada pelo componente como registro corrente. Alm disso, antes de alterar o registro corrente grava qualquer alterao pendente, mediante uma chamada implcita ao mtodo Post do componente.
LOCATE
Declarao
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; virtual;
Esse mtodo permite a busca exata de um registro, por campos que no faam parte do ndice corrente da tabela representada pelo componente, e recebe como parmetros: Uma string contendo os nomes dos campos pelos quais ser feita a pesquisa (separados por ponto-e-vrgula).
MOVEBY
Declarao
function MoveBy(Distance: Integer): Integer;
Esse mtodo redefine o registro atual, deslocando o ponteiro ou cursor que representa o registro atual da tabela representada pelo componente por um nmero de registros que passado como nico parmetro na chamada do mtodo.
NEXT
Declarao
procedure Next;
Esse mtodo define o prximo registro da tabela representada pelo componente como registro corrente. Alm disso, antes de alterar o registro corrente grava qualquer alterao pendente, mediante uma chamada implcita ao mtodo Post do componente. Na realidade, esse mtodo faz uma chamada ao mtodo MoveBy da classe, passando o valor 1 como parmetro, como mostra o trecho de cdigo reproduzido a seguir e extrado da unit db.pas.
procedure TDataSet.Next; begin MoveBy(1); end;
OPEN
Declarao
procedure Open;
Esse mtodo estabelece a conexo tabela representada pelo componente, atribuindo o valor True sua propriedade Active, como mostra o trecho de cdigo a seguir, extrado da unit db.pas.
procedure TDataSet.Open; begin Active := True; end;
POST
Declarao
procedure Post; virtual;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
405
PRIOR
Declarao
procedure Prior;
Esse mtodo define o registro anterior da tabela representada pelo componente como registro corrente. Alm disso, antes de alterar o registro corrente grava qualquer alterao pendente, mediante uma chamada implcita ao mtodo Post do componente. Na realidade, esse mtodo faz uma chamada ao mtodo MoveBy da classe, passando o valor -1 como parmetro, como mostra o trecho de cdigo a seguir, extrado da unit db.pas.
procedure TDataSet.Prior; begin MoveBy(-1); end;
REFRESH
Declarao
procedure Refresh;
Esse mtodo atualiza a exibio dos dados armazenados em uma tabela nos componentes de visualizao conectados ao componente que representa a tabela. Uma situao em que deve ser feita uma chamada ao mtodo refresh do componente corresponde quela em que a aplicao de um filtro cancelada (modificando-se o valor da sua propriedade Filtered para False).
SETFIELDS
Declarao
procedure SetFields(const Values: array of const);
Esse mtodo permite que se atribuam simultaneamente valores a vrios campos do registro corrente da tabela representada pelo componente. Os valores devem ser fornecidos na ordem em que os campos so armazenados na tabela. Para executar esse mtodo a tabela deve estar em modo de edio, o que pode ser garantido por uma chamada ao mtodo Edit do componente que a representa.
AFTERCANCEL
O procedimento associado a esse evento executado imediatamente aps se cancelarem as alteraes feitas no registro corrente, normalmente aps uma chamada ao mtodo Cancel do componente que representa a tabela. Na realidade, o mtodo Cancel faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoAfterCancel, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
AFTERCLOSE
O procedimento associado a esse evento executado imediatamente aps se interromper a conexo estabelecida entre a tabela e o componente que a representa, normalmente aps uma chamada ao seu mtodo Close, ou atribuindo-se o valor False sua propriedade Active. Na realidade, o mtodo Close, ao atribuir o valor False propriedade Active, provoca uma chamada a um mtodo protegido da classe TDataSet, denominado DoAfterClose, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. O mesmo feito pelo mtodo interno SetActive, responsvel pela atribuio de um valor ao campo que armazena internamente o valor da propriedade Active.
AFTERDELETE
O procedimento associado a esse evento executado imediatamente aps se remover o registro corrente, normalmente aps uma chamada ao mtodo Delete do componente que representa a tabela. Na realidade, o mtodo Delete faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoAfterDelete, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
AFTEREDIT
O procedimento associado a esse evento executado imediatamente aps se colocar a tabela representada pelo componente em modo de edio. Na realidade, o mtodo Edit faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoAfterEdit, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
AFTERINSERTT
O procedimento associado a esse evento executado imediatamente aps a insero de um novo registro na tabela representada pelo componente. Na realidade, os mtodos Insert e Append fazem uma chamada a um mtodo protegido da classe TDataSet, denominado DoAfterInsertt, que verifica se existe um procedimento associado a esse evento e, em caso positivo, o executa.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
407
AFTEROPEN
O procedimento associado a esse evento executado imediatamente aps se estabelecer a conexo entre a tabela e o componente que a representa, normalmente aps uma chamada ao seu mtodo Open, ou atribuindo-se o valor True sua propriedade Active. Na realidade, o mtodo Open, ao atribuir o valor True propriedade Active, faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoAfterOpen, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. O mesmo feito pelo mtodo interno SetActive, responsvel pela atribuio de um valor ao campo que armazena internamente o valor da propriedade Active.
AFTERPOST
O procedimento associado a esse evento executado imediatamente aps a gravao das alteraes feitas no registro corrente da tabela representada pelo componente, normalmente aps uma chamada ao seu mtodo Post. Na realidade, o mtodo Post faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoAfterPost, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
AFTERSCROLL
O procedimento associado a esse evento executado imediatamente aps uma movimentao para um outro registro da tabela (que passa a ser o registro corrente), normalmente aps uma chamada aos seus mtodos First, Prior, Next e Last, dentre outros. Na realidade, esses mtodos fazem uma chamada a um mtodo protegido da classe TDataSet, denominado DoAfterScroll, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
BEFORECANCEL
O procedimento associado a esse evento executado imediatamente antes de se cancelarem as alteraes feitas no registro corrente, normalmente aps uma chamada ao mtodo Cancel do componente que representa a tabela. Na realidade, o mtodo Cancel faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoBeforeCancel, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
BEFORECLOSE
O procedimento associado a esse evento executado imediatamente antes de se interromper a conexo estabelecida entre a tabela e o componente que a representa, normalmente aps uma chamada ao seu mtodo Close, ou atribuindo-se o valor False sua propriedade Active. Na realidade, o mtodo Close faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoBeforeClose, que verifica se existe um procedimento associado ao evento e, em caso positivo, o
BEFOREDELETE
O procedimento associado a esse evento executado imediatamente antes de se remover o registro corrente, normalmente aps uma chamada ao mtodo Delete do componente que representa a tabela. Na realidade, o mtodo Delete faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoBeforeDelete, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
BEFOREEDIT
O procedimento associado a esse evento executado imediatamente antes de se colocar a tabela representada pelo componente em modo de edio. Na realidade, o mtodo Edit faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoBeforeEdit, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
BEFOREINSERTT
O procedimento associado a esse evento executado imediatamente antes da insero de um novo registro na tabela representada pelo componente. Na realidade, os mtodos Insert e Append fazem uma chamada a um mtodo protegido da classe TDataSet, denominado DoBeforeInsertt, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
BEFOREOPEN
O procedimento associado a esse evento executado imediatamente antes de se estabelecer a conexo entre a tabela e o componente que a representa, normalmente aps uma chamada ao seu mtodo Open, ou atribuindo-se o valor True sua propriedade Active. Na realidade, o mtodo Open faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoBeforeOpen, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa. O mesmo feito pelo mtodo interno SetActive, responsvel pela atribuio de um valor ao campo que armazena internamente o valor da propriedade Active.
BEFOREPOST
O procedimento associado a esse evento executado imediatamente antes da gravao das alteraes feitas no registro corrente da tabela representada pelo componente, normalmente aps uma chamada ao seu mtodo Post. Na realidade, o mtodo Post faz uma chamada a um mtodo protegido da classe TDataSet, denominado DoBeforePost, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
409
BEFORESCROLL
O procedimento associado a esse evento executado imediatamente antes de uma movimentao para um outro registro da tabela (que passa a ser o registro corrente), normalmente aps uma chamada aos seus mtodos First, Prior, Next e Last, dentre outros. Na realidade, esses mtodos fazem uma chamada a um mtodo protegido da classe TDataSet, denominado DoBeforeScroll, que verifica se existe um procedimento associado ao evento e, em caso positivo, o executa.
ONCALCFIELDS
O procedimento associado a esse evento executado sempre que os valores dos campos calculados da tabela representada pelo componente precisam ser calculados.
ONDELETEERROR
O procedimento associado a esse evento executado sempre que a tentativa de se remover um registro da tabela, em uma chamada ao seu mtodo Delete, falha.
ONFILTERRECORD
O procedimento associado a esse evento executado sempre que se aplica um filtro aos registros da tabela, devendonesse procedimento ser estabelecida a condio a ser atendida pelos registros. A aplicao de um filtro a uma tabela pode ser feita atribuindo-se o valor True sua propriedade Filtered.
ONNEWRECORD
O procedimento associado a esse evento executado sempre que se adiciona um novo registro tabela representada pelo componente, mediante uma chamada ao mtodo Append ou Insert, podendo ser utilizado para se definir valores default para os campos do registro recm-criado.
ONPOSTERROR
O procedimento associado a esse evento executado sempre que a tentativa de se gravar um registro da tabela, em uma chamada ao seu mtodo Post, falha. Conforme ser visto nos prximos captulos, as classes de acesso a dados via BDE, ADO, DBExpress e Interbase Express no so derivadas diretamente da classe TDataSet, mas de outras classes dela derivadas, e que so: TCustomADODataSet, para acesso via ADO. TBDEDataSet e TDBDataset, para acesso via BDE. TIBCustomDataset, para acesso via Interbase Express. TCustomSQLDataSet, para acesso via DBExpress.
A CLASSE TCUSTOMCONNECTION
A classe TCustomConnection derivada por herana direta da classe TComponent, sendo a classebase de classes usada para fazer uma conexo a um banco de dados atravs do BDE (componente TDatabase), ADO (componente TADOConnection), InterbaseExpress (TIBDatabase) e DBExpress (TSQLConnection).
CONNECTED
Essa propriedade definida como uma varivel booleana e define se a conexo foi estabelecida.
DATASETCOUNT
Essa propriedade definida como uma varivel inteira e define o nmero de componentes derivados da clase TDataset linkados a este componente de conexo.
DATASETS
Essa propriedade uma array de objetos de classes derivadas da classe TDataset, e permite acessar os componentes linkados a este componente de conexo.
LOGINPROMPT
Essa propriedade definida como uma varivel booleana e define se uma caixa de dilogo dever ser exibida quando se estabelece uma conexo.
STREAMEDCONNECTED
Essa propriedade definida como uma varivel booleana e define se a conexo estava ativa quando o componente responsvel pela conexo foi carregado a partir de um stream.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
411
CLOSE
Declarao
procedure Close;
Esse mtodo encerra uma conexo (equivale a definir a propriedade Connected como False).
DOCONNECT
Declarao
procedure DoConnect; virtual;;
Esse mtodo estabelece a conexo ao banco de dados (usado pela propriedade connected para estabelecer a conexo).
DODISCONNECT
Declarao
procedure DoDisConnect; virtual;;
Esse mtodo finaliza a comexo ao banco de dados (usado pela propriedade comnected para finalizar a conexo).
GETCONNECTED
Declarao
function GetConnected: Boolean; virtual;
GETDATASET
Declarao
function GetDataSet(Index:Integer): TDataSet; virtual;
Esse mtodo retorna uma referncia a um dos objetos derivados da classe TDataset vinculados a esta conexo, recebendo como parmetro o ndice que define o objeto na propriedade Datasets.
GETDATASETCOUNT
Declarao
function GetDataSetCount: Integer; virtual;
LOADED
Declarao
procedure Loaded; override;
Esse mtodo carrega o componente de conexo aps todos os outros componentes do formulrio ou Datamodule terem sido carregados na memria.
DELETEINDEX
Declarao
procedure DeleteIndex(const Name: string);
Esse mtodo remove o ndice cujo nome passado como parmetro na forma de uma string.
OPEN
Declarao
procedure Open;
SETCONNECTED
Declarao
procedure SetConnected(Value: Boolean); virtual;
Esse mtodo altera o valor da propriedade Connected, em funo do argumento passado como parmetro na chamada do mtodo.
AFTERCONNECT
Esse evento ocorre assim que uma conexo estabelecida.
AFTERDISCONNECT
Esse evento ocorre assim que uma conexo encerrada.
BEFORECONNECT
Esse evento ocorre antes que uma conexo seja estabelecida.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
413
BEFOREDISCONNECT
Esse evento ocorre antes que uma conexo seja encerrada.
ONLOGIN
O procedimento associado a esse evento executado sempre que se estabelece uma nova conexo ao banco de dados representado pelo componente, e o valor da sua propriedade LoginPrompt igual a True. Esse procedimento tem, entre seus parmetros, um objeto da classe TStrings chamado LogimParams no qual devem ser fornecidos os valores dos parmetros USERNAME e PASSWORD, para permitir o acesso ao banco de dados. Caso se esteja utilizando a caixa de dilogo padro de Login, no h necessidade de se codificar esse procedimento.
Captulo
23
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
415
KNOW-HOW EM: CLASSES FUNDAMENTAIS DE ACESSO A BANCOS DE DADOS VIA BDE AS CLASSES TBDEDATASET E TDBDATASET
PR-REQUISITOS
Fundamentos da programao orientada a objetos com o Delphi 7. Experincia prvia na utilizao de componentes no desenvolvimento de aplicaes com Delphi 7. Compreenso da classe TDataset.
METODOLOGIA
Apresentao das classes e dos componentes de acesso a bancos de dados via BDE, juntamente com uma descrio das suas propriedades, mtodos e eventos.
TCNICA
Descrio das classes e dos componentes de acesso a bancos de dados e apresentao de exemplos de aplicao. Inicialmente apresentaremos as classes derivadas de TDataset que implementam as principais funcionalidades do Borland Database Engine e depois os componentes efetivamente usados no desenvolvimento de aplicaes. Alguns autores apresentam uma vasta coletnea de funes da API do BDE. Como as classes e componentes definidas pelo Delphi possuem justamente a finalidade de evitar que o desenvolvedor precise manipular diretamente estas funes, s as citarei quando isto for realmente indispensvel. Afinal de contas, se voc gostasse de programar usando diretamente funes de APIs, provavelmente no estaria usando o Delphi como ferramenta de desenvolvimento, mas um compilador C e as funes da API do Windows.
A CLASSE TBDEDATASET
Conforme descrito anteriormente, a classe TDataSet implementa a funcionalidade genrica para acesso a tabelas, sem incorporar as funes da API do Borland Database Engine o primeiro mecanismo de acesso a banco de dados criado pela Borland. A classe TBDEDataSet, derivada por herana direta da classe TDataSet, incorpora a API do Borland DataBase Engine a alguns dos mtodos declarados na classe TDataSet, sobrecarregando-os (no caso de mtodos virtuais) ou implementando-os (no caso de mtodos abstratos).
CACHEDUPDATES
Essa propriedade definida como uma varivel booleana, e define se o recurso de cached updates ser utilizado ou no pelo componente. O recurso de cached updates permite que uma aplicao obtenha um conjunto de registros de uma base de dados e faa sua edio local (que pode abranger edio, incluso ou remoo de registros) e posterior atualizao das informaes na base de dados. Alm de reduzir o trfego de informaes em redes, esse recurso permite o cancelamento de alteraes feitas de forma indesejada. Para habilitar o recurso de cached updates, basta definir como True o valor da propriedade CachedUpdates do componente que representa a tabela. A atualizao dos registros na base de dados feita mediante uma chamada aos mtodos ApplyUpdates e CommitUpdates do componente que representa a tabela. O cancelamento das alteraes feito mediante uma chamada ao mtodo CancelUpdates desse mesmo componente.
APPLYUPDATES
Declarao
procedure ApplyUpdates;
Esse mtodo armazena no banco de dados as alteraes feitas localmente. Essas alteraes, no entanto, s so efetivadas aps uma chamada ao mtodo Commit do componente TDatabase que representa o banco de dados, se este estiver sendo empregado.
CANCELUPDATES
Declarao
procedure CancelUpdates;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
417
COMMITUPDATES
Declarao
procedure CommitUpdates;
Esse mtodo limpa o buffer de alteraes locais, para um componente que representa uma tabela em que o recurso de Cached Updates est habilitado.
LOCATE
Declarao
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;
Esse mtodo permite a busca de um registro por campos que no faam parte do ndice corrente da tabela. Recebe como parmetros: Uma string contendo os nomes dos campos pelos quais ser feita a pesquisa (separados por ponto-e-vrgula). Uma array do tipo Variant contendo os valores a serem pesquisados nos campos pelos quais ser feita a pesquisa (separados por ponto-e-vrgula). Um conjunto de opes, que pode conter os seguintes elementos: LoCaseInsensitive: Se esse elemento for includo, letras maisculas e minsculas sero tratadas indiferentemente. LoPartialKey: A pesquisa ser aproximada.
A CLASSE TDBDATASET
A classe TDBDataSet derivada por herana direta da classe TBDEDataSet, sendo a ancestral direta das classes que representam os componentes freqentemente utilizados no acesso a tabelas definidas em um banco de dados via BDE TTable, TQuery e TStoredProc (este utilizado nas aplicaes que acessam bancos de dados que implementam a filosofia cliente-servidor). Diferentemente da classe TBDEDataSet, esta implementa propriedades e mtodos utilizados freqentemente no desenvolvimento de aplicaes para acesso a bancos de dados em Delphi, ainda que utilizando em componentes representados por classes dela derivadas.
DATABASE
Essa propriedade definida como um objeto da classe TDatabase, e permite o acesso s propriedades e mtodos do componente que representa o banco de dados ao qual se est conectado. importante lembrar que, se nenhum componente TDataBase for explicitamente includo na aplicao, uma instncia dessa classe ser gerada automaticamente pelo Delphi.
DATABASENAME
Essa propriedade definida como uma varivel do tipo string, e define o nome do banco de dados ao qual o componente est conectado. Pode ser o nome de um alias definido no Borland Database Engine ou o nome definido na propriedade DataBaseName do componente Database associado e, no caso de tabelas locais do dBASE e Paradox, por exemplo, pode ser definida como o diretrio no qual as tabelas esto armazenadas.
DBSESSION
Essa propriedade definida como um objeto da classe TSession, e define o nome do componente Session associado ao componente TDatabase que representa o banco de dados ao qual se est conectado. Se o componente no estiver explicitamente conectado a um objeto TDatabase, este ser criado dinamicamente e conectado ao objeto Session default, a ser criado dinamicamente pela aplicao.
SESSIONNAME
Essa propriedade definida como uma varivel do tipo string, e define o nome do objeto da classe TSession associado ao componente TDatabase que representa o banco de dados ao qual se est conectado. Se o componente no estiver explicitamente conectado a um objeto TDatabase, este ser criado dinamicamente e conectado ao objeto Session default, a ser criado dinamicamente pela aplicao.
A CLASSE TDATABASE
A classe TDatabase derivada por herana direta da classe TComponent, sendo normalmente utilizada para se estabelecer uma conexo a um banco de dados. Essa classe permite que se incorpore o conceito de transaes no acesso a um banco de dados atravs de uma aplicao desenvolvida em Delphi, alm de permitir a personalizao das caixas de dilogo utilizadas para validar o acesso de um usurio ao banco de dados representado pelo componente.
ALIASNAME
Essa propriedade definida como uma varivel do tipo string, e define o nome do alias, definido no Borland Database Engine, que representa o banco de dados que est sendo acessado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
419
DATABASENAME
Essa propriedade definida como uma varivel do tipo string, e define o nome pelo qual o componente ser referenciado nos componentes a ele associados (definido-se esse valor na propriedade DatabaseName desses componentes). No confundir com a sua propriedade Name, que define o nome pelo qual o componente ser referenciado no cdigo-fonte da aplicao.
DATASETS
Essa propriedade definida como um array de objetos da classe TDBDataSet, e que retorna um conjunto de objetos da classe TDBDataSet (ou de classes delas derivadas por herana) associados ao banco de dados representado por esse componente, e cuja conexo est ativa.
DIRECTORY
Essa propriedade definida como uma varivel do tipo string, e define o nome do diretrio de trabalho para bancos de dados que manipulam tabelas no formato Paradox ou dBASE.
DRIVERNAME
Essa propriedade definida como uma varivel do tipo string, e define o nome de um driver do Borland Database Engine.
As propriedades DatabaseName e AliasName so mutuamente excludentes. A especificao de um valor para uma dessas propriedades anula o valor definido para a outra.
INTRANSACTION
Essa propriedade definida como uma varivel booleana, e define se existe uma transao em progresso (o conceito de transaes ser apresentado no prximo captulo).
ISSQLBASED
Essa propriedade definida como uma varivel booleana, e define se a conexo est sendo feita atravs de um driver SQL, ou localmente a tabelas dos tipos Paradox e dBASE.
KEEPCONNECTION
Essa propriedade definida como uma varivel booleana, e define se a conexo ao banco de dados deve ser mantida, ainda que todas as conexes estabelecidas por componentes derivados da classe TDataSet tenham sido encerradas.
PARAMS
Essa propriedade definida como um objeto da classe TStrings (lista de strings) e pode ser usada para armazenar as definies dos parmetros que devem ser informados quando se estabelece uma conexo ao banco de dados representado pelo componente.
SESSION
Essa propriedade definida como um objeto da classe TSession, e define o nome do objeto da classe TSession ao qual o componente est conectado. Se nenhum componente da classe TSession for explicitamente includo na aplicao, ser usado um objeto da classe TSession criado dinamicamente pela aplicao.
TRANSISOLATION
Essa propriedade especifica o nvel de isolamento das transaes gerenciadas pelo BDE, determinando como vrias transaes independentes se relacionam. Essa propriedade pode assumir os valores descritos na tabela a seguir: tiDirtyRead: Permite a leitura de alteraes feitas por outras transaes simultneas, mas ainda no confirmadas por uma chamada ao mtodo Commit. TiReadCommitted: Permite apenas a leitura de alteraes feitas por outras transaes simultneas, mas que j tenham sido confirmadas por uma chamada ao mtodo Commit. Este o valor default dessa propriedade. TiRepeatableRead: A transao no enxerga qualquer alterao feita por outras transaes que atuam simultaneamente. Esse nvel de isolamento garante que, uma vez que uma transao leia um registro, essa viso do registro no se altere a menos que a prpria transao efetue alteraes no registro.
APPLYUPDATES
Declarao
procedure ApplyUpdates(const DataSets: array of TDBDataSet);
Esse mtodo aplica as alteraes pendentes em componentes derivados da classe TDataSet associados a esse componente (e passados como parmetros na chamada ao mtodo, na forma de um array de objetos da classe TDBDataSet), para os quais a propriedade CachedUpdates possui o valor True.
CLOSEDATASETSS
Declarao
procedure CloseDatasets;
Esse mtodo encerra as conexes estabelecidas em componentes derivados da classe TDataSet associados a esse componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
421
COMMIT
Declarao
procedure Commit;
Esse mtodo confirma a execuo de todos os comandos iniciados aps a ltima chamada ao mtodo StartTransaction. Esse mtodo s pode ser executado se uma transao estiver sendo processada, o que pode ser constatado verificando-se o valor da propriedade InTransaction. Aps uma chamada ao mtodo Commit, a propriedade InTransaction assume o valor False.
ROLLBACK
Declarao
procedure RollBack;
Esse mtodo cancela todos os comandos iniciados aps a ltima chamada ao mtodo StartTransaction. Esse mtodo s pode ser executado se uma transao estiver sendo processada, o que pode ser constatado verificando-se o valor da propriedade InTransaction. Aps uma chamada ao mtodo RollBack, a propriedade InTransaction assume o valor False.
STARTTRANSACTION
Declarao
procedure StartTransaction;
Esse mtodo inicia uma nova transao, e s pode ser executado se no houver uma transao sendo processada, isto , aps uma chamada ao mtodo Commit ou RollBack. Aps uma chamada ao mtodo StartTransaction, a propriedade InTransaction assume o valor True.
A CLASSE TSESSION
A classe TSession derivada por herana direta da classe TComponent, sendo normalmente utilizada para se estabelecer uma conexo a um banco de dados. Essa classe permite que se gerenciem mltiplas conexes a bancos de dados a partir de uma nica aplicao e que aplicaes precisando acessar tabelas Paradox em diretrios distintos de uma rede ou compartilhado a tabelas utilizem vrios componentes da classe TSession.
ACTIVE
Essa propriedade determinada como uma varivel booleana, e define se a sesso est ativa. Atribuir um valor False a essa propriedade gera as seguintes conseqncias:
AUTOSESSIONNAME
Essa propriedade determinada como uma varivel booleana, e define se a sesso ter ou no um nome gerado automaticamente (e armazenado na sua propriedade SessionName).
DATABASECOUNT
Essa propriedade determinada como uma varivel inteira, e define o nmero de componentes da classe TDatabase associados ao componente.
DATABASES
Essa propriedade definida como um array de objetos da classe TDatabase, e que retorna um conjunto de objetos da classe TDatabase associados ao componente, e cuja conexo est ativa.
KEEPCONNECTION
Essa propriedade determinada como uma varivel booleana, e define se a conexo ao banco de dados criado temporariamente pelo componente deve ser mantida, ainda que todas as conexes estabelecidas por componentes derivados da classe TDataSet a ele associados tenham sido encerradas.
NETFILEDIR
Essa propriedade determinada como uma varivel do tipo string, e define o nome do diretrio que armazena o arquivo de controle de rede do BDE (arquivo PDOXUSRS.NET).
PRIVATEDIR
Essa propriedade determinada como uma varivel do tipo string, e define o nome do diretrio de trabalho para bancos de dados que manipulam tabelas temporrias geradas pelo Borland database Engine no formato Paradox ou dBASE.
SESSIONNAME
Essa propriedade determinada como uma varivel do tipo string, e define o nome pelo qual a sesso representada pelo componente ser identificada nos componentes da classe TDatabase que estaro conectados ao componente.
SQLHOURGLASS
Essa propriedade determinada como uma varivel booleana, e define se o cursor do mouse deve apresentar o formato de uma ampulheta durante a execuo de operaes por parte do Borland Database Engine (BDE).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
423
TRACEFLAGS
Essa propriedade uma varivel do tipo TTraceFlags, e indica as operaes do Borland Database Engine que devem ser monitoradas pelo utilitrio SQL Monitor. A propriedade TTraceFlags um conjunto que pode conter os seguintes elementos: TfQPrepare: Monitora operaes do tipo Prepare. TfQExecute: Monitora operaes do tipo ExecSQL. TfError: Monitora mensagens de erro do servidor. TfStmt: Monitora todas as operaes decorrentes da execuo de declaraes SQL. TfConnect: Monitora operaes de conexo a bancos de dados. TfTransact: Monitora operaes de transaes, como as decorrentes de chamadas aos mtodos StartTransaction, Commit e RollBack. TfBlob: Monitora operaes com dados do tipo blob. TfMisc: Monitora operaes que no sejam definidas pelos outros flags. TfVendor: Monitora chamadas das funes da API do servidor de banco de dados. TfDataIn: Monitora os dados recebidos do servidor. TfDataOut: Monitora os dados enviados ao servidor.
ADDALIAS
Declarao
procedure AddAlias(const Name, Driver: string; List: TStrings);
Esse mtodo permite que se crie um alias durante a execuo do aplicativo. Esse mtodo recebe como parmetros uma string que define o nome do alias que est sendo criado, o driver do SQL Links para o servidor de banco de dados para o qual o alias ser criado e um objeto da classe TStrings (uma lista de strings) que define os parmetros para configurao do alias no BDE (esses parmetros variam de acordo com o banco de dados selecionado e podem ser visualizados no SQL Explorer, exibido quando voc seleciona o item Explore do menu Database).
ADDPASSWORD
Declarao
procedure AddPassword(const Password: string);
Esse mtodo permite que se adicione uma senha para acessar tabelas criptografadas do tipo Paradox, sendo esta senha passada como parmetro na forma de uma string, durante a chamada ao mtodo.
ADDSTANDARDALIAS
Declarao
procedure AddStandardAlias(const Name, Path, DefaultDriver: string);
Esse mtodo semelhante ao mtodo AddAlias, mas recebe trs strings como parmetros. A primeira define o alias que est sendo criado, a segunda o path a que o alias se refere e a terceira pode ser igual a um dos seguintes valores: Paradox, dBASE ou ASCIIDRV. Para este ltimo parmetro, uma string nula equivale a Paradox.
CLOSE
Declarao
procedure Close;
Esse mtodo encerra a sesso e todas as conexes realizadas por componentes da classe TDatabase associados ao componente.
CLOSEDATABASE
Declarao
procedure CloseDatabase(Database: TDatabase);
Esse mtodo encerra a conexo realizada por um componente da classe TDatabase associado ao componente, e cujo nome passado como parmetro na chamada do mtodo.
DELETEALIAS
Declarao
procedure DeleteAlias(const Name: string);
Esse mtodo faz justamente o inverso do mtodo AddAlias, isto , remove um alias do BDE. Esse mtodo s tem um parmetro, que uma string contendo o nome do alias a ser removido.
FINDDATABASE
Declarao
function FindDatabase(const DatabaseName: string): TDatabase;
Esse mtodo verifica se entre os componentes da classe TDatabase associados ao componente existe um componente cujo nome igual ao da string passada como parmetro na chamada desse mtodo.
GETALIASNAMES
Declarao
procedure GetAliasNames(List: TStrings);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
425
GETALIASPARAMS
Declarao
procedure GetAliasParams(const AliasName: string; List: TStrings);
Esse mtodo recebe como primeiro parmetro o nome de um alias (na forma de uma string) e retorna, em um objeto da classe TStrings (que deve ser passado como segundo parmetro), os parmetros do alias cujo nome foi fornecido.
ISALIAS
Declarao
function IsAlias(const Name: string): Boolean;
Esse mtodo recebe uma string como parmetro e determina se j existe um alias com o nome definido por essa string.
GETTABLENAMES
Declarao
procedure GetTableNames(const DatabaseName, Pattern: string; Extensions, SystemTables: Boolean; List: TStrings);
Esse mtodo recebe como parmetros: O nome do banco de dados (que pode ser um componente TDataBase) cujos nomes das tabelas se quer acessar. Uma string que define um delimitador para as tabelas (deve ser nulo, quando se quer obter os nomes de todas as tabelas). Uma constante booleana que define se as extenses dos nomes das tabelas devem ser exibidas. Uma outra constante booleana que define se os nomes das tabelas de sistema que definem a estrutura das tabelas do banco de dados tambm devem ser obtidos (essa constante deve ter o valor False para tabelas dos tipos Paradox e dBASE). Um objeto da classe TStrings no qual sero armazenados os nomes das tabelas.
OPEN
Declarao
procedure Open;
Esse mtodo inicializa uma sesso e a define como sendo a sesso corrente.
OPENDATABASE
Declarao
function OpenDatabase(const DatabaseName: string): TDatabase;
Esse mtodo estabelece a conexo de um componente da classe TDatabase associado ao componente, e cujo nome passado como parmetro na chamada do mtodo.
REMOVEALLPASSWORD
Declarao
procedure RemovePassword(const Password: string);
Esse mtodo permite que se removam todas as senhas definidas para acessar tabelas criptografadas do tipo Paradox, estabelecidas anteriormente em chamadas ao mtodo AddPassword.
REMOVEPASSWORD
Declarao
procedure RemovePassword(const Password: string);
Esse mtodo permite que se remova uma senha para acessar tabelas criptografadas do tipo Paradox, sendo esta senha passada como parmetro na forma de uma string, durante a chamada ao mtodo.
ONPASSWORD
O procedimento associado a esse evento executado sempre que se tenta acessar um arquivo Paradox que requer uma validao do usurio.
ONSTARTUP
O procedimento associado a esse evento executado sempre que a sesso representada pelo componente ativada.
KNOW-HOW EM: CLASSES DE ACESSO DIRETO A BANCOS DE DADOS VIA BDE AS CLASSES TTABLE E TQUERY
PR-REQUISITOS
Fundamentos da programao orientada a objetos com o Delphi 7. Experincia prvia na utilizao de componentes no desenvolvimento de aplicaes com Delphi 7. Compreenso da classes TDataset, TBDEDataset e TDBDataset.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
427
TCNICA
Descrio das classes e dos componentes de acesso direto a bancos de dados e apresentao de exemplos de aplicao. Sero apresentadas neste tpico as classes usadas para acesso direto a bancos de dados via BDE as classes Ttable e TQuery.
A CLASSE TTABLE
A classe TTable derivada por herana direta da classe TDBDataSet, sendo normalmente utilizada para se estabelecer uma conexo a uma tabela individual do banco de dados.
CANMODIFY
Essa propriedade definida como uma varivel booleana e define se a tabela pode ser acessada para edio, insero e remoo de registros.
EXCLUSIVE
Essa propriedade definida como uma varivel booleana e define se a tabela ser acessada em modo exclusivo pela aplicao. Se seu valor for igual a True, nenhuma outra aplicao poder acessar a tabela, enquanto a mesma estiver sendo acessada pela aplicao corrente.
INDEXDEFS
Essa propriedade um objeto da classe TindexDefs e define os ndices da tabela.
INDEXFIELDCOUNT
Essa propriedade definida como uma varivel inteira e define o nmero de campos que compem o ndice corrente.
INDEXFIELDNAMES
Essa propriedade definida como uma varivel do tipo string, que armazena os nomes dos campos que compem o ndice corrente, separados por um ponto-e-vrgula.
As propriedades IndexName e IndexFieldNames so mutuamente excludentes, isto , a definio de um valor para uma propriedade anula o valor definido para a outra.
INDEXFIELDS
Essa propriedade definida como um array de objetos da classe TField correspondentes aos campos que compem o ndice corrente.
INDEXNAME
Essa propriedade definida como uma varivel do tipo string e define o nome do ndice corrente da tabela.
MASTERFIELDS
Essa propriedade definida como uma varivel do tipo string e define os nomes dos campos da tabela principal em um relacionamento (separados por um ponto-e-vrgula), devendo ser definida no componente que representa a tabela secundria.
MASTERSOURCE
Essa propriedade definida como um objeto da classe TDataSource e define o nome do componente DataSource ao qual est associado o componente da classe TTable que representa a tabela principal em um relacionamento entre tabelas. Essa propriedade deve ser definida apenas no componente que representa a tabela secundria no relacionamento.
READONLY
Essa propriedade definida como uma varivel booleana e define se a tabela pode ser acessada apenas para visualizao de registros.
TABLENAME
Essa propriedade definida como uma varivel do tipo string e define os nomes da tabela representada pelo componente.
TABLETYPE
Essa propriedade definida como uma varivel do tipo TTableType e pode receber um dos valores descritos a seguir: ttDefault: O tipo da tabela ser determinado em funo da extenso do nome do arquivo. TtParadox: A tabela ser do tipo Paradox. TtDBase: A tabela ser do tipo dBASE. TtASCII: A tabela ser armazenada em um arquivo-texto no formato ASCII. Se o valor desta for igual a ttDefault, o tipo de tabela ser baseado na extenso do nome do arquivo, conforme descrito a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
429
ADDINDEX
Declarao
procedure AddIndex(const Name, Fields: string; Options: TIndexOptions);
Esse mtodo adiciona um ndice tabela, recebendo como parmetros: Uma string com o nome do ndice a ser criado. Uma string com os nomes dos campos que formam o novo ndice (separados por ponto-e-vrgula). Uma varivel do tipo TIndexOptions, que representa um conjunto que pode incluir os seguintes elementos: ixPrimary: Se o novo ndice for definido como a chave primria da tabela (no se aplica a tabelas no formato dBASE). ixUnique: Se o novo ndice no admitir duplicidade de valores. ixDescending: Se os registros forem ordenados alfabeticamente de forma decrescente. ixCaseInsensitive: Se no houver diferenciao entre letras maisculas e minsculas na indexao dos campos (no se aplica a tabelas no formato dBASE). ixExpression: O ndice ser baseado numa expresso (aplica-se apenas a tabelas no formato dBASE).
APPLYRANGE
Declarao
procedure ApplyRange;
Esse mtodo filtra os registros da tabela representada pelo componente, aplicando as condies definidas por chamadas aos mtodos SetRangeStart, SetRangeEnd, EditRangeStart e EditRangeEnd.
BATCHMOVE
Declarao
function BatchMove(ASource: TBDEDataSet; AMode: TBatchMode): Longint;
CANCELRANGE
Declarao
procedure CancelRange;
Esse mtodo Remove o filtro aplicado a uma tabela por uma chamada ao seu mtodo ApplyRange.
CREATETABLE
Declarao
procedure CreateTable;
Esse mtodo permite a criao de uma tabela em run-time (no confundir com a criao do componente). Entretanto, antes de se executar uma chamada ao mtodo CreateTable, devem-se definir os valores das seguintes propriedades do componente: DataBasename: Define nome do diretrio no qual a tabela ser armazenada ou o seu alias. TableName: Define o nome da tabela a ser criada. TableType: Define o tipo da tabela que ser criada. FieldDefs: Define os campos da tabela. Conforme ser visto posteriormente, esse objeto tem alguns mtodos importantes, como: Clear: Remove todas as definies de campos da tabela. Add: Adiciona um novo campo tabela. IndexDefs: Objeto da classe TindexDefs que define os ndices da tabela. Essa classe tem alguns mtodos importantes, como:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
431
DELETEINDEX
Declarao
procedure DeleteIndex(const Name: string);
Esse mtodo remove o ndice cujo nome passado como parmetro na forma de uma string.
DELETETABLE
Declarao
procedure DeleteTable;
Esse mtodo remove do banco de dados a tabela representada pelo componente, e deve ser empregado com o mximo de cautela. Antes de se executar esse mtodo, deve-se atribuir o valor False propriedade Active do componente que representa a tabela (o que tambm pode ser feito por uma chamada ao seu mtodo Close).
EDITRANGEEND
Declarao
procedure EditRangeEnd;
Esse mtodo efetiva as alteraes definidas para um filtro, iniciadas aps uma chamada ao mtodo EditRangeStart do componente que representa a tabela.
EDITRANGESTART
Declarao
procedure EditRangeStart;
Esse mtodo permite que se alterem as definies para um filtro, alteraes estas que sero efetivadas aps uma chamada ao mtodo EditRangeEnd do componente que representa a tabela.
EMPTYTABLE
Declarao
procedure EmptyTable;
FINDKEY
Declarao
function FindKey(const KeyValues: array of const): Boolean;
Esse mtodo permite a busca exata de um registro, cujos valores armazenados nos campos que compem o ndice corrente sejam iguais aos valores passados como parmetros, na forma de um array. Esse mtodo retorna True se for encontrado um registro que atenda as condies especificadas, e False em caso contrrio.
FINDNEAREST
Declarao
procedure FindNearest(const KeyValues: array of const);
Esse mtodo permite a busca aproximada de um registro, cujos valores armazenados nos campos que compem o ndice corrente sejam os mais aproximados aos valores passados como parmetros na forma de um array.
GETINDEXNAMES
Declarao
procedure GetIndexNames(List: TStrings);
Esse mtodo armazena em um objeto da classe TStrings (passado como parmetro na chamada do mtodo) os nomes dos ndices definidos para a tabela representada pelo componente.
GOTOCURRENT
Declarao
procedure GotoCurrent(Table: TTable);
Esse mtodo sincroniza o registro corrente dentre os registros manipulados pelo componente que representa a tabela com o registro corrente de outro componente TTable, cujo nome passado como parmetro, e que acessa a mesma tabela.
LOCKTABLE
Declarao
procedure LockTable(LockType: TLockType);
Esse mtodo restringe o acesso tabela por outras aplicaes, sendo essa restrio definida como uma varivel do tipo TLockType, passada como parmetro na chamada do mtodo, sendo que uma varivel desse tipo pode assumir os seguintes valores: taReadLock: A tabela no poder ser acessada para leitura por outras aplicaes. taWriteLock: A tabela no poder ser acessada para escrita por outras aplicaes.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
433
RENAMETABLE
Declarao
procedure RenameTable(const NewTableName: string);
Esse mtodo renomeia a tabela representada pelo componente, e todos os arquivos a ela associados. O novo nome da tabela deve ser passado como parmetro na forma de uma string.
SETRANGE
Declarao
procedure SetRange(const StartValues, EndValues: array of const);
Esse mtodo incorpora a funcionalidade dos mtodos SetRangeStart e SetRangeEnd, recebendo como parmetros dois arrays que indicam, respectivamente, os valores iniciais e finais que definiro o filtro a ser aplicado aos campos que definem o ndice corrente da tabela.
SETRANGEEND
Declarao
procedure SetRangeEnd;
Esse mtodo define o incio do trecho de cdigo em que devero ser definidos os valores finais dos campos para o filtro a ser aplicado aos campos que definem o ndice corrente da tabela.
SETRANGESTART
Declarao
procedure SetRangeStart;
Esse mtodo define o incio do trecho de cdigo em que devero ser definidos os valores iniciais dos campos para o filtro a ser aplicado aos campos que definem o ndice corrente da tabela.
UNLOCKTABLE
Declarao
procedure UnlockTable(LockType: TLockType);
Esse mtodo remove a restrio aplicada tabela representada pelo componente, definida previamente por uma chamada ao seu mtodo LockTable: Esse mtodo recebe como parmetro uma varivel do tipo TLockType, j descrita anteriormente.
A CLASSE TQUERY
A classe TQuery derivada por herana direta da classe TBDDataSet, sendo normalmente utilizada para se estabelecer uma conexo a uma ou mais tabelas de um banco de dados acessadas usando-se declaraes SQL.
CONSTRAINED
Essa propriedade definida como uma varivel booleana, e se o seu valor for igual a True no sero permitidas alteraes nos registros de tabelas do tipo dBASE e Paradox, que no sejam compatveis com as condies estabelecidas na clusula SELECT da declarao SQL que gerou o conjunto de registros. Essas restries s se aplicam quando a propriedade RequestLive do componente tem o valor True.
LOCAL
Essa propriedade definida como uma varivel booleana, e define se as tabelas acessadas so tabelas locais (dos tipos Paradox e dBASE).
PARAMCOUNT
Essa propriedade definida como uma varivel inteira, e define o nmero de parmetros definidos para a Query. Essa uma propriedade apenas de leitura, e no pode ter o seu valor diretamente alterado pelo usurio.
PARAMS
Essa propriedade definida como um array de objetos da classe TParams, que representam individualmente os parmetros definidos para a Query.
PREPARED
Essa propriedade definida como uma varivel booleana, e define se a Query foi preparada para ser executada, de modo a melhorar o seu desempenho. A preparao de uma Query pode ser feita atribuindo-se o valor True a essa propriedade, ou mediante uma chamada ao seu mtodo Prepare.
REQUESTLIVE
Essa propriedade definida como uma varivel booleana, e define se os registros provenientes de uma consulta podem ser editados localmente pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
435
ROWSAFFECTED
Essa propriedade definida como uma varivel inteira, e define o nmero de linhas ou registros atualizados ou removidos pela execuo da ltima declarao SQL.
SQL
Essa propriedade definida como um objeto da classe TStrings (que uma lista de strings) na qual deve ser armazenada a declarao SQL a ser executada mediante uma chamada aos mtodos Open ou ExecSQL do componente.
TEXT
Essa propriedade definida como uma varivel do tipo Pchar (string de terminao nula) e define o texto da declarao SQL realmente enviada para ser executada pelo Borland Database Engine.
UNIDIRECIONAL
Essa propriedade definida como uma varivel booleana, e define se os registros provenientes de uma consulta podem ser navegados ou percorridos em uma nica direo.
EXECSQL
Declarao
procedure ExecSQL;
Esse mtodo permite a execuo de declaraes SQL que envolvam a insero, a remoo e a atualizao de registros, isto , declaraes SQL que contm as clusulas Insert, Delete e Update. Declaraes SQL que envolvem apenas consultas resultantes da utilizao da clusula SELECT devem ser executadas mediante uma chamada ao mtodo Open do componente.
PARAMBYNAME
Declarao
function ParamByName(const Value: string): TParam;
Esse mtodo permite o acesso individual a parmetros definidos em uma declarao SQL, sendo o nome de um parmetro passado na forma de uma string na chamada ao procedimento.
PREPARE
Declarao
procedure Prepare;
Esse mtodo prepara a Query a ser executada, atribuindo o valor True sua propriedade Prepared.
UNPREPARE
Declarao
procedure UnPrepare;
Esse mtodo cancela a preparao da Query a ser executada, atribuindo o valor False sua propriedade Prepared.
A CLASSE TUPDATESQL
A classe TUpdateSQL derivada por herana direta da classe TDataSetUpdateObject (sendo esta derivada diretamente da classe TComponent), e permite que se definam instrues de insero (INSERT), deleo (DELETE) e atualizao (UPDATE) em registros retornados atravs de uma consulta SQL, mesmo que esta tenha sido definida como uma consulta apenas de leitura (isto , a propriedade RequestLive do componente Query igual a False ou os registros foram transformados em registros apenas de leitura durante a execuo do cdigo), desde que a propriedade CachedUpdates do componente Query responsvel pela execuo da declarao SQL tenha sido definida como True. A grande vantagem da utilizao desse componente est no fato de no haver necessidade de se preocupar com o fato de os registros terem sido gerados apenas para leitura pelo componente Query.
INSERTSQL
Essa propriedade determinada como um objeto da classe TStrings, e permite que se defina o cdigo SQL para insero de registros em uma tabela.
DELETESQL
Essa propriedade determinada como um objeto da classe TStrings, e permite que se defina o cdigo SQL para remoo de registros em uma tabela.
MODIFYSQL
Essa propriedade determinada como um objeto da classe TStrings, e permite que se defina o cdigo SQL para a atualizao de registros em uma tabela.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
437
EXECSQL
Declarao
procedure ExecSQL(UpdateKind: TUpdateKind);
Esse mtodo executa uma das instrues definidas pelas trs propriedades descritas no tpico anterior. Esse mtodo, ao contrrio do mtodo de mesmo nome do objeto Query, recebe como parmetro uma constante que indica o cdigo a ser executado. A tabela a seguir apresenta essas constantes e seus significados: UkModify: Execute a declarao SQL armazenada na propriedade ModifySQL. UkInsert: Execute a declarao SQL armazenada na propriedade InsertSQL. UkDelete: Execute a declarao SQL armazenada na propriedade DeleteSQL. Caso as declaraes SQL definidas nesse componente tenham parmetros, os nomes dos parmetros devero coincidir com nomes de campos da tabela acessada atravs do componente Query.
EXEMPLOS DE APLICAO
INDEXAO DE TABELAS ACESSADAS PELO COMPONENTE TABLE
Existem situaes em que precisamos reordenar os registros provenientes de uma tabela, com base nos valores armazenados em um determinado campo (ou conjunto de campos). Nesses casos, torna-se necessrio redefinir o ndice corrente da tabela, o que pode ser feito durante a execuo da aplicao, conforme ser apresentado no exemplo descrito neste tpico.
CHAVE PRIMRIA
Define-se como chave primria um campo (ou conjunto de campos) que tem um valor exclusivo em uma tabela. Toda tabela deve ter ao menos um campo definido como chave primria e, quando isso no for possvel, pode-se utilizar mais de um campo, definindo-se o que se chama chave primria composta.
NDICES SECUNDRIOS
Define-se como ndice secundrio de uma tabela um campo (ou conjunto de campos) pelo qual as informaes podero ser ordenadas. Nesse caso, no existe necessariamente a restrio de valor exclusivo, como ocorre no caso das chaves primrias. Uma tabela pode ser ordenada pela sua chave primria ou por quaisquer campos que definam uma entidade denominada ndice secundrio.
Conforme j foi descrito anteriormente, as propriedades IndexName e IndexFieldNames so mutuamente excludentes. Atribuir um valor a uma propriedade anula o valor definido para a outra.
Durante a execuo do aplicativo: Definindo-se via cdigo, mediante uma operao de atribuio, o valor das propriedades descritas no tpico anterior. No caso da propriedade IndexFieldNames, os nomes dos campos que formam o ndice devem vir separados por ponto-e-vrgula. Apresenta-se, a seguir, um pequeno exemplo, que utiliza a tabela Employees.db (uma das tabelasexemplo que acompanham o Delphi 7), na qual a ordenao dos campos definida durante a execuo do aplicativo.
EXEMPLO DE APLICAO
Apresenta-se, a seguir, a descrio das principais propriedades dos componentes utilizados na criao do formulrio, o aspecto visual do formulrio e o cdigo a ser implementado. Alguns componentes mantiveram seus nomes default, pois, em exemplos simples como este, tal fato no gera qualquer tipo de problema.
Formulrio: Name: FormIndice Width: 500 Height: 260 Caption: Exemplo de Definio de ndices em Run-Time Position: poScreenCenter Table: Name: Table1 DatabaseName: DBDEMOS TableName: EMPLOYEE.DB Active: True
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
439
Para definir a propriedade Items do componente RadioGroup, basta digitar os valores desejados na caixa de dilogo String list editor, que acessada clicando-se com o boto esquerdo do mouse sobre as reticncias () exibidas direita do nome da propriedade.
Codificao: A nica codificao a ser feita consiste em definir, da seguinte maneira, o procedimento associado ao evento OnClick do componente RadioGroup1:
procedure TFormIndice.RadioGroup1Click(Sender: TObject); begin case Radiogroup1.itemindex of 0 : table1.IndexName := ; 1 : table1.IndexName := ByName; end; end;
Durante a execuo do aplicativo, a seleo de um dos botes de rdio altera a ordem de exibio dos registros. A estrutura condicional Case verifica o item selecionado e, em funo deste, altera a definio do ndice corrente. Apresenta-se a seguir a unit associada ao formulrio da aplicao.
unit UnitIndice; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Db, DBTables; type TFormIndice = class(TForm) Table1: TTable; DataSource1: TDataSource; DBGrid1: TDBGrid; RadioGroup1: TRadioGroup; BitBtn1: TBitBtn; procedure RadioGroup1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormIndice: TFormIndice; implementation {$R *.DFM} procedure TFormIndice.RadioGroup1Click(Sender: TObject); begin table1.Close; case Radiogroup1.itemindex of 0 : table1.IndexName := ; 1 : table1.IndexName := ByName; end; table1.Open; end; end.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
441
Para alterar a propriedade Filtered do componente Table em funo da opo feita pelo usurio, basta codificar da seguinte maneira o procedimento associado ao evento OnClick do CheckBox:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
443
A definio do filtro, nesse caso, dever ser feita no procedimento associado ao evento OnFilterRecord do componente Table, apresentado a seguir. Nesse procedimento, o parmetro Accept definir se o registro deve ou no ser exibido, em funo do resultado da expresso booleana definida no seu comando de atribuio. Neste exemplo, utilizou-se o procedimento DecodeDate, que extrai o dia, ms e ano de um valor do tipo TDateTime. Como a propriedade ItemIndex do combobox comea em 0 e o primeiro ms (Janeiro) comea em 01, basta verificar a diferena entre o valor do ms e o valor armazenado na propriedade ItemIndex do combobox:
procedure TFormFiltro.Table1FilterRecord(DataSet : TDataSet; var Accept : Boolean); var Dia, Mes, Ano: Word; begin DecodeDate(Table1.FieldByName(HireDate).AsDateTime,Ano,Mes,Dia); Accept := Mes - Combobox1.ItemIndex = 1; end;
Para atualizar a exibio dos registros sempre que o usurio alterar a seleo do item no combobox, basta executar o mtodo Refresh do componente Table. Para isso, basta que se codifique, da seguinte maneira, o procedimento associado ao evento OnChange do combobox:
procedure TFormFiltro.ComboBox1Change(Sender: TObject); begin Table1.Refresh; end;
CAMPOS CALCULADOS
Um campo calculado um tipo especial de campo de uma tabela, cujo valor depende dos valores armazenados em outros campos. Esse campo s existe durante a execuo do aplicativo, reduzindo, dessa maneira, a quantidade de espao em disco a ser ocupado pela tabela.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
445
4. Mantendo todos os campos selecionados, clique com o boto esquerdo do mouse sobre o boto OK para fechar essa caixa de dilogo e adicionar os novos campos janela Editor de Campos (o Fields Editor), como mostra a Figura 23.4. 5. Pressione o boto direito do mouse sobre o Fields Editor e selecione o item New Field no menu pop-up que exibido. Ser exibida a caixa de dilogo New Field, mostrada na Figura 23.5. 6. Selecione o boto de rdio calculated da caixa de dilogo New Field. 7. Digite o nome do novo campo na caixa de texto name da caixa de dilogo New Field (no caso, o nome do campo ser WorkTime). 8. Selecione o tipo de campo no combobox Type da caixa de dilogo New Field (no caso, Integer). 9. Digite o tamanho do campo na caixa de texto Size, se for o caso (principalmente em campos alfanumricos). Para o campo WorkTime, essa caixa de texto deve permanecer em branco. A caixa de dilogo New Fields deve ficar com o aspecto apresentado na figura a seguir.
Figura 23.6: A caixa de dilogo New Field, aps a digitao das informaes necessrias.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
447
Crie esse campo calculado no exemplo anterior (usado para aplicao de filtros). Para que o campo calculado tenha o seu valor calculado corretamente, basta codificar, da seguinte maneira, o procedimento associado ao evento OnCalcFields do componente Table1:
procedure TFormFiltro.Table1CalcFields(DataSet : TDataSet); begin Table1Age.AsInteger = trunc((Date - Table1HireDate.AsDateTime) / 365); end;
Apresenta-se a seguir a codificao completa da unit associada a esse formulrio (criado no exemplo anterior), aps a incluso do campo calculado.
unit UnitFiltro; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, DBGrids, Db, DBTables; type TFormFiltro = class(TForm) Table1: TTable; DataSource1: TDataSource; DBGrid1: TDBGrid; BitBtn1: TBitBtn; ComboBox1: TComboBox; CheckBox1: TCheckBox; Table1EmpNo: TIntegerField; Table1LastName: TStringField; Table1FirstName: TStringField; Table1PhoneExt: TStringField; Table1HireDate: TDateTimeField; Table1Salary: TFloatField; Table1Age: TIntegerField;
importante lembrar que o Fields Editor cria, para cada campo, um objeto que o representa. Esse objeto, que pode ser acessado no Object Inspector, recebe um nome composto pelo nome da tabela seguido pelo nome do campo. No caso do campo Age, por exemplo, esse objeto ser chamado Table1Age. Para alterar as propriedades desse objeto, basta selecionar seu nome na caixa de seleo de objetos do Object Inspector.
CAMPOS LOOKUP
Um campo lookup um tipo especial de campo de uma tabela, cujo valor reflete o valor armazenado em um campo de uma outra tabela, desde que essas duas tabelas tenham um campo com mesmo significado e valores idnticos (ainda que esses campos possam ter nomes distintos). Esse campo s
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
449
Para criar um campo lookup, voc deve executar os seguintes procedimentos: 1. Selecione o componente TblOrders, clicando sobre o mesmo com o boto esquerdo do mouse. 2. Pressione o boto direito do mouse sobre esse componente e selecione o item Fields Editor do menu pop-up, para exibir o editor de campos. 3. Pressione o boto direito do mouse sobre o Fields Editor e selecione o item Add Field no menu pop-up que exibido. Ser exibida a caixa de dilogo Add Fields.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
451
Figura 23.10: A caixa de dilogo New Field, aps o fornecimento das informaes necessrias criao de um campo lookup.
14. Selecione o boto OK para fechar a caixa de dilogo New Field. Ser criado um objeto chamado Table1Custname, que representar o campo recm-criado.
Para visualizar o campo criado durante a execuo da aplicao, use a barra de rolagem horizontal do DBGrid.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
453
interessante ressaltar que, nesta nova verso do Delphi, do relacionamento entre tabelas tambm pode ser estabelecido atravs da pgina data diagram do Data Module, conforme ser descrito no final deste captulo.
Apresenta-se, a seguir, a descrio das principais propriedades dos componentes utilizados na criao do formulrio e do Datamodule, o aspecto visual do formulrio e o cdigo a ser implementado. Alguns
Formulrio: Name: FormRelacionamento Width: 500 Height: 360 Caption: Exemplo de Relacionamento entre Tabelas Acessadas Pelo Componentte Table Labels: Name: Label1 Left: 12 Top: 6 Width: 40 Height: 13 Caption: Clientes: Name: Label2 Left: 12 Top: 136 Width: 41 Height: 13 Caption: Pedidos: DBGrids: Name: DBGridCustomers Left: 12 Top: 24 Width: 468 Height: 110 DataSource: Dados.DatasourceCustomers Name: DBGridOrders Left: 12
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
455
Apresenta-se a seguir o cdigo completo das units associadas ao formulrio e ao Datamodule. Repare que no necessria qualquer codificao especial para estabelecer um relacionamento entre tabelas acessadas pelo componente TTable.
unit UnitRelacionamento; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Buttons; type TFormRelacionamento = class(TForm) DBGridCustomers: TDBGrid; BitBtn1: TBitBtn; DBGridOrders: TDBGrid; Label1: TLabel; Label2: TLabel; private { Private declarations } public { Public declarations } end; var FormRelacionamento: TFormRelacionamento; implementation uses UnitDadosRelacionamento; {$R *.DFM} end. var FormRelacionamento: TFormRelacionamento; implementation {$R *.DFM} end. unit UnitDadosRelacionamento;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
457
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
459
Codificao: Neste exemplo, o tipo de pesquisa a ser realizada definido no procedimento associado ao evento OnClick do componente RGTipoPesquisa. No evento OnClick desse componente, deve-se verificar se uma pesquisa indexada foi selecionada, pois no poder ser feita uma pesquisa pelo campo Country. Nesse caso, se o campo Country estiver selecionado, este desmarcado e a seleo passa para o campo CustNo. Para que isso ocorra, deve-se codificar, da seguinte maneira, o procedimento associado ao evento OnClick do componente RGTipoPesquisa:
procedure TFormPesquisa.RGTipoPesquisaClick(Sender: TObject); begin case RGTipoPesquisa.ItemIndex of 0,2 : begin if RGCampo.ItemIndex = 2 then RGCampo.ItemIndex := 0; Dados.TblCustomers.IndexName := ; end; end; end;
Dependendo do campo selecionado no componente RGCampo, deve-se definir o ndice corrente da tabela Customer.db. A nica exceo ocorre quando o usurio selecionou uma das opes de pesquisa indexada e escolheu o campo Country, pelo qual a tabela no est indexada. Se esse for o caso, emitese uma mensagem ao usurio e redefine-se o campo CustNo como o campo de pesquisa. Para que isso ocorra, deve-se codificar, da seguinte maneira, o procedimento associado ao evento OnClick do componente RGCampo:
procedure TFormPesquisa.RGCampoClick(Sender: TObject); begin case RGCampo.ItemIndex of 0 : Dados.TblCustomers.IndexName := ; 1 : Dados.TblCustomers.IndexName := ByCompany; 2 : if RGTipoPesquisa.ItemIndex <> 1 then begin ShowMessage(Campo Selecionado No-Indexado); RGCampo.ItemIndex := 0; end; end; end;
Para que a pesquisa seja feita medida que o usurio digita um valor na caixa de texto, deve-se definir da seguinte maneira o procedimento associado ao evento OnChange do componente EditPesquisa (esse procedimento testa o tipo de pesquisa selecionada e executa o mtodo adequado do componente Table):
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
461
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
463
Significado O ndice ser a chave primria da tabela. No pode haver duplicidade de valores. A indexao ser decrescente. O ndice depende de uma expresso-chave do dBASE. O ndice no diferencia caracteres maisculos e minsculos (no se aplica ao dBASE).
Apresenta-se, a seguir, a descrio das principais propriedades dos componentes utilizados na criao do formulrio, o aspecto visual do formulrio e o cdigo a ser implementado. Alguns componentes mantiveram seus nomes default, pois em exemplos simples como este tal fato no gera qualquer tipo de problema. Formulrio: Name: FormCriaTabela Height: 400 Width: 435 Caption: Formulrio Para a Criao de Tabelas Position: poScreenCenter Objetos colocados no formulrio Table: Name: Table1 DatabaseName: DBDEMOS Labels: Name: LabelNomeTabela Left: 10 Top: 8 Width: 179 Height: 13 Caption: Digite o Nome da Tabela a Ser Criada Caixa de Texto: Name: EditNome Left: 10
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
465
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
467
Isso faz com que o combobox exiba o item Boolean quando o formulrio exibido. Como apenas o tipo String pode ter tamanho distinto de 0, as propriedades Text do componente EditSize e as de UpDown1 so inicializadas com o valor 0. A mudana do item selecionado no combobox tratada no procedimento associado ao seu evento OnChange, como mostrado a seguir.
procedure TFormCriaTabelas.ComboBoxTipoChange(Sender: TObject); begin case ComboboxTipo.ItemIndex of 6 : begin EditSize.Text := 10; UPDown1.Max := 255; end; else begin EditSize.Text := 0; UPDown1.Max := 0; end; end; end;
A criao de campos tratada no procedimento associado ao evento OnClick do boto BotaoAddCampo, mostrado a seguir.
procedure TFormCriaTabelas.BotaoAddCampoClick(Sender: TObject); var Tipo : TFieldType; begin Case comboboxtipo.itemindex of 0 : Tipo := ftBoolean; 1 : Tipo := ftDate; 2 : Tipo := ftDateTime; 3 :
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
469
Inicialmente, o tipo de campo definido em funo do item selecionado no combobox. Depois, o campo adicionado tabela usando o mtodo Add da propriedade FieldDefs do componente Table e seu nome includo no ListBox que exibe os nomes dos campos. Para finalizar, remove-se o texto exibido no componente EditNomeCampo. A criao de ndices tratada no procedimento associado ao evento OnClick do boto BotaoAddIndice, mostrado a seguir.
procedure TFormCriaTabelas.BotaoAddIndiceClick(Sender: TObject); var i : integer; campos : string; Opcoes : TIndexOptions; begin campos := ; for i :=0 to ListBoxCampos.Items.Count-1 do if ListBoxCampos.Selected[i] then begin campos := campos+ListBoxCampos.Items[i] + ;; end; campos := copy(campos,1,Length(campos)-1); Opcoes := [ixUnique]; if Primaria.Checked then Opcoes := Opcoes + [ixPrimary]; if Decrescente.Checked then Opcoes := Opcoes + [ixDescending]; Table1.IndexDefs.Add(EditNomeIndice.Text,campos,Opcoes); EditNomeIndice.Clear; end;
Inicialmente, verificam-se quais os campos selecionados no ListBox e armazenam-se, na varivel campos, os nomes dos campos que formam o ndice que est sendo criado. Em seguida, define-se o terceiro parmetro em funo da seleo ou no dos CheckBoxes Primria e Descendente. A criao do ndice feita em uma chamada ao mtodo Add da propriedade IndexDefs do componente Table. Para finalizar, remove-se o texto exibido no componente EditNomeIndice. A criao da tabela tratada no procedimento associado ao evento OnClick do boto BotaoCriaTabela, mostrado a seguir.
procedure TFormCriaTabelas.BotaoCriaTabelaClick(Sender: TObject); begin
Inicialmente, verifica-se qual o tipo selecionado para a tabela. Em seguida, a tabela criada executandose o mtodo Createtable do componente Table, e o contedo do listbox removido (bem como o texto do componente EditNome, que define o nome da tabela a ser criada): Para zerar a lista de campos e ndices da tabela que est sendo criada, deve-se executar o mtodo Clear das propriedades FieldDefs e IndexDefs do componente Table, o que feito no procedimento associado ao evento OnExit do componente EditNome, como mostrado a seguir.
procedure TFormCriaTabela.EditNomeExit(Sender: TObject); begin Table1.TableName := EditNome.Text; Table1.FieldDefs.Clear; Table1.IndexDefs.Clear; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
471
{$R *.DFM} procedure TFormCriaTabelas.FormCreate(Sender: TObject); begin ComboboxTipo.ItemIndex := 0; UPDown1.Max := 0; end; procedure TFormCriaTabelas.ComboBoxTipoChange(Sender: TObject); begin case ComboboxTipo.ItemIndex of 6 : begin EditSize.Text := 10; UPDown1.Max := 255; end; else begin EditSize.Text := 0; UPDown1.Max := 0; end; end; end; procedure TFormCriaTabelas.BotaoAddCampoClick(Sender: TObject); var Tipo : TFieldType; begin Case comboboxtipo.itemindex of 0 : Tipo := ftBoolean; 1 : Tipo := ftDate; 2 : Tipo := ftDateTime; 3 : Tipo := ftFloat; 4 : Tipo := ftInteger; 5 : Tipo := ftSmallInt; 6 :
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
473
Voc pode alterar essa propriedade mediante a incluso de uma linha de cdigo ou modificando os valores das subpropriedades de VisibleButtons diretamente no Object Inspector. Para exibir essas subpropriedades, d um duplo clique com o boto esquerdo do mouse sobre o sinal (+) exibido esquerda do nome da propriedade VisibleButtons. As subpropriedades so exibidas (podendo ser diretamente alteradas) e o sinal (+) substitudo por (-). Dando um duplo clique com o boto esquerdo do mouse sobre o smbolo (-), as subpropriedades so novamente ocultadas. Para exibir um boto, atribua o valor True subpropriedade correspondente, e False em caso contrrio.
Lembre-se: a existncia de um sinal de (+) imediatamente esquerda do nome de uma propriedade no Object Inspector indica que essa propriedade tem subpropriedades.
Cada subpropriedade (de cima para baixo) corresponde a um dos botes (da esquerda para a direita). ShowHint: Essa propriedade uma varivel booleana que define se o componente deve ou no exibir strings de auxlio quando o ponteiro do mouse estiver sobre cada um dos seus botes. Hints: Essa propriedade um objeto da classe TStrings e define as strings de auxlio dos diversos botes exibidos pelo componente DBNavigator (permitindo a sua personalizao). Para personalizar as strings de auxlio do controle DBNavigator, execute os seguintes procedimentos: 1. Selecione o componente DBNavigator, clicando sobre o mesmo com o boto esquerdo do mouse. 2. Selecione a propriedade Hints diretamente no Object Inspector. 3. Clique com o boto esquerdo do mouse sobre as reticncias (.) exibidas do lado direito da propriedade no Object Inspector. Ser exibida a caixa de dilogo String list editor. 4. Digite as expresses mostradas na Figura 23.14. 5. Selecione o boto OK, para fechar a caixa de dilogo.
Nessa caixa de dilogo, cada string digitada em uma linha corresponde string de auxlio de um boto. A primeira linha corresponde ao primeiro boto (da esquerda para a direita), a segunda linha ao segundo boto e assim por diante.
Os mtodos correspondentes a cada um desses botes, disponveis para os objetos da classe TTable, so: Primeiro Registro: Mtodo First. Registro Anterior: Mtodo Prior. Prximo Registro: Mtodo Next. ltimo Registro: Mtodo Last. Inserir Registro: Mtodo Append. Deletar Registro: Mtodo Delete. Editar Registro: Mtodo Edit. Gravar Registro: Mtodo Post. Cancelar Edio do Registro: Mtodo Cancel. Atualizar a Exibio do Registro: Mtodo Refresh. A ttulo de exemplificao, ser criado um formulrio para acessar e exibir os registros da tabela Customer.db, no qual ser inserido um componente DBNavigator e vrios botes de comando utilizados como alternativa ao componente DBNavigator. Apresenta-se, a seguir, a descrio das principais propriedades dos componentes utilizados na criao do formulrio, o aspecto visual do formulrio e o cdigo a ser implementado. Alguns componentes mantiveram seus nomes default, pois em exemplos simples como este tal fato no gera qualquer tipo de problema. Formulrio: Name: FormNavegacao Width: 300 Height: 435 Caption: Formulrio de Navegao Position: poScreenCenter Table: Name: TblCustomers
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
475
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
477
Codificao: O cdigo do procedimento associado ao evento OnClick de cada um dos botes de comando (reproduzidos a seguir) consiste simplesmente em uma chamada a um dos mtodos do componente TblCustomer, e dispensa maiores explicaes.
procedure TFormNavegacao.BotaoPrimeiroClick(Sender: TObject); begin TblCustomers.First; end; procedure TFormNavegacao.BotaoAnteriorClick(Sender: TObject); begin TblCustomers.Prior; end; procedure TFormNavegacao.BotaoProximoClick(Sender: TObject); begin TblCustomers.Next; end; procedure TFormNavegacao.BotaoUltimoClick(Sender: TObject); begin TblCustomers.Last; end; procedure TFormNavegacao.BotaoAdicionarClick(Sender: TObject); begin TblCustomers.Append; end; procedure TFormNavegacao.BotaoDeletarClick(Sender: TObject); begin TblCustomers.Delete; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
479
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
481
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
483
Codificao: A codificao deste exemplo consiste basicamente em chamadas aos mtodos do objeto Session, da classe TSession, descritos anteriormente. Nos mtodos que necessitam de objetos da classe TStrings como parmetro, este passado como a propriedade Items de um ListBox. So utilizados dois ListBoxes, um para exibir os nomes dos alias e outro para exibir os nomes das tabelas para o alias selecionado. No procedimento associado ao evento OnCreate do formulrio, mostrado a seguir, os ListBoxes so carregados com os nomes dos alias e das tabelas do primeiro alias:
procedure TFormSession.FormCreate(Sender: TObject); begin ListaDiretorio.Directory := c:\; Session.GetAliasNames(ListBoxAlias.Items); ListBoxAlias.ItemIndex := 0; Session.GetTableNames(ListBoxAlias.Items[ListBoxAlias.ItemIndex],,false,false,
No procedimento associado ao evento OnClick do primeiro ListBox, atualiza-se o contedo do segundo, como mostra o trecho de cdigo a seguir.
procedure TFormSession.ListBoxAliasClick(Sender: TObject); begin Session.GetTableNames(ListBoxAlias.Items[ListBoxAlias.ItemIndex],, false,false,ListBoxTabelas.items); end;
O procedimento associado ao evento OnClick do boto Cria, apresentado a seguir, verifica se o alias a ser criado j existe e, em caso negativo, cria o novo alias com o nome desejado. Por fim, atualiza a lista de alias:
procedure TFormSession.BotaocriaClick(Sender: TObject); begin if not(Session.IsAlias(EditNome.Text)) then Session.AddStandardAlias(EditNome.Text,ListaDiretorio. Directory,Paradox) else ShowMessage(J Existe um Alias com esse Nome); Session.GetAliasNames(ListBoxAlias.Items); end;
A remoo de um alias feita no procedimento associado ao evento OnClick do componente BotaoRemove, apresentado a seguir. Inicialmente, o procedimento solicita uma confirmao do usurio e, em caso positivo, elimina o alias selecionado e atualiza a exibio dos ListBoxes.
procedure TFormSession.BotaoremoveClick(Sender: TObject); var indice : integer; begin if MessageDlg(Deseja Realmente Deletar o Alias Selecionado ?,mtconfirmation,mbokcancel,0) = mrok then begin indice := ListBoxAlias.ItemIndex-1; Session.DeleteAlias(ListBoxAlias.Items[ListBoxAlias.ItemIndex]); Session.GetAliasNames(ListBoxAlias.Items); ListBoxAlias.ItemIndex := indice; Session.GetTableNames(ListBoxAlias.Items[ListBoxAlias.ItemIndex],,false,false, ListBoxTabelas.items); end; end;
Para acessar o componente Session, voc deve incluir a unit dbTables na clusula uses da unit do formulrio. Repare que, neste exemplo, no inclumos explicitamente os componentes TSession e TDatabase no formulrio, e nesses casos a aplicao trata de criar dinamicamente os componentes necessrios.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
485
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
487
Codificao: A nica codificao deste exemplo consiste no procedimento associado ao evento OnClick de um boto de comando, apresentado a seguir. Nesse procedimento, o texto digitado no Memo (em sua propriedade Lines) atribudo propriedade SQL do componente Query1. Dependendo do fato de o texto representar ou no uma consulta, ser executado o mtodo Open ou ExecSQL do componente Query1. A funo Pos usada para testar se a palavra Select est ou no includa na declarao SQL. Caso haja erro no cdigo SQL, uma mensagem ser exibida para o usurio:
procedure TFormSQL.BotaoOkClick(Sender: TObject); var i : integer; consulta : boolean; begin Query1.SQL := Memo1.Lines; consulta := false; for i :=0 to Memo1.Lines.Count-1 do if Pos(SELECT,UpperCase(Memo1.Lines[i]))>0 then consulta := true; try if consulta then Query1.Open else Query1.ExecSQL; except ShowMessage(Erro no Cdigo SQL); end; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
489
Deixarei por conta do leitor a compreenso da lgica utilizada. Nesse caso, pode-se digitar a declarao SQL da maneira mostrada na figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
491
Essa declarao faz com que s sejam exibidos os registros da tabela Country nos quais o valor do campo Continent seja igual ao parmetro Nome. Para definir esse parmetro na fase de projeto do aplicativo, basta digitar esse cdigo na propriedade SQL do componente Query e selecionar a propriedade Params, para exibir a caixa de dilogo mostrada na figura a seguir, na qual devem ser exibidos os parmetros da declarao SQL.
Uma vez selecionado um parmetro, suas propriedades podem ser definidas diretamente no Object Inspector. Dentre essas propriedades, destacam-se o tipo do parmetro e, opcionalmente, um valor default para o mesmo. Apresenta-se, a seguir, a descrio das principais propriedades dos componentes utilizados na criao do formulrio, o aspecto visual do formulrio e o cdigo a ser implementado. Alguns componentes mantiveram seus nomes default, pois, em exemplos simples como este, tal fato no gera qualquer tipo de problema: Formulrio: Name: FormParametros Width: 435 Height: 220 Caption: Exemplo do Uso de Parmetros em Declaraes SQL Position: poScreenCenter Label: Name: Label1 Left: 24 Top: 140 Width: 110 Height: 13 Caption: Selecione o Continente: Componente Query: Name: Query1
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
493
A redefinio do parmetro e atualizao da query feita no procedimento associado ao evento OnChange do comboBox:
procedure TFormParametros.ComboBox1Change(Sender: TObject); begin Query1.Close; Query1.ParamByName(Nome).AsString := ComboBox1.Items[ComboBox1.ItemIndex]; Query1.Prepare; Query1.Open; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
495
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
497
Codificao: Toda a codificao do programa que implementa este exemplo est definida em procedimentos associados ao evento OnClick dos botes de comando. Esses procedimentos so apresentados a seguir e so bastante simples e fceis de compreender.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
499
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
501
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
503
Codificao: Apresenta-se a seguir a codificao deste aplicativo-exemplo, cujo cdigo muito semelhante aos j apresentados ao longo deste captulo. Segue a codificao dos procedimentos associados ao evento OnClick dos botes de comando:
procedure T FormUpdateSQL.BotaoInsertClick(Sender: TObject); begin UpdateSQL1.InsertSQL.Clear; UpdateSQL1.InsertSQL.Add(Insert Into Country(Name,Capital,Area,Population,Continent)); UpdateSQL1.InsertSQL.Add(VALUES(+EditNome.Text+,+EditCapital.Text+, +EditArea.Text+,+EditPopulacao.Text+, +EditContinente.Text+)); UpdateSQL1.ExecSQL(ukInsert); Query1.disablecontrols; Query1.Close; Query1.Open; Query1.Refresh; Query1.enablecontrols; end; procedure TFormUpdateSQL.BotaoDeleteClick(Sender: TObject); begin UpdateSQL1.DeleteSQL.Clear; UpdateSQL1.DeleteSQL.Add(Delete From Country Where Name =
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
505
METODOLOGIA
Apresentao do problema: Aplicao de senhas a tabelas do tipo Paradox.
5. Selecione o boto Ok para fechar essa caixa de dilogo. A partir deste momento, quando a tabela for acessada em futuras sesses de utilizaes do Database Desktop, ser exibida a seguinte caixa de dilogo:
Essa caixa de dilogo permite que voc digite vrias senhas correspondentes a diversas tabelas a serem abertas numa mesma sesso do Database Desktop, bastando digitar cada uma das senhas e o boto Add. Para remover uma ou vrias das senhas digitadas, basta selecionar os botes Remove e Remove All.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
507
Figura 23.28: A caixa de dilogo Enter Password(s), exibida quando se tenta acessar uma tabela a partir de uma aplicao.
INIBINDO A EXIBIO DA CAIXA DE DILOGO ENTER PASSWORD DURANTE A EXECUO DO SEU APLICATIVO
Conforme descrito anteriormente, existem situaes em que se prefere definir uma caixa de dilogo personalizada para obter a senha do usurio em uma caixa de texto. Para que uma aplicao possa acessar uma tabela sem que seja necessrio utilizar a caixa de dilogo Enter Password, basta utilizar o mtodo AddPassword do componente Session, que recebe como parmetro uma string com um dos possveis valores para as senhas das tabelas a serem acessadas pela aplicao. Lembre-se de que, mesmo que no se esteja utilizando explicitamente um componente dessa classe, um objeto dessa classe (denominado Session) ser automaticamente criado pelo Delphi.
Essa linha de cdigo permite que a aplicao tenha acesso irrestrito tabela. 6. Inclua a unit dbTables na clusula Uses da unidade de cdigo associada ao formulrio em que ser feita a verificao da senha. 7. No formulrio em que ser feita a verificao da senha, declare o seguinte objeto na seo var da unidade de cdigo a ele associada:
TabelaSenha: TTable;
8. Inclua as seguintes linhas de cdigo no procedimento associado ao evento OnShow do formulrio em que ser feita a verificao da senha:
TabelaSenha := TTable.Create(self);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
509
Evidentemente, voc deve usar o SEU alias. O alias DBDEMOS foi usado apenas para ilustrar o cdigo necessrio.
9. Inclua a seguinte linha de cdigo no procedimento associado ao evento OnHide do formulrio em que ser feita a verificao da senha:
TabelaSenha.Free;
10. No trecho em que o direito de acesso aplicao deve ser verificado, compare o valor armazenado no campo Senha da tabela Senha.db com o valor fornecido pelo usurio. Considere, por exemplo, que o usurio digite a senha numa caixa de texto chamada Password. Essa verificao pode ser feita mediante a incluso de uma linha de cdigo com a seguinte sintaxe:
If TabelaSenha.FieldByName(Senha).AsString = Password.Text Then begin // Cdigo a ser executado se a senha estiver correta end else begin // Cdigo a ser executado se a senha no estiver correta end;
Captulo
24
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
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
PR-REQUISITOS
Fundamentos da programao orientada a objetos com o Delphi 7. Experincia prvia na utilizao de componentes no desenvolvimento de aplicaes com Delphi 7. Compreenso da classe TDataset.
METODOLOGIA
Apresentao das classes e dos componentes de acesso a bancos de dados via ADO, juntamente com uma descrio das suas propriedades,
mtodos e eventos.
TCNICA
Descrio das classes e dos componentes de acesso a bancos de dados e apresentao de exemplos de aplicao.
Inicialmente apresentaremos as classes derivadas de TDataset que implementam as principais funcionalidades da tecnologia Activex Data Objects e depois os componentes efetivamente usados no desenvolvimento de aplicaes. Estes componentes esto disponveis desde a verso 5 do Delphi, e por se tratar de uma tecnologia disponvel apenas para o ambiente Windows, tais componentes no esto disponveis para aplicaes baseadas na CLX. O mecanismo definido pela tecnologia Activex Data Objects bastante complexo, mas a Borland, demonstrando mais uma vez a sua superioridade no que se refere a ferramentas de desenvolvimento, encapsulou este mecanismo em componentes que tornam o seu uso to fcil como no caso do BDE.
O COMPONENTE TADOCONNECTION
Este componente, derivado por herana da classe TCustomConnection, permite que se estabelea uma conexo a um banco de dados via ADO. Este componente tem uma funcionalidade semelhante ao TDatabase no mecanismo do Borland Database Engine, e permite que diversos componentes de acesso estejam diretamente a ele conectados. Este componente o primeiro componente da pgina ADO da paleta de componentes.
de uma transao via um comando Commit, uma nova transao iniciada automaticamente.
xaAbortRetaining: Especificar este valor como True indica que, ao se fazer um cancelamento
de uma transao via um comando Rollback, uma nova transao iniciada automaticamente.
CommandCount
Essa propriedade definida como uma varivel inteira, e define o nmero de componentes da classe TADOCommand vinculados a este componente de conexo.
Commands
Essa propriedade definida como uma array de objetos da classe TCommand, e retorna os objetos da classe TADOCommand vinculados a este componente de conexo que estejam ativos.
CommandTimeOut
Essa propriedade definida como uma varivel inteira, e define o tempo mximo (em segundos) para a execuo de um comando (seno considera-se que o comando no foi executado com successo). Seu valor default igual a 30.
ConnectionObject
Essa propriedade fornece acesso direto ao objeto Activex responsvel pela conexo via ADO.
ConnectionString
Essa propriedade definida como uma varivel do tipo WideString e define como ser feita a conexo ao banco de dados.
ConnectionTimeOut
Essa propriedade definida como uma varivel inteira, e define o tempo mximo (em segundos) para a ativao de uma conexo (seno considera-se que a conexo no foi executada com sucesso). Seu valor default igual a 15.
Cursorlocation
Essa propriedade definida como uma varivel do tipo TcursorLocation e define se o cursor que aponta para os registros se situa do lado cliente (ideal para manipulao irrestrita dos registros) ou do lado servidor (ideal quando o nmero de registros a serem acessados muito grande).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
513
InTransaction
Essa propriedade definida como uma varivel booleana, e indica se uma transao est em progresso.
State
Essa propriedade definida como uma varivel do tipo TobjectSatae, e pode assumir um dos seguintes valores:
stClosed: Connection: A conexo no est estabelecida e o objeto no est conectado ao banco
de dados.
stOpen: A conexo no est estabelecida mas o objeto est conectado ao banco de dados. stConnecting: A conexo est sendo estabelecida. stExecuting: Conexo j estabelecida e funcionando. stFetching: A conexo est estabelecida mas ainda est recebendo as informaes do banco de
dados.
BeginTrans
Declarao
function BeginTrans: Integer;
Esse mtodo inicializa uma nova transao com o banco de dados, retornando um valor inteiro indicando o nvel da transao. Se a transao for inicializada com successo, ser executado o procedimento associado ao evento OnBeginTransComplete e a propriedade Instransaction receber o valor True.
Cancel
Declarao
procedure Cancel;
CloseAllDataSets
Declarao
procedure CloseDataSets(All: Boolean = True);
CommitTrans
Declarao
procedure CommitTrans;
Execute
Declarao
function Execute(const CommandText: WideString; ExecuteOptions: TExecuteOptions = []): _RecordSet; overload; procedure Execute(const CommandText: WideString; var RecordsAffected: Integer; ExecuteOptions: TExecuteOptions = [eoExecuteNoRecords]); overload;
Esse mtodo executa um comando sobre o banco de dados. Repare que este mtodo sobrecarregado, possuindo duas implementaes distintas. O comando a ser executado passado na forma de uma string, alm de outros parmetros que indicam como os registros devem ser afetados.
GetProcedureNames
Declarao
procedure GetProcedureNames(List: TStrings);
Esse mtodo armazena na lista de strings passada como parmetro os nomes de todos os procedimentos armazenados existentes no banco de dados ao qual o componente est conectado.
GetTableNames
Declarao
procedure GetTableNames(List: TStrings; SystemTables: Boolean = False);
Esse mtodo armazena na lista de strings passada como parmetro os nomes de todas as tabelas existentes no banco de dados ao qual o componente est conectado.
Open
Declarao
procedure Open; overload; procedure Open(const UserID: WideString; const Password: WideString); overload;
Esse mtodo ativa uma conexo ao banco de dados ao qual o componente est conectado. Repare que este mtodo sobrecarregado, possuindo duas implementaes distintas, sendo que a segunda permite que se fornea um nome de usurio e uma senha.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
515
OnBeginTransComplete
Este evento ocorre quando uma transao iniciada.
OnCommitTransComplete
Este evento ocorre quando uma transao finalizada com um commit.
OnConnectComplete
Este evento ocorre quando uma conexo estabelecida.
OnDisConnect
Este evento ocorre quando uma conexo encerrada.
OnExecuteComplete
Este evento ocorre quando um comando executado com sucesso.
OnInfoMessage
Este evento ocorre quando uma mensagem enviada do banco de dados para a conexo.
OnRollbackTransComplete
Este evento ocorre quando uma transao cancelada com um rollback.
OnWillConnect
Este evento ocorre quando uma conexo est para ser estabelecida.
OnWillCommand
Este evento ocorre quando um comando est para ser executado.
O COMPONENTE TRDSCONNECTION
Este componente, derivado por herana da classe TCustomConnection, permite que se estabelea uma conexo a um banco de dados remoto via ADO. Este componente o ltimo componente da pgina ADO da paleta de componentes.
Appserver
Essa propriedade definida como uma varivel do tipo OleVariant, e define o nome do servidor de aplicaes atravs do qual a conexo ser feita.
ComputerName
Essa propriedade definida como uma varivel do tipo WideString, e define o nome da mquina do servidor de aplicaes atravs do qual a conexo ser feita. Pode ser uma URL, sua identidade no IIS ou seu DNS.
InternetTimeOut
Essa propriedade definida como uma varivel inteira, e define o tempo mximo (em milissegundos) para que, se no houver comunicao, a conexo seja desativada (para protocolos http e httpS).
ServerName
Essa propriedade definida como uma varivel do tipo WideString, o ProgID (Identificador) do servidor de aplicaes.
GetRecordset
Declarao
function GetRecordset(const CommandText: WideString; ConnectionString: WideString = ): _Recordset;
Esse mtodo faz com que o componente receba um conjunto de registros do banco de dados ao qual est conectado, aps executar o comando passado como primeiro parmetro, e usando a string de conexo passada como segundo parmetro.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
517
A CLASSE TCUSTOMADODATASET
Conforme descrito anteriormente, a classe TDataSet implementa a funcionalidade genrica para acesso a tabelas, sem incorporar as funes da API do Borland Database Engine o mecanismo de acesso a banco de dados criado pela Borland ou, neste caso, o mecanismo de acesso do Activex Data Objects (ADO). A classe TCustomADODataSet, derivada por herana direta da classe TDataSet, incorpora as principais caractersticas do mecanismo ADO a alguns dos mtodos declarados na classe TDataSet, sobrecarregandoos (no caso de mtodos virtuais) ou implementando-os (no caso de mtodos abstratos). Os mtodos implementados por essa classe no so normalmente usados no desenvolvimento de aplicaes em Delphi, pois geralmente so utilizados componentes representados por classes derivadas por herana desta classe.
CacheSize
Essa propriedade definida como uma varivel inteira, e define o nmero de registros armazenados na memria local pelo componente. Indica portanto o nmero de registros carregados quando a conexo atravs do componente se torna ativa.
CanModify
Essa propriedade definida como uma varivel booleana, e define se os registros acessados atravs do componente podem ou no ser alterados (Na realidade, costuma-se usar a propriedade ReadOnly dos componentes derivados desta classe).
CommandText
Essa propriedade definida como uma varivel do tipo WideString, e define o comando a ser executado (geralmente na forma de uma declarao SQL).
CommandTimeOut
Essa propriedade definida como uma varivel inteira, e define o tempo mximo (em segundos) para a execuo de um comando (seno considera-se que o comando no foi executado com sucesso). Seu valor default igual a 30.
CommandType
Essa propriedade definida como uma varivel do tipo TCommandType, e define o tipo de comando a ser executado. Esta propriedade pode assumir um dos seguintes valores:
CmdUnknown: O tipo de comando desconhecido.
Stored Procedure.
cmdTable: O comando , na realidade, o nome de uma tabela. cmdStoredProc: O comando , na realidade, o nome de uma stored procedure. cmdFile: O comando se refere ao nome de um arquivo no qual um conjunto de registros est
armazenado.
cmdTableDirect: O comando , na realidade, o nome de uma tabela, sendo todos os campos
Connection
Essa propriedade definida como uma varivel do tipo TADOConnection, e define o tipo de coconexo que ser usada pelo componente.
ConnectionString
Essa propriedade definida como uma varivel do tipo WideString e define como ser feita a conexo ao banco de dados. As propriedades Connection e ConnectionString so mutuamente excludentes.
IndexFieldCount
Essa propriedade definida como uma varivel inteira, e define o nmero de campos que definem o ndice corrente.
IndexFieldCount
Essa propriedade definida como uma array de objetos da classe TFields, sendo que cada um destes objetos define um dos campos que formam o ndice corrente.
LockType
Essa propriedade definida como uma varivel do tipo TADOLockType e define como os registros so protegidos (travados) ao serem acessados pelo componente. o cursor que aponta para os registros se situa do lado cliente (ideal para manipulao irrestrita dos registros) ou do lado servidor (ideal quando o nmero de registros a serem acessados muito grande). Esta propriedade pode assumir um dos valores descritos a seguir:
ltUnspecified: Nenhuma proteo especificada.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
519
sendo editado.
ltBatchOptimistic: Usado em operaes de transferncia de arquivos.
MaxRecords
Essa propriedade definida como uma varivel inteira, e define o nmero mximo de registros retornados pelo componente.
ParamCheck
Essa propriedade definida como uma varivel booleana, e define se a lista de parmetros do componente deve ser gerada novamente quando a declarao SQL alterada durante a execuo do aplicativo.
Parameters
Essa propriedade definida como um objeto da classe TParameters, e define os parmetros usados em uma declarao SQL.
Prepared
Essa propriedade definida como uma varivel booleana, e define se a declarao SQL deve ser preparada (para otimizao da sua execuo) artes de ser executada.
RecNo
Essa propriedade definida como uma varivel inteira, e define o nmero do registro corrente, dentre todos os registros provenientes da tabela representada pelo componente. uma propriedade apenas de leitura, e no pode ter o seu valor diretamente alterado pelo usurio, podendo ter o seu valor alterado em funo da aplicao de um filtro.
RecordCount
Essa propriedade definida como uma varivel inteira, e define o nmero de registros provenientes da tabela representada pelo componente. uma propriedade apenas de leitura, e no pode ter o seu valor diretamente alterado pelo usurio, podendo, no entanto, ter o seu valor alterado em funo da aplicao de um filtro.
RecordSize
Essa propriedade definida como uma varivel inteira sem sinal (Word), e define o tamanho do registro acessado pelo componente.
Sort
Essa propriedade definida como uma varivel do tipo Widestring, e define o(s) campo(s) pelos quais os registros acessados pelo componente devem ser ordenados. Os campos devem ser separados por vrgulas, e podem ser acompanhados das palavras ASCENDING ou DESCENDING, indicando se o campo ser ordenado de forma ascendente ou descendente. Se no existir um ndice para os campos especificados, ser criado um ndice temporrio.
ApplyUpdates
Declarao
function BookmarkValid(Bookmark: TBookmark): Boolean; override;
Esse mtodo determina se o bookmark passado como parmetro vlido, isto , se h um valor atribudo ao mesmo.
CancelUpdates
Declarao
procedure CancelUpdates;
Esse mtodo cancela as alteraes feitas localmente, para um componente que acessa uma tabela.
Clone
Declarao
procedure Clone(Source: TCustomADODataSet; LockType: TLockType = ltUnspecified);
Esse mtodo copia os registros de outro componente derivado de TCustomADODataset passado como parmetro.
CompareBookmarks
Declarao
function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer; override;
Este mtodo compara dois objetos da classe TBookmark, retornando a diferena entre os dois Bookmarks.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
521
Este mtodo permite a remoo de um ou mais registros acessados pelo componente, dependendo do valor passado pelo parmetro AffectRecords passado como parmetro. Este parmetro pode assumir um dos seguintes valores:
arCurrent: Remove apenas o registro corrente. arFiltered: Remove apenas os registros que satisfazem a condio definida pelo filtro aplicado
a um componente.
arAll: Remove todos os registros acessados pelo componente.
DeleteRecords
Declarao
procedure FilterOnBookmarks(Bookmarks: array of const);
Este mtodo aplica um filtro que faz com que apenas sejam exibidos os registros para os quais foi definido um Bookmark.
LoadFromFile
Declarao
procedure LoadFromFile(const FileName: WideString);
Este mtodo recupera de um arquivo (cujo nome passado como primeiro parmetro na forma de uma string) os registros acessados pelo componente.
Requery
Declarao
procedure Requery(Options: TExecuteOptions = []);
Este mtodo atualiza a exibio dos registros acessados pelo componente, em funo das opes definidas pelo parmetro Options, que pode ter um dos valores a seguir:
eoAsyncExecute: O comando de atualizao de registros executado de forma assncrona. eoAsyncFetch: O comando de atualizao de registros executado de forma assncrona,
a thread corrente.
eoExecuteNoRecords: Aplica-se a comandos ou stored procedures que no retornam um
conjunto de registros.
Este mtodo salva em um arquivo (cujo nome passado como primeiro parmetro na forma de uma string) os registros acessados pelo componente, no formato definido pelo segundo parmetro. Os formatos possveis para o segundo parmetro so:
pfADTG: Formato Advanced Data Tablegram pfXML: Formato XML
Seek
Declarao
function Seek(const KeyValues: Variant; SeekOption: TSeekOption = soFirstEQ): Boolean;
Este mtodo pesquisa os registros com base em valores a serem armazenados nos campos que definem o ndice corrente. O primeiro parmetro, na forma de uma array de Variants, contm os valores a serem pesquisados nos campos que formam o ndice corrente. O segundo parmetro define como dever ser feita a pesquisa, e pode ter um dos seguintes valores:
soFirstEQ: Se um ou mais registros possuem nos campos que formam o indice corrente os
valores definidos na pesquisa, o primeiro registro deste conjunto definido como o registro corrente. Se nenhum registro atende aos requisitos especificados, o ltimo registro acessado pelo componente definido como o registro corrente.
soLastEQ: Se um ou mais registros possuem nos campos que formam o indice corrente os
valores definidos na pesquisa, o ltimo registro deste conjunto definido como o registro corrente. Se nenhum registro atende aos requisitos especificados, o ltimo registro acessado pelo componente definido como o registro corrente.
.soAfterEQ: Se um ou mais registros possuem nos campos que formam o indice corrente os
valores definidos na pesquisa, o registro aps o primeiro registro deste conjunto definido como o registro corrente. Se nenhum registro atende aos requisitos especificados, o ltimo registro acessado pelo componente definido como o registro corrente.
soAfter: Se um ou mais registros possuem nos campos que formam o indice corrente os valores
definidos na pesquisa, o registro aps o ltimo registro deste conjunto definido como o registro corrente. Se nenhum registro atende aos requisitos especificados, o ltimo registro acessado pelo componente definido como o registro corrente.
soBeforeEQ: Se um ou mais registros possuem nos campos que formam o indice corrente os
valores definidos na pesquisa, o registro imediatamente anterior ao primeiro registro deste conjunto definido como o registro corrente. Se nenhum registro atende aos requisitos especificados, o ltimo registro acessado pelo componente definido como o registro corrente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
523
definidos na pesquisa, o registro imediatamente anterior ao primeiro registro deste conjunto definido como o registro corrente. Se nenhum registro atende aos requisitos especificados, o ltimo registro acessado pelo componente definido como o registro corrente.
OnEndOfRecordSet
Este evento ocorre quando o ltimo registro acessado pelo componente o registro corrente.
OnFetchComplete
Este evento ocorre quando o componente termina de carregar o conjunto de registros por ele acessado.
OnFetchProgress
Este evento ocorre enquanto o componente carrega o conjunto de registros por ele acessado.
OnFieldChangeComplete
Este evento ocorre aps a alterao do valor armazenado em um campo do registro corrente.
OnMoveComplete
Este evento ocorre aps a alterao de posio do registro definido como registro corrente.
OnRecordChangeComplete
Este evento ocorre aps a alterao dos valores armazenados nos campos de diversos registros acessados pelo componente.
OnRecordsetChangeComplete
Este evento ocorre aps a alterao do conjunto de registros acessados pelo componente.
OnWillChangeField
Este evento ocorre antes da alterao do valor armazenado em um campo do registro corrente.
OnWillMove
Este evento ocorre antes da alterao de posio do registro definido como registro corrente.
OnWillChangeRecordset
Este evento ocorre antes da alterao do conjunto de registros acessados pelo componente.
A CLASSE TADOCOMMAND
Esta classe derivada diretamente da classe TComponent, e implementada na forma de um componente (o segundo componente da pgina ADO da paleta de componentes). A classe TADOCommand permite que se acesse diretamente um banco de dados ADO via declaraes SQL que no retornem um conjunto de registros a serem editados na aplicao.
CommandObject
Essa propriedade definida como um objeto que acessa diretamente o objeto Activex responsvel pela conexo.
CommandText
Essa propriedade definida como uma varivel do tipo WideString, e define o comando a ser executado (geralmente na forma de uma declarao SQL).
CommandTimeOut
Essa propriedade definida como uma varivel inteira, e define o tempo mximo (em segundos) para a execuo de um comando (seno considera-se que o conando no foi executado com sucesso). Seu valor default igual a 30.
CommandType
Essa propriedade definida como uma varivel do tipo TCommandType, e define o tipo de comando a ser executado. Esta propriedade pode assumir um dos seguintes valores:
CmdUnknown: O tipo de comando desconhecido. cmdText: O comando uma definio textual de uma declarao SQL ou chamada de uma
Stored Procedure.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
525
armazenado.
cmdTableDirect: O comando , na realidade, o nome de uma tabela, sendo todos os campos
Connection
Essa propriedade definida como uma varivel do tipo TADOConnection, e define o tipo de conexo que ser usada pelo componente.
ConnectionString
Essa propriedade definida como uma varivel do tipo WideString e define como ser feita a conexo ao banco de dados. As propriedades Connection e ConnectionString so mutuamente excludentes.
ParamCheck
Essa propriedade definida como uma varivel booleana, e define se a lista de parmetros do componente deve ser gerada novamente quando a declarao SQL alterada durante a execuo do aplicativo.
Parameters
Essa propriedade definida como um objeto da classe TParameters, e define os parmetros usados em uma declarao SQL.
Prepared
Essa propriedade definida como uma varivel booleana, e define se a declarao SQL deve ser preparada (para otimizao da sua execuo) antes de ser executada.
Esse mtodo copia as propriedades de outro componente TADOCommand para o componente corrente.
Cancel
Declarao
procedure Cancel;
Execute
Declarao
function Execute: _RecordSet; overload; function Execute(const Parameters: OleVariant): _Recordset; overload; function Execute(var RecordsAffected: Integer; var Parameters: OleVariant; ExecuteOptions: TExecuteOptions = []): _RecordSet; overload;
Esse mtodo responsvel pela execuo do comando especificado na propriedade CommandText do componente. Repare que este mtodo sobrecarregado, podendo ser executado com diferentes conjuntos de parmetros.
A CLASSE TADODATASET
Esta classe derivada diretamente da classe TCustomADODataset, e implementada na forma de um componente (o terceiro componente da pgina ADO da paleta de componentes). A classe TADODataSet, derivada por herana direta da classe TCustomADODataSet, incorpora as principais caractersticas do mecanismo ADO a alguns dos mtodos declarados na classe TDataSet, sobrecarregando-os (no caso de mtodos virtuais) ou implementando-os (no caso de mtodos abstratos). Os mtodos implementados por essa classe no so normalmente usados no desenvolvimento de aplicaes em Delphi, pois geralmente so utilizados componentes representados por classes derivadas por herana desta classe (TADOTable, TADOQuery e TADOStoredProc).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
527
CreateDataset
Declarao
function Createdataset;
Esse mtodo responsvel pela obteno dos registros a serem acessados pelo componente, sendo usado internamente e no devendo ser chamado diretamente pela aplicao.
GetIndexNames
Declarao
procedure GetIndexNames(List: TStrings);
Esse mtodo retorna, na lista de strings passada como parmetro na forma de um objeto da classe TStrings, os nomes dos ndices definidos para a tabela.
KNOW-HOW EM: CLASSES DE ACESSO DIRETO A BANCOS DE DADOS VIA BDE AS CLASSES TADOTABLE E TADOQUERY
PR-REQUISITOS
Fundamentos da programao orientada a objetos com o Delphi 7. Experincia prvia na utilizao de componentes no desenvolvimento de aplicaes com Delphi 7. Compreenso da classes TCustomADODataset, TADODataset e TADOConnection.
METODOLOGIA
Apresentao das classes e dos componentes de acesso direto a bancos de dados via ADO, juntamente com uma descrio das suas
TCNICA
Descrio das classes e dos componentes de acesso direto a bancos de dados e apresentao de exemplos de aplicao. Sero apresentadas neste tpico as classes usadas para acesso direto a bancos de dados via ADO as classes TADOTable e TADOQuery.
A CLASSE TADOTABLE
A classe TADOTable derivada por herana direta da classe TADODataSet, sendo normalmente utilizada para se estabelecer uma conexo a uma tabela individual do banco de dados.
IndexFieldNames
Essa propriedade definida como uma varivel do tipo string, que armazena os nomes dos campos que compem o ndice corrente, separados por um ponto-e-vrgula. As propriedades IndexName e IndexFieldNames so mutuamente excludentes, isto , a definio de um valor para uma propriedade anula o valor definido para a outra.
IndexName
Essa propriedade definida como uma varivel do tipo string e define o nome do ndice corrente da tabela.
MasterFields
Essa propriedade definida como uma varivel do tipo string e define os nomes dos campos da tabela principal em um relacionamento (separados por um ponto-e-vrgula), devendo ser definida no componente que representa a tabela secundria.
MasterSource
Essa propriedade definida como um objeto da classe TDataSource e define o nome do componente DataSource ao qual est associado o componente da classe TTable que representa a tabela principal em um relacionamento entre tabelas. Essa propriedade deve ser definida apenas no componente que representa a tabela secundria no relacionamento.
ReadOnly
Essa propriedade definida como uma varivel booleana e define se a tabela pode ser acessada apenas para visualizao de registros.
TableDirect
Essa propriedade definida como uma varivel booleana, e define se o acesso tabela feito de forma direta, ou se necessria a criao de uma declarao SQL em background.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
529
GetIndexNames
Declarao
procedure GetIndexNames(List: TStrings);
Esse mtodo armazena em um objeto da classe TStrings (passado como parmetro na chamada do mtodo) os nomes dos ndices definidos para a tabela representada pelo componente.
A CLASSE TADOQUERY
A classe TADOQuery derivada por herana direta da classe TCustomADODataSet, sendo normalmente utilizada para se estabelecer uma conexo a uma ou mais tabelas de um banco de dados acessadas via ADO usando-se declaraes SQL.
RowsAffected
Essa propriedade definida como uma varivel inteira e informa a quantidade de registros afetados pela ltima declarao SQL executada pelo componente.
SQL
Essa propriedade definida como um objeto da classe TStrings (que uma lista de strings) na qual deve ser armazenada a declarao SQL a ser executada mediante uma chamada aos mtodos Open ou ExecSQL do componente.
Esse mtodo permite a execuo de declaraes SQL que envolvam a insero, a remoo e a atualizao de registros, isto , declaraes SQL que contm as clusulas Insert, Delete e Update. Declaraes SQL que envolvem apenas consultas resultantes da utilizao da clusula SELECT devem ser executadas mediante uma chamada ao mtodo Open do componente.
EXEMPLOS DE APLICAO
ESTABELECENDO UMA CONEXO A BANCOS DE DADOS DO MS ACESS COM O COMPONENTE ADOCONNECTION
Para se conectar a um banco de dados do MS Access com o componente ADOConnection, voc deve executar os seguintes procedimentos: 1. Coloque um componente ADOConnection no formulrio ou Datamodule. 2. Selecione os trs pontinhos direita da sua propriedade ConnectionString, para exibir a caixa de dilogo mostrada na figura a seguir:
3. Selecione o boto Build para exibir a caixa de dilogo de Propriedades de vinculao de dados, mostrada na figura a seguir, e cuja finalidade nos auxiliar na criao da string de conexo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
531
4. Nesta caixa de dilogo, selecione o item Microsoft Jet 4.0 OLE DB Provider, como indicado na figura anterior. 5. Selecione o boto Next, para exibir a prxima pgina desta caixa de dilogo. Nesta pgina, voc deve informar o nome do banco de dados ou localizar o arquivo no qual o mesmo se encontra armazenado. Neste caso, basta selecionar o boto direita da caixa de texto Insira o nome de um banco de dados para exibir a caixa de dilogo padro para seleo de arquivos do Windows (neste caso, para a seleo de arquivos mdb) e escolher o arquivo desejado, cujos nome e path completos aparecero nesta caixa de texto, conforme mostrado na figura a seguir. Neste caso selecionou-se C:\Arquivos de programas\Arquivos comuns\Borland Shared\Data\dbdemos.mdb
7. Selecione Ok para fechar a caixa de dilogo de Propriedades de vinculao de dados e verificar a string de conexo na caixa de dilogo String Connection, como mostrado na prxima figura. Repare que a string de conexo bastante complexa, embora possa ser definida manualmente bem mais simples utilizar a caixa de dilogo Data Link Properties.
8. Selecione Ok para fechar a caixa de dilogo Connection String e defina como True o valor da propriedade Connected deste componente. Ser exibida a caixa de dilogo Database Login. Mantenha os valores de UserName e password em branco e selecione o boto Ok para efetuar a conexo. Se voc definir como False o valor da propriedade LoginPrompt, esta caixa de dilogo no ser exibida (e neste caso no necessria em outras situaes ser necessrio fornecer tais valores a partir do procedimento associado ao seu evento OnLogin). Repare o tamanho da string usada para definir a conexo:
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Arquivos de programas\Arquivos comuns\Borland Shared\Data\dbdemos.mdb;Mode=Share Deny None;Extended Properties=;Jet OLEDB:System database=;Jet OLEDB:Registry Path=;Jet OLEDB:Database Password=;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Dont Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
533
3. Atribua o valor True a sua propriedade Active. Repare que este componente, por ser derivado da classe TDataset, pode ter o seu nome diretamente atribudo propriedade Dataset de um componente Datasource, de forma que os registros retornados em um comando Select possam ser visualizados diretamente em um dos componentes de visualizao. til quando se quer acessar dados a partir de um banco de dados remoto, pois possui a propriedade RDSConnection ( qual pode ser atribudo o nome de um componente TRDSConnection) o que no pode ser feito com os componentes TADOQuery e TADOTable. Este componente tambm possui um editor de campos (Fields Editor) semelhante ao existente para os componentes TTable, TQuery e seus equivalentes TADOTable e TADOQuery.
Como mostrado na figura a seguir, a propriedade CommandText pode ser editada a partir da caixa de dilogo Command Text Editor, mostrada na figura a seguir.
Figura 24.7: Editando a propriedade CommandText com a caixa de dilogo CommandText Editor.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
535
Repare que para este componente tambm no existe a propriedade DatabaseName - em seu lugar temos as propriedades Connection e ConnectionString, que so umtuamente excludentes.
Conforme j foi descrito anteriormente, as propriedades IndexName e IndexFieldNames so mutuamente excludentes. Atribuir um valor a uma propriedade anula o valor definido para a outra.
Considere, neste exemplo, a seguinte declarao SQL (usada no exemplo do componente TQuery):
Select * From Country Where Continent =:Nome
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
537
Repare que o componente ADOQuery no possui o mtodo ParambyName ao invs disso deve ser usada a propriedade Parameters que, por sua vez, possui uma array de parmetros chamada ParamValues, na qual os parmetros podem ser acessados pelo seu nome. Alm disso, deve ser notada a inexistncia do mtodo Prepare, e que o componente no pode ter o valor da sua propriedade Active como True enquanto no for definido um valor para o parmetro. Isto pode ser feito no procedimento associado ao evento OnCreate do formulrio ou no prprio Object Inspector, como mostrado na figura a seguir.
Captulo
25
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
539
METODOLOGIA
Apresentao dos componentes de acesso a bancos de dados via DBExpress, juntamente com uma descrio das suas propriedades, mtodos
e eventos.
TCNICA
Descrio dos componentes de acesso a bancos de dados via DBExpress.
Este mecanismo foi bastante empregado na primeira parte do livro, e sua principal caracterstica reside no fato de ser um mecanismo unidirecional de acesso a dados, o que significa que voc no pode navegar diretamente pelos registros acessados atravs de seus componentes, como ocorria com os componentes de acesso via BDE e ADO. Uma alternativa, neste caso, consiste em utilizar o componente ClientDataset em conjunto com um DatasetProvider e o componente de acesso ou, como j descrito anteriormente, o componente SimpleDataset, que rene as funcionalidades de diversos componentes.
O COMPONENTE TSQLCONNECTION
Este componente, derivado por herana da classe TCustomConnection, permite que se estabelea uma conexo a um banco de dados via DBExpress. Este componente tem uma funcionalidade semelhante ao TDatabase no mecanismo Borland Database Engine e ao ADOConnection do ADO, e permite que diversos componentes de acesso estejam diretamente conectados a ele.
DriverName
Essa propriedade definida como uma varivel do tipo string, e define o driver para o tipo de banco de dados que ser acessado. Por enquanto, esto disponveis drivers para INTERBASE, MYSQL, ORACLE, MSSQL, INFORMIX e DB2.
Connected
Essa propriedade definida como uma varivel booleana, e define se uma conexo foi ou no estabelecida pelo componente.
LoginPrompt
Essa propriedade definida como uma varivel booleana, e define se uma caixa de dilogo de Login deve ou no ser exibida ao se tentar estabelecer uma conexo atravs deste componente.
KeepConnection
Essa propriedade definida como uma varivel booleana, e define se a conexo deve continuar permanentemente ativa, mesmo que no se esteja efetuando nenhum acesso aos dados.
Name
Essa propriedade definida como uma varivel do tipo string, e define o nome pelo qual o componente ser referenciado no cdigo da aplicao. A maioria destas propriedades pode ser configurada usando-se a caixa de dilogo DBExpress Connection, mostrada na figura a seguir. Esta caixa de dilogo exibida dando-se um duplo clique sobre o componente ou selecionando-se o item Connection Editor do seu menu pop-up, e tambm pode ser usada para armazenar os valores default do username e password.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
541
CloseAllDataSets
Declarao
procedure CloseDataSets;
Esse mtodo desativa todos os objetos derivados da classe TDataset a ele conctados, sem no entanto finalizar a sua prpria conexo ao banco de dados.
Commit
Declarao
procedure Commit;
Execute
Declarao
function Execute(const SQL: string; Params: TParams ; ResultSet:Pointer=nil): Integer;
Esse mtodo executa um comando SQL sobre o servidor de banco de dados. Repare que este mtodo sobrecarregado, possuindo duas implementaes distintas. O comando a ser executado passado na forma de uma string, alm de outros parmetros que indicam como os registros devem ser afetados.
GetProcedureNames
Declarao
procedure GetProcedureNames(List: TStrings);
Esse mtodo armazena na lista de strings passada como parmetro os nomes de todos os procedimentos armazenados existentes no banco de dados ao qual o componente est conectado.
GetTableNames
Declarao
procedure GetTableNames(List: TStrings; SystemTables: Boolean = False);
Open
Declarao
procedure Open;
Esse mtodo ativa uma conexo ao banco de dados ao qual o componente est conectado.
Rollback
Declarao
procedure Rollback(TransDesc: TTransactionDesc);
AfterConnect
Este evento ocorre logo aps uma conexo ser estabelecida pelo componente.
AfterDisConnect
Este evento ocorre logo aps uma conexo ser finalizada pelo componente.
BeforeConnect
Este evento ocorre imediatamente antes de uma conexo ser estabelecida pelo componente.
BeforeDisConnect
Este evento ocorre imediatamente antes de uma conexo ser finalizada pelo componente.
OnLogin
Este evento ocorre imediatamente aps o evento BeforeConnect, e permite que se definam valores para o username e o password de acesso ao banco de dados.
A CLASSE TCUSTOMSQLDATASET
Conforme descrito anteriormente, a classe TDataSet implementa a funcionalidade genrica para acesso a tabelas, sem incorporar as funes de qualquer API.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
543
SQLConnection
Essa propriedade definida como uma varivel do tipo TSQLConnection, e define o nome do componente SQLConnection atravs do qual ser feita a conexo ao servidor do banco de dados.
CommandType
Essa propriedade definida como uma varivel do tipo TSQLCommandType, e define se o acesso ser feito diretamente a uma tabela (se seu valor for ctTable), via declarao SQL (se seu valor for ctQuery) ou a um procedimento armazenado (se seu valor for igual a ctStoredProc).
CommandText
Essa propriedade definida como uma varivel do tipo string, e seu valor vai depender do valor previamente atribudo propriedade CommandType. Se CommandType for igual a ctTable, esta propriedade dever armazenar o nome de uma tabela. Se CommandType for igual a ctQuery, esta propriedade dever armazenar um comando SQL. Se CommandType for igual a ctStoredProc, esta propriedade dever armazenar o nome de um procedimento armazenado.
A CLASSE TSQLDATASET
Esta classe derivada diretamente da classe TCustomSQLDataset, e implementada na forma de um componente. A classe TSQLDataSet permite que se acesse diretamente uma tabela de um banco de dados, um conjunto de tabelas via declaraes SQL ou um procedimento armazenado, dependendo do valor atribudo a sua propriedade CommandType.
Active
Esta propriedade definida como uma varivel booleana que define se a conexo representada pelo componente est ou no ativa.
SQLConnection
Essa propriedade definida como uma varivel do tipo TSQLConnection, e define o nome do componente SQLConnection atravs do qual ser feita a conexo ao servidor do banco de dados.
CommandType
Essa propriedade definida como uma varivel do tipo TSQLCommandType, e define se o acesso ser feito diretamente a uma tabela (se seu valor for ctTable), via declarao SQL (se seu valor for ctQuery) ou a um procedimento armazenado (se seu valor for igual a ctStoredProc).
CommandText
Essa propriedade definida como uma varivel do tipo string, e seu valor vai depender do valor previamente atribudo propriedade CommandType. Se CommandType for igual a ctTable, esta propriedade dever armazenar o nome de uma tabela. Se CommandType for igual a ctQuery, esta propriedade dever armazenar um comando SQL. Se CommandType for igual a ctStoredProc, esta propriedade dever armazenar o nome de um procedimento armazenado.
KNOW-HOW EM: CLASSES DE ACESSO DIRETO A BANCOS DE DADOS VIA DBEXPRESS AS CLASSES TSQLTABLE, TSQLQUERY E TSQLSTOREDPROC
PR-REQUISITOS
Fundamentos da programao orientada a objetos com o Delphi 6 e o Kylix. Experincia prvia na utilizao de componentes no desenvolvimento de aplicaes com Delphi 7. Compreenso das classes TCustomSQLDataset, TSQLDataset e TSQLConnection.
METODOLOGIA
Apresentao das classes e dos componentes de acesso direto a bancos de dados via DBExpress, juntamente com uma descrio das suas
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
545
Sero apresentadas neste tpico as classes usadas para acesso direto a bancos de dados via DBExpress as classes TSQLTable, TSQLQuery e TSQLStoredProc.
A CLASSE TSQLTABLE
A classe TSQLTable derivada por herana direta da classe TSQLDataSet, sendo normalmente utilizada para se estabelecer uma conexo a uma tabela individual do banco de dados. Trata-se de uma especializao da classe TSQLDataSet com CommandType igual a ctTable.
Active
Esta propriedade definida como uma varivel booleana que define se a conexo representada pelo componente est ou no ativa.
IndexFieldNames
Essa propriedade definida como uma varivel do tipo string, que armazena os nomes dos campos que compem o ndice corrente, separados por um ponto-e-vrgula. As propriedades IndexName e IndexFieldNames so mutuamente excludentes, isto , a definio de um valor para uma propriedade anula o valor definido para a outra.
IndexName
Essa propriedade definida como uma varivel do tipo string e define o nome do ndice corrente da tabela.
MasterFields
Essa propriedade definida como uma varivel do tipo string e define os nomes dos campos da tabela principal em um relacionamento (separados por um ponto-e-vrgula), devendo ser definida no componente que representa a tabela secundria.
MasterSource
Essa propriedade definida como um objeto da classe TDataSource e define o nome do componente DataSource ao qual est associado o componente da classe TSQLTable que representa a tabela principal em um relacionamento entre tabelas. Essa propriedade deve ser definida apenas no componente que representa a tabela secundria no relacionamento.
GetIndexNames
Declarao
procedure GetIndexNames(List: TStrings);
Esse mtodo armazena em um objeto da classe TStrings (passado como parmetro na chamada do mtodo) os nomes dos ndices definidos para a tabela representada pelo componente.
A CLASSE TSQLQUERY
A classe TSQLQuery derivada por herana direta da classe TSQLDataSet, sendo normalmente utilizada para se estabelecer uma conexo a uma ou mais tabelas de um banco de dados acessadas via DBExpress usando-se declaraes SQL. Trata-se de uma especializao da classe TSQLDataSet com CommandType igual a ctQuery.
Active
Esta propriedade definida como uma varivel booleana que define se a conexo representada pelo componente est ou no ativa.
SQL
Essa propriedade definida como um objeto da classe TStrings (que uma lista de strings) na qual deve ser armazenada a declarao SQL a ser executada mediante uma chamada aos mtodos Open ou ExecSQL do componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
547
Esse mtodo permite a execuo de declaraes SQL que envolvam a insero, a remoo e a atualizao de registros, isto , declaraes SQL que contm as clusulas Insert, Delete e Update. Declaraes SQL que envolvem apenas consultas resultantes da utilizao da clusula SELECT devem ser executadas mediante uma chamada ao mtodo Open do componente.
A CLASSE TSIMPLEDATASET
Conforme descrito anteriormente, os componentes que acessam bancos de dados via DBExpress s permitem acesso unidirecional ao banco de dados. Conseqentemente, para contornar este problema seria necessrio utilizar, em conjunto com cada um daqieles componentes, um componente DatasetProvider e um componente ClientDataset, responsvel por editar localmente os registros, e permitir o seu acesso de forma bidirecional. Evidentemente, neste caso, as alteraes seriam aplicadas ao banco de dados mediante uma chamada ao mtodo ApplyUpdates do componente ClientDataset. Este componente pode ser considerado como uma reunio de trs componentes: Um SQLDataSet, um DatasetProvider e um ClientDataset. Conforme visto na primeira parte do livro, este componente simplifica bastante o desenvolvimento de aplicaes que acessam bancos de dados via DBExpress.
Active
Esta propriedade definida como uma varivel booleana que define se a conexo representada pelo componente est ou no ativa.
DBConnection
Essa propriedade definida como uma varivel do tipo TSQLConnection, e define o nome do componente SQLConnection atravs do qual ser feita a conexo ao servidor do banco de dados.
CommandType
Essa propriedade definida como uma varivel do tipo TSQLCommandType, e define se o acesso ser feito diretamente a uma tabela (se seu valor for ctTable), via declarao SQL (se seu valor for ctQuery) ou a um procedimento armazenado (se seu valor for igual a ctStoredProc).
IndexFieldNames
Essa propriedade definida como uma varivel do tipo string, que armazena os nomes dos campos que compem o ndice corrente, separados por um ponto-e-vrgula.
IndexName
Essa propriedade definida como uma varivel do tipo string e define o nome do ndice corrente da tabela.
MasterFields
Essa propriedade definida como uma varivel do tipo string e define os nomes dos campos da tabela principal em um relacionamento (separados por um ponto-e-vrgula), devendo ser definida no componente que representa a tabela secundria.
MasterSource
Essa propriedade definida como um objeto da classe TDataSource e define o nome do componente DataSource ao qual est associado o componente da classe TSimpleDataset que representa a tabela principal em um relacionamento entre tabelas. Essa propriedade deve ser definida apenas no componente que representa a tabela secundria no relacionamento.
OnReconcileError
Este evento ocorre sempre que surge um erro na atualizao de um registro (numa chamada ao mtodo ApplyUpdates) que no tenha sido tratado pelo evento OnUpdateError.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
549
Captulo
26
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
551
METODOLOGIA
Apresentao dos componentes de acesso a bancos de dados via Interbase Express, juntamente com uma descrio das suas propriedades,
mtodos e eventos.
TCNICA
Descrio dos componentes de acesso a bancos de dados via Interbase Express.
Este mecanismo apresenta como principal vantagem o fato de ser um mecanismo de acesso bidirecional, nativo e multiplataforma a bancos de dados do Interbase. Exige, no entanto, o emprego do conceito de transaes, que se aplica a aplicaes cliente-servidor, apresentadas em maiores detalhes no prximo captulo. Estes componentes esto disponveis na paleta Interbase da paleta de componentes, tanto para aplicaes baseadas na VCL como na CLX.
O COMPONENTE TIBDATABASE
Este componente, derivado por herana da classe TCustomConnection, permite que se estabelea uma conexo a um banco de dados via Interbase Express. Este componente tem uma funcionalidade semelhante ao TDatabase no mecanismo Borland Database Engine, ao TADOConnection do ADO, e ao TSQLConnection do DBExpress, e permite que diversos componentes de acesso estejam diretamente conectados a ele.
AllowStreamedConnection
Essa propriedade definida como uma varivel booleana, e define se uma conexo ao banco de dados deve ser estabelecida a partir do IDE do Delphi, quando a propriedade Connected deste componente for definida como True no Object Inspector.
DatabaseName
Essa propriedade definida como uma varivel do tipo string, e define o nome do banco de dados que ser acessado.
DefaultTransaction
Essa propriedade definida como um objeto da classe TIBTransaction, e define o componente da classe TIBTransaction que representar a transao default para o acesso ao banco de dados.
LoginPrompt
Essa propriedade definida como uma varivel booleana, e define se uma caixa de dilogo de Login deve ou no ser exibida ao se tentar estabelecer uma conexo atravs deste componente.
Name
Essa propriedade definida como uma varivel do tipo string, e define o nome pelo qual o componente ser referenciado no cdigo da aplicao.
Params
Essa propriedade definida como uma varivel do tipo TStrings, e define um conjunto de parmetros para a conexo que ser estabelecida. Como exemplo, podem-se citar as propriedades Username e Password, apresentadas a seguir, que podem ser definidas na caixa de dilogo String List Editor associada a esta propriedade, ao se estabelecer uma conexo quando a propriedade Login Prompt igual a False.
Password
Essa propriedade definida como uma varivel do tipo string, e define a senha de um usurio que tenta estabelecer a conexo ao banco de dados.
UserName
Essa propriedade definida como uma varivel do tipo string, e define o nome de um usurio que tenta estabelecer a conexo ao banco de dados. A maioria destas propriedades pode ser configurada usando-se a caixa de dilogo Database Editor, exibida dando-se um duplo clique sobre o componente ou selecionando-se o item correspondente do seu menu pop-up.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
553
ApplyUpdates
Declarao
procedure ApplyUpdates(const DataSets: array of TDataSet);
Esse mtodo aplica atualizaes pendentes em objetos derivados da classe TDataset passados como parmetros, na forma de uma array de objetos da classe TDataset. Desativa todos os objetos derivados da classe TDataset a ele conectados, sem no entanto finalizar a sua prpria conexo ao banco de dados.
CloseDataSets
Declarao
procedure CloseDataSets;
Esse mtodo desativa todos os objetos derivados da classe TDataset a ele conectados, sem no entanto finalizar a sua prpria conexo ao banco de dados.
DropDatabase
Declarao
procedure DropDatabase;
Esse mtodo remove o arquivo associado ao banco de dados, e deve ser usado com muita cautela.
GetTableNames
Declarao
procedure GetTableNames(const DatabaseName, Pattern: string; Extensions, SystemTables: Boolean; List: TStrings);
TestConnected
Declarao
procedure TestConnected: Boolean;
AfterConnect
Este evento ocorre logo aps uma conexo ser estabelecida pelo componente.
AfterDisConnect
Este evento ocorre logo aps uma conexo ser finalizada pelo componente.
BeforeConnect
Este evento ocorre imediatamente antes de uma conexo ser estabelecida pelo componente.
BeforeDisConnect
Este evento ocorre imediatamente antes de uma conexo ser finalizada pelo componente.
OnLogin
Este evento ocorre imediatamente aps o evento BeforeConnect, e permite que se definam valores para o username e o password de acesso ao banco de dados.
O COMPONENTE TIBTRANSACTION
Este componente, derivado por herana da classe TComponent, permite que se represente uma transao individual a um banco de dados representado por um componente TIBDatabase. Um componente TIBDatabase ter uma transao default, mas vrias transaes podem estar definidas, cada uma definida por um componente Transaction. Os componentes de acesso estaro vinculados a um componente desta classe a partir da sua propriedade Transaction.
O conceito de transaes ser apresentado no prximo captulo, que trata de aplicaes cliente-servidor.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
555
DatabaseCount
Essa propriedade definida como uma varivel inteira, que define o nmero de bancos de dados vinculados a essa transao.
Databases
Essa propriedade definida como uma array de objetos da classe TIBDatabase, e permite acessar diretamente cada um dos componentes que representam os bancos de dados vinculados a essa transao.
DefaultDatabase
Essa propriedade definida como um objeto da classe TIBDatabase, e permite acessar diretamente o componente que representa o banco de dados default vinculado a essa transao.
InTransaction
Esta propriedade definida como uma varivel booleana que define se a transao representada pelo componente est sendo executada (est em progresso).
AddDatabase
Declarao
function AddDatabase(db: TIBDatabase): Integer;
Esse mtodo adiciona um banco de dados, cujo componente TIBDatabase que o representa passado como parmetro, transao representada pelo componente.
CheckDatabasesInList
Declarao
procedure CheckDatabasesInList;
Esse mtodo verifica se existem bancos de dados associados transao representada pelo componente, gerando uma exceo caso no haja nenhum.
Commit
Declarao
procedure Commit;
CommitRetaining
Declarao
procedure CommitRetaining;
Esse mtodo confirma a execuo de todos os comandos iniciados aps a ltima chamada ao mtodo StartTransaction sem no entanto finalizar a execuo da transao. Esse mtodo s pode ser executado se uma transao estiver sendo processada, o que pode ser constatado verificando-se o valor da propriedade InTransaction. Aps uma chamada ao mtodo Commit, a propriedade InTransaction assume o valor False.
FindDatabase
Declarao
function FindDatabase(db: TIBDatabase): Integer;
Esse mtodo retorna o ndice de um banco de dados, cujo componente TIBDatabase que o representa passado como parmetro, no que se refere transao representada pelo componente.
FindDatabase
Declarao
function FindDefaultDatabase: TIBDatabase;
Esse mtodo retorna o componente TIBDatabase que representa o banco de dados default associado transao.
RemoveDatabase
Declarao
procedure RemoveDatabase(Idx: Integer);
Esse mtodo remove o banco de dados associado transao, cujo ndice passado como parmetro.
RemoveDatabases
Declarao
procedure RemoveDatabases;
RollBack
Declarao
procedure RollBack;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
557
RollBackRetaining
Declarao
procedure RollBackRetaining;
Esse mtodo cancela todos os comandos iniciados aps a ltima chamada ao mtodo StartTransaction sem no entanto finalizar a execuo da transao representada pelo componente.
StartTransaction
Declarao
procedure StartTransaction;
Esse mtodo inicia uma nova transao, e s pode ser executado se no houver uma transao sendo processada, isto , aps uma chamada ao mtodo Commit ou RollBack. Aps uma chamada ao mtodo StartTransaction, a propriedade InTransaction assume o valor True.
OnIdleTimer
Este evento ocorre quando a transao representada pelo componente fica em espera.
A CLASSE TIBCUSTOMDATASET
Conforme descrito anteriormente, a classe TDataSet implementa a funcionalidade genrica para acesso a tabelas, sem incorporar as funes de qualquer API. A classe TIBCustomDataset, derivada por herana direta da classe TDataSet, incorpora as principais caractersticas do mecanismo Interbase Express a alguns dos mtodos declarados na classe TDataSet, sobrecarregando-os (no caso de mtodos virtuais) ou implementando-os (no caso de mtodos abstratos). Os mtodos implementados por essa classe no so normalmente usados no desenvolvimento de aplicaes em Delphi, pois geralmente so utilizados componentes representados por classes derivadas por herana desta classe.
Database
Essa propriedade definida como uma varivel do tipo TIBDatabase, e define o nome do componente Database atravs do qual ser feita a conexo ao servidor do banco de dados.
Active
Esta propriedade definida como uma varivel booleana que define se a conexo representada pelo componente est ou no ativa.
Database
Essa propriedade definida como uma varivel do tipo TIBDatabase, e define o nome do componente IBDatabase atravs do qual ser feita a conexo ao servidor do banco de dados.
DeleteSQL
Essa propriedade definida como um objeto da classe TStrings, e define o cdigo SQL a ser executado para a excluso de registros do banco de dados associado atravs do componente.
InsertSQL
Essa propriedade definida como um objeto da classe TStrings, e define o cdigo SQL a ser executado para a incluso de registros do banco de dados associado atravs do componente.
ModifySQL
Essa propriedade definida como um objeto da classe TStrings, e define o cdigo SQL a ser executado para a atualizao de registros do banco de dados associado atravs do componente.
RecNo
Essa propriedade definida como uma varivel do tipo inteiro, e define o nmero do registro corrente dentre aqueles acessados pelo componente.
RecordCount
Essa propriedade definida como uma varivel do tipo inteiro, e retorna o nmero de registros acessados pelo componente.
RefreshSQL
Essa propriedade definida como um objeto da classe TStrings, e define o cdigo SQL a ser executado para a atualizao da visualizao dos registros do banco de dados associado atravs do componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
559
Transaction
Essa propriedade definida como um objeto da classe TIBTransaction, e define o componente desta classe ao qual o componente de acesso est vinculado.
ApplyUpdates
Declarao
procedure ApplyUpdates;
Esse mtodo armazena no banco de dados as alteraes feitas localmente no componente. Essas alteraes, no entanto, s so efetivadas aps uma chamada ao mtodo Commit do componente TIBTransaction que representa uma transao do banco de dados.
CancelUpdates
Declarao
procedure CancelUpdates;
Locate
Declarao
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;
Esse mtodo permite a busca de um registro por campos que no faam parte do ndice corrente da tabela. Recebe como parmetros:
Uma string contendo os nomes dos campos pelos quais ser feita a pesquisa (separados por
ponto-e-vrgula).
Uma array do tipo Variant contendo os valores a serem pesquisados nos campos pelos quais
indiferentemente.
LoPartialKey: A pesquisa ser aproximada.
Esse mtodo efetiva a gravao das alteraes no registro corrente acessado pelo componente.
AfterDatabaseDisconnect
Este evento ocorre logo que a conexo ao servidor do banco de dados encerrada.
AfterTransactionEnd
Este evento ocorre logo que a transao vinculada ao componente finalizada.
BeforeDatabaseDisconnect
Este evento ocorre imediatamente antes que a conexo ao servidor do banco de dados seja encerrada.
BeforeTransactionEnd
Este evento ocorre imediatamente antes que a transao vinculada ao componente seja finalizada.
OnUpdateError
Este evento ocorre quando uma exceo gerada ao se tentar gravar as alteraes pendentes em um componente de acesso.
OnUpdateRecord
Este evento ocorre logo ao se atualizar um registro acessado pelo componente.
A CLASSE TIBDATASET
Esta classe derivada diretamente da classe TIBCustomDataset, e implementada na forma de um componente. A classe TIBDataSet permite que se execute diretamente uma declarao SQL em um banco de dados do Interbase.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
561
Prepared
Essa propriedade definida como uma varivel booleana, e define se o conjunto de registros representados pelo componente est ou no preparado para a execuo de uma consulta parametrizada.
ExecSQL
Declarao
procedure ExecSQL;
Este mtodo executa o comando SQL definido no componente, desde que no corresponda a uma consulta.
ParamByName
Declarao
function ParamByName(Idx : String) : TIBXSQLVAR;
Este mtodo permite retornar ou definir o valor de um parmetro em uma consulta parametrizada, sendo o seu nome passado como parmetro na forma de uma string.
Prepare
Declarao
procedure Prepare;
Este mtodo prepara o componente para a execuo de uma consulta parametrizada pelo componente.
UnPrepare
Declarao
procedure UnPrepare;
Este mtodo prepara o componente para a execuo de uma consulta parametrizada pelo componente.
KNOW-HOW EM: CLASSES DE ACESSO DIRETO A BANCOS DE DADOS VIA INTERBASE EXPRESS AS CLASSES TIBTABLE, TIBQUERY E TIBUPDATESQL
PR-REQUISITOS
Fundamentos da programao orientada a objetos com o Delphi 7. Experincia prvia na utilizao de componentes no desenvolvimento de aplicaes com Delphi 7. Compreenso da classes TIBCustomDataset, TIBDataset e TIBDatabase.
METODOLOGIA
Apresentao das classes e dos componentes de acesso direto a bancos de dados via Interbase Express, juntamente com uma descrio das
TCNICA
Descrio das classes e dos componentes de acesso direto a bancos de dados e apresentao de exemplos de aplicao. Sero apresentadas neste tpico as classes usadas para acesso direto a bancos de dados via Interbase Express as classes TIBTable,
TIBQuery e TIBUpdateSQL.
A CLASSE TIBTABLE
A classe TIBTable derivada por herana direta da classe TIBCustomDataSet, sendo normalmente utilizada para se estabelecer uma conexo a uma tabela individual do banco de dados.
Active
Esta propriedade definida como uma varivel booleana que define se a conexo representada pelo componente est ou no ativa.
CanModify
Essa propriedade definida como uma varivel booleana e define se a tabela pode ser acessada para edio, insero e remoo de registros.
Exclusive
Essa propriedade definida como uma varivel booleana e define se a tabela ser acessada em modo exclusivo pela aplicao. Se seu valor for igual a True, nenhuma outra aplicao poder acessar a tabela, enquanto a mesma estiver sendo acessada pela aplicao corrente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
563
IndexFieldCount
Essa propriedade definida como uma varivel inteira e define o nmero de campos que compem o ndice corrente.
IndexFieldNames
Essa propriedade definida como uma varivel do tipo string, que armazena os nomes dos campos que compem o ndice corrente, separados por um ponto-e-vrgula. As propriedades IndexName e IndexFieldNames so mutuamente excludentes, isto , a definio de um valor para uma propriedade anula o valor definido para a outra.
IndexFields
Essa propriedade definida como uma array de objetos da classe TField correspondentes aos campos que compem o ndice corrente.
IndexName
Essa propriedade definida como uma varivel do tipo string e define o nome do ndice corrente da tabela.
MasterFields
Essa propriedade definida como uma varivel do tipo string e define os nomes dos campos da tabela principal em um relacionamento (separados por um ponto-e-vrgula), devendo ser definida no componente que representa a tabela secundria.
MasterSource
Essa propriedade definida como um objeto da classe TDataSource e define o nome do componente DataSource ao qual est associado o componente da classe TTable que representa a tabela principal em um relacionamento entre tabelas. Essa propriedade deve ser definida apenas no componente que representa a tabela secundria no relacionamento.
ReadOnly
Essa propriedade definida como uma varivel booleana e define se a tabela pode ser acessada apenas para visualizao de registros.
TableName
Essa propriedade definida como uma varivel do tipo string e define os nomes da tabela representada pelo componente.
AddIndex
Declarao
procedure AddIndex(const Name, Fields: string; Options: TIndexOptions);
elementos:
ixPrimary: Se o novo ndice for definido como a chave primria da tabela (no se aplica a
CreateTable
Declarao
procedure CreateTable;
Esse mtodo permite a criao de uma tabela em run-time (no confundir com a criao do componente). Entretanto, antes de se executar uma chamada ao mtodo CreateTable, devem-se definir os valores das seguintes propriedades do componente:
DataBase: Define o nome do componente TIBDatabase que representa o banco de dados que
ser acessado.
TableName: Define o nome da tabela a ser criada. TableType: Define o tipo da tabela que ser criada. FieldDefs: Define os campos da tabela. Conforme ser visto posteriormente, esse objeto tem
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
565
DeleteIndex
Declarao
procedure DeleteIndex(const Name: string);
Esse mtodo remove o ndice cujo nome passado como parmetro na forma de uma string.
DeleteTable
Declarao
procedure DeleteTable;
Esse mtodo remove do banco de dados a tabela representada pelo componente, e deve ser empregado com o mximo de cautela. Antes de se executar esse mtodo, deve-se atribuir o valor False propriedade Active do componente que representa a tabela (o que tambm pode ser feito por uma chamada ao seu mtodo Close).
EmptyTable
Declarao
procedure EmptyTable;
GetIndexNames
Declarao
procedure GetIndexNames(List: TStrings);
Esse mtodo armazena em um objeto da classe TStrings (passado como parmetro na chamada do mtodo) os nomes dos ndices definidos para a tabela representada pelo componente.
GotoCurrent
Declarao
procedure GotoCurrent(Table: TTable);
Esse mtodo sincroniza o registro corrente dentre os registros manipulados pelo componente que representa a tabela com o registro corrente de outro componente TTable, cujo nome passado como parmetro, e que acessa a mesma tabela.
A CLASSE TIBQUERY
A classe TIBQuery derivada por herana direta da classe TIBCustomDataSet, sendo normalmente utilizada para se estabelecer uma conexo a uma ou mais tabelas de um banco de dados, acessadas via Interbase Express usando-se declaraes SQL.
Active
Esta propriedade definida como uma varivel booleana que define se a conexo representada pelo componente est ou no ativa.
Params
Essa propriedade definida como uma array de objetos da classe TParams, que representam individualmente os parmetros definidos para a Query.
Prepared
Essa propriedade definida como uma varivel booleana, e define se a Query foi preparada para ser executada, de modo a melhorar o seu desempenho. A preparao de uma Query pode ser feita atribuindo-se o valor True a essa propriedade, ou mediante uma chamada ao seu mtodo Prepare.
RequestLive
Essa propriedade definida como uma varivel booleana, e define se os registros provenientes de uma consulta podem ser editados localmente pelo usurio.
RowsAffected
Essa propriedade definida como uma varivel inteira, e define o nmero de linhas ou registros atualizados ou removidos pela execuo da ltima declarao SQL.
SQL
Essa propriedade definida como um objeto da classe TStrings (que uma lista de strings) na qual deve ser armazenada a declarao SQL a ser executada mediante uma chamada aos mtodos Open ou ExecSQL do componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
567
ExecSQL
Declarao
Procedure ExecSQL;
Esse mtodo permite a execuo de declaraes SQL que envolvam a insero, a remoo e a atualizao de registros, isto , declaraes SQL que contm as clusulas Insert, Delete e Update. Declaraes SQL que envolvem apenas consultas resultantes da utilizao da clusula SELECT devem ser executadas mediante uma chamada ao mtodo Open do componente.
ParamByName
Declarao
function ParamByName(Idx : String) : TIBXSQLVAR;
Este mtodo permite retornar ou definir o valor de um parmetro em uma consulta parametrizada, sendo o seu nome passado como parmetro na forma de uma string.
Prepare
Declarao
procedure Prepare;
Este mtodo prepara o componente para a execuo de uma consulta parametrizada pelo componente.
UnPrepare
Declarao
procedure UnPrepare;
Este mtodo prepara o componente para a execuo de uma consulta parametrizada pelo componente.
A CLASSE TIBUPDATESQL
A classe TIBUpdateSQL derivada por herana direta da classe TIBDataSetUpdateObject (sendo esta derivada diretamente da classe TComponent), e permite que se definam instrues de insero (INSERT), deleo (DELETE) e atualizao (UPDATE) em registros retornados atravs de uma consulta SQL, mesmo que esta tenha sido definida como uma consulta apenas de leitura (isto , a propriedade
DeleteSQL
Essa propriedade definida como um objeto da classe TStrings, e define o cdigo SQL a ser executado para a excluso de registros do banco de dados associado atravs do componente.
InsertSQL
Essa propriedade definida como um objeto da classe TStrings, e define o cdigo SQL a ser executado para a incluso de registros do banco de dados associado atravs do componente.
ModifySQL
Essa propriedade definida como um objeto da classe TStrings, e define o cdigo SQL a ser executado para a atualizao de registros do banco de dados associado atravs do componente.
RefreshSQL
Essa propriedade definida como um objeto da classe TStrings, e define o cdigo SQL a ser executado para a atualizao da visualizao dos registros do banco de dados associado atravs do componente.
ExecSQL
Declarao
procedure ExecSQL(UpdateKind: TUpdateKind);
Esse mtodo executa uma das instrues definidas pelas trs propriedades descritas no tpico anterior. Esse mtodo, ao contrrio do mtodo de mesmo nome do objeto Query, recebe como parmetro uma constante que indica o cdigo a ser executado. A tabela a seguir apresenta essas constantes e seus significados:
UkModify: Execute a declarao SQL armazenada na propriedade ModifySQL. UkInsert: Execute a declarao SQL armazenada na propriedade InsertSQL. UkDelete: Execute a declarao SQL armazenada na propriedade DeleteSQL.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
569
O mecanismo de acesso Interbase Express oferece tambm o componente IBSQL, da classe TIBSQL, que uma verso unidirecional, e conseqentemente mais eficiente para a realizao de consultas.
Captulo
27
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
571
METODOLOGIA
Apresentao do problema: Diviso de tarefas entre uma aplicao cliente e o servidor de bancos de dados.
TCNICA
Apresentao dos procedimentos necessrios criao de um banco de dados no Interbase, definio de triggers e stored procedures.
APRESENTAO DO PROBLEMA
O desenvolvimento de uma aplicao de acesso a banco de dados em ambiente cliente/servidor consiste fundamentalmente em subdividir o trabalho de pesquisa e manuteno de um banco de dados entre a aplicao cliente e o servidor de bancos de dados. Essa subdiviso de tarefas, no entanto, no deve se limitar apenas a delegar ao servidor a responsabilidade pelo armazenamento de informaes. Este deve ser responsvel, tambm, por executar algumas rotinas predefinidas, de modo a limitar os dados a serem enviados ao cliente, reduzindo-se o trfego de informaes na rede. Conforme ser mostrado nos prximos tpicos, o servidor executa essas tarefas mediante a utilizao de triggers e stored procedures. Nos exemplos a serem apresentados, ser utilizado o banco de dados Interbase, tambm desenvolvido pela Borland e que acompanha o Borland Delphi.
O administrador de um servidor de bancos de dados Interbase realiza essas tarefas atravs do IBConsole, um utilitrio situado no grupo de programas do Interbase e cuja janela principal mostrada na figura a seguir.
Para se conectar ao servidor, o administrador do servidor de bancos de dados deve executar os seguintes procedimentos: 1. Executar o utilitrio IBConsole. 2. Selecionar o cone do servidor de banco de dados a ser conectado e o item Login do menu Server ou dar um duplo clique sobre o cone selecionado. Ser exibida a caixa de dilogo Server Login, na qual o administrador dever fornecer seu username e sua senha (que inicialmente possuem os valores default descritos anteriormente). 3. Selecionar o boto OK para iniciar a conexo ao servidor. O IBConsole ficar com o aspecto apresentado na figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
573
Para se desconectar do servidor, basta selecionar o servidor de banco de dados e o item Logout do menu Server Manager. Ser exibida uma caixa de dilogo na qual ser solicitada uma confirmao em relao desconexo. N prximo tpico, sero apresentados os procedimentos necessrios ao cadastramento de um novo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
575
que devem ser digitadas as declaraes SQL que sero utilizadas para a criao de tabelas, insero, remoo e alterao de registros, etc.
Uma rea inferior (que em verses anteriores era identificada por SQL Output): nessa rea
que sero visualizados os resultados de um comando SQL e sero lidas as mensagens emitidas pelo banco de dados, inclusive mensagens de erro.
2. Digitar, nessa caixa de dilogo, o nome do banco de dados a ser criado (voc deve fornecer o path completo e o nome do arquivo com a extenso gdb), como mostrado na figura anterior. Nesta caixa de dilogo, defina como 1 o valor da propriedade SQL Dialect.
Para se desconectar do banco de dados, voc deve executar os seguintes procedimentos: 1. Selecionar o item Disconnect do menu Database. Ser exibida uma caixa de dilogo (mostrada na figura a seguir) para que voc confirme a ao.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
577
2. Nessa caixa de dilogo, preenchar adequadamente as caixas de texto Username e Password. 3. Selecionar o boto OK, para fechar essa caixa de dilogo e se conectar ao banco de dados.
DECIMAL(p,d)(p = preciso, d = nmero de casas decimais) NUMERIC(p,d)(p = preciso, d = nmero de casas decimais) DOUBLE FLOAT INTEGER SMALLINT VARCHAR(n) Real de preciso dupla Real de preciso simples Inteiros entre -2,147,483,648 e 2,147,483,648 Inteiros entre -32768 e 32767 Armazena at n caracteres.
Para criar uma tabela do Interbase atravs do utilitrio Interactive SQL, voc deve executar os seguintes procedimentos: 1. Conectar-se ao banco de dados, executando os procedimentos descritos nos tpicos anteriores. 2. Digitar um cdigo SQL com a seguinte sintaxe:
CREATE TABLE nome da tabela (campo1 tipo1[NOT NULL], campon tipon[NOT NULL],
Na realidade, a sintaxe global desse comando muito mais complexa, mas vamos nos concentrar numa sintaxe mais simples, de forma a no dificultar a sua compreenso. O parmetro opcional NOT NULL, se fornecido, indica que esse campo deve ser obrigatrio. Para criar uma tabela chamada Empregados no banco de dados Exemplo.gdb, voc deve digitar a seguinte declarao na rea superior da janela do utilitrio Interactive SQL:
CREATE TABLE Empregados (Codigo SMALLINT NOT NULL PRIMARY KEY, Nome VARCHAR(40) NOT NULL, Funcao VARCHAR(15) NOT NULL, Salario DECIMAL(15,2))
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
579
3. Selecionar o boto Execute Query (o terceiro boto da bara de ferramentas do utilitrio Interactive SQL).
tabela.
DEFAULT valor_default: Define um valor default para o campo. Pode ser NULL e, nesse caso, o
dica que o campo que est sendo criado uma chave primria de outra tabela. Por exemplo, para garantir que todos os funcionrios recebero mais do que R$ 120,00, a declarao SQL que cria a tabela poderia ser redefinida como:
CREATE TABLE Empregados (Codigo SMALLINT NOT NULL PRIMARY KEY, Nome VARCHAR(40) NOT NULL, Funcao VARCHAR(15) NOT NULL, Salario DECIMAL(15,2) CHECK (SALARIO > 120))
Para criar um ndice chamado IndSalario pelo campo Salrio da tabela Empregados, por exemplo, pode-se utilizar a seguinte declarao SQL:
CREATE INDEX IndSalario ON Empregados (Salario)
Para remover um ndice, deve-se executar uma declarao SQL com a seguinte sintaxe:
DROP INDEX nome_do_ndice
A palavra privilgio deve ser substituda por uma das palavras listadas a seguir:
Select: Permite uma consulta tabela (ou View). Delete: Permite excluir registros da tabela (ou View). Insert: Permite inserir registros na tabela (ou View). Update: Permite alterar valores armazenados nos campos dos registros de uma tabela (ou View). EXECUTE: Permite a execuo de uma stored procedure. Esse privilgio s se aplica no caso de
Voc pode usar a palavra Public para conceder um privilgio a todos os usurios.
Para conceder ao usurio GUESS todos os privilgios de acesso tabela Empregados, do banco de dados Exemplo.gdb, o administrador deve empregar o seguinte cdigo, aps se conectar ao banco de dados:
GRANT ALL On Empregados To GUESS
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
581
REMOVENDO PRIVILGIOS
Para remover um privilgio concedido a um usurio, voc deve executar uma declarao SQL com a seguinte sintaxe:
REVOKE privilgio ON [Tabela|Procedure] FROM [Usurio|Banco de dados]
VISES (VIEWS)
Ao acessar um banco de dados usando declaraes SQL, muitas vezes executamos repetidas vezes uma instruo SELECT para obter um determinado conjunto de registros que atendem a determinadas condies. A maioria dos servidores de bancos de dados permite que se crie uma representao alternativa para um conjunto de registros de uma tabela que atendem a determinadas condies, conjunto este denominado View (Viso) e que pode ser tratado como uma tabela independente. O cdigo de uma declarao SQL utilizado para a criao de uma View apresenta a seguinte sintaxe:
CREATE VIEW nome_view (Lista de Colunas) AS(Cdigo SQL que define a VIEW).
A fim de exemplificar a criao de uma View, vamos acessar o banco de dados Employee.gdb, que acompanha o Delphi, executando os procedimentos descritos nos tpicos anteriores. Lembre-se que antes de usar este banco de dados voc deve registr-lo, usando o item Register do menu Database do IBConsole. Esse banco de dados tem uma tabela chamada Employee, que armazena os dados dos empregados de uma empresa. Para criar uma viso dessa tabela chamada Nomes, que retorna apenas o primeiro e o ltimo nomes de cada empregado, deve-se executar a seguinte declarao SQL:
CREATE VIEW NOMES (EMP_NO,FIRST_NAME,LAST_NAME) AS Select * From Employee
Voc poder ento executar uma consulta SQL sobre a View, como se esta fosse uma tabela independente. A figura a seguir mostra a execuo de uma declarao SQL (SELECT * FROM NOMES) sobre a View recm-criada. importante salientar que a View apenas uma representao de um conjunto de registros armazenados em uma tabela. Os registros so fisicamente armazenados na tabela, e no na View.
A remoo de uma View feita executando-se uma declarao SQL com a seguinte sintaxe:
DROP VIEW nome_da_view
O CONCEITO DE TRANSAES
Define-se como transao um conjunto de comandos, na forma de declaraes SQL, que devem ser executados antes que as alteraes decorrentes desse conjunto de instrues sejam realizadas de forma definitiva no banco de dados. Uma transao confirmada mediante a execuo do comando COMMIT e cancelada por uma execuo do comando ROLLBACK. A partir do momento em que voc inicia uma conexo a um banco de dados, as alteraes realizadas (incluso, remoo e atualizao de registros) s sero gravadas de forma efetiva aps uma execuo do comando COMMIT. Se voc executar um ROLLBACK antes de um COMMIT, todas as alteraes realizadas desde a execuo de ltimo COMMIT sero canceladas.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
583
Executando os procedimentos descritos anteriormente, inclua os seguintes registros na tabela Empregados, do banco de dados Exemplo.gdb:
Por exemplo, para atualizar os salrios de maneira que todos os empregados recebam, no mnimo, R$ 1.400,00, pode-se executar uma declarao SQL como a apresentada a seguir.
UPDATE Empregados SET Salario = 1400.00 Where (Salario < 1400)
Se voc est executando esses procedimentos no seu computador, execute um COMMIT para gravar as alteraes feitas at o momento.
Por exemplo, para remover os empregados com salrio superior a R$ 2000,00, voc deve executar a seguinte declarao SQL:
DELETE FROM Empregados WHERE (Salario > 2000.00)
Nesse cdigo, ASC e DESC significam ordem Ascendente (Crescente) e Descendente (Decrescente), respectivamente, onde a primeira opo a opo default. Por exemplo, para ordenar os empregados em ordem crescente de salrio, basta executar a seguinte declarao SQL:
Select * From Empregados ORDER BY Salario
TRIGGERS
As triggers so um conjunto de funes definidas em um banco de dados e que podem ser executadas em decorrncia de instrues SQL que envolvem a incluso de novos dados (INSERT), atualizao (UPDATE) ou remoo de dados j existentes (DELETE). Pode-se ento fazer uma analogia entre as triggers e os procedimentos associados a eventos do Delphi e dizer que as triggers so procedimentos associados a eventos do banco de dados, e esses eventos podem ser de seis tipos distintos:
BEFORE INSERT AFTER INSERT BEFORE UPDATE AFTER UPDATE BEFORE DELETE AFTER DELETE
A princpio, pode-se definir mais de uma trigger para cada evento no Interbase, razo pela qual cada trigger receber um nmero (entre 0 e 32767) que a identificar unicamente entre as demais triggers associadas a um mesmo evento. Esse nmero definir a ordem em que as triggers sero executadas, e ser definida pela clusula POSITION na declarao SQL usada para criar a TRIGGER. recomendvel que as triggers no sejam numeradas seqencialmente, mas em incrementos que possibilitem a insero de outras triggers.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
585
onde a palavra evento dever ser substituda por um dos seis eventos descritos anteriormente. Por exemplo, para evitar que um funcionrio seja cadastrado com um salrio superior a R$ 5000,00, voc pode criar as seguintes triggers para a tabela Empregados, do banco de dados Exemplo.gdb:
SET TERM ^ ; CREATE TRIGGER MAXSALARIO FOR Empregados AFTER INSERT POSITION 5 AS BEGIN UPDATE Empregados SET Salario = 5000.00 WHERE (Salario > 5000.00); END ^ CREATE TRIGGER LIMITASALARIO FOR Empregados AFTER UPDATE POSITION 5 AS BEGIN UPDATE Empregados SET Salario = 5000.00 WHERE (Salario > 5000.00); END ^
Se voc tentar inserir um funcionrio com salrio superior a R$ 5000,00 ver que esse limite ser respeitado, isto , o valor 5000,00 ser armazenado no campo Salario. A remoo de uma trigger feita em uma instruo SQL com a seguinte sintaxe:
DROP TRIGGER nome_trigger
Para alterar a definio de uma TRIGGER, voc deve executar uma instruo SQL com a seguinte sintaxe:
SET TERM ^ ; ALTER TRIGGER nome_trigger evento POSITION nmero AS BEGIN // Cdigo da Trigger END ^
A instruo SET TERM define o smbolo usado para a terminao da TRIGGER, que deve ser diferente do ponto-e-vrgula, usado na linguagem de codificao do Interbase. O mesmo ser vlido para stored procedures.
As listas de parmetros de entrada e de sada devem especificar os nomes dos parmetros e seus tipos. A remoo de uma stored procedure feita em uma instruo SQL com a seguinte sintaxe:
DROP PROCEDURE nome_stored_procedure
A stored procedure apresentada a seguir permite que se multiplique por um fator o salrio de todos os empregados.
SET TERM ^ ; CREATE PROCEDURE AUMENTO (Fator Float) AS BEGIN UPDATE Empregados SET Salario = Salario * :Fator; END ^
Repare que, no cdigo da stored procedure, o parmetro fator precedido por dois-pontos (:).
Para executar uma stored procedure, pode-se utilizar a seguinte declarao SQL:
EXECUTE PROCEDURE nome_stored_procedure(parmetros de entrada) RETURNING_VALUES (Lista de parmetros de sada)
Por exemplo, para aumentar em 10% o salrio de todos os empregados cujos dados esto armazenados nos registros da tabela Empregados, basta que se execute a seguinte declarao SQL:
EXECUTE PROCEDURE AUMENTO(1.10)
Para alterar a definio de uma Stored Procedure, voc deve executar uma instruo SQL com a seguinte sintaxe:
SET TERM ^ ; ALTER PROCEDURE nome_procedure (Lista de Parmetros de Entrada) RETURNS (Lista de Parmetros de Sada) AS BEGIN // Cdigo da Stored Procedure END ^
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
587
Diferentemente do que ocorre no Pascal, no Interbase deve-se colocar um ponto-e-vrgula antes da clusula Else de uma estrutura condicional. A procedure AUMENTO, por exemplo, poderia ser reescrita da seguinte maneira:
CREATE PROCEDURE AUMENTO (Fator Float) AS BEGIN If (:Fator > 1.0) Then UPDATE Empregados SET Salario = Salario * :Fator; END
Para a tabela Empregados, do banco de dados Exemplo.gdb, pode-se criar a seguinte procedure, que retorna o nome e o salrio de cada empregado:
CREATE PROCEDURE DADOS RETURNS (NOME VARCHAR(40), SALARIO DECIMAL(15,2)) AS BEGIN
Nas estruturas de condio e de repetio descritas anteriormente, podem-se utilizar blocos de comando BEGINEND, como no Object Pascal.
A especificao de um valor default para um domnio opcional. Consideremos novamente a tabela Empregados, em que o campo Salario foi definido como DECIMAL(15,2). Nesse caso, se utilizarmos muitas tabelas com esse tipo de campo, podemos criar um domnio chamado Salario, mediante a execuo de uma instruo SQL como a apresentada a seguir.
CREATE DOMAIN SALARIO AS DECIMAL(15,2)
A partir da, SALARIO poderia ser tratado como um tipo da linguagem, e poderamos criar variveis desse novo tipo. Para remover um domnio, voc deve executar uma instruo SQL com a seguinte sintaxe:
DROP DOMAIN nome_do_domnio
Voc s pode remover um domnio se ele no estiver sendo usado como definio de campos em uma das tabelas definidas no banco de dados.
Para alterar a definio de um domnio, deve-se executar uma instruo SQL com a seguinte sintaxe:
ALTER DOMAIN nome_domnio AS Tipo_Prdefinido
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
589
Ao executar essa declarao SQL, os campos dos registros da tabela Employee precedem os campos da tabela Department. Se a declarao SQL for definida como a exemplificada a seguir, a ordem de exibio dos campos ser invertida.
SELECT * FROM department,employee where (employee.dept_no = department.dept_no)
Para restringir os campos a serem exibidos, o nome de cada campo deve ser exibido na declarao, como exemplificado a seguir.
SELECT employee.First_Name,employee.Last_Name,Department.Department FROM employee,department where (employee.dept_no = department.dept_no)
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
591
5. Definir o nome do usurio na opo USER NAME. 6. Fechar a janela do SQL Explorer salvando as alteraes feitas no alias, selecionando o item Apply do menu Object ou o boto Apply da barra de ferramentas do SQL Explorer. Pronto! Seu alias foi criado e pode ser selecionado na lista de opes disponveis na propriedade DatabaseName dos componentes Table e Query.
Captulo
Acessando Bancos de Dados Cliente/Servidor
28
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
593
METODOLOGIA
Apresentao do problema: Diviso de tarefas entre uma aplicao cliente e o servidor de bancos de dados.
TCNICA
Apresentao dos procedimentos necessrios ao acesso a bancos de dados cliente/servidor usando os diversos mecanismos de acesso.
APRESENTAO DO PROBLEMA
O desenvolvimento de uma aplicao de acesso a bancos de dados em ambiente cliente/servidor consiste fundamentalmente em subdividir o trabalho de pesquisa e manuteno de um banco de dados entre a aplicao cliente e o servidor de bancos de dados. Essa subdiviso de tarefas, no entanto, no deve se limitar apenas a delegar ao servidor a responsabilidade pelo armazenamento de informaes. Este deve ser responsvel, tambm, por executar algumas rotinas predefinidas, de modo a limitar os dados a serem enviados ao cliente, reduzindo-se o trfego de informaes na rede. Conforme mostrado no captulo anterior, o servidor executa essas tarefas mediante a utilizao de triggers e stored procedures.
ACESSANDO BANCO DE DADOS CLIENTE-SERVIDOR DO INTERBASE EM UMA APLICAO DELPHI VIA BDE
A princpio, o acesso a um banco de dados cliente-servidor criado no Interbase no oferece maiores dificuldades. No caso de se usar o acesso via BDE, voc pode inserir, em um formulrio (ou em um Datamodule), componentes Table ou Query, definir a propriedade Databasename desses componentes como o alias criado para o banco de dados, definir adequadamente a propriedade TableName (no caso do componente Table) ou SQL (no caso do componente Query) e definir como True a propriedade Active do componente empregado.
Em seguida, basta ligar um DataSource ao componente Table ou Query (atravs da sua propriedade DataSet), inserir diversos componentes de visualizao no formulrio (configurando adequadamente suas propriedades DataSource e DataField) e, se for o caso, um componente DBNavigator. Ao executar esses procedimentos, no entanto, no estaremos aproveitando muitas das vantagens de se empregar uma ferramenta de desenvolvimento cliente/servidor. Conforme ser mostrado a seguir, o Delphi tem alguns componentes que nos ajudam a explorar as potencialidades dessa filosofia. Por exemplo, para executar uma stored procedure a partir de uma aplicao desenvolvida em Delphi atravs de mecanismo de acesso do Borland Database Engine, voc deve utilizar o componente StoredProc, existente na pgina BDE da paleta de componentes. Apresentam-se a seguir as principais propriedades, mtodos e eventos desse componente, derivado por herana da classe TDBDataset.
Active
Essa propriedade definida como uma varivel booleana, e pode ser definida como True se o procedimento armazenado se baseia numa simples consulta.
Database
Essa propriedade definida como um objeto da classe TDatabase, e permite o acesso ao componente que representa o banco de dados ao qual se est conectado. importante lembrar que, se nenhum componente TDataBase for explicitamente includo na aplicao, uma instncia dessa classe ser gerada automaticamente pelo Delphi.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
595
ParamCount
Essa propriedade definida como uma varivel do tipo Word, e define o nmero de parmetros da stored procedure que ser executada pelo componente, parmetros estes que podem ser visualizados atravs da propriedade Params do componente.
Params
Essa propriedade definida como uma array de objetos da classe TParams, que representam individualmente os parmetros definidos para a stored procedure. Para acessar a caixa de dilogo na qual so definidos esses parmetros, basta selecionar, com o boto esquerdo do mouse, as reticncias exibidas direita do nome da propriedade no Object Inspector.
Prepared
Essa propriedade definida como uma varivel booleana, e define se a stored procedure foi preparada para ser executada, de modo a melhorar a sua performance. A preparao de uma stored procedure pode ser feita atribuindo-se o valor True a essa propriedade, ou mediante uma chamada ao seu mtodo Prepare.
StoredProcName
Essa propriedade definida como uma varivel do tipo string, e define o nome da stored procedure a ser executada. As stored procedures disponveis para o banco de dados podem ser selecionadas na lista drop-down exibida direita do nome da propriedade.
CopyParams
Declarao
procedure CopyParams(Value: TParams);
Esse mtodo copia a lista de parmetros do componente para outra lista de parmetros (que pode ser a propriedade Params de outro componente StoredProc).
Esse procedimento executa no servidor a procedure associada ao componente, e cujo nome definido na sua propriedade StoredProcName.
ParamByName
Declarao
function ParamByName(const Value: string): TParam;
Esse mtodo permite o acesso individual a parmetros definidos em uma stored procedure, sendo o nome de um parmetro passado na forma de uma string na chamada ao procedimento.
Prepare
Declarao
procedure Prepare;
Esse mtodo prepara a stored procedure a ser executada, atribuindo o valor True sua propriedade Prepared.
UnPrepare
Declarao
procedure UnPrepare;
Esse mtodo cancela a preparao da stored procedure a ser executada, atribuindo o valor False sua propriedade Prepared.
OnUpdateError
Esse evento ocorre quando um erro gerado ao se tentar atualizar alteraes pendentes no banco de dados.
OnUpdateRecord
Esse evento ocorre ao se atualizar alteraes pendentes no registro corrente.
EXEMPLO DE APLICAO
Para criar o aplicativo-exemplo, voc deve executar os seguintes procedimentos: 1. Selecionar o item File/New Application no menu do Delphi, para iniciar uma nova aplicao baseada na VCL.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
597
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
599
ACESSANDO BANCO DE DADOS DO INTERBASE EM UMA APLICAO DELPHI VIA INTERBASE EXPRESS
O mecanismo de acesso Interbase Express, cujos componentes esto disponveis na pgina Interbase da paleta de componentes, possui um componente chamado IBDatabase que exerce um papel semelhante ao que o componente Database realiza em aplicaes que acessam o Interbase via BDE. A principal diferena que, no caso do Interbase Express, os componentes IBTable e IBQuery no podem prescindir do componente IBDatabase, ao qual faro referncia atravs da sua propriedade Database. Para executar uma stored procedure a partir de uma aplicao desenvolvida em Delphi atravs do mecanismo de acesso Interbase Express, voc deve utilizar o componente IBStoredProc, existente na pgina Interbase da paleta de componentes. Apresentam-se a seguir as principais propriedades, mtodos e eventos desse componente, derivado por herana da classe TIBCustomDataset.
Database
Essa propriedade, herdada da classe ancestral TIBCustomDataset, definida como um objeto da classe TIBDatabase, e permite o acesso s propriedades e mtodos do componente que representa o banco de dados ao qual se est conectado.
ParamCount
Essa propriedade definida como uma varivel do tipo Word, e define o nmero de parmetros da stored procedure que ser executada pelo componente, parmetros estes que podem ser visualizados atravs da propriedade Params do componente.
Params
Essa propriedade definida como uma array de objetos da classe TParams, que representam individualmente os parmetros definidos para a stored procedure. Para acessar a caixa de dilogo na qual so definidos esses parmetros, basta selecionar, com o boto esquerdo do mouse, as reticncias exibidas direita do nome da propriedade no Object Inspector.
Prepared
Essa propriedade definida como uma varivel booleana, e define se a stored procedure foi preparada para ser executada, de modo a melhorar a sua performance. A preparao de uma stored procedure pode ser feita atribuindo-se o valor True a essa propriedade, ou mediante uma chamada ao seu mtodo Prepare.
StoredProcName
Essa propriedade definida como uma varivel do tipo string, e define o nome da stored procedure a ser executada. As stored procedures disponveis para o banco de dados podem ser selecionadas na lista drop-down exibida direita do nome da propriedade.
Transaction
Essa propriedade definida como um objeto da classe TIBTransaction, e define o componente IBTransaction ao qual est vinculado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
601
Esse mtodo copia a lista de parmetros do componente para outra lista de parmetros (que pode ser a propriedade Params de outro componente StoredProc).
ExecProc
Declarao
procedure ExecProc;
Esse procedimento executa no servidor a procedure associada ao componente, e cujo nome definido na sua propriedade StoredProcName.
ParamByName
Declarao
function ParamByName(const Value: string): TParam;
Esse mtodo permite o acesso individual a parmetros definidos em uma stored procedure, sendo o nome de um parmetro passado na forma de uma string na chamada ao procedimento.
Prepare
Declarao
procedure Prepare;
Esse mtodo prepara a stored procedure a ser executada, atribuindo o valor True sua propriedade Prepared.
UnPrepare
Declarao
procedure UnPrepare;
Esse mtodo cancela a preparao da stored procedure a ser executada, atribuindo o valor False sua propriedade Prepared.
OnUpdateError
Esse evento ocorre quando um erro gerado ao se tentar atualizar alteraes pendentes no banco de dados.
EXEMPLO DE APLICAO
Para recriar a aplicao anterior usando os componentes do Interbase Express (situados na pgina Interbase da paleta de componentes) voc deve executar os seguintes procedimentos: 1. Remova os componentes Database, Storedproc e Table do formulrio. 2. Inclua um componente IBDatabase no formulrio e usando a sua propriedade DatabaseName, localize o arquivo Exemplo.gdb (repare que neste caso no se utiliza quaisquer alias). 3. Atribua o valor True a sua propriedade Connected. Ser exibida a caixa de dilogo Database Login. Preencha corretamente os valores dos campos UserName e Password e o boto Ok, para fechar esta caixa de dilogo e realizar a conexo. Redefina a propriedade Name deste componente para IBDatabaseCS. 4. Coloque um componente IBTransaction no formulrio e defina o valor da sua propriedade DefaultDatabase como sendo o nome do componente IBDatabase recm-includo no formulrio (IBDatabaseCS). 5. Defina o valor da propriedade Active deste componente IBTransaction como True. Redefina sua propriedade name como IBTransactionCS. 6. Coloque um componente IBTable no formulrio e defina o valor da sua propriedade Database como sendo o nome do componente IBDatabase recm-includo no formulrio (IBDatabaseCS). Redefina sua propriedade name como IBTableCS. 7. Defina o valor da sua propriedade Transaction como sendo o nome do componente IBTransaction inserido no formulrio (IBTransactionCS). 8. Defina o valor da sua propriedade TableName como sendo Empregados. 9. Defina o valor da sua propriedade Active como sendo igual a True. 10. Defina o valor da propriedade Dataset do componente DataSource como sendo o nome do componente Table inserido no formulrio (IBTableCS). Repare que, no caso do Interbase Express, os componentes IBTable e IBQuery devem se conectar obrigatoriamente a dois componentes: Um componente IBDatabase e um componente IBTransaction.
O componente IBTransaction permite um controle discreto sobre diferentes transaes aplicadas ao banco de dados. Sua propriedade Default Action define como ser processada a transao representada pelo componente, podendo assumir um dos seguintes valores:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
603
Params
Essa propriedade definida como uma array de objetos da classe TParams, que representam individualmente os parmetros definidos para a stored procedure. Para acessar a caixa de dilogo na qual so definidos esses parmetros, basta selecionar, com o boto esquerdo do mouse, as reticncias exibidas direita do nome da propriedade no Object Inspector.
Prepared
Essa propriedade definida como uma varivel booleana, e define se a stored procedure foi preparada para ser executada, de modo a melhorar a sua performance.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
605
SQLConnection
Essa propriedade, herdada da classe ancestral TCustomSQLDataset, definida como um objeto da classe TSQLConnection, e permite o acesso s propriedades e mtodos do componente que representa o banco de dados ao qual se est conectado.
StoredProcName
Essa propriedade definida como uma varivel do tipo string, e define o nome da stored procedure a ser executada. As stored procedures disponveis para o banco de dados podem ser selecionadas na lista drop-down exibida direita do nome da propriedade.
ExecProc
Declarao
procedure ExecProc;
Esse procedimento executa no servidor a procedure associada ao componente, e cujo nome definido na sua propriedade StoredProcName.
EXEMPLO DE APLICAO
Para recriar a aplicao anterior usando os componentes do DBExpress (situados na pgina dBExpress da paleta de componentes) voc deve executar os seguintes procedimentos: 1. Remova os componentes IBDatabase, IBTransaction, IBStoredproc e IBTable do formulrio. 2. Inclua um componente SQLConnection no formulrio, crie uma nova conexo e configure suas propriedades para acessar o arquivo Exemplo.gdb (repare que neste caso tambm no se utiliza qualquer alias). 3. Atribua o valor True a sua propriedade Connected. Ser exibida a caixa de dilogo Database Login. Preencha corretamente os valores dos campos UserName e Password e o boto Ok, para
O componente IBTransaction permite um controle discreto sobre diferentes transaes aplicadas ao banco de dados. Sua propriedade Default Action define como ser processada a transao representada pelo componente, podendo assumir um dos seguintes valores: taRollback: Efetua um RollBack sobre a transao. taCommit: Efetua um Commit sobre a transao. taRollbackRetaining: Cancela a transao mas mantm localmente as alteraes. taCommitRetaining: Efetua um Commit sobre a transao mas mantm localmente as alteraes. Repare que, no caso do Interbase Express, os componentes IBTransaction (E no o componente IBDatabase, como poderamos pensar inicialmente) so responsveis pelo controle das transaes. A nica funo do componente IBDatabase realizar a conexo o controle de transaes fica por conta de componentes intransaction. Uma viso mais detalhada dos componentes ser apresentada no final do livro na seo Referncias. 9. Redefina como SimpleDataset CS o valor da propriedade Dataset do componente DatasorceCS. 10. Insira um componente SQLStoredProc neste formulrio e atribua os seguintes valores para as suas principais propriedades: SQLConnection: SQLConnection CS StoredProcName: AUMENTO Name: SQLStoredProcCS
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
607
13. Defina da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoAplicar:
procedure TFormCS.BotaoAplicarClick(Sender: TObject); var valor : double; begin try valor := StrToFloat(EditValor.Text); if valor > 1.0 then begin SQLStoredProcCS.ParamByName(Fator).AsString := EditValor.Text; SQLStoredProcCS.ExecProc; SimpleDatasetCS.Refresh; end else ShowMessage(Valor digitado deve ser maior do que 1.0); except ShowMessage(Valor Digitado Incompatvel); end; end;
Repare que, no caso do mecanismo dbExpress, deve-se passar como parmetro nas chamadas aos mtodos StartTransaction e Commit uma varivel do tipo composto TTransactionDesc, que identifica uma transao (e desempenha um papel semelhante ao do IBTransaction no Interbase Express).
Captulo
Programao Grfica
29
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
609
METODOLOGIA
Apresentao do problema: Utilizao das principais propriedades e mtodos das classes TCanvas, TBrush e TPen na definio de desenhos
TCNICA
Apresentao dos procedimentos necessrios definio de desenhos em run-time para aplicaes desenvolvidas em Delphi.
A CLASSE TCANVAS
Para o Windows, qualquer rea a ser manipulada na tela (ou na impressora) tratada como uma superfcie de desenho. Para simplificar a vida do programador, o Delphi criou uma nova classe, denominada TCanvas, que representa uma superfcie de desenho retangular sobre a qual podero ser feitos desenhos, textos, etc. Em um canvas existe um sistema de coordenadas cartesiano em que a origem est situada no canto superior esquerdo, as abscissas crescem da esquerda para a direita e as ordenadas de cima para baixo (ao contrrio do sistema cartesiano convencional). Conforme ser visto posteriormente, existem funes da GDI do Windows que permitem que se altere a orientao destes eixos do canvas, bem como o posicionamento da origem desse sistema.
O COMPONENTE SHAPE
O componente Shape, situado na pgina Additional da paleta de componentes, utilizado para desenhar formas geomtricas na tela e, diferentemente de outros componentes, permite que suas propriedades Brush e Pen sejam definidas durante o projeto da aplicao alterando os seus valores diretamente no Object Inspector. Existem componentes, no entanto, que no permitem que se acessem suas propriedades Brush e Pen na fase de projeto, mas apenas durante a execuo do aplicativo (ou seja, via cdigo). Esses componentes, no entanto, tm um evento chamado OnPaint, para o qual podemos definir um procedimento associado, e nesse procedimento definir o cdigo referente a qualquer desenho a ser feito no seu canvas. Para que um desenho seja permanentemente visualizado em um formulrio ou componente, o cdigo que o define deve ser digitado no procedimento associado ao evento OnPaint do formulrio ou componente. Se esse cdigo no for includo no evento OnPaint e a regio do formulrio ou componente que exibe o desenho for sobreposta por outra janela, este no ser restaurado na tela quando a regio correspondente se tornar visvel novamente. Nos prximos tpicos, sero apresentados os procedimentos necessrios exibio de desenhos em formulrios.
DESENHANDO EM UM FORMULRIO
Todo formulrio tem uma propriedade chamada canvas que , como j foi dito anteriormente, um objeto da classe TCanvas. Dessa maneira, se quisermos desenhar sobre a superfcie de um formulrio, devemos faz-lo utilizando a sua propriedade canvas. Apresentamos a seguir um aplicativo bastante simples, que permite que o usurio defina os pontos que delimitam um retngulo ou elipse, bem como as suas dimenses.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
611
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
613
12. Inclua um componente BitBtn (pgina Additional) no panel e atribua os seguintes valores para as suas principais propriedades: Name: BotaoDesenho Left: 424 Top: 20 Width: 100 Height: 50 Caption: Desenha Kind: bkOK
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
615
18. Defina as seguintes variveis na seo var do arquivo de cdigo associado ao formulrio:
x, y, h, w : integer;
19. Defina da seguinte maneira o procedimento associado ao evento OnClick do componente BotaoDesenha:
procedure TFormDesenho.BotaoDesenhoClick(Sender: TObject); begin FormDesenho.Canvas.Brush.Color := ShapeCor.Brush.Color; FormDesenho.Canvas.Brush.Style := TBrushStyle(ComboBoxEstilo.ItemIndex); x := StrToInt(EditX.Text); y := StrToInt(Edity.Text)+149; h := StrToInt(Edith.Text); w := StrToInt(Editw.Text); if (x<0)or(x+w>FormDesenho.Width)or(Y<0)or(Y+h>FormDesenho.Height)
valor definido na subpropriedade Color da propriedade Brush do componente ShapeCor, o que feito na seguinte linha de cdigo:
FormDesenho.Canvas.Brush.Color := ShapeCor.Brush.Color;
Repare que ao valor de y foi acrescido o valor da altura do panel, para que a figura no seja oculta pelo mesmo.
Verifica se os valores definidos esto dentro de uma faixa que garanta a visualizao da figura,
Caso os valores estejam dentro da faixa permitida, o mtodo Repaint do formulrio faz com que o seu procedimento associado ao evento OnPaint seja executado. 20. Compartilhe esse procedimento com os seguintes eventos: Evento OnShow do Formulrio. Evento OnChange do Componente EditX. Evento OnChange do Componente EditY. Evento OnChange do Componente EditH. Evento OnChange do Componente EditW. Evento OnClick do Componente RadioGroupForma. Evento OnChange do Componente ComboBoxEstilo. Isso garante que o efeito de qualquer alterao feita nos valores que definem a figura seja imediatamente visualizado. Garante tambm que a figura default seja visualizada quando o formulrio for exibido pela primeira vez.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
617
Esse procedimento exibe uma caixa de dilogo de seleo de cores para que o usurio escolha uma nova cor para a figura. Caso o mtodo Execute do componente OpenDialog1 retorne o valor True, o procedimento associado ao evento OnClick do componente BotaoDesenho executado. 22. Defina da seguinte maneira o procedimento associado ao evento OnPaint do formulrio:
procedure TFormDesenho.FormPaint(Sender: TObject); begin if RadioGroupForma.ItemIndex = 0 then FormDesenho.Canvas.Rectangle(x,y,x+w,y+h) else FormDesenho.Canvas.Ellipse(x,y,x+w,y+h); end;
Esse procedimento verifica o tipo de figura selecionada pelo usurio (analisando o valor da propriedade ItemIndex do componente RadioGroupForma) e executa o mtodo de desenho correspondente. 23. Defina da seguinte maneira o procedimento associado ao evento OnCreate do formulrio:
procedure TFormDesenho.FormCreate(Sender: TObject); begin ComboBoxEstilo.ItemIndex := 0; end;
24. Salve a unidade de cdigo associada a esse formulrio com o nome UnitDesenha. Apresentamos a seguir a unidade de cdigo associada ao formulrio:
unit UnitDesenha; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; type TFormDesenho = class(TForm) Panel1: TPanel; GroupBox1: TGroupBox; Label1: TLabel;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
619
METODOLOGIA
Apresentao do problema: Utilizao das principais propriedades e mtodos das Classes TCanvas, TBrush e TPen da definio de desenhos
TCNICA
Apresentao dos procedimentos necessrios definio de desenhos em run-time de forma interativa para aplicaes desenvolvidas com o
Borland Delphi 7.
desenho de uma reta a partir daquele ponto. Vamos chamar de xbase e ybase as coordenadas desse ponto, que denominaremos ponto-base. O usurio deve manter o boto esquerdo pressionado e movimentar o mouse pela rea de desenho. A obteno dessas coordenadas do ponto-base no difcil, pois estes valores so passados como parmetros (denominados X e Y) no procedimento associado ao evento OnMouseDown do formulrio.
Enquanto o mouse estiver se deslocando pela rea de desenho, uma linha elstica dever ser
desenhada do ponto-base at a posio corrente do mouse. Vamos chamar de xatual e yatual as coordenadas desse ponto. A obteno das coordenadas do ponto corrente tambm no difcil, pois esses valores so passados como parmetros (denominados X e Y) no procedimento associado ao evento OnMouseMove do formulrio.
Para desenhar a linha, devemos executar o mtodo MoveTo(xbase,ybase), para colocar a caneta na
definitiva. Essa tarefa tambm no difcil, pois o procedimento associado ao evento OnMouseUp tambm passa como parmetros os valores X e Y das coordenadas atuais do mouse.
Para evitar que o programa desenhe linhas quando o boto esquerdo no estiver pressionado,
devemos criar uma varivel booleana que indique se o programa deve ou no executar as funes de desenho. Para criar essa aplicao, voc deve executar os seguintes procedimentos: 1. Selecione o item New Application do menu File para iniciar um novo projeto de aplicao. 2. Atribua os valores a seguir para as principais propriedades do Formulrio Principal da Aplicao. Name: FormInterativo Width: 870 Height: 640 Caption: Exemplo de Desenho Interativo no Canvas de um Formulrio Color: clBlack 3. Inclua um componente Panel no formulrio e atribua os seguintes valores s suas principais propriedades:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
621
Isso garante que a varivel desenha seja inicializada com o valor False. 6. Defina da seguinte maneira o procedimento associado ao evento OnMouseDown do formulrio:
procedure TFormInterativo.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin desenha := True; xbase := X; ybase := y; xatual := X; yatual := y; end;
Inicialmente, exibem-se no panel as coordenadas atuais do mouse, o que feito na seguinte linha de cdigo:
Panel1.Caption := X = +IntToStr(X)+ Y = +IntToStr(Y);
Em seguida, verifica-se se a varivel desenha igual a True. Se for False, ento not desenha True e a procedure no executada. Em seguida, atribui-se a cor preta caneta do canvas para apagar a linha desenhada anteriormente, o que feito no seguinte trecho de cdigo:
FormInterativo.Canvas.Pen.Color := clBlack; FormInterativo.Canvas.MoveTo(xbase,ybase); FormInterativo.Canvas.LineTo(xatual,yatual);
Por fim, atualizam-se os valores de xatual e yatual, atribui-se a cor branca caneta do canvas e desenhase a nova linha, o que feito no seguinte trecho de cdigo:
xatual := x; yatual := y; FormInterativo.Canvas.Pen.Color := clWhite; FormInterativo.Canvas.MoveTo(xbase,ybase); FormInterativo.Canvas.LineTo(xatual,yatual);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
623
Esse aplicativo ainda apresenta, no entanto, alguns problemas: Se voc ocultar parte do formulrio, ou minimiz-lo e restaur-lo em seguida, o desenho ser perdido! Isso se deve ao fato de que no foi definido um procedimento associado ao evento OnPaint, e logo nada existe para ser redesenhado, ou que garanta a persistncia deste desenho. H vrias alternativas para resolver este problema, sendo que uma delas consiste em realizar sempre uma cpia do desenho atual em um Bitmap oculto, existente na menria, e copiar a imagem do Bitmap para o formulrio quando o evento OnPaint for disparado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
625
A CLASSE TBITMAP
O Delphi possui a classe TBitmap, que permite que se faam coisas incrveis com Bitmaps. Neste tpico, no entanto, limitaremos nosso estudo a resolver o problema descrito no final do tpico anterior. A soluo consiste em criar um objeto da classe TBitmap com as mesmas dimenses do formulrio e, sempre que o desenho do formulrio for alterado (nesse caso, quando uma nova reta for includa), copiar o desenho do formulrio para o bitmap. Por outro lado, quando o formulrio for redimensionado, ou ocultado e exibido em seguida, devemos copiar o desenho do Bitmap para o formulrio. Assim como um formulrio, um objeto da classe TBitmap tambm tem uma propriedade chamada Canvas (que , obviamente, um objeto da classe TCanvas). A Classe TCanvas possui um mtodo chamado CopyRect que permite que se copie para o seu interior uma rea retangular de outro canvas. Esse mtodo tem, como parmetros:
Uma varivel do tipo TRect, representando a rea retangular de destino do canvas que chama
o mtodo.
Uma varivel do tipo TCanvas, que define o canvas de onde ser feita a cpia. Uma outra varivel do tipo TRect, representando a rea retangular de origem do canvas de
onde feita a cpia. O tipo composto TRect (que no uma classe, mas um Record) possui os seguintes campos:
Top: Uma varivel inteira, que define a ordenada da extremidade superior esquerda da regio
retangular.
Bottom: Uma varivel inteira, que define a ordenada da extremidade inferior direita da regio
retangular.
Left: Uma varivel inteira, que define a abscissa da extremidade superior esquerda da regio
retangular.
Right: Uma varivel inteira, que define a abscissa da extremidade inferior direita da regio
retangular. A regio a ser copiada, nesse caso, ser definida pela rea cliente do formulrio, descontada a altura do panel (definida pela sua propriedade Height). Para resolver este problema, portanto, voc deve executar os seguintes procedimentos no aplicativo criado no tpico anterior: 1. Declarar uma varivel chamada MeuBitmap, da classe TBitmap, na seo var da unit do formulrio, como a seguir:
MeuBitmap : TBitmap;
2. Declarar duas variveis chamadas AreaDestino e AreaOrigem, do tipo TRect, na seo var da unit do formulrio, como a seguir:
Areadestino, AreaOrigem : TRect;
4. Redefinir como a seguir o procedimento associado ao evento OnMouseUp do formulrio, incluindo as linhas de cdigo responsveis pela cpia do desenho definido no canvas do formulrio para o canvas do bitmap:
procedure TFormInterativo.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin desenha := False; FormInterativo.Canvas.Pen.Color := clBlack; FormInterativo.Canvas.MoveTo(xbase,ybase); FormInterativo.Canvas.LineTo(xatual,yatual); xatual := x; yatual := y; FormInterativo.Canvas.Pen.Color := clWhite; FormInterativo.Canvas.MoveTo(xbase,ybase); FormInterativo.Canvas.LineTo(xatual,yatual); MeuBitmap.Height := FormInterativo.ClientHeight-Panel1.Height; MeuBitmap.Width := FormInterativo.ClientWidth; Areadestino.Top := 0; Areadestino.Left := 0; Areadestino.Right := FormInterativo.ClientWidth; Areadestino.Bottom := FormInterativo.ClientHeight-Panel1.Height; AreaOrigem.Top := 0; AreaOrigem.Left := 0; AreaOrigem.Right := FormInterativo.ClientWidth; AreaOrigem.Bottom := FormInterativo.ClientHeight-Panel1.Height; MeuBitmap.Canvas.CopyRect(AreaDestino,FormInterativo.Canvas,AreaOrigem); end;
5. Redefinir como a seguir o procedimento associado ao evento OnPaint do formulrio, incluindo as linhas de cdigo responsveis pela cpia do desenho definido no canvas do bitmap para o canvas do formulrio:
procedure TFormInterativo.FormPaint(Sender: TObject); begin Areadestino.Top := 0; Areadestino.Left := 0; Areadestino.Right := FormInterativo.ClientWidth; Areadestino.Bottom := FormInterativo.ClientHeight-Panel1.Height; AreaOrigem.Top := 0; AreaOrigem.Left := 0; AreaOrigem.Right := FormInterativo.ClientWidth; AreaOrigem.Bottom := FormInterativo.ClientHeight-Panel1.Height; FormInterativo.Canvas.CopyRect(AreaDestino,MeuBitmap.Canvas,AreaOrigem); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
627
Apresenta-se a seguir o cdigo desta unit, aps terem sido feitas as alteraes relacionadas:
unit UnitPaint; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TFormInterativo = class(TForm) Panel1: TPanel; procedure FormCreate(Sender: TObject); procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormPaint(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormInterativo: TFormInterativo; desenha : boolean; xbase, ybase, xatual, yatual : integer; MeuBitmap : TBitmap; Areadestino, AreaOrigem : TRect; implementation {$R *.DFM} procedure TFormInterativo.FormCreate(Sender: TObject); begin desenha := False; MeuBitmap := TBitmap.Create; end; procedure TFormInterativo.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin desenha := True; xbase := X;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
629
MODOS DE MAPEAMENTO
No incio deste captulo, dissemos que as ordenadas crescem de cima para baixo, e voc deve ter constatado isso ao analisar os valores de Y quando movimentava o mouse no aplicativo desenvolvido nos tpicos anteriores. Para alterar as orientaes dos eixos, o posicionamento dos eixos e a escala adotada, devem-se utilizar as funes de mapeamento existentes na API do Windows. As funes da GDI da API do Windows operam com as denominadas coordenadas lgicas, que devem ser convertidas em coordenadas fsicas, ou coordenadas da tela. Embora as coordenadas fsicas sejam limitadas pelas dimenses em pixels da rea de desenho, nosso problema pode manipular coordenadas em variadas faixas de valores. O importante que seja possvel transformar corretamente as coordenadas lgicas em coordenadas fsicas, o que feito usando as funes de mapeamento de coordenadas da GDI do Windows. O modo de mapeamento definido utilizando-se a funo SetMapMode da API do Windows. Essa funo requer como parmetros:
Um handle para o objeto sobre o qual o mapeamento est sendo definido. Uma constante definindo o modo de mapeamento. Essa constante pode assumir um dos valores
a seguir.
Constante MM_TEXT MM_LOMETRIC MM_HIMETRIC MM_LOENGLISH Constante MM_HIENGLISH MM_TWIPS MM_ISOTROPIC MM_ANISOTROPIC
Unidade Lgica Pixel 0.1 mm 0.01 mm 0.01 pol. Unidade Lgica 0.001 pol. 1/1440 pol. Qualquer (x = y) Qualquer (x <> y)
Val. Crescentes(X) Para a Direita Para a Direita Para a Direita Para a Direita Val. Crescentes(X) Para a Direita Para a Direita A definir A definir
Val. Crescentes(Y) Para Baixo Para Cima Para Cima Para Cima Val. Crescentes(Y) Para Cima Para Cima A definir A definir
Se quisermos, por exemplo, usar o modo de mapeamento MM_LOMETRIC para o canvas do formulrio usado na aplicao descrita no tpico anterior, devemos empregar uma linha de cdigo como a mostrada a seguir:
SetMapMode(FormInterativo.Canvas.Handle, MM_LOMETRIC);
Se voc quiser transformar as coordenadas de um nico ponto, no precisa definir a array basta usar uma nica varivel do tipo TPoint. O tipo TPoint usado para representar pontos da tela, e tem dois campos, denominados x e y, que armazenam as coordenadas do ponto. Para converter coordenadas lgicas em coordenadas de dispositivo, deve-se utilizar a funo LpToDp, que recebe como parmetros:
Um handle para o objeto sobre o qual o mapeamento est sendo definido. Uma array de variveis do tipo TPoint. O nmero de elementos da array de variveis do tipo TPoint.
Novamente, se voc quiser transformar as coordenadas de um nico ponto, no precisa definir a array basta usar uma nica varivel do tipo TPoint. No caso do exemplo anterior, por exemplo, poderamos redefinir o modo de mapeamento como MM_LOMETRIC. Dessa maneira, o procedimento associado ao evento OnMouseMove do formulrio poderia ser reescrito como mostrado a seguir:
procedure TFormInterativo.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var pt : TPoint; begin SetMapMode(FormInterativo.Canvas.Handle, MM_LOMETRIC); pt.x := X; pt.y := y; DPToLp(FormInterativo.Canvas.Handle,pt,1); Panel1.Caption := X = +IntToStr(pt.X)+ Y = +IntToStr(pt.y); If not desenha then exit; FormInterativo.Canvas.Pen.Color := clBlack; FormInterativo.Canvas.MoveTo(xbase,ybase); FormInterativo.Canvas.LineTo(xatual,yatual); xatual := x; yatual := y; FormInterativo.Canvas.Pen.Color := clWhite; FormInterativo.Canvas.MoveTo(xbase,ybase); FormInterativo.Canvas.LineTo(xatual,yatual); end;
Observe que, nesse caso, declarou-se uma varivel local ao procedimento, como mostrado no trecho de cdigo a seguir:
var pt : TPoint;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
631
Os parmetros X e Y dos procedimentos associados aos eventos OnMouseDown, OnMouseMove e OnMouseUp esto sempre definidos em termos de coordenadas de dispositivo.
Se voc recompilar a aplicao e execut-la novamente, ver que os valores de Y aparecem como negativos. Isso se deve ao fato de que, nesse modo de mapeamento, o eixo Y dirigido para cima, e mantivemos nossa origem na extremidade superior esquerda da tela. Para alterar a posio da origem, devemos utilizar a funo SetViewPortOrgEx. Essa funo utilizada para definir o posicionamento da origem do sistema de coordenadas fsicas, e recebe como parmetros:
Um handle para o objeto sobre o qual o mapeamento est sendo definido. A coordenada X, em termos de coordenadas de dispositivo, do ponto para o qual dever se
deslocar a origem.
A coordenada Y, em termos de coordenadas de dispositivo, do ponto para o qual dever se
deslocar a origem.
Uma varivel do tipo TPoint, na qual sero armazenadas as coordenadas correntes da origem.
Caso voc no queira utilizar esse parmetro, pode substitu-lo por nil. Para alterar as dimenses a serem empregadas nas direes X e Y, no caso de se usar os modos de mapeamento MM_ISOTROPIC e MM_ANISOTROPIC, devem-se empregar as funes SetWindowExtEx e SetViewportExtEx descritas a seguir.
FUNO SETWINDOWEXTEX
Essa funo recebe como parmetros:
Um handle para o objeto sobre o qual o mapeamento est sendo definido. A extenso horizontal, em coordenadas lgicas, utilizada no mapeamento. A extenso vertical, em coordenadas lgicas, utilizada no mapeamento.
vertical. Caso voc no queira utilizar esse parmetro, pode substitu-lo por nil.
FUNO SETVIEWPORTEXTEX
Essa funo recebe como parmetros:
Um handle para o objeto sobre o qual o mapeamento est sendo definido. A extenso horizontal, em coordenadas de dispositivo, utilizada no mapeamento. A extenso vertical, em coordenadas de dispositivo, utilizada no mapeamento. Uma varivel do tipo TPoint, que armazenar os valores correntes das extenses horizontal e
vertical. Caso voc no queira utilizar esse parmetro, pode substitu-lo por nil.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
633
Captulo
Tcnicas de Impresso
30
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
635
METODOLOGIA
Apresentao do problema: Utilizao das principais propriedades e mtodos da classe TPrinter.
TCNICA
Apresentao dos procedimentos necessrios impresso direta no Windows, utilizando as propriedades e mtodos da classe TPrinter.
Existem situaes em que os componentes e geradores de relatrios no atendem s necessidades especficas das nossas aplicaes. Nesse caso, as rotinas de codificao devem ser feitas pelo prprio desenvolvedor. Como para o sistema operacional Windows a superfcie do papel tambm considerada uma superfcie de desenho, o Delphi disponibiliza uma classe denominada TPrinter, que representa a impressora configurada no sistema, e que possui uma propriedade chamada Canvas, que um objeto da classe TCanvas, e que representa a superfcie do papel no qual ser feita a impresso. Alm de fornecer a classe TPrinter, o Delphi tambm disponibiliza um objeto dessa classe, chamado Printer, e declarado na unit Printers. Na realidade, o que a unit Printers fornece uma funo chamada Printer que retorna um objeto da classe TPrinter, mas voc pode tratar Printer como um objeto da classe TPrinter, que o tipo retornado por essa funo. Dessa maneira, para usar um objeto da classe TPrinter, basta incluir a unit Printers na clusula uses da unit responsvel pela impresso. Para criar o desenho, basta usar os mtodos da classe TCanvas, da mesma maneira que se faz em um formulrio. Nesse caso, no entanto, como a altura do papel finita, voc precisa controlar se a impresso est sendo feita dentro dos limites da pgina, bem como controlar o incio e o encerramento dos trabalhos
ABORTED
Essa propriedade definida como uma varivel booleana, e define se um trabalho de impresso foi abortado.
CANVAS
Essa propriedade , na realidade, um objeto da classe TCanvas, sendo utilizado para representar a superfcie de impresso.
COPIES
Essa propriedade declarada como uma varivel inteira, e retorna o nmero de cpias impressas pelo dispositivo.
FONTS
Essa propriedade definida como um objeto da classe TStrings, e retorna a lista com as fontes disponveis para a impressora default do sistema.
ORIENTATION
Essa propriedade, declarada como uma varivel do tipo TPrinterOrientation, define a orientao da impresso na pgina, podendo assumir os valores poPortrait (impresso vertical) e poLandscape (impresso horizontal), valores definidos para esse tipo enumerado, como reproduzido a seguir:
type TPrinterOrientation = (poPortrait, poLandscape);
PAGEHEIGHT
Essa propriedade declarada como uma varivel inteira, e define a altura da pgina (em pixels).
PAGENUMBER
Essa propriedade declarada como uma varivel inteira, e retorna o nmero de pginas j impressas, sendo o seu valor incrementado em uma unidade a cada chamada do mtodo NewPage da classe.
PAGEWIDTH
Essa propriedade declarada como uma varivel inteira, e define a largura da pgina a ser impressa (em pixels).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
637
PRINTERINDEX
Essa propriedade declarada como uma varivel inteira, e retorna o ndice do elemento da lista de strings definida pela propriedade Printers que corresponde impressora selecionada no sistema operacional. Para usar a impressora default do sistema, basta atribuir o valor -1 a essa propriedade.
PRINTERS
Essa propriedade definida como um objeto da classe TStrings, e retorna a lista com a identificao das impressoras instaladas no sistema, sendo o ndice da impressora selecionada no sistema definido pela propriedade PrinterIndex. Conforme descrito anteriormente, quando o valor da PrinterIndex for igual a -1, ser usada a impressora default do sistema.
PRINTING
Essa propriedade declarada como uma varivel booleana, e define se est se realizando um trabalho de impresso.
TITLE
Essa propriedade declarada como uma varivel do tipo string, que define o ttulo a ser exibido no gerenciador de impresso do Windows quando o trabalho de impresso corrente estiver sendo processado.
BEGINDOC
Declarao
procedure BeginDoc;
Esse mtodo deve ser chamado antes de se iniciar a impresso. Todo cdigo de impresso dever ser colocado entre chamadas aos mtodos BeginDoc e EndDoc (a ser visto a seguir).
ENDDOC
Declarao
procedure EndDoc;
Esse mtodo deve ser chamado aps a ltima linha do cdigo que define um trabalho de impresso. Na realidade, a impresso efetivamente s se inicia aps uma chamada a esse mtodo.
NEWPAGE
Declarao
procedure NewPage;
Esse mtodo inicia a impresso de uma nova pgina, e incrementa em uma unidade o valor da propriedade PageNumber.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
639
Figura 30.1: Aspecto do formulrio criado para exibir as caractersticas das impressoras instaladas no sistema.
CODIFICANDO A APLICAO
Para codificar esse aplicativo-exemplo, voc deve executar os seguintes procedimentos: 1. Incluir a unit Printers na clusula Uses da unit associada a esse formulrio. 2. Definir da seguinte maneira o procedimento associado ao evento OnCreate do formulrio:
procedure TFormImpressoras.FormCreate(Sender: TObject); begin ComboBoxImpressoras.Items := Printer.Printers; ListBoxFontes.Items := Printer.Fonts; LabelLargura.caption := Largura Definida Para a Pgina: +IntToStr(Printer.PageWidth); LabelAltura.caption := Altura Definida Para a Pgina: +IntToStr(Printer.PageHeight); ComboBoxImpressoras.ItemIndex := Printer.PrinterIndex; end;
Esse procedimento atribui propriedade Items do ComboBox (que um objeto da classe TStrings) a lista de strings armazenada na propriedade Printers do objeto Printer, o que feito mediante a incluso da seguinte linha de cdigo:
ComboBoxImpressoras.Items := Printer.Printers;
Em seguida, atribui propriedade Items do ListBox (que um objeto da classe TStrings) a lista de strings armazenada na propriedade Fonts do objeto Printer, o que feito mediante a incluso da seguinte linha de cdigo:
ListBoxFontes.Items := Printer.Fonts;
Alm disso, o valor da propriedade Caption dos Labels LabelLargura e labelAltura atualizado para exibir, respectivamente, a largura e a altura da pgina definida para a impressora selecionada no sistema, o que feito mediante a incluso das seguintes linhas de cdigo:
LabelLargura.caption := Largura Definida Para a Pgina: +IntToStr(Printer.PageWidth); LabelAltura.caption := Altura Definida Para a Pgina: +IntToStr(Printer.PageHeight);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
641
A codificao desse procedimento muito semelhante do procedimento anterior, razo pela qual no nos deteremos muito em coment-las. A nica alterao, nesse caso, est no fato de que a impressora do sistema definida de acordo com a seleo feita pelo usurio no ListBox, mediante a incluso da seguinte linha de cdigo:
Printer.PrinterIndex := ComboBoxImpressoras.ItemIndex;
CODIFICANDO A APLICAO
Para codificar esse aplicativo-exemplo, voc deve executar os seguintes procedimentos:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
643
Essa linha de cdigo faz com que a caixa de dilogo padro para configurao de impressora do Windows seja exibida, de forma a permitir a configurao desejada. 3. Definir da seguinte maneira o procedimento associado ao evento OnClick do item Imprimir do menu Arquivo:
procedure TFormMemo.ImprimirClick(Sender: TObject); var i, linhaatual : integer; begin Printer.BeginDoc; linhaatual := 5*Printer.Canvas.TextHeight(A); for i := 0 to Memo1.Lines.Count-1 do begin if (linhaatual + trunc(1.1*Printer.Canvas.TextHeight(A))) >= Printer.PageHeight then begin Printer.NewPage; linhaatual := 20; end; Printer.Canvas.TextOut(20, linhaatual, Memo1.Lines[i]); linhaatual := linhaatual + trunc(1.1*Printer.Canvas.TextHeight(A)); end; Printer.EndDoc; end;
Inicialmente faz-se uma chamada ao mtodo BeginDoc do objeto Printer, para iniciar o trabalho de impresso. Em seguida esse procedimento define um valor para a margem superior da pgina, igual altura de cinco caracteres, mediante a incluso da seguinte linha de cdigo, na qual o mtodo TextHeight da propriedade Canvas do Objeto Printer utilizado para obter a altura de um caractere (que vai depender da fonte correntemente selecionada para a impressora).
linhaatual := 5*Printer.Canvas.TextHeight(A);
Em seguida, o procedimento realiza uma iterao por todas as linhas de texto exibidas pelo componente Memo (cada uma correspondendo a uma string). Em cada iterao, verifica-se inicialmente se a distncia ao topo da pgina superior a um valor predefinido, o que feito na seguinte linha de cdigo:
if (linhaatual + trunc(1.1*Printer.Canvas.TextHeight(A))) >= Printer.PageHeight then
Caso isso ocorra, deve-se iniciar uma nova pgina (o que feito mediante uma chamada ao mtodo NewPage do objeto Printer), reinicializando o valor da varivel linhaatual. Ao trmino de dada iterao do looping, imprime-se a linha corrente do componente Memo e atualizase o valor da varivel linhaatual, o que feito mediante a incluso das seguintes linhas de cdigo:
Printer.Canvas.TextOut(20, linhaatual, Memo1.Lines[i]); linhaatual := linhaatual + trunc(1.1*Printer.Canvas.TextHeight(A));
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
645
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
647
claro que muitas caractersticas adicionais poderiam ser implementadas a este exemplo. O objetivo, no entanto, foi mostrar os principais procedimentos necessrios impresso direta no Windows, usandose o objeto Printer.
Captulo
Criao de DLLs
31
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
649
Apresentao do problema: Criao de uma DLL, a ser compartilhada entre diversos aplicativos.
TCNICA
INTRODUO
As bibliotecas de vinculao dinmica (Dynamic Link Libraries DLLs) permitem que um conjunto de funes desenvolvidas em uma linguagem possa ser utilizado em programas, incluindo-se programas desenvolvidos em outras linguagens. Voc pode, por exemplo, criar uma DLL em Delphi com um conjunto de funes e utiliz-la em aplicativos desenvolvidos em C++ ou Visual Basic, por exemplo.
Inicialmente exibido um comentrio informando ao desenvolvedor que a unit ShareMem deve ser a primeira unit includa na clusula Uses do cdigo-fonte do seu arquivo de projeto, caso a sua DLL exporte funes que recebam uma string como parmetro ou que retornem uma string como resultado, ainda que essas strings estejam embutidas em registros ou classes. Nessa situao, o arquivo DELPHIMM.DLL deve ser distribudo junto com a sua aplicao. Para evitar esses inconvenientes, essas strings passadas como parmetros devem ser definidas como sendo do tipo Pchar ou ShortString (strings com no mximo 255 caracteres). Apenas a ttulo de exemplificao, vamos criar uma funo que receba como parmetros dois nmeros reais e retorne o maior deles. Essa funo pode ser escrita na linguagem Object Pascal como indicado a seguir:
function Max(a, b : double):double;export;stdcall; begin if (a > b) then result := a else result := b; end;
Repare que, nesse caso, foram includas, no cabealho da funo, as palavras reservadas export e stdcall. A palavra reservada export utilizada para indicar que essa funo ser exportada, isto , poder ser chamada por outros aplicativos. A palavra reservada stdcall permite que os aplicativos desenvolvidos em outras linguagens faam chamadas a essa funo. Isso se deve ao fato de que, no Pascal, a passagem de parmetros feita da esquerda para a direita, ao passo que, na maioria das outras linguagens de programao, a passagem de parmetros feita da direita para a esquerda. Alm disso, o nome das funes a serem exportadas deve ser includo aps a palavra reservada exports, a ser includa aps a definio das funes. Opcionalmente, poder ser includa a palavra reservada index, seguida por um nmero (ndice). Dessa maneira, ao ser acessada a partir de outro aplicativo, a funo poder ser identificada pelo seu nome ou pelo seu ndice.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
651
Salve este projeto com o nome MaxDLL (este ser o nome do arquivo no qual ser armazenada a biblioteca de vinculao dinmica MaxDLL.dll). Uma DLL pode ser compilada da mesma maneira que um projeto de aplicativo e, aps compilada, poder ser livremente distribuda. Voc no pode, no entanto, executar uma DLL a partir do ambiente de desenvolvimento do Delphi, selecionando o item Run do menu Run (embora esse item esteja habilitado), pois uma DLL no uma aplicao (a menos que voc defina um aplicativo como Host, a ser especificado na caixa de dilogo Run Parameters, exibida quando se seleciona o item Parameters do menu Run). Entre as palavras reservadas begin e end, que formam o corpo principal da DLL, dever ser inserido qualquer cdigo a ser executado durante a inicializao da DLL. Uma DLL pode usar formulrios e objetos definidos em outras units, conforme ser visto posteriormente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
653
Repare que a funo Max declarada na seo interface e implementada na seo implementation. Nesse caso, no entanto, informamos que, na realidade, a funo est implementada em uma DLL. Como no foi informado o diretrio no qual esta DLL est localizada, esta ser procurada no prprio diretrio da aplicao e no diretrio C:\Windows\SYSTEM. Execute a aplicao e teste a chamada da funo definida na DLL.
Vamos incorporar essa unit clusula Uses da nossa DLL e definir, na DLL, o cdigo da funo MostraDLL, usada para exibir o formulrio, conforme apresentado na listagem a seguir:
library MaxDLL; { Important note about DLL memory management: ShareMem must be the first unit in your librarys USES clause AND your projects (select View-Project Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL even those that are nested in records and classes. ShareMem is the interface unit to the DELPHIMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using DELPHIMM.DLL, pass string information using PChar or ShortString parameters. } uses SysUtils, Classes, UnitChamaDLL in UnitChamaDLL.pas {FormDLL}; function Max(a, b : double):double;export;stdcall; begin if (a > b) then result := a else result := b; end; procedure MostraDLL;export;stdcall; begin FormDLL := TFormDLL.Create(nil); FormDLL.ShowModal; FormDLL.Free; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
655
Pronto! A partir de agora, nosso formulrio poder ser exibido a partir de qualquer aplicao desenvolvida para o ambiente Windows que acesse essa DLL. Basta que se inclua, na seo implementation da unit a partir da qual ser chamado este procedimento, a seguinte linha de cdigo:
function MostraDLL;external MaxDLL;
Captulo
Manipulao de Arquivos, Strings e Fontes em Delphi
32
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
657
Experincia em programao estruturada com verses anteriores da linguagem Pascal. Experincia em programao orientada a objetos em Delphi.
METODOLOGIA
Apresentao das funes, procedimentos, classes e componentes que permitem a manipulao de arquivos em Delphi.
TextFile, para arquivos de texto ASCII. File Of < tipo predefinido>, para arquivos binrios que armazenam dados de um determinado
tipo. O tipo predefinido pode ser um tipo de varivel ou uma classe.
File, para arquivos binrios que armazenem informaes genricas em formato de dado, no
associadas a um tipo especfico de dado. Apresenta-se a seguir uma relao das principais funes utilizadas na manipulao direta de arquivos associados a uma varivel.
APPEND
Declarao
Esse procedimento, declarado na unit System, abre o arquivo associado varivel F e posiciona o ponteiro de leitura/gravao no final do arquivo.
ASSIGNFILE
Para verificar se o arquivo possui um dos seguintes atributos, basta fazer uma operao lgica and entre o valor retornado pela funo e a constante que representa cada um dos atributos.
Significado Arquivo apenas de leitura Arquivo Oculto Arquivo de sistema Identificador de dispositivo Diretrio Arquivo comum Qualquer arquivo
FILEGETDATE
Declarao
function FileGetDate(Handle: Integer): Integer;
Essa funo, declarada na unit SysUtils, retorna a data de um arquivo (no formato data-hora do DOS) cujo handle passado como primeiro parmetro na forma de um valor inteiro. Esse handle retornado por uma chamada funo FileOpen, utilizada para abrir o arquivo.
FILEOPEN
Declarao
function FileOpen(const FileName: string; Mode: Integer): Integer;
Essa funo, declarada na unit SysUtils, abre um arquivo cujo nome passado como primeiro parmetro na forma de uma string, e com o modo de abertura passado como segundo parmetro, retornando um inteiro que pode ser usado como um handle para o arquivo.
FILESEARCH
Declarao
function FileSearch(const Name, DirList: string): string;
Essa funo, declarada na unit SysUtils, recebe como parmetro duas strings, sendo que a primeira deve definir o nome do arquivo a ser pesquisado e a segunda deve definir uma lista de diretrios (separados por ponto-e-vrgula) nos quais deve ser verificada a existncia do arquivo. Essa funo retorna o valor True, se o arquivo for encontrado na lista de diretrios especificada como segundo parmetro, e false, em caso contrrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
659
FILESETATTR
Declarao
function FileSetAttr(const FileName: string; Attr: Integer): Integer;
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string com o nome do arquivo e um valor inteiro, que definir o novo valor do atributo (esse valor dever ser resultado de uma operao entre as vrias constantes usadas para representar os atributos do arquivo, descritas anteriormente para a funo FileGetAttr, descrita anteriormente) e retorna um valor nulo se a operao no for realizada com sucesso.
FILESETDATE
Declarao
function FileSetDate(Handle: Integer; Age: Integer): Integer;
Essa funo, declarada na unit SysUtils, recebe como parmetro um handle para um arquivo e um valor inteiro que representa a data a ser atribuda ao arquivo, que deve estar no formato data-hora do DOS. A funo DateTimeToFileDate pode ser usada para converter um valor do tipo TDateTime no formato data-hora do DOS.
FILEWRITE
Declarao
function FileWrite(Handle: Integer; const Buffer; Count: Integer): Integer;
Essa funo, declarada na unit SysUtils, recebe como parmetro um handle para um arquivo e grava nesse arquivo uma quantidade igual a Count de Bytes (passada como terceiro parmetro) armazenados em um buffer passado como segundo parmetro.
FINDCLOSE
Declarao
procedure FindClose(var F: TSearchRec);
Esse procedimento, declarado na unit SysUtils, recebe como parmetro uma varivel do tipo TSearchRec e libera a memria alocada por uma chamada funo FindFirst.
FINDFIRST
Declarao
function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
Essa funo, declarada na unit SysUtils, recebe como parmetros uma string que define um diretrio, um valor inteiro que define um conjunto de atributos possveis para um arquivo, e uma varivel do tipo TSearchRec na qual sero retornadas as informaes referentes ao primeiro arquivo encontrado que atenda aos requisitos especificados. O tipo TSearchRec definido da seguinte maneira na unit SysUtils:
TSearchRec: record Time: Integer;
onde TFileName definido como um nome alternativo para uma string, como mostrado na linha de cdigo a seguir.
TFileName = string;
FINDNEXT
Declarao
function FindNext(var F: TSearchRec): Integer;
Essa funo, declarada na unit SysUtils, retorna o prximo arquivo que atenda s condies especificadas por uma chamada funo FindFirst. O parmetro TSearchRec deve ser o mesmo que foi passado na chamada funo FindFirst.
FORCEDIRECTORIES
Declarao
procedure ForceDirectories(Dir: string);
Esse procedimento, declarado na unit FileCtrl, cria o diretrio cujo path completo passado como parmetro na forma de uma string (incluindo os diretrios que formam o path caso estes no existam).
GETCURRENTDIR
Declarao
Essa funo, declarada na unit SysUtils, retorna na forma de uma string o diretrio corrente para a aplicao.
GETDIR
Declarao
Esse procedimento, declarado na unit SysUtils, retorna na varivel S (passada por referncia) o diretrio corrente do drive passado como primeiro parmetro. O parmetro D pode armazenar um dos valores apresentados na tabela a seguir.
Valor 0 1 2
Drive Default A B
continua
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
661
Valor 3 4
Drive C D
MKDIR
Declarao
Esse procedimento, declarado na unit SysUtils, cria um novo diretrio, cujo path completo passado como parmetro na forma de uma string.
REMOVEDIR
Declarao
Essa funo, declarada na unit SysUtils, remove o diretrio cujo path passado como parmetro na forma de uma string, desde que esse diretrio esteja vazio. Ao contrrio do procedimento RmDir, apresentado a seguir, essa funo retorna True se o diretrio for removido (e False, em caso contrrio).
RENAMEFILE
Declarao
Esse procedimento, declarado na unit SysUtils, renomeia o arquivo cujo nome passado como primeiro parmetro, atribuindo-lhe o nome passado como segundo parmetro (ambos definidos na forma de uma string).
RMDIR
Declarao
Esse procedimento, declarado na unit SysUtils, remove o diretrio cujo path passado como parmetro na forma de uma string, desde que esse diretrio esteja vazio.
SETCURRENTDIR
Declarao
Essa funo, declarada na unit SysUtils, define como diretrio corrente aquele passado como parmetro na forma de uma string, retornando True caso a operao tenha sido realizada com sucesso.
Experincia em programao estruturada com verses anteriores da linguagem Pascal. Experincia em programao orientada a objetos em Delphi.
Apresentao das funes, procedimentos, classes e componentes que permitem a manipulao de strings em Delphi.
O Delphi suporta vrios tipos de strings, conhecidos como:
Caracteres de um nico byte (Single-Byte Character Set SBCS). Nesse tipo, cada byte de uma
string representa um caractere.
Caracteres de mltiplos bytes (Multiple-Byte Character Set MBCS). Nesse tipo, alguns caracteres
so representados por mais de um byte (usados principalmente em idiomas de pases da sia).
Caracteres Unicode. Nesse tipo, todos os caracteres so representados por dois bytes.
Em geral, as funes cujo nome comeam com a palavra Ansi se referem a strings em que os caracteres so tratados como caracteres de mltiplos bytes. Apresenta-se a seguir uma relao das principais funes utilizadas na manipulao direta de strings em Delphi.
ANSICOMPARESTR
Declarao
Essa funo, declarada na unit SysUtils, compara duas strings passadas como parmetros, retornando um inteiro positivo, nulo ou negativo de acordo com as seguintes regras:
Essa funo considera o fato de os caracteres estarem em caixa alta ou caixa baixa. Em geral, na maioria dos pases, a instalao local do Windows considera caracteres minsculos precedendo os maisculos
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
663
ANSICOMPARETEXT
Declarao
Essa funo, declarada na unit SysUtils, idntica funo AnsiCompareStr, exceto pelo fato de no considerar se as letras esto em caixa alta ou em caixa baixa.
ANSIEXTRACTQUOTEDSTR
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros uma string de terminao nula, e um caractere que representa um delimitador. Caso esse caractere delimitador no exista como primeiro caractere da string, essa funo retorna uma string vazia. Em caso contrrio, retorna a string sem os delimitadores inicial e final da string. Alm disso, pares de delimitadores internos string passada como parmetro so substitudos por um nico caractere delimitador na string retornada como resultado da chamada da funo.
ANSILOWERCASE
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string e retorna como resultado a mesma string com todos os seus caracteres em caixa baixa (minsculos).
ANSIPOS
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro duas strings e verifica se a primeira uma substring da segunda. Em caso positivo, retorna a posio ocupada pelo primeiro caractere da substring. Em caso negativo, retorna o valor 0.
ANSIQUOTEDSTR
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros uma string e um caractere que representa um delimitador, acrescentando esse caractere no incio e no final da string. A string assim obtida retorna como resultado da chamada da funo (a string original no alterada).
ANSIUPPERCASE
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string e retorna como resultado a mesma string com todos os seus caracteres em caixa alta (maisculos).
COMPARESTR
Declarao
Essa funo, declarada na unit SysUtils, compara duas strings passadas como parmetros, retornando um inteiro positivo, nulo ou negativo de acordo com as seguintes regras:
Essa funo considera o fato de os caracteres estarem em caixa alta ou caixa baixa e considera a ordenao dos caracteres feita pelo seu cdigo ASCII.
COMPARETEXT
Declarao
Essa funo, declarada na unit SysUtils, idntica funo CompareStr, exceto pelo fato de no considerar se as letras esto em caixa alta ou em caixa baixa.
CONCAT
Declarao
Essa funo, declarada na unit System, retorna uma string obtida como resultado da concatenao de duas ou mais strings passadas como parmetros.
COPY
Declarao
Essa funo, declarada na unit System, recebe como parmetros uma string e dois nmeros inteiros, retornando como resultado uma string que na realidade uma substring da string passada como parmetro. A string resultante contm Count caracteres, sendo o primeiro caractere aquele que ocupa, na string original, a posio definida pelo parmetro Index.
CURRTOSTR
Declarao
Essa funo, definida na unit SysUtils, converte uma valor que representa um valor monetrio, passado como parmetro, em uma string.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
665
DATETOSTR
Declarao
Essa funo, definida na unit SysUtils, converte em uma string um valor do tipo TDateTime, usado para representar uma data, e passado como parmetro.
DELETE
Declarao
Esse procedimento, declarado na unit System, recebe como parmetros uma string e dois nmeros inteiros, removendo da string original Count caracteres, sendo o primeiro caractere aquele que ocupa, na string original, a posio definida pelo parmetro Index.
FLOATTOSTR
Declarao
Essa funo, definida na unit SysUtils, converte em uma string o nmero real passado como parmetro.
INSERT
Declarao
Esse procedimento, declarado na unit System, recebe como parmetros duas strings e um nmero inteiro, inserindo na string passada como primeiro parmetro a segunda string, a partir da posio definida pelo parmetro Index.
INTTOSTR
Declarao
Essa funo, definida na unit SysUtils, converte em uma string o nmero inteiro passado como parmetro.
ISDELIMITER
Declarao
Essa funo, declarada na unit System, recebe como parmetros duas strings e um nmero inteiro, sendo que a primeira string armazena um conjunto de caracteres a serem pesquisados na segunda string. Se um dos caracteres especificados pela primeira string estiver presente na segunda string, na posio indicada pelo parmetro Index, essa funo retorna True (retornando false em caso contrrio).
ISPATHDELIMITER
Declarao
Essa funo, declarada na unit System, recebe como parmetros uma string e um nmero inteiro, e verifica se o caractere de barra invertida est presente na segunda string, na posio indicada pelo parmetro Index, retornando True em caso verdadeiro (e False, em caso contrrio).
LASTDELIMITER
Declarao
Essa funo, declarada na unit System, recebe como parmetros duas strings e retorna um inteiro que define a posio, na string, de qualquer caractere que seja igual a um dos caracteres armazenados na primeira string.
LENGTH
Declarao
Essa funo, declarada na unit System, recebe como parmetro uma string ou array e retorna como resultado o nmero de caracteres da string (ou de elementos da array).
LOWERCASE
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string e retorna como resultado a mesma string com todos os seus caracteres em caixa baixa (minsculos).
POS
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro duas strings e verifica se a primeira uma substring da segunda. Em caso positivo, retorna a posio ocupada pelo primeiro caractere da substring. Em caso negativo, retorna o valor 0.
QUOTEDSTR
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros uma string e retorna como resultado da chamada da funo uma string igual primeira, acrescida do delimitador () no incio e no final da string (a string original no alterada).
SETLENGTH
Declarao
Esse procedimento, declarado na unit System, redefine o comprimento da string ou array passado como primeiro parmetro para o valor inteiro passado como segundo parmetro.
SETSTRING
Declarao
Esse procedimento, declarado na unit System, redefine o comprimento e contedo da string passada como primeiro parmetro. O contedo definido pelo parmetro buffer e o comprimento, pelo parmetro len.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
667
STR
Declarao
Esse procedimento, declarado na unit System, converte o valor X (que pode ser um nmero inteiro ou real) em uma string, exibindo um nmero de algarismos definidos pelo valor opcional Width e com o nmero de casas decimais definidos pelo valor opcional Decimals. O valor convertido retornado na varivel S, passada por referncia. Por exemplo, para exibir o valor de pi com duas casas decimais, pode-se usar um trecho de cdigo como o apresentado a seguir.
Str(pi:1:2,S2); ShowMessage(S2);
STRINGOFCHAR
Declarao
Essa funo, declarada na unit System, recebe como parmetros um caractere e um nmero inteiro, e retorna uma string com Count caracteres iguais ao passado como primeiro parmetro.
STRINGREPLACE
Declarao
Essa funo, declarada na unit SysUtils, substitui na string passada como primeiro parmetro uma ou mais ocorrncias da substring OldPattern pela string NewPattern (dependendo do valor do parmetro Flags). O parmetro Flags uma varivel do tipo TReplaceFlags, definida da seguinte maneira:
TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
Se Flags contiver o valor rfReplaceAll, todas as ocorrncias de OldPattern sero substitudas pela string NewPattern (se no apenas a primeira ocorrncia ser substituda). Se Flags contiver o valor rfIgnoreCase, todas as ocorrncias de OldPattern sero consideradas, independentemente do fato de os caracteres estarem em caixa alta ou caixa baixa.
STRTOCURR
Declarao
Essa funo, definida na unit SysUtils, converte em um nmero do tipo currency a string passada como parmetro.
STRTODATE
Declarao
Essa funo, definida na unit SysUtils, converte em um nmero do tipo TDateTime uma string que representa uma data, passada como parmetro.
STRTOFLOAT
Declarao
Essa funo, definida na unit SysUtils, converte em um nmero real a string passada como parmetro.
STRTOINT
Declarao
Essa funo, definida na unit SysUtils, converte em um nmero inteiro a string passada como parmetro.
STRTOINTDEF
Declarao
Essa funo, definida na unit SysUtils, converte em um nmero inteiro a string passada como primeiro parmetro. Se a converso no puder ser realizada, ser retornado o valor inteiro passado como segundo parmetro (tratado como valor default).
STRTOTIME
Declarao
Essa funo, definida na unit SysUtils, converte em um nmero do tipo TDateTime uma string que representa uma hora, passada como parmetro.
TIMETOSTR
Declarao
Essa funo, definida na unit SysUtils, converte em uma string um valor do tipo TDateTime, usado para representar uma hora, e passado como parmetro.
TRIM
Declarao
Essa funo, declarada na unit SysUtils, retorna como resultado uma string, obtida removendo-se os espaos em branco e caracteres de controle existentes no incio e no final da string passada como parmetro (no alterando portanto a string original).
TRIMLEFT
Declarao
Essa funo, declarada na unit SysUtils, retorna como resultado uma string, obtida removendo-se os espaos em branco e caracteres de controle existentes no incio da string passada como parmetro (no alterando portanto a string original).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
669
TRIMRIGHT
Declarao
Essa funo, declarada na unit SysUtils, retorna como resultado uma string, obtida removendo-se os espaos em branco e caracteres de controle existentes no final da string passada como parmetro (no alterando portanto a string original).
UPPERCASE
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string e retorna como resultado a mesma string com todos os seus caracteres em caixa alta (maisculos).
VAL
Declarao
Esse procedimento, declarado na unit System, converte em um valor numrico (a ser armazenado na varivel passada por referncia como segundo parmetro) a string passada como primeiro parmetro. Caso a converso no seja possvel, a posio do caractere que impediu a converso armazenada na varivel Code, tambm passada por referncia.
WRAPTEXT
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros duas strings, uma varivel do tipo TSysCharSet e um nmero inteiro. A primeira string define o texto que poder ser subdividido. A segunda string define a string que representar a subdiviso do texto geralmente um retorno de carro/ avano de linha, representados pela string #13#10. O parmetro nBreakChars definido como um conjunto de caracteres, separados por vrgulas e definidos entre colchetes. O parmetro MaxCol define o nmero mximo de caracteres permitidos antes da incluso da string passada como segundo parmetro. Essa funo insere a string passada como segundo parmetro na ltima ocorrncia dos caracteres definidos no terceiro parmetro, ou na posio definida pelo quarto parmetro.
ANSISTRCOMP
Declarao
Essa funo, declarada na unit SysUtils, compara duas strings de terminao nula passadas como parmetros, retornando um inteiro positivo, nulo ou negativo de acordo com as seguintes regras:
Essa funo considera o fato de os caracteres estarem em caixa alta ou caixa baixa. Em geral, na maioria dos pases, a instalao local do Windows considera caracteres minsculos precedendo os maisculos (ao contrrio do que ocorre com o cdigo ASCII desses mesmos caracteres). Caso voc queira considerar a ordenao feita pelo cdigo ASCII, deve utilizar a funo CompareStr.
ANSISTRICOMP
Declarao
Essa funo, declarada na unit SysUtils, compara duas strings de terminao nula passadas como parmetros, retornando um inteiro positivo, nulo ou negativo de acordo com as regras descritas no tpico anterior, mas sem considerar se as letras esto em caixa alta ou caixa baixa.
ANSISTRLCOMP
Declarao
Essa funo, declarada na unit SysUtils, compara duas strings de terminao nula passadas como parmetros, considerando-se apenas os primeiros MaxLen bytes, retornando um inteiro positivo, nulo ou negativo de acordo com as regras descritas no tpico anterior, considerando se as letras esto em caixa alta ou caixa baixa.
ANSISTRLOWER
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e retorna como resultado a mesma string de terminao nula, mas com todos os seus caracteres em caixa baixa (minsculos).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
671
ANSISTRPOS
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro duas strings de terminao e verifica se a primeira uma substring da segunda. Em caso positivo, retorna um ponteiro com o endereo da posio ocupada pelo primeiro caractere da substring. Em caso negativo, retorna o valor nil.
ANSISTRRSCAN
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e um ponteiro para caractere, e retorna um ponteiro para a ltima ocorrncia do caractere na string. Em caso negativo, retorna o valor nil.
ANSISTRSCAN
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e um ponteiro para caractere, e retorna um ponteiro para a primeira ocorrncia do caractere na string. Em caso negativo, retorna o valor nil.
ANSISTRUPPER
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e retorna como resultado a mesma string de terminao nula, mas com todos os seus caracteres em caixa alta (maisculos). A string original no afetada.
STRALLOC
Declarao
Essa funo, declarada na unit SysUtils, aloca memria para uma string de terminao nula capaz de armazenar um nmero mximo de caracteres igual a Size-1, onde Size um nmero inteiro passado como parmetro.
STRBUFSIZE
Declarao
Essa funo, declarada na unit SysUtils, retorna o nmero mximo de caracteres que pode ser armazenado em uma string de terminao nula, e cuja memria foi alocada por uma chamada funo StrAlloc.
STRCAT
Declarao
Essa funo, declarada na unit System, retorna uma string de terminao nula obtida como resultado da concatenao de duas strings de terminao nula passadas como parmetros.
STRCOMP
Declarao
Essa funo, declarada na unit SysUtils, compara duas strings de terminao nula passadas como parmetros, retornando um inteiro positivo, nulo ou negativo de acordo com as seguintes regras:
Essa funo considera o fato de os caracteres estarem em caixa alta ou caixa baixa e considera a ordenao dos caracteres feita pelo seu cdigo ASCII.
STRCOPY
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros duas strings de terminao nula, copiando o contedo da segunda na primeira e retornando a primeira string (j modificada). Essa funo no verifica se a string de terminao nula que ir receber o resultado da chamada dessa funo capaz de armazenar todos os caracteres resultantes da concatenao. Nessas situaes, deve-se dar preferncia funo StrLCopy, descrita adiante.
STRECOPY
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros duas strings de terminao nula, copiando o contedo da segunda na primeira e retornando um ponteiro para o caractere de terminao da primeira string (j modificada). Essa funo no verifica se a string de terminao nula que ir receber o resultado da chamada dessa funo capaz de armazenar todos os caracteres resultantes da concatenao.
STREND
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e retorna um ponteiro para o caractere de terminao da string.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
673
STRLCAT
Declarao
Essa funo, declarada na unit System, retorna uma string de terminao nula obtida como resultado da concatenao de duas strings de terminao nula passadas como parmetros. Alm disso, recebe um terceiro parmetro que indica o nmero mximo de caracteres que pode ter a string de terminao nula resultante dessa concatenao.
STRLCOMP
Declarao
Essa funo, declarada na unit SysUtils, compara duas strings de terminao nula passadas como parmetros, at um mximo de MaxLen caracteres, retornando um inteiro positivo, nulo ou negativo de acordo com as regras j descritas para a funo StrComp. Essa funo considera o fato de os caracteres estarem em caixa alta ou caixa baixa e considera a ordenao dos caracteres feita pelo seu cdigo ASCII.
STRLCOPY
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros duas strings de terminao nula e um inteiro, copiando o contedo da segunda (limitado a MaxLen caracteres) na primeira e retornando a primeira string (j modificada).
STRLEN
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e retorna o nmero de caracteres da string (no considerando o caractere de terminao).
STRLICOMP
Declarao
Essa funo, declarada na unit SysUtils, compara duas strings de terminao nula passadas como parmetros, at um mximo de MaxLen caracteres, retornando um inteiro positivo, nulo ou negativo de acordo com as regras j descritas para a funo StrComp. Essa funo no considera o fato de os caracteres estarem em caixa alta ou caixa baixa e considera a ordenao dos caracteres feita pelo seu cdigo ASCII.
STRLOWER
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e retorna como resultado a mesma string de terminao nula, mas com todos os seus caracteres em caixa baixa (minsculos).
STRMOVE
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros duas strings de terminao nula e um nmero inteiro, copiando exatamente esse nmero de caracteres (passado como terceiro parmetro) da segunda string na primeira e retornando um ponteiro para a primeira string (j modificada).
STRNEW
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e retorna uma cpia dessa string (aps alocar a memria necessria com uma chamada ao mtodo StrAlloc).
STRPCOPY
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetros uma string de terminao nula e uma string no estilo Pascal, retornando uma string de terminao nula obtida copiando-se os caracteres da string no estilo Pascal passada como segundo parmetro.
STRUPPER
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e retorna como resultado a mesma string de terminao nula, mas com todos os seus caracteres em caixa alta (maisculos).
STRRSCAN
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e um ponteiro para caractere, e retorna um ponteiro para a ltima ocorrncia do caractere na string. Em caso negativo, retorna o valor nil.
STRSCAN
Declarao
Essa funo, declarada na unit SysUtils, recebe como parmetro uma string de terminao nula e um ponteiro para caractere, e retorna um ponteiro para a primeira ocorrncia do caractere na string. Em caso negativo, retorna o valor nil.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
675
Conhecimento da sintaxe bsica da linguagem Pascal e dos fundamentos da programao orientada a objetos em Delphi.
METODOLOGIA
Apresentao das caractersticas principais da classe TStrings, e de componentes que implementam propriedades como objetos da classe TStrings.
A CLASSE TSTRINGS
O Delphi define uma classe chamada TStrings, que define uma srie de propriedades e mtodos que nos torna capazes de manipular uma lista de strings e de objetos associados a essas strings. Muitos dos mtodos dessa classe so abstratos, sendo implementados nas classes dela derivadas por herana, como por exemplo a classe TStringList. importante salientar que a classe TStrings permite manipular no apenas uma lista de strings, mas uma lista de objetos associados a essas strings, o que a torna uma classe bastante poderosa.
CAPACITY
Essa propriedade retorna o nmero de strings que a lista capaz de armazenar, e no o nmero de strings realmente armazenados pela lista, o que definido pela sua propriedade Count (a ser vista a seguir).
COUNT
Essa propriedade declarada como uma varivel inteira, e retorna o nmero de strings armazenadas na lista e no o nmero de strings que podem vir a ser armazenadas pela mesma, o que definido pela sua propriedade Capacity, descrita anteriormente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
677
COMMATEXT
Essa propriedade declarada como uma varivel do tipo string, e retorna em uma nica string, separadas por vrgulas, todas as strings armazenadas na lista.
Names
Uma lista de string pode armazenar, em cada string, um par de valores na forma:
Nome=Valor.
Quando isso ocorre, a propriedade Names (que uma array) pode ser usada para retornar o valor armazenado esquerda do sinal de igualdade para a n-zima string da lista. A linha de cdigo a seguir, por exemplo, exibe o valor armazenado esquerda do sinal de igualdade para a segunda string da lista.
ShowMessage(Lista.Names[1]);
OBJECTS
Essa propriedade definida como uma array de objetos da classe TObject, e retorna o objeto associado a uma string da lista, cujo ndice indicado entre colchetes.
STRINGS
Essa propriedade definida como uma array de strings, e retorna a string da lista, cujo ndice indicado entre colchetes.
TEXT
Essa propriedade definida como uma varivel do tipo string, e retorna em uma nica string as strings armazenadas na lista, separadas por caracteres de retorno de carro e de avano de linha.
VALUES
Conforme descrito anteriormente, uma lista de string pode armazenar, em cada string, um par de valores na forma:
Nome=Valor.
Quando isso ocorre, a propriedade Values (que uma array) pode ser usada para retornar o valor armazenado direita do sinal de igualdade para a string cujo ndice referenciado pela string (e no pela sua ordem na lista de armazenamento). A linha de cdigo a seguir, por exemplo, exibe o valor armazenado direita do sinal de igualdade para a string da lista que armazena, esquerda do sinal de igualdade, o valor Axcel.
ShowMessage(Lista.Values[Axcel]);
ADD
Declarao
Esse mtodo adiciona a string passada como parmetro ao final da lista, retornando a posio em que a string foi inserida.
ADDOBJECT
Declarao
Esse mtodo adiciona a string passada como primeiro parmetro e o endereo do objeto passado como segundo parmetro ao final da lista retornando a posio em que a string e a referncia ao objeto foram inseridas. importante destacar que o objeto (que pode ser uma instncia de qualquer classe, pois todas so derivadas de TObject) j deve ter sido criado. A lista no cria strings e objetos, apenas gerencia a lista.
ADDSTRINGS
Declarao
Esse mtodo adiciona lista de strings gerenciada pelo objeto uma lista de strings armazenada em outro objeto da classe TStrings (bem como as referncias a objetos associados s strings da lista).
APPEND
Declarao
Esse mtodo adiciona a string passada como parmetro ao final da lista, mas, ao contrrio do mtodo Add, no retorna a posio em que a string foi inserida.
ASSIGN
Declarao
Esse mtodo atribui o objeto passado como parmetro ao objeto que chama o mtodo. Se Source um objeto da classe TStrings, as strings e objetos referenciados pelo objeto Source passam a ser manipuladas pelo objeto que chamou o mtodo.
CLEAR
Declarao
Esse mtodo remove todas as strings e referncias a objetos gerenciados pela lista.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
679
DELETE
Declarao
Esse mtodo remove da lista a string e a referncia a objeto cujo ndice passado como parmetro.
EQUALS
Declarao
Esse mtodo compara as strings armazenadas pela lista com as strings armazenadas em outra lista de strings passada como parmetro na chamada do mtodo. Esse mtodo retorna True se todas as strings forem iguais, retornando False em caso contrrio. importante destacar que esse mtodo compara apenas strings, e no os objetos referenciados pela lista.
EXCHANGE
Declarao
Esse mtodo troca as strings armazenadas nas posies passadas como parmetros, bem como as referncias a objetos a elas associadas.
INDEXOF
Declarao
Esse mtodo retorna o ndice que a string passada como parmetro ocupa na lista. Se a string no estiver armazenada na lista, ser retornado o valor -1. Se a string estiver armazenada em mais de uma posio da lista, ser retornado o ndice da posio correspondente primeira ocorrncia da string.
INDEXOFNAME
Declarao
Conforme descrito anteriormente, uma lista de string pode armazenar, em cada string, um par de valores na forma:
Nome=Valor.
Quando isso ocorre, esse mtodo retorna o ndice correspondente posio ocupada pela string que exibe, esquerda do sinal de igualdade, a string passada como parmetro. Se essa condio no for encontrada, ser retornado o valor -1.
INDEXOFOBJECT
Declarao
Esse mtodo retorna o ndice que a string da lista associada ao objeto passado como parmetro ocupa na lista. Se a lista no armazenar nenhuma string associada ao objeto, ser retornado o valor -1.
INSERT
Declarao
Esse mtodo insere na lista, na posio passada como primeiro parmetro, a string passada como segundo parmetro.
INSERTOBJECT
Declarao
Esse mtodo insere, na posio passada como primeiro parmetro, a string passada como segundo parmetro, e associa essa string ao objeto passado como terceiro parmetro.
LOADFROMFILE
Declarao
Esse mtodo carrega a lista de strings do objeto com as strings armazenadas em um arquivo-texto cujo nome passado como parmetro. Cada linha do arquivo ser armazenada como uma string da lista.
LOADFROMSTREAM
Declarao
Esse mtodo carrega a lista de strings do objeto com as strings armazenadas em um objeto da classe TStream cujo nome passado como parmetro.
MOVE
Declarao
Esse mtodo move a string armazenada na posio da lista indicada pelo primeiro parmetro para a posio indicada pelo segundo parmetro.
SAVETOFILE
Declarao
Esse mtodo grava a lista de strings do objeto em um arquivo-texto cujo nome passado como parmetro. Cada string ser armazenada em uma linha do arquivo.
SAVETOSTREAM
Declarao
Esse mtodo grava a lista de strings do objeto em um objeto da classe TStream cujo nome passado como parmetro.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
681
O componente Memo, que define a sua propriedade Lines como um objeto da classe TStrings. O componente ListBox, que define a sua propriedade Items como um objeto da classe TStrings. O componente DBListBox, que define a sua propriedade Items como um objeto da classe TStrings. O componente ComboBox, que define a sua propriedade Items como um objeto da classe TStrings. O componente DBComboBox, que define a sua propriedade Items como um objeto da classe TStrings. O componente MainMenu, que define a sua propriedade Items como um objeto da classe TStrings. O componente RadioGroup, que define a sua propriedade Items como um objeto da classe TStrings. O componente DBRadioGroup, que define a sua propriedade Items como um objeto da classe TStrings. O componente RichEdit, que define a sua propriedade Lines como um objeto da classe TStrings. Alm de outras classes e componentes.
Fica ento a seguinte pergunta: como a propriedade Lines, da classe TMemo, pode utilizar o mtodo Delete, se este definido como abstrato? O que ocorre que a unit Classes implementa a classe TMemoStrings que sobrecarrega este e outros mtodos, conforme indicado no seguinte trecho de cdigo:
TMemoStrings = class(TStrings) private Memo: TCustomMemo; protected function Get(Index: Integer): string; override; function GetCount: Integer; override; function GetTextStr: string; override; procedure Put(Index: Integer; const S: string); override; procedure SetTextStr(const Value: string); override; procedure SetUpdateState(Updating: Boolean); override; public procedure Clear; override; procedure Delete(Index: Integer); override; procedure Insert(Index: Integer; const S: string); override; end;
A classe TCustomMemo, da qual a classe TMemo derivada por herana, implementa o objeto FLines como um objeto da classe TStrings, mas ao alocar memria para esse objeto chama o mtodo construtor da classe TMemoStrings, como mostra o cdigo do seu mtodo construtor, reproduzido a seguir.
constructor TCustomMemo.Create(AOwner: TComponent); begin inherited Create(AOwner); Width := 185; Height := 89; AutoSize := False; DoubleBuffered := False; FWordWrap := True;
Dessa maneira, o campo interno FLines passar a referenciar um objeto da classe TMemoStrings, na qual vrios mtodos abstratos da classe TStrings so sobrecarregados.
Conhecimento da sintaxe bsica da linguagem Pascal e dos fundamentos da programao orientada a objetos em Delphi.
METODOLOGIA
Apresentao da classe TFont, que permite a manipulao de fontes em aplicaes desenvolvidas em Delphi.
TCNICA
Apresentao das caractersticas principais da classe TFont, e de componentes que implementam propriedades como objetos da classe TFont.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
683
CHARSET
Essa propriedade definida como uma varivel do tipo TFontCharSet, e define o conjunto de caracteres a serem utilizados pela fonte.
COLOR
Essa propriedade definida como uma varivel do tipo TColor, e define a cor do texto exibido pela fonte.
HANDLE
Essa propriedade definida como uma varivel do tipo HFont, e retorna um handle para o objeto (a ser utilizado em chamadas s funes da API do Windows).
HEIGHT
Essa propriedade definida como uma varivel do tipo inteiro, e define a altura da fonte, em pixels.
NAME
Essa propriedade definida como uma varivel do tipo TFontName (que declarado como um alias para uma string), e define o nome da fonte.
PITCH
Essa propriedade definida como uma varivel do tipo TFontPitch, e define se todos os caracteres da fonte devem ter a mesma largura (isto , se a fonte ser monoespaada). O tipo TFontPitch um tipo enumerado, declarado da seguinte maneira:
type TFontPitch = (fpDefault, fpVariable, fpFixed);
FpFixed: Os caracteres da fonte tero largura fixa (ou seja, sero monoespaados). FpVariable: Os caracteres da fonte tero largura varivel.
PIXELSPERINCH
Essa propriedade declarada como uma varivel inteira que define o nmero de pixels por polegada aplicvel aos caracteres da fonte.
SIZE
Essa propriedade definida como uma varivel do tipo inteiro, e define a altura da fonte, em pontos.
STYLE
Essa propriedade definida como uma varivel do tipo TFontStyles, que um conjunto que pode armazenar os valores apresentados na tabela a seguir, e define o estilo da fonte.
TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut); TFontStyles = set of TFontStyle;
Significado A fonte ser exibida em negrito. A fonte ser exibida em itlico. A fonte ser sublinhada. A fonte ser cortada por uma linha horizontal.
EXEMPLO DE UTILIZAO DAS CLASSES TFONT E TSTRINGS PARA MANIPULAO DE ARQUIVOS TEXTO ASCII
Ser apresentado a seguir um exemplo que ilustra a utilizao das classes TFont, TStrings e TMemo. Este exemplo exibir em um componente Memo o texto a ser armazenado em um arquivo. Sero apresentados os procedimentos individuais para manipulao de arquivos e das caractersticas individuais das fontes de um componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
685
CODIFICANDO A APLICAO
Para codificar corretamente esse aplicativo, voc deve executar os seguintes procedimentos: 1. Declare as seguintes variveis globais na seo var da unit associada ao formulrio:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
687
Inicialmente esse procedimento verifica se o arquivo foi alterado aps ter sido salvo pela ltima vez, testando o valor da varivel arquivoalterado. Caso o arquivo tenha sido alterado e no tenha sido salvo, ser exibida uma mensagem perguntando ao usurio se deseja salvar as alteraes efetuadas. Caso o usurio queira salvar as alteraes, ser executado o mtodo SaveToFile da propriedade Lines do componente Memo1. Por fim, os valores default da fonte do componente Memo e dos diversos itens de menu so restabelecidos, e uma string nula atribuda varivel arquivoatual. 3. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Abrir do menu Arquivo:
procedure TFormMemo.AbrirClick(Sender: TObject); begin if OpenDialog1.Execute = true then begin if arquivoalterado then begin if MessageDlg(Deseja Salvar Alteraes no Arquivo Atual?,mtConfirmation, mbOkCancel,0)= mrOk then Memo1.Lines.SaveToFile(arquivoatual); end; arquivoatual := OpenDialog1.FileName; Memo1.Lines.LoadFromFile(arquivoAtual); arquivoalterado := False; Negrito.Checked := fsbold in Memo1.Font.Style; Italico.Checked := fsItalic in Memo1.Font.Style; Cortada.Checked := fsStrikeOut in Memo1.Font.Style; Sublinhado.Checked := fsUnderline in Memo1.Font.Style; StatusBar1.SimpleText := Nome do Arquivo: + arquivoatual; end; end;
Esse procedimento exibe a caixa de dilogo padro para abertura de arquivos, mediante uma chamada ao mtodo Execute do componente OpenDialog1. Caso o usurio selecione o boto Abrir dessa caixa de dilogo, o mtodo Execute retornar o valor True e o arquivo selecionado (armazenado na propriedade FileName do componente OpenDialog) armazenado na varivel arquivoatual. O arquivo carregado usando-se o mtodo LoadFromFile da propriedade Lines do componente Memo (propriedade esta que , conforme descrito anteriormente, um objeto da classe TStrings) e atribui-se o
Esse procedimento exibe a caixa de dilogo padro para gravao de arquivos, mediante uma chamada ao mtodo Execute do componente SaveDialog1. Caso o usurio selecione o boto Salvar dessa caixa de dilogo, o mtodo Execute retornar o valor True e o arquivo selecionado (armazenado na propriedade FileName do componente SaveDialog) ser armazenado na varivel arquivoatual. O arquivo gravado usando-se o mtodo SaveToFile da propriedade Lines do componente Memo (propriedade esta que , conforme descrito anteriormente, um objeto da classe TStrings) e atribui-se o valor false varivel arquivoalterado (pois o arquivo acaba de ser salvo). Alm disso, o nome do arquivo atual atribudo propriedade SimpleText do componente StatusBar. 5. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Salvar do menu Arquivo:
procedure TFormMemo.SalvarClick(Sender: TObject); begin if arquivoatual = then SalvarComoClick(Self) else begin Memo1.Lines.SaveToFile(arquivoAtual); arquivoalterado := False; end; StatusBar1.SimpleText := Nome do Arquivo: + arquivoatual; end;
Esse procedimento verifica, inicialmente, se ainda no foi atribudo um nome para o arquivo e, em caso positivo, executa o procedimento associado ao evento OnClick do item Salvar Como do menu Arquivo (repare a utilizao da propriedade Self).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
689
Esse procedimento verifica, inicialmente, se existem alteraes a serem gravadas e, em caso positivo, pergunta ao usurio se deseja salvar as alteraes. Em caso positivo esse procedimento verifica se ainda no foi atribudo um nome para o arquivo e, em caso positivo, executa o procedimento associado ao evento OnClick do item Salvar Como do menu Arquivo (se no, executa o mtodo SaveToFile da propriedade Lines do componente Memo1). Por fim, a aplicao encerrada, mediante a execuo do mtodo Terminate do objeto Application, da classe TApplication (que representa a aplicao). 7. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Negrito do menu Fonte:
procedure TFormMemo.NegritoClick(Sender: TObject); begin Negrito.Checked := not Negrito.Checked; if Negrito.Checked then Memo1.Font.Style := Memo1.Font.Style + [fsBold] else Memo1.Font.Style := Memo1.Font.Style - [fsBold]; arquivoalterado := True; end;
Esse mtodo muda o valor da propriedade Checked do item de Menu. Caso o valor dessa propriedade passe a ter o valor True, o valor da subpropriedade Style da propriedade Font do componente Memo1 passa a incluir o elemento fsBold no seu conjunto de valores.
Esse mtodo muda o valor da propriedade Checked do item de menu correspondente. Caso o valor dessa propriedade passe a ter o valor True, o valor da subpropriedade Style da propriedade Font do componente Memo1 passa a incluir o elemento fsItalic no seu conjunto de valores. Caso o valor dessa propriedade passe a ter o valor False, o valor da subpropriedade Style da propriedade Font do componente Memo1 exclui o elemento fsItalic do seu conjunto de valores. 9. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Sublinhado do menu Fonte:
procedure TFormMemo.SublinhadoClick(Sender: TObject); begin Sublinhado.Checked := not Sublinhado.Checked; if Sublinhado.Checked then Memo1.Font.Style := Memo1.Font.Style + [fsUnderline] else Memo1.Font.Style := Memo1.Font.Style - [fsUnderline]; arquivoalterado := True; end;
Esse mtodo muda o valor da propriedade Checked do item de Menu. Caso o valor dessa propriedade passe a ter o valor True, o valor da subpropriedade Style da propriedade Font do componente Memo1 passa a incluir o elemento fsUnderline no seu conjunto de valores. Caso o valor dessa propriedade passe a ter o valor False, o valor da subpropriedade Style da propriedade Font do componente Memo1 exclui o elemento fsUnderline do seu conjunto de valores. 10. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Cortada do menu Fonte:
procedure TFormMemo.CortadaClick(Sender: TObject); begin Cortada.Checked := not Cortada.Checked; if Cortada.Checked then Memo1.Font.Style := Memo1.Font.Style + [fsStrikeOut] else
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
691
Esse mtodo muda o valor da propriedade Checked do item de menu correspondente. Caso o valor dessa propriedade passe a ter o valor True, o valor da subpropriedade Style da propriedade Font do componente Memo1 passa a incluir o elemento fsStrikeOut no seu conjunto de valores. Caso o valor dessa propriedade passe a ter o valor False, o valor da subpropriedade Style da propriedade Font do componente Memo1 exclui o elemento fsStrikeOut do seu conjunto de valores. 11. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Selecionar Cor do menu Fonte:
procedure TFormMemo.SelecionarCorClick(Sender: TObject); begin if ColorDialog1.Execute = True then begin Memo1.Font.Color := ColorDialog1.Color; arquivoalterado := True; end; end;
Esse mtodo exibe a caixa de dilogo padro para seleo de cores do Windows, mediante uma chamada ao mtodo Execute do componente ColorDialog1. Caso o usurio, aps selecionar a cor desejada, selecione o boto Ok dessa caixa de dilogo, a mesma ser fechada e retornar o valor True. A cor selecionada (e armazenada na propriedade Color do componente ColorDialog) ser atribuda subpropriedade Color da propriedade Font do componente Memo1. Alm disso, o valor True ser atribudo varivel arquivoalterado. 12. Defina da seguinte maneira o procedimento associado ao evento OnKeyPress do componente Memo1:
procedure TFormMemo.Memo1KeyPress(Sender: TObject; var Key: Char); begin Arquivoalterado := True; end;
Esse procedimento apenas atribui o valor True propriedade arquivoalterado, indicando que o arquivo sofreu modificao. Apresenta-se a seguir o cdigo completo da unit associada ao formulrio.
unit UnitMemo; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ComCtrls; type TFormMemo = class(TForm) MainMenu1: TMainMenu; Arquivo: TMenuItem; Abrir: TMenuItem;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
693
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
695
EXEMPLO DE UTILIZAO DAS CLASSES TFONT E TSTRINGS PARA MANIPULAO DE ARQUIVOS RTF
Ser apresentado a seguir um exemplo que ilustra a utilizao das classes TFont e TStrings, alm de apresentar algumas caractersticas do componente RichEdit. Esse exemplo exibir em um componente RichEdit o texto a ser armazenado em um arquivo RTF. Sero apresentados os procedimentos individuais para manipulao de arquivos e das caractersticas individuais das fontes de um componente.
10. Inclua um componente FontDialog no formulrio e atribua os seguintes valores s suas principais propriedades:
Name: FontDialog1
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
697
CODIFICANDO A APLICAO
Para codificar corretamente esse aplicativo, voc deve executar os seguintes procedimentos: 1. Declare as seguintes variveis globais na seo var unit associada ao formulrio:
Arquivoalterado: boolean; ArquivoAtual : string;
A varivel booleana arquivoalterado armazena o estado de alterao do arquivo. A varivel arquivoatual, do tipo string, armazena o nome do arquivo que est sendo manipulado. 2. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Novo do menu Arquivo:
procedure TFormRTF.NovoClick(Sender: TObject); begin if arquivoalterado then begin if MessageDlg(Deseja Salvar Alteraes no Arquivo Atual?,mtConfirmation, mbOkCancel,0)= mrOk then RichEdit1.Lines.SaveToFile(arquivoatual); end; arquivoatual := ; RichEdit1.Lines.Clear; arquivoalterado := False; RichEdit1.Font.Style := RichEdit1.Font.Style - [fsBold]; RichEdit1.Font.Style := RichEdit1.Font.Style - [fsItalic]; RichEdit1.Font.Style := RichEdit1.Font.Style - [fsUnderline]; RichEdit1.Font.Style := RichEdit1.Font.Style - [fsStrikeOut]; StatusBar1.SimpleText := Nome do Arquivo:; end;
Inicialmente esse procedimento verifica se o arquivo foi alterado aps ter sido salvo pela ltima vez, testando o valor da varivel arquivoalterado. Caso o arquivo tenha sido alterado e no tenha sido salvo, ser exibida uma mensagem perguntando ao usurio se deseja salvar as alteraes efetuadas. Caso o usurio queira salvar as alteraes, ser executado o mtodo SaveToFile do componente RichEdit1. Por fim, os valores default da fonte do componente RichEdit so restabelecidos, e uma string nula atribuda varivel arquivoatual. 3. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Abrir do menu Arquivo:
procedure TFormRTF.AbrirClick(Sender: TObject); begin if OpenDialog1.Execute = true then begin if arquivoalterado then begin if MessageDlg(Deseja Salvar Alteraes no Arquivo Atual?,mtConfirmation, mbOkCancel,0)= mrOk then
Esse procedimento exibe a caixa de dilogo padro para abertura de arquivos, mediante uma chamada ao mtodo Execute do componente OpenDialog1. Caso o usurio selecione o boto Abrir dessa caixa de dilogo, o mtodo Execute retornar o valor True e o arquivo selecionado (armazenado na propriedade FileName do componente OpenDialog) armazenado na varivel arquivoatual. O arquivo carregado usando-se o mtodo LoadFromFile da propriedade Lines do componente RichEdit (propriedade esta que , conforme descrito anteriormente, um objeto da classe TStrings) e atribui-se o valor False varivel arquivoalterado (pois o arquivo acaba de ser carregado e portanto nenhuma alterao foi feita). Repare ainda que, caso o arquivo tenha sido alterado e essas alteraes no tenham sido salvas, solicitase uma confirmao por parte do usurio. 4. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Salvar Como do menu Arquivo:
procedure TFormRTF.SalvarComoClick(Sender: TObject); begin if SaveDialog1.Execute = true then begin arquivoatual := SaveDialog1.FileName; RichEdit1.Lines.SaveToFile(arquivoAtual); arquivoalterado := False; StatusBar1.SimpleText := Nome do Arquivo: + arquivoatual; end; end;
Esse procedimento exibe a caixa de dilogo padro para gravao de arquivos, mediante uma chamada ao mtodo Execute do componente SaveDialog1. Caso o usurio selecione o boto Salvar dessa caixa de dilogo, o mtodo Execute retornar o valor True e o arquivo selecionado (armazenado na propriedade FileName do componente SaveDialog) armazenado na varivel arquivoatual. O arquivo gravado usando-se o mtodo SaveToFile da propriedade Lines do componente RichEdit (propriedade esta que , conforme descrito anteriormente, um objeto da classe TStrings) e atribui-se o valor False varivel arquivoalterado (pois o arquivo acaba de ser salvo e portanto nenhuma alterao foi feita). Alm disso, o nome do arquivo atual atribudo propriedade SimpleText do componente StatusBar. 5. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Salvar do menu Arquivo:
procedure TFormRTF.SalvarClick(Sender: TObject); begin if arquivoatual = then SalvarComoClick(Self)
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
699
Esse procedimento verifica, inicialmente, se ainda no foi atribudo um nome para o arquivo e, em caso positivo, executa o procedimento associado ao evento OnClick do item Salvar Como do menu Arquivo. Caso o arquivo j tenha recebido um nome, as ltimas alteraes so salvas mediante uma chamada ao mtodo SaveToFile da propriedade Lines do componente RichEdit. Conseqentemente, atribui-se o valor False varivel arquivoalterado. Por fim, o nome do arquivo atribudo propriedade SimpleText do componente StatusBar. 6. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Fechar do menu Arquivo:
procedure TFormRTF.FecharClick(Sender: TObject); begin if arquivoalterado = True then begin begin if MessageDlg(Deseja Salvar Alteraes no Arquivo Atual?,mtConfirmation, mbOkCancel,0)= mrOk then if arquivoatual = then SalvarComoClick(Self) else RichEdit1.Lines.SaveToFile(arquivoatual); end; end; Application.Terminate; end;
Esse procedimento verifica, inicialmente, se existem alteraes a serem gravadas e, em caso positivo, pergunta ao usurio se deseja salvar as alteraes. Em caso positivo esse procedimento verifica se ainda no foi atribudo um nome para o arquivo e, em caso positivo, executa o procedimento associado ao evento OnClick do item Salvar Como do menu Arquivo (se no, executa o mtodo SaveToFile da propriedade Lines do componente RichEdit1). Por fim, a aplicao encerrada, mediante a execuo do mtodo Terminate do objeto Application, da classe TApplication. 7. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Selecionar do menu Fonte:
procedure TFormRTF.SelecionarClick(Sender: TObject); begin if RichEdit1.SelLength > 0 then
Inicialmente esse procedimento verifica se existe algum texto selecionado (analisando o valor da propriedade SelLength do componente RichEdit1) e, em caso positivo, exibe a caixa de dilogo de seleo de fonte, mediante uma chamada ao mtodo Execute do componente FontDialog1. Caso o usurio selecione o boto Ok para fechar essa caixa de dilogo, a fonte escolhida nessa caixa de dilogo ser atribuda ao texto selecionado do componente RichEdit, mediante a execuo da seguinte linha de cdigo: RichEdit1.SelAttributes.Assign(FontDialog1.Font) Por fim, atribui-se o valor True propriedade arquivoalterado, indicando que foram feitas alteraes, e que estas ainda no foram salvas. 8. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Selecionar Cor do menu Fonte:
procedure TFormRTF.SelecionarCorClick(Sender: TObject); begin if ColorDialog1.Execute = True then begin RichEdit1.SelAttributes.Color := ColorDialog1.Color; arquivoalterado := True; end; end;
Esse mtodo exibe a caixa de dilogo padro para seleo de cores, mediante uma chamada ao mtodo Execute do componente ColorDialog1. Caso o usurio, aps selecionar a cor desejada, selecione o boto Ok dessa caixa de dilogo, a mesma ser fechada e retornar o valor True. A cor selecionada (e armazenada na propriedade Color do componente ColorDialog) ser atribuda subpropriedade Color do texto selecionado no componente RichEdit1. Alm disso, o valor True ser atribudo varivel arquivoalterado. 9. Defina da seguinte maneira o procedimento associado ao evento OnKeyPress do componente RichEdit1:
procedure TFormRTF.RichEdit1KeyPress(Sender: TObject; var Key: Char); begin Arquivoalterado := True; end;
Esse procedimento apenas atribui o valor True propriedade arquivoalterado, indicando que o arquivo sofreu modificao.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
701
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
703
Captulo
33
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
705
Fundamentos da programao orientada a objetos em Delphi. Utilizao do Ambiente de Desenvolvimento Integrado do Delphi 7.
METODOLOGIA
Apresentao dos procedimentos necessrios utilizao de Threads em uma aplicao desenvolvida em Delphi.
O CONCEITO DE THREADS
Existem situaes em que pode ser desejvel que vrios processos sejam executados simultaneamente pelo processador, isto , que uma tarefa no deva esperar o processamento completo de outra tarefa para poder iniciar a sua execuo. A palavra simultaneamente foi colocada entre aspas porque, exceto no caso de processamento paralelo (mltiplos processadores em uma mesma mquina ou em um cluster), essa simultaneidade real no possvel. Nada impede, no entanto, que o processador possa dedicar uma parte do seu tempo a cada uma de vrias tarefas (processos), de forma que para o usurio esse processamento parea simultneo. Consideremos inicialmente a situao descrita a seguir. Uma aplicao composta por um nico formulrio no qual so inseridos trs componentes ProgressBar e dois botes de comando. Acrescenta-se manualmente classe do formulrio um mtodo chamado Progresso, que incrementa o valor da propriedade Position de um componente ProgressBar (passado como parmetro na chamada ao mtodo) a partir de um valor inicial definido pela sua propriedade Min, at atingir o valor mximo definido pela sua propriedade Max. O aspecto desse formulrio e a unidade de cdigo associada so apresentados na Figura 33.1. Para que os efeitos destes exemplos possam ser visualizados com maior nitidez, altere a propriedade Max de cada componente ProgressBar para 10000.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
707
Ao executar essa aplicao e selecionar o boto Iniciar, verifica-se que cada componente ProgressBar atualiza o valor da sua propriedade Position de forma independente. Os valores da segunda ProgressBar s comeam a ser atualizados aps o valor da primeira atingir o seu valor mximo, e os valores da terceira ProgressBar s comeam a ser atualizados aps o valor da segunda atingir o seu valor mximo. Evidentemente, isso se deve ao fato de que o processo representado pelo mtodo Progresso executado uma vez para cada componente, e cada novo processo s se inicia aps o processo anterior ter sido concludo. A figura a seguir apresenta a execuo do segundo processo (aps a concluso do primeiro), sendo efetuado antes de se iniciar a execuo do terceiro processo.
Para permitir a execuo de vrios processos simultaneamente, o Delphi utiliza o conceito de Threads, implementado atravs da classe TThread. A classe TThread, definida na unit Classes, a classe-base para todos os processos a serem implementados e manipulados pela aplicao, sendo descrita no prximo tpico.
A CLASSE TTHREAD
Conforme descrito anteriormente, cada processo a ser executado em uma aplicao pode ser representado por um objeto de uma classe derivada da classe TThread.
Nesta verso do Delphi voc pode dar um nome a uma Thread de modo a identific-la durante a depurao de um programa que executa mltiplas Threads. Neste caso, marque a caixa de verificao Named Thread existente na caixa de dilogo New Thread Object, e defina o nome da Thread na caixa de texto Named Thread. Neste caso, ser ainda criado um outro mtodo, chamado SetName, na classe da Thread, e que ser o primeiro mtodo a ser disparado quando a Thread estiver sendo executada. 3. Selecione o boto Ok para fechar essa caixa de dilogo. Ser gerado o esqueleto dessa nova classe, como mostrado a seguir.
unit UnitPBarThread; interface uses Classes; type TPBarThread = class(TThread) private { Private declarations } protected procedure Execute; override; end; implementation { Important: Methods and properties of objects in VCL can only be used in a method called using Synchronize, for example,
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
709
Repare que a definio do mtodo Execute to importante ela j foi gerada automaticamente, juntamente com um comentrio que indica onde deve ser definido o cdigo da thread. Ainda aparece comentado um trecho em que se informa que alteraes de propriedades e chamadas de mtodos de objetos da VCL s podem ser feitas a partir de uma chamada ao mtodo Synchronize (implementado na classe-base). Dessa maneira, qualquer mtodo que altere uma propriedade de um componente da VCL deve ser executado passando-se o seu nome como parmetro na chamada ao mtodo Sinchronize da Thread. O mtodo construtor da classe TThread, por sua vez, tem um parmetro que indica se a execuo do processo representado pelo objeto deve ser iniciada assim que o objeto for criado. Para iniciar imediatamente o processo, voc deve passar o valor False na chamada do construtor. Caso o objeto seja criado passando-se como parmetro o valor True, voc deve reiniciar posteriormente a execuo do processo mediante uma chamada ao mtodo Resume da classe TThread. Por outro lado, para suspender posteriormente a execuo do processo, basta executar o mtodo Suspend da classe (os mtodos Resume e Suspend no tm parmetros). Para finalizar a qualquer tempo a execuo de um processo, voc deve usar o mtodo Terminate da thread (que atribui o valor True propriedade Terminated do objeto que representa o processo). Nesse caso, se a propriedade FreeOnTerminated do objeto que representa o processo for definida como True, a memria alocada para o objeto pelo seu construtor ser liberada (caso o valor da propriedade FreeOnTerminated seja igual a False, deve-se chamar explicitamente o seu mtodo Free). O mtodo Execute de uma thread deve verificar periodicamente o valor da propriedade Terminated do objeto que representa a Thread, e finalizar a sua execuo caso o valor dessa propriedade seja igual a True. Voc pode definir diferentes nveis de prioridade para cada processo, definindo-se adequadamente o valor da propriedade Priority do objeto que o representa. Essa propriedade pode assumir os valores descritos na tabela a seguir. A utilizao dessa propriedade til quando voc quer, por exemplo, que o sistema execute um backup de dados enquanto o usurio executa outras tarefas mais importantes.
Significado Indica uma prioridade de uma Thread que s ser executada se o sistema entrar em um estado Idle (repouso). Indica uma prioridade de dois pontos abaixo do normal. Indica uma prioridade de um ponto abaixo do normal. Indica uma prioridade igual dada Thread principal da aplicao (normal). Indica uma prioridade de um ponto acima do normal. Indica uma prioridade de dois pontos acima do normal. Mais alta prioridade.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
711
Repare que a classe tem como propriedade um objeto da classe TProgressBar (razo pela qual a unit ComCttls foi includa na clusula uses da unit que declara a classe da TThread). Observe que o objeto manipulado pela Thread passado como parmetro na chamada do mtodo construtor Cria da classe, e que este chama o mtodo Create construtor da classe-base com o valor False, para que a execuo do processo seja iniciada automaticamente. Atribui-se ainda o valor True propriedade FreeOnTerminated do objeto, para que a memria alocada seja liberada automaticamente ao se terminar a execuo do processo.
Repare que, no procedimento associado ao evento OnClick do boto Iniciar, so declarados trs objetos da classe TPBarThread, instanciados mediante uma chamada ao mtodo Cria da classe.
Evidentemente o exemplo utilizado neste captulo bastante simples, e poderia ter sido criado utilizandose outras tcnicas. O objetivo deste exemplo, no entanto, foi apresentar de forma clara e didtica os conceitos bsicos relacionados execuo simultnea de vrios processos. Na prtica, esses processos podem ser muito mais complexos, e sua soluo s se torna possvel mediante a utilizao de threads.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
713
Captulo
Implementao da Tecnologia COM em Delphi
34
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
715
Fundamentos da linguagem Object Pascal. Fundamentos da programao orientada a objetos em Delphi. Utilizao do ambiente de desenvolvimento integrado do Delphi.
METODOLOGIA
A TECNOLOGIA COM
A tecnologia COM (na qual esto baseadas as tecnologias OLE e ActiveX) compreende uma especificao definida pela Microsoft para a criao de componentes reutilizveis de software. Como essa especificao define componentes em um formato binrio, sua implementao e utilizao podem, a princpio, ser feitas em qualquer linguagem e sistema operacional. Assim como um objeto da VCL, um objeto COM pode apresentar uma srie de funcionalidades, disponibilizadas atravs das suas interfaces (interfaces so semelhantes a classes, pois renem em uma nica entidade vrias funes e procedimentos). Uma interface, conforme descrito anteriormente, pode declarar vrios mtodos. Entretanto, importante salientar que uma interface apenas declara os mtodos sem implement-los. Conseqentemente, uma interface muito semelhante a uma classe que declara apenas mtodos abstratos. A implementao desses mtodos deixada a cargo de uma classe denominada CoClass, que pode implementar uma ou mais interfaces (devendo, no entanto, implementar todos os mtodos de cada interface). Alm disso, diferentemente de uma classe que identificada por um nome uma interface identificada por um nmero, denominado GUID (Global Unique Identifier), que identifica univocamente uma interface (ao menos estatisticamente). Esse nmero definido em Delphi como um tipo composto, declarado da seguinte maneira na unit System.pas:
TGUID = D1: D2: D3: D4: end; record LongWord; Word; Word; array[0..7] of Byte;
Um objeto COM deve ser instanciado sempre que uma aplicao precisar utilizar seus servios (implementados atravs das suas interfaces), e pode ser utilizado por vrias aplicaes simultaneamente. Alm disso, quando no estiver sendo mais utilizado, deve ser capaz de se autodestruir (e liberar a memria utilizada). Para que isso seja possvel, a especificao COM determina que cada objeto deve ser capaz de armazenar internamente o nmero de clientes que esto utilizando os seus servios (esses clientes podem ser aplicaes ou DLLs chamados genericamente de processos na literatura) e implementar ao menos os seguintes mtodos:
AddRef, que incrementa em uma unidade o valor armazenado internamente (que indica o
nmero de clientes do objeto) sempre que um novo cliente solicitar os seus servios.
Release, que decrementa em uma unidade o valor armazenado internamente (que indica o
nmero de clientes do objeto) sempre que um novo cliente no precisar mais dos seus servios (sempre que a aplicao-cliente for encerrada, por exemplo).
Um objeto pode referenciar mais de uma interface simultaneamente, o que permite simular o conceito de herana mltipla. A seguir, apresentamos a implementao desses mtodos na unit System.pas.
procedure TInterfacedObject.BeforeDestruction; begin
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
717
No se preocupe se voc no compreende a implementao desses mtodos, pois voc no precisar manipul-los diretamente. importante, no entanto, saber que os mesmos foram realmente implementados na classe TInterfacedObject. Observe a definio da classe TComObject (na unit comobj) que implementa duas interfaces:
TComObject = class(TObject, IUnknown, ISupportErrorInfo) private FController: Pointer; FFactory: TComObjectFactory; FNonCountedObject: Boolean; FRefCount: Integer; FServerExceptionHandler: IServerExceptionHandler; function GetController: IUnknown; protected { IUnknown } function IUnknown.QueryInterface = ObjQueryInterface; function IUnknown._AddRef = ObjAddRef; function IUnknown._Release = ObjRelease; { IUnknown methods for other interfaces } function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall; function _AddRef: Integer; stdcall; function _Release: Integer; stdcall; { ISupportErrorInfo } function InterfaceSupportsErrorInfo(const iid: TIID): HResult; stdcall; public constructor Create; constructor CreateAggregated(const Controller: IUnknown); constructor CreateFromFactory(Factory: TComObjectFactory; const Controller: IUnknown); destructor Destroy; override; procedure Initialize; virtual; function ObjAddRef: Integer; virtual; stdcall; function ObjQueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall; function ObjRelease: Integer; virtual; stdcall; function SafeCallException(ExceptObject: TObject; ExceptAddr: Pointer): HResult; override; property Controller: IUnknown read GetController; property Factory: TComObjectFactory read FFactory; property RefCount: Integer read FRefCount;
Criando um Objeto COM em Delphi Para criar um objeto COM em Delphi, voc deve executar os seguintes procedimentos: 1. Fechar todos os projetos abertos no Delphi 7. 2. Selecionar o item New/Other do menu File do Delphi 7, para exibir a caixa de dilogo New Items. 3. Selecionar o item ActiveX Library na pgina ActiveX dessa caixa de dilogo. 4. Selecionar novamente o item New/Other do menu File do Delphi 7, para exibir a caixa de dilogo New Items. 5. Selecionar o item COM Object na pgina ActiveX dessa caixa de dilogo. 6. Selecionar o boto Ok, para fechar essa caixa de dilogo e exibir a caixa de dilogo COM Object Wizard, mostrada na figura a seguir.
7. Preencher essa caixa de dilogo como indicado na figura anterior. 8. Selecionar o boto Ok para fechar essa caixa de dilogo. Como foi selecionada a opo Include Type Library, ser exibido o Type Library Editor, mostrado na Figura 34.12.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
719
3. Altere o tipo de retorno do mtodo como indicado na Figura 34.5 e selecione o boto Refresh. Repare que o cabealho do mtodo passa a referenciar este tipo de parmetro, como mostrado na Figura 34.6.
4. Selecione o boto Refresh Implementation na caixa de dilogo Type Library Editor, para gerar a implementao do mtodo GetDate.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
721
Como nesse caso foi criado um projeto novo, chamado Project1, foram ento criados os arquivos Project1_TLB.pas e Unit1.pas, reproduzidos a seguir.
Arquivo Unit1.pas: unit Unit1; {$WARN SYMBOL_PLATFORM OFF} interface uses Windows, ActiveX, Classes, ComObj, Project1_TLB, StdVcl; type TUtilitario = class(TTypedComObject, IUtilitario) protected function GetData: TDateTime; stdcall; {Declare IUtilitario methods here} end; implementation uses ComServ; function TUtilitario.GetData: TDateTime; begin end; initialization
// PASTLWTR : 1.2 // File generated on 21/4/2003 23:45:16 from Type Library described below. // ************************************************************************ // // Type Lib: C:\Arquivos de programas\Borland\Delphi7\Projects\Project1.tlb (1) // LIBID: {E47B5749-BDFD-4624-B397-ECE4170ABCC8} // LCID: 0 // Helpfile: // HelpString: Project1 Library // DepndLst: // (1) v2.0 stdole, (C:\WINDOWS\System32\stdole2.tlb) // ************************************************************************ // {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. {$WARN SYMBOL_PLATFORM OFF} {$WRITEABLECONST ON} {$VARPROPSETTER ON} interface uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants;
// *********************************************************************// // GUIDS declared in the TypeLibrary. Following prefixes are used: // Type Libraries : LIBID_xxxx // CoClasses : CLASS_xxxx // DISPInterfaces : DIID_xxxx // Non-DISP interfaces: IID_xxxx // *********************************************************************// const // TypeLibrary Major and minor versions Project1MajorVersion = 1; Project1MinorVersion = 0; LIBID_Project1: TGUID = {E47B5749-BDFD-4624-B397-ECE4170ABCC8}; IID_IUtilitario: TGUID = {0CF82A81-3789-4245-BC57-44980481DC95}; CLASS_Utilitario: TGUID = {BA9313AC-BA71-4EBC-AB71-D2604975AD71}; type // *********************************************************************// // Forward declaration of types defined in TypeLibrary // *********************************************************************// IUtilitario = interface;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
723
// *********************************************************************// // Interface: IUtilitario // Flags: (256) OleAutomation // GUID: {0CF82A81-3789-4245-BC57-44980481DC95} // *********************************************************************// IUtilitario = interface(IUnknown) [{0CF82A81-3789-4245-BC57-44980481DC95}] function GetData: TDateTime; stdcall; end; // *********************************************************************// // The Class CoUtilitario provides a Create and CreateRemote method to // create instances of the default interface IUtilitario exposed by // the CoClass Utilitario. The functions are intended to be used by // clients wishing to automate the CoClass objects exposed by the // server of this typelibrary. // *********************************************************************// CoUtilitario = class class function Create: IUtilitario; class function CreateRemote(const MachineName: string): IUtilitario; end; implementation uses ComObj; class function CoUtilitario.Create: IUtilitario; begin Result := CreateComObject(CLASS_Utilitario) as IUtilitario; end; class function CoUtilitario.CreateRemote(const MachineName: string): IUtilitario; begin Result := CreateRemoteComObject(MachineName, CLASS_Utilitario) as IUtilitario; end; end.
Repare que a interface IUtilitario tem um mtodo chamado GetData, que implementado pela sua CoClass TUtilitario. A implementao da funo GetData deve ser feita da seguinte maneira no arquivo Unit1.pas:
function TUtilitario.GetData: TDateTime; begin result := Date; end;
Voc deve, evidentemente, incluir a unit SysUtils na clusula Uses da unit que implementa o mtodo. Se isso no for feito, sero gerados erros de compilao.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
725
Dessa maneira, quando a aplicao for executada, o objeto COM ser carregado na memria e, quando o usurio selecionar o boto, a data corrente do sistema ser exibida.
A TECNOLOGIA OLE
A tecnologia OLE , na realidade, uma extenso da tecnologia COM. No prximo captulo, ser criada uma aplicao multicamada bastante simples, que acessa uma base de dados atravs de um componente TClientDataset e que utiliza a tecnologia Datasnap (antiga MIDAS), baseada na tecnologia OLE.
Captulo
Aplicaes Multicamadas
35
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
727
Fundamentos da linguagem Object Pascal. Fundamentos da programao orientada a objetos em Delphi. Utilizao do ambiente de desenvolvimento integrado do Delphi. Utilizao dos componentes de acesso e visualizao de bancos de dados.
METODOLOGIA
APRESENTANDO A TECNOLOGIA
Uma aplicao multicamadas deve ser composta de pelo menos trs camadas:
DCOM um subconjunto de COM, e que se aplica distribuio e acesso a objetos COM atravs de uma rede local ou da Internet.
Para criar uma aplicao servidora, voc deve executar os seguintes procedimentos: 1. Iniciar um novo projeto de aplicao, selecionando o item New Application do menu File. 2. Selecionar o item New/Other do menu File para exibir a caixa de dilogo New Items. 3. Selecionar o item Remote DataModule da pgina MultiTier dessa caixa de dilogo. 4. Selecionar o boto Ok dessa caixa de dilogo. Ser exibida a caixa de dilogo Remote Data Module Wizard, mostrada na figura a seguir, na qual dever ser fornecido o nome do objeto a ser criado.
Neste exemplo, o objeto Remote Data Module foi denominado Dados. Repare que foram criadas duas units, denominadas Project1_TLB.pas (associada aos objetos COM a serem criados no servidor) e Unit2.pas (associada ao objeto Dados recm-criado). 5. Altere o valor da propriedade Name do formulrio de Form1para FormServer. 6. Altere o valor da propriedade Caption do formulrio para Exemplo de Aplicao Servidora. 7. Salve a unit associada ao formulrio com o nome UnitServerPrincipal.pas. 8. Coloque um componente Table (pgina BDE da paleta de componentes) no objeto Dados e atribua os seguintes valores para as suas principais propriedades: Name: TblCountry DatabaseName: DBDEMOS TableName: Country.db Active: True
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
729
Figura 35.2: Aspecto do objeto RemoteDataModule Objeto Dados, aps a incluso dos objetos Table e DatasetProvider.
10. Salve a unit associada ao objeto RemoteDataModule com o nome UnitServerDados. 11. Salve o projeto com o nome ProjectServerDados. Repare que o nome da unit Project1_TLB automaticamente modificado para ProjectServerDados_TLB, e corresponde a uma biblioteca de tipos e objetos COM. 12. Exiba a caixa de dilogo Run Parameters, selecionando o item Parameters do menu Run, e digite a expresso /regserver na caixa de texto Parameters, como mostrado na figura a seguir.
13. Selecione o boto Ok para fechar a caixa de dilogo Run Parameters. 14. Execute a aplicao servidora, selecionando o item Run do menu Run. A aplicao ser executada e encerrada imediatamente, tendo como nico objetivo registr-la no sistema.
Observe que, ao se definir o valor da propriedade ServerName do componente DCOMConnection, o valor da propriedade ServerGUID automaticamente preenchido com o identificador do objeto COM que representa o servidor. Observe ainda que, ao se definir o valor da propriedade Connected como igual a True, a aplicao servidora inicializada (mantenha-a aberta no Windows, embora voc possa minimiz-la, enquanto configura as demais propriedades da aplicao cliente).
12. Inclua um componente ClientDataset (segundo componente da pgina Data Access da paleta de componentes) no DataModule e atribua os seguintes valores s suas principais propriedades: Name: ClientDataset1 (seu valor default). RemoteServer: DcomConnection1 (Esse valor deve ser exibido entre as opes disponveis para o valor desta propriedade.) ProviderName: ProviderCountry (Esse valor deve ser exibido entre as opes disponveis para o valor dessa propriedade.) Active: True.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
731
Pronto! Sua aplicao-cliente (ainda que simplria) j pode ser executada. O importante neste tpico que voc compreenda os conceitos de aplicaes multicamadas. Voc pode definir as regras do negcio usando um objeto RemoteDataModule em uma aplicao servidora, no qual so inseridos vrios componentes Table, Query, StoredProc, etc
// PASTLWTR : 1.2 // File generated on 27/4/2003 18:24:51 from Type Library described below. // ************************************************************************ // // Type Lib: C:\Arquivos de programas\Borland\Delphi7\Projects\ProjectServerDados.tlb (1) // LIBID: {682E06EB-EF6F-4703-B285-4ABA10FD73AF} // LCID: 0 // Helpfile: // HelpString: ProjectServerDados Library // DepndLst: // (1) v2.0 stdole, (C:\WINDOWS\System32\stdole2.tlb) // (2) v1.0 Midas, (C:\WINDOWS\System32\midas.dll) // (3) v4.0 StdVCL, (C:\WINDOWS\system32\stdvcl40.dll) // ************************************************************************ // {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. {$WARN SYMBOL_PLATFORM OFF} {$WRITEABLECONST ON} {$VARPROPSETTER ON} interface uses Windows, ActiveX, Classes, Graphics, Midas, StdVCL, Variants; // *********************************************************************// // GUIDS declared in the TypeLibrary. Following prefixes are used: // Type Libraries : LIBID_xxxx // CoClasses : CLASS_xxxx // DISPInterfaces : DIID_xxxx // Non-DISP interfaces: IID_xxxx // *********************************************************************// const // TypeLibrary Major and minor versions ProjectServerDadosMajorVersion = 1; ProjectServerDadosMinorVersion = 0;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
733
// *********************************************************************// // Interface: IDados // Flags: (4416) Dual OleAutomation Dispatchable // GUID: {5A36954F-937B-495D-AAAA-BFC474685F10} // *********************************************************************// IDados = interface(IAppServer) [{5A36954F-937B-495D-AAAA-BFC474685F10}] end; // *********************************************************************// // DispIntf: IDadosDisp // Flags: (4416) Dual OleAutomation Dispatchable // GUID: {5A36954F-937B-495D-AAAA-BFC474685F10} // *********************************************************************// IDadosDisp = dispinterface [{5A36954F-937B-495D-AAAA-BFC474685F10}] function AS_ApplyUpdates(const ProviderName: WideString; Delta: OleVariant; MaxErrors: Integer; out ErrorCount: Integer; var OwnerData: OleVariant): OleVariant; dispid 20000000; function AS_GetRecords(const ProviderName: WideString; Count: Integer; out RecsOut: Integer; Options: Integer; const CommandText: WideString; var Params: OleVariant; var OwnerData: OleVariant): OleVariant; dispid 20000001; function AS_DataRequest(const ProviderName: WideString; Data: OleVariant): OleVariant; dispid 20000002; function AS_GetProviderNames: OleVariant; dispid 20000003; function AS_GetParams(const ProviderName: WideString; var OwnerData: OleVariant): OleVariant; dispid 20000004; function AS_RowRequest(const ProviderName: WideString; Row: OleVariant; RequestType: Integer; var OwnerData: OleVariant): OleVariant; dispid 20000005; procedure AS_Execute(const ProviderName: WideString; const CommandText: WideString; var Params: OleVariant; var OwnerData: OleVariant); dispid 20000006; end; // // // // // // // *********************************************************************// The Class CoDados provides a Create and CreateRemote method to create instances of the default interface IDados exposed by the CoClass Dados. The functions are intended to be used by clients wishing to automate the CoClass objects exposed by the server of this typelibrary. *********************************************************************//
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
735
Captulo
Tcnicas teis Para a Criao da Interface com o Usurio
36
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
737
METODOLOGIA
Apresentao do problema: Utilizao das principais propriedades e mtodos da classe TApplication na parametrizao de strings de auxlio.
TCNICA
Apresentao dos procedimentos necessrios parametrizao de strings de auxlio em aplicaes desenvolvidas com o Delphi 7.
A funo RGB recebe como parmetros trs inteiros (cujo valor varia entre 0 e 255) e retorna a cor resultante de uma combinao das cores Vermelho (Red), Verde (Green) e Azul (Blue), nas propores definidas pelos trs valores passados como parmetro.
A partir da incluso dessas linhas de cdigo, as strings de auxlio sero exibidas imediatamente (pois a propriedade HintPause foi definida como sendo igual a 0) e sero exibidas por um intervalo de 10 segundos (pois o valor da propriedade HintHidePause foi definido como sendo igual a 10000 milissegundos, isto , 10 segundos).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
739
METODOLOGIA
Apresentao do problema: Definio da quantidade de instncias de uma aplicao, que podem ser executadas simultaneamente.
TCNICA
Apresentao dos procedimentos necessrios verificao de existncia de mltiplas instncias de uma aplicao.
APRESENTAO DO PROBLEMA
Existem situaes em que no se deseja a execuo simultnea de mltiplas instncias de uma aplicao. Nesse caso, para verificar se j existe uma instncia da aplicao sendo executada, deve-se utilizar a funo FindWind da API do Windows. Essa funo recebe como parmetros: Uma string com o nome da classe que define o formulrio principal da aplicao. Uma string que define o caption do formulrio principal da aplicao (pode ser nil). A maneira mais fcil de impedir a execuo de mltiplas instncias de uma aplicao consiste em verificar se o valor retornado por essa funo igual a 0. No caso de uma aplicao composta por um nico formulrio, da classe TFormPrincipal (que o formulrio principal da aplicao), isso pode ser feito definindo-se da seguinte maneira o arquivo de projeto da aplicao:
program UmaInstancia; uses Windows, Dialogs, Forms, UnitPrincipal in UnitPrincipal.pas {Form1}; {$R *.RES} begin if FindWindow(TFormPrincipal,nil) = 0 then begin Application.Initialize; Application.CreateForm(TFormPrincipal, FormPrincipal); Application.Run; end else ShowMessage (A Aplicao j est sendo executada); end.
Antes de executar para testar esta aplicao no Windows, feche o seu projeto no ambiente de desenvolvimento do Delphi.
METODOLOGIA
Apresentao do problema: Reinicializao do sistema a partir de uma aplicao desenvolvida em Delphi 7.
TCNICA
Apresentao dos procedimentos necessrios reinicializao do sistema a partir de uma aplicao desenvolvida em Delphi 7, baseada na VCL.
APRESENTAO DO PROBLEMA
Muitas aplicaes oferecem ao usurio a opo de reinicializar o Windows ou dar um boot no sistema aps a sua instalao. Para incluir essa caracterstica no seu aplicativo, voc deve utilizar a funo ExitWindowsEx da API do Windows. Essa funo recebe como parmetros um flag, que pode ser: EWX_REBOOT: Reinicializa o sistema ou: EWX_SHUTDOWN: Desliga o micro. E um segundo valor, que deve ser igual a 0. O trecho a seguir executa a funo ExitWindows e reinicializa o sistema, caso o usurio selecione o boto Ok na caixa de dilogo.
If MessageDlg(Deseja Fechar a Aplicao e Reinicializar o Windows ?,mtConfirmation,mbOkCancel,0)=mrOk then ExitWindows(EW_REBOOTSYSTEM;0);
Dessa maneira, se o usurio selecionar o boto Ok nessa caixa de dilogo, o sistema ser reinicializado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
741
TCNICA
Apresentao dos procedimentos necessrios manipulao da data e hora do sistema a partir de uma aplicao desenvolvida em Delphi 7.
O TIPO TDATETIME
O Delphi 7 define o tipo TDateTime na unit System.pas, que na realidade idntico ao tipo double, como mostra a definio a seguir, extrada desta unit.
type TDateTime = type Double;
Como todo nmero real, uma varivel do tipo TDateTime tem uma parte inteira e uma parte fracionria. A parte inteira de uma varivel do tipo TDateTime armazena o nmero de dias decorridos desde 30 de dezembro de 1889, at a data atual do sistema, ao passo que a parte fracionria armazena a quantidade de horas do dia. A tabela a seguir, existente no Help On-line do Delphi, apresenta alguns valores reais e seus correspondentes no formato data-hora.
Data/Hora equivalente 30/12/1899 12:00 am 01/01/1900 6:00 pm 29/12/1899 6:00 am 01/01/1996 12:00 am
Como j foi descrito anteriormente, a parte inteira representa o nmero de dias decorridos desde 30/ 12/1899. Conseqentemente, se voc somar ou subtrair um valor inteiro a uma varivel do tipo TDateTime, estar na realidade somando ou subtraindo uma determinada quantidade de dias. Alm disso, pode comparar duas datas como compara dois nmeros reais. Para adicionar uma hora, que 1/24 do dia, basta somar ou subtrair 1/24 varivel do tipo TDateTime.
A recproca tambm verdadeira, e voc pode usar o procedimento DecodeDate para obter o dia, ms e ano correspondentes a uma data definida em uma varivel do tipo TDateTime. Nesse caso, devem ser passados como parmetros um valor do tipo TDateTime, cujo valor ser convertido, e trs variveis inteiras sem sinal (tipo Word) representando respectivamente o ano, o ms e o dia a serem obtidos (estes trs ltimos parmetros so passados por referncia; conseqentemente, seu valor alterado dentro do procedimento). A seguir, apresentamos a linha de cdigo correspondente utilizao desse procedimento, onde DataAtual uma varivel do tipo TDateTime e Ano, Ms e Dia so variveis do tipo Word.
DecodeDate(DataAtual, Ano, Ms, Dia);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
743
METODOLOGIA
Apresentao do problema: Definio de um pano de fundo para o formulrio principal de uma aplicao desenvolvida em Delphi 7.
TCNICA
Apresentao dos procedimentos necessrios definio de um pano de fundo para o formulrio principal de uma aplicao desenvolvida em Delphi 7.
Neste exemplo, a varivel Bitmap deve ser declarada como um objeto do tipo TBitmap na seo var da unit do formulrio. A Figura 36.1 apresenta o resultado da execuo desse cdigo.
METODOLOGIA
Apresentao do problema: Desenvolvimento de aplicaes MDI utilizando o Delphi 7.
TCNICA
Apresentao dos procedimentos necessrios ao desenvolvimento de aplicaes MDI utilizando o Delphi 7 como ferramenta de desenvolvimento.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
745
Cada aplicao MDI s pode ter um formulrio cuja propriedade FormStyle tenha o valor fsMDIForm, e esse formulrio deve ser o formulrio principal da aplicao.
3. Altere o valor das propriedades Name e Caption desse formulrio para FormMDIPai e Exemplo de Aplicao MDI.
Nesse caso, o parmetro Self um ponteiro para o formulrio-pai e FormMDIFilho um objeto da classe TFormMDIFilho.
Onde Action uma varivel passada por referncia no procedimento associado ao evento OnClose do formulrio.
MESCLANDO MENUS
Em uma aplicao MDI, a barra de menus da janela-filha que estiver ativa substitui a barra de menus da janela-pai. Uma soluo mais elegante, no entanto, consiste em mesclar as barras de menus dessas duas janelas, conforme ser mostrado neste tpico. Em geral, a barra de menus da janela principal de uma aplicao MDI apresenta os seguintes menus: Arquivo, com os itens Novo, Fechar e Sair. Janela, com as opes Lado a Lado Vertical, Lado a Lado Horizontal, Em Cascata, Organizar cones e Fechar Todas as Janelas. Ajuda, com itens que permitem acessar um arquivo de Help On-line, exibir uma caixa de dilogo de direitos autorais, etc. As janelas-filhas, por sua vez, podem ter uma barra de menus com itens bastante especficos, dependendo da finalidade de cada janela e da aplicao propriamente dita. Suponha que cada janela-filha tenha os seguintes menus e itens de menu, a ttulo simplesmente ilustrativo: Menu Menu_A, com os itens Opo_A1, Opo_A2 e Opo_A3. Menu Menu_B, com os itens Opo_B1, Opo_B2 e Opo_B3. Para que nenhum desses menus da janela-filha sobreponha um menu da janela principal, devemos configurar adequadamente o valor da propriedade GroupIndex de cada menu. A propriedade GroupIndex deve receber como valor um nmero inteiro, e apresenta as seguintes caractersticas: Se a propriedade GroupIndex de um menu da janela-filha tiver o mesmo valor de um dos menus da janela-pai, este ser sobreposto.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
747
Menu Arquivo (janela-pai): Janela (janela-pai): Ajuda (janela-pai): Menu_A (janela-filha) Menu_B (janela-filha)
Propriedade GroupIndex 0 3 4 1 2
Agora, quando uma janela-filha for exibida, seu menu no ser mesclado com o da janela-pai.
CODIFICANDO A APLICAO
Para exibir as janelas-filhas na disposio lado a lado horizontal, basta atribuir o valor tbHorizontal propriedade TileMode da janela principal, e executar o seu mtodo Tile. Para exibir as janelas-filhas na disposio lado a lado vertical, basta atribuir o valor tbVertical propriedade TileMode da janela principal, e executar o seu mtodo Tile. Para exibir as janelas-filhas na disposio em cascata, basta executar o mtodo Cascade do formulrio principal. Para fechar todas as janelas-filhas, basta executar o mtodo Close de cada uma delas. As janelas-filhas esto referenciadas na propriedade MDIChildren, que um a array de objetos da classe TForm, iniciando em 0. Para obter o nmero de janelas-filhas, basta verificar o valor da propriedade MDIChildCount da janela principal. Apresentamos, a seguir, o cdigo das units associadas aos formulrios da aplicao.
unit UnitMDIPai; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus; type TFormMDIPai = class(TForm) MainMenu1: TMainMenu; Arquivo1: TMenuItem; Novo1: TMenuItem; Fechar1: TMenuItem; Sair1: TMenuItem;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
749
METODOLOGIA
Apresentao do problema: Desenvolvimento de aplicaes que incorporam o recurso de drag-drop utilizando o Delphi 7 como ferramenta de desenvolvimento.
TCNICA
Apresentao dos procedimentos necessrios ao desenvolvimento de aplicaes que incorporam o recurso de drag-drop.
APRESENTAO DO PROBLEMA
O recurso de drag e drop (arrastar e soltar) pode tornar a interface de suas aplicaes mais atrativa e fcil de utilizar. Essas operaes podem envolver componentes ou itens de componentes, dependendo da finalidade da aplicao, e dos objetos utilizados na criao da sua interface. Neste tpico, sero usados componentes da pgina Win 3.1, inexistente na CLX. Conseqentemente, ser criada uma aplicao baseada na VCL do Delphi 7.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
751
EXEMPLO DE UTILIZAO
Neste tpico, apresentaremos um exemplo de utilizao das tcnicas de drag & drop. O objetivo deste exemplo ser o de selecionar o nome de um arquivo-texto em uma lista de arquivos, arrast-lo e, ao solt-lo sobre um componente Memo, carregar neste o texto armazenado no arquivo.
DEFINIO DA INTERFACE
Inicialmente, dever ser definida uma nova aplicao, composta por um formulrio no qual sero inseridos vrios componentes, com as propriedades descritas a seguir. Formulrio: Name: FormDragDrop Width: 545
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
753
CODIFICAO DO EXEMPLO
A codificao deste exemplo ser feita levando em considerao que o objeto, a partir do qual ser iniciada a operao de drag e drop, ser o componente ListaArquivos (o Source) e o componente sobre o qual este ser liberado ser o componente Memo (o Target). A codificao do incio do processo feita definindo-se da seguinte maneira o procedimento associado ao evento OnMouseDown do componente ListaArquivos:
procedure TFormDragDrop.ListaArquivosMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ListaArquivos.BeginDrag(False); end;
O procedimento associado ao evento OnDragDrop do componente MemoTXT deve ser codificado da maneira apresentada a seguir:
procedure TFormDragDrop.MemoTXTDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin if (Source is TFileListBox) then Accept := True else Accept := False; end;
Esse cdigo garante que a operao s ser aceita se o objeto que iniciou o processo de drag e drop for da classe TFileListBox. Para encerrar o processo, deve-se codificar da seguinte maneira o procedimento associado ao evento OnEndDrag do componente ListaArquivos:
procedure TFormDragDrop.MemoTXTDragDrop(Sender, Source: TObject; X, Y: Integer); begin
Esse procedimento verifica se o nome do arquivo cujo nome est sendo arrastado sobre o componente tem a extenso TXT e, em caso positivo, carrega o arquivo na propriedade Lines do componente. Caso a operao tenha sido executada com sucesso, a seguinte mensagem ser exibida:
Arquivo Carregado com Sucesso
Apresenta-se a seguir o cdigo da unit associada ao formulrio desta aplicao-exemplo, tendo esta unit sido salva com o nome UnitDragDrop.pas.
unit UnitDragDrop; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, FileCtrl; type TFormDragDrop = class(TForm) MemoTXT: TMemo; ListaArquivos: TFileListBox; ListaDiretorios: TDirectoryListBox; ListaDrives: TDriveComboBox; BotaoFechar: TBitBtn; procedure MemoTXTDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure MemoTXTDragDrop(Sender, Source: TObject; X, Y: Integer); procedure ListaArquivosMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var FormDragDrop: TFormDragDrop; implementation {$R *.DFM} procedure TFormDragDrop.MemoTXTDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin if (Source is TFileListBox)
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
755
Esse problema tem vrias solues alternativas, dependendo da estratgia empregada pelo desenvolvedor.
Captulo
37
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
757
METODOLOGIA
Apresentao das principais ferramentas do Delphi 7 para a internacionalizao de aplicativos.
TCNICA
Apresentao dos procedimentos necessrios utilizao do Translation Manager.
Figura 37.1: Selecionando o item Resource DLL Wizard na caixa de dilogo New Items.
3. Selecione o boto Ok para fechar esta caixa de dilogo e inicializar o assistente, conforme mostrado na figura a seguir.
Esta tela informa que voc poder: Selecionar mltiplos projetos. Selecionar mltiplas linguagens para cada projeto. Atualizar ou sobrecarregar as DLLs de recursos j existentes.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
759
5. Selecione o boto Next. Ser exibida uma caixa de dilogo na qual devero ser selecionadas as linguagens com as quais se deseja trabalhar, como mostrado na figura a seguir.
6. Selecione o boto Next. Ser exibida uma caixa de dilogo na qual sero informadas as linguagens selecionadas, e onde voc poder definir o diretrio em que cada DLL ser armazenada (neste exemplo foram selecionadas as opes de ingls dos Estados Unidos e Portugus Brasileiro) como mostrado na Figura 37.5.
7. Selecione o boto Next. Ser exibida a caixa de dilogo mostrada na figura a seguir, na qual podero ser informados, para cada um dos projetos, arquivos sobre os quais as DLLs de recursos tambm devero atuar.
8. Selecione os arquivos a partir da caixa de dilogo exibida quando se seleciona o boto Add File e o boto Next. Ser exibida a caixa de dilogo mostrada na figura a seguir, na qual dever ser informado o modo de atualizao das DLLs de recursos podendo optar por criar novos recursos ou atualizar os j existentes.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
761
Figura 37.7: Caixa de dilogo para definio do modo de atualizao das DLLs de recursos.
9. Selecione o boto Next. Ser exibida a caixa de dilogo mostrada na Figura 37.8, na qual sero informadas as providncias que sero realizadas pelo assistente. 10. Selecione o boto Finish. Ser exibida a caixa de dilogo mostrada na Figura 38.9, na qual o usurio deve informar se o(s) projeto(s) podem ser recompilados, para que o Resource DLL Wizard seja concludo com xito. 11. Selecione o boto Yes. Ser exibida a caixa de dilogo mostrada na Figura 38.10, na qual apresentado o resultado da compilao.
12. Selecione o boto Ok para fechar esta caixa de dilogo. Ser exibida a caixa de dilogo Translation Manager Gerenciador de Tradues mostrada na Figura 37.11. Posteriormente, para visualizar o Translation Manager, basta selecionar o item Translation manager no menu view do Delphi. Se os arquivos de recursos estiverem sendo criados pela primeira vez, ser necessrio salvar os arquivos do grupo de projetos que estar sendo criado automaticamente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
763
A figura a seguir mostra a seleo do arquivo de recursos para a lngua portuguesa, com algumas das strings j traduzidas.
Aps fazer as tradues necessrias, voc deve selecionar os botes Save (com um desenho de um disquete) e Refresh para atualizar e salvar o seu projeto.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
765
Voc tambm pode selecionar diversas opes de configurao do Translation Manager na caixa de dilogo Translation Tools Options, exibida quando se seleciona o primeiro boto da barra de ferramentas superior do Translation Manager, e reproduzida na figura a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
767
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Captulo
38
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
769
Experincia em programao estruturada com verses anteriores da linguagem Pascal. Conhecimentos bsicos da linguagem HTML.
METODOLOGIA
Apresentao do problema: Criao de uma aplicao CGI com a tecnologia WebBroker, utilizando os componentes disponveis no ambiente
de desenvolvimento integrado do Delphi 7.
TCNICA
Figura 38.1: Selecionando o cone Web Server Application na caixa de dilogo New Items.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
771
Caso voc queira que esta aplicao CGI possa ser compilada para vrias plataformas, marque o Checkbox correspondente. Neste caso, no entanto, ter dificuldades em seguir os exemplos que usam o acesso via BDE.
4. Selecione o boto OK para fechar essa caixa de dilogo. Ser criada uma janela semelhante a um DataModule, mas denominada WebModule1, conforme a Figura 38.3.
Um WebModule muito semelhante a um DataModule (e, conforme ser descrito posteriormente, um DataModule pode ser facilmente transformado em um WebModule mediante a incluso de um componente WebDispatcher). Da mesma maneira que um DataModule, um WebModule serve como um repositrio para componentes no visuais, como TTable, TQuery, TADOTable, TADOQuery, TSQLTable, TSQLQuery, TPageProducer, etc. Alm disso, esse componente responsvel por definir como a aplicao deve responder a solicitaes feitas por clientes atravs de mensagens que seguem o protocolo HTTP.
Conforme descrito anteriormente, no caso de a aplicao estar sendo disponibilizada na Web voc deve substituir localhost pelo endereo do seu servidor (nesse caso, localhost corresponde a um servidor que est sendo executado localmente, na mesma mquina do cliente). O diretrio dever ser substitudo pelo diretrio configurado pelo seu servidor como repositrio de aplicaes CGI. No meu caso, tive que substituir localhost por marceloleao.com.br/cgi-bin. WebCGITeste01.exe , obviamente, o nome da nossa aplicao CGI. Os parmetros, conforme ser descrito posteriormente, informam aplicao CGI o tipo de resposta a ser fornecida. Para exibir o Editor de Aes (onde sero definidas as respostas da aplicao CGI), proceda da seguinte maneira: 1. Selecione o WebModule criado anteriormente e pressione o boto direito do mouse para exibir o seu menu suspenso. 2. Selecione o item Action Editor desse menu para exibir a caixa de dilogo mostrada na figura a seguir, na qual devero ser definidas as diversas aes a serem respondidas pela aplicao CGI.
Inicialmente, como era de se esperar, no existe qualquer ao de resposta definida pela aplicao. Vamos ento definir uma primeira ao, executando os seguintes procedimentos: 1. Selecione o boto Add New (o primeiro no canto superior esquerdo) na caixa de dilogo do Editor de Aes para criar um item chamado WebActionItem1. Esse item , na realidade, um objeto da classe THTTPActionItem, e se voc selecion-lo poder visualizar suas propriedades no Object Inspector. Opcionalmente, voc pode usar a tecla Ins do seu teclado ou pressionar o boto direito do mouse sobre o Editor de Aes e, no menu pop-up que ser exibido, selecionar o item Add. Na realidade, cada item da caixa de dilogo do Editor de Aes um dos elementos da array Actions (que uma propriedade do objeto WebModule). Por essa razo, a caixa de seleo de objetos do Object
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
773
Name: Identifica o nome pelo qual o objeto referenciado no cdigo. Default: Indica se esse item representar ou no a resposta default da aplicao. Caso nenhum
dos itens satisfaa s especificaes descritas na URL, a ao definida para o item default ser executada (repare que no WebActionItem recm-criado sua propriedade default foi automaticamente definida como True).
MethodType: Define os tipos de solicitaes a serem atendidas e pode ter um dos valores
apresentados a seguir: mtGet, mtHead, mtPost, mtPut e mtAny. O significado de cada um desses valores ser descrito posteriormente e, inicialmente, utilizaremos o valor default mtAny, que aceita todos os tipos de solicitao.
PathInfo: Esta propriedade uma string que define o texto correspondente ao digitado na URL
logo aps o nome da aplicao CGI. A URL definida a seguir, por exemplo, executar na aplicao armazenada no Personal web Server a ao definida pelo item cuja propriedade PathInfo igual a /Exemplo.
http://localhost/WebCGITeste01.exe/ Exemplo
Enabled: Esta propriedade define se o item est ou no habilitado. Se seu valor for igual a False, esse
item ser ignorado, ainda que suas propriedades MethodType e PathInfo correspondam s definidas pela URL que disparou a execuo do aplicativo CGI. A nica exceo ocorre quando sua propriedade default igual a True, pois nesse caso o valor da sua propriedade Enabled ignorado. Para o item recm-criado, defina o valor da sua propriedade PathInfo como Exemplo. Repare que esse valor ser exibido na caixa de dilogo do Editor de Aes. Para definir uma resposta da aplicao correspondente a esse item, voc deve executar os seguintes procedimentos: 1. Selecionar o item WebActionItem1 no Editor de Aes. 2. Selecionar a guia Events no Object Inspector. 3. Dar um duplo clique com o boto esquerdo do mouse sobre o espao em branco direita do evento OnAction. Ser exibido o corpo principal do procedimento associado a esse evento, como mostrado a seguir.
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); begin end;
Handled: Boolean. Este parmetro passado por referncia e define se a mensagem foi ou no
completamente tratada pela aplicao. Ao definir a propriedade PathInfo como Exemplo, indicamos que esse item responder mensagem representada pela seguinte URL:
http://localhost/ WebCGITeste01.exe/Exemplo
Lembre-se que, se a propriedade default do WebActionItem for mantida como True, ser desnecessrio incluir o PathInfo na URL. Devemos agora definir a resposta que ser enviada ao cliente por esse item, e para isso precisamos estabelecer adequadamente o valor da propriedade Content do objeto Response (que uma string). Nesse caso, pode-se incluir a seguinte linha de cdigo no procedimento recm-criado:
Response.Content := <HTML><BODY><H1>Exemplo de Aplicao CGI</H1></ BODY ></ HTML > ;
Salve seu projeto com o nome WebCGITeste01 no diretrio C:\inetpub\wwwroot (se voc estiver usando o PWS) ou no diretrio a partir do qual est sendo desenvolvido seu site (e a partir do qual ser feito o upload dos arquivos), compile a aplicao (no a execute a partir do ambiente ou do Windows, apenas compile) e armazene-a no diretrio correto. Em seguida, execute a aplicao CGI a partir de um browser, digitando a seguinte URL (no caso do PWS):
http://localhost/WebCGITeste01.exe/Exemplo
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
775
Conforme j descrito anteriormente, caso voc mantenha o valor da propriedade default do objeto WebActionItem1 como True, a mesma resposta ser gerada quando voc digitar o seguinte endereo no seu browser:
http://localhost/WebCGITeste01.exe
Conforme indicado pelo ttulo deste tpico, essa uma aplicao CGI extremamente simples, mas que ilustrou os seguintes conceitos:
Toda aplicao CGI precisa de um objeto WebModule. As respostas da aplicao so definidas por vrios itens includos no Editor de Aes. Para cada item que define uma ao deve ser definido um procedimento associado ao evento
OnAction, e a resposta a ser gerada deve ser um cdigo HTML armazenado na string definida pela propriedade Content do parmetro Response (que um objeto da classe TWebResponse). Em alguns servidores Web de teste, como o que acompanhava o Front Page 98, o endereo deveria ser fornecido como http://localhost/cgi-bin/WebCGITeste01.exe
Repare que, nestes casos, como o valor da propriedade default do objeto WebActionItem1 foi definido como True, bastou definir a URL como: http://www.marceloleao.com.br/cgi-bin/WebCGITeste01.exe (seria http://localhost/ WebCGITeste01.exe no caso de se estar usando o Personal Web Server).
claro que esse cdigo geraria um formulrio em branco, o que no teria muito
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
777
Nessa tag, n representa o nmero de caracteres que a caixa de texto deve ser capaz de exibir. Alm disso, a tag <Input> tambm pode ser usada para exibir botes do tipo Submit e Reset. Nesses casos, a tag <Input> deve ser digitada com a seguinte sintaxe:
<Input Type = Submit Value = Texto a Ser Exibido no Boto>
e
<Input Type = Reset Value = Texto a Ser Exibido no Boto>
respectivamente. Apresentamos a seguir um arquivo bastante simples, que define uma pgina HTML salva com o nome teste01.htm, e criada usando um editor bastante simples como o Bloco de Notas do Windows:
<HTML> <BODY> <H1>Exemplo de Formulrio</H1> <p> <Form action = http://www.marceloleao.com.br/cgi-bin/WebCGITeste02.exe method = Get <p>Nome: <Input Type = Text Size = 32 Name = Nome> </p> <p>Data de Nascimento: <Input Type = Text Size = 20 Name = Data > </p> <Input Type = Submit Value = Ok> <Input Type = Reset Value = Limpar> </Form> </BODY> </HTML>
A Figura a 37.8 apresenta o aspecto desse formulrio elementar no Internet Explorer. Se digitarmos as expresses Marcelo Leo e 28 de Julho de 1966 nas caixas de texto sem incluir as aspas duplas, evidentemente e selecionarmos o boto OK do formulrio, a seguinte URL ser exibida no browser:
http://www.marceloleao.com.br/cgi-bin/ WebCGITeste02.exe?Nome=Marcelo+Le%E3o&Data=28+de+julho+de+1966
Embora seja gerada esta string, a aplicao WebCGITeste02.exe no ser executada, pois a mesma ainda no foi criada!
Repare que o endereo da aplicao CGI est separado dos dados enviados pelo formulrio por um ponto de interrogao. Aps esse ponto de interrogao, os nomes de cada caixa de texto e o valor digitado em cada uma delas so exibidos aos pares, separados por um sinal de igualdade, =, na forma:
Nome_do_Parmetro=Valor_Digitado
Repare que os vrios pares de informaes so separados por um e comercial & e que os espaos em branco digitados em cada valor so substitudos por sinais de adio. Por essa razo, a expresso 28 de Julho de 1966 aparece como
28+de+Julho+de+1966.
Quando utilizamos o mtodo Get, cada par de informaes Nome_do_Parmetro=Valor_Digitado armazenado, na forma de uma string, como um elemento de um objeto da classe TStrings (que representa uma lista de strings). Esse objeto , na realidade, a propriedade QueryFields do objeto Request, que , por sua vez, uma propriedade do objeto WebModule. fcil verificar, portanto, que ao proceder dessa forma estaremos na realidade manipulando objetos da classe TStrings, juntamente com seus mtodos e propriedades.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
779
Para tornar nossas pginas HTML mais dinmicas, podemos utilizar o componente PageProducer, apresentado no prximo tpico.
O COMPONENTE PAGEPRODUCER
O Delphi 7 tem um componente chamado PageProducer, que permite que se defina um modelo de pgina HTML a partir de alguns parmetros a serem definidos em run-time. Esse componente tem uma propriedade chamada HTMLDoc, que um objeto da classe TStrings e que define o cdigo HTML que servir como modelo da pgina que ser gerada em resposta solicitao do cliente. Alternativamente, voc pode digitar o modelo de cdigo HTML em um arquivo e definir o nome desse arquivo na propriedade HTMLFile. importante salientar, no entanto, que essas propriedades so mutuamente excludentes, isto , definir um valor para uma delas anula o valor definido para a outra. A principal caracterstica desse modelo de pgina HTML so as tags <#Nome_da_Tag>, que no existem na linguagem HTML e cuja funo nica e exclusivamente indicar ao componente PageProducer os parmetros que sero definidos em run-time. Para criar uma aplicao CGI que gere uma resposta ao envio de dados pelo formulrio (essa aplicao ser salva com o nome WebCGITeste02.exe), proceda da seguinte forma: 1. Selecione o item New/Other do menu File do Delphi 7, para exibir a caixa de dilogo New Items. 2. Selecione o item Web Server Application nessa caixa de dilogo. 3. Selecione o boto OK para fechar essa caixa de dilogo. Ser exibida a caixa de dilogo New Web Server Application, na qual voc deve selecionar a opo CGI Stand-alone executable, como no exemplo anterior. 4. Selecione o boto OK para fechar essa caixa de dilogo e criar um WebModule com o nome default WebModule1. 5. Coloque um componente PageProducer (o segundo componente da pgina Internet da paleta de componentes) no WebModule1, conforme indicado na Figura 38.8 (esse componente receber o nome default PageProducer1). 6. Selecione as reticncias exibidas direita da propriedade HTMLDoc do componente PageProducer1. Ser exibida a caixa de dilogo String List Editor. 7. Digite nessa caixa de dilogo o modelo de pgina HTML a ser gerada, conforme mostrado no trecho de cdigo apresentado a seguir:
<HTML> <BODY> <H1>Ol <#Nome></H1> <p>
Esse cdigo define Nome e Data como parmetros a serem definidos em run-time, usando o recurso de tags transparentes. 8. Crie um novo item na caixa de dilogo do Editor de Aes do WebModule e mantenha o seu nome default WebActionItem1. 9. Altere o valor da propriedade default desse objeto para True. 10. Defina a propriedade Producer deste objeto como o nome do objeto PageProducer recmincludo no WebModule. 11. Defina da seguinte maneira o procedimento associado ao evento OnHTMLTag do componente PageProducer1:
procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag; const TagString: String; TagParams: TStrings; var ReplaceText: String); begin ReplaceText := Request.QueryFields.Values[TagString]; end;
A substituio de parmetros na pgina-modelo feita no procedimento associado ao evento OnHTMLTag, e esse evento chamado sempre que se quer obter o valor a ser atribudo a um parmetro (esse parmetro passado como a constante TagString no cabealho do procedimento). Conforme descrito anteriormente, a propriedade QueryFields um objeto da classe TStrings que, no caso de utilizao do mtodo Get, define uma lista de string em que cada uma delas representa um parmetro. Essa lista de strings, como descrito anteriormente, armazena strings cujo contedo est na forma Nome=Valor. A classe TStrings, no entanto, tem propriedades que permitem retornar apenas um dos valores, situado de um dos lados do sinal de igual. A propriedade Values do objeto TStrings, por exemplo, retorna os valores exibidos direita do sinal de igual. Para obter o valor correspondente string Nome, por exemplo, basta digitar essa string entre colchetes. importante lembrar que esse valor retornado como uma string, mesmo que os caracteres armazenados sejam todos numricos. A propriedade Names, por outro lado, retorna os valores exibidos esquerda do sinal de igual.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
781
Voc j deve ter reparado que as pginas HTML usadas como exemplo neste captulo so bastante simples. Isso se deve ao fato de que o nosso principal objetivo neste captulo apresentar os conceitos relacionados criao de aplicaes CGI com o Delphi 7, e no o de apresentar um tutorial sobre a linguagem HTML. No prximo tpico, ser apresentado o componente DataSetTableProducer, que permite gerar pginas HTML a partir dos valores armazenados nos campos dos registros de uma tabela.
O COMPONENTE DATASETTABLEPRODUCER
O Delphi 7 tem um componente chamado DataSetTableProducer, que permite que se defina um modelo de pgina HTML que exiba em run-time diversos registros armazenados em uma tabela de um banco de dados. Esse componente deve trabalhar sempre em conjunto com um componente PageProducer, apresentado anteriormente. Neste tpico, ser utilizado o mesmo exemplo apresentado nos tpicos anteriores, fazendo-se, no entanto, algumas alteraes de forma a poder utilizar o componente DataSetTableProducer. Para alterar o exemplo anterior de forma a poder ilustrar a utilizao do componente DataSetTableProducer, proceda da seguinte forma:
No caso de ter marcado a opo Cross Plataform na criao da aplicao servidora, voc no poder acessar os componentes da pgina BDE da paleta de componentes. Coloque ento um componente ClientDataset no WebModule (ao invs do Table) e mantenha o seu nome default ClientDataset1.
2. Defina os valores das suas propriedade Databasename e TableName para apontar para o arquivo Country.db, geralmente no diretrio C:\Arquivos de Programas\Arquivos Comuns\Borland Shared\Data, correspondente ao alias DBDEMOS do BDE.
Caso esteja usando o componente ClientDataset pelas razes j descritas, defina o valor da sua propriedade FileName para apontar para o arquivo Country.cds, geralmente no diretrio C:\Arquivos de Programas\Arquivos Comuns\Borland Shared\Data.
Caso esteja usando o componente ClientDataset pelas razes j descritas, o cdigo ser:
procedure TWebModule1.WebModuleCreate(Sender: TObject); begin ClientDataset1.Open; end;
4. Coloque um componente DataSetTableProducer no WebModule e mantenha o seu nome default DataSetTableProducer1. 5. Defina o valor da propriedade DataSet desse componente como ClientDataset1. 6. Ao menos durante esta fase, defina a propriedade Active do componente Table1 como True (e neste caso, ao menos temporariamente, sua propriedade Databasename dever ser configurada como DBDEMOS). 7. Clique com o boto esquerdo do mouse sobre as reticncias exibidas direita da propriedade Header desse componente. Ser exibida a caixa de dilogo String List Editor, na qual deve ser digitado um cabealho para a tabela. Digite a expresso Relao dos pases Armazenados na Tabela Country. 8. Clique com o boto esquerdo do mouse sobre as reticncias exibidas direita da propriedade Footer desse componente. Ser exibida a caixa de dilogo String List Editor, na qual deve ser digitado um rodap para a tabela. Digite a expresso Tabela gerada com o componente DataSetTableProducer.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
783
Os campos a serem exibidos. O alinhamento desses campos. A cor de fundo das clulas que exibem os campos. Uma pr-visualizao da tabela gerada.
O alinhamento do texto nas clulas. E muitas outras opes. Este , sem dvida alguma, um fantstico editor de propriedades! 10. Caso seja necessrio, selecione o boto Add All Fields para especificar a utilizao de todos os campos. Repare que os campos ainda aparecem de maneira confusa, como mostrado na Figura 38.10, o que ser corrigido nos prximos procedimentos. Este editor permite que os campos da tabela possam ser tratados como objetos independentes. Voc pode deletar um campo (selecionando um boto Delete) e alterar a ordem de exibio desses campos (selecionando os botes Move Up e Move Down).
11. Selecione cada um dos campos e altere o valor da sua propriedade Align como haCenter. 12. Altere a propriedade bgColor do GroupBox Table Properties para Gray. O editor de colunas dever ficar com o aspecto apresentado na Figura 38.11. Repare que a pr-visualizao da tabela melhorou bastante.
Figura 38.11: O editor de colunas do componente DataSetTableProducer1, aps a alterao de algumas propriedades.
Figura 38.12: O editor de colunas do componente DataSetTableProducer1, aps a alterao de algumas propriedades.
15. Crie uma nova pgina HTML chamada Teste02.htm, com o seguinte cdigo:
<HTML> <BODY>
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
785
Esse um formulrio ainda mais simples, mas sua nica funo exibir um boto que, ao ser selecionado pelo usurio, exibe a tabela em uma pgina HTML.
16. Altere a propriedade HTMLDoc do componente PageProducer1 da maneira indicada a seguir. Repare que nesse caso teremos apenas um parmetro, chamado tabela, que dever ser substitudo pelos vrios registros.
<HTML> <BODY> <H1>Resultado da Solicitao</H1> <p> <#tabela> </BODY> </HTML>
17. Redefina da seguinte maneira o procedimento associado ao evento OnHTMLTag do componente PageProducer1:
procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag; const TagString: String; TagParams: TStrings; var ReplaceText: String); begin ReplaceText := DataSetTableProducer1.Content; end;
Voc tambm pode excluir o componente PageProducer e definir a propriedade Producer do objeto WebAction1 como sendo igual a DatasetTableProducer1.
18. Visualize a pgina que contm o formulrio no seu browser. Selecione o boto Exibir Tabela para visualizar o resultado, como mostrado nas Figuras 38.13 e 38.14. Voc pode alterar o aspecto da exibio do resultado alterando algumas propriedades do componente DataSetTableProducer. Como um usurio avanado do Delphi 7, voc deve explorar ao mximo suas potencialidades.
importante lembrar que, neste caso, o mecanismo de acesso deve estar corretamente configurado no servidor, para que o acesso a bancos de dados funcione corretamente. No caso de uma tabela no formato cds, acessada usando o componente ClientDataset, geralmente nenhuma configurao especial necessria. No caso do acesso via BDE, a propriedade DatabaseName do componente Table deve ser redefinida adequadamente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
787
O COMPONENTE QUERYTABLEPRODUCER
O Delphi 7 tem um componente chamado QueryTableProducer que permite que se defina um modelo de pgina HTML que exiba em run-time diversos registros armazenados em uma tabela de um banco de dados, obtidos como resultado de uma consulta SQL parametrizada. A sua principal vantagem que, se voc definir no formulrio HTML um componente cujo Nome seja igual a um parmetro da declarao SQL definida em um componente Query colocado no WebModule, o valor desse parmetro ser igual ao passado na URL. Para ilustrar um pouco mais estes conceitos, vamos criar um novo formulrio, em um arquivo HTML chamado Teste03.htm, cujo cdigo apresentado a seguir.
<HTML> <BODY> <H1>Selecione Uma Opo e o Boto Para Exibir a Tabela</H1> <p> <Form action = http://localhost/WebCGITeste02.exe method = GET> </p> <Input Type = Radio Name = Continent Value = South America CHECKED>Amrica do Sul <p> <Input Type = Radio Name = Continent Value = North America>Amrica do Norte <p> <Input Type = Submit Value = Exibir tabela> </Form> </BODY> </HTML>
Nesse formulrio, o usurio dever selecionar um continente para obter informaes apenas sobre os pases nele situados. A Figura 38.15 apresenta o formulrio gerado. Quando o usurio selecionar o boto Exibir Tabela, ser gerada uma das seguintes URLs, no caso de se estar usando o Personal Web Server:
http://localhost/WebCGITeste02.exe?Continent=South+America
Ou:
http://localhost/WebCGITeste02.exe?Continent=North+America
Assim como o componente DataSetTableProducer, o componente QueryTableProducer pode trabalhar em conjunto com um componente PageProducer.
Sero aplicadas algumas alteraes no exemplo anterior, de modo a permitir a utilizao desse componente. Para alterar o exemplo anterior, proceda da seguinte forma: 1. Coloque um componente QueyTableProducer no WebModule e mantenha o seu nome default QueryTableProducer1. 2. Coloque um componente Query no WebModule e mantenha o seu nome default Query1. 3. Defina os valores das suas propriedade Databasename e TableName para apontar para o arquivo Country.db, geralmente no diretrio C:\Arquivos de Programas\Arquivos Comuns\Borland Shared\Data, correspondente ao alias DBDEMOS do BDE. Ao menos durante esta fase, defina a propriedade Active do componente Table1 como True (e neste caso, ao menos temporariamente, sua propriedade Databasename dever ser configurada como DBDEMOS). 4. Defina a propriedade SQL do componente Query1 como indicado a seguir.
Select * From Country.db Where Continent = :Continent
5. Selecione as reticncias exibidas direita da propriedade Params do componente Query1 para exibir a janela de configurao de parmetros, mostrada na Figura 38.16. 6. Selecione o parmetro Continent e altere as suas propriedades no Object Inspector (defina seu tipo como sendo string). 7. Altere o valor da propriedade Query do componente QueryTableProducer1 para Query1. 8. Altere o valor da Subpropriedade bgColor da propriedade TableAttributes desse componente para Gray. 9. Altere o valor da Subpropriedade Border da propriedade TableAttributes desse componente para 2.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
789
10. Defina a propriedade Header desse componente digitando a expresso Relao dos pases Selecionados na Tabela Country.db na caixa de dilogo String List Editor. 11. Defina a propriedade Footer desse componente digitando a expresso Tabela gerada com o componente QueryTableProducer na caixa de dilogo String List Editor. 12. Redefina da seguinte maneira o procedimento associado ao evento OnHTMLTag do componente PageProducer1:
procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag; const TagString: String; TagParams: TStrings; var ReplaceText: String); begin ReplaceText := QueryTableProducer1.Content;; end;
14. Salve e recompile a aplicao WebCGITeste02.exe. 15. Selecione uma opo no formulrio e o boto Exibir Tabela, para obter os resultados mostrados nas figuras a seguir.
Figura 38.17: Visualizando o resultado no Internet Explorer, aps selecionar a opo Amrica do Sul.
Figura 38.18: Visualizando o resultado no Internet Explorer, aps selecionar a opo Amrica do Norte.
Repare que, na utilizao do componente QueryTableProducer, importante garantir que os parmetros da declarao SQL tenham os mesmos nomes dos parmetros gerados na URL (normalmente definido pela propriedade Name dos componentes de interface do formulrio HTML).
Experincia em programao estruturada com verses anteriores da linguagem Pascal. Conhecimentos bsicos da linguagem HTML.
METODOLOGIA
Apresentao do problema: Criao de uma aplicao CGI com a tecnologia WebAnap, utilizando os componentes disponveis no ambiente de
desenvolvimento integrado do Delphi 7.
TCNICA
Apresentao dos procedimentos necessrios ao desenvolvimento de aplicaes CGI com a tecnologia WebSnap.
A tecnologia Websnap foi incorporada na verso 6 do Delphi e na verso 2 do Kylix, sendo o primeiro passo no desenvolvimento RADS de aplicaes para a Internet. Ao contrrio do que ocorre com aplicaes CGI desenvolvidas com a tecnologia WebBroker, muitas funcionalidades j esto prontas para serem usadas, mas neste caso o desenvolvedor no tem tanto domnio sobre o cdigo gerado pela aplicao. Neste exemplo sero apresentadas, atravs de um exemplo, as principais tcnicas para a criao de aplicaes Web com a tecnologia WebSnap.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
791
2. Selecione o boto OK. Ser exibida a caixa de dilogo New WebSnap Application, mostrada na figura a seguir.
9. Selecione o boto OK para fechar esta caixa de dilogo. 10. Selecione o boto OK para criar o Web Page Module, que ser o mdulo principal desta nossa aplicao webSnap de exemplo, e reproduzida na Figura 38.22. 11. Selecione File/Save e salve a unit associada com o nome UnitPageModule.pas. 12. Selecione File/Save Project As para salvar a unit principal (at ento chamada Unit1) como UnitServer (pois corresponder ao formulrio da aplicao servidora COM) e o projeto com o nome ExemploWebSnap. 13. Inclua um componente session e um componente Table (ambos da pgina BDE da paleta de componentes) no Web Page Module recm-criado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
793
14. Defina o nome do componente Session como SessionCountry. 15. Defina o nome do componente Table como TblCountry. 16. Defina a propriedade AutoSessionName do componente Session como sendo igual a True. 17. Configure as propriedades do componente TblCountry para acessar a tabela Country.db. 18. Defina como True a propriedade Active do componente TblCountry. 19. Usando o Fields Editor do componente TblCountry, adicione objetos para representar todos os campos da tabela, como mostrado na figura a seguir.
20. Selecione o campo Name e defina como True a propriedade ProviderFlags/pflnKey do objeto que representa este campo. 21. Adicione um componente DatasetAdapter (pgina Websnap da paleta de Componentes) ao Web Page Module, e defina a sua propriedade Dataset como TblCountry.
O WebAppComponents centraliza o acesso aos demais componentes. O ApplicationAdapter fornece acesso aos campos e aes da varivel de script Application. Um
exemplo a propriedade Title desta varivel, que igual propriedade ApplicationTiltle deste componente.
O DatasetAdapter trata da interface com scripts responsveis pelas operaes com registros
provenientes de componentes de acesso a bancos de dados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
795
2. No Web Page Editor, selecione o boto New Item e, na caixa de dilogo Add Web Component que ser exibida, escolha o item AdapterForm e o boto OK.
5. Altere a propriedade Name do objeto AdapterGrid1 para CountryGrid. 6. Defina a propriedade Adapter deste componente como DatasetAdapterCountry ( anlogo a definir o Datasource para um DBGrid). Repare, como mostrado na figura a seguir, que os registros j podem ser visualizados. Repare ainda na hierarquia entre os componentes.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
797
6. Selecione os objetos que representam estes botes e altere as suas propriedades Caption para Excluir, Editar e Novo, respectivamente. Sua pgina ficar com o aspecto mostrado na figura a seguir.
5. Selecione o boto OK para criar o novo Page Module. 6. Salve a unit associada como UnitPageEditaCountry. 7. Selecione o componente Adapter PageProducer e, no seu menu pop-up, o item WebPageEditor. 8. No Web Page Editor, selecione o boto New Item e, na caixa de dilogo Add Web Component que ser exibida, escolha o item AdapterForm e o boto OK. 9. Altere a propriedade Name do objeto AdapterForm1 para EditCountryForm.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
799
CONECTANDO AS PGINAS
1. Para conectar as pginas, selecione os objetos que representam os botes Aplicar, Atualizar e Cancelar no Web Page Module EditaCountry, e digite ExemploClubeDelphi na sua propriedade PageName. 2. Selecione os objetos que representam os botes Novo e Editar no Web Page Module EditaExemploClubeDelphi, e digite EditaCountry na sua propriedade PageName.
TESTANDO A APLICAO
Como a aplicao foi criada com a opo Web App Debugger Executable, ela pode ser testada a partir do prprio ambiente do Delphi, bastando para isso executar os seguintes procedimentos: 1. Selecione Run/Run para executar a aplicao servidora, que ser representada pelo Form1. 2. Selecione Tools/Web App Debugger. Ser exibida a caixa de dilogo mostrada na figura a seguir. Selecione o boto Start e a URL mostrada pata exibir o seu browser default. 3. No browser, selecione a opo correspondente sua aplicao e o boto GO. 4. Teste a aplicao.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
801
TRATANDO ERROS
Para tratar erros referentes edio dos registros, voc deve executar os seguintes procedimentos: 1. Exiba o Web Page Module secundrio EditaCountry. 2. Selecione o componente AdapterPageProducer e, no seu menu pop-up, o item Web Page Editor. 3. Selecione o objeto EditCountryForm e, no seu menu pop-up, o item New Component. Escolha o item AdapterErrorList e o boto OK. Configure a propriedade Adapter deste objeto como sendo igual a ExemploClubeDelphi.DatasetAdapterCountry. 4. Escolha Tools/Debugger Options. Na caixa de dilogo que ser exibida, selecione a guia Language Exceptions e desmarque a opo Stop on Delphi Exceptions. 5. Execute a aplicao. Tente cadastrar um pas com um valor invlido para o campo Area, por exemplo, e verifique a mensagem de erro que ser exibida na pgina.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
803
O componente LoginFormAdapter possui uma propriedade chamada PasswordRequired que, se definida como sendo igual a True, no permitir usurios cuja senha seja nula.
21. Coloque um componente WebUsersList no Websnap Page Module ExemploClube Delphi, e altere a sua propriedade Name para WebUserListCountry. 22. Exiba a caixa de dilogo associada sua propriedade UserItems e crie diversos usurios, com Username e Password.
Para:
initialization if WebRequestHandler <> nil then WebRequestHandler.AddWebModuleFactory(TWebAppPageModuleFactory.Create(TExemploClubeDelphi, TWebPageInfo.Create([wpPublished, wpLoginRequired], .html), caCache)
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
805
O mesmo vale para Visualizao, caso queira que apenas alguns usurios possam visualizar o contedo de alguns campos.
O mesmo se aplica ao acesso a uma pgina. Voc pode permitir que apenas usurios com determinado direito de acesso tenham direito a exibir uma pgina, bastando completar a definio do cdigo exibido na seo initialization de cada unit, como mostrado a seguir para os nossos web page modules:
Initialization if WebRequestHandler <> nil then WebRequestHandler.AddWebModuleFactory(TWebAppPageModuleFactory.Create(TExemploClubeDelphi, TWebPageInfo.Create([wpPublished, wpLoginRequired], .html,ExemploClubeDelphi,Modifica), caCache) Initialization IfWebRequestHandler<>nil then WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(TEditaCountry, TWebPageInfo.Create([{wpPublished} {wpLoginRequired}],.html,,,,Modifica), crOnDemand, caCache));
Apresentao do problema: Criao de uma aplicao ISAPI CGI com a tecnologia Intraweb, utilizando os componentes disponveis no
ambiente de desenvolvimento integrado do Delphi 7.
TCNICA
Apresentao dos procedimentos necessrios ao desenvolvimento de aplicaes ISAPI CGI com a tecnologia IntraWeb.
A tecnologia IntraWeb consiste em um conjunto de componentes desenvolvidos pela empresa Atozed Software e incorporados pela Borland na verso 7 do Delphi. Isto refora o fato de que o Delphi no mais uma linguagem de programao, mas um ambiente de desenvolvimento integrado capaz de incorporar diversas tecnologias, muitas vezes representadas por componentes desenvolvidos por terceiros. O Delphi pode, portanto, ser comparado com um ambiente capaz de integrar vrias tecnologias.
IWStandard. Esta pgina possui verses Intraweb dos componentes padres do Delphi, mas
com prefixo IW. O componente IWLabel; por exemplo, a verso Intraweb do Label, o IWEdit, por exemplo, a verso Intraweb do Edit, e assim por diante.
IWData: Esta pgina possui verses Intraweb dos componentes padres do Delphi, mas com
prefixo IW. O componente IWDBLabel, por exemplo, a verso Intraweb do DBText; o IWDBEdit, por exemplo, a verso Intraweb do DBEdit, e assim por diante.
IWControl: Esta pgina possui componentes que permitem o acesso a tabelas do lado cliente
de uma aplicao Intraweb. Em nossos exemplos nos concentraremos nos componentes das pginas IWStandard e IWData, que permitem o acesso a dados em um servidor Web. Sero criadas aplicaes do tipo ISAPI DLL, pois aplicaes CGI baseadas na Intraweb so, na verdade, servios a serem disponibilizados pelo servidor, e no simples executveis que geram cdigos HTML, como no caso da tecnologia WebBroker. Na fase de teste, no entanto, voc pode criar uma aplicao do tipo Stand Alone, e usar o item Run do menu Run para testar a sua aplicao.
CRIANDO A APLICAO
A seguir sero apresentados os procedimentos necessrios criao dos formulrios para a nossa aplicao Intraweb.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
807
3. Selecione o diretrio para a aplicao e o boto Ok. A aplicao ser criada e ter dois formulrios Intraweb, denominados formMain e IWServerController. No interaja com este ltimo formulrio use apenas o formulrio principal, inicialmente denominado formMain, e outros que forem criados ao longo do desenvolvimento da aplicao. A figura a seguir mostra o formulrio formMain. Repare, a menos na cor inicial, as semelhanas entre este formulrio e um formulrio de uma aplicao comum em Delphi.
4. Altere a propriedade Title do formulrio formMain para Exemplo de Aplicao Intraweb. 5. Salve o projeto com o nome IWCountry.dpr. 6. Inclua um componente Table no formulrio formMain e altere o valor da sua propriedade Name para TblCountry. 7. Configure as propriedades Databasename e Tablename deste componente para acessar a tabela Country.db. 8. Defina da seguinte maneira o procedimento associado ao evento OnCreate do formulrio formMain:
procedure TformMain.IWAppFormCreate(Sender: TObject); begin TblCountry.Open; end;
9. Coloque um componente TMainMenu (pgina Standard da paleta de componentes) no formulrio principal formMain e crie os seguintes menus: Menu Pas, com os itens Cadastrar, Alterar e Excluir. Menu Ajuda, com o item Sobre. 10. Coloque um componente IWMenu (pgina IWStandard da paleta de componentes) e configure a sua propriedade AttachedMenu para MainMenu1 (valor da propriedade Name do componente MainMenu inserido no passo anterior). 11. Inclua um componente Datasource no formulrio formMain e defina a sua propriedade Dataset como TblCountry. 12. Inclua um componente IWDBGrid (pgina IWData da paleta de componentes) no formulrio formMain e configure a sua propriedade Datasource como o nome do Datasource includo no passo anterior. Caso esteja criando uma aplicao Stand Alone, ser possvel definir a propriedade Active do componente TblCountry como True, e os registros ser visualizados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
809
BGColor: clInfoBk Datasource: Nome do componente Datasource inserido. HighLightColor: clYellow. HighlightRpws: True. Options/dgIndicator: True. Options/dgShowTitles: True. RowClick: False.
14. Coloque um componente IWEditt (pgina IWStandard da paleta de componentes) e defina sua propriedade Name como IWEDitPesquisa. 15. Inclua um componente IWButton (pgina IWStandard da paleta de componentes) e defina sua propriedade Name como IWBotaoPesquisa. 16. Defina a propriedade Caption deste componente como Pesquisa. Reposicione estes componentes para que seu formulrio fique com o aspecto mostrado na figura a seguir.
17. Defina da seguinte maneira o procedimento associado ao evento OnClick deste componente, que ser usado para pesquisar um pas pelo Nome:
procedure TformMain.IWBotaoPesquisaClick(Sender: TObject); begin TblCountry.Locate(Name,IWEditPesquisa.Text,[locaseinsensitive,lopartialkey]); IWEditPesquisa.Clear; end;
19. Defina da seguinte maneira o procedimento associado ao evento OnRender deste formulrio:
procedure TformMain.IWAppFormRender(Sender: TObject); begin tblcountry.Refresh; end;
20. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Cadastrar do menu Pases:
procedure TformMain.Cadastrar1Click(Sender: TObject); var FormCadastro : TFormCadastro; begin FormCadastro := TFormCadastro.Create(WebApplication); FormCadastro.Show; end;]
Se tentar compilar a aplicao neste momento ser exibida uma mensagem de erro, pois o formulrio de cadastro ainda no foi criado. Repare ainda que o formulrio ser criado durante a execuo da aplicao, mediante uma chamada ao mtodo construtor da classe correspondente. 21. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Alterar do menu Pases:
procedure TformMain.Alterar1Click(Sender: TObject); var FormAltera : TFormAltera; begin FormAltera := TFormAltera.Create(WebApplication); FormAltera.Show; end;
22. Defina da seguinte maneira o procedimento associado ao evento OnClick do item Excluir do menu Pases:
procedure TformMain.Excluir1Click(Sender: TObject); var FormExclusao : TFormExclusao; begin FormExclusao := TFormExclusao.Create(WebApplication); FormExclusao.Show; TblCountry.Refresh; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
811
10. Inclua um componente IWButton (pgina IWStandard da paleta de componentes) e defina sua propriedade Name como IWBotaoCadastrar. 11. Defina a propriedade Caption deste componente como Cadastrar. 12. Defina da seguinte maneira o procedimento associado ao evento OnClick deste componente:
procedure TFormCadastro.IWBotaoCadastrarClick(Sender: TObject); begin Datasource1.DataSet.Post; Datasource1.DataSet.Append; end;
13. Inclua outro componente IWButton (pgina IWStandard da paleta de componentes) e defina sua propriedade Name como IWBotaoVoltar. 14. Defina a propriedade Caption deste componente como Voltar. 15. Defina da seguinte maneira o procedimento associado ao evento OnClick deste componente:
procedure TFormCadastro.IWBotaoVoltarClick(Sender: TObject); begin Hide; Free; end;
Repare que inicialmente se oculta o formulrio com o mtodo Hide (fazendo com que o formulrio principal volte a ser exibido) e a sua memria liberada com o mtodo Free. Reposicione estes componentes para que seu formulrio fique com o aspecto mostrado na figura a seguir.
16. No formulrio principal, selecione File/Use Unit para incluir o nome da unit correspondente ao formulrio de cadastro na clusula uses da unit correspondente ao formulrio principal.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
813
Reposicione estes componentes para que seu formulrio fique com o aspecto mostrado na figura a seguir.
12. No formulrio principal, Selecione File/Use Unit para incluir o nome da unit correspondente ao formulrio de alterao na clusula uses da unit correspondente ao formulrio principal.
13. Inclua outro componente IWButton (pgina IWStandard da paleta de componentes) e defina sua propriedade Name como IWBotaoCancelar. 14. Defina a propriedade Caption deste componente como No. 15. Defina da seguinte maneira o procedimento associado ao evento OnClick deste componente:
procedure TFormExclusao.IWBotaoCancelarClick(Sender: TObject); begin Hide; Free; end;
Repare que os dois botes ocultam o formulrio e liberam sua memria, mas apenas um deles exclui o registro.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
815
16. No formulrio principal, Selecione File/Use Unit para incluir o nome da unit correspondente ao formulrio de excluso na clusula uses da unit correspondente ao formulrio principal.
TESTANDO A APLICAO
Se voc tiver criado uma aplicao do tipo ISAPI, basta seguir as instrues do seu provedor para fazer o upload dos arquivos necessrios e executar a aplicao a partir de um browser, como mostrado nas figuras a seguir.
Caso voc esteja testando localmente uma aplicao Stand Alone, pode selecionar o item Run do menu Run para exibir a janela do My Intraweb Application Server e, a partir desta janela, o primeiro boto da sua barra de botes. Repare o endereo 127.0.0.1 na barra de endereos do browser.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
817
Parte
Referncia
Foram mantidas as referncias da classe TQuickReport pelo fato da biblioteca ainda estar disponvel para instalao no CD do Delphi 7.
III
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
819
Captulo
Funes Matemticas Disponveis em Delphi
39
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
821
ARCCOS
Descrio
Essa funo retorna o valor do ngulo (entre 0 e p radianos) cujo valor do cosseno (entre -1 e +1) passado como parmetro.
Declarao
function ArcCos(X: Extended): Extended;
ARCCOSH
Descrio
Essa funo retorna o valor real cujo cosseno hiperblico (maior ou igual a +1) passado como parmetro.
Declarao
function ArcCosh(X: Extended): Extended;
ARCSIN
Descrio
Essa funo retorna o valor do ngulo (entre -p/2 e p/2 radianos) cujo valor do seno (entre -1 e +1) passado como parmetro.
Declarao
function ArcSin(X: Extended): Extended;
ARCSINH
Descrio
Essa funo retorna o valor real cujo seno hiperblico passado como parmetro.
Declarao
function ArcSinh(X: Extended): Extended;
ARCTANH
Descrio
Essa funo retorna o valor real cuja tangente hiperblica (entre -1 e +1) passada como parmetro.
Declarao
function ArcTanh(X: Extended): Extended;
ARCTAN2
Descrio
Essa funo retorna o ngulo cuja tangente (ArcTan(Y/X)) e quadrante so passados como parmetros.
Declarao
function ArcTan2(Y, X: Extended): Extended;
CEIL
Descrio
Essa funo retorna o menor inteiro maior ou igual ao valor passado como parmetro.
COSH
Descrio
Essa funo retorna o cosseno hiperblico do ngulo cujo valor passado como parmetro.
Declarao
function Cosh(X: Extended): Extended;
COTAN
Descrio
Essa funo retorna a cotangente do ngulo cujo valor passado como parmetro.
Declarao
function Cotan(X: Extended): Extended;
CYCLETORAD
Descrio
Essa funo converte em radianos o ngulo cujo valor em ciclos passado como parmetro.
Declarao
function CycleToRad(Cycles: Extended): Extended;
DEGTORAD
Descrio
Essa funo converte em radianos o ngulo cujo valor em graus passado como parmetro.
Declarao
function DegToRad(Cycles: Extended): Extended;
FLOOR
Descrio
Essa funo retorna o maior inteiro menor ou igual ao valor passado como parmetro.
Declarao
function Floor(X: Extended):Integer;
FREXP
Descrio
Essa funo retorna a mantissa e o expoente de um valor real passado como parmetro.
Declarao
procedure Frexp(X: Extended; var Mantissa: Extended; var Exponent: Integer) register;
GRADTORAD
Descrio
Essa funo converte em radianos o ngulo cujo valor em grados passado como parmetro.
Declarao
function GradToRad(Cycles: Extended): Extended;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
823
HYPOT
Descrio
Essa funo retorna o valor da hipotenusa de um tringulo, cujos valores dos catetos so passados como parmetros.
Declarao
function Hypot(X, Y: Extended): Extended;
INTPOWER
Descrio
Essa funo retorna uma potncia inteira (passada como segundo parmetro) de um valor-base (passado como primeiro parmetro).
Declarao
function IntPower(Base: Extended; Exponent: Integer): Extended register;
LOG2
Descrio
Essa funo retorna o logaritmo na base 2 de um valor real passado como parmetro.
Declarao
function Log2(X: Extended): Extended;
LOG10
Descrio
Essa funo retorna o logaritmo na base 10 de um valor real passado como parmetro.
Declarao
function Log10(X: Extended): Extended;
LOGN
Descrio
Essa funo retorna o logaritmo numa base (cujo valor passado como primeiro parmetro) de um nmero real (cujo valor passado como segundo parmetro).
Declarao
function LogN(N, X: Extended): Extended;
MAX
Descrio
Essa funo retorna o maior de dois valores passados como parmetro.
Declarao
Essa funo sobrecarregada, tendo as declaraes apresentadas a seguir:
function function function function function Max(A,B: Max(A,B: Max(A,B: Max(A,B: Max(A,B: Integer): Integer; overload; Int64): Int64; overload; Single): Single; overload; Double): Double; overload; Extended): Extended; overload;
MAXINTVALUE
Descrio
Essa funo retorna o maior valor dentre os armazenados em uma array de valores inteiros.
Declarao
function MaxIntValue(const Data: array of Integer): Integer;
MAXVALUE
Descrio
Essa funo retorna o maior valor dentre os armazenados em uma array de valores reais.
Declarao
function MaxValue(const Data: array of Double): Double;
MEAN
Descrio
Essa funo retorna a mdia aritmtica dos valores armazenados em uma array de valores reais.
Declarao
function Mean(const Data: array of Double): Extended;
MEANANDSTDDEV
Descrio
Essa funo retorna a mdia aritmtica e o desvio-padro dos valores armazenados em uma array de valores reais.
Declarao
procedure MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended);
MIN
Descrio
Essa funo retorna o menor de dois valores passados como parmetro.
Declarao
Essa funo sobrecarregada, tendo as declaraes apresentadas a seguir:
function function function function function Min(A,B: Min(A,B: Min(A,B: Min(A,B: Min(A,B: Integer): Integer; overload; Int64): Int64; overload; Single): Single; overload; Double): Double; overload; Extended): Extended; overload;
MININTVALUE
Descrio
Essa funo retorna o menor valor dentre os armazenados em uma array de valores inteiros.
Declarao
function MinIntValue(const Data: array of Integer): Integer;
MINVALUE
Descrio
Essa funo retorna o menor valor dentre os armazenados em uma array de valores reais.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
825
NORM
Descrio
Essa funo retorna a norma euclidiana L-2 dentre os valores armazenados em uma array de valores reais.
Declarao
function Norm(const Data: array of Double): Extended;
POLY
Descrio
Essa funo calcula o valor de um polinmio uniforme para o valor passado como primeiro parmetro, sendo os coeficientes passados como segundo parmetro na forma de uma array de valores reais.
Declarao
function Poly(X: Extended; const Coefficients: array of Double): Extended;
POPNSTDDEV
Descrio
Essa funo calcula o valor do desvio-padro de um conjunto de valores passados como parmetro na forma de uma array de valores reais.
Declarao
function PopnStdDev(const Data: array of Double): Extended;
POPNVARIANCE
Descrio
Essa funo calcula o valor da varincia de um conjunto de valores passados como parmetro na forma de uma array de valores reais.
Declarao
function PopnVariance(const Data: array of Double): Extended;
POWER
Descrio
Essa funo retorna uma potncia real (passada como segundo parmetro) de um valor-base (passado como primeiro parmetro).
Declarao
function Power(Base, Exponent: Extended): Extended;
RADTOCYCLE
Descrio
Essa funo converte em ciclos o ngulo cujo valor em radianos passado como parmetro.
Declarao
function RadToCycle(Radians: Extended): Extended;
RADTODEG
Descrio
Essa funo converte em graus o ngulo cujo valor em radianos passado como parmetro.
Declarao
function RadToDeg(Radians: Extended): Extended;
RADTOGRAD
Descrio
Essa funo converte em grados o ngulo cujo valor em radianos passado como parmetro.
Declarao
function RadToGrad(Radians: Extended): Extended;
RANDG
Descrio
Essa funo gera nmeros aleatrios com distribuio gaussiana, sendo os valores da mdia e do desviopadro passados como parmetros.
Declarao
function RandG(Mean, StdDev: Extended): Extended;
SIN
Descrio
Essa funo calcula o seno de um ngulo, passado como parmetro em radianos.
Declarao
function Sin(X: Extended): Extended;
SINCOS
Descrio
Esse procedimento calcula o seno e o cosseno de um ngulo (passado em radianos, como primeiro parmetro), sendo estes valores armazenados no segundo e terceiro parmetros.
Declarao
procedure SinCos(Theta: Extended; var Sin, Cos: Extended); register;
SINH
Descrio
Essa funo retorna o seno hiperblico do ngulo cujo valor passado como parmetro.
Declarao
function Sinh(X: Extended): Extended;
STDDEV
Descrio
Essa funo retorna o desvio-padro dos valores armazenados em uma array de valores reais, passada como parmetro.
Declarao
function StdDev(const Data: array of Double): Extended;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
827
SUM
Descrio
Essa funo retorna a soma dos valores armazenados em uma array de valores reais, passada como parmetro.
Declarao
function Sum(const Data: array of Double): Extended;
SUMINT
Descrio
Essa funo retorna a soma dos valores armazenados em uma array de valores inteiros, passada como parmetro.
Declarao
function SumInt(const Data: array of integer): Extended;
SUMOFSQUARES
Descrio
Essa funo retorna a soma dos quadrados dos valores armazenados em uma array de valores reais, passada como parmetro.
Declarao
function SumOfSquares(const Data: array of Double): Extended;
SUMSANDSQUARES
Descrio
Essa funo retorna a soma dos valores e dos quadrados dos valores armazenados em uma array de valores reais, passada como parmetro.
Declarao
procedure SumsAndSquares(const Data: array of Double; var Sum, SumOfSquares: Extended) register;
TAN
Descrio
Esse procedimento calcula a tangente de um ngulo em radianos.
Declarao
function Tan(X: Extended): Extended;
TANH
Descrio
Essa funo calcula a tangente de um ngulo passado como parmetro (em radianos).
Declarao
function TanH(X: Extended): Extended;
VARIANCE
Descrio
Essa funo retorna a varincia dos valores armazenados em uma array de valores reais, passada como parmetro.
Declarao
function Variance(const Data: array of Double): Extended;
Captulo
40
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
829
EABORT
Descrio
Essa classe permite a gerao de excees sem que seja exibida uma mensagem de erro em uma caixa de dilogo.
Unit
Na VCL e Na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EABSTRACTERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar executar um mtodo abstrato.
Unit
Na VCL e Na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EACCESSVIOLATION
Descrio
Essa classe representa uma exceo gerada ao se tentar acessar um endereo de memria invlido.
Unit
Na VCL e Na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EARRAYERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar acessar um endereo invlido em uma array.
Unit
Na VCL:
mxArrays
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EASSERTIONFAILED
Descrio
Essa classe representa uma exceo gerada ao se executar procedimentos de atribuio em expresses booleanas que retornam False.
Unit
Na VCL e na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EBITSERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar realizar um acesso invlido a uma array de valores booleanos.
Unit
Na VCL e Na CLX:
Classes
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
831
EBROKEREXCEPTION
Descrio
Essa classe representa uma exceo gerada quando um objeto no consegue acessar um servidor.
Unit
Na VCL:
objbrkr
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ECACHEERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar executar uma operao com o cache de um componente Decision Cube.
Unit
Na VCL:
mxstore
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ECLASSNOTFOUND
Descrio
Essa classe representa uma exceo gerada ao se tentar carregar um componente de uma stream e este no est inserido na aplicao.
Unit
Na VCL e na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ECOMMONCALENDARERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar atribuir um valor invlido a uma propriedade de um componente derivado da classe TCommonCalendar.
Unit
Na VCL:
ComCtrls
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ECOMPONENTERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar registrar ou renomear um componente.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ECONTROLC
Descrio
Essa classe representa uma exceo gerada ao se tentar encerrar uma aplicao do tipo console pressionando simultaneamente as teclas Ctrl e C.
Unit
Na VCL:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
833
ECONVERTERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar executar uma converso de tipos invlida.
Unit
Na VCL e na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EDBCLIENT
Descrio
Essa classe representa uma exceo gerada ao se utilizar um objeto da classe TclientDataSet (ou uma classe dela derivada por herana).
Unit
Na VCL e na CLX:
DBClient
Principais Propriedades
ErrorCode, HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EDBEDITERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar exibir, em um controle associado a um banco de dados, um valor incompatvel com a mscara definida para o campo cujo valor exibido pelo componente.
Unit
Na CLX:
QMask
Na VCL:
Mask
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EDBENGINEERROR
Descrio
Essa classe representa uma exceo genrica, gerada ao se tentar executar uma funo do BDE.
Unit
Na VCL:
DBtables
Principais Propriedades
ErrorCount, Errors, HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp e Destroy
Principais Eventos
Essa classe no possui eventos associados.
EDSWRITER
Descrio
Essa classe representa uma exceo genrica, gerada ao se tentar manipular pacotes de dados por meio de um Dataset.
Unit
Na VCL e na CLX:
Provider
Principais Propriedades
ErrorCode, HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EDATABASEERROR
Descrio
Essa classe representa uma exceo genrica gerada ao se tentar acessar um banco de dados.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
835
EDATETIMEERROR
Descrio
Essa classe representa uma exceo genrica gerada ao se tentar atribuir valores invlidos a variveis do tipo data/hora.
Unit
Na VCL e na CLX:
ComCtrls
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EDIMINDEXERROR
Descrio
Essa classe representa uma exceo genrica gerada ao se tentar utilizar um ndice invlido em uma dimenso de um componente da classe TDecisionSource.
Unit
Na VCL:
mxdb
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EDIMENSIONMAPERROR
Descrio
Essa classe representa uma exceo genrica gerada por incompatibilidade no formato dos dados armazenados em um dataset associado a um componente da classe TDecisionCube.
Unit
Na VCL:
mxdb
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EDIVBYZERO
Descrio
Essa classe representa uma exceo gerada ao se tentar dividir um nmero inteiro por zero.
Unit
Na VCL e na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EEXTERNAL
Descrio
Essa classe representa uma exceo gerada externamente pelo sistema operacional.
Unit
Na VCL e na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EEXTERNALEXCEPTION
Descrio
Essa classe representa uma exceo gerada, cujo cdigo invlido.
Unit
Na VCL e na CLX:
Sysutils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EFCREATEERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar criar um arquivo por meio de uma stream.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
837
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EFILERERROR
Descrio
Essa classe representa uma exceo genrica gerada ao se tentar manipular um arquivo por meio de uma stream.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EFOPENERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar abrir um arquivo por meio de uma stream.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EHEAPEXCEPTION
Descrio
Essa classe representa uma exceo gerada ao se tentar alocar memria no Heap do sistema operacional.
Unit
Na VCL e na CLX:
Classes
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp, FreeInstance
Principais Eventos
Essa classe no possui eventos associados.
EINOUTERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar efetuar operaes de entrada e sada em arquivos, e desde que a diretiva de compilao $I+ esteja ativada. Valores na faixa 0-99 representam erros nativos do sistema operacional, ao passo que valores na faixa 100-149 representam erros definidos pela CLX. Exemplos de cdigo de erros da CLX:
Cdigo do Erro 100 101 102 103 104 105 106 107
Significado Fim de arquivo Disco cheio Varivel no atribuda a arquivo File not open Arquivo no foi aberto para leitura Arquivo no foi aberto para escrita Erro na formatao de sada Arquivo j aberto
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
WEINTERPRETERERROR
Descrio
Essa classe representa uma exceo genrica gerada ao se manipular objetos COM.
Unit
Na VCL:
SConnect
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
839
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINTERROR
Descrio
Essa classe representa uma exceo genrica gerada ao se manipular valores inteiros.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp,
Principais Eventos
Essa classe no possui eventos associados.
EINTFCASTERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar converter explicitamente uma interface, usando o operador as.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINTOVERFLOW
Descrio
Essa classe representa uma exceo gerada ao se tentar atribuir a uma varivel inteira um valor cuja magnitude superior quela capaz de ser armazenada pelo tipo da varivel.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext e Message
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDARGUMENT
Descrio
Essa classe representa uma exceo gerada ao se tentar efetuar uma operao invlida passando-se valores fora da faixa especificada em parmetros de funes matemticas.
Unit
Na VCL e na CLX:
Math
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDCAST
Descrio
Essa classe representa uma exceo gerada ao se tentar converter explicitamente o tipo de uma varivel ou objeto.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDGRAPHIC
Descrio
Essa classe representa uma exceo gerada ao se tentar manipular um arquivo grfico cujo formato invlido.
Unit
Na VCL:
Graphics
Na CLX:
QGraphics
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
841
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDGRAPHICOPERATION
Descrio
Essa classe representa uma exceo gerada ao se tentar manipular um grfico.
Unit
Na VCL:
Graphics
Na CLX:
QGraphics
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDGRIDOPERATION
Descrio
Essa classe representa uma exceo gerada ao se tentar manipular um componente do tipo StringGrid ou componentes derivados por herana.
Unit
Na VCL:
Grids
Na CLX:
QGrids
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDIMAGE
Descrio
Essa classe representa uma exceo gerada ao se tentar manipular um arquivo de recurso que armazena uma imagem.
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDOP
Descrio
Essa classe representa uma exceo gerada ao se tentar efetuar uma operao invlida com nmeros de ponto flutuante.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDOPERATION
Descrio
Essa classe representa uma exceo gerada ao se tentar efetuar uma operao invlida com um componente.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EINVALIDPOINTER
Descrio
Essa classe representa uma exceo gerada ao se tentar efetuar uma operao invlida com um ponteiro.
Unit
Na VCL e na CLX:
SysUtils
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
843
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ELISTERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar efetuar uma operao com listas de objetos, strings ou listas de strings.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ELOWCAPACITYERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar alocar mais memria do que a existente para um componente TDecisionCube.
Unit
Na VCL:
mxArrays
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EMATHERROR
Descrio
Essa classe representa uma exceo genrica gerada ao se tentar efetuar uma operao invlida com nmeros de ponto flutuante.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext e Message
Principais Eventos
Essa classe no possui eventos associados.
EMCIDEVICEERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar acessar um driver MCI (Media Control Interface).
Unit
Na VCL:
mplayer
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EMENUERROR
Descrio
Essa classe representa uma exceo gerada ao se manipular itens de menu.
Unit
Na VCL:
Menus
Na CLX:
QMenus
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EMONTHCALERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar atribuir valores a um componente
TMonthCalendar.
Unit
Na VCL:
ComCtrls
Principais Propriedades
HelpContext e Message
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
845
Principais Eventos
Essa classe no possui eventos associados.
ENORESULTSET
Descrio
Essa classe representa uma exceo gerada ao se tentar acessar um banco de dados por meio de uma declarao SQL em um componente TQuery.
Unit
Na VCL:
DBtables
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EOLECTRLERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar utilizar um controle ActiveX em uma aplicao.
Unit
Na VCL:
Olectrls
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EOLEERROR
Descrio
Essa classe representa uma exceo gerada ao se efetuarem operaes de baixo nvel com controles OLE.
Unit
Na VCL:
ComObj
Principais Propriedades
HelpContext e Message
Principais Mtodos
Create, CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
EOLEEXCEPTION
Descrio
Essa classe representa uma exceo gerada ao se tentar acessar propriedades e mtodos em objetos de automao OLE.
Unit
Na VCL:
ComObj
Principais Propriedades
ErrorCode, HelpContext, HelpKeyword, HelpTypeHelpFile, Message e Source
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EOLESYSERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar acessar interfaces do tipo IDispatch.
Unit
Na VCL:
ComObj
Principais Propriedades
ErrorCode, HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EOSERROR
Descrio
Essa classe representa uma exceo genrica gerada pelo sistema operacional (Windows ou Linux).
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
847
EOUTOFMEMORY
Descrio
Essa classe representa uma exceo gerada ao se tentar alocar memria.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EOUTOFRESOURCES
Descrio
Essa classe representa uma exceo gerada ao se tentar alocar um handle no sistema operacional.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EOUTLINEERROR
Descrio
Essa classe representa uma exceo gerada ao se manipular componentes TOutLine.
Unit
Na VCL:
Outline
Principais Propriedades
HelpContexteMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EOVERFLOW
Descrio
Essa classe representa uma exceo gerada ao se tentar atribuir valores cuja magnitude superior suportada pelo tipo de uma varivel de ponto flutuante.
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EPACKAGEERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar manipular pacotes de cdigo.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EPARSEERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar converter valores no formato texto para binrio e vice-versa.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EPRINTER
Descrio
Essa classe representa uma exceo gerada ao se realizar um trabalho de impresso.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
849
Na CLX:
QPrinters
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EPRIVILEGE
Descrio
Essa classe representa uma exceo gerada ao se tentar executar uma instruo invlida para o processador.
Unit
Na VCL e na CLX:
Sysutils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EPROPERTYERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar atribuir um valor a uma propriedade.
Unit
Na VCL e na CLX:
TypInfo
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EPROPREADONLY
Descrio
Essa classe representa uma exceo gerada ao se tentar atribuir um valor a uma propriedade que use automao OLE quando a propriedade apenas de escrita.
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EPROPWRITEONLY
Descrio
Essa classe representa uma exceo gerada ao se tentar ler o valor de uma propriedade que use automao OLE quando a propriedade apenas de leitura.
Unit
Na VCL:
Sysutils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ERangeError Descrio
Essa classe representa uma exceo gerada ao se obterem valores inteiros fora da faixa permitida para o seu tipo, principalmente como resultado de operaes aritmticas.
Unit
Na VCL e na CLX:
Sysutils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EREADERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar ler valores de uma stream.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
851
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ERECONCILEERROR
Descrio
Essa classe representa uma exceo gerada ao se manipularem componentes do tipo TClientDataSet ou dele derivados por herana, ao se tentar efetuar uma operao de atualizao de dados.
Unit
Na VCL e na CLX:
DBclient
Principais Propriedades
Context, ErrorCode, HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EREGISTRYEXCEPTION
Descrio
Essa classe representa uma exceo gerada ao se manipular o registro do Windows.
Unit
Na VCL:
Registry
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ERESNOTFOUND
Descrio
Essa classe representa uma exceo gerada ao se tentar acessar um recurso armazenado em um arquivo DFM (VCL), XFM (CLX) ou RES.
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ESOCKETCONNECTIONERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar enviar ou receber mensagens usando um componente TSocketConnection.
Unit
Na VCL:
Sconnect
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ESOCKETERROR
Descrio
Essa classe representa uma exceo gerada ao se manipularem objetos de classes derivadas de TCustomWinSocket.
Unit
Na VCL:
Sockets
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ESTACKOVERFLOW
Descrio
Essa classe representa uma exceo gerada quando ocorre um estouro da pilha de memria do sistema operacional.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
853
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ESTREAMERROR
Descrio
Essa classe representa uma exceo gerada quando se manipulam streams.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ESTRINGLISTERROR
Descrio
Essa classe representa uma exceo gerada quando se tenta acessar um item de um componente Listbox com um ndice invlido.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ETHREAD
Descrio
Essa classe representa uma exceo gerada quando se manipulam mltiplas threads em uma aplicao. No mais empregada, sendo sua definio mantida para manter a compatibilidade com cdigo escrito em verses anteriores do Delphi.
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
ETREEVIEWERROR
Descrio
Essa classe representa uma exceo gerada quando se tenta acessar um elemento (n) de um componente TTreeView.
Unit
Na VCL:
Comctrls
Na CLX:
QComctrls
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EUNDERFLOW
Descrio
Essa classe representa uma exceo gerada ao se tentar atribuir valores cuja magnitude inferior suportada pelo tipo de uma varivel de ponto flutuante.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
855
EUNSUPPORTEDTYPEERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar acrescentar uma dimenso ao cache de um componente TDecisionCube.
Unit
Na VCL:
mxArrays
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EUPDATEERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar manipular um componente
Tprovider, atualizando os dados por ele manipulados.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Context, ErrorCode, OriginalException, HelpContext, HelpKeyword, HelpTypeMessage, PreviousError
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EVARIANTERROR
Descrio
Essa classe representa uma exceo gerada ao se manipularem dados do tipo Variant.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EWIN32ERROR
Descrio
Essa classe representa uma exceo genrica gerada pelo Windows. Atualmente substituda pela classe EOSError, que representa uma exceo genrica gerada pelo sistema operacional (Windows ou Linux).
Unit
Na VCL:
SysUtils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EWRITEERROR
Descrio
Essa classe representa uma exceo gerada ao se tentar escrever um valor em uma stream.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
EZERODIVIDE
Descrio
Essa classe representa uma exceo gerada ao se tentar dividir um nmero de ponto flutuante por zero.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
857
EXCEPTION
Descrio
Essa classe representa a classe-base para todas as classes usadas para representar excees.
Unit
Na VCL e na CLX:
SysUtils
Principais Propriedades
HelpContext, HelpKeyword, HelpTypeMessage;
Principais Mtodos
CreateFmt, CreateFmtHelp, CreateHelp, CreateRes, CreateResFmt, CreateResFmtHelp, CreateResHelp
Principais Eventos
Essa classe no possui eventos associados.
TACTION
Descrio
Essa classe representa uma ao definida em um objeto da classe TActionList.
Unit
Na VCL:
ActnList
Na CLX:
QActnList
Principais Propriedades
Autocheck, Caption, Checked, DisableIfNoHandler, Enabled, GroupIndex, HelpContext, HelpKeyword, HelpTypeHelpKeyword, HelpType, Hint, ImageIndex, Name, ShortCut, Visible, Category e Index
Principais Mtodos
Create, Destroy, DoHint, Execute, GetParentComponent, Update, ExecuteTarget, HandlesTarget, RegisterChanges, UnRegisterChanges, UpdateTarget
Principais Eventos
OnHint, OnExecute e OnUpdate
TACTIONLIST
Descrio
Essa classe representa um conjunto de aes (cada ao representada por um objeto da classe TAction) compartilhadas por controles, componentes e itens de menu.
Unit
Na VCL:
ActnList
Na CLX:
QActnList
Principais Propriedades
ActionCount, Actions, Images
Principais Mtodos
Create, Destroy, ExecuteAction, IsShortCut e UpdateAction
TADOCOMMAND
Descrio
Este componente permite executar comandos sql e stored procedures em tabelas de bancos de dados atravs do Mecanismo Activex Data Objects (ADO).
Unit
Na VCL:
AdoDB
Principais Propriedades
CommandObject, CommandText, CommandTimeout, CommandType, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connection, ConnectionString, DesignInfo, ExecuteOptions, Name, Owner, ParamCheck, Parameters, Prepared, Properties, States, Tag, VCLComObject
Principais Mtodos
AfterConstruction, Assign, Assign, BeforeDestruction, Cancel, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, Execute, ExecuteAction, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, RemoveComponent, SafeCallException, UpdateAction
Principais Eventos
Este componente no possui procedimentos associados a eventos
TADOCONNECTION
Descrio
Este componente responsvel pelo acesso a bancos de dados atravs do Mecanismo Activex Data Objects (ADO).
Unit
Na VCL:
AdODB
Principais Propriedades
Attributes, CommandCount, Commands, CommandTimeout, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connected, ConnectionObject, ConnectionString, ConnectionTimeout, ConnectOptions, CursorLocation, DataSetCount, DataSets, DefaultDatabase, DesignInfo, Errors, InTransaction, IsolationLevel, LoginPrompt, Mode, Owner, Properties, Provider, State, Tag, VCLComObject, Version
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, BeginTrans, Cancel, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Close, CloseDataSets, CommitTrans, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, Execute, ExecuteAction, FieldAddressm FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GetProcedureNames, GetTableNames, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, Open, OpenSchema, RemoveComponent, RollbackTrans, SafeCallException, UpdateAction
Principais Eventos
AfterConnect, AfterDisconnect, BeforeConnect, BeforeDisconnect, OnBeginTransComplete, OnCommitTransComplete, OnConnectComplete, OnDisconnect, OnExecuteComplete, OnInfoMessage, OnLogin, OnRollbackTransComplete, OnWillConnect, OnWillExecute
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
859
TADODATASET
Descrio
Este componente permite acesso direto ou via declaraes sql a tabelas de bancos de dados atravs do Mecanismo Activex Data Objects (ADO).
Unit
Na VCL:
AdoDB
Principais Propriedades
Active, ActiveRecord, AggFields, AutoCalcFields, BlobFieldCount, BlockReadSize, Bof, Bookmark, BookmarkSize, BufferCount, Buffers, CacheSize, CalcBuffer, CalcFieldsSize, CanModify, CommandText, CommandTimeout, CommandType, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connection, ConnectionString, Constraints, CurrentRecord, CursorLocation, CursorType, DataSetField, DefaultFields, Designer, DesignerData, DesignInfo, Eof, ExecuteOptions, FieldCount, FieldDefList, FieldDefs, FieldList, FieldNoOfs, Fields, FieldValues, Filter, Filtered, FilterGroup, FilterOptions, Found, IndexFieldCount, IndexFields, InternalCalcFields, LockType, MarshalOptions, MaxRecords, Modified, Name, NestedDataSetClass, NestedDataSets, ObjectView, Owner, ParamCheck, Parameters, Prepared, Properties, RDSConnection, RecNo, RecordCount, RecordSet, RecordSetState, RecordSize, RecordStatus, Reserved, Sort, SparseArrays, State, Tag, VCLComObject
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, Assign, BeforeDestruction, BookmarkValid, Cancel, CancelBatch, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Clone, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CreateDataset, CursorPosChanged, DefaultHandler, Delete, DeleteRecords, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecuteAction, FieldAddress, FieldByName, FilterOnBookmarks, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetIndexNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GotoBookmark, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsLinkedTo, IsSequenced. Last, LoadFromFile, Locate, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, NextRecordset, Open, Post, Prior, Refresh, RemoveComponent, Resync, SafeCallException, SaveToFile, Seek, SetFields, Supports, Translate, UpdateAction, UpdateBatch, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnEndOfRecordset, OnFetchComplete, OnFetchProgress, OnFieldChangeComplete, OnFilterRecord, OnMoveComplete, OnNewRecord, OnPostError, OnRecordChangeComplete, OnRecordsetChangeComplete, OnWillChangeField, OnWillChangeRecord, OnWillChangeRecordset, OnWillMove
TADOQUERY
Descrio
Este componente permite acesso via declaraes sql a tabelas de bancos de dados atravs do Mecanismo Activex Data Objects (ADO).
Unit
Na VCL:
AdoDB
Principais Propriedades
Active, ActiveRecord, AggFields, AutoCalcFields, BlobFieldCount, BlockReadSize, Bof, Bookmark, BookmarkSize, BufferCount, Buffers, CacheSize, CalcBuffer, CalcFieldsSize, CanModify, CommandText, CommandTimeout, CommandType, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connection, ConnectionString, Constraints, CurrentRecord, CursorLocation,
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, Assign, BeforeDestruction, BookmarkValid, Cancel, CancelBatch, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Clone, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete, DeleteRecords, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecSQL, ExecuteAction, FieldAddress, FieldByName, FilterOnBookmarks, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GotoBookmark, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsLinkedTo, IsSequenced. Last, LoadFromFile, Locate, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, NextRecordset, Open, Post, Prior, Refresh, RemoveComponent, Resync, SafeCallException, SaveToFile, Seek, SetFields, Supports, Translate, UpdateAction, UpdateBatch, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnEndOfRecordset, OnFetchComplete, OnFetchProgress, OnFieldChangeComplete, OnFilterRecord, OnMoveComplete, OnNewRecord, OnPostError, OnRecordChangeComplete, OnRecordsetChangeComplete, OnWillChangeField, OnWillChangeRecord, OnWillChangeRecordset, OnWillMove
TADOSTOREDPROC
Descrio
Esse componente permite que uma aplicao desenvolvida em Delphi execute procedimentos armazenados em servidores, atravs do mecanismo Activex Data Objects (ADO).
Unit
Na VCL:
ADODB
Principais Propriedades
Active, ActiveRecord, AggFields, AutoCalcFields, BlobFieldCount, BlockReadSize, Bof, Bookmark, BookmarkSize, BufferCount, Buffers, CacheSize, CalcBuffer, CalcFieldsSize, CanModify, CommandText, CommandTimeout, CommandType, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connection, ConnectionString, Constraints, CurrentRecord, CursorLocation, CursorType, DataSetField, DataSource, DefaultFields, Designer, DesignerData, DesignInfo, Eof, ExecuteOptions, FieldCount, FieldDefList, FieldDefs, FieldList, FieldNoOfs, Fields, FieldValues, Filter, Filtered, FilterGroup, FilterOptions, Found, IndexFieldCount, IndexFields, InternalCalcFields, LockType, MarshalOptions, MaxRecords, Modified, Name, NestedDataSetClass, NestedDataSets, ObjectView, Owner, ParamCheck, Parameters, Prepared, ProcedureName, Properties, RecNo, RecordCount, RecordSet, RecordSetState, RecordSize, RecordStatus, Reserved, Sort, SparseArrays, State, Tag, VCLComObject
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, Assign, BeforeDestruction, BookmarkValid, Cancel, CancelBatch, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Clone, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete, DeleteRecords, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecuteAction, FieldAddress, FieldByName, FilterOnBookmarks, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields,
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
861
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnEndOfRecordset, OnFetchComplete, OnFetchProgress, OnFieldChangeComplete, OnFilterRecord, OnMoveComplete, OnNewRecord, OnPostError, OnRecordChangeComplete, OnRecordsetChangeComplete, OnWillChangeField, OnWillChangeRecord, OnWillChangeRecordset, OnWillMove
TADOTABLE
Descrio
Este componente permite acesso direto a tabelas de bancos de dados atravs do Mecanismo Activex Data Objects (ADO).
Unit
Na VCL:
AdoDB
Principais Propriedades
Active, ActiveRecord, AggFields, AutoCalcFields, BlobFieldCount, BlockReadSize, Bof, Bookmark, BookmarkSize, BufferCount, Buffers, CacheSize, CalcBuffer, CalcFieldsSize, CanModify, CommandText, CommandTimeout, CommandType, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connection, ConnectionString, Constraints, CurrentRecord, CursorLocation, CursorType, DataSetField, DataSource, DefaultFields, Designer, DesignerData, DesignInfo, Eof, ExecuteOptions, FieldCount, FieldDefList, FieldDefs, FieldList, FieldNoOfs, Fields, FieldValues, Filter, Filtered, FilterGroup, FilterOptions, Found, IndexFieldCount, IndexFieldNames, IndexFields, InternalCalcFields, LockType, MarshalOptions, MasterFields, MasterSource, MaxRecords, Modified, Name, NestedDataSetClass, NestedDataSets, ObjectView, Owner, ParamCheck, Parameters, Prepared, Properties, ReadOnly, RecNo, RecordCount, RecordSet, RecordSetState, RecordSize, RecordStatus, Reserved, Sort, SparseArrays, State, TableDirect, TableName, Tag, VCLComObject
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, Assign, BeforeDestruction, BookmarkValid, Cancel, CancelBatch, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Clone, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete, DeleteRecords, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecuteAction, FieldAddress, FieldByName, FilterOnBookmarks, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetIndexNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GotoBookmark, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsLinkedTo, IsSequenced. Last, LoadFromFile, Locate, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, NextRecordset, Open, Post, Prior, Refresh, RemoveComponent, Resync, SafeCallException, SaveToFile, Seek, SetFields, Supports, Translate, UpdateAction, UpdateBatch, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnEndOfRecordset, OnFetchComplete, OnFetchProgress, OnFieldChangeComplete, OnFilterRecord, OnMoveComplete, OnNewRecord, OnPostError, OnRecordChangeComplete, OnRecordsetChangeComplete, OnWillChangeField, OnWillChangeRecord, OnWillChangeRecordset, OnWillMove
TANIMATE
Descrio
Esse componente permite que se executem animaes armazenadas em arquivos AVI (sem execuo de som), componentes e itens de menu.
Unit
Na VCL:
ComCtrls
Principais Propriedades
Active, Cente, CommonAVI, FileName, FrameCount, FrameHeight, FrameWidth, Open, Repetitions, ResHandle, ResID, ResName, StartFrame, StopFrame, Timers, Transparent
Principais Mtodos
CanAutoSize, Create, Play, Reset, Seek, Stop
Principais Eventos
OnClose, OnOpen, OnStart e OnStop
TAPPLICATION
Descrio
Esse componente est presente em todas as aplicaes do Delphi. automaticamente incorporado a um projeto durante a sua criao.
Unit
Na VCL:
Forms
Na CLX:
QForms
Principais Propriedades
Active, ComponentCount, ComponentIndex, Components, ExeName, Handle, HelpFile, Hint, HintColr, HintPause, Icon, MainForm, Name, Owner, ShowHint, Tag, Terminated, Title
Principais Mtodos
Create, CreateForm, Destroy, FindComponent, Free, HandleException, HelpCommand, HelpContext, HelpKeyword, HelpTypeHelpJunt, InsertComponent, MessageBox, Minimize, NormalizeTopMosts, ProcessMessages, RemoveComponent, Restore, RestoreTopMosts, Run, ShowException e Terminate
Principais Eventos
OnActivate, OnDeactivate, OnException, OnHelp, OnHint, OnIdle e OnMessage
TAPPLICATIONEVENTS
Descrio
Este componente intercepta eventos da aplicao.
Unit
Na VCL:
AppEvents
Principais Propriedades
ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DesignInfo, Name, Owner, Tag e VCLComObject
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
863
Principais Eventos
OnActionExecute, OnActionUpdate, OnActivate, OnDeactivate, OnException, OnHelp, OnHint, OnIdle, OnMessage, OnMinimize, OnRestore, OnShortCut, OnShowHint
TAUTOINCFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um valor inteiro auto-incrementado, podendo assumir valores entre -2147483648 e 2147483647.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Alignment, AsBoolean, AsDateTime, AsFloat, AsInteger, AsString, AsSQLTimeStamp, Calculated, CanModify, DataSet, DataSize, DataType, DisplayFormat, DisplayLabel, DisplayName, DisplayText, DisplayWidth, EditFormat, FieldName, FieldNo, Index, IsIndexField, IsNull, MaxValue. MinValue, Name, Owner, ReadOnly, Required, Size, Tag, Text, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, Create, Destroy, FocusControl, Free, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TBASEREPORT
Unit
Na VCL:
RpBase
Na CLX:
QRpBase
Descrio
Esta classe a classe-base para os principais componentes de visualizao do Rave Reports.
Principais Propriedades
Aborted, AccuracyMethod, AscentHeight, Bins, BKColor, Bold, BottomWaste, BoxLineColor, Canvas, Collate, ColumnEnd, ColumnLinesLeft, ColumnNum, Columns, ColumnStart, ColumnWidth, Copies, CurrentPage, CurrentPass, CursorXPos, CursorYPos, DescentHeight, DeviceName, DevMode, DriverName, Duplex, FileName, FirstPage, FontAlign, FontBaseline, FontBottom, FontCharset, FontColor, FontHandle, FontHeight, FontName, FontPitch, FontRotation, Fonts, FontSize, FontTop, FontWidth, FrameMode, GridVert, Italic, LastPage, LeftWaste, LineBottom, LineHeight, LineHeightMethod, LineMiddle, LineNum, LinesPerInch, LineTop, MacroData, MarginBottom, MarginLeft, MarginRight, MarginTop, MaxCopies, NoBufferLine, NoNTColorFix, NoPrinterPageHeight, NoPrinterPageWidth, Orientation, OriginX, OriginY, OutputInvalid, OutputName, PageHeight, PageInvalid, PageWidth, Papers, PIVar, Port, PrinterIndex, Printers, Printing, ReportDateTime, RightWaste, ScaleX, ScaleY, SectionBottom, SectionLeft, SectionRight, SectionTop, Selection, ShadowDepth, StatusFormat, StatusLabel, StatusText, Stream, StreamMode, Strikeout, Subscript, Superscript, TabColor, TabJustify, TabShade, TextBKMode, Title, TopWaste, TotalPasses, TransparentBitmaps, TruncateText, Underline, Units, UnitsFactor, Version, XDPI, XPos, YDPI, YPos
Principais Eventos
OnAfterPrint, OnBeforePrint, OnDecodeImage, OnNewColumn, OnNewPage, OnPrint, OnPrintFooter, OnPrintHeader, OnPrintPage
TBATCHMOVE
Descrio
Esse componente permite que se realizem operaes sobre grupos de registros ou tabelas
inteiras.
Unit
Na VCL:
DBTables
Principais Propriedades
AbortOnKeyViol, AbortOnProblem, ChangedCount, ChangedTableName, Destination, KeyViolCount, KeyViolTableName, Mappings, Mode, MovedCount, Name, Owner, ProblemCount, ProblemTableName, RecordCount, Source, Translitarate e Tag
Principais Mtodos
Execute
Principais Eventos
Esse componente no possui eventos associados.
TBCDFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um valor em cdigo decimal binrio, com uma preciso de 18 algarismos significativos.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Alignment, AsBoolean, AsDateTime, AsFloat, AsInteger, AsString, Calculated, CanModify, Currency, DataSet, DataSize, DataType, DisplayFormat, DisplayLabel, DisplayName, DisplayText, DisplayWidth, EditFormat, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IndexField, IsNull, MaxValue. MinValue, Name, Owner, Precision, ReadOnly, Required, Size, Tag, Text, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, Create, Destroy, FocusControl, Free, GetData, IsValidChar e SetData
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
865
TBEVEL
Descrio
O controle TBevel permite que sejam colocados quadros, caixas e linhas chanfrados (com aspecto tridimensional) nos formulrios que compem a sua aplicao.
Unit
Na VCL:
ExtCtrls
Na CLX:
QExtCtrls
Principais Propriedades
Align, BoundsRect, ComponentIndex, Components, ControlCount, Controls, Handle, Height, HelpContext, HelpKeyword, HelpTypeHelpKeyword, HelpType, Hint, Left, Name, Owner, Parent, ParentShowHint, Shape, ShowHint, Style, Tag, Top, Visible, Width
Principais Mtodos
BeginDrag, BringToFront, ClientToScreen, Dragging, EndDrag, Hide, Refresh, Repaint, ScreenToClient, SendToBack, SetBounds, Show e Update
TBITBTN
Descrio
O controle TBitBtn um boto de pressionamento que permite a incluso de um bitmap na sua face.
Unit
Na VCL:
Buttons
Na CLX:
QButtons
Principais Propriedades
Align, BoundsRect, Cancel, Caption, ComponentIndex, Cursor, Default, DragCursor, DragMode, Enabled, Font, Glyph, Height, HelpContext, HelpKeyword, HelpTypeHint, Kind, Layout, Left, Margin, ModalResult, Name, NumGlyphs, Owner, Parent, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, Spacing, Style, TabOrder, TabStop, Tag, Top, Visible, Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Click, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TBITMAP
Descrio
Esse objeto armazena um grfico no formato Bitmap.
Unit
Na VCL:
Graphics
Principais Propriedades
Canvas, Empty, Format, Handle, Height, Monochrome, Palette, PixelFormat, ScanLine, Transparent, TransparentColor, TransparentMode e Width
Principais Mtodos
Assign, ClassName, ClassParent, ClassType, Create, Destroy, Free, LoadFromFile, ReleaseHandle, ReleasePalette e SaveToFile
Principais Eventos
OnChange, OnProgress
TBLOBFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um conjunto arbitrrio de bytes cujo tamanho no predefinido.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsString, BlobSize, BlobType, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWidth, EditMask, EditMaskPtr, FieldName, FieldNo, GraphicHeader, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar, LoadFromFile, LoadFromStream, SaveToFile, SaveToStream e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TBLOBSTREAM
Descrio
Esse objeto fornece uma maneira simples de acessar e modificar um campo do tipo TBlobField, TBytesField ou TVarBytesField lendo ou escrevendo nele como se fosse uma stream ou um arquivo.
Unit
Na VCL:
DBTables
Principais Propriedades
Position, Size
Principais Mtodos
ClassName, ClassParent, ClassType, Create, Destroy, Free, Read, Seek, Truncate e Write
Principais Eventos
Esse componente no possui eventos associados.
TBOOLEANFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um valor booleano.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
867
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditFormat, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TBRUSH
Descrio
Esse objeto armazena um pincel para o preenchimento de figuras slidas, como retngulos e elipses.
Unit
Na VCL:
Graphics
Na CLX:
QGraphics
Principais Propriedades
Bitmap, Color, Handle e Style
Principais Mtodos
Assign, ClassName, ClassParent, ClassType, Create, Destroy e Free
Principais Eventos
OnChange
TBUTTON
Descrio
O controle TButton representa um boto comum na sua face.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, BoundsRect, Cancel, Caption, ComponentIndex, Cursor, Default, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, ModalResult, Name, Owner, Parent, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, Spacing, Style, TabOrder, TabStop, Tag, Top, Visible, Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Click, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
TBYTESFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um conjunto arbitrrio de bytes cujo tamanho no predefinido.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TCANVAS
Descrio
Esse objeto define uma superfcie de desenho.
Unit
Na VCL:
Graphics
Na CLX:
QGraphics
Principais Propriedades
Brush, ClipRect, CopyMode, Font, Handle, LockCount, Pen, PenPos, Pixels, StartCount, TextAlign
Principais Mtodos
Arc, BrushCopy, Chord, ClassName, ClassParent, ClassType, CopyRect, Create, Destroy, Draw, DrawFocusRect, Ellipse, FillRect, FloodFill, FrameRect, Free, LineTo, MoveTo, Pie, Polygon, Polyline, Rectangle, RoudRect, StretchDraw, TextHeight, TextOut, TextRect e TextWidth
Principais Eventos
OnChange e OnChanging TCanvasReport
Unit
Na VCL:
RpCanvas
Na CLX:
QRpCanvas
Descrio
Esta classe usada para definir mtodos a serem usados pelos componentes do Rave Reports que desenham em um Canvas.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
869
Principais Mtodos
Abort, AbortPage, AdjustLine, AllowAll, AllowPreviewOnly, AllowPrinterOnly, Arc, AssignFont, BrushCopy, CalcGraphicHeight, CalcGraphicWidth, Chord, ClearAllTabs, ClearColumns, ClearTabs, CopyRect, CR, Create, CreateBrush, CreateFont, CreatePen, CreatePoint, CreateRect, Destroy, DrawFocusRect, Draw, Ellipse, Execute, FillRect, Finish, FinishTabBox, FloodFill, FrameRect, GetMemoLine, GetNextLine, GetTab, GotoFooter, GotoHeader, GotoXY, GraphicFieldToBitmap, Home, LF, LinesLeft, LineTo, Macro, MemoLines, MoveTo, NewColumn, NewLine, NewPage, NoPrinters, Pie, Polygon, Polyline, PopFont, PopPos, PopTabs, Print, PrintBitmap, PrintBitmapRect, PrintBlock, PrintCenter, PrintCharJustify, PrintData, PrintDataStream, PrintFooter, PrintHeader, PrintImageRect, PrintJustify, PrintLeft, PrintLn, PrintMemo, PrintRight, PrintTab, PrintXY, PushFont, PushPos, PushTabs, RecoverPrinter, Rectangle, RegisterGraphic, ReleasePrinter, Reset, ResetLineHeight, ResetPrinter, ResetSection, ResetTabs, RestoreFont, RestorePos, RestoreTabs, ReuseGraphic, RoundRect, SaveFont, SavePos, SaveTabs, SelectBin, SelectPaper, SelectPrinter, SetBrush, SetColumns, SetColumnWidth, SetFont, SetPaperSize, SetPen, SetPIVar, SetTab, SetTopOfPage, ShadeToColor, ShowPrintDialog, ShowPrinterSetupDialog, Start, StretchDraw, SupportBin, SupportCollate, SupportDuplex, SupportOrientation, SupportPaper, Tab, TabEnd, TabStart, TabWidth, TextRect, TextWidth, UnregisterGraphic, UpdateStatus, XD2U, XI2D, XI2U, XU2D, XU2I, YD2I, YD2U, YI2D, YI2U, YU2D, YU2I
Principais Eventos
OnAfterPrint, OnBeforePrint, OnDecodeImage, OnNewColumn, OnNewPage, OnPrint, OnPrintFooter, OnPrintHeader, OnPrintPage
TCHART
Descrio
O controle TChart utilizado para exibir grficos nos mais diversos formatos.
Unit
Na VCL:
Chart
Principais Propriedades
AllowPanning, Color, Printing, AllowZoom, Foot, DockClientCount, DockClients, PrintMargins, AnimatedZoom, Frame, PrintResolution, AnimatedZoomSteps, Gradient, RightAxis, AxisVisible, Height3D, ScaleLastPage, BackColor, LeftAxis, Series, BackImage, LeftWall, SeriesHeight3D, BackImageInside, Legend, SeriesList, BottomAxis, MarginBottom, SeriesWidth3D, BackWall, DepthAxis, View3Doptions, BottomWall, MarginLeft, Title, BufferedDisplay, MarginRight, TopAxis, CancelMouse, MarginTop, View3d, Canvas, MaxPointsPerPage, View3dWalls, Chart3dPercent, MaxZOrder, Width3D, ChartBounds, Monochrome, ChartHeight, MonochromePrinting, ChartRect, OriginalCursor, ChartWidth, BackImage, ClipPoints, BackImageMode
Principais Mtodos
ActiveSeriesLegend, TeeCreateMetafile, PrintRect, AddSeries, GetLabelsSeries, ReCalcWidthHeight, Assign, GetCursorPos, RemoveAllSeries, BackWallRect, GetRectangle, RemoveSeries, CalcClickedpart, GetWidthHeight, RotateLabel, CalcSize3d, IsFreeSeriesColor, SaveToBitmapFile, CalcSize3dWalls, IsScreenHighColor, SaveToMetafile, CanvasChanged, IsValidDataSource, SaveToMetafileEnh, ChartPrintRect, MarkText, SeriesCount, ChartRegionRect, MaxMarkWidth, SeriesDown, ChartXCenter, MaxTextWidth, SeriesTitleLegend, ChartYCenter, MaxXValue, SeriesUp, CheckDatasource, MaxYValue, SetInternalCanvas, MinXValue, Size3d, CopyToClipBoardBitmap, MinYValue, CopyToClipBoardMetafile,
Principais Eventos
OnAfterDraw, OnDblClick, OnMouseUp, OnAllowScroll, OnGetAxisLabel, OnPageChange, OnClick, OnGetLegendPos, OnResize, OnClickAxis, OnGetLegendRect, OnScroll, OnClickBackground, OnGetLegendText, OnUndoZoom, OnClickLegend, OnGetNextAxisLabel, OnZoom, OnClickSeries, OnMouseDown
TCHARTSERIES
Descrio
Essa classe representa uma srie de dados a serem exibidos em um grfico criado com o componente TChart.
Unit
Na VCL:
TEengine
Principais Propriedades
Active, AllowSinglePoint, LinkedSeries, VertAxis, Marks, XLabel, ColorEachPoint, ParentChart, XLabelsSource, ColorSource, PercentFormat, XValue, Cursor, RecalcOptions, XValues, DataSource, SeriesColor, YValue, Datasources, ShowInlegend, YValues, DesignMaxPoints, Title, ZOrder, FirstValueIndex, ValueColor, FunctionType, ValueFormat, HorizAxis, ValueList, LastValueIndex, ValueMarkText
Principais Mtodos
ActiveSeriesLegend, TeeCreateMetafile, PrintRect, AddSeries, GetLabelsSeries, ReCalcWidthHeight, Assign, GetCursorPos, RemoveAllSeries, BackWallRect, GetRectangle, RemoveSeries, CalcClickedpart, GetWidthHeight, RotateLabel, CalcSize3d, IsFreeSeriesColor, SaveToBitmapFile, CalcSize3dWalls, IsScreenHighColor, SaveToMetafile, CanvasChanged, IsValidDataSource, SaveToMetafileEnh, ChartPrintRect, MarkText, SeriesCount, ChartRegionRect, MaxMarkWidth, SeriesDown, ChartXCenter, MaxTextWidth, SeriesTitleLegend, ChartYCenter, MaxXValue, SeriesUp, CheckDatasource, MaxYValue, SetInternalCanvas, MinXValue, Size3d, CopyToClipBoardBitmap, MinYValue, CopyToClipBoardMetafile, NextPage, NumPages, PreviousPage, ExchangeSeries, Print, FontCanvas, PrintLandscape, UndoZoom, FormattedLegend, PrintOrientation, XLabelText, FormattedValueLegend, PrintPartial, ZoomRect, GetASeries, PrintPartialCanvas, ZoomPercent, GetAxisSeries, PrintPartialCanvasToScreen, GetFreeSeriesColor, PrintPortrait, SaveToChartFile
Principais Eventos
OnAfterDraw, OnDblClick, OnMouseUp, OnAllowScroll, OnGetAxisLabel, OnPageChange, OnClick, OnGetLegendPos, OnResize, OnClickAxis, OnGetLegendRect, OnScroll, OnClickBackground, OnGetLegendText, OnUndoZoom, OnClickLegend, OnGetNextAxisLabel, OnZoom, OnClickSeries, OnMouseDown
TCHECKBOX
Descrio
O controle TCheckBox um boto de opo no-exclusiva, que permite ao usurio selecionar ou no uma opo no aplicativo.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, Alignment, AllowGrayed, Caption, Checked, Color, ComponentIndex, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentColor, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, State, TabOrder, TabStop, Tag, Top, Visible, Width
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
871
Principais Eventos
OnClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TCLIENTDATASET
Descrio
Esse componente representa uma tabela de forma independente (no associada diretamente a um banco de dados), sendo utilizado em aplicaes multicamadas de acesso a bancos de dados ou em aplicaes que armazenam dados em arquivos sem utilizar o Activex Data Objects ou o Borland Database Engine.
Unit
Na VCL e na CLX:
DBclient
Principais Propriedades
Active, ActiveAggs, Aggregates, AggregatesActive, CanModify, ChangeCount, Data, DataSetField, DataSize, DataSource, Delta, FetchOnDemand, FileName, Filter, Filtered, FilterOptions, GroupingLevel, HasProvider, IndexDefs, IndexFieldCount, IndexFieldNames, IndexFields, IndexName, KeyExclusive, KeyFieldCount, KeySize, LogChanges, MasterFields, MasterSource, PacketRecords, Params, Provider, ProviderName, ReadOnly, RecNo, RecordCount, RecordSize, RemoteServer, SavePoint, StatusFilter, StoreDefs, AggFields, AutoCalcFields, BlockReadSize, Bof, Bookmark, DefaultFields, Designer, Eof, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, Found, Modified, Name, ObjectView, SparseArrays, State
Principais Mtodos
AddIndex, AppendData, ApplyRange, ApplyUpdates, BookmarkValid, Cancel, CancelRange, CancelUpdates, CloneCursor, CompareBookmarks, ConstraintsDisabled, Create, CreateBlobStream, CreateDataSet, DeleteIndex, Destroy, DisableConstraints, EditKey, EditRangeEnd, EditRangeStar, EmptyDataSet, EnableConstraints, FetchBlobs, FetchDetails, FetchParams, FindKey, FindNearest, GetCurrentRecord, GetFieldData, GetGroupState, GetIndexInfo, GetIndexNames, GetNextPacket, GetOptionalParam, GotoCurrent, GotoKey, GotoNearest, LoadFromFile, LoadFromStream, Locate, Lookup, MergeChangeLog, Post, Reconcile, RefreshRecord, RevertRecord, SaveToFile, SaveToStream, SendParams, SetAltRecBuffers, SetKey, SetOptionalParam, SetRange, SetRangeEnd, SetRangeStart, UndoLastChange, UpdateStatus, ActiveBuffer, Append, AppendRecord, CheckBrowseMode, ClearFields, Close, ControlsDisabled, CursorPosChanged, Delete, DisableControls, Edit, EnableControls, FieldByName, FindField, FindFirst, FindLast, FindNext, FindPrior, First, FreeBookmark, GetBlobFieldData, GetBookmark, GetDetailDataSets, GetDetailLinkFields, GetFieldList, GetFieldNames, GetProviderAttributes, GotoBookmark, Insert, InsertRecord, IsEmpty, IsLinkedTo, IsSequenced, Last, MoveBy, Next, Open, Prior, Refresh, Resync, SetFields, Translate, UpdateCursorPos, UpdateRecordAssign, Clear, Close, Create, Destroy, GetAsHandle, GetComponent, HasFormat, Open, SetAsHandle, SetComponent e SetTextBuf
Principais Eventos
OnReconcileError, AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnFilterRecord, OnNewRecord, OnPostError, OnCalcFields, OnDeleteError, OnEditError, OnFilterRecord, OnNewRecord, OnPostError
TCLIENTSOCKET
Descrio
Esse componente gerencia conexes TCP/IP do lado cliente.
Unit
Na VCL:
scktcomp
Principais Mtodos
Create, Destroy, Close e Open
Principais Eventos
OnConnect, OnConnecting, OnDisconnect, OnError, OnLookup, OnRead, OnWrite
TCLIPBOARD
Descrio
Esta classe representa o clipboard (rea de transferncia) do sistema operacional e permite que voc transfira textos e grficos de e para o clipboard.
Unit
Na VCL:
Clipbrd
Na CLX:
QClipbrd
Principais Propriedades
AsText e Handle
Principais Mtodos
Assign, Clear, Close, Create, Destroy, GetAsHandle, GetComponent, HasFormat, Open, SetAsHandle, SetComponent e SetTextBuf
Principais Eventos
Esse componente no possui eventos associados.
TCOLORDIALOG
Descrio
O controle TColorDialog fornece uma caixa de dilogo para a seleo de cores.
Unit
Na VCL:
Dialogs
Na CLX:
QDialogs
Principais Propriedades
Color, ComponentIndex, Ctl3D, CustomColors, HelpContext, HelpKeyword, HelpTypeHint, ItemHeight, ItemIndex, Items, Left, Name, Options, Owner, Tag e Top
Principais Mtodos
Execute
Principais Eventos
Esse componente no possui eventos associados.
TCOMBOBOX
Descrio
O controle TComboBox consiste em uma caixa de edio (na qual o usurio pode digitar um texto) e uma lista de itens que podem ser selecionados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
873
Na CLX:
QStdCtrls
Principais Propriedades
Align, BoundsRect, Canvas, Color, ComponentIndex, Ctl3D, Cursor, DragCursor, DragMode, DropDownCount, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, ItemHeight, ItemIndex, Items, Left, MaxLength, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, SelLengh, SelStart, SelText, ShowHint, Showing, Sorted, Style, TabOrder, TabStop, Tag, Text, Top, Visible, Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectAll, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnDrawItem, OnDropDown, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMeasureItem
TCOMPONENT
Descrio
A classe Tcomponent a classe-base de todos os componentes da VCL do Delphi.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DesignInfo, Name, Owner, Tag e VCLComObject
Principais Mtodos
_AddRef, _Release, AfterConstruction, Assign, BeforeDestruction, ChangeName, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, DefaultHandler, DefineProperties, Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetChildOwner, GetChildParent, GetChildren, GetIDsOfNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetOwner, GetParentComponent, GetTypeInfo, GetTypeInfoCount, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, Invoke, Loaded, MethodAddress, MethodName, NewInstance, Notification, QueryInterface, ReadState, RemoveComponent, SafeCallException, SetAncestor, SetChildOrder, SetDesigning, SetInline, SetName, SetParentComponent, UpdateAction, Updated, UpdateRegistry, Updating, ValidateContainer, ValidateInsert, ValidateRename, WriteState
Principais Eventos
esta classe no possui eventos associados
TCONTROLSCROLLBAR
Descrio
Esse objeto define as propriedades HorzScrollBar e VertScrollBar de componentes do tipo TForm e TScrollBox.
Unit
Na VCL:
Forms
Principais Propriedades
Align, ComponentIndex, Increment, Kind, Margin, Name, Owner, Position, Range, ScrollPos, Tag e Visible
Principais Mtodos
Esse objeto no possui mtodos associados.
Principais Eventos
Esse componente no possui eventos associados.
TCORBACONNECTION
Descrio
Esse componente responsvel por conectar uma aplicao-cliente CORBA a um servidor remoto em uma aplicao multicamada.
Unit
corbacon
Principais Propriedades
AppServer, Cancelable, Connected, HostName, ObjectName, RepositoryID
Principais Mtodos
Create, GetProvider, Destroy
Principais Eventos
OnCancel, AfterConnect, AfterDisconnect, BeforeConnect, BeforeDisconnect
TCURRENCYFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um nmero no formato binrio com 15 ou 16 dgitos de preciso, variando de 5.0 * 10-324 a 1.7 * 10+308.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, Currency, DataSet, DataSize, DataType, DisplayFormat, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditFormat, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, MaxValue, MinValue, Name, Owner, Precision, ReadOnly, Required, Size, Tag, Text, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TCUSTOMADODATASET
Descrio
Esta classe permite acesso direto ou via declaraes sql a tabelas de bancos de dados atravs do Mecanismo Activex Data Objects (ADO), sendo a classe-base dos componentes TADODataset, TADOTable, TADOQuery e TADOStoredproc.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
875
Principais Propriedades
Active, ActiveRecord, AggFields, AutoCalcFields, BlobFieldCount, BlockReadSize, Bof, Bookmark, BookmarkSize, BufferCount, Buffers, CacheSize, CalcBuffer, CalcFieldsSize, CanModify, CommandText, CommandTimeout, CommandType, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connection, ConnectionString, Constraints, CurrentRecord, CursorLocation, CursorType, DataSetField, DefaultFields, Designer, DesignerData, DesignInfo, Eof, ExecuteOptions, FieldCount, FieldDefList, FieldDefs, FieldList, FieldNoOfs, Fields, FieldValues, Filter, Filtered, FilterGroup, FilterOptions, Found, IndexFieldCount, IndexFields, InternalCalcFields, LockType, MarshalOptions, MaxRecords, Modified, Name, NestedDataSetClass, NestedDataSets, ObjectView, Owner, ParamCheck, Parameters, Prepared, Properties, RecNo, RecordCount, RecordSet, RecordSetState, RecordSize, RecordStatus, Reserved, Sort, SparseArrays, State, Tag, VCLComObject,
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, Assign, BeforeDestruction, BookmarkValid, Cancel, CancelBatch, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Clone, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete, DeleteRecords, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecuteAction, FieldAddress, FieldByName, FilterOnBookmarks, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GotoBookmark, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsLinkedTo, IsSequenced. Last, LoadFromFile, Locate, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, NextRecordset, Open, Post, Prior, Refresh, RemoveComponent, Resync, SafeCallException, SaveToFile, Seek, SetFields, Supports, Translate, UpdateAction, UpdateBatch, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnEndOfRecordset, OnFetchComplete, OnFetchProgress, OnFieldChangeComplete, OnFilterRecord, OnMoveComplete, OnNewRecord, OnPostError, OnRecordChangeComplete, OnRecordsetChangeComplete, OnWillChangeField, OnWillChangeRecord, OnWillChangeRecordset, OnWillMove
TDATABASE
Descrio
Esse componente permite o acesso a um banco de dados. Caso a aplicao no possua um componente desse tipo, mas precise acessar uma tabela de um banco de dados, o Delphi criar um componente TDataBase temporrio.
Unit
Na VCL:
DBTables
Principais Propriedades
AliasName, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connected, DatabaseName, DatasetCount, DataSets, DesignInfo, DriverName, Handle, Isolation, IsSQLBased, KeepConnection, Locale, LoginPrompt, Name, Owner, Params, Tag, Temporary e VCLComObject
Principais Mtodos
Close, CloseDataSets, Commit, Open, Rollback e StartTransaction
TDATASETPAGEPRODUCER
Descrio
Esse componente gera uma string de comandos HTML de um template com os dados provenientes de um dataset.
Unit
Na VCL e na CLX:
DSProd
Principais Propriedades
DataSet, HTMLFile, HTMLDoc
Principais Mtodos
Content, ContentFromStream, ContentFromString, Create, Destroy
Principais Eventos
OnHTMLTag
TDATASETPROVIDER
Descrio
Esse componente responsvel por fornecer os dados aplicao-cliente baseado em um dataset.
Unit
Na VCL e na CLX:
provider
Principais Propriedades
DataSet, UpdateMode, Options, Resolver, Constraints, Data, Provider
Principais Mtodos
ApplyUpdates, Create, CreateDataPacket, CreateResolver, Destroy, DoGetDataSet, DoGetParams, FetchData, GetDataSet, GetRecords, LocateRecord, Notification, Reset, SetDataSet, UpdateRecord, SetParams, DataRequest, GetMetaData
Principais Eventos
OnGetDataSetProperties, AfterUpdateRecord, BeforeUpdateRecord, OnGetData, OnUpdateData, OnUpdateError, OnDataRequest
TDATASETTABLEPRODUCER
Descrio
Esse componente gera uma string de comandos HTML que forma uma tabela com os dados provenientes de um Dataset.
Unit
Na VCL e na CLX:
DBWeb
Principais Propriedades
DataSet, Caption, CaptionAlignment, Columns, Editor, Footer, Header, MaxRows, RowAttributes e TableAttributes
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
877
Principais Eventos
OnCreateContent, OnFormatCell, OnGetTableCaption
TDATASOURCE
Descrio
Esse componente estabelece a conexo entre componentes de acesso a bancos de dados e controles que exibem os valores de campos de bancos de dados.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
AutoEdit, DataSet, Enabled, Name, Owner, State e Tag
Principais Mtodos
Create, Destroy, Edit e Free
Principais Eventos
OnDataChange, OnStateChange e OnUpdateChange
TDATEFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena uma data.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWidth, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TDATETIMEFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena uma data e uma hora.
Unit
Na VCL e na CLX:
DB
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TDBCHART
Descrio
O controle TChart utilizado para exibir grficos nos mais diversos formatos.
Unit
Na VCL:
Chart
Principais Propriedades
AllowPanning, AutoRefresh, RefreshInterval, DockClientCount, DockClients, ShowGlassCursor, Color, Printing, AllowZoom, Foot, PrintMargins, AnimatedZoom, Frame, PrintResolution, AnimatedZoomSteps, Gradient, RightAxis, AxisVisible, Height3D, ScaleLastPage, BackColor, LeftAxis, Series, BackImage, LeftWall, SeriesHeight3D, BackImageInside, Legend, SeriesList, BottomAxis, MarginBottom, SeriesWidth3D, BackWall, DepthAxis, View3Doptions, BottomWall, MarginLeft, Title, BufferedDisplay, MarginRight, TopAxis, CancelMouse, MarginTop, View3d, Canvas, MaxPointsPerPage, View3dWalls, Chart3dPercent, MaxZOrder, Width3D, ChartBounds, Monochrome, ChartHeight, MonochromePrinting, ChartRect, OriginalCursor, ChartWidth, BackImage, ClipPoints, BackImageMode
Principais Mtodos
ActiveSeriesLegend, TeeCreateMetafile, PrintRect, CheckDataSource, IsValidDataSource, RefreshData, RefreshDataSet, AddSeries, GetLabelsSeries, ReCalcWidthHeight, Assign, GetCursorPos, RemoveAllSeries, BackWallRect, GetRectangle, RemoveSeries, CalcClickedpart, GetWidthHeight, RotateLabel, CalcSize3d, IsFreeSeriesColor, SaveToBitmapFile, CalcSize3dWalls, IsScreenHighColor, SaveToMetafile, CanvasChanged, IsValidDataSource, SaveToMetafileEnh, ChartPrintRect, MarkText, SeriesCount, ChartRegionRect, MaxMarkWidth, SeriesDown, ChartXCenter, MaxTextWidth, SeriesTitleLegend, ChartYCenter, MaxXValue, SeriesUp, CheckDatasource, MaxYValue, SetInternalCanvas, MinXValue, Size3d, CopyToClipBoardBitmap, MinYValue, CopyToClipBoardMetafile, NextPage, NumPages, PreviousPage, ExchangeSeries, Print, FontCanvas, PrintLandscape, UndoZoom, FormattedLegend, PrintOrientation, XLabelText, FormattedValueLegend, PrintPartial, ZoomRect, GetASeries, PrintPartialCanvas, ZoomPercent, GetAxisSeries, PrintPartialCanvasToScreen, GetFreeSeriesColor, PrintPortrait, SaveToChartFile
Principais Eventos
OnAfterDraw, OnDblClick, OnMouseUp, OnAllowScroll, OnGetAxisLabel, OnPageChange, OnClick, OnGetLegendPos, OnResize, OnClickAxis, OnGetLegendRect, OnScroll, OnClickBackground, OnGetLegendText, OnUndoZoom, OnClickLegend, OnGetNextAxisLabel, OnZoom, OnClickSeries, OnMouseDown, OnProcessRecords
TDBCHECKBOX
Descrio
O controle TDBCheckBox um boto de opo no-exclusiva que permite ao usurio selecionar ou no uma opo no aplicativo. Esse controle semelhante a TCheckBox, exceto que o seu valor est associado a um campo de um registro de um banco de dados. Quando o controle estiver selecionado, ento a string armazenada em sua propriedade ValueChecked ser igual armazenada no campo correspondente do banco de dados. Se o controle no estiver selecionado, ento a string armazenada em sua propriedade ValueUnChecked ser igual armazenada no campo correspondente do banco de dados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
879
Na CLX:
QDBCtrls
Principais Propriedades
Align, Alignment, AllowGrayed, Caption, Checked, Color, ComponentIndex, Ctl3D, Cursor, DataField, DataSource, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentColor, ParentFont, ParentShowHint, PopupMenu, ReadOnly, ShowHint, Showing, State, TabOrder, TabStop, Tag, Top, ValueChecked, ValueUnchecked, Visible, Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TDBCOMBOBOX
Descrio
O controle TDBComboBox consiste em uma caixa de edio (na qual o usurio pode digitar um texto) e uma lista de itens que podem ser selecionados. Esse controle semelhante a TComboBox, exceto que o seu valor est associado a um campo de um registro de um banco de dados. Quando o usurio digitar ou selecionar um item, a string correspondente ser armazenada no campo respectivo do banco de dados.
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
Principais Propriedades
Align, BoundsRect, Color, ComponentIndex, Ctl3D, Cursor, DataField, DataSource, DragCursor, DragMode, DropDownCount, Enabled, Fields, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, ItemHeight, ItemIndex, Items, Left, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ReadOnly, SelLengh, SelStart, SelText, ShowHint, Showing, Sorted, Style, TabOrder, TabStop, Tag, Text, Top, Visible, Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClientToScreen, CopyToClipBoard, CutToClipBoard, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, PasteFromClipBoard, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectAll, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnDrawItem, OnDropDown, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMeasureItem
TDBCTRLGRID
Descrio
Esse controle semelhante ao controle TDBGrid, com a diferena de que este permite que se controle o layout e a aparncia de cada registro de um banco de dados exibido em uma grade. Sua aplicao pode utilizar a grade para exibir, inserir, deletar ou editar campos do banco de dados associado.
Principais Propriedades
AllowDelete, AllowInsert, Canvas, ColCount, Color, Cursor, DataSource, DragCursor, DragMode, EditMode, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Orientation, PanelBorder, PanelCount, PanelHeight, PanelIndex, PanelWidth, ParentColor, ParentFont, ParentShowHint, PopupMenu, RowCount, ShowFocus, ShowHint, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, Dragging, EndDrag, FindComponent, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnColEnter, OnColExit, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp
TDBEDIT
Descrio
O controle TDBEdit consiste em uma caixa de edio (na qual o usurio pode digitar um texto). Esse controle semelhante ao TEdit, exceto que o seu valor est associado a um campo de um registro de um banco de dados. Quando o usurio digitar um texto na caixa de edio, a string correspondente ser armazenada no campo respectivo do banco de dados.
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
Principais Propriedades
Align, AutoSelect, AutoSize, BorderStyle, BoundsRect, CharCase, Color, ComponentIndex, Ctl3D, Cursor, DataField, DataSource, DragCursor, DragMode, EditText, Enabled, Fields, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, IsMasked, Left, MaxLength, Modified, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PassWordChar, PopupMenu, ReadOnly, SelLengh, SelStart, SelText, ShowHint, Showing, Style, TabOrder, TabStop, Tag, Text, Top, Visible, Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClearSelection, ClientToScreen, CopyToClipBoard, CutToClipBoard, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, PasteFromClipBoard, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectAll, SendToBack, SetBounds, SetFocus, SetSelTextBuf, SetTextBuf, Show, Update e ValidateEdit
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TDBGRID
Descrio
Esse controle permite acesso aos dados de um banco de dados e exibe-os em uma grade. Sua aplicao pode utilizar a grade para exibir, inserir, deletar ou editar campos do banco de dados associado.
Unit
Na VCL:
DBGrids
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
881
Principais Propriedades
Align, BorderStyle, BoundsRect, Brush, Canvas, ClientHeight, ClientOrigin, ClientRect, ClientWidth, Color, ComponentIndex, Ctl3D, Cursor, DataSource, DefaultDrawing, i := Panel1.DockClientCount;DragCursor, DragMode, EditorMode, Enabled, Fields, FixedColor, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Options, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, PopupMenu, ReadOnly, SelectedField, SelectedIndex, Showing, TabOrder, TabStop, Tag, Top, TopRow, Visible, Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, Dragging, EndDrag, FindComponent, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnColEnter, OnColExit, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp
TDBIMAGE
Descrio
Esse controle permite exibir uma imagem armazenada em um campo de um registro de um banco de dados como um objeto BLOB (Bynary Large Object).
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
Principais Propriedades
Align, AutoDisplay, BorderStyle, Center, Color, ComponentIndex, Ctl3D, Cursor, DataField, DataSource, DragCursor, DragMode, Enabled, Fields, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ReadOnly, ShowHint, Stretch, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, ClientToScreen, CopyToClipboard, CutToClipboard, Dragging, EndDrag, Focused, Hide, Invalidate, LoadPicture, PasteFromClipBoard, Refresh, Repaint, ScreenToClient, SendToBack, SetBounds, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp
TDBLISTBOX
Descrio
O controle TDBListBox consiste em uma caixa de listagem. Esse controle semelhante a TListBox, exceto que o seu valor est associado a um campo de um registro de um banco de dados. Quando o usurio selecionar um item da caixa de listagem, a string correspondente ser armazenada no campo respectivo do banco de dados.
Unit
Na VCL:
DBCtrls
Principais Propriedades
Align, BorderStyle, BoundsRect, Brush, Canvas, Color, ComponentIndex, Ctl3D, Cursor, DataField, DataSource, DragCursor, DragMode, Enabled, Fields, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, ItemIndex, IntegralHeight, ItemHeight, Items, Left, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, PopupMenu, ReadOnly, SelCount, Selected, Sorted, Style, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, ItemAtPos, ItemRect, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnDrawItem, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMeasureItem, OnMouseDown, OnMouseMove e OnMouseUp
TDBLOOKUPCOMBOBOX
Descrio
O controle TDBLookupComboBox consiste em uma caixa combo que est associada aos campos de um banco de dados.
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
Principais Propriedades
Color, Ctl3D, Cursor, DataField, DataSource, DragCursor, DragMode, DropDownAlign, DropDownRows, DropDownWidth, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, KeyField, KeyValue, Left, ListField, ListSource, ListVisible, Name, Owner, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ShowHint, TabOrder, TabStop, Text e Visible
Principais Mtodos
CloseUp e DropDown
Principais Eventos
OnClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp e OnStartDrag
TDBLOOKUPLISTBOX
Descrio
O controle TDBLookupListBox consiste em uma caixa de listagem que est associada aos campos de um banco de dados. Esse controle semelhante a TListBox, exceto que o seu valor est associado a um campo de um registro de um banco de dados. Deve ser usado em programas desenvolvidos para os ambientes Windows 95 ou Windows NT em lugar de TDBLookupList.
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
883
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, Create, DefaultDrawColumnCell, Dragging, EndDrag, FindComponent, Focused, Free, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show, Update e ValidFieldIndex
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp e OnStartDrag
TDBMEMO
Descrio
O controle TDBMemo exibe texto para o usurio e permite que o ele exiba e digite dados no controle. Esse controle semelhante a TMemo, exceto que o seu valor est associado a um campo de um registro de um banco de dados. Quando o usurio digitar um texto no controle, esse texto armazenado no campo respectivo do banco de dados.
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
Principais Propriedades
Align, Alignment, AutoDisplay, BorderStyle, BoundsRect, Color, ComponentIndex, Ctl3D, Cursor, DataField, DataSource, DragCursor, DragMode, Enabled, Fields, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Lines, MaxLength, Modified, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ReadOnly, ScrollBars, SelLengh, SelStart, SelText, ShowHint, Showing, TabOrder, TabStop, Tag, Text, Top, Visible, WantTabs, Width e WordWrap
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, Focused, GetSelTextBuf, GetTextBuf, GetTextLen, Hide, Invalidate, LoadMemo, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectAll, SendToBack, SetBounds, SetFocus, SetSelTextBuf, SetTextBuf, Show, Update e ValidateEdit
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TDBMEMOBUF
Unit
Descrio
Adiciona processamento de campos do tipo Memo em bancos de dados classe TMemoBuf.
Principais Propriedades
BaseReport, Buffer, BufferInc, Field, Justify, MaxSize, Memo, NoCRLF, NoNewLine, Pos, PrintEnd, PrintStart, RichEdit, RTFField, RTFText, Size, Text, Version
Principais Eventos
Esta classe no tem eventos associados.
TDBNAVIGATOR
Descrio
O controle TDBNavigator permite que voc se mova pelos campos de um banco de dados por meio de componentes do tipo TTable e TQuery, e realize operaes sobre o banco de dados, como inserir um registro em branco ou posicionar-se sobre um registro. Normalmente esse controle empregado simultaneamente a outros controles que permitem a edio e exibio dos dados.
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
Principais Propriedades
Align, BoundsRect, ComponentIndex, ConfirmDelete, Ctl3D, Cursor, DataSource, DragCursor, DragMode, Height, HelpContext, HelpKeyword, HelpTypeHint, Hints, Left, Name, Owner, Parent, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, Showing, ShowHint, TabOrder, TabStop, Tag, Top, Visible, VisibleButtons e Width
Principais Mtodos
BeginDrag, BringToFront, BtnClick, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnMouseDown, OnMouseMove, OnMouseUp e OnResize
TDBRADIOGROUP
Descrio
O controle TDBRadioGroup permite a exibio de um conjunto de botes de rdio que representam opes mutuamente exclusivas. Esse controle semelhante a TRadioGroup, exceto que, nesse caso, as opes representadas pelos botes de rdio esto associadas a campos de registros de um banco de dados.
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
Principais Propriedades
Align, Caption, Color, Columns, ComponentIndex, Ctl3D, Cursor, DataField, DataSource, DragCursor, DragMode, Enabled, Fields, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, ItemIndex, Items, Left, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ReadOnly, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Value, Values, Visible e Width
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
885
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter e OnExit
TDBRICHEDIT
Descrio
O controle TDBRichEdit semelhante ao controle TMemo, mas permite a aplicao de fontes com diferentes atributos a partes distintas do texto inserido no controle.
Unit
Na VCL:
DBCtrls
Principais Propriedades
Align, Alignment, BorderStyle, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, Color, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Ctl3D, Cursor, DataSource, DataField, DragMode, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHideScrollBars, HideSelection, Hint, Left, Lines, MaxLength, Name, Owner, Paragraph, Parent, ParentColor, ParentCtl3D, ParentFont, PlainText, PopupMenu, ReadOnly, ScrollBars, SetAttributes, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Visible, WantTabs, WantReturns, Width e WordWrap
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, FindText, Focused, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Print, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp, OnProtectChange, OnResizeRequest, OnSaveClipboard, OnSelectionChange e OnStartDrag
TDBTEXT
Descrio
O controle TDBText permite a exibio de um texto em um formulrio. Esse controle semelhante ao TLabel, exceto que, nesse caso, o texto exibido est associado a um campo de um registro de um banco de dados.
Unit
Na VCL:
DBCtrls
Na CLX:
QDBCtrls
Principais Propriedades
Align, Alignment, AutoSize, BoundsRect, Color, ComponentIndex, Cursor, DataField, DataSource, DragCursor, DragMode, Enabled, Fields, Font, Height, Hint, Left, Name, Owner, Parent, ParentColor, ParentFont, ParentShowHint, PopupMenu, ShowHint, Tag, Top, Transparent, Visible, Width e WordWrap
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, ContainsControl, Dragging, EndDrag, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScreenToClient, SendToBack, SetBounds, SetTextBuf, Show e Update
TDCOMCONNECTION
Descrio
Esse componente responsvel por conectar uma aplicao-cliente DCOM a um servidor remoto em uma aplicao multicamada.
Unit
Na VCL:
MConnect
Principais Propriedades
ComputerName, Connected, AppServer, LoginPrompt, ObjectBroker, ServerGUID, ServerName
Principais Mtodos
Create, DoConnect, GetProvider, Destroy
Principais Eventos
OnGetUserName, OnLogin, AfterConnect, AfterDisconnect, BeforeConnect, BeforeDisconnect
TDDECLIENTCONV
Descrio
Esse componente estabelece uma conversao DDE com uma aplicao servidora.
Unit
Na VCL:
DDEMan
Principais Propriedades
ComponentIndex, ConnectMode, DDEService, DDETopic, FormatChars, Name, Owner, ServiceApplication e Tag
Principais Mtodos
CloseLink, ExecuteMacro, ExecuteMacroLines, OpenLink, PokeData, PokeDataLines, RequestData e SetLink
Principais Eventos
OnClose e OnOpen
TDDECLIENTITEM
Descrio
Esse componente define o item da aplicao-cliente em uma conversao DDE.
Unit
Na VCL:
DDEMan
Principais Propriedades
ComponentIndex, DDEConv, DDEItem, Lines, Name, Owner, Tag e Text
Principais Mtodos
Esse componente no possui mtodos associados.
Principais Eventos
OnChange
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
887
TDDESERVERCONV
Descrio
Esse componente estabelece uma conversao DDE com uma aplicao-cliente.
Unit
Na VCL:
DDEMan
Principais Propriedades
ComponentIndex, Name, Owner e Tag
Principais Mtodos
Esse componente no possui mtodos associados.
Principais Eventos
OnClose, OnExecuteMacro e OnOpen
TDDESERVERITEM
Descrio
Esse componente define o item da aplicao servidora em uma conversao DDE.
Unit
Na VCL:
DDEMan
Principais Propriedades
ComponentIndex, Lines, Name, Owner, ServConv, Tag e Text
Principais Mtodos
CopyToClipboard
Principais Eventos
OnChange e OnPokeData
TDECISIONCUBE
Descrio
Esse componente permite a exibio de dados na forma tabular.
Unit
Na VCL:
mxdb
Principais Propriedades
Dataset, DimensionMap, MaxCells, MaxDimensions, MaxSummary, Name, ShowProgressDialog e Tag
Principais Mtodos
Create, Destroy, GetDetailSQL, GetSQL, ShowCubeDialog
Principais Eventos
AfterClose, AfterOpen, BeforeClose, BeforeOpen, OnLowCapacity, OnRefresh
TDECISIONGRAPH
Descrio
O controle TDecisionGraph utilizado para exibir grficos de informaes manipuladas pelos componentes DecisionCube.
Principais Propriedades
AllowPanning, Color, Printing, AllowZoom,Foot, PrintMargins, AnimatedZoom, DecisionCube, Frame, PrintResolution, AnimatedZoomSteps, Gradient, RightAxis, AxisVisible, Height3D, ScaleLastPage, BackColor, LeftAxis, Series, BackImage, LeftWall, SeriesHeight3D, BackImageInside, Legend, SeriesList, BottomAxis, MarginBottom, SeriesWidth3D, BackWall, DepthAxis, View3Doptions, BottomWall, MarginLeft, Title, BufferedDisplay, MarginRight, TopAxis, CancelMouse, MarginTop, View3d, Canvas, MaxPointsPerPage, View3dWalls, Chart3dPercent, MaxZOrder, Width3D, ChartBounds, Monochrome, ChartHeight, MonochromePrinting, ChartRect, OriginalCursor, ChartWidth, BackImage, ClipPoints, BackImageMode
Principais Mtodos
ActiveSeriesLegend, TeeCreateMetafile, PrintRect, AddSeries, GetLabelsSeries, ReCalcWidthHeight, Assign, GetCursorPos, RemoveAllSeries, BackWallRect, GetRectangle, RemoveSeries, CalcClickedpart, GetWidthHeight, RotateLabel, CalcSize3d, IsFreeSeriesColor, SaveToBitmapFile, CalcSize3dWalls, IsScreenHighColor, SaveToMetafile, CanvasChanged, IsValidDataSource, SaveToMetafileEnh, ChartPrintRect, MarkText, SeriesCount, ChartRegionRect, MaxMarkWidth, SeriesDown, ChartXCenter, MaxTextWidth, SeriesTitleLegend, ChartYCenter, MaxXValue, SeriesUp, CheckDatasource, MaxYValue, SetInternalCanvas, MinXValue, Size3d, CopyToClipBoardBitmap, MinYValue, CopyToClipBoardMetafile, NextPage, NumPages, PreviousPage, ExchangeSeries, Print, FontCanvas, PrintLandscape, UndoZoom, FormattedLegend, PrintOrientation, XLabelText, FormattedValueLegend, PrintPartial, ZoomRect, GetASeries, PrintPartialCanvas, ZoomPercent, GetAxisSeries, PrintPartialCanvasToScreen, GetFreeSeriesColor, PrintPortrait, SaveToChartFile
Principais Eventos
OnAfterDraw, OnDblClick, OnMouseUp, OnAllowScroll, OnGetAxisLabel, OnPageChange, OnClick, OnGetLegendPos, OnResize, OnClickAxis, OnGetLegendRect, OnScroll, OnClickBackground, OnGetLegendText, OnUndoZoom, OnClickLegend, OnGetNextAxisLabel, OnZoom, OnClickSeries, OnMouseDown
TDECISIONGRID
Descrio
Esse componente exibe os dados manipulados pelos componentes DecisionCube, DecisionQuery, DecisionSource e DecisionPivot.
Unit
Na VCL:
mxgrid
Principais Propriedades
CaptionColor, CaptionFont, Cells, ColCount, DataColor, DataFont, DataSumColor, DecisionSource, DefaultColWidth, DefaultRowHeight, Dimensions, FixedCols, FixedRows, GridLineColor, GridLineWidth, LabelColor, LabelFont, LabelSumColor, Options, RowCount, ShowCubeEditor, Totals, BorderStyle, DefaultDrawing, ScrollBars, BevelEdges, BevelInner, BevelKind, BevelOuter, BevelWidth, Brush, ClientOrigin, ClientRect, ControlCount, Controls, DockClientCount, DockClients, DoubleBuffered, Handle, HelpContext, HelpKeyword, HelpTypeParentWindow, Showing, TabOrde, TabStop, Align, BoundsRect, ClientHeight, ClientWidth, Constraints, ControlState, ControlStyle, Cursor, DockOrientation, Enabled, Floating, FloatingDockSiteClass, Height, Hint, HostDockSite, Left, LRDockWidth, Name, Parent, ShowHint, TBDockHeight, Top, UndockHeight, UndockWidth, Visible, Width, WindowProc, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DesignInfo, Owner, Tag, VCLComObject
Principais Mtodos
CellDrawState, CellValueArray, Create, Destroy, Notification, MouseCoord, CanFocus, ContainsControl, ControlAtPos, CreateParented, CreateParentedControl, DefaultHandler, DisableAlign, DockDrop, EnableAlign, FindChildControl, FlipChildren, Focused, GetTabOrderList, HandleAllocated, HandleNeeded, InsertControl, Invalidate, MouseWheelHandler, PaintTo, Realign, RemoveControl, Repaint, ScaleBy, ScrollBy, SetBounds, SetFocus, Update, UpdateControlState, BeginDrag, Dock, DrawTextBiDiModeFlags, DrawTextBiDiModeFlagsReadingOnly, BringToFront, ClientToScreen, DragDrop, Dragging, EndDrag, GetControlsAlignment, GetParentComponent, GetTextBuf, GetTextLen, HasParent, Hide, InitiateAction,
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
889
Principais Eventos
OnDecisionDrawCell, OnDecisionExamineCell, OnTopLeftChanged, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnMouseDown, OnMouseMove, OnMouseUp, OnResize, OnStartDrag
TDECISIONPIVOT
Descrio
Esse componente define o piv para um conjunto de componentes DecisionCube.
Unit
Na VCL:
mxpivsrc
Principais Propriedades
BorderStyle, BorderWidth, ButtonAutoSize, ButtonHeight, ButtonSpacing, ButtonWidth, DecisionSource, GroupLayout, Groups, GroupSpacing, Alignment, BevelInner, BevelOuter, BevelWidth, Name, Tag, Top, Width, Height, Left, Cursor, Font, Align, Ctl3D, TabOrder,TabStop, ShowHint, ParentFont, ParentColor, ParentShowHint, ParentCtl3D, PopupMenu, Visible
Principais Mtodos
SetBounds, CanFocus, Focused, ContainsControl
Principais Eventos
OnEnter, OnExit, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnResize, OnStartDragTDecisionQuery
TDECISIONQUERY
Descrio
Esse componente uma especializao do componente TQuery para utilizao com o componente TDecisionCube.
Unit
Na VCL:
mxTables
Principais Propriedades
Active, AutoCalcFilelds, BOB, CanModify, Database, DatabaseName, DatabaseSource, DBHandle, DBLocale, EOF, FieldCount, FieldDefs, Field, Handle, Local, Locale, Modified, Name, Owner, ParamCount, Params, Prepared, RecordCount, RequestLive, SQL, SQLBinary, State, StmtHandle, Tag, Text, Unidirecional e UpdateMode
Principais Mtodos
Append, AppendRecord, Cancel, CheckBrowseMode, ClearFields, Close, CursorPosChanged, Delete, DisableControls, Edit, EnableControls, ExecSQL, FieldByName, FindField, First, FreeBookmark, GetBookmark, GetFieldNames, GotoBookmark, Insert, InsertRecord, Last, MoveBy, Next, Open, ParamByName, Post, Prepare, Prior, Refresh, SetFields, UnPrepared, UpdateCursorPos e UpdateRecord
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, OnCalcFields e OnNewRecord
TDECISIONSOURCE
Descrio
Esse componente estabelece a conexo entre o componente DecisionCube e os componentes DecisionPivot, DecisionGrid e DecisionGraph.
Principais Propriedades
ControlType, CurrentSum, DecisionCube, nColDims, nDataCols, nDataRows, nDims, nOpenColDims, nOpenRowDims, nRowDims, nSums, Ready, SparseCols, SparseRows
Principais Mtodos
CloseDimIndexRight, Create, Destroy, DrillDimIndex, Get2DdataAsVariant, GetActiveDim, GetDataAsString, GetDataAsVariant, GetDimensionMemberCount, GetDimensionName, GetGroup, GetGroupExtent, GetIndex, GetMemberAsString, GetMemberAsVariant, GetRowState, GetState, GetSummaryName, GetValue, GetValueArray, GetValueIndex, MoveDimIndexes, OpenDimIndexLeft, OpenDimIndexRight, SetCurrentSummary, SwapDimIndexes, ToggleDimIndex
Principais Eventos
OnAfterPivot, OnBeforePivot, OnLayoutChange, OnNewDimensions, OnStateChange, OnSummaryChange
TDIRECTORYLISTBOX
Descrio
O controle TDirectoryListBox uma caixa de listagem especial que est relacionada estrutura de diretrios do drive correntemente selecionado no seu computador, e permite ao usurio mudar o diretrio corrente, atribuindo-o propriedade Directory.
Unit
Na VCL:
FileCtrl
Principais Propriedades
Align, BoundsRect, Color, Columns, ComponentIndex, Ctrl3D, Cursor, Directory, DirLabel, DragCursor, DragMode, Drive, Enabled, FileList, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, IntegralHeight, ItemHeight, Left, Name, Owner, Parent, ParentColor, ParentCtrl3D, ParentFont, ParentShowHint, PopupMenu, Selected, ShowHint, Showing, TabOrder, TabStop, Tag, Top, TopIndex, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, Focused, GetItemPath, GetTextBuf, GetTextLen, Hide, Invalidate, ItemAtPos, ItemRect, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnDropDown, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TDRAWGRID
Descrio
O controle TDrawGrid permite a exibio de um conjunto de dados na forma de um arranjo de linhas e colunas.
Unit
Na VCL:
Grids
Na CLX:
QGrids
Principais Propriedades
Align, BorderStyle, BoundsRect, Brush, Canvas, Col, ColCount, Color, ColWidthds, ComponentIndex, Ctrl3D, Cursor, DefaultColWidth, DefaultDrawing, DefaultRowHeight, DragCursor, DragMode, EditorMode,
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
891
Principais Mtodos
BeginDrag, BringToFront, CanFocus, CellRect, ClassName, ClassParent, ClassType, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, MouseToCell, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnColumnMoved, OnDblClick, OnDragDrop, OnDragOver, OnDrawCell, OnEndDrag, OnEnter, OnExit, OnGetEditMask, OnGetEditText, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp, OnRowMoved, OnSelectCell, OnSetEditText e OnTopLeftChanged
TDRIVECOMBOBOX
Descrio
O controle TDriveComboBox uma caixa de listagem especial que exibe todos os drives disponveis quando a aplicao executada.
Unit
Na VCL:
FileCtrl
Principais Propriedades
Align, BoundsRect, Color, ComponentIndex, Ctrl3D, Cursor, DirList, DragCursor, DragMode, Drive, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Item, ItemIndex, Left, Name, Owner, Parent, ParentColor, ParentCtrl3D, ParentFont, PopupMenu, SelLength, SelStart, SelText, Showing, TabOrder, TabStop, Tag, Text TextCase, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectAll, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnDropDown, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress e OnKeyUp
TEDIT
Descrio
O controle TEdit consiste em uma caixa de edio (na qual o usurio pode digitar um texto).
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, AutoSelect, AutoSize, BorderStyle, CharCase, Color, ComponentIndex, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHideSelection, Hint, Left, MaxLength, Modified, Name, OEMConvert, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PassWordChar, PopupMenu, ReadOnly, SelLengh, SelStart, SelText, ShowHint, Showing, TabOrder, TabStop, Tag, Text, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, Clear, ClearSelection, ClientToScreen, CopyToClipBoard, CutToClipBoard, Dragging, EndDrag, FindComponent, Free, GetSelText, GetTextBuf, GetTextLen, Hide, Invalidate,
Principais Eventos
OnChange, OnClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena qualquer tipo de dado.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWidth, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text, e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TFIELDDEF
Descrio
Esse objeto representa um campo de um registro de uma tabela de um banco de dados que armazena qualquer tipo de dado.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
DataType, FieldClass, FieldNo, Name, Required e Size
Principais Mtodos
ClassName, ClassParent, ClassType, Create, CreateField, Destroy e Field
Principais Eventos
Esse objeto no possui eventos associados.
TFILELISTBOX
Descrio
O controle TFileListBox uma caixa de listagem especial que exibe os arquivos do diretrio corrente.
Unit
Na VCL:
FileCtrl
Principais Propriedades
Align, BoundsRect, Canvas, ComponentIndex, Color, Controls, Ctrl3D, Cursor, Directory, DragCursor, DragMode, Enabled, FileEdit, FileName, FileType, Font, Handle, Height, HelpContext, HelpKeyword,
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
893
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, ItemAtPos, ItemRect, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TFILTERCOMBOBOX
Descrio
O controle TFilterComboBox uma caixa combo especial que permite ao usurio selecionar filtros de arquivos.
Unit
Na VCL:
FileCtrls
Principais Propriedades
Align, BoundsRect, Color, ComponentIndex, Ctrl3D, Cursor, DragCursor, DragMode, Enabled, FileList, Filter, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, ItemIndex, Items, Left, Mask, Name, Owner, Parent, ParentColor, ParentCtrl3D, ParentFont, SelLength, SelStart, Showing, TabOrder, TabStop, Text, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectAll, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnDropDown, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp
TFINDDIALOG
Descrio
O controle TFindDialog fornece uma caixa de dilogo para pesquisa de texto.
Unit
Na VCL:
Dialogs
Na CLX:
QDialogs
Principais Propriedades
ComponentIndex, Ctl3D, FindText, Handle, HelpContext, HelpKeyword, HelpTypeName, Options, Owner, Position e Tag
Principais Mtodos
CloseDialog e Execute
Principais Eventos
OnFind
TFLOATFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um nmero no formato de ponto flutuante.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsString, Calculated, CanModify, Currency, DataSet, DataSize, DataType, DisplayFormat, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditFormat, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, MaxValue, MinValue, Name, Owner, Precision, ReadOnly, Required, Size, Tag, Text, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TFONT
Descrio
Esse objeto armazena um tipo de fonte.
Unit
Na VCL:
Graphics
Na CLX:
QGraphics
Principais Propriedades
Color, Handle, Height, Name, Pitch, PixelsPerInch, Size e Style
Principais Mtodos
Assign, Create, Destroy e Free
Principais Eventos
OnChange
TFONTDIALOG
Descrio
O controle TFontDialog fornece uma caixa de dilogo para a seleo de fontes.
Unit
Na VCL: Dialogs
Na CLX:
QDialogs
Principais Propriedades
ComponentIndex, Ctl3D, Device, Font, HelpContext, HelpKeyword, HelpTypeMaxFontSize, MinFontSize, Name, Options, Owner e Tag
Principais Mtodos
Execute
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
895
TFORM
Descrio
O TForm o principal componente de uma aplicao desenvolvida em Delphi, pois nele que so inseridos os demais controles. Um controle do tipo TForm pode ser usado como uma janela, uma caixa de dilogo ou qualquer tipo de formulrio para entrada de dados.
Unit
Na VCL:
Forms
Na CLX:
QForms
Principais Propriedades
Active, ActiveControl, ActiveMDIChild, Align, AutoScroll, BorderIcons, BorderStyle, Brush, Caption, Canvas, ClientHandle, ClientHeight, ClientOrigin, ClientRect, ClientWidth, Color, ComponentCount, ComponentIndex, Components, Controls, Ctrl3D, Cursor, DockClientCount, DockClients, Enabled, Font, FormStyle, Handle, Height, HelpContext, HelpFile, HelpKeyword, HelpTypeHint, HorzScrollBar, Icon, KeyPreview, Left, MDIChildCount, MDIChildren, Menu, ModalResult, Name, Owner, Parent, PixelsPerInch, PopupMenu, Position, PrintScale, Scaled, ShowHint, TabOrder, TabStop, Tag, TileMode, Top, VertScrollBar, Visible, Width, WindowMenu e WindowState
Principais Mtodos
ArrangeIcons, BringToFront, CanFocus, Cascade, ClientToScreen, Close, CloseQuery, ContainsControl, Create, CreateNew, Destroy, Dragging, FindComponent, Focused, Free, GetFormImage, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Next, Previous, Print, Refresh, Release, RemoveComponent, Repaint, ScaleBy, ScreenToClient, ScrollBy, ScrolllnView, SendToBack, SetBounds, SetFocus, SetTextBuf, Show, ShowModal, Tile e Update
Principais Eventos
OnActivate, OnClick, OnClose, OnCloseQuery, OnCreate, OnDestroy, OnDblClick, OnDeactivate, OnDragDrop, OnDragOver, OnEnter, OnExit, OnKeyDown, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp, OnPaint, OnResize e OnShow
TGRAPHIC
Descrio
Esse objeto representa a classe da qual so derivados os objetos TBitmap, TIcon e
TMetafile.
Unit
Na VCL:
Graphics
Na CLX:
QGraphics
Principais Propriedades
Height, Empty e Width
Principais Mtodos
ClassName, ClassParent, ClassType, Create, Destroy, Free, LoadFromFile e SaveToFile
Principais Eventos
OnChange
TGRAPHICFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena uma informao grfica em um conjunto arbitrrio de bytes cujo tamanho no predefinido.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar, LoadFromFile, LoadFromStream, SaveToFile, SaveToStream e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TGROUPBOX
Descrio
O controle TGroupBox permite agrupar componentes que se relacionam, como botes de rdio, por exemplo.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, Caption, Color, Controls, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, PopupMenu, Showing, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, ContainsControl, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus e SetTextBuf
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnMouseDown, OnMouseMove e OnMouseUp
THEADER
Descrio
O controle THeader um controle que exibe texto em sees redimensionveis com o mouse.
Unit
Na VCL:
ExtCtrls
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
897
Principais Propriedades
Align, AllowResize, BoundsRect, BorderStyle, ComponentIndex, Cursor, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentFont, ParentShowHint, Sections, SectionWidth, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnEnter, OnExit, OnSized e OnSizing
THEADERCONTROL
Descrio
Esse controle semelhante ao controle THeader e exibe texto em sees redimensionveis com o mouse.
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
Align, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Cursor, DragCursor, DragMode, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentFont, ParentShowHint, PopupMenu, Sections, ShowHint, Showing, Tag, Top, Visible e Width
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, Focused, Free, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnDragDrop, OnDragOver, OnEndDrag, OnMouseDown, OnMouseMove, OnMouseUp, OnDrawSection, OnResize, OnSectionClick, OnSectionResize, OnSectionTrack e OnStartDrag
THOTKEY
Descrio
O controle THotKey usado para criar teclas aceleradoras durante a execuo do aplicativo. Normalmente est associado a outro controle, ao qual se refere a tecla aceleradora.
Unit
Na VCL:
ComCtrls
Principais Propriedades
Align, AutoSize, BoundsRect, Brush, ClientHeight, ClientOrigin, ClientRect, ClientWidth, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Cursor, Enabled, Handle, Height, HelpContext, HelpKeyword, HelpTypeHotKey, InvalidKeys, Left, Modifiers, Name, Owner, Parent, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Eventos
OnEnter, OnExit, OnMouseDown, OnMouseMove e OnMouseUp
TIBCLIENTDATASET
Descrio
Este componente pode ser considerado como uma reunio de trs componentes: um IBDataSet, um DatasetProvider e um ClientDataset.
Unit
Na VCL:
IBCuistomDataset
Principais Propriedades
Active, ActiveAggs, AggFields, Aggregates, AggregatesActive, Appserver, AutoCalcFields, BlockReadSize, Bof, Bookmark, CanModify, ChangeCount, CloneSource, CommandText, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Constraints, Data, DataSetField, DataSize, DataSource, DBConnection, DBTransaction, DefaultFields, Delta, Designer, DesignInfo, DisableStringTrim, Eof, FetchOnDemand, FieldCound, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, FileName, Filter, Filtered, FilterOptions, Found, GroupingLevel, HasAppServer, IndexDefs, IndexFieldCount, IndexFieldNames, IndexFields, IndexName, IsUnidirecional, KeyExclusive, KeyFieldCount, KeySize, LogChanges, MasterFields, MasterSource, Modified, Name, ObjectView, Options, Owner, PacketRecords, Params, ReadOnly, RecNo, RecordCount, RecordSize, SparseArrays, State, StatusFilter, Tag, UpdateMode, VCLComObject e XMLData.
Principais Mtodos
ActiveBuffer, AddIndex, AfterConstruction, Append, AppendData, AppendRecord, ApplyRange, ApplyUpdates, Assign, BookmarkValid, Cancel, CancelRange, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, ClenupInstance, ClearFields, CloneCursor, Close, CompareBookmarks, ConstraintsDisabled, ControlsDisabled, Create, CreateBlobStream, CreateDataSet, CursorPosChanged, DataRequest, DefaultHandler, Delete, DeleteIndex, Destroy, DestroyComponents, Destroying, DisableConstraints, DisableControls, Dispatch, Edit, EditKey, EditRangeEnd, EditRangeStar, EmptyDataSet, EnableConstraints, EnableControls, Execute, ExecuteAction, FetchBlobs, FetchDetails, FetchParams, FieldAddress, FieldByName, FindComponent, FindField, FindFirst, FindKey, FindLast, FindNearest, FindNext, FindPrior, First, Free, FreeBookmarl, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDatasets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetGroupState, GetIndexInfo, GetIndexNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetNextPacket, GetOptionalParam, GetParentComponent, GetQuoteChar, GotoBookmark, GotoCurrent, GotoKey, GotoNearest, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsImplementorOf, IsLinkedTo, IsSequenced, Last, LoadFromFile, LoadFromStream, Locate, Lookup, MergeChangeLog, MethodAddress, MethodName, MoveBy, NewInstance, Next, Open, Post, Prior, Reconcile, ReferenceInterface, Refresh, RefreshRecord, RemoveComponent, RemoveFreeNotification, Resync, RevertRecord, SaveCallException, SaveToFile, SaveToStream, SetAltRecBuffers, SetFields, SetKey, SetOptionalParam, SetProvider, SetRange, SetRangeEnd, SetRangeStart, SetSubCompnent, Translate, UndoLastChange, UpdateAction, pdateCursorPos, UpdateRecord e UpdateStatus
Principais Eventos
AfterApplyUpdates, AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterExecute, AfterGetParams, AfterGetRecords, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterRowRequest, AfterScroll, AfterUpdateRecord, BeforeApplyUpdates, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeExecute, BeforeGetParams, BeforeGetRecords, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeRowRequest, BeforeScroll, BeforeUpdateRecord, OnCalcFields, OnDeleteError, OnEditError, OnFilterRecord, OnGetTableName, OnNewRecord, OnPostError, OnReconcileError, OnUpdateData e OnUpdateError
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
899
TIBDATABASE
Descrio
Este componente encapsula uma conexo a um banco de dados do Interbase, atravs do Mecanismo Interbase Express
Unit
Na VCL:
IBDatabase
Principais Propriedades
ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connected, DatabaseName, DatasetCount, DataSets, DBParamByDPB, DBSQLDialect, DefaultTransaction, DesignInfo, Handle, HandleIsShared, IdleTimer, IsReadOnly, LoginPrompt, Name, Owner, Params, SQLDialect, SQLObjectCount, SQLObjects, Tag, Temporary, TraceFlags, TransactionCount, Transactions, VCLComObject
Principais Mtodos
AfterConstruction, ApplyUpdates, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Close, CloseDataSets, Commit, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, Execute, ExecuteAction, FieldAddress, FindComponent, FlushSchemaCache, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, Open, RemoveComponent, Rollback, SafeCallException, StartTransaction, UpdateAction, ValidateName
Principais Eventos
AfterConnect, AfterDisconnect, BeforeConnect, BeforeDisconnect, OnDialectDowngradeWarnin, OnIdleTimer, OnLogin
TIBDATABASEINFO
Descrio
Este componente Fornece Informaes sobre um banco de dados do Interbase, atravs do Mecanismo Interbase Express
Unit
Na VCL:
IBDatabaseInfo
Principais Propriedades
Allocation, BackoutCount, BaseLevel, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, CurrentMemory, Database, DBFileName, DBImplementationClass, DBImplementationNo, DBSiteName, DBSQLDialect, DeleteCount, DesignInfo, ExpungeCount, Fetches, ForcedWrites, InsertCount, Marks, MaxMemory, Name, NoReserve, NumBuffers, ODSMajorVersion, ODSMinorVersion, Owner, PageSize, PurgeCount, ReadIdxCount, ReadOnly, Reads, ReadSeqCount, SweepInterval, Tag, UpdateCount, UserNames, VCLComObject, Version, Writes
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, Call, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, RemoveComponent, SafeCallException, UpdateAction
Principais Eventos
Este componente no possui eventos associados.
TIBDATASET
Descrio
Este componente Permite que se executem comandos sql diretamente em um banco de dados do Interbase, atravs do Mecanismo Interbase Express.
Unit
Na VCL:
IBCustomDataset
Principais Propriedades
Active, AggFields, AutoCalcFields, Bof, Bookmark, BufferChunks, CachedUpdates, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Database, DatasetField, DataSource, DBHandle, DefaultFields, DeleteSQL, Designer, DesignInfo, Eof, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, Found, InsertSQL, Modified, ModifySQL, Name, ObjectView, Owner, Params, Prepared, Qdelete, Qinsert, Qmodify, Qrefresh, Qselect, RecordCount, RefreshSQL, SelectSQL, SparseArrays, State, StatementType, Tag, Transaction, TRHandle, UpdateObject, UpdateRecordTypes, UpdatesPending, VCLComObject
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, ApplyUpdates, Assign, BeforeDestruction, CachedUpdateStatus, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecuteAction, FetchAll, FieldAddress, FieldByName, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GetProviderAttributes, GotoBookmark, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsLinkedTo, Last, Locate, LocateNext, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, Open, Post, Prepare, Prior, RecordModified, Refresh, RemoveComponent, Resync, RevertRecord, SafeCallException, SetFields, Translate, Undelete, UnPrepare, UpdateAction, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, DatabaseDisconnected, DatabaseDisconnecting, DatabaseFree, OnCalcFields, OnDeleteError, OnEditError, OnEditError, OnFilterRecord, OnPostError, OnUpdateError, OnUpdateRecord,
TIBEVENTS
Descrio
Este componente Permite a uma aplicao responder a eventos enviados pelo servidor de banco de dados do Interbase, atravs do Mecanismo Interbase Express.
Unit
Na VCL:
IBEvents
Principais Propriedades
ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Databases, DesignInfo, Events, Name, Owner, Queued, Registered, Tag, VCLComObject
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, CancelEvents, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, DefaultHandlerm Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FieldAddress FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, QueEvents, RegisterEvents, RemoveComponent, SafeCallException, UnregisterEvents, UpdateAction
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
901
TIBQUERY
Descrio
Este componente permite acesso via declaraes SQL a tabelas de bancos de dados do interbase atravs do Mecanismo Interbase Express.
Unit
Na VCL:
IBQuery
Principais Propriedades
Active, AggFields, AutoCalcFields, BlockReadSize, Bof, Bookmark, CachedUpdates, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Constraints, Database, DataSetField, DBHandle, DefaultFields, Designer, DesignInfo, Eof, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, FilterOptions, Found, GenerateParamNames, Modified, Name, ObjectView, Owner, ParamCheck, ParamCount, Params, Prepared, RecNo, RecordCount, RecordSize, RowsAffected, SparseArrays, SQL, State, StmtHandle, TableTypes, Tag, Text, Transaction, TRHandle, Unidirecional, UpdateObject, UpdateRecordTypes, UpdatesPending, VCLComObject
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, ApplyUpdates, Assign, BeforeDestruction, BookmarkValid, Cancel, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecSQL, ExecuteAction, FetchAll, FieldAddress, FieldByName, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GetProviderAttributes, GotoBookmark, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsLinkedTo, IsSequenced, Last, Locate, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, Open, ParamByName, Post, Prepare, Prior, Refresh, RemoveComponent, Resync, RevertRecord, SafeCallException, SetFields, Translate, Unprepare, UpdateAction, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnNewRecord, OnPostError, OnUpdateError, OnUpdateRecord
TIBSQL
Descrio
Este componente Permite que se executem comandos sql Unidirecionais sem overhead diretamente em um banco de dados do Interbase, atravs do Mecanismo Interbase Express.
Unit
Na VCL:
IBSQL
Principais Propriedades
Bof, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Database, DBHandle, DesignInfo, Eof, FieldIndex, Fields, GenerateParamNames, GoToFirstRecordOnExecute, Handle, Name, Open, Owner, ParamCheck, Params, Plan, Prepared, RecordCount, RowsAffected, SQL, SQLType, Tag, Transaction, TRHandle, UniqueRelationName, VCLComObject
Principais Eventos
OnSQLChanging
TIBSQLMONITOR
Descrio
Este componente Permite o monitoramento de comandos SQl enviados para serem executados no servidor de um banco de dados do Interbase, atravs do Mecanismo Interbase Express.
Unit
Na VCL:
IBSQLMonitor
Principais Propriedades
ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DesignInfo, Name, Owner, Tag, VCLComObject
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, DefaultHandlerm Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FieldAddress FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, RemoveComponent, SafeCallException, UpdateAction
Principais Eventos
OnSQL
TIBSTOREDPROC
Descrio
Este componente permite acesso via declaraes SQL a tabelas de bancos de dados do interbase atravs do Mecanismo Interbase Express.
Unit
Na VCL:
IBStoredProc
Principais Propriedades
Active, AggFields, AutoCalcFields, BlockReadSize, Bof, Bookmark, CachedUpdates, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Constraints, Database, DataSetField, DBHandle, DefaultFields, Designer, DesignInfo, Eof, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, FilterOptions, Found, Modified, Name, NameList, ObjectView, Owner, ParamCount, Params, Prepared, RecNo, RecordCount, RecordSize, SparseArrays, State, StmtHandle, StoredProcName, TableTypes, Tag, Transaction, TRHandle, UpdateRecordTypes, UpdatesPending, VCLComObject
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, ApplyUpdates, Assign, BeforeDestruction, BookmarkValid, Cancel, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Close, CompareBookmarks, ControlsDisabled,
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
903
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnNewRecord, OnPostError, OnUpdateError, OnUpdateRecord
TIBTABLE
Descrio
Este componente permite acesso direto a tabelas de bancos de dados atravs do Mecanismo Interbase Express.
Unit
Na VCL:
IBTable
Principais Propriedades
Active, AggFields, AutoCalcFields, BlockReadSize, Bof, Bookmark, BufferChunks, CachedUpdates, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Constraints, CurrentDBKey, Database, DataSetField, DBHandle, DefaultFields, DefaultIndex, Designer, DesignInfo, Eof, Exists, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, Filter, Filtered, FilterOptions, Found, IndexDefs, IndexFieldCount, IndexFieldNames, IndexFields, IndexName, MasterFields, MasterSource, Modified, Name, ObjectView, Owner, ReadOnly, RecNo, RecordCount, RecordSize, SparseArrays, State, StoreDefs, TableName, TableNames, TableTypes, Tag, Transaction, TRHandle, UniDirectional, UpdateObject, UpdateRecordTypes, UpdatesPending, VCLComObject
Principais Mtodos
ActiveBuffer, AddIndex, AfterConstruction, Append, AppendRecord, ApplyUpdates, Assign, BeforeDestruction, BookmarkValid, Cancel, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CreateTable, CursorPosChanged, DefaultHandler, Delete, DeleteIndex, DeleteTable, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EmptyTable, EnableControls, ExecuteAction, FetchAll, FieldAddress, FieldByName, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetIndexNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GetProviderAttributes, GotoBookmark, GotoCurrent, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsLinkedTo, IsSequenced, Last, Locate, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, Open, Post, Prior, Refresh, RemoveComponent, Resync, RevertRecord, SafeCallException, SetFields, Translate, UpdateAction, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnNewRecord, OnPostError, OnUpdateError, OnUpdateRecord
T IBTRANSACTION
Descrio
Este componente fornece controle discreto de transaes para uma ou mais conexes a um banco de dados do Interbase, atravs do Mecanismo Interbase Express
Unit
Na VCL:
IBDatabase
Principais Propriedades
Active, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DatabaseCount, Databases, DefaultAction, DefaultDatabase, DesignInfo, Handle, HandleIsShared, IdleTimer, InTransaction, Name, Owner, Params, SQLObjectCount, SQLObjects, Tag, TPB, TPBLength, VCLComObject
Principais Mtodos
AddDatabase, AfterConstruction, Assign, BeforeDestruction, Call, CheckDatabasesInList, CheckInTransaction, CheckNotInTransaction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Commit, CommitRetaining, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FieldAddress, FindComponent, FindDatabase, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, RemoveComponent, RemoveDatabase, RemoveDatabases, Rollback, RollbackRetaining, SafeCallException, StartTransaction, UpdateAction
Principais Eventos
OnIdleTimer
TIBUPDATESQL
Descrio
O componente TUpdateSQL fornece um meio alternativo de se atualizar bancos de dados, atravs do mecanismo Interbase Express, armazenando um comando para cada tipo de declarao SQL.
Unit
Na VCL:
IBUPdateSQL
Principais Propriedades
ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DataSet, DeleteSQL, DesignInfo, InsertSQL, ModifySQL, Name, Owner, Query, RefreshSQL, SQL, Tag, VCLComObject
Principais Mtodos
AfterConstruction, Apply, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, ExecSQL, ExecuteAction, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, RemoveComponent, SafeCallException, SetParams, UpdateAction
Principais Eventos
Esse componente no possui mtodos associados.
TICON
Descrio
Esse objeto representa um cone (arquivo no formato *.ICO).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
905
Na CLX:
QGraphics
Principais Propriedades
Handle, Height, Empty e Width
Principais Mtodos
Assign, ClassName, ClassParent, ClassType, Create, Destroy, Free, LoadFromFile e SaveToFile
Principais Eventos
OnChange
TIMAGE
Descrio
Esse componente exibe uma imagem em um formulrio.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, AutoSize, BoundsRect, BorderStyle, Center, ComponentIndex, Cursor, DragCursor, DragMode, Enabled, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentShowHint, Picture, PopupMenu, ShowHint, Showing, Stretch, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, ClientToScreen, Dragging, EndDrag, Focused, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, SendToBack, SetBounds, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp
TIMAGELIST
Descrio
Esse controle usado como um continer para imagens grficas, sendo capaz de armazenar um grande nmero de imagens de mesmo tamanho.
Unit
Na VCL:
Controls
Na CLX:
QImgList
Principais Propriedades
AllocBy, BkColor, BlendColor, ComponentIndex, Count, DragCursor, Dragging, DrawingStyle, Enabled, Handle, Height, ImageType, Masked, Name, Owner, ShareImages, Tag e Width
Principais Eventos
OnChange
TINIFILE
Descrio
Esse objeto permite que sua aplicao realize operaes de leitura e gravao em arquivos com extenso .INI.
Unit
Na VCL e na CLX:
IniFiles
Principais Propriedades
Esse objeto no possui propriedades associadas.
Principais Mtodos
ClassName, ClassParent, ClassType, Create, Destroy, EraseSection, FileName, Free, ReadBool, ReadInteger, ReadSection, ReadSectionValues, ReadString, WriteBool, WriteInteger e WriteString
Principais Eventos
Esse objeto no possui eventos associados.
TINTEGERFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um nmero no formato inteiro, variando de -2,147,483,648 a 2,147,483,647.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayFormat, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditFormat, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, MaxValue, MinValue, Name, Owner, Precision, ReadOnly, Required, Size, Tag, Text, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
THTTPFILE
Unit
Na VCL e na CLX:
IWFileParser
Descrio
Realiza o Parser para a gerao da resposta HTML.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
907
Mtodos
Create, Destroy
Eventos
Esta classe no possui eventos associados.
TIWAPPFORM
Unit
Na VCL e na CLX:
IWAppForm
Descrio
Esta classe representa um formulrio em uma aplicao Intraweb.
Propriedades
ActiveControl, Background, BackgroundColor, DataSetList, ExtraHeader, FormAction, HandleTabs, HiddenParams, JavaScript, JavaScriptOnce, LinkColor, Params, Released, ScriptFiles, ShowHint, StyleSheet, SupportedBrowsers, TabOrderList, TemplateProcessor, TextColor, Title, VLinkColor, WebApplication
Mtodos
AddScriptFile, AddToControlList, AddToInitProc, AddToIWCLInitProc, AddValidation, CacheImage, Create, CreateNew, Destroy, DoDefaultAction, DoPreview, ExecuteForm, FixupTabList, GenerateForm, Hide, Release, RenderControl, Show
Eventos
OnAfterRender, OnCreate, OnDefaultAction, OnDestroy, OnRender
TIWAPPLET
Unit
Na VCL e na CLX:
IWApplet
Descrio
Este componente permite executar uma applet em uma aplicao Intraweb.
Propriedades
Align, Alignment, AltText, Anchors, AppletName, Archive, Canvas, Caption, ClassFile, CodeBase, Clip, Color, ControlEncode, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HorizSpace, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, Params, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, VertSpace, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag
TIWAPPLICATION
Unit
Na VCL e na CLX:
IWApplication
Propriedades
ActiveForm, AppID, AuthUser, Browser, Data, FileList, FormAction, FormCount, Forms, IP, LastAccess, ReferringURL, Request, Response, RunParams, Terminated, TerminateMessage, TerminateURL, TrackID, URLBase
Mtodos
AddDataModule, Create, Destroy, ExecuteActiveForm, GenerateActiveForm, Initialize, MarkAccess, RemoveDataModule, RemoveForm, SendFile, SendStream, SetActiveForm, ShowMessage, Terminate, TerminateAndRedirect
Eventos
TIWBUTTON
Unit
Na VCL e na CLX:
IWCompButton
Descrio
Verso Intraweb do componente Button.
Propriedades
Align, Anchors, ButtonType, Canvas, Caption, Clip, Color, Confirmation, ControlEncode, DesignMode, DoSubmitValidation, Enabled, ExtraTagParams, Font, Form, FriendlyName, HotKey, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, TabOrder, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnClick, OnHTMLTag
TIWCHECKBOX
Unit
Na VCL e na CLX:
IWCompCheckBox
Descrio
Verso Intraweb do componente CheckBox.
Propriedades
Align, Anchors, Canvas, Caption, Checked, Clip, Color, ControlEncode, DesignMode, DoSubmitValidation, Editable, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, Style, SupportedScriptEvents, TabOrder, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnClick, OnHTMLTag
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
909
TIWCOMBOBOX
Unit
Na VCL e na CLX:
IWCompListbox.
Descrio
Verso Intraweb do componente ComboBox.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, ItemIndex, Items, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, Selected, ShowHint, Sorted, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, ResetSelection, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnChange, OnHTMLTag
TIWCONTROL
Unit
Na VCL e na CLX:
Descrio
Esta a classe-base da maioria dos controles e componentes Intraweb.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag
TIWDBCHECKBOX
Unit
Na VCL e na CLX:
IWDBStdCtrls
Descrio
Verso Intraweb do componente DBCheckBox.
Propriedades
Align, Anchors, Canvas, Caption, Checked, Clip, Color, ControlEncode, DataField, Datasource,DesignMode, DoSubmitValidation, Editable, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, Style, SupportedScriptEvents, TabOrder, Text, UseFrame, Visible, WebApplication, ZIndex
Eventos
OnClick, OnHTMLTag
TIWDBCOMBOBOX
Unit
Na VCL e na CLX:
IWDBStdCtrls
Descrio
Verso Intraweb do componente DBComboBox.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, DataField, Datasource, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, ItemIndex, Items, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, Selected, ShowHint, Sorted, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, ResetSelection, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnChange, OnHTMLTag
TIWDBEDIT
Unit
Na VCL e na CLX:
IWDBStdCtrls.
Descrio
Verso Intraweb do componente DBEdit.
Propriedades
Align, Anchors, BGColor, Canvas, Caption, Clip, Color, ControlEncode, DataField, Datasource, DesignMode, DoSubmitValidation, Editable, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, MaxLength, PasswordPrompt, ParentShowHint, ReadOnly, RenderSize, Required, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag, OnSubmit
TIWDBFILE
Unit
Na VCL e na CLX:
IWDBStdCtrls.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
911
Propriedades
Align, Anchors, AutoEditable, BGColor, Canvas, Caption, Clip, Color, ContentType, ControlEncode, DataField, Datasource, DesignMode, DoSubmitValidation, Editable, ExtraTagParams, FileData, FileName, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, MaxLength, ParentShowHint, ReadOnly, RenderSize, Required, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, TabOrder, Text, UseFrame, ValueChecked, ValueUnchecked, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SaveToFile, SaveToStream, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag, OnReceivedFile, OnSubmit
TIWDBGRID
Unit
Na VCL e na CLX:
IWDBStdCtrls.
Descrio
Verso Intraweb do componente DBGrid.
Propriedades
Align, Anchors, BGColor, BorderColors, BorderSize, Borderstyle, Canvas, Caption, Cell, CellPadding, CellSpacing, Clip, Color, ColumnCount, Columns, ControlEncode, CurrentField, DataField, Datasource, DesignMode, ExtraTagParams, Font, FooterRowCount, Form, FrameBuffer, FriendlyName, FromStart, HighlightColor, HighlightRows, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, Lines, Options, ParentShowHint, RecordCount, RefreshMode, RenderSize, RollOver, RollOverColor, RowAlternateColor, RowClick, RowCount, RowCurrentColor, RowHeaderColor, RowIsCurrent, RowLimit, ScriptEvents, ScriptFiles, ShowHint, Summary, SupportedScriptEvents, Text, UseFrame, UseWidth, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, CellExists, Clear, ColorToRGBString, Create, CreateImplicitColors, DeleteColumn, DeleteRow, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RefreshData, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag, OnRenderCell
TIWDBIMAGE
Unit
Na VCL e na CLX:
IWDBStdCtrls.
Descrio
Verso Intraweb do componente DBImage.
Propriedades
Align, AllText, Anchors, AutoSize, Canvas, Caption, Clip, Color, Confirmation, ControlEncode, Cursosr, DataField, Datasource, DesignMode, DoSubmitValidation, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, JPegOptions, ParentShowHint, Picture, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseBorder, UseFrame, UseSize, Visible, WebApplication, ZIndex
Eventos
OnHTMLTag
TIWDBLISTBOX
Unit
Na VCL e na CLX:
IWDBStdCtrls.
]Descrio
Verso Intraweb do componente DBListBox.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, Datafield, Datasource, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, ItemIndex, Items, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, Selected, ShowHint, Sorted, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, ResetSelection, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnChange, OnHTMLTag
TIWDBLOOKUPCOMBOBOX
Unit
Na VCL e na CLX:
IWDBStdCtrls.
Descrio
Verso Intraweb do componente DBLookupComboBox.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, Datafield, Datasource, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, ItemIndex, Items, IWCLInitProc, JavaScriptOnce, KeyField, ListField, Listsource, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, Selected, ShowHint, Sorted, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, ResetSelection, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnChange, OnHTMLTag
TIWDBLOOKUPLISTBOX
Unit
Na VCL e na CLX:
IWDBStdCtrls.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
913
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, Datafield, Datasource, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, ItemIndex, Items, IWCLInitProc, JavaScriptOnce, KeyField, ListField, Listsource, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, Selected, ShowHint, Sorted, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, ResetSelection, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnChange, OnHTMLTag
TIWDBMEMO
Unit
Na VCL e na CLX:
IWDBStdCtrls.
Descrio
Verso Intraweb do componente DBMemo.
Propriedades
Align, Anchors, AutoEditable, Canvas, Caption, Clip, Color, ControlEncode, DataField, Datasource, DesignMode, Editable, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, Lines, ParentShowHint, RawText, ReadOnly, RenderSize, Required, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, TabOrder, Text, UseFrame, Visible, WantReturns, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag
TIWDBNAVIGATOR
Unit
Na VCL e na CLX:
IWDBStdCtrls.
Descrio
Verso Intraweb do componente DBNavigator.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, Confirmations, CustomImages, ControlEncode, Datasource, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, ImageHeight, ImageWidth, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, Visible, VisibleButtons, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, Submit, SupportsSubmit, ToJPEGFile
TIWDBTEXT
Unit
Na VCL e na CLX:
IWDBStdCtrls.
Descrio
Verso Intraweb do componente DBText.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, Datafield, Datasource, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, Lines, ParentShowHint, RaeText, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, Visible, WantReturns, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag
TIWEDIT
Unit
Na VCL e na CLX:
IWCompEdit
Descrio
Verso Intraweb do componente Edit.
Propriedades
Align, Anchors, BGColor, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, DoSubmitValidation, Editable, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, MaxLength, PasswordPrompt, ParentShowHint, ReadOnly, RenderSize, Required, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag, OnSubmit
TIWFILE
Unit
Na VCL e na CLX:
IWCompEdit
Descrio
Exibe o texto de um arquivo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
915
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SaveToFile, SaveToStream, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag, OnReceivedFile, OnSubmit
TIWFORM
Unit
Na VCL e na CLX:
IWForm.
Descrio
Classe-base de formulrios Intraweb.
Propriedades
ActiveControl, Background, BackgroundColor, DataSetList, ExtraHeader, FormAction, HandleTabs, HiddenParams, JavaScript, JavaScriptOnce, LinkColor, Params, ScriptFiles, ShowHint, StyleSheet, SupportedBrowsers, TabOrderList, TemplateProcessor, TextColor, Title, VLinkColor, WebApplication
Mtodos
AddScriptFile, AddToControlList, AddToInitProc, AddToIWCLInitProc, AddValidation, CacheImage, Create, CreateNew, Destroy, DoDefaultAction, DoPreview, ExecuteForm, FixupTabList, GenerateForm, RenderControl
Eventos
OnAfterRender, OnCreate, OnDefaultAction, OnDestroy, OnRender
TIWGRID
Unit
Na VCL e na CLX:
IWGrid
Descrio
Verso Intraweb do componente Grid.
Propriedades
Align, Anchors, BGColor, BorderColors, BorderSize, Borderstyle, Canvas, Caption, Cell, CellPadding, CellSpacing, Clip, Color, ColumnCount, ControlEncode, DesignMode, ExtraTagParams, Font, Form, FrameBuffer, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, Lines, ParentShowHint, RenderSize, RowCount, ScriptEvents, ScriptFiles, ShowHint, Summary, SupportedScriptEvents, Text, UseFrame, UseWidth, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, CellExists, Clear, ColorToRGBString, Create, DeleteColumn, DeleteRow, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnCellClick, OnHTMLTag, OnRenderCell
TIWIMAGE
Unit
Na VCL e na CLX:
IWExtCtrls
Descrio
Verso Intraweb do componente Image.
Propriedades
Align, AllText, Anchors, AutoSize, Canvas, Caption, Clip, Color, Confirmation, ControlEncode, Cursosr, DesignMode, DoSubmitValidation, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, JPegOptions, ParentShowHint, Picture, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseBorder, UseFrame, UseSize, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnClick, OnHTMLTag e OnMouseDown
TIWIMAGEFILE
Unit
Na VCL e na CLX:
IWExtCtrls
Descrio
Exibe uma imagem proveniente de um arquivo.
Propriedades
Align, AllText, Anchors, AutoSize, Canvas, Caption, Clip, Color, Confirmation, ControlEncode, Cursosr, DesignMode, DoSubmitValidation, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, ImageFile, InitProcCode, IWCLInitProc, JavaScriptOnce, JPegOptions, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseBorder, UseFrame, UseSize, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnClick, OnHTMLTag e OnMouseDown
TIWLABEL
Unit
Na VCL e na CLX:
IWCompLabel
Descrio
Verso Intraweb do componente Label.
Propriedades
Align, Anchors, AutoSize, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RawText, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
917
Eventos
OnHTMLTag
TIWLINK
Unit
Na VCL e na CLX:
IWHTMLCtrls
Descrio
Representa um link de uma pgina HTML
Propriedades
Align, Anchors, AutoEditable, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, DoSubmitValidation, Enabled, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, ValueChecked, ValueUnchecked, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HookEvents, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnClick, OnHTMLTag
TIWLIST
Unit
Na VCL e na CLX:
IWHTMLCtrls
Descrio
Representa uma lista de itens de uma pgina HTML.
Propriedades
Align, Anchors, AutoEditable, Canvas, Caption, Clip, Color, ControlEncode, DataField, Datasource, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, Items, IWCLInitProc, JavaScriptOnce, Numbered, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, ValueChecked, ValueUnchecked, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag
TIWLISTBOX
Unit
Na VCL e na CLX:
IWCompListbox
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, ItemIndex, Items, IWCLInitProc, JavaScriptOnce, Multiselect, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, Selected, ShowHint, Sorted, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, ResetSelection, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnChange, OnHTMLTag
TIWMEMO
Unit
Na VCL e na CLX:
IWCompMemo
Descrio
Verso Intraweb do componente Memo.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, Editable, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, Lines, ParentShowHint, RawText, ReadOnly, RenderSize, Required, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, TabOrder, Text, UseFrame, Visible, WantReturns, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag
TIWRECTANGLE
Unit
Na VCL e na CLX:
IWHTMLCtrls
Descrio
Representa uma figura retangular em uma pgina HTML.
Propriedades
Align, Alignment, nchors, AutoEditable, Canvas, Caption, Clip, Color, ControlEncode, DataField, Datasource, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, VAlign, ValueChecked, ValueUnchecked, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
919
TIWREGION
Unit
Na VCL e na CLX:
IWHTMLCtrls
Descrio
Representa uma regio de uma pgina HTML.
Propriedades
Align, Anchors, Color, Rectangle, TabOrder, Visible
Mtodos
Create, Destroy
Eventos
TIWTIMER
Unit
Na VCL e na CLX:
IWExtCtrls
Descrio
Verso Intraweb do componente Timer.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, Enabled, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, Interval, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, UseFrame, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnHTMLTag, OnTimer
TIWTREEVIEW
Unit
Na VCL e na CLX:
IWTreeView
Descrio
Verso Intraweb do componente TreeView.
Propriedades
Align, Anchors, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, ExtraTagParams, Font, Form, FriendlyName, HorScrollbarVisible, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, Items, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, Text, TreeViewImages, UseFrame, VertScrollbarVisible, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
TIWURL
Unit
Na VCL e na CLX:
IWHTMLControls
Descrio
Representa um link para uma URL em uma pgina HTML.
Propriedades
Align, Anchors, AutoEditable, Canvas, Caption, Clip, Color, ControlEncode, DesignMode, DoSubmitValidation, Enabled, ExtraTagParams, Font, Form, FriendlyName, HTML, HTMLLeft, HTMLName, HTMLTop, InitProcCode, IWCLInitProc, JavaScriptOnce, ParentShowHint, RenderSize, ScriptEvents, ScriptFiles, ShowHint, SupportedScriptEvents, TargetOptions, TerminateApp, Text, URL, UseFrame, UseTarget, ValueChecked, ValueUnchecked, Visible, WebApplication, ZIndex
Mtodos
AddScriptFile, AddToInitProc, AddToIWCLInitProc, AddToJavaScriptOnce, Clear, ColorToRGBString, Create, Destroy, DoSubmit, HookEvents, HTMLColor, Invalidate, MakeHTMLTag, PaintTo, RenderCSSClass, RenderHTML, RenderScripts, RenderStyle, SetLayoutMgr, SetRenderData, SupportsSubmit, ToJPEGFile
Eventos
OnClick, OnHTMLTag
TLABEL
Descrio
O controle TLabel permite a exibio de um texto em um formulrio.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, Alignment, AutoSize, BoundsRect, Caption, Color, ComponentIndex, Cursor, DragCursor, DragMode, Enabled, FocusControl, Font, Height, Hint, Left, Name, Owner, Parent, ParentColor, ParentFont, ParentShowHint, PopupMenu, ShowAccelChar, ShowHint, Tag, Top, Transparent, Visible, Width e WordWrap
Principais Mtodos
BeginDrag, BringToFront, ClientToScreen, Dragging, EndDrag, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, SendToBack, SetBounds, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnMouseDown, OnMouseMove e OnMouseUp
TLIST
Descrio
Esse objeto utilizado para manter uma lista de objetos.
Unit
Na VCL e na CLX:
Classes
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
921
Principais Mtodos
Add, ClassName, ClassParent, ClassType, Create, Clear, Delete, Destroy, Exchange, Expand, First, Free, IndexOf, Insert, Last, Pack e Remove
Principais Eventos
Esse objeto no possui eventos associados.
TLISTBOX
Descrio
O controle TListBox consiste em uma caixa de listagem na qual o usurio pode selecionar um ou mais itens.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, BorderStyle, Canvas, Color, Columns, ComponentIndex, Ctl3D, Cursor, DragCursor, DragMode, Enabled, ExtendedSelect, Fields, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, ItemIndex, IntegralHeight, ItemHeight, Items, Left, MultiSelect, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, SelCount, Selected, ShowHint, Showing, Sorted, Style, TabOrder, TabStop, Tag, Top, TopIndex, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, Clear, ClientToScreen, Dragging, EndDrag, GetTextBuf, GetTextLen, Hide, ItemAtPos, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnDrawItem, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMeasureItem, OnMouseDown, OnMouseMove e OnMouseUp
TLISTVIEW
Descrio
Esse controle permite a exibio de uma lista de itens contendo textos e imagens (cones).
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
Align, AllocBy, BorderStyle, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, Color, Columns, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Ctl3D, Cursor, DragCursor, DragMode, DropTarget, Focused, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHideSelection, IconOptions, Items, LargeImages, Left, MultiSelect, Name, Owner, Parent, ParentShowHont, PopupMenu, ReadOnly, Selected, ShowColumnHeaders, ShowHint, Showing, SmallImages, StateImages, TabStop, Tag, Top, TopItem, ViewOrigin, ViewStyle, Visible, VisibleRowCount e Width
Principais Eventos
OnChange, OnChanging, OnClick, OnColumnClick, OnCompare, OnDblClick, OnDeletion, OnDragDrop, OnDragOver, OnEdited, OnEditing, OnEndDrag, OnEnter, OnExit, OnInsert, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp e OnStartDrag
TMainMenu Descrio
Esse componente representa uma barra de menu em um formulrio.
Unit
Na VCL:
Menus
Na CLX:
QMenus
Principais Propriedades
AutoMerge, ComponentIndex, Images, Items, Name, Owner e Tag
Principais Mtodos
FindItem, Free, GetHelpContext, HelpKeyword, HelpTypeMerge e UnMerge
Principais Eventos
Esse componente no possui eventos associados.
TMASKEDIT
Descrio
O controle TMaskEdit consiste em uma caixa de edio especial, na qual o usurio s pode digitar um conjunto de caracteres definidos como vlidos.
Unit
Na VCL:
Mask
Na CLX:
QMask
Principais Propriedades
Align, AutoSelect, AutoSize, BorderStyle, CharCase, Color, ComponentIndex, Ctl3D, Cursor, DragCursor, DragMode, EditMask, EditText, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, IsMasked, Left, MaxLength, Modified, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PassWordChar, ReadOnly, SelLengh, SelStart, SelText, ShowHint, Showing, TabOrder, TabStop, Tag, Text, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClearSelection, ClientToScreen, CopyToClipBoard, CutToClipBoard, Dragging, EndDrag, Focused, GetSelTextBuf, GetTextBuf, GetTextLen, Hide, Invalidate, PasteFromClipBoard, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectAll, SendToBack, SetBounds, SetFocus, SetSelTextBuf, SetTextBuf, Show, Update e ValidateEdit
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
923
TMEDIAPLAYER
Descrio
O componente TMediaPlayer controla dispositivos que dispem de um driver MCI (Media Control Interface). O componente consiste em um conjunto de botes (Play, Stop, Eject, Next, Prev, Step, Back e Record), que controla dispositivos multimdia, como CD-ROM, VCR, etc.
Unit
Na VCL:
MPlayer
Principais Propriedades
Align, AutoEnecle, AutoOpen, AutoRewind, BoundsRect, Capabilities, ColredButtons, ComponentIndex, Cursor, DeviceID, DeviceType, Display, DisplayRect, Enabled, EnabledButtons, EndPos, Error, ErrorMessage, FileName, Frame, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Mode, Name, Notify, NotifyValue, Owner, Parent, ParentShowHint, Position, Shareable, ShowHint, Showing, Start, StartPos, TabOrder, TabStop, Tag, TimeFormat, Top, TrackLength, TrackPosition, Tracks, Visible, VisibleButtons, Wait e Width
Principais Mtodos
Back, BeginDrag, BringToFront, CanFocus, ClientToScreen, Close, Dragging, Eject, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Next, Open, Pause, PauseOnly, Play, Previous, Refresh, Repaint, Resume, Rewind, ScaleBy, Save, ScreenToClient, SendToBack, SetBounds, SetFocus, SetSelTextBuf, Show, ShowRecording, Step, Stop e Update
Principais Eventos
OnClick, OnEnter, OnExit, OnNotify e OnPostClick
TMEMO
Descrio
O controle TMemo exibe texto para o usurio e permite que o usurio exiba e digite dados no controle. Ao contrrio do controle TEdit, esse controle permite texto de mltiplas linhas.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, Alignment, BorderStyle, Color, ComponentIndex, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHideSelection, Hint, Left, Lines, MaxLength, Modified, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ReadOnly, ScrollBars, SelLengh, SelStart, SelText, ShowHint, Showing, TabOrder, TabStop, Tag, Text, Top, Visible, WantReturns, WantTabs, Width e WordWrap
Principais Mtodos
BeginDrag, BringToFront, CanFocus, Clear, ClearSelection, ClientToScreen, CopyToClipboard, Create, CutToClipboard, Dragging, EndDrag, Focused, GetSelTextBuf, GetTextBuf, GetTextLen, Hide, Invalidate, PastFromClipboard, Refresh, RemoveComponent, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectAll, SendToBack, SetBounds, SetFocus, SetSelTextBuf, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TMEMOBUF
Unit
Descrio
Fornece a funcionalidade de textos de mltiplas linhas em componentes do Rave Reports.
Principais Propriedades
BaseReport, Buffer, BufferInc, Field, Justify, MaxSize, Memo, NoCRLF, NoNewLine, Pos, PrintEnd, PrintStart, RichEdit, RTFField, RTFText, Size, Text, Version
Principais Mtodos
Append, AppendMemoBuf, ConstraintHeightLeft, Delete, Empty, FreeSaved, InsertMemoBuf, Insert, LoadFromFile, LoadFromStream, MemoHeightLeft, MemoLinesLeft, PrintHeight, PrintLines, ReplaceAll, Reset, RestoreBuffer, RestoreState, RTFLoadFromFile, RTFLoadFromStream, SaveBuffer, SaveState, SaveToStream, SearchFirst, SearchNext, SetData
Principais Eventos
Esta classe no tem eventos associados.
TMEMOFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena uma informao de texto em um conjunto arbitrrio de bytes cujo tamanho no predefinido.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text, Transliterate e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar, LoadFromFile, LoadFromStream, SaveToFile, SaveToStream e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TMENUITEM
Descrio
Esse componente representa um item de menu.
Unit
Na VCL:
Menus
Na CLX:
QMenus
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
925
Principais Mtodos
Add, Click, IndexOf, Insert e Remove
Principais Eventos
OnClick
TMETAFILE
Descrio
Esse objeto representa um grfico no formato Metafile do Windows (arquivo no formato *.WMF).
Unit
Na VCL:
Graphics
Principais Propriedades
Handle, Height, Inch, Empty e Width
Principais Mtodos
Assign, ClassName, ClassParent, ClassType, Create, Destroy, Free, LoadFromFile e SaveToFile
Principais Eventos
OnChange
TMIDASCONNECTION
Descrio
Esse componente responsvel por manter uma conexo a um servidor remoto em uma aplicao multicamada.
Unit
Na VCL:
MIDAScon
Principais Propriedades
ConnectType, ServerPort, UseBroker, ComputerName, Connected, AppServer, LoginPrompt, ObjectBroker, ServerGUID, ServerName
Principais Mtodos
Create, Destroy e GetProvider
Principais Eventos
OnGetUserName, OnLogin, AfterConnect, AfterDisconnect, BeforeConnect, BeforeDisconnect
TMIDASPAGEPRODUCER
Descrio
Esse componente gera uma string de comandos HTML a partir de um template, retornando dados acessados por uma aplicao servidora.
Unit
Na VCL:
Midprod
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Contentm ContentFromStream, ContentFromString, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FieldAddress, FindComponent, FindXMLBroker, FindXMLBrokerName, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GetXMLData, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, RemoveComponent, SafeCallException, SetIncludePathURL, SetStyles, SetStylesFile, UpdateAction
Principais Eventos
OnAfterGetContent, OnAfterGetXMLData, OnBeforeGetContent, OnBeforeGetXMLData, OnHTMLTag
TNMDAYTIME
Descrio
Esse componente obtm a data e a hora de um servidor Internet.
Unit
Na VCL:
NMDayTim
Principais Propriedades
DayTimeStr, Host, Port, ReportLevel, Status, TimeOut
Principais Mtodos
Esse componente no possui mtodos.
Principais Eventos
OnConnect, OnConnectionFailed, OnDisconnect, OnHostResolved, OnInvalidHost, OnStatus
TNMECHO
Descrio
Esse componente envia um texto para o servidor Internet (recebendo-o de volta, como um eco).
Unit
Na VCL:
NMEcho
Principais Propriedades
ElapsedTime, Host, LocalIP, Port, RemoteIP, ReportLevel, Status, TimeOut, WSAInfo
Principais Mtodos
Abort, Echo, Connect, Disconnect
Principais Eventos
OnConnect, OnConnectionFailed, OnConnectionRequired, OnDisconnect, OnHostResolved, OnInvalidHost, OnStatus
TNMFINGER
Descrio
Esse componente permite a conexo a um servidor Finger da Internet.
Unit
Na VCL:
NMFinger
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
927
Principais Mtodos
Esse componente no possui mtodos.
Principais Eventos
OnConnect, OnConnectionFailed, OnConnectionRequired, OnDisconnect, OnHostResolved, OnInvalidHost, OnStatus
TNMFTP
Descrio
Esse componente permite a conexo a um servidor FTP da Internet.
Unit
Na VCL:
NMFtp
Principais Propriedades
BytesRecvd, BytesSent, BytesTotal, CurrentDir, FTPDirectoryList, Host, LocalIP, ParseList, Password, Port, Proxy, ProxyPort, RemoteIP, ReplyNumber, ReportLevel, Status, TimeOut, TransactionReply, UserID, Vendor, WSAInfo
Principais Mtodos
Abort, Allocate, ChangeDir, Connect, Delete, Disconnect, DoCommand, Download, DownloadRestore, List, MakeDirectory, Mode, Nlist, Reinitialize, RemoveDir, Rename, Upload, UploadAppend, UploadRestore, UploadUnique
Principais Eventos
OnAuthenticationFailed, OnConnect, OnConnectionFailed, OnConnectionRequired, OnDisconnect, OnFailure, OnError, OnHostResolved, OnInvalidHost, OnListItem, OnPacketRecvd, OnPacketSent, OnStatus, OnSuccess, OnTransactionStart, OnTransactionStop, OnUnSupportedFunction
TNMHTTP
Descrio
Esse componente permite a conexo a um servidor HTTP da Internet.
Unit
Na VCL:
NMHtttp
Principais Propriedades
Body, BytesRecvd, BytesSent, BytesTotal, CookieIn, Header, HeaderInfo, Host, InputFileMode, LastErrorNo, LocalIP, OutputFileMode, Port, Proxy, ProxyPort, RemoteIP, ReplyNumber, ReportLevel, SendHeader, Status, TimeOut, TransactionReply, WSAInfo
Principais Mtodos
Abort, Copy, Delete, Get, Head, Link, Move, Options, Patch, Post, Trace, UnLink, Wrapped
Principais Eventos
OnAboutToSend, OnConnect, OnConnectionFailed, OnDisconnect, OnFailure, OnHostResolved, OnInvalidHost, OnPacketRecvd, OnPacketSent, OnRedirect, OnStatus, OnSuccess
TNMMSG
Descrio
Esse componente permite o envio de texto ASCII pela Internet utilizando uma conexo TCP/IP.
Principais Propriedades
FromName, Host, LocalIP, Port, ReportLevel, Status, TimeOut, WSAInfo
Principais Mtodos
Abort, Create, PostIt
Principais Eventos
OnConnect, OnConnectionFailed, OnDisconnect, OnHostResolved, OnInvalidHost, OnMessageSent, OnStatus
TNMMSGSERV
Descrio
Esse componente permite a recepo de texto ASCII enviado pela Internet utilizando o componente TNMMSG.
Unit
Na VCL:
NMMsg
Principais Propriedades
LocalIP, Port, ReportLevel, Status, TimeOut, WSAInfo
Principais Mtodos
Esse componente no possui mtodos.
Principais Eventos
OnClientContact, OnMSG, OnStatus
TNMNNTP
Descrio
Esse componente permite o envio e a recepo de artigos para grupos de notcias da Internet.
Unit
Na VCL:
NMNNTP
Principais Propriedades
AttachFilePath, Attachments, Body, BytesRecvd, BytesSent, BytesTotal, CacheMode, Connected, CurrentArticle, GroupList, Header, HeaderRecord, HiMessage, Host, LocalIP, LoMessage, NewsDir, ParseAttachments, Password, Port, PostBody, PostHeader, PostRecord, Posting, RemoteIP, ReplyNumber, ReportLevel, SelectedGroup, Status, TimeOut, TransactionReply, UserId, WSAInfo
Principais Mtodos
Abort, Connect, Disconnect, GetArticle, GetArticleBody, GetArticleHeader, GetArticleList, GetGroupList, PostArticle e SetGroup
Principais Eventos
OnAbort, OnArticle, OnArticleCacheUpdate, OnAuthenticationFailed, OnAuthenticationNeeded, OnBody, OnBodyCacheUpdate, OnConnect, OnConnectionFailed, OnDisconnect, OnGroupListCacheUpdate, OnGroupListUpdate, OnGroupSelect, OnGroupSelectRequired, OnHeader OnHeaderCacheUpdate, OnHeaderList, OnHostResolved, OnInvalidArticle, OnInvalidHost, OnPacketRecvd, OnPacketSent, OnPosted, OnPostFailed, OnStatus
TNMPOP3
Descrio
Esse componente permite o recebimento de e-mails de um servidor POP3 da Internet.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
929
Principais Propriedades
AttachFilePath, BytesRecvd, BytesTotal, Connected, DeleteOnRead, Host, LocalIP, MailCount, MailMessage, Password, Port, RemoteIP, ReportLevel, Status, Summary, TimeOut, TransactionReply, UserID, WSAInfo
Principais Mtodos
Abort, Connect, DeleteMailMessage, Disconnect, GetMailMessage, GetSummary, List, Reset
Principais Eventos
OnAuthenticationFailed, OnAuthenticationNeeded, OnConnect, OnConnectionFailed, OnConnectionRequired, OnHostResolved, OnStatus, OnDisconnect, OnFailure, OnInvalidHost, OnList, OnPacketRecvd, OnReset, OnRetrieveEnd, OnRetrieveStart e OnSuccess
TNMUUPROCESSOR
Descrio
Esse componente permite codificar e decodificar arquivos no formato MIME.
Unit
Na VCL:
NMUUP
Principais Propriedades
InputStream, Methos e OutputStream
Principais Mtodos
Encode e Decode
Principais Eventos
OnBeginEncode, OnEndEncode, OnBeginDecode, OnEndDecode e OnError
TNMSMTP
Descrio
Esse componente permite enviar e-mails pela Internet.
Unit
Na VCL:
NMSMTP
Principais Propriedades
ClearParams, EncodeType, FinalHeader, Host, LocalIP, Port, PostMessage, ReplyNumber, Status, TimeOut, TransactionReply, UserID e WSAInfo
Principais Mtodos
Abort, ClearParameters, Connect, Disconnect, ExpandList, SendMail, Verify
Principais Eventos
OnAttachmentNotFound, OnAuthenticationFailed, OnConnect, OnConnectionFailed, OnConnectionRequired, OnDisconnect, OnEncodeEnd, OnEncodeStart, OnFailure, OnHeaderIncomplete, OnHostResolved, OnInvalidHost, OnMailListReturn, OnRecipientNotFound, OnSendStart, OnStatus
TNMSTRM
Descrio
Esse componente permite enviar streams pela Internet.
Principais Propriedades
FromName, Host, LocalIP, Port, ReportLevel, Status, TimeOut, WSAInfo
Principais Mtodos
Create e PostIt
Principais Eventos
OnConnect, OnConnectionFailed, OnDisconnect, OnHostResolved, OnStatus, OnInvalidHost, OnMessageSent, OnPacketSent
TNMSTRMSERV
Descrio
Esse componente permite receber streams pela Internet, enviadas pelo componente
TNMSTRM.
Unit
Na VCL:
NMSTRM
Principais Propriedades
LocalIP, Port, ReportLevel, Status, TimeOut, WSAInfo
Principais Mtodos
Esse componente no possui mtodos.
Principais Eventos
OnMSG, OnClientContact, OnStatus
TNMTIME
Descrio
Esse componente obtm a data e a hora de um servidor Internet, pelo protocolo RFC 868.
Unit
Na VCL:
NMTime
Principais Propriedades
Host, Port, ReportLevel, Status, TimeOut, TimeStr
Principais Mtodos
Create
Principais Eventos
OnConnect, OnConnectionFailed, OnDisconnect, OnHostResolved, OnInvalidHost, OnStatus
TNMUDP
Descrio
Esse componente permite o envio de pacotes pela Internet usando o protocolo UDP.
Unit
Na VCL:
NMUDP
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
931
Principais Mtodos
Create, ReadBuffer, ReadStream, SendBuffer, SendStream
Principais Eventos
OnBufferInvalid, OnDataSend, OnInvalidHost, OnDataReceived, OnStatus, OnStreamInvalid
TNMGeneralServer Descrio
Esse componente , na realidade, a classe-base de muitos outros componentes para acesso a Internet do Delphi.
Unit
Na VCL:
PSock
Principais Propriedades
Esse componente no possui propriedades.
Principais Mtodos
CaptureFile, CaptureStream, CaptureString, Read, ReadLn, SendBuffer, SendFile, SendStream, Serve, Transaction, Write, Writeln
Principais Eventos
OnClientContact
TNMURL
Descrio
Esse componente converte strings em URLs e vice-versa.
Unit
Na VCL:
NMUrl
Principais Propriedades
Decode, Encode e InputString
Principais Mtodos
Esse componente no possui mtodos.
Principais Eventos
OnError
TNOTEBOOK
Descrio
O componente TNotebook um componente que pode exibir muitas pginas, cada uma com os seus prprios controles.
Unit
Na VCL:
ExtCtrls
Principais Propriedades
ActivePage, Align, BoundsRect, Color, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeLeft, Name, Owner, PageIndex, Pages, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Eventos
OnChange, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnMouseDown, OnMouseMove e OnMouseUp
TOLECONTAINER
Descrio
O componente TOLEContainer faz a ligao entre a sua aplicao e um servidor OLE.
Unit
Na VCL:
OleCtrls
Principais Propriedades
Active, Align, AllowlnPlace, AutoActivate, AutoSize, BorederStyle, BoundsRect, ComponentIndex, ConvertDlgHelp, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, InPlaceActive, Left, Modified, Name, ObjClass, ObjDoc, ObjItem, Owner, Parent, ParentCtl3D, PrintInfo, ShowHint, Showing, Storage, TabOrder, TabStop, Tag, Top, Visible, Width e Zoom
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, CopyToClipboard, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, Invalidate, LoadFromFile, OLEObjAllocated, Refresh, Repaint, SaveToFile, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetTextBuf, Show e Update
Principais Eventos
OnActivate, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp e OnStatusLineEvent
TOPENDIALOG
Descrio
O controle TOpenDialog fornece uma caixa de dilogo para a abertura de arquivos.
Unit
Na VCL: Dialogs
Na CLX:
QDialogs
Principais Propriedades
ComponentIndex, Ctl3D, DefaultExt, FileEditStyle, FileName, Files, Filter, FilterIndex, HelpContext, HelpKeyword, HelpTypeHistoryList, InitialDir, Name, Options, Owner, Tag e Title
Principais Mtodos
Execute
Principais Eventos
Esse componente no possui eventos associados.
TOPENPICTUREDIALOG
Descrio
O controle TOpenPictureDialog fornece uma caixa de dilogo para a abertura de arquivos que armazenam imagens.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
933
Principais Propriedades
ComponentIndex, Ctl3D, DefaultExt, FileEditStyle, FileName, Files, Filter, FilterIndex, HelpContext, HelpKeyword, HelpTypeHistoryList, InitialDir, Name, Options, Owner, Tag e Title
Principais Mtodos
Execute
Principais Eventos
Esse componente no possui eventos associados.
TOUTLINE
Descrio
O controle TOutline usado para exibir dados em vrios nveis hierrquicos.
Unit
Na VCL:
Outline
Principais Propriedades
Align, BorderStyle, BoundsRect, Canvas, Color, ComponentIndex, Ctrl3D, Cursor, Directory, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, ItemCount, ItemHeight, Items, ItemSeparator, Left, Lines, Name, Options, OutlineStyle, Owner, Parent, ParentColor, ParentCtrl3D, ParentFont, ParentShowHint, PictureClosed, PictureLeaf, PictureMinus, PictureOpen, PicturePlus, PopupMenu, Row, ScrollBars, SelectedItem, ShowHint, Showing, Style, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
Add, AddChild, AddChildObject, AddObject, BeginDrag, BeginUpdate, BringToFront, CanFocus, Clear, ClientToScreen, Dragging, EndDrag, EndUpdate, Focused, FullCollapse, FullExpand, GetDataItem, GetItem, GetTextBuf, GetTextItem, GetTextLen, Hide, Insert, InsertObject, Invalidate, LoadFromFile, Refresh, Repaint, SaveToFile, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, SetUpdateState, Show e Update
Principais Eventos
OnClick, OnCollapse, OnDblClick, OnDragDrop, OnDragOver, OnDrawItem, OnEndDrag, OnEnter, OnExit, OnExpand, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove e OnMouseUp
TOUTLINENODE
Descrio
Esse objeto contm um item de um componente TOutline.
Unit
Na VCL:
Outline
Principais Propriedades
Data, Expanded, FullPath, HasItems, Index, IsVisible, Level, Parent, Text e TopItem
Principais Mtodos
ChangeLevelBy, ClassName, ClassParent, ClassType, Create, Destroy, Expand, Free, FullExpand, GetFirstChild, GetLastChild, GetNextChild, GetPrevChild e MoveTo
Principais Eventos
Esse objeto no possui eventos associados.
TPAGECONTROL
Descrio
O componente TPageControl um componente que pode exibir muitas pginas, cada uma com os seus prprios controles.
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
ActivePage, Align, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, Color, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Cursor, DragCursor, DragMode, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, MultiLine, Name, Owner, PageIndex, Pages, Parent, ParentColor, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, TabHeight, TabOrder, TabStop, TabWidth, Tag, Top, Visible e Width
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, FindNextPage, Focused, Free, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectNextPage, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnChanging, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnMouseDown, OnMouseMove, OnMouseUp e OnStartDrag
TPAGEPRODUCER
Descrio
Esse componente gera uma string de comandos HTML a partir de um template.
Unit
Na VCL e na CLX:
HTTPProd
Principais Propriedades
ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DesignInfo, Dispatcher, HTMLDoc, HTMLFile, Name, Owner, StripParamQuotes, Tag, VCLComObject
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Content, ContentFromStream, ContentFromString, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, RemoveComponent, SafeCallException, UpdateAction
Principais Eventos
OnHTMLTag
TPAINTBOX
Descrio
Esse componente fornece uma rea retangular na qual a sua aplicao pode exibir um desenho em um formulrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
935
Na CLX:
QExtCtrls
Principais Propriedades
Align, BoundsRect, Canvas, ComponentIndex, Color, Cursor, DragCursor, DragMode, Enabled, Font, Height, Hint, Left, Name, Owner, Parent, ParentColor, ParentFont, ParentShowHint, PopupMenu, ShowHint, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Invalidate, Refresh, Repaint, ScreenToClient, SendToBack, SetBounds, SetTextBuf e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnMouseDown, OnMouseMove, OnMouseUp e OnPaint
TPANEL
Descrio
O componente TPanel permite que se coloquem painis em formulrios, nos quais podem ser inseridos outros controles, criando barras de ferramentas e barras de status.
Unit
Na VCL:
ExtCtrls
Na CLX:
QExtCtrls
Principais Propriedades
Align, Alignment, Bevelinner, BevelOuter, BevelWidth, BorderStyle, BorderWidth, BoundsRect, Caption, Color, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Ctl3D, Cursor, DockClientCount, DockClients, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Locked, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, ContainsControl, Dragging, EndDrag, FindComponent, Focused, GetTextBuf, GetTextLen, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnMouseDown, OnMouseMove, OnMouseUp e OnResize
TPEN
Descrio
Esse objeto usado para desenhar linhas em um objeto do tipo TCanvas.
Unit
Na VCL:
Graphics
Na CLX:
QGraphics
Principais Mtodos
Assign, ClassName, ClassParent, ClassType, Create, Destroy e Free
Principais Eventos
OnChange
TPICTURE
Descrio
Esse objeto representa um bitmap, um cone ou um grfico no formato Metafile do Windows.
Unit
Na VCL:
Graphics
Na CLX:
QGraphics
Principais Propriedades
Bitmap, Graphic, Icon, Height, Metafile e Width
Principais Mtodos
Assign, ClassName, ClassParent, ClassType, Create, Destroy, Free, LoadFromFile e SaveToFile
Principais Eventos
OnChange
TPOPUPMENU
Descrio
Esse componente representa um menu flutuante (pop-up).
Unit
Na VCL:
Menus
Na CLX:
QMenus
Principais Propriedades
Alignment, AutoPopup, ComponentCount, ComponentIndex, Components, Handle, HelpContext, HelpKeyword, HelpTypeImages, Name, Owner, PopupComponent e Tag
Principais Mtodos
FindComponent, FindItem, Free e Popup
Principais Eventos
OnPopup
TPRINTDIALOG
Descrio
O controle TPrintDialog fornece uma caixa de dilogo de impresso na qual o usurio pode selecionar a impressora, o nmero de cpias, as pginas a serem impressas, se deve ser usada a opo de cpias agrupadas, etc.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
937
Principais Propriedades
Collate, ComponentIndex, Copies, FromPage, HelpContext, HelpKeyword, HelpTypeMaxPage, MinPage, Name, Options, Owner, PrintRange, PrintToFile, Tag e ToPage
Principais Mtodos
Execute
Principais Eventos
Esse componente no possui eventos associados.
TPRINTER
Descrio
Esse objeto representa a impressora corrente do sistema.
Unit
Na VCL:
Printers
Na CLX:
QPrinters
Principais Propriedades
Aborted, Canvas, Fonts, Handle, Orientation, PageHeight, PageWidth, PageNumber, PrinterIndex, Printing, Printers e Title
Principais Mtodos
Abort, BeginDoc, ClaassName, ClassParent, ClassType, Create, Destroy, EndDoc, Free, GetPrinter, NewPage e SetPrinter
Principais Eventos
Esse componente no possui eventos associados.
TPRINTERSETUPDIALOG
Descrio
O controle TPrinterSetupDialog fornece uma caixa de dilogo de configurao de impressora na qual o usurio pode configurar a impressora a ser usada.
Unit
Na VCL:
Dialogs
Principais Propriedades
ComponentIndex, HelpContext, HelpKeyword, HelpTypeName, Owner e Tag
Principais Mtodos
Execute
Principais Eventos
Esse componente no possui eventos associados.
TPROGRESSBAR
Descrio
O controle TProgressBar um componente que pode ser utilizado para exibir o progresso da execuo de uma tarefa.
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
Align, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Cursor, Enabled, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Max, Min, Name, Owner, Parent, ParentShowHint, PopupMenu, Position, ShowHint, Showing, Step, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, Focused, Free, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, SendToBack, SetBounds, SetFocus, SetTextBuf, Show Stepit, StepBy e Update
Principais Eventos
OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnMouseDown, OnMouseMove e OnMouseUp e OnStartDrag
TPROVIDER
Descrio
Esse componente responsvel por fornecer os dados de um dataset aplicao-cliente.
Unit
Na VCL:
Provider
Principais Propriedades
DataSet, UpdateMode, Options, ResolveToDataSet, Resolver, Constraints, Data, Provider
Principais Mtodos
ApplyUpdates, Create, FetchData, Reset, SetParams, Destroy, GetRecords, DataRequest, GetMetaData
Principais Eventos
OnGetDataSetProperties, AfterUpdateRecord, BeforeUpdateRecord, OnGetData, OnUpdateData, OnUpdateError, OnDataRequest
TQRDBTEXT
Descrio
Esse controle usado para exibir, em um relatrio, o valor de um campo de um banco de dados.
Unit
Na VCL:
QRCtrls
Principais Propriedades
Alignment, AutoSize, Color, Cursor, DataField, DataSource, Font, Height, Hint, Left, Name, ParentFont, Tag, Top, Transparent, Visible e Width
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
939
Principais Eventos
OnPrint
TQRLABEL
Descrio
O controle TQRLabel usado na exibio de texto como cabealho de coluna em um relatrio.
Unit
Na VCL:
QRCtrls
Principais Propriedades
Alignment, AlignToBand, AutoSize, Caption, Color, Cursor, Font, Height, Hint, Left, Name, ParentFont, Tag, Top, Transparent, Visible e Width
Principais Mtodos
Esse controle no possui mtodos associados.
Principais Eventos
OnPrint
TQRMEMO
Descrio
Esse controle usado para inserir um texto com mltiplas linhas em um relatrio.
Unit
Na VCL:
QRCtrls
Principais Propriedades
Alignment, Color, Cursor, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Lines, Name, ParentFont, TabStop, Tag, Top, Width e WordWrap
Principais Mtodos
Esse controle no possui mtodos associados.
Principais Eventos
Esse controle no possui eventos associados.
TQRPREVIEW
Descrio
Esse controle facilita a criao de formulrios para a pr-visualizao de pginas de relatrios.
Unit
Na VCL:
QRCtrls
Principais Propriedades
Align. AutoScroll, BorderStyle, Color, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, HorzScrollBar, Left, Name, PageNumber, ParentColor, ParentCtl3d, ParentFont, ParentShowHint, PopupMenu, ShowHint, TabOrder, TabStop, Tag, Top, VertScrollBar, Visible, Width e Zoom
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnMouseDown, OnMouseMove, OnMouseUp e OnResize
TQRPRINTER
Descrio
O controle TQRPrinter usado como um objeto de impresso (representa uma impressora), com capacidades de pr-visualizao, leitura e gravao. Um objeto desse tipo, chamado QRPrinter, sempre criado quando a sua aplicao comea a ser executada. Os objetos do tipo TQuickReport usam esse objeto nas suas tarefas de impresso.
Unit
Na VCL:
QRCtrls
Principais Propriedades
Canceled, Canvas, EnableOpenBtn, EnablePrintBtn, EnableSaveBtn, FromPage, Orientation, Page, PageCount, PageHeight, PageNumber, PageWidth, PrinterOk, ShowProgress, Status, Thumbs, Title e ToPage
Principais Mtodos
BeginDoc, Cancel, CleanUp, EndDoc, Load, NewPage, Preview, Print e Save
Principais Eventos
OnPreview
TQRSHAPE
Descrio
Esse controle usado para exibir figuras em um relatrio.
Unit
Na VCL:
QRCtrls
Principais Propriedades
Brush, Cursor, Height, Hint, Left, Name, Pen, Shape, Tag, Top, Visible e Width
Principais Mtodos
Esse controle no possui mtodos associados.
Principais Eventos
Esse controle no possui eventos associados.
TQRSYSDATA
Descrio
Esse controle usado para exibir dados do sistema em um relatrio.
Unit
Na VCL:
QRCtrls
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
941
Principais Mtodos
BeginDoc, Cancel, CleanUp, EndDoc, Load, NewPage, Preview, Print e Save
Principais Eventos
OnPrint
TQUERY
Descrio
Esse componente permite que o Delphi execute declaraes SQL no Borland Database Engine ou em um servidor SQL.
Unit
DBTables
Principais Propriedades
Active, AutoCalcFilelds, BOB, CanModify, Database, DatabaseName, DatabaseSource, DBHandle, DBLocale, EOF, FieldCount, FieldDefs, Field, Handle, Local, Locale, Modified, Name, Owner, ParamCount, Params, Prepared, RecordCount, RequestLive, SQL, SQLBinary, State, StmtHandle, Tag, Text, Unidirecional e UpdateMode
Principais Mtodos
Append, AppendRecord, Cancel, CheckBrowseMode, ClearFields, Close, CursorPosChanged, Delete, DisableControls, Edit, EnableControls, ExecSQL, FieldByName, FindField, First, FreeBookmark, GetBookmark, GetFieldNames, GotoBookmark, Insert, InsertRecord, Last, MoveBy, Next, Open, ParamByName, Post, Prepare, Prior, Refresh, SetFields, UnPrepared, UpdateCursorPos e UpdateRecord
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, OnCalcFields e OnNewRecord
TQUERYTABLEPRODUCER
Descrio
Esse componente gera uma string de comandos HTML que forma uma tabela com os dados provenientes de uma consulta SQL.
Unit
Na VCL:
DBBDEWeb
Principais Propriedades
DataSet, Query, Caption, CaptionAlignment, Columns, Editor, Footer, Header, MaxRows, RowAttributes e TableAttributes
Principais Mtodos
Content, BeginUpdate, Create, Destroy, EndUpdate
Principais Eventos
OnCreateContent, OnFormatCell, OnGetTableCaption
TQUEUE
Descrio
Esta classe permite manipular objetos usando uma estrutura de dados do tipo Fila. Neste tipo de estrutura de dados, o primeiro elemento a entrar o primeiro a sair, sendo comumente denominada estrutura do tipo FIFO First In, First Out.
Principais Propriedades
Esta classe no possui propriedades associadas.
Principais Mtodos
AfterConstruction,. AtLeast, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Count, Create, DefaultHandler, Destroy, Dispatch, FieldAddress, Free, FreeInstance, GetInterface, GetInterfaceEntry, GetInterfaceTable, InheritsFrom, InitInstance, InstanceSize, MethodAddress, MethodName, NewInstance, Peek, Pop, Push, SafeCallException
Principais Eventos
Esta classe no possui propriedades associadas.
TQUICKREP
Descrio
O controle TQuickReport responsvel pela funcionalidade da impresso de dados, transformando formulrios em relatrios.
Unit
Na VCL:
QuickRpt
Principais Propriedades
ColumnMarginInches, ColumnMarginsMM, Columns, DataSet, DisplayPrintDialog, LeftMarginInches, LeftMarginsMM, Name, Orientation, PageCount, PageHeight, PageNumber, PageWidth, RecordCount, RecordNo, ReportTitle, ReportType, RestartData, ShowProgress, SQLCompatible Tag e TitleBeforeHeader
Principais Mtodos
NewPage, Prepare, Preview e Print
Principais Eventos
AfterDetail, AfterPrint, BeforeDetail, BeforePrint, OnEndPage, OnFilter, OnNeedData e OnStartPage
TRADIOBUTTON
Descrio
O controle TRadioButton um boto de opo exclusiva que permite ao usurio selecionar ou no uma opo no aplicativo.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, Alignment, Caption, Checked, Color, ComponentIndex, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Edit, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetTextBuf, Show e Update
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
943
TRADIOGROUP
Descrio
O controle TRadioGroup permite a exibio de um conjunto de botes de rdio que representam opes mutuamente exclusivas.
Unit
Na VCL:
ExtCtrls
Na CLX:
QExtCtrls
Principais Propriedades
Align, Caption, Color, Columns, ComponentIndex, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, ItemIndex, Items, Left, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, ContainsControl, Dragging, EndDrag, FindComponent, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus e SetTextBuf
Principais Eventos
OnClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter e OnExit
TRDSCONNECTION
Descrio
Este componente responsvel pela Conexo e acesso Remoto a bancos de dados atravs do Mecanismo Activex Data Objects (ADO).
Unit
Na VCL:
AdODB
Principais Propriedades
AppServer, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, ComputerName, Connected, DataSetCount, DataSets, DataSpaceObject, DesignInfo, InternetTimeout, LoginPrompt, Name, Owner, ServerName, StreamedConnected, Tag, VCLComObject
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Close, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, DoConnect, DoDisconnect, ExecuteAction, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetConnected, GetDataSet, GetDataSetCount, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GetRecordset, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, Loaded, MethodAddress, MethodName, NewInstance, Open, RegisterClient, RemoveComponent, SafeCallException, SendConnectEvent, SetConnected, UnRegisterClient, UpdateAction
Principais Eventos
AfterConnect, AfterDisconnect, BeforeConnect, BeforeDisconnect, OnLogin.
TREGISTRY
Descrio
Essa classe representa o registro do Windows, permitindo que uma aplicao possa acess-lo e alter-lo.
Unit
Na VCL:
Registry
Principais Propriedades
CurrentKey, CurrentPath, LazyWrite, RootKey
Principais Mtodos
CloseKey, Create, CreateKey, DeleteKey, DeleteValue, Destroy, GetDataInfo, GetDataSize, GetDataType, GetKeyInfo, GetKeyNames, GetValueNames, HasSubKeys, KeyExists, LoadKey, MoveKey, OpenKey, OpenKeyReadOnly, ReadBool, ReadCurrency, ReadDate, ReadDateTime, ReadFloat, ReadInteger, ReadString, ReadTime, RegistryConnect, RenameValue, ReplaceKey, RestoreKey, SaveKey, UnLoadKey, ValueExists, WriteBinaryData, WriteBool, WriteCurrency, WriteDate, WriteDateTime, WriteExpandString, WriteFloat, WriteInteger, WriteString, WriteTime
Principais Eventos
Essa classe no possui eventos associados.
TREGISTRYINIFILE
Descrio
Essa classe representa o registro do Windows, permitindo que uma aplicao possa acess-lo e alter-lo.
Unit
Na VCL:
Registry
Principais Propriedades
RegIniFile, FileName
Principais Mtodos
Creat, DeleteKey, EraseSection, ReadDate, ReadDateTime, ReadFloat, ReadInteger, ReadSection, ReadSections, ReadSectionValues, ReadString, ReadTime, UpdateFile, WriteDate, WriteDateTime, WriteFloat, WriteInteger, WriteString, WriteTime, ReadBool, SectionExists, ValueExists, WriteBool
Principais Eventos
Essa classe no possui eventos associados.
TREMOTESERVER
Descrio
Esse componente responsvel por manter uma conexo a um servidor remoto em uma aplicao multicamada.
Unit
Na VCL:
MIDAScon
Principais Propriedades
ComputerName, Connected, AppServer, LoginPrompt, ObjectBroker, ServerGUID, ServerName
Principais Mtodos
Create, Destroy e GetProvider
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
945
TREPLACEDIALOG
Descrio
O controle TReplaceDialog fornece uma caixa de dilogo para pesquisa e substituio de texto.
Unit
Na VCL:
Dialogs
Na CLX:
QDialogs
Principais Propriedades
ComponentIndex, Ctl3D, FindText, HelpContext, HelpKeyword, HelpTypeName, Options, Owner, Replacetext e Tag
Principais Mtodos
CloseDialog e Execute
Principais Eventos
OnFind e OnReplace
TRICHEDIT
Descrio
O controle TRichEdit semelhante ao controle TMemo, mas permite a aplicao de fontes com diferentes atributos a partes distintas do texto inserido no controle.
Unit
Na VCL:
ComCtrls
Principais Propriedades
Align, Alignment, BorderStyle, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, Color, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Ctl3D, Cursor, DragMode, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHideScrollBars, HideSelection, Hint, Left, Lines, MaxLength, Name, Owner, Paragraph, Parent, ParentColor, ParentCtl3D, ParentFont, PlainText, PopupMenu, ReadOnly, ScrollBars, SetAttributes, ShowHint, Showing, TabOrder, TabStop, Tag, Top, Visible, WantTabs, WantReturns, Width e WordWrap
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, FindText, Focused, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Print, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp, OnProtectChange, OnResizeRequest, OnSaveClipboard, OnSelectionChange e OnStartDrag
TRPBARSBASE
Unit
Na VCL:
RpBars
Descrio
Esta classe a classe-base para a gerao de cdigos de barra em componentes do Rave Reports.
Principais Propriedades
BarBottom, BarCodeJustify, BarCodeRotation, BarHeight, BarTop, BarWidth, BaseReport, Bottom, Center, CheckSum, CodePage, Extended, ExtendedText, Height, Left, Position, PrintChecksum, PrintReadable, PrintTop, ReadableHeight, Right, Text, TextJustify, Top, UseChecksum, WideFactor, Width
Principais Mtodos
Create, IsValidChar, Print, PrintFimA, PrintFimB, PrintFimC, PrintXY
Principais Eventos
Esta classe no possui eventos associados.
TRPBASECOMPONENT
Unit
Na VCL:
RpBase
Na CLX:
QRpBase
Descrio
Esta classe a classe-base para todos os components do Rave Reports relacionados com a formatao de sada de relatrios.
Principais Propriedades
Version
Principais Mtodos
Essa classe no possui mtodos associados.
Principais Eventos
Essa classe no possui eventos associados.
TRPCOMPONENT
Unit
Na VCL:
RpDefine
Na CLX:
QRpDefine
Descrio
Esta classe a classe-base para todos os componentes do Rave Reports no vinculados formatao de sada.
Principais Propriedades
Version
Principais Mtodos
Essa classe no possui mtodos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
947
TRPRENDER
Unit
Na VCL:
RpRender
Na CLX:
RpRender
Principais Propriedades
Active, CacheDir, DisplayName, ImageQuality, MetafileDPI, OnCompress, ServerMode, UseCompression, Version
Principais Eventos
Essa classe no possui eventos associados.
TRPRENDERCANVAS
Unit
Na VCL:
RpRender
Na CLX:
QRpRender
Descrio
Esta a classe-base para renderizao em tela de relatrios.
Principais Propriedades
Active, CacheDir, DisplayName, ImageQuality, MetafileDPI, OnCompress, ServerMode, UseCompression, Version
Principais Eventos
Essa classe no possui eventos associados.
TRPRENDERSTREAM
Unit
RpRenderDescrio
Esta a classe-base para renderizao de relatrios com stream.
Principais Propriedades
Active, CacheDir, DisplayName, ImageQuality, MetafileDPI, OnCompress, ServerMode, UseCompression, Version
TRVCUSTOMCONNECTION
Unit
Na VCL:
RpCon
Na CLX:
QRpCon
Descrio
Permite customizar o acesso a dados no provenientes de componentes de acesso a bancos de dados.
Principais Propriedades
FieldAliasList, LocalFilter, RuntimeVisibility, Version
Principais Mtodos
WriteBCDData, WriteBlobData, WriteBoolData, WriteCurrData, WriteDateTime, WriteFloatData, WriteIntData, WriteNullData, WriteStrData
Principais Eventos
OnFirst, OnGetCols, OnGetRow, OnGetSorts, OnNext, OnOpen, OnRestore, OnSetFilter, OnSetSort, OnValidateRow
TRVDATASETCONNECTION
Unit
Na VCL:
RpConDS
Na CLX:
QRpConDS
Descrio
Classe-base para conexo a dados provenientes de componentes de acesso a bancos de dados.
Principais Propriedades
DataSet, FieldAliasList, LocalFilter, RuntimeVisibility, Version
Principais Mtodos
WriteBCDData, WriteBlobData, WriteBoolData, WriteCurrData, WriteDateTime, WriteFloatData, WriteIntData, WriteNullData, WriteStrData
Principais Eventos
OnFirst, OnGetCols, OnGetRow, OnGetSorts, OnNext, OnOpen, OnRestore, OnSetFilter, OnSetSort, OnValidateRow
TRVNDRWRITER
Unit
Na VCL:
RpFiler
Na CLX:
QRpFiler
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
949
Principais Propriedades
Aborted, AccuracyMethod, AscentHeight, Bins, BKColor, Bold, BottomWaste, BoxLineColor, Canvas, Collate, ColumnEnd, ColumnLinesLeft, ColumnNum, Columns, ColumnStart, ColumnWidth, Copies, CurrentPage, CurrentPass, CursorXPos, CursorYPos, DescentHeight, DeviceName, DevMode, DriverName, Duplex, FileName, FirstPage, FontAlign, FontBaseline, FontBottom, FontCharset, FontColor, FontHandle, FontHeight, FontName, FontPitch, FontRotation, Fonts, FontSize, FontTop, FontWidth, FrameMode, GridVert, Italic, LastPage, LeftWaste, LineBottom, LineHeight, LineHeightMethod, LineMiddle, LineNum, LinesPerInch, LineTop, MacroData, MarginBottom, MarginLeft, MarginRight, MarginTop, MaxCopies, NoBufferLine, NoNTColorFix, NoPrinterPageHeight, NoPrinterPageWidth, Orientation, OriginX, OriginY, OutputInvalid, OutputName, PageHeight, PageInvalid, PageWidth, Papers, PIVar, Port, PrinterIndex, Printers, Printing, ReportDateTime, RightWaste, ScaleX, ScaleY, SectionBottom, SectionLeft, SectionRight, SectionTop, Selection, ShadowDepth, StatusFormat, StatusLabel, StatusText, Stream, StreamMode, Strikeout, Subscript, Superscript, TabColor, TabJustify, TabShade, TextBKMode, Title, TopWaste, TotalPasses, TransparentBitmaps, TruncateText, Underline, Units, UnitsFactor, Version, XDPI, XPos, YDPI, YPos
Principais Mtodos
Abort, AbortPage, AdjustLine, AllowAll, AllowPreviewOnly, AllowPrinterOnly, Arc, AssignFont, BrushCopy, CalcGraphicHeight, CalcGraphicWidth, Chord, ClearAllTabs, ClearColumns, ClearTabs, CopyRect, CR, Create, CreateBrush, CreateFont, CreatePen, CreatePoint, CreateRect, Destroy, DrawFocusRect, Draw, Ellipse, Execute, FillRect, Finish, FinishTabBox, FloodFill, FrameRect, GetMemoLine, GetNextLine, GetTab, GotoFooter, GotoHeader, GotoXY, GraphicFieldToBitmap, Home, LF, LinesLeft, LineTo, Macro, MemoLines, MoveTo, NewColumn, NewLine, NewPage, NoPrinters, Pie, Polygon, Polyline, PopFont, PopPos, PopTabs, Print, PrintBitmap, PrintBitmapRect, PrintBlock, PrintCenter, PrintCharJustify, PrintData, PrintDataStream, PrintFooter, PrintHeader, PrintImageRect, PrintJustify, PrintLeft, PrintLn, PrintMemo, PrintRight, PrintTab, PrintXY, PushFont, PushPos, PushTabs, RecoverPrinter, Rectangle, RegisterGraphic, ReleasePrinter, Reset, ResetLineHeight, ResetPrinter, ResetSection, ResetTabs, RestoreFont, RestorePos, RestoreTabs, ReuseGraphic, RoundRect, SaveFont, SavePos, SaveTabs, SelectBin, SelectPaper0 SelectPrinter, SetBrush, SetColumns, SetColumnWidth, SetFont, SetPaperSize, SetPen, SetPIVar, SetTab, SetTopOfPage, ShadeToColor, ShowPrintDialog, ShowPrinterSetupDialog, Start, StretchDraw, SupportBin, SupportCollate, SupportDuplex, SupportOrientation, SupportPaper, Tab, TabEnd, TabStart, TabWidth, TextRect, TextWidth, UnregisterGraphic, UpdateStatus, XD2U, XI2D, XI2U, XU2D, XU2I, YD2I, YD2U, YI2D, YI2U, YU2D, YU2I
Principais Eventos
OnAfterPrint, OnBeforePrint, OnDecodeImage, OnNewColumn, OnNewPage, OnPrint, OnPrintFooter, OnPrintHeader, OnPrintPage
TRVPROJECT
Unit
Na VCL:
RpRave
Na CLX:
QRpRave
Descrio
Este componente fornece acesso ao editor visual de relatrios do Rave. Em geral usa-se apenas um componente desta classe em uma aplicao, podendo no entanto usar-se mais de um, se necessrio. A sua propriedade ProjectFile define o projeto de relatrio (no confundir com o projeto de aplicao Delphi) usado pela aplicao e acessado por este componente. Este arquivo de projeto ter a extenso .RAV e, mesmo constituindo-se em um nico arquivo, pode conter a definio de diversos relatrios acessados pela aplicao.
Principais Mtodos
ClearRaveBlob, Close, Design, DesignReport, Execute, ExecuteReport, GetReportCategoryList, GetReportList, LoadFromFile, LoadFromStream, LoadRaveBlob, Open, ReportDescToMemo, Save, SaveRaveBlob, SaveToFile, SaveToStream, SelectReport, SetParam
Principais Eventos
OnAfterClose, OnAfterOpen, OnBeforeClose, OnBeforeOpen, OnCreate, OnDesignerSave, OnDesignerSaveAs, OnDesignerShow e OnDestroy
TRVRENDERPDF
Unit
Na VCL:
RvRenderPDF
Na CLX:
RvRenderPDF
Descrio
Este componente responsvel pela gerao de um relatrio no formato PDF.
Principais Propriedades
Active, CacheDir, DisplayName, FileExtension, ImageQuality, MetafileDPI, OnCompress, ServerMode, UseCompression, Version
Principais Mtodos
Esta classe no possui mtodos associados.
Principais Eventos
OnCompress, OnDecodeImage
TRVRENDERHTML
Unit
Na VCL:
RvRenderHTML
Na CLX:
RvRenderHTML
Descrio
Este componente responsvel pela gerao de um relatrio no formato HTML.
Principais Propriedades
Active, CacheDir, DisplayName, FileExtension, ImageQuality, MetafileDPI, OnCompress, ServerMode, UseCompression, Version
Principais Mtodos
Esta classe no possui mtodos associados.
Principais Eventos
Esta classe no possui eventos associados.
TRVRENDERPREVIEW
Unit
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
951
Na CLX:
QRpRenderPreview
Descrio
Esta classe responsvel pela pr-visualizao de um relatrio a partir de um arquivo gerado pelo componenteTRvNDRWriter.
Principais Propriedades
Aborted, AccuracyMethod, AscentHeight, Bins, BKColor, Bold, BottomWaste, BoxLineColor, Canvas, Collate, ColumnEnd, ColumnLinesLeft, ColumnNum, Columns, ColumnStart, ColumnWidth, Copies, CurrentPage, CurrentPass, CursorXPos, CursorYPos, DescentHeight, DeviceName, DevMode, DriverName, Duplex, FileName, FirstPage, FontAlign, FontBaseline, FontBottom, FontCharset, FontColor, FontHandle, FontHeight, FontName, FontPitch, FontRotation, Fonts, FontSize, FontTop, FontWidth, FrameMode, GridVert, IgnoreFileSettings, Italic, LastPage, LeftWaste, LineBottom, LineHeight, LineHeightMethod, LineMiddle, LineNum, LinesPerInch, LineTop, MacroData, MarginBottom, MarginLeft, MarginMethod, MarginPercent, MarginRight, MarginTop, MaxCopies, Monochrome, NoBufferLine, NoNTColorFix, NoPrinterPageHeight, NoPrinterPageWidth, Orientation, OriginX, OriginY, OutputInvalid, OutputName, PageHeight, PageInc, PageInvalid, Pages, PageWidth, Papers, PIVar, Port, PrinterIndex, Printers, Printing, ReportDateTime, RightWaste, ScaleX, ScaleY, ScrollBox, SectionBottom, SectionLeft, SectionRight, SectionTop, Selection, ShadowDepth, StatusFormat, StatusLabel, StatusText, Stream, StreamMode, Strikeout, Subscript, Superscript, TabColor, TabJustify, TabShade, TextBKMode, Title, TopWaste, TotalPasses, TransparentBitmaps, TruncateText, Underline, Units, UnitsFactor, Version, XDPI, XPos, YDPI, YPos, ZoomFactor, ZoomInc, ZoomPageFactor, ZoomPageWidthFactor
Principais Mtodos
Abort, AbortPage, AdjustLine, AllowAll, AllowPreviewOnly, AllowPrinterOnly, Arc, AssignFont, BrushCopy, CalcGraphicHeight, CalcGraphicWidth, Chord, Clear, ClearAllTabs, ClearColumns, ClearTabs, CopyRect, CR, Create, CreateBrush, CreateFont, CreatePen, CreatePoint, CreateRect, Destroy, DrawFocusRect, Draw, Ellipse, Execute, ExecuteCustom, FillRect, Finish, FinishTabBox, FloodFill, FrameRect, GetMemoLine, GetNextLine, GetTab, GotoFooter, GotoHeader, GotoXY, GraphicFieldToBitmap, Home, LF, LinesLeft, LineTo, Macro, MemoLines, MoveTo, NewColumn, NewLine, NewPage, NextPage, NoPrinters, Pie, Polygon, Polyline, PopFont, PopPos, PopTabs, PrevPage, Print, PrintBitmap, PrintBitmapRect, PrintBlock, PrintCenter, PrintCharJustify, PrintData, PrintDataStream, PrintFooter, PrintHeader, PrintImageRect, PrintJustify, PrintLeft, PrintLn, PrintMemo, PrintPage, PrintRight, PrintTab, PrintXY, PushFont, PushPos, PushTabs, RecoverPrinter, Rectangle, RedrawPage, RegisterGraphic, ReleasePrinter, Reset, ResetLineHeight, ResetPrinter, ResetSection, ResetTabs, RestoreFont, RestorePos, RestoreTabs, ReuseGraphic, RoundRect, SaveFont, SavePos, SaveTabs, SelectBin, SelectPaper0 SelectPrinter, SetBrush, SetColumns, SetColumnWidth, SetFont, SetPaperSize, SetPen, SetPIVar, SetTab, SetTopOfPage, ShadeToColor, ShowPrintDialog, ShowPrinterSetupDialog, Start, StretchDraw, SupportBin, SupportCollate, SupportDuplex, SupportOrientation, SupportPaper, Tab, TabEnd, TabStart, TabWidth, TextRect, TextWidth, UnregisterGraphic, UpdateStatus, XD2I, XD2U, XI2D, XI2U, XU2D, XU2I, YD2I, YD2U, YI2D, YI2U, YU2D, YU2I, ZoomIn, ZoomOut
Principais Eventos
OnAfterPrint, OnBeforePrint, OnDecodeImage, OnNewColumn, OnNewPage, OnPageChange, OnPrint, OnPrintFooter, OnPrintHeader, OnPrintPage, OnZoomChange
TRVRENDERPRINTER
Unit
Na VCL:
RpRenderPrinter
Na CLX:
QRpRenderPrinter
Principais Propriedades
Aborted, AccuracyMethod, AscentHeight, Bins, BKColor, Bold, BottomWaste, BoxLineColor, Canvas, Collate, ColumnEnd, ColumnLinesLeft, ColumnNum, Columns, ColumnStart, ColumnWidth, Copies, CurrentPage, CurrentPass, CursorXPos, CursorYPos, DescentHeight, DeviceName, DevMode, DriverName, Duplex, FileName, FirstPage, FontAlign, FontBaseline, FontBottom, FontCharset, FontColor, FontHandle, FontHeight, FontName, FontPitch, FontRotation, Fonts, FontSize, FontTop, FontWidth, FrameMode, GridVert, IgnoreFileSettings, Italic, LastPage, LeftWaste, LineBottom, LineHeight, LineHeightMethod, LineMiddle, LineNum, LinesPerInch, LineTop, MacroData, MarginBottom, MarginLeft, MarginRight, MarginTop, MaxCopies, NoBufferLine, NoNTColorFix, NoPrinterPageHeight, NoPrinterPageWidth, Orientation, OriginX, OriginY, OutputInvalid, OutputName, PageHeight, PageInvalid, PageWidth, Papers, PIVar, Port, PrinterIndex, Printers, Printing, ReportDateTime, RightWaste, ScaleX, ScaleY, SectionBottom, SectionLeft, SectionRight, SectionTop, Selection, ShadowDepth, StatusFormat, StatusLabel, StatusText, Stream, StreamMode, Strikeout, Subscript, Superscript, TabColor, TabJustify, TabShade, TextBKMode, Title, TopWaste, TotalPasses, TransparentBitmaps, TruncateText, Underline, Units, UnitsFactor, Version, XDPI, XPos, YDPI, YPos
Mtodos
Abort, AbortPage, AdjustLine, AllowAll, AllowPreviewOnly, AllowPrinterOnly, Arc, AssignFont, BrushCopy, CalcGraphicHeight, CalcGraphicWidth, Chord, ClearAllTabs, ClearColumns, ClearTabs, CopyRect, CR, Create, CreateBrush, CreateFont, CreatePen, CreatePoint, CreateRect, Destroy, DrawFocusRect, Draw, Ellipse, Execute, FillRect, Finish, FinishTabBox, FloodFill, FrameRect, GetMemoLine, GetNextLine, GetTab, GotoFooter, GotoHeader, GotoXY, GraphicFieldToBitmap, Home, LF, LinesLeft, LineTo, Macro, MemoLines, MoveTo, NewColumn, NewLine, NewPage, NoPrinters, Pie, Polygon, Polyline, PopFont, PopPos, PopTabs, Print, PrintBitmap, PrintBitmapRect, PrintBlock, PrintCenter, PrintCharJustify, PrintData, PrintDataStream, PrintFooter, PrintHeader, PrintImageRect, PrintJustify, PrintLeft, PrintLn, PrintMemo, PrintRight, PrintTab, PrintXY, PushFont, PushPos, PushTabs, RecoverPrinter, Rectangle, RegisterGraphic, ReleasePrinter, Reset, ResetLineHeight, ResetPrinter, ResetSection, ResetTabs, RestoreFont, RestorePos, RestoreTabs, ReuseGraphic, RoundRect, SaveFont, SavePos, SaveTabs, SelectBin, SelectPaper0 SelectPrinter, SetBrush, SetColumns, SetColumnWidth, SetFont, SetPaperSize, SetPen, SetPIVar, SetTab, SetTopOfPage, ShadeToColor, ShowPrintDialog, ShowPrinterSetupDialog, Start, StretchDraw, SupportBin, SupportCollate, SupportDuplex, SupportOrientation, SupportPaper, Tab, TabEnd, TabStart, TabWidth, TextRect, TextWidth, UnregisterGraphic, UpdateStatus, XD2U, XI2D, XI2U, XU2D, XU2I, YD2I, YD2U, YI2D, YI2U, YU2D, YU2I
Eventos
OnAfterPrint, OnBeforePrint, OnDecodeImage, OnNewColumn, OnNewPage, OnPrint, OnPrintFooter, OnPrintHeader, OnPrintPage
TRVRENDERRTF
Unit
Na VCL:
RvRenderRTF
Na CLX:
RvRenderRTF
Descrio
Este componente responsvel pela gerao de um relatrio no formato RTF.
Principais Propriedades
Active, CacheDir, DisplayName, FileExtension, ImageQuality, MetafileDPI, OnCompress, ServerMode, UseCompression, Version
Principais Mtodos
Esta classe no possui mtodos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
953
TRVRENDERTEXT
Unit
Na VCL:
RvRenderText
Na CLX:
RvRenderTextDescrio
Este componente responsvel pela gerao de um relatrio no formato de Texto ASCII.
Principais Propriedades
Active, CacheDir, DisplayName, FileExtension, ImageQuality, MetafileDPI, OnCompress, ServerMode, UseCompression, Version
Principais Mtodos
Esta classe no possui mtodos associados.
Principais Eventos
Esta classe no possui eventos associados.
TRVQUERYCONNECTION
Na VCL:
RpConBDE
Na CLX:
QRpConBDE
Descrio
Usado para gerao de relatrios vinculados a dados provenientes de um componente TQuery.
Principais Propriedades
FieldAliasList, LocalFilter, RuntimeVisibility, Query, Version
Principais Mtodos
WriteBCDData, WriteBlobData, WriteBoolData, WriteCurrData, WriteDateTime, WriteFloatData, WriteIntData, WriteNullData, WriteStrData
Principais Eventos
OnFirst, OnGetCols, OnGetRow, OnGetSorts, OnNext, OnOpen, OnRestore, OnSetFilter, OnSetSort, OnValidateRow
TRVSYSTEM
Unit
Na VCL:
RpSystem
Na CLX:
QRpSystem
Descrio
Este componente trabalha em conjunto com componentes das classes TRvRenderPreview, TRvRenderPrinter e TRvNDRWriter para enviar um relatrio para pr-visualizao na tela ou para impresso.
Principais Mtodos
Este componente no possui mtodos associados.
Principais Eventos
OnPreviewSetup, OnPreviewShow, OverridePreview, OverrideSetup, OverrideStatus
TRVTABLECONNECTION
Unit
Na VCL:
RpConBDE
Na CLX:
QRpConBDE
Descrio
Usado para gerao de relatrios vinculados a dados provenientes de um componente TTable.
Principais Propriedades
FieldAliasList, LocalFilter, RuntimeVisibility, Table, UseSetRange, Version
Principais Mtodos
WriteBCDData, WriteBlobData, WriteBoolData, WriteCurrData, WriteDateTime, WriteFloatData, WriteIntData, WriteNullData, WriteStrData
Principais Eventos
OnFirst, OnGetCols, OnGetRow, OnGetSorts, OnNext, OnOpen, OnRestore, OnSetFilter, OnSetSort, OnValidateRow
TSAVEDIALOG
Descrio
O controle TSaveDialog fornece uma caixa de dilogo para salvar arquivos.
Unit
Na VCL:
Dialogs
Na CLX:
QDialogs
Principais Propriedades
ComponentIndex, Ctl3D, DefaultExt, FileEditStyle, FileName, Files, Filter, FilterIndex, HelpContext, HelpKeyword, HelpTypeHistoryList, InitialDir, Name, Options, Owner, Tag e Title
Principais Mtodos
Execute
Principais Eventos
Esse componente no possui eventos associados.
TSAVEPICTUREDIALOG
Descrio
O controle TSavePictureDialog fornece uma caixa de dilogo para salvar arquivos que armazenam imagens.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
955
Principais Propriedades
ComponentIndex, Ctl3D, DefaultExt, FileEditStyle, FileName, Files, Filter, FilterIndex, HelpContext, HelpKeyword, HelpTypeHistoryList, InitialDir, Name, Options, Owner, Tag e Title
Principais Mtodos
Execute
Principais Eventos
Esse componente no possui eventos associados.
TSCREEN
Descrio
Esse componente representa a tela do computador no qual a aplicao est sendo executada. O Delphi sempre cria automaticamente um componente chamado Screen do tipo TScreen para a sua aplicao.
Unit
Na VCL:
Forms
Na CLX:
QForms
Principais Propriedades
ActiveControl, ActiveForm, ComponentCount, ComponentIndex, Components, Cursor, Cursors, FormCount, Forms, Fonts, Heigth, Name, Owner, PixelsPerInch, Tag e Width
Principais Mtodos
FindComponent, InsertComponent e RemoveComponent
Principais Eventos
OnActiveControlChange e OnActiveFormChange
TSCROLLBAR
Descrio
O controle TScrollBar consiste em uma barra de rolamento, usada para rolar o contedo de uma janela, formulrio ou controle.
Unit
Na VCL:
StdCtrls
Na CLX:
QStdCtrls
Principais Propriedades
Align, ComponentIndex, Ctrl3D, Cursor, DragCursor, DragMode, Enabled, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Kind, LargeChange, Left, Max, Min, Name, Owner, Parent, ParentCtl3D, ParentShowHint, PopupMenu, Position, ShowHint, Showing, SmallChange, TabOrder, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, SendToBack, SetBounds, SetFocus, SetParams, SetTextBuf, Show e Update
TSCROLLBOX
Descrio
O controle TScrollBox permite que se defina uma rea de rolagem retangular interna a um formulrio. Voc pode, por exemplo, colocar dois controles do tipo TPanel, um para ser usado como barra de ferramentas (com propriedade Align igual a alTop) e o outro como barra de status (com propriedade Align igual a alBottom) e definir uma caixa de rolagem que ocupe a rea-cliente restante, de forma que o seu contedo possa ser rolado sem afetar a barra de ferramentas e a barra de status.
Unit
Na VCL:
Forms
Na CLX:
QForms
Principais Propriedades
Align, BorderStyle, Brush, Color, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Ctrl3D, Cursor, DragCursor, DragMode, Enabled, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, HorzScrollBar, Left, Name, Owner, Parent, ParentColor, ParentCtl3d, ParentFont, ParentShowHint, PopupMenu, ShowHint, Showing, TabOrder, TabStop, Tag, Top, VertScrollBar, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, ContainsControl, Dragging, EndDrag, FindComponent, Focused, GetTextBuf, GetTextLen, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, Repaint, ScaleBy, ScreenToClient, ScrollBy, ScrolllnView, SendToBack, SetBounds, SetFocus, SetTextBuf, Show, e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnMouseDown, OnMouseMove, OnMouseUp e OnResize
TSERVERSOCKET
Descrio
Esse componente gerencia conexes TCP/IP do lado servidor.
Unit
Na VCL:
scktcomp
Principais Propriedades
Socket, ServerType, ThreadCacheSize, Active, Port, Service
Principais Mtodos
Create, Destroy, Close e Open
Principais Eventos
OnClientConnect, OnClientDisconnect, OnClientError, OnClientRead, OnClientWrite, OnGetSocket, OnGetThread, OnThreadEnd, OnThreadStart, OnAccept, OnListen
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
957
TSESSION
Descrio
Esse componente no pode ser explicitamente criado pelo programador, mas o Delphi sempre cria automaticamente um componente chamado Session do tipo TSession para a sua aplicao. Esse componente se encarrega de controlar a conexo aos bancos de dados relacionados com a aplicao.
Unit
Na VCL:
DBTables
Principais Propriedades
DataBaseCount, DataBases, Handle, KeepConnections, Locale, Name, NetFileDir, Owner, PrivateDir e Tag
Principais Mtodos
AddPassword, CloseDataBase, DropConnections, FindDataBase, GetAliasNames, GetAliasParams, GetDatabaseNames, GetDriverNames, GetDriverParams, GetPassword, GetTableNames, GetStoredProcNames, OpenDatabase, RemoveAllPasswords e RemovePassWord
Principais Eventos
OnPassword
TSHAPE
Descrio
O componente TShape permite a exibio de formas geomtricas em um formulrio.
Unit
Na VCL:
ExtCtrls
Na CLX:
QExtCtrls
Principais Propriedades
Align, BoundsRect, Brush, ComponentIndex, Cursor, DragCursor, DragMode, Enabled, Height, Hint, Left, Name, Owner, Parent, ParentShowHint, Pen, Shape, ShowHint, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, ClientToScreen, Dragging, EndDrag, Hide, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, SendToBack, SetBounds, Show e Update
Principais Eventos
OnDragDrop, OnDragOver, OnEndDrag, OnMouseDown, OnMouseMove e OnMouseUp
TSIMPLEDATASET
Descrio
Este componente pode ser considerado como uma reunio de trs componentes: um SQLDataSet, um DatasetProvider e um ClientDataset. Substitui o componente SQLClientDataset da verso 6.
Unit
Na VCL e na CLX:
SimpleDS
Principais Propriedades
Active, ActiveAggs, AggFields, Aggregates, AggregatesActive, Appserver, AutoCalcFields, BlockReadSize, Bof, Bookmark, CanModify, ChangeCount, CloneSource, CommandText, CommandType, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle,
Principais Mtodos
ActiveBuffer, AddIndex, AfterConstruction, Append, AppendData, AppendRecord, ApplyRange, ApplyUpdates, Assign, BookmarkValid, Cancel, CancelRange, CancelUpdates, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, ClenupInstance, ClearFields, CloneCursor, CompareBookmarks, ConstraintsDisabled, ControlsDisabled, Create, CreateBlobStream, CreateDataSet, CursorPosChanged, DataRequest, DefaultHandler, Delete, DeleteIndex, Destroy, DestroyComponents, Destroying, DisableConstraints, DisableControls, Dispatch, Edit, EditKey, EditRangeEnd, EditRangeStar, EmptyDataSet, EnableConstraints, EnableControls, Execute, ExecuteAction, FetchBlobs, FetchDetails, FetchParams, FieldAddress, FieldByName, FindComponent, FindField, FindFirst, FindKey, FindLast, FindNearest, FindNext, FindPrior, First, Free, FreeBookmarl, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDatasets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetGroupState, GetIndexInfo, GetIndexNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetNextPacket, GetOptionalParam, GetParentComponent, GetQuoteChar, GotoBookmark, GotoCurrent, GotoKey, GotoNearest, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsImplementorOf, IsLinkedTo, IsSequenced, Last, LoadFromFile, LoadFromStream, Locate, Lookup, MergeChangeLog, MethodAddress, MethodName, MoveBy, NewInstance, Next, Open, Post, Prior, Reconcile, ReferenceInterface, Refresh, RefreshRecord, RemoveComponent, RemoveFreeNotification, Resync, RevertRecord, SaveCallException, SaveToFile, SaveToStream, SetAltRecBuffers, SetFields, SetKey, SetOptionalParam, SetProvider, SetRange, SetRangeEnd, SetRangeStart, SetSubCompnent, Translate, UndoLastChange, UpdateAction, pdateCursorPos, UpdateRecord e UpdateStatus
Principais Eventos
AfterApplyUpdates, AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterExecute, AfterGetParams, AfterGetRecords, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterRowRequest, AfterScroll, AfterUpdateRecord, BeforeApplyUpdates, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeExecute, BeforeGetParams, BeforeGetRecords, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeRowRequest, BeforeScroll, BeforeUpdateRecord, OnCalcFields, OnDeleteError, OnEditError, OnFilterRecord, OnGetTableName, OnNewRecord, OnPostError, OnReconcileError, OnUpdateData e OnUpdateError
TSIMPLEOBJECTBROKER
Descrio
Esse componente responsvel por fornecer uma lista de aplicaes-servidoras a um componente de conexo.
Unit
Na VCL:
ObjBrkr
Principais Propriedades
LoadBalanced, ServerData, Servers
Principais Mtodos
Create, Destroy, GetComputerForGUID, GetComputerForProgID, GetPortForComputer, LoadFromStream, SaveToStream, SetConnectStatus
Principais Eventos
Esse componente no possui eventos associados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
959
TSMALLINTFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um nmero inteiro, variando de -32,768 a 32,767.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayFormat, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditFormat, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, MaxValue, MinValue, Name, Owner, Precision, ReadOnly, Required, Size, Tag, Text, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TSOCKETCONNECTION
Descrio
Esse componente responsvel por conectar uma aplicao-cliente a um servidor remoto em uma aplicao multicamada usando o Windows Socket.
Unit
Na VCL:
Sconnect
Principais Propriedades
Address, Host, InterceptGUID, Port, AppServer, Connected, LoginPrompt, ObjectBroker, ServerGUID, ServerName
Principais Mtodos
Create, CreateTransport, GetProvider, Destroy e DoConnect
Principais Eventos
AfterConnect, AfterDisconnect, BeforeConnect, BeforeDisconnect, OnGetUserName, OnLogin
TSPEEDBUTTON
Descrio
O controle TSpeedButton um boto de pressionamento especial, que permite a incluso de um bitmap na sua face, e normalmente usado como boto de uma barra de ferramentas.
Unit
Na VCL:
Buttons
Na CLX:
QButtons
Principais Propriedades
Align, AllowAllUp, BoundsRect, Caption, ComponentIndex, Cursor, Down, Enabled, Font, Glyph, GroupIndex, Height, Hint, Layout, Left, Margin, Name, NumGlyphs, Owner, Parent, ParentFont, ParentShowHint, ShowHint, Showing, Spacing, Tag, Top, Visible e Width
Principais Eventos
OnClick, OnDblClick, OnMouseDown, OnMouseMove e OnMouseUp
TSQLCONNECTION
Descrio
Este componente responsvel pelo acesso a bancos de dados atravs do Mecanismo DBExpress.
Unit
Na VCL e na CLX:
sqlExpr
Principais Propriedades
ActiveStatements,AutoClone, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connected, ConnectionName, ConnectionState, DataSetCount, DataSets, DesignInfo, DriverName, GetDriverFunc, InTransaction, KeepConnection, LibraryName, LoadParamsOnConnect, LocaleCode, LoginPrompt, MaxStmtsPerConn, MetaData, Name, Owner, Params, ParamsLoaded, SQLConnection, SQLHourGlass, TableScope, Tag, TraceCallbackEvent, TransactionsSupported, VendorLib
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, CloneConnection, Close, CloseDataSets, Commit, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, Execute, ExecuteAction, ExecuteDirect, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, GetFieldNames, GetIndexNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GetProcedureNames, GetProcedureParams, GetTableNames, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, IsImplementorOf, LoadParamsFromIniFile, MethodAddress, MethodName, NewInstance, Open, ReferenceInterface, RemoveComponent, RemoveFreeNotification, Rollback, SafeCallException, SetSubComponent, SetTraceCallbackEvent, StartTransaction, UpdateAction
Principais Eventos
AfterConnect, AfterDisconnect, BeforeConnect, BeforeDisconnect, OnLogin.
TSQLDATASET
Descrio
Este componente permite acesso direto ou via declaraes sql a tabelas de bancos de dados atravs do Mecanismo DBExpress.
Unit
Na VCL e na CLX:
sqlExpr
Principais Propriedades
Active, AggFields, AutoCalcFields, BlockReadSize, Bof, Bookmark, CanModify, CommandText, CommandType, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DataSetField, Datasource, DefaultFields, Designer, DesignerData, DesignInfo, Eof, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, Filter, Filtered, FilterOptions, Found, IndexFields, IsUnidirecional, MaxBlobSize, Modified, Name, ObjectView, Owner, ParamCheck, Params, Prepared, RecNo, RecordCount, RecordSize, SortFieldNames, SparseArrays, SQLConnection, State, Tag, TransactionLevel.
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, Assign, BeforeDestruction, BookmarkValid, Cancel, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete,
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
961
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnFilterRecord, OnNewRecord, OnPostError
TSQLMONITOR
Descrio
Este componente Permite interceptar comandos sql entre componentes de acesso e o serevidor de banco de dados, atravs do Mecanismo DBExpress.
Unit
Na VCL e na CLX:
sqlExpr
Principais Propriedades
Active, AutoSave, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle,DesignInfo, FileName, MaxTraceCount, Name, Owner, SQLConnection, Tag, TraceCount, TraceList e VCLComObject.
Principais Mtodos
AfterConstruction, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, IsImplementorOf, LoadFromFile, MethodAddress, MethodName, NewInstance, ReferenceInterface, RemoveComponent, RemoveFreeNotification, SafeCallException, SaveToFile, SetSubComponent e UpdateAction
Principais Eventos
OnLogTrace e OnTrace
TSQLQUERY
Descrio
Este componente permite acesso via declaraes sql a tabelas de bancos de dados atravs do Mecanismo DBExpress.
Unit
Na VCL e na CLX:
sqlExpr
Principais Propriedades
Active, AggFields, AutoCalcFields, BlockReadSize, Bof, Bookmark, BookmarkSize, BufferCount, Buffers, CacheSize, CalcBuffer, CalcFieldsSize, CanModify, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DataSetField, DataSource, DefaultFields, Designer, DesignerData, DesignInfo, Eof, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, Filter, Filtered, FilterOptions, Found, IndexFields, IsUnidirecional, MaxBlobSize, Modified, Name, NoMetadata, ObjectView, Owner, ParamCheck, Params, Prepared, RecNo, RecordCount, RecordSize, RowsAffected, SparseArrays, SQL, SQLConnection, State, Tag, Text, TransisolationLevel, VCLComObject,
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnFilterRecord, OnNewRecord, OnPostError
TSQLSTOREDPROC
Descrio
Esse componente permite que uma aplicao desenvolvida em Delphi execute procedimentos armazenados em servidores, atravs do mecanismo DBExpress.
Unit
Na VCL e na CLX:
sqlExpr
Principais Propriedades
Active, AggFields, AutoCalcFields, BlockReadSize, Bof, Bookmark, CanModify, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DataSetField, DataSource, DefaultFields, Designer, DesignerData, DesignInfo, Eof, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, Filter, Filtered, FilterOptions, Found, IndexDefs, IsUnidirecional, MaxBlobSize, Modified, Name, ObjectView, Owner, ParamCheck, Params, Prepared, RecNo, RecordCount, RecordSize, SparseArrays, SQLConnection, State, Tag, VCLComObject
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, Assign, BeforeDestruction, BookmarkValid, Cancel, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecProc, ExecuteAction, FieldAddress, FieldByName, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetKeyFieldNames, GetNamePath, GetParentComponent, GotoBookmark, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsImplementorOf, IsLinkedTo, IsSequenced. Last, Locate, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, NextRecordset, Open, ParamByName, Post, PrepareStatement, Prior, ReferenceInstance, Refresh, RemoveComponent, RemoveFreeNotification, Resync, SafeCallException, SetSchemaInfo, SetSubComponent, Translate, UpdateAction, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnFilterRecord, OnNewRecord, OnPostError
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
963
TSQLTABLE
Descrio
Este componente permite acesso direto a tabelas de bancos de dados atravs do Mecanismo Activex Data Objects (ADO).
Unit
Na VCL e na CLX:
sqlExpr
Principais Propriedades
Active, AggFields, AutoCalcFields, BlockReadSize, Bof, Bookmark, CanModify, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DataSetField, DataSource, DefaultFields, Designer, DesignerData, DesignInfo, Eof, FieldCount, FieldDefList, FieldDefs, FieldList, Fields, FieldValues, Filter, Filtered, FilterOptions, Found, IndexFields, IndexName, IsUnidirecional, MasterFields, Mastersource, MaxBlobSize, Modified, Name, NoMetadata, ObjectView, Owner, Prepared, RecNo, RecordCount, RecordSize, SparseArrays, SQL, SQLConnection, State, TableName, Tag, TransisolationLevel, VCLComObject,
Principais Mtodos
ActiveBuffer, AfterConstruction, Append, AppendRecord, Assign, BeforeDestruction, BookmarkValid, Cancel, CheckBrowseMode, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, ClearFields, Close, CompareBookmarks, ControlsDisabled, Create, CreateBlobStream, CursorPosChanged, DefaultHandler, Delete, DeleteRecords, Destroy, DestroyComponents, Destroying, DisableControls, Dispatch, Edit, EnableControls, ExecuteAction, FieldAddress, FieldByName, FindComponent, FindField, FindFirst, FindLast, FindNext, FindPrior, First, Free, FreeBookmark, FreeInstance, FreeNotification, FreeOnRelease, GetBlobFieldData, GetBookmark, GetCurrentRecord, GetDetailDataSets, GetDetailLinkFields, GetFieldData, GetFieldList, GetFieldNames, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetKeyFieldNames, GetNamePath, GetParentComponent, GetQuoteChar, GotoBookmark, HasParent, InheritsFrom, InitInstance, Insert, InsertComponent, InsertRecord, InstanceSize, IsEmpty, IsImplementorOf, IsLinkedTo, IsSequenced. Last, Locate, Lookup, MethodAddress, MethodName, MoveBy, NewInstance, Next, Open, ParamByName, Post, PrepareStatement, Prior, ReferenceInterface, Refresh, RemoveComponent, RemoveFreeNotification, Resync, SafeCallException, SetFields, SetSchemaInfo, SetSubComponent, Translate, UpdateAction, UpdateCursorPos, UpdateRecord, UpdateStatus
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, AfterRefresh, AfterScroll, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, BeforeRefresh, BeforeScroll, OnCalcFields, OnDeleteError, OnEditError, OnFilterRecord, OnNewRecord, OnPostError.
TSTACK
Descrio
Esta classe permite manipular objetos usando uma estrutura de dados do tipo Pilha. Neste tipo de estrutura de dados, o primeiro elemento a entrar o ltimo a sair, sendo comumente denominada estrutura do tipo LIFO Last In, First Out
Unit
Contnrs
Principais Propriedades
Esta classe no possui propriedades associadas.
Principais Mtodos
AfterConstruction, AtLeast, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Count, Create, DefaultHandler, Destroy, Dispatch, FieldAddress, Free, FreeInstance, GetInterface, GetInterfaceEntry, GetInterfaceTable, InheritsFrom, InitInstance, InstanceSize, MethodAddress, MethodName, NewInstance, Peek, Pop, Push, SafeCallException
TSTATUSBAR
Descrio
O controle TStatusBar um componente que permite que se exiba uma barra de status na janela principal de uma aplicao (geralmente a barra de status horizontal e fica situada na parte inferior da janela) para transmitir informaes ao usurio.
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
Align, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Cursor, DragCursor, DragMode, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Panels, Parent, ParentFont, ParentShowHint, PopupMenu, ShowHint, SimplePanel, SimpleText, SizeGrip, Tag, Top, Visible e Width
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, Focused, Free, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnDblClick, OnDragDrop, OnDragOver, OnDrawPanel, OnEndDrag, OnMouseDown, OnMouseMove, OnMouseUp, OnResize e OnStartDrag
TSTOREDPROC
Descrio
Esse componente permite que o Delphi execute procedimentos armazenados em servidores.
Unit
Na VCL:
DBTables
Principais Propriedades
Active, AutoCalcFilelds, BOB, CanModify, Database, DatabaseName, DBHandle, DBLocale, EOF, FieldCount, FieldDefs, Field, Handle, Locale, Modified, Name, Owner, Overload, ParamBindMode, ParamCount, Params, Prepared, RecordCount, State, StmtHandle, StoredProcName e Tag
Principais Mtodos
Append, AppendRecord, Cancel, CheckBrowseMode, ClearFields, Close, CopyParams, CursorPosChanged, Delete, DescriosAvailable, DisableControls, Edit, EnableControls, ExecProc, FieldByName, FindField, First, FreeBookmark, GetBookmark, GetFieldNames, GetResults, GotoBookmark, Insert, InsertRecord, Last, MoveBy, Next, Open, ParamByName, Post, Prepare, Prior, Refresh, SetFields, UnPrepared, UpdateCursorPos e UpdateRecord
Principais Eventos
AfterCancel, AfterClose, AfterDelete, AfterEdit, AfterInsert, AfterOpen, AfterPost, BeforeCancel, BeforeClose, BeforeDelete, BeforeEdit, BeforeInsert, BeforeOpen, BeforePost, OnCalcFields e OnNewRecord
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
965
TSTRINGFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena uma informao de texto com at 255 caracteres (string).
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, ASSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text, Transliterate, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TSTRINGGRID
Descrio
O controle TStringGrid permite a exibio de um conjunto de strings e dados na forma de um arranjo de linhas e colunas.
Unit
Na VCL:
Grids
Na CLX:
QGrids
Principais Propriedades
Align, BorderStyle, BoundsRect, Canvas, Cells, ClientHeigth, ClentOrigin, ClientRect, ClientWidth, Col, ColCount, Color, Cols, ColWidthds, ComponentCount, ComponentIndex, Components, ControlCount, Controls, DefaultRow, DockClirentCount, DockClients, DragCursor, DragMode, EditorMode, Enabled, FixedColors, FixedCols, FixedRows, Font, GridHeight, GridLineWidth, GridWidth, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, LeftCol, Name, ParentColor, ParentCtrl3D, ParentFont, ParentShowHint, PopupMenu, Row, RowCount, RowHeights, Rows, ScrollBars, Selection, ShowHint, Showing, TabOrder, TabStop, TabStops, Tag, Top, TopRow
Principais Mtodos
BeginDrag, BringToFront, CanFocus, CellRect, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, MouseToCell, Refresh, RemoveComponent, Repaint, ScaleBy, ScreenToClient, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnClick, OnColumnMoved, OnDblClick, OnDragDrop, OnDragOver, OnDrawCell, OnEndDrag, OnEnter, OnExit, OnGetEditMask, OnGetEditText, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp, OnRowMoved, OnSelectCell, OnSetEditText e OnTopLeftChanged
TSTRINGLIST
Descrio
Esse objeto utilizado para manter uma lista de strings.
Principais Propriedades
Count, Duplicates, Objects, Sorted, Strings e Values
Principais Mtodos
Add, AddObject, AddStrings, Assign, BeginUpdate, ClassName, ClassParent, ClassType, Clear, Delete, EndUpdate, Exchange, Free, GetText, IndexOf, IndexOfObject, Insert, InsertObject, LoadFromFile, SaveToFile, SetText e Sort
Principais Eventos
OnChange
TSTRINGS
Descrio
Esse objeto utilizado para manipular strings.
Unit
Na VCL e na CLX:
Classes
Principais Propriedades
Count, Objects, Strings e Values
Principais Mtodos
Add, AddObject, AddStrings, Assign, BeginUpdate, ClassName, ClassParent, ClassType, Clear, Delete, EndUpdate, Exchange, Free, GetText, IndexOf, IndexOfObject, Insert, InsertObject, LoadFromFile, Move, SaveToFile, SetText e Sort
Principais Eventos
OnChange
TTABBEDNOTEBOOK
Descrio
O componente TTabbedNotebook um componente que possui muitas pginas, cada uma com os seus prprios controles. O usurio pode selecionar uma pgina clicando com o mouse sobre a guia correspondente.
Unit
Na VCL:
TabNotBk
Principais Propriedades
ActivePage, Align, BoundsRect, ComponentIndex, ControlCount, Controls, Cursor, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, PageIndex, Pages, Parent, TabOrder, TabsPerRow, TabStop, Tag, Top, Visible e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, ContainsControl, Dragging, EndDrag, FindComponent, Focused, GetIndexForPage, GetTextBuf, GetTextLen, Hide, InsertControl, Invalidate, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTabFocus, SetTextBuf, Show e Update
Principais Eventos
OnEnter e OnExit
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
967
TTABCONTROL
Descrio
Esse controle semelhante ao controle TTabSet, e fornece um conjunto de guias horizontais que o usurio pode selecionar para iniciar determinadas aes. Normalmente, esse controle usado em conjunto com um controle do tipo TPageControl.
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
Align, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Cursor, DesignInfo, DisplayRect, DragCursor, DragMode, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, MultiLine, Name, Owner, Parent, ParentFont, ParentShowHint, PopupMenu, ShowHint, TabHeight, TabIndex, TabOrder, TabStop, TabWidth, Tabs, Tag, Top, Visible e Width
Principais Mtodos
Assign, BeginDrag, BringToFront, BroadCast, CanFocus, ClassInfo, ClassName, ClassNamels, ClassParent, ClassType, CleanupInstance, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DestroyComponents, Destroying, DisableAlign, Dispatch, DragDrop, Dragging, EnableAlign, EndDrag, FieldAddress, FindComponent, Focused, Free, FreeInstance, FreeNotification, GetTabOrderList, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InheritsFrom, InitInstance, InsertComponent, InsertControl, InstanceSize, Invalidate, MethodAddress, MethodName, NewInstance, PaintTo, Perform, Realign, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show, Update e UpdateControlState
Principais Eventos
OnChange, OnChanging, OnDragDrop, OnDragOver, OnEndDrag, OnEnter, OnExit, OnMouseDown, OnMouseMove, OnMouseUp, OnStartDrag
TTABLE
Descrio
Esse componente permite acesso a tabelas de bancos de dados por meio do Borland Database Engine.
Unit
Na VCL:
DBTables
Principais Propriedades
Active, AutoCalcFilelds, BOB, CanModify, Database, DatabaseName, DBHandle, DBLocale, DatabaseSource, DBLocale, EOF, Exclusive, FieldCount, FieldDefs, Fields, Handle, IndexDefs, IndexFieldCount, IndexFieldNames, IndexName, IndexFields, KeyExclusive, KeyFieldCount, Local, MasterField, MasterSource, Locale, Modified, Name, Owner, ReadOnly, RecordCount, State, StoredDefs, TableLevel, TableName, TableType, Tag e UpdateMode
Principais Mtodos
AddIndex, ApplyRange, Append, AppendRecord, BatchMove, Cancel, CancelRange, CheckBrowseMode, ClearFields, Close, CreateTable, CursorPosChanged, Delete, DeleteIndex, DeleteTable, DisableControls, Edit, EditKey, EditRangeEnd, EditRangeStart, EmptyTable, EnableControls, FieldByName, FindField, FindKey, FindNearest, First, FreeBookmark, GetBookmark, GetFieldNames, GetIndexNames, GotoBookmark, GotoCurrent, GotoKey, GotoNearest, Insert, InsertRecord, Last, MoveBy, Next, Open, Post, Prior, Refresh, SetFields, SetKey, SetRange, SetRamgeEnd, SetRamgeStart e UpdateRecord
TTABSET
Descrio
O componente TTabSet fornece um conjunto de guias horizontais que o usurio pode selecionar para iniciar determinadas aes. Normalmente, esse controle usado em conjunto com um controle do tipo TNotebook.
Unit
Na VCL:
Tabs
Principais Propriedades
Align, AutoScroll, BackgroundColor, Canvas, ComponentIndex, Cursor, DitherBackground, DragMode, Enabled, EndMargin, FirstIndex, Font, Height, HelpContext, HelpKeyword, HelpTypeHint, Left, Name, Owner, Parent, ParentShowHint, SelectedColor, ShowHint, Showing, StartMargin, Style, TabHeigth, TabIndex, Tabs, Tag, Top, UnselectedColor, Visible, VisibleTabs e Width
Principais Mtodos
BeginDrag, BringToFront, CanFocus, ClientToScreen, Dragging, EndDrag, Focused, GetTextBuf, GetTextLen, Hide, Invalidate, ItemAtPos, ItemRect, Refresh, Repaint, ScaleBy, ScreenToClient, ScrollBy, SelectNext, SendToBack, SetBounds, SetFocus, SetTextBuf e Update
Principais Eventos
OnChange, OnClick, OnDragDrop, OnDragOver, OnDrawTab, OnEndDrag, OnEnter, OnExit e OnMeasureItem
TTABSHEET
Descrio
Esse componente representa uma pgina de um controle do tipo TPageControl.
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
Align, BoundsRect, Brush, Caption, ClientHeight, ClientOrigin, ClentRect, ClientWidth, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Cursor, Enabled, Handle, Height, HelpContext, HelpKeyword, HelpTypeLeft, Name, Owner, PageControl, PageIndex, Parent, ParentShowHint, PopupMenu, ShowHint, TabIndex, TabOrder, TabStop, TabVisible, Tag, Top, Visible e Width
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, Focused, Free, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnEnter e OnExit
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
969
TTHREAD
Descrio
Essa classe permite desenvolver aplicaes com vrios processos independentes (cada processo denominado um thread ou canal de execuo).
Unit
Na VCL e na CLX:
classes
Principais Propriedades
FreeOnTerminate, Handle, Priority, ReturnValue, Suspended, Terminated, ThreadID
Principais Mtodos
Create, Destroy, DoTerminate, Execute, Resume, Suspend, Synchronize, Terminate e WaitFor
Principais Eventos
OnTerminate
TTIMEFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena uma informao de uma hora.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWidth, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text, e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
TTIMER
Descrio
Esse componente dispara um evento OnTimer a intervalos regulares de tempo.
Unit
Na VCL:
ExtCtrls
Na CLX:
QExtCtrls
Principais Propriedades
ComponentIndex, Enabled, Interval, Name, Owner e Tag
Principais Mtodos
Esse componente no possui mtodos associados.
TTOOLBAR
Descrio
O componente TToolBar utilizado para criao de barras de ferramentas no padro Windows.
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
ButtonCount, ButtonHeight, Buttons, ButtonWidth, Constraints, DisabledImages, DockSite, DragKind, Flat, HotImages, Images, Indent, List, RowCount, ShowCaptions, Transparent, Wrapable, BorderWidth, EdgeBorders, EdgeInner, EdgeOuter, Brush, ClientOrigin, ClientRect, ControlCount, Controls, Ctl3D, Handle, HelpContext, HelpKeyword, HelpTypeParentWindow, Showing, TabOrder, TabStop, Align, Anchors, AutoSize, BoundsRect, Caption, ClientHeight, ClientWidth, Color, ControlState, ControlStyle, Cursor, DragCursor, DragMode, Enabled, Font, Height, Hint, Left, Name, Parent, ParentColor, ParentFont, ParentShowHint, PopupMenu, ShowHint, Top, Visible, Width, WindowProc, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DesignInfo, Owner, Tag, VCLComObject
Principais Mtodos
CanAutoSize, CancelMenu, ChangeScale, CheckMenuDropdown, ClickButton, Create, Destroy, FindButtonFromAccel, InitMenu, TrackMenu, WrapButtons
Principais Eventos
OnDockDrop, OnDockOver, OnEnter, OnExit, OnGetSiteInfo, OnUnDock, OnClick, OnDblClick, OnDragDrop, OnDragOver, OnEndDock, OnEndDrag, OnMouseDown, OnMouseMove, OnMouseUp, OnResize, OnStartDock, OnStartDrag
TTRACKBAR
Descrio
O controle TTrackBar consiste em uma barra opcionalmente graduada, usada para definir valores em uma escala e possuindo um controle deslizante que permite alterar o valor corrente.
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
Align, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Ctl3D, Cursor, DragCursor, DragMode, Enabled, Frequency, Handle, Height, Hint, HelpContext, HelpKeyword, HelpTypeLeft, LineSize, Max, Min, Name, Orientation, Owner, PageSize, Parent, ParentCtl3D, ParentShowHint, PopupMenu, Position, ReadOnly, SelEnd, SelStart, ShowHint, Showing, TabOrder, TabStop, Tag, TickMarks, TickStyle, Top, Visible e Width
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, Focused, Free, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
971
TTREEVIEW
Descrio
O controle TTreeView um componente que permite a exibio de itens em vrios nveis hierrquicos, nos quais cada item composto de um rtulo e de um nmero varivel de bitmaps (opcional).
Unit
Na VCL:
ComCtrls
Na CLX:
QComCtrls
Principais Propriedades
Align, BorderStyle, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, Color, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Ctl3D, Cursor, DragCursor, DragMode, DropTarget, Enabled, Font, Handle, Height, HelpContext, HelpKeyword, HelpTypeHideSelection, Hint, Images, Indent, Items, Left, Name, Owner, Parent, ParentColor, ParentCtl3D, ParentFont, ParentShowHint, PopupMenu, ReadOnly, Selected, ShareImages, ShowButtons, ShowHint, Showing, ShowLines, ShowRoot, Sorted, SortType, StateImages, TabOrder, TabStop, Tag, Top, TopItem, Visible e Width
Principais Mtodos
AlphaSort, Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, CustomSort, Destroy, DragDrop, Dragging, EndDrag, FindComponent, Focused, Free, FullCollapse, FullExpand, GetHitTestInfoAt, GetNodeAt, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, IsEditing, LoadFromFile, LoadFromStream, Refresh, RemoveComponent, RemoveControl, Repaint, SaveToFile, SaveToStream, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChange, OnChanging, OnClick, OnCollapsed, OnCollapsing, OnCompare, OnDblClick, OnDeletion, OnDragDrop, OnDragOver, OnEdited, OnEditing, OnEndDrag, OnEnter, OnExit, OnExpanded, OnExpanding, OnGetImageIndex, OnGetSelectedIndex, OnKeyDown, OnKeyPress, OnKeyUp, OnMouseDown, OnMouseMove, OnMouseUp e OnStartDrag
TUPDATESQL
Descrio
O componente TUpdateSQL fornece um meio alternativo de se atualizar bancos de dados, atravs do mecanismo do Borland Database Engine, armazenando um comando para cada tipo de declarao SQL.
Unit
Na VCL:
DBTables
Principais Propriedades
ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, DataSet, DeleteSQL, DesignInfo, InsertSQL, ModifySQL, Name, Owner, Query, SQL, Tag, VCLComObject
Principais Mtodos
AfterConstruction, Apply, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, ExecSQL, ExecuteAction, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, HasParent, InheritsFrom, InitInstance, InsertComponent, InstanceSize, MethodAddress, MethodName, NewInstance, RemoveComponent, SafeCallException, SetParams, UpdateAction
TUPDOWN
Descrio
O controle TUpDown consiste em um par de botes de seta, uma apontando para cima (Up) e outra apontando para baixo (Down), que, ao serem selecionadas com o boto esquerdo do mouse, provocam o incremento ou decremento de um valor numrico, armazenado na sua propriedade Position. Normalmente esse controle usado em conjunto com outro controle (geralmente TEdit), que exibe o valor numrico armazenado na propriedade Position.
Unit
Na VCL:
ComCtrls
Principais Propriedades
Align, AlignButton, Associate, ArrowKeys, BoundsRect, Brush, ClientHeight, ClientOrigin, ClentRect, ClientWidth, ComponentCount, ComponentIndex, Components, ControlCount, Controls, Cursor, Enabled, Handle, Height, Hint, HelpContext, HelpKeyword, HelpTypeIncrement, Left, Max, Min, Name, Orientation, Owner, Parent, ParentShowHint, PopupMenu, Position, ShowHint, Showing, TabOrder, TabStop, Tag, Thousands, Top, Visible, Width e Wrap
Principais Mtodos
Assign, BeginDrag, BringToFront, CanFocus, ClassName, ClassParent, ClassType, ClientToScreen, ContainsControl, ControlAtPos, Create, Destroy, DragDrop, Dragging, EndDrag, FindComponent, Focused, Free, GetTextBuf, GetTextLen, HandleAllocated, HandleNeeded, Hide, InsertComponent, InsertControl, Invalidate, Refresh, RemoveComponent, RemoveControl, Repaint, ScaleBy, ScreenToClient, ScrollBy, SendToBack, SetBounds, SetFocus, SetTextBuf, Show e Update
Principais Eventos
OnChanging, OnClick, OnEnter, OnExit, OnMouseDown, OnMouseMove e OnMouseUp
TVARBYTESFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um conjunto arbitrrio de at 65535 bytes.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayLabel, DisplayName, DisplayText, DisplayWidth, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, Name, Owner, ReadOnly, Required, Size, Tag, Text e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
973
TWEBDISPATCHER
Descrio
Esse componente gerencia resposta a mensagens HTTP.
Unit
Na VCL e na CLX:
httpapp
Principais Propriedades
Action, Actions, Request, Response, DesignOffset, DesignSize, OldCreateOrder
Principais Mtodos
ActionByName, Create, Destroy, AfterConstruction, BeforeDestruction, CreateNew
Principais Eventos
AfterDispatch, BeforeDispatch, OnCreate, OnDestroy
TWORDFIELD
Descrio
Esse componente representa um campo de um registro de um banco de dados que armazena um nmero inteiro sem sinal, variando de 0 a 65535.
Unit
Na VCL e na CLX:
DB
Principais Propriedades
Align, AsBoolean, AsDateTime, AsFloat, AsInteger, AsSQLTimeStamp, AsString, Calculated, CanModify, DataSet, DataSize, DataType, DisplayFormat, DisplayLabel, DisplayName, DisplayText, DisplayWisth, EditFormat, EditMask, EditMaskPtr, FieldName, FieldNo, Index, IsIndexField, IsNull, MaxValue, MinValue, Name, Owner, Precision, ReadOnly, Required, Size, Tag, Text, Value e Visible
Principais Mtodos
Assign, AssignValue, Clear, FocusControl, GetData, IsValidChar e SetData
Principais Eventos
OnChange, OnGetText, OnSetText e OnValidate.
TXMLBROKER
Descrio
Este componente Permite a Manipulao de Pacotes de dados no formato XML fornecidos por uma aplicao Servidora.
Unit
xmlbrokr
Principais Propriedades
AppServer, ComObject, ComponentCount, ComponentIndex, Components, ComponentState, ComponentStyle, Connected, DesignInfo, HasAppServer, MaxErrors, MaxRecords, Name, Notify, NotifyCount, Owner, Params, ProviderName, ReconcileProducer, RemoteServer, Tag, VCLComObject, WebDispatch
Principais Mtodos
AddNotify, AfterConstruction, ApplyXMLUpdates, Assign, BeforeDestruction, ClassInfo, ClassName, ClassNameIs, ClassParent, ClassType, CleanupInstance, Create, DefaultHandler, Destroy, DestroyComponents, Destroying, Dispatch, ExecuteAction, FetchParams, FieldAddress, FindComponent, Free, FreeInstance, FreeNotification, FreeOnRelease, GetDelta, GetErrorCount, GetErrors, GetInterface, GetInterfaceEntry, GetInterfaceTable, GetNamePath, GetParentComponent, GetXMLRecords,
Principais Eventos
AfterDispatch, BeforeDispatch, OnGetErrorResponse, OnGetResponse, OnRequestRecords e OnRequestUpdate
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
975
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
CAPTULO 41 PROPRIEDADES
Captulo
Propriedades
41
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
977
ABORTED
Descrio
A propriedade Aborted declarada como uma varivel do tipo booleana, e indica se o usurio interrompeu o trabalho de impresso corrente. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
ABORTONKEYVIOL
Descrio
Essa propriedade definida como uma varivel booleana que determina se a execuo do Mtodo Execute deve ser interrompida caso ocorra uma violao de integridade durante uma operao sobre um grupo de registros ou uma tabela.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante uma linha de cdigo como:
BatchMove1.AbortOnKeyViol := False;
ABORTONPROBLEM
Descrio
Essa propriedade definida como uma varivel booleana que determina se a execuo do Mtodo Execute deve ser interrompida caso ocorra uma violao de integridade durante uma operao sobre um grupo de registros ou uma tabela, descartando a movimentao de dados realizada.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector, ou mediante uma linha de cdigo como:
BatchMove1.AbortOnProblem := False;
CAPTULO 41 PROPRIEDADES
ACCURACYMETHOD
Descrio
Esta propriedade declarada como uma varivel do tipo TAccuracyMethod, e indica como o texto ser escrito no arquivo de projeto. Se seu valor for igual a amPositioning o texto ser escrito de forma a ser reproduzido to precisa quanto possvel na tela ou em qualquer impressora. Se seu valor for igual a amAppearance o texto no ser ajustado da melhor forma possvel, de forma a ter a mesma aparncia na tela e na impressora.
ACTIONCOUNT
Descrio
Essa propriedade definida como uma varivel inteira, e retorna o nmero de aes (representadas por objetos da classe TAction) definidas no componente.
ACTIONLIST
Descrio
Essa propriedade definida como um objeto da classe TCustomActionList, e define o componente TAction ao qual o objeto est vinculado.
ACTIONS
Descrio
Essa propriedade definida como uma array de objetos da classe TAction, e referencia as aes definidas no componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
979
ACTIVE
Descrio
A propriedade Active definida como uma varivel booleana que diz se um controle est ou no ativo. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes do tipo TForm, essa propriedade no pode ter o seu valor diretamente alterado pelo usurio. Para componentes do tipo TOLEContainer essa propriedade determina se o objeto OLE contido no componente est ou no ativo. Para componentes dos tipos TADODataset, TADOQuery, TADOStoredProc, TADOTable, TClientDataSet, TIBDataset, TIBQuery, TIBStoredProc, TIBTable, TIBTransaction, TTable, TQuery, TdecisionQuery, TStoredProc, TSQLDataset, TSQLQuery, TSQLStoredProc, TSQLTable e TSQLClientDataSet, essa propriedade determina se o banco de dados associado est ativo (aberto). Mudar o valor da propriedade para True ou False equivale a chamar os mtodos Open e Close, respectivamente. Para componentes do tipo TAnimate, indica se o clipe AVI definido na sua propriedade FileName est sendo executado. Para objetos da classe TChartSeries, indica se a srie representada pelo componente deve ou no ser exibida. Para componentes do tipo TRvProject, indica se o projeto de relatrio est ou no ativo.
Exemplo
Voc pode alterar o valor da propriedade Active do componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
OLEContainer1.Active := True;
ACTIVECONTROL
Descrio
A propriedade Active definida como uma varivel do tipo TWinControl, cujo significado depende do componente ao qual se aplica. Para componentes do tipo TForm, essa propriedade indica o componente que possui o foco da aplicao. Para componentes do tipo TScreen, essa propriedade indica o componente que tem o foco da aplicao, mas s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar a propriedade ActiveControl do componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
Form1.ActiveControl := Button1;
ACTIVEFORM
Descrio
A propriedade ActiveForm definida como uma varivel do tipo TForm e indica o formulrio corrente ou que receber o foco quando a aplicao estiver ativa (no caso de o Windows estar executando uma outra aplicao). Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir muda a cor do formulrio corrente para amarelo quando recebe um clique do mouse:
procedure TForm1.FormClick(Sender: TObject); begin Screen.ActiveForm.Color := clYellow; end;
ACTIVEMDICHILD
Descrio
A propriedade ActiveMDIChild definida como uma varivel do tipo TForm, que retorna a janelafilha que possui o foco em uma aplicao MDI. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Voc no pode alterar a propriedade ActiveMDIChild do componente, mas pode usar o seu resultado. O trecho de cdigo abaixo faz com que, quando o usurio clicar sobre um boto Button do tipo TButton, a janela-filha ativa de uma aplicao MDI assuma a cor amarela.
procedure TForm1.Button1Click(Sender: TObject); var YellowForm: TForm; begin YellowForm := Form1.ActiveMDIChild; YellowForm.Color := clYellow; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
981
ACTIVEPAGE
Descrio
A propriedade ActivePage definida como uma varivel do tipo string, que retorna a pgina exibida pelo componente. Para componentes do tipo TPageControl, definida como uma varivel do tipo TTabSheet, que retorna a pgina exibida pelo componente.
Exemplo
Voc pode alterar a propriedade ActivePage do componente diretamente no Object Inspector ou mediante uma linha de cdigo, como:
Notebook1.ActivePage := Primeira pgina;
ALIASNAME
Descrio
A propriedade AliasName definida como uma varivel do tipo TSymbolstr que especifica seu alias no Borland Database Engine (BDE).
Exemplo
Voc pode alterar a propriedade AliasName diretamente no Object Inspector ou mediante uma linha de cdigo, como:
TDatabase1.AliasName := USER;
ALIGN
Descrio
A propriedade Align declarada como uma varivel do tipo TAlign e determina como deve ser o alinhamento do controle em relao ao seu controle-pai (aquele que o contm).
CAPTULO 41 PROPRIEDADES
Tabela de Valores:
Significado O componente permanece no local em que foi colocado no formulrio (valor default). O componente se desloca para o topo do componente-pai e automaticamente redimensionado, de forma a ocupar toda a largura do componente-pai, mantendo-se a sua altura original. O componente se desloca para a base do componente-pai e automaticamente redimensionado, de forma a ocupar toda a largura do componente-pai, mantendo-se a sua altura original. O componente se desloca para a extremidade esquerda do componente-pai e automaticamente redimensionado, de forma a ocupar toda a altura do componentepai, mantendo-se a sua largura original. O componente se desloca para a extremidade esquerda do componente-pai e automaticamente redimensionado, de forma a ocupar toda a altura do componentepai, mantendo-se a sua largura original. O componente redimensionado para ocupar toda a rea-cliente do componente-pai.
alBottom
alLeft
alRight
alClient
Se o componente-pai redimensionado, as dimenses do componente considerado sero automaticamente ajustadas, em correspondncia ao valor especificado na propriedade Align.
Exemplo
Coloque um componente Panel em um formulrio vazio e defina a sua propriedade Align como alTop. Em seguida, coloque um componente Tabbed Notebook dentro do componente Panel e defina sua propriedade Align como alClient. importante notar que, nesse caso, o componente-pai do componente Panel o formulrio Form1, enquanto que o componente-pai de Tabbed Notebook o componente Panel. Conseqentemente, a rea-cliente a ser ocupada pelo componente Tabbed Notebook a do componente Panel e no a do formulrio Form1.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
983
ALIGNBUTTON
Descrio
Essa propriedade declarada como uma varivel do tipo TUDAlignButton e determina a posio do componente em relao ao controle definido na sua propriedade Associate. Tabela de Valores:
Valor udLeft udRight Significado O componente permanece do lado esquerdo do controle associado. O componente permanece do lado direito do controle associado.
ALIGNMENT
Descrio
Para controles dos tipos TCheckBox, TDBCheckBox e TRadioButton, a propriedade Alignment uma varivel do tipo TLeftRight que determina como deve ser o alinhamento do texto da propriedade Caption do componente. Para componentes dos tipos TPopupMenu, essa propriedade definida como uma varivel do tipo TPopupAlignment, que determina onde o menu flutuante deve aparecer quando o usurio selecionar o boto direito do mouse. Para componentes do tipo TBCDField, TBooleanField, TCurrencyField, TDateField, TDateTimeField, TDRLabel, TFloatField, TIntegerField, TSmallintField, TStringField, TTimeField, TWordField, THeaderSection, TParaAttributes, TStatusPanel, TListColumn, Tcolumn, TColumnTitle, TLabel, TMemo, TPanel, TDecisionPivot e TRichEdit, a propriedade Alignment declarada como uma varivel do tipo TAlignment e define como deve ser o alinhamento do texto no componente. Para esses componentes, essa propriedade s est disponvel durante a execuo do aplicativo. Tabela de Valores para Controles dos tipos TCheckBox, TDBCheckBox e TRadioButton:
Valor taLeftJustify taRightJustify Significado O texto exibido do lado esquerdo do controle. O texto exibido do lado direito do controle.
CAPTULO 41 PROPRIEDADES
Tabela de Valores para Componentes dos tipos TBCDField, TBooleanField, TCurrencyField, TDateField, TDateTimeField, TFloatField, TIntegerField, TSmallintField, TStringField, TTimeField e TWordField, THeaderSection, TParaAttributes, TStatusPanel, TListColumn, Tcolumn, TColumnTitle, TLabel, TMemo, TPanel, TDecisionPivot e TRichEdit:
Valor taCenter taLeftJustify taRightJustify Significado O texto exibido centralizado no controle. O texto exibido do lado esquerdo do controle. O texto exibido do lado direito do controle.
Significado O texto exibido do lado esquerdo do controle. O texto exibido centralizado no controle. O texto exibido do lado direito do controle.
Exemplo
Voc pode alterar a propriedade Alignment do componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
CheckBox1.Alignment:= taLeftJustify;
ALIGNTOBAND
Descrio
A propriedade AlignToBand declarada como uma varivel booleana, que especifica se o valor definido na propriedade Alignment ser ou no aplicado ao componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
985
ALLOCATION
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro longo, e define o nmero de pginas configuradas para o banco de dados.
ALLOCBY
Descrio
Para controles dos tipos TListView e TImageList, a propriedade AllocBy uma varivel inteira que prepara o controle para a adio de um grande nmero de itens.
Exemplo
Voc pode alterar a propriedade AllocBy diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
ListView1.AllocBy:= 10;
ALLOWALLUP
Descrio
A propriedade AllowAllUp uma varivel do tipo booleano que determina se, em um grupo de componentes do tipo TSpeedButton, pode ocorrer a situao em que nenhum deles esteja selecionado (o grupo de um componente TSpeedButton definido pela sua propriedade GroupIndex). Alterar essa propriedade para um dos componentes do grupo altera tambm seu valor para os demais componentes.
Exemplo
Voc pode alterar a propriedade AllowAllUp diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
SpeedButton1.AllowAllUp := True;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TSpeedButton
ALLOWDELETE
Descrio
A propriedade AllowDelete uma varivel do tipo booleana que determina se o usurio pode deletar o registro corrente usando a combinao de teclas Ctrl + Delete.
Exemplo
Voc pode alterar a propriedade AllowDelete diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
DBCtrlGrid1.AllowDelete:= True;
ALLOWGRAYED
Descrio
A propriedade AllowGrayed uma varivel do tipo booleana que determina se o controle possuir dois ou trs estados. Se for igual a True, o controle poder possuir trs estados: cbChecked, cbUnchecked e cbGrayed. A diferena entre os estados cbGrayed e cbChecked que no primeiro caso a marca de verificao aparece com uma cor cinza.
Exemplo
Voc pode alterar a propriedade AllowGrayed do componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
CheckBox1.AllowGrayed := True;
ALLOWINPLACE
Descrio
A propriedade AllowInPlace uma varivel do tipo booleano que determina se um objeto OLE pode ser ativado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
987
ALLOWINSERT
Descrio
A propriedade AllowInsert uma varivel do tipo booleana que determina se o usurio pode inserir ou adicionar um registro usando a tecla Insert ou Ctrl+Insert, respectivamente, e desde que o registro corrente no esteja sendo editado.
Exemplo
Voc pode alterar a propriedade AllowInsert diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
DBCtrlGrid1.AllowInsert:= True;
ALLOWPANNING
Descrio
A propriedade AllowPanning uma varivel do tipo TPanningMode, que define como a rolagem do grfico pode ser feita durante a execuo do aplicativo. Essa propriedade pode receber um dos valores descritos na tabela a seguir.
Valor pmNone pmHorizontal pmVertical pmBoth Significado No permite qualquer tipo de rolagem. Permite rolagem do grfico apenas na direo horizontal. Permite rolagem do grfico apenas na direo vertical. Permite rolagem do grfico nas duas direes.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TChart, TDBChart
ALLOWRESIZE
Descrio
A propriedade AllowResize uma varivel booleana que define se o usurio pode ou no redimensionar as sees de um componente do tipo THeader.
Exemplo
Voc pode alterar a propriedade AllowResize de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo como:
Header1.AllowResize := True;
ALLOWSINGLEPOINT
Descrio
A propriedade AllowSinglePoint uma varivel do tipo booleano que determina se a srie representada pelo objeto deve ser exibida ainda que contenha um nico ponto.
ALLOWZOOM
Descrio
A propriedade AllowZoom uma varivel booleana que define se o usurio pode ou no aplicar o recurso de zoom ao componente durante a execuo do aplicativo.
ARROWKEYS
Descrio
Essa propriedade declarada como uma varivel booleana que define se as teclas de seta para cima e seta para baixo podem ser usadas para alterar o valor armazenado na propriedade Position do componente.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
UpDown1.ArrowKeys:= True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
989
ASBOOLEAN
Descrio
A propriedade AsBoolean uma varivel booleana que realiza uma converso de tipo. Para componentes do tipo TBooleanField, pode ser usada para ler ou definir o valor do campo. Para componentes do tipo TStringField, AsBoolean retorna True se o texto armazenado comea com as letras Y, y, T ou t (de Yes ou True); se no retorna False. Para atribuir um valor ao campo, use T ou F. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir verifica se a string armazenada em um campo chamado Telefone tem um texto armazenado que comea com Y, y, T ou t, exibindo uma mensagem em caso positivo. Essa propriedade s est disponvel durante a execuo do aplicativo.
if Table1.FieldByName(Telefone).AsBoolean then ShowMessage(Verdadeiro);
ASDATETIME
Descrio
A propriedade AsDateTime declarada como uma varivel do tipo TDateTime que realiza uma converso de tipo. Para componentes dos tipos TDateField, TDateTimeField e TTimeField, pode ser usada para ler ou definir o valor do campo. Para componentes do tipo TStringField, faz a converso de uma string em TDateTime na leitura de um campo e de TDateTime para string no sentido inverso. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir converte uma string em uma varivel do tipo TDateTime antes de escrever o seu valor em um campo.
Table1.FieldByName(Variavel_Time).AsDateTime:= StrToDateTime(Now);
ASFLOAT
Descrio
A propriedade AsFloat declarada como uma varivel do tipo Double que realiza uma converso de tipo. Para componentes dos tipos TBCDField, TCurrencyField e TFloatField, pode ser usada para ler ou definir o valor do campo. Para componentes do tipo TStringField, faz a converso de uma string em
CAPTULO 41 PROPRIEDADES
Double na leitura de um campo e de Double para string no sentido inverso. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir converte uma string em uma varivel do tipo Double antes de escrever o seu valor em um campo.
Table1.FieldByName(Variavel_Float).AsFloat:= StrToFloat(string);
ASINTEGER
Descrio
A propriedade AsInteger declarada como uma varivel do tipo inteiro longo (Longint) que realiza uma converso de tipo. Para componentes dos tipos TIntegerField, TSmallintField e TWordField pode ser usada para ler ou definir o valor do campo. Para componentes do tipo TStringField, faz a converso de uma string em Longint na leitura de um campo e de Longint para string no sentido inverso. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir converte uma string em uma varivel do tipo Double antes de escrever o seu valor em um campo.
Table1.FieldByName(Variavel_Inteira).AsInteger:= StrToInt(string);
ASSOCIATE
Descrio
A propriedade Associate declarada como uma varivel do tipo TWinControl que define o controle associado ao componente e que refletir o valor armazenado na sua propriedade Position.
Exemplo
Voc pode alterar o valor da propriedade Associate de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
UpDown1.Associate:= Edit1;
ASSTRING
Descrio
A propriedade AsString declarada como uma varivel do tipo string que realiza uma converso de tipo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
991
ASTEXT
Descrio
Essa propriedade retorna o contedo do Clipboard como uma string. Se o contedo do Clipboard no for um texto, gera um erro de exceo. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir exibe em um componente Label1 do tipo Tlabel o texto armazenado no Clipboard.
AUTOACTIVATE
Descrio
A propriedade AutoActivate uma varivel do tipo TAutoActivate que determina como um objeto pode ser ativado em um componente do tipo TOLEContainer. Tabela de Valores:
Valor aaManual aaGetFocus aaDoubleClick Significado O objeto OLE deve ser ativado manualmente, definindo-se a sua propriedade Active igual a True. O objeto OLE se torna ativo quando o componente que o contm recebe o foco da aplicao. O objeto OLE se torna ativo quando o componente que o contm possui o foco da aplicao e o usurio pressiona a tecla Enter ou d um duplo clique sobre o mesmo.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar a propriedade AutoActivate de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
OLEContainer1.AutoActivate := aaManual;
AUTOCALCFIELDS
Descrio
A propriedade AutoCalcFields uma varivel booleana que determina se o evento OnCalcFields deve ser disparado quando a aplicao carrega um novo registro do banco de dados associado.
Exemplo
Voc pode alterar a propriedade AutoCalcFields de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Query1.AutoCalcFields := True;
AUTODISPLAY
Descrio
A propriedade AutoDisplay uma varivel booleana que determina se o contedo do controle deve ser exibido automaticamente.
Exemplo
Voc pode alterar a propriedade AutoDisplay de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
DBImage1.AutoDisplay := True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
993
AUTOEDIT
Descrio
Essa propriedade declarada como uma varivel booleana que define se os controles conectados a um componente do tipo TDataSource estaro ou no em modo de edio.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
DataSource1.AutoEdit:= True;
AUTOENABLE
Descrio
A propriedade AutoEnable uma varivel booleana que determina se o componente pode habilitar e desabilitar automaticamente seus botes.
Exemplo
Voc pode alterar a propriedade AutoEnable de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
MediaPlayer1.AutoEnable := True;
AUTOMERGE
Descrio
A propriedade AutoMerge uma varivel booleana que determina se os menus de diversos formulrios devem ser combinados automaticamente.
Exemplo
Voc pode alterar a propriedade AutoMerge de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
MainMenu1.AutoMerge := True;
CAPTULO 41 PROPRIEDADES
AUTOOPEN
Descrio
A propriedade AutoOpen uma varivel booleana que determina se o componente pode tentar abrir automaticamente o dispositivo multimdia associado quando a aplicao executada.
Exemplo
Voc pode alterar a propriedade AutoOpen de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
MediaPlayer1.AutoOpen := True;
AUTOPOPUP
Descrio
A propriedade AutoPopup uma varivel booleana que determina se o menu deve aparecer quando o usurio clica com o boto direito do mouse sobre o controle que tem esse componente especificado na sua propriedade PopupMenu.
Exemplo
Voc pode alterar a propriedade AutoPopup de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Popupmenu1.AutoPopup := True;
AUTOREWIND
Descrio
A propriedade AutoRewind uma varivel booleana que determina se o componente deve ser rebobinado automaticamente durante uma execuo ou gravao.
Exemplo
Voc pode alterar a propriedade AutoRewind de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
MediaPlayer1.AutoRewind := True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
995
AUTOSCROLL
Descrio
Para componentes dos tipos TForm, TFrame, e TScrollBox, a propriedade AutoScroll uma varivel booleana que determina se o controle exibir automaticamente as barras de rolagem quando for grande o suficiente para exibir todos os controles que contm. Para componentes do tipo TTabSet, a propriedade AutoScroll uma varivel booleana que determina se o controle exibir automaticamente botes de rolagem quando for grande o suficiente para exibir todos os controles que contm.
Exemplo
Voc pode alterar a propriedade AutoScroll de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Form1.AutoScroll := True;
AUTOSELECT
Descrio
A propriedade AutoSelect uma varivel booleana que determina se o texto exibido pelo controle ser selecionado quando este receber o foco da aplicao.
Exemplo
Voc pode alterar a propriedade AutoSelect de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Edit1.AutoSelect := False;
AUTOSIZE
Descrio
Para componentes dos tipos TDBText e TLabel, a propriedade AutoSize uma varivel booleana que determina se o controle ser automaticamente redimensionado para acomodar o texto definido na sua propriedade Caption.
CAPTULO 41 PROPRIEDADES
Para componentes dos tipos TDBEdit, TDBLookupCombo, TEdit, THotKey e TMaskEdit, a propriedade AutoSize uma varivel booleana que determina se a altura do controle ser redimensionada quando o tamanho da fonte de texto for alterado. Para componentes dos tipos TDBImage e TImage, a propriedade AutoSize uma varivel booleana que determina se o controle ser automaticamente redimensionado para acomodar a imagem definida na sua propriedade Picture.
Exemplo
Voc pode alterar a propriedade AutoSize de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Edit1.AutoSize := False;
AXISVISIBLE
Descrio
A propriedade AxisVisible uma varivel booleana que define se todos os quatro eixos do grfico (dois horizontais e dois verticais) devem ou no ser exibidos. Voc pode definir essa propriedade como False e, posteriormente, habilitar individualmente a exibio de cada eixo.
BACKCOLOR
Descrio
A propriedade BackColor declarada como uma varivel do tipo TColor e define a cor de fundo do grfico. Para o componente THTML, define a cor de fundo da pgina HTML exibida pelo componente.
BACKGROUNDCOLOR
Descrio
A propriedade BackgroundColor declarada como uma varivel do tipo TColor e define a cor de fundo do componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
997
BACKIMAGE
Descrio
A propriedade BackImage declarada como um objeto da classe TPicture, e define a imagem de fundo a ser exibida juntamente com o grfico. Para o componente THTML, define uma URL que armazena a imagem de fundo a ser exibida em uma pgina Web.
BEVELINNER
Descrio
A propriedade BevelInner declarada como uma varivel do tipo TPanelBevel e define o estilo do chanfro interno de um componente do tipo TPanel. Tabela de Valores:
Valor bvNone bvLowered bvRaised Significado No existe chanfro interno. O chanfro interno existe na forma de um entalhe (depresso). O chanfro interno saliente (elevado).
Exemplo
Voc pode alterar a propriedade BevelInner de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Panel1.BevelInner := bvNone;
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TChart, TDBChart, TDecisionGraph, TPanel, TDecisionGrid, TDecisionPivot
BEVELOUTER
Descrio
A propriedade BevelOuter declarada como uma varivel do tipo TPanelBevel e define o estilo do chanfro externo de um componente do tipo TPanel. Tabela de Valores:
Valor bvNone bvLowered bvRaised Significado No existe chanfro externo. O chanfro externo existe na forma de um entalhe (depresso). O chanfro externo saliente (elevado).
Exemplo
Voc pode alterar a propriedade BevelOuter de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Panel1.BevelOuter := bvNone;
BEVELWIDTH
Descrio
A propriedade BevelWidth declarada como uma varivel do tipo TBevelWidth e define a espessura, em pixels, da linha que separa os chanfros interno e externo em um componente do tipo TPanel.
Exemplo
Voc pode alterar a propriedade BevelWidth de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Panel1.BevelWidth := 4;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
999
BITMAP
Descrio A propriedade Bitmap declarada como uma varivel do tipo TBitmap e define um padro de preenchimento para um objeto do tipo TBrush.
Para componentes do tipo TPicture, essa propriedade declarada como uma varivel do tipo TBitmap e representa o contedo do objeto na forma de um Bitmap.
BKCOLOR
Descrio
Essa propriedade declarada como uma varivel do tipo TColor e especifica a cor de fundo das imagens a serem exibidas.
Exemplo
Voc pode alterar a propriedade BkColor diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
ImageList1.BkColor:= clRed;
BLENDCOLOR
Descrio
Essa propriedade declarada como uma varivel do tipo TColor e especifica a cor de primeiro plano das imagens a serem exibidas.
Exemplo
Voc pode alterar a propriedade BlendColor diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
ImageList1.BlendColor:= clYellow;
BLOBSIZE
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro e especifica o nmero de bytes armazenados no registro corrente para um campo do tipo blob.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TBlobField
BOF
Descrio
A propriedade BOF uma varivel booleana que determina se um banco de dados est no seu primeiro registro. Isto ocorre aps uma tabela ser aberta e ocorrer uma chamada aos eventos First ou Prior. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
BORDERICONS
Descrio
A propriedade BorderIcons declarada como uma varivel do tipo TBorderIcons e consiste em um conjunto de variveis que determina os cones a serem exibidos na barra de ttulo de um formulrio. Tabela de Valores:
Significado O formulrio possui um menu de sistema. O formulrio possui um boto de minimizao. O formulrio possui um boto de maximizao.
Exemplo
Voc pode alterar a propriedade BorderIcons de um formulrio diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Form1.BorderIcons := [biSystemMenu,biMinimize,biMaximize] ;
BORDERSTYLE
Descrio
Para componentes do tipo TForm, essa propriedade declarada como uma varivel do tipo TFormBorderStyle, que determina o estilo de borda do componente. Para os demais componentes, a propriedade BorderStyle declarada como uma varivel do tipo TBorderStyle, que determina se o componente ter ou no uma borda.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1001
Para janelas cuja propriedade FormStyle fsMDIChild, bsDialog ou bsNone e no afeta sua aparncia. Tabela de Valores para os demais componentes:
Exemplo
Voc pode alterar a propriedade AutoSize de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Edit1.BorderStyle:= bsSingle;
BORDERWIDTH
Descrio
A propriedade BorderWidth declarada como uma varivel do tipo TBorderWidth e define a espessura, em pixels, da borda de um componente dos tipos TPanel e TDecisionPivot.
Exemplo
Voc pode alterar a propriedade BorderWidth de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Panel1.BorderWidth := 4;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TPanel, TDecisionPivot.
BOTTOMAXIS
Descrio
A propriedade BottomAxis declarada como um objeto da classe TChartAxis, e representa o eixo horizontal inferior do grfico exibido no componente.
BOUNDSRECT
Descrio
A propriedade BoundsRect uma varivel do tipo TRect, cujos campos estabelecem, nas coordenadas do sistema definido pelo controle-pai, o retngulo circunscrito ao controle atual. Os campos da propriedade BoundsRect (como qualquer varivel do tipo TRect) so: Left, Top, Right e Bottom. Tabela de Valores:
Significado Valor da coordenada X da extremidade superior esquerda do retngulo circunscrito ao controle. Valor da coordenada Y da extremidade superior esquerda do retngulo circunscrito ao controle. Valor da coordenada X da extremidade inferior direita do retngulo circunscrito ao controle. Valor da coordenada Y da extremidade inferior direita do retngulo circunscrito ao controle.
Exemplo
Com relao s propriedades Left, Top, Right e Bottom de um formulrio, podemos afirmar que:
BoundsRect.Left = Left BoundsRect.Top = Top BoundsRect.Right = Left + Width BoundsRect.Bottom = Top + Height
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1003
BREAK
Descrio
Essa propriedade declarada como uma varivel do tipo TMenuBreak e permite dividir um menu em colunas. Tabela de Valores:
Valor mbNone mbBarBreak mbBreak Significado O menu no dividido em colunas. A quebra ocorre com o item de menu aparecendo no topo da nova coluna. Uma barra vertical separa as colunas. A quebra ocorre com o item de menu aparecendo no topo da nova coluna. Nesse caso no surge uma barra vertical separando as colunas.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
MenuItem1.Break := mbNone;
BRUSH
Descrio
Essa propriedade declarada como uma varivel do tipo TBrush que especifica a cor e o padro de preenchimento usados para pintar formas grficas, e como cor e pano de fundo. No caso de controles, especifica a cor e o padro de preenchimento usados como cor e pano de fundo.
Exemplo
Voc pode criar um formulrio Form1 do tipo TForm com a cor amarela e hachuras em diagonal com o seguinte trecho de cdigo:
procedure TForm1.FormCreate(Sender: TObject); begin Form1.Brush.Color := clYellow; Form1.Brush.Style := bsFDiagonal; end;
CAPTULO 41 PROPRIEDADES
BUTTONAUTOSIZE
Descrio
Essa propriedade declarada como uma varivel booleana, e define se os botes exibidos no componente devem ser redimensionados automaticamente.
BUTTONHEIGHT
Descrio
Essa propriedade declarada como uma varivel inteira e define o valor, em pixels, da altura dos botes exibidos no componente.
BUTTONSPACING
Descrio
Essa propriedade declarada como uma varivel inteira e define o valor, em pixels, do espaamento dos botes exibidos no componente.
BUTTONWIDTH
Descrio
Essa propriedade declarada como uma varivel inteira e define o valor, em pixels, da largura dos botes exibidos no componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1005
BYTESRCVD
Descrio
Essa propriedade declarada como uma varivel inteira e define o nmero de bytes j recebidos em uma conexo.
BYTESSENT
Descrio
Essa propriedade declarada como uma varivel inteira e define o nmero de bytes j enviados em uma conexo.
BYTESTOTAL
Descrio
Essa propriedade declarada como uma varivel inteira e define o nmero total de bytes a serem recebidos em uma conexo.
CACHEDSIZE
Descrio
Essa propriedade definida como uma varivel inteira, e define o nmero de registros armazenados na memria local pelo componente. Indica portanto o nmero de registros carregados quando a conexo atravs do componente se torna ativa.
CACHEDUPDATES
Descrio
Esta propriedade declarada como uma varivel do tipo booleana e indica se o recurso de Cached Updates est sendo utilizado pelo componente.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TClientDataSet, TADODataset, TADOTable, TIBTable
CALCULATED
Descrio
A propriedade Calculated declarada como uma varivel do tipo booleana e indica se o valor do campo foi calculado em um evento OnCalcFields. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem informando se o campo foi calculado num evento OnCalcFields, onde WordField uma varivel do tipo TWordField.
if WordField.Calculated:= True then ShowMessage(Valor calculado em evento);
CANCEL
Descrio
A propriedade Cancel declarada como uma varivel do tipo booleano e indica se um controle do tipo TButton ou TBitBtn associa o seu evento OnClick ao pressionamento da tecla Esc.
Exemplo
Coloque um boto chamado Button1 num formulrio chamado Form1 e defina a sua propriedade Cancel como True no Object Inspector. No evento OnClick de Button1 inclua a seguinte linha de cdigo:
if Form1.Color := clYellow then Form1.Color := clRed else Form1.Color := clYellow;
Execute o aplicativo e pressione seguidamente a tecla Esc e voc ver a cor do formulrio alternar entre vermelho e amarelo.
CANCELED
Descrio
Essa propriedade declarada como uma varivel booleana e define se o mtodo Cancel do componente foi acionado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1007
CANMODIFY
Descrio
A propriedade CanModify declarada como uma varivel do tipo booleana, e indica se o valor do campo pode ser alterado. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio. Para componentes do tipo TTable, TQuery, TDecisionQuery e TStoredProc, define se um campo do banco de dados pode ser alterado.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem informando se o valor do campo pode ser modificado, onde WordField uma varivel do tipo TWordField.
if WordField.CanModify := True then ShowMessage(Valor pode ser modificado);
CANVAS
Descrio
A propriedade Canvas declarada como uma varivel do tipo TCanvas e fornece uma rea grfica na qual o programa pode realizar desenhos durante a sua execuo. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes dos tipos TForm, TImage e TPaintBox, voc desenha com a propriedade Canvas quando disparado um evento OnPaint. Para componentes dos tipos TComboBox, TDirectoryListBox, TFileListBox, TListBox e TOutline voc desenha com a propriedade Canvas quando disparado um evento OnDrawItem. Para componentes dos tipos TDBGrid, TDBCtrlGrid, TDrawGrid, TIWDBGrid e TStringGrid, voc desenha com a propriedade Canvas quando disparado um evento OnDrawCell ou OnDrawDataCell. Para componentes dos tipos TPrinter e TQRPrinter, voc desenha com a propriedade Canvas atravs dos mtodos Draw, StretchDraw e CopyRect (desde que a impressora associada ao objeto TPrinter seja capaz de imprimir grficos). Para componentes dos tipos TChart e TDBChart, voc desenha com a propriedade Canvas nos procedimentos associados aos eventos AfterDrawValues e BeforeDrawValues. Para componentes dos tipos TBaseReport, TCanvasReport, TRvNDRWriter, TRVRenderPreview e TRvRenderPrinter, define a superfcie de desenho do relatrio.
A propriedade Canvas por si s um objeto da GDI do Windows e tem subpropriedades como Pen, Brush, Font e Color, que tambm so objetos da GDI.
CAPTULO 41 PROPRIEDADES
Exemplo
Se voc quiser que o seu programa desenhe sempre um retngulo vermelho dentro de um componente PaintBox1 do tipo TPaintBox, defina o evento OnPaint de PaintBox1 da seguinte forma:
procedure TForm1.PaintBox1Paint(Sender: Tobject); begin PaintBox1.Canvas.Brush.Color:= clRed; PaintBox1.Canvas.Rectangle(10,10,150,150); end;
CAPABILITIES
Descrio
A propriedade Capabilities declarada como uma varivel do tipo TMPDevCapsSet e consiste num conjunto de propriedades que definem as capacidades do dispositivo multimdia corrente. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio. Tabela de Valores:
Valor mpCanEject mpCanPlay mpCanRecord mpCanStep mpUsesWindows Significado Pode realizar operaes de ejeo. Pode executar o dispositivo. Pode realizar operaes de gravao. Pode avanar e retroceder no dispositivo. Usa uma janela para exibio de resultados.
Exemplo
O trecho de cdigo a seguir verifica se o dispositivo mostra uma janela de exibio dos resultados e, em caso positivo, emite uma mensagem.
if mpUsesWindows in MediaPlayer1.Capabilities then ShowMessage(Dispositivo exibe janela);
CAPACITY
Descrio
Para objetos da classe TList, a propriedade Capacity declarada como uma varivel inteira que define o espao alocado para armazenar a lista de objetos. Para componentes DecisionCube, a propriedade Capacity declarada como uma varivel inteira que define a memria mxima a ser alocada para o cache do componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1009
CAPTION
Descrio
A propriedade Caption declarada como uma varivel do tipo string, e indica o rtulo exibido para o componente. Para transformar um dos caracteres do rtulo em uma tecla aceleradora, basta colocar um E comercial - (&) antes do caractere, e o caractere ser exibido sublinhado. Para formulrios, essa propriedade indica o texto exibido na sua barra de ttulos, e o rtulo associado ao seu cone, quando o controle estiver minimizado. Para objetos da classe TAction, que representam aes definidas em um componente TactionList, essa propriedade define o texto a ser exibido nos controles e itens de menu associados. Observao: Essa capacidade de transformar um caractere em tecla aceleradora no se aplica propriedade Caption de um formulrio.
Exemplo
Coloque um boto chamado Button1 num formulrio chamado Form1 e defina a sua propriedade Caption como &Boto (o rtulo exibido ser Boto) no Object Inspector. A seqncia de teclas Alt+B gera um evento OnClick de Button1.
CAPTIONCOLOR
Descrio
A propriedade CaptionColor declarada como uma varivel do tipo TColor e define a cor de fundo do texto que exibe o nome das linhas e colunas correspondentes s dimenses de dados exibidas pelo componente.
CAPTIONFONT
Descrio
A propriedade CaptionColor declarada como uma varivel do tipo TFont e define a fonte do texto que exibe o nome das linhas e colunas correspondentes s dimenses de dados exibidas pelo componente.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TDecisionGraph
CATEGORY
Descrio
A propriedade Category declarada como uma varivel do tipo string, e define a categoria qual o objeto pertence. Voc pode digitar seu valor diretamente no Object Inspector, quando o objeto estiver selecionado no editor de aes do Delphi.
CELLS
Descrio
A propriedade Cells declarada como uma array de strings onde cada item da array corresponde ao texto exibido em uma clula da grade, definida pelos ndices ARow e ACol, que variam de zero at RowCount1 e ColCount-1, respectivamente. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar o texto exibido na primeira clula da grade atravs de uma linha de cdigo, como:
StringGrid1.Cells[0,0] := Primeira clula ;
CENTER
Descrio
A propriedade Center uma varivel booleana que determina se a imagem deve ser exibida centralizada no controle. Se for igual a False, o alinhamento da imagem e do controle feito coincidindo-se a extremidade superior esquerda.
Exemplo
Voc pode alterar a propriedade Center de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Image1.Center := False;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1011
CHANGEDCOUNT
Descrio
A propriedade ChangedCount declarada como uma varivel inteira que armazena o nmero de registros adicionados tabela definida na propriedade ChangedTableName do componente. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CHANGEDTABLENAME
Descrio
A propriedade ChangedTableName declarada como uma varivel do tipo TFileName que armazena os registros que sofreram alterao devido a uma operao realizada por um componente do tipo TBatchMove.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
BatchMove1.ChangedTableName := registro.db;
CHARCASE
Descrio
A propriedade CharCase declarada como uma varivel do tipo TEditCharCase que define se o texto exibido pelo componente deve aparecer apenas em letras maisculas, apenas em letras minsculas ou em letras maisculas e minsculas. Tabela de Valores:
Significado Texto exibido em letras minsculas. Texto exibido em letras maisculas e minsculas. Texto exibido em letras maisculas.
Exemplo
Voc pode alterar a propriedade CharCase de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Edit1.CharCase := ecNormal;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TDBEdit, TEdit e TMaskEdit
CHECKED
Descrio
A propriedade Checked declarada como uma varivel do tipo booleana que determina se o controle est selecionado. Tabela de Valores para controles dos tipos TCheckBox e TDBCheckBox:
Significado O componente est selecionado e apresenta uma marca de verificao na cor preta. O componente no est selecionado; apresenta uma marca de verificao na cor cinza ou no apresenta uma marca de verificao.
Significado O componente est selecionado e apresenta um crculo na cor preta. O componente no est selecionado e no apresenta um crculo na cor preta.
Significado Uma marca de verificao aparece ao lado do item de menu, indicando que ele est selecionado. Nenhuma marca de verificao aparece ao lado do item de menu, indicando que ele no est selecionado.
Para objetos da classe TAction, que representam aes definidas em um componente TactionList, essa propriedade define o texto a ser exibido nos controles e itens de menu associados.
Exemplo
Voc pode alterar a propriedade Checked do componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
CheckBox1.Checked := True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1013
CLIENTHANDLE
Descrio
A propriedade ClientHandle uma varivel do tipo HWND que define um handle para a rea-cliente de uma janela MDI. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que a altura da rea-cliente de um formulrio seja reduzida metade cada vez que o usurio d um clique com o mouse sobre o formulrio.
procedure TForm1.Button1Click(Sender: TObject); begin Form1.ClientHeight := Form1.ClientHeight div 2; end;
CLIENTHEIGHT
Descrio
A propriedade ClientHeight uma varivel inteira que define a altura, em pixels, da rea-cliente de um controle. Com exceo de componentes do tipo TForm, essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode usar essa propriedade para chamadas s funes da API do Windows.
CLIENTORIGIN
Descrio
A propriedade ClientOrigin declarada como uma varivel do tipo TPoint que fornece, em pixels, as coordenadas do canto superior esquerdo da rea-cliente de um controle, no sistema de coordenadas da tela. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CAPTULO 41 PROPRIEDADES
Exemplo
O trecho de cdigo a seguir faz com que as coordenadas da origem da rea-cliente de um formulrio sejam exibidas em um componente Label1 do tipo TLabel.
Label1.Caption := X = +IntToStr(Form1.ClientOrigin.X)+ Y = + IntToStr(Form1.ClientOrigin.Y);
CLIENTRECT
Descrio
A propriedade ClientRect declarada como uma varivel do tipo TRect que define o tamanho, em pixels, da rea-cliente de um controle. Os campos Top, Left, Bottom e Right de ClientRect definem as coordenadas do canto superior esquerdo (Left,Top) e inferior direito (Right, Bottom) da rea-cliente. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir desenha uma linha do canto superior esquerdo ao canto inferior direito da rea-cliente do formulrio corrente.
with ClientRect do begin Canvas.MoveTo(Left,Top); Canvas.LineTo(Right, Bottom); end;
CLIENTWIDTH
Descrio
A propriedade ClientWidth uma varivel inteira que define a largura, em pixels, da rea-cliente de um controle. Com exceo de componentes do tipo TForm, essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que a largura da rea-cliente de um formulrio seja reduzida metade cada vez que o usurio d um clique com o mouse sobre o formulrio.
procedure TForm1.Button1Click(Sender: TObject); begin Form1.ClientWidth := Form1.ClientWidth div 2; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1015
CLIPRECT
Descrio
A propriedade ClipRect define um retngulo de clipping na superfcie do desenho. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
COL
Descrio
A propriedade Col declarada como uma varivel do tipo inteiro longo (Longint) que define a que coluna pertence a clula que possui o foco. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe a coluna que possui o foco em um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption := Coluna + IntToStr(StringGrid1.Col + 1); end;
COLCOUNT
Descrio
A propriedade ColCount declarada como uma varivel do tipo inteiro longo (Longint) que define o nmero de colunas do controle. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe o nmero de colunas de um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: Tobject); begin Label1.Caption:= IntToStr(StringGrid1.ColCount); end;
COLLATE
Descrio
A propriedade Collate declarada como uma varivel booleana que define se as pginas sero impressas agrupadas.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
PrintDialog1.Collate := True;
COLOR
Descrio
A propriedade Color declarada como uma varivel do tipo TColor e define a cor de fundo de um componente. Tabela de Valores:
Valor clBlack clMaroon clGreen clOlive clNavy clPurple clTeal clGray clSilver clRed clLime clBlue clFuchsia clAqua clWhite clBackground clActiveCaption clInactiveCaption clMenu clWindow clWindowFrame
Significado Preto Marrom Verde Verde-Oliva Azul-Marinho Roxo Teal Cinza Prata Vermelho Verde-Limo Azul Rosa Azul-Claro Branco Cor de fundo de janela definida no Painel de Controle do Windows. Cor da barra de ttulo da janela ativa, definida no Painel de Controle do Windows. Cor da barra de ttulo da janela inativa, definida no Painel de Controle do Windows. Cor de fundo de Menu, definida no Painel de Controle do Windows. Cor de fundo da janela ativa, definida no Painel de Controle do Windows. Cor do contorno das janelas, definida no Painel de Controle do Windows.
continua
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1017
Valor clMenuText clWindowText clCaptionText clActiveBorder clInactiveBorder clAppWorkSpace clHighlight clHighlightText clBtnFace clBtnShadow clGrayText clBtnText clInactiveCaptionText clBtnHighlight
Significado Cor do texto em menus, definida no Painel de Controle do Windows. Cor do texto em janelas, definida no Painel de Controle do Windows. Cor do texto na barra de ttulo da janela ativa, definida no Painel de Controle do Windows. Cor da borda da janela ativa, definida no Painel de Controle do Windows. Cor da borda da janela inativa, definida no Painel de Controle do Windows. Cor da rea de trabalho do aplicativo, definida no Painel de Controle do Windows. Cor de fundo de um texto selecionado, definida no Painel de Controle do Windows. Cor de um texto selecionado, definida no Painel de Controle do Windows. Cor da face de um boto, definida no Painel de Controle do Windows. Cor da sombra de um boto, definida no Painel de Controle do Windows. Cor do texto obscuro em um boto, definida no Painel de Controle do Windows. Cor do texto exibido em um boto, definida no Painel de Controle do Windows. Cor do texto da barra de ttulo de uma janela inativa, definida no Painel de Controle do Windows. Cor de um boto, definida no Painel de Controle do Windows.
Exemplo
Voc pode alterar a propriedade Color de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
CheckBox1.Color := ClYellow;
CAPTULO 41 PROPRIEDADES
COLOREACHPOINT
Descrio
A propriedade ColorEachPoint uma varivel do tipo booleano que determina se cada ponto da srie representada pelo objeto deve ser desenhado com uma cor distinta.
COLOREDBUTTONS
Descrio
A propriedade ColoredButtons declarada como uma varivel do tipo TButtonSet e consiste num conjunto que define os botes do componente que devem aparecer coloridos.
Exemplo
O trecho de cdigo a seguir faz com que todos os botes apaream em cores.
TMediaPlayer1.ColoredButtons := [btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject]
COLS
Descrio
A propriedade Cols declarada como uma array de listas de strings, onde cada lista armazena as strings das clulas de uma coluna da grade. O ndice da array define o nmero da coluna a ser acessada, comeando com 0. Na realidade, cada coluna tratada como uma lista de strings. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
A linha de cdigo a seguir adiciona a string Nova string lista de strings correspondente terceira coluna de um componente chamado StringGrid1 do tipo TStringGrid:
StringGrid1.Cols[2].Add(Nova string);
COLUMNMARGININCHES
Descrio
A propriedade ColumnMarginInches uma varivel do tipo inteiro longo que define, em dcimos de polegada, o espao entre colunas para um relatrio de mltiplas colunas.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1019
COLUMNMARGINMM
Descrio
A propriedade ColumnMarginMM uma varivel do tipo inteiro longo que define, em milmetros, o espao entre colunas para um relatrio de mltiplas colunas.
COLUMNS
Descrio
Para componentes do tipo TQuickReport, a propriedade Columns declarada como uma varivel do tipo booleana, e define o nmero de colunas do relatrio. Para componentes dos tipos TDBRadioGroup, TDirectoryListBox, TListBox e TRadioGroup, essa propriedade declarada como uma varivel do tipo inteiro longo (Longint), e indica o nmero de colunas do controle. Para controles do tipo TListView, essa propriedade declarada como uma varivel do tipo TListColumns, e define o cabealho de uma coluna do componente.
Exemplo
Voc pode alterar a propriedade Columns de um componente diretamente no Object Inspector ou durante a execuo do aplicativo incluindo uma linha de cdigo como:
ListBox1.Columns := 3;
COLWIDTHS
Descrio
A propriedade ColWidths declarada com uma array de inteiros, onde cada item da array define a largura, em pixels, das clulas da coluna especificada pelo ndice. Essa propriedade s est disponvel durante a execuo do aplicativo.
CAPTULO 41 PROPRIEDADES
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe a largura das clulas da primeira coluna de um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption := IntToStr(StringGrid1.ColWidths[0]); end;
COMMAND
Descrio
Essa propriedade declarada como uma varivel do tipo Word inteira e indica o nmero do comando passado para o Windows usar na mensagem WM_COMMAND a ser enviada para o formulrio quando o usurio seleciona um item de menu. Esse comando s til se voc quiser manipular diretamente a mensagem WM_COMMAND, o que raramente necessrio com o Delphi. Essa propriedade s pode ser acessada durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
COMMANDTEXT
Descrio
Essa propriedade definida como uma varivel do tipo String, e define o comando a ser executado (geralmente na forma de uma declarao SQL).
COMMANDTIMEOUT
Descrio
Essa propriedade definida como uma varivel inteira, e define o tempo mximo (em segundos) para a execuo de um comando (seno considera-se que o comando no foi executado com successo). Seu valor default igual a 30.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1021
COMMANDTYPE
Descrio
Para componentes do tipo TADOCommand e TADODataset, essa propriedade definida como uma varivel do tipo TCommandType, e define o tipo de comando a ser executado. Para estes componentes, esta propriedade pode assumir um dos seguintes valores:
Significado O tipo de comando desconhecido O comando uma definio textual de uma declarao SQL ou chamada de uma Stored Procedure O comando , na realidade, o nome de uma tabela. O comando , na realidade, o nome de uma stored procedure. O comando se refere ao nome de um arquivo no qual um conjunto de registros est armazenado.. O comando , na realidade, o nome de uma tabela; sendo todos os campos retornados.
Para o componente TSQLDataset, essa propriedade definida como uma varivel do tipo TSQLCommandType, e define o tipo de comando a ser executado. Para este componente, esta propriedade pode assumir um dos seguintes valores:
Significado O comando , na realidade, o nome de uma tabela. O comando , na realidade, o nome de uma stored procedure. O comando uma instruo SQL.
COMMONAVI
Descrio
Essa propriedade declarada como uma varivel booleana, e define se o clipe a ser exibido pelo componente corresponde a uma das animaes armazenadas no arquivo Shell32.dll.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TAnimate
COMPONENTCOUNT
Descrio
A propriedade ComponentCount declarada como uma varivel inteira e indica o nmero de componentes possudos pelo componente atual, e listados na sua propriedade Components. Essa propriedade s pode ser acessada durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Crie um formulrio em branco (chamado Form1) e inclua um componente TLabel (chamado Label1). Se durante a execuo do aplicativo voc quiser exibir o valor da propriedade ComponentCount em Label1, inclua as seguintes linhas de cdigo:
Label1.Caption := IntToStr(Form1.ComponentCount);
COMPONENTINDEX
Descrio
A propriedade ComponentIndex declarada como uma varivel do tipo inteiro e indica a posio do componente na lista do seu componente-proprietrio. O primeiro componente da lista possui o valor da propriedade ComponentIndex igual a 0, o segundo possui o valor 1 e assim por diante. Essa propriedade s pode ser acessada durante a execuo do aplicativo e, ao contrrio do que consta no Help On-line do Delphi, pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Crie um formulrio em branco (chamado Form1) e inclua um componente TButton (chamado Button1), um componente TPanel (chamado Panel1) e um componente TRadioButton (chamado TRadioButton1). Se durante a execuo do aplicativo voc quiser colocar o valor da propriedade ComponentIndex de cada um dos componentes acima em trs variveis inteiras a, b e c, inclua as seguintes linhas de cdigo:
a := Form1.Button1.ComponentIndex; b := Form1.Panel1.ComponentIndex; c := Form1.RadioButton11.ComponentIndex;
Para alterar a propriedade ComponentIndex de um componente, basta incluir uma linha de cdigo do tipo:
Form1.Panel1.ComponentIndex := a;
Nesse caso, o Delphi se encarrega de redefinir a propriedade ComponentIndex dos demais controles, de modo que no ocorra duplicao de ndice.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1023
COMPONENTS
Descrio
A propriedade Components declarada como uma array que contm todos os componentes que pertencem ao componente atual. Essa propriedade s pode ser acessada durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio. Observao: No confundir a propriedade Components com a propriedade Controls. A propriedade Components contm todos os componentes que pertencem ao componente atual, enquanto a propriedade Controls contm todos os controles que pertencem ao componente atual, no caso de este ser um controle (lembre-se de que todo controle um componente mas nem todo componente um controle).
Exemplo
Se voc quiser que um componente chamado Label1 tenha a sua propriedade Caption igual do terceiro componente da propriedade Components de um formulrio chamado Form1, basta digitar a seguinte linha de cdigo:
Label1.Caption := TButton(Form1.Components[2]).Caption;
CONFIRMDELETE
Descrio
A propriedade ConfirmDelete declarada como uma varivel booleana e determina se deve ser exibida uma mensagem de confirmao quando o usurio tentar deletar um registro do banco de dados com o controle TDBNavigator.
Exemplo
Voc pode alterar a propriedade ConfirmDelete diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
DBNavigator1.ConfirmDelete := False;
CONNECTED
Descrio
A propriedade Connected uma varivel booleana que define se o componente est ou no conectado a um banco de dados.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar a propriedade Connected de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
Database1.Connected := True;
CONNECTION
Descrio
Para componentes de acesso via ADO, essa propriedade definida como uma varivel do tipo TADOConnection, e define o tipo de conexo que ser usada pelo componente. Para componentes de acesso via DBExpress (TSQLConnection), essa propriedade definida como uma varivel do tipo string, e identifica a conexo representada pelo componente.
CONNECTIONSTRING
Descrio
Essa propriedade definida como uma varivel do tipo WideString e define como ser feita a conexo ao banco de dados.
CONNECTMODE
Descrio
A propriedade ConnectMode declarada como uma varivel do tipo TDataMode que estabelece como ser feita a ligao com a aplicao servidora.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1025
Exemplo
Voc pode alterar o valor da propriedade ConnectMode de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
DdeClientConv1.ConnectMode := ddeManual;
CONTEXT
Descrio
A propriedade Context declarada como uma varivel do tipo string, e contm informaes sobre o erro que gerou a exceo.
CONTROLCOUNT
Descrio
A propriedade ControlCount declarada como uma varivel inteira e indica o nmero de controles pertencentes ao controle atual. Essa propriedade s pode ser acessada durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Se voc quiser saber quantos controles pertencem a um componente Panel (chamado Panel1) de um formulrio chamado Form1 e atribuir esse valor a uma varivel inteira a, basta digitar a seguinte linha de cdigo:
a := Form1.Panel1.ControlCount;
CAPTULO 41 PROPRIEDADES
CONTROLS
Descrio
A propriedade Controls declarada como uma array que contm todos os controles que pertencem ao controle atual. Essa propriedade s pode ser acessada durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio. No confundir a propriedade Controls com a propriedade Components. A propriedade Components contm todos os componentes que pertencem ao componente atual, enquanto a propriedade Controls contm todos os controles que pertencem ao controle atual (lembrese de que todo controle um componente mas nem todo componente um controle).
Exemplo
Se voc quiser que um componente chamado Label1 tenha a sua propriedade Caption igual do terceiro elemento da propriedade Controls de um formulrio chamado Form1, basta digitar a seguinte linha de cdigo:
Label1.Caption := TButton(Form1.Controls[2]).Caption;
CONTROLTYPE
Descrio
Essa propriedade declarada como uma varivel do tipo TDecisionControlType e responde a alteraes no componente DecisionPivot. Essa propriedade pode receber um dos valores mostrados na tabela a seguir.
Significado A seleo de um dos botes correspondentes s dimenses manipuladas pelo componente abre ou fecha a dimenso associada ao boto. A seleo de um dos botes correspondentes s dimenses manipuladas pelo componente abre ou fecha a dimenso associada ao boto e fecha as demais dimenses associadas quela direo. A seleo de um dos botes correspondentes s dimenses manipuladas pelo componente abre ou fecha a dimenso associada ao boto e fecha ou abre outra dimenso associada quela direo.
xtRadionEx
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1027
CONVERTDLGHELP
Descrio
A propriedade ConvertDlgHelp uma varivel do tipo THelpContext que fornece um nmero ao qual est associado um tpico de auxlio sensvel ao contexto para a caixa de dilogo Convert. A caixa de dilogo Convert permite que o usurio converta um objeto OLE em outro tipo de objeto.
Exemplo
Voc pode definir o valor da propriedade ConvertDlgHelp diretamente no Object Inspector ou mediante uma linha de cdigo, como:
OLEContainer1.ConvertDlgHelp := 8;
COPIES
Descrio
A propriedade Copies uma varivel inteira que define o nmero de cpias a serem impressas.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
PrintDialog1.Copies := 1;
COUNT
Descrio
Para componentes do tipo TIndexDefs, essa propriedade declarada como uma varivel inteira e define o nmero de elementos armazenados na propriedade Items. Para componentes do tipo TFieldDefs, essa propriedade declarada como uma varivel inteira e define o nmero de objetos armazenados. Para componentes dos tipos TList, TStringList, Tstrings e TMenuItem, essa propriedade declarada como uma varivel inteira e define o nmero de itens armazenados em uma lista ou item de menu. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TIndexDefs, TFieldDefs, TList, TStringList, Tstrings e TMenuItem
CTL3D
Descrio
A propriedade Ctl3D declarada como uma varivel booleana e determina se o controle ter um aspecto tridimensional (True) ou bidimensional (False).
Exemplo
Voc pode alterar a propriedade Ctl3D de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
RadioButton1.Ctl3D := False;
Observao: Para que a propriedade Ctl3D funcione com componentes dos tipos TRadioButton, TCheckBox e dilogos comuns do Windows, o arquivo CTL3DV2.DLL deve estar presente no path do sistema.
CURRENCY
Descrio
A propriedade Currency uma varivel booleana usada para controlar o formato de exibio do campo. Quando Currency igual a True a formatao feita com a funo FloatToText usando ffCurrency como parmetro para exibir texto ou ffFixed como parmetro para editar texto. Quando Currency igual a False, a formatao feita com a funo FloatToTextFmt. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar a propriedade Currency de um componente atravs de uma linha de cdigo, como:
FloatField1.Currency := True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1029
CURRENTMEMORY
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro longo, e define a quantidade de memria do servidor usada pelo banco de dados.
CURRENTPAGE
Descrio
A propriedade Currentpage uma varivel inteira que define o nmero da pgina corrente do relatrio.
CURRENTSUM
Descrio
Essa propriedade declarada como uma varivel inteira, e define o sumrio corrente do componente DecisionCube ao qual est vinculado.
CURSOR
Descrio
A propriedade Cursor declarada como uma varivel do tipo TCursor e indica a imagem exibida pelo ponteiro do mouse quando este passa sobre o controle. Tabela de Valores:
Valor crDefault crArrow crCross crIBeam crSize crSizeNESW Significado Ponteiro do mouse em forma de seta inclinada. Ponteiro do mouse em forma de seta inclinada. Ponteiro do mouse em forma de cruz. Ponteiro do mouse em forma de I. Ponteiro do mouse com quatro setas. Ponteiro do mouse com duas setas na direo NE-SW.
continua
CAPTULO 41 PROPRIEDADES
continuao
Valor crSizeNS crSizeNWSE crSizeWE crUpArrow crHourglass crDrag crNoDrop crHSplit crVSplit
Significado Ponteiro do mouse com duas setas na direo N-S. Ponteiro do mouse com duas setas na direo NW-SE. Ponteiro do mouse com duas setas na direo W-E. Ponteiro do mouse em forma de seta apontando para cima. Ponteiro do mouse em forma de ampulheta. Ponteiro do mouse em forma de smbolo de arraste. Ponteiro do mouse indicando que um componente no pode ser solto sobre outro. Ponteiro do mouse em forma de dupla seta horizontal. Ponteiro do mouse em forma de dupla seta vertical.
Exemplo
Se voc quiser que o ponteiro do mouse tenha o formato de uma cruz ao passar sobre um componente Shape1 do tipo TShape, basta definir a sua propriedade Cursor como crCross no Object Inspector.
CURSORS
Descrio
Para um componente TScreen, a propriedade Cursors declarada como uma varivel do tipo HCursor e d acesso a uma lista de cursores disponveis para a sua aplicao. Essa propriedade s est disponvel durante a execuo do aplicativo. Tabela de Valores:
Valor crDefault crNone crArrow crCross crIBeam crSize crSizeNESW crSizeNS crSizeNWSE crSizeWE ndice 0 -1 -2 -3 -4 -6 -7 -8 -9 -8 Significado Ponteiro do mouse em forma de seta inclinada. Invisvel. Ponteiro do mouse em forma de seta inclinada. Ponteiro do mouse em forma de cruz. Ponteiro do mouse em forma de I. Ponteiro do mouse com quatro setas. Ponteiro do mouse com duas setas na direo NE-SW. Ponteiro do mouse com duas setas na direo N-S. Ponteiro do mouse com duas setas na direo NW-SE. Ponteiro do mouse com duas setas na direo W-E.
continua
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1031
Significado Ponteiro do mouse em forma de seta apontando para cima. Ponteiro do mouse em forma de ampulheta. Ponteiro do mouse em forma de smbolo de arraste. Ponteiro do mouse indicando que um componente no pode ser solto sobre outro. Ponteiro do mouse em forma de dupla seta horizontal. Ponteiro do mouse em forma de dupla seta vertical. Ponteiro do mouse em forma de arraste mltiplo.
Exemplo
Se voc possuir um cone com nome MyCursor e quiser torn-lo a imagem do ponteiro do mouse ao passar sobre um formulrio, inclua o seguinte trecho de cdigo:
const crMyCursor = 5; procedure TForm1.FormCreate(Sender: TObject); begin Screen.Cursors[crMyCursor] := LoadCursor(1, NewCursor); Cursor := crMyCursor; end;
CURSORXPOS
Descrio
A propriedade CursorXPos uma varivel inteira que define a posio horizontal do texto, em unidades de impresso (pontos).
CURSORYPOS
Descrio
A propriedade CursorYPos uma varivel inteira que define a posio vertical do texto, em unidades de impresso (pontos).
CAPTULO 41 PROPRIEDADES
CUSTOMCOLORS
Descrio
A propriedade CustomColors, que declarada como uma varivel do tipo TStrings, armazena uma lista de strings e especifica as cores personalizadas que estaro disponveis na caixa de dilogo.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector (com o string list editor) ou mediante a incluso de um trecho de cdigo, como:
if ColorDialog1.Execute then ListBox1.Items.AddStrings(ColorDialog1.CustomColor
DATA
Descrio
A propriedade Data declarada como uma varivel do tipo Pointer e especifica qualquer dado que voc queira associar com um item de um componente do tipo TOutline. Essa propriedade s est disponvel durante a execuo do aplicativo.
DATABASE
Descrio
A propriedade Database declarada como uma varivel do tipo TDataSet que define o componente de banco de dados associado. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
DATABASECOUNT
Descrio
A propriedade DatabaseCount declarada como uma varivel inteira e especifica o nmero de componentes TDataBase (no caso de TSession) ou TIBDatabase (no caso de TIBTransaction) existentes na aplicao. Essa propriedade s est definida durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1033
DATABASENAME
Descrio
A propriedade Database declarada como uma varivel do tipo string e define o nome ou alias do banco de dados acessado pelo componente.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector (com o string list editor) ou mediante a incluso de um trecho de cdigo, como:
Table1.DatabaseName := Banco_de_Dados;
DATABASES
Descrio
A propriedade DataBases declarada como uma array de objetos do tipo TDataBase e mantm uma lista dos objetos do tipo TDataBase ou TIBDatabase disponveis em uma aplicao. Essa propriedade s est definida durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir fecha todos os bancos de dados associados a uma aplicao.
with Session do while DatabaseCount <> 0 do Databases[0].Close;
DATAFIELD
Descrio
A propriedade DataField declarada como uma varivel do tipo string e indica o campo a que esse controle corresponde no registro de um banco de dados.
Exemplo
Voc pode definir a propriedade DataField diretamente no Object Inspector ou atravs de uma linha de cdigo como:
DBEdit1.DataField := NOME;
que define a propriedade DataField de um componente chamado DBEdit1 do tipo TDBEdit como sendo igual a NOME.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TDBCheckBox, TDBComboBox, TDBEdit, TDBImage, TDBListBox, TDBLookupCombo, TDBLookupComboBox, TDBLookupList, TDBLookupListBox, TDBMemo, TDBRadioGroup, TDBText, TIWDBCheckBox, TIWDBComboBox, TIWDBEdit, TIWDBImage, TIWDBListBox, TIWDBLookupCombo, TIWDBLookupComboBox, TIWDBLookupListBox, TIWDBMemo, TIWDBText,TQRCustomControl, TQRDBCalc, TQRDBText e TQRGroup
DATASET
Descrio
Para componentes dos tipos TDataSource, TIBUpdateSQL e TUpdateSQL, essa propriedade declarada como uma varivel do tipo TDataSet e indica o componente que representa um banco de dados ao qual o componente est associado. Para componentes dos tipos TAutoIncField, TBCDField, TBlobField, TBooleanField, TBytesField, TCurrencyField, TDateField, TDecisionCube, TDateTimeField, TFloatField, TGraphicField, TIntegerField, TMemoField, TRvDatasetConnection, TSmallintField, TStringField, TTimeField, TVarBytesField, TUpdateSQL e TWordField essa propriedade declarada como uma varivel do tipo TDataSet e indica o banco de dados ao qual o campo se refere. Para esses componentes, essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar o valor da propriedade DataSet mediante uma linha de cdigo como a seguir, onde WordField uma varivel do tipo TWordField.
WordField.DataSet:= Banco_de_Dados
DATASETCOUNT
Descrio
A propriedade DataSetCount declarada como uma varivel inteira que define quantos componentes dos tipos TIBDataset, TIBTable, TIBQuery, TIBStoredProc, TTable, TQuery, TDecisionQuery e TStoredProc esto acessando o banco de dados representado por esse componente. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
DATASETS
Descrio
A propriedade DataSets declarada como uma array de componentes derivados de TDBDataSet que define os componentes dos tipos TTable, TQuery, TDecisionQuery e TStoredProc que esto acessando o banco de dados representado por esse componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1035
DATASIZE
Descrio
A propriedade DataSize declarada como uma varivel inteira e define o nmero de bytes ocupados pelo campo na memria. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem informando o nmero de bytes ocupado por WordField, que uma varivel do tipo TWordField.
ShowMessage(IntToStr(WordField.DataSize);
DATASOURCE
Descrio
Para componentes dos tipos TDBCheckBox, TDBComboBox, TDBEdit, TDBCtrlGrid, TDBGrid, TDBImage, TDBListBox, TDBLookupCombo, TDBLookupList, TDBMemo, TDBNavigator, TDBRadioGroup, TIWDBCheckBox, TIWDBComboBox, TIWDBEdit, TIWDBGrid, TIWDBImage, TIWDBListBox, TIWDBLookupCombo, IWDBLookupList, TIWDBMemo, TIWDBNavigator, TQuickReport, TQRDetailLink e TDBText, a propriedade DataSource declarada como uma varivel do tipo TDataSource e indica o componente ao qual est vinculado o banco de dados cujos campos se quer exibir. Para componentes dos tipos TADOCommand, TADODataset, TADOTable, TADOQuery, e TADOStoredProc, TQuery, TDecisionQuery e TClientDataSet a propriedade DataSource declarada como uma varivel do tipo TDataSource e indica o componente ao qual est vinculado o banco de dados ao qual se pode atribuir valores no limitados aos definidos por sua propriedades Params ou seu mtodo ParamByName. Para objetos da classe TChartSeries, determina a fonte de dados que definem os pontos da srie.
Exemplo
Voc pode definir a propriedade DataSource diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
DBEdit1.DataSource:= DataSource1;
CAPTULO 41 PROPRIEDADES
TQRDBCalc, TQRDBText, TQRDetailLink, TQRGroup, TQuickReport, TQRDetailLink TClientDataSet, TQuery, TdecisionQuery, TADOCommand, TADODataset, TADOTable, TADOQuery, e TADOStoredProc
DATATYPE
Descrio
A propriedade DataType declarada como do tipo TFieldType e define o tipo do campo. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
DBFILENAME
Descrio
Esta propriedade declarada como uma varivel do tipo string, e define o nome do arquivo no qual o banco de dados est armazenado.
DBHANDLE
Descrio
A propriedade DBHandle declarada como uma varivel do tipo HDBIDB, que permite acesso direto s funes da API do Borland Database Engine (BDE). Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
DBLOCALE
Descrio
A propriedade DBLocale declarada como uma varivel do tipo TLocale, que permite acesso direto ao Borland Database Engine (BDE). Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1037
DBSQLDIALECT
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro e define o tipo de dialeto SQL usado pelo banco de dados.
DDECONV
Descrio
A propriedade DDEConv declarada como uma varivel do tipo TDDEClientConv e define o componente do tipo TDDEClientConv ao qual esse item est associado em uma conversao DDE.
Exemplo
Voc pode alterar o valor da propriedade DDEConv de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
DDEClientItem1.DDEConv := DDEClientConv1
DDEITEM
Descrio
A propriedade DDEItem declarada como uma varivel do tipo string e define o item de uma conversao DDE.
Exemplo
Voc pode alterar o valor da propriedade DDEItem de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
DDEClientItem1.DDEItem := DDEC1;
CAPTULO 41 PROPRIEDADES
DDESERVICE
Descrio
A propriedade DDEService declarada como uma varivel do tipo string que define o nome da aplicao servidora.
Exemplo
Voc pode alterar o valor da propriedade DDEService de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
DdeClientConv1.DDEService := Programa;
DDETOPIC
Descrio
A propriedade DDETopic declarada como uma varivel do tipo string que define o tpico da conversao DDE.
Exemplo
Voc pode alterar o valor da propriedade DDETopic de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
DdeClientConv1.DDETopic := Topico;
DECISIONCUBE
Descrio
Essa propriedade define o componente DecisionCube associado.
DECISIONSOURCE
Descrio
Essa propriedade define o componente DecisionSource associado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1039
DEFAULT
Descrio
A propriedade Default declarada como uma varivel do tipo booleano e indica se um controle do tipo TButton ou TBitBtn associa o seu evento OnClick ao pressionamento da tecla Enter.
Exemplo
Coloque dois botes chamados Button1 e Button2 num formulrio chamado Form1 e defina a propriedade Default de Button1 como True no Object Inspector. No evento OnClick de Button1, inclua a seguinte linha de cdigo:
if Form1.Color := clYellow then Form1.Color := clRed else Form1.Color := clYellow;
Execute o aplicativo, pressione seguidamente a tecla Enter e voc ver a cor do formulrio alternar entre vermelho e amarelo, a menos que Button2 receba o foco da aplicao.
Se durante a execuo do aplicativo um outro boto chamado Button2 obtiver o Foco, passar temporariamente a ser o boto default, at que o foco seja dirigido para um componente que no seja um boto, quando Button1 voltar a ser o boto Default.
DEFAULTCOLWIDTH
Descrio
A propriedade DefaultColWidth uma varivel inteira que especifica a largura de todas as colunas do componente. Se voc quiser alterar a largura de uma nica coluna, redefina a propriedade ColWidths durante a execuo do aplicativo.
Exemplo
Voc pode alterar a propriedade DefaultColWidth de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
DrawGrid1.DefaultColWidth := 50;
CAPTULO 41 PROPRIEDADES
DEFAULTDATABASE
Descrio
Esta propriedade declarada como um objeto da classe TIBTransaction, e define o componente default que representa um banco de dados associado a transao.
DEFAULTDRAWING
Descrio
A propriedade DefaultDrawing uma varivel booleana que determina se uma clula deve ser pintada e o item que ela contm deve ser desenhado automaticamente. Se o valor da varivel for False, o desenho da clula deve ser programado nos eventos OnDrawCell e OnDrawDataCell.
Exemplo
Voc pode alterar a propriedade DefaultDrawing de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
DBGrid1.DefaultDrawing := False;
DEFAULTEXT
Descrio
A propriedade DefaultExt declarada como uma varivel do tipo TFileExt que especifica a extenso a ser adicionada ao nome de um arquivo quando o usurio digita o nome de um arquivo sem a sua extenso.
Exemplo
Voc pode alterar a propriedade DefaultExt de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
OpenDialog1.DefaultExt := TXT;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1041
DEFAULTINDEX
Descrio
A propriedade DefaultIndex declarada como uma varivel booleana, e define se os registros da tabela representada pelo componente devem ser ordenados por um ndice default quando a tabela aberta.
DEFAULTROWHEIGHT
Descrio
A propriedade DefaultRowHeight uma varivel inteira que especifica a altura de todas as linhas do componente. Se voc quiser alterar a altura de uma nica linha, redefina a propriedade RowHeigths durante a execuo do aplicativo.
Exemplo
Voc pode alterar a propriedade DefaultRowHeigth de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
DrawGrid1. DefaultRowHeigth := 50;
DEFAULTTRANSACTION
Descrio
A propriedade DefaultTransaction declarada como um objeto da classe TIBTransaction e define a transao default associada ao banco de dados representado pelo componente.
DELETESQL
Descrio
Essa propriedade armazena uma lista de strings contendo a declarao SQL usada para deletar um registro.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TIBDataset, TIBUpdateSQL, TUpdateSQL
DESTINATION
Descrio
A propriedade Destination declarada como uma varivel do tipo TTable que define o componente ao qual est associada uma tabela de um banco de dados qual sero adicionados os registros operados pelo mtodo Execute de um componente do tipo TBatchMove.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
BatchMove1.Destination := Table1;
DEVICE
Descrio
A propriedade Device declarada como uma varivel do tipo TFontDialogDevice e define o(s) dispositivo(s) afetado(s) pela fonte selecionada. Tabela de Valores:
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
FontDialog1.Device := fdBoth;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1043
DEVICEID
Descrio
A propriedade DeviceID declarada como uma varivel do tipo Word e define uma ID para o dispositivo. Essa propriedade s est definida durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente Edit1 do tipo TEdit exiba a ID do dispositivo multimdia corrente:
Edit1.Text := IntToStr(MediaPlayer1.DeviceID);
DEVICETYPE
Descrio
A propriedade DeviceType declarada como uma varivel do tipo TMPDeviceTypes e define o tipo de dispositivo a ser aberto com o mtodo Open. Os valores possveis para essa propriedade so dtAutoSelect, dtAVIVideo, dtCDAudio, dtDAT, dtDigitalVideo, dtMMMovie, dtOther, dtOverlay, dtScanner, dtSequencer, dtVCR, dtVideodisc e dtWaveAudio.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
MediaPlayer1.DeviceType := dtDat;
DIMENSIONMAP
Descrio
Essa propriedade declarada como um objeto da classe TcubeDims e define as dimenses e sumrios manipulados pelo componente.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TDecisionSource
DIRECTORY
Descrio
A propriedade Directory declarada como uma varivel do tipo string e define o diretrio apontado pelo componente.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado FileListBox1 do tipo TFileListBox exiba os arquivos existentes no diretrio apontado pelo componente DirectoryListBox1 do tipo TDirectoryListBox.
procedure TForm1.DirectoryListBox1Change(Sender: TObject); begin FileListBox1.Directory := DirectoryListBox1.Directory; end;
DIRLABEL
Descrio
A propriedade DirLabel declarada como uma varivel do tipo TLabel, que permite exibir o diretrio corrente como a propriedade Caption de um componente do tipo TLabel.
Exemplo
Coloque um componente chamado Label1 do tipo TLabel e um componente chamado DirectoryListBox1 do tipo TDirectoryListBox em um formulrio. Defina a propriedade DirLabel de DirectoryListBox1 como Label1 diretamente no Object Inspector ou mediante uma linha de cdigo, como:
DirectoryListBox1.DirLabel := Label1;
Isto faz com que Label1 exiba sempre o diretrio apontado por DirectoryListBox1.
DIRLIST
Descrio
A propriedade FileList declarada como uma varivel do tipo TDirectoryListBox e serve para fazer a conexo com um componente do tipo TDirectoryListBox. Ao fazer esse tipo de conexo, o componente TDirectoryListBox apontado por DirList exibir sempre o diretrio atual do drive corrente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1045
Isto faz com que DirectoryListBox1 exiba sempre os diretrios do drive apontado por DriveComboBox 1.
DISABLEIFNOHANDLER
Descrio
A propriedade DisableIfNoHandler declarada como uma varivel booleana, e define se os controles e itens de menu associados ao objeto devem ser desabilitados caso no exista nenhum procedimento associado a evento definido para esse objeto.
DISPLAY
Descrio
A propriedade Display declarada como uma varivel do tipo TWinControl e define o controle a ser usado para exibio dos resultados durante a execuo de um dispositivo multimdia.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
MediaPlayer1.Display := Form1;
CAPTULO 41 PROPRIEDADES
DISPLAYFORMAT
Descrio
A propriedade DisplayFormat declarada como uma varivel do tipo string e define o formato de exibio de um campo. Essa propriedade s est disponvel durante a execuo do aplicativo.
DISPLAYLABEL
Descrio
A propriedade DisplayLabel declarada como uma varivel do tipo string e define o cabealho a ser exibido na coluna que exibe o valor de um campo num componente do tipo TDBGrid. Se seu valor for igual a Null, o valor armazenado na propriedade FieldName ser usado. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar o valor dessa propriedade mediante a incluso de uma linha de cdigo, como:
WordField1.DisplayLabel:= coluna;
DISPLAYNAME
Descrio
A propriedade DisplayLabel declarada como uma varivel do tipo Pstring e retorna o nome do campo. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
DISPLAYPRINTDIALOG
Descrio
Essa propriedade declarada como uma varivel booleana e define se uma caixa de dilogo de impresso deve ser exibida antes de o relatrio ser impresso.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1047
DISPLAYRECT
Descrio
Para controles do tipo TMediaPlayer, a propriedade DisplayRect declarada como uma varivel do tipo TRect, define uma rea retangular no controle a ser usado para exibio dos resultados durante a execuo de um dispositivo multimdia e s est disponvel durante a execuo do aplicativo. Para componentes do tipo TTabControl, essa propriedade declarada como uma varivel do tipo TRect e define a altura, em pixels, da rea-cliente de um controle.
Exemplo
Voc pode alterar o valor dessa propriedade mediante a incluso de uma linha de cdigo, como:
MediaPlayer1.DisplayRect:= Rect(10, 10, 100, 200);
DISPLAYTEXT
Descrio
A propriedade DisplayText declarada como uma varivel do tipo string e retorna o texto exibido em um controle de exibio de campos de bancos de dados (exceto TEdit). Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Voc pode exibir o valor dessa propriedade mediante a incluso de uma linha de cdigo, como:
ShowMessage(IntToStr(IntegerField1.DisplayText));
CAPTULO 41 PROPRIEDADES
DISPLAYVALUE
Descrio
A propriedade DisplayValue declarada como uma varivel do tipo string e define a string exibida pelo controle. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um componente Label1 do tipo TLabel exiba a string armazenada na propriedade DisplayValue de um componente DBLookupCombo1 do tipo TDBLookupCombo:
Label1.Caption := DBLookupCombo1.DisplayValue;
DISPLAYWIDTH
Descrio
A propriedade DisplayWidth declarada como uma varivel inteira que define o nmero de caracteres usados para exibir o valor do campo em um controle do tipo TDBGrid. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar o valor dessa propriedade mediante a incluso de uma linha de cdigo, como:
IntegerField1.DisplayWidth:= 15;
DITHERBACKGROUND
Descrio
A propriedade DitherBackground declarada como uma varivel booleana e define se a cor de fundo do componente deve ser ajustada por um processo de Dithering.
Exemplo
Voc pode alterar a propriedade DitherBackground de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
TabSet1.DitherBackground := True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1049
DOCBACKCOLOR
Descrio
A propriedade DocBackColor declarada como uma varivel do tipo TColor e define a cor de fundo default de uma pgina Web.
DOCFORECOLOR
Descrio
A propriedade DocForeColor declarada como uma varivel do tipo TColor e define a cor default do texto exibido em uma pgina Web.
DOCKCLIENTCOUNT
Descrio
A propriedade DockClientCount declarada como uma varivel do tipo inteiro que define o nmero de controles ancorados no componente.
DOCKCLIENTS
Descrio
Essa propriedade armazena em uma array as referncias aos controles ancorados no componente.
DOCKRECT
Descrio
A propriedade DockRect declarada como uma varivel do tipo TRect que define uma rea retangular na qual, se liberados, os controles sero ancorados.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TPanel, TChart, TDBChart, TDecisionGraph, TFrame, TForm, TDBCtrlGrid, TDrawGrid, TDecisionGrid e TStringGrid
DOCKSITE
Descrio
A propriedade DockSite declarada como uma varivel do tipo booleano que define se o controle poder ancorar outros componentes, isto , se ser o alvo de uma operao de drag-e-dock.
DOCLINKCOLOR
Descrio
A propriedade DocLinkColor declarada como uma varivel do tipo TColor e define a cor default do texto que representa um link em uma pgina Web.
DOCLINKCOLOR
Descrio
A propriedade DocVisitedColor declarada como uma varivel do tipo TColor e define a cor default do texto que representa um link j visitado em uma pgina Web.
DOWN
Descrio
A propriedade Down declarada como uma varivel do tipo booleana, e indica se o componente est selecionado (True) ou no (False).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1051
DRAGCURSOR
Descrio
A propriedade DragCursor declarada como uma varivel do tipo TCursor e indica a imagem exibida pelo ponteiro do mouse quando este passa sobre um controle que pode aceitar o objeto sendo arrastado. Tabela de Valores: Consulte a propriedade Cursor.
Exemplo
Se voc quiser alterar a propriedade DragCursor de um componente chamado Memo1 do tipo TMemo para crIBeam, basta incluir a seguinte linha de cdigo:
Memo1.DragCursor:= crIBeam;
DRAGGING
Descrio A propriedade Dragging declarada como uma varivel do tipo booleana que determina se o controle est sendo arrastado. Essa propriedade s est disponvel durante a execuo do aplicativo. Componentes aos quais se aplica:
Durante a execuo do aplicativo: Todos os controles.
DRAGMODE
Descrio
A propriedade DragMode declarada como uma varivel do tipo TDragMode e define o comportamento de um controle no processo de arrastar e soltar. Tabela de Valores:
Significado O controle est pronto para ser arrastado, sem necessidade de programar o incio do processo de arraste. O incio do processo de arraste deve ser feito por uma chamada ao mtodo BeginDrag.
CAPTULO 41 PROPRIEDADES
Exemplo
Se voc quiser alterar a propriedade DragMode de um componente chamado Memo1 do tipo TMemo para dmManual, basta incluir a seguinte linha de cdigo:
Memo1.DragMode:= dmManual;
DRAWINGSTYLE
Descrio
Essa propriedade declarada como uma varivel do tipo TDrawingStyle, e especifica como a imagem ser desenhada. Tabela de Valores:
Valor dsFocused dsSelected dsNormal dsTransparent Significado Desenha com uma combinao em 50% da cor do sistema. Desenha com uma combinao em 25% da cor do sistema. Desenha a imagem com a cor especificada na propriedade BkColor. Desenha com uma mscara, independentemente do valor definido na propriedade BkColor.
DRIVE
Descrio
A propriedade Drive declarada como uma varivel do tipo Char que determina o drive exibido em um componente do tipo TDriveComboBox, o drive a que pertence o diretrio exibido em um
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1053
Exemplo
Voc pode fazer com que um componente DirectoryListBox1 do tipo TDirectoryListBox exiba os diretrios no drive C com a seguinte linha de cdigo:
DirectoryListBox1.Drive := C;
DRIVERNAME
Descrio
A propriedade DriverName especifica o driver do Borland Database Engine (BDE) ou do DBExpress usado com o banco de dados associado ao componente. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
DROPDOWNALIGN
Descrio
A propriedade DropDownAlign define o tipo de alinhamento do texto exibido na lista drop-down mostrada pelo componente. Tabela de Valores:
Exemplo
Voc pode alterar o valor da propriedade DropDownAlign diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
DBLookupComboBox1.DropDownAlign:= daLeft;
CAPTULO 41 PROPRIEDADES
DROPDOWNCOUNT
Descrio
A propriedade DropDownCount declarada como uma varivel inteira que define o nmero mximo de elementos a serem exibidos simultaneamente numa lista DropDown.
Exemplo
Voc pode alterar a propriedade DropDownCount de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
ComboBox1.DropDownCount := 6;
DROPDOWNWIDTH
Descrio
A propriedade DropDownWidth declarada como uma varivel inteira que define, em pixels, a largura da lista drop-down exibida pelo componente.
Exemplo
Voc pode alterar a propriedade DropDownWidth diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
DBLookupComboBox1.DropDownWidth:= 6;
DROPTARGET
Descrio
Para componentes do tipo TListView, essa propriedade declarada como uma varivel do tipo TListItem e retorna o item sobre o qual outro est sendo solto em uma operao de drag-drop. Essa propriedade s est definida durante a execuo do aplicativo. Para componentes do tipo TTreeView, essa propriedade declarada como uma varivel do tipo TTreeNode e retorna o item sobre o qual outro est sendo solto em uma operao de drag-drop. Essa propriedade s est definida durante a execuo do aplicativo. Para componentes do tipo TTreeNode, essa propriedade declarada como uma varivel do tipo booleana, e especifica se o item est sendo o alvo em uma operao de drag-drop. Essa propriedade s est definida durante a execuo do aplicativo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1055
EDITFORMAT
Descrio
A propriedade EditFormat declarada como uma varivel do tipo string, usada para formatar o valor de um campo para fins de edio. Essa propriedade s est disponvel durante a execuo do aplicativo.
EDITMASK
Descrio
A propriedade EditMask uma varivel do tipo string que define a mscara que limita os dados que podem ser digitados num componente do tipo EditMask ou em um campo de um registro de um banco de dados. A mscara limita os caracteres considerados vlidos a serem digitados pelo usurio. Uma mscara consiste em trs campos separados por ponto-e-vrgula. O primeiro campo a mscara propriamente dita; o segundo campo consiste num caractere que define se os caracteres ou a mscara devem ser salvos como parte dos dados; o terceiro campo define o caractere usado para representar espaos em branco na mscara. Existe um conjunto de caracteres especiais para definir uma mscara: !: Se um ! aparecer na mscara, caracteres em branco no so armazenados como dados. >: Se um > aparecer na mscara, todos os caracteres seguintes estaro em letras maisculas, at que seja encontrado um caractere igual a <. <: Se um < aparecer na mscara, todos os caracteres seguintes estaro em letras minsculas, at que seja encontrado um caractere igual a >. <>: Esse sinal significa que as letras maisculas e minsculas sero armazenadas como digitadas pelo usurio. \: Os caracteres que seguem esse sinal sero tratados como caracteres literais. L: Esse caractere faz com que apenas caracteres alfabticos (a-z e A-Z) sejam aceitos nessa posio. l: Esse caractere faz com que apenas caracteres alfabticos (a-z e A-Z) sejam aceitos nessa posio, mas aceita que sejam omitidos. A: Esse caractere faz com que apenas caracteres alfanumricos (0-9, a-z e A-Z) sejam aceitos nessa posio. a: Esse caractere faz com que apenas caracteres alfanumricos (0-9, a-z e A-Z) sejam aceitos nessa posio, mas aceita que sejam omitidos. C: Esse caractere faz com que quaisquer caracteres sejam aceitos nessa posio.
CAPTULO 41 PROPRIEDADES
c: Esse caractere faz com que quaisquer caracteres sejam aceitos nessa posio. 0: Esse caractere faz com que apenas caracteres numricos (0-9) sejam aceitos nessa posio. 9: Esse caractere faz com que apenas caracteres numricos (0-9) sejam aceitos nessa posio, mas aceita que sejam omitidos. #: Esse caractere faz com que apenas caracteres numricos (0-9) e sinais de mais (+) ou menos (-) sejam aceitos nessa posio, mas aceita que sejam omitidos. : Esse caractere (dois pontos) usado para separar horas, minutos e segundos em dados horrios. Se outro caractere separador de horas, minutos e segundos definido nos atributos internacionais do Painel de Controle do seu sistema, esse caractere ser usado em vez de dois pontos. /: Esse caractere usado para separar meses, dias, horas, minutos e segundos em dados de datas. Se outro caractere separador de meses, dias e anos definido nos atributos internacionais do Painel de Controle do seu sistema, ele ser usado em vez do caractere /. ;: O ponto-e-vrgula usado para separar mscaras. _: O caractere _ insere espaos em branco na caixa de edio.
Exemplo
Voc pode alterar a propriedade EditMask diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
MaskEdit1.EditMask:= 999-999,1,@;
EDITMASKPTR
Descrio
A propriedade EditMaskPtr declarada como uma varivel do tipo string, usada como um ponteiro para a propriedade EditMask. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1057
EDITMODE
Descrio
A propriedade EditMode uma varivel booleana que define se a grade est ou no no modo de edio. Quando o seu valor True, o usurio pode digitar texto em uma clula sem ter que antes pressionar Enter ou F2. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Durante a execuo do aplicativo, voc pode alterar o valor da propriedade EditMode com uma linha de cdigo semelhante a:
DBCtrlGrid1.EditMode:= True;
EDITORMODE
Descrio
Para componentes dos tipos TDBCtrlGrid, essa propriedade declarada como uma varivel booleana, e indica se o registro corrente do banco de dados est sendo editado pelo usurio. Para componentes do tipo TDBGrid, TDrawGrid, TStringGrid e TDBLookupList, essa propriedade declarada como uma varivel booleana, e indica se o componente est no modo automtico de edio. O valor dessa propriedade depende dos valores das propriedades Options e EditMode dos componentes. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
EDITTEXT
Descrio
A propriedade EditText uma varivel do tipo string que armazena o valor da propriedade Text como ela exibida durante a execuo do aplicativo, com a mscara definida na propriedade EditMask. Em outras palavras, essa propriedade armazena o texto que realmente exibido durante a execuo do aplicativo. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um componente Label1 do tipo TLabel exiba o valor da propriedade EditText de um componente DBEdit1 do tipo TDBEdit:
Label1.Caption := DBEdit1.EditText;
CAPTULO 41 PROPRIEDADES
EMPTY
Descrio
A propriedade Empty declarada como uma varivel booleana e determina se o objeto contm ou no um grfico. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Voc pode verificar o valor dessa propriedade durante a execuo do aplicativo, incluindo uma linha de cdigo como:
if Graphic1.Empty then ShowMessage(objeto vazio);
ENABLED
Descrio
A propriedade Enabled declarada como uma varivel do tipo booleana e define se o componente responde a eventos do mouse, do teclado e do temporizador, isto , define se o componente est habilitado. Pata objetos da classe TAction, define o valor atribudo propriedade Enabled dos controles e itens de menu associados ao objeto.
Exemplo
Se voc quiser que um boto chamado Button1 s responda a um nico clique do mouse, coloque a seguinte linha de cdigo em seu evento OnClick:
Button1.Enabled := False;
ENABLEDBUTTONS
Descrio
A propriedade EnabledButtons declarada como uma varivel do tipo TButtonSet e consiste num conjunto que define os botes do componente que esto habilitados.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de um trecho de cdigo. O trecho de cdigo a seguir faz com que todos os botes estejam habilitados:
TMediaPlayer1.EnabledButtons := [btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject]
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1059
ENABLEOPENBTN
Descrio
Essa propriedade declarada como uma varivel booleana e define se o boto Open file ser exibido num formulrio padro de pr-visualizao de relatrios.
ENABLEPRINTBTN
Descrio
Essa propriedade declarada como uma varivel booleana e define se o boto Print ser exibido num formulrio padro de pr-visualizao de relatrios.
ENABLESAVEBTN
Descrio
Essa propriedade declarada como uma varivel booleana e define se o boto Save file ser exibido num formulrio padro de pr-visualizao de relatrios.
ENDMARGIN
Descrio
A propriedade EndMargin declarada como uma varivel inteira e determina a distncia, em pixels, da guia mais direita dentre as visveis no controle e a extremidade direita do controle.
Exemplo
O valor da propriedade EndMargin pode ser alterado diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
TabSet1.EndMargin := 6;
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TTabSet
ENDPOS
Descrio
A propriedade EndPos declarada como uma varivel do tipo inteiro longo (Longint) que define a posio final da execuo ou gravao em um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um arquivo de udio do tipo WAV seja executado pela metade quando o usurio selecionar um boto chamado Button1 do tipo TButton:
procedure TForm1.Button1Click(Sender: TObject); begin with MediaPlayer1 do begin FileName := D:\WINAPPS\SOUNDS\CARTOON.WAV; Open; EndPos := TrackLength[1] div 2; Play; end; end;
EOF
Descrio
A propriedade EOF uma varivel booleana que determina se um banco de dados est no seu ltimo registro. Isto acontece depois que uma tabela aberta e ocorre uma chamada aos eventos Last ou Next. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
ERROR
Descrio
A propriedade Error declarada como uma varivel do tipo inteiro longo (Longint) que define o cdigo do erro ocorrido na execuo ou gravao em um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1061
ERRORCODE
Descrio Para objetos das classes EDBClient e EReconcileError, a propriedade ErrorCode declarada como uma varivel do tipo string, e retorna o cdigo de erro fornecido pelo BDE.
Para objetos das classes EoleException e EOleSysError, a propriedade ErrorCode declarada como uma varivel do tipo string, e retorna o cdigo de erro numa operao OLE.
ERRORCOUNT
Descrio
A propriedade ErrorCount declarada como uma varivel do tipo integer, e retorna o nmero de erros referenciados pela propriedade Errors.
ERRORMESSAGE
Descrio
A propriedade ErrorMessage declarada como uma varivel do tipo string que define a mensagem de erro correspondente ao cdigo do erro ocorrido na execuo ou gravao em um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem com o cdigo do erro ocorrido durante a execuo de um dispositivo multimdia.
ShowMessage(MediaPlayer1.ErrorMessage);
CAPTULO 41 PROPRIEDADES
ERRORS
Descrio
A propriedade Errors declarada como um array de objetos da classe TDBError e retorna os erros ocorridos com o BDE.
EVENTS
Descrio
A propriedade Events declarada como uma lista de strings que armazena os nomes dos eventos interceptados pelo componente.
EXCLUSIVE
Descrio
A propriedade Exclusive declarada como uma varivel booleana e define se outros usurios podem ter acesso mesma tabela que a representada por esse componente (isto no ser possvel se a propriedade tiver o valor True).
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
Table1.Exclusive := True;
EXENAME
Descrio
A propriedade ExeName declarada como uma varivel do tipo string que armazena o nome do arquivo executvel da aplicao, incluindo-se o Path. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem com o nome do arquivo executvel da aplicao.
ShowMessage(Application.ExeName);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1063
EXISTS
Descrio
A propriedade Exists declarada como uma varivel booleana e define se a tabela referenciada pelo componente j existe ou se deve ser criada durante a execuo do aplicativo.
EXPANDED
Descrio
A propriedade Expanded declarada como uma varivel booleana e define se o item est expandido (se seus subitens esto sendo exibidos). Essa propriedade s est disponvel durante a execuo do aplicativo.
EXTENDSELECT
Descrio
A propriedade ExtendSelect declarada como uma varivel do tipo booleana e define se o usurio pode selecionar uma faixa de itens usando a tecla Shift, ou vrios itens descontguos usando a tecla Ctrl, desde que a propriedade Multiselect seja igual a True.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante uma linha de cdigo, como:
ListBox1.ExtendSelect := False;
FIELDCLASS
Descrio
A propriedade FieldClass declarada como uma varivel do tipo TFieldClass que define o tipo de componente correspondente ao campo. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TField
FIELDCOUNT
Descrio
A propriedade FieldCount uma varivel inteira que especifica o nmero de campos (controles) em um banco de dados. Esse nmero no corresponde necessariamente ao nmero de campos em uma tabela relacionada a esse banco de dados, pois podemos adicionar novos campos a uma tabela (cujos valores so calculados a partir dos existentes no banco de dados) ou remover campos com o Fields Designer. Em componentes do tipo TDBGrid e TDBLookupList, o valor dessa propriedade corresponde ao nmero de campos exibido pelo controle. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel mostre o nmero de colunas exibidas por um componente DBGrid1 do tipo TDBGrid.
Label1.Caption := IntToStr(DBGrid1.FieldCount);
FIELDDEFS
Descrio
A propriedade FieldDefs declarada como uma varivel do tipo TFieldDef que armazena informaes sobre cada campo em um banco de dados. Essa propriedade s est disponvel durante a execuo do aplicativo.
FIELDLIST
Descrio
A propriedade FieldList declarada como um objeto da classe TFieldList, que armazena uma lista de objetos descendentes de TField associados ao dataset.
FIELDNAME
Descrio
A propriedade FieldName declarada como uma varivel do tipo string e define o nome da coluna que armazena o valor de um campo num banco de dados. Essa propriedade s est disponvel durante a execuo do aplicativo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1065
FIELDNO
Descrio
A propriedade FieldNo declarada como uma varivel inteira e define a posio ordinal de um campo num banco de dados. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
FIELDS
Descrio
Para objetos do tipo TIndexDef, a propriedade Fields declarada como uma varivel do tipo string compreendendo os nomes e nmeros que compem o ndice, separados por ponto-e-virgula (;). Para objetos dos tipos TDBGrid, TDBLookupList, TQuery, TDecisionQuery, TStoredProc e TTable, a propriedade Fields declarada como uma array do tipo TField e se refere a um campo especfico de um banco de dados. O primeiro campo do banco de dados corresponde ao ndice 0 da array. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que o texto mostrado no primeiro campo de um banco de dados seja exibido justificado esquerda em um componente DBGrid1 do tipo
TBGrid. DBGrid1.Fields[0].Alignment := taLeftJustify;
FIELDVALUES
Descrio
A propriedade FieldValues declarada como uma array que d acesso direto aos valores armazenados em todos os campos armazenados na tabela representada pelo componente.
CAPTULO 41 PROPRIEDADES
FILEEDIT
Descrio
A propriedade FileEdit declarada como uma varivel do tipo TEdit que define uma caixa de edio que exibir o arquivo atualmente selecionado. Caso nenhum arquivo esteja selecionado, exibe a propriedade Mask.
Exemplo
Coloque um componente chamado FileListBox1 do tipo TFileListBox e um componente chamado Edit1 do tipo TDEdit em um formulrio. Defina a propriedade FileEdit de FileListBox1 como Edit1 diretamente no Object Inspector ou mediante uma linha de cdigo como:
FileListBox1.FileEdit := Edit1; Isto faz com que Edit1 exiba sempre o arquivo selecionado em FileListBox1.
FILEEDITSTYLE
Descrio
Essa propriedade define se deve ser oferecida ao usurio uma caixa de edio ou uma caixa combo para que o usurio digite o nome do arquivo. Tabela de Valores:
Valor fsEdit fsComboBox Significado Caixa de Edio. Caixa Combo.
Exemplo
Voc pode alterar a propriedade FileEditStyle de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
OpenDialog1.FileEditStyle := fsEdit;
FILEEXTENSION
Descrio
A propriedade FileExtension declarada como uma varivel do tipo string que define a(s) extenso(es) de arquivo default (separados por ponto-e-vrgula) para o relatrio gerado pelo componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1067
FILELIST
Descrio
A propriedade FileList declarada como uma varivel do tipo TFileListBox cuja funo depende do componente ao qual se aplica. Para componentes do tipo TDirectoryListBox, ela serve para fazer a conexo com um componente do tipo TFileListBox. Ao fazer esse tipo de conexo, o componente TFileListBox apontado por FileList exibir sempre a lista de arquivos do diretrio corrente. Para componentes do tipo TFilterComboBox, ela serve para fazer a conexo com um componente do tipo TFileListBox. Ao fazer esse tipo de conexo, o componente TFileListBox exibe automaticamente os arquivos com a extenso definida no componente do tipo TFilterComboBox.
Exemplo
Coloque um componente chamado FileListBox1 do tipo TFileListBox e um componente chamado DirectoryListBox1 do tipo TDirectoryListBox em um Formulrio. Defina a propriedade FileList de DirectoryListBox1 como FileListBox1 diretamente no Object Inspector ou mediante uma linha de cdigo, como:
DirectoryListBox1.FileList := FileListBox1;
Isto faz com que FileListBox1 exiba sempre os arquivos do diretrio apontado por
DirectoryListBox1.
FILENAME
Descrio
A propriedade FileName declarada como uma varivel do tipo string que define o arquivo selecionado no componente. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes do tipo TMediaPlayer, ela define o nome do arquivo a ser aberto pelo mtodo Open ou salvo pelo comando Save. Para componentes dos tipos TOpenDialog, TOpenPictureDialog e TSaveDialog, TSavePictureDialog, essa propriedade declarada como uma varivel do tipo TFileName e define o nome do arquivo a ser exibido quando a aplicao exibe a caixa de dilogo.
CAPTULO 41 PROPRIEDADES
Quando o usurio digita o nome de um arquivo e seleciona o boto OK, o nome do arquivo digitado armazenado nessa propriedade. Para objetos do tipo TIniFile, define o nome do arquivo INI sobre o qual sero realizadas operaes de leitura e gravao. Para componentes do tipo TAnimate, ela define o nome do arquivo que armazena o clipe de vdeo a ser exibido pelo componente. Para componentes do tipo TClientDataset, define o nome do arquivo onde sero armazenadas as informaes e os dados dos registros da tabela. Para componentes dos tipos TBaseReport, TCanvasReport, TRvNDRWriter, TRvRenderPreview, TRvRenderPrinter, define o nome do arquivo que ser criado durante a execuo do relatrio.
FILETYPE
Descrio
A propriedade FileType declarada como uma varivel do tipo TFileType que define os tipos de arquivo a serem exibidos pelo componente. Essa propriedade , na realidade, composta por um conjunto de subpropriedades booleanas, listadas na tabela abaixo: Tabela de Valores:
Valor ftReadOnly ftHidden ftSystem ftVolumeID ftDirectory ftArchive ftNormal Significado Se igual a True, exibe tambm os arquivos apenas de leitura. Se igual a True, exibe tambm os arquivos ocultos. Se igual a True, exibe tambm os arquivos de sistema. Se igual a True, exibe tambm o nome do drive. Se igual a True, exibe tambm os diretrios. Se igual a True, exibe tambm os arquivos comuns de trabalho. Se igual a True, exibe qualquer tipo de arquivo.
Exemplo
Voc pode alterar a propriedade FileType diretamente no Object Inspector ou mediante uma linha de cdigo, como:
FileListBox1.FileType := ftNormal;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1069
FILTER
Descrio
Para componentes dos tipos TFilterComboBox, TOpenDialog, TOpenPictureDialog e TSaveDialog, TSavePictureDialog, a propriedade Filter declarada como uma varivel do tipo string e define as mscaras de filtro de arquivo a serem exibidas pelo componente. Para componentes dos tipos TClientDataSet, TIBTable e TTable, a propriedade Filter declarada como uma varivel do tipo string e define um filtro a ser aplicado tabela representada pelo componente.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante uma linha de cdigo, como:
FilterComboBox1.Filter := Text files|*.TXT;
FILTERED
Descrio
Essa varivel declarada como uma varivel booleana que define se h um filtro aplicado tabela representada pelo componente.
FILTERINDEX
Descrio
A propriedade FilterIndex declarada como uma varivel inteira e define o filtro default (dentre os estabelecidos na propriedade Filter) a ser exibido na lista drop-down que define os tipos de arquivos selecionveis.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante uma linha de cdigo, como:
OpenDialog1.FilterIndex := 1;
FINDTEXT
Descrio
A propriedade FindText declarada como uma varivel do tipo string e contm o texto a ser pesquisado pela aplicao.
Exemplo
Voc pode definir o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
FindDialog1.FindText := Texto a ser pesquisado;
FIRSTINDEX
Descrio
A propriedade FirstIndex declarada como uma varivel inteira que define a guia que vai aparecer mais esquerda entre as guias visveis no controle. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar a propriedade FirstIndex mediante a incluso de uma linha de cdigo, como:
TabSet1. FirstIndex = 1
FIRSTPAGE
Descrio
A propriedade FirstPage declarada como uma varivel inteira que define o nmero da primeira pgina do intervalo de pginas a serem impressas de um relatrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1071
FIXEDCOLOR
Descrio
A propriedade FixedColor declarada como uma varivel do tipo TColor e especifica a cor das colunas e linhas fixas em um componente de grade.
Exemplo
Voc pode alterar a propriedade FixedColor diretamente no Object Inspector ou mediante uma linha de cdigo, como:
DrawGrid1.FixedColor = clBlue
FIXEDCOLS
Descrio
A propriedade FixedCols declarada como uma varivel inteira que define o nmero de colunas fixas em um componente de grade.
Exemplo
Voc pode alterar a propriedade FixedCols diretamente no Object Inspector ou mediante uma linha de cdigo, como:
DrawGrid1.FixedCols = 1
FIXEDROWS
Descrio
A propriedade FixedRows declarada como uma varivel inteira que define o nmero de linhas fixas em um componente de grade.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar a propriedade FixedRows diretamente no Object Inspector ou mediante uma linha de cdigo, como:
DrawGrid1.FixedRows = 1
FOCUSCONTROL
Descrio
A propriedade FocusControl declarada como uma varivel do tipo TWinControl que define o controle que receber o foco quando o usurio selecionar a combinao de teclas aceleradoras do componente (se existir).
Exemplo
Voc pode alterar a propriedade FocusControl diretamente no Object Inspector ou mediante uma linha de cdigo, como:
Label1.FocusControl = Edit1
FOCUSED
Descrio
Essa varivel declarada como uma varivel booleana que define se o componente possui ou no o foco. Essa propriedade s est disponvel durante a execuo do aplicativo.
FONT
Descrio
A propriedade Font declarada como uma varivel do tipo TFont e controla os atributos do texto exibido por um componente ou enviado para uma impressora. A propriedade Font possui as seguintes subpropriedades: Color, Name, Size e Style.
Exemplo
A linha de cdigo seguinte altera a cor do texto exibido numa caixa de edio chamada
Edit1 para amarelo: Edit1.Font.Color:= clYellow;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1073
FONTS
Descrio
A propriedade Fonts declarada como uma varivel do tipo Tstrings, que retorna uma lista de strings com as fontes suportadas pelo componente. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir copia em um componente FontList do tipo TListBox a lista de fontes disponveis no componente Screen do tipo TScreen (a tela).
var FontIndex: Integer; begin FontList.Clear; FontList.Sorted := True; FontList.Items := Screen.Fonts; end;
FOOTERBAND
Descrio
A propriedade FooterBand declarada como uma varivel do tipo TQRBand e define o objeto do tipo TQRBand exibido pelo componente aps todos os registros da tabela principal.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TQRDetailLink
FORCENEWPAGE
Descrio
Essa propriedade declarada como uma varivel do tipo booleana e especifica se haver sempre uma quebra de pgina antes da impresso de um objeto do tipo TQRBand.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
QRBand1.ForceNewPage:= True;
FORMATCHARS
Descrio
A propriedade FormatChars declarada como uma varivel booleana que define se os caracteres devem ser filtrados quando um texto transferido numa conversao DDE.
Exemplo
Voc pode alterar o valor da propriedade FormatChars de um componente diretamente no Object Inspector ou atravs de uma linha de cdigo, como:
DdeClientConv1. FormatChars := False;
FORMATS
Descrio
A propriedade Formats um array que armazena os formatos mantidos pelo Clipboard. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1075
FORMCOUNT
Descrio
A propriedade FormCount declarada como uma varivel inteira e define o nmero de formulrios existentes na aplicao. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo Tlabel exiba o nmero de formulrios presentes em uma aplicao.
Label1.Caption := IntToStr(Screen.FormCount);
FORMS
Descrio
A propriedade Forms declarada como uma array de formulrios onde cada item da array um dos formulrios da aplicao. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir adiciona o nome de todos os formulrios da aplicao em um componente ListBox1 do tipo TListBox.
var I: Integer; begin For I := 0 to Screen.FormCount-1 do ListBox1.Items.Add(Screen.Forms[I].Name); end;
FORMSTYLE
Descrio
A propriedade FormStyle declarada como uma varivel do tipo TFormStyle que determina o estilo do formulrio. Tabela de Valores:
Valor fsNormal fsMDIChild fsMDIForm fsStayOnTop Significado Definio padro de formulrio. O formulrio ser uma janela-filha de uma aplicao MDI. O formulrio ser o formulrio-pai de uma aplicao MDI. O formulrio permanece sobre todos os outros formulrios do projeto, exceto aqueles que tambm tm a propriedade FormStyle igual a fsStayOnTop.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar o valor desta propriedade diretamente no Object Inspector. Observao: Voc no deve tentar alterar essa propriedade durante a execuo do aplicativo, pois pode originar verdadeiros desastres.
FRAME
Descrio
Essa propriedade declarada como uma varivel do tipo TPen e especifica o objeto desse tipo usado para desenhar a moldura do componente.
FRAMECOUNT
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro e define o nmero de quadros que formam o clipe de vdeo exibido pelo componente.
FRAMEHEIGHT
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro e define a altura, em pixels, dos quadros que formam o clipe de vdeo exibido pelo componente.
FRAMEWIDTH
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro e define a largura, em pixels, dos quadros que formam o clipe de vdeo exibido pelo componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1077
FRAMES
Descrio
A propriedade Frames declarada como uma varivel do tipo inteiro longo (Longint) que define o nmero de quadros a ser avanado ou retrocedido com os mtodos Back e Step. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem com o valor da propriedade Frames de um componente do tipo TMediaPlayer.
ShowMessage(Frames = +IntToStr(MediaPlayer1.Frames));
FREEONTERMINATED
Descrio
Essa varivel declarada como uma varivel booleana que define se o objeto deve ser destrudo quando a Thread finalizada.
FREQUENCY
Descrio
A propriedade Frequency declarada como uma varivel inteira e define a freqncia com que as marcas (TickMarks) so exibidas pelo controle.
FROMPAGE
Descrio
A propriedade FromPage uma varivel inteira que define o nmero da primeira pgina a ser impressa.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
PrintDialog1.FromPage:= 1;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TPrintDialog
FULLPATH
Descrio
A propriedade Fullpath declarada como uma varivel do tipo string e define se o path completo de um item em um componente do tipo TOutline, comea no nvel 1. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
GLYPH
Descrio
A propriedade Glyph uma varivel do tipo TBitmap que define o bitmap que aparece em um boto do tipo TBitBtn ou TSpeedButton. Voc pode fornecer at quatro imagens em um boto do tipo TBitBtn ou TSpeedButton com um nico arquivo Bitmap. O Delphi exibir uma dessas imagens em correspondncia ao estado do boto. Tabela de Valores:
Posio da Imagem no Bitmap Primeira Estado do boto Descrio
Liberado
Essa imagem aparece quando o boto no est selecionado ou quando no existem outras imagens definidas no Bitmap. Essa imagem aparece quando o boto no est habilitado e portanto no pode ser selecionado. Essa imagem aparece enquanto o boto esquerdo do mouse estiver sendo pressionado sobre o boto, desde que este esteja habilitado. Essa imagem aparece enquanto o boto permanece selecionado e s se aplica ao controle do tipo TSpeedButton.
Segunda Terceira
Desabilitado Pressionado
Quarta
Mantido
Exemplo
O trecho de cdigo a seguir carrega um bitmap num componente do tipo TSpeedButton chamado SpeedButton1 durante a execuo do aplicativo, onde USER.BMP um arquivo de bitmap definido pelo usurio.
SpeedButton1.Glyph.LoadFromFile(USER.BMP);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1079
GRAPHIC
Descrio
Essa propriedade declarada como uma varivel do tipo TGraphic e define o grfico armazenado no componente.
GRIDHEIGHT
Descrio
A propriedade GridHeight declarada como uma varivel inteira que define a altura da grade, em pixels. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe a altura, em pixels, de um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption := IntToStr(StringGrid1.GridHeigth); end;
GRIDLINEWIDTH
Descrio
A propriedade GridLineWidth declarada como uma varivel inteira que define a largura, em pixels, da linha que divide as clulas da grade.
Exemplo
Voc pode alterar a propriedade GridLineWidth diretamente no Object Inspector ou mediante uma linha de cdigo, como:
StringGrid1.GridLineWidth := 1;
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TDrawGrid e TStringGrid
GRIDWIDTH
Descrio
A propriedade GridWidth declarada como uma varivel inteira que define a largura da grade, em pixels. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe a largura, em pixels, de um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption := IntToStr(StringGrid1.GridWidth); end;
GROUPINDEX
Descrio Para componentes do tipo TSpeedButton, a propriedade GroupIndex declarada como uma varivel inteira que define o grupo a que pertence um componente.
Para componentes do tipo TMenuItem, a propriedade GroupIndex declarada como uma varivel do tipo Byte que define os menus a serem mesclados em uma aplicao com vrios formulrios.
Exemplo
Voc pode alterar a propriedade GroupIndex de um componente diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
SpeedButton1.GroupIndex := 2;
HANDLE
Descrio
A propriedade Handle lhe fornece um handle do Windows, de forma que voc possa acessar objetos da GDI e usar funes da API do Windows que um handle como parmetro. O tipo de handle fornecido vai depender do objeto que ser usado. No caso de objetos de banco de dados, a propriedade Handle permite que voc acesse as funes da API do Borland Database Engine (BDE). Essa propriedade s pode ser acessada durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1081
Tipo de Objeto TBitmap TBrush TCanvas TFont TIcon TMetafile TPen TBitBtn TDBNavigator TMediaPlayer TButton TDBRadioGroup TMemo TCheckBox TDirectoryListBox TNotebook TComboBox TDrawGrid TDBCtrlGrid TDBCtrlPanel TOLEContainer TDBCheckBox TDriveComboBox TOutline TDBComboBox TEdit TPanel TDBEdit TFileListBox TRadioButton TDBGrid TFilterComboBox TRadioGroup
Tipo de Handle HBitmap HBrush HDC HFont HIcon HMetafile HPen HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND
continua
CAPTULO 41 PROPRIEDADES
continuao
Tipo de Objeto TDBImage TForm TScrollBar TDatabase TDBListBox TGroupBox TScrollBox TDBLookupCombo TDBLookupComboBox THeader TIBDatabase TIBTransaction TStringGrid TDBLookupList TDBLookupListBox THotKey TListBox TListView TTabbedNotebook TStatusBar TTabControl TTabSheet TTrackBar TTreeView TUpDown TProgressBar TRichEdit TPageControl TDBMemo TMaskEdit TTabSet TApplication TFindDialog TReplaceDialog TMainMenu TMenuItem TPopupMenu
Tipo de Handle HWND HWND HWND HDBIDB HWND HWND HWND HWND HWND HWND TISC_DB_Handle TISC_TR_HANDLE HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HWND HMENU HMENU HMENU
continua
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1083
Exemplo
Coloque as seguintes linhas de cdigo no evento OnPaint de um formulrio, e ser desenhado um crculo no seu interior. Crie um novo projeto com dois formulrios chamados Form1 e Form2; no Formulrio Form1, insira um boto chamado Button1 e, no seu evento OnClick, coloque a seguinte linha de cdigo (no se esquea de incluir Unit2 na clusula uses de Form1):
ShowWindow(Form2.Handle, SW_SHOWNORMAL)
Ao clicar com o mouse sobre Button1, ser exibido na tela o formulrio Form2. evidente que seria muito mais simples usar o cdigo Form2.Show, mas o objetivo deste exemplo foi mostrar a utilizao da propriedade handle na chamada a uma funo da API do Windows.
HANDLEISSHARED
Descrio
A propriedade HandleIsShared declarada como uma varivel booleana e define se um handle (ponteiro) para um banco de dados ou no compartilhado.
HASITEMS
Descrio
A propriedade HasItems declarada como uma varivel booleana e define se um item de um componente TOutline possui ou no subitens. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TOutlineNode
HASPROVIDER
Descrio
A propriedade HasProvider declarada como uma varivel booleana, e informa se o objeto recebe dados atravs de uma interface IProvider.
HEAD1FONT
Descrio
A propriedade Head1Font declarada como um objeto da classe TFont, e define a fonte do texto de uma pgina HTML delimitado pelas tags <H1> e </H1>.
HEAD2FONT
Descrio
A propriedade Head1Font declarada como um objeto da classe TFont, e define a fonte do texto de uma pgina HTML delimitado pelas tags <H2> e </H2>.
HEAD3FONT
Descrio
A propriedade Head1Font declarada como um objeto da classe TFont, e define a fonte do texto de uma pgina HTML delimitado pelas tags <H3> e </H3>.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1085
HEAD4FONT
Descrio
A propriedade Head1Font declarada como um objeto da classe TFont, e define a fonte do texto de uma pgina HTML delimitado pelas tags <H4> e </H4>.
HEAD5FONT
Descrio
A propriedade Head1Font declarada como um objeto da classe TFont, e define a fonte do texto de uma pgina HTML delimitado pelas Tags <H5> e </H5>.
HEAD6FONT
Descrio
A propriedade Head1Font declarada como um objeto da classe TFont, e define a fonte do texto de uma pgina HTML delimitado pelas Tags <H6> e </H6>.
HEADERBAND
Descrio
A propriedade HeaderBand declarada como uma varivel do tipo TQRBand e define o objeto do tipo TQRBand exibido pelo componente.
CAPTULO 41 PROPRIEDADES
HEIGHT
Descrio
A propriedade Height uma varivel inteira que define a dimenso vertical, em pixels, de um controle ou componente grfico. Para componentes do tipo TScreen, retorna a altura da tela, em pixels. Para objetos do tipo TFont, define a altura da fonte, em pixels.
Exemplo
Para alterar a dimenso vertical de um formulrio chamado Form1 durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo no evento correspondente:
Form1.Height := valor;
Durante a execuo do aplicativo: Todos os controles; TBitmap, TFont, TGraphic, TIcon, TMetafile, TPicture e TScreen.
HELPCONTEXT
Descrio
A propriedade HelpContext uma varivel do tipo THelpContext que fornece um nmero ao qual est associado um tpico de auxlio sensvel ao contexto. Ao ser pressionada a tecla F1 quando um componente possuir o foco, ser exibida uma tela de auxlio correspondente ao nmero definido na propriedade HelpContext.
Exemplo
Voc pode definir o valor da propriedade HelpContext diretamente no Object Inspector. O trecho de cdigo a seguir associa um arquivo de auxlio ao aplicativo e define para a propriedade HelpContext de um componente Edit1 do tipo TEdit o valor 7.
procedure TForm1.FormActivate(Sender: Tobject); begin Application.HelpFile := HELP.HLP; Edit1.HelpContext := 7; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1087
HELPFILE
Descrio
Para objetos das classes Tapplication e TForm, a propriedade HelpFile declarada como uma varivel do tipo string que armazena o nome do arquivo de Help On-line da aplicao. Essa propriedade s est disponvel durante a execuo do aplicativo. Para objetos da classe EOLEException, a propriedade HelpFile declarada como uma varivel do tipo string que armazena o nome do arquivo de Help On-line no qual est armazenada a descrio do erro. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem com o nome do arquivo de auxlio da aplicao.
ShowMessage(Application.HelpFile);
HELPKEYWORD
Descrio
Essa propriedade declarada como uma varivel do tipo string e define a string de contexto do arquivo de Help associada ao controle ou componente.
HELPTYPE
Descrio
Essa propriedade declarada como uma varivel do tipo ThelpType, que define como controles e itens de menu acessaro o arquivio de Help vinculado aplicao. Pode assumir o valor htKeyword (para identificar o tpico por uma string de contexto) ou htContent (para identificar o tpico pelo valor numrico a ele associado).
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto: Todos os controles e componentes. Durante a execuo do aplicativo: Todos os controles e componentes.
HIDESCROLLBARS
Descrio
Essa propriedade declarada como uma varivel do tipo booleana que define se as barras de rolagem no devem ser exibidas quando no forem necessrias. Seu valor default igual a True.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou durante a execuo do aplicativo, mediante a incluso de uma linha de cdigo como:
RichEdit1.HideScrollBars:= False;
HIDESELECTION
Descrio
A propriedade HideSelection uma varivel booleana que define se um texto selecionado permanece selecionado quando o componente perde o foco.
Exemplo
Voc pode alterar a propriedade HideSelection diretamente no Object Inspector ou mediante uma linha de cdigo, como:
Edit1.HideSelection := True;
HINT
Descrio
A propriedade Hint uma varivel string que pode ser usada para exibir um texto de auxlio quando o usurio mantm o ponteiro do mouse sobre um controle ou quando ocorre um evento OnHint. No primeiro caso, basta definir o valor da propriedade ShowHint como True e o valor da propriedade Hint como a string a ser exibida no Object Inspector (durante a fase do projeto) ou mediante cdigo (durante a execuo do aplicativo).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1089
Exemplo
Voc pode alterar a propriedade Hint diretamente no Object Inspector ou mediante um trecho de cdigo. Para alterar a propriedade Hint de um boto chamado Button1 de um formulrio chamado Form1, inclua a seguinte linha de cdigo:
Form1.Button1.Hint := String de Auxlio;
HINTCOLOR
Descrio
A propriedade HintColor declarada como uma varivel do tipo TColor que define a cor dos boxes que circundam o texto de auxlio definido na propriedade Hint de um controle de uma aplicao. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir define como azul a cor dos boxes de auxlio dos controles de uma aplicao.
Application.HintColr := clBlue;
HINTPAUSE
Descrio
A propriedade HintPause declarada como uma varivel inteira que define o intervalo de tempo (em milissegundos) que o ponteiro do mouse deve permanecer sobre um controle de uma aplicao para que seja exibida a string de auxlio definida na sua propriedade Hint. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir define como sendo igual a 1 segundo (1000 milissegundos) o valor da propriedade HintPause dos controles de uma aplicao.
Application.HintPause := 1000;
CAPTULO 41 PROPRIEDADES
HINTS
Descrio
A propriedade Hints declarada como uma varivel do tipo Tstrings que associa, mediante uma lista de strings, um texto de auxlio a cada um dos botes do controle, a ser exibido quando o usurio mantm o ponteiro do mouse sobre um boto ou quando ocorre um evento OnHint.
Exemplo
Voc pode definir essa propriedade diretamente no Object Inspector com o String List Editor. Nesse caso, a primeira linha ser o texto de auxlio para o primeiro boto (o da esquerda), a segunda linha ser o texto de auxlio para o segundo boto (o segundo, da esquerda para a direita) e assim por diante. O trecho de cdigo a seguir altera o texto de auxlio do primeiro boto de um controle DBNavigator1 do tipo TDBNavigator, quando o usurio d um clique com o mouse sobre um formulrio chamado Form1:
procedure TForm1.FormClick(Sender: TObject); var NovaHints : TStringList; begin NovaHints := TStringList.Create; NovaHints.Add(Texto de auxlio do primeiro boto); DBNavigator1.Hints := NovaHints; end;
HISTORYLIST
Descrio
A propriedade HistoryList declarada como uma varivel do tipo Tstrings e consiste em uma lista de strings que define o nome dos arquivos a serem exibidos na lista drop-down da caixa combo File Name quando a caixa de dilogo aberta, e desde que a propriedade FileEditStyle da caixa de dilogo seja fsComboBox.
HORIZAXIS
Descrio
A propriedade HorizAxis declarada como uma varivel do tipo ThorizAxis e define o eixo horizontal cuja escala ser usada na exibio dos pontos da srie. O tipo ThorizAxis definido da seguinte maneira:
THorizAxis = (aTopAxis,aBottomAxis);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1091
HORZSCROLLBAR
Descrio
A propriedade HorzScrollBar declarada como uma varivel do tipo TControlScrollBar, cujas subpropriedades definem o comportamento de uma barra de rolagem horizontal em um componente dos tipos TForm, TFrame ou TScrollBox.
Exemplo
Voc pode alterar as subpropriedades da propriedade HorzScrollBar de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
Form1.HorzScrollBar.Visible := True;
HOST
Descrio
Essa propriedade declarada como uma varivel do tipo string e define o nome ou endereo IP de um servidor remoto.
HOTKEY
Descrio
A propriedade HotKey declarada como uma varivel do tipo TShortCut e define a combinao de teclas usada como tecla aceleradora.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
THotKey
ICON
Descrio
A propriedade Icon declarada como uma varivel do tipo TIcon que define o cone a ser exibido quando a aplicao for minimizada. Se nenhum valor for atribudo a essa propriedade, ser usado o cone padro da aplicao. Para objetos do tipo TPicture, declarada como uma varivel do tipo TIcon e representa o objeto do tipo TIcon armazenado.
Exemplo
Voc pode alterar a propriedade Icon de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo um trecho de cdigo como:
procedure TForm1.FormCreate(Sender: TObject); begin Icon.LoadFromFile(ICONE.ICO); end;
IDLETIMER
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro, e define o tempo que o banco de dados deve aguardar antes de terminar uma conexo ociosa.
IMAGEINDEX
Descrio
A propriedade ImageIndex declarada como uma varivel inteira e define a imagem de um componente ImageList a ser exibida nos controles e itens de menu associados ao objeto.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1093
IMAGES
Descrio
A propriedade Images declarada como uma varivel do tipo TImageList e define a lista de imagens (bitmaps) associada ao componente.
IMAGETYPE
Descrio
A propriedade ImageType declarada como uma varivel do tipo TImageType e define se o controle desenhar a imagem ou a mscara a ela associada. Tabela de Valores:
Valor itImage itMask Significado Desenha a imagem. Desenha a mscara.
INCREMENT
Descrio
Para componentes do tipo TControlScrollBar, a propriedade Increment uma varivel inteira que define quantas posies a caixa de rolagem deve se mover em uma barra de rolagem quando o usurio seleciona uma das setas nas extremidades de uma barra de rolagem. Para componentes do tipo TUpDown, essa propriedade definida como uma varivel booleana e determina a variao do valor armazenado na propriedade Position quando o usurio seleciona com o boto esquerdo do mouse uma das setas do controle.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Form1.HorzScrollBar.Range:= 8;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TControlScrollBar e TUpDown
INDENT
Descrio
A propriedade Indent declarada como uma varivel inteira e define a endentao, em pixels, a ser usada na exibio de subitens quando uma lista de itens expandida.
INDEX
Descrio
A propriedade Index declarada como uma varivel inteira e define o ndice de um campo na propriedade Fields de um banco de dados. Para componentes do tipo TOutlineNode, declarada como uma varivel do tipo inteiro longo (Longint) e define seu ndice dentro do componente TOutline que o contm. Para objetos da classe TAction, define o ndice que o identifica entre as aes definidas para um componente TactionList.
Exemplo
Voc pode alterar o valor dessa propriedade na fase de projeto com o Fields Editor.
INDEXDEFS
Descrio
A propriedade IndexDefs declarada como uma varivel do tipo TIndexDefs e armazena informaes sobre todos os ndices da tabela. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1095
INDEXFIELDCOUNT
Descrio
Essa propriedade declarada como uma varivel inteira que armazena o nmero de campos com o ndice corrente. Ela s est disponvel durante a execuo do aplicativo.
INDEXFIELDNAMES
Descrio
Essa propriedade declarada como uma varivel do tipo string, usada com um servidor SQL, para identificar as colunas a serem usadas como ndice na tabela.
INDEXFIELDS
Descrio
Essa propriedade declarada como uma varivel do tipo TField e d acesso informao armazenada em cada campo no ndice corrente do banco de dados. Essa propriedade s est disponvel durante a execuo do aplicativo.
INDEXNAME
Descrio
Essa propriedade declarada como uma varivel do tipo string, usada para definir um ndice secundrio da tabela.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TIBTable, TTable, TClientDataSet
INITIALDIR
Descrio
A propriedade InitialDir declarada como uma varivel do tipo string que define o diretrio atual quando a caixa de dilogo aberta.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
OpenDialog1.InitialDir := C:\delphi\teste;
INPLACEACTIVE
Descrio
A propriedade InPlaceActive uma varivel do tipo booleana que determina se um objeto OLE est ativo. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem se InPlaceActive for igual a True:
if InPlaceActive = True then ShowMessage(Objeto Ativo);
INSERTSQL
Descrio
Essa propriedade armazena uma lista de strings contendo a declarao SQL usada para inserir um registro.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1097
INTEGRALHEIGHT
Descrio
A propriedade IntegralHeight uma varivel booleana que define como o componente ser exibido no formulrio. Se for igual a True, sua altura ajustada de forma que nenhum dos itens seja exibido parcialmente. Se a propriedade Style do componente tiver o valor igual a lbOwerDrawVariable, a propriedade ItemHeight no tem nenhum efeito.
Exemplo
Voc pode alterar a propriedade ItemHeight de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
ListBox1.IntegralHeight := True;
INTERVAL
Descrio
A propriedade Interval declarada como uma varivel inteira e define o intervalo de tempo, em milissegundos, para ativao do evento OnTimer.
Exemplo
O valor da propriedade EndMargin pode ser alterado diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
Timer1.Interval := 6000;
INTRANSACTION
Descrio
A propriedade Intransaction uma varivel booleana que define se a transao representada pelo componente est em progresso.
CAPTULO 41 PROPRIEDADES
INVALIDKEYS
Descrio
A propriedade InvalidKeys declarada como uma varivel do tipo THKInvalidKeys e define um conjunto de teclas consideradas invlidas: Tabela de Valores:
Valor hcNone hcShift hcCtrl hcAlt hcShiftCtrl hcShiftAlt hcCtrlAlt hcShiftCtrlAlt Significado Teclas inalteradas so consideradas invlidas. A tecla Shift considerada invlida. A tecla Ctrl considerada invlida. A tecla Alt considerada invlida. A combinao de teclas Shift+Ctrl considerada invlida. A combinao de teclas Shift+Alt considerada invlida. A combinao de teclas Ctrl+Alt considerada invlida. A combinao de teclas Shift+Ctrl+Alt considerada invlida.
ISINDEXFIELD
Descrio
A propriedade IsIndexField declarada como uma varivel booleana, que define se um campo ou no indexado. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
ISMASKED
Descrio
A propriedade IsMasked uma varivel booleana que define se o componente possui ou no uma mscara para exibio de texto.
Exemplo
Voc pode alterar a propriedade IsMasked de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
MaskEdit1.EditMask := !99/99/00;1;_;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1099
ISNULL
Descrio
A propriedade IsNull declarada como uma varivel booleana, que define se o valor de um campo igual a Null. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem se o valor armazenado em um campo GraphicField1 do tipo TGraphicField igual a Null:
if GraphicField1,IsNull = Null then ShowMessage(O valor armazenado no campo NULL);
ISREADONLY
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro, e define se o banco de dados deve ser acessado apenas para leitura (apenas para a verso 6 do Interbase).
ISSQLBASED
Descrio
A propriedade IsSQLBased declarada como uma varivel booleana, que define se o driver usado diferente de STANDARD. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
CAPTULO 41 PROPRIEDADES
ISVISIBLE
Descrio
A propriedade IsVisible declarada como uma varivel booleana e define se um item est visvel dentro do componente TOutline que o contm. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
ITEMCOUNT
Descrio
A propriedade ItemCount declarada como uma varivel do tipo inteiro longo (Longint) que define o nmero de itens de um componente do tipo TOutline. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Voc pode exibir o nmero de itens em um componente Outline1 do tipo TOutline em um componente Label1 do tipo TLabel com a seguinte linha de cdigo:
Label1.Caption := IntToStr(Outline1.ItemCount);
ITEMHEIGHT
Descrio
A propriedade ItemHeight uma varivel inteira que define a altura dos itens de componentes dos tipos TComboBox, TDBComboBox, TDBListBox, TDirectoryListBox, TFileListBox, TListBox e TOutline, quando os itens tm altura fixa, o que definido pela propriedade Style de cada componente. A propriedade Style deve ser igual a: lsOwnerDrawFixed, para componentes do tipo TListBox, TDBListBox, TFileListBox e TDirectoryListBox; lsOwnerDrawFixed, para componentes do tipo TComboBox e TDBComboBox; lsOwnerDrawFixed, para componentes do tipo TOutline.
Exemplo
Voc pode alterar a propriedade ItemHeight de um componente diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
ComboBox1.ItemHeight := 20;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1101
ITEMINDEX
Descrio
A propriedade ItemIndex uma varivel inteira que define a posio de um item selecionado dentro da lista de itens do componente. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode atribuir o nmero que identifica a posio do item selecionado em uma caixa de listagem chamada ListBox1 a uma varivel inteira a durante a execuo do aplicativo, incluindo a seguinte linha de cdigo:
a := ListBox1.ItemIndex;
Se nenhum item estiver selecionado, ItemIndex retorna o valor -1. O primeiro item da lista ocupa a posio 0, isto , se uma lista tem n itens, ento o n-zimo item ocupar a posio n-1. Se a propriedade MultiSelect do componente for True e houver mais de um elemento selecionado, ItemIndex retornar a posio do elemento que possui o foco.
ITEMS
Descrio
Para componentes dos tipos TComboBox, TDBRadioGroup, TDirectoryListBox, TDriveComboBox, TFileListBox, TFilterComboBox, TListBox e TRadioGroup, essa propriedade uma varivel do tipo TStrings que define a lista de strings que aparecem no componente. A propriedade Items por si s um objeto do tipo Tstrings, no qual voc pode adicionar, remover, inserir e mover componentes com os mtodos Add, Delete, Insert, Exchange e Move. Para componentes do tipo TListView, essa propriedade uma varivel do tipo TListItems, que define a lista de itens que aparecem no componente. Para componentes do tipo TTreeView, essa propriedade uma varivel do tipo TTreeNodes, que define a lista de itens que aparecem no componente. Para objetos do tipo TList, essa propriedade declarada como uma array de ponteiros que permite o acesso direto aos ponteiros da lista,
Exemplo
Voc pode adicionar uma string novo item a um componente ComboBox1 do tipo TComboBox com a seguinte linha de cdigo:
ComboBox1.Items.Add(novo item);
Na fase de projeto, voc pode operar sobre os itens do componente acionando o String
List Editor, na propriedade Items do Object Inspector.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TComboBox, TDBCombobox, TDBRadioGroup, TDirectoryListBox, TDriveComboBox, TFileListBox, TFilterComboBox, TIWComboBox, TIWDBCombobox, TIWList, TIWListBox, TListBox, TIWTreeview, TListView, TTreeView e TRadioGroup
ITEMSEPARATOR
Descrio
A propriedade ItemSeparator declarada como uma varivel string que define a string usada para separar os itens em um componente do tipo TOutline.
Exemplo
Voc pode alterar a propriedade ItemSeparator diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
Outline1.ItemSeparator := \;
KEEPCONNECTION
Descrio
Essa propriedade declarada como uma varivel Booleana e indica se a conexo com um componente do tipo TSQLConnection deve ser mantida quando no houver tabelas abertas.
KEEPCONNECTIONS
Descrio
Essa propriedade declarada como uma varivel Booleana e indica se a conexo com um componente do tipo TDataBase deve ser mantida quando no houver tabelas abertas. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar o valor dessa propriedade mediante a incluso de uma linha de cdigo como:
Session.KeepConnections := False;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1103
KEYEXCLUSIVE
Descrio
A propriedade KeyExclusive uma varivel booleana que define se funes de pesquisa e busca excluiro os registros especificados nas funes FindNearest, GotoNearest, EditRangeStart e EditRangeEnd. Essa propriedade s est disponvel durante a execuo do aplicativo.
KEYFIELD
Descrio
A propriedade KeyField declarada como uma varivel do tipo string e define o nome do campo do banco de dados definido na sua propriedade ListSource que corresponde ao campo definido na propriedade DataField.
KEYFIELDCOUNT
Descrio
A propriedade KeyFieldCount uma varivel booleana que define o nmero de campos-chave usados pelas funes de busca (GotoKey, FindKey, EditKey, etc.).
KEYPREVIEW
Descrio
A propriedade KeyPreview uma varivel booleana que define se o formulrio deve ou no responder a um pressionamento de tecla, atravs dos eventos OnKeyDown, OnKeyPress e OnKeyUp, em vez de acionar os eventos do componente selecionado.
Exemplo
Voc pode alterar a propriedade KeyPreview de um formulrio diretamente no Object Inspector ou durante a execuo do aplicativo, incluindo uma linha de cdigo como:
Form1.KeyPreview := True;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TForm
KEYVALUE
Descrio
A propriedade KeyValue declarada como uma varivel do tipo Variant e reflete o valor armazenado no campo especificado na propriedade KeyField. Essa propriedade s est disponvel durante a execuo do aplicativo.
KEYVIOLCOUNT
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro longo (Longint) que define o nmero de registros que deixaram de sofrer uma operao pelo mtodo Execute de um componente do tipo TBatchMove, devido a ocorrncia de um erro de violao de integridade. Essa propriedade s est definida durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir verifica se houve violao de integridade durante a execuo do mtodo Execute de um componente BatchMove1 do tipo TBatchMove:
BatchMove1.Execute; if BatchMove1.KeyViolCount <> 0 then ShowMessage(ocorreram violaes em + IntToStr(KeyViolCount)+ registros );
KEYVIOLTABLENAME
Descrio
Essa propriedade declarada como uma varivel do tipo TFileName que cria uma tabela local, do tipo Paradox, com todos os registros que sofreram violao de integridade durante uma operao pelo mtodo Execute de um componente do tipo TBatchMove.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1105
KIND
Descrio
Para componentes do tipo TBitBtn, a propriedade Kind uma varivel do tipo TBitBtnKind que define o tipo de Bitmap exibido pelo boto. Para componentes do tipo TScrollBar, a propriedade Kind uma varivel do tipo TScrollBarKind que define o tipo de barra de rolagem. Tabela de Valores para componentes do Tipo TBitBtn:
Valor bkCustom bkOK bkCancel bkYes Significado Bitmap definido pelo usurio. Boto OK padro, com uma marca de verificao na cor verde e propriedade Default igual a True. Boto Cancel padro, com um x na cor vermelha e propriedade Cancel igual a True. Boto Yes padro, com uma marca de verificao na cor verde e propriedade Default igual a True. A diferena entre esse tipo de boto e o boto OK que, nesse caso, quando o usurio clica sobre o boto, as alteraes feitas na caixa de dilogo so aceitas antes que ela se feche. Boto No padro, com uma marca vermelha representando um crculo cortado e propriedade Cancel igual a True. A diferena desse tipo de boto e o boto Cancel que, nesse caso, quando o usurio clica sobre o boto, as alteraes feitas na caixa de dilogo so descartadas antes que ela se feche. Boto de auxlio padro, com uma marca de interrogao na cor cyan. Quando o usurio clica sobre o boto, uma tela de auxlio deve ser exibida (eu disse deve, pois isso depende de trabalho de codificao feito pelo programador). Boto Close padro, com o desenho de uma porta e um sinal de Exit e propriedade Default igual a True. Quando o usurio clica sobre o boto, o formulrio a que ele pertence se fecha. Boto Abort padro, com um x na cor vermelha e propriedade Cancel igual a True. Boto Retry padro, com uma seta circular verde. Boto Ignore padro, com o desenho de um homem verde se afastando. Boto All padro, com uma marca de verificao dupla na cor verde e propriedade default igual a True.
bkNo
bkHelp
bkClose
Exemplo
A seguinte linha de cdigo define como bkOk a propriedade Kind de um boto chamado BitBtn1 do tipo TBitBtn
BitBtn1.Kind := bkOK;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TBitBtn e TScrollBar
LARGECHANGE
Descrio
A propriedade LargeChange declarada como uma varivel do tipo TScrollBarInc que define quantas posies devem ser deslocadas na barra de rolagem quando o usurio d um clique nela em qualquer um dos lados da caixa de rolagem ou pressiona as teclas PageUp e PageDn.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
ScrollBar1.LargeChange := 100
LARGEIMAGES
Descrio
Essa propriedade define as imagens exibidas pelo componente quando a sua propriedade ViewStyle possui o valor vsIcon.
LASTPAGE
Descrio
A propriedade LastPage declarada como uma varivel inteira que define o nmero da ltima pgina do intervalo de pginas a serem impressas de um relatrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1107
LAYOUT
Descrio
A propriedade Layout uma varivel do tipo TButtonLayout que define onde o bitmap aparece em um boto do tipo TBitBtn ou TSpeedButton. Tabela de Valores:
Valor blGlyphLeft blGlyphRight blGlyphTop blGlyphBottom Significado A imagem aparece prxima ao lado esquerdo do boto. A imagem aparece prxima ao lado direito do boto. A imagem aparece prxima ao topo do boto. A imagem aparece prxima base do boto.
Exemplo
O trecho de cdigo a seguir define a propriedade Layout de um boto chamado BitBtn1 do tipo TBitBtn como blGlyphLeft:
BitBtn1.Layout := blGlyphLeft;
LEFT
Descrio
A propriedade Left uma varivel inteira que define, em pixels, a coordenada da extremidade esquerda de um componente em relao extremidade esquerda do formulrio que o contm. No caso de um formulrio, essa propriedade medida em relao tela.
Exemplo
Para alterar a propriedade Left de um boto chamado Button1 durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo no evento correspondente:
Button1.Left:= valor;
CAPTULO 41 PROPRIEDADES
LEFTAXIS
Descrio
A propriedade RightAxis declarada como um objeto da classe TChartAxis, e representa o eixo vertical esquerdo do grfico exibido no componente.
LEFTCOL
Descrio
A propriedade LeftCol declarada como uma varivel inteira que define a coluna que deve ser exibida do lado esquerdo da grade (sem alterar as colunas definidas como fixas). Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Se voc quiser que a terceira coluna de um componente StringGrid1 do tipo TStingGrid seja posicionada do lado esquerdo da grade, basta incluir uma linha de cdigo como:
StringGrid1.LeftCol := 2;
LEFTMARGININCHES
Descrio
A propriedade LeftMarginInches uma varivel inteira que define, em dcimos de polegada, o valor da margem esquerda do relatrio (sem considerar o espao deixado pela impressora).
Exemplo
Voc pode alterar a propriedade Max diretamente no Object Inspector ou mediante uma linha de cdigo como:
QuickReport1.LeftMarginInches:= 10;
LEFTMARGINMM
Descrio
A propriedade LeftMarginMM uma varivel inteira que define, em milmetros, o valor da margem esquerda do relatrio (sem considerar o espao deixado pela impressora).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1109
LENGTH
Descrio
A propriedade Length declarada como uma varivel do tipo inteiro longo (Longint) que define o comprimento do meio a ser executado em um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem com o comprimento do meio a ser executado em dispositivo multimdia:
ShowMessage(Comprimento = +IntToStr(MediaPlayer1.Length));
LEVEL
Descrio
A propriedade Level declarada como uma varivel do tipo Word, e define o nvel de um item dentro do componente TOutline que o contm. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
LINES
Descrio
Para componentes do tipo TMemo, essa propriedade declarada como uma varivel do tipo TStrings que contm as linhas de texto do componente. Para componentes dos tipos TDDEClientItem e TDDEServerItem, essa propriedade declarada como uma varivel do tipo TStrings que contm as linhas do texto a ser transferido numa conversao DDE.
Exemplo
Voc pode definir a propriedade Lines diretamente no Object Inspector ou mediante um trecho de programa.
CAPTULO 41 PROPRIEDADES
No trecho de cdigo a seguir, o arquivo config.sys exibido em um componente Memo1 do tipo TMemo quando o usurio d um clique com o mouse sobre um boto chamado Button1 do tipo TButton:
procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.LoadFromFile(C:\CONFIG.SYS); end;
LoadFromFile um mtodo de Lines, que um objeto do tipo Tstrings, conforme descrito anteriormente.
LINKBAND
Descrio
Essa propriedade declarada como uma varivel do tipo TQRBand que permite que mais do que um componente do tipo TQRBand seja exibido em uma nica pgina.
LIST
Descrio
A propriedade List declarada como uma varivel do tipo PPointerList que mantm uma lista de ponteiros que pode referenciar objetos de qualquer tipo. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
LISTFIELD
Descrio
A propriedade ListField declarada como uma varivel do tipo string, e define o nome do campo do banco de dados cujos valor exibido no controle. Se no for especificado um valor para essa propriedade, ser usado o valor armazenado na propriedade KeyField.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1111
LISTSOURCE
Descrio
A propriedade ListSource declarada como uma varivel do tipo TDataSource, e define o nome do controle que faz a conexo ao componente que representa o banco de dados do qual ser selecionado um campo cujo valor ser exibido pelo controle.
LOCAL
Descrio
A propriedade Local uma varivel booleana que define se a tabela referenciada pelo componente uma tabela local do tipo Paradox ou dBASE ou de um servidor SQL. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
LOCALE
Descrio
Essa propriedade declarada como uma varivel do tipo TLocale e indica o driver de linguagem usado pelo componente. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
LOCALIP
Descrio
Essa propriedade declarada como uma varivel do tipo string, e define o endereo IP da mquina cliente.
CAPTULO 41 PROPRIEDADES
LOCKED
Descrio
A propriedade Locked declarada como uma varivel booleana que define se um componente do tipo TPanel pode ser substitudo por um objeto OLE.
Exemplo
O valor dessa propriedade pode ser definido diretamente no Object Inspector ou mediante uma linha de cdigo como:
Panel1.Locked := False;
LOGINPROMPT
Descrio
A propriedade LoginPrompt declarada como uma varivel booleana que define como controlado o acesso a um banco de dados SQL.
Exemplo
O valor dessa propriedade pode ser definido diretamente no Object Inspector ou mediante uma linha de cdigo como:
Database1.LoginPrompt := False;
LOOKUPDISPLAY
Descrio
Essa propriedade declarada como uma varivel string que define o campo do banco de dados a ser exibido pelo componente.
Exemplo
O valor dessa propriedade pode ser definido diretamente no Object Inspector. O trecho de cdigo a seguir faz com que o campo Nome seja exibido pelo componente DBLookupCombo1 do tipo TDBLookupCombo.
DBLookupCombo1.LookupDisplay := Nome;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1113
LOOKUPFIELD
Descrio
Essa propriedade declarada como uma varivel do tipo string que faz a ligao entre o banco de dados e o componente.
Exemplo
O valor dessa propriedade pode ser definido diretamente no Object Inspector. O trecho de cdigo a seguir faz com que um componente chamado DBLookupCombo1 do tipo TDBLookupCombo use o campo Cliente como campo de busca:
DBLookupCombo1.LookupField := Cliente;
LOOKUPSOURCE
Descrio
Essa propriedade declarada como uma varivel do tipo TDataSource que identifica o componente do tipo TDataSource a que est associado o banco de dados no qual deve ser feita a pesquisa.
Exemplo
O valor dessa propriedade pode ser definido diretamente no Object Inspector. O trecho de cdigo a seguir faz com que um componente chamado DBLookupCombo1 do tipo TDBLookupCombo seja associado ao banco de dados especificado no componente DataSource1 do tipo TDataSource:
DBLookupCombo1.LookupSource := DataSource1;
MAINFORM
Descrio
A propriedade MainForm declarada como uma varivel do tipo TForm que define o formulrio principal de uma aplicao. Esse formulrio o primeiro a ser criado quando a aplicao executada, e quando ele fechado, finaliza a execuo da aplicao. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir mostra uma mensagem com o texto exibido na barra de ttulos da janela principal de uma aplicao.
ShowMessage(Application.MainForm.Caption);
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TApplication
MAPPINGS
Descrio
Essa propriedade declarada como uma varivel do tipo TStrings, e define o modo de mapeamento de colunas entre a tabela-fonte e a tabela de destino durante a execuo do mtodo Execute de um componente do tipo TBatchMove.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector usando o String List Editor ou mediante a incluso de uma linha de cdigo como:
DestColName = SourceColName;
MARGIN
Descrio
Para componentes dos tipos TBitBtn e TSpeedButton , a propriedade Margin uma varivel inteira que define, em pixels, a distncia entre um dos lados do bitmap e o lado correspondente do boto que o contm, dependendo da propriedade Layout do boto. Para componentes do tipo TControlScrollBar, a propriedade Margin uma varivel do tipo Word que define o nmero mnimo de pixels que deve existir entre os controles de um formulrio e suas bordas ou entre os controles de um componente do tipo TScrollBox e suas bordas. importante ressaltar que, nesse caso, Margin uma propriedade de um componente do tipo TScrollBar, e que este est embutido em componentes dos tipos TForm e TScrollBox. Nesse caso, o valor da propriedade Margin automaticamente adicionado ao valor armazenado na propriedade Range, de forma que a barra de rolagem se torne visvel sempre que a distncia entre o controle e as laterais de um componente do tipo TForm ou TScrollBox torne-se menor que o valor da propriedade Margin.
Exemplo
Para alterar a propriedade Margin de um boto chamado BitBtn1 do tipo TBitBtn ou TSpeedButton durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo no evento correspondente:
BitBtn1.Margin := valor;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1115
MARGINBOTTON
Descrio
Essa propriedade declarada como uma varivel inteira e define a dimenso da margem inferior do grfico ou relatrio associado ao componente.
MARGINLEFT
Descrio
Essa propriedade declarada como uma varivel inteira e define a dimenso, da margem esquerda do grfico ou relatrio associado ao componente.
MARGINRIGHT
Descrio
Essa propriedade declarada como uma varivel inteira e define a dimenso, da margem direita do grfico ou relatrio associado ao componente.
MARGINTOP
Descrio
Essa propriedade declarada como uma varivel inteira e define a dimenso da margem superior do grfico ou relatrio associado ao componente.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TBaseReport, TCanvasReport, TChart, TDBChart, TRvNDRWriter, TRvRenderPreview, TRvRenderPrinter
MASK
Descrio
A propriedade Mask uma varivel do tipo string que define um filtro para os arquivos a serem exibidos pelo componente. Podem ser includos caracteres curinga como * e ?.
Exemplo
Voc pode alterar a propriedade Mask diretamente no Object Inspector ou mediante uma linha de cdigo como:
FileListBox1.Mask := *.PAS;
MASKED
Descrio
A propriedade Masked declarada como uma varivel booleana, que define se as imagens contidas sero ou no transparentes.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
ImageList1,Masked:= True;
MASTER
Descrio
A propriedade Master declarada como uma varivel do tipo TQRController, que especifica a tabela principal num relacionamento entre duas tabelas, onde uma a principal e a outra, a secundria.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1117
MASTERFIELDS
Descrio
A propriedade MasterFields declarada como uma varivel do tipo string que define os campos que faro a ligao entre duas tabelas. Os nomes dos campos devem ser separados por ponto-e-vrgula.
MASTERSOURCE
Descrio
A propriedade MasterSource declarada como uma varivel do tipo TDataSource e especifica a tabelamestre ao qual o componente ser ligado.
MAX
Descrio
A propriedade Max uma varivel inteira que define o valor mximo de posio para um componente.
Exemplo
Voc pode alterar a propriedade Max diretamente no Object Inspector ou mediante uma linha de cdigo como:
ScrollBar1.Max:= 1000;
MAXCELLS
Descrio
Essa propriedade uma varivel inteira que define o nmero mximo de clulas manipuladas pelo cache do componente.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TDecisionCube
MAXFONTSIZE
Descrio
A propriedade MaxFontSize uma varivel inteira que define o maior tamanho da fonte disponvel na caixa de dilogo. Um valor nulo significa que no existe valor mximo.
Exemplo
Voc pode alterar a propriedade MaxFontSize diretamente no Object Inspector ou mediante uma linha de cdigo como:
FontDialog1.MaxFontSize := 36;
MAXLENGTH
Descrio
A propriedade MaxLength uma varivel inteira que define o nmero mximo de caracteres que podem ser digitados em um componente dos tipos TEdit, TDBEdit, TMaskEdit, TRichEdit, TDBMemo, TMemo, TDBLookupComboBox ou TComboBox.
Exemplo
Voc pode alterar a propriedade MaxLength de um componente diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo:
Edit1.MaxLength:= 80;
MAXPAGE
Descrio
A propriedade MaxPage uma varivel inteira que define o maior nmero para uma pgina a ser impressa.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector, ou mediante a incluso de uma linha de cdigo como:
PrintDialog1.MaxPage := 1000;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1119
MAXSUMMARIES
Descrio
Essa propriedade uma varivel inteira que define o nmero mximo de sumrios de dados manipuladas pelo cache do componente.
MAXVALUE
Descrio
A propriedade MaxValue declarada como uma varivel do tipo inteiro longo (Longint) que define o valor mximo que pode ser atribudo a um campo. Atribuir um valor maior do que MaxValue gera uma exceo. Essa propriedade s est disponvel durante a execuo de um aplicativo.
Exemplo
Voc pode alterar o valor da propriedade MaxValue mediante uma linha de cdigo como:
IntegerField1.MaxValue:= 1000;
MDICHILDCOUNT
Descrio
A propriedade MDIChildCount uma varivel inteira que define o nmero de janelas-filhas de uma aplicao MDI. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Voc pode exibir o valor da propriedade MDIChildCount em um componente Label1 do tipo TLabel mediante a incluso de uma linha de cdigo:
Label1.Caption := Form1.MDIChildCount;
CAPTULO 41 PROPRIEDADES
MDICHILDREN
Descrio
A propriedade MDIChildren declarada como uma array que contm todas as janelas-filhas de um formulrio MDI. Essa propriedade s pode ser acessada durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Se voc quiser que um componente chamado Label1 tenha a sua propriedade Caption igual da terceira janela-filha de um formulrio MDI chamado Form1, basta digitar a seguinte linha de cdigo:
Label1.Caption := TButton(Form1.MDIChildren[2]).Caption;
MENU
Descrio
A propriedade Menu declarada como uma varivel do tipo TMainMenu que identifica o menu de um formulrio.
Exemplo
Voc pode alterar a propriedade Menu de um formulrio diretamente no Object Inspector, ou mediante a incluso de uma linha de cdigo como:
Form1.Menu := MainMenu1;
MESSAGE
Descrio
A propriedade Message declarada como uma varivel do tipo string, define o texto a ser exibido na caixa de dilogo que mostrada quando ocorre um erro definido por essa exceo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1121
METAFILE
Descrio
Essa propriedade declarada como uma varivel do tipo TMetafile, e define o grfico armazenado no componente. Essa propriedade s est disponvel durante a execuo do aplicativo.
MIN
Descrio
A propriedade Min uma varivel inteira que define o valor mnimo de posio para um componente.
Exemplo
Voc pode alterar a propriedade Min diretamente no Object Inspector ou mediante uma linha de cdigo como:
ScrollBar1.Min:= 10;
MINFONTSIZE
Descrio
A propriedade MinFontSize uma varivel inteira que define o menor tamanho da fonte disponvel na caixa de dilogo. Um valor nulo significa que no existe valor mnimo.
Exemplo
Voc pode alterar a propriedade MinFontSize diretamente no Object Inspector ou mediante uma linha de cdigo como:
FontDialog1.MinFontSize := 6;
CAPTULO 41 PROPRIEDADES
MINPAGE
Descrio
A propriedade MinPage uma varivel inteira que define o menor nmero para uma pgina a ser impressa.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector, ou mediante a incluso de uma linha de cdigo como:
PrintDialog1.MinPage := 1;
MINVALUE
Descrio
A propriedade MinValue declarada como uma varivel do tipo inteiro longo (Longint) que define o valor mnimo que pode ser atribudo a um campo. Atribuir um valor menor do que MinValue gera uma exceo. Essa propriedade s est disponvel durante a execuo de um aplicativo.
Exemplo
Voc pode alterar o valor da propriedade MinValue mediante uma linha de cdigo como:
IntegerField1.MinValue:= 1;
MODALRESULT
Descrio
A propriedade ModalResult uma varivel do tipo TModalResult usada para encerrar a execuo de um formulrio Modal. Definir o valor da propriedade ModalResult com um valor diferente de zero encerra a execuo de um dilogo modal. Normalmente, isto feito colocando-se botes do tipo TButton ou TBitBtn no formulrio e definindo o valor da sua propriedade ModalResult como um dos valores da tabela abaixo. O valor da propriedade ModalResult ser o valor retornado pelo mtodo ShowModal que exibe um formulrio modal. Tabela de Valores:
Valor mrNone mrOk mrCancel Significado 0 idOK (1) idCancel (2)
continua
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1123
Significado idAbort (3) idRetry (4) idIgnore (5) idYes (6) idNo (7) mrNo + 1 (8)
Exemplo
Crie dois formulrios chamados Form1 e Form2, cada um com um boto do tipo TButton; No evento OnClick do boto Button1 de Form1 inclua a seguinte linha de cdigo, e inclua Unit2 na clusula Uses de Form1:
Form2.ShowModal;
Rode o aplicativo e d um clique no o boto Button1 de Form1, para exibir Form2. Ao clicar no boto Button1 de Form2, este se fechar, pois o valor da sua propriedade Modal Result diferente de zero. Faa agora a seguinte modificao: No evento OnClick do boto Button1 de Form2 inclua a seguinte linha de cdigo:
ModalResult := 0;
Rode o aplicativo e d um clique no o boto Button1 de Form1, para exibir Form2. Ao clicar no boto Button1 de Form2 este no se fechar, pois o valor da sua propriedade Modal Result igual a zero. Observao: A melhor maneira de se trabalhar com um formulrio modal atravs da incluso de botes do tipo TButton ou TBitBtn e definir diretamente a propriedade ModalResult dos botes.
MODE
Descrio
A propriedade Mode declarada como uma varivel do tipo TMPModes que define o estado em que se encontra um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio. Para componentes do tipo TBatchMove, essa propriedade declarada como uma varivel do tipo TBatchMode, e define o tipo de operao a ser realizada pelo componente.
CAPTULO 41 PROPRIEDADES
Para objetos do tipo TPen, define como as linhas sero desenhadas sobre um objeto do tipo Tcanvas. Tabela de Valores para objetos do Tipo TPen:
Valor pmBlack pmWhite pmNop pmNot pmCopy pmNotCopy pmMergePenNot pmMaskPenNot pmMergeNotPen pmMaskNotPen pmMerge pmNotMerge pmMask pmNotMask pmXor pmNotXor Significado Sempre preto. Sempre branco. Transparente. Cor inversa da tela. Cor especificada na propriedade Color. Cor inversa da especificada na propriedade Color. Combinao da cor definida na propriedade Color e a inversa da existente na tela. Combinao das cores comuns cor atual com a inversa da existente na tela. Combinao da cor existente na tela com a inversa da cor atual. Combinao das cores comuns existente na tela e a inversa da cor atual. Combinao da cor atual com a existente na tela. Inverso de pmMerge. Combinao das cores comuns existente na tela e a cor atual. Inverso de pmMask. Combinao das cores comuns na tela e a cor atual, mas no em ambas. Inverso de pmXor.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1125
Exemplo
O trecho de cdigo a seguir exibe uma mensagem informando se um dispositivo est pronto:
if MediaPlayer1.Mode = mpNotReady then ShowMessage(Dispositivo no est pronto) else ShowMessage(Dispositivo est pronto);
MODIFIED
Descrio
Para componentes dos tipos TEdit, TMaskEdit e TMemo, a propriedade Modified uma varivel booleana que define se o texto do componente foi alterado desde que ele foi criado, ou desde a ltima vez que essa propriedade teve seu valor igual a False. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes dos tipos TClientDataset, TTable, TQuery, TDecisionQuery e TStoredProc, determina se o registro corrente foi alterado.
Exemplo
Voc pode verificar se o texto exibido pelo controle foi alterado durante a execuo do aplicativo com a seguinte linha de cdigo:
if Edit1.Modified = True then MessageDlg(texto modificado,mtInformation, [mbOK], 0);
MODIFIERS
Descrio
A propriedade Modifiers declarada como uma varivel do tipo THKModifiers, e define a tecla modificadora na definio de uma tecla aceleradora.
CAPTULO 41 PROPRIEDADES
Tabela de Valores:
Valor hkShift hkCtrl hkAlt hkExt Significado A tecla Shift usada como tecla modificadora. A tecla Ctrl usada como tecla modificadora. A tecla Alt usada como tecla modificadora. Outra tecla usada como tecla modificadora.
MODIFYSQL
Descrio
Essa propriedade armazena uma lista de strings contendo a declarao SQL usada para modificar um registro.
MONOCHROME
Descrio
A propriedade Monochrome declarada como uma varivel booleana, e determina se o objeto contm ou no um grfico monocromtico. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode verificar o valor dessa propriedade durante a execuo do aplicativo incluindo uma linha de cdigo como:
if Graphic1.Monochrome then ShowMessage(Monocromtico);
MOVEDCOUNT
Descrio
A propriedade MovedCount declarada como uma varivel do tipo inteiro longo (Longint) que define o nmero de registros realmente processados pelo mtodo Execute de um componente do tipo TBatchMove. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1127
MULTILINE
Descrio
A propriedade Multiline declarada como uma varivel booleana, que define se as guias de um controle podem ser dispostas em mais de uma linha.
MULTISELECT
Descrio
A propriedade MultiSelect uma varivel booleana que define possvel selecionar simultaneamente mais de um arquivo no componente.
Exemplo
Voc pode alterar a propriedade MultiSelect diretamente no Object Inspector ou mediante uma linha de cdigo como:
FileListBox1.MultiSelect:= True;
NAME
Descrio
A propriedade Name uma varivel do tipo TComponentName (que , na realidade, uma string) que identifica o componente dentro da sua aplicao. Para objetos do tipo TFont, define o nome da fonte utilizada. Para objetos da classe EcorbaException, identifica o tipo da exceo gerada.
CAPTULO 41 PROPRIEDADES
Exemplo
Para alterar a propriedade Name de um boto chamado Button1 durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo no evento correspondente:
Button1.Name := Novo Nome;
Embora o Delphi permita que voc altere a propriedade Name de um componente durante a execuo de um aplicativo, isto deve ser feito com muita cautela, pois pode provocar verdadeiros desastres! A princpio no deve haver razo para se definir a propriedade Name de um componente durante a execuo de um aplicativo, a no ser que o componente esteja sendo criado em tempo de execuo.
NAMELIST
Descrio
Esta propriedade declarada como uma lista de strings, e armazena os nomes dos procedimentos armazenados existentes no banco de dados.
NETFILEDIR
Descrio
Essa propriedade declarada como uma varivel do tipo string, e indica o diretrio onde est localizado o arquivo de controle PDOXUSRS.EXE. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
NOTIFY
Descrio
A propriedade Notify uma varivel booleana que define se a chamada a um de seus mtodos deve gerar um evento OnNotify. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar a propriedade Notify mediante uma linha de cdigo como:
MediaPlayer1.Notify := True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1129
NOTIFYVALUE
Descrio
A propriedade NotifyValue uma varivel do tipo TMPNotifyValues que define o resultado do ltimo mtodo executado em um componente do tipo TMediaPlayer. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio. Tabela de Valores:
Significado O mtodo foi executado com sucesso. O mtodo foi superposto por outro mtodo. O mtodo teve a sua execuo interrompida pelo usurio. O mtodo no foi executado com sucesso.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem informando se o ltimo mtodo foi executado com sucesso:
if MediaPlayer1.NotifyValue = nvSuccessful then ShowMessage(O mtodo foi executado com sucesso);
NUMGLYPHS
Descrio
A propriedade NumGlyphs uma varivel inteira, variando entre 1 e 4, que define o nmero de imagens armazenadas no grfico definido pela propriedade Glyph do componente.
Exemplo
Voc pode alterar a propriedade NumGlyphs diretamente no Object Inspector ou mediante uma linha de cdigo como:
SpeedButton1.NumGlyphs := 1;
CAPTULO 41 PROPRIEDADES
OBJCLASS
Descrio
A propriedade ObjClass uma varivel do tipo string que especifica a classe OLE de um objeto. Normalmente, a classe do objeto o nome da aplicao sem a extenso .EXE.
Exemplo
Voc pode alterar a propriedade ObjClass diretamente no Object Inspector ou mediante uma linha de cdigo como:
OLEContainer1.ObjClass = Figura do PaintBrush;
OBJDOC
Descrio
A propriedade ObjDoc uma varivel do tipo string que especifica o arquivo de um objeto OLE. Normalmente, a classe do objeto o nome do arquivo que contm o objeto OLE.
Exemplo
Voc pode alterar a propriedade ObjDoc diretamente no Object Inspector ou mediante uma linha de cdigo como:
OLEContainer1.ObjDoc = c:\windows\256color.bmp;
OBJECTS
Descrio
Essa varivel declarada como uma array de objetos do tipo TObjects, e d acesso a um objeto de uma lista de objetos associada a uma lista de strings. Essa propriedade s est disponvel durante a execuo do aplicativo.
OBJITEM
Descrio
A propriedade ObjItem uma varivel do tipo string que especifica o item de dado de um objeto OLE.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1131
OEMCONVERT
Descrio
A propriedade OEMConvert uma varivel booleana que define se um texto do controle convertido em caracteres OEM.
Exemplo
Voc pode alterar a propriedade OEMConvert diretamente no Object Inspector ou mediante uma linha de cdigo como:
Edit1. OEMConvert := True;
OPEN
Descrio
Essa propriedade declarada como uma varivel booleana, e indica se o arquivo que armazena o clipe de vdeo exibido pelo componente est carregado na memria.
OPERATION
Descrio
A propriedade Operation define a operao que o componente realiza sobre um campo nos registros de um banco de dados.
CAPTULO 41 PROPRIEDADES
Tabela de Valores:
Valor qrcSUM qrcCOUNT qrcAVERAGE qrcMIN qrcMAX Significado Calcula a soma do valor armazenado nesse campo em todos os registros. Conta o nmero de registros. Calcula a mdia dos valores armazenados nesse campo em todos os registros. Retorna o menor dos valores armazenados nesse campo em todos os registros. Retorna o menor dos valores armazenados nesse campo em todos os registros.
OPTIONS
Descrio
O significado dessa propriedade depende do componente a que se refere, como pode ser verificado nas tabelas de valores que se seguem: Tabela de Valores para objetos do tipo TColorDialog: Nesse caso, a propriedade uma varivel do tipo TColorDialogOptions e consiste de trs subpropriedades booleanas, listadas na tabela abaixo.
Valor cdFullOpen cdPreventFullOpen cdShowHelp Significado Exibe prontamente as opes de cores personalizadas. Desabilita o boto Create Custom Colors (Definir Cores Personalizadas), impedindo que o usurio possa definir suas prprias cores (S se aplica se cdFullOpen for False). Exibe um boto de Help na caixa de dilogo.
Tabela de Valores para objetos do Tipo TFontDialog: Nesse caso, a propriedade uma varivel do tipo TFontDialogOptions e consiste das subpropriedades booleanas listadas na tabela abaixo.
Valor fdAnsiOnly
Significado Se igual a True, s permite que o usurio possa selecionar fontes que usam o conjunto de caracteres do Windows, isto , no permite ao usurio selecionar um estilo de fonte que s contenha smbolos, pois estes no sero exibidos na caixa combo Font. Seu valor define se as caixas de verificao e a lista de cores devem aparecer no dilogo.
continua
fdEffects
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1133
Valor fdFixedPitchOnly fdForceFontExist fdLimitSize fdNoFaceSel fdNoOEMFonts fdScalableOnly fdNoSimulations fdNoSizeSel fdNoStyleSel fdNoVectorFonts fdShowHelp fdTrueTypeOnly fdWysiwyg
Significado Se igual a True, apenas as fontes monoespaadas sero exibidas na caixa combo Font. Indica se deve ser exibida uma mensagem informando ao usurio que ele digitou um nome de fonte invlido. Se igual a True, os valores de MinFontSize e MaxFontSize limitam o nmero de fontes disponveis atravs da caixa de dilogo. Se igual a True, nenhuma fonte pr-selecionada pela caixa de dilogo. Se igual a True, as fontes vetoriais no so exibidas. Se igual a True, s so exibidas fontes escalveis. Se igual a True, s exibe fontes que no so simuladas pela GDI. Se igual a True, nenhum tamanho de fonte pr-selecionado pela caixa de dilogo. Se igual a True, nenhum estilo de fonte pr-selecionado pela caixa de dilogo. O mesmo que fdNoOEMFonts. Se igual a True, a caixa de dilogo exibe um boto de Help. Se igual a True, somente fontes True Type so pela caixa de dilogo. Se igual a True, somente fontes disponveis na tela e na impressora so exibidas pela caixa de dilogo.
Tabela de Valores para Objetos do Tipo TPrintDialog: Nesse caso, a propriedade uma varivel do tipo TPrintDialogOptions e consiste das subpropriedades booleanas listadas na tabela abaixo.
Valor poHelp poPageNums poPrintToFile poSelection poWarning poDisablePrintToFile Significado Se igual a True, a caixa de dilogo exibe um boto de Help. Se igual a True, o boto de rdio Pages habilitado e o usurio pode definir a faixa de pginas a serem impressas. Se igual a True, a caixa de verificao Print to File exibida, permitindo que o usurio direcione a impresso para um arquivo e no para a impressora. Se igual a True, o boto de rdio Selections habilitado e o usurio pode optar por imprimir apenas o texto selecionado. Se igual a True, uma mensagem de advertncia aparece quando no houver uma impressora instalada. Se igual a True e a opo poPrintToFile tambm True, a caixa de verificao Print To File aparece acinzentada. Se poPrintToFile False, esta opo no tem nenhum efeito.
Tabela de Valores para Objetos do Tipo TOpenDialog, TOpenPictureDialog e TSaveDialog, TSavePictureDialog: Nesse caso, a propriedade uma varivel do tipo TOpenDialogOptions e consiste das subpropriedades booleanas listadas na tabela a seguir.
CAPTULO 41 PROPRIEDADES
Significado Se igual a True, permite a seleo de mais de um arquivo na caixa de listagem File Name. Se igual a True, quando o usurio digita um nome de arquivo inexistente xibe uma mensagem de advertncia e pergunta se deseja criar um arquivo novo com o nome digitado. Essa opo retorna True se a extenso do arquivo selecionado igual extenso default, definida na propriedade DefaultExt. Se igual a True, quando o usurio digita um nome de arquivo inexistente exibe uma mensagem de advertncia informando que o arquivo com o nome especificado no foi encontrado, e pergunta se o caminho (path) e o nome digitados esto corretos, no permitindo a criao de novos arquivos. Se igual a True, a caixa de verificao Read Only no exibida na caixa de dilogo. Se igual a True, essa opo faz com que o diretrio corrente na abertura da caixa de dilogo seja igual ao definido quando a caixa de dilogo apareceu pela primeira vez, ignorando qualquer alterao feita pelo usurio. Se igual a True, uma mensagem de advertncia informa ao usurio que o arquivo somente para leitura. Essa opo s se aplica quando o usurio tenta salvar um arquivo em um ponto de uma rede do tipo create-no-modify, que no permite que um arquivo seja aberto mais de uma vez e simultaneamente. Se o seu valor True, a aplicao no verificar se h proteo contra gravao no disco, se o disco est cheio, se uma porta de um drive est aberta, ou se h proteo contra escrita na rede. Se igual a True, essa opo impede que o usurio digite caracteres invlidos para o nome de um arquivo. Se igual a False e o usurio digitar caracteres invlidos para o nome de um arquivo, surge uma mensagem de advertncia. Se igual a True, a aplicao exibe uma mensagem de advertncia quando o usurio tenta salvar um arquivo que j existe, permitindo que usurio selecione outro nome para o arquivo ou sobreponha o arquivo j existente. Se igual a True, a caixa de verificao aparece marcada quando a caixa de dilogo exibido. Se igual a True, s permite que o usurio digite um path j existente para o arquivo. Se o usurio digitar um path invlido, ser exibida uma mensagem de advertncia. Se igual a True, ignora erros de compartilhamento de arquivos. Se False, exibe uma mensagem de advertncia quando isto ocorre. Se igual a True, a caixa de dilogo exibe um boto de Help.
ofExtensionDifferent ofFileMustExist
ofHideReadOnly ofNoChangeDir
ofNoReadOnlyReturn ofNoTestFileCreate
ofNoValidate
ofOverwritePrompt
ofReadOnly ofPathMustExist
ofShareAware ofShowHelp
Tabela de Valores para objetos do tipos TFindDialog e TReplaceDialog: Nesse caso, a propriedade uma varivel do tipo TFindOptions e consiste das subpropriedades booleanas listadas na tabela a seguir.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1135
Valor frDisableMatchCase frDisableUpDown frDisableWholeWord frDown frFindNext frHideMatchCase frHideWholeWord frHideUpDown frMatchCase frReplace
Significado Se igual a True, a caixa de verificao MatchCase aparece acinzentada, e essa opo no pode ser selecionada pelo usurio. Se igual a True, os botes de rdio Up e Down so desabilitados e no podem ser selecionados pelo usurio. Se igual a True, a caixa de verificao Match Whole Word aparece acinzentada, e essa opo no pode ser selecionada pelo usurio. Se igual a True, o boto de rdio Down pr-selecionado pela caixa de dilogo. Se igual a False, o boto de rdio Up pr-selecionado pela caixa de dilogo. Se igual a True, faz com que a string definida na propriedade FindText seja pr-selecionada. Se igual a True, a caixa de verificao MatchCase no exibida. Se igual a True, a caixa de verificao Match Whole Word no exibida. Se igual a True, os botes de rdio Up e Down no so exibidos. Se igual a True, a caixa de verificao MatchCase pr-selecionada pela caixa de dilogo. Se igual a True, a ocorrncia atual da string FindText substituda pela string armazenada na propriedade ReplaceText Essa propriedade s se aplica a objetos do tipo TReplaceDialog. Se igual a True, toda ocorrncia da string FindText substituda pela string armazenada na propriedade ReplaceText Essa propriedade s se aplica a objetos do tipo TReplaceDialog. Se igual a True, a caixa de dilogo exibe um boto de Help. Se igual a True, a caixa de verificao Match Whole Word pr-selecionada pela caixa de dilogo.
frReplaceAll
frShowHelp frWholeWord
Tabela de Valores para objetos do Tipo TOutline: Nesse caso, a propriedade uma varivel do tipo TOutlineOptions e consiste das subpropriedades booleanas listadas a seguir, que definem como os seus itens sero exibidos.
Significado O primeiro item (cujo valor igual a 1) conectado ao item-raiz. Se igual a True, um retngulo desenhado em torno do item selecionado, indicando que ele possui o foco. Se igual a True, os itens de Bitmap so redimensionados para caber no tamanho de um item.
Tabela de Valores para objetos do Tipo TDrawGrid e TStringGrid: Nesse caso, a propriedade uma varivel dos tipos TGridOptions e consiste das subpropriedades booleanas listadas a seguir.
CAPTULO 41 PROPRIEDADES
Significado Se igual a True, exibe linhas horizontais entre linhas de clulas fixas. Se igual a True, exibe linhas verticais entre colunas de clulas fixas. Se igual a True, exibe linhas horizontais entre linhas de clulas. Se igual a True, exibe linhas verticais entre colunas de clulas. Se igual a True, e desde que goEditing seja False, permite que o usurio selecione um grupo de clulas de uma s vez. Se igual a True, a clula que possui o foco possui a mesma cor das outras clulas de um bloco selecionado. Se igual a False, a clula que possui o foco possui a mesma cor das clulas que no esto selecionadas, isto , com a cor definida na propriedade Color. Se igual a True, as linhas de clulas podem ser redimensionadas individualmente, exceto as fixas. Se igual a True, as colunas de clulas podem ser redimensionadas individualmente, exceto as fixas. Se igual a True, o usurio pode deslocar uma linha de clulas com o mouse. Se igual a True, o usurio pode deslocar uma linha de clulas com o mouse. Se igual a True, o usurio pode editar o texto da grade, mas no pode selecionar um grupo de clulas de uma s vez. Se igual a True e goEditing tambm True, a grade est no modo de edio automtico, e o usurio no precisa pressionar Enter ou F2 antes de editar o contedo de uma clula. Se igual a False com goEditing igual a True, o usurio precisa pressionar Enter ou F2 antes de editar o contedo de uma clula. Se goEditing for False, essa propriedade no tem efeito. Se igual a True, o usurio pode usar Tab e Shift+Tab para se deslocar pelas colunas da grade. Se igual a True, o usurio no pode selecionar uma clula individual, mas toda a linha que contm a clula. Se igual a True, o contedo da grade rola simultaneamente quando o usurio movimenta a caixa de rolagem da barra de rolagem correspondente. Se igual a False, o rolamento no simultneo, ocorrendo apenas quando o usurio libera a caixa de rolagem.
Tabela de Valores para objetos do Tipo TDBGrid e TIWDBGrid: Nesse caso, a propriedade uma varivel do tipo TDBGridOptions e consiste das subpropriedades booleanas listadas a seguir.
Valor dgEditing
Significado Se igual a True, o usurio pode editar os dados da grade. Se a propriedade ReadOnly tambm True, o usurio pode inserir linhas em branco com a tecla Insert, ou, quando estiver na extremidade inferior do componente, usar a tecla de seta para baixo para acrescentar uma linha em branco.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1137
Valor dgAlwaysShowEditor
Significado Se igual a True e goEditing tambm True, a grade est no modo de edio automtico, e o usurio no precisa pressionar Enter ou F2 antes de editar o contedo de uma clula. Se igual a False com goEditing igual a True, o usurio precisa pressionar Enter ou F2 antes de editar o contedo de uma clula. Se goEditing for False, essa propriedade no tem efeito. Se igual a True, os ttulos das colunas so exibidos. Se igual a True, exibe um ponteiro que indica a coluna corrente. Se igual a True, as colunas podem ser redimensionadas. Se igual a True, exibe linhas entre colunas de clulas. Se igual a True, exibe linhas entre linhas de clulas. Se igual a True, o usurio pode usar Tab e Shift+Tab para se deslocar pelas colunas da grade. Se igual a True, o usurio no pode selecionar uma clula individual, mas toda a linha que contm a clula. Se igual a True, as clulas selecionadas permanecem selecionadas quando perdem o foco. Se igual a True, uma mensagem de confirmao exibida quando o usurio tenta deletar uma linha de clulas com Ctrl+Delete. Se igual a True e nenhuma modificao tiver sido feita nas clulas inseridas pelo usurio, a insero ser cancelada quando a grade perder o foco da aplicao.
dgTitles dgIndicator dgColumnResize dgColLines dgRowLines dgTabs dgRowSelect dgAlwaysShowSelection dgConfirmDelete dgCancelOnExit
Tabela de Valores para objetos do Tipo TDBLookupCombo, TDBLookupList, TIWDBLookupCombo e TIWDBLookupList: Nesse caso, a propriedade uma varivel do tipo TDBLookupListOptions e consiste das subpropriedades booleanas listadas a seguir.
Valor loColLines loRowLines loTitles Significado Se igual a True, as colunas do controle aparecem separadas por linhas verticais. Se igual a True, as linhas do controle aparecem separadas por linhas horizontais. Se igual a True, os nomes dos campos so exibidos como ttulos das colunas do controle.
Tabela de Valores para objetos do Tipo TIndexDef: Para esses objetos essa propriedade s est disponvel durante a execuo do aplicativo, no pode ter o seu valor diretamente alterado pelo usurio e corresponde ao conjunto de caractersticas do ndice, como ixPrimary, ixUnique, ixDescending, ixNonMaintained e ixCaseInsensitive.
Exemplo
Com exceo de TIndexDef, os valores das subpropriedades da propriedade Options de um componente podem ser alterados diretamente no Object Inspector. Caso queira alter-las durante a execuo do aplicativo, as subpropriedades devem ser listadas entre colchetes, separadas por vrgulas e, ento, o conjunto deve ser atribudo propriedade Options, como na linha de cdigo seguinte:
CAPTULO 41 PROPRIEDADES
procedure TForm1.FormDblClick(Sender: TObject); begin FindDialog1.Options := [frShowHelp]; FindDialog1.Execute; end;
Nesse caso, ao se dar um duplo clique com o mouse sobre um formulrio chamado Form1, ser exibida uma caixa de dilogo do tipo TFindDialog, denominado FindDialog1, com o boto de rdio Up prselecionado e exibindo um boto de Help. As subpropriedades listadas entre colchetes tero o valor True e as demais o valor False, independentemente do valor que lhes tenha sido atribudo no Object Inspector.
ORIENTATION
Descrio
Para componentes do tipo TPrinter, essa propriedade declarada como uma varivel do tipo TPrinterOrientation, e determina se a impresso da pgina ser vertical ou horizontal, e s pode ter o seu valor alterado durante a execuo do aplicativo. Para componentes do tipo TTrackBar, essa propriedade declarada como uma varivel do tipo TTrackBarrOrientation, e determina se o controle ser vertical ou horizontal. Para componentes do tipo TUPDown, essa propriedade declarada como uma varivel do tipo TUDOrientation, e define a orientao das setas exibidas no componente. Para componentes dos tipos TDBCtrlGrid, essa propriedade declarada como uma varivel do tipo TDBCtrlOrientation, e define se os painis internos ao controle sero dispostos horizontalmente (um ao lado do outro) ou verticalmente (um sobre o outro). Para componentes do tipo TQuickReport e TQRPrinter, essa propriedade declarada como uma varivel do tipo TPrinterOrientation, e seleciona a orientao do papel na impresso do relatrio. Tabela de Valores para componentes dos Tipos TPrinter, TQRPrinter e TQuickReport:
Valor poPortrait poLandscape Significado Pgina impressa verticalmente. Pgina impressa horizontalmente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1139
Exemplo
Para alterar a propriedade Orientation de um componente chamado UpDown1 do tipo TUpDown durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo no evento correspondente:
TUpDown1.Orientation:= valor;
ORIGINALEXCEPTION
Descrio
A propriedade OriginalException definida como um objeto da classe Exception , e indica o objeto que representa o erro ocorrido ao se tentar manipular um componente TProvider.
CAPTULO 41 PROPRIEDADES
OUTLINESTYLE
Descrio
A propriedade OutlineStyle declarada como uma varivel do tipo TOutlineStyle que define como a estrutura de dados exibida em um componente do tipo TOutlineStyle. Tabela de Valores:
Valor osPictureText Significado Exibe pastas abertas (com a figura especificada na propriedade PictureOpen), pastas fechadas (com a figura especificada na propriedade PictureClosed), pastas de extremidade (com a figura especificada na propriedade PictureLeaf) e itens de texto (especificado na propriedade Text). Exibe figuras representando um sinal de menos (especificadas na propriedade PictureMinus), figuras representando um sinal de mais (especificadas na propriedade PicturePlus), pastas abertas, pastas fechadas, pastas de extremidade e itens de texto. Exibe figuras representando um sinal de menos (especificadas na propriedade PictureMinus), figuras representando um sinal de mais (especificadas na propriedade PicturePlus), e itens de texto. Exibe apenas itens de texto. Exibe figuras representando a rvore hierrquica, pastas abertas, pastas fechadas, pastas de extremidade e itens de texto. Exibe figuras representando a rvore hierrquica e itens de texto.
osPlusMinusPictureText
osPlusMinusText
Exemplo
Voc pode alterar o valor da propriedade OutlineStyle diretamente no Object Inspector ou mediante uma linha de cdigo como:
Outline1.OutlineStyle := osPictureText
OVERLOAD
Descrio
Essa propriedade declarada como uma varivel do tipo Word que define o procedimento a ser executado em um servidor Oracle.
Exemplo
Voc pode alterar o valor da propriedade Overload diretamente no Object Inspector ou mediante uma linha de cdigo como:
StoredProc1.Overload := 1;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1141
OWNER
Descrio
A propriedade Owner uma varivel do tipo TComponent que indica o componente proprietrio do componente atual. Essa propriedade s pode ser acessada durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Se quisermos saber qual o componente proprietrio de um boto de rdio chamado RadioButton1, devemos incluir a seguinte linha de cdigo, na qual Comp um objeto do tipo TComponent:
Comp := RadioButton1.Owner;
PAGECOUNT
Descrio
Para componentes do tipo TQuickReport, essa propriedade declarada como uma varivel do tipo inteiro longo, e especifica o nmero de pginas do relatrio. Para componentes do tipo TQRPrinter, essa propriedade declarada como uma varivel do tipo inteiro, e especifica o nmero de pginas do relatrio que est sendo impresso.
PAGEHEIGHT
Descrio
Para componentes do tipo TQuickReport, essa propriedade declarada como uma varivel do tipo inteiro longo, e especifica a altura, em pixels, da pgina no relatrio, obtida do objeto QRPrinter associado. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes do tipo TPrinter, essa propriedade declarada como uma varivel do tipo inteiro, e especifica a altura da pgina que est sendo impressa. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor alterado pelo usurio. Para componentes do tipo TQRPrinter, essa propriedade declarada como uma varivel do tipo inteiro, e especifica a altura da pgina corrente em pixels. Essa propriedade s est disponvel durante a execuo do aplicativo.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TQuickReport
PAGEINDEX
Descrio
Para componentes dos tipos TTabbedNotebook e TNotebook, essa propriedade definida como uma varivel inteira que define o nmero da pgina ativa. Para componentes do tipo TTabSheet, essa propriedade definida como uma varivel inteira que define o nmero da pgina ativa no controle TPageControl associado.
Exemplo
Voc pode alterar a propriedade PageIndex do componente diretamente no Object Inspector ou mediante uma linha de cdigo, como:
Notebook1. PageIndex:= 1;
PAGENUMBER
Descrio
Para componentes do tipo TQRPreview, a propriedade PageNumber declarada como uma varivel inteira que especifica a pgina a ser pr-visualizada no componente. Para componentes do tipo TQuickReport, a propriedade PageNumber declarada como uma varivel do tipo inteiro longo que especifica o nmero da pgina corrente. Essa propriedade pode ser acessada em eventos durante a preparao de um relatrio. Para componentes do tipo TPrinter, essa propriedade declarada como uma varivel do tipo inteiro e especifica o nmero da pgina corrente em um trabalho de impresso. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor alterado pelo usurio. Para componentes do tipo TQRPrinter, essa propriedade declarada como uma varivel do tipo inteiro e especifica o nmero da pgina disponvel para ser visualizada ou copiada para o Clipboard.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1143
PAGES
Descrio
A propriedade Pages definida como uma varivel do tipo TStrings, que uma lista de strings em que cada string est associada a uma pgina do componente. A primeira string est associada primeira pgina, a segunda string est associada segunda pgina, e assim por diante.
Exemplo
Voc pode alterar a propriedade Pages do componente diretamente no Object Inspector, com o String List Editor, ou mediante uma linha de cdigo, como:
TabbedNotebook1.Pages[0] := Pgina 1;
PAGESIZE
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro longo, e define o nmero de bytes por pgina configurado para o banco de dados.
PAGEWIDTH
Descrio
Para componentes do tipo TQuickReport, essa propriedade declarada como uma varivel do tipo inteiro longo e especifica a largura da pgina no relatrio, obtida do objeto QRPrinter associado. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes do tipo TPrinter, essa propriedade declarada como uma varivel do tipo inteiro e especifica a largura da pgina que est sendo impressa. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes do tipo TQRPrinter, essa propriedade declarada como uma varivel do tipo inteiro e especifica a largura da pgina corrente. Essa propriedade s est disponvel durante a execuo do aplicativo.
CAPTULO 41 PROPRIEDADES
PALETTE
Descrio
Essa propriedade declarada como uma varivel do tipo HPalette e define a paleta de cores usada pelo objeto. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir copia a paleta de cores de Form2 para Form1:
SelectPalette(Form2.Canvas.Handle, Form1.Canvas.Palette, True);
PANELBORDER
Descrio
A propriedade PanelBorder declarada como uma varivel do tipo TDBCtrlGridBorder e define o tipo de borda desenhada ao redor de cada um dos seus painis internos. Tabela de Valores:
Valor gbNone gbRaised Significado Painis sem borda. Painis com bordas elevadas.
Exemplo
Voc pode alterar o valor da propriedade PanelBorder diretamente no Object Inspector ou mediante a incluso uma linha de cdigo como:
DBCtrlGrid1.PanelBorder:= gbNone;
PANELCOUNT
Descrio
A propriedade PanelCount declarada como uma varivel inteira que especifica o nmero de painis visveis na grade. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1145
PANELHEIGHT
Descrio
A propriedade PanelHeight declarada como uma varivel inteira que especifica a altura, em pixels, de cada painel do componente.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
DBCtrlGrid1.PanelHeight:= valor;
PANELINDEX
Descrio
A propriedade PanelIndex declarada como uma varivel inteira que especifica o nmero do painel correspondente ao registro corrente. Essa propriedade s est disponvel durante a execuo do aplicativo.
PANELS
Descrio
A propriedade Panels declarada como uma varivel do tipo TStatusPanels que d acesso caixa de dilogo para edio de painis de um componente que representa uma barra de status.
PANELWIDTH
Descrio
A propriedade PanelWidth declarada como uma varivel inteira que especifica a largura, em pixels, de cada painel do componente.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
DBCtrlGrid1.PanelWidth:= valor;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TDBCtrlGrid
PARAGRAPH
Descrio
Essa propriedade declarada como uma varivel do tipo TParaAttributes e contm informaes sobre a formatao do pargrafo que contm o texto selecionado. Caso no exista um texto selecionado, define as informaes do pargrafo correspondente posio atual do cursor. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
PARAMBINDMODE
Descrio
Essa propriedade declarada como uma varivel do tipo TParamBindMode que define como os elementos da array Params estaro relacionados aos parmetros de procedimentos armazenados em servidores.
Exemplo
Voc pode alterar o valor da propriedade ParamBindMode diretamente no Object Inspector ou mediante uma linha de cdigo como:
StoredProc1. ParamBindMode := pbByName;
PARAMCHECK
Descrio
Essa propriedade definida como uma varivel booleana, e define se a lista de parmetros do componente deve ser gerada novamente quando a declarao SQL alterada durante a execuo do aplicativo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1147
PARAMCOUNT
Descrio
Para componentes dos tipos TQuery e TDecisionQuery, essa propriedade declarada como uma varivel do tipo Word e indica o nmero de elementos na array Params do componente. Para componentes do tipo TStoredProc, essa propriedade declarada como uma varivel do tipo Word e indica o nmero de parmetros de input e output para procedimentos localizados em um servidor. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
PARAMETERS
Descrio
Essa propriedade definida como um objeto da classe TParameters, e define ao parmetros usados em uma declarao SQL.
PARAMS
Descrio
Para componentes dos tipos TDatabase, TIBTransaction e TIBDatabase, essa propriedade declarada como uma lista de strings que armazena os parmetros definidos para acessar um banco de dados representado pelo componente. Para componentes dos tipos TIBDataset, TIBQuery, TQuery e TDecisionQuery, essa propriedade declarada como uma array de itens do tipo TParam, que contm os parmetros de uma declarao SQL dinmica. Para componentes dos tipos TIBStoredproc e TStoredProc, essa propriedade armazena os parmetros a serem passados para procedimentos localizados em um servidor. Para componentes do tipo TClientDataSet, essa propriedade declarada como uma array de itens do tipo TParam, que contm os parmetros a serem enviados ao servidor.
CAPTULO 41 PROPRIEDADES
PARENT
Descrio
A propriedade Parent uma varivel do tipo TWinControl que indica o componente-pai do componente atual. Essa propriedade s pode ser acessada durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio. Para objetos do tipo TOutlineNode, declarada como uma propriedade do tipo TOutlineNode e define o componente TOutline que o contm.
Exemplo
Se quisermos saber qual o componente-pai de um boto de rdio chamado RadioButton1, devemos incluir a seguinte linha de cdigo, na qual Comp um objeto do tipo TWinControl:
Comp := RadioButton1.Parent;
No confunda componente-pai com componente proprietrio. Se voc criar um formulrio chamado Form1 com um componente GroupBox chamado GroupBox1 e dentro deste inserir um boto de rdio chamado RadioButton1, ento os componentes proprietrio e pai de RadioButton1 sero, respectivamente, Form1 e GroupBox1.
PARENTCHART
Descrio
A propriedade ParentChart define o componente grfico ao qual a srie representada pelo objeto est associada.
PARENTCOLOR
Descrio
A propriedade ParentColor uma varivel do tipo booleana que define se o valor da propriedade Color do componente atual deve ou no ser igual propriedade Color do seu componente-pai.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1149
PARENTCTL3D
Descrio
A propriedade ParentCtl3D uma varivel do tipo booleana que define se o valor da propriedade Ctl3D do componente atual deve ou no ser igual propriedade Ctl3D do seu componente-pai. Se em um formulrio fizermos a propriedade ParentCtl3D de todos os controles igual a True, isso garante que todos os controles inseridos no formulrio tero o mesmo aspecto (tridimensional ou bidimensional).
Exemplo
Coloque em um formulrio chamado Form1 um boto de rdio chamado RadioButton1 e defina, no Object Inspector, sua propriedade ParentCtl3D como False. Nesse caso, voc pode definir para o boto de rdio um aspecto diferente do adotado pelo formulrio (que o seu componente-pai).
PARENTFONT
Descrio
A propriedade ParentFont uma varivel do tipo booleana que define se o valor da propriedade Font do componente atual deve ou no ser igual propriedade Font do seu componente-pai. Se em um formulrio fizermos a propriedade ParentFont de todos os controles igual a True, isso garantir que todos os controles inseridos no formulrio usaro o mesmo tipo de fonte na exibio de textos.
Exemplo
Coloque em um formulrio Form1 um boto chamado Button1 e defina, no Object Inspector, sua propriedade ParentFont como False. Nesse caso, voc pode definir para o boto um estilo de fonte diferente do adotado pelo formulrio (que o seu componente-pai).
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TBitBtn, TCheckBox, TComboBox, TDBCheckBox, TDBComboBox, TDBEdit, TDBGrid, TDBImage, TDBLookupCombo, TDBLookupList, TDBListBox, TDBMemo, TDBRadioGroup, TDBText, TDirectoryListBox, TDrawGrid, TDriveComboBox, TEdit, TFileListBox, TFilterComboBox, TForm, TGroupBox, THeader, THeaderControl, TListBox, TMaskEdit, TMemo, TNotebook, TOutline, TPaintBox, TPanel, TRadioButton, TRichEdit, TScrollBox, TSpeedButton, TStatusBar, TStringGrid e TTreeView
PARENTSHOWHINT
Descrio
A propriedade ParentShowHint uma varivel do tipo booleana que define se o valor da propriedade ShowHint do controle atual deve ou no ser igual propriedade ShowHint do seu componente-pai. Seu valor default True, o que indica que, se em um formulrio fizermos a sua propriedade ShowHint igual a False, e todos os controles nele inseridos tiverem a propriedade ParentShowHint igual a True, nenhuma string de auxlio ser exibida.
Exemplo
Coloque em um formulrio Form1 um boto chamado Button1 e defina, no Object Inspector, sua propriedade Hint como Boto e ShowHint como True. Execute o aplicativo e a string de auxlio ser exibida quando o mouse estiver sobre o boto. Defina a propriedade ParentShowHint de Button1 como True e execute novamente o aplicativo. Nesse caso a string de auxlio no ser exibida.
PASSWORDCHAR
Descrio
A propriedade PasswordChar uma varivel do tipo Char que permite a criao de uma caixa de edio que exiba caracteres especiais em vez do texto digitado.
Exemplo
Voc pode definir o valor da propriedade PasswordChar de um componente diretamente no Object Inspector, ou mediante uma linha de cdigo:
Edit1.PasswordChar := @;
Definir a propriedade PasswordChar igual a #0 faz com que o texto digitado seja exibido normalmente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1151
PEN
Descrio
A propriedade Pen declarada como uma varivel do tipo TPen que define o tipo de caneta a ser usada pelo componente.
Exemplo
Voc pode alterar as subpropriedades da caneta de um componente diretamente no Object Inspector (apenas controles do tipo TShape) ou mediante a incluso de uma linha de cdigo como:
Shape1.Pen.Width := 40;
PENPOS
Descrio
A propriedade PenPos declarada como uma varivel do tipo TPoint e define a posio corrente da caneta no desenho.
PICTURE
Descrio
A propriedade Picture declarada como uma varivel do tipo TPicture que define a imagem a ser exibida pelo controle.
Exemplo
Voc pode alterar o valor da propriedade Picture de um componente Image1 do tipo TImage diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Image1.Picture.LoadFromFile(BITMAP1.BMP);
PICTURECLOSED
Descrio
A propriedade PictureClosed declarada como uma varivel do tipo TBitmap que define a imagem a ser exibida em um componente do tipo TOutline para representar um item que possui subitens mas no est expandido.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar o valor da propriedade PictureClosed de um componente Outline1 do tipo TOutline diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Outline1.PictureClosed.LoadFromFile(c:\BITMAP1.BMP);
PICTURELEAF
Descrio
A propriedade PictureLeaf declarada como uma varivel do tipo TBitmap que define a imagem a ser exibida em um componente do tipo TOutline para representar um item que no possui subitens.
Exemplo
Voc pode alterar o valor da propriedade PictureLeaf de um componente Outline1 do tipo TOutline diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Outline1.PictureLeaf.LoadFromFile(c:\BITMAP1.BMP);
PICTUREMINUS
Descrio
A propriedade PictureMinus declarada como uma varivel do tipo TBitmap que define a imagem a ser exibida em um componente do tipo TOutline para representar um item que possui subitens e est expandido.
Exemplo
Voc pode alterar o valor da propriedade PictureMinus de um componente Outline1 do tipo TOutline diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Outline1.PictureMinus.LoadFromFile(c:\BITMAP1.BMP);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1153
PICTUREOPEN
Descrio
A propriedade PictureOpen declarada como uma varivel do tipo TBitmap que define a imagem a ser exibida em um componente do tipo TOutline para representar um item que possui subitens e est expandido.
Exemplo
Voc pode alterar o valor da propriedade PictureOpen de um componente Outline1 do tipo TOutline diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Outline1.PictureOpen.LoadFromFile(c:\BITMAP1.BMP);
PICTUREPLUS
Descrio
A propriedade PicturePlus declarada como uma varivel do tipo TBitmap que define a imagem a ser exibida em um componente do tipo TOutline para representar um item que possui subitens mas no est expandido.
Exemplo
Voc pode alterar o valor da propriedade PicturePlus de um componente Outline1 do tipo TOutline diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Outline1.PicturePlus.LoadFromFile(c:\BITMAP1.BMP);
PIXELS
Descrio
A propriedade Pixels declarada como uma varivel do tipo TColor e permite que voc acesse diretamente um pixel no desenho, para ler ou atribuir uma cor. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode definir como amarela a cor do pixel nas coordenadas (10,10) com a seguinte linha de cdigo:
Pixels[10,10] := clYellow;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TCanvas
PIXELSPERINCH
Descrio
A propriedade PixelsPerInch declarada como uma varivel inteira que define o nmero de pixels por polegada em um formulrio, no driver de vdeo corrente.
Exemplo
Voc pode alterar o valor da propriedade PixelsPerInch diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Form1.PixelsPerInch := 80;
PLAINTEXT
Descrio
Essa propriedade declarada como uma varivel do tipo booleana que define se o texto ser exibido com um nico tipo de formatao ou com atributos de formatao distintos. Seu valor default igual a False.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou, durante a execuo do aplicativo, mediante a incluso de uma linha de cdigo como:
RichEdit1.PlainText:= False;
POPUPCOMPONENT
Descrio
A propriedade PopupComponent declarada como uma varivel do tipo TComponent que define o ltimo componente selecionado pelo usurio que fez com que o menu Popup representado por esse controle fosse exibido. Essa propriedade s est disponvel durante a execuo do aplicativo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1155
POPUPMENU
Descrio
A propriedade PopupMenu uma varivel do tipo TPopupMenu que define o nome do menu flutuante que aparece quando o usurio seleciona um componente e pressiona o boto direito do mouse (desde que a propriedade AutoPopup do menu flutuante seja igual a True) ou quando se executa o mtodo Popup do menu flutuante.
Exemplo
Voc pode definir o valor da propriedade PopupMenu de um componente diretamente no Object Inspector, ou mediante uma linha de cdigo:
Form1.PopupMenu:= PopupMenu1;
PORT
Descrio
Essa propriedade declarada como uma varivel inteira e identifica a porta pela qual se efetua a conexo ao servidor.
POSITION
Descrio
Para componentes do tipo TForm, a propriedade Position declarada como uma varivel do tipo TPosition que define o tamanho e posio de um formulrio, no momento em que ele aparece na sua aplicao. Para componentes do tipo TMediaPlayer, a propriedade Position declarada como uma varivel do tipo inteiro longo (Longint) e define a posio atual durante a execuo de um dispositivo multimdia.
CAPTULO 41 PROPRIEDADES
Para componentes dos tipos TControlScrollBar e TScrollBar, a propriedade Position declarada como uma varivel inteira que define a posio atual da caixa de rolagem em uma barra de rolamento. Para componentes dos tipos TFindDialog e TReplaceDialog, a propriedade Position declarada como uma varivel do tipo TPoint que define a posio em que o quadro de dilogo exibido na tela. Para componentes do tipo TProgressBar, a propriedade Position declarada como uma varivel inteira que define a posio corrente na execuo de uma tarefa. Para componentes do tipo TTrackBar, a propriedade Position declarada como uma varivel inteira que define a posio corrente indicada pelo controle. Para componentes do tipo TUpDown, a propriedade Position declarada como uma varivel inteira que define a posio corrente indicada pelo controle. Tabela de Valores Para componentes do Tipo TForm:
Valor poDesigned poDefault poDefaultPosOnly poDefaultSizeOnly poScreenCenter Significado O formulrio aparece no mesmo tamanho e posio exibidos na fase de projeto. O formulrio aparece com o tamanho e posio a serem definidos pelo Delphi. O formulrio aparece no mesmo tamanho exibido na fase de projeto, mas a posio definida pelo Delphi. O formulrio aparece na mesma posio exibida na fase de projeto, mas o tamanho definido pelo Delphi. O formulrio aparece no mesmo tamanho exibido na fase de projeto, mas a posio sempre no centro da tela.
Exemplo
Voc pode definir o valor da propriedade Position de um formulrio diretamente no Object Inspector, ou mediante uma linha de cdigo como:
Form1.Position := poScreenCenter;
POSTMESSAGE
Descrio
Essa propriedade declarada como um objeto da classe TPostMessage e contm todas as informaes referentes mensagem a ser enviada por correio eletrnico.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1157
PRECISION
Descrio
A propriedade Precision declarada como uma varivel inteira que define o nmero de casas decimais a serem exibidas por um campo numrico. Essa propriedade s est disponvel durante a execuo de um aplicativo.
Exemplo
Voc pode alterar o valor da propriedade Precision mediante uma linha de cdigo como:
FloatField1.Precision := 2;
PREPARED
Descrio
Para componentes dos tipos TIBDataset, TIBQuery, TQuery, TDecisionQuery, essa propriedade declarada como uma varivel booleana e define se foi feita uma chamada ao mtodo Prepare do componente. Para componentes dos tipos TIBStoredProc, TStoredProc, essa propriedade declarada como uma varivel booleana e define se foi feita uma otimizao do procedimento armazenado no servidor. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
PREVIOUSERROR
Descrio
Essa propriedade definida como um a varivel inteira e retorna o cdigo do erro anterior ao que gerou a exceo. Caso o erro no esteja relacionado ao BDE, ser retornado o valor 0.
PRINTBEFORE
Descrio
A propriedade PrintBefore declarada como uma varivel booleana que especifica se a tabela secundria deve ser impressa antes da tabela principal.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TQRDetailLink
PRINTERINDEX
Descrio
A propriedade PrinterIndex declarada como uma varivel do tipo inteiro e retorna o ndice da impressora corrente dentre as listadas na propriedade Printers. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
PRINTEROK
Descrio
Essa propriedade declarada como uma varivel booleana e define se um driver de impresso est instalado. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor alterado pelo usurio.
PRINTERS
Descrio
A propriedade Printers declarada como uma varivel do tipo TStrings, e consiste em uma lista de strings que identificam todas as impressoras instaladas pelo Windows. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Voc pode exibir os nomes de todas as impressoras instaladas em um componente ListBox1 do Tipo TListBox mediante a incluso da seguinte linha de cdigo:
ListBox1.Items := Printer1.Printers;
PRINTING
Descrio
A propriedade Printing declarada como uma varivel do tipo booleana e indica se o sistema est executando um trabalho de impresso. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1159
PRINTMASK
Descrio
A propriedade PrintMask declarada como uma varivel do tipo String e define um formato para a exibio do valor armazenado no componente. A formatao ser a mesma usada na funo FormatFloat.
PRINTRANGE
Descrio
A varivel PrintRange declarada como uma varivel do tipo TPrintRange que define o tipo de faixa de pginas a ser usado durante uma impresso. Tabela de Valores:
Valor prAllPages prSelection prPageNums Significado Todas as pginas so impressas. Imprime apenas o texto ou objeto selecionado. Permite que o usurio selecione as pginas a serem impressas.
Exemplo
Voc pode definir o valor da propriedade PrintRange diretamente no Object Inspector, ou mediante uma linha de cdigo como:
PrintDialog1.PrintRange := prAllPages;
PRINTSCALE
Descrio
A varivel PrintScale declarada como uma varivel do tipo TPrintScale que define as propores de um formulrio impresso.
CAPTULO 41 PROPRIEDADES
Tabela de Valores:
Significado Nesse caso, o formulrio impresso praticamente como aparece na tela, podendo haver pequenos ajustes. O formulrio impresso com o mesmo tamanho que aparece na tela (com o mesmo nmero de pixels por polegada). As dimenses do formulrio mantm a mesma proporo, mas so alteradas por um fator de escala, de forma a preencher a pgina a ser impressa.
Exemplo
Voc pode definir o valor da propriedade PrintScale de um formulrio diretamente no Object Inspector ou mediante uma linha de cdigo como:
Form1.PrintScale := poNone;
PRINTTOFILE
Descrio
A propriedade PrintToFile declarada como uma varivel booleana que define se a impresso deve ser dirigida para um arquivo.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
PrintDialog1.PrintToFile := False;
PRIVATEDIR
Descrio
Essa propriedade declarada como uma varivel do tipo string e indica o diretrio no qual os arquivos temporrios devem ser armazenados. Essa propriedade s est disponvel durante a execuo do aplicativo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1161
PROBLEMCOUNT
Descrio
A propriedade ProblemCount declarada como uma varivel do tipo inteiro longo (Longint) que define o nmero de registros que no foram adicionados tabela-destino devido a algum erro no processamento do mtodo Execute de um componente do tipo TBatchMove. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um controle chamado Label1 do tipo Tlabel exiba o valor da propriedade ProblemCount de um componente do tipo TBatchMove:
Label1.Caption := IntToStr(BatchMove1.ProblemCount);
PROBLEMTABLENAME
Descrio
A propriedade ProblemTableName declarada como uma varivel do tipo TFileName que armazena os registros que no puderam ser movidos devido a um erro em uma operao realizada por um componente do tipo TBatchMove.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou por meio de uma linha de cdigo, como:
BatchMove1.ProblemTableName := registro.db;
PROCEDURENAME
Descrio
Essa propriedade declarada como uma varivel do tipo string que define o nome do procedimento a ser executado em um servidor de banco de dados acessado atravs do mecanismo Activex Data Objects.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TADOStoredProc
PROJECTFILE
Descrio
Essa propriedade declarada como uma varivel do tipo string que define o nome do arquivo de projeto de relatrio criado com o Rave Reports, com a extenso .RAV.
PROVIDER
Descrio
A propriedade Provider especifica a interface do tipo IProvider por meio da qual esse componente se comunica com um componente TProvider.
PROVIDERNAME
Descrio
A propriedade Provider declarada como uma varivel do tipo string e define o nome do componente TProvider por meio do qual feita a comunicao com o servidor.
QDELETE
Descrio
Essa propriedade declarada como um objeto da classe TIBSQL, e permite acessar diretamente o objeto que armazena o comando SQL para excluso de registros.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1163
QINSERT
Descrio
Essa propriedade declarada como um objeto da classe TIBSQL, e permite acessar diretamente o objeto que armazena o comando SQL para incluso de registros.
QMODIFY
Descrio
Essa propriedade declarada como um objeto da classe TIBSQL, e permite acessar diretamente o objeto que armazena o comando SQL para atualizao de registros.
QREFRESH
Descrio
Essa propriedade declarada como um objeto da classe TIBSQL, e permite acessar diretamente o objeto que armazena o comando SQL para atualizar a exibio de registros.
QSELECT
Descrio
Essa propriedade declarada como um objeto da classe TIBSQL, e permite acessar diretamente o objeto que armazena o comando SQL para exibio de registros.
CAPTULO 41 PROPRIEDADES
QUERY
Descrio
Para componentes dos tipos TIBUpdateSQL e TUpdateSQL essa propriedade retorna um componente do tipo TQuery, correspondente declarao SQL cujo ndice igual a UpdateKind. UpdateKind pode ser igual a ukModify, ukDelete ou ukInsert. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio. Para componentes do tipo TRvQueryConnection, essa propriedade define o componente do tipo TQuery ao qual est vinculado.
QUEUED
Descrio
A propriedade Queued declarada como uma varivel booleana que indica se h evento pendentes.
READONLY
Descrio
Para componentes dos tipos TAutoIncField, TBCDField, TBlobField, TBooleanField, TBytesField, TCurrencyField, TDateField, TDateTimeField, TDBCheckBox, TDBComboBox, TDBEdit, TDBGrid, TDBImage, TDBListBox, TDBLookupCombo, TDBLookupList, TFloatField, TGraphicField, TIntegerField, TMemoField, TSmallintField, TStringField, TTimeField, TVarBytesField, TWordField, TDBMemo, TDBRadioGroup, TEdit, TMaskEdit e TMemo a propriedade ReadOnly uma varivel booleana que define se o usurio pode alterar o valor exibido por um controle. No caso de controles correspondentes a bancos de dados, especifica se o usurio pode alterar o valor armazenado em um campo de um registro; em componentes do tipo TDBGrid, define se o usurio pode inserir linhas e colunas; em componentes do tipo TTable, define se o usurio pode alterar o contedo de uma tabela.
Exemplo
Voc pode definir o valor da propriedade ReadOnly de um componente diretamente no Object Inspector ou mediante uma linha de cdigo:
DBEdit1.ReadOnly:= True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1165
RECORDCOUNT
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro longo e especifica o nmero de registros do banco de dados associado. Essa propriedade s est disponvel durante a execuo do aplicativo.
RECNO
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro longo e especifica o registro corrente do banco de dados associado. Essa propriedade s est disponvel durante a execuo do aplicativo.
RECORDSIZE
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro longo e especifica o tamanho em bytes de um registro da tabela associada ao componente. Essa propriedade s est disponvel durante a execuo do aplicativo.
RDSCONNECTION
Descrio
Essa propriedade declarada como um objeto da classe TRDSConnection, e indica o componente atravs do qual ser feita a conexo atravs do mecanismo Activex Data Objects.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TADODataset
REFRESHSQL
Descrio
Essa propriedade armazena uma lista de strings contendo a declarao SQL usada para atualizar o resultado de uma declarao SQL.
REGISTERED
Descrio
A propriedade Queued declarada como uma varivel booleana que indica se o evento definido pelo componente foi registrado.
REMOTESERVER
Descrio
A propriedade RemoteServer define o componente de conexo por meio da qual feita a comunicao com a aplicao servidora.
REPETITIONS
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro e define o nmero de execues contnuas do clipe de vdeo exibido pelo componente. Atribuir o valor 0 a essa propriedade faz com que o clipe seja executado continuamente, at que se atribua o valor False sua propriedade Active.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1167
REPLACETEXT
Descrio
A propriedade ReplaceText declarada como uma varivel do tipo string e contm o texto que substituir aquele a ser pesquisado na aplicao.
Exemplo
Voc pode definir o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
ReplaceDialog1.ReplaceText := Texto substituto;
REPORTTITLE
Descrio
Essa propriedade declarada como uma varivel do tipo string e define o ttulo exibido no gerenciador de impresso do Windows quando o relatrio impresso.
REPORTTYPE
Descrio
Essa propriedade declarada como um conjunto que pode assumir um dos valores citados na tabela a seguir e define o tipo de relatrio gerado pelo componente. Essa propriedade s est disponvel durante a execuo do aplicativo. Tabela de Valores:
Valor qrStandard qrMasterDetail Significado Gera um relatrio padro, a partir do banco de dados associado a um componente do tipo TTable ou TQuery, TDecisionQuery. Gera um relatrio do tipo Formulrio principal/Formulrio secundrio, usando componentes do tipo TQRDetailLink.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TQuickReport
REQUESTURL
Descrio
Essa propriedade declarada como uma varivel do tipo string e define a URL do documento carregado no Browser representado pelo componente.
REQUIRED
Descrio
A propriedade Required uma varivel booleana que define se um campo deve ter obrigatoriamente um valor no-nulo. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar o valor dessa propriedade mediante uma linha de cdigo como:
if FloatField1.Required = True then ShowMessage(Requer valor no-nulo);
RESETGROUP
Descrio
A propriedade ResetGroup declarada como uma varivel do tipo TQRBand e define se o componente ser reinicializado aps a impresso do valor definido na sua propriedade ResetBand.
RESHANDLE
Descrio
Essa propriedade declarada como uma varivel do tipo THandle (que , na realidade, um inteiro) e retorna um Handle do Windows para o mdulo que armazena o clipe de vdeo exibido pelo componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1169
RESID
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro e define o recurso do Windows que armazena o clipe de vdeo exibido pelo componente.
RESNAME
Descrio
Essa propriedade declarada como uma varivel do tipo string e define o nome do arquivo de recurso do Windows que armazena o clipe de vdeo exibido pelo componente.
RESTARTDATA
Descrio
Essa propriedade declarada como uma varivel booleana e define se a impresso deve ser iniciada no primeiro registro (True) ou no registro corrente (False).
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
QuickReport1.RestartData:= True;
RIGHTAXIS
Descrio
A propriedade RightAxis declarada como um objeto da classe TChartAxis e representa o eixo vertical direito do grfico exibido no componente.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TChart, TDBChart
ROW
Descrio
A propriedade Row declarada como uma varivel do tipo inteiro longo (Longint) que define a que linha pertence a clula que possui o foco. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe a linha que possui o foco em um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption := Linha + IntToStr(StringGrid1.Row + 1); end;
ROWCOUNT
Descrio
Para componentes dos tipos TDrawGrid, TIWDBGrid e TStringGrid, essa propriedade declarada como uma varivel do tipo inteiro longo (Longint) que define o nmero de linhas do controle. Para esses componentes, essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes dos tipos TDBCtrlGrid e TDecisionGrid, essa propriedade declarada como uma varivel do tipo inteiro que define o nmero de linhas do controle. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes dos tipos TDBLookupListBox e TIWDBLookupListBox, essa propriedade declarada como uma varivel do tipo inteiro que define o nmero de linhas exibidas pelo controle.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe o nmero de linhas de um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption:= IntToStr(StringGrid1.RowCpunt); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1171
ROWHEIGHTS
Descrio
A propriedade RowHeights declarada com uma array de inteiros, no qual cada item da array define a altura, em pixels, das clulas da linha especificada pelo ndice. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe a altura das clulas da primeira linha de um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption := IntToStr(StringGrid1.RowHeights[0]); end;
ROWS
Descrio
A propriedade Rows declarada como uma array de listas de strings, no qual cada lista armazena as strings das clulas de uma linha da grade. O ndice da array define o nmero da linha a ser acessada, comeando com 0. Na realidade, cada linha tratada como uma lista de strings. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
A linha de cdigo a seguir adiciona a string Nova string lista de strings correspondente terceira linha de um componente chamado StringGrid1, do tipo TStringGrid:
StringGrid1.Rows[2].Add(Nova string);
ROWSAFFECTED
Descrio
Esta propriedade declarada como uma varivel SQL e retorna o nmero de registros afetados por uma declarao SQL
CAPTULO 41 PROPRIEDADES
RULER
Descrio
Essa propriedade declarada como uma varivel do tipo TQRRuler e permite que se exiba, na fase de projeto, uma rgua em um componente do tipo TQRBand para facilitar o posicionamento de outros componentes. Tabela de Valores:
Valor qrrNone qrrInchesH qrrInchesV qrrInchesHV qrrCmH qrrCmV qrrCmHV Significado Nenhuma rgua ser exibida. Rgua horizontal graduada em polegadas. Rgua vertical graduada em polegadas. Rguas horizontal e vertical graduadas em polegadas. Rgua horizontal graduada em centmetros. Rgua vertical graduada em centmetros. Rguas horizontal e vertical graduadas em centmetros.
SCALED
Descrio
A propriedade Scaled declarada como uma varivel booleana que determina se o formulrio deve ser multiplicado por um fator de escala, de forma a que o valor definido na propriedade PixelsPerInch seja satisfeito.
Exemplo
Voc pode definir o valor da propriedade Scaled de um formulrio diretamente no Object Inspector ou mediante uma linha de cdigo como:
Form1.Scaled := True;
SCROLLBARS
Descrio
A propriedade ScrollBars declarada como uma varivel do tipo TScrollStyle que define se o controle possui ou no barras de rolamento.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1173
Exemplo
Voc pode definir o valor da propriedade ScrollBars de um componente diretamente no Object Inspector ou mediante uma linha de cdigo:
DBMemo1.ScrollBars:= ssBoth;
SCROLLPOS
Descrio
Essa propriedade declarada como uma varivel inteira e armazena o valor corrente da propriedade Position. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir exibe o valor da propriedade ScrollPos de um objeto ControlScrollBar1, do tipo TControlScrollBar:
ShowMessage(IntToStr(ControlScrollBar1.ScrollPos);
SECTIONS
Descrio
Para controles do tipo THeader, a propriedade Sections declarada como uma varivel do tipo TStrings que associa, mediante uma lista de strings, um texto a cada uma das sees de um componente do tipo THeader. Para controles do tipo THeaderControl, essa propriedade usada na insero de uma nova seo.
Exemplo
Voc pode definir essa propriedade diretamente no Object Inspector com o String List Editor. Nesse caso, a primeira linha ser o texto exibido pela a primeira seo (a da esquerda), a segunda linha ser o texto exibido pela segunda seo (a segunda, da esquerda para a direita) e assim por diante.
CAPTULO 41 PROPRIEDADES
O trecho de cdigo a seguir altera o texto da primeira seo de um controle Header1 do tipo THeader quando o usurio d um clique com o mouse sobre um formulrio chamado Form1:
procedure TForm1.FormClick(Sender: TObject); var NovaHints: TStringList; begin NovaHints:= TStringList.Create; NovaHints.Add(Texto da primeira seo); Header1.Hints:= NovaHints; end;
SECTIONWIDTH
Descrio
A propriedade SectionWidth declarada com uma array de inteiros, no qual cada item da array define a largura, em pixels, de uma seo de um componente do tipo THeader. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Edit1 do tipo TEdit informe a largura da primeira seo de um componente Header1 do tipo THeader quando o usurio seleciona um boto chamado Button1 do tipo TButton.
procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := IntToStr(Header1.SectionWidth[0]); end;
SELCOUNT
Descrio
A propriedade SelCount uma varivel inteira que especifica o nmero de itens selecionados no controle quando a sua propriedade MultiSelect True. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel exiba o nmero de itens selecionados em um componente ListBox1 do tipo TListBox quando o usurio clicar com o mouse sobre Label1:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1175
SELECTED
Descrio
A propriedade Selected declarada como uma array de variveis booleanas que informa se um item de um controle est selecionado. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe se o primeiro item em um componente ListBox1 do tipo TListBox est selecionado quando o usurio clicar com o mouse sobre Label1:
procedure TForm1.Label1Click(Sender: TObject); begin if ListBox1.Selected[0] = True then Label1.Caption:= Primeiro Item Selecionado; end;
SELECTEDCOLOR
Descrio
A propriedade SelectedColor declarada como uma varivel do tipo TColor e define a cor da guia selecionada em um componente do tipo TTabSet.
Exemplo
Voc pode alterar a propriedade SelectedColor de um componente diretamente no Object Inspector ou por meio de uma linha de cdigo, como:
TabSet1. SelectedColor := clRed;
SELECTEDFIELD
Descrio
A propriedade SelectedField declarada como uma varivel do tipo TField que indica o campo do banco de dados selecionado pelo componente. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode usar um componente chamado Label1 do tipo TLabel para exibir o nome do campo selecionado em um componente DBGrid1 do tipo TDBGrid, com a seguinte linha de cdigo:
Label1.Caption := DBGrid1.SelectedField.FieldName;
SELECTEDINDEX
Descrio
A propriedade SelectedIndex uma varivel inteira que indica o ndice do campo do banco de dados selecionado pelo componente. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode usar um componente chamado Label1 do tipo TLabel para exibir o ndice do campo selecionado em um componente DBGrid1 do tipo TDBGrid, com a seguinte linha
de cdigo: Label1.Caption := IntToStr(DBGrid1.SelectedIndex);
SELECTEDITEM
Descrio
A propriedade SelectedItem uma varivel do tipo inteiro longo (Longint) que indica o item que possui o foco em um componente do tipo TOutline. Essa propriedade s est disponvel durante a execuo de um aplicativo.
Exemplo
Voc pode usar um componente chamado Label1 do tipo TLabel para exibir o nmero do item que possui o foco em um componente do tipo TOutline com a seguinte linha de cdigo:
Label1.Caption := IntToStr(Outline1.SelectedItem);
SELECTION
Descrio
A propriedade Selection declarada como uma varivel do tipo TGridRect que contm as coordenadas da(s) linha(s) e coluna(s) da(s) clula(s) selecionadas na grade.
Exemplo
O trecho de cdigo a seguir seleciona as clulas contidas nas linhas 1 e 2 e nas colunas 3 e 4:
var
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1177
SELECTSQL
Descrio
Essa propriedade armazena uma lista de strings contendo a declarao SQL usada para exibir o resultado de uma declarao SQL.
SELEND
Descrio
Essa propriedade declarada como uma varivel inteira que define o valor final da faixa de valores do componente.
Exemplo
Voc pode definir o valor dessa propriedade diretamente no Object Inspector ou mediante uma linha de cdigo como:
TrackBar1.SelEnd:= 100;
SELLENGTH
Descrio
A propriedade SelLength uma varivel inteira que retorna o comprimento (em caracteres) do texto selecionado no componente.
Exemplo
Voc pode atribuir o valor da propriedade SelLength de um componente a uma varivel inteira a com a seguinte linha de cdigo:
a := Edit1.SelLength;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Durante a execuo do aplicativo:
TComboBox, TDBComboBox, TDBEdit, TDBMemo, TDriveComboBox, TEdit, TFilterComboBox, TMaskEdit e TMemo
SELSTART
Descrio
Para componentes dos tipos TComboBox, TDBComboBox, TDBEdit, TDBMemo, TDriveComboBox, TEdit, TFilterComboBox, TMaskEdit e TMemo, a propriedade SelStart uma varivel inteira que retorna a posio inicial da parte selecionada do texto de um controle, em que o primeiro caractere do texto do controle ocupa uma posio cujo valor igual a 0. Essa propriedade s est disponvel durante a execuo do aplicativo. Para componentes do tipo TTrackBar, essa propriedade declarada como uma varivel inteira que define o valor inicial da faixa de valores do componente.
Exemplo
Voc pode atribuir o valor da propriedade SelStart do texto selecionado de um componente a uma varivel inteira a com a seguinte linha de cdigo:
a:= Edit1.SellStart;
SELTEXT
Descrio
A propriedade SelText uma varivel do tipo string que contm a poro de texto do controle que se encontra selecionada. Voc pode substituir o texto selecionado atribuindo uma string varivel SelText. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode atribuir o texto selecionado em um componente propriedade Caption de um componente Label1 do tipo TLabel da seguinte forma:
procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Label1.Caption := Edit1.SelText; end;
SERIES
Descrio
Essa propriedade declarada como uma array de objetos da classe TChartSeries e referencia todas as sries definidas para o grfico exibido no componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1179
SERIESCOLOR
Descrio
A propriedade SelectedColor declarada como uma varivel do tipo TColor e define a cor default dos pontos da srie representada pelo objeto.
SERVERCONV
Descrio
A propriedade ServerConv declarada como uma varivel do tipo TDDEServerConv e define o componente do tipo TDDEServerConv ao qual esse item est associado em uma conversao DDE.
Exemplo
Voc pode alterar o valor da propriedade ServerConv de um componente diretamente no Object Inspector ou por meio de uma linha de cdigo, como:
DDEServerItem1. ServerConv := DDEServerConv1
SERVICEAPPLICATION
Descrio
A propriedade ServiceApplication declarada como uma varivel do tipo string que define o nome do arquivo executvel (sem a extenso .EXE) da aplicao servidora.
Exemplo
Voc pode alterar o valor da propriedade ServiceApplication de um componente diretamente no Object Inspector ou por meio de uma linha de cdigo, como:
DdeClientConv1. ServiceApplication := Programa;
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TDDEClientConv
SHAPE
Descrio
A propriedade Shape uma varivel que define o formato geomtrico de um componente. No caso de um componente do tipo TBevel, uma varivel do tipo TBevelShape, enquanto que no caso de um componente do tipo TShape, do tipo TShapeType. Tabela de Valores para componentes do tipo TBevel. Nesse caso, a propriedade uma varivel do tipo TBevelShape.
Valor bsBox bsFrame bsTopLine bsBottomLine bsLeftLine bsRightLine Significado O chanfro assume a forma de uma caixa. O chanfro assume a forma de um quadro. O chanfro se apresenta como uma linha no topo do controle. O chanfro se apresenta como uma linha na base do controle. O chanfro se apresenta como uma linha na lateral esquerda do controle. O chanfro se apresenta como uma linha na lateral direita do controle.
Tabela de Valores para componentes do tipo TShape. Nesse caso, a propriedade uma varivel do tipo TShapeType.
Significado O componente tem o formato de uma elipse. O componente tem o formato de um retngulo. O componente tem o formato de um retngulo com cantos arredondados. O componente tem o formato de um quadrado com cantos arredondados. O componente tem o formato de um quadrado. O componente tem o formato de um crculo.
Exemplo
Voc pode alterar a propriedade Shape de um componente Bevel1 do tipo TBevel com a seguinte linha de cdigo:
Bevel1.Shape := bsFrame;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1181
SHARABLE
Descrio
A propriedade Sharable declarada como uma varivel booleana que determina se mais de um aplicativo pode compartilhar um dispositivo multimdia.
Exemplo
Voc pode definir o valor da propriedade Sharable diretamente no Object Inspector ou mediante uma linha de cdigo como:
MediaPlayer1.Sharable := True;
SHAREIMAGES
Descrio
Essa propriedade declarada como uma varivel do tipo booleana e indica se o controle destri o seu handle quando a lista de imagens destruda.
SHORTCUT
Descrio
A propriedade ShortCut consiste em uma seqncia de teclas que permite que um usurio acesse rapidamente um item de menu. Para objetos da classe TAction, define a propriedade ShortCut dos itens de menu associados ao controle.
Exemplo
Voc pode definir o valor da propriedade ShortCut diretamente no Object Inspector ou mediante uma linha de cdigo como:
MenuItem1.ShortCut := ShortCut(Word(C), [ssCtrl]);
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TAction, TMenuItem
SHOWACCELCHAR
Descrio
A propriedade ShowAccelChar uma varivel do tipo booleana que define se um caractere & deve ser utilizado para sublinhar a tecla aceleradora do componente ou ser realmente utilizado como o caractere & .
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
Label1.ShowAccelChar := True;
SHOWBUTTONS
Descrio
Essa propriedade declarada como uma varivel do tipo booleana e indica se o controle deve exibir os sinais (+) e (-) esquerda de cada item que possui uma lista de subitens. Esses botes, se exibidos, podem ser usados pelo usurio para exibir ou ocultar uma lista de subitens.
SHOWCOLUMNHEADERS
Descrio
Essa propriedade declarada como uma varivel booleana e define se os cabealhos das colunas do controle devem ser exibidos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1183
SHOWFOCUS
Descrio
Essa propriedade declarada como uma varivel booleana que define se um retngulo de foco deve ser desenhado no painel que exibe o registro corrente.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
DBCtrlGrid1.ShowFocus:= True;
SHOWHINT
Descrio
A propriedade ShowHint uma varivel do tipo booleana que define se uma string de auxlio deve ou no ser exibida quando o usurio mantm o ponteiro do mouse sobre um controle. No caso de um componente do tipo TApplication, essa propriedade definida apenas durante a execuo do aplicativo; se o seu valor for False, nenhuma string de auxlio ser exibida durante a execuo do aplicativo, ainda que a propriedade ShowHint de todos os controles seja igual a True.
Exemplo
Coloque, em um formulrio chamado Form1, um boto chamado Button1 e defina, no Object Inspector, sua propriedade Hint como Boto e ShowHint como True. Execute o aplicativo e a string de auxlio ser exibida quando o mouse estiver sobre o boto. No arquivo de projeto, inclua a seguinte linha de cdigo, antes de Application.Run:
Application.ShowHint := False;
SHOWING
Descrio
A propriedade Showing uma varivel do tipo booleana que especifica se um componente est ou no sendo exibido na tela. Se um componente-pai do componente atual tiver a sua propriedade Visible igual a False, ento sua propriedade Showing ter o valor False. Essa propriedade s pode ser acessada durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
CAPTULO 41 PROPRIEDADES
Exemplo
Se um formulrio estiver visvel, voc pode ocult-lo com a seguinte linha de cdigo:
Visible := not Showing;
SHAREINLEGEND
Descrio
Essa propriedade declarada como uma varivel do tipo booleana e define se a legenda da srie deve ser exibida no componente Chart associado.
SHOWLINES
Descrio
Essa propriedade declarada como uma varivel booleana que define se o controle deve exibir linhas conectando itens ao seu componente-pai.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
TreeView1.ShowLines:= True;
SHOWPROGRESS
Descrio
Essa propriedade declarada como uma varivel booleana e define se uma caixa de dilogo com uma barra, que indica o progresso da tarefa de impresso do relatrio, deve ser exibida.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
QuickReport1.ShowProgress:= True;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1185
Na fase de projeto:
TQuickReport e TQRPrinter
SHOWROOT
Descrio
Essa propriedade declarada como uma varivel booleana que define se o controle deve exibir linhas conectando itens ao componente-raiz.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
TreeView1.ShowRoot:= True;
SIMPLEPANEL
Descrio
Essa propriedade declarada como uma varivel booleana e define se a barra de status exibe um nico painel ou mltiplos painis.
SIMPLETEXT
Descrio
Essa propriedade declarada como uma varivel do tipo string e define o texto exibido na barra de status quando o valor da propriedade SimplePanel igual a True.
CAPTULO 41 PROPRIEDADES
SIZE
Descrio
Para componentes do tipo TStringField, essa propriedade define o nmero de Bytes reservado para o campo. Para componentes do tipo TBCDField, essa propriedade define o nmero de dgitos aps o ponto decimal. Para componentes dos tipos TAutoIncField, TFieldDef, TBlobField, TBytesField, TVarBytesField, TMemoField e TGraphicField, define o espao que o campo ocupa quando armazenado em uma tabela. Essa propriedade s est disponvel durante a execuo do aplicativo.
SMALLCHANGE
Descrio
A propriedade SmallChange declarada como uma varivel do tipo TScrollBarInc que define quantas posies devem ser deslocadas na barra de rolagem quando o usurio d um clique nas setas situadas nas extremidades da barra de rolagem ou pressiona as teclas de seta.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
ScrollBar1.SmallChange := 10
SMALLIMAGES
Descrio
Essa propriedade define as imagens exibidas pelo componente quando a sua propriedade ViewStyle possui o valor vsSmallIcon.
SORTED
Descrio
A propriedade Sorted uma varivel booleana que define se os itens de um componente dos tipos TComboBox, TIWComboBox, TIWListBox ou TListBox estaro alfabeticamente ordenados. Se quiser
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1187
Exemplo
Voc pode alterar a propriedade Sorted de um componente diretamente no Object Inspector ou incluindo uma linha de cdigo como:
ListBox1Sorted:= True;
SORTTYPE
Descrio
A propriedade SortType declarada como uma varivel do tipo TSortType que define quando e como uma lista de itens deve ser ordenada. Tabela de Valores:
Valor nsNone nsData nsText nsBoth Significado Nenhuma reordenao. Os itens so reordenados quando um objeto de dados alterado. Os itens so reordenados quando um rtulo alterado. Os itens so reordenados quando um objeto de dados ou um rtulo alterado.
Exemplo
Voc pode definir o valor da propriedade ScrollBars de um componente diretamente no Object Inspector ou mediante uma linha de cdigo:
TreeView1.SortType:= nsBoth;
SOURCE
Descrio
Para componentes do tipo TBatchMove, a propriedade Source declarada como uma varivel do tipo TDatasSet (TTable ou TQuery, TDecisionQuery) que especifica o componente ao qual est associada a tabela-origem em uma operao realizada por um componente do tipo TBatchMove.
CAPTULO 41 PROPRIEDADES
Para componentes do tipo EOLEException, a propriedade Source declarada como uma varivel do tipo string e retorna o nome da aplicao que gerou a exceo.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou por meio de uma linha de cdigo, como:
BatchMove1.Source := Table1;
SPACING
Descrio
A propriedade Spacing declarada como uma varivel inteira que define a distncia, em pixels, entre a imagem grfica (definida na propriedade Glyph) e o texto (definido na propriedade Caption). Se for igual a 0, no haver espao, e se for igual a -1, o texto aparecer centralizado no espao entre a imagem e a extremidade do boto.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
BitBtn1.Spacing := 4
SPARSECOLS
Descrio
Essa propriedade declarada como uma varivel booleana e define se as colunas em branco devem ser removidas da projeo corrente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1189
SPARSEROWS
Descrio
Essa propriedade declarada como uma varivel booleana e define se as linhas em branco devem ser removidas da projeo corrente.
SQL
Descrio
Para componentes dos tipos TIBSQL, TQuery, TDecisionQuery, a propriedade SQL declarada como uma varivel do tipo TStrings que armazena a declarao ou comando SQL a ser executado quando os mtodos Open e SQL forem chamados. Para componentes dos tipos TUpdateSQL e TIBUpdateSQL, essa propriedade retorna declarao SQL cujo ndice igual a UpdateKind. UpdateKind pode ser igual a ukModify, ukDelete ou ukInsert. Essa propriedade s est disponvel durante a execuo do aplicativo.
SQLCOMPATIBLE
Descrio
Essa propriedade declarada como uma varivel booleana e deve ser usada quando uma mensagem de erro do Borland Database Engine indicar que o banco de dados utilizado no suporta a funo RecordCount.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
QuickReport1.SQLCompatible:= True;
CAPTULO 41 PROPRIEDADES
SQLCONNECTION
Descrio
Essa propriedade definida como um objeto da classe TSQLConnection, e define o nome do componente SQLConnection atravs do qual ser feita a conexo ao servidor do banco de dados.
SQLDIALECT
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro e define o tipo de dialeto SQL usado pela aplicao cliente que acessa o banco de dados.
SQLOBJECTCOUNT
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro que define o nmero de objetos de acesso via SQL associados ao componente que representa o banco de dados e que se encontram ativos.
SQLOBJECTS
Descrio
Esta propriedade declarada como uma varivel do tipo inteiro que define o nmero de objetos SQL do banco de dados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1191
START
Descrio
A propriedade Start declarada como uma varivel do tipo inteiro longo (Longint) que define a posio onde ser iniciada a execuo ou gravao em um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem com o valor da propriedade Start durante a execuo de um dispositivo multimdia:
ShowMessage(IntToStr(MediaPlayer1.Start));
STARTFRAME
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro e define o primeiro quadro a ser executado pelo clipe de vdeo exibido pelo componente.
STARTMARGIN
Descrio
A propriedade StartMargin declarada como uma varivel inteira e determina a distncia, em pixels, da guia mais esquerda entre as visveis no controle e a extremidade esquerda do controle.
Exemplo
O valor da propriedade StartMargin pode ser alterado diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo, como:
TabSet1. StartMargin := 6;
STARTPOS
Descrio
A propriedade StartPos declarada como uma varivel do tipo inteiro longo (Longint) que define a posio inicial para execuo ou gravao em um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo do aplicativo.
CAPTULO 41 PROPRIEDADES
Exemplo
O trecho de cdigo a seguir exibe uma mensagem com o valor da propriedade StartPos durante a execuo de um dispositivo multimdia:
ShowMessage(IntToStr(MediaPlayer1.StartPos));
STATE
Descrio
Para componentes dos tipos TCheckBox e TDBCheckBox, a propriedade State uma varivel do tipo TCheckBoxState que define os vrios estados que podem ser assumidos pelo componente. Para componentes dos tipos TDataSource, TTable, TQuery, TDecisionQuery e TStoredProc, a propriedade State uma varivel do tipo TDataSetState que define os estados que podem ser assumidos por um banco de dados associado. Para esses componentes, essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio. Tabela de Valores para componentes dos Tipos TCheckBox e TDVCheckBox.
Significado O componente no apresenta um marca de verificao, o que indica que o componente no est selecionado. O componente apresenta um marca de verificao na cor preta, o que indica que o componente est selecionado. O componente apresenta um marca de verificao na cor cinza, o que indica que o componente est em um terceiro estado. Esse terceiro estado s possvel se o componente tiver a sua propriedade AllowGrayed igual a True.
Tabela de Valores para componentes dos tipos TDataSource, TTable, TQuery, TDecisionQuery e TStoredProc:
Significado O banco de dados est fechado. O banco de dados est fechado. O banco de dados est sendo editado. O banco de dados permite insero de registros. O banco de dados est definindo registros-chave. O evento OnCalcFields foi acionado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1193
STATEIMAGES
Descrio
Essa propriedade define a imagem exibida esquerda do cone de um item.
STATUS
Descrio
A propriedade Status declarada como uma varivel do tipo TQRPrinterStatus que define o estado do objeto que representa a impressora. Essa propriedade s est disponvel durante a execuo do aplicativo. Tabela de Valores:
Valor mpReady mpBusy mpFinished mpPrinting mpPreviewing Significado Componente pronto para iniciar um novo trabalho de impresso. Componente ocupado com um trabalho de impresso. Trabalho de impresso finalizado. Trabalho de impresso sendo enviado para a impressora. Pr-visualizao de impresso ativa.
CAPTULO 41 PROPRIEDADES
STEP
Descrio
A propriedade Step uma varivel inteira que define o incremento usado na variao do valor da propriedade Position do componente.
Exemplo
Voc pode alterar o valor da propriedade Step diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
ProgressBar1.Step:= 10;
STMTHANDLE
Descrio
A propriedade StmtHandle declarada como uma varivel do tipo HDBIStmt que permite acesso direto s funes da API do Borland Database Engine (BDE). Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
STOPFRAME
Descrio
Essa propriedade declarada como uma varivel do tipo inteiro e define o ltimo quadro a ser executado pelo clipe de vdeo exibido pelo componente.
STORAGE
Descrio
A propriedade Storage declarada como uma varivel do tipo TStorage que permite o acesso interface IStorage de um componente do tipo TOLEContainer. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
Voc pode exibir o valor da propriedade Storage de um componente do tipo TOLEContainer mediante uma linha de cdigo como:
ShowMessage(OLEContainer1.Storage);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1195
STOREDDEFS
Descrio
A propriedade StoredDefs declarada como uma varivel booleana que determina se as definies de campos e ndices devem ser armazenadas de forma persistente no arquivo DFM que armazena a definio do formulrio.
STOREDPROCNAME
Descrio
Essa propriedade declarada como uma varivel do tipo string que define o nome do procedimento a ser executado em um servidor.
Exemplo
Voc pode alterar o valor da propriedade StoredProcName diretamente no Object Inspector ou mediante uma linha de cdigo como:
StoredProc1. StoredProcName := Exemplo;
STRETCH
Descrio
A propriedade Stretch uma varivel booleana que define se uma imagem na forma de Bitmap ou Metafile deve ser redimensionada de forma a assumir o tamanho e a forma do controle que ir exibi-la.
Exemplo
Voc pode definir o valor da propriedade Stretch de um componente diretamente no Object Inspector ou mediante uma linha de cdigo:
Image1.Stretch := True;
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TImage e TDBImage
STRINGS
Descrio
Essa varivel declarada como um array de strings e permite o acesso a uma string de uma lista de strings. Essa propriedade s est disponvel durante a execuo do aplicativo.
STYLE
Descrio
A propriedade Style est associada ao estilo de apresentao de um controle ou componente. Tabela de Valores para um componente do tipo TBevel: Nesse caso, a propriedade define se o chanfro ser apresentado em relevo ou como uma depresso.
Tabela de Valores para um objeto do tipo TPen. Nesse caso, a propriedade uma varivel do tipo TPenStyle que define o estilo de desenho da caneta.
Valor psSolid psDash psDot psDashDot psDashDotDot psClear psInsideFrame Significado A caneta desenha uma linha slida. A caneta desenha uma linha tracejada. A caneta desenha uma linha pontilhada. A caneta desenha uma linha no estilo trao-ponto. A caneta desenha uma linha no estilo trao-dois pontos. A caneta desenha uma linha invisvel. A caneta desenha uma linha interna ao quadro de figuras fechadas que possuem um retngulo circunscrito.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1197
Tabela de Valores para um objeto do tipo TFont: Nesse caso, a propriedade um conjunto de variveis do tipo TFontStyles que define o estilo da fonte.
Valor fsBold fsItalic fsUnderline fsStrikeout Significado A fonte est em negrito. A fonte est em itlico. A fonte est sublinhada. A fonte cortada por uma linha horizontal.
Tabela de Valores para componentes dos tipos TComboBox e FDBCombo: Nesse caso, a propriedade uma varivel do tipo TComboBoxStyle que define o estilo de exibio dos itens do componente.
Significado Cria uma lista drop-down com uma caixa de edio na qual o usurio pode digitar texto. Cria uma caixa de edio sem uma lista drop-down. Cria uma lista drop-down sem uma caixa de edio. Cria uma lista drop-down sem caixa de edio em que os itens podem ser qualquer objeto definido pelo usurio e no apenas strings, sendo que todos tm altura fixa. Cria uma lista drop-down sem caixa de edio em que os itens podem ser qualquer objeto definido pelo usurio e no apenas strings, sendo que no tm altura fixa.
CAPTULO 41 PROPRIEDADES
Tabela de Valores para um componente do tipo TListBox e TDBListBox: Nesse caso, a propriedade uma varivel do tipo TListBoxStyle que define o estilo de exibio dos itens do componente.
Valor lbStandard lbOwnerDrawFixed lbOwnerDrawVariable Significado Todos os itens so strings e possuem a mesma altura. Os itens podem ser qualquer objeto definido pelo usurio e no apenas strings, sendo que todos tm altura fixa, definida pela propriedade ItemHeight. Os itens podem ser qualquer objeto definido pelo usurio e no apenas strings, sendo que no tm altura fixa.
Tabela de Valores para um componente dos tipos TBitBtn e TSpeedButton: Nesse caso, a propriedade uma varivel do tipo TButtonStyle que define o aspecto de um boto com bitmap.
Significado O bitmap possui o aspecto da verso do Windows sob a qual o aplicativo est sendo executado. O bitmap possui o aspecto da verso 3.1 do Windows, independentemente da verso do Windows sob a qual o aplicativo est sendo executado. O bitmap possui um novo aspecto, independentemente da verso do Windows sob a qual o aplicativo est sendo executado.
Tabela de Valores para um componente do tipo TTabSet: Nesse caso, a propriedade uma varivel do tipo TTabStyle que define o aspecto do componente.
Valor tsStandard tsOwnerDraw Significado Cada componente tab do conjunto TabSet tem o tamanho e a aparncia default. Cada componente tab do conjunto TabSet tem a altura definida pela propriedade TabHeight e a largura necessria para conter o texto ou glyph. Nesse caso, o componente tab pode exibir objetos que no sejam strings.
Tabela de Valores para um componente do tipo TOutline: Nesse caso, a propriedade uma varivel do tipo TOutline que define como o componente exibe seus itens.
Significado Os itens so desenhados de acordo com o valor especificado na propriedade OutlineStyle. Os itens so desenhados no Canvas de acordo com o cdigo escrito no programa.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1199
Exemplo
Voc pode alterar a propriedade Style de um componente Bevel1 do tipo TBevel com a seguinte linha de cdigo:
Bevel1.Style := bsRaised;
SUSPENDED
Descrio
Essa varivel declarada como uma varivel booleana que define se a execuo da Thread representada pelo objeto foi suspensa.
TABHEIGHT
Descrio
A propriedade TabHeight declarada como uma varivel inteira que define a altura, em pixels, das guias de um controle.
CAPTULO 41 PROPRIEDADES
TABINDEX
Descrio
A propriedade TabIndex declarada como uma varivel inteira que define a guia correntemente selecionada.
TABLE
Descrio
Essa propriedade retorna o nome do componente Table ao qual o relatrio est vinculado.
TABLEDIRECT
Descrio
Essa propriedade definida como uma varivel booleana, e define se o acesso tabela feito de forma direta, ou se necessria a criao de uma declarao SQL em background.
TABLELEVEL
Descrio
A propriedade TableLevel declarada como uma varivel inteira que define o driver do BDE vinculado tabela representada pelo componente.
TABLENAME
Descrio
Essa propriedade declarada como uma varivel do tipo TFileName e especifica a tabela a que o componente estar ligado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1201
TABLETYPE
Descrio
Essa propriedade declarada como uma varivel do tipo TTableType e especifica o tipo da tabela a que o componente estar ligado (no vale para tabelas SQL).
TABORDER
Descrio
A propriedade TabOrder uma varivel do tipo TTabOrder que define a ordem segundo a qual os diversos controles de um formulrio recebem o foco da aplicao quando o usurio pressiona a tecla Tab. Se voc altera a propriedade TabOrder de qualquer componente, o Delphi altera automaticamente o valor da propriedade TabOrder dos demais componentes, de forma que no haja duplicao do valor da propriedade.
Exemplo
Voc pode definir o valor da propriedade TabOrder de um componente diretamente no Object Inspector ou mediante uma linha de cdigo:
BitBtn1.TabOrder:= 5;
CAPTULO 41 PROPRIEDADES
TABS
Descrio
A propriedade Tabs declarada como uma lista de strings que armazena o texto exibido para as diversas guias do controle.
Exemplo
Voc pode definir o valor da propriedade Tabs de um controle diretamente no Object Inspector, usando o String List Editor, ou mediante uma linha de cdigo como:
TabSet1.Tabs.Add(Nova guia);
Essa linha de cdigo, alm de acrescentar uma string lista definida na propriedade Tabs, cria uma nova guia que exibir o texto da string.
TABSPERROW
Descrio
A propriedade TabsPerRow uma varivel inteira que define o nmero de guias que aparecem em cada linha no topo do controle.
Exemplo
Voc pode definir o valor da propriedade TabsPerRow de um controle diretamente no Object Inspector ou mediante uma linha de cdigo como:
TabbedNotebook1.TabsPerRow := 2;
TABSTOP
Descrio
A propriedade TabStop uma varivel do tipo booleana que define se um controle pode ou no receber o foco da aplicao quando o usurio pressiona a tecla Tab.
Exemplo
Voc pode definir o valor da propriedade TabStop de um controle diretamente no Object Inspector ou mediante uma linha de cdigo:
BitBtn1.TabStop:= False;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1203
TABSTOPS
Descrio
A propriedade TabStops declarada como uma array de variveis booleanas que define as colunas para as quais o usurio pode se mover usando a tecla Tab ou Shift+Tab. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Se voc no quiser que o usurio se desloque para a segunda coluna de uma grade usando Tab ou Shift+Tab, inclua a seguinte linha de cdigo:
StringGrid1.TabStops[1] := False;
TABWIDTH
Descrio
A propriedade TabWidth declarada como uma varivel inteira que define a largura, em pixels, das guias de um controle.
TAG
Descrio
A propriedade Tag uma varivel do tipo Longint que o Delphi coloca disposio do usurio, que pode atribuir o significado mais conveniente.
CAPTULO 41 PROPRIEDADES
Exemplo
Voc pode alterar a propriedade Tag de um componente Button1 do tipo TButton com a seguinte linha de cdigo:
Button1.Tag := varivel_inteira;
TEMPORARY
Descrio
A propriedade Temporary declarada como uma varivel booleana e determina se o componente foi criado apenas porque no havia um componente do tipo TDatabase disponvel quando uma tabela foi aberta. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
TERMINATED
Descrio
A propriedade Terminated uma varivel do tipo booleana que especifica se a aplicao recebeu do Windows a mensagem WM_QUIT para que seja encerrada, o que ocorre normalmente quando se fecha o formulrio principal. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio. Para objetos da classe TThread, indica se sua execuo deve ser finalizada.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem quando a aplicao estiver para ser encerrada:
if Application.Terminated = True then ShowMessage(A aplicao ser encerrada);
TEXT
Descrio
A propriedade Text uma varivel do tipo string cujo significado depende do tipo de componente a que se refere: Para componentes dos tipos TComboBox, TDBComboBox, TIWComboBox e TIWDBComboBox, a propriedade Text define o primeiro item que aparece na lista de itens do componente quando a aplicao executada.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1205
Exemplo
Voc pode alterar a propriedade Text de um componente ComboBox1 do tipo TComboBox com a propriedade Style igual a csDropDown diretamente no Object Inspector ou com a seguinte linha de cdigo:
ComboBox1.Text:= Texto;
TEXTALIGN
Descrio
Esta propriedade define como um texto ser alinhado verticalmente em um Canvas, podendso assumir o valor taTop ou taBottom Durante a execuo do aplicativo:
TCanvas
CAPTULO 41 PROPRIEDADES
TEXTCASE
Descrio
A propriedade TextCase declarada como uma varivel do tipo TTextCase que define se o nome exibido pela propriedade Text deve aparecer em letras maisculas ou minsculas. Tabela de Valores:
Valor tcLowerCase tcUpperCase Significado O nome exibido pela propriedade Text apresentado em letras minsculas. O nome exibido pela propriedade Text apresentado em letras maisculas.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou por meio de uma linha de cdigo como:
DriveComboBox1.TextCase := tcUpperCase;
THREADID
Descrio
Essa varivel declarada como uma varivel do tipo THandle que identifica a Thread com o sistema operacional e permite que esta possa ser passada como parmetros em funes da API do Windows.
TICKMARKS
Descrio
A propriedade TickMarks declarada como uma varivel do tipo TTickMark que define o tipo de marca usada para graduar os valores exibidos no componente. Tabela de Valores:
Valor tmBottomRight tmTopLeft tmBoth Significado As marcas so exibidas abaixo ou direita do componente. As marcas so exibidas acima ou esquerda do componente. As marcas so exibidas dos dois lados do componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1207
TICKSTYLE
Descrio
A propriedade TickStyle declarada como uma varivel do tipo TTickStyle que define o estilo de marca usada para graduar os valores exibidos no componente. Tabela de Valores:
Valor tsAuto tsManual tsNone Significado As marcas so exibidas automaticamente a cada incremento de valor. A propriedade Frequency s pode ser usada quando esse o estilo definido para o componente. As marcas so exibidas nas extremidades do componente e nas posies definidas pelo mtodo SetTick. O componente no exibe nenhuma marca.
Exemplo
Voc pode definir o valor da propriedade TickStyle de um componente diretamente no Object Inspector ou mediante uma linha de cdigo:
TrackBar1.TickStyle:= tsAuto;
TILEMODE
Descrio
Essa propriedade declarada como uma varivel do tipo TTileMode e determina se as janelas-filhas de uma aplicao MDI devem ser automaticamente reposicionadas e redimensionadas quando a aplicao chama o mtodo Tile. Essa propriedade s est disponvel durante a execuo do aplicativo.
CAPTULO 41 PROPRIEDADES
Tabela de Valores:
Valor tbHorizontal tbVertical Significado Cada formulrio ter suas dimenses alteradas de forma a preencher toda a largura da janela-pai. Cada formulrio ter suas dimenses alteradas de forma a preencher toda a altura da janela-pai.
Exemplo
Voc pode alterar o valor da propriedade TileMode mediante a incluso de uma linha de cdigo, como:
Form1.TileMode := tbHorizontal;
TIMEFORMAT
Descrio
A propriedade TimeFormat declarada como uma varivel do tipo TMPTimeFormats e define o formato usado para interpretar informaes de posio em propriedades como StartPos, Length, Position, Start e EndPos em um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar o valor da propriedade TimeFormat mediante a incluso de uma linha de cdigo como:
TimeFormat := tfHMS;
TIMERS
Descrio
Essa propriedade declarada como uma varivel do tipo booleana e define se o clipe de vdeo exibido pelo componente ser executado em uma thread independente (quando seu valor for igual a False).
TITLE
Descrio
Para componentes do tipo TApplication, a propriedade Title declarada como uma varivel do tipo string e define o nome que ser exibido com o cone da aplicao quando ela for minimizada. Essa
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1209
Exemplo
O trecho de cdigo a seguir define o valor da propriedade Title de uma aplicao:
Application.Title := Nome;
TITLEBEFOREHEADER
Descrio
Essa propriedade declarada como uma varivel booleana que define se o ttulo do primeiro componente do tipo TQRBando ser exibido ou no antes do cabealho da pgina.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
QuickReport1.TitleBeforeHeader:= True;
TITLEFONT
Descrio
Essa propriedade declarada como uma varivel do tipo TFont e determina o tipo de fonte usada para exibir os ttulos das colunas da grade.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou por meio da seleo de uma fonte em uma caixa de dilogo, com o seguinte trecho de cdigo:
if FontDialog1.Execute then DBGrid1.TitleFont := FontDialog1.Font;
CAPTULO 41 PROPRIEDADES
TOP
Descrio
A propriedade Top uma varivel inteira que define, em pixels, a coordenada da extremidade superior de um componente em relao extremidade superior do formulrio que o contm. No caso de um formulrio, essa propriedade medida em relao tela.
Exemplo
Para alterar a propriedade Top de um boto chamado Button1 durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo no evento correspondente:
Button1.Top := valor;
TOPAGE
Descrio
A propriedade ToPage uma varivel inteira que define o nmero da ltima pgina a ser impressa.
Exemplo
Voc pode alterar o valor dessa propriedade diretamente no Object Inspector ou mediante a incluso de uma linha de cdigo como:
PrintDialog1.ToPage:= 100;
TOPAXIS
Descrio
A propriedade TopAxis declarada como um objeto da classe TChartAxis e representa o eixo horizontal superior do grfico exibido no componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1211
TOPINDEX
Descrio
A propriedade TopIndex uma varivel inteira que define o ndice do item que aparece no topo de uma caixa de listagem. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode usar um componente chamado Edit1 do tipo TEdit para exibir o item exibido no topo de uma caixa de listagem chamada ListBox1 do tipo TListBox com a seguinte linha de cdigo:
Edit1.Text := IntToStr(ListBox1.TopIndex);
TOPITEM
Descrio
Para componentes do tipo TOutlineNode, essa propriedade declarada como uma varivel do tipo inteiro longo (Longint) que define o ndice do seu ancestral cuja propriedade Level igual a 1. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio. Para componentes do tipo TListView, essa propriedade declarada como uma varivel do tipo TListItem que define o item visvel no topo do componente. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio. Para componentes do tipo TTreeView, essa propriedade declarada como uma varivel do tipo TTreeNode que define o item visvel no topo do componente. Essa propriedade s est disponvel durante a execuo do aplicativo.
TOPROW
Descrio
A propriedade TopRow uma varivel do tipo inteiro longo (Longint) que define a linha de clulas da grade que deve ser exibida no topo, imediatamente abaixo das linhas fixas.
Exemplo
Voc pode alterar a propriedade TopRow diretamente no Object Inspector ou com a seguinte linha de cdigo, na qual StringGrid1 um componente do tipo TStringGrid1:
StringGrid1.TopRow := 1;
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TDrawGrid e TStringGrid
TRACEFLAGS
Descrio
Esta propriedade declarada como uma varivel do tipo TTraceFlag que define as operaes a serem monitoradas pelo SQL Monitor.
TRACKLENGTH
Descrio
A propriedade TrackLength declarada com um array de inteiros longos (Longint), no qual cada item do array define o comprimento de uma trilha a ser executada por um dispositivo multimdia. Essa propriedade s est disponvel durante a execuo de um aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe o comprimento da segunda trilha a ser executada por um componente chamado MediaPlayer1 em um dispositivo multimdia.
Label1.Caption := IntToStr(MediaPlayer1.TrackLength[1]);
TRACKPOSITION
Descrio
A propriedade TrackPosition declarada com uma array de inteiros longos (Longint) e retorna a posio inicial da trilha especificada pelo ndice TrackNum.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe a posio inicial da segunda trilha a ser executada por um componente chamado MediaPlayer1 em um dispositivo multimdia.
Label1.Caption := IntToStr(MediaPlayer1.TrackPosition[1]);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1213
TRACKS
Descrio
A propriedade Tracks declarada com uma varivel inteira longa (Longint) e retorna o nmero de trilhas que podem ser executadas no dispositivo multimdia corrente. Essa propriedade s est disponvel durante a execuo de um aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe o nmero de trilhas existentes em um componente chamado MediaPlayer1 em um dispositivo multimdia.
Label1.Caption := IntToStr(MediaPlayer1.Tracks);
TRANSACTIONCOUNT
Descrio
Esta propriedade declarada como uma varivel inteira, e define o nmero de transaes associadas ao componente.
TRANSACTIONS
Descrio
Esta propriedade declarada como uma array de objetos da classe TIBTransaction e permite acessar, atravs de um ndice, um dos objetos TIBTransaction associados ao componente.
TRANSISOLATION
Descrio
A propriedade Transisolation declarada como uma varivel do tipo TTransisolation e define o nvel do isolamento das transaes com um servidor SQL.
Exemplo
Voc pode definir o valor dessa propriedade diretamente no Object Inspector ou mediante uma linha de cdigo como:
Database1.Transisolation := ReadCommited;
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TDatabase
TRANSLITERATE
Descrio
A propriedade Transliterate uma varivel booleana que define se feita alguma transformao ao se passar um dado de um componente para outro.
Exemplo
Voc pode definir o valor dessa propriedade mediante uma linha de cdigo como:
BatchMove1.Transliterate := False;
TRANSPARENT
Descrio
Essa propriedade declarada como uma varivel booleana que define se o componente ser exibido com a cor definida na sua propriedade Color ou com a cor do componente sobre o qual est posicionado.
Exemplo
Voc pode definir a propriedade Transparent de um componente diretamente no Object Inspector ou mediante uma linha de cdigo. Para tornar um componente chamado Label1 do tipo TLabel transparente durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo:
Label1.Transparent := False;
UNIDIRECIONAL
Descrio
A propriedade Unidirecional uma varivel booleana que define se a movimentao pelos registros de um conjunto de dados s pode ser feita em uma direo.
Exemplo
Voc pode definir a propriedade Unidirecional de um componente diretamente no Object Inspector ou mediante uma linha de cdigo como:
Query1.Unidirecional := False;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1215
UNSELECTEDCOLOR
Descrio
A propriedade UnSelectedColor declarada como uma varivel do tipo TColor e define a cor das guias que no esto selecionadas em um componente do tipo TTabSet.
Exemplo
Voc pode alterar a propriedade UnSelectedColor de um componente diretamente no Object Inspector ou por meio de uma linha de cdigo, como:
TabSet1. UnSelectedColor := clBlue;
UPDATEDMODE
Descrio
A propriedade UpdatedMode uma varivel que define como o Delphi pesquisar os registros alterados em um banco de dados SQL. Tabela de Valores:
Valor WhereAll WhereKeyOnly WhereChanged Significado A pesquisa feita por todas as colunas. A pesquisa feita pelas colunas-chave. A pesquisa feita pelas colunas-chave e as que j sofreram alterao.
Exemplo
Voc pode definir a propriedade UpdatedMode de um componente diretamente no Object Inspector ou mediante uma linha de cdigo como:
Query1.UpdatedMode := WhereAll;
CAPTULO 41 PROPRIEDADES
USECOMPRESSION
Descrio
A propriedade UseCompression uma varivel do tipo booleano que define se deve-se ou no aplicar compresso ao relatrio gerado.
VALUE
Descrio
Para componentes do tipo TDBRadioGroup, essa propriedade declarada como uma varivel do tipo string e armazena o contedo do campo correspondente no registro do banco de dados associado. A propriedade Items desse componente armazena uma lista de strings, na qual a primeira string corresponde ao primeiro boto de rdio, a segunda string ao segundo boto de rdio, e assim por diante. Quando o usurio seleciona um dos botes de rdio do grupo, a string correspondente armazenada no campo correspondente do registro corrente do banco de dados associado. Para componentes dos tipos TDBLookupCombo e TDBLookupList, essa propriedade declarada como uma varivel do tipo string e armazena o contedo do campo correspondente no registro do banco de dados associado. Para esses componentes, essa propriedade s est disponvel durante a execuo do aplicativo. Nos demais casos, em componentes derivados de TField, armazena o valor correspondente ao campo que ele representa em registro de um banco de dados. Nesses casos, a varivel ser declarada como de um tipo compatvel com o campo a ser representado, ou seja, ser declarada como uma varivel do tipo: String, para componentes do tipo TStringField. Longint, para componentes dos tipos TAutoIncField, TIntegerField, TSmallintField e TWordField. Double, para componentes dos tipos TBCDField, TCurrencyField e TFloatField. Boolean, para componentes do tipo TBooleanField. TDateTime, para componentes dos tipos TDateField, TDateTimeField e TTimeField. Para esses componentes, essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Durante a execuo do aplicativo, voc pode atribuir uma data propriedade Value de um componente do tipo TDateField com a seguinte linha de cdigo:
DateField1.Value:= StrToDateTime(01/15/96 10:30:00');
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1217
VALUECHECKED
Descrio
A propriedade ValueChecked uma varivel do tipo string cujo valor ser atribudo a um campo (definido pela propriedade DataField de TDBCheckBox) do registro corrente do banco de dados (definido pela propriedade DataSource de TDBCheckBox) quando o usurio selecionar a opo correspondente ao controle. De modo inverso, se no campo do banco de dados for atribudo um valor diferente do armazenado em ValueChecked, a opo ser desmarcada (o controle no ser mais selecionado). Nesse caso, se a string armazenada no campo tambm no for igual definida na propriedade ValueUnchecked, o controle ficar com aspecto acinzentado. Voc pode definir mais de uma string para a propriedade, desde que separadas por um ponto-e-vrgula. Nesse caso, basta que uma delas corresponda ao valor armazenado no campo para que o controle seja selecionado.
Exemplo
Voc pode alterar a propriedade ValueChecked diretamente no Object Inspector ou com a seguinte linha de cdigo:
DBCheckBox1.ValueChecked := Valor;
VALUES
Descrio
A propriedade Values declarada como uma varivel do tipo TStrings que armazena uma lista de strings em que cada item corresponder a um possvel valor de um campo em um registro do banco de dados associado. Cada item dessa lista corresponde a um item da lista de strings armazenada na propriedade Items do componente. O primeiro item corresponder ao primeiro boto de rdio, o segundo item ao segundo boto de rdio, e assim por diante. O contedo da propriedade Values que ser comparado com o valor corrente do campo, isto , se uma das strings da propriedade Values coincidir com o armazenado no campo do banco de dados, o boto de rdio correspondente ser selecionado. De maneira inversa, se um boto de rdio for selecionado, a string correspondente na propriedade Values ser armazenada no campo de dados (desde que a propriedade Read Only seja False). Caso seja omitida a lista de strings na propriedade Values, ser considerada a lista armazenada na propriedade Items. Voc pode operar sobre a propriedade Values da mesma forma que opera sobre qualquer item de uma lista de strings, para adicionar, remover ou inserir uma string. Para objetos dos tipos TStrings e TStringList, d acesso direto a uma lista de strings.
Exemplo
Voc pode alterar a propriedade Values diretamente no Object Inspector ou mediante um trecho de cdigo, como exemplificado a seguir. Nesse caso, quando o formulrio criado, atribui-se propriedade Items de um componente DBRadioGroup1, do tipo TDBRadioGroup, a lista de strings composta por
CAPTULO 41 PROPRIEDADES
Vermelho, Verde e Amarelo, e sua propriedade Values, a lista de strings composta por Red, Green e Yellow.
procedure TForm1.FormCreate(Sender: TObject); begin with DBRadioGroup1 do begin Items.Add(Vermelho); Items.Add(Verde); Items.Add(Amarelo); Values.Add(Red); Values.Add(Green); Values.Add(Yellow); end; end;
Quando o aplicativo executado, surgem trs botes de rdio no componente DBRadioGroup, com rtulos iguais a Vermelho, Verde e Amarelo. Se o valor armazenado no campo do registro correspondente ao banco de dados associado for igual a Red, Green ou Blue, o boto correspondente ser selecionado. Por outro lado, se o usurio selecionar um dos botes de rdio, a string correspondente na propriedade Values ser armazenada no campo do banco de dados.
VALUEUNCHECKED
Descrio
A propriedade ValueUnChecked uma varivel do tipo string cujo valor ser atribudo a um campo (definido pela propriedade DataField de TDBCheckBox) do registro corrente do banco de dados (definido pela propriedade DataSource de TDBCheckBox) quando o usurio desfizer a seleo da opo correspondente ao controle. De modo inverso, se no campo do banco de dados for atribudo um valor diferente do armazenado em ValueUnChecked, a opo ser desmarcada (o controle no ser mais selecionado). Nesse caso, se a string armazenada no campo tambm no for igual definida na propriedade ValueChecked, o controle ficar com aspecto acinzentado. Voc pode definir mais de uma string para a propriedade, desde que separadas por um ponto-e-vrgula. Nesse caso, basta que uma delas corresponda ao valor armazenado no campo para que o controle no seja selecionado.
Exemplo
Voc pode alterar a propriedade ValueUnChecked diretamente no Object Inspector ou com a seguinte linha de cdigo:
DBCheckBox1.ValueUnChecked := Valor;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1219
VERTSCROLLBAR
Descrio
A propriedade VertScrollBar declarada como uma varivel do tipo TControlScrollBar cujas subpropriedades definem o comportamento de uma barra de rolagem vertical em um componente do tipo TForm, TFrame ou TScrollBox.
Exemplo
Voc pode alterar as subpropriedades da propriedade VertScrollBar de um componente diretamente no Object Inspector ou durante a execuo do aplicativo incluindo uma linha de cdigo como:
Form1.VertScrollBar.Visible := True;
VIEWORIGIN
Descrio
Essa propriedade declarada como uma varivel do tipo TPoint e retorna as coordenadas da origem do controle. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
VIEWSTYLE
Descrio
A propriedade ViewStyle declarada como uma varivel do tipo TViewStyle que define como os itens sero exibidos no controle. Tabela de Valores:
Valor vsIcon vsSmallIcon vsList vsReport Significado Cada item aparece como um cone em verdadeira grandeza sobre um rtulo. Os itens podem ser arrastados pelo usurio. Cada item aparece como um pequeno cone com um rtulo sua direita. Os itens podem ser arrastados pelo usurio. Cada item aparece como um pequeno cone com um rtulo sua direita. Os itens so dispostos em colunas e no podem ser arrastados pelo usurio. Cada item exibido em sua prpria linha, com informaes dispostas em colunas.
CAPTULO 41 PROPRIEDADES
Componentes aos quais se aplica:
Na fase de projeto:
TListView
VISIBLE
Descrio
A propriedade Visible uma varivel booleana que define se o componente aparece ou no na tela. Para objetos da classe TAction, define o valor da propriedade Visible dos controles e itens de menu associados ao objeto.
Exemplo
Voc pode definir a propriedade Visible de um componente diretamente no Object Inspector ou mediante uma linha de cdigo. Para tornar um boto Button1 invisvel durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo:
Button1.Visible:= False;
VISIBLEBUTTONS
Descrio
A propriedade VisibleButtons declarada como uma varivel do tipo TButtonSet que define os botes a serem exibidos por um controle dos tipos TDBNavigator ou TMediaPlayer. Tabela de Valores para controles do tipo TDBNavigator.
Significado Exibe o primeiro registro do banco de dados. Exibe o registro anterior do banco de dados. Exibe o prximo registro do banco de dados. Exibe o ltimo registro do banco de dados. Insere um registro em branco no banco de dados. Deleta o registro corrente do banco de dados.
continua
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1221
Significado Permite a edio do registro corrente do banco de dados. Grava o registro corrente no banco de dados. Cancela a edio do registro corrente do banco de dados. Atualiza a exibio dos registros do banco de dados.
Exemplo
Os valores das subpropriedades da propriedade VisibleButtons do controle podem ser alterados diretamente no Object Inspector. Caso queira alter-las durante a execuo do aplicativo, as subpropriedades devem ser listadas entre colchetes, separadas por vrgulas e, ento, o conjunto deve ser atribudo propriedade VisibleButtons, como na linha de cdigo abaixo:
procedure TForm1.FormDblClick(Sender: TObject); begin DBNavigator1.VisibleButtons := [nbFirst,nbPrior,nbNext,nbLast]; end;
Nesse caso, ao se dar um duplo clique com o mouse sobre um formulrio chamado Form1, ser redefinida a propriedade VisibleButtons do controle DBNavigator1, do tipo TDBNavigator. As subpropriedades listadas entre colchetes tero o valor True e as demais, o valor False, independentemente do valor que lhes tenha sido atribudo no Object Inspector.
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TDBNavigator e TMediaPlayer
VISIBLECOLCOUNT
Descrio
A propriedade VisibleColCount uma varivel inteira que define o nmero de colunas (exceto as fixas) que so integralmente exibidas pela grade. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe o nmero de colunas integralmente exibidas por um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption := IntToStr(StringGrid1.VisibleColCount); end;
VISIBLEROWCOUNT
Descrio
Para componentes dos tipos TDrawGrid e TStringGrid, a propriedade VisibleRowCount uma varivel inteira que define o nmero de linhas (exceto as fixas) integralmente exibidas pela grade. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio. Para componentes do tipo TListView, a propriedade VisibleRowCount uma varivel inteira que define o nmero de itens que podem ser exibidos na rea visvel do controle. Essa propriedade s est disponvel durante a execuo do aplicativo, e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe o nmero de linhas integralmente exibidas por um componente StringGrid1 do tipo TStringGrid quando o usurio seleciona uma clula com o mouse.
procedure TForm1.StringGrid1Click(Sender: TObject); begin Label1.Caption:= IntToStr(StringGrid1.VisibleRowCount); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1223
VISIBLETABS
Descrio
A propriedade VisibleTabs uma varivel inteira que define o nmero de guias visveis no controle. Essa propriedade s est disponvel durante a execuo do aplicativo e no pode ter o seu valor diretamente alterado pelo usurio.
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel informe o nmero de guias visveis em um componente TabSet1 do tipo TTabSet quando o usurio seleciona uma guia do controle com o mouse.
procedure TForm1.TabSet1Click(Sender: TObject); begin Label1.Caption := IntToStr(TabSet1.VisibleTabs); end;
WAIT
Descrio
A propriedade Wait uma varivel booleana que define se um mtodo de controle do tipo TMediaPlayer s deve retornar o controle para a aplicao aps encerrar a sua execuo. Essa propriedade s est disponvel durante a execuo do aplicativo.
Exemplo
Voc pode alterar o valor da propriedade Wait mediante uma linha de cdigo como:
MediaPlayer1,Wait := False;
WANTRETURNS
Descrio
A propriedade WantReturns uma varivel booleana que define se a tecla Enter est habilitada em um componente.
Exemplo
Voc pode definir a propriedade WantReturns de um componente diretamente no Object Inspector ou mediante uma linha de cdigo. Para habilitar a tecla Enter em um controle durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo:
Memo1.WantsReturns:= True;
CAPTULO 41 PROPRIEDADES
Durante a execuo do aplicativo:
TMemo, TDBMemo e TRichEdit
WANTTABS
Descrio
A propriedade WantTabs uma varivel booleana que define se a tabulao est habilitada em um componente.
Exemplo
Voc pode definir a propriedade WantTabs de um componente diretamente no Object Inspector ou mediante uma linha de cdigo. Para habilitar a tabulao em um controle durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo:
Memo1.WantsTabs := True;
WIDTH
Descrio
A propriedade Width uma varivel inteira que define a dimenso horizontal, em pixels, de um controle ou componente grfico. Para componentes do tipo TScreen, retorna a largura da tela, em pixels. Para objetos grficos, define a sua espessura em Pixels.
Exemplo
Para alterar a dimenso horizontal de um formulrio chamado Form1 durante a execuo de um aplicativo, basta incluir a seguinte linha de cdigo no evento correspondente:
Form1.Width := valor;
WINDOWMENU
Descrio
A propriedade WindowMenu declarada como uma varivel do tipo TMenuItem que define o menu que manipular as janelas-filhas de uma aplicao MDI.
Exemplo
Voc pode definir a propriedade WindowMenu de um formulrio diretamente no Object Inspector ou mediante uma linha de cdigo, como:
Form1.WindowMenu := Janelas;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1225
WINDOWSTATE
Descrio
A propriedade WindowState declarada como uma varivel do tipo TWindowState que define o estado de exibio de um formulrio. Tabela de Valores:
Valor wsNormal wsMaximized wsMinimized Significado O formulrio no est minimizado ou maximizado. O formulrio est maximizado. O formulrio est minimizado.
Exemplo
Voc pode definir a propriedade WindowState de um formulrio diretamente no Object Inspector ou mediante uma linha de cdigo, como:
Form1.WindowState := wsNormal;
WORDWRAP
Descrio
A propriedade WordWrap uma varivel booleana que define se o texto digitado deve passar para a linha seguinte quando atingir a margem direita do controle.
Exemplo
Voc pode definir a propriedade WordWrap de um componente diretamente no Object Inspector ou mediante uma linha de cdigo, como:
Memo1.WordWrap:= True;
CAPTULO 41 PROPRIEDADES
WRAP
Descrio
A propriedade Wrap uma varivel booleana que define se, caso o valor armazenado na propriedade Position ultrapasse o valor definido na propriedade Max, Position assume o valor definido na propriedade Min.
Exemplo
Voc pode definir a propriedade Wrap de um componente diretamente no Object Inspector ou mediante uma linha de cdigo, como:
UpDown1.Wrap:= True;
WSAINFO
Descrio
Essa propriedade declarada como um objeto da classe TStringList e armazena informaes sobre a verso do WinSock usada em uma conexo.
ZOOM
Descrio
Para componentes do tipo TOLEContainer, a propriedade Zoom declarada como uma varivel do tipo TZoomFactor que define o fator de amplificao ou reduo a ser aplicado em um objeto OLE a ser exibido dentro do componente. Para componentes dos tipos TQRPreview, a propriedade Zoom declarada como uma varivel inteira que especifica o nvel de zoom (em percentagem) aplicado sobre a imagem. Tabela de Valores:
Significado O objeto OLE exibido com 25% do seu tamanho original. O objeto OLE exibido com 50% do seu tamanho original. O objeto OLE exibido com seu tamanho original. O objeto OLE exibido com 150% do seu tamanho original. O objeto OLE exibido com 200% do seu tamanho original.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1227
Exemplo
Voc pode definir a propriedade Zoom de um componente do tipo TOLEContainer diretamente no Object Inspector ou mediante uma linha de cdigo, como:
OLEContainer1.Zoom:= z150;
CAPTULO 42 MTODOS
Captulo
Mtodos
42
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1229
ABORT
Descrio
O mtodo Abort interrompe o trabalho de impresso corrente.
Declarao
procedure Abort;
ACTIVATE
Descrio
O mtodo Activate garante que este componente ser o primeiro a responder aos eventos gerados na aplicao.
Declarao
procedure Activate;
ADD
Descrio
O mtodo Add adiciona um item a uma lista de objetos e, para objetos dos tipos TList, TStrings, TStringList e TOutline, retorna a posio do item na lista. O tipo de item depende dos objetos armazenados na lista.
Declarao
A declarao depende do tipo de item armazenado na lista. Para objetos do tipo TList:
function Add(Item: Pointer): Integer;
Exemplo
O trecho de cdigo a seguir acrescenta um item a uma lista de strings que representa a propriedade Items de um componente chamado ListBox1 do tipo TListBox e retorna a posio do item em uma varivel chamada Position:
Position:= ListBox1.Items.Add(Novo item);
CAPTULO 42 MTODOS
ADDCHILD
Descrio
O mtodo AddChild adiciona um item como um subitem do item definido no parmetro Index em um componente do tipo TOutline.
Declarao
function AddChild(Index: LongInt; const Text: string): LongInt;
Exemplo
O trecho de cdigo a seguir acrescenta um item como subitem do item selecionado em um componente chamado Outline1 do tipo TOutline:
Outline1.AddChild(Outline1.SelectedItem, Novo item);
ADDCHILDOBJECT
Descrio
O mtodo AddChildObject adiciona um item contendo dados como um subitem do item definido no parmetro Index em um componente do tipo TOutline.
Declarao
function AddChildObject(Index: LongInt; const Text: string; const Data: Pointer): LongInt;
Exemplo
Veja o exemplo do mtodo AddChild.
ADDDATABASE
Descrio
Esse mtodo associa um banco de dados, representado por um objeto da classe TIBDatabase, transao corrente.
Declarao
function AddDatabase(db: TIBDatabase): Integer;
ADDDATASET
Descrio
Esse mtodo associa um banco de dados, representado por um objeto da classe TIBDatabase, transao corrente.
Declarao
function AddDatabase(db: TIBDatabase): Integer;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1231
ADDICON
Descrio
Esse mtodo adiciona um cone a um objeto do tipo TImageList.
Declarao
function AddIcon(Image: TIcon): Integer;
ADDINDEX
Descrio
O mtodo AddIndex adiciona um ndice tabela.
Declarao
procedure AddIndex(const Name, Fields: string; Options: TIndexOptions);
ADDMASKED
Descrio
Esse mtodo adiciona um cone a um objeto do tipo TImageList e uma cor usada como mscara transparente (passada pelo parmetro MaskColor).
Declarao
function AddMasked(Image: TBitmap; MaskColor: TColor): Integer;
ADDOBJECT
Descrio
Para objetos do tipo TOutline, esse mtodo adiciona um item contendo dados ao componente. Para componentes dos tipos TStrings e TStringList, adiciona a string definida no parmetro S, e o objeto definido no parmetro AObject.
Declarao
Para componentes do tipo TOutline: function AddObject(Index: LongInt; const Text: string; const Data: Pointer): LongInt; Para componentes dos tipos TStrings e TStringList: function AddObject(const S: string; AObject: TObject): Integer;
ADDPASSWORD
Descrio
O mtodo AddPassword usado para adicionar uma nova senha, definida pelo parmetro Password, ao componente do tipo TSession para uso com tabelas do Paradox.
CAPTULO 42 MTODOS
Declarao
procedure AddPassword(const Password: string);
Exemplo
O trecho de cdigo a seguir adiciona uma senha a um componente do tipo TSession:
Session.AddPassword(Senha);
ADDSCRIPTFILE
Descrio
Esse mtodo adiciona um arquivo de script, cujo nome passado como parmetro, Applet representada pelo componente.
Declarao
procedure AddScriptFile(const AFilename: String);
ADDSERIES
Descrio
Esse mtodo adiciona uma srie ao grfico exibido no componente.
Declarao
procedure AddSeries(ASeries: TChartSeries);
ADDSTRINGS
Descrio
Esse mtodo adiciona um grupo de strings, definido pelo parmetro Strings, lista mantida pelo objeto.
Declarao
procedure AddStrings(Strings: TStrings);
ADDTRANSACTION
Descrio
Esse mtodo associa uma transao representada por um componente TIBTransaction e passada como parmetro a um banco de dados representado pelo componente.
Declarao
function AddTransaction(TR: TIBTransaction): Integer;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1233
ADDXY
Descrio
O mtodo AddXY adiciona um ponto srie representada pelo objeto.
Declarao
function AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor): Longint;Exemplo
ADDY
Descrio
O mtodo AddY adiciona um ponto srie representada pelo objeto, quando os pontos no possuem uma abscissa (ex.: grfico de torta).
Declarao
function AddY(Const AYValue: Double; Const AXLabel: String; AColor: TColor): LongInt;
APPEND
Descrio
Esse mtodo adiciona um registro aps o ltimo registro existente em um banco de dados, depois de coloc-lo no modo de insero e chamar o seu mtodo Post.
Declarao
procedure Append;
APPENDRECORD
Descrio
Esse mtodo adiciona um registro aps o ltimo registro existente em um banco de dados, usando os valores passados pelo parmetro Values.
Declarao
procedure AppendRecord(const Values: array of const);
APPLYRANGE
Descrio
O mtodo ApplyRange usado para aplicar os valores definidos pelos mtodos SetRangeStart, SetRangeEnd, EditRangeStart e EditRangeEnd tabela.
CAPTULO 42 MTODOS
Declarao
procedure ApplyRange;
APPLYUPDATES
Descrio
O mtodo ApplyUpdates usado para atualizar os valores de uma tabela com os armazenados no seu cache.
Declarao
procedure ApplyUpdates;
ARC
Descrio
O mtodo Arc desenha um arco no permetro da elipse limitada pelo retngulo definido pelas coordenadas (X1,Y1) e (X2,Y2). O arco comea no ponto de interseo da linha que vai do centro da elipse ao ponto (X3,Y3) com o retngulo e vai at o ponto em que o retngulo intercepta a linha que vai do centro da elipse ao ponto (X4,Y4). O desenho feito no sentido anti-horrio.
Declarao
procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
ARRANGEICONS
Descrio
Em aplicaes MDI, esse mtodo organiza as janelas-filhas que esto minimizadas, de forma que fiquem igualmente espaadas e no se sobreponham.
Declarao
procedure ArrangeIcons;
Exemplo
O trecho de cdigo a seguir faz com que o mtodo ArrangeIcons seja acionado quando o usurio seleciona um item de menu Window OrganizarIcones:
procedure TForm1.WindowOrganizarIconesClick(Sender: TObject); begin Form1.ArrangeIcons; end;
ASSIGN
Descrio
Para componentes dos tipos TAutoIncField, TBCDField, TBlobField, TBooleanField, TBytesField, TCurrencyField, TDateField, TDateTimeField, TFloatField, TGraphicField, TIntegerField, TMemoField, TSmallintField, TStringField, TTimeField, TVarBytesField e TWordField, o mtodo Assign copia o valor de um campo (definido pelo parmetro Source) em outro (desde que sejam compatveis).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1235
Declarao
Para objetos do tipo TIndexDefs:
procedure Assign(IndexDefs: TIndexDefs);
Exemplo
O trecho de cdigo a seguir copia o texto armazenado em um componente Memo1 do tipo TMemo em um campo MemoField1 do tipo TMemoField:
MemoField1.Assign(Memo1.Lines);
ASSIGNVALUE
Descrio
O mtodo AssignValue atribui um valor (especificado no parmetro Value) a um campo.
Declarao
procedure AssignValue(const Value: TVarRec);
Exemplo
O trecho de cdigo atribui uma string a um campo StringField1, do tipo TStringField:
StringField1.AssignValue(nova string atribuda ao valor);
ATLEAST
Descrio
Este mtodo verifica se o nmero de elementos referenciados pela estrutura representada pela classe (que pode ser uma Fila ou uma Pilha) no mnimo igual ao valor passado como parmetro.
Declarao
function AtLeast(ACount: Integer): Boolean;
CAPTULO 42 MTODOS
BACK
Descrio
O mtodo Back faz com que o dispositivo multimdia retorne um certo nmero de quadros, especificado na propriedade Frames.
Declarao
procedure Back;
Exemplo
O trecho de cdigo a seguir faz com que um dispositivo multimdia acione seu mtodo Back com um boto chamado Back do tipo TButton:
procedure TForm1.BackClick(Sender: TObject); begin MediaPlayer1.Back; end;
BATCHMOVE
Descrio
O mtodo BatchMove usado para copiar, atualizar, adicionar ou deletar registros de uma tabela representada pelo parmetro ASource e de acordo com o parmetro AMode, que pode ter um dos seguintes valores: batAppend, batUpdate, batAppendUpdate, batDelete ou batCopy.
Declarao
function BatchMove(ASource: TDataSet; AMode: TBatchMode): LongInt;
BEGINDOC
Descrio
Para componentes do tipo TQRPrinter, esse mtodo inicia o trabalho de impresso de um relatrio e atribui o valor mbBusy propriedade Status do componente. Para componentes do tipo TPrinter, indica o incio de um trabalho de impresso.
Declarao
procedure BeginDoc;
BEGINDRAG
Descrio
O mtodo BeginDrag inicia o processo de arrastar o controle. Se o valor da varivel Immediate True, o processo de arrastar ocorre imediatamente. Se Immediate False, o processo no se inicia at que o usurio mova o ponteiro do mouse a uma distncia de aproximadamente 5 pixels. Isso permite que um controle aceite um clique de mouse antes de iniciar um processo de arrastar. Observao: Voc no precisa usar o mtodo BeginDrag quando a propriedade DragMode do controle tem o valor dmAutomatic.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1237
Exemplo
O trecho de cdigo a seguir faz com que um boto chamado Button1 execute o mtodo BeginDrag se a sua propriedade DragMode for dmManual L:
procedure TForm1.Button1Click(Sender: TObject); begin if Button1.DragMode = dmManual then Button1.BeginDrag(True); end;
BEGINTRANS
Declarao
Esse mtodo inicializa uma nova transao com o banco de dados.
Descrio
function BeginTrans: Integer;
BEGINUPDATE
Declarao
Esse mtodo evita que a exibio de um objeto dos tipos TStrings, TStringList ou TOutline seja atualizada at que se chame o mtodo EndUpdate.
Descrio
procedure BeginUpdate;
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Outline1 execute o seu mtodo BeginUpdate:
Outline1.BeginUpdate;
BOOKMARKVALID
Descrio
O mtodo BookMarkValid usado para verificar se existe um valor atribudo a um objeto da classe TBookmark passado como parmetro.
Declarao
function BookmarkValid(Bookmark: TBookmark): Boolean; override;
CAPTULO 42 MTODOS
BRINGTOFRONT
Descrio
O mtodo BringToFront coloca o controle na frente de todos os outros controles que existem no mesmo formulrio. Uma forma de garantir que um controle est visvel durante a execuo de um aplicativo definir a sua propriedade Visible como True e utilizar o mtodo BringToFront.
Declarao
procedure BringToFront;
Exemplo
O trecho de cdigo a seguir faz com que um boto de rdio chamado RadioButton1 seja colocado na frente de todos os outros componentes que existem no mesmo formulrio e que possam estar impedindo a sua visibilidade:
RadioButton1.BringToFront;
BROADCAST
Descrio
Esse mtodo envia a mensagem definida no parmetro Message para cada um dos controles-filhos do controle corrente.
Declarao
procedure Broadcast(var Message);
BRUSHCOPY
Descrio
Esse mtodo copia uma poro de um bitmap para o canvas. O parmetro Dest representa a rea retangular do canvas na qual a rea retangular do bitmap ser copiada. O parmetro Bitmap representa o bitmap a ser copiado. O parmetro Source representa a rea retangular do bitmap. O parmetro Color define a cor do bitmap a ser substituda pela cor do canvas.
Declarao
procedure BrushCopy(const Dest: TRect; Bitmap: TBitmap; const Source: TRect; Color: TColor);
CALL
Descrio
Esse mtodo retorna a mensagem de erro cujo cdigo passado como parmetro.
Declarao
function Call(ErrCode: ISC_STATUS; RaiseError: Boolean): ISC_STATUS;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1239
CANAUTOSIZE
Descrio
Esse mtodo atribui novos valores s dimenses dos quadros que formam o clipe de vdeo AVI exibido pelo componente.
Declarao
function CanAutoSize(var NewWidth, NewHeight: Integer): Boolean; override;
CANCEL
Descrio
Para componentes derivados da classe TDataset, esse mtodo cancela as alteraes feitas em um banco de dados. Para componentes do tipo TQRPrinter, esse mtodo cancela o trabalho de impresso de um relatrio e atribui o valor mbReady propriedade Status do componente.
Declarao
procedure Cancel;
CANCELDISPATCH
Descrio
Este mtodo evita que outros objetos desta classe respondam aos eventos gerados pela aplicao.
Declarao
procedure CancelDispatch;
CANCELEVENTS
Descrio
Este mtodo cancela a execuo de eventos pendentes do servidor.
Declarao
procedure CancelEvents;
CANCELRANGE
Descrio
Esse mtodo remove qualquer limitao de faixas anteriormente estabelecidas pelos mtodos ApplyRange ou SetRange.
Declarao
procedure CancelRange;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TClientDataSet, TIBSQLClientDataset, TSimpleDataset e TTable
CANCELUPDATES
Descrio
O mtodo CancelUpdates usado para cancelar as modificaes efetuadas nos valores de uma tabela, armazenados no seu cache.
Declarao
procedure CancelUpdates;
CANFOCUS
Descrio
Esse mtodo determina se o controle pode receber o foco da aplicao.
Declarao
function CanFocus: Boolean;
Exemplo
O trecho de cdigo a seguir faz com que um boto chamado Button1 fique invisvel se um boto chamado Button2 puder receber o foco:
procedure TForm1.Button2Click(Sender: TObject); begin Button1.Visible := not CanFocus; end;
CASCADE
Descrio
Em aplicaes MDI, esse mtodo faz com que as janelas-filhas se sobreponham em cascata, de forma que a barra de ttulos das janelas permanea visvel e possa ser selecionada.
Declarao
procedure Cascade;
Exemplo
O trecho de cdigo a seguir faz com que o mtodo Cascade seja acionado quando o usurio seleciona um item de menu Window| Cascata:
procedure TForm1.WindowCascataClick(Sender: TObject); begin Form1.Cascade; end;
CELLRECT
Descrio
Esse mtodo retorna uma varivel do tipo TRect para a clula definida pela linha e coluna especificadas pelos parmetros ARow e ACol, respectivamente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1241
CHANGE
Descrio
Esse mtodo executa o procedimento associado ao evento OnChange do componente.
Declarao
procedure Change; virtual;
CHANGELEVELBY
Descrio
Esse mtodo muda o nvel, definido na propriedade Level, de um item do tipo
TOutlineNode.
Declarao
procedure ChangeLevelBy(Value: TChangeRange);
CHECKACTIVE
Descrio
Esse mtodo verifica se uma conexo a um banco de dados do Interbase est ativa.
Declarao
procedure CheckActive;
CHECKBROWSEMODE
Descrio
Esse mtodo verifica se o banco de dados est aberto e se possui alteraes pendentes. Se sua propriedade State igual a dsEdit, dsInsert ou dsSetKey, o mtodo Post chamado para concluir as operaes pendentes. Se o banco de dados estiver fechado, gera um erro de exceo do tipo EDataBaseError.
Declarao
procedure CheckBrowseMode;
CHECKCLOSED
Descrio
Esse mtodo gera uma exceo se a query definida pelo componente no estiver inativa.
CAPTULO 42 MTODOS
Declarao
procedure CheckClosed;
CHECKDATABASEINLIST
Descrio
Esse mtodo verifica se s existem componentes TIBDatabase na lista de objetos manipulada pelo componente.
Declarao
procedure CheckDatabasesInList;
CHECKDATABASENAME
Descrio
Esse mtodo verifica se a propriedade DatabaseName do componente est em branco.
Declarao
procedure CheckDatabaseName;
CHECKINACTIVE
Descrio
Esse mtodo verifica se uma conexo a um banco de dados do Interbase est inativa.
Declarao
procedure CheckInctive;
CHECKINTRANSACTION
Descrio
Esse mtodo verifica se a transao est ativa e se s existem componentes TIBDatabase na lista de objetos manipulada pelo componente.
Declarao
procedure CheckInTransaction;
CHECKNOTINTRANSACTION
Descrio
Esse mtodo verifica se a transao no est ativa e se no existem componentes TIBDatabase na lista de objetos manipulada pelo componente.
Declarao
procedure CheckNotInTransaction;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1243
CHECKOPEN
Descrio
Esse mtodo gera uma exceo se a query definida pelo componente no estiver ativa.
Declarao
procedure CheckOpen;
CHECKVALIDSTATEMENT
Descrio
Esse mtodo gera uma exceo se a query definida pelo componente no possuir uma declarao SQL vlida.
Declarao
procedure CheckValidStatement;
CLASSINFO
Descrio
Esse mtodo retorna um ponteiro para a tabela RTTI (run time type information) que contm informaes sobre o objeto corrente.
Declarao
class function ClassInfo: Pointer;
CLASSNAME
Descrio
Esse mtodo retorna em uma string o nome da classe ou objeto do componente.
Declarao
class function ClassName: string;
Exemplo
O trecho de cdigo a seguir faz com que um componente Label1 do tipo TLabel exiba o nome da sua classe quando o usurio d um clique com o mouse sobre um componente Button1 do tipo TButton:
procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := Label1.ClassName; end;
CAPTULO 42 MTODOS
CLASSNAMEIS
Descrio
Esse mtodo define se a string passada no parmetro Name igual ao nome da classe.
Declarao
class function ClassNameIs(const Name: string): Boolean;
CLASSPARENT
Descrio
Esse mtodo retorna em uma varivel TClass a classe ou objeto ancestral do qual o componente derivado.
Declarao
class function ClassParent: TClass;
Exemplo
O trecho de cdigo a seguir faz com que um componente Label1 do tipo TLabel exiba o nome da classe da qual derivado quando o usurio d um clique com o mouse sobre um componente Button1 do tipo TButton:
procedure TForm1.Button1Click(Sender: TObject); var classe : TClass; begin classe := Label1.ClassParent; Label1.Caption := classe.ClassName; end;
CLASSTYPE
Descrio
Esse mtodo retorna a classe ou objeto do componente.
Declarao
function ClassType: TClass;
Exemplo
O trecho de cdigo a seguir faz com que um componente Label1 do tipo TLabel exiba o nome da sua classe quando o usurio d um clique com o mouse sobre um componente Button1 do tipo TButton:
procedure TForm1.Button1Click(Sender: TObject); var classe : TClass; begin classe := Label1.ClassType; Label1.Caption := classe.ClassName; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1245
CLEANUP
Descrio
Esse mtodo libera a memria ocupada pelas pginas de um relatrio aps o trmino do trabalho de impresso de um relatrio e atribui o valor mbReady propriedade Status do componente.
Declarao
procedure CleanUp;
CLEANUPINSTANCE
Descrio
Esse mtodo finaliza qualquer string ou registro definido na classe e chamado pelo mtodo FreeInstance.
Declarao
procedure CleanupInstance;
CLEAR
Descrio
Para componentes dos tipos TAutoIncField, TBCDField, TBlobField, TBooleanField, TBytesField, TCurrencyField, TDateField, TDateTimeField, TFloatField, TGraphicField, TIntegerField, TMemoField, TSmallintField, TStringField, TTimeField, TVarBytesField e TWordField, esse mtodo atribui NULL ao valor do campo correspondente. Para componentes dos tipos TFieldDefs e TIndexDefs, esse mtodo libera todas as entradas da sua propriedade Items. Para objetos do tipo TParam, esse mtodo tem seu valor como NULL. Para objetos do tipo TParams, esse mtodo deleta toda a informao da sua propriedade Items. Para objetos dos tipos TClipBoard, esse mtodo remove o contedo da rea de transferncia. Isso ocorre automaticamente cada vez que um dado colocado na rea de transferncia por meio das operaes Cut e Copy. Para objetos dos tipos TList, TStringList, TStrings, TComboBox, TDBComboBox, TDBListBox, TDBMemo, TDirectoryListBox, TDriveComboBox, TFileListBox, TFilterComboBox, TListBox, TMemo e TOutline, esse mtodo deleta todas as entradas na propriedade Items. Para controles dos tipos TDBEdit, TEdit e TMaskEdit, esse mtodo remove o texto da propriedade Text do controle. Para objetos da classe TChartSeries, remove todos os pontos da srie. Para componentes das classes TIWApplet, TIWButton, TIWCheckbox, TIWCombobox, TIWControl, TIWDBCheckbox, TIWDBEdit, TIWDBFile, TIWDBGrid, TIWDBImage, TIWDBListbox, TIWDBLookupCombobox, TIWDBLookupListbox, TIWDBMemo, TIWDBNavigator, TIWDBText, TIWEdit, TIWForm, TIWGrid, TIWImage, TIWImageFile, TIWLabel, TIWLink, TIWList, TIWListbox, TIWMemo, TIWRectangle, TIWTimer, TIWTreeview e TIWURL, limpa a renderizao atual antes de uma nova renderizao.
CAPTULO 42 MTODOS
Declarao
procedure Clear;
Exemplo
O trecho de cdigo abaixo remove todos os itens de um componente ListBox1 do tipo
TListBox: ListBox1.Clear;
CLEARFIELDS
Descrio
Esse mtodo atribui o valor default a todos os campos do registro corrente em um banco de dados se sua propriedade State igual a dsEdit; se no, gera um erro de exceo do tipo EDataBaseError.
Declarao
procedure ClearFields;
CLEARSELECTION
Descrio
Esse mtodo deleta o texto selecionado em um componente.
Declarao
procedure ClearSelection;
Exemplo
O trecho de cdigo abaixo deleta o item selecionado em um componente Memo1 do tipo
TMemo: Memo1.ClearSelection;
CLICK
Descrio
Esse mtodo simula um clique do mouse sobre um componente, forando a execuo do cdigo associado ao evento OnClick.
Declarao
Para componentes do tipo TDBNavigator:
procedure Click(Button: TNavigateBtn);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1247
CLIENTTOSCREEN
Descrio
Esse mtodo faz a transformao das coordenadas de um ponto do sistema de coordenadas da reacliente para o sistema de coordenadas da tela.
Declarao
function ClientToScreen(Point: TPoint): TPoint;
Exemplo
O trecho de cdigo que se segue define P e Q como variveis do tipo TPoint no evento OnMouseDown de um formulrio. Ao ponto P so atribudas as coordenadas do ponto em que o boto do mouse foi pressionado (sistema de coordenadas da rea-cliente o formulrio) e esses valores so armazenados no ponto Q aps a transformao para o sistema de coordenadas da tela.
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var P, Q: TPoint; begin P.X:= X; P.Y:= Y; Q:= ClientToScreen(P); end;
Observao: Note que esse mtodo uma funo e, conseqentemente, o seu valor de retorno pode ser atribudo a uma varivel.
CLOSE
Descrio
Para componentes do tipo TForm, esse mtodo executa o cdigo correspondente ao evento OnClose aps tentar fechar um formulrio chamando o mtodo CloseQuery cujo valor booleano de retorno (True ou False) determina se o formulrio pode realmente ser fechado. Para componentes do tipo TMediaPlayer, esse mtodo fecha o dispositivo multimdia atualmente aberto. Para objetos do tipo TClipBoard, fecha o objeto. Para componentes dos tipos TClientDataSet, TTable, TQuery e TStoredProc, fecha o banco de dados associado e o deixa inativo.
CAPTULO 42 MTODOS
Para componentes dos tipos TADOConnection, TIBDatabase, TDatabase, fecha o banco de dados e todos os componentes dos tipos TTable, TQuery e TStoredProc a ele relacionados. Para componentes do tipo TRvProject, fecha o projeto de relatrio representado pelo componente.
Declarao
procedure Close;
Exemplo
O trecho de cdigo a seguir faz com que o mtodo Close de um formulrio denominado Form1 seja chamado ao se clicar sobre um boto denominado Button1 do tipo TButton.
procedure TForm1.Button1Click(Sender: TObject); begin Form1.Close; end;
CLOSEDATABASE
Descrio
O mtodo CloseDatabase usado para fechar um componente do tipo TDatabase usado pela aplicao, definido no parmetro Database.
Declarao
procedure CloseDatabase(Database: TDatabase);
Exemplo
O trecho de cdigo a seguir fecha um banco de dados chamado Dados:
Session.CloseDatabase(DADOS);
CLOSEDATASETS
Descrio
Fecha todos os componentes dos tipos derivados de TDataset a ele relacionados, sem fechar o banco de dados.
Declarao
procedure CloseDataSets;
CLOSEDIALOG
Descrio
Esse mtodo fecha a caixa de dilogo.
Declarao
procedure CloseDialog;
Exemplo
O trecho de cdigo a seguir fecha a caixa de dilogo FindDialog1 do tipo TFindDialog:
FindDialog1.CloseDialog;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1249
CLOSELINK
Descrio
Esse mtodo encerra uma conversao DDE.
Declarao
function CloseLink;
Exemplo
O trecho de cdigo a seguir encerra uma conversao DDE.
DDEClientConv1.CloseLink;
CLOSEQUERY
Descrio
Esse mtodo executa o cdigo associado ao evento OnCloseQuery de um formulrio e seu valor de retorno determina se um formulrio poder ou no ser fechado. Se o formulrio for do tipo MDI, chamar o mtodo OnCloseQuery de todas as suas janelas-filhas, e se uma delas retornar False, este tambm retornar False.
Declarao
function CloseQuery: Boolean;
Exemplo
O trecho de cdigo a seguir faz com que uma mensagem de confirmao seja exibida quando o usurio tentar fechar um formulrio:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var BotResp: Word; begin BotResp:= MessageDlg(Fechar o formulrio?, mtInformation,[mbOk, mbNo],0); if BotResp = mrOk then CanClose:= True else CanClose:= False; end;
CLOSEUP
Descrio
Esse mtodo fecha a lista drop-down aberta no componente.
Declarao
procedure CloseUp;
Exemplo
O trecho de cdigo a seguir executa o mtodo CloseUp em um componente DBLookupCombo1 do tipo TDBLookupCombo.
DBLookupCombo1.CloseUp;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TDBLookupCombo e TDBLookupComboBox
COLLAPSE
Descrio
Esse mtodo fecha um item do tipo TOutlineNode, atribuindo o valor False sua propriedade Expanded.
Declarao
procedure Collapse;
COLORTORGBSTRING
Descrio
Esse mtodo converte uma varivel do tipo TColor passada como parmetro em uma string que define a representao no formato RGB desta mesma cor.
Declarao
class function ColorToRGBString(AColor: TColor): string;
COMMIT
Descrio
Esse mtodo finaliza as transaes pendentes com o banco de dados.
Declarao
procedure Commit;
COMMITRETAINING
Descrio
Esse mtodo finaliza as transaes pendentes com o banco de dados e mantm a transao ativa.
Declarao
procedure CommitRetaining;
COMMITTRANS
Descrio
Esse mtodo finaliza as transaes pendentes com o banco de dados.
Declarao
procedure CommitTrans;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1251
COMMITUPDATES
Descrio
O mtodo CommitUpdates usado para gravar permanentemente as modificaes efetuadas nos valores de uma tabela armazenados no seu cache.
Declarao
procedure CommitUpdates;
CONNECT
Descrio
Esse mtodo inicializa a conexo desejada.
Declarao
procedure Connect; override;
CONTAINSCONTROL
Descrio
Esse mtodo verifica se um controle contm ou no um outro controle.
Declarao
function ContainsControl(Control: TControl): Boolean;
Exemplo
O trecho de cdigo a seguir verifica se um componente chamado Panel1 do tipo TPanel contm um componente Edit1 do tipo TEdit.
if Panel1.ContainsControl(Edit1) then ShowMessage(Contm) else ShowMessage(No Contm);
CONTENT
Descrio
Esse mtodo retorna em uma string a pgina HTML gerada pelo componente.
Declarao
function Content: string; override;
CONTROLATPOS
Descrio
Esse mtodo retorna o controle localizado na posio definida pelo parmetro Pos.
Declarao
function ControlAtPos(Pos: TPoint; AllowDisabled: Boolean): TControl;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
Todos os controles.
COPYPARAMS
Descrio
Esse mtodo copia as informaes do procedimento armazenado no servidor no parmetro Value.
Declarao
procedure CopyParams(Value: TParams);
COPYRECT
Descrio
Esse mtodo copia uma rea retangular (definida no parmetro Source) de um canvas (definido no parmetro Canvas) em uma rea retangular (definida no parmetro Dest) do canvas corrente.
Declarao
procedure CopyRect(Dest: TRect; Canvas: TCanvas; Source: TRect);
COPYTOCLIPBOARD
Descrio
Para componentes do tipo TDDEServerConv, esse mtodo transfere o texto definido na propriedade Lines ou na propriedade Text para o clipboard. Para componentes dos tipos TDBEdit, TDBMemo, TEdit, TMaskEdit e TMemo, esse mtodo copia o texto selecionado no controle para o clipboard, substituindo qualquer texto j existente.
Declarao
procedure CopyToClipboard;
Exemplo
O trecho de cdigo a seguir copia o texto selecionado em um controle Edit1 do tipo TEdit para o clipboard:
Edit1.CopyToClipboard;
CORBAOBJECT
Descrio
Esse mtodo retorna um ponteiro para o objeto CORBA associado a essa interface.
Declarao
function CorbaObject: PCorbaObject; stdcall;
CREATE
Descrio
Esse mtodo faz com que um objeto ou componente seja criado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1253
Declarao
A declarao do mtodo depender do objeto a que se refere. Para objetos do tipo TIniFile:
constructor Create(const FileName: string);
Exemplo
O trecho de cdigo a seguir cria um boto chamado Button1 do tipo TButton, pertencente
a um formulrio chamado Form1. var Button1 : TButton; begin Button1 := TButton.Create(Form1); end;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
Todas as classes, componentes e objetos.
CREATEDATABASE
Descrio
Esse mtodo cria um novo banco de dados, configurando-o de acordo com os valores armazenados na sua propriedade Params.
Declarao
procedure CreateDatabase;
CREATEFIELD
Descrio
Esse mtodo cria um novo objeto do tipo TField, pertencente ao componente definido pelo parmetro Owner.
Declarao
function CreateField(Owner: TComponent): TField;
CREATEFORM
Descrio
Esse mtodo cria um novo formulrio para a aplicao, cujo tipo especificado no parmetro FormClass, e o atribui varivel definida pelo parmetro Reference.
Declarao
procedure CreateForm(FormClass: TFormClass; var Reference);
CREATEFMT
Descrio
Esse outro mtodo construtor de classes derivadas de Exception e recebe como parmetros uma string, que ser mostrada na caixa de dilogo exibida quando a exceo ocorrer durante a execuo do programa, e uma array contendo cdigos de formatao para essa string.
Declarao
constructor CreateFmt (const Msg: string; const Args: array of const)
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1255
CREATEFMTHELP
Descrio
Esse outro mtodo construtor de classes derivadas de Exception e recebe como parmetros uma string, que ser mostrada na caixa de dilogo exibida quando a exceo ocorrer durante a execuo do programa; uma array, contendo cdigos de formatao para essa string; e um inteiro, identificando o tpico do arquivo de Help On-line a ser associado classe.
Declarao
constructor CreateFmtHelp (const Msg: string; const Args: array of const; AHelpContext: Integer);
CREATEHELP
Descrio
Esse outro mtodo construtor de classes derivadas de Exception e recebe como parmetros uma string, que ser mostrada na caixa de dilogo exibida quando a exceo ocorrer durante a execuo do programa, e um inteiro, identificando o tpico do arquivo de Help On-line a ser associado classe.
Declarao
constructor CreateHelp (const Msg: string; AHelpContext: Integer);
CAPTULO 42 MTODOS
CREATEINDEXFILE
Descrio
Esse mtodo cria um arquivo de ndices para tabelas no formato dBASE.
Declarao
procedure CloseIndexFile(const IndexFileName: string);
CREATENEW
Descrio
Esse mtodo cria uma nova instncia do formulrio corrente.
Declarao
constructor CreateNew(AOwner: TComponent);
CREATERES
Descrio
Esse outro mtodo construtor de classes derivadas de Exception e recebe como parmetro um inteiro que identifica uma string armazenada no arquivo de recursos do seu aplicativo.
Declarao
constructor CreateRes (Ident: Integer; Dummy: Extended = 0);
CREATERESFMT
Descrio
Esse outro mtodo construtor de classes derivadas de Exception e recebe como parmetros um inteiro, que identifica uma string armazenada no arquivo de recursos do seu aplicativo, e uma array, contendo cdigos de formatao para essa string.
Declarao
constructor CreateResFmt(Ident: Integer; const Args: array of const);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1257
CREATERESFMTHELP
Descrio
Esse outro mtodo construtor de classes derivadas de Exception e recebe como parmetros um inteiro, que identifica uma string armazenada no arquivo de recursos do seu aplicativo; uma array, contendo cdigos de formatao para essa string; e um valor inteiro, que identifica o cdigo do arquivo de Help associado a essa classe.
Declarao
constructor CreateResFmtHelp(Ident: Integer; const Args: array of const; AHelpContext: Integer);
CREATESIZE
Descrio
Esse mtodo cria um objeto do tipo TImageList cujo tamanho definido pelos parmetros Height (altura) e Width (largura).
Declarao
constructor CreateSize(AWidth, AHeight: Integer);
CREATETABLE
Descrio
Esse mtodo cria uma nova tabela para o banco de dados associado.
CAPTULO 42 MTODOS
Declarao
procedure CreateTable;
CURSORPOSCHANGED
Descrio
Esse mtodo s utilizado quando a propriedade Handle usada para obter acesso direto API do Borland Database Engine ou outro mecanismo de acesso para notificar o banco de dados sobre a mudana da posio do cursor.
Declarao
procedure CursorPosChanged;
CUTTOCLIPBOARD
Descrio
Esse mtodo copia o texto selecionado no controle para o clipboard, deletando-o e substituindo qualquer texto j existente no clipboard.
Declarao
procedure CutToClipboard;
Exemplo
O trecho de cdigo a seguir copia o texto selecionado em um controle Edit1 do tipo TEdit para o clipboard.
Edit1.CutToClipboard;
DELETE
Descrio
Para componentes derivados da classe TDataset, esse mtodo s usado para deletar um registro de um banco de dados (o registro anterior passa a ser o registro corrente, exceto se o registro deletado for o ltimo do banco de dados nesse caso o registro anterior passa a ser o corrente). Para objetos dos tipos TImageList, TList, TStringList e TStrings e componentes do tipo TMenuItem, deleta o item especificado no parmetro Index.
Declarao
Para componentes dos tipos TADODataset, TADOTable, TADOQuery, TADOStoredProc, TIBDataset, TIBTable, TIBQuery, TIBStoredProc, TTable, TQuery, TStoredProc, TSimpleDataset, TSQLDataset, TSQLTable, TSQLQuery e TSQLStoredProc.
procedure Delete;
Para objetos dos tipos TImageList, TList, TStringList e TStrings e componentes do tipo TMenuItem:
procedure Delete(Index: Integer);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1259
DELETEINDEX
Descrio
Esse mtodo deleta um ndice secundrio (definido no parmetro Name) em uma tabela.
Declarao
procedure DeleteIndex(const Name: string);
DELETETABLE
Descrio
Esse mtodo deleta uma tabela de um banco de dados.
Declarao
procedure DeleteTable;
DESCRIPTIONAVAILABLE
Descrio
Esse mtodo verifica se as informaes do procedimento armazenado no servidor esto disponveis.
Declarao
function DescriptionsAvailable: Boolean;
DESIGNREPORT
Descrio
Esse mtodo abre o arquivo de projeto de relatrio para edio.
Declarao
procedure DesignReport(ReportName: string);
DESTROY
Descrio
Esse mtodo destri um componente ou objeto, liberando a memria a ele alocada.
Declarao
destructor Destroy;
Exemplo
A linha de cdigo a seguir mostra um boto Button1 do tipo TButton executando o seu mtodo Destroy.
Button1.Destroy;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
Todos os objetos, controles e componentes.
DESTROYCOMPONENTS
Descrio
Esse mtodo destri os componentes-filhos do componente corrente.
Declarao
procedure DestroyComponents;
DESTROYING
Descrio
Esse mtodo altera o valor da propriedade ComponentState dos componentes-filhos do componente corrente e os destri.
Declarao
procedure Destroying;
DISABLEALIGN
Descrio
Esse mtodo desabilita o realinhamento automtico dos controles-filhos do controle corrente.
Declarao
procedure DisableAlign;
DISABLECONTROLS
Descrio
Esse mtodo desconecta temporariamente o banco de dados de todos os componentes a ele associados (do tipo TDataSource).
Declarao
procedure DisableControls;
DISCONNECT
Descrio
Esse mtodo encerra a conexo atual.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1261
DISPATCH
Descrio
Esse mtodo chama os mtodos de manipulao de mensagens, dependendo do valor passado no parmetro Message.
Declarao
procedure Dispatch(var Message);
DOHINT
Descrio
Esse mtodo executa o procedimento associado ao evento OnHint do objeto (se este estiver definido), passando como parmetro uma string representando seu hint.
Declarao
function DoHint(var HintStr: string): Boolean;
DOTERMINATE
Descrio
Esse mtodo dispara o procedimento associado ao evento OnTerminate de uma thread, sem, no entanto, finaliz-la.
Declarao
procedure DoTerminate; virtual;
DRAGGING
Descrio
Esse mtodo especifica se um componente est sendo arrastado ou no.
Declarao
function Dragging: Boolean;
Exemplo
O trecho de cdigo a seguir verifica se um boto de rdio chamado RadioButton1 est ou no sendo arrastado, se o resultado do mtodo Dragging for True ou False. Em caso positivo, lhe atribui a cor amarela.
if RadioButton1.Dragging then RadioButton1.Color := clYellow;
CAPTULO 42 MTODOS
DRAGLOCK
Descrio
Esse mtodo associa a imagem que est sendo arrastada com o handle passado no parmetro Window e a desenha na posio definida pelos parmetros XPos e YPos.
Declarao
function DragLock(Window: HWND; XPos, YPos: Integer): Boolean;
DRAGUNLOCK
Descrio
Esse mtodo remove uma associao feita pelo mtodo DragLock.
Declarao
procedure DragUnLock;
DRAW
Descrio
Esse mtodo desenha um objeto grfico (definido no parmetro Graphic) nas coordenadas (X,Y) do canvas corrente.
Declarao
procedure Draw(X, Y: Integer; Graphic: TGraphic);
DRAWFOCUSRECT
Descrio
Esse mtodo desenha um retngulo de foco definido pelo parmetro Rect.
Declarao
procedure DrawFocusRect(const Rect: TRect);
DRAWOVERLAY
Descrio
Esse mtodo desenha uma imagem e um overlay no objeto do tipo TCanvas passado pelo parmetro Canvas.
Declarao
procedure DrawOverlay(Canvas: TCanvas; X, Y: Integer; ImageIndex: Integer; Overlay: TOverlay);
DROPCONNECTIONS
Descrio
O mtodo DropConnections desfaz todas as conexes com bancos de dados inativos.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1263
Exemplo
O trecho de cdigo a seguir desfaz todas as conexes com bancos de dados inativos.
Session. DropConnections;;
DROPDATABASE
Descrio
Esse mtodo remove o banco de dados representado pelo componente.
Declarao
procedure DropDatabase;
DROPDOWN
Descrio
Esse mtodo faz com que seja exibida a lista drop-down correspondente ao controle, para que o usurio possa escolher um dos valores apresentados.
Declarao
procedure DropDown;
Exemplo
O trecho de cdigo a seguir executa o mtodo DropDown em um componente DBLookupCombo1 do tipo TDBLookupCombo.
DBLookupCombo1.DropDown;
EDIT
Descrio
Para componentes derivados da classe TDataset, esse mtodo prepara o registro corrente do banco de dados para edio e atribui o valor dsEdit propriedade State. Para componentes do tipo TDataSource, se sua propriedade AutoEdit possuir o valor True e sua propriedade State possuir o valor dsBrowse, esse mtodo executa o mtodo de mesmo nome dos componentes derivados da classe TDataset.
Declarao
procedure Edit;
EDITKEY
Descrio
Esse mtodo modifica o contedo do buffer de pesquisa.
CAPTULO 42 MTODOS
Declarao
procedure EditKey;
EDITRANGEEND
Descrio
Esse mtodo permite que se modifique o valor definido pelo mtodo SetRangeEnd.
Declarao
procedure EditRangeEnd;
EDITRANGESTART
Descrio
Esse mtodo permite que se modifique o valor definido pelo mtodo SetRangeStart.
Declarao
procedure EditRangeStart;
EJECT
Descrio
O mtodo Eject executa a ejeo em um dispositivo multimdia.
Declarao
procedure Eject;
Exemplo
O trecho de cdigo a seguir faz com que um dispositivo multimdia acione seu mtodo Eject com um boto chamado Eject do tipo TButton:
procedure TForm1.EjectClick(Sender: TObject); begin MediaPlayer1.Eject; end;
ELLIPSE
Descrio
Esse mtodo desenha no canvas uma elipse inscrita em um retngulo definido por (X1,Y1) vrtice superior esquerdo e (X2,Y2) vrtice inferior direito.
Declarao
procedure Ellipse(X1, Y1, X2, Y2: Integer);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1265
EMPTYTABLE
Descrio
Esse mtodo deleta todos os registros da tabela especificada na propriedade TableName.
Declarao
procedure EmptyTable;
ENABLEALIGN
Descrio
Esse mtodo habilita o realinhamento automtico dos controles-filhos do controle corrente.
Declarao
procedure EnableAlign;
ENABLECONTROLS
Descrio
Esse mtodo restaura a conexo do banco de dados de todos os componentes a ele associados (do tipo TDataSource) que haviam sido desconectados por uma chamada ao mtodo DisableControls.
Declarao
procedure EnableControls;
ENDDOC
Descrio
Para componentes do tipo TQRPrinter, esse mtodo indica o trmino do trabalho de impresso de um relatrio e atribui o valor mbFinished propriedade Status do componente. Para componentes do tipo TPrinter, indica o trmino do trabalho corrente de impresso.
Declarao
procedure EndDoc;
ENDDRAG
Descrio
O mtodo EndDrag encerra o processo de arrastar o controle. Se o valor da varivel Drop True, o controle solto sobre um controle receptor.
Declarao
procedure EndDrag(Drop: Boolean);
CAPTULO 42 MTODOS
Exemplo
O trecho de cdigo a seguir encerra o processo de arrastar um boto chamado Button1 e o solta sobre o seu componente.
Button1.EndDrag(True);
ENDUPDATE
Descrio
Esse mtodo atualiza a exibio de um objeto dos tipos TStrings, TStringList ou TOutline.
Declarao
procedure EndUpdate;
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Outline1 execute o seu mtodo EndUpdate:
Outline1.EndUpdate;
ERASESECTION
Descrio
Esse mtodo apaga uma seo (definida no parmetro Section) no arquivo INI.
Declarao
procedure EraseSection(const Section: string);
EXCHANGE
Descrio
Esse mtodo muda a posio de dois itens de uma lista de objetos, definidos por seus ndices nos parmetros Index1 e Index2.
Declarao
procedure Exchange(Index1, Index2: Integer);
EXECPROC
Descrio
Esse mtodo executa o procedimento armazenado no servidor.
Declarao
procedure ExecProc;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1267
EXECQUERY
Descrio
Esse mtodo executa a query definida pelo componente.
Declarao
procedure ExecQuery;
EXECSQL
Descrio
Esse mtodo executa uma declarao SQL definida na propriedade SQL do componente. Use-o para declaraes dos tipos INSERT, UPDATE, DELETE.
Declarao
procedure ExecSQL;
EXECUTE
Descrio
Para componentes do tipo TBatchMove, esse mtodo realiza a operao de transferncia de dados da tabela-origem (especificada na sua propriedade Source) para a tabela-destino (especificada na sua propriedade Destination). Para componentes dos tipos TColorDialog, TFontDialog, TOpenDialog, TOpenPictureDialog, TPrintDialog, TPrintSetupDialog e TSaveDialog, TSavePictureDialog exibe a caixa de dilogo e define se o usurio pressionou o boto OK. Para objetos da classe TAction, executa o procedimento associado ao evento OnExecute. Para objetos da classe TThread, define o cdigo a ser executado quando a thread inicializada. Para objetos da classe TADOCommand, executa o comando definido na sua propriedade CommandText. Para objetos da classe TSQLConnection, executa um comando SQL no banco de dados. Para objetos da classe TRvProject, inicia a impresso do projeto de relatrio representado pelo componente.
Declarao
Para objetos da classe TAction:
function Execute: Boolean; override;
Para componentes do tipo TADOCommand, este mtodo sobrecarregado com as seguintes declaraes:
function Execute: _RecordSet; overload; function Execute(const Parameters: OleVariant): _Recordset; overload; function Execute(var RecordsAffected: Integer; var Parameters: OleVariant; ExecuteOptions: TExecuteOption[]): _RecordSet; overload;
CAPTULO 42 MTODOS
Para componentes do tipo TColorDialog, TFontDialog, TOpenDialog, TOpenPictureDialog, TPrintDialog, TSaveDialog e TSavePictureDialog:
function Execute: Boolean;
Exemplo
O trecho de cdigo a seguir faz com que um componente TBatchMove execute o seu mtodo Execute:
BatchMove1.Execute;
EXECUTEACTION
Descrio
Esse mtodo executa o procedimento associado ao evento OnExecute do componente.
Declarao
function ExecuteAction(Action: TBasicAction): Boolean; override;
EXECUTEMACRO
Descrio
Esse mtodo tenta executar uma macro, definida em uma string, em uma aplicao servidora. O parmetro WaitFlg define se sua aplicao deve aguardar a execuo da macro na aplicao servidora.
Declarao
function ExecuteMacro(Cmd: PChar; WaitFlg: Boolean): Boolean;
EXECUTEMACROLINES
Descrio
Esse mtodo tenta executar uma macro, definida em uma lista de strings, em uma aplicao servidora. O parmetro WaitFlg define se sua aplicao deve aguardar a execuo da macro na aplicao servidora.
Declarao
function ExecuteMacroLines(Cmd: TStrings; WaitFlg: Boolean): Boolean;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1269
EXECUTEREPORT
Descrio
Esse mtodo inicia a impresso do projeto de relatrio representado pelo componente, e cujo nome passado como parmetro.
Declarao
procedure ExecuteReport(ReportName: string);
EXPAND
Descrio
Para objetos do tipo TOutlineNode, esse mtodo abre um item do tipo TOutlineNode, atribuindo o valor True sua propriedade Expanded. Para objetos do tipo TList, esse mtodo aumenta a capacidade de armazenamento de uma lista de objetos, alterando o valor da sua propriedade Capacity.
Declarao
Para objetos do tipo TOutlineNode: procedure Expand; Para objetos do tipo TList: function Expand: TList;
FIELDADDRESS
Descrio
Esse mtodo retorna em um ponteiro o endereo do objeto definido pelo parmetro Name.
Declarao
function FieldAddress(const Name: ShortString): Pointer;
FIELDBYNAME
Descrio
Esse mtodo retorna o objeto do tipo TField especificado no parmetro FieldName. Se no for encontrado, gera um erro de exceo.
Declarao
function FieldByName(const FieldName: string): TField;
CAPTULO 42 MTODOS
FILELOAD
Descrio
Esse mtodo carrega um arquivo do tipo TResType em um objeto do tipo TImageList. O parmetro MaskColor define a cor da mscara transparente da imagem.
Declarao
function FileLoad(ResType: TResType; Name: string; MaskColor: TColor): Boolean;
FILLRECT
Descrio
Esse mtodo preenche a rea retangular do canvas definida pelo parmetro Rect com o pincel corrente.
Declarao
procedure FillRect(const Rect: TRect);
FINDCOMPONENT
Descrio
O mtodo FindComponent retorna o componente pertencente array Components cuja propriedade Name igual definida no parmetro AName.
Declarao
function FindComponent(const AName: string): TComponent;
Exemplo
Coloque vrios componentes em um formulrioForm1, incluindo um componente Edit1 do tipo TEdit e um boto Button1. Quando o usurio selecionar o boto Button1, o valor da propriedade ComponentIndex de Edit1 ser exibido pelo prprio componente Edit1:
procedure TForm1.Button1Click(Sender: TObject); var TheComponent: TComponent; begin TheComponent := FindComponent(Edit1); Edit1.Text := IntToStr(TheComponent.ComponentIndex); end;
FINDDATABASE
Descrio
Para objetos da classe TIBTransaction, retorna o ndice, na sua propriedade Databases, do objeto da classe TIBDatabase, passado como parmetro. Para objetos da classe TSession, retorna o ndice, na sua propriedade Databases, do objeto da classe TDatabase, cujo nome passado como parmetro.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1271
FINDFIELD
Descrio
Esse mtodo retorna o objeto do tipo TField especificado no parmetro FieldName. Se no for encontrado, retorna nil.
Declarao
function FindField(const FieldName: string): TField;
FINDKEY
Descrio
Esse mtodo pesquisa todos os registros em uma tabela at encontrar aquele cujos ndices dos campos correspondam aos definidos no parmetro KeyValues.
Declarao
function FindKey(const KeyValues: array of const): Boolean;
FINDNEAREST
Descrio
Esse mtodo pesquisa todos os registros em uma tabela at encontrar o prximo registro cujos ndices dos campos forem iguais ou superiores aos definidos no parmetro KeyValues.
Declarao
procedure FindNearest(const KeyValues: array of const);
FINDNEXTPAGE
Descrio
Esse mtodo retorna a prxima pgina do controle. Se o parmetro GoForWard for igual a True, a prxima pgina ser a pgina numericamente subseqente. Se o parmetro GoForWard for igual a False, a prxima pgina ser a pgina numericamente anterior.
Declarao
function FindNextPage(CurPage: TTabSheet; GoForward, CheckTabVisible: Boolean): TTabSheet
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TPageControl
FINDTRANSACTION
Descrio
Esse mtodo retorna o ndice da transao representada por um objeto da classe TIBTransaction passado como parmetro.
Declarao
function FindTransaction (TR: TIBTransaction): Integer;
FIRST
Descrio
Para componentes do tipo TTable, TStoredProc e TQuery, esse mtodo move o ponteiro para o primeiro registro do banco de dados. Para componentes do tipo TList, esse mtodo retorna um ponteiro que aponta para o primeiro objeto da lista.
Declarao
Para componentes dos tipos derivados da classe TDataset:
procedure First;
FLOODFILL
Descrio
Esse mtodo preenche a superfcie da tela com o pincel corrente, comeando no ponto (X,Y) e espalhando-se por todas as direes at encontrar a cor definida com o contorno (parmetro Color).
Declarao
procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);
FOCUSCONTROL
Descrio
Esse mtodo coloca o foco da aplicao no primeiro controle associado ao banco de dados que contm o campo que chama o mtodo.
Declarao
function FocusControl;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1273
FOCUSED
Descrio
O mtodo Focused informa se o controle possui o foco da aplicao, isto , se ele o controle ativo.
Declarao
function Focused: Boolean;
Exemplo
O trecho de cdigo a seguir verifica se um controle chamado Edit1 do tipo TEdit possui o foco da aplicao quando o usurio tenta encerr-la. Se Edit1 possuir o foco, ser exibida uma mensagem.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin If Edit1.Focused then ShowMessage(Edit1 possui o foco); end;
FRAMERECT
Descrio
Esse mtodo desenha um retngulo definido pelo parmetro Rect, pintando a sua borda com o pincel corrente.
Declarao
procedure FrameRect(const Rect: TRect);
FREE
Descrio
Esse mtodo destri um componente, liberando toda a memria a ele alocada. Este apresenta uma vantagem sobre o mtodo Destroy, pois no gera um erro quando o objeto no existe.
Declarao
procedure Free;
Exemplo
A linha de cdigo a seguir mostra um boto Button1 do tipo TButton executando o seu mtodo Free.
Button1.Free;
CAPTULO 42 MTODOS
FREEBOOKMARK
Descrio
Esse mtodo libera os recursos do sistema reservados por uma chamada ao mtodo GetBookmark.
Declarao
procedure FreeBookmark(Bookmark: TBookmark);
FREEINSTANCE
Descrio
Esse mtodo libera a memria alocada pelo mtodo NewInstance, aps chamar o mtodo IntanceSize.
Declarao
procedure FreeInstance; virtual;
FREENOTIFICATION
Descrio
Esse mtodo notifica o componente definido no parmetro AComponent antes de destru-lo.
Declarao
procedure FreeNotification(AComponent: TComponent);
FULLCOLLAPSE
Descrio
Esse mtodo oculta todos os subitens em um componente do tipo TOutline.
Declarao
procedure FullCollapse;
Exemplo
O trecho de cdigo a seguir faz com que um componente Outline1 execute o seu mtodo FullCollapse:
Outline1. FullCollapse;
FULLEXPAND
Descrio
Esse mtodo exibe todos os subitens em um componente do tipo TOutlineNode ou todos os subitens de todos os itens de um componente TOutline.
Descrio
procedure FullExpand;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1275
GETALIASNAMES
Descrio
Esse mtodo armazena, em uma lista de strings, os nomes dos aliases definidos no Borland DataBase Engine.
Declarao
procedure GetAliasNames(List: TStrings);
Exemplo
O trecho de cdigo a seguir armazena, em uma lista de strings chamada Lista_Aliases, os nomes dos aliases definidos no Borland DataBase Engine:
Session.GetAliasNames(Lista_aliases);
GETALIASPARAMS
Descrio
Esse mtodo armazena, em uma lista de strings, os parmetros associados a um alias do BDE definido pelo parmetro AliasName.
Declarao
procedure GetAliasParams(const AliasName: string; List: TStrings);
GETASHANDLE
Descrio
Esse mtodo retorna um handle para o objeto armazenado no clipboard.
Declarao
function GetAsHandle (Format: Word): THandle;
GETBITMAP
Descrio
Esse mtodo retorna a imagem especificada no parmetro Index como um bitmap no parmetro Image do tipo TBitmap.
Declarao
procedure GetBitmap(Index: Integer; Image: TBitmap);
CAPTULO 42 MTODOS
GETBOOKMARK
Descrio
Esse mtodo salva a informao de um registro de um banco de dados, de forma a poder acess-lo por uma chamada posterior ao mtodo GotoBookmark.
Declarao
procedure GetBookmark(Bookmark: TBookmark);
GETCHILDREN
Descrio
Esse mtodo executa o procedimento passado como parmetro para cada uma das aes definidas no componente (definidas como objetos da classe TAction).
Declarao
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
GETCOMPONENT
Descrio
Esse mtodo retorna um componente armazenado no clipboard e o ajusta de acordo com os parmetros Owner e Parent.
Declarao
function GetComponent(Owner, Parent: TComponent): TComponent;
GETDATA
Descrio
Esse mtodo retorna no parmetro Buffer o dado armazenado no campo. Se o buffer no tiver espao suficiente para armazenar o dado, retorna False.
Declarao
function GetData(Buffer: Pointer): Boolean;
Exemplo
O trecho de cdigo a seguir transfere o dado de um campo StringField1, do tipo TStringField, para um buffer temporrio:
with StringField1 do begin GetMem(Buffer, DataSize); if not Field1.GetData(Buffer) then ShowMessage(FieldName + is NULL); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1277
GETDATABASENAMES
Descrio
Esse mtodo armazena, em uma lista de strings, os nomes dos bancos de dados e respectivos aliases definidos no Borland DataBase Engine para a aplicao.
Declarao
procedure GetDatabaseNames(List: TStrings);
Exemplo
O trecho de cdigo a seguir armazena, em uma lista de strings denominada Lista, os nomes dos bancos de dados e respectivos aliases definidos no Borland DataBase Engine para a aplicao:
Session.GetDatabaseNames(Lista);
GETDATAITEM
Descrio
O mtodo GetDataItem retorna o ndice do primeiro item de um componente do tipo TOutline em um dado especificado no parmetro Value.
Declarao
function GetDataItem(Value: Pointer): Longint;
GETDELTAPACKET
Descrio
Esse mtodo retorna um pacote delta de informaes a partir de uma solicitao http..
Declarao
function GetDelta(Request: TWebRequest ): string;
GETDETAILLINKFIELDS
Descrio
Esse mtodo armazena, em dois objetos da classe TList, referncias aos objetos que representam os campos utilizados em um relacionamento.
Declarao
GetDetailLinkFields(MasterFields, DetailFields: TList); override;
GETDETAILSQL
Descrio
Esse mtodo retorna uma Declarao SQL capaz de produzir o mesmo resultado exibido pelo componente.
CAPTULO 42 MTODOS
Declarao
function GetDetailSQL(ValueArray: TSmallIntArray; SelectList: string; bActive: Boolean): string;
GETDRIVERNAMES
Descrio
Esse mtodo armazena, em uma lista de strings, os nomes dos drivers atualmente instalados no Borland Database Engine, exceto os do PARADOX e DBASE, que so manipulados pelo driver STANDARD.
Declarao
procedure GetDriverNames(List: TStrings);
Exemplo
O trecho de cdigo a seguir armazena, em uma lista de strings Lista, os nomes dos drivers atualmente instalados no Borland Database Engine:
Session.GetDriverNames(Lista);
GETDRIVERPARAMS
Descrio
Esse mtodo armazena, em uma lista de strings, os nomes dos parmetros usados pelo driver do Borland Database Engine especificado no parmetro DriverName.
Declarao
procedure GetDriverParams(const DriverName: string; List: TStrings);
GETERRORCOUNT
Descrio
Esse mtodo retorna o nmero de erros no pacote delta recebido.
Declarao
function GetDelta(Request: TWebRequest): string;
GETFIELDNAMES
Descrio
Esse mtodo limpa a lista de strings definida no parmetro List e adiciona a ela o nome de cada campo do banco de dados.
Declarao
procedure GetFieldNames(List: TStrings);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1279
GETFIRSTCHILD
Descrio
Esse mtodo retorna o ndice do primeiro subitem de um item do tipo TOutlineNode.
Declarao
function GetFirstChild: Longint;
GETFORMIMAGE
Descrio
O mtodo GetFormImage cria um bitmap com a imagem do formulrio, como ele seria impresso.
Declarao
function GetFormImage: TBitmap;
Exemplo
O trecho de cdigo a seguir copia, em um bitmap, a imagem de um formulrio:
var Bitmap1 : TBitmap; begin Bitmap1 := Form1.GetFormImage;
GETHOTSPOT
Descrio
Esse mtodo retorna o hotspot associado imagem sendo arrastada.
Declarao
function GetHotSpot: TPoint;
GETICON
Descrio
Esse mtodo retorna a imagem especificada no parmetro Index como um cone no parmetro Image do tipo TIcone.
Declarao
procedure GetIcon(Index: Integer; Image: TIcon);
GETIMAGEBITMAP
Descrio
Esse mtodo retorna um handle para um bitmap que contm todas as imagens do componente.
Declarao
function GetImageBitmap: HBITMAP;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TImageList
GETINDEXFORPAGE
Descrio
O mtodo GetIndexForPage retorna o valor da propriedade PageIndex da pgina cuja string de exibio, definida na propriedade Strings, especificada no parmetro PageName.
Declarao
function GetIndexForPage(const PageName: string): Integer;
Exemplo
O trecho de cdigo a seguir faz com que um componente chamado Label1 do tipo TLabel exiba o ndice da pgina cujo nome, definido na propriedade Strings, igual a Exemplo.
Label1.Caption := IntToStr(TabbedNotebook1.GetIndexForPage(Exemplo));
GETINDEXNAMES
Descrio
Esse mtodo armazena, em uma lista de strings, os nomes dos ndices definidos para a tabela.
Declarao
procedure GetIndexNames(List: TStrings);
GETITEM
Descrio
O mtodo GetItem retorna o ndice do item de um componente do tipo TOutline que est situado nas coordenadas (X,Y) em pixels.
Declarao
function GetItem(X, Y: Integer): Longint;
GETITEMPATH
Descrio
O mtodo GetItemPath retorna em uma string o path de um diretrio definido por um ndice em um componente do tipo TDirectoryListBox. O primeiro diretrio da lista possui ndice igual a 0.
Declarao
function GetItemPath(Index : Integer): string;
GETLASTCHILD
Descrio
Retorna o ndice do ltimo subitem de um item do tipo TOutlineNode.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1281
GETMASKBITMAP
Descrio
Esse mtodo retorna um handle para um bitmap que contm todas as mscaras das imagens do componente.
Declarao
function GetMaskBitmap: HBITMAP;
GETNAMEPATH
Descrio
Esse mtodo retorna o nome do objeto como aparece no Object Inspector.
Declarao
function GetNamePath: string; dynamic;
GETNEXTCHILD
Descrio
Esse mtodo retorna o ndice do prximo item do tipo TOutlineNode com o mesmo item-pai do item atual.
Declarao
function GetNextChild(Value: Longint): Longint;
GETPARENTCOMPONENT
Descrio
Esse mtodo retorna o componente TActionList ao qual o objeto est vinculado.
Declarao
function GetParentComponent: TComponent; override;
GETPASSWORD
Descrio
Esse mtodo dispara um evento OnPassword (se existir) ou exibe a caixa de dilogo padro de password. Retorna True, se o usurio selecionar o boto OK, e False, se o usurio selecionar o boto Cancel.
Declarao
function GetPassword: Boolean;
CAPTULO 42 MTODOS
Exemplo
O trecho de cdigo a seguir aciona o mtodo GetPassword:
Session.GetPassword;
GETPREVCHILD
Descrio
Esse mtodo retorna o ndice do item anterior do tipo TOutlineNode com o mesmo item-pai do item atual.
Declarao
function GetPrevChild(Value: Longint): Longint;
GETPRINTER
Descrio
Esse mtodo retorna a impressora corrente.
Declarao
procedure GetPrinter (ADevice, ADriver, APort: PChar; var ADeviceMode: THandle);
GETPROCEDURENAMES
Descrio
Esse mtodo armazena, em uma lista de strings, os nomes dos procedimentos armazenados definidos para o banco de dados acessado pelo componente.
Declarao
procedure GetProcedureNames(List: TStrings);
GETRESULTS
Descrio
Esse mtodo retorna os valores dos parmetros de sada em um procedimento armazenado em um servidor do tipo Sybase.
Declarao
procedure GetResults;
GETSELTEXTBUF
Descrio
O mtodo GetSelTextBuf copia o texto selecionado de um controle no buffer apontado pela varivel Buffer, at o nmero de caracteres definido no parmetro BufSize. O texto colocado em buffer uma string terminada em zero. O mtodo retorna o nmero de caracteres copiados.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1283
Exemplo
O exemplo a seguir copia o texto selecionado em um componente TEdit chamado Edit1 em uma string terminada em zero, e depois coloca essa string em outro componente TLabel denominado Label1 quando o usurio d um clique sobre um boto chamado Button1 do tipo TButton.
procedure TForm1.Button1Click(Sender: TObject); var Buffer: PChar; Size: Integer; begin Size := Edit1.SelLength; Inc(Size); GetMem(Buffer, Size); Edit1.GetSelTextBuf(Buffer,Size); Label1.Caption := StrPas(Buffer); FreeMem(Buffer, Size); end;
GETSQL
Descrio
Esse mtodo retorna uma Declarao SQL capaz de produzir o mesmo resultado exibido pelo componente.
Declarao
function GetSQL(ValueArray: TSmallIntArray; bActive: Boolean): string;
GETSTOREDPROCNAMES
Descrio
Esse mtodo armazena, em uma lista de strings, os nomes das procedures definidas para um banco de dados SQL determinado no parmetro DatabaseName (no se aplica ao dBASE e Paradox).
Declarao
procedure GeTStoredProcNames(const DatabaseName: string; List: TStrings);
GETTABLENAMES
Descrio
Esse mtodo armazena, em uma lista de strings, os nomes das tabelas associadas ao banco de dados definido no parmetro DatabaseName. O parmetro Pattern limita os nomes de tabelas a serem procuradas.
Declarao
procedure GeTTableNames(const DatabaseName, Pattern: string;Extensions, SystemTables: Boolean; List: TStrings);
CAPTULO 42 MTODOS
GETTABORDERLIST
Descrio
Esse mtodo retorna uma lista dos controles-filhos do controle corrente, ordenados pelo valor armazenado na sua propriedade TabOrder.
Declarao
procedure GetTabOrderList(List: TList);
GETTEXT
Descrio
Esse mtodo retorna uma lista de strings como uma string de terminao nula.
Declarao
function GetText: PChar;
GETTEXTBUF
Descrio
O mtodo GetTextBuf copia o texto de um controle no buffer apontado pela varivel Buffer, at o nmero de caracteres definido no parmetro BufSize. O texto colocado em buffer uma string terminada em zero. O mtodo retorna o nmero de caracteres copiados.
Declarao
function GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;
Exemplo
O exemplo a seguir copia o texto exibido em um componente TLabel denominado Label1 em uma string terminada em zero e depois coloca essa string em outro componente TLabel chamado Label2 quando o usurio d um clique sobre um boto denominado Button1.
procedure TForm1.Button1Click(Sender: TObject); var Buffer: PChar; Size: Byte; begin Size := Label1.GetTextLen; Inc(Size); GetMem(Buffer, Size); Label1.GetTextBuf(Buffer,Size); Label2.Caption := StrPas(Buffer); FreeMem(Buffer, Size); end;
GETTEXTLEN
Descrio
O mtodo GetTextLen retorna o comprimento do texto exibido por um controle.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1285
Exemplo
A linha de cdigo abaixo atribui a uma varivel inteira Size o comprimento do texto exibido em um componente Edit1 do tipo TEdit.
Size := Edit1.GetTextLen;
GETXMLRECORDS
Descrio
Esse mtodo retorna em uma string os registros do pacote delta enviado pelo servidor de aplicaes.
Declarao
function GetXMLRecords(var RecsOut: Integer; var OwnerData: OleVariant; XMLOptions: TXMLOptions): string;
GOTOBOOKMARK
Descrio
Esse mtodo move o cursor para o registro definido em uma chamada a um mtodo GetBookmark.
Declarao
procedure GotoBookmark(Bookmark: TBookmark);
GOTOCURRENT
Descrio
Esse mtodo sincroniza duas tabelas de um banco de dados.
Declarao
procedure GotoCurrent(Table: TTable);
GOTOKEY
Descrio
Esse mtodo usado com os mtodos SetKey e GetKey para se mover para um registro da tabela.
Declarao
function GotoKey: Boolean;
CAPTULO 42 MTODOS
GOTONEAREST
Descrio
Esse mtodo usado com os mtodos SetKey e GetKey para se mover para o prximo registro cujos ndices dos campos sejam iguais ou superiores aos definidos no parmetro KeyValues.
Declarao
procedure GotoNearest;
HANDLEALLOCATED
Descrio
Esse mtodo retorna um valor booleano que indica se existe ou no um handle alocado para o controle.
Declarao
function HandleAllocated: Boolean;
Exemplo
O trecho de cdigo a seguir verifica se existe um handle alocado para um componente GroupBox1 do tipo TGroupBox, exibindo-o como um componente Label1 do tipo TLabel. Caso o handle no tenha sido alocado, exibe uma mensagem.
var TheValue: string; begin if GroupBox1.HandleAllocated then TheValue := IntToStr(GroupBox1.Handle) else TheValue := Handle no alocado.; Label1.Caption := TheValue; end;
HANDLEEXCEPTION
Descrio
Esse mtodo manipula as excees de uma aplicao.
Declarao
procedure HandleException(Sender: TObject);
Exemplo
O trecho de cdigo a seguir faz a manipulao default das excees de uma aplicao.
try {Cdigo gerador de excees} except Application.HandleException(Self); end;
HANDLENEEDED
Descrio
Esse mtodo cria um handle para um controle, se ele j no possuir um.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1287
Exemplo
A linha de cdigo a seguir cria um handle para um boto chamado Button1 do tipo
TButton: Button1.HandleNeeded;
HASFORMAT
Descrio
Esse mtodo determina se o objeto armazenado no clipboard possui o formato definido pelo parmetro Format. Os valores possveis para o parmetro Format so CF_TEXT (texto), CF_BITMAP (grfico de bitmap), CF_METAFILE (grfico metafile), CF_PICTURE (objeto do tipo Tpicture) e CF_OBJECT (qualquer objeto persistente).
Declarao
procedure HasFormat(Format: Word): Boolean;
HASH
Descrio
Esse mtodo retorna um valor que identifica a instncia do objeto.
Declarao
function Hash(Maximum: Integer): Integer;
HELPCOMMAND
Descrio
Esse mtodo d acesso aos comandos do arquivo WinHelp da API do Windows. O comando passado pelo parmetro Command.
Declarao
function HelpCommand(Command: Word; Data: Longint): Boolean;
Exemplo
O trecho de cdigo a seguir acessa o tpico Contents do Help On-line da API do Windows.
Application.HelpCommand(HELP_CONTENTS, 0);
CAPTULO 42 MTODOS
HELPCONTEXT
Descrio
Esse mtodo chama o programa WinHelp, o sistema de Help On-line do Windows, desde que haja um arquivo de Help da aplicao definido na sua propriedade HelpFile. O parmetro Context especifica o nmero da ID que define a tela de auxlio.
Declarao
function HelpContext(Context: THelpContext): Boolean;
Exemplo
O trecho de cdigo a seguir faz com que a tela de auxlio, cuja ID igual a 715 no arquivo definido na propriedade HelpFile, seja exibida.
Application.HelpContext(715);
HELPJUMP
Descrio
Esse mtodo chama o programa WinHelp, o sistema de Help On-line do Windows, desde que haja um arquivo de Help da aplicao definido na sua propriedade HelpFile. O parmetro JumpID a string de contexto que define a tela de auxlio a ser exibida.
Declarao
function HelpJump(const JumpID: string): Boolean;
Exemplo
O trecho de cdigo a seguir faz com que a tela de auxlio, cuja string de contexto igual string de contexto no arquivo definido na propriedade HelpFile, seja exibida.
Application.HelpJump(string de contexto);
HIDE
Descrio
O mtodo Hide torna invisvel um componente, fazendo sua propriedade Visible := False.
Declarao
procedure Hide;
Exemplo
Se voc quiser que um boto chamado Button1 desaparea de um formulrio que o contm (form1) ao se clicar sobre ele com o boto esquerdo do mouse, defina o seu evento OnClick da seguinte forma:
procedure TForm1.Button1Click(Sender: TObject); begin Button1.Hide; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1289
HIDEDRAGIMAGE
Descrio
Esse mtodo oculta a imagem correntemente arrastada.
Declarao
procedure HideDragImage;
INDEXOF
Descrio
Para componentes do tipo TmenuItem, esse mtodo retorna a posio de um item de menu (especificado no parmetro Item) em um menu. Para o primeiro item de um menu, IndexOf retorna 0. Se o item especificado no fizer parte do menu, retorna -1. Para objetos dos tipos TStrings e TStringList, esse mtodo retorna a posio da string definida pelo parmetro S.
Declarao
Para componentes do tipo TMenuItem:
function IndexOf(Item: TMenuItem): Integer;
Exemplo
O trecho de cdigo a seguir exibe, em um componente Label1 do tipo TLabel, o ndice de um item de menu chamado Sair, de um menu Arquivo.
Label1.Caption := IntToStr(Arquivo.IndexOf(Sair));
INDEXOFOBJECT
Descrio
Esse mtodo retorna a posio do objeto definido pelo parmetro AObject.
Declarao
function IndexOfObject(AObject: TObject): Integer;
INHERITSFROM
Descrio
Esse mtodo define se o objeto passado pelo parmetro AClass um ancestral do objeto corrente.
Declarao
class function InheritsFrom(AClass: TClass): Boolean;
CAPTULO 42 MTODOS
INITINSTANCE
Descrio
Esse mtodo cria uma nova instncia de um objeto.
Declarao
class procedure InitInstance(Instance: Pointer): TObject;
INSERT
Descrio
Para componentes do tipo TOutline, esse mtodo insere um item na posio especificada pelo parmetro Index. Para componentes do tipo TMenuItem, esse mtodo insere um item de menu na posio especificada pelo parmetro Index. Para componentes derivados da classe TDataset, coloca o banco de dados no modo de insero e insere um registro em branco na posio atual do cursor. Para objetos do tipo Tlist, insere um item, definido pelo parmetro Item, na posio especificada pelo parmetro Index. Para objetos dos tipos TStrings e TStringList, insere uma string, definida pelo parmetro S, na posio especificada pelo parmetro Index.
Declarao
Para componentes do tipo TOutline:
function Insert(Index: Longint; const Text: string): Longint;
Exemplo
O trecho de cdigo a seguir insere um item, na posio do item atualmente selecionado, em um componente Outline1 do tipo TOutline:
Outline1.Insert(Outline1.SelectedItem, Novo item);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1291
INSERTCOMPONENT
Descrio
Esse mtodo insere um componente passado no parmetro AComponent na lista de componentes definida pela propriedade Components do componente atual.
Declarao
procedure InsertComponent(AComponent: TComponent);
Exemplo
O trecho de cdigo a seguir insere um boto Button1 do tipo TButton no array de componentes de um formulrio chamado Form1.
Form1.InsertComponent(Button1);
INSERTCONTROL
Descrio
Esse mtodo insere um controle passado no parmetro AControl na lista de controles definida pela propriedade Controls do controle atual.
Declarao
procedure InsertControl(AControl: TControl);
Exemplo
O trecho de cdigo a seguir insere um boto Button1 do tipo TButton na array de controles de um formulrio chamado Form1.
Form1.InsertControl(Button1);
INSERTICON
Descrio
Esse mtodo insere um cone no componente aps a imagem definida pelo parmetro Index.
Declarao
procedure InsertIcon(Index: Integer; Image: TIcon);
INSERTMASKED
Descrio
Esse mtodo insere um bitmap no componente aps a imagem definida pelo parmetro Index, criando uma mscara definida pelo parmetro MaskColor.
Declarao
procedure InsertMasked(Index: Integer; Image: TBitmap; MaskColor: TColor);
CAPTULO 42 MTODOS
INSERTOBJECT
Descrio
Esse mtodo insere um item contendo dados na posio especificada pelo parmetro Index em um componente do tipo TOutline.
Declarao
function InsertObject(Index: Longint; const Text: string; const Data: Pointer): Longint;
Exemplo
O trecho de cdigo a seguir insere um objeto chamado Bitmap1 do tipo TBitmap na posio do item atualmente selecionado em um componente Outline1 do tipo TOutline:
Outline1.InsertObject(Outline1.SelectedItem, Novo item, Bitmap1);
INSERTRECORD
Descrio
Esse mtodo insere um novo registro no banco de dados utilizando os valores de campos passados pelo parmetro Values.
Declarao
procedure InsertRecord(const Values: array of const);
INSTANCESIZE
Descrio
Esse mtodo retorna o tamanho, em bytes, de cada instncia de um objeto.
Declarao
class function InstanceSize: Longint;
INVALIDATE
Descrio
Esse mtodo faz com que o contedo de um controle seja redesenhado.
Declarao
procedure Invalidate;
I SA
Descrio
Esse mtodo verifica se o objeto associado do tipo passado como parmetro.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1293
ISEMPTY
Descrio
Esse mtodo determina se a tabela representada pelo componente est vazia.
Declarao
function IsEmpty: Boolean;
ISLOCAL
Descrio
Esse mtodo retorna um inteiro diferente de zero se o objeto CORBA referenciado pela interface for instanciado localmente.
Declarao
function IsLocal: CorbaBoolean; stdcall;
ISVALIDCHAR
Descrio
Esse mtodo determina se o caractere digitado em um controle que representa o campo caractere vlido.
Declarao
function IsValidChar(InputChar: Char): Boolean; virtual;
ITEMATPOS
Descrio
Para componentes dos tipos TDBListBox, TDirectoryListBox, TFileListBox e TListBox, esse mtodo retorna o ndice do item de uma caixa de listagem situado na posio especificada por um parmetro Pos, do tipo Tpoint, ou -1, se no existir um item naquele ponto. Para componentes do tipo TTabSet, esse mtodo retorna o ndice da guia situada na posio definida por dois parmetros inteiros X e Y.
Declarao
Para componentes dos tipos TDBListBox, TDirectoryListBox, TFileListBox eTListBox:
function ItemAtPos(Pos: TPoint; Existing: Boolean): Integer;
CAPTULO 42 MTODOS
Exemplo
O trecho de cdigo a seguir seleciona a guia que est nas coordenadas (100,1) de
TabSet1: TbSet1.TabIndex := TabSet1.ItemAtPos(100, 1);
ITEMRECT
Descrio
Esse mtodo retorna o retngulo circunscrito a um item, especificado no parmetro Item.
Declarao
function ItemRect(Item: Integer): TRect;
Exemplo
O trecho de cdigo a seguir copia o retngulo circunscrito ao primeiro item de uma varivel chamada ListBox1, do tipo TListBox, em uma varivel CircRect do tipo Trect:
CircRect := ListBox1.ItemRect(0);
LAST
Descrio
Para componentes derivados da classe TDataset, esse mtodo move o ponteiro para o ltimo registro do banco de dados. Para objetos do tipo TList, esse mtodo retorna o ponteiro para o ltimo objeto da lista.
Declarao
Para componentes derivados da classe TDataset:
procedure Last;
LINETO
Descrio
Esse mtodo desenha uma linha da posio corrente at o ponto (X,Y).
Declarao
procedure LineTo(X, Y: Integer);
LOAD
Descrio
Esse mtodo recupera a impresso de um relatrio que foi direcionada para um arquivo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1295
LOADFROMFILE
Descrio
Esse mtodo l o arquivo especificado no parmetro FileName e carrega seus dados no objeto ou componente. No caso de componentes do tipo TRvProject, carrega o relatrio a partir do arquivo especificado como parmetro.
Declarao
procedure LoadFromFile(const FileName: string);
Exemplo
O trecho de cdigo a seguir carrega o arquivo autoexec.bat em um componente TStrings que, nesse caso, a propriedade Lines de um componente chamado Memo1 do tipo
TMemo. Memo1.Lines.LoadFromFile(c:\autoexec.bat.); NOTA = Note que, nesse caso, LoadFromFile um mtodo de Lines, que um componente do tipo TStrings. Por outro lado, Lines ainda uma propriedade de TMemo.
LOADFROMSTREAM
Descrio
Esse mtodo l a stream especificada no parmetro Stream e carrega seu contedo no
Campo ou no relatrio.
Declarao
procedure LoadFromStream(Stream: TStream);
Exemplo
O trecho de cdigo a seguir carrega uma stream chamada Stream1 em um campo BlobField1 do tipo TBlobField.
BlobField1.LoadFromStream(Stream1);
LOADMEMO
Descrio
Esse mtodo copia um texto em um controle do tipo TDBMemo.
Declarao
procedure LoadMemo;
CAPTULO 42 MTODOS
Exemplo
O trecho de cdigo a seguir copia o texto armazenado em um campo do tipo TBLOBField em um componente DBMemo1 do tipo TDBMemo.
DBMemo1.LoadMemo;
LOADPICTURE
Descrio
Esse mtodo copia a imagem definida pela propriedade Picture para o controle.
Declarao
procedure LoadPicture;
Exemplo
O trecho de cdigo a seguir copia a imagem definida na propriedade Picture para ser exibida pelo controle.
DBImage1.LoadPicture;
LOCATE
Descrio
Esse mtodo permite uma pesquisa por campos no-indexados de uma tabela.
Declarao
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;
LOCKTABLE
Descrio
Esse mtodo impede que outras aplicaes acessem a tabela para leitura e/ou gravao.
Declarao
procedure LockTable(LockType: TLockType);
MERGE
Descrio
Esse mtodo mescla os menus de diversos formulrios em uma aplicao no-MDI. O parmetro Menu define o menu a ser mesclado.
Declarao
procedure Merge(Menu: TMainMenu);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1297
MESSAGEBOX
Descrio
Esse mtodo encapsula a funo MessageBox da API do Windows, sem que seja necessrio especificar um handle. Esse mtodo exibe uma mensagem e um conjunto de botes. O texto da mensagem, passado no parmetro Text, no pode ter mais do que 255 caracteres. O parmetro Caption define o texto a ser exibido na barra de ttulos do quadro de mensagem (pode ter mais do que 255 caracteres). O parmetro Flags define os botes que devem ser exibidos (veja maiores informaes no arquivo de auxlio da API do Windows WINAPI.HLP).
Declarao
function MessageBox(Text, Caption: PChar; Flags: Word): Integer;
Exemplo
O trecho de cdigo a seguir exibe uma mensagem com um boto OK e um boto Cancel:
Application.MessageBox(Bem-vindo ao Delphi!, Mensagem, mb_OKCancel);
METHODADDRESS
Descrio
Esse mtodo retorna o endereo do mtodo do tipo published especificado no parmetro Name.
Declarao
class function MethodAddress(const Name: ShortString): Pointer;
METHODNAME
Descrio
Esse mtodo retorna o nome do mtodo especificado no parmetro Address.
Declarao
class function MethodName(Address: Pointer): ShortString;
MINIMIZE
Descrio
Esse mtodo minimiza a aplicao.
Declarao
procedure Minimize;
Exemplo
O trecho de cdigo a seguir minimiza a aplicao.
Application.Minimize;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TApplication
MOUSETOCELL
Descrio
Esse mtodo retorna nos parmetros ARow e ACol a linha e a coluna da clula na qual o mouse est posicionado.
Declarao
procedure MouseToCell(X, Y: Integer; var ACol, ARow: Longint);
Exemplo
O trecho de cdigo a seguir faz com que, ao se clicar com o mouse sobre uma clula de um componente StringGrid1do tipo TStringGrid, a clula exiba o nmero da linha e coluna em que se situa.
procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var Column, Row: Longint; begin StringGrid1.MouseToCell(X, Y, Column, Row); StringGrid1.Cells[Column, Row] := Col + IntToStr(Column) + ,Row + IntToStr(Row); end;
MOVE
Descrio
Esse mtodo muda a posio de um item em uma lista de objetos ou em uma lista de strings da posio definida pelo parmetro CurIndex para a posio definida pelo parmetro NewIndex.
Declarao
procedure Move(CurIndex, NewIndex: Integer);
MOVEBY
Descrio
Esse mtodo move o ponteiro do nmero de registros definido no parmetro Distance.
Declarao
procedure MoveBy(Distance: Integer);
MOVETO
Descrio
Para objetos do tipo TCanvas, esse mtodo muda a posio corrente da caneta para o ponto (X,Y). Para objetos do tipo TOutlineNode, esse mtodo muda a posio corrente do item dentro do componente TOutline.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1299
NEXT
Descrio
Para componentes do tipo TForm, esse mtodo torna ativa a prxima janela-filha de uma aplicao MDI. Para componentes do tipo TMediaPlayer, esse mtodo faz com que o dispositivo multimdia avance uma trilha. Para componentes derivados da classe TDataset, move o ponteiro para o prximo registro de um banco de dados.
Declarao
procedure Next;
Exemplo
A linha de cdigo a seguir torna ativa a prxima janela-filha de um formulrio Form1 com a propriedade FormStyle igual a fsMDIForm:
Form1.Next;
NEWINSTANCE
Descrio
Esse mtodo aloca memria para uma nova instncia de um objeto e retorna um ponteiro para o objeto criado.
Declarao
class function NewInstance: TObject; virtual;
NEWPAGE
Descrio
Para componentes do tipo TQuickReport, esse mtodo fora uma quebra de pgina durante a preparao de um relatrio. Para componentes do tipo TPrinter e TQRPrinter, esse mtodo inicia a impresso de uma nova pgina.
Declarao
procedure NewPage
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TQuickReport, TPrinter e TQRPrinter
NONEXISTENT
Descrio
Esse mtodo verifica se o objeto associado foi desativado.
Declarao
function NonExistent: Boolean;
NORMALIZETOPMOSTS
Descrio
Esse mtodo faz com que os formulrios com propriedade FormStyle igual a fsStayOnTop se comportem como formulrios comuns (com propriedade FormStyle igual a fsNormal).
Declarao
procedure NormalizeTopMosts;
Exemplo
O trecho de cdigo a seguir executa o mtodo NormalizeTopMosts em uma aplicao.
Application. NormalizeTopMosts;
OLEOBJALLOCATED
Descrio
Esse mtodo verifica se um componente do tipo TOLEContainer possui ou no um objeto OLE.
Declarao
function OleObjAllocated: Boolean;
Exemplo
O cdigo a seguir exibe uma mensagem se um objeto OLEContainer1 do tipo TOLEContainer contiver um objeto OLE.
if OLEContainer1.OleObjAllocated = True then ShowMessage(Contm um objeto OLE);
OPEN
Descrio
Para componentes do tipo TMediaPlayer, o mtodo Open faz com que um dispositivo multimdia seja aberto. Para objetos do tipo TClipboard, o mtodo Open abre o objeto que representa o clipboard e evita que outra aplicao altere o seu contedo at ser fechado pelo mtodo Close. Para componentes do tipo TADOConnection, TADODataset, TADOTable, TADOQuery, TADOStoredProc, TIBDataset, TIBTable, TIBQuery, TIBStoredProc, TTable, TQuery e TStoredProc, abre o banco de dados associado e o deixa ativo.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1301
Declarao
procedure Open;
Exemplo
O trecho de cdigo a seguir faz com que um dispositivo multimdia acione seu mtodo Open com um boto chamado Open do tipo TButton:
procedure TForm1.OpenClick(Sender: TObject); begin MediaPlayer1.Open; end;
OPENDATABASE
Descrio
O mtodo OpenDatabase usado para abrir um componente do tipo TDatabase, cuja propriedade DatabaseName igual ao parmetro DatabaseName, e se no o localizar cria um novo componente.
Declarao
function OpenDatabase(const DatabaseName: string): TDatabase;
Exemplo
O trecho de cdigo a seguir abre um componente do tipo TDatabase associado a um banco de dados denominado Dados:
Session.OpenDatabase(DADOS);
OPENINDEXFILE
Descrio
Esse mtodo abre um arquivo de ndices definido para tabelas no formato dBase.
Declarao
procedure OpenIndexFile(const IndexFileName: string);
OPENLINK
Descrio
Esse mtodo inicia uma conversao DDE.
Declarao
function OpenLink: Boolean;
Exemplo
O trecho de cdigo a seguir inicia uma conversao DDE:
DDEClientConv1.OpenLink;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TDDEClientConv
OVERLAY
Descrio
Esse mtodo transforma a imagem definida pelo parmetro ImageIndex em uma imagem de superposio, retornando-a no parmetro Overlay.
Declarao
function Overlay(ImageIndex: Integer; Overlay: TOverlay): Boolean;
PACK
Descrio
Esse mtodo deleta os elementos de uma lista cujo ponteiro tem valor nil.
Declarao
procedure Pack;
PARAMBYNAME
Descrio
Esse mtodo retorna o elemento da propriedade Params cuja propriedade Name igual ao parmetro Value.
Declarao
function ParamByName(const Value: string): TParam;
PASTEFROMCLIPBOARD
Descrio
Esse mtodo copia o texto do clipboard para o controle na posio atual do cursor, substituindo qualquer texto selecionado no controle.
Declarao
procedure PasteFromClipboard;
Exemplo
O trecho de cdigo a seguir copia o texto do clipboard para um controle Edit1 do tipo TEdit.
Edit1.PasteFromClipboard;
PAUSE
Descrio
O mtodo Pause provoca uma parada (pausa) em um dispositivo multimdia. Caso o dispositivo j esteja sob uma pausa causada por uma chamada a esse mtodo, o mtodo Resume ser acionado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1303
Exemplo
O trecho de cdigo a seguir faz com que um dispositivo multimdia acione seu mtodo Pause com um boto chamado Pause do tipo TButton:
procedure TForm1.PauseClick(Sender: TObject); begin MediaPlayer1.Pause; end;
PAUSEONLY
Descrio
O mtodo PauseOnly idntico ao mtodo Pause, exceto por no acionar o mtodo Resume caso o dispositivo j esteja sob uma pausa causada por uma chamada a um mtodo Pause.
Declarao
procedure PauseOnly;
Exemplo
Veja o mtodo Pause.
PEEK
Descrio
Este mtodo retorna um ponteiro para o prximo elemento armazenado na estrutura de dados representada pelo objeto, que pode ser uma Pilha ou uma Fila. Este mtodo, ao contrrio do que ocorre com o mtodo Pop, no remove o ponteiro da estrutura.
Declarao
function Peek: Pointer;
PERFORM
Descrio
Esse mtodo habilita um controle a enviar uma mensagem para si. A mensagem passada por meio do parmetro Msg.
Declarao
function Perform(Msg, WParam: Word; LParam: Longint): Longint;
CAPTULO 42 MTODOS
PIE
Descrio
Esse mtodo desenha um setor elptico, sendo a elipse circunscrita pelo retngulo definido pelos pontos (X1, Y1) e (X2,Y2), e limitada pelas linhas radiais que vo do centro da elipse aos pontos (X3,Y3) e (X4,Y4).
Declarao
procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Longint);
PLAY
Descrio
O mtodo Play inicia a reproduo em um dispositivo multimdia (para um componente TMediaPlayer) ou de um clip AVI (para um componente TAnimate) nesse caso, os nmeros que identificam os quadros inicial e final, bem como o nmero de execues, so passados como parmetros.
Declarao
Para componentes TMediaPlayer:
procedure Play;
Exemplo
O trecho de cdigo a seguir inicia a reproduo em um dispositivo multimdia quando um boto Play do tipo TButton selecionado:
procedure TForm1.PlayClick(Sender: TObject); begin MediaPlayer1.Play; end;
POKEDATA
Descrio
Esse mtodo envia um dado (definido no parmetro Data) para um item (definido no parmetro Item) de uma aplicao servidora em uma conversao DDE.
Declarao
function PokeData(Item: string; Data: PChar): Boolean;
POKEDATALINES
Descrio
Esse mtodo envia um dado (definido como uma lista de strings no parmetro Data) para um item (definido no parmetro Item) de uma aplicao servidora em uma conversao.
Declarao
function PokeDataLines(Item: string; Data: TStrings): Boolean;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1305
POLYGON
Descrio
Esse mtodo desenha um polgono cujos vrtices esto definidos na array de pontos passada no parmetro Points e pintado com o pincel corrente.
Declarao
procedure Polygon(Points: array of TPoint);
POLYLINE
Descrio
Esse mtodo desenha uma linha poligonal cujos vrtices esto definidos na array de pontos passada no parmetro Points, utilizando-se a caneta corrente.
Declarao
procedure Polyline(Points: array of TPoint);
POP
Descrio
Este mtodo retorna um ponteiro para o prximo elemento armazenado na estrutura de dados representada pelo objeto, que pode ser uma Pilha ou uma Fila. Este mtodo remove o ponteiro da estrutura.
Declarao
function Pop: Pointer;
POPUP
Descrio
O mtodo Popup exibe um menu flutuante na posio especificada pelos parmetros X e Y.
Declarao
procedure Popup(X, Y: Integer);
POST
Descrio
Esse mtodo grava o registro corrente no banco de dados.
Declarao
procedure Post;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TADODataset, TADOTable, TADOQuery, TADOStoredProc, TIBDataset, TIBTable, TIBQuery, TIBStoredProc, TTable, TQuery, TStoredProc, TClientDataset, TIBClientDataset e TSimpleDataset
PREPARE
Descrio
Para componentes do tipo TIBSQL, TIBQuery, TIBStoredoroc, TADOQuery, TADOStoredproc, TStoredProc e TQuery, esse mtodo envia uma busca parametrizada para o Borland Database Engine ou outro mecanismo de acesso a banco de dados. Para componentes do tipo TQuickReport, esse mtodo permite que se crie um relatrio sem uma prvisualizao ou impresso.
Declarao
procedure Prepare;
PREVIEW
Descrio
Esse mtodo permite a pr-visualizao de um relatrio.
Declarao
procedure Preview
PREVIOUS
Descrio
Para objetos do tipo TForm, esse mtodo torna ativa a janela-filha anterior de uma aplicao MDI. Para objetos do tipo TMediaPlayer, faz com que a trilha apontada pelo componente seja a anterior trilha atual.
Declarao
procedure Previous;
Exemplo
A linha de cdigo a seguir torna ativa a janela-filha anterior de um formulrio Form1 com a propriedade FormStyle igual a fsMDIForm.
Form1.Previous;
PRINT
Descrio
Para componentes do tipo Tform, o mtodo Print faz com que o formulrio seja impresso. Para componentes do tipo TQRPrinter, o mtodo Print imprime um relatrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1307
Exemplo
A linha de cdigo a seguir faz com que o formulrio Form1 seja impresso:
Form1.Print;
PRIOR
Descrio
Esse mtodo move o ponteiro para o registro anterior de um banco de dados.
Declarao
procedure Prior;
PROCESSMESSAGES
Descrio
Esse mtodo interrompe a execuo da aplicao de forma que o Windows possa responder a mensagens pendentes.
Declarao
procedure ProcessMessages;
Exemplo
O trecho de cdigo a seguir executa o mtodo ProcessMessages em uma aplicao.
Application. ProcessMessages;
PUSH
Descrio
Este mtodo adiciona um ponteiro para um objeto em uma estrutura de dados representada pelo objeto, que pode ser uma Pilha ou uma Fila.
Declarao
procedure Push(AItem: Pointer);
QUEUEEVENTS
Descrio
Este mtodo inicia a notificao de eventos para a aplicao.
Declarao
procedure QueueEvents;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TIBEvents
READ
Descrio
Esse mtodo copia os bytes armazenados em um campo para a varivel definida no parmetro Buffer.
Declarao
function Read(var Buffer; Count: Longint): Longint;
READBOOL
Descrio
Esse mtodo l um valor booleano (definido no parmetro Ident) de uma seo (definida no parmetro Section) de um arquivo INI.
Declarao
function ReadBool(const Section, Ident: string; Default: Boolean): Boolean;
READINTEGER
Descrio
Esse mtodo l um valor inteiro (definido no parmetro Ident) de uma seo (definida no parmetro Section) de um arquivo INI.
Declarao
function ReadInteger(const Section, Ident: string; Default: Longint): Longint;
READSECTION
Descrio
Esse mtodo l todas as variveis de uma seo (definida no parmetro Section) de um arquivo INI e as armazena na lista de strings definida pelo parmetro Strings.
Declarao
procedure ReadSection (const Section: string; Strings: TStrings);
READSECTIONVALUES
Descrio
Esse mtodo l todas as variveis e seus valores de uma seo (definida no parmetro Section) de um arquivo INI e os armazena na lista de strings definida pelo parmetro
Strings.
Declarao
procedure ReadSectionValues(const Section: string; Strings: TStrings);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1309
READSTRING
Descrio
Esse mtodo l o valor de uma string (definida no parmetro Ident) de uma seo (definida no parmetro Section) de um arquivo INI.
Declarao
function ReadString(const Section, Ident, Default: string): string;
REALIGN
Descrio
Esse mtodo fora um realinhamento dos controles-filhos do controle corrente.
Declarao
procedure Realign;
RECTANGLE
Descrio
Esse mtodo desenha um retngulo definido pelos pontos (X1,Y1) vrtice superior
esquerdo e (X2,Y2) vrtice inferior direito, com o pincel e a caneta corrente.
Declarao
procedure Rectangle(X1, Y1, X2, Y2: Integer);
REFRESH
Descrio
No caso de componentes TTable, TQuery e TStoredProc, esse mtodo garante a atualizao do conjunto de dados exibidos. Para os demais controles, o mtodo Refresh atualiza as imagens exibidas pelos controles, chamando internamente os mtodos Invalidate (que apaga o contedo atual) e Update.
Declarao
procedure Refresh;
Exemplo
O trecho de cdigo a seguir fora a atualizao da imagem exibida em um controle Image1 do tipo TImage ao se clicar sobre um boto chamado Button1 com o boto esquerdo do mouse.
procedure TForm1.Button1Click(Sender: Tobject); begin Image1.Refresh; end;
CAPTULO 42 MTODOS
REGISTERCHANGES
Descrio
Esse mtodo chamado por um objeto que deseja ser informado de alteraes ocorridas na lista de imagens.
Declarao
procedure RegisterChanges(Value: TChangeLink);
REGISTEREVENTS
Descrio
Este mtodo registra, para a aplicao, os eventos definidos pela propriedade Events do componente.
Declarao
procedure RegisterEvents;
RELEASE
Descrio
Esse mtodo idntico ao mtodo Free, exceto que aguarda que a execuo de cdigo de todos os eventos pendentes do formulrio ou componentes nele inseridos seja finalizada.
Declarao
procedure Release;
Exemplo
A linha de cdigo a seguir mostra um formulrio chamado Form1 executando o seu mtodo Release.
Form1.Release;
RELEASEHANDLE
Descrio
Esse mtodo libera o handle usado pelo objeto.
Declarao
function ReleaseHandle: HBitmap;
Exemplo
A linha de cdigo a seguir libera o handle de um objeto Bitmap1 do tipo TBitmap.
Bitmap1.ReleaseHandle;
RELEASEPALETTE
Descrio
Esse mtodo libera o handle da paleta de cores usada pelo objeto.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1311
Exemplo
A linha de cdigo a seguir libera o handle da paleta de cores de um objeto Bitmap1 do tipo TBitmap.
Bitmap1.ReleasePalette;
REMOVE
Descrio
Para componentes dos tipos TList e TMenuItem, esse mtodo remove o item especificado pelo parmetro Item e retorna o valor da posio que era ocupada pelo Item.
Declarao
function Remove(Item: Pointer): Integer;
REMOVEALLPASSWORD
Descrio
Esse mtodo, que s se aplica a componentes relacionados a bancos de dados do tipo Paradox, desconsidera todas as senhas fornecidas pelo usurio, solicitando nova senha para que as tabelas possam ser reabertas.
Declarao
procedure RemoveAllPasswords;
Exemplo
O trecho de cdigo a seguir aciona o mtodo RemoveAllPassword:
Session.RemoveAllPassword;
REMOVEALLSERIES
Descrio
Esse mtodo remove todas as sries do grfico exibido no componente.
Declarao
procedure RemoveAllSeries;
REMOVECOMPONENT
Descrio
Esse mtodo remove um componente passado no parmetro AComponent na lista de componentes definida pela propriedade Components do componente atual.
Declarao
procedure RemoveComponent(AComponent: Tcomponent);
CAPTULO 42 MTODOS
Exemplo
O trecho de cdigo a seguir remove um boto Button1 do tipo TButton na array de componentes de um formulrio chamado Form1.
Form1.RemoveComponent(Button1);
REMOVEDATABASE
Descrio
Este mtodo remove da sua propriedade Databases o objeto da classe TIBDatabase cujo ndice passado como parmetro.
Declarao
procedure RemoveDatabase(Idx: Integer);
REMOVEDATABASES
Descrio
Este mtodo remove da sua propriedade Databases todos os objetos da classe TIBDatabase por ela referenciados.
Declarao
procedure RemoveDatabases;
REMOVEPASSWORD
Descrio
Esse mtodo, que s se aplica a componentes relacionados a bancos de dados do tipo Paradox, elimina a senha definida no parmetro Password do conjunto de senhas autorizadas.
Declarao
procedure RemovePassword(const Password: string);
Exemplo
O trecho de cdigo a seguir aciona o mtodo RemovePassword para eliminar uma senha:
Session.RemovePassword(Senha);
REMOVESERIES
Descrio
Esse mtodo remove uma srie do grfico exibido no componente.
Declarao
procedure RemoveSeries(ASeries : TChartSeries);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1313
REMOVETRANSACTION
Descrio
Esse mtodo cancela a associao da transao cujo ndice passado como parmetro.
Declarao
procedure RemoveTransaction(Idx: Integer);
REMOVETRANSACTIONS
Descrio
Esse mtodo cancela a associao de todas as transaes.
Declarao
procedure RemoveTransactions;
REPAINT
Descrio
O mtodo Repaint atualiza as imagens exibidas pelos controles sem apagar a imagem atual.
Declarao
procedure Repaint;
Exemplo
O trecho de cdigo a seguir fora a atualizao da imagem exibida em um controle chamado Image1 do tipo TImage ao se clicar sobre um boto chamado Button1 com o boto esquerdo do mouse.
procedure TForm1.Button1Click(Sender: Tobject); begin Image1.Repaint; end;
Observao: Ao contrrio do que ocorre com o mtodo Refresh, a imagem atual no apagada.
REPLACEICON
Descrio
Esse mtodo substitui a imagem armazenada na posio definida pelo parmetro Index pelo cone passado pelo parmetro Image.
Declarao
procedure ReplaceIcon(Index: Integer; Image: TIcon);
REPLACEMASKED
Descrio
Esse mtodo substitui a imagem armazenada na posio definida pelo parmetro Index pela imagem passada no parmetro NewImage e com a mscara transparente definida na propriedade MaskColor.
CAPTULO 42 MTODOS
Declarao
procedure ReplaceMasked(Index: Integer; NewImage: TBitmap; MaskColor: TColor);
REQUESTDATA
Descrio
Esse mtodo obtm um dado (definido no parmetro Item) de uma aplicao servidora em uma conversao DDE.
Declarao
function RequestData(const Item: string): PChar;
RESET
Descrio
Esse mtodo redefine os valores default para as propriedades StartFrame e StopFrame do componente, exibe o seu primeiro quadro e atribui o valor False sua propriedade Active.
Declarao
Procedure Reset;
RESOURCELOAD
Descrio
Esse mtodo carrega um recurso do tipo TResType na lista de imagens do componente, com a mscara transparente definida na propriedade MaskColor.
Declarao
function ResourceLoad(ResType: TResType; Name: string; MaskColor: TColor): Boolean;
RESTORE
Descrio
Esse mtodo restaura o tamanho que o formulrio principal de uma aplicao tinha antes de ser minimizado ou maximizado.
Declarao
procedure Restore;
Exemplo
O trecho de cdigo a seguir executa o mtodo Restore em uma aplicao.
Application. Restore;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1315
RESTORETOPMOSTS
Descrio
Esse mtodo faz com que os formulrios recuperem seu comportamento definido pela propriedade FormStyle igual a fsStayOnTop aps terem seu comportamento alterado pela execuo do mtodo NormalizeTopMosts.
Declarao
procedure RestoreTopMosts;
Exemplo
O trecho de cdigo a seguir executa o mtodo RestoreTopMosts em uma aplicao.
Application. RestoreTopMosts;
RESUME
Descrio
Para objetos da classe TMediaPlayer, reinicia a reproduo em um dispositivo multimdia interrompida pelo mtodo Pause. Para objetos da classe Tthread, reinicia a sua execuo.
Declarao
procedure Resume;
Exemplo
O trecho de cdigo a seguir reinicia a reproduo em um dispositivo multimdia interrompida com um mtodo Pause.
MediaPlayer1.Resume;
REWIND
Descrio
O mtodo Rewind define a posio corrente em um dispositivo multimdia como a definida na propriedade Start.
Declarao
procedure Rewind;
Exemplo
O trecho de cdigo a seguir comea a reproduo no incio de um dispositivo multimdia quando um boto chamado Rewind do tipo TButton selecionado:
procedure TForm1.RewindClick(Sender: TObject); begin MediaPlayer1.Rewind; MediaPlayer1.Play; end;
CAPTULO 42 MTODOS
ROLLBACK
Descrio
Esse mtodo desfaz a transao corrente e todas as modificaes feitas nos registros do banco de dados associado desde a ltima chamada ao mtodo StartTransaction.
Declarao
procedure RollBack;
ROLLBACKRETAINING
Descrio
Esse mtodo desfaz a transao corrente e todas as modificaes feitas nos registros do banco de dados associado desde a ltima chamada ao mtodo StartTransaction, mantendo o contexto de transao corrente.
Declarao
procedure RollBackRetaining;
ROUNDRECT
Descrio
Esse mtodo desenha um retngulo definido pelos pontos (X1,Y1) vrtice superior esquerdo e (X2,Y2) vrtice inferior direito, com os cantos arredondados por um quadrante elptico de dimenses X3 e Y3, usando o pincel e a caneta correntes.
Declarao
procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);
RUN
Descrio
Para componentes do tipo TApplication, esse mtodo executa a aplicao. Normalmente, a chamada a esse mtodo feita no arquivo de projeto (*.DPR) e includa automaticamente pelo Delphi.
Declarao
procedure Run;
Exemplo
O trecho de cdigo a seguir executa uma aplicao:
Application.Run
SAVE
Descrio
Para componentes do tipo TMediaPlayer, esse mtodo salva o registro corrente em um dispositivo multimdia, em um arquivo definido pela propriedade FileName.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1317
Declarao
Para componentes do tipo TMediaPlayer:
procedure Save;
Exemplo
O trecho de cdigo a seguir inicia a gravao em um dispositivo multimdia quando um boto Save do tipo TButton selecionado:
procedure TForm1.SaveClick(Sender: TObject); begin MediaPlayer1.Save; end;
SAVETOBITMAPFILE
Descrio
Esse mtodo grava, em um arquivo no formato bitmap, o grfico exibido no componente.
Declarao
procedure SaveToBitmapFile( Const FileName : String ) ;
SAVETOFILE
Descrio
O mtodo SaveToFile salva um objeto ou relatrio no arquivo definido pelo parmetro FileName.
Declarao
procedure SaveToFile(const FileName: string);
Exemplo
A linha de cdigo a seguir faz com que a lista de strings, armazenada na propriedade Lines de um componente Memo1 do tipo TMemo, seja salva em um arquivo chamado temp.txt:
Memo1.Lines.SaveToFile(TEMP.TXT);
SAVETOMETAFILE
Descrio
Esse mtodo grava, em um arquivo no formato windows metafile (wmf), o grfico exibido no componente.
Declarao
procedure SaveToMetafile(Const FileName : String);
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TChart e TDBChart
SAVETOMETAFILEENH
Descrio
Esse mtodo grava, em um arquivo no formato enhanced windows metafile, o grfico exibido no componente.
Declarao
procedure SaveToMetafileEnh(Const FileName : String);
SAVETOSTREAM
Descrio
Esse mtodo copia o contedo do campo ou relatrio na stream especificada no parmetro Stream.
Declarao
procedure SaveToStream(Stream: TStream);
Exemplo
O trecho de cdigo a seguir salva o contedo do campo BlobField1 do tipo TBlobField em uma stream chamada Stream1.
BlobField1.SaveToStream(Stream1);
SCALEBY
Descrio
Esse mtodo faz uma transformao de escala nas dimenses de um componente, em relao s suas dimenses iniciais. Para isso, devem ser fornecidos os parmetros inteiros M e D que so, respectivamente, o Numerador e o Denominador do fator de escala.
Declarao
procedure ScaleBy(M, D: Integer);
Exemplo
Se voc quiser que um boto Button1 dobre as suas dimenses quando o usurio der um clique sobre ele com o boto do mouse, inclua a seguinte linha de cdigo no seu evento OnClick:
Button1.ScaleBy(2,1);
SCREENTOCLIENT
Descrio
Esse mtodo faz a transformao das coordenadas de um ponto do sistema de coordenadas da tela para o sistema de coordenadas da rea-cliente (o inverso do mtodo ClientToScreen).
Declarao
function ScreenToClient (Point: TPoint): TPoint;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1319
Esse mtodo uma funo e, conseqentemente, o seu valor de retorno pode ser atribudo a uma varivel.
SCROLLBY
Descrio
O mtodo ScrollBy faz a rolagem do contedo de um formulrio ou controle-pai. Os parmetros DeltaX e DeltaY definem a variao, em pixels, ao longo dos eixos X e Y, respectivamente. Um valor positivo de DeltaX provoca uma rolagem para a direita e um valor negativo provoca uma rolagem para a esquerda. Um valor positivo de DeltaY provoca uma rolagem para baixo e um valor negativo provoca uma rolagem para cima.
Declarao
procedure ScrollBy(DeltaX, DeltaY: Integer);
Exemplo
Se voc quiser que o contedo de um formulrio Form1 role 10 unidades para a direita e para baixo cada vez que o usurio clicar sobre um boto chamado Button1, defina o evento OnClick de Button1 da seguinte forma:
procedure TForm1.Button1Click(Sender: TObject); begin ScrollBy(10,10); end;
SCROLLINVIEW
Descrio
Esse mtodo rola o contedo de um componente do tipo TForm ou TScrollBox de forma que o controle especificado no parmetro AControl seja ao menos parcialmente visvel.
CAPTULO 42 MTODOS
Declarao
procedure ScrollInView(AControl: TControl);
Exemplo
A linha de cdigo a seguir rola o contedo de um formulrio chamado Form1 at que um boto chamado Button1 do tipo TButton esteja ao menos parcialmente visvel.
ScrollInView(Button1);
SEEK
Descrio
Para objetos da classe TBlobStream, esse mtodo reposiciona o ponteiro de leitura em um campo de um dado. Para objetos da classe TAnimate, esse mtodo reposiciona o clipe no quadro cujo ndice passado como parmetro.
Declarao
Para objetos da classe TBlobStream:
function Seek(Offset: Longint; Origin: Word): Longint;
SELECTALL
Descrio
O mtodo SelectAll seleciona todos os itens de um componente.
Declarao
procedure SelectAll;
Exemplo
Se voc quiser selecionar todos os itens de um componente Memo1 do tipo TMemo, basta incluir a seguinte linha de cdigo:
Memo1.SelectAll;
SELECTNEXT
Descrio
O mtodo SelectNext seleciona a prxima guia em um controle do tipo TTabSet. O parmetro booleano Direction define se a prxima guia a ser selecionada deve ser a da direita (True) ou a da esquerda (False).
Declarao
procedure SelectNext(Direction: Boolean);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1321
SELECTNEXTPAGE
Descrio
Esse mtodo permite que se especifique a prxima pgina a ser exibida pelo controle. Se o parmetro GoForWard for igual a True, a prxima pgina ser a numericamente subseqente. Se o parmetro GoForWard for igual a False, a prxima pgina ser a numericamente anterior.
Declarao
procedure SelectNextPage(GoForward: Boolean);
SENDTOBACK
Descrio
O mtodo SendToBack coloca o controle atrs de todos os controles que existem no mesmo formulrio ( o inverso do mtodo BringToFront).
Declarao
procedure SendToBack;
Exemplo
O trecho de cdigo a seguir faz com que um boto de rdio chamado RadioButton1 seja colocado atrs de todos os outros componentes que existem no mesmo formulrio:
RadioButton1.Bring SendToBack;
SERIESCOUNT
Descrio
Esse mtodo retorna o nmero de sries mostradas no grfico exibido no componente.
Declarao
function SeriesCount : Longint ;
SETASHANDLE
Descrio
Esse mtodo define um handle para um objeto com o formato definido no parmetro Format a ser armazenado no clipboard.
Declarao
function SetAsHandle (Format: Word): THandle;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TClipboard
SETBOUNDS
Descrio
O mtodo SetBounds define de uma s vez o valor das variveis Left, Top, Width e Height de um componente, por meio dos valores passados pelos parmetros ALeft, ATop, AWidth e Aheight, respectivamente.
Declarao
procedure Setbounds(ALeft, ATop, AWidth, AHeight: Integer);
Exemplo
O trecho de cdigo a seguir dobra o tamanho de um boto chamado Button1 quando o usurio clica sobre ele com o boto esquerdo do mouse:
procedure TForm1.Button1Click(Sender: TObject); begin Button1.SetBounds(Left, Top, Width * 2, Height * 2); end;
SETCOMPONENT
Descrio
Esse mtodo copia um componente (definido pelo parmetro Component) no clipboard.
Declarao
procedure SetComponent(Component: TComponent);
SETDATA
Descrio
Esse mtodo armazena no campo o valor do parmetro Buffer.
Declarao
procedure SetData(Buffer: Pointer);
SETFIELDS
Descrio
Esse mtodo atribui aos campos de um banco de dados os valores definidos na array passado pelo parmetro Values.
Declarao
procedure SetFields(const Values: array of const);
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1323
SETFOCUS
Descrio
O mtodo SetFocus faz com que o controle receba o foco da aplicao.
Declarao
procedure SetFocus;
Exemplo
O trecho de cdigo a seguir faz com que um controle Edit1 do tipo TEdit receba o foco da aplicao:
Edit1.SetFocus;
SETKEY
Descrio
Esse mtodo usado para definir valores para o buffer de pesquisa em uma tabela.
Declarao
procedure SetKey;
SETLINK
Descrio
Esse mtodo define a aplicao servidora e o tpico em uma conversao DDE.
Declarao
function SetLink(Service: string; Topic: string): Boolean;
SETPARAMS
Descrio
O mtodo SetParams define com os parmetros Aposition, AMin e AMax os valores das propriedades Position, Min e Max de uma barra de rolamento.
Declarao
procedure SetParams(APosition, AMin, AMax: Integer);
Exemplo
Voc pode definir os parmetros de uma barra de rolamento com uma chamada ao mtodo SetParams, como no trecho de cdigo a seguir:
ScrollBar1.SetParams(10,0,100);
SETPRINCIPAL
Descrio
Esse mtodo envia uma array de bytes para a aplicao servidora.
CAPTULO 42 MTODOS
Declarao
procedure SetPrincipal(const Principal: TCorbaPrincipal);
SETPRINTER
Descrio
Esse mtodo especifica uma impressora como a impressora corrente.
Declarao
procedure SetPrinter(ADevvice, ADriver, APort: PChar; ADeviceMode: THandle);
SETRANGE
Descrio
Esse mtodo corresponde a chamar os mtodos SetRangeStart, SetRangeEnd e
ApplyRange.
Declarao
procedure SetRange(const StartValues, EndValues: array of const);
SETRANGEEND
Descrio
Esse mtodo indica que as atribuies de campo que se seguirem definiro o trmino da faixa de registros a incluir no banco de dados associado.
Declarao
procedure SetRangeEnd;
SETRANGESTART
Descrio
Esse mtodo indica que as atribuies de campo que se seguirem definiro o incio da faixa de registros a incluir no banco de dados associado.
Declarao
procedure SetRangeStart;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1325
SETSELTEXTBUF
Descrio
O mtodo SetSelTextBuf atribui, ao texto selecionado em um controle, a string terminada em zero apontada pela varivel Buffer.
Declarao
procedure SetSelTextBuf(Buffer: PChar);
Exemplo
Se voc quiser que um componente Edit1 do tipo TEdit substitua o texto selecionado pela mensagem Voc pressionou o boto 1 quando o usurio clicar sobre um boto chamado Button1, pode incluir a seguinte linha de cdigo no evento OnClick associado ao boto:
Edit1.SetSelTextBuf(Voc pressionou o boto 1);
SETTABFOCUS
Descrio
O mtodo SetTabFocus faz com que a pgina ativa seja aquela cujo valor da propriedade PageIndex igual ao parmetro Index.
Declarao
procedure SetTabFocus(Index: Integer);
Exemplo
O trecho de cdigo a seguir faz com que a segunda pgina de um componente TabbedNotebook1 do tipo TTabbedNotebook seja a pgina ativa.
TabbedNotebook1.SetTabFocus[1];
SETTEXT
Descrio
Esse mtodo armazena uma lista de strings, definida como uma string de terminao nula no parmetro Text.
Declarao
procedure SetText(Text: PChar);
SETTEXTBUF
Descrio
O mtodo SetTextBuf atribui ao texto exibido por um controle a string terminada em zero apontada pela varivel Buffer.
Declarao
procedure SetTextBuf(Buffer: PChar);
CAPTULO 42 MTODOS
Exemplo
Se voc quiser que um componente Edit1 do tipo TEdit exiba a mensagem Voc pressionou o boto 1 quando o usurio clicar sobre um boto chamado Button1, pode incluir a seguinte linha de cdigo no evento OnClick associado ao boto:
Edit1.SetTextBuf(Voc pressionou o boto 1);
SETUPDATESTATE
Descrio
O mtodo SetUpdateState define se a reindexao dos itens em um componente do tipo TOutline deve ou no ser feita automaticamente, de acordo com o valor passado pelo parmetro Value.
Declarao
procedure SetUpdateState(Value: Boolean);
Exemplo
Voc pode acionar o mtodo SetUpdateState de um componente Outline1 do tipo TOutline mediante a incluso de uma linha de cdigo como:
Outline1.SetUpdateState(True);
SHOW
Descrio
O mtodo Show torna visvel um componente, fazendo sua propriedade Visible igual a True ( o inverso do mtodo Hide).
Declarao
procedure Show;
Exemplo
Se voc quiser que um boto chamado Button1 aparea em um formulrio que o contm (Form1) ao se clicar sobre o formulrio com o boto esquerdo do mouse, defina o evento OnClick do formulrio da seguinte forma:
procedure TForm1.FormClick(Sender: TObject); begin Button1.Show; end;
SHOWCUBEDIALOG
Descrio
Esse mtodo exibe a caixa de dilogo do editor de propriedades do componente.
Declarao
procedure ShowCubeDialog;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1327
SHOWDRAGIMAGE
Descrio
Esse mtodo exibe a imagem correntemente arrastada, que havia sido ocultada por uma chamada ao mtodo HideDragImage.
Declarao
procedure ShowDragImage;
SHOWEXCEPTION
Descrio
Esse mtodo exibe uma mensagem informando uma exceo ocorrida durante a execuo da aplicao.
Declarao
procedure ShowException(E: Exception);
Exemplo
O trecho de cdigo a seguir executa o mtodo ShowException em uma aplicao:
var E : Exception; begin E := Exception.Create(Exceo); Application.ShowException(E); end;
SHOWMODAL
Descrio
O mtodo ShowModal exibe um formulrio de forma modal, isto , a aplicao s pode continuar fora do formulrio depois que este fechado pelo usurio. Quando isso ocorre, a propriedade ModalResult do formulrio retorna um valor diferente de zero.
Declarao
procedure ShowModal;
Exemplo
Se voc quiser que um formulrio chamado Form2 aparea de forma modal ao se clicar sobre um boto Button1 de um formulrio chamado Form1, defina o evento OnClick de Button1 da seguinte forma:
procedure TForm1.Button1Click(Sender: TObject); begin Form2.ShowModal; end;
CAPTULO 42 MTODOS
STARTRECORDING
Descrio
O mtodo StartRecording inicia a gravao no registro corrente ou na posio definida pela propriedade StartPos em um dispositivo multimdia.
Declarao
procedure StartRecording;
Exemplo
O trecho de cdigo a seguir executa o mtodo StartRecording em um dispositivo multimdia:
MediaPlayer1.StartRecording;
STARTTRANSACTION
Descrio
Esse mtodo inicia uma transao no nvel de isolamento definido pela propriedade Transisolation.
Declarao
procedure StartTransaction;
STEP
Descrio
O mtodo Step faz com que o dispositivo multimdia avance um certo nmero de quadros, especificado na propriedade Frames.
Declarao
procedure Step;
Exemplo
O trecho de cdigo a seguir faz com que um dispositivo multimdia acione seu mtodo Step com um boto Step do tipo TButton:
procedure TForm1.StepClick(Sender: TObject); begin MediaPlayer1.Step; end;
STOP
Descrio
O mtodo Stop interrompe a reproduo ou a gravao em um dispositivo multimdia (no caso do componente TMediaPlayer) ou do clipe AVI (no caso do componente TAnimate).
Declarao
procedure Stop;
Exemplo
O trecho de cdigo a seguir interrompe a reproduo ou gravao em um dispositivo multimdia quando um boto Stop do tipo TButton selecionado:
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1329
STRETCHDRAW
Descrio
Esse mtodo desenha o objeto grfico definido no parmetro Graphic na rea retangular definida pelo parmetro Rect, redimensionando o grfico de forma a ocupar toda a rea retangular.
Declarao
procedure StretchDraw(const Rect: TRect; Graphic: TGraphic);
SUSPEND
Descrio
Esse mtodo suspende a execuo de uma thread.
Declarao
procedure Suspend;
SYNCHRONIZE
Descrio
Esse mtodo sincroniza a execuo do mtodo passado como parmetro com a thread principal da VCL.
Declarao
procedure Synchronize(Method: TThreadMethod);
TERMINATE
Descrio
Para objetos da classe TApplication, esse mtodo finaliza a aplicao. Para objetos da classe TThread, esse mtodo finaliza a sua execuo.
Declarao
Para TApplication e TThread:
procedure Terminate;
Para TIWApplication
procedure Terminate(const AMsg: string);
Exemplo
O trecho de cdigo finaliza a execuo de uma aplicao:
Application.Terminate;
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TApplication, TIWApplication e TThread
TESTCONNECTED
Descrio
Esse mtodo verifica se a conexo ao banco de dados representado pelo componente est ativa.
Declarao
function TestConnected: Boolean;
TEXTHEIGHT
Descrio
Esse mtodo retorna a altura, em pixels, da string passada no parmetro text para a fonte corrente.
Declarao
function TextHeight(const Text: string): Integer;
TEXTOUT
Descrio
Esse mtodo desenha a string passada no parmetro Text para a fonte corrente na posio X,Y (canto superior esquerdo da string).
Declarao
procedure TextOut(X, Y: Integer; const Text: string);
TEXTRECT
Descrio
Esse mtodo desenha a string passada no parmetro Text para a fonte corrente na posio X,Y (canto superior esquerdo da string), em um retngulo de clipping definido no parmetro Rect.
Declarao
procedure TextRect(Rect: TRect; X, Y: Integer; const Text: string);
TEXTWIDTH
Descrio
Esse mtodo retorna a largura, em pixels, da string passada no parmetro text para a fonte corrente.
Declarao
function TextWidth(const Text: string): Integer;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1331
TILE
Descrio
O mtodo Tile exibe todos os formulrios-filhos ativos de um formulrio-pai com o mesmo tamanho e ocupando toda a rea-cliente do formulrio-pai. Esse mtodo s se aplica aos formulrios-pais cuja propriedade FormStyle vale fsMDIForm. A forma de exibio depende do valor da propriedade TileMode.
Declarao
procedure Tile;
Exemplo
Crie um item de menu chamado TileFormsClick no menu principal do formulrio-pai MDI e defina o seu evento OnClick da seguinte forma, para que os formulrios-filhos sejam exibidos lado a lado e verticalmente:
procedure TForm1.TileForms1Click(Sender: TObject); begin TileMode := tbVertical; Tile; end;
TRUNCATE
Descrio
Esse mtodo trunca o contedo do campo definido pelo objeto na posio corrente do ponteiro, descartando os dados restantes.
Declarao
procedure Truncate;
UNLOCKTABLE
Descrio
Esse mtodo remove uma restrio imposta a outras aplicaes que acessam a tabela para leitura e/ou gravao, feita por uma chamada ao mtodo LockTable.
Declarao
procedure LockTable(LockType: TLockType);
UNMERGE
Descrio
Esse mtodo desfaz a mesclagem de dois menus de formulrios diversos em uma aplicao no-MDI. O parmetro Menu define o menu a ser retirado da combinao.
Declarao
procedure Unmerge(Menu: TMainMenu);
CAPTULO 42 MTODOS
Componentes aos quais se aplica:
TMainMenu
UNPREPARE
Descrio
Para componentes do tipo TIBDataset, TADOQuery, TIBQuery, TQuery, esse mtodo atribui o valor False propriedade Prepared do componente. Para componentes dos tipos TADOStoredProc, TIBStoredproc, e TStoredProc, esse mtodo informa ao servidor que o procedimento armazenado no ser mais usado, possibilitando a liberao de recursos do sistema.
Declarao
procedure UnPrepare;
UNREGISTERCHANGES
Descrio
Esse mtodo cancela os efeitos da chamada ao mtodo RegisterChanges.
Declarao
procedure UnRegisterChanges(Value: TChangeLink);
UNREGISTEREVENTS
Descrio
Este mtodo cancela o registro dos eventos definidos pela propriedade Events do componente.
Declarao
procedure UnregisterEvents;
UPDATE
Descrio
No caso dos controles em geral, o mtodo Update chama a funo UpdateWindow da API do Windows para atualizar a sua exibio. No caso de objetos do tipo TFileListBox e TDirectoryListBox, o mtodo fora a atualizao da lista de diretrios e arquivos. Para componentes dos tipos TFieldDefs e TIndexDefs, o mtodo atualiza a propriedade Items. Para objetos da classe TAction, executa o procedimento associado ao evento OnUpdate (se este estiver definido).
Declarao
Para objetos da classe TAction:
function Update: Boolean; override;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1333
UPDATECURSORPOS
Descrio
Esse mtodo ajusta a posio corrente do cursor no banco de dados de acordo com a posio atual do cursor no Borland Database Engine.
Declarao
procedure UpdateCursorPos;
UPDATERECORD
Descrio
Esse mtodo atualiza os registros em todos os componentes do tipo TDataSource.
Declarao
procedure UpdateRecord;
VALIDATEEDIT
Descrio
Esse mtodo analisa o valor da propriedade EditText para verificar a existncia de espaos em branco nos quais requerida a presena de um caractere. Se ocorrer, provoca uma exceo do tipo EDBEditError.
Declarao
procedure ValidateEdit;
Exemplo
O trecho de cdigo a seguir usa o mtodo ValidateEdit no evento OnExit de um componente DBEdit1 do tipo TDBEdit:
procedure TForm1.DBEdit1Exit(Sender: TObject); begin ValidateEdit; end;
WRITE
Descrio
Esse mtodo copia os bytes, armazenados na varivel definida pelo parmetro Buffer, no campo representado pelo objeto.
CAPTULO 42 MTODOS
Declarao
function Write(const Buffer; Count: Longint): Longint; override;
WRITEBCDDATA
Descrio
Esse mtodo escreve um valor do tipo Binrio quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
Declarao
function WriteBCDData(FormatData: String; NativeData: Currency): String;
WRITEBLOBDATA
Descrio
Esse mtodo escreve um valor do tipo Blob (Binary Large Objects) quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
Declarao
function WriteBlobData(var: Buffer; Len: Longint): String;
WRITEBOOL
Descrio
Esse mtodo escreve um valor booleano (definido no parmetro Ident) em uma seo (definida no parmetro Section) de um arquivo INI.
Declarao
procedure WriteBool(const Section, Ident: string; Value: Boolean);
WRITEBOOLDATA
Descrio
Esse mtodo escreve um valor do tipo Booleano quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
Declarao
function WriteBoolData(FormatData: String; NativeData: Boolean): String;
WRITECURRDATA
Descrio
Esse mtodo escreve um valor do tipo Currency quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1335
WRITEDATETIME
Descrio
Esse mtodo escreve um valor do tipo DateTime quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
Declarao
function WriteDateTime(FormatData: String; NativeData: TDateTime);
WRITEFLOATDATA
Descrio
Esse mtodo escreve um valor do tipo float (real) quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
Declarao
function WriteFloatData(FormatData: String; NativeData: Extended): String;
WRITEINTDATA
Descrio
Esse mtodo escreve um valor do tipo inteiro quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
Declarao
function WriteIntData(FormatData: String; NativeData: Integer): String;
WRITEINTEGER
Descrio
Esse mtodo escreve um valor inteiro (definido no parmetro Ident) em uma seo (definida no parmetro Section) de um arquivo INI.
Declarao
procedure WriteInteger(const Section, Ident: string; Value: Longint);
WRITENULLDATA
Descrio
Esse mtodo escreve um valor do tipo NULL quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
CAPTULO 42 MTODOS
Declarao
function WriteNullData( no parameters );
WRITESTRDATA
Descrio
Esse mtodo escreve um valor do tipo string quando da ocorrncia de um evento OnGetRow do componente de acesso vinculado ao relatrio que est sendo gerado.
Declarao
function WriteStrData(FormatData: String; NativeData: String): String;
WRITESTRING
Descrio
Esse mtodo escreve o valor de uma string (definida no parmetro Ident) em uma seo (definida no parmetro Section) de um arquivo INI.
Declarao
procedure WriteString(const Section, Ident, Value: String);
ZOOMTOFIT
Descrio
Esse mtodo executa um zoom na pr-visualizao do relatrio, de forma a ocupar toda a rea do componente.
Declarao
procedure ZoomToFit;
ZOOMTOWIDTH
Descrio
Esse mtodo executa um zoom na pr-visualizao do relatrio, de forma a ocupar toda a largura do componente.
Declarao
procedure ZoomToWidth;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1337
CAPTULO 43 EVENTOS
Captulo
Eventos
43
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1339
AFTERCANCEL
Descrio
Esse evento ocorre aps uma chamada ao mtodo Cancel do componente.
AFTERCLOSE
Descrio
Esse evento ocorre aps uma chamada ao mtodo Close do componente.
AFTERCONNECT
Descrio
Esse evento ocorre aps se estabelecer uma conexo a um banco de dados.
AFTERDELETE
Descrio
Esse evento ocorre aps uma chamada ao mtodo Delete do componente.
AFTERDETAIL
Descrio
Esse evento ocorre logo aps a impresso de um registro acessado atravs de um componente do tipo TQRBand.
AFTERDISCONNECT
Descrio
Esse evento ocorre imediatamente aps se encerrar uma conexo a um banco de dados.
AFTERDISPATCH
Descrio
Esse evento ocorre quando o componente gera o contedo a ser enviado como mensagem de resposta a uma solicitao.
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TXMLBroker e TWebDispatcher
AFTERDRAWVALUES
Descrio
Esse evento ocorre logo aps os pontos de uma srie terem sido plotados em um grfico.
AFTEREDIT
Descrio
Esse evento ocorre aps uma chamada ao mtodo Edit do componente.
AFTERINSERT
Descrio
Esse evento ocorre aps uma chamada ao mtodo Insert do componente.
AFTEROPEN
Descrio
Esse evento ocorre aps uma chamada ao mtodo Open do componente.
AFTERPOST
Descrio
Esse evento ocorre aps uma chamada ao mtodo Post do componente.
AFTERPRINT
Descrio
Esse evento ocorre logo aps a impresso em um componente do tipo TQRBand.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1341
AFTERREFRESH
Descrio
Esse evento ocorre aps uma chamada ao mtodo Refresh do componente.
AFTERSCROLL
Descrio
Esse evento ocorre imediatamente aps se alterar o registro corrente, mediante uma chamada a um dos mtodos de navegao do componente.
BEFORECANCEL
Descrio
Esse evento ocorre no incio da execuo do mtodo Cancel do componente.
BEFORECLOSE
Descrio
Esse evento ocorre no incio da execuo do mtodo Close do componente.
BEFORECONNECT
Descrio
Esse evento imediatamente antes de se estabelecer uma conexo a um banco de dados.
BEFOREDELETE
Descrio
Esse evento ocorre no incio da execuo do mtodo Delete do componente.
CAPTULO 43 EVENTOS
BEFOREDETAIL
Descrio
Esse evento ocorre imediatamente antes da impresso de um registro acessado atravs de um componente do tipo TQRBand.
BEFOREDISCONNECT
Descrio
Esse evento imediatamente antes de se encerrar uma conexo a um banco de dados.
BEFOREDISPATCH
Descrio
Esse evento ocorre quando o componente recebe uma mensagem de solicitao atravs do protocolo http.
BEFOREDRAWVALUES
Descrio
Esse evento ocorre antes que os pontos de uma srie sejam plotados em um grfico.
BEFOREEDIT
Descrio
Esse evento ocorre no incio da execuo do mtodo Edit do componente.
BEFOREINSERT
Descrio
Esse evento ocorre no incio da execuo do mtodo Insert do componente.
BEFOREOPEN
Descrio
Esse evento ocorre no incio da execuo do mtodo Open do componente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1343
BEFOREPOST
Descrio
Esse evento ocorre no incio da execuo do mtodo Post do componente.
BEFOREPRINT
Descrio
Esse evento ocorre imediatamente antes da impresso em um componente do tipo TQRBand
BEFOREREFRESH
Descrio
Esse evento ocorre no incio da execuo do mtodo Refresh do componente.
BEFORESCROLL
Descrio
Esse evento ocorre antes de se alterar o registro corrente, mediante uma chamada a um dos mtodos de navegao do componente.
DATABASEDISONNECTED
Descrio
Esse evento ocorre quando o banco de dados, acessado atravs do mecanismo Interbase Express, desconectado da aplicao.
DATABASEDISONNECTING
Descrio
Esse evento ocorre quando o banco de dados, acessado atravs do mecanismo Interbase Express, est sendo desconectado da aplicao.
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TIBDatabase
DATABASEFREE
Descrio
Esse evento ocorre quando o componente libera a memria por ele alocada.
ONACTIONEXECUTE
Descrio
Este evento ocorre quando o mtodo Execute de um objeto TAction executado, e no tratado pela lista de aes tratadas pelo componente.
ONACTIONUPDATE
Descrio
Este evento ocorre quando o mtodo Update de um objeto TAction executado, e no tratado pela lista de aes tratadas pelo componente.
ONACTIVATE
Descrio
Para componentes do tipo TForm, o mtodo OnActivate ocorre quando um formulrio se torna ativo, isto , quando ele recebe o foco. Para componentes do tipo TApplication, o mtodo OnActivate ocorre quando a aplicao se torna ativa, isto , quando o Windows alterna entre outra aplicao e a representada pelo componente.
Exemplo
O trecho de cdigo a seguir faz com que um formulrio chamado Form1 do tipo TForm alterne a sua cor entre vermelho e amarelo cada vez que o formulrio se torna ativo.
procedure TForm1.FormActivate(Sender: TObject); begin if Form1.Color = clRed then Form1.Color: = clYellow else Form1.Color: = clRed; end;
ONACTIVECONTROLCHANGE
Descrio
Para componentes do tipo TScreen, o mtodo OnActiveControlChange ocorre quando muda o controle que tem o foco da aplicao (definido na propriedade ActiveControl).
Declarao
property OnActiveFormChange: TNotifyEvent;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1345
ONACTIVEFORMCHANGE
Descrio
Para componentes do tipo TScreen, o mtodo OnActiveFormChange ocorre quando muda o formulrio ativo da aplicao (definido na propriedade ActiveForm).
Declarao
property OnActiveFormChange: TNotifyEvent;
ONAFTERADD
Descrio
Esse evento ocorre logo aps um ponto ser adicionado a uma srie.
ONAFTERCLOSE
Descrio
Esse evento ocorre logo aps o projeto de relatrio representado pelo componente ser fechado.
ONAFTERDRAW
Descrio
Esse evento ocorre logo aps o componente ter exibido todas as sries a ele associadas.
ONAFTEROPEN
Descrio
Esse evento ocorre logo aps o projeto de relatrio representado pelo componente ser aberto.
ONAFTERPIVOT
Descrio
Esse evento ocorre logo aps uma alterao no estado do piv corrente.
ONAFTERPRINT
Descrio
Esse evento ocorre logo aps ao impresso do relatrio representado pelo componente.
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TBaseReport, TRvNDRWriter,TRvRenderPreview e TRvRenderPrinter
ONAFTERRENDER
Descrio
Esse evento ocorre logo aps o formulrio ser exibido como uma pgina HTML.
ONAPPLY
Descrio
Para componentes do tipo TFontDialog, o mtodo OnApply ocorre quando o usurio clica no boto Apply da caixa de dilogo.
Exemplo
O trecho de cdigo a seguir faz com que a fonte selecionada em uma caixa de dilogo do tipo TFontDialog seja aplicada ao texto exibido num controle chamado Edit1 do tipo Tedit quando o usurio seleciona o boto Apply.
procedure TForm1.FontDialog1Apply(Sender: TObject; Wnd: Word); begin Edit1.Font: = FontDialog1.Font; end;
ONBEFOREADD
Descrio
Esse evento ocorre antes de um ponto ser adicionado a uma srie.
ONBEFORECLOSE
Descrio
Esse evento ocorre imediatamente aps o projeto de relatrio representado pelo componente ser fechado.
ONBEFOREOPEN
Descrio
Esse evento ocorre imediatamente antes de o projeto de relatrio representado pelo componente ser aberto.
ONBEFOREPIVOT
Descrio
Esse evento ocorre imediatamente antes de uma alterao no estado do piv corrente.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1347
ONBEFOREPRINT
Descrio
Esse evento ocorre imediatamente antes da impresso do relatrio representado pelo componente.
ONBEGINRETRIEVAL
Descrio
Esse evento ocorre quando um documento HTML comea a ser carregado.
ONBEGINTRANSCOMPLETE
Descrio
Esse evento ocorre aps o incio de uma transao.
ONCALCFIELDS
Descrio
Esse evento ocorre no incio da leitura de um registro de um banco de dados.
ONCANCEL
Descrio
Esse evento ocorre ao se cancelar a atualizao de um registro.
ONCHANGE
Descrio
O evento OnChange ocorre quando uma propriedade de um componente ou objeto alterada durante a execuo do aplicativo.
Exemplo
O trecho de cdigo a seguir faz com que uma caixa de edio alterne sua cor entre vermelho e amarelo quando o usurio altera seu texto (sua propriedade Text) durante a execuo do aplicativo.
procedure TForm1.Edit1Change(Sender: TObject); begin if Edit1.Color = clRed then Edit1.Color:= clYellow else Edit1.Color:= clRed; end;
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TActionList, TBitmap, TBrush, TCanvas, TComboBox, TFont, TGraphic, TGraphicsObject, TMetafile, TPen, TPicture, TStringList objects, TComboBox, TDirectoryListBox, TDriveComboBox, TEdit, TFileListBox, TFilterComboBox, TIWCombobox, TIWDBCombobox, TIWDBLookupCombobox, TIWDBLookupListbox, TMaskEdit, TMemo, TQuery, TDecisionQuery, TScrollBar, TClientDataset, TTable, TAutoIncField, TBCDField, TBlobField, TBooleanField, TBytesField, TCurrencyField, TDateField, TDateTimeField, TFloatField, TGraphicField, TIntegerField, TMemoField, TSmallintField, TStringField, TTimeField, TVarBytesField, TWordField e TTabSet, TDDEClientItem e TDDEServerItem
ONCHANGING
Descrio
Para componentes do tipo Tcanvas, esse evento ocorre imediatamente antes de se modificar o grfico exibido por um objeto do tipo TCanvas.
Para componentes do tipo TUpDown, esse evento ocorre quando o valor armazenado na propriedade Position do controle est para ser alterado, aps o usurio selecionar uma das setas do controle. Para componentes do tipo TTreeView e TListView, esse evento ocorre quando se altera o item selecionado no controle. Para componentes do tipo TTabControl e TPageControl, esse evento ocorre quando se altera a guia selecionada, e antes que esta receba o foco.
ONCLEARVALUES
Descrio
Esse evento ocorre logo aps os pontos de uma srie terem sido removidos.
ONCLICK
Descrio
O evento OnClick ocorre quando o usurio d um clique com o boto do mouse sobre um componente, isto , quando o usurio pressiona e solta o boto primrio do mouse (geralmente o boto esquerdo). Esse evento tambm ocorre quando:
O usurio seleciona um item de uma Grade, Outline, caixa de lista ou caixa combo com uma
das teclas de seta.
O usurio pressiona a barra de espao enquanto um boto ou caixa de verificao tem o foco
da aplicao.
O usurio pressiona a tecla Enter quando o formulrio ativo tem um boto com a propriedade
Default igual a True.
O usurio pressiona a tecla Esc quando o formulrio ativo tem um boto com a propriedade
Cancel igual a True.
O usurio pressiona a tecla aceleradora correspondente a um boto ou caixa de verificao. A propriedade Checked de um boto de rdio igual a True. A propriedade Checked de uma caixa de verificao tem seu valor alterado.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1349
Exemplo
O trecho de cdigo a seguir faz com que um boto chamado Button1 exiba em sua propriedade Caption o nmero de vezes que o usurio clicou sobre ele.
procedure TForm1.Button1Click(Sender: TObject); begin n:= n + 1; Button1.Caption:= IntToStr(n) + Cliques; end;
ONCLICKAXIS
Descrio
Esse evento ocorre quando o usurio clica sobre um dos eixos do grfico exibido no componente.
ONCLICKLEGEND
Descrio
Esse evento ocorre quando o usurio clica sobre a rea retangular que define a legenda do grfico exibido no componente.
ONCLOSE
Descrio
Para componentes do tipo TForm, esse evento define que manipulador de eventos deve ser chamado quando um formulrio est prestes a ser fechado. O manipulador de eventos depende do parmetro Action, que pode ter um dos seguintes valores:
caNone: O formulrio no pode ser fechado. caHide: O formulrio no fechado, mas no mais visvel. caFree: O formulrio fechado e toda memria alocada liberada. caMinimize: O formulrio no fechado, porm minimizado.
CAPTULO 43 EVENTOS
Para componentes dos tipos TDDEClientConv e TDDEServConv esse evento ocorre quando a conversao encerrada. Para componentes do tipo TAnimate, esse evento ocorre quando o componente fechado.
Exemplo
O trecho de cdigo a seguir faz com que um dilogo de confirmao seja exibido quando o usurio tenta fechar um formulrio chamado Form1 do tipo TForm.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if MessageDlg(Fechar o formulrio ?, mtConfirmation,[mbYes, mbNo], 0) = mrYes then Action: = caFree else Action: = caNone; end;
ONCLOSEQUERY
Descrio
Para componentes do tipo TForm, esse evento chamado quando se tenta fechar um formulrio, e tem uma propriedade booleana chamada CanClose cujo valor define se o formulrio pode ou no ser fechado.
Exemplo
O trecho de cdigo a seguir faz com que um dilogo de confirmao seja exibido quando o usurio tenta fechar um formulrio chamado Form1 do tipo TForm.
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if MessageDlg(Fechar o formulrio?, mtConfirmation,[mbOk, mbCancel], 0) = mrCancel then CanClose: = False; end;
ONCOLENTER
Descrio
Esse evento ocorre quando o usurio seleciona uma clula de uma determinada coluna, ou move-se para essa coluna com a tecla Tab.
Exemplo
O trecho de cdigo a seguir faz com que um componente Label1 do tipo TLabel exiba uma mensagem quando o usurio se mover para uma determinada coluna.
procedure TForm1.DBGrid1ColEnter(Sender: TObject); begin Label1.Caption:= A coluna foi selecionada; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1351
ONCOLEXIT
Descrio
Esse evento ocorre quando o usurio seleciona uma clula de uma outra coluna, ou move-se para outra coluna com a tecla Tab.
Exemplo
O trecho de cdigo a seguir faz com que um componente Label1 do tipo TLabel exiba uma mensagem quando o usurio se mover para uma outra coluna:
procedure TForm1.DBGrid1ColExit(Sender: TObject); begin Label1.Caption:= Outra coluna foi selecionada; end;
ONCOLLAPSE
Descrio
O evento OnCollapse ocorre quando um item em um componente do tipo TOutline oculta os seus subitens.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem quando ocorre um evento OnCollapse.
procedure TForm1.Outline1Collapse(Sender: TObject; Index: Longint); begin ShowMessage(Ocultando os subitens de um item em um componente TOutline); end;
ONCOLUMNCLICK
Descrio
Esse evento ocorre quando o usurio seleciona, com o boto esquerdo do mouse, o cabealho de uma coluna do componente.
ONCOLUMNMOVED
Descrio
O evento OnColumnMoved ocorre quando o usurio movimenta uma coluna com o mouse.
Exemplo
O trecho de cdigo a seguir bloqueia movimentos posteriores de uma coluna.
procedure TForm1.StringGrid1ColumnMoved(Sender: TObject; FromIndex, ToIndex: Longint); begin StringGrid1.Options: = StringGrid1.Options [goColMoving]; end;
Observao: Para que o evento ocorra preciso que, inicialmente, a propriedade Options inclua a subpropriedade goColMoving.
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TDrawGrid e TStringGrid
ONCOMMITTRANSCOMPLETE
Descrio
Esse evento ocorre aps o trmino de uma transao.
ONCOMPARE
Descrio
Esse evento ocorre durante a reordenao dos itens do componente.
ONCONNECT
Descrio
Esse evento ocorre assim que se estabelece uma conexo ao servidor.
ONCONNECTCOMPLETE
Descrio
Esse evento ocorre quando se estabelece uma conexo a um banco de dados atravs do mecanismo Activex Data Objects.
ONCONNECTIONFAILED
Descrio
Esse evento ocorre assim que uma tentativa de conexo falha.
ONCONNECTIONREQUIRED
Descrio
Esse evento ocorre sempre que se executa um mtodo que requer uma conexo ao servidor.
ONCREATE
Descrio
O evento OnCreate especifica que manipuladores de eventos devem ser chamados quando o formulrio criado. nesse evento que deve ser escrito o cdigo que inicializa propriedades e realiza qualquer processamento antes que o usurio possa interagir com o formulrio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1353
Exemplo
O trecho de cdigo a seguir faz com que um formulrio chamado Form1 seja criado na cor Azul.
procedure TForm1.FormCreate(Sender: TObject); begin Form1.Color: = clBlue; end;
ONDATACHANGE
Descrio
O evento OnDataChange ocorre quando a propriedade State do componente deixa de ter o valor dsInactive, ou recebe uma notificao de um componente de exibio de dados durante a execuo do aplicativo.
ONDBLCLICK
Descrio
O evento OnDblClick ocorre quando o usurio d um duplo clique com o boto do mouse sobre um componente, isto , quando o usurio pressiona e solta duas vezes num curto intervalo de tempo o boto primrio do mouse (geralmente o boto esquerdo).
Exemplo
O trecho de cdigo a seguir faz com que uma mensagem seja exibida quando o usurio der um duplo clique sobre o formulrio de uma aplicao.
procedure TForm1.FormClick(Sender: TObject); begin MessageDlg(Voc deu um duplo-clique sobre o formulrio, mtInformation, [mbOk], 0); end;
ONDEACTIVATE
Descrio
Para componentes do tipo TApplication, o mtodo OnDeActivate ocorre quando a aplicao perde o foco, isto , quando o Windows alterna para outra aplicao diferente da representada pelo componente.
Exemplo
O trecho de cdigo a seguir faz com que um formulrio chamado Form1 do tipo TForm de uma aplicao seja minimizado quando o Windows seleciona outra aplicao como ativa.
procedure TForm1.AppDeactivate(Sender: TObject); begin Application.Minimize; end;
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
Tapplication, TApplicationEvents
ONDEFAULTACTION
Descrio
Esse evento ocorre logo aps a execuo default do formulrio exibido, como uma pgina HTML sendo executada.
ONDELETE
Descrio
Esse evento ocorre ao se remover um registro.
ONDELETION
Descrio
Esse evento ocorre durante a eliminao de um item do componente.
ONDESIGNERSAVE
Descrio
Se este evento for definido, um item de menu intitulado Save ser exibido no editor de relatrios, permitindo que o mesmo seja salvo pelo usurio final aps realizar alteraes no mesmo.
ONDESIGNERSAVEAS
Descrio
Se este evento for definido, um item de menu intitulado Save As ser exibido no editor de relatrios, permitindo que o mesmo seja salvo pelo usurio final em outro nome ou formato.
ONDESIGNERSHOW
Descrio
Esse evento ocorre imediatamente antes de o editor de relatrios ser aberto e exibido.
ONDESTROY
Descrio
O evento OnDestroy ocorre quando um formulrio est para ser destrudo, como resposta a um mtodo como Destroy, Free ou Release.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1355
ONDIALECTDOWNGRADEWARNING
Descrio
O evento OnDialectDowngradeWarning ocorre quando se altera a verso do dialeto SQL usado por uma aplicao cliente durante o acesso a um banco de dados atravs do mecanismo Interbase Express.
ONDISCONNECT
Descrio
Para objetos das classes TNMDayTime, TNMEcho, TNMFinger, TNMFTP, TNMHTTP, TNMMSG, TNMNNTP, TNMPop3, TNMSTRM, TpowerSock, esse evento ocorre assim que se encerra uma conexo ao servidor. Para objetos da classe TADOConnection este evento ocorre ao se encerrar uma conexo a um banco de dados atravs do mecanismo Activex Data Objects.
ONDOCKDROP
Descrio
O evento OnDockDrop ocorre quando o usurio solta um componente que est sendo ancorado sobre outro componente.
ONDOCKOVER
Descrio
O evento OnDragOver ocorre quando o usurio arrasta um componente sobre outro numa operao de drag-e-dock.
CAPTULO 43 EVENTOS
ONDRAGDROP
Descrio
O evento OnDragDrop ocorre quando o usurio solta um componente que est sendo arrastado sobre outro componente. Observe que esse evento corresponde ao objeto receptor (Sender) e no ao que est sendo arrastado (Source).
Exemplo
Coloque em um formulrio chamado Form1 trs componentes do tipo TLabel chamados Label1, Label2 e Label3, com propriedade Color igual a clYellow, clRed e clBlue respectivamente, e a propriedade DragMode igual a dmAutomatic. Coloque um componente do tipo TListBox chamado ListBox1 e defina seu evento OnDragDrop da seguinte forma:
procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer); begin ListBox1.Color:= (Source as TLabel).Color; end;
Quando voc arrastar e soltar os componentes TLabel sobre o ListBox, este assumir a cor do componente que foi arrastado.
ONDRAGOVER
Descrio
O evento OnDragOver ocorre quando o usurio arrasta um componente sobre outro numa operao de drag-e-drop.
Exemplo
Se voc no quiser que um componente TListBox permita que um componente qualquer seja arrastado sobre ele, basta incluir a seguinte linha de cdigo em seu evento
OnDragOver: Accept:= False;
ONDRAWCELL
Descrio
O evento OnDrawItem ocorre quando uma clula do componente precisa ser redesenhada.
Exemplo
O trecho de cdigo a seguir desenha um retngulo de foco em torno de cada uma das clulas de um componente StringGrid1 do tipo TStringGrid.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1357
ONDRAWITEM
Descrio
O evento OnDrawItem ocorre quando um item de um componente owner-draw precisa ser redesenhado.
Exemplo
O trecho de cdigo abaixo define o evento OnDrawItem para um componente chamado ListBox1 do tipo TListBox com propriedade Style igual a lbOwnerDrawFixed e desenha um bitmap esquerda de cada string.
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var Bitmap: TBitmap; Offset: Integer; begin with (Control as TListBox).Canvas do begin FillRect(Rect); Offset: = 2; Bitmap: = TBitmap(Items.Objects[Index]); if Bitmap <> nil then begin BrushCopy(Bounds(Rect.Left + 2, Rect.Top, Bitmap.Width, Bitmap.Height), Bitmap, Bounds(0, 0, Bitmap.Width, Bitmap.Height), clRed); Offset: = Bitmap.width + 6; end; TextOut(Rect.Left + Offset, Rect.Top, Items[Index]) end; end;
ONDRAWTAB
Descrio
O evento OnDrawTab ocorre quando uma guia do controle precisa ser redesenhada, e o controle possui a propriedade Style igual a tsOwnerDraw.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem quando ocorre o evento OnDrawTab.
procedure TForm1.TabSet1DrawTab(Sender: TObject; TabCanvas: TCanvas; R: TRect; Index: Integer; Selected: Boolean); begin ShowMessage(A guia vai ser redesenhada); end;
CAPTULO 43 EVENTOS
ONDROPDOWN
Descrio
O evento OnDropDown ocorre quando o usurio exibe o contedo de uma caixa de listagem ou caixa combo.
Exemplo
O trecho de cdigo a seguir faz com que a caixa de listagem de um componente do tipo TComboBox alterne sua cor entre vermelho e amarelo sempre que for exibida.
procedure TForm1.ComboBox1DropDown(Sender: TObject); begin if ComboBox1.Color = clRed then ComboBox1.Color: = clYellow else ComboBox1.Color: = clRed; end;
ONEDIT
Descrio
Esse evento ocorre ao se iniciar a edio de um registro.
ONEDITERROR
Descrio
O evento OnEditError ocorre quando uma exceo gerada ao se tentar editar um registro.
ONENDDOCK
Descrio
O evento OnEndDock ocorre quando o usurio termina de arrastar um componente sobre outro, sendo ancorado em outro objeto. Esse evento corresponde ao componente que est sendo arrastado.
ONENDDRAG
Descrio
O evento OnEndDrag ocorre quando o usurio termina de arrastar um componente sobre outro. Esse evento corresponde ao componente que est sendo arrastado.
Exemplo
Se voc quiser que um componente TLabel chamado Label1 se movimente 20 pixels para a direita ao terminar de ser arrastado, basta incluir a seguinte linha de cdigo em seu evento OnEndDrag:
Label1.Left:= Label1.Left + 10;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1359
ONENDOFRECORDSET
Descrio
Esse evento ocorre quando o cursor atinge o ltimo registro de um Recordset (conjunto de registros de uma tabela ou resultantes de uma consulta SQL).
ONENDPAGE
Descrio
Esse evento ocorre imediatamente antes do surgimento de uma quebra de pgina no relatrio.
ONENTER
Descrio
O evento OnEnter ocorre quando um componente se torna ativo, isto , assim que ele recebe o foco da aplicao.
Exemplo
Se voc incluir a linha de cdigo abaixo no evento OnEnter de um componente Edit1 do tipo TEdit, ele exibir o texto Estou ativo sempre que receber o foco da aplicao:
Edit1.text:= Estou ativo;
ONENDRETRIEVAL
Descrio
Esse evento ocorre quando um documento HTML termina de ser carregado.
ONEVENTALERT
Descrio
Esse evento ocorre quando se verifica a ocorrncia de um evento do prprio banco de dados do Interbase, acessado atravs do mecanismo Interbase Express, a ser tratado pela aplicao.
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TIBEvents
ONEXCEPTION
Descrio
O evento OnException ativado quando ocorre uma exceo no manipulada pela aplicao.
ONEXECUTE
Descrio
O evento OnExecute ocorre quando o procedimento associado ao evento a ele vinculado executado.
ONEXECUTECOMPLETE
Descrio
O evento OnExecuteComplete ocorre quando um comando executado na manipulao de registros de um banco de dados acessado atravs do mecanismo Activex Data Objects.
ONEXECUTEMACRO
Descrio
O evento OnExecuteMacro ocorre quando a aplicao-cliente envia uma macro para ser executada na aplicao servidora em uma conversao DDE.
ONEXIT
Descrio
O evento OnExit ocorre quando um componente perde o foco da aplicao.
Exemplo
Se voc incluir a linha de cdigo abaixo no evento OnExit de um componente Edit1 do tipo TEdit, ele no exibir nenhum texto quando perder o foco da aplicao:
Edit1.text:= ;
ONEXPAND
Descrio
O evento OnExpand ocorre quando um item em um componente do tipo TOutline exibe os seus subitens.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1361
ONFETCHCOMPLETE
Descrio
Esse evento ocorre quando se carrega todos os registros de um Recordset (conjunto de registrios de uma tabela ou resultantes de uma consulta SQL)
ONFETCHPROGRESS
Descrio
Esse evento ocorre enquanto se carrega todos os registros de um Recordset (conjunto de registrios de uma tabela ou resultantes de uma consulta SQL)
ONFILTER
Descrio
Esse evento pode ser usado para fazer uma filtragem local de registros durante a preparao de um relatrio.
ONFILTERRECORD
Descrio
O evento OnFilterRecord ocorre quando se altera o registro corrente de uma tabela na qual est definido um filtro.
ONFIND
Descrio
O evento OnFind ocorre quando o usurio seleciona o boto Find Next (Localizar prxima) em uma caixa de dilogo.
CAPTULO 43 EVENTOS
ONFIRST
Descrio
Esse evento ocorre ao se deslocar o cursor do componente que indica o registro corrente para o primeiro registro.
ONGETEDITMASK
Descrio
O evento OnGetEditMask ocorre quando o texto de uma clula precisa ser exibido ou atualizado usandose uma mscara.
Exemplo
O trecho de cdigo a seguir faz com que as clulas de um componente StringGrid1 do tipo TStringGrid exibam texto com uma mscara para nmeros de telefone:
procedure TForm1.StringGrid1GetEditMask(Sender: TObject; ACol, ARow: Longint; var Value: OpenString); begin Value: = !\(999\)000-0000;1; end;
ONGETEDITTEXT
Descrio
O evento OnGetEditText ocorre quando o texto de uma clula precisa ser exibido ou atualizado.
Exemplo
O trecho de cdigo a seguir faz com que as clulas de um componente StringGrid1 do tipo TStringGrid exibam texto com indicao dos nmeros da linha e coluna em que se localiza.
procedure TForm1.StringGrid1GetEditMask(Sender: TObject; ACol, ARow: Longint; var Value: OpenString); begin Value: = Linha +IntToStr(StringGrid1.Row)+ e Coluna +IntToStr(StringGrid1.Col); end;
ONGETERRORRESPONSE
Descrio
Esse evento ocorre quando so detectados erros ao se aplicar atualizaes na aplicao servidora.
ONGETRESPONSE
Descrio
Esse evento ocorre quando no so detectados erros ao se aplicar atualizaes na aplicao servidora.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1363
ONGETTEXT
Descrio
O evento OnGetText disparado quando se faz uma referncia s propriedades DisplayText e Text.
ONHELP
Descrio
O evento OnHelp ocorre quando a aplicao vai exibir uma mensagem ou tela de auxlio.
ONHIDE
Descrio
Esse evento ocorre imediatamente antes de um formulrio se tornar invisvel.
Exemplo
O trecho de cdigo a seguir emite uma mensagem informando que um formulrio vai se tornar invisvel.
procedure TForm1.FormHide(Sender: TObject); begin ShowMessage(O formulrio vai ficar invisvel); end;
ONHINT
Descrio
O evento OnHint ocorre imediatamente antes de um controle exibir uma string de auxlio (definida pela sua propriedade Hint). Para objetos da classe TAction, sobrepe o comportamento default dos controles e itens de menu associados.
ONHTMLTAG
Descrio
Esse evento ocorre quando necessrio substituir uma tag transparente por um valor durante a gerao de uma pgina HTML a partir de um template de documento HTML.
CAPTULO 43 EVENTOS
ONIDLE
Descrio
O evento OnIdle ocorre quando a sua aplicao est executando cdigo ou aguardando uma ao do usurio.
ONIDLETIMER
Descrio
O evento OnIdleTimer ocorre quando se desconecta o acesso a um banco de dados atravs do mecanismo Interbase Express quando o tempo ocioso de conexo ultrapassa o valor especificado na propriedade IdleTimer do componente responsvel pelo acesso.
ONINFOMESSAGE
Descrio
O evento OnInfoMessage ocorre quando alguma mensagem do servidor de dados recebida atravs da conexo a um banco de dados acessado atravs do mecanismo Activex Data Objects.
ONINSERT
Descrio
Esse evento ocorre ao se inserir um novo registro.
ONKEYDOWN
Descrio
O evento OnKeyDown ocorre quando o usurio pressiona uma tecla enquanto o controle tem o foco da aplicao.
Exemplo
Se voc incluir a linha de cdigo abaixo no evento OnKeyDown de um componente Edit1 do tipo TEdit, ele exibir o texto Uma tecla foi pressionada aps o caractere digitado quando o usurio pressionar qualquer tecla enquanto o componente possuir o foco da aplicao:
Edit1.text:= Uma tecla foi pressionada;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1365
ONKEYPRESS
Descrio
O evento OnKeyPress ocorre quando o usurio pressiona uma tecla que corresponda a um caractere ASCII enquanto o controle tem o foco da aplicao.
Exemplo
Se voc incluir a linha de cdigo abaixo no evento OnKeyPress de um componente Edit1 do tipo TEdit, ele exibir o texto Uma tecla ASCII foi pressionada aps o caractere digitado quando o usurio pressionar qualquer tecla que corresponda a um caractere ASCII enquanto o componente possuir o foco da aplicao:
Edit1.text:= Uma tecla ASCII foi pressionada;
ONKEYUP
Descrio
O evento OnKeyUp ocorre quando o usurio solta uma tecla enquanto o controle tem o foco da aplicao.
Exemplo
Se voc incluir a linha de cdigo abaixo no evento OnKeyUp de um componente Edit1 do tipo TEdit, ele exibir o texto Uma tecla foi solta quando o usurio liberar uma tecla enquanto o componente tiver o foco da aplicao:
Edit1.text:= Uma tecla foi solta;
ONLAST
Descrio
Esse evento ocorre ao se deslocar o cursor do componente que indica o registro corrente para o ltimo registro.
ONLOGIN
Descrio
O evento OnLogin ocorre quando se estabelece uma conexo a um banco de dados.
ONLOWCAPACITY
Descrio
Esse evento ocorre quando a memria alocada para o cache do componente (definida pela sua propriedade Capacity) no suficiente.
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TDecisionCube
ONMEASUREITEM
Descrio
O evento OnMeasureItem ocorre quando a aplicao precisa redesenhar um item em um componente. Para um componente do tipo TListBox, esse evento ocorre se ele possuir a propriedade Style igual a lbOwnerDrawVariable, e para um componente do tipo TComboBox, esse evento ocorre se ele possuir a propriedade Style igual a csOwnerDraw. Esse evento passa trs parmetros que descrevem o item a ser medido:
O controle que contm o item. O ndice do item no controle. A altura do item (em pixels).
Exemplo
O trecho de cdigo a seguir define o evento OnMeasureItem para um componente do tipo TListBox com propriedade Style igual a lbOwnerDrawn, cujos itens a serem exibidos so Bitmaps. Se a altura do Bitmap a ser exibido for maior que a altura default, ele define a altura do item como sendo igual do Bitmap.
procedure TForm1.ListBox1MeasureItem(Control: TWinControl; Index: Integer; var Height: Integer); var Bitmap: TBitmap; begin with Control as TListBox do begin Bitmap: = TBitmap(Items.Objects[Index]); if Bitmap <> nil then if Bitmap.Height > Height then Height: = Bitmap.Height; end; end;
ONMEASURETAB
Descrio
O evento OnMeasureTab ocorre imediatamente antes do evento OnDrawTab quando a aplicao precisa redesenhar uma guia em um controle. Para um componente do tipo TTabSet, esse evento ocorre se ele tiver a propriedade Style igual a tsOwnerDraw.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem quando ocorre o evento
OnMeasureTab. procedure TForm1.TabSet1DrawTab(Sender: TObject; TabCanvas: TCanvas; R: TRect; Index: Integer; Selected: Boolean); begin ShowMessage(A guia vai ser redesenhada); end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1367
ONMESSAGE
Descrio
O evento OnMessage ocorre quando a aplicao recebe uma mensagem do Windows.
ONMINIMIZE
Descrio
O evento OnMinimize ocorre quando a aplicao minimizada.
ONMOUSEDOWN
Descrio
O evento OnMouseDown ocorre quando o usurio pressiona o boto do mouse sobre um controle.
Exemplo
Se voc quiser que um componente Label1 do tipo TLabel exiba as coordenadas do ponto em que o usurio pressionou um boto do mouse sobre um formulrio chamado Form1, defina o evento OnMouseDown de Form1 da seguinte forma:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Label1.Caption:= Boto do Mouse pressionado em X = + IntToStr(X) + , Y = + IntToStr(Y); end;
ONMOUSEMOVE
Descrio
O evento OnMouseMove ocorre quando o usurio movimenta o mouse sobre um controle.
Exemplo
Se voc quiser que um componente Label1 do tipo TLabel exiba as coordenadas do ponto em que o mouse se encontra sobre um formulrio chamado Form1, defina o evento OnMouseMove de Form1 da seguinte forma:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Label1.Caption:= Mouse em X = + IntToStr(X) + , Y = + IntToStr(Y); end;
CAPTULO 43 EVENTOS
ONMOUSEUP
Descrio
O evento OnMouseUp ocorre quando o usurio libera o boto do mouse sobre um controle.
Exemplo
Se voc quiser que um componente Label1 do tipo TLabel exiba as coordenadas do ponto em que o usurio liberou um boto do mouse sobre um formulrio chamado Form1, defina o evento OnMouseUp de Form1 da seguinte forma:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Label1.Caption:= Boto do Mouse liberado em X = + IntToStr(X) + , Y = + IntToStr(Y); end;
ONMOUSEWHEEL
Descrio
Este evento ocorre quando o usurio seleciona o boto de rolagem de pgina do mouse.
ONMOUSEWHEELDOWN
Descrio
Este evento ocorre quando o usurio seleciona o boto de rolagem de pgina do mouse de forma a rolar a pgina para baixo.
ONMOUSEWHEELUP
Descrio
Este evento ocorre quando o usurio seleciona o boto de rolagem de pgina do mouse de forma a rolar a pgina para cima.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1369
ONMOVECOMPLETE
Descrio
Esse evento ocorre quando se altera o registro corrente de um Recordset (conjunto de registros de uma tabela ou resultantes de uma consulta SQL).
ONNEEDDATA
Descrio
Para componentes do tipo TQRDetailLink, esse evento pode ser usado para obter dados a serem impressos a partir de outra fonte que no seja um componente do tipo TDataSource. Para componentes do tipo TQRGroup, esse evento pode ser usado para definir a quebra de grupos de componentes.
ONNEWDIMENSIONS
Descrio
Esse evento ocorre quando se alteram os dados acessados pelo componente DecisionCube associado.
ONNEWPAGE
Descrio
Esse evento ocorre sempre que uma nova pgina gerada para o relatrio representado pelo componente.
ONNEWRECORD
Descrio
Esse evento ocorre quando um registro adicionado ao banco de dados.
ONNEXT
Descrio
Esse evento ocorre ao se deslocar o cursor do componente que indica o registro corrente para o prximo registro.
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TIWDBNavigator
ONNOTIFY
Descrio
O evento OnNotify ocorre durante a finalizao de um mtodo em um controle do tipo TMediaPlayer, fazendo com que sua propriedade Notify seja igual a True.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem quando o evento OnNotify executado.
procedure TForm1.MediaPlayer1Notify(Sender: TObject); begin ShowMessage(Ocorreu o evento OnNotify); end;
ONOPEN
Descrio
Para componentes dos tipos TDDEClientConv e TDDEServerConv, esse evento ocorre quando uma conversao DDE iniciada. Para componentes do tipo TAnimate, esse evento ocorre quando o componente aberto.
ONPAINT
Descrio
O evento OnPaint ocorre quando um componente do tipo TForm ou TPaintBox precisa redesenhar o seu contedo.
Exemplo
O trecho de cdigo a seguir faz com que um formulrio se torne amarelo ao ser restaurado aps ser minimizado ou ter sido tornado invisvel.
procedure TForm1.FormPaint(Sender: TObject); begin Form1.Color: = clYellow; end;
ONPASSWORD
Descrio
O evento OnPassword ocorre quando uma tabela do Paradox aberta e o Borland Database Engine verifica a necessidade de se fornecer uma senha (Password).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1371
ONPOPUP
Descrio
O evento OnPopup ocorre quando um menu flutuante exibido.
ONPOKEDATA
Descrio
O evento OnPokeData ocorre quando a aplicao cliente transfere dados para a aplicao servidora em uma conversao DDE.
ONPOST
Descrio
Esse evento ocorre ao se gravar um registro.
ONPOSTCLICK
Descrio
O evento OnPostClick ocorre aps a execuo do cdigo do evento OnClick.
Exemplo
O trecho de cdigo a seguir exibe uma mensagem quando o evento OnPostClick executado.
procedure TForm1.MediaPlayer1PostClick(Sender: Tobject; Button: TMPBtnType); begin ShowMessage(Evento OnPostClick); end;
ONPOSTERROR
Descrio
O evento OnPostError ocorre quando uma exceo gerada ao se tentar gravar ou alterar um registro.
ONPREVIEW
Descrio
Esse evento ocorre durante a pr-visualizao de um relatrio.
CAPTULO 43 EVENTOS
ONPRINT
Descrio
Para componentes dos tipos TQRLabel, TQRDBCalc e TQRDBText esse evento ocorre imediatamente antes da impresso do relatrio representado pelo componente. Para componentes dos tipos TBaseReport, TRvNDRWriter,TRvRenderPreview e TRvRenderPrinter esse evento ocorre imediatamente antes da impresso do corpo do relatrio representado pelo componente.
ONPRINTFOOTER
Descrio
Esse evento ocorre imediatamente aps a impresso do corpo do relatrio representado pelo componente, e imediatamente antes da impresso do seu rodap.
ONPRINTHEADER
Descrio
Esse evento ocorre imediatamente aps a impresso do cabealho e imediatamente antes da impresso do corpo do relatrio representado pelo componente.
ONPRIOR
Descrio
Esse evento ocorre ao se deslocar o cursor do componente que indica o registro corrente para o registro anterior.
ONRECEIVEDFILE
Descrio
Esse evento ocorre quando o componente recebe os dados provenientes de um arquivo,
ONRECORDCHANGECOMPLETE
Descrio
Esse evento ocorre quando se alteram os valores armazenados em alguns registros de um Recordset (conjunto de registros de uma tabela ou resultantes de uma consulta SQL).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1373
ONRECORDSETCHANGECOMPLETE
Descrio
Esse evento ocorre quando se alteram os valores armazenados em todos os registros de um Recordset (conjunto de registrios de uma tabela ou resultantes de uma consulta SQL).
ONREFRESH
Descrio
Esse evento ocorre ao se alterar a propriedade DimensionMap do componente TDecisioncube ou, no caso do componente TIWDBNavigator, ao se atualizar a exibio dos registros.
ONRENDER
Descrio
Esse evento ocorre cada vez que o formulrio for exibido como uma pgina HTML.
ONRENDERCELL
Descrio
Esse evento ocorre cada vez que uma clula do componente for exibida em uma pgina HTML.
ONREPLACE
Descrio
O evento OnReplace ocorre quando o usurio seleciona o boto Replace (Substituir) ou Replace All (Substituir Todas) em uma caixa de dilogo.
ONRESIZE
Descrio
O evento OnResize ocorre quando o componente redimensionado durante a execuo do aplicativo.
Exemplo
Se voc quiser que um componente Label1 do tipo TLabel alterne sua cor entre vermelho e amarelo quando um formulrio chamado Form1 redimensionado, inclua o seguinte trecho de cdigo:
procedure TForm1.FormResize(Sender: TObject); begin if Label1.Color = clRed then Label1.Color: = clYellow else Label1.Color: = clRed; end;
CAPTULO 43 EVENTOS
Componentes aos quais se aplica:
TChart, TDBChart, TDBNavigator, TForm, TFrameTDecisionPivot,TPanel e TScrollBox
ONRESTORE
Descrio
O evento OnRestore ocorre quando uma aplicao minimizada restaura sua configurao default de janelas.
ONROLLBACKTRANSCOMPLETE
Descrio
Esse evento ocorre aps o cancelamento de uma transao.
ONROWMOVED
Descrio
O evento OnRowMoved ocorre quando o usurio movimenta uma linha com o mouse.
Exemplo
O trecho de cdigo a seguir bloqueia movimentos posteriores de uma linha.
procedure TForm1.StringGrid1RowMoved(Sender: TObject; FromIndex, ToIndex: Longint); begin StringGrid1.Options: = StringGrid1.Options [goRowMoving]; end;
Observao: Para que o evento ocorra preciso que, inicialmente, a propriedade Options inclua a subpropriedade goRowMoving.
ONSCROLL
Descrio
Esse evento ocorre quando o usurio usa uma barra de rolagem, ou quando rola o grfico exibido em um componente.
Exemplo
O trecho de cdigo a seguir alterna a cor de um formulrio entre branco e preto, quando o usurio usa uma barra de rolagem:
procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode; var ScrollPos: Integer); begin if Form1.Color = clBlack then Form1.Color: = clWhite else Form1.Color: = clBlack; end;
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1375
ONSECTIONCLICK
Descrio
Esse evento ocorre quando uma seo do componente selecionada com o boto esquerdo do mouse.
ONSECTIONRESIZE
Descrio
Esse evento ocorre quando uma seo do componente redimensionada.
ONSECTIONTRACK
Descrio
Esse evento ocorre quando uma seo do controle deslocada, arrastando-se uma de suas divisrias. O procedimento associado a esse evento possui um parmetro chamado State que indica o estado atual de arraste do componente, como indica a tabela a seguir. Tabela de valores Para o Parmetro State.
ValorSignificado tsTrackBegin Indica o incio do arraste. tsTrackMove Indica que a divisria continua sendo arrastada. tsTrackEnd Sinaliza o trmino do arraste.
ONSELECTCELL
Descrio
O evento OnSelectCell ocorre quando o usurio seleciona uma clula do componente com o mouse.
Exemplo
O trecho de cdigo a seguir faz com que uma clula selecionada em um componente StringGrid1 do tipo TStringGrid exiba os nmeros de sua linha e coluna:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col, Row: Longint; var CanSelect: Boolean); begin Value: = Linha +IntToStr(StringGrid1.Row)+ e Coluna +IntToStr(StringGrid1.Col); end;
ONSETEDITTEXT
Descrio
O evento OnSetEditText ocorre quando o usurio edita o texto em uma clula do componente.
Exemplo
O trecho de cdigo a seguir faz com que a cor das clulas em um componente StringGrid1 do tipo TStringGrid alterne entre vermelho e amarelo quando o usurio edita uma clula.
CAPTULO 43 EVENTOS
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Longint; const Value: String); begin if StringGrid1.Color = clYellow then StringGrid1.Color: = clRed else StringGrid1.Color: = clYellow; end;
ONSETTEXT
Descrio
O evento OnSetText disparado quando se atribui um valor propriedade Text de um campo.
ONSHORTCUT
Descrio
O evento OnShortcut ocorre quando o usurio da aplicao pressiona uma tecla (este evento ocorre antes do evento OnKeyDown).
ONSHOW
Descrio
Para componentes do tipo TForm, esse evento ocorre imediatamente antes de o formulrio se tornar visvel. Para componentes do tipo TQRPreview, esse evento ocorre imediatamente antes da pr-visualizao do relatrio.
Exemplo
O trecho de cdigo a seguir emite uma mensagem informando que um formulrio vai se tornar visvel.
procedure TForm1.FormShow(Sender: TObject); begin ShowMessage(O formulrio vai ficar visvel); end;
ONSHOWHINT
Descrio
O evento OnShowHint ocorre quando a aplicao vai exibir uma string de auxlio.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1377
ONSIZED
Descrio
Esse evento ocorre sempre que um componente do tipo THeader terminar de ser redimensionado.
Exemplo
O trecho de cdigo a seguir emite uma mensagem informando que uma seo de um componente Header1 do tipo THeader foi redimensionada.
procedure TForm1.Header1Sized(Sender: TObject; ASection, AWidth: Integer); begin ShowMessage(O componente foi redimensionado); end;
ONSIZING
Descrio
Esse evento ocorre enquanto uma seo de um componente do tipo THeader est sendo redimensionada.
Exemplo
O trecho de cdigo a seguir faz com que a cor de um componente Edit1 do tipo TEdit alterne entre vermelho e azul enquanto uma seo de um componente Header1 do tipo THeader est sendo redimensionada.
procedure TForm1.Header1Sizing(Sender: TObject; ASection, AWidth: Integer); begin if Edit1.Color = clBlue then Edit1.Color: = clRed else Edit1.Color: = clBlue;; end;
ONSQL
Descrio
Esse evento ocorre quando se verifica a execuo de comandos SQL em uma aplicao que acessa um banco de dados do Interbase atravs do mecanismo Interbase Express.
ONSTART
Descrio
Esse evento ocorre quando se inicia a exibio do clip de vdeo associado ao componente.
ONSTARTPAGE
Descrio
Esse evento ocorre imediatamente antes da criao de uma nova pgina no relatrio.
CAPTULO 43 EVENTOS
ONSTATECHANGE
Descrio
Para componentes TDataSource, o evento OnStateChange ocorre quando o valor da sua propriedade State alterado durante a execuo do aplicativo. Para componentes TDecisionSource, o evento OnStateChange ocorre quando se altera o valor da sua propriedade DecisionCube.
ONSTATUSLINEEVENT
Descrio
O evento OnStatusLine ocorre quando a aplicao OLE servidora tem uma mensagem para ser exibida na linha de Status de uma aplicao OLE receptora (com um componente do tipo TOLEContainer ativo).
Exemplo
O trecho de cdigo a seguir exibe uma mensagem de um servidor OLE em uma barra de Status representada por um componente Panel1 do tipo TPanel.
procedure TForm1.OleContainer1StatusLineEvent(Sender: TObject; Msg: string); begin Panel1.Caption: = Msg; end;
ONSTOP
Descrio
Esse evento ocorre quando se finaliza a exibio do clip de vdeo associado ao componente.
ONSUBMIT
Descrio
Esse evento ocorre quando o componente e os dados sero enviados a partir da pgina HTML na qual est inserido o componente.
ONSUMMARYCHANGE
Descrio
Esse evento ocorre quando se altera o valor da sua propriedade CurrentSum.
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1379
ONTIMER
Descrio
Esse evento usado para executar um cdigo a intervalos regulares (esse intervalo definido na propriedade Interval do componente).
ONTOPLEFTCHANGED
Descrio
O evento OnTopLeftChanged ocorre quando uma das propriedades LeftCol ou TopRow tem o seu valor alterado.
Exemplo
O trecho de cdigo a seguir exibe os novos valores das propriedades LeftCol e TopRow quando seus valores se alteram.
procedure TForm1.StringGrid1TopLeftChanged(Sender: TObject); begin with StringGrid1 do MessageDlg(TopRow = +IntToStr(TopRow)+ e LeftCol = +IntToStr(LeftCol), mtInformation, [mbOK],0); end;
ONUNDOCK
Descrio
O evento OnUnDock ocorre quando o usurio comea a arrastar um componente que est ancorado em outro objeto. Esse evento corresponde ao componente que est sendo arrastado.
ONUNDOZOOM
Descrio
Esse evento ocorre quando o usurio desfaz a aplicao de um zoom ao grfico exibido no componente.
ONUPDATE
Descrio
O evento OnUpdate ocorre quando a lista de aes de um componente ActionList atualizada.
CAPTULO 43 EVENTOS
ONUPDATEDATA
Descrio
O evento OnUpdateData ocorre quando o mtodo Post ou UpdateRecord de um componente que representa um banco de dados executado durante a execuo do aplicativo.
ONUPDATEERROR
Descrio
O evento OnUpdateError ocorre quando alguma exceo gerada ao se utilizar o recurso de cached updates em um banco de dados acessado atravs do mecanismo Interbase Express.
ONUPDATERECORD
Descrio
O evento OnUpdateRecord ocorre quando alguma exceo gerada ao se utilizar o recurso de cached updates em um registro de banco de dados acessado atravs do mecanismo Interbase Express.
ONVALIDATE
Descrio
O evento OnValidate disparado quando o valor de um campo modificado. Quando se faz uma alterao num controle que exibe o valor do campo, esse evento s ocorre quando o valor do campo (e no do que exibido) atualizado.
ONWILLCHANGERECORD
Descrio
Esse evento ocorre quando se inicia a alterao dos valores armazenados em um registro de um Recordset (conjunto de registros de uma tabela ou resultantes de uma consulta SQL).
ONWILLCHANGERECORDSET
Descrio
Esse evento ocorre quando se inicia a alterao dos valores armazenados em todos os registros de um Recordset (conjunto de registros de uma tabela ou resultantes de uma consulta SQL).
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1381
ONWILLCONNECT
Descrio
Esse evento ocorre quando se recebe um pedido para se iniciar uma conexo.
ONWILLEXECUTE
Descrio
Esse evento ocorre quando o servidor de banco de dados informa a aceitao de um comando.
ONZOOM
Descrio
Esse evento ocorre quando o usurio aplica um zoom ao grfico exibido no componente.
ONWILLMOVE
Descrio
Esse evento ocorre imediatamente antes de se alterar o registro corrente de um Recordset (conjunto de registros de uma tabela ou resultantes de uma consulta SQL).
NDICE REMISSIVO
NDICE REMISSIVO
A
Abort, Mtodo, 1230 Aborted, Propriedade, 978 AbortOnKeyViol, Propriedade, 978 AbortOnProblem, Propriedade, 978 AccuracyMethod, 979 Acesso a Bancos de Dados, Mecanismos de, 126, 394 Aes, editor de, 773 ActionCount, Propriedade, 979 ActionList, Propriedade, 979 Actions, Propriedade, 979 Activate, Mtodo, 1230 Active, Propriedade, 980 ActiveControl, Propriedade, 980 ActiveForm, Propriedade, 981 ActiveMDIChild, Propriedade, 981 ActivePage, Propriedade, 982 Add, Mtodo, 1230 AddChild, Mtodo, 1231 AddChildObject, Mtodo, 1231 AddDatabase, Mtodo, 1231 AddDataset, Mtodo, 1231 AddIcon, Mtodo, 1232 AddIndex, Mtodo, 1232 AddMasked, Mtodo, 1232 AddObject, Mtodo, 1232 AddPassword, Mtodo, 1232 AddScriptFile, Mtodo, 1233 AddSeries, Mtodo, 1233 AddStrings, Mtodo, 1233 AddTo Repository, caixa de dilogo, 212 AddTransaction, Mtodo, 1233 AddXY, Mtodo, 1234 AddY, Mtodo, 1234 AdjustLineBreaks, funo, 663 AfterCancel, Evento, 1340 AfterClose, Evento, 1340 AfterConnect, Evento, 1340 AfterConstruction, Mtodo, 288 AfterDelete, Evento, 1340 AfterDetail, Evento, 1340 AfterDisConnect, Evento, 1340 AfterDispatch, Evento, 1340 AfterDrawValues, Evento, 1341 AfterEdit, Evento, 1341 AfterInsert, Evento, 1341 AfterOpen, Evento, 1341 AfterPost, Evento, 1341 AfterPrint, Evento, 1341 AfterScroll, Evento, 1342 Alias, criao de, 134 AliasName, Propriedade, 982 Align, Propriedade, 982 AlignButton, Propriedade, 984 Alignment, Propriedade, 984 AlignToBand, Propriedade, 985 Allocation, Propriedade, 986 AllocBy, Propriedade, 986 AllowAllUp, Propriedade, 986 AllowDelete, Propriedade, 987 AllowGrayed, Propriedade, 987 AllowInPlace, Propriedade, 987 AllowInsert, Propriedade, 988 AllowPaning, Propriedade, 988 AllowResize, Propriedade, 989 AllowSinglePoint, Propriedade, 989 AllowZoom, Propriedade, 989 Ambiente de Desenvolvimento Integrado, 10 barra de menus do, 11 barra de ttulos do, 11 caixa de ferramentas, 11 janela principal do, 11 janelas do, 11 paleta de componentes, 11 Ancoragem de janelas, recurso de, 36 AnsiCompareStr, funo, 663 AnsiCompareText, funo, 664 AnsiExtractQuotedStr, funo, 664 AnsiLowerCase, funo, 664 AnsiPos, funo, 664 AnsiQuotedStr, funo, 664 AnsiStrComp, funo, 671 AnsiStrIComp, funo, 671 AnsiStrLComp, funo, 671 AnsiStrLower, funo, 671 AnsiStrPos, funo, 672 AnsiStrRScan, funo, 672 AnsiStrScan, funo, 672 AnsiStrUpper, funo, 672 AnsiUpperCase, funo, 664 Aplicaes CGI, criao de, 770 Aplicaes MDI, 745 Aplicaes Multicamadas, 728 Aplicaes Websnap, 791 Aplicaes, internacionalizao de, 758 Aplicaes, planejamento de, 74 Append, funo, 658 Append, Mtodo, 1234 AppendRecord, Mtodo, 1234 ApplyRange, Mtodo, 1234 ApplyUpdates, Mtodo, 1235 Arc, Mtodo, 1235 ArcCos, funo, 822 ArcCosH, funo, 822 ArcSin, funo, 822 ArcSinH, funo, 822 ArcTan2, funo, 822 ArcTanH, funo, 822 Aritmticos, operadores, 51 Arquivos, manipulao de, 658 ArrangeIcons, Mtodo, 1235 ArrowKeys, Propriedade, 989 As, operador, 295 AsBoolean, Propriedade, 990 AsDateTime, Propriedade, 990 AsFloat, Propriedade, 990 AsInteger, Propriedade, 991 Assign, Mtodo, 1235 AssignFile, procedimento, 659 AssignValue, Mtodo, 1236 Associate, Propriedade, 991 AsString, Propriedade, 991 AsText, Propriedade, 992 AtLeast, Mtodo, 1236 AutoActivate, Propriedade, 992 AutoCalcFields, Propriedade, 993 AutoDisplay, Propriedade, 993 AutoEdit, Propriedade, 994 AutoEnable, Propriedade, 994 AutoMerge, Propriedade, 994 AutoOpen, Propriedade, 995 AutoPopup, Propriedade, 995 AutoRewind, Propriedade, 995 AutoScroll, Propriedade, 996 AutoSelect, Propriedade, 996 AutoSize, Propriedade, 996 AxisVisible, Propriedade, 997 BeforeDispatch, Evento, 1343 BeforeDrawValues, Evento, 1343 BeforeEdit, Evento, 1343 BeforeInsert, Evento, 1343 BeforeOpen, Evento, 1343 BeforePost, Evento, 1344 BeforePrintt, Evento, 1344 BeforeRefresh, Evento, 1344 BeforeScroll, Evento, 1344 BeginDoc, Mtodo, 1237 BeginDrag, Mtodo, 1237 BeginTrans, Mtodo, 1238 BeginUpdate, Mtodo, 1238 BevelInner, Propriedade, 998 BevelOuter, Propriedade, 999 BevelWidth, Propriedade, 999 Bitmap, Propriedade, 1000 BkColor, Propriedade, 1000 BlendColor, Propriedade, 1000 BlobSize, Propriedade, 1000 Blocos de Comandos, 46, 54, 55 BOF, Propriedade, 1001 BookMarkValid, Mtodo, 1238 BorderIcons, Propriedade, 1001 BorderStyle, Propriedade, 1001 BorderWidth, Propriedade, 1002 Boto de comando, componente, 122 BottomAxis, Propriedade, 1003 BoundsRect, Propriedade, 1003 Break, Propriedade, 1004 BringToFront, Mtodo, 1239 BroadCast, Mtodo, 1239 Brush, Propriedade, 1004 BrushCopy, Mtodo, 1239 ButtonAutoSize, Propriedade, 1005 ButtonHeight, Propriedade, 1005 ButtonSpacing, Propriedade, 1005 ButtonWidth, Propriedade, 1005 BytesRcvd, Propriedade, 1006 BytesSent, Propriedade, 1006 BytesTotal, Propriedade, 1006
B
Back, Mtodo, 1237 BackColor, Propriedade, 997 BackgroundColor, Propriedade, 997 BackImage, Propriedade, 998 Bancos de Dados, Cliente-Servidor, 572 conceitos e definio, 127 mecanismos de acesso a, 126, 394 metadados de, 589 Band Style Editor, caixa de dilogo, 240 BatchMove, Mtodo, 1237 BeforeCancel, Evento, 1342 BeforeClose, Evento, 1342 BeforeConnect, Evento, 1342 BeforeConstruction, Mtodo, 288 BeforeDelete, Evento, 1342 BeforeDetail, Evento, 1343 BeforeDisconnect, Evento, 1343
C
CachedSize, Propriedade, 1006 CachedUpdates, Propriedade, 1006 CachedUpdates, uso de, 495 Caixas de dilogo, criao, 118
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1383
NDICE REMISSIVO
TIWApplet, 908 TIWApplication, 908 TIWButton, 909 TIWCheckBox, 909 TIWComboBox, 910 TIWControl, 910 TIWDBCheckBox, 910 TIWDBComboBox, 911 TIWDBEdit, 911 TIWDBFile, 911 TIWDBGrid, 912 TIWDBImage, 912 TIWDBListBox, 913 TIWDBLookupComboBox, 913 TIWDBLookupListBox, 913 TIWDBMemo, 914 TIWDBNavigator, 914 TIWDBText, 915 TIWEdit, 915 TIWFile, 915 TIWForm, 916 TIWGrid, 916 TIWImage, 917 TIWImageFile, 917 TIWLabel, 917 TIWLink, 918 TIWList, 918 TIWListBox, 918 TIWMemo, 919 TIWRectangle, 919 TIWRegion, 920 TIWTimer, 920 TIWTreeView, 920 TIWURL, 921 TLabel, 921 TList, 305, 921 TListBox, 922 TListView, 922 TMaskEdit, 923 TMediaPlayer, 924 TMemo, 924 TMemoBuf, 925 TMemoField, 925 TMenuItem, 925 TMetafile, 926 TMIDASConnection, 926 TMIDASPageProducer, 926 TMTSDatamodule, 729 TNMDayTime, 927 TNMEcho, 927 TNMFinger, 927 TNMFTP, 928 TNMHTTP, 928 TNMMSG, 928 TNMMSGServ, 929 TNMNNTP, 929 TNMPOP3, 929 TNMSMTP, 930 TNMSTRM, 930 TNMSTRMServ, 931 TNMTime, 931 TNMUDP, 931 TNMURL, 932 TNMUUProcessor, 930 Tnotebook, 932 TObject, 287 TOLEContainer, 933 TOpenDialog, 933 TOpenPictureDialog, 933 TOutline, 934 TOutlineNode, 934 TPageControl, 935 TPageProducer, 935 TPaintBox, 935 TPanel, 936 TPen, 341, 936 TPicture, 937 TPopupMenu, 937 TPrintDialog, 937 TPrinter, 637, 938 TPrinterSetupDialog, 938 TProgressBar, 939 TProvider, 939 TQRDBText, 939 TQRLabel, 940 TQRMemo, 940 TQRPreview, 940 TQRPrinter, 941 TQRShape, 941 TQRSysData, 941 TQuery, 434, 942 TQueryTableProducer, 942 TQueue, 942 TQuickRep, 943 TRadioButton, 943 TRadioGroup, 944 TRDSConnection, 517, 944 TRegistry, 945 TRegistryIniFile, 945 TRemoteServer, 945 TReplaceDialog, 946 TRichEdit, 946 TRpBarsBase, 946 TRpBaseComponent, 947 TRpComponent, 947 TRpRender, 948 TRpRenderCanvas, 948 TRpRenderStream, 948 TRvCustomConnection, 949 TRvDatsetConnection, 949 TRvNDRWriter, 949 TRvProject, 950 TRvQueryConnection, 954 TRvRenderHTML, 951 TRvRenderPDF, 951 TRvRenderPreview, 951 TRvRenderPrinter, 952 TRvRenderRTF, 953 TRvRenderText, 954 TRvSystem, 954 TRvTableConnection, 955 TSaveDialog, 955 TSavePictureDialog, 955 TScreen, 956 TScrollBar, 956 TScrollBox, 957 TServerSocket, 957 TSession, 422, 958 TShape, 958 TSimpleDataset, 548, 958 TSimpleObjectBroker, 959 TSmallIntField, 960 TSocketConnection, 960 TSpeedButton, 960 TSQLConnection, 540, 961 TSQLData Set, 544, 961 TSQLMonitor, 962 TSQLQuery, 547, 962 TSQLStoredProc, 963 TSQLTable, 546, 964 TStack, 964 TStatusBar, 965 TStoredProc, 595, 965 TStringField, 966 TStringGrid, 966 TStringList, 966 TStrings, 967 TTabbedNotebook, 967 TTabControl, 968 TTable, 428, 968 TTabSet, 969 TTabSheet, 969 TThread, 708, 970 TTimeField, 970 TTimer, 970 TToolBar, 971 TTrackBar, 971 TTreeView, 972 TUpdateSQL, 437, 500, 972 TUpDown, 973 TVarBytesField, 973 TWebDispatcher, 974 TWordField, 974 TXMLBroker, 974 wEInterpreterError, 839 Classes e objetos, noes de, 63 Classes, conceito de, 64 herana de, 69, 275 implementao de, 272 Mtodos Abstratos, 284 Mtodos de, 65, 285 Mtodos e campos, privados, 71, 280 protegidos, 71, 280 pblicos, 70, 279 Mtodos Estticos, Virtuais e Dinmicos, 282 Propriedades, 285 Sobreposio de Mtodos, 281 visibilidade de Mtodos e campos, 279 ClassInfo, Mtodo 288, Mtodo, 1244 ClassName, Mtodo 289, 1244 ClassNameLs, Mtodo 289, 1245 ClassParent, Mtodo 289, 1245 ClassType, Mtodo 290, 1245 CleanUp, Mtodo, 1246 CleanupInstance, Mtodo 290, 1246 Clear, Mtodo, 1246 ClearFields, Mtodo, 1247 ClearSelection, Mtodo, 1247 Click, Mtodo, 1247 ClientDataset, componente, 732 ClientHandle, Propriedade, 1014 ClientHeight, Propriedade, 1014 ClientOrigin, Propriedade, 1014 ClientRect, Propriedade, 1015 ClientToScreen, Mtodo, 1248 ClientWidth, Propriedade, 1015 ClipRect, 1016 Close, Mtodo, 1248 CloseDatabase, Mtodo, 1249 CloseDataSets, Mtodo, 1249 CloseDialog, Mtodo, 1249 CloseLink, Mtodo, 1250 CloseQuery, Mtodo, 1250 CloseUp, Mtodo, 1250 Code Explorer, janela 35 Cdigos, Editor de, 12 Col, Propriedade, 1016 ColCount, Propriedade, 1016 Collapse, Mtodo, 1251 Collate, Propriedade, 1016 Color, Propriedade, 1017 ColorEachPoint, Propriedade, 1019 ColoredButtons, Propriedade, 1019 ColorToRGBString, Mtodo, 1251 Cols, Propriedade, 1019 ColumnMarginInches, Propriedade, 1019 ColumnMarginMM, Propriedade, 1020 Columns, Propriedade, 1020 ColWidths, Propriedade, 1020 COM, criao de objeto, 716 COM, tecnologia, 716, 729 Comandos, blocos de, 46, 54, 55 Comentrios, 46 Command, Propriedade, 1021 CommandText, Propriedade, 1021 CommandTimeOut, Propriedade, 1021 CommandType, Propriedade, 1022 Commit, Mtodo, 1251 CommitRetaining, Mtodo, 1251 CommitTrans, Mtodo, 1251 CommitUpdates, Mtodo, 1252 CommonAVI, 1022 CompareStr, funo, 665 CompareText, funo, 665 ComponentCount, Propriedade, 1023 Componente, Boto de Comando, 122 ClientDataset, 159 ClientDataset, principais Mtodos, 179 ClientDataset, principais Propriedades, 178
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1385
NDICE REMISSIVO
DragLock, Mtodo, 1263 DragMode, Propriedade, 1052 DragUnLock, Mtodo, 1263 Draw, Mtodo, 1263 DrawFocusRect, Mtodo, 1263 DrawingStyle, Propriedade, 1053 DrawOverlay, Mtodo, 1263 Drive, Propriedade, 1053 DriverName, Propriedade, 1054 DropConnections, Mtodo, 1263 DropDatabase, Mtodo, 1264 DropDown, Mtodo, 1264 DropDownAlign, Propriedade, 1054 DropDownCount, Propriedade, 1055 DropDownWidth, Propriedade, 1055 DropTarget, Propriedade, 1055 EFOpenError, Classe, 838 EHeapException, Classe, 838 EInOutError, Classe, 839 EInterpreterError, Classe, 839 EIntError, Classe, 840 EIntfCastError, Classe, 840 EIntOverFlow, Classe, 840 EInvalidArgument, Classe, 841 EInvalidCast, Classe, 841 EInvalidGraphic, Classe, 841 EInvalidGraphicOperation, Classe, 842 EInvalidGridOperation, Classe, 842 EInvalidImage, Classe, 842 EInvalidOp, Classe, 843 EInvalidOperation, Classe, 843 EInvalidPointer, Classe, 843 Eject, Mtodo, 1265 EListError, Classe, 844 Ellipse, Mtodo, 1265 ElowCapacityError, Classe, 844 EMathError, Classe, 844 EMCIDeviceError, Classe, 845 EMenuError, Classe, 845 EMonthCalError, Classe, 845 Empty, Propriedade, 1059 EmptyTable, Mtodo, 1266 EnableAlign, Mtodo, 1266 EnableControls, Mtodo, 1266 Enabled, Propriedade, 1059 EnabledButtons, Propriedade, 1059 EnableOpenBtn, Propriedade, 1060 EnablePrintBtn, Propriedade, 1060 EnableSaveBtn, Propriedade, 1060 EndDoc, Mtodo, 1266 EndDrag, Mtodo, 1266 EndMargin, Propriedade, 1060 EndPos, Propriedade, 1061 EndUpdate, Mtodo, 1267 EnoResultSet, Classe, 846 EOF, Propriedade, 1061 EOLECtrlError, Classe, 846 EOLEError, Classe, 846 EOLEException, Classe, 847 EOLESysError, Classe, 847 EOSError, Classe, 847 EOutlineError, Classe, 848 EOutOfMemory, Classe, 848 EOutOfResources, Classe, 848 EOverflow, Classe, 849 EPackageError, Classe, 849 EParseError, Classe, 849 EPrinter, Classe, 850 EPrivilege, Classe, 850 EPropertyError, Classe, 850 EPropReadOnly, Classe, 851 EPropWriteOnly, Classe, 851 EraseSection, Mtodo, 1267 EReadError, Classe, 852 EReconcileError, Classe, 852 ERegistryException, Classe, 852 EResNotFound, Classe, 853 Error, Propriedade, 1061 ErrorCode, Propriedade, 1062 ErrorCount, Propriedade, 1062 ErrorMessage, Propriedade, 1062 Errors, Propriedade, 1063 ESocketConnectionError, Classe, 853 ESocketError, Classe, 853 EStackOverflow, Classe, 854 EStreamError, Classe, 854 EStringListError, Classe, 854 Estruturas Condicionais, 54, 55 Estruturas de repetio, 54, 57 EThread, Classe, 855 ETreeViewError, Classe, 855 EUnderflow, Classe, 855 EUpdateError, Classe, 856 EVariantError, Classe, 856 Evento, AfterCancel, 1340 AfterClose, 1340 AfterConnect, 1340 AfterDelete, 1340 AfterDetail, 1340 AfterDisConnect, 1340 AfterDispatch, 1340 AfterDrawValues, 1341 AfterEdit, 1341 AfterInsert, 1341 AfterOpen, 1341 AfterPost, 1341 AfterPrint, 1341 AfterScroll, 1342 BeforeCancel, 1342 BeforeClose, 1342 BeforeConnect, 1342 BeforeDelete, 1342 BeforeDetail, 1343 BeforeDisconnect, 1343 BeforeDispatch, 1343 BeforeDrawValues, 1343 BeforeEdit, 1343 BeforeInsert, 1343 BeforeOpen, 1343 BeforePost, 1344 BeforePrintt, 1344 BeforeRefresh, 1344 BeforeScroll, 1344 DatabaseDisconnected, 1344 DatabaseDisconnecting, 1344 DatabaseFree, 1345 OnActionExecute, 1345 OnActionUpdate, 1345 OnActivate, 1345 OnActiveControlChange, 1345 OnActiveFormChange, 1346 OnAfterAdd, 1346 OnAfterClose, 1346 OnAfterDraw, 1346 OnAfterOpen, 1346 OnAfterPivot, 1346 OnAfterPrint, 1346 OnAfterRender, 1347 OnApply, 1347 OnBeforeAdd, 1347 OnBeforeClose, 1347 OnBeforeOpen, 1347 OnBeforePivot, 1347 OnBeforePrint, 1348 OnBeginRetrieval, 1348 OnBeginTransComplete, 1348 OnCalcFields, 1348 OnCancel, 1348 OnChange, 1348 OnChanging, 1349 OnClearValues, 1349 OnClick, 1349 OnClickAxis, 1350 OnClickLegend, 1350 OnClose, 1350 OnCloseQuery, 1351 OnColEnter, 1351 OnColExit, 1352 OnCollapse, 1352 OnColumnClick, 1352 OnColumnMoved, 1352 OnCompare, 1353 OnConnect, 1353 OnConnectComplete, 1353 OnConnectionFailed, 1353 OnCreate, 1353 OnDataChange, 1354 OnDblClick, 1354 OnDeActivate, 1354 OnDefault, 1355 OnDelete, 1355 OnDeletion, 1355 OnDesignerSave, 1355 OnDesignerSaveAs, 1355 OnDesignerShow, 1355 OnDestroy, 1355 OnDisConnect, 1356 OnDockDrop, 1356 OnDockOver, 1356 OnDragDrop, 1357 OnDragOver, 1357 OnDrawCell, 1357 OnDrawItem, 1358 OnDrawTab, 1358 OnDropDown, 1359 OnEdit, 1359 OnEditError, 1359 OnEndDock, 1359 OnEndDrag, 1359 OnEndOfRecordset, 1360 OnEndPage, 1360 OnEndRetrieval, 1360 OnEnter, 1360 OnEventAlert, 1360 OnException, 1361 OnExecute, 1361 OnExecuteComplete, 1361 OnExecuteMacro, 1361 OnExit, 1361 OnExpand, 1361 OnFetchComplete, 1362 OnFetchProgress, 1362 OnFilter, 1362 OnFilterRecord, 1362
E
EAbort, Classe, 830 EAbstractError, Classe, 830 EAccessViolation, Classe, 830 EArrayError, Classe, 831 EAssertionFailed, Classe, 831 EBitsError, Classe, 831 EBrokerException, Classe, 832 ECacheError, Classe, 832 EClassNotFound, Classe, 832 ECommonCalendarError, Classe, 833 EComponentError, Classe, 833 EControlC, Classe, 833 EConvertError, Classe, 834 EDatabaseError, Classe, 835 EDateTimeError, Classe, 836 EDBClient, Classe, 834 EDBEditError, Classe, 834 EDBEngineError, Classe, 835 EDimensionMapError, Classe, 836 EDimIndexError, Classe, 836 Edit Tab Order, Caixa de dilogo, 171 Edit, Mtodo, 1264 EditFormat, Propriedade, 182, 1056 EditKey, Mtodo, 1264 EditMask, Propriedade, 165, 1056 EditMaskPtr, Propriedade, 1057 EditMode, Propriedade, 1058 Editor de Cdigo, 12 EditorMode, Propriedade, 1058 EditRangeEnd, Mtodo, 1265 EditRangeStart, Mtodo, 1265 EditText, Propriedade, 1058 EdivByZero, Classe, 837 EDSWriter, Classe, 835 EExternal, Classe, 837 EExternalException, Classe, 837 EFCreateError, Classe, 837 EFilerError, Classe, 838
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1387
G
GetAliasNames, Mtodo, 1276 GetAliasParams, Mtodo, 1276 GetAsHandle, Mtodo, 1276 GetBitmap, Mtodo, 1276 GetBookmark, Mtodo, 1277 GetChildren, Mtodo, 1277 GetComponent, Mtodo, 1277 GetCurrentDir, funo, 661 GetData, Mtodo, 1277 GetDatabaseNames, Mtodo, 1278 GetDataItem, Mtodo, 1278 GetDeltaPacket, Mtodo, 1278 GetDetailLinkFields, Mtodo, 1278 GetDetailSQL, Mtodo, 1278 GetDir, funo, 661 GetDriverNames, Mtodo, 1279 GetDriverParams, Mtodo, 1279 GetErrorCount, Mtodo, 1279 GetFieldNames, Mtodo, 1279 GetFirstChild, Mtodo, 1280 GetFormImage, Mtodo, 1280 GetHotSpot, Mtodo, 1280 GetIcon, Mtodo, 1280 GetImageBitmap, Mtodo, 1280 GetIndexForPage, Mtodo, 1281 GetIndexNames, Mtodo, 1281 GetItem, Mtodo, 1281 GetItemPath, Mtodo, 1281
F
Ferramentas, caixa de, 11 Ferramentas RAD, conceito, 4 FieldAddress, Mtodo 291, 1270 FieldByName, Mtodo, 1270 FieldClass, Propriedade, 1064 FieldCount, Propriedade, 1065 FieldDefs, Propriedade, 1065 FieldList, Propriedade, 1065 FieldName, Propriedade, 1065 FieldNo, Propriedade, 1066 Fields Editor, definio, 160 Fields, Propriedade, 1066 FieldValues, Propriedade, 1066
NDICE REMISSIVO
GetLastChild, Mtodo, 1281 GetMaskBitmap, Mtodo, 1282 GetNamePath, Mtodo, 1282 GetNextChild, Mtodo, 1282 GetParentComponent, Mtodo, 1282 GetPassword, Mtodo, 1282 GetPrevChild, Mtodo, 1283 GetPrinter, Mtodo, 1283 GetProcedureNames, Mtodo, 1283 GetResults, Mtodo, 1283 GetSelTextBuf, Mtodo, 1283 GetSQL, Mtodo, 1284 GetStoredProcNames, Mtodo, 1284 GetTableNames, Mtodo, 1284 GetTabOrderList, Mtodo, 1285 GetText, Mtodo, 1285 GetTextBuf, Mtodo, 1285 GetTextLen, Mtodo, 1285 GetXMLRecords, Mtodo, 1286 Glyph, Propriedade, 211, 1079 GotoBookmark, Mtodo, 1286 GotoCurrent, Mtodo, 1286 GotoKey, Mtodo, 1286 GotoNearest, Mtodo, 1287 GradToRad, funo, 823 Graphic, Propriedade, 1080 GridHeight, Propriedade, 1080 GridLineWidth, Propriedade, 1080 GridWidth, Propriedade, 1081 GroupIndex, Propriedade, 1081 Grupos de Projeto, Manipulao de, 32 HelpContext, Mtodo, 1289 HelpContext, Propriedade, 302, 1087 HelpFile, Propriedade, 1088 HelpJump, Mtodo, 1289 HelpKeyWord, Propriedade, 1088 HelpType, Propriedade, 1088 Hide, Mtodo, 1289 HideDragImage, Mtodo, 1290 HideScrollBars, Propriedade, 1089 HideSelection, Propriedade, 1089 Hint, Propriedade, 1089 HintColor, Propriedade, 1090 HintPause, Propriedade, 1090 Hints, Propriedade, 206, 1091 HistoryList, Propriedade, 1091 HorizAxis, Propriedade, 1091 HorzScrollBar, Propriedade, 1092 Host, Propriedade, 1092 HotKey, Propriedade, 1092 HTML, formulrios, 777 HTMLDoc, Propriedade, 780 HTMLFile, Propriedade, 780 Hypot, funo, 824 InsertIcon, Mtodo, 1292 InsertMasked, Mtodo, 1292 InsertObject, Mtodo, 1293 InsertRecord, Mtodo, 1293 InsertSQL, Propriedade, 1097 InstanceSize, Mtodo 292, 1293 IntegralHeight, Propriedade, 1098 Interbase Interactive SQL, utilitrio, 576 Interbase Server Manager, utilitrio, 573 Interbase, acesso via BDE, 594 acesso via DBExpress, 605 acesso via Interbase Express, 600 Alterando um Usurio, 575 Cadastrando um Novo Usurio, 574 Criando um Banco de Dados no, 576 Criando uma Tabela no, 579 linguagem de codificao do, 587 Removendo um Usurio, 575 Tipos de dados do, 578 Interval, Propriedade, 1098 IntPower, funo, 824 Intransaction, Propriedade, 1098 Intraweb, tecnologia, 806 IntToStr, funo, 666 InValidate, Mtodo, 1293 InvalidKeys, Propriedade, 1099 Is, operador, 294 IsA, Mtodo, 1293 IsDelimiter, funo, 666 IsEmpty, Mtodo, 1294 IsIndexField, Propriedade, 1099 IsLocal, Mtodo, 1294 IsMasked, Propriedade, 1099 IsNull, Propriedade, 1100 IsPathDelimiter, funo, 666 IsReadOnly, Propriedade, 1100 IsSQLBased, Propriedade, 1100 IsValidChar, Mtodo, 1294 IsVisible, Propriedade, 1101 ItemAtPos, Mtodo, 1294 ItemCount, Propriedade, 1101 ItemHeight, Propriedade, 1101 ItemIndex, Propriedade, 1102 ItemRect, Mtodo, 1295 Items, objeto, 169 objeto, Mtodos, 169 objeto, Propriedades, 169 Propriedade, 169, 1102 ItemSeparator, Propriedade, 1103
K
KeepConnections, Propriedade, 1103 KeyExclusive, Propriedade, 1104 KeyField, Propriedade, 1104 KeyFieldCount, Propriedade, 1104 KeyPreview, Propriedade, 1104 KeyValue, Propriedade, 1105 KeyViolCount, Propriedade, 1105 KeyViolTableName, Propriedade, 1105 Kind, Propriedade, 1106
L
Label, componente, 155 LargeChange, Propriedade, 1107 LargeImages, Propriedade, 1107 Last, Mtodo, 1295 LastDelimiter, funo, 667 LastPage, Propriedade, 1107 Layout, Propriedade, 1108 Left, Propriedade, 1108 LeftAxis, Propriedade, 1109 LeftCol, Propriedade, 1109 LeftMarginInches, Propriedade, 1109 LeftMarginMM, Propriedade, 1109 Length, funo, 667 Length, Propriedade, 1110 Level, Propriedade, 1110 Lines, Propriedade, 1110 LineTo, Mtodo, 1295 Linguagem SQL, 216 LinkBand, Propriedade, 1111 List, Propriedade, 1111 ListField, Propriedade, 1111 ListSource, Propriedade, 1112 Load, Mtodo, 1295 LoadFromFile, Mtodo, 170, 1296 LoadFromStream, Mtodo, 1296 LoadMemo, Mtodo, 1296 LoadPicture, Mtodo, 1297 Local, Propriedade, 1112 Locale, Propriedade, 1112 LocalIP, Propriedade, 1112 Locate, Mtodo, 1297 Locked, Propriedade, 1113 LockTable, Mtodo, 1297 Log10, funo, 824 Log2, funo, 824 Lgicos, operadores, 59 LoginPrompt, Propriedade, 1113 LogN, funo, 824 LookupDisplay, Propriedade, 1113
I
IBConsole, utilitrio, 131 Icon, Propriedade, 89, 1093 IdleTimer, Propriedade, 1093 ImageIndex, Propriedade, 1093 Images, Propriedade, 1094 ImageType, Propriedade, 1094 Impresso, tcnicas de, 637 Increment, Propriedade, 1094 Indent, Propriedade, 1095 Index, Propriedade, 1095 IndexDefs, Propriedade, 1095 IndexFieldCount, Propriedade, 1096 IndexFieldNames, Propriedade, 1096 IndexFields, Propriedade, 1096 IndexName, Propriedade, 1096 IndexOf, Mtodo, 1290 IndexOfObject, Mtodo, 1290 ndices, criao de, 141, 183 InheritsFrom, Mtodo, 293 InitialDir, Propriedade, 1097 InitInstance, Mtodo 292, 1291 InitInstance, Mtodo, 292 InPlaceActive, Propriedade, 1097 Input Mask Editor, caixa de dilogo, 166 Insert, comando, 583 funo, 666 Mtodo, 170, 1291 InsertComponent, Mtodo, 1292 InsertControl, Mtodo, 1292
H
Handle, Propriedade, 1081 HandleAllocated, Mtodo, 1287 HandleException, Mtodo, 1287 HandleIsShared, Propriedade, 1084 HandleNeeded, Mtodo, 1287 HasFormat, Mtodo, 1288 Hash, Mtodo, 1288 HasItems, Propriedade, 1084 HasProvider, Propriedade, 1085 Head1Font, Propriedade, 1085 Head2Font, Propriedade, 1085 Head3Font, Propriedade, 1085 Head4Font, Propriedade, 1086 Head5Font, Propriedade, 1086 Head6Font, Propriedade, 1086 HeaderBand, Propriedade, 1086 Height, Propriedade, 1087 Help, criao de arquivos de, 248 HelpCommand, Mtodo, 1288
J
Janela, garantindo a visibilidade de uma, 37
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1389
M
MainForm, Propriedade, 1114 Mapeamento, modos de, 670 Mappings, Propriedade, 1115 Margin, Propriedade, 1115 MarginBotton, Propriedade, 1116 MarginLeft, Propriedade, 1116 MarginRight, Propriedade, 1116 MarginTop, Propriedade, 1116 Mscaras, definio de, 164 Mask, Propriedade, 1117 Masked, Propriedade, 1117 MaskEdit, componente, 167 Master, Propriedade, 1117 MasterFields, Propriedade, 1118 MasterSource, Propriedade, 1118 Max, funo, 824 Max, Propriedade, 1118 MaxCells, Propriedade, 1118 MaxFontSize, Propriedade, 1119 MaxIntValue, funo, 825 MaxLength, Propriedade, 1119 MaxPage, Propriedade, 1119 MaxSummaries, Propriedade, 1120 MaxValue, funo, 825 MaxValue, Propriedade, 1120 MDI, aplicaes, 745 MDIChildCount, Propriedade, 1120 MDIChildren, Propriedade, 1121 Mean, funo, 825 MeanAndStdDev, funo, 825 Menu, Propriedade, 1121 Menus pop-up, associando Eventos a itens de, 115 criando itens de, 110 criando submenus de, 112 incluso de, 109 Menus, associando Eventos a itens de, 114 barra de, 11 criando itens de, 105 criando separador de itens de, 107 criando teclas aceleradoras para itens de, 108 definio de, 102 editor de, 103 incluso de, 102 mesclando, 747
NDICE REMISSIVO
GetDataItem, 1278 GetDeltaPacket, 1278 GetDetailLinkFields, 1278 GetDetailSQL, 1278 GetDriverNames, 1279 GetDriverParams, 1279 GetErrorCount, 1279 GetFieldNames, 1279 GetFirstChild, 1280 GetFormImage, 1280 GetHotSpot, 1280 GetIcon, 1280 GetImageBitmap, 1280 GetIndexForPage, 1281 GetIndexNames, 1281 GetItem, 1281 GetItemPath, 1281 GetLastChild, 1281 GetMaskBitmap, 1282 GetNamePath, 1282 GetNextChild, 1282 GetParentComponent, 1282 GetPassword, 1282 GetPrevChild, 1283 GetPrinter, 1283 GetProcedureNames, 1283 GetResults, 1283 GetSelTextBuf, 1283 GetSQL, 1284 GetStoredProcNames, 1284 GetTableNames, 1284 GetTabOrderList, 1285 GetText, 1285 GetTextBuf, 1285 GetTextLen, 1285 GetXMLRecords, 1286 GotoBookmark, 1286 GotoCurrent, 1286 GotoKey, 1286 GotoNearest, 1287 HandleAllocated, 1287 HandleException, 1287 HandleNeeded, 1287 HasFormat, 1288 Hash, 1288 HelpCommand, 1288 HelpContext, 1289 HelpJump, 1289 Hide, 1289 HideDragImage, 1290 IndexOf, 1290 IndexOfObject, 1290 InheritsFrom, 293, 1290 InitInstance, 292, 1291 Insert, 170, 1291 InsertComponent, 1292 InsertControl, 1292 InsertIcon, 1292 InsertMasked, 1292 InsertObject, 1293 InsertRecord, 1293 InstanceSize, 292, 1293 InValidate, 1293 IsA, 1293 IsEmpty, 1294 IsLocal, 1294 IsValidChar, 1294 ItemAtPos, 1294 ItemRect, 1295 Last, 1295 LineTo, 1295 Load, 1295 LoadFromFile, 170, 1296 LoadFromStream, 1296 LoadMemo, 1296 LoadPicture, 1297 Locate, 1297 LockTable, 1297 Merge, 1297 MessageBox, 1298 MethodAddress, 293, 1298 MethodName, 293, 1298 Minimize, 1298 MouseToCell, 1299 Move, 1299 MoveBy, 1299 MoveTo, 1299 NewInstance, 292, 1300 NewPage, 1300 Next, 1300 NonExistent, 1301 NormalizeTopMosts, 1301 OLE., 1301 OleObjAllocated, 1301 Open, 1301 OpenDatabase, 1302 OpenIndexFile, 1302 OpenLink, 1302 Overlay, 1303 Pack, 1303 ParamByName, 1303 PasteFromClipboard, 1303 Pause, 1303 PauseOnly, 1304 Peek, 1304 Perform, 1304 Pie, 1305 Play, 1305 PokeData, 1305 PokeDataLines, 1305 Polygon, 1306 Polyline, 1306 Pop, 1306 Pop-up, 1306 Post, 1306 Prepare, 1307 Preview, 1307 Previous, 1307 Print, 1307 Prior, 1308 ProcessMessages, 1308 Push, 1308 QueueEvents, 1308 Read, 1309 ReadBool, 1309 ReadInteger, 1309 ReadSection, 1309 ReadSectionValues, 1309 ReadString, 1310 Realign, 1310 Rectangle, 1310 Refresh, 1310 RegisterChanges, 1311 RegisterEvents, 1311 Release, 1311 ReleaseHandle, 1311 ReleasePalette, 1311 Remove, 1312 RemoveAllPassword, 1312 RemoveAllSeries, 1312 RemoveComponent, 1312 RemoveDatabase, 1313 RemoveDatabases, 1313 RemovePassword, 1313 RemoveSeries, 1313 RemoveTransaction, 1314 Repaint, 1314 ReplaceIcon, 1314 ReplaceMasked, 1314 RequestData, 1315 Reset, 1315 ResourceLoad, 1315 Restore, 1315 RestoreTopMosts, 1316 Resume, 1316 Rewind, 1316 Rollback, 1317 RollBackRetaining, 1317 RoundRect, 1317 Run, 1317 Save, 1317 SaveToBitmapFile, 1318 SaveToFile, 170, 1318 SaveToMetaFile, 1318 SaveToMetaFileEnh, 1319 SaveToStream, 1319 ScaleBy, 1319 ScreenToClient, 1319 ScrollBy, 1320 ScrollInView, 1320 Seek, 1321 SelectAll, 1321 SelectNext, 1321 SelectNextPage, 1322 SendToBack, 1322 SeriesCount, 1322 SetAsHandle, 1322 SetBounds, 1323 SetComponent, 1323 SetData, 1323 SetFields, 1323 SetFocus, 1324 SetKey, 1324 SetLink, 1324 SetParams, 1324 SetPrincipal, 1324 SetPrinter, 1325 SetRange, 1325 SetRangeEnd, 1325 SetRangeStart, 1325 SetSelTextBuf, 1326 SetTabFocus, 1326 SetText, 1326 SetTextBuf, 1326 SetUpdateState, 1327 Show, 1327 ShowCubeDialog, 1327 ShowDragImage, 1328 ShowException, 1328 ShowModal, 1328 StartRecording, 1329 StartTransaction, 1329 Step, 1329 Stop, 1329 StretchDraw, 1330 Suspend, 1330 Synchronize, 1330 Terminate, 1330 TestConnected, 1331 TextHeight, 1331 TextOut, 1331 TextRect, 1331 TextWidth, 1331 Tile, 1332 Truncate, 1332 UnlockTable, 1332 UnMerge, 1332 UnPrepare, 1333 UnRegisterChanges, 1333 UnRegisterEvents, 1333 Update, 1333 UpdateCursrPos, 1334 UpdateRecord, 1334 ValidateEdit, 1334 Write, 1334 WriteBCDData, 1335 WriteBlobData, 1335 WriteBool, 1335 WriteBoolData, 1335 WriteCurrData, 1335 WriteDateTime, 1336 WriteFloatData, 1336 WriteIntData, 1336 WriteInteger, 1366 WriteNullData, 1336 WriteStrData, 1337 WriteString, 1337 ZoomToFit, 1337 ZoomToWidth, 1337 Mtodos, definio de, 17 sobrecarga de, 322 sobreposio de, 281 Min, funo, 825 Min, Propriedade, 1122 MinFontSize, Propriedade, 1122 Minimize, Mtodo, 1298 MinIntValue, funo, 825 MinPage, Propriedade, 1123 MinValue, funo, 825 MinValue, Propriedade, 1123 MKDir, funo, 662 ModalResult, Propriedade, 1123 Mode, Propriedade, 1124 Modified, Propriedade, 1126 Modifiers, Propriedade, 1126 ModifySQL, Propriedade, 1127 Monochrome, Propriedade, 1127 MouseToCell, Mtodo, 1299
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1391
N
Name, Propriedade, 1128 NameList, Propriedade, 1129 Navegao, componentes e Mtodos de, 473 NetFileDir, Propriedade, 1129 New Connection, caixa de dilogo, 153 New Items, caixa de dilogo, 29, 214 NewInstance, Mtodo, 292, 1300 NewPage, Mtodo, 1300 Next, Mtodo, 1300 NonExistent, Mtodo, 1301 Norm, funo, 826 NormalizeTopMosts, Mtodo, 1301 Notify, Propriedade, 1129 NotifyValue, Propriedade, 1130 NumGlyphs, Propriedade, 1130
O
ObjClass, Propriedade, 1131 ObjDoc, Propriedade, 1131 Object Inspector, 11, 18 Object Inspector, definindo procedimentos associados a Eventos, 20 exibindo Propriedades no, 331 Object Treeview, janela, 12 Objects, Propriedade, 1131 Objetos, definio de, 63 ObjItem, Propriedade, 1131 OEMConvert, Propriedade, 1132 OLE, Mtodo, 1301 OleObjAllocated, Mtodo, 1301 OnActionExecute, Evento, 1345 OnActionUpdate, Evento, 1345 OnActivate, Evento, 1345 OnActiveControlChange, Evento, 1345 OnActiveFormChange, Evento, 1346 OnAfterAdd, Evento, 1346 OnAfterClose, Evento, 1346
NDICE REMISSIVO
OnValidate, Evento, 1381 OnWillChangeRecord, Evento, 1381 OnWillChangeRecordset, Evento, 1381 OnWillConnect, Evento, 1382 OnWillExecute, Evento, 1382 OnWillMove, Evento, 1382 OnZoom, Evento, 1382 Open, Mtodo, 1301 Open, Propriedade, 1132 OpenDatabase, Mtodo, 1302 OpenIndexFile, Mtodo, 1302 OpenLink, Mtodo, 1302 Operadores aritmticos, 51 Operadores de Converso de tipos, 294 Operadores Lgicos, 58 Operadores relacionais, 56 Operation, Propriedade, 1132 Options, Propriedade, 1133 Orientation, Propriedade, 1139 OriginalException, Propriedade, 1140 OutlineStyle, Propriedade, 1141 Output Options, caixa de dilogo, 241 Overlay, Mtodo, 1303 Overload, Propriedade, 1141 Owner, Propriedade, 1142 Pc Pack, Mtodo, 1303 PageCount, Propriedade, 1142 PageHeight, Propriedade, 1142 PageIndex, Propriedade, 1143 PageNumber, Propriedade, 1143 PageProducer Componente, 780 Pages, Propriedade, 1144 PageSize, Propriedade, 1144 PageWidth, Propriedade, 1144 Palette, Propriedade, 1145 PanelBorder, Propriedade, 1145 PanelCount, Propriedade, 1145 PanelHeight, Propriedade, 1146 PanelIndex, Propriedade, 1146 Panels, Propriedade, 1146 PanelWidth, Propriedade, 1146 Paragraph, Propriedade, 1147 ParamBindMode, Propriedade, 1147 ParamByName, Mtodo, 1303 ParamCheck, Propriedade, 1147 ParamCount, Propriedade, 1148 Parameters, Propriedade, 1148 Parmetros Default, definio, 324 Params, Propriedade, 1148 Parent, Propriedade, 1149 ParentChart, Propriedade, 1149 ParentColor, Propriedade, 1149 ParentCtl3D, Propriedade, 1150 ParentFont, Propriedade, 1150 ParentShowHint, Propriedade, 1151 PasswordChar, Propriedade, 1151 PasteFromClipboard, Mtodo, 1303 Pause, Mtodo, 1303 PauseOnly, Mtodo, 1304 Peek, Mtodo, 1304 Pen, Propriedade, 1152 PenPos, Propriedade, 1152 Perform, Mtodo, 1304 Picture, Propriedade, 1152 PictureClosed, Propriedade, 1152 PictureLeaf, Propriedade, 1153 PictureMinus, Propriedade, 1153 PictureOpen, Propriedade, 1154 PicturePlus, Propriedade, 1154 Pie, Mtodo, 1305 Pixels, Propriedade, 1154 PixelsPerInch, Propriedade, 1155 PlainText, Propriedade, 1155 Play, Mtodo, 1305 PokeData, Mtodo, 1305 PokeDataLines, Mtodo, 1305 Poly, funo, 826 Polygon, Mtodo, 1306 Polyline, Mtodo, 1306 Pop, Mtodo, 1306 PopNStdDev, funo, 826 PopNVariance, funo, 826 Pop-up, Mtodo, 1306 PopupComponent, Propriedade, 1155 PopupMenu, Propriedade, 1156 Port, Propriedade, 1156 Pos, funo, 667 Position, Propriedade, 1156 Post, Mtodo, 1306 PostMessage, Propriedade, 1157 Power, funo, 826 Precision, Propriedade, 1158 Prepare, Mtodo, 1307 Prepared, Propriedade, 1158 Preview, Mtodo, 1307 Previous, Mtodo, 1307 PreviousError, Propriedade, 1158 Print, Mtodo, 1307 PrintBefore, Propriedade, 1158 PrinterIndex, Propriedade, 1159 PrinterOK, Propriedade, 1159 Printers, Propriedade, 1159 Printing, Propriedade, 1159 PrintMask, Propriedade, 1160 PrintRange, Propriedade, 1160 PrintScale, Propriedade, 1160 PrintToFile, Propriedade, 1161 Prior, Mtodo, 1308 PrivateDir, Propriedade, 1161 ProblemCount, Propriedade, 1162 ProblemTableName, Propriedade, 1162 Procedimentos associados a Eventos, 20, 71 Procedimentos, 59, 60 ProcedureName, Propriedade, 1162 ProcessMessages, Mtodo, 1308 Programao Orientada a Objetos, filosofia da, 269 Programao procedural, 264 ProjectFile, Propriedade, 1163 Projeto de Aplicao, arquivo de, 23 conceito de, 22 fechando, 31 grupos de, 32 iniciando um novo, 28 salvando, 29 Propriedade, Aborted, 978 AbortOnKeyViol, 978 AbortOnProblem, 978 AccuracyMethod, 979 ActionCount, 979 ActionList, 979 Actions, 979 Active, 980 ActiveControl, 980 ActiveForm, 981 ActiveMDIChild, 981 ActivePage, 982 AliasName, 982 Align, 982 AlignButton, 984 Alignment, 984 AlignToBand, 985 Allocation, 986 AllocBy, 986 AllowAllUp, 986 AllowDelete, 987 AllowGrayed, 987 AllowInPlace, 987 AllowInsert, 988 AllowPaning, 988 AllowResize, 989 AllowSinglePoint, 989 AllowZoom, 989 ArrowKeys, 989 AsBoolean, 990 AsDateTime, 990 AsFloat, 990 AsInteger, 991 Associate, 991 AsString, 991 AsText, 992 AutoActivate, 992 AutoCalcFields, 993 AutoDisplay, 993 AutoEdit, 994 AutoEnable, 994 AutoMerge, 994 AutoOpen, 995 AutoPopup, 995 AutoRewind, 995 AutoScroll, 996 AutoSelect, 996 AutoSize, 996 AxisVisible, 997 BackColor, 997 BackgroundColor, 997 BackImage, 998 BevelInner, 998 BevelOuter, 999 BevelWidth, 999 Bitmap, 1000 BkColor, 1000 BlendColor, 1000 BlobSize, 1000 BOF, 1001 BorderIcons, 1001 BorderStyle, 1001 BorderWidth, 1002 BottomAxis, 1003 BoundsRect, 1003 Break, 1004 Brush, 1004 ButtonAutoSize, 1005 ButtonHeight, 1005 ButtonSpacing, 1005 ButtonWidth, 1005 BytesRcvd, 1006 BytesSent, 1006 BytesTotal, 1006 CachedSize, 1006 CachedUpdates, 1006 Calculated, 1007 Cancel, 1007 Canceled, 1007 CanModify, 1008 Canvas, 1008 Capabilities, 1009 Capacity, 1009 Caption, 1010 CaptionColor, 1010 CaptionFont, 1010 Category, 1011 Cells, 1011
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1393
NDICE REMISSIVO
LastPage, 1107 Layout, 1108 Left, 1108 LeftAxis, 1109 LeftCol, 1109 LeftMarginInches, 1109 LeftMarginMM, 1109 Length, 1110 Level, 1110 Lines, 1110 LinkBand, 1111 List, 1111 ListField, 1111 ListSource, 1112 Local, 1112 Locale, 1112 LocalIP, 1112 Locked, 1113 LoginPrompt, 1113 LookupDisplay, 1113 LookupField, 1114 LookupSource, 1114 MainForm, 1114 Mappings, 1115 Margin, 1115 MarginBotton, 1116 MarginLeft, 1116 MarginRight, 1116 MarginTop, 1116 Mask, 1117 Masked, 1117 Master, 1117 MasterFields, 1118 MasterSource, 1118 Max, 1118 MaxCells, 1118 MaxFontSize, 1119 MaxLength, 1119 MaxPage, 1119 MaxSummaries, 1120 MaxValue, 1120 MDIChildCount, 1120 MDIChildren, 1121 Menu, 1121 Message, 302, 1121 Metafile, 1122 Min, 1122 MinFontSize, 1122 MinPage, 1123 MinValue, 1123 ModalResult, 1123 Mode, 1124 Modified, 1126 Modifiers, 1126 ModifySQL, 1127 Monochrome, 1127 MovedCount, 1127 Multiline, 1128 MultiSelect, 1128 Name, 1128 NameList, 1129 NetFileDir, 1129 Notify, 1129 NotifyValue, 1130 NumGlyphs, 1130 ObjClass, 1131 ObjDoc, 1131 Objects, 1131 ObjItem, 1131 OEMConvert, 1132 Open, 1132 Operation, 1132 Options, 1133 Orientation, 1139 OriginalException, 1140 OutlineStyle, 1141 Overload, 1141 Owner, 1142 PageCount, 1142 PageHeight, 1142 PageIndex, 1143 PageNumber, 1143 Pages, 1144 PageSize, 1144 PageWidth, 1144 Palette, 1145 PanelBorder, 1145 PanelCount, 1145 PanelHeight, 1146 PanelIndex, 1146 Panels, 1146 PanelWidth, 1146 Paragraph, 1147 ParamBindMode, 1147 ParamCheck, 1147 ParamCount, 1148 Parameters, 1148 Params, 1148 Parent, 1149 ParentChart, 1149 ParentColor, 1149 ParentCtl3D, 1150 ParentFont, 1150 ParentShowHint, 1151 PasswordChar, 1151 Pen, 1152 PenPos, 1152 Picture, 1152 PictureClosed, 1152 PictureLeaf, 1153 PictureMinus, 1153 PictureOpen, 1154 PicturePlus, 1154 Pixels, 1154 PixelsPerInch, 1155 PlainText, 1155 PopupComponent, 1155 PopupMenu, 1156 Port, 1156 Position, 1156 PostMessage, 1157 Precision, 1158 Prepared, 1158 PreviousError, 1158 PrintBefore, 1158 PrinterIndex, 1159 PrinterOK, 1159 Printers, 1159 Printing, 1159 PrintMask, 1160 PrintRange, 1160 PrintScale, 1160 PrintToFile, 1161 PrivateDir, 1161 ProblemCount, 1162 ProblemTableName, 1162 ProcedureName, 1162 ProjectFile, 1163 Provider, 1163 ProviderName, 1163 QDelete, 1163 QInsert, 1164 QModify, 1164 QRefresh, 1164 QSelect, 1164 Query, 1165 Queued, 1165 RDSConnection, 1166 ReadOnly, 1165 RecNo, 1166 RecordCount, 1166 RecordSize, 1196 RefreshSQL, 1167 Registered, 1167 RemoteServer, 1167 Repetitions, 1167 ReplaceText, 1168 ReportTitle, 1168 ReportType, 1168 RequestURL, 1169 Required, 1169 ResetGroup, 1169 ResHandle, 1169 ResId, 1170 ResName, 1170 RestartData, 1170 RightAxis, 1170 Row, 1171 RowCount, 1171 RowHeights, 1172 Rows, 1172 RowsAffected, 1172 Ruler, 1173 Scaled, 1173 ScrollBars, 1173 ScrollPos, 1174 Sections, 1174 SectionWidth, 1175 SelCount, 1175 Selected, 1176 SelectedColor, 1176 SelectedField, 1176 SelectedIndex, 1176 Selection, 1177 SelectSQL, 1178 SelEnd, 1178 SelLength, 1178 SelStart, 1179 SelText, 1179 Series, 1179 SeriesColor, 1180 ServerConv, 1180 ServiceApplication, 1180 Shape, 1181 Sharable, 1182 ShareImages, 1182 ShareInLegend, 1185 ShortCurt, 1182 ShowAccelChar, 1183 ShowButtons, 1183 ShowFocus, 1184 ShowHint, 1184 Showing, 1184 ShowLines, 1185 ShowProgress, 1185 ShowRoot, 1186 SimplePanel, 1186 SimpleText, 1186 Size, 1187 SmallChange, 1187 SmallImages, 1187 Sorted, 1187 SortType, 1188 Source, 1188 Spacing, 1189 SparseCols, 1189 SparseRows, 1190 SQL, 1190 SQLCompatible, 1190 SQLConnection, 1191 SQLDialect, 1191 SQLObjectCount, 1191 SQLObjects, 1191 Start, 1192 StartFrame, 1192 StartMargin, 1192 StartPos, 1192 State, 1193 StateImages, 1194 Status, 1194 Step, 1195 StmtHandle, 1195 StopFrame, 1195 Storage, 1195 StoredDefs, 1196 StoredProcName, 1196 Stretch, 1196 Strings, 1197 Style, 1197 Suspended, 1200 TabHeight, 1200 TabIndex, 1201 Table, 1201 TableDirect, 1201 TableLevel, 1201 TableName, 1201 TableType, 1202 TabOrder, 1202 Tabs, 1203 TabsPerRow, 1203 TabStop, 1203 TabStops, 1204 TabWidth, 1204 Tag, 1204 Temporary , 1205 Terminated, 1205 Text, 1205 TextAlign, 1206 TextCase, 1207 ThreadID, 1207 TickMarks, 1207 TickStyle, 1208 TileMode, 1208 TimeFormat, 1209
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1395
R
RAD, ferramentas, 4 RadToCicle, funo, 826 RadToDeg, funo, 827 RadToGrad, funo, 827 RandG, funo, 827 Rave Reports, 236 Rave Reports, ambiente de desenvolvimento, 237 RDSConnection, Propriedade, 1166 Read, Mtodo, 1309 ReadBool, Mtodo, 1309 ReadInteger, Mtodo, 1309 ReadOnly, Propriedade, 1165 ReadSection, Mtodo, 1309 ReadSectionValues, Mtodo, 1309 ReadString, Mtodo, 1310 Realign, Mtodo, 1310 RecNo, Propriedade, 1166 RecordCount, Propriedade, 1166 RecordSize, Propriedade, 1196 Rectangle, Mtodo, 1310 Refresh, Mtodo, 1310 RefreshSQL, Propriedade, 1167 RegisterChanges, Mtodo, 1311 Registered, Propriedade, 1167 RegisterEvents, Mtodo, 1311 Relacionais, operadores, 56 Relatrios, criao de, 236 Release, Mtodo, 1311 ReleaseHandle, Mtodo, 1311 ReleasePalette, Mtodo, 1311 RemoteServer, Propriedade, 1167 Remove, Mtodo, 1312 RemoveAllPassword, Mtodo, 1312 RemoveAllSeries, Mtodo, 1312 RemoveComponent, Mtodo, 1312 RemoveDatabase, Mtodo, 1313 RemoveDatabases, Mtodo, 1313 RemoveDir, funo, 662 RemovePassword, Mtodo, 1313 RemoveSeries, Mtodo, 1313 RemoveTransaction, Mtodo, 1314 RenameFile, Mtodo, 662 Repaint, Mtodo, 1314 Repetitions, Propriedade, 1167 ReplaceIcon, Mtodo, 1314 ReplaceMasked, Mtodo, 1314 ReplaceText, Propriedade, 1168 ReportTitle, Propriedade, 1168
ReportType, Propriedade, 1168 RequestData, Mtodo, 1315 RequestURL, Propriedade, 1169 Required, Propriedade, 1169 Reset, Mtodo, 1315 ResetGroup, Propriedade, 1169 ResHandle, Propriedade, 1169 ResId, Propriedade, 1170 ResName, Propriedade, 1170 ResourceLoad, Mtodo, 1315 RestartData, Propriedade, 1170 Restore, Mtodo, 1315 RestoreTopMosts, Mtodo, 1316 Rewind, Mtodo, 1316 RightAxis, Propriedade, 1170 RmDir, funo, 662 Rollback, Mtodo, 1317 RollBackRetaining, Mtodo, 1317 RoundRect, Mtodo, 1317 Row, Propriedade, 1171 RowCount, Propriedade, 1171 RowHeights, Propriedade, 1172 Rows, Propriedade, 1172 RowsAffected, Propriedade, 1172 Ruler, Propriedade, 1173 Run, Mtodo, 1317 RvProject, componente, 236
S
Save, Mtodo, 1317 SaveToBitmapFile, Mtodo, 1318 SaveToFile, Mtodo, 170, 1318 SaveToMetaFile, Mtodo, 1318 SaveToMetaFileEnh, Mtodo,1319 SaveToStream, Mtodo, 1319 ScaleBy, Mtodo,1319 Scaled, Propriedade, 1173 ScreenToClient, Mtodo, 1319 ScrollBars, Propriedade, 1173 ScrollBy, Mtodo, 1320 ScrollInView, Mtodo, 1320 ScrollPos, Propriedade, 1174 Sections, Propriedade, 1174 SectionWidth, Propriedade, 1175 Seek, Mtodo, 1321 SelCount, Propriedade, 1175 SelectAll, Mtodo, 1321 Selected, Propriedade, 1176 SelectedColor, Propriedade, 1176
Q
QDelete, Propriedade, 1163 QInsert, Propriedade, 1164 QModify, Propriedade, 1164 QRefresh, Propriedade, 1164 QSelect, Propriedade, 1164 Query, Propriedade, 1165 QueryTableProducer Componente, 788 Queued, Propriedade, 1165 QueueEvents, Mtodo, 1308 QuotedStr, funo, 667
SelectedField, Propriedade, 1176 SelectedIndex, Propriedade, 1176 Selection, Propriedade, 1177 SelectNext, Mtodo, 1321 SelectNextPage, Mtodo, 1322 SelectSQL, Propriedade, 1178 SelEnd, Propriedade, 1178 Self, identificador, 296 SelLength, Propriedade, 1178 SelStart, Propriedade, 1179 SelText, Propriedade, 1179 SendToBack, Mtodo, 1322 Series, Propriedade, 1179 SeriesColor, Propriedade, 1180 SeriesCount, Mtodo, 1322 Server Login, caixa de dilogo, 131 ServerConv, Propriedade, 1180 ServiceApplication, Propriedade, 1180 SetAsHandle, Mtodo, 1322 SetBounds, Mtodo, 1323 SetComponent, Mtodo, 1323 SetCurrentDir, funo, 662 SetData, Mtodo, 1323 SetFields, Mtodo, 1323 SetFocus, Mtodo, 1324 SetKey, Mtodo, 1324 SetLength, funo, 667 SetLink, Mtodo, 1324 SetParams, Mtodo, 1324 SetPrincipal, Mtodo, 1324 SetPrinter, Mtodo, 1325 SetRange, Mtodo, 1325 SetRangeEnd, Mtodo, 1325 SetRangeStart, Mtodo, 1325 SetSelTextBuf, Mtodo, 1326 SetString, funo, 667 SetTabFocus, Mtodo, 1326 SetText, Mtodo, 1326 SetTextBuf, Mtodo, 1326 SetUpdateState, Mtodo, 1327 SetWindowExtEx, funo, 632 Shape, componente, 343 Shape, Propriedade, 1181 Sharable, Propriedade, 1182 ShareImages, Propriedade, 1182 ShareInLegend, Propriedade, 1185 ShortCurt, Propriedade, 1182 Show, Mtodo, 1327 ShowAccelChar, Propriedade, 1183 ShowButtons, Propriedade, 1183 ShowColumnHeaders, Propriedade, 1183 ShowCubeDialog, Mtodo, 1327 ShowDragImage, Mtodo, 1328
NDICE REMISSIVO
ShowException, Mtodo, 1328 ShowFocus, Propriedade, 1184 ShowHint, Propriedade, 1184 Showing, Propriedade, 1184 ShowLines, Propriedade, 1185 ShowMessage, procedimento, 60 ShowModal, Mtodo, 1328 ShowProgress, Propriedade, 1185 ShowRoot, Propriedade, 1186 SimplePanel, Propriedade, 1186 SimpleText, Propriedade, 1186 Sin, funo, 827 SinCos, funo, 827 SinH, funo, 827 Size, Propriedade, 1187 SmallChange, Propriedade, 1187 Sorted, Propriedade, 1187 SortType, Propriedade, 1188 Source, Propriedade, 1188 Spacing, Propriedade, 1189 SparseCols, Propriedade, 1189 SparseRows, Propriedade, 1190 SQL, linguagem, 216 SQL, Propriedade, 1190 SQLCompatible, Propriedade, 1190 SQLConnection, Propriedade, 1191 SQLDialect, Propriedade, 1191 SQLObjectCount, Propriedade, 1191 SQLObjects, Propriedade, 1191 Start, Propriedade, 1192 StartFrame, Propriedade, 1192 StartMargin, Propriedade, 1192 StartPos, Propriedade, 1192 StartRecording, Mtodo, 1329 StartTransaction, Mtodo, 1329 State, Propriedade, 1193 StateImages, Propriedade, 1194 Status, Propriedade, 1194 StdDev, funo, 827 Step, Mtodo, 1329 Step, Propriedade, 1195 StmtHandle, Propriedade, 1195 Stop, Mtodo, 1329 StopFrame, Propriedade, 1195 Storage, Propriedade, 1195 Stored Procedures, definio de, 586 StoredDefs, Propriedade, 1196 StoredProcName, Propriedade, 1196 Str, funo, 668 StrAlloc, funo, 672 StrBufSize, funo, 672 StrCat, funo, 672 StrComp, funo, 673 StrCopy, funo, 673 StrEnd, funo, 673 Stretch, Propriedade, 1196 StretchDraw, Mtodo, 1330 StringOfChar, funo, 668 StringReplace, funo, 668 Strings de auxlio, parametrizao de, 738 Strings, manipulao de, 662 Strings, Propriedade, 1197 StrLCat, funo, 674 StrLComp, funo, 674 StrLCopy, funo, 674 StrLen, funo, 674 StrLIComp, funo, 674 StrLower, funo, 674 StrMove, funo, 675 StrNew, funo, 675 StrPCopy, funo, 675 StrRScan, funo, 675 StrScan, funo, 675 StrToCurr, funo, 668 StrToDate, funo, 668 StrToFloat, funo, 669 StrToInt, funo, 669 StrToIntDef, funo, 669 StrToTime, funo, 669 StrUpper, funo, 675 Style, Propriedade, 1197 SubPropriedades, 86 Sum, funo, 828 SumAndSquares, funo, 828 SumInt, funo, 828 SumOfSquares, funo, 828 Suspend, Mtodo, 1330 Suspended, Propriedade, 1200 Synchronize, Mtodo, 1330 TabOrder, Propriedade, 1202 Tabs, Propriedade, 1203 TabsPerRow, Propriedade, 1203 TabStop, Propriedade, 1203 TabStops, Propriedade, 1204 TabWidth, Propriedade, 1204 TAction, Classe, 858 TActionList, Classe, 858 TADOCommand, Classe, 525, 859 principais Mtodos, 526 principais Propriedades, 525 TADOConnection, Classe, 512, 859 principais Eventos, 516 TADOConnection, Classe, principais Mtodos, 514 TADOConnection, Classe, principais Propriedades, 512 TADODataSet, Classe, 527, 860 TADODataset, Classe, principais Mtodos, 528 TADODataset, Classe, principais Propriedades, 527 TADOQuery, Classe, 530, 860 principais Mtodos, 530 principais Propriedades, 530 TADOStoredProc, Classe, 861 TADOTable, Classe, 529, 862 principais Mtodos, 530 principais Propriedades, 529 Tag, Propriedade, 1204 Tan, funo, 828 Tanh, funo, 828 TAnimate, Classe, 863 TApplication, Classe, 863 TApplicationEvents, Classe, 863 TAutoIncField, Classe, 864 TBaseReport, Classe, 864 TBatchMove, Classe, 865 TBCDField, Classe, 865 TBDEDataset, Classe, 416 TBevel, Classe, 866 TBitBtn, Classe, 866 TBitmap, Classe, 626, 866 TBlobField, Classe, 867 TBlobStream, Classe, 867 TBooleanField, Classe, 868 TBrush, Classe, 868 TButton, Classe, 868 TBytesField, Classe, 869 TCanvas, Classe, 335 TChart, Classe, 870 TChartSeries, Classe, 871 TCheckBox, Classe, 871 TClientDataSet, Classe, 872 TClientSocket, Classe, 873 TClipboard, Classe, 873 TColorDialog, Classe, 873 TComboBox, Classe, 874 TComponent, Classe, 874 TControlScrollBar, Classe, 875 TCorbaConnection, Classe, 875 TCorbaDatamodule, Classe, 729 TCurrencyField, Classe, 875 TCustomADODataSet, Classe, 518, 876 principais Eventos, 524 principais Mtodos, 521 TCustomConnection, Classe, 411 TCustomSQLDataset, Classe, 543 TDataBase, Classe, 419, 876 TDataSet, Classe, 395 TDataSetPageProducer, Classe, 877 TDataSetProvider, Classe, 877 TDataSetTableProducer, Classe, 877 TDataSource, Classe, 878 TDateField, Classe, 878 TDateTime, tipo, 742 TDateTimeField, Classe, 878 TDBChart, Classe, 879 TDBCheckBox, Classe, 879 TDBComboBox, Classe, 880 TDBCtrlGrid, Classe, 880 TDBDataset, Classe, 418 TDBEdit, Classe, 881 TDBGrid, Classe, 881 TDBImage, Classe, 882 TDBListBox, Classe, 882 TDBLookupComboBox, Classe, 883 TDBLookupListBox, Classe, 883 TDBMemo, Classe, 884 TDBMemoBuf, Classe, 884 TDBNavigator, Classe, 885 TDBRadioGroup, Classe, 885 TDBRichEdit, Classe, 886 TDBText, Classe, 886 TDCOMConnection, Classe, 887 TDDEClientConv, Classe, 887 TDDEClientItem, Classe, 887 TDDEServerConv, Classe, 888 TDDEServerItem, Classe, 888 TDecisionCube, Classe, 888 TDecisionGraph, Classe, 888 TDecisionGrid, Classe, 889 TDecisionPivot, Classe, 890 TDecisionQuery, Classe, 890 TDecisionSource, Classe, 890 TDirectoryListBox, Classe, 891 TDrawGrid, Classe, 891 TDriveComboBox, Classe, 892 TEdit, Classe, 892 Template de formulrios, definio, 210 Temporary, Propriedade, 1205 Terminate, Mtodo, 1330
T
Tabelas, criao de, 130, 463 definindo campos de preenchimento obrigatrio de, 141 definindo chaves primrias de, 184, 438 definindo ndices de, 141 definindo nomes de campos de, 136 definindo tamanhos de campos de, 139 definindo tipos de campos de, 138 TabHeight, Propriedade, 1200 TabIndex, Propriedade, 1201 Table, Propriedade, 1201 TableDirect, Propriedade, 1201 TableLevel, Propriedade, 1201 TableName, Propriedade, 1201 TableType, Propriedade, 1202
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1397
NDICE REMISSIVO
TRvSystem, Classe, 954 TRvTableConnection, Classe, 955 TSaveDialog, Classe, 955 TSavePictureDialog, Classe, 955 TScreen, Classe, 956 TScrollBar, Classe, 956 TScrollBox, Classe, 957 TServerSocket, Classe, 957 TSession, Classe, 422, 958 TShape, Classe, 958 TSimpleDataset, Classe, 548 principais Mtodos, 549 principais Propriedades, 548 TSimpleObjectBroker, Classe, 959 TSmallIntField, Classe, 960 TSocketConnecttion, Classe, 960 TSpeedButton, Classe, 960 TSQLConnection, Classe, 540, 961 principais Eventos, 543 principais Mtodos, 542 principais Propriedades, 540 TSQLDataSet, Classe, 544, 961 TSQLDataSet Classe, principais Propriedades, 544 TSQLMonitor, Classe, 962 TSQLQuery Classe, 547, 962 principais Mtodos, 547 principais Propriedades, 547 TSQLStoredProc, Classe, 605, 963 principais Eventos, 606 principais Mtodos, 606 principais Propriedades, 605 TSQLTable Classe, 546, 964 principais Mtodos, 547 principais Propriedades, 546 TSQLTable, componente, 154 TStack, Classe, 964 TStatusBar, Classe, 965 TStoredProc, Classe, 595, 965 principais Eventos, 597 principais Mtodos, 596 principais Propriedades, 595 TStringField, Classe, 966 TStringGrid, Classe, 966 TStringList, Classe, 966 TStrings, Classe, 967 TTabbedNotebook, Classe, 967 TTabControl, Classe, 968 TTable, Classe, 428, 968 TTabSet, Classe, 969 TTabSheet, 969 TThread, Classe, 708, 970 TTimeField, Classe, 970 TTimer, Classe, 970 TToolBar, Classe, 971 TTrackBar, Classe, 971 TTreeView, Classe, 972 TUpdateSQL, Classe, 437, 500, 972 TUpDown, Classe, 973 TVarBytesField, Classe, 973 TWebDispatcher, Classe, 974 TWordField, Classe, 974 TXMLBroker, Classe, 974 VisibleButtons, Propriedade, 1221 VisibleColCount, Propriedade, 1223 VisibleRowCount, Propriedade, 1223 VisibleTabs, Propriedade, 1224 Vises, 582
U
Unidade de cdigo, 40 estrutura de uma, 40 sees de, 41 Unidirecional, Propriedade, 1215 UnlockTable, Mtodo, 1332 UnMerge, Mtodo, 1332 UnPrepare, Mtodo, 1333 UnRegisterChanges, Mtodo, 1333 UnRegisterEvents, Mtodo, 1333 UnSelectedColor, Propriedade, 1216 Update, Mtodo, 1333 UpdateCursrPos, Mtodo, 1334 UpdatedMode, Propriedade, 1216 UpdateRecord, Mtodo, 1334 Uppercase, funo, 670 UseCompression, Propriedade, 1217
W
Wait, Propriedade, 1224 WantReturns, Propriedade, 1224 WantTabs, Propriedade, 1225 WebModule, criao de, 772 WebSnap, Tecnologia, 791 Width, Propriedade, 1225 WindowMenu, Propriedade, 1225 WindowState, Propriedade, 1226 WordWrap, Propriedade, 1226 Wrap, Propriedade, 1227 WrapText, funo, 670 Write, Mtodo, 1334 WriteBCDData, Mtodo, 1335 WriteBlobData, Mtodo, 1335 WriteBool, Mtodo, 1335 WriteBoolData, Mtodo, 1335 WriteCurrData, Mtodo, 1335 WriteDateTime, Mtodo, 1336 WriteFloatData, Mtodo, 1336 WriteIntData, Mtodo, 1336 WriteInteger, Mtodo, 1366 WriteNullData, Mtodo, 1336 WriteStrData, Mtodo, 1337 WriteString, Mtodo, 1337 WSAInfo, Propriedade, 1227
V
Val, funo, 670 ValidateEdit, Mtodo, 1334 Value List Editor, caixa de dilogo, 1 Value, Propriedade, 1217 ValueChecked, Propriedade, 1218 Values, Propriedade, 1218 ValueUnChecked, Propriedade, 1219 Variance, funo, 828 Variveis, atribuio de valor a, 43 booleanas, 44 compostas, 49 conceito de, 43 declarao de, 42 escopo, 52 globais, 53 inteiras, 43 locais, 52 para manipulao de arquivos, 45 para manipulao de caracteres, 44 reais, 44 tipo genrico de, 46 tipos de, 43 VertScrollBar, Propriedade, 1220 Vetores, 49 ViewOrigin, Propriedade, 1220 ViewStyle, Propriedade, 1220 Visible, Propriedade, 1221
Z
Zoom, Propriedade, 1227 ZoomToFit, Mtodo, 1337 ZoomToWidth, Mtodo, 1337
CURSO COMPLETO00
Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos.
1399