Você está na página 1de 79

ONDE FCIL APRENDER COMPUTAO

NDICE DO DELPHI
INTRODUO AO DELPHI O QUE UM BANCO DE DADOS RELACIONAL DISTINO ENTRE PROGRAMAS E DADOS / FERRAMENTAS DE DE DADOS O DATABASE DESKTOP GERENCIADOR DE BANCO DE DADOS CRIANDO E FORMATADO TABELAS DE BANCO DE DADOS COMO CONSULTAR EM TABELAS QBE E SQL A TELA DE TRABALHO DO DELPHI / BARRA DE MENU x FERRAMENTAS OS FORMULRIOS / OS COMPONENTES A PALETA DE COMPONENTES // O OBJECT INSPECTOR COMPONENTES MAIS COMUNS E SUAS PROPRIEDADES/EVENTOS ENTENDENDO UM PROJETO // PROGRAMAO ORIENTADA A OBJETOS INICIANDO A CONSTRUO DO CDIGO // O EDITOR DE CDIGOS INCLUSO DE COMENTRIOS // DEFININDO OPES PARA O PROJETO CONTROLANDO A ORDEM DE EXIBIO DOS FORMULRIOS DO PROJETO. ESCOLHENDO UM CONE PARA A APLICAO COMO MANIPULAR BEM UM PROJETO TRABALHANDO COM OS FORMULRIOS FAZENDO A TECLA ENTER FUNCIONAR COMO TAB NO FORMULRIO COMO INSERIR UMA IMAGEM NO FORMULRIO COMO INSERIR UMA IMAGEM EM UM BOTO COMO INSERIR E MANIPULAR COMPONENTES NO FORMULRIO PALETA DE COMPONENTES E COMPONENTES BSICOS PARA GRAVAR UMA IMAGEM EM UM CAMPO DE UMA TABELA DE DADOS FORMULRIO ASSOCIADO A UM BANCO DE DADOS CRIANDO UM FORMULRIO COM O DATABASE FORM WIZARD CRIANDO UM FORM. COM O DATABASE FORM WIZARD PARA 2 TABELAS ATIVANDO UMA TABELA E FORMATANDO OS DADOS NOS COMPONENTES O BDE - ADMINISTRADOR DE BANCO DE DADOS OPERAES COM OS CAMPOS DA TABELA MODIFICANDO REGISTROS NA TABELA COMO TRABALHAR COM NMEROS COMO TRABALHAR COM VARIVEIS LGICA DE PROGRAMAO - CONTROLANDO O FLUXO DO PROGRAMA TRABALHANDO COM FUNES FUNES DE CAIXA DE MENSAGENS USANDO A FUNO FINDNEAREST PARA LOCALIZAR DADOS EM TABELAS USANDO AS FUNES INPUTBOX E FINDKEY PARA LOCALIZAR DADOS USANDO A FUNO WINEXEC PARA EXECUTAR PROGRAMAS UTILIZANDO UM TEMPORIZADOR EM UMA APLICAO CRIANDO UMA TELA DE APRESENTAO CRIANDO UMA SENHA DE ENTRADA EM UMA APLICAO COMO TRABALHAR COM CAMPOS CALCULADOS COMO CRIAR UMA CONSULTA USANDO UM COMPONENTE SQL CRIANDO UM VISUALIZADOR DE IMAGENS COMO GRAVAR IMAGENS JPG EM UM CAMPO GRFICO PARADOX CRIANDO UM CONVERSOR DE MOEDAS: DLAR/REAL CRIANDO UM CALENDRIO EM UMA APLICAO COMO CRIAR UM MENU PARA UMA APLICAO COMO CRIAR UM EDITOR DE TEXTOS SIMPLES MENSAGENS DE ERRO DO COMPILADOR E DA APLICAO O GERADOR DE RELATRIOS - QUICKREPORT

PGINA 02 04 04 05 06 10 12 13 14 15 16 17 18 18 19 19 20 21 22 22 23 25 34 42 43 44 45 47 48 48 49 50 52 55 58 59 59 60 60 61 61 62 62 64 65 66 67 68 69 72 76

1
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

INTRODUO AO DELPHI O DELPHI uma poderosa linguagem de desenvolvimento de aplicaes para ambiente Windows. a linguagem de programao mais interessante e cheia de recursos dos ltimos tempos. Raramente os profissionais de informatica se demonstram to entusiasmados e satisfeitos com um produto. que o DELPHI uma linguagem de programao extraordinariamente poderosa para desenvolver aplicativos Windows. Alm do mais ele utiliza uma tecnologia de compilao moderna que produzem executveis incrivelmente rpidos e sofisticados. A programao em DELPHI baseia-se no modelo GUI (Interfaces Grficas de Usurio), que tem revolucionado a industria de microcomputao. O usurio programa agora, inserindo objetos na tela e fazendo com que estes objetos respondam a eventos. Nos eventos dos objetos o programador decide o procedimento a ser executado. Os programas nas linguagens de programao padres seguem de cima para baixo. Para as linguagens de programao mais antigas, a execuo tem inicio na primeira linha e se desloca com o fluxo do programa para partes diferentes, conforme necessrio. Em geral, um programa DELPHI funciona de forma completamente diferente. O ncleo de um programa DELPHI um conjunto de trechos de cdigos independentes que so ativados por eventos, e, portanto respondem apenas a eventos, que eles foram preparados para reconhecer. A linguagem DELPHI baseia-se em Object Pascal, assim fica fcil construir programas grandes utilizadosse de modernas tcnicas modulares e orientadas a objetos. O compilador DELPHI incrivelmente rpido isto significa que quaisquer mudanas necessrias para corrigir rotinas de comandos e erros tipogrficos, to comuns quando voc comea a construir um programa, so imediatas. Entre diversas caractersticas do DELPHI, podemos citar: baseado na linguagem Pascal. orientada a objetos. Acessa as funes da API do Windows, permitindo que voc manipule seus recursos. Permite o uso de bibliotecas (DLL) criadas em outras linguagens: C/ C++ / Pascal Gera arquivos executveis (.EXE). Cria de forma simples e rpida aplicativos que utilizam banco de dados. Manipula arquivos de banco de dados de diversos formatos. Cria aplicativos que manipulam bancos de dados cliente-servidor. Cria tambm de forma simples e rpida relatrios e etiquetas. O DELPHI a ferramenta de desenvolvimento para todos, desde o iniciante que est dando os primeiros passos e nunca ouviu falar em programao orientada a eventos ou programao orientada a objetos, at o desenvolvedor avanado, que necessita de programas que explorem todo o poder do Windows e do Linux. A linguagem DELPHI cobre todas as reas, com uma grande biblioteca de componentes e facilidade de integrao com a API do Windows. Pode-se dizer que os programas desenvolvidos em DELPHI so to rpidos quantos os desenvolvidos em C++ (leia C plus plus). Esperamos que o que apresentamos aqui, nesta apostila, possa estimul-lo a continuar estudando o DELPHI. Sem sombra de dvida: a melhor linguagem de programao da atualidade.

2
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

3
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

O QUE UM BANCO DE DADOS RELACIONAL? A tecnologia aplicada aos mtodos de armazenamento de informaes vem crescendo e gerando um impacto cada vez maior no uso de computadores, em qualquer rea em que os mesmos podem ser aplicados. A maioria das empresas mantm suas informaes vitais em banco de dados. Listas de clientes, estoques de produtos e folhas de pagamento, por exemplo, so normalmente armazenados em arquivos de banco de dados. O modelo relacional foi criado em 1970 e tem por finalidade representar os dados como uma coleo de relaes, onde cada relao representada por uma Tabela, ou falando de uma forma mais direta, um arquivo. No DELPHI, voc pode desenvolver uma aplicao de banco de dados que trabalhe diretamente com um banco de dados local (baseado em PC) e bancos de dados remotos (SQL). Em um banco de dados, todos os fatos relacionados a um assunto, como, por exemplo, os funcionrios de uma empresa, so armazenados em uma nica Tabela. Uma Tabela semelhante a uma planilha do Microsoft Excel com colunas denominadas Campos e linhas denominadas Registros. Uma Tabela pode armazenar textos, nmeros, datas, etc. Uma banco de dados relacional, como por exemplo, o Paradox, armazena informaes em um conjunto de Tabelas, cada uma contendo dados relativos a um assunto. Como as Tabelas esto relacionadas, voc pode utilizar ao mesmo tempo as informaes de mais de uma delas. O armazenamento de dados em Tabelas relacionadas um procedimento bastante eficiente, pois se armazena um fato apenas uma vez, o que reduz os requisitos de espao em disco e torna a atualizao e a recuperao de dados muito mais rpidas. DISTINO ENTRE PROGRAMAS E DADOS Um banco de dados pode ser criado e mantido por um conjunto de aplicaes (sistema) desenvolvidas especialmente para esta tarefa ou por um Sistema Gerenciador de Banco de Dados (SGBD). Um conjunto de aplicaes (sistema) ou uma aplicao (programa), permite ao usurio manipular bancos de dados de propsito geral, sem que para isso, o mesmo seja um profissional conhecedor de estruturas de banco de dados. O conjunto formado por um banco de dados mais as aplicaes que o manipulam chamado de Sistema de Banco de Dados ou simplesmente Sistema. No processamento tradicional de arquivos, a estrutura dos bancos de dados est incorporada ao programa de acesso. Desta forma, qualquer alterao na estrutura dos arquivos de dados implica na alterao dos cdigos fontes de todos os programas, relacionados, do sistema. FERRAMENTAS DE BANCOS DE DADOS As ferramentas a seguir permitem construir aplicaes de banco de dados que podem trabalhar com arquivos de dados locais ou em um servidor de rede local: Borland Database Engine (BDE) SQL Links Database Desktop Componentes Data Access Componentes Data Control

4
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

O DATABASE DESKTOP - GERENCIADOR DE BANCO DE DADOS O Database Desktop (DBD) uma ferramenta de definio e manuteno de banco de dados que lhe permitem consultar, criar, reestruturar, modificar e copiar tabelas de banco de dados. Voc pode inicializar o Database Desktop, escolhendo o cone do Database Desktop no grupo de programa DELPHI ou atravs do menu Tools/Database Desktop na janela de programa do DELPHI.

Alguns botes de comandos rpidos do DATABASE DESKTOP: Abrir Tabela Abrir Query (consulta) Abrir Comando SQL Reestruturar Tabela permite abrir a estrutura da Tabela p/ manipulao dos campos. Editar Dados permite a alterao dos dados dos registros da tabela. Run Query permite rodar a consulta QUERY ou comandos SQL Show SQL permite exibir os comandos em SQL para a consulta QUERY utilizada.

Comandos bsicos dos menus do DATABASE DESKTOP: File/New File/Open File/Close File/Save File/Save As File/Working Directory File/ Private Directory cria uma tabela, uma consulta QBE Query ou um arquivo SQL. abre uma tabela, uma consulta QBE Query ou um arquivo SQL. fecha um arquivo aberto. salva um arquivo aberto. salva um arquivo aberto com outro nome ou em outro destino. define qual pasta de trabalho ser padro para o usurio. define qual pasta de trabalho ser padro para DataBase Desktop.

5
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

CRIANDO E FORMATANDO TABELAS DE BANCO DE DADOS Criando uma tabela de nome: CLIENTES.DBF, no formato DBASE IV 1. 2. 3. 4. Clique no menu File e escolha a opo New. Escolha o tipo de arquivo que deseja criar: Tables (Tabelas). No quadro Table Types, escolha o tipo de tabela que deseja criar: Dbase IV. Clique no boto Ok.

A tabela ter a seguinte estrutura: CAMPOS Codigo Cliente Cpf Cidade Estado Contato Dt_Compra Vr_Compra Obs TIPO Caracter Caracter Caracter Caracter Caracter Caracter Date Numeric Memo TAMANHO 5 40 14 25 2 30 9 DECIMAIS

1 2 3 4 5 6 7 8 9

Digite o nome do campo (no mximo 10 caracteres) e tecle ENTER para ir para o prximo item. Use a Barra de Espaos ou o Sublinhado para criar um separador para os Campos Data_Compra e Valor_Compra. Para escolher o tipo do campo, tecle a primeira letra do tipo respectivo. Exemplo: C de Caracter. (Teclando barra de espaos, ser mostrado um menu para voc escolher o Tipo do campo desejado). Escolhendo o tipo Date, o tamanho ser automaticamente determinado pelo programa. Escolhendo o tipo Numeric, no tamanho ser includo o separador de casas decimais , e tambm a quantidade de casas decimais. Exemplo: Tamanho: 9 = 436423,50 Escolhendo o tipo Memo, o tamanho automaticamente determinado pelo DataBase Desktop. NOTA: Quando se define um ou mais campos Memo em uma tabela, automaticamente criado, aps a gravao da tabela, um arquivo com o mesmo nome da tabela, porem com extenso .DBT, para guardar informaes dos campos Memo de cada registro da tabela. Para CRIAR um arquivo de NDICE para a tabela CLIENTES. 1. Clique no boto Define 2. No Quadro Field List, clique no campo Cdigo e no boto Ok. 3. D o nome desejado para o arquivo de ndice ou aceite o nome sugerido pelo programa. 4. Clique no boto Ok. Para SALVAR a tabela CLIENTES 1. Clique no boto Saves As. 2. Escolha a pasta onde deseja armazenar o arquivo. 3. Digite o nome CLIENTES para a tabela. 4. Clique no boto Salvar.

6
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Criando uma tabela de nome: PRODUTOS.DB, no formato PARADOX 7 1. 2. 3. 4. Clique no menu File e escolha a opo New. Escolha o tipo de arquivo que deseja criar: Tables (Tabelas). No quadro Table Types, escolha o tipo de tabela que deseja criar: Paradox 7. Clique no boto Ok.

A tabela ter a seguinte estrutura: 1 2 3 4 5 6 7 CAMPOS Codigo DataCad Descricao Unidade Qtde Preo Obs TIPO + (incremento) Date Alpha Alpha Number Money Memo TAMANHO 50 3 20 KEYS(CHAVE) *

Para escolher o tipo do campo, tecle a primeira letra do tipo respectivo. Exemplo: A de Alpha. Teclando barra de espaos, ser mostrado um menu para voc escolher o Tipo do campo desejado. Escolhendo o tipo + (incremento) o campo ser automaticamente preenchido a partir de 1. Escolhendo o tipo Date, o tamanho ser automaticamente determinado pelo Paradox. Escolhendo o tipo Number, o tamanho ser determinado pelo Paradox com a mxima quantidade de casas decimais que pode ser formatada. Escolhendo o tipo Memo, o tamanho ser de no mximo 240 caracteres. Para criar um arquivo de NDICE PRIMRIO para a tabela PRODUTOS. 1. Clique duplo no item Keys do campo a ser usado como ndice ou pressione uma tecla. Um asterisco *, indicar que o campo ser a chave primria do ndice. Os campos marcados como chaves primrias precisam ser consecutivos. Para criar arquivos de NDICE SECUNDRIOS para a tabela PRODUTOS. 1. 2. 3. 4. 5. Abra a caixa de lista Table Properties e selecione o item Secondary indexes. Clique no boto Define. Na caixa Fields clique duplo sobre o(s) campo(s) desejado(s) para o ndice. Clique no boto Ok. Ser aberta uma caixa de dilogo solicitando o nome do arquivo de ndice. Digite o nome desejado, clique no boto Ok e clique no boto Salve para salvar a tabela.

NOTA: Quando se define um ndice primrio em uma tabela Paradox, automaticamente criado, aps a gravao da tabela, um arquivo com a extenso .PX, que uma cpia da tabela .DB, com os dados organizados pela(s) chave(s) primria(s). Os ndices secundrios geram arquivos com extenso .XG* e .YG*.

7
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Criando uma tabela de nome: FUNCIONARIOS.DB, no formato PARADOX 7. 1. Clique no menu File e escolha a opo New. 2. Escolha o tipo de arquivo que deseja criar: Tables (Tabelas). 3. No quadro Table Type escolha tabela do tipo Paradox 7 4. Define os seguintes campos:

Field Name
Matricula Nome Funo Sexo Idade Salrio_hora Horas_Ms

Type
+ A A A S $ S

Size
50 20 1

Key
*

Required
Sim Sim

Min

Max

16 0

70 220

5. Clique no boto Save As e grave a tabela com o nome TabFun. NOTA: 'Required field' indica tratar-se de um campo de preenchimento obrigatrio; Min e Max so os valores mnimo e mximo que o campo poder assumir; estas informaes permitem ao BD, independentemente do programa, verificar a validade dos dados fornecidos (Validity Checks). O campo tipo + (autoincremento), incrementa automaticamente o campo Matricula durante cada registro gravado na tabela. CAMPOS, TAMANHOS E TIPOS Smbolo A N $ S I # D T @ M F G O L + B Y Paradox Tamanho 1 - 255 Dbase IV Tipo Smb. Tamanho Decimal Point Tipo Alpha C 1-254 Character (alpha) Number F 1-20 0-18, and <=Size 2 Float (numeric) N 1-20 0-18, and <=Size 2 Number (BCD) Money Short D Date Long Integer L Logical BCD M Memo Date O OLE Time B Binary Timestamp Memo ___________________________________________ memos formatados Format Memo NOTA: Campos memos e Graphic podem ter virtualmente algum comprimento. O OLE valor especificado est entre 1 a 240 Logical caracteres. Se, por exemplo, voc entrar com Autoincrement um valor de 45 para o campo memo, os Binary primeiros 45 caracteres sero armazenados Bytes na Tabela e o restante em um outro arquivo (com a extenso .MB) que ser acessado quando voc se posicionar no registro referido da Tabela.

0 - 32

1 240 0 240 0 240 0 240 0 240 1 - 255

8
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

COMO ALTERAR A ESTRUTURA DA TABELA 1. Clique em no menu File e nas opes Open e Table. 2. Abra a Pasta onde se encontra seu banco de dados e abra a Tabela desejada. 3. Clique no menu Table e na opo Restruture. Ou clique no boto Reestruture 4. Para Inserir um campo, utilize a tecla INSERT Para Excluir um campo, utilize as teclas CTRL + DEL Para Mover um campo, use as setas pra mover (pelo n do registro) o campo p/ outra posio 5. Clique no boto Save para salvar a Tabela. COMO ABRIR UMA TABELA 1. Clique no menu Files e escolha Opens e Table ou clique no boto Open Table. 2. Abra a Pasta onde se encontra seu banco de dados e abra o arquivo de Tabela desejado. COMO FECHAR UMA TABELA 1. Clique no menu Files e na opo Close ou clique no boto Fechar da janela Tabela. COMO ENTRAR COM DADOS (DIGITAR) NA TABELA 1. Clique no menu Tables e na opo Edit Data ou clique no boto Edit Data para deixar a tabela em modo de edio. 2. Digite os dados (preferivelmente, usando a tecla TAB para passar de um campo para outro). O Windows usa a tecla TAB e no ENTER (DOS) para passar de um campo para outro. COMO EXCLUIR UM REGISTRO DE UMA TABELA 1. Clique em no menu Table e na opo Edit Data ou clique no boto Edit Data (F9) deixar a tabela em modo de edio. 2. Selecione o(s) registro(s) desejado(s). 3. Para excluir um registro clique no menu Record e escolha a opo Delete ou conjuntamente CTRL + DEL. 4. Para excluir registros selecionados tecle DELETE. para tecle

COMO EXCLUIR (LIMPAR) TODOS OS REGISTROS DE UMA TABELA 3. Clique no menu Tools e escolha, as opes Utilities e Empty. 4. Abra a Pasta onde se encontra seu banco de dados e abra o arquivo de Tabela desejado. 5. Confirme a excluso clicando no boto Sim. COMO EXCLUIR UMA TABELA 1. Primeiro feche a tabela, caso esteja aberta. 2. Clique no menu Tools e escolha as opes Utilities e Delete. 6. Abra a Pasta onde se encontra seu banco de dados e abra o arquivo de Tabela desejado. 7. Confirme a excluso clicando no boto Sim. COMO RENOMEAR UMA TABELA 1. Clique no menu Tools e escolha as opes Utilities e Rename. 2. Abra a Pasta onde se encontra seu banco de dados e abra o arquivo de Tabela desejado. 3. Altere o nome da tabela e clique no boto Rename. COMO ORDENAR (CLASSIFICAR) DADOS EM UMA TABELA 1. Clique no menu Tools e escolha as opes Utilities e Sort. 2. Abra a Pasta onde se encontra seu banco de dados e abra o arquivo de Tabela desejado. 3. No quadro Sorted Table, no campo New Table digite o nome para criar a tabela ordenada. 4. No quadro Sort Table, no campo Fields, clique duplo no campo desejado para ordenao e clique no boto Ok.

9
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

COMO CONSULTAR EM TABELAS QBE E SQL Para fazer consultas no DATABASE DESKTOP use duas opes: comandos SQL ou consulta QBE. A CONSULTA SQL A consulta atravs de comandos SQL feita no Editor SQL oferecido pelo DATABASE DESKTOP.

1. Clique no menu File e escolha as opes New e SQL File. 2. Aparece o Editor SQL. 3. Digite os comandos SQL. Por exemplo, para selecionar todos os campos do arquivo CLIENTES.DBF, cujo campo Num_Vezes seja maior que 5, faa: Select * from Clientes.DBF where Num_Vezes > 5 4. Clique no boto Run SQL na barra de ferramentas para executar o comando. 5. O resultado aparece em nova tabela que voc pode salvar para futuras consultas NOTA: A linguagem SQL ser discutida parte. A CONSULTA QBE Alm dos comandos SQL que executam uma consulta, o DataBase Desktop oferece tambm as consultas (QBE) para extrair e manipular dados de tabelas.

1. 2. 3. 4.

Clique no menu File e escolha as opes New e QBE Query. Abra a Pasta onde se encontra seu banco de dados e abra o arquivo de Tabela desejado. Selecione os campos da consulta, clicando sobre o quadro em branco abaixo de cada campo. Caso queira, filtre dados, digitando comandos ao lado do quadro em branco no campo respectivo. 6. Clique no boto Run Query na barra de ferramentas para executar o comando. 7. O resultado aparece em uma nova tabela que voc pode salvar para futuras consultas. na barra de

NOTA: Para ver os comandos QBE no formato SQL, clique no boto Show SQL ferramentas.

10
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

11
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

A TELA DE TRABALHO DO DELPHI Aps acessar o DELPHI, clicando no cone do programa, no grupo respectivo do Menu Iniciar, uma janela de apresentao exibida (indicando qual a verso do DELPHI) e, logo em seguida, voc observa a janela do ambiente de programao do DELPHI. Barra de Ferramentas Barra de Menus Paleta de Componentes

Object Inspector

Janela da UNIT

Janela do Formulrio

Itens bsicos: Barra de Menus - Acessa comandos do DELPHI para abrir, salvar, compilar arquivos, etc. Barra de Ferramentas - Acessa os comandos mais usuais, de forma rpida, atravs de cones. Paleta de Componentes - Contm diversas guias com grupos de componentes (objetos). Object Inspector - Determina as propriedades e os eventos dos componentes. A janela Form - Janela onde so inseridos os componentes para interfaciar com o usurio, A janela Unit - Janela onde so inseridos os comandos para ativar eventos associados ao formulrio e aos componentes inseridos no mesmo.

12
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

A BARRA DE MENU versus BARRA DE FERRAMENTAS A Barra de Menus disponibiliza todos os comandos de programao do DELPHI. A Barra de Ferramentas encontra-se logo abaixo da Barra de Menu e utilizada para ativar as tarefas mais comuns de forma mais rpida. Uma vez que todos os comandos da Barra de Ferramentas tambm existem nos menus, utilize-os da maneira que lhe convier.

NOTA: Para acessar comandos atravs do Teclado, pressione a tecla ALT e a letra sublinhada do menu correspondente. OS FORMULRIOS Os Formulrios so as telas de sua aplicao. Cada Formulrio uma janela Windows que mostra textos, grficos e outros objetos. Tanto o Formulrio quando os componentes inseridos no mesmo contm comandos padronizados do DELPHI e comandos inseridos pelo programador. Estes comandos so inseridos em uma UNIT (unidade de cdigo) vinculada ao Formulrio. Cada Formulrio, portanto, contm a sua UNIT. Quando voc salva a UNIT salva, automaticamente, o arquivo do Formulrio. O arquivo da UNIT recebe a extenso .PAS e o do Formulrio a extenso .DFM (com o mesmo nome da UNIT). OS COMPONENTES Componentes so objetos que voc insere no Formulrio para criar uma comunicao entre sua aplicao e o usurio ou para outro fim especfico. Todos os componentes que voc pode inserir em um formulrio esto organizados em grupos distintos na Paleta de Componentes.

13
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

A PALETA DE COMPONENTES A Paleta de Componentes composta de vrias guias (abas), cada uma com um grupo de cones que representam os componentes que voc pode utilizar em suas aplicaes.

Todo componente inserido no formulrio possui propriedades (caractersticas especficas que voc manipula para fazer com que este se apresente da maneira desejada) e eventos (comandos que voc utiliza para fazer com este realize uma determinada ao). As propriedades e os eventos podem ser especificados durante o projeto de sua aplicao, bem como durante a execuo da mesma. O OBJECT INSPECTOR Object Inspector (Inspetor de Objetos) a janela onde voc define as propriedades e eventos dos componentes inseridos no formulrio. Sempre que um novo componente inserido no formulrio ou tem foco (est selecionado) o Objetc Inspector aponta para este componente, exibindo suas propriedades e seus eventos. O Object Inspector tem duas guias (abas): Properties... estabelece as propriedades dos componentes. Algumas propriedades so comuns a todos os componentes. Exemplo: Name. Events... estabelece o cdigo (comandos) associado ao evento do componente. A Caixa de Combinao permite selecionar um componente para definir propriedades e/ou eventos.

Para exibir a janela do Object Inspector quando a janela do formulrio est maximizada, pressione a tecla de funo F11. Para manter a janela do Object Inspector sempre visvel ( frente das janelas dos formulrios) clique com o boto direito sobre o mesmo e escolha a opo Stay On Top.

14
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

COMPONENTES MAIS COMUNS E SUAS PROPRIEDADES/EVENTOS As tabelas abaixo listam as propriedades e eventos mais comuns para quase todos os componentes. Propriedade Align Alignment AutoSize Caption Color Ctl3D Cursor Enabled Font Height Hint Left MaxLength Name ReadOnly ShowHint TabOrder TabStop Top Visible Width Descrio da Propriedade Alinha automaticamente o componente no Formulrio ou no componente no qual foi inserido. alBottom (na base), alTop (no topo), alClient (em todo o componente), alLeft ( esquerda), alRigth ( direita) e alNone (manualmente). Alinha o texto do componente. As opes so taCenter (ao centro) taLeftJustify ( esquerda) e taRightJustify ( direita). Determina se o tamanho deve ser reajustado para acolher seu contedo Determina o ttulo (rtulo) do componente. Determina a cor de fundo de do componente Determina se o controle possui um visual tridimensional ou bidimensional Determina a imagem do ponteiro do mouse ao passar sobre o componente Determina se o componente responde a eventos do mouse, teclado ou timer Determina os atributos (cor, tamanho, estilo e nome) da Fonte do componente. Determina o tamanho vertical de um componente ou objeto Determina o texto a ser exibido quando o cursor passar sobre um componente. Determina a posio horizontal esquerda do componente, em pixels. Determina o limite mximo de caracteres a ser digitado para o componente. Determina um nome nico para um componente ou objeto na aplicao. Torna um componente somente-leitura durante a execuo da aplicao. Determina se o Hint ser habilitado ou no para o componente Indica a ordem de tabulao do componente (foco quando Tab pressionada). Determina se componente receber o foco na ordem Tab ou no. Determina a posio horizontal superior do componente, em pixels. Determina se um componente ser visvel ou no na aplicao. Determina o tamanho horizontal do componente e de outros objetos

Evento OnChange OnClick OnDblClick OnEnter OnExit OnKeyDown OnKeyPress OnKeyUp OnMouseDown OnMouseMove OnMouseUp

Descrio do Evento Ocorre quando um determinado valor de um objeto ou componente alterado. Ocorre quando o usurio da um clique sobre o componente. Ocorre quando o usurio da um duplo-clique sobre um componente. Ocorre quando um componente torna-se ativo. (Recebe o foco). Ocorre quando o foco sai (passa) do componente para outro. Ocorre quando se pressiona qualquer tecla quando o componente tem o foco. Ocorre quando se pressionada uma tecla quando o componente tem o foco. Ocorre quando se solta uma tecla que estava pressionada. Ocorre quando o usurio pressiona o boto mouse quando sobre um componente. Ocorre quando o usurio move o ponteiro do mouse quando sobre o componente. Ocorre quando o usurio solta o boto do mouse quando sobre um componente.

NOTA:

Todo componente possui a propriedade Name com um nome definido pelo DELPHI. Voc deve alterar este nome para um nome mais simples para facilitar a manipulao do componente nos cdigos de sua aplicao.

15
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

ENTENDENDO UM PROJETO (UMA APLICAO). Uma aplicao em DELPHI composta de diversos arquivos: arquivos com cdigos, arquivos binrios contendo os formulrios e arquivos de recursos, entre outros. Para gerenciar os arquivos de uma mesma aplicao, usamos o conceito de projeto. Uma aplicao em DELPHI, na realidade, corresponde a um projeto. Quando voc abre o projeto de uma aplicao est abrindo diversos arquivos. Quando voc salva o projeto de uma aplicao, est salvando diversos arquivos simultaneamente. Alguns arquivos so gerados durante o rascunho de sua aplicao, outros so gerados aps a compilao da sua aplicao. Quando voc cria uma aplicao em DELPHI, gera os seguintes arquivos durante o rascunho da aplicao: *.DPR *.PS *.DFM *.RES *.PT *.~DP *.~PA o arquivo principal do Projeto que lista todos os Formulrios e Units da aplicao. H um arquivo .DPR para cada Projeto (aplicao). Arquivo que contm o cdigo (comandos). H um arquivo .PS para cada formulrio. Arquivo binrios referentes aos Formulrios. Arquivo de recursos contendo o cone da aplicao e outros recursos do Projeto. Arquivo texto contendo os parmetros do ambiente de programa do projeto. *.~DF Arquivos backup referentes, respectivamente, aos arquivos .DPR .DFM e .PAS.

Os arquivos abaixo so gerados depois da compilao: *. DCU *. EXE COMPILAO Define-se como compilao o processo pelo qual o DELPHI transforma o cdigo escrito na linguagem Object Pascal em linguagem de mquina, que a linguagem entendida pelo computador. A gerao do arquivo executvel consiste na reunio de todas as unidades de cdigo (Units) j compiladas em um arquivo com a extenso.EXE, pronto para ser executado. PROGRAMAO ORIENTADA A OBJETOS Por ser baseado no pascal o DELPHI permite construir aplicaes orientadas a objetos. Em linhas gerais aplicaes orientadas a objetos se baseiam no conceito de classe. A classe um tipo de dado contendo atributos e servios. Por exemplo, um formulrio nada mais do que um objeto da classe formulrio (ou para usar a terminologia do DELPHI da classe TForm), contendo atributos (so os componentes inseridos neste) e servios (so os mtodos e funes pr-definidas). Os componentes que voc insere no formulrio tambm so objetos de uma determinada classe. Por exemplo, o componente Edit um objeto da classe TEdit, possuindo atributos e servios. O DELPHI j oferece diversas classes (como TForm que representa os formulrios, TButton que representa os botes), que do origem aos objetos, mas voc pode criar novas classes. o arquivo .PAS compilado. Cada arquivo .PAS gera um arquivo .DCU. o arquivo executvel da aplicao.

16
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

INICIANDO A CONSTRUO DO CDIGO A cada formulrio est associada uma janela contendo o cdigo chamada Unit. A Unit conter declaraes de variveis, sub-rotinas e funes referentes ao formulrio e aos componentes inseridos no formulrio. Mesmo que voc no acrescente nem uma linha de cdigo na Unit, o DELPHI acrescenta, automaticamente, linhas de cdigo default na Unit, essenciais para que a aplicao possa ser compilada e executada. Estas linhas de cdigo esto na linguagem pascal, a linguagem de programao base do DELPHI. Voc no precisa ser um exmio programador em pascal para criar aplicaes em DELPHI. Isto porque o DELPHI j acrescenta as linhas de cdigo necessrias quando voc acrescenta um componente a seu formulrio. Voc s precisa escrever linhas de cdigo se sua aplicao precisar responder a algum evento. Partes de uma UNIT Cabealho Interface Uses Type Const Var Implemention Initialization Declara o nome da Unit. Quando voc inicia um projeto, o DELPHI oferece um nome para a unit Unit1 que voc pode mudar quando salvar a Unit. Nesta seo so declaradas outras Units, funes, procedures, variveis e constantes de uso publico. A seo interface contm as seguintes partes: Contm as Units que so acessadas por esta Unit, no incio do projeto j so includas as units padres (WINTYPES, WINPROCS, etc.). Declara variveis de tipos definidos pelo usurio. Por default, sempre criado nesta seo um objeto TForm, da classe TForm. Conforme se acrescenta componentes ao formulrio, estes vo sendo declarados nesta seo. Declara as constantes que podero ser acessadas por outras Units. Declara variveis utilizadas na aplicao que podem ser acessadas por outras. Contm os corpos das funes e procedures declaradas na seo Interface. Contm declaraes para exibio de outras Units. Inicializa variveis. Quando sua aplicao executada todas as variveis inicializadas na seo Initialization so jogadas para a memria.

O EDITOR DE CDIGO As linhas de cdigo necessrias para que os componentes inseridos no formulrio realizem uma ao, so inseridas na Unit atravs do Editor de Cdigo. Para Ativar o Editor de Cdigo: 1. Clique sobre a aba com o nome da Unit, na parte interior do formulrio, ou d um clique duplo sobre o formulrio ou sobre o componente inserido no formulrio. Para adicionar linhas de cdigo basta digit-las. O DELPHI oferece algumas mensagens de erro, como quando, por exemplo, voc esquece de colocar o ponto e vrgula (;) aps uma linha de comando. 2. Para sair do Editor de Cdigo, clique no boto Tougle Form/Unit da barra de ferramentas ou tecle F12 (mesmo que clicar em uma rea do formulrio).

17
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

INCLUSO DE COMENTRIOS: Os comentrios so frases que no tm nenhuma importncia para o programa, mas que auxiliam muito o trabalho do programador, principalmente quando se est desenvolvendo um aplicativo que requer grande quantidade de cdigo. So mais teis ainda quando se desenvolve uma aplicao em equipe, onde cada programador precisa examinar o cdigo escrito por outro. Os comentrios devem ser digitados entre um par de chaves { } , entre uma seqncia de parnteseasterisco ou na linha frente aps duas barras normais //. Os comentrios geralmente so exibidos na tela do monitor em itlico e azul. Exemplo: A fim de facilitar a legibilidade do cdigo do programa cadastro. comentrios podem ser inseridos ps as definies das variveis: NomeFun : string; SalBase : double; Os seguintes

{esta varivel armazena o nome do funcionrio} // esta varivel armazena o salrio base do funcionrio

COMPILANDO E DEFININDO OPES PARA O PROJETO Para COMPILAR e Linkeditar o Projeto de sua Aplicao 1. Clique no boto Run na barra de ferramentas. Ou ... Clique no menu Run e escolha a opo Run ou utilize a tecla de funo F9. A opo Compile do menu Project, compila apenas as Units alteradas aps a ltima compilao. NOTA: Se durante a compilao o DELPHI apontar algum erro, corrija-o e compile de novo o projeto. Aps a compilao ser criado um arquivo.EXE com o mesmo nome do arquivo .DPR. Exemplo: Clientes.DPR compilado gerar Clientes.EXE

Para retornar ao projeto, com a aplicao em execuo, feche a aplicao. Se por algum motivo a aplicao travar, tecle, conjuntamente, CTRL+ALT+DEL e finalize a aplicao atravs do boto Finalizar tarefa do Windows. A aplicao ser finalizada e voc voltar ao projeto. CONTROLANDO A ORDEM DE EXIBIO DOS FORMULRIOS DO PROJETO Se a exibio dos formulrios no aparecer na ordem esperada na aplicao, utilize o procedimento a seguir: 1. 2. 3. 4. Clique no menu Project e escolha Options. Na caixa Main Form, escolha o formulrio de entrada de sua aplicao. Na caixa Auto Create Form defina a ordem de exibio dos formulrios. Clique no boto Ok e compile novamente o projeto.

18
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

ESCOLHENDO UM CONE PARA A APLICAO. Quando voc compila um projeto, gerando o arquivo executvel de sua aplicao, o DELPHI, automaticamente, utiliza um cone padro para represent-lo. claro que voc desejar escolher um cone que represente melhor o tipo de aplicao que voc desenvolveu. Veja como escolher um cone para sua aplicao. 1. Clique no menu Project e escolha a Options. 2. Na janela Project Options escolha a guia Application e clique no boto Load Icon... 3. Na janela Application Icon, selecione, na pasta desejada, o cone da aplicao. 4. Clique no boto Abrir. 5. Retornando a janela Project Options, verifique o cone escolhido e clique em Ok. 6. Compile o projeto e o cone escolhido aparecer no arquivo executvel. COMO MANIPULAR BEM UM PROJETO Para trabalhar tranqilamente com um projeto, alguns procedimentos devem ser seguidos com bastante cuidado para evitar erros drsticos durante a compilao/execuo deste.

Crie sempre uma pasta para armazenar os arquivos do seu projeto. Se sua aplicao inclui arquivos de banco de dados, melhor salv-los em uma subpasta na pasta do seu projeto. Quando for criar um formulrio (1 ) atravs do Database Form Wizard, feche a Unit atual. Para corrigir ou alterar as tabelas de banco de dados, durante o projeto, feche a Unit do formulrio ligado ao banco de dados. Se um formulrio apresentar erros diversos (por m manipulao dos componentes) exclua a Unit do projeto e adicione outro formulrio. (Veja o boto Remover Unit - ilustrao acima). Para adicionar uma Unit ao projeto, certifique-se primeiro de que o projeto esteja aberto. Para salvar sempre um formulrio maximizado, maximize-o e tecle CTRL + S. Para salvar todos os arquivos (Units) do projeto, inclusive o projeto, clique no menu File e na opo Save All. Ser solicitado salvar cada Unit e por ltimo o Projeto. Para fechar todos os arquivos do projeto, clique no menu File e na opo Close All. Se excluir indevidamente um componente do formulrio, tecle CTRL + Z. Para ordenar os componentes do formulrio, clique com o boto direito no formulrio e escolha Tab Order. NOTA: A mensagem Save Changes To Unit.Pas? que surge quando voc clica no boto X (fechar) da janela da Unit (muitas vezes para sair do Editor de Cdigo e retornar ao formulrio), quer dizer: Salva Alteraes Para a Unit1.Pas?. Clicando no boto Yes Clicando no boto No Clicando no boto Cancel ser solicitado salvar a Unit. a Unit ser perdida a mensagem ser cancelada.

19
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

TRABALHANDO COM OS FORMULRIOS Os formulrios, como j mencionado, so as telas de uma aplicao Windows. Veja as Propriedades e os Eventos mais comuns de um formulrio: Propriedades ActiveControl BorderIcons BorderStyle Caption Color Cursor Font Height Icon KeyPreview Left Name Position Top Width WindowState Descrio da Propriedade Especifica qual componente inserido ter o foco inicial na exibio do formulrio. Determina se o formulrio ter a caixa de controle padro do Windows (Menu, Barra de Ttulo, botes Fechar, Maximizar e Minimizar). Determina se o formulrio ter bordas (bsSingle) ou no (bsNone) ou ainda se ter bordas redimensionveis (bsDialog) ou no,etc. Estabelece o texto que aparece na barra de ttulo do formulrio. Determina a cor de fundo do formulrio. Define a aparncia do cursor. H vrios formatos como setas, ampulheta, etc. Determina o formato da fonte para todos os componentes do formulrio. Determina a altura do formulrio na tela. Especifica o cone a ser usado quando o formulrio for minimizado. Especifica se o formulrio deve receber eventos a partir de teclas digitadas. Determina a posio do formulrio em relao margem esquerda da tela. Define o nome para manipular internamente o formulrio. Especifica a posio do formulrio na tela, por exemplo: psScreenCenter (centralizado), poDesigned (posio atual no projeto). Determina a posio do formulrio em relao margem superior da tela. Determina a largura do formulrio na tela. Determina o estado em que o formulrio ser exibido na tela do Windows: wsMaximized (maximizado), wsMinimized (minimizado), wsNormal (restaurado).

Evento OnActivate OnClick OnClose OnClose OnCreate OnDblClick OnDragDrop OnEndDrag OnHide OnKeyDown OnKeyPress OnKeyUp OnMouseDown OnMouseMove OnMouseUp OnPaint OnResize OnShortCut OnShow

Descrio do Evento Ocorre quando o formulrio ativado. Ocorre quando o usurio da um clique sobre o formulrio. Ocorre quando o usurio fecha o formulrio. Ocorre durante o fechamento do formulrio. Ocorre quando o formulrio criado. Ocorre quando o usurio da um duplo-clique sobre o formulrio. Ocorre quando o usurio arrasta o formulrio. Ocorre quando o usurio solta o formulrio arrastado. Ocorre quando o formulrio se torna oculto. Ocorre quando o usurio pressiona qualquer tecla no formulrio. Ocorre quando uma tecla pressionada no formulrio. Ocorre quando o usurio solta uma tecla que estava pressionada. Ocorre quando o usurio mantm pressionado o boto do mouse no formulrio. Ocorre quando o usurio move o ponteiro do mouse no formulrio. Ocorre quando o usurio solta o boto do mouse no formulrio. Ocorre quando o formulrio desenhado na tela. Ocorre quando o formulrio dimensionado. Ocorre quando uma tecla de atalho pressionada no formulrio. Ocorre antes da exibio do formulrio, ou seja, antes de se tornar visvel.

20
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Para ADICIONAR um NOVO Formulrio ao projeto. 1. Clique no boto New Form na barra de ferram. ou no menu File e em New Form. Para REMOVER um Formulrio (com a respectiva Unit) do projeto. 1. Clique no boto Remover File From Project na barra de ferramentas. Para ADICIONAR um Formulrio j existente ao projeto. 1. Com o projeto aberto, clique no boto Add File To Project na barra de ferramentas. Para FECHAR um Formulrio em sua aplicao. 1. No cdigo do componente escolhido digite, por exemplo: Form3.Close; Para ESCONDER um Formulrio em sua aplicao. 1. No cdigo do componente escolhido digite, por exemplo: Form3.Hide; Para FECHAR qualquer Formulrio, encerrando a aplicao. 1. No cdigo do componente escolhido digite, por exemplo: Application.Terminate; Para fazer com um Formulrio passe a EXIBIR um outro na tela de sua aplicao. 1. No cdigo do componente escolhido digite, por exemplo: Form2.Show; Para que o Form1 possa exibir o Form2, como no exemplo acima, necessrio que a Unit1 do Form1 tambm faa chamada a Unit2 do Form2, aps a palavra implementation com a declarao: Uses Unit2. Caso voc esquea de fazer esta declarao, o DELPHI alertar e pedir confirmao para adicionar a declarao. FORMULRIO MODAL Formulrio Modal aquele que tem quer ser fechado antes que a aplicao possa continuar, ou seja, ele detm o foco enquanto aberto, no permitindo o acesso a outros formulrio. Para EXIBIR um Formulrio MODAL na tela de sua aplicao. 1. No cdigo do componente escolhido digite, por exemplo: Form5.ShowModal; FAZENDO A TECLA ENTER FUNCIONAR COMO TAB NO FORMULRIO. A maneira Windows de se movimentar entre as reas de edio usando a tecla TAB. Isto traz um inconveniente para aqueles que se habituaram a utilizar a tecla ENTER para este fim. Veja os comandos necessrios para fazer a tecla ENTER funcionar como TAB: 1. Selecione o formulrio e defina a propriedade KeyPreview para True. 2. No Objetc Inpector, na aba Events, abra o evento OnKeyPress e digite o seguinte cdigo: If (key = #13) and not (activecontrol is tmemo) then begin Key := #0; perform(wm_nextdlgctl,0,0); end;

21
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

COMO INSERIR UMA IMAGEM EM UM FORMULRIO Para adicionar uma imagem a um formulrio: 1. Adicione um componente Image (Additional) ao formulrio ou a um componente inserido no formulrio, como por exemplo, um Panel ou Shape. 2. Abra a propriedade Picture do componente Image. 3. Clique no boto Load do Picture Editor para carregar a imagem. 4. Na caixa de dilogo Load Picture, procure a imagem a ser exibida, e clique no boto Abrir. 5. Aps escolher a imagem clique no boto Ok para sair do Picture Editor. 6. Para que a imagem se dimensione para o tamanho do componente Image, mude a propriedade Stretch para True. 7. Para fazer com que o componente Image se dimensione para o tamanho do componente no qual foi inserido (exemplo: no formulrio), mude a propriedade Align para alClient. Para centralizar o componente Image no formulrio (horizontal/vertical): 1. Clique no menu Edit, na opo Align (ou clique com o boto direito no componente Image) e marque os dois botes Center in windows e clique no boto Ok. Para posicionar o componente Image, na frente ou por trs de outros componentes: 1. Clique no menu Edit (ou clique com o boto direito no componente) e escolha as opes: Bring To Front (trazer para a frente) ou Send To Back (enviar para trs). COMO INSERIR UMA IMAGEM EM UM BOTO: H vrios botes com bitmaps pr-definidos que voc pode usar em seus formulrios. Voc tambm pode escolher outros bitmaps existentes nos seus discos par a ilustrar os botes de sua aplicao. Para adicionar uma imagem a um componente Bitbtn: 1. 2. 3. 4. 5. Adicione um componente Bitbtn (Additional) ao formulrio. Abra a propriedade Gliph e localize o bitmap desejado. Mude a propriedade Caption para o ttulo do boto. Na propriedade Font determine a fonte, o tamanho, o estilo e a cor do Caption. Atravs da propriedade Layout defina a posio do bitmap no boto.

NOTA: A propriedade Kind traz bitmaps pr-definidos para o componente Bitbtn. Para adicionar uma imagem a um componente SpeedButton: 1. 2. 3. 4. Adicione um componente SpeedButton (Additional) ao formulrio. Abra a propriedade Gliph e localize o bitmap desejado. Deixe vazio ou digite, na propriedade Caption, um ttulo para o boto. Altere a propriedade Flat para True para dar um efeito tipo boto de barra de ferramenta.

NOTA: O componente Button (Standard) no permite cor de fonte nem insero de imagens.

22
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

COMO INSERIR E MANIPULAR COMPONENTES NO FORMULRIO 1. Localize a aba da Paleta de Componentes onde se encontra o componente desejado. 2. Clique no componente e clique no ponto do formulrio onde deseja inseri-lo ou clique duplo sobre o componente (este ser inserido automaticamente no formulrio). NOTA: Pressionando a tecla SHIFT e clicando sobre um componente voc pode inseri-lo repetidas vezes no formulrio. COMO ALINHAR COMPONENTES Voc pode alinhar diversos componentes ao mesmo tempo, no formulrio, para isso: 1. Selecione os componentes (com o arrastar-esoltar do mouse ou mantendo a tecla SHIFT pressionada enquanto clica nos componentes). 2. Clique no menu Edit e na opo Align (ou clique com o boto direito do mouse sobre os componentes selecionados, escolha Position, o alinhamento e clique no boto Ok. Para ALINHAR os componentes na GRADE do formulrio: 1. Clique no menu Edit e na opo Align to Grid (ou clique com o boto direito do mouse sobre os componentes selecionados e escolha Align to Grid). Para ALINHAR os componentes nas MARGENS do formulrio: 1. Selecione os componentes e defina nas propriedades: Left a distncia do componente em relao borda esquerda do formulrio. Top a distncia do componente em relao borda superior do formulrio. Para DIMENSIONAR os componentes do formulrio: 1. Selecione os componentes e defina nas propriedades: Height a distncia do componente em relao borda esquerda do formulrio. Width a distncia do componente em relao borda superior do formulrio. 2. Ou, selecione os componentes, clique no menu Edit e na opo Size. No quadro Size, marque a opo Width e entre com o valor da largura, depois marque a opo Height e entre com o valor da altura. Para EXCLUIR componentes do formulrio: 1. Selecione os componentes e tecle DELETE ou clique no menu Edit e escolha Delete. Para MOVER componentes do formulrio: 1. Selecione os componentes e arraste com o boto esquerdo do Mouse para o local desejado. NOTA: Componentes inseridos dentro de outros como, por exemplo, botes inseridos dentro de um Panel no podem ser movidos para fora deste.

23
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Para FOCAR um determinado componente do formulrio. 1. No procedimento que envolve o componente digite, por exemplo: DBEdit1.Setfocus; Bitbtn2.Setfocus; Combobox1.Setfocus; Para tornar VISVEL ou INVISVEL um determinado componente do formulrio. 1. No procedimento que envolve o componente digite, por exemplo: Bitbtn1.Visible := False; {o componente se torna invisvel} Ou Bitbtn1.Visible := True; {o componente se torna visvel} Para HABILITAR ou DESABILITAR um determinado componente do formulrio. 1. No procedimento que envolve o componente digite, por exemplo: Edit6.Enabled := False; {o componente fica desabilitado} Ou Edit6.Enabled := True; {o componente fica habilitado} Para LIMPAR o contedo de determinados componentes de edio. 1. No procedimento que envolve o componente digite, por exemplo: DBEdit1.Clear; ou DBEdit1.Text := ; Para TABULAR a ordem dos componentes do formulrio. 1. Selecione cada componente e defina na propriedade TabOrder a ordem iniciada por 0. 2. Ou clique no menu Edit (mesmo que clicar com o boto direito do mouse no formulrio) e escolha a opo Tab Order. No quadro Edit Tab Order, mova para ordenar os componentes. Para DESTABULAR a ordem de determinados componentes do formulrio. 1. Selecione o componente e defina a propriedade TabStop para False. COMO INSERIR LEGENDA NOS COMPONENTES Uma legenda um ttulo ou uma mensagem visvel apenas durante alguns segundos quando o cursor do mouse se posiciona sobre um componente. As legendas so teis para oferecer ao usurio, mais informaes sobre os componentes de sua aplicao. Para adicionar uma legenda a um componente: 1. Adicione um componente Button (Standard), por exemplo, ao formulrio. 2. Na propriedade Hint do componente digite a legenda desejada. 3. Mude a propriedade ShowHint para True.

24
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

PALETAS DE COMPONENTES E COMPONENTES BSICOS

Paleta Standard MainMenu Permite criar menus comuns. Voc no precisa rodar a aplicao para ver o resultado do menu criado, este se torna visvel no prprio projeto (veja o tpico Como criar Menus). Propriedades mais comuns Items Abre o gerenciador de Menu para digitao dos itens ou sub-itens do menu.

Propriedades comuns aos items: Bitmap Caption Checked Enabled ShortCut Define um cone para o componente. Um arquivo grfico .Ico ou .Bmp. Estabelece o texto (ttulo) do componente. Um sinal de hfen (-) como Caption cria um separador nos itens do menu. Define se o componente deve ficar marcado (True) ou no (False). Define se o componente deve ficar habilitado (True) ou no (False). Permite escolher teclas de atalhos para ativar o item ou sub-item do menu.

Label Utilizado para digitar texto no formulrio. Propriedades mais comuns Caption Color Font WordWrap Estabelece o texto (ttulo) do componente. Determina a cor de fundo componente. Muda o formato da fonte usada no componente. Determina se o texto deve passar pra linha de baixo (True) ou no (False).

Edit uma caixa de edio utilizada para que o usurio possa entrar com informaes.. Propriedades mais comuns: Determina se componente ter bordas(bsSingle) ou no (bsNone). Determina se o texto aparecer na caixa ecUpperCase (Maisculo), ecLowerCase (minsculo) ou ecNormal (maisculo e minsculo). Color Determina a cor de fundo componente. Font Muda o formato da fonte usada no componente. HideSelection Define se o componente ter o texto focado (True) ou no (False). MaxLength Determina o limite mximo de caracteres a ser digitado para o componente. PasswordChar Determina o caracter a ser usado para mascarar o componente. ReadOnly Determina se o texto na caixa pode ser alterado (True) ou no (False). Text Determina o texto inicial da caixa. O padro o nome do componente. Transparente Define se o componente ter a cor de fundo (True) ou no (False). BorderStyle CharCase

25
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Button Utilizado para criar botes de comando para que o usurio clicando nestes possa iniciar uma ao. Propriedades mais comuns: Caption Enabled Font Hint ShowHint TabStop Visible Estabelece o titulo do componente. Determina se o componente responde a eventos (True) ou no (False). Muda o formato da fonte usada no componente. Permite exibir uma legenda para o componente. A legenda se torna visvel quando o cursor do mouse pausa sobre o componente. Determina se a legenda do componente ser visvel (True) ou no (False). Define se o componente estar na ordem de tabulao (True) ou no (False). Determina se o componente estar visvel (True) ou no (False).

Memo Utilizado quando voc deseja inserir vrias linhas de texto no formulrio. O componente Memo pode armazenar at 255K de texto. Propriedades mais comuns: Alinha o componente no objeto no qual foi inserido. alBottom (na base), alTop (no topo), alClient (em todo o componente), alLeft ( esquerda), alRigth ( direita) e alNone (alinhamento manual). Alignment Alinha o texto do componente. As opes so taCenter (ao centro) taLeftJustify ( esquerda) e taRightJustify ( direita). BorderStyle Determina se componente ter bordas(bsSingle) ou no (bsNone). Color Determina a cor de fundo componente. Font Muda o formato da fonte usada no componente. ReadOnly Determina se o texto na caixa pode ser alterado (True) ou no (False). ScrollBars Determina se o componente ter barra de rolagem vertical (ssVertical), horizontal (ssHorizontal), ambas (ssBoth) ou no (ssNone). WantReturns Determina se as linhas sero quebradas ao teclar ENTER (True) ou no (False), linhas quebradas apenas com CTRL + ENTER. Wordwrap Determina se no fim da linha o cursor deve passar automaticamente para a linha seguinte (True) ou no (False). Align CheckBox Utilizado para mostrar uma caixa com texto que pode ser marcada ou desmarcada. Propriedades mais comuns: Caption Checked Estabelece o titulo do componente. Determina se componente est selecionado (True) ou no (False). Esta propriedade pode ser manipulada no cdigo de sua aplicao, por exemplo: CheckBox1.Checked := True; Determina a cor de fundo componente. Muda o formato da fonte usada no componente. Determina a propriedade Checked para cbChecked (marcado) cbUnChecked (desmarcado) ou cbGrayed (marcado-desabilitado).

Color Font State

26
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

RadioButton Utilizado para apresentar um conjunto de opes onde o usurio s pode escolher uma das opes. Propriedades mais comuns: Alignment Caption Checked Color Font Alinha o texto do componente. As opes so taCenter (ao centro) taLeftJustify ( esquerda) e taRightJustify ( direita). Estabelece o titulo do componente. Determina se componente est selecionado (True) ou no (False). Esta propriedade pode ser manipulada no cdigo de sua aplicao, por exemplo: RadioButton1.Checked := False; Determina a cor de fundo componente. Muda o formato da fonte usada no componente.

ListBox Exibe um quadro com vrias linhas de texto (itens) onde o usurio pode escolher apenas um item. Propriedades mais comuns: Alignment BorderStyle Color Collumns Font Items MultSelect Sorted Alinha o texto do componente. As opes so taCenter (ao centro) taLeftJustify ( esquerda) e taRightJustify ( direita). Determina se componente ter bordas(bsSingle) ou no (bsNone). Determina a cor de fundo componente. Determina a quantidade de colunas do componente. Muda o formato da fonte usada no componente. Determina o texto (itens) de cada linha do componente. Permite selecionar mais de um item na lista do componente. Determina a ordem crescente (True) ou decrescente (False) do itens.

ComboBox Semelhante ao componente ListBox, s que o usurio tambm pode entrar com um novo item alm de selecionar um na lista. Propriedades mais comuns: Color Font Items Sorted Text Style Determina a cor de fundo componente. Muda o formato da fonte usada no componente. Determina o texto (itens) de cada linha do componente. Determina a ordem crescente (True) ou decrescente (False) do itens. Determina o texto inicial do componente. Define o boto seta-de-lista para o componente. csSimple retira o boto seta.

RadioGroup Utilizado para organizar grupos de RadioButton onde o usurio s pode marcar um RadioButton. Propriedades mais comuns: Caption Items Itemindex Collumns Font Estabelece o titulo do componente. Determina os dados (itens) de cada linha do componente. Determina o item a ser marcado no componente, iniciando em -1. Determina a quantidade de colunas do componente. Muda o formato da fonte usada no componente.

27
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Panel Utilizado para inserir um painel no formulrio, no qual podem ser inseridos outros componentes. O componente Panel responde a eventos tal qual um Button. Propriedades mais comuns: Align Alignment BevelOuter BevelWidth BorderStyle Color Font Visible Paleta Additional BitBtn Utilizado para inserir um no formulrio um boto com imagem e texto colorido. Propriedades mais comuns: Caption Enabled Font Gliph Kind Visible Layout Estabelece o titulo do componente. Determina se o componente responde a eventos (True) ou no (False). Muda o formato da fonte usada no componente. Determina a imagem a ser exibida no componente. Define um boto pr-defenido pelo DELPHI. Por exemplo: bkClose (Fechar). Determina se o componente estar visvel (True) ou no (False). Permite definir a posio da imagem no componente: bkGliphTop na parte acima do Caption bkGliphBottom na parte abaixo do Caption bkGliphLeft na parte esquerda do Caption bkGliphRight na parte direita do Caption Permite exibir uma legenda para o componente. Determina se a legenda do componente ser visvel (True) ou no (False). Alinha automaticamente no componente no qual foi inserido. alBottom (na base), alTop (no topo), alClient (no componente), alLeft ( esquerda), alRigth ( direita) e alNone (manualmente). Alinha o texto do componente. As opes so taCenter (ao centro) taLeftJustify ( esquerda) e taRightJustify ( direita). Determina a posio da borda no componente. Determina a espessura da linha da borda da propriedade BevelOuter. Determina se componente ter bordas(bsSingle) ou no (bsNone). Determina a cor de fundo componente. Muda o formato da fonte usada no componente. Determina se o componente estar visvel (True) ou no (False).

Hint ShowHint

SpeedButton Utilizado quando se deseja um boto com desenho para criao de barra de ferramentas. Propriedades mais comuns: Gliph Flat Hint ShowHint Determina a imagem a ser exibida no componente. Cria um efeito ativado/desativado para o componente. Permite exibir uma legenda para o componente. Determina se a legenda do componente ser visvel (True) ou no (False).

28
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

MaskEdit semelhante a uma caixa de edio Edit, s que o usurio pode mascarar a entrada de dados para exigir que se digite apenas o que foi pr-determinado. Propriedades mais comuns Determina se componente ter bordas (bsSingle) ou no (bsNone). Determina se o texto aparecer na caixa ecUpperCase (Maisculo) e ecLowerCase (minsculo) ou ecNormal (maisculo e minsculo). Color Determina a cor de fundo componente. EditMask Abre um Editor de Mscara para determinar a mscara do componente. Font Muda o formato da fonte usada no componente. HideSelection Define se o componente ter o texto focado (True) ou no (False). MaxLength Determina o limite mximo de caracteres a ser digitado para o componente. PasswordChar Determina o caracter a ser usado para mascarar o componente. ReadOnly Determina se o texto na caixa pode ser alterado (True) ou no (False). Text Determina o texto inicial a ser apresentado na caixa. O padro o nome do Componente. BorderStyle CharCase DrawGrid Permite criar tabelas tanto com dados como com imagens. Os dados ou imagens so inseridos em clulas (encontro de uma coluna com uma linha na grade DrawGrid). Propriedades mais comuns: Color ColCount/RowCount DefaultColWidth e DefautRowHeight Font Height, width Options Scrollbars Determina a cor de fundo do componente. Determina o nmero de linhas / determina o nmero de colunas. Determinam a largura de uma coluna e a altura de uma linha. Muda o formato da fonte usada no componente. Determinam a altura da grade e a largura da grade. Define 15 opes (True) ou (False) (verdadeira ou falsa) diferentes para manipulao da grade. Determina as barras de rolagens: vertical (ssVertical), horizontal (ssHorizontal), ambas (ssBoth) ou no (ssNone) p/ o componente.

Image Utilizado para mostrar uma imagem grfica em um formulrio. O DELPHI suporta os seguintes formatos de figuras: bitmap (.bmp), metafiles (.wmf) e icons (.ico).

Propriedades mais comuns: Align AutoSize Picture Stretch Alinha automaticamente no componente no qual foi inserido. alBottom (na base), alTop (no topo), alClient (em todo o componente), alLeft ( esquerda), alRigth ( direita) e alNone (manualmente). Determina se a imagem ter o tamanho natural (True) ou no (False). Determina a imagem a ser mostrada no componente Determina se a imagem deve ser dimensionada (True) ou no (False) para o tamanho do componente.

NOTA: Para usar Imagens .jpg, inclua a unit JPEG na clusula uses da unit corrente.

29
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Shape Utilizado para adicionar formatos grficos como crculos, retngulos, etc, aos formulrios. O componente Shape responde a eventos tal qual os botes. Propriedades mais comuns: Brush Pen Shape Altera a cor de preenchimento e define o estilo do componente. Especifica opes para a borda do componente. Muda o formato do componente. Por exemplo: stCircle (crculo).

Bevel Utilizado para emoldurar opes e componentes do formulrio. Propriedades mais comuns: Align Shape Style Alinha o componente no Formulrio ou no componente no qual foi inserido. Muda o formato das linhas do componente. Muda a posio da borda do componente.

CheckListBox Semelhante ao RadioGroup utilizado par organizar itens tipo CheckBox, onde o usurio pode marcar mais de um CheckBox. Propriedades mais comuns: BorderStyle Color Collumns Font Items Sorted Style Determina se componente ter bordas(bsSingle) ou no (bsNone). Determina a cor de fundo componente. Determina a quantidade de colunas do componente. Muda o formato da fonte usada no componente. Determina o texto (itens) de cada linha do componente. Determina a ordem crescente (True) ou decrescente (False) dos itens. Determina os estilos das caixas de marcao dos itens do componente.

Paletas Data Access e BDE TField No est presente na aba DataAccess Esto relacionados aos campos (Fields) da tabela e so acessados quando se abre o Fields Editor de uma Table ou Query. Propriedades mais comuns: EditMask DataType FieldName Currency DisplayFormat DisplayFormat MaxValue e MinValue Especifica a mscara para entrada de dados no campo da tabela. Especifica o tipo de dado no componente TField. Contm o nome do campo da tabela. Exibir dados numricos em formato de moeda (True) ou no (False). Permite formatar a exibio dos dados atravs de uma mscara. Permite formatar a exibio dos dados atravs de uma mscara. Define valores mximo e mnimo respectivamente para o campo.

30
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

TDataSource uma ligao entre componentes do tipo TTable ou TQuery e um ou mais componentes de visualizao de dados (DataControls) Propriedades mais comuns: DataSet AutoEdit Enabled Especifica o componente TTable ou TQuery associado. Probe (True) ou no (False) a gravao das alteraes na tabela. Habilita (True) ou no (False) os componentes de visualizao.

Ttable (no Delphi 6 e 7) o componente aparece na paleta (BDE) Especifica a tabela a ser acessada. Dando um clique duplo no componente voc entrar em modo de edio para escolher quais campos da tabela sero mostrados no formulrio e como mostr-los. Propriedades mais comuns: DataBaseName TableName IndexFieldName IndexName Active Especifica o caminho ou Alias do banco de dados a ser acessado. Exemplo: C:\Clientes (caminho) ou dbClientes (Alias). Especifica qual tabela do banco de dados ser acessada. Especifica o campo da tabela a ser usado como ndice. Como usar no cdigo da Unit: Table1.IndexFieldName := Nome ; Especifica o arquivo de ndice a ser aberto com a tabela. Como usar no cdigo da Unit: Table1.IndexName := IClientes ; Se igual a (True) torna a tabela ativa durante o projeto.

Mtodos mais comuns: Open Close Append First Next Prior Last Insert Delete Edit Post Cancel EmptyTable Abre a tabela. Fecha a tabela. Adiciona um registro em branco. L o primeiro registro da tabela. L o prximo registro da tabela. L o registro anterior da tabela . L o ltimo registro da tabela. Insere um registro em branco. Excluir um registro da tabela. Coloca a tabela em modo de edio. Grava as mudanas na tabela. Cancela a edio no registro. Apaga todos os registros da tabela. Exemplo: Table1.Open; Exemplo: Table1.Close; Exemplo: Table1.Append; Exemplo: Table1.First; Exemplo: Table1.Next; Exemplo: Table1.Prior; Exemplo: Table1.Last; Exemplo: Table1.Insert; Exemplo: Table1.Delete; Exemplo: Table1.Edit; Exemplo: Table1.Post; Exemplo: Table1.Cancel; Exemplo: Table1.EmptyTable;

TQuery Especifica a tabela a ser acessada e manipulada, atravs de comandos SQL. Propriedades mais comuns: DataBaseName SQL Active Especifica o caminho ou Alias do banco de dados a ser acessado. Exemplo: C:\Clientes (Caminho) ou dbClientes (Alias). Especifica o comando SQL para manipular a tabela. Se igual a (True) torna a pesquisa ativa durante o projeto.

31
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Eventos mais comuns para TTable e TQuery: AfterAppend AfterCancel AfterClose AfterDelete AfterEdit AfterInsert AfterOpen AfterPost BeforeAppend BeforeCancel BeforeClose BeforeDelete BeforeEdit BeforeInsert BeforeOpen BeforePost OnCalcField Ocorre depois de adicionar um registro em branco. Ocorre depois de cancelar os dados do registro. Ocorre depois de fechar a tabela de dados. Ocorre depois de excluir um registro. Ocorre depois da edio de um registro. Ocorre depois de inserir um registro. Ocorre depois de abrir a tabela de dados. Ocorre antes de gravar os dados na tabela. Ocorre antes de adicionar um registro em branco. Ocorre antes de cancelar os dados do registro. Ocorre antes de fechar a tabela de dados. Ocorre antes de excluir um registro. Ocorre antes da edio de um registro. Ocorre antes de inserir um registro. Ocorre antes de abrir a tabela de dados. Ocorre antes de gravar os dados na tabela. Ocorre quando se manipula um campo de clculo.

Paleta Data Controls DBGrid Permite visualizar os dados das tabelas ou pesquisa SQL em grades, exibindo todos os campos ou apenas aqueles definidos no Fields Editor. Propriedades mais comuns: DataSource Fields ReadOnly FixedColor Options TitleFont Define o DataSource associado a tabela de onde sairo os dados. Contm os nomes dos campos exibidos pelo componente. Define se os dados podem ser editados (True) ou no (False). Define cores paras os identificadores das linhas e colunas da grade. Abre inmeras propriedades de manipulao da grade. Abre propriedades para formatao da fonte da grade.

Clicando duplo no componente DBGrid voc abre o Editor da Grade para manipulao das colunas. A propriedade Title permite formatar as colunas da grade. Eventos mais comuns: OnCellClick OnColEnter OnColExit OnKeyPress OnTitleClick Ocorre quando Ocorre quando Ocorre quando Ocorre quando Ocorre quando se clica em uma clula da grade. a coluna se torna visvel (recebe o foco). o foco sai da coluna. uma tecla pressionada. se clica no ttulo de uma coluna.

32
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

DBEdit Exibe o valor corrente de um campo da tabela em uma caixa de edio, permitindo que o usurio manipule seu valor. Propriedades mais comuns: DataSource DataField AutoSize CharCase Define o DataSource associado a tabela de onde sairo os dados. Define o campo da tabela ao qual o componente est associado. Define se o compon. pode ser dimensionado (True) ou no (False). Determina se o texto aparecer na caixa ecUpperCase (Maisculo) e ecLowerCase (minsculo) ou ecNormal (maisculo e minsculo).

DBMemo Semelhante ao DBEDit s que pode exibir vrias linhas de texto. Propriedades mais comuns: DataSource DataField MaxLenght ScrollBars WantReturns Define o DataSource associado a tabela de onde sairo os dados. Define o campo da tabela ao qual o componente est associado. Limita a quantidade de caracteres que se pode entrar no componente. Determina barra de rolagem vertical (ssVertical), horizontal (ssHorizontal), ambas (ssBoth) ou no (ssNone). Determina se as linhas sero quebradas ao teclar ENTER (True) ou no (False), linhas quebradas apenas com CTRL + ENTER.

DBNavigator Permite navegar por entre um conjunto de dados, manipulando-os se necessrio. Isto feito atravs de um conjunto de botes que permite ao usurio navegar, alterar, gravar, excluir registros, etc.,

Propriedades mais comuns: DataSource Hints ShowHints VisiblesButtons Define o DataSource associado a tabela de onde sairo os dados. Permite exibir uma legenda para o componente. Determina se a legenda ser visvel (True) ou no (False). Define quais botes sero visveis (True) ou no (False).

DBImage Utilizado para mostrar uma imagem grfica armazenada em um campo de uma tabela de dados. Propriedades mais comuns: DataSource DataField Stretch Define o DataSource associado tabela de onde sairo os dados. Define o campo da tabela ao qual o componente est associado. Determina se a imagem deve ser dimensionada (True) ou no (False) para o tamanho do componente.

33
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

PARA GRAVAR UMA IMAGEM EM UM CAMPO GRFICO DE UMA TABELA DE DADOS NOTA: Para que uma imagem possa ser gravada no campo grfico correspondente da tabela, voc precisa primeiro adicionar um componente, por exemplo, um OpenPictureDialog (Dialogs) para carregar a imagem no componente DBImage para depois efetuar a gravao. 1. Insira um componente OpenPictureDialog (Dialogs) no formulrio. 2. No evento OnClik ou OnDbClick do componente DBImage ou de um boto qualquer, digite entre os comandos begin e end; If OpenPictureDialog1.Execute then DBImage1.Picture.LoadFromFile(OpenPictureDialog1.Filename); DBListBox Utilizado par mostrar os dados de um campo na forma de uma lista (quadro ListBox). Propriedades mais comuns: DataSource DataField Items NOTA: Define o DataSource associado a tabela de onde sairo os dados. Define o campo da tabela ao qual o componente est associado. Determina os dados (itens) de cada linha do componente.

Uma barra de rolagem vertical aparece automaticamente quando a quantidade de itens do componente ultrapassar a sua rea visvel.

DBComboBox Semelhante ao componente DBListBox, s que o usurio tambm pode entrar com um novo item para o campo, alm de selecionar um na lista. Propriedades mais comuns: DataSource DataField Items Sorted DBLookupComboBox Define o DataSource associado a tabela de onde sairo os dados. Define o campo da tabela ao qual o componente est associado. Determina os dados (itens) de cada linha do componente. Define a ordem crescente (True) ou decrescente (False) dos itens. Possibilita (associando) a gravao de um campo de uma tabela, atravs da exibio de dados de um campo de uma outra tabela,

Propriedades mais comuns: DataSource DataField ListSource ListField KeyField Define o DataSource da tabela1 onde os dados sero gravados. Define o campo da tabela1 onde sero gravados os dados. Define o DataSource da tabela2 a ser associada. Define o campo da tabela2 para a exibio dos dados. Define o campo da tabela2 a ser usado para a associao.

34
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

DBCheckBox utilizado para mostrar um texto tipo caixa de seleo onde o usurio pode marcar ou desmarcar a caixa, jogando o texto do componente para o campo associado da tabela de dados. Propriedades mais comuns: DataSource DataField ValueCheked Define o DataSource associado a tabela de onde sairo os dados. Define o campo da tabela ao qual o componente est associado. Define se uma string associada deve ser repassada (True) ou no (False) para o campo da tabela associado ao componente.

DBRadioGroup Estabelece valores para um campo atravs de itens determinados. Propriedades mais comuns: DataSource DataField Items Itemindex Collumns Value Define o DataSource associado a tabela de onde sairo os dados. Define o campo da tabela ao qual o componente est associado. Determina os dados (itens) de cada linha do componente. Determina o item a ser marcado no componente, iniciando em -1. Determina a quantidade de colunas do componente. Define valores de gravao de acordo com cada item da lista Items.

Paleta Samples SpinEdit Utilizado para apresentar ao usurio, uma caixa de edio com botes que permitem aumentar ou diminuir os valores da caixa. Propriedades mais comuns: Color Font Increment MaxValue MinValue Value Determina a cor de fundo componente. Muda o formato da fonte usada no componente. Determina a escala (valor) para aumentar ou diminuir valores da caixa. Determina o valor mximo a se escolher na caixa. Determina o valor mnimo a se escolher na caixa. Define o valor mximo ou mnimo escolhido na caixa.

Calendar Insere um calendrio na aplicao que exibe a data do sistema e datas manipuladas pelo usurio. Propriedades mais comuns: Align Color Day Font GridKineWidth Month Year Alinha o componente no Form ou no componente no qual foi inserido. Determina a cor de fundo componente. Determina o dia do calendrio atravs de um valor inteiro. Muda o formato da fonte usada no componente. Determina a espessura da grade do calendrio. Determina o ms do calendrio atravs de um valor inteiro. Determina o ano do calendrio atravs de um valor inteiro.

35
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

StatusBar Utilizada para mostrar uma barra de Status no formulrio que pode exibir mensagens predefinidas. Propriedades mais comuns: Align Color Font SimpleText Alinha o componente no Formulrio ou no componente no qual foi inserido. Determina a cor de fundo componente. Muda o formato da fonte usada no componente. Define o texto a ser exibido no componente.

Paleta System Timer Utilizado para controlar, atravs de um tempo, um evento qualquer em sua aplicao. Propriedades mais comuns: Enabled Interval Determina se o Timer deve (True) ou no (False) comear a funcionar. Determina quanto tempo ou no o DELPHI espera antes de ativar o comando associado ao componente. O Intervalo medido em milissegundos e os limites bsicos esto entre 56 e 65.535 milissegundos (mais de 1 minuto).

Media Player Utilizado para trabalhar com arquivos multimdia (som e imagem). Propriedades mais comuns: Determina se o componente deve abrir (True) ou no (False) o arquivo multimdia automaticamente. DeviceType Determina qual tipo de arquivo multimdia deve ser controlado. A opo dtAutoSelect detecta automaticamente o tipo de arquivo. EnabledButton Determina quais botes do componente estaro habilitados ou no. FileName Determina o nome do arquivo a ser manipulado pelo componente. VisibleButton Determina quais botes do componente devem ficar visveis na aplicao. AutoOpen

Paleta Win 3.1

TabbedNoteBook Utilizado para criar abas (guias) no formulrio para agrupar informaes. Propriedades mais comuns: Align ActivePage Pages Alinha o componente no formulrio ou no componente no qual foi inserido. Permite ativar a guia (aba) desejada do formulrio. Permite adicionar guias (abas) ao formulrio.

36
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

DriveComboBox Utilizado para exibir os discos (com pastas e arquivos) do sistema. Propriedades mais comuns: DirList Permite exibir a pasta do componente DirectoryListBox.

DirectoryListBox Utilizado para exibir as pastas (com subpastas e arquivos) de um disco. Propriedades mais comuns: FileList Collumns Permite exibir a pasta com os arquivos do componente FileListBox. Permite definir a quantidade de colunas para exibio das pastas.

FileListBox Utilizado para exibir os arquivos de uma determinada pasta de um disco. Propriedades mais comuns: Mask FileType Define a mscara para exibio dos arquivos separados por ponto-e-vrgula. Permite definir atributos para os arquivos exibidos.

Paleta Dialogs OpenDialog Exibe uma caixa de dilogo Abrir Arquivos (padro Windows) p/ abertura de arquivos especficos. Propriedades mais comuns: DefaultExt Filter InitialDir Define a extenso de tratamento para abertura dos arquivos. Define o filtro para exibio dos arquivos. Define a pasta inicial de abertura dos arquivos.

FindDialog Exibe uma caixa de dilogo Localizar para busca de itens especficos de um procedimento. Propriedades mais comuns: FindText Options Define o texto inicial a ser localizado no procedimento. Define opes para localizao (toda ou parte) no procedimento.

ReplaceDialog Exibe uma caixa de dilogo Substituir para troca de itens especficos de um procedimento. Propriedades mais comuns: ReplaceText Options Define o texto inicial a ser substitudo no procedimento. Define opes para substituio (toda ou parte) no procedimento.

37
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

FontDialog Exibe uma caixa de dilogo Fonte para formatao da fontes envolvidas em um procedimento. Propriedades mais comuns: Device Define a exibio da fonte na tela (fdScreen), na impressora (fdPrint ) ou ambas (fdBoth).

SaveDialog Exibe uma caixa de dilogo Salvar Arquivos (padro Windows) p/ gravao de arquivos especficos. Propriedades mais comuns: DefaultExt Filter InitialDir Define a extenso de tratamento para gravao dos arquivos. Define o filtro para exibio dos arquivos. Define a pasta inicial de gravao dos arquivos.

OpenPictureDialog Exibe uma caixa de dilogo Abrir Arquivos para abertura de arquivos de imagens especficos. Propriedades mais comuns: DefaultExt Filter InitialDir Define a extenso de tratamento para gravao dos arquivos. Define o filtro para exibio dos arquivos. Define a pasta inicial de gravao dos arquivos.

SavePictureDialog Exibe uma caixa de dilogo Salvar Arquivos para gravao de arquivos de imagens especficos. Propriedades mais comuns: DefaultExt Filter InitialDir Define a extenso de tratamento para gravao dos arquivos. Define o filtro para exibio dos arquivos. Define a pasta inicial de gravao dos arquivos.

ColorDialog Exibe uma caixa de dilogo Cor para formatao das cores dos componentes de um procedimento. Propriedades mais comuns: CustomCollor Define uma lista de cores personalizadas. PrintDialog Exibe uma caixa de dilogo Imprimir (padro Windows) para impresso a partir de um procedimento. Propriedades mais comuns: Options Define opes para impresso (todo ou parte) no procedimento.

PrinterSetupDialog Exibe uma caixa de dilogo Configurar Impresso para especificar detalhes de impresso.

38
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Paleta Win32 DateTimePicker Permite exibir no formulrio a Data e a Hora que podem ser manipuladas pelo usurio. Propriedades mais comuns: CalColors Date DateFormat DateMode Kind MaxDate MinDate Time Altera o padro de cores dos itens do componente. Define a data inicial do componente. Define o formato de exibio da data: dsLong (data com dia da semana-msano), dsShort (data com formato padro Windows). Define o boto: dmUpDown (aumentar-diminuir), dmCombobox (abrir lista). Permite optar entre o tipo de exibio: Data (dtkDate) ou Hora (dtkTime). Define o valor mximo de data para o componente. Define o valor mnimo de data para o componente. Define o valor inicial para a hora.

Animate Utilizado para exibir objetos animados (pr-definidos do DELPHI ou no) no formulrio. Propriedades mais comuns: Active CommonAvi FileName Repetitions Determina se o componente estar ativo (True) ou no (False). Permite ativar animaes pr-definidas. Permite definir o arquivo de animao para o componente. Define quantas vezes a animao ocorrer. O Valor 0 deixa em exibio contnua.

MonthCalendar Permite exibir no formulrio um calendrio mensal, manipulvel, com todos os meses possveis. Propriedades mais comuns: Date Define a data inicial do componente. MaxDate Define o valor mximo de data para o componente. MinDate Define o valor mnimo de data para o componente. WeekNumbers Permite a exibio dos nmeros referentes as semanas do ano. CalColors Altera o padro de cores dos itens do componente. RichEdit Com mais recursos que o Memo, permite trabalhar com linhas de texto formatadas. Propriedades mais comuns: Alinha o texto do componente. Define as linhas a serem impressas do componente. Limita a quantidade de caracteres que o usurio pode entrar. Determina barra de rolagem vertical (ssVertical), horizontal (ssHorizontal), ambas (ssBoth) ou no (ssNone). WantReturns Determina se as linhas sero quebradas ao teclar ENTER (True) ou no (False), linhas quebradas apenas com CTRL + ENTER. Alignment Lines MaxLenght ScrollBars

39
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Paleta QReport QuickRep Exibe uma pgina pr-formatada onde so inseridos os componentes para fins de impresso. Propriedades mais comuns: Bands DataSet Frame Page Divises da pgina para formatao dos dados a serem impressos. Liga o componente Qreport uma tabela de dados. Define o tipo de bordas para os componentes do Qreport. Configura a pgina do Qreport a ser impressa.

QrBand Cria divises (faixas) no Qreport para impresso de dados especficos Propriedades mais comuns: BandType Define um tipo de faixa para impresso de componentes especficos. rbPageHeader para imprimir os dados do cabealho do relatrio rbTitle para imprimir os dados do ttulo do relatrio rbColumnHead para imprimir os dados das colunas do relatrio rbDetail para imprimir os campos de dados do relatrio rbPageFooter para imprimir os dados do rodap do relatrio Define a cor de fundo do componente. Muda o formato da fonte usada no componente. Define o tipo de bordas para a rea definida.

Color Font Frame

QrLabel Utilizado para impresso de texto (rtulo) nas faixas do Qreport. Propriedades mais comuns Caption Estabelece o texto (ttulo) do componente. Font Muda o formato da fonte usada no componente. Transparente Define se o componente ter a cor de fundo (True) ou no (False). QRDBText Permite a impresso dos dados de um campo de uma tabela de dados. Propriedades mais comuns: DataField DataSet Determina o campo da tabela de dados associado. Liga o componente QDBText a tabela de dados.

QRSysData Permite a impresso de dados pr-formatados tipo Data, Hora, N de Pgina, Ttulo ,etc.. Propriedades mais comuns: Data Define o tipo de dado a ser impresso.

40
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

QRExpress Permite a impresso de dados seguindo uma expresso (expression) assistida por um utilitrio Expression Wizard que permite unir e calcular campos e utilizar funes bsicas do Delphi. Propriedades mais comuns: Expression Define atravs do Expression Wizard o resultado de uma expresso para impresso de dados.

QRMemo Utilizado para imprimir vrias linhas de texto no QReport.. Propriedades mais comuns: Alignment Lines

Alinha o texto do componente. Define as linhas a serem impressas do componente.

QRRichText Com mais recursos que o QRMemo, permite imprimir linhas de texto formatadas no QReport. Propriedades mais comuns: Alignment Lines Alinha o texto do componente. Define as linhas a serem impressas do componente.

QRDBRichText Utilizado para imprimir linhas de texto formatadas de um campo memo de uma tabela de dados. Propriedades mais comuns: Alignment Font DataField DataSet Alinha o texto do componente. Muda o formato da fonte usada no componente. Determina o campo da tabela de dados associado. Liga o componente QRDBRichText a tabela de dados.

QRImage Utilizado para imprimir imagens no QReport. Propriedades mais comuns: Stretch Picture Determina se a imagem deve ser dimensionada (True) ou no (False) para o tamanho do componente. Determina a imagem a ser impressa no QReport.

QRDBImage Utilizado para imprimir imagens oriundas de um campo grfico de uma tabela de dados. Propriedades mais comuns: DataField DataSet Stretch Determina o campo da tabela de dados associado. Liga o componente QRDBImage a tabela de dados. Determina se a imagem deve ser dimensionada (True) ou no (False) para o tamanho do componente.

41
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

FORMULRIO ASSOCIADO A UM BANCO DE DADOS Para criar um FORMULRIO associado a uma TABELA de Banco de Dados:

1. 2. 3. 4. 5.

Primeiro, crie uma pasta no disco para armazenar os arquivos de sua aplicao. Ex: Vendas. Crie a tabela de banco de dados a ser usada no projeto. Ex: Clientes. Determine as propriedades do formulrio (Caption, Name, Position, WindowState, etc). Insira um componente Table (Data Access/BDE) no formulrio. Este ter o nome Table1. Insira um componente DataSource (Data Access) e defina as seguintes propriedades: DataSet com o nome da tabela associada Table1. Ex: tbClientes Name nome desejado p/ manipular melhor o componente. Ex: dsClientes. 6. Marque o componente Table1 e defina, no Object Inspector, as seguintes propriedades: DataBaseName pasta onde se encontra o banco de dados associado. Ex: C:\Vendas TableName nome da tabela de banco de dados a ser acessada. Ex: Clientes IndexName nome do ndice da tabela a ser utilizado. Name nome desejado para manipular melhor o componente. Ex: tbClientes Active igual a True para tornar a tabela ativa durante o projeto.

Para especificar quais CAMPOS da tabela sero EXIBIDOS no formulrio. 1. D um clique duplo no componente Table1 para abrir a janela da tabela. 2. Clique com o boto direito no meio da janela e escolha o comando Add All Fields. Para excluir um campo, selecione-o e tecle Delete. Para adicionar um campo, clique com o boto direito na janela e escolha Add Fields. 3. Arraste, na ordem desejada, os campos da tabela e solte no local devido do formulrio. Para manipular (gravar, excluir, localizar...) os REGISTROS da tabela 1. Insira um componente DBNavigator (Data Controls) e definas as seguintes propriedades: DataSource com o nome do componente associado. Ex: dsClientes. Name nome desejado p/manipular melhor o componente. Ex: dbnClientes. Para SALVAR a Unit do seu formulrio bem como o PROJETO de sua aplicao: 1. Clique no menu File e escolha a opo Save Project As (salvar projeto como). 2. Digite um nome para a Unit1 de sua aplicao. Ex: UnitClientes. 3. Escolha a pasta de sua aplicao e clique no boto Salvar. Ser salvo o arquivo UnitClientes.PAS (da unit) e o arquivo UnitClientes.DFM (do formulrio). 4. Aps salvar a Unit, ser solicitado salvar o projeto. Digite, por exemplo: SisVenda e clique no boto Salvar. Ser salvo o arquivo de sua aplicao com o nome de SisVenda.DPR. Para COMPILAR a sua aplicao, gerar o arquivo .EXE e test-lo: 1. Clique no boto Run ou utilize a tecla de funo F9.

42
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

CRIANDO UM FORMULRIO COM O DATABASE FORM WIZARD O DELPHI oferece um mecanismo rpido para criao de formulrios que manipulam banco de dados: o DataBase Form Wizard. Esta ferramenta automatiza diversas tarefas necessrias para a criao de formulrios de entrada de dados ligados a uma tabela. O DataBase Form Wizard, automaticamente, insere os componentes de banco de dados nos formulrios e conecta-os aos componentes de visualizao de dados. Voc pode modificar o formulrio criado pelo o DataBase form Wizard, adaptando-o as suas necessidades. PARA CRIAR UM FORMULRIO COM O DATABASE FORM WIZARD 1. Clique no menu DataBase e escolha a opo Form Wizard. 2. Na janela Form Options, escolha: Create a Simple Form, para criar um formulrio que manipule apenas uma tabela. 3. Na janela DataSet Options, defina se voc quer criar um formulrio baseado em uma tabela (Creat a Form Using TTable Objects) ou baseado em uma pesquisa (Creat a Form Using TQuery Objects) e clique no boto Next. 4. Na caixa Directories clique duplo no objeto Disco C: para abrir a raiz do disco. Abra a pasta onde est a sua tabela. 5. Na caixa Table Name selecione a tabela desejada e clique no boto Next. 6. Na caixa Available Fields, selecione os campos que sero utilizados clicando no boto > ou no boto >> para selecionar todos os campos e clique no boto Next. 7. Na tela seguinte, escolha como os campos sero exibidos no formulrio: Horizontal um abaixo do outro Vertical um ao lado do outro Grid os dados em grade 8. Clique no boto Next, na janela seguinte, escolha a posio em que os dados sero inseridos no formulrio Left ( esquerda) Top (no topo) e clique em Next. 9. Clique no boto Finish para encerrar a opo.

43
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

O formulrio criado possui 2 componentes de acesso a Dados: o componente Table e o componente DataSource. Alm disso, possui 2 componentes de visualizao de dados: os componentes DBEdit, que exibir os dados, e o componente DBNavigador, com os botes para navegao pelos dados. CRIANDO UM FORMULRIO COM O DATABASE FORM WIZARD PARA 2 TABELAS 1. Clique no menu DataBase e escolha a opo FormWizard. 2. Na caixa Form Options, escolha: Create a Master/Detail Form. 3. Na caixa DataSet Options, escolha: Creat a Form Using TTable Objects. 4. Clique no boto Next. 5. Na caixa Directories, abra o disco C: e a pasta de sua tabela. a 6. Na caixa Table Name, selecione a 1 . tabela e clique no boto Next. 7. Na caixa Available Fields, selecione os campos a serem exibidos e clique no boto Next. 8. Escolha a forma como os campos sero exibidos no formulrio, por exemplo: Horizontal e clique no boto Next. 9. Selecione, na caixa Table Name retornada, a a 2 . tabela e clique no boto Next. 10. Na caixa Available Fields, selecione os campos a serem exibidos e clique no boto Next. 11. Escolha a forma como os campos sero exibidos no formulrio, por exemplo, Grid (dados em uma grade) e clique no boto Next. 12. Na caixa Available Indexes, clique no boto seta e escolha o ndice comum as duas tabelas. O campo do respectivo ndice ser apresentado na caixa Detail Fields. 13. Selecione o campo do ndice, tanto na caixa Master Fields como na caixa Detail Fields, para que o boto Add se ilumine. Depois clique no boto Add para que o vnculo (unio) entre as duas tabelas seja criado atravs dos campos selecionados. 14. Clique no boto Next e na janela seguinte clique no boto Finish para concluir a operao.

44
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

O formulrio criado possui 4 componentes de acesso a dados: 2 componentes Table e 2 componentes DataSource. Alm disso, possui os componentes de visualizao de dados: DBEdit e DDGrid, que exibiro os dados, e o componente DBNavigator, com os botes para navegao pelos dados. ATIVANDO UMA TABELA E FORMATANDO OS DADOS NOS COMPONENTES. Para definir PROPRIEDADES para a tabela 1. Marque o componente Table1 e defina, no Object Inspector, as seguintes propriedades: DataBaseName TableName IndexName IndexFieldName Name Active pasta onde se encontra o banco de dados associado. nome da tabela de banco de dados a ser acessada. nome do ndice da tabela a ser utilizado. para ndices primrios nome desejado para manipular melhor o componente. Igual a True para tornar a tabela ativa durante o projeto.

Para definir MSCARAS para os campos da tabela A mscara basicamente composta de trs campos, separados por ponto e vrgula. O primeiro a mscara propriamente dita, o segundo determina se os caracteres fixos devem ser ou no salvos com a mscara e o terceiro representa o caracter em branco, podendo ser substitudo por outro. 1. Clique duplo no componente Table1 para abrir a janela da tabela. 2. Selecione os campos desejados e, no Object Inspector, abra a propriedade EditMask. 3. Na caixa Sample Masks, clique na mscara desejada e clique no boto Ok. 4. Na caixa Input Mask, defina melhor a exibio da mscara como, por exemplo, no caso do CEP, deletar um dos ltimos 9 da mscara. 5. Para exibir um campo em formato de moeda, mude a propriedade Currency para True. Caracter > \ A 0 9 # : / Utilizao na mscara Os caracteres sero convertidos para maisculos. Para marcar determinado caracter como fixo. Apenas caracteres alfanumricos para a posio. Caracteres numricos obrigatrios para a posio Caracteres numricos no obrigatrios para a posio Caracteres numricos com uso de sinais ou +. Para separador de horas, minutos e segundos Para separador de dia, ms e ano. Exemplo >aaa;0;_ \099\(99\)999\-999;0;_ AAA;1;_ 000;1;_ 999;1;_ ###;1;_ 00:00:00;0;_ 99/99/99;0;_

Para formatar caixas de textos e outros componentes de edio:

45
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

1. Selecione os campos TDBEdit desejados para exigir apenas entrada de caracteres maisculos e, escolha na propriedade CharCase, a opo scUpperCase. 2. Selecione os campos desejados para impedir entrada de dados e escolha na propriedade Read Only (apenas leitura) a opo True. 3. Para acrescentar barras de rolagens para o campo Memo defina ScrollBars para ssBoth. Para substituir um campo DBEdit por um DBCombobox (DataControls): 1. 2. 3. 4. 5. Delete o componente DBEdit e insira um componente DBCombobox no seu lugar. Defina a propriedade DataSource para o DataSource1 associado tabela. Defina a propriedade DataField para o campo respectivo da tabela. Na propriedade Items digite os itens do DBCombobox teclando Enter ao final de cada item. Na propriedade Sorted defina True para classificar os itens na ordem crescente (A-Z).

Para substituir um campo DBEdit por um DBRadioGroup (DataControls): 1. 2. 3. 4. 5. Delete o componente DBEdit e insira um componente DBRadioGroup no seu lugar. Defina a propriedade DataSource para o DataSource1 associado tabela. Defina a propriedade DataField para o campo respectivo da tabela. Na propriedade Items digite os itens do DBRadioGroup teclando Enter ao fim de cada item. Na propriedade Values defina os valores a serem gravados para cada item.

Para excluir e/ou acrescentar legenda para alguns dos botes do DBNavigator: 1. Abra a propriedade VisibleButtons e escolha False para os botes que deseja desabilitar. 2. Abra a propriedade Hints (apague se houver) e digite as legendas dos botes desejados. 3. Mude a propriedade ShowHint para True para que a legenda possa ser exibida. Caso deseje acrescentar seus prprios botes de comando: 1. Insira os botes necessrios e mude o Caption de acordo com o comando a ser executado. 2. Clique duplo sobre cada boto e digite, na Unit, entre o comando begin e end, o cdigo: Exemplo: Table1.Append Table1.Insert Table1.Delete Table1.Cancel Table1.First Table1.Prior Table1.Next Table1.Last Table1.Edit Table1.Post para adicionar um registro vazio no final da tabela para inserir um registro na tabela para excluir o registro corrente da tabela para cancelar o ltimo registro adicionado na tabela para se posicionar no primeiro registro da tabela para se posicionar no registro anterior da tabela para posicionar no prximo registro da tabela para se posicionar no ltimo registro da tabela para permitir alterar um registro na tabela para gravar um registro na tabela

Para forar a GRAVAO FSICA imediata dos dados no disco Aps um mtodo Post, os dados ainda no esto definitivamente gravados no disco, isto s acontece aps o fechamento da tabela. Como isso pode acarretar danos as tabelas de banco de dados e aos usurios, diante de uma queda de energia ou de um travamento do micro durante uma gravao, utilize o codigo a seguir para forar a gravao fsica dos dados aps cada Post. 1. 2. Selecione o componente tabela, exemplo: Table1. No Object Inspector, na aba Events, abra o evento AfterPost e digite o seguinte cdigo;

46
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

3.

DBISaveChanges(table1.handle); Na clusula Uses da Unit acrescente a Unit DBIProcs. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, DBTables DBIProcs ;

O BDE (BORLAND DATABASE ENGINE) - ADMINISTRADOR DE BANCO DE DADOS As aplicaes em DELPHI acessam bancos de dados atravs do BDE (tambm chamado de IDAPI). Componentes como TTable, TQuery, etc, se comunicam com o BDE e este por sua vez acessam as tabelas de banco de dados. Se sua aplicao utiliza banco de dados e voc pretende instal-la em um computador que no tem o DELPHI instalado, voc deve instalar arquivos do BDE no computador onde for usar sua aplicao. O BDE instalado automaticamente durante a instalao do DELPHI e pode ser acessado pelo Painel de Controle ou pelo grupo de programas do DELPHI no menu iniciar do Windows. Para criar um acesso para o banco de dados de sua aplicao 1. Inicie o BDE (BDE Administrator). 2. Clique no menu Object e na opo New. 3. Aceite a opo STANDARD e clique no boto Ok da caixa New Database Alias. 4. Renomeie o nome STANDARD1 para o ALIAS (apelido ou nome para se referir ao local do seu banco de dados). Por exemplo: DBCONTAS.

5. Em Default Driver, escolha o tipo de Drive. Ex: Paradox 6. Em Path, defina o local do seu banco de dados. 7. Clique no menu Object e em Save As e salve o ALIAS. 8. Clique no menu Object e na opo Save As Configuration para salvar o arquivo de configurao do DBE: IDAPI.CFG. 9. Clique no boto Salvar. 10. Feche a janela do BDE. NOTA: Quando for se referir ao local no disco onde se encontram as tabelas de sua aplicao use o apelido (ALIAS) ao invs do caminho C:\NomedaPasta.

47
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Quando voc for criar os discos de instalao de sua aplicao, com o utilitrio Installshield, alm das tabelas de banco de dados, do arquivo executvel e de outros arquivos de recursos, inclua tambm os arquivos do DBE (configurado com os ALIAS). Assim sua aplicao estar pronta para ser instalada em um outro computador. OPERAES COM OS CAMPOS DA TABELA Voc manipula componentes Fields (campos) durante o projeto atravs do componente TTable inserido no formulrio. Este permite que voc defina propriedades para determinados campos da tabela que voc quer mostrar no formulrio. Voc l valores de um campo atravs da propriedade Value do componente TField. Para l o valor de um campo Cliente, tipo texto, (representado pelo componente TField chamado de Table1Cliente), na caixa de edio Edit1, faramos: Edit1. Text := Table1Cliente.Value; Para associar outros tipos de campos que no texto a uma caixa de edio (que s aceita valores do tipo String), devemos utilizar as propriedades de converso do componente TField: AsDateTime AsString AsValue AsFloat As Integer converte para dados tipo Data e Hora. Exemplo: Table1Data.AsDateTime := Date(); converte para dados caracteres. Exemplo: Table1Funcao.AsString := Edit1.Text; converte para dados caracteres. Exemplo: Table1Setor.AsValue := Edit2.Text; converte para numricos tipo flutuante (com casas decimais). Exemplo: Table1Salario.AsFloat := StrToFloat(Edit3.Text); converte para numricos tipo inteiro (sem casas decimais). Exemplo: Table1Idade.AsInteger := StrToInt(Edit4.Text);

As propriedades BOF (Begin Of File Incio do arquivo) e EOF (End Of File - fim do arquivo) do componente TTable, so usadas para testar o inicio e o fim da tabela respectivamente. Bof se for igual a True, indica que o ponteiro est lendo o primeiro registro da tabela. Eof se for igual a True, indica que o ponteiro est lendo o ltimo registro da tabela. O exemplo abaixo ir realizar a rotina (limpar o campo ms), enquanto no atingir o fim da tabela. while not Table1.EOF do begin Table1Mes.Value := ; Table1.Next; end; MODIFICANDO REGISTROS NA TABELA Para modificar registros, utilize os comandos: Edit, Append, Insert, Post, Cancel e Delete. Para EDITAR registros na tabela, esta precisa esta no modo de edio de dados. Para isso, utilize o comando EDIT. Ao final da edio, utilize o comando POST para gravar os dados. Table1. Edit; Table1Cliente.Value := Edit1.Text; Table1. Post; {enquanto no for fim de tabela, faa} {campo ms recebe vazio} {vai para o prximo campo }

48
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Para PROCURAR o valor de um determinado campo, use o a funo FindKey() ou FindNearest(). Para isso o campo precisa estar indexado. FindKey(Abril) FindNearest(J) procurar pela palavra Abril (tabela indexada pelo campo Ms). procurar por palavras iniciadas pela letra J no campo Indexado.

COMO TRABALHAR COM OS NMEROS Os nmeros no DELPHI podem utilizar vrgulas para determinar os milhares e podem utilizar um ponto decimal, a no ser que sejam inteiros. Se voc precisar de um valor numrico para uma varivel, coloque o nmero do lado direito da declarao de atribuio. Os grupos abaixo fornecem os smbolos numricos fundamentais. OPERADORES ARITMTICOS + / * Adio. Subtrao (e para designar nmeros negativos) Diviso (fornece sempre um resultado em ponto flutuante-mesmo que voc esteja trabalhando com inteiros). multiplicao.

Para os tipos inteiros. H duas palavras-chaves para as operaes aritmticas nicas a nmeros desse tipo: Div diviso inteira Mod resto depois de uma diviso inteira. Uma vez que o smbolo de diviso normal (/) d a voc um valor que tipo ponto flutuante. Utilize Div se voc precisa permanecer dentro de um dos tipos inteiros. O que Div faz jogar fora o resto para lhe dar um inteiro. Por exemplo: 7 Mod 3 = 2. Quando um inteiro divide perfeitamente um outro, no h resto, de forma que o operador Mod resulta zero. Por exemplo: 8 Mod 4 = 0. O termo usual para uma combinao de nmeros, variveis e operadores de onde o DELPHI pode extrair um valor : expresso numrica. OPERADORES LGICOS Not And Or Xor no (negao). e (conjuno). ou (disjuno). ou exclusivo.

OPERADORES RELACIONAIS < Menor que <= Menor que <> Diferente > Maior que >= Maior ou igual = Igual

Ao fazer clculos, h duas maneiras para indicar a ordem em que as operaes aconteam. A primeira utilizando parnteses, o que maioria dos programadores prefere. Os parnteses permitem especificar, facilmente, a ordem em que as operaes devem ocorrer. Um clculo como 3*(4+5)

49
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

resulta 27 porque o DELPHI executa primeira a operao dentro do parnteses (4 mais 5) e depois multiplica por 3. Por outro lado 3*4+5 resulta 17, porque o DELPHI usar a regra da matemtica: primeiro multiplicar e dividir, depois somar e subtrair. COMO TRABALHAR COM VARIVEIS Variveis so posies da memria onde guardamos dados. Para no nos referirmos a estes dados de forma direta, atravs de um endereo numrico difcil de memorizar, o DELPHI nos permite utilizar variveis (exemplos: nome, idade, salario) para indicar estas posies da memria. Sem dvida muito mais fcil guardar uma informao e uma regio da memria chamada de funcao do que um endereo de memria tipo 0600 - 06FF. No DELPHI as variveis contm informaes (valores). Voc tem que declarar uma varivel antes de utiliz-la. Declarar uma varivel dar-lhe um nome e um tipo separados por dois pontos. Isso deve ser feito depois da palavra-chave VAR, por exemplo: var Nome : String; DataN : TDateTime; Salario : Double; Voc pode declarar mais de uma varivel do mesmo tipo colocando uma vrgula entre elas. Exemplo: var Retorno, Valor, TaxaDeVenda : Double; No DELPHI, os nomes das variveis podem ser de qualquer tamanho. Mas apenas os 63 primeiros caracteres contam. O primeiro caracter tem que ser uma letra ou um sublinhado. A varivel pode incluir qualquer combinao de letras, nmeros e sublinhados. A varivel no pode ser uma palavrachave (palavras reservadas pelo DELPHI) ou incluir smbolos como $, % e assim por diante. Uma conveno comum para os nomes de variveis utilizar maisculas no incio das palavras que formam as partes do nome varivel (por exemplo: JurosHipoteca em lugar de juroshipoteca). Essa conveno chamada de nomes de variveis de caixa-varivel. TIPOS DE VARIVEIS O DELPHI trata com 15 tipos variveis padro. Normalmente os programadores tambm desdobram esses 15 tipo em categorias (por exemplo, tipos de nmero inteiros e ponto flutuante). Veja a seguir os tipos de variveis do DELPHI. Tipo Boolean Contm o valor True (verdadeiro) ou False (falso). Uma varivel Booleam requer 1 byte de memria. Tipo Nmeros Inteiros So utilizados quando voc est trabalhando com nmeros inteiros (ou no se preocupa com as casas decimais). As operaes aritmticas envolvendo variveis com dados inteiros so mais rpidas. H 5 tipos de dados inteiros: Integer, Short, Longint, Byte e Word. Veja os tipos mais usuais:

50
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Integer No tem parte fracionria e contm valores inteiros pequenos (entre 32.768 e 32.767). Uma varivel Integer exige 2 bytes de memria. Longint No tem uma parte fracionria e contm valores inteiros relativamente grandes (entre -2.147.483.648 e 2.147.483.647). Uma varivel Longint exige 2 bytes de memria. Tipo Nmeros de Pontos Flutuantes (reais) So teis quando no se exige uma preciso total; mas se exige nmeros muito grandes ou muitos pequenos. Normalmente, com um ponto decimal. H 5 tipos de dados de ponto flutuante: Real, Single, Double, Extend e Comp), veja os dois tipos mais usuais: Real Contm nmeros e podem ter uma parte fracionria de 11-12 dgitos significativos. Uma varivel Real exige 6 bytes de memria.

Double Contm nmeros e podem ter uma parte fracionria de 15- 16 dgitos significativos. Uma varivel Double exige 8 bytes de memria. TIPO MANUSEIO DE TEXTO Os tipos de dados predefinidos para manusear texto no DELPHI podem operar com caracteres nicos ou grupos de at 255 caracteres. H 2 tipos de dados para manusear texto: String e Char. Char String Contm um caracter ASCII. Contm at 255 caracteres ASCII. Voc pode conseguir que elas tenham menos caracteres envolvendo os nmeros entre colchetes. Por exemplo: var Nome : String(45); Alm dos tipos de dados do Object Pascal. O DELPHI oferece outros tipos de dados como o tipo TDate Time usado para armazenar Data e Hora. Exemplo: var DataDia : TDateTime; NOTA: Variveis declaradas na seo Implementation podem ser usadas em todos os procedimentos da Unit. Variveis declaradas em um procedimento so chamadas de locais e s ficam na memria durante a execuo do procedimento.

COMO ATRIBUIR VALORES AS VARIVEIS O DELPHI utiliza dois-pontos e o sinal de igual (:=) para atribuir valores a variveis da mesma forma que para especificar propriedades. O nome da varivel aparece sempre esquerda e o valor sempre direita. Por exemplo: var funcionario: string;

51
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

salario : double; begin funcionario := Edit1.Text; salrio := 400,20; end; LGICA DE PROGRAMAO - CONTROLANDO O FLUXO DO PROGRAMA. Vamos supor que voc precisa repetir uma operao. Em programao (como na vida real), talvez voc queira repetir a operao um determinado nmeros de vezes, continuar at atingir um determinado objetivo predeterminado, ou at que determinadas condies iniciais finalmente mudem. Em programao, a primeira situao chamada de lao determinado e as duas ltimas so chamadas de laos indeterminados. O DELPHI permite os trs tipos de lao, de modo que h trs estruturas de controle diferentes no DELPHI para repetir operaes. NOTA: Nos exemplos a seguir, o recuo est presente para tornar o programa mais legvel. DELPHI ignora sobre como voc faz recuos. O LAO FOR Vamos supor que voc queira exibir dez caixas de mensagens sucessivas dentro de um manipulador de eventos. A maneira mais simples de fazer isso colocar as seguintes linhas de cdigo dentro do procedimento, tal qual exemplo: var num : integer; begin for num := 1 To 10 do begin showMessage(Esta a + IntToStr(num) + caixa de mensagem); end: end: A palavra-chave For especifica uma varivel contadora. No exemplo anterior, o contador uma varivel inteira (i). No exemplo, o valor inicial do contador colocado em 1. O valor final colocado em 10. O DELPHI coloca primeiro a varivel contadora no valor inicial (i:=1), em seguida, verifica se o valor do contador menor que o valor final, caso seja, o DELPHI processa as declaraes subseqentes at chegar ao pontoevrgula de encerramento que marca o fim do bloco. Nesse ponto, adiciona 1 a varivel contadora (i) e comea o processo novamente. Esse processo continua at que a varivel contadora (i) seja maior do que o valor final (10). O LAO WHILE O Lao While um tipo de lao do DELPHI que leva o teste de situaes de volta para o topo. Neste caso, j que o teste realizado no comeo, o lado poder nem ser executado. Tambm uma vez que se faz o teste no comeo, voc normalmente quer ter certeza de que a condio faz sentido, antes do processamento do lao. Exemplo: Table1.First; while not Table1.Eof do {posicionando-se no incio da tabela} {enquanto no for o fim da tabela faa} O

52
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

begin Table1Salario.AsFloat := 0.00; Table1.Next; If Table1.Eof then exit; end; OS COMANDOS CONDICIONAIS IF... THEN

{inicia um bloco de comandos} {campo Salrio da tabela recebe 0} {se posiciona no prximo campo} {testa se o fim da tabela} {se for o fim da tabela sai do teste while} {fim do bloco de comandos}

O DELPHI utiliza as declaraes If-Then da mesma forma como se faz em portugus. Por exemplo, para avisar a um usurio de que o nmero tem que ser positivo, utiliza-se uma linha como a seguinte: var num : integer; begin num := StrToInt(Edit1.Text); If num < 0 then showmessage(O nmero negativo); end; {varivel num do tipo inteiro} {inicia um bloco de comandos} {varivel num recebe o texto como inteiro} {se varivel num menor que zero ento} {mostra a mensagem entre aspas} {fim do bloco de comandos}

Quando o DELPHI testa uma declarao If-Then, verificando a primeira clusula (chamada If) e v que ela verdadeira , ento ele processa a clusula Then. Se a clusula for falsa ento ser ignorada e ser processada a prxima declarao. Na maioria das vezes voc vai querer processar vrias declaraes se uma condio for verdadeira ou falsa. Para isso preciso um modelo mais poderoso que a declarao If-Then, chamada de bloco de declarao If-Then-Else. If num < 0 then showmessage(O nmero menor que zero) else showmessage(O nmero igual ou maior que zero); Outros exemplos : If num < 0 then showmessage(O nmero digitado menor que zero) else if num = 0 then showmessage(O nmero digitado igual zero) else showmessage(O nmero digitado maior que zero); If Edit1.Text = abcdef then showmessage(Senha digitada corretamente) else begin showmessage(Senha digitada incorreta); Edit1.Clear; Edit1.Setfocus; end;

{linha de comando processada}

{linhas de comando processadas}

53
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

NOTA: No bloco de declarao If-Then-Else no se coloca um ponto-e-vrgula antes do Else. O bloco de declaraes Else opcional, sua colocao significa que se deve seguir uma declarao ou um bloco de declaraes apenas se a clusula If for falsa.

O LAO REPEAT O lao Repeat usado quando voc quer que o programa rode vrias vezes uma parte, mas no sabe quantas, ou no quer digitar centenas de vezes o mesmo cdigo. Veja exemplo: var cliente : string[45]; begin Repeat cliente := Inputbox(Localizar, Entre com o nome do Cliente, ); Until (cliente <> ); end; A DECLARAO CASE Vamos supor que queiramos encontrar o grau de aproveitamento com base na mdia de quatro provas. Se a mdia 90 ou maior o aluno deve receber TIMO de 80 a 89 BOM, etc. Essa uma situao to comum que o DELPHI tem uma estrutura de controle projetada para este fim. Ela chamada de declarao Case. Esta declarao deixa claro que um programa atingiu um ponto com vrias ramificaes (possibilidades if-then). No exemplo, analisaremos o valor de uma varivel (integer), chamada de media. var media : integer; begin media := strtoint(edit1.text); case media Of 90..100 : showmessage('timo'); 80..89 : showmessage('Bom'); 60..79 : showmessage('Regular'); 00..59 : showmessage('Pssimo'); end; end;

{repita} {enquanto }

{caso o contedo da varivel media seja} {90..100 : showmessage(timo); {de 90 at 100} {de 00 at 59}

O que normalmente segue aps a palavra-chave Case uma varivel ou expresso character e o que o DELPHI vai fazer depende do valor da varivel ou expresso. A DECLARAO WITH Supondo que existam vrios componentes em um segundo formulrio (Form2) para serem limpos a partir um outro formulrio, seria cansativo ficar digitando o nome do Form2 para cada componente associado. Veja como usar a declarao With para facilitar a limpeza dos componentes. With Form2 Do begin edit1.clear; edit2.clear; {com Form2 faa} {e no Form2.Edit1.clear; Form2.Edit2.clear; }

54
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

edit3.clear; edit4.clear; edit5.clear; edit6.clear; end; TRABALHANDO COM FUNES Uma funo definida na linguagem DELPHI de forma semelhante a sua definio na matemtica, ela recebe um ou mais valores de entrada (parmetros) e retorna um outro valor como resultado. A principal diferena entre uma funo e um procedimento que uma funo pode devolver um valor e um procedimento geralmente no faz isso. A linguagem DELPHI j possui uma srie de funes pr-definidas mas voc pode definir suas prprias funes ou procedures para atender os seus interesses. Funes ou Procedures devem ser declaradas na seo implementation da unit. Como padro estas s podero ser chamadas na unit em que foram declaradas. Para torn-las acessveis a outras units, declare-as na seo interface. Sintaxe de uma Funo: Function nomedafuno (parmetro1:tipo ; parmetro2:tipo ; ...) : tipo-retorno; var {declaraes das variveis local da funo} begin {corpo da funo} end; EXEMPLO DE UMA FUNO: Function somarXY (valorX : real ; valorY: real) : real; begin somaXY := valorX + valorY; end; Usando a Funo na aplicao: var total : real; begin total := somaXY(200+300); end; EXEMPLO DE UMA PROCEDURE: Procedure DadosVazios; begin showmessage(Dados no digitados... Verifique!) ; end; Usando a Procedure na aplicao:

55
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

begin DadosVazios ; end; FUNES PARA MANIPULAR STRINGS E NMEROS Copy Permite copiar um substring de uma string. Sintaxe: Copy(expresso, incio, nmero); Exemplo: Copy(Genesys Informtica,1, 7); Retorna: Genesys {iniciando no 1 caracter at a 7 } Permite determinar a largura (quantidade de caracteres) de uma string. Sintaxe: Length(var : string); Exemplo: Edit1.Text := IntToStr(Length(Genesys)); Retorna: 7 {7 como string}

Length

UpperCase e Substitui todas as strings da varivel por caracteres maisculos ou minsculos. LowerCase Sintaxe: UpperCase(var : string) ou LowerCase(var : string); Exemplo: UpperCase(nome); ou LowerCase(nome); Retorna: GENESYS ou genesys {caso seja Genesys o contedo de nome} IntToStr Converte um nmero inteiro em uma string. Sintaxe: IntToStr(valor : integer); Exemplo: IntToStr(10); Retorna: 10 {nmero 10 como caracter} Inc incrementa um valor para um inteiro acima e Dec para um inteiro abaixo. Sintaxe: Inc(valor : integer) ou Dec(valor : integer); Exemplo: Inc(10) ou Dec(10); Retorna: 11 ou 9 {valor 10 ou 9 encontrado} Converte um nmero no inteiro com casas decimais em uma string. Sintaxe: FloatToStr(valor : double) Exemplo: FloatToStr(22,50); Retorna: 22,50 {nmero 22,50 como caracter} Converte uma string em um nmero com casas decimais (ponto flutuante). Sintaxe: StrToFloat(var : string); Exemplo: StrToFloat(18); Retorna: 18,00 {string 18 como numero ponto flutuante} Converte um nmero ponto flutuante em um nmero inteiro. Sintaxe: FloatToInt(valor : double); Exemplo: FloatToInt(80,00); Retorna: 80 {flutuante 80 como um nmero inteiro} Converte um nmero inteiro em um nmero ponto flutuante. Sintaxe: IntToFloat(valor : integer); Exemplo: IntToFloat(45); Retorna: 45,00 {inteiro 45 como um nmero ponto flutuante} Converte um nmero ponto flutuante em uma string formatada.

Inc e Dec

FloatToStr

StrToFloat

FloatToInt

IntToFloat

FloatToStrF

56
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Sintaxe: Exemplo: Retorna:

FloatToStrF(valor:double, tipo-formato, preciso, decimais) FloatToStrF(270,5034, ffCurrency, 7, 2); R$ 270,50 {flutuante 270,50 como string formatada}

FUNES PARA MANIPULAR DATA E HORA DateToStr Converte uma varivel tipo TDateTime (Data) em uma string. Sintaxe: DateToStr(DateTime); Exemplo: DateToStr(Date()); Retorna: 20/07/2002 {Date() data do sistema como string} Converte uma varivel tipo TDateTime (Hora) em uma string. Sintaxe: TimeToStr(DateTime); Exemplo: TimeToStr(Time()); Retorna: 12:20:28 {Time() hora do sistema como string} Converte uma string em um valor tipo TDateTime (Data) Sintaxe: StrToDate(var :string); Exemplo: StrToDate(20/07/2002); Retorna: 20/07/2002 {String 20/07/2002 como data} Converte uma string em um valor tipo TDateTime (Hora). Sintaxe: StrToTime(var :string); Exemplo: StrToTime(12:20); Retorna: 12:20:00 {String 12:20 como hora} Retorna a data corrente do sistema como um valor TDateTime. Exemplo: Panel1.Caption := DateToStr(Date()); Retorna: 20/07/2002 {Data do sistema como TDateTime} Retorna a hora corrente do sistema como um valor TDateTime. Exemplo: Panel2.Caption := TimeToStr(Time()); Retorna: 12:10:20 {Hora do sistema como TDateTime} Retorna a Data e a hora corrente do sistema como um valor TDateTime. Exemplo: Edit1.Text := DateTimeToStr(Now()); Retorna: 20/07/2002 12:10:20 {Data e Hora do sistema como String}

TimeToStr

StrToDate

StrToTime

Date()

Time()

Now()

OUTRAS FUNES Pi Retorna o valor de Pi com 14 casas decimais. Exemplo: Edit1.Text := FloatToStr(Pi); Retorna: 3,14159265358979 Retorna o valor da Raiz Quadrada de um valor. Exemplo: Edit1.Text := FloatToStr(Sqrt(100)); Retorna: 10 Retorna um valor randmico entre 0 e 1. Exemplo: Edit1.Text := FloatToStr(Random); Retorna: 0,2328756

{valor de Pi como String}

Sqrt(x)

{resultado 10, como String}

Random

{um valor possvel}

57
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Round(x)

Retorna um valor arredondado de um nmero. Exemplo: Edit1.Text := FloatToStr(Round(134.87); Retorna: 135 {resultado 135, como String}

FUNES DE CAIXA DE MENSAGENS FUNO SHOWMESSAGE() - Permite exibir uma mensagem dentro de uma caixa de dilogo com um boto Ok, que encerra a exibio da mensagem. A mensagem (texto do usurio) precisa vir dentro de aspas simples. O ttulo da caixa o mesmo do projeto. Veja exemplo: if Edit1.Text <> GENESYS then Showmessage(Empresa no autorizada!); Comentrio: (if) Se o texto digitado na propriedade Text da caixa Edit for diferente de GENESYS (then) ento Showmessage: Empresa no autorizada! FUNO MESSAGEDLG() - Permite exibir uma caixa de mensagem com um texto, ttulo e botes (que voc especifica) para saber e controlar a opo do usurio. Veja exemplo: if MessageDlg(Deseja realmente encerrar o sistema?, mtConfirmation, [mbOk,mbCancel],0) = mrOk then Application.Terminate; Comentrio: (if) Se o clique na caixa de mensagem for no boto Ok (then) ento o valor de retorno ser o da constante interna mrOk e ser executado o comando Application.Terminate. Se for clicado no boto Cancel ser retornado o valor da constante interna mrCancel e a caixa ser fechada sem executar qualquer comando. Constantes da funo: mtConfirmation mtWarning mtError mtInformation ponto de interrogao verde. ponto de interrogao amarelo. sinal de parada vermelho. um I azul.

Botes: mbYes, mbNo, mbOk, mbCancel, mbHelp, mbAbort, mbRetry, mbIgnore e mbAll. FUNO INPUTBOX() - Permite exibir uma caixa de mensagem onde o usurio pode entrar com um texto para realizar um procedimento. Por exemplo, voc pode querer que o usurio fornea um cdigo de entrada para acessar um mdulo de sua aplicao. Veja exemplo: var codigo : string; begin codigo:=Inputbox(Usurio,Digite o cdigo de Acesso, ); end;

58
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Comentrio: uma varivel tipo texto de nome cdigo, receber o texto digitado na caixa edit da funo Inputbox(), que alm do ttulo (Usurio) tem uma mensagem (Digite o cdigo de Acesso) e um rea vazia entre aspas simples ( ) onde o usurio digitar o texto. Clicando no boto Ok o texto digitado ser armazenado na varivel codigo. USANDO A FUNO FINDNEAREST() PARA LOCALIZAR DADOS EM TABELAS Voc pode utilizar uma caixa de mensagem Inputbox() para solicitar dados do usurio e criar um procedimento de pesquisa, com os dados obtidos, em uma tabela indexada. Entretanto, o uso de uma caixa Edit combinada com a funo FindNeaRest() torna isso bem mais fcil. Veja Exemplo: 1. Insira um componente Label (Standard) no formulrio e defina para a propriedade: Caption Entre com os dados para Localizao: 2. Insira um componente Edit (Standard) no formulrio e defina as propriedades: Charcase scUppercase (apenas maisculas). Text Apague o texto 3. Clique duplo no componente Edit1 para abrir o Editor de Cdigo e digite seguinte cdigo: Table1.FindNeaRest([Edit1.Text]); Comentrio: medida que o usurio entra com os dados na caixa Edit1 a funo FindNeaRest() vai se posicionando no campo da tabela indexado que tenha o valor mais prximo dos dados digitados e exibindo no componente de visualizao de dados da tabela. USANDO A FUNO INPUTBOX() E FINDKEY() PARA LOCALIZAR DADOS EM TABELAS 1. Insira um componente Button (Standard) no formulrio e defina a propriedade: Caption &Localizar 2. Clique duplo no componente Localizar e no Editor de Cdigo e digite o procedimento: var cliente : string; begin cliente := inputbox(Localizar, Digite o nome do cliente, ); if cliente <> then Table1.Findkey([cliente]); if Table1.Findkey([cliente]) = false then showmessage(Cliente no localizado no cadastro); end; Comentrio: linha 4 Uma varivel texto de nome cliente, recebera o texto da caixa Inputbox(). linha 5 Se o usurio digitar qualquer dado e clicar no boto Ok ento a varivel cliente armazenar este dado e o seu valor ser diferente <> de vazio. Assim, a funo FindKey() buscar no campo indexado da tabela o dado digitado pelo usurio.

{linha 4} {linha 5} {linha 6}

59
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Linha 6 Caso a busca pelo dado digitado d falsa, ento, a funo showmessage() informa ao usurio que o dado no foi localizado. NOTA: A funo Findkey() busca dados completos enquanto a funo FindNeaRest() apenas caracteres aps os iniciais digitados. USANDO A FUNO WINEXEC P/ EXECUTAR PROGRAMAS A PARTIR DE UMA APLICAO Para executar programas a partir de sua aplicao sem a necessidade de usar o boto Iniciar do Windows ou minimizar/fechar as janelas de sua aplicao, use uma das funes da API do Windows de nome Winexec. A API um conjunto de funes do Windows que podem ser manipuladas pelo DELPHI e por outras linguagens de Programao. 1. No cdigo que envolve o procedimento de executar o programa, digite, por exemplo: Winexec(C:\Windows\Calc.Exe , Sw_Show); Sw_Show Sw_ShowMaximized Sw_ShowMinimized {faz com que a janela do programa seja exibida restaurada} {faz com que a janela do programa seja exibida maximizada} {faz com que a janela do programa seja exibida minimizada}

Comentrio: Ser exibido o programa Calc.Exe, localizado no disco C: , na pasta Windows. UTILIZANDO UM TEMPORIZADOR EM UMA APLICAO Voc pode utilizar um temporizador (marcador de tempo) para criar determinadas opes de controle em sua aplicao, como controlar o tempo at que um determinado procedimento acontea ou o tempo durante o qual um procedimento deve continuar sendo executado. No exemplo a seguir, usaremos um componente especial chamado Timer (System) para fazer com que um relgio em tempo real seja exibido no formulrio, mostrando a data e a hora do sistema.

1. Insira o componente Timer (System) no formulrio e defina a seguinte propriedade: Interval 1.000 2. Insira um componente Panel (Standard) no formulrio e defina as seguintes propriedades: Caption apague BevelWidth 2 Font Negrito, Amarelo, Tamanho 12 Color Preto Height 30 Width 200 3. Clique duplo no componente Timer1 para abrir o Editor de Cdigo e digite o seguinte: Panel1.Caption := DateTimeToStr(Now()); Para exibir a hora em um componente e a data em outro, clique duplo sobre o componente Timer1 e digite, por exemplo: Button1.Caption := DateToStr(Date()); Button2.Caption := TimeToStr(Time());

60
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

A propriedade Interval determina o tempo de espera para que o DELPHI execute o procedimento. Este tempo medido em milissegundos ( 1.000 milissegundos = 1 segundo). Os limites esto entre 56 e 65.000 milissegundos (pouco mais que 1 minuto). O evento OnTimer do componente define a ao a ocorrer quando o tempo da propriedade Interval passar. CRIANDO UMA TELA DE APRESENTAO Nem toda aplicao precisa de uma tela de apresentao, porm, alm de esteticamente deixar a sua aplicao mais apresentvel, uma tela de apresentao pode informar aos usurios detalhes sobre a aplicao em execuo. Como exemplo, usaremos um dos formulrios pr-definidos do DELPHI.

1. Clique no menu File e escolha New. Ser apresentado o quadro New Items. 2. Clique na aba Forms e selecione o cone Aboutbox e clique no boto Ok. CRIANDO UMA SENHA DE ENTRADA EM UMA APLICAO Voc pode criar um procedimento, em qualquer mdulo do projeto, para acessar outros componentes de sua aplicao (como um formulrio, por exemplo), atravs da digitao de uma senha. Veja um exemplo usando o prprio formulrio do Aboutbox. 1. Insira um componente Label (Standard) e mude o Caption para SENHA. 2. Insira um componente Maskedit (Additional) e altere as (3) seguintes propriedades: PasswordChar @ Text apague o texto TabOrder 0 3. Clique duplo no boto Ok (Button1) e digite entre os comandos begin e end: Procedure TAboutBox.OKButtonClick(Sender: TObject); begin If Maskedit1.Text <> EUSOUDEZ then begin Showmessage(Senha de Acesso invlida! Tente novamente); Maskedit1.Clear; Maskedit1.Setfocus; end else Form.ShowModal; end;

61
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Comentrio: Se o texto digitado na caixa Maskedit1 for diferente de EUSOUDEZ ser exibida uma mensagem atravs da funo Showmessage(), a caixa Maskedit1 ser limpa com o mtodo Clear e receber novamente o foco com o mtodo Setfocus. Caso contrrio (texto igual a EUSOUDEZ), ser exibido o segundo formulrio Form2. NOTA: Para usar caixas de mensagens no AboutBox, inclua a unit Dialogs na clusula uses. COMO TRABALHAR COM CAMPOS CALCULADOS Em Delphi temos o poder de criar um campo calculado, ou seja, um campo artificial que no existe na tabela fsica, cujo valor calculado por uma rotina em Object Pascal. Vamos, em primeiro lugar, imaginar uma tabela com os campos Quantidade e Preco, multiplicados geraro o campo artificial PrecoTotal. 7. 8. 9. Selecione o componente Query ou Table e mude a propriedade Active para False. Clique duplo sobre o componente Query ou Table para abrir o Fields Editor. Clique com o boto direito do mouse na janela aberta, e escolha a opo New Field. que

10. Na janela aberta, na caixa Name digite o nome do campo a ser criado: PrecoTotal 11. Na caixa Type escolha o tipo do campo: Float 12. Em Field Type, marque a opo Calculed. E clique no boto Ok. Agora precisamos implementar a obteno do valor deste campo. Com o componente Query ou Table selecionado, abra o evento OnCalcFields e, na unit entre os comando begin e end, digite: Query1PrecoTotal.AsFloat := Query1Quantidade.AsFloat * Query1Preco.AsFloat; ou Table1PrecoTotal.AsFloat := Table1Quantidade.AsFloat * Table1Preco.AsFloat; Nota: Teste o programa. Observe que o campo calculado aparece, em tempo de execuo, com o seu valor, jamais em tempo de projeto, o que natural. COMO CRIAR UMA CONSULTA USANDO UM COMPONENTE SQL

62
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

1. Insira um componente Query (BDE) no formulrio: 2. Insira um componente DataSource (Data Access) e defina a seguinte propriedade: DataSet com o nome da Query associada Query1. 3. Selecione o componente Query1 e defina as seguintes propriedades: DataBaseName pasta onde se encontra o banco de dados associado. Ex: C:\Vendas Name nome para manipular melhor o componente. Ex: qrProdutos SQL abra a propriedade e digite: Select * from Produtos (caso a tabela se chame Produtos) Active igual a True para tornar a tabela ativa durante o projeto. 4. Insira um componente Dbgrid (Data Control) e defina a seguinte propriedade: Datasource com o nome do datasource associado. Ex: DataSource1. 5. Insira um componente Label (Standard) e defina a seguinte propriedade: Caption Escolha o campo a ser pesquisado. 6. Insira um componente Combobox (Standard) e defina as seguintes propriedades: Items Digite os nomes dos campos da tabela a serem usados na pesquisa. Text apague a propriedade Text. 7. Insira um componente Label (Standard) e defina a seguinte propriedade: Caption Entre com os dados da pesquisa. 8. Insira um componente Edit (Standard) e defina as seguintes propriedades: Charcase para UpperCase. Text apague a propriedade Text. 9. Insira 4 componentes BitBtn (Additional) e defina as seguintes propriedades: Bitbtn1 Caption digite Iniciado &por Bitbtn2 Caption digite Igual &a Bitbtn3 Caption digite &Todos Bitbtn4 Caption digite &Imprimir. 10. Clique duplo no boto Iniciado Por e digite, entre begin e end, na unit: QrProdutos.Active:=False; QrProdutos.SQL.Clear; QrProdutos.SQL.Add('Select * from Produtos Where ' + Combobox1.Text + ' like ' QrProdutos.Active:=True; 11. Clique duplo no boto Igual a e digite, entre begin e end, na unit: QrProdutos.Active := True; QrProdutos.SQL.Clear; QrProdutos.SQL.Add('Select * from Produtos Where ' + Combobox1.Text + ' = '

+ Quotedstr(Edit1.Text+'%'));

+ Quotedstr(Edit1.Text));

QrProdutos.Active:=True; 12. Clique duplo no boto Todos e digite, entre begin e end, na unit:

63
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

QrProdutos.Active:=False; QrProdutos.SQL.Clear; QrProdutos.SQL.Add('Select * from Produtos); QrProdutos.Active:=True;

64
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

CRIANDO UM VISUALIZADOR DE IMAGENS Vamos criar um projeto capaz de exibir imagens de vrios formatos utilizando pouqussimos componentes.

1. Clique no menu File e na opo New Application. 2. Altere a propriedade Caption do formulrio para: Visualizador de Imagens. 3. Insira um componente Panel (Standard) no formulrio, alargue-o e defina as propriedades: Caption apague o caption BevelWidth 6 4. Insira um componente Image (Additional) dentro do Panel1 e defina as propriedades: Stretch true Align alClient 5. Insira os seguintes componentes da aba (Win3.1) FileListBox, DirectoryListBox e DriveComboBox, no formulrio, e defina as seguintes propriedades para os componentes: FileListBox1 DirectoryListBox1 DriveComboBox1 propriedade propriedade propriedade Mask FileList DirList *.bmp; *.wmf; *.jpg; FileListBox1 DirectoryListBox1

6. Selecione o FileListBox1 e na aba Events do Objetc Inspector, abra OnClick e digite: Image1.Picture.LoadFromFile(FileListBox1.FileName); 7. Abra a Unit e acrescente ou insira, na clusula Uses (no topo), a palavra JPEG, para que o Delphi use a sua Unit Interna que faz referncia as imagens padro Jpg. 8. Clique no menu File e na opo Save Project As (Salvar Projeto Como). 9. Abra a pasta desejada, digite um nome para a Unit e clique no boto Salvar. 10. Digite um nome para o Projeto, por exemplo, Imagens e clique no boto Salvar. 11. Pressione a tecla de funo F9 para compilar o projeto. Ser gerado o arquivo Imagens.Exe que voc pode levar em disquete para qualquer computador que tenha o windows e verificar as imagens dos discos. Comentrio sobre a linha do item 6: Image1 nome do componente Image Picture propriedade que define a imagem a ser exibida no componente LoadFromFile l o arquivo Filename e o carrega no componente FileListBox1. FileListBox1 lista os arquivos (definidos em Mask) lidos pelo LoadFromFile. FileName1 nome do arquivo selecionado.

65
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

COMO GRAVAR IMAGENS JPG EM UM CAMPO GRFICO DE UMA TABELA PARADOX PARA O BANCO DE DADOS Crie uma pasta no disco para armazenar os arquivos de sua aplicao. Ex: Clientes. 1. Cie 2 subpastas para armazenar os dados e as imagens. Exemplo: Dados e Fotos. 2. Crie a tabela de banco de dados (paradox7), com os campos desejados, como por exemplo: Cdigo + Cliente A 50 Contato: A 50 Foto G Obs M 20 3. Salve a tabela como o nome CliFotos, na subpasta C:\Clientes\Dados. 4. Salve os arquivos de imagem JPG na subpasta. C:\Clientes\Fotos. PARA O PROJETO 5. Abra a Unit do formulrio e adicione (em uses) as units JPEG e CLIPBRD. 6. Insira um componente Table (BDE) e um DataSource (Data Access) no Formulriuo 7. Selecione o DataSource1 e defina a propriedade DataSet para Table1. 8. Marque o componente Table1 e defina as seguintes propriedades: DataBaseName pasta onde se encontra o banco de dados associado. Ex: C:\Clientes TableName nome da tabela de banco de dados a ser acessada. Ex: Clifotos Name nome desejado para manipular melhor o componente. Ex: tbClifotos Active igual a True para ativar a tabela no projeto no projeto. 9. Clique duplo no componente tbClifotos para abrir a janela da tabela. 10. Clique com o boto direito no meio da janela e escolha o comando Add All Fields. 11. Arraste, na ordem desejada, os campos da tabela e solte no local devido do formulrio. 12. Insira um componente OpenPictureDialog (Dialogs) no formulrio. 13. Insira 3 componentes Button (Standard) no formulrio. Mude o Caption para: Button1 &AbrirFoto. Button2 &Gravar Button3 &Excluir 14. Insira um componente Dbnavigator(DataControls) no formulrio e altere as propriedades: VisiblesButtons deixe visveis apenas os botes de locomoo (4 primeiros). DataSource DataSource1 15. Clique duplo no componente AbrirFoto (button1) para abrir o seu evento OnClik e digite: ANTES do begin var varjpg : TJpegImage; DEPOIS do begin if OpenPictureDialog1.Execute then begin varjpg:= TJpegImage.Create; varjpg.LoadFromFile(OpenPictureDialog1.FileName); clipboard.Assign(varjpg); ImageFoto.PasteFromClipboard; varjpg.Free; end; 16. Abra o evento OnClik do componente boto Gravar (button2) e digite entre begin e end: tbCliFotos.Edit; tbFotos.Post; 17. Abra o evento OnClik do componente boto Excluir (button3) e digite entre begin e end: tbCliFotos.Delete; 18. Salve o Projeto, compile e veja o resultado.

66
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

CRIANDO UM CONVERSOR DE MOEDAS: DOLAR/REAL Veja como criar uma aplicao que converte reais em dlar e dlar em reais, de acordo com uma taxa de cmbio qualquer.

1. Altere o Caption do formulrio da aplicao para: Cmbio Real/Dlar 2. Insira um componente Image (additional) e defina a propriedade Stretch para True. Abra a propriedade Picture, clique em Load e localize o arquivo finance.bmp em: C:\Arquivos de Programas\Borland\Borland Shared\Images\Splash\256 color 3. Insira 3 componentes Label (Standard) e altere a propriedade Caption de cada um para: Label1 Valor em Reais Label2 Valor em Dlar Label3 Taxa (%) 4. Insira 3 componentes MaskEdit (Additional), limpe a propriedade Text e mude Name para: MasKedit1 EditReal MasKedit2 EditDolar MasKedit3 EditTaxa 5. Insira 3 componentes Button (Standard) e altere as propriedades de cada um para: Button1 Caption &Real/Dlar Name btReal Button2 Caption &Limpar Name btLimpar Button3 Caption &Dlar/Real Name btDolar 6. Clique duplo no boto Real/Dlar e digite o seguinte procedimento: var varReal, varTaxa, varDolar : double; {criando variveis antes do begin} begin varReal := StrToFloat(EditReal.Text); {variveis recebendo texto varTaxa := StrToFloat(EditTaxa.Text); {convertido p/ ponto flutuante varDolar := varReal / varTaxa; EditDolar.Text := FloatToStr(varDolar); {caixa de edio recebendo end; {ponto flutuante convertido p/ texto 7. Clique duplo no boto Limpar e digite o seguinte procedimento: EditReal.Clear; EditTaxa.Clear; EditDolar.Clear; {apagando o contedo das caixas} 8. Clique duplo no boto Dlar/Real e digite o seguinte procedimento: var varReal, varTaxa, varDolar : double; begin varDolar := StrToFloat(EditDolar.Text); varTaxa := StrToFloat(EditTaxa.Text); varReal := varDolar * varTaxa; EditReal.Text := FloatToStr(varReal); end; 12. Clique no menu File e na opo Save Project As (Salvar Projeto Como). 13. Abra a pasta desejada, digite o nome para a Unit: UnitCambio e clique no boto Salvar. 14. Digite um nome para o Projeto, por exemplo: Cambio e clique no boto Salvar.

67
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

CRIANDO UM CALENDRIO EM UMA APLICAO

Vamos criar rapidamente um Calendrio Secular, usando alguns componentes especiais, apenas para entendermos o uso destes, j que o DELPHI disponibiliza um componente calendrio, chamado de MonthCalendar (Win32) que serviria ao nosso propsito.

1. Insira um componente Calendar (Samples) no formulrio e defina as propriedades: Color clAqua Font Cor: Azul Escuro Estilo: Negrito Tamanho: 10 2. Insira 3 componentes Label (Standard) no formulrio e defina a propriedade Caption: Label1 Dia Label2 Ms Label3 Ano 3. Insira 3 componentes SpinEdit (Samples) no formulrio e defina as propriedades: SpinEdit1 Name: EditDia MaxValue: 31 MinValue: 1 SpinEdit2 Name: EditMes MaxValue: 12 MinValue: 1 SpinEdit3 Name: EditAno MaxValue: 2100 MinValue: 1900 4. Insira 1 componente Edit (Standard) no formulrio e apague a propriedade Text. 5. Organize os componentes de acordo com a ilustrao acima. 6. Selecione o Formulrio, a aba Events no Object Inspetor e o evento OnShow. E digite: EditDia.Value := Calendar1.Day; EditMes.Value := Calendar1.Month; EditAno.Value := Calendar1.Year; 7. Clique duplo no componente SpinEdit1 [EditDia] e digite: Calendar1.Day := EditDia.Value; 8. Clique duplo no componente SpinEdit2 [EditMes] e digite s o texto em negrito, abaixo: procedure TForm1.editmesChange(Sender: TObject); var mes : integer; begin mes := editmes.value; case mes of
1:Edit1.Text:='Janeiro'; 4:Edit1.Text:='Abril'; 7:Edit1.Text:='Julho'; 10:Edit1.Text:='Outubro'; 2:Edit1.Text:='Fevereiro'; 5:Edit1.Text:='Maio'; 8:Edit1.Text:='Agosto'; 11:Edit1.Text:='Novembro'; 3:Edit1.Text:='Maro'; 6:Edit1.Text:='Junho'; 9:Edit1.Text:='Setembro'; 12:Edit1.Text:='Dezembro';

end; calendar1.month := editmes.value; end; 9. Clique duplo no componente SpinEdit3 [EditAno] e digite: Calendar1. Year := EditAno.Value; 10. Clique duplo no componente Calendar1 e digite: EditDia.Value := Calendar1.Day; 11. Salve a Unit com o nome de UnitCalendario e o Projeto com o nome de Calendario. Comentrios: Ao ser exibido o Formulrio (evento OnShow ), as propriedades Values dos componentes SpinEdit, que armazenam inteiros, recebem respectivamente, atravs dos mtodos, as propriedades Day, Month e Year do Calendar1 que tambm armazenam valores inteiros. Ao escolher um dia (por exemplo) no componente SpinEdit1 [EditDia], processado o evento OnChange deste, onde digitamos o mtodo: Calendar1.Day := EditDia.Value; O mtodo inverso foi digitado no evento OnChange do Calendar1 para (clicando em um dia) passarmos o valor para o componente SpinEdit1.

68
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

COMO CRIAR UM MENU PARA UMA APLICAO Os itens de um menu so componentes especializados que voc acrescenta aos seus formulrios e que tambm respondem a eventos OnClick, como acontece com os componentes botes. Menus bens elaborados tornam a sua aplicao muito mais amigvel para o usurio. O DELPHI permite criar menus ilimitados e disponibiliza tambm menus suspensos (popups) para sofisticar ainda mais suas aplicaes.

Menus que contm submenus so chamados de menus hierrquicos (ou em cascata). O usurio sabe que existe um submenu em um menu quando aparece uma seta indicadora frente do nome deste. Para criar um Menu para sua aplicao: 1. Insira um componente Menu (Standard) no formulrio e abra a propriedade Items (clicando nas reticncias) para exibir a janela MainMenu1. 2. Digite na propriedade Caption o nome do 1 item do MainMenu1, por exemplo: &Cadastro. 3. Clique abaixo do menu Cadastro e digite na propriedade Caption o nome do 1 subitem do menu: &Funcionrios. Mude a propriedade ShortCut para CTRL+F p/ criar teclas de atalho. 4. Clique abaixo do subitem Funcionrios e digite na propriedade Caption o nome do 2 subitem do menu: Fu&no. Mude a propriedade ShortCut para CTRL+U. 5. Clique abaixo do subitem Funo e digite na propriedade Caption o caracter - (hfen) para criar um separador nos subitens do menu. 6. Clique abaixo do separador - e digite na propriedade Caption o nome do 3 subitem do menu: Sai&r. Mude a propriedade ShortCut para CTRL+R. 1. Clique ao lado (direita) do menu Cadastro e digite na propriedade Caption o nome do 2 item do MainMenu1: &Relatrios. 2. Aps ter includo com os itens e subitens do menu feche a janela MainMenu1. 3. Para fazer com que os itens e subitens de um menu respondam a eventos, abra o item do menu e digite o comando desejado, tal qual se digita para um componente boto. NOTA: Voc pode testar o componente MainMenu sem a necessidade de compilar a aplicao. Feche a janela MainMenu e abra os itens e subitens do menu..

69
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

CRIANDO UM EDITOR DE TEXTO SIMPLES Criaremos, complementando o estudo sobre componentes, um Editor de Texto para criao, abertura, formatao e impresso de arquivos de texto. Utilize este Editor para criar pequenas notas tais como recibos, ofcios, etc., que no exigem o uso de um processador de texto profissional como o Word.

4. Crie um novo Formulrio e altere as seguintes propriedades: Caption Editor de Texto. WindowState

wsMaximized

5. Insira um componente Menu (Standard) no formulrio e abra a propriedade Items (clicando nas reticncias) para exibir a janela MainMenu1. 6. Digite na propriedade Caption o nome do primeiro item do MainMenu1: &Arquivo. 7. Clique abaixo do menu Arquivo e digite na propriedade Caption o nome do 1 subitem do menu: &Novo. Mude a propriedade ShortCut para CTRL+N para criar teclas de atalho. Para colocar um cone no subitem use a propriedade Bitmap para achar um .ico ou .bmp. 8. Clique abaixo do subitem Novo e digite na propriedade Caption o nome do 2 subitem do menu: A&brir. Mude a propriedade ShortCut para CTRL + A para criar teclas de atalho. 9. Clique abaixo do subitem Abrir e digite na propriedade Caption o nome do 3 subitem do menu: &Salvar. Mude a propriedade ShortCut para CTRL + S para criar teclas de atalho. 10. Clique abaixo do subitem Salvar e digite na propriedade Caption o caracter - (hfen) para criar um separador nos subitens do menu. 11. Clique abaixo do separador - e digite na propriedade Caption o nome do 4 subitem do menu: Sai&r. Mude a propriedade ShortCut para CTRL + R para criar teclas de atalho. 12. Clique ao lado (direita) do menu Arquivo e digite na propriedade Caption o nome do 2 item do MainMenu1: &Editar. 13. Clique abaixo do menu Editar e digite na propriedade Caption o nome do 1 subitem do menu: Recor&tar. Mude a propriedade ShortCut para CTRL + X para criar teclas de atalho. 14. Clique abaixo do menu Recortar e digite na propriedade Caption o nome do 2 subitem do menu: &Copiar. Mude a propriedade ShortCut para CTRL + C para criar teclas de atalho. 15. Clique abaixo do menu Copiar e digite na propriedade Caption o nome do 3 subitem do menu: C&olar. Mude a propriedade ShortCut para CTRL + V para criar teclas de atalho. 16. Clique abaixo do menu Colar e digite na propriedade Caption o nome do 4 subitem do menu: &Selecionar Tudo. Mude a propriedade ShortCut para CTRL+ T para criar teclas de atalho. 17. Clique ao lado (direita) do menu Editar e digite na propriedade Caption o nome do 3 item do MainMenu1: &Formatar.

70
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

18. Clique abaixo do menu Formatar e digite na propriedade Caption o nome do 1 subitem o menu: &Fonte. Mude a propriedade ShortCut para CTRL+F para criar teclas de atalho. 19. Clique ao lado (direita) do menu Formatar e digite na propriedade Caption o nome do 4 item do MainMenu1: &Imprimir. Aps ter includo os itens e subitens feche a janela do componente MainMenu1. 20. Insira um componente Memo (Standard) no Formulrio e defina as propriedades: Align alCliente {componente Memo1 cliente do Formulrio} HideSelection True {visualizar seleo do campo Memo1} ScrollBars ssBoth {barra de rolagem Horizontal e Vertical} 21. Insira 4 componentes da aba (Dialogs) no Formulrio: OpendDialog, SaveDialog, FontDialog e PrinDialog. Aps a incluso dos componentes acima, vamos entrar com os comandos necessrios para que os itens do MainMenu1 e os demais componentes do Formulrio possam responder aos eventos que programarmos. 1. No Formulrio, clique na aba Events do Object Inspector, abra o evento OnShow e digite: Memo1.Clear; {para limpar o Memo1 antes de exibir o Formulrio} 2. Abra o menu Arquivo e clique no subitem Novo e digite o seguinte comando: Memo1.Clear; {para limpar o Memo1 e digitar um novo texto} 3. Abra o menu Arquivo e clique no subitem Abrir e digite o seguinte comando: If OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName); {Se executada a caixa de dilogo OpenDialog1, as linhas do campo Memo1 recebem as linhas do arquivo aberto FileName atravs do mtodo LoadFromFile. 4. Abra o menu Arquivo e clique no subitem Salvar e digite o seguinte comando: If SaveDialog1.Execute then Memo1.Lines.SaveToFile(SaveDialog1.Filename); {Se executada a caixa de dilogo SaveDialog1, as linhas do campo Memo1 so passadas para um arquivo de texto atravs do mtodo SaveToFile. 5. Abra o menu Arquivo e clique no subitem Sair e digite o seguinte comando: Close; {para fechar o Formulrio do Editor de texto} 6. Abra o menu Editar e clique no subitem Recortar e digite o seguinte comando: Memo1.CutToClipboard; {para recortar o texto selecionado para a rea} {de Armazenamento do Windows} 7. Abra o menu Editar e clique no subitem Copiar e digite o seguinte comando: Memo1.CopyToClipboard; {para copiar o texto selecionado para a rea de} {Armazenamento do Windows} 8. Abra o menu Editar e clique no subitem Colar e digite o seguinte comando: Memo1.PasteFromClipboard; {para colar o texto da rea de Armazenamento} {no ponto de insero do Memo1}

71
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

9. Abra o menu Editar e clique no subitem Selecionar Tudo e digite o seguinte comando: Memo1.SelectAll; {seleo de todo o contedo do campo Memo1.} 10. Abra o menu Formatar e clique no subitem Fonte digite o seguinte comando: If FontDialog1.Execute then Memo1.Font := FontDialog1.Font; {Se executada a caixa de dilogo FontDialog1, o contedo do campo Memo1 recebe o formato da Fonte escolhida na caixa FontDialog1}. 11. Clique no menu Imprimir e digite as seguintes linhas de cdigo (linhas em negrito): Printer.BeginDoc; Printer.Canvas.TextOut(600,600,Memo1.Text); Printer.EndDoc {inicia a impresso} {Canvas representa a rea de impresso e TextOut define as coordenadas da pgina.

12. Inclua a unit Printers na clusula uses da Unit do formulrio corrente. NOTA: Os comandos do item 10 (acima) imprimem o texto do componente Memo1 sem qualquer configurao (pgina e texto). Para imprimir obedecendo a uma configurao de pgina (margens superior e inferior, com avano automtico de pgina), substitua o procedimento acima pelo procedimento a seguir: (Digite apenas as linhas em negrito). procedure TFormEditor.ImprimirClick(Sender: TObject); var Inicio, Linha, AltLinha : Integer; begin Linha := 0; Printer.BeginDoc; AltLinha := Trunc(Printer.Canvas.TextHeight('My')*1.1); For Inicio := 0 To Memo1.Lines.Count -1 Do Begin Printer.Canvas.TextOut(0,Linha,Memo1.Lines[inicio]); Linha := Linha + AltLinha; If Linha >= Printer.PageHeight then Begin Printer.NewPage; Linha := 0; End; End; Printer.EndDoc; end; 13. Salve a Unit com o nome de UnitEditor e o Projeto com o nome de Editor. 14. Compile, teclando F9, para gerar o arquivo Editor.Exe e testar a aplicao.

O procedimento acima foi extrado do Livro 365 dicas de DELPHI Editora Makron Books Autor: Bruno Sonnino.

72
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

MENSAGENS DE ERROS DO COMPILADOR E DA APLICAO possvel que durante a elaborao de um projeto, alguns comandos ou funes do DELPHI sejam ignorados pelo compilador, por no terem sido previamente declaradas, gerando erros que impossibilitam a criao do .EXE Outros erros podem acontecer durante a compilao ou execuo do .EXE, por erros provocados pelo prprio programador. Veja a seguir alguns erros tpicos: ERRO na funo Showmessage: Ausncia da unit Dialogs na clusula uses da unit corrente. CORREO: Digite Dialogs, na clusula uses da unit em questo e re-compile o projeto.

ERRO: Escrever uma propriedade ou mtodo com erro de sintaxe. CORREO: Verifique e digite a sintaxe correta. Depois re-compile o projeto.

ERRO: Faltando ponto-e-vrgula no final de uma linha. CORREO: Digite o ponto-e-vrgula. Depois re-compile o projeto.

ERRO: Ponto-e-vrgula antes de um Else em um bloco de comandos If...Then. CORREO: Retire o ponto-e-vrgula. Depois re-compile o projeto.

73
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

J ERRO: Esquecer de fechar uma string com o apstrofo. CORREO: Verifique e digite o apstrofo. Depois re-compile o projeto

ERRO: Esquecer de fechar blocos de comandos com o End; CORREO: Verifique e digite o End; Depois re-compile o projeto

ERRO: Varivel usada sem ter sido criada. CORREO: Antes do begin digite Var e na linha seguinte crie a varivel. Depois re-compile o projeto

ERRO: Executar um mtodo Show em um componente antes de ser criado, ou executar um SetFocus em um componente no evento OnCreate do formulrio onde se encontra o componente.

ERRO: Acessar uma Tabela de dados sem que a propriedade Active do componente Table esteja True.

74
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

ERRO: Tentar gravar valores duplicados em uma Tabela de dados, quando o campo uma chave primria. Ou seja, violar a chave (Key Violation)

ERRO: No declarar na Unit do Formulario Corrente o nome da Unit do Formulrio Chamado.

ERRO: Formulrio chamando um outro no evento OnCreate do formulrio corrente.

ERRO: Apenas a reafirmao de um erro possvel criao de um .EXE, porm sujeito a erros de execuo.

ERRO: Tentativa de dividir um valor de um clculo por zero.

ERRO: Mscara formatada errada para a entrada de dados em um campo tipo Data.

75
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

76
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

O GERADOR DE RELATRIOS - QUICKREPORT O DELPHI oferece uma ferramenta poderosa para gerar relatrios, desde os mais simples aos mais complexos: O QuickReport, da paleta de componentes QReport. Com esta ferramenta voc insere no formulrio os componentes necessrios para imprimir dados armazenados em vrios componentes bem como em tabelas de banco de dados.

Para criar um Relatrio atravs do QReport: 1. Estando em um formulrio em branco 2. Insira um componente Table (Data Access) no formulrio e digite e altere as propriedades necessrias para o componente Table1: DataBaseName TableName IndexName Active 3. 4. 5. 6. local (ou Alias) onde se encontra a tabela. Ex: C:\Clientes escolha o nome da tabela desejada. escolha o nome do ndice que deseja ativar junto com a tabela. escolha True para visualizar os dados da tabela durante o projeto.

Clique duplo no componente Table1 e clique com o boto direito na janela Form Table1. Escolha, no menu aberto, a opo Add All Fields para usar todos os campos da tabela. Clique no boto Ok e feche a janela Form Table1. Insira um componente QuickReport (QReport), no formulrio. Na propriedade Dataset do componente QuickReport, escolha Table1, para ligar o relatrio a tabela. 7. Insira 4 componentes QrBand (QReport) no formulrio e mude a propriedade BandType de cada componente para as seguintes opes: Qrband1 Qrband2 Qrband3 Qrband4 rbPageTitle rbColumnHeader rbDetail rbPageFooter para os detalhes do ttulo do relatrio. para os nomes dos campos (colunas) da tabela. para exibir os dados (registros) da tabela. para os dados do rodap (fim) da pgina do relatrio.

8. Insira componentes QrLabel, quantos necessrios, nos componentes rbTitle, altere os Captions e formate-os (fontes, alinhamento...). Se quiser, insira componentes como qrShape, qrImage, etc. 9. Insira componentes QrLabel, quantos necessrios, no componente rbColumnHeader, para representar os nomes (Ttulos) dos campos de sua tabela, que voc deseja que sejam impressos no relatrio. Mude o Caption de cada um conforme nomes dos campos.

77
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

10. Insira componentes qrDBText, para cada qrLabel no componente rbDetail, para representar o contedo dos campos da tabela e mude 2 propriedades para cada um: Dataset para Table1, componente da tabela de dados. DataField para o nome do campo respectivo da tabela 11. Insira componentes QRExpr, quantos necessrios, para campos que envolvam critrios de formatao. Abra a propriedade Expression e defina as operaes desejadas. O Expression Wizard permite unir e calcular campos, utilizar funes bsicas: Sum (soma), Max (mximo), Avg (mdia) e If (se teste lgico), alm de variveis de controle. O boto Clear limpa a expresso introduzida. O boto Validate testa se a expresso est correta. O boto Ok insere a expresso na qrBand do QReport. 12. Insira componentes qrSysData na qrBand componente rbPageFooter e escolha na propriedade Data, o tipo de dado desejado para ser impresso no rodap da pgina. QrsPageNumber QrsTime QrsDate QrsDateTime para exibir o nmero da pgina. para exibir a hora atual do sistema. para exibir a data atual do sistema. para exibir a data e a hora atual.

Como criar um relatrio rapidamente atravs do QuickReport Wizard 1. Clique no menu File e escolha a opo New. Ser aberta a janela New Items. 2. Clique na aba Business e escolha o cone

3. QuickReport Wizard e clique no boto Ok. 4. Na janela New Report Wizard, clique no boto Browse e localize a pasta do seu banco de dados e clique no boto Ok. 5. Selecione, na caixa Select a Table, opo Table Name o nome da sua tabela. 6. No quadro Select Field, defina os campos que constaro no relatrio (> um campo >> todos) e clique no boto Finish para gerar o relatrio.

78
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

ONDE FCIL APRENDER COMPUTAO

Para configurar a PGINA do relatrio: 1. Selecione o componente QReport1 e clique duplo no (+) da propriedade Page para abrir as opes de configurao da pgina, ou clique duplo sobre o componente QReport1 para abrir a janela Report Settings e obter mais detalhes sobre a configurao do relatrio. TopMargim BottoMargim LeftMarggim RighMargin PaperSize Orientation Margem superior em (mm) Margem inferior em (mm) Margem esquerda em (mm) Margem direita em (mm) Tamanho do Papel A4, Carta (letter), Ofcio (legal)... Orientao do Papel: PoPortrait Retrato (vertical). PoLandscape Paisagem (horizontal).

2. Clique no boto Apply para aplicar a formatao. 3. Clique no boto Preview para ver uma prvia do relatrio. 4. Clique no boto Ok para finalizar a operao. Para IMPRIMIR, a partir do formulrio corrente, o QReport inserido em um outro formulrio: 1. No evento de um boto chamado imprimir (ou de outro componente) do formulrio corrente, digite a seguinte linha de cdigo, entre os comandos begin e end: Form3.QuickRep1.Print; Form3.QuickRep1.Preview; Veja outros mtodos de impresso. Form4.QrLabel1.Caption Form4.QrLabel2.Caption Form4.QrLabel3.Caption Form4.QrRichText1.Lines Form4.QuickRep1.Print; Form5.QrLabel1.Caption Form5.QrLabel2.Caption Form5.QrRichText1.Lines Form5.QuickRep1.Print; Form6.QrLabel1.Caption Form6.QrLabel2.Caption Form6.QrLabel3.Caption Form6.QrRichText1.Lines Form6.QuickRep1.Print; := Date(); := Edit1.Text; := Edit2.Text; := Memo1.Lines; {para imprimir o componente QuickRep1 de um Form3.} {para visualizar e definir opes de impresso antes de imprimir o componente QuickRep1 de um Form3.}

:= Form2.DBEdit1.Text; := Form2.DBEdit2.Text; := Form2.DBMemo1.Lines;

:= Table1Nome.AsString; := FloatToStr(Table1Salario.AsFloat); := IntToStr(Table1Nivel.AsInteger); := Table1Obs.Lines;

79
GENESYS INFORMTICA - Rua do Vido, N 79 Barbalha-CE - Centro - Fone: 8818-8878

Você também pode gostar