O
Delphi é um Ambiente Integrado de
Desenvolvimento (IDE – Integrated
Development Enviroment) que permite a
edição, compilação, depuração e execução de
aplicativos para plataforma Windows. O ambiente do
Delphi inclui um compilador que está entre os mais
rápidos do mercado, um depurador, que corrige os
problemas e erros nos programas, ajuda on-line, e
outras ferramentas que facilitam o desenvolvimento de
projetos.
CARACTERÍSTICAS IMPORTANTES
Compilador Pascal
Escrito em Assembler e em Delphi
Gera código .EXE e DLL’s
Ambiente Visual (VCL – Visual Componente Library)
Editor de texto próprio (Code Editor) configurável de acordo com a sintaxe
Codificação em Linguagem Object Pascal
Suporte a Programação Orientada a Eventos (POE) e a Programação Orientada
Objetos (POO);
Suporte a Multimídia
Acesso a API’s do Windows
Acesso nativo a tabelas Paradox, Dbase, e LocalInterbase
Acesso a banco de dados: Informix, Oracle, Sybase, MSSQL Server, Interbase
através de drivers fornecidos na versão Enterprise.
VERSÕES DO DELPHI 7
Unidade 1:
Unidade 2:
IDE Delphi 5,
Unidade 3:
Unidade 4:
Componentes Padrão,
Unidade 5:
Tratando Exceções, 50
Unidade 6:
Banco de Dados
Unidade 7:
Unidade 8:
Noções de SQL,
Unidade 9:
Relatórios no Delphi,
Referências Bibliográficas,
UNIDADE 1
Procedure 3
Orientado ao Objeto
Dados Dados
Métodos Métodos
Objeto Objeto
Dados Dados
Métodos Métodos
Objeto Objeto
IDE DO DELPHI 5
Paleta de
Componentes
Formulário
Code Editor
Object
Inspector
Paleta de Componentes
Barra de Ferramentas
Novidade
O recurso Desktop permite organizar as janelas do Delphi da maneira
ideal para o seu trabalho. Você posiciona as janelas de acordo com sua
necessidade e pode gravar esta configuração como um Desktop. Os
únicos itens que não sofrem alteração com a mudança de desktop são o
formulário e a paleta de componentes.
BARRA D E FERRAMENTAS
Fornece atalhos para os comandos mais comuns como compilar e executar
projetos, abrir ferramentas, salvar alterações, entre outros. Posicionando o cursor do
mouse sobre a speedbar e clicando o botão direito, o usuário poderá personalizá-la
através da opção properties (propriedades) do menu popup.
Nessa paleta são escolhidos os componentes que vão fazer parte do projeto.
Ela está dividida em várias páginas (abas de seleção) e cada uma delas contém seus
objetos. Esses objetos estão dispostos nas abas de acordo com sua funcionalidade.
FORMULÁRIOS/UNIDADES
Code Explorer
Nota
A janela Code Explorer, contém
informações estrturadas sobre a unit.
Para deixar de exibir a janela basta clicar
no botão fechar da mesma.
O Code Editor acessa o código gerado pelo projeto e pode mostrar várias units
ao mesmo tempo. Para mudar de uma para outra unit basta clicar na ‘aba’
correspondente.
Estrutura de
.DPR
Um Projeto
.DFM ..PAS
Use o mouse sobre a “aba” para navegar entre as Units ou CTRL+TAB para
posicionar na próxima Unit ou CTRL+SHIFT+TAB para voltar à anterior. Para
visualizar o Form associado à Unit ou se estiver no Form e quiser ver a Unit
pressione a tecla F12.
Nota
Caso o Objet Inspector não esteja sendo
visualizado, basta ir ao menu View\Objet
Inspect ou teclar (F11)
1
Propriedades : Propriedades são características básicas de um componente. Cada
componente no Delphi possui uma série de Propriedades com um
valor default. Note que na imagem acima(Object Inspector)
aparecem algumas relativas a um compenente Button1(Botão) tais
como: caption(descricão da face do botão), sua fonte, cor da
fonte, etc., todas elas com um valor padrão definido pelo Delphi
mas que você pode modificar. As Propriedades podem ser
alteradas em tempo de projeto(design-time) ou em tempo de
execução(run-time). Para fazer uma alteração em tempo de
execução é preciso fazer uma atribuição de valor através do
operador :=(sinal d atribuição do Object Pascal).
Nome-do-componente.Propriedade := ValorPropriedade ;
Exemplo: Button1.Caption := ‘Novo Nome’ ;
2
Eventos : Eventos são acontecimentos, normalmente provocados por ações
do usuário ao programa em tempo de execução. Nós podemos
programar respostas a estes estímulos. Existem eventos como:
Clicar em um componente, entrar em um componente, sair de um
componente, etc.
No Project Manager você tem a visão global de todo seu projeto. Considere
também que você tenha 2 ou mais projetos independentes um do outro. A partir da
versão 4 do Delphi é possível mantê-los dentro de uma estrutura de Grupo de
Projetos. Cada projeto é tratado de forma independente. No entanto, do ponto de
vista de organização, eles podem ficar agrupados, de forma a auxiliar você nas
tarefas de desenvolvimento e manutenção.
Adiciona Projeto ao
Grupo de Progetos
Nota
Para chamar o Project Manager siga
o caminho:
Menu View\Project manager ou
CTRL+Alt+F11
Mensagem a ser
acrescentada a lista TO-DO
Sua prioridade
Até 5(cinco) Sua categoria
A janela To-Do List pode ser exibida clicando no menu Menu View\To-Do
List.
Nota
Você pode selecionar o ítem da TO-DO
list e deletá-lo. Fazendo isto o Delphi
remove o comentário da Unit ao invés
Tarefa Relizada
de colocar a cláusula DONE.
O Delphi possui vários comandos de menu que você pode usar para criar um
novo formulário, uma nova aplicação, um novo módulo de dados, etc. Estes
comandos estão localizados no Menu File e em outros menus suspensos que iremos
observar ao decorrer do nosso curso.Quando você clica no Menu File\New abre o
Object Repository, que é para criar novos elementos de qualquer tipo : Formulários,
aplicativos, módulos de dados, componentes,etc.
Passos :
7. Localize nos vários eventos o de nome : OnClick (este evento é acionado quando
o usuário clicar no form !!), dê um duplo-click neste evento;
Abaixo veja como fica o Project quando você abre um projeto novo( Menu File|
New Application):
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
CÓDIGO FONTE DO ARQUIVO UNIT (.PAS)
Nesta divisória serão escritos os códigos dos seus respectivos forms (Unit1 =
Form1). Aqui serão definidos os códigos de cada procedimento dos componentes
que você colocar no form.
Seção Var
Declara as variáveis privadas utilizadas.
Seção Implementation
Contém os corpos das funções e procedures declaradas nas seções
Interface e Type. Nesta seção também estão definidos todos os
procedimentos dos componentes que estão incluídos no Form que são
codificados pelo programador. Existe também uma cláusula uses1 que é
adcionada pelo programador que diz respeito as outras unidades do projeto
que esta unit irá precisar ou se comunicar. As declarações desta seção são
visíveis apenas por ela mesma. Esta seção é formada pelo seguinte código:
{$R*.DFM} Diretiva compiladora que inclui toda a interface,
propriedades da forma e componentes do arquivo *.DFM
1
Seção uses adicional
Serve para declarar Units que a ativa.
Inicialization
Nesta seção, que é opcional, pode ser definido um código para proceder
as tarefas de inicialização da Unit quando o programa começa. Ela consiste na
palavra reservada inicialization seguida por uma ou mais declarações para
serem executadas em ordem.
unit Unit1;
interface
uses
Windows,Messages, SysUtils, Classes,Graphics,Controls,
Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.
OBJECT PASCAL
Observações:
{ } ou (* *) blocos de comentários.
// linha de comentário.
ATRIBUIÇÕES:
Ex: Form1.Color:=clTeal;
TIPO DE VARIÁVEIS:
Os mais comuns são:
As constantes têm tipos que não precisam ser definidos; eles são deduzidos
pelo Delphi de acordo com o conteúdo definido para ela na sua declaração.
VARIÁVEIS :
Exemplo:
Var Nota não esqueça :
Salario, Fgts : Currency ; Não comece nomes de
NomeFunc : String[50]; variáveis com números,
Endereco : String; não use “ç” ou acentos e
NumFilhos : Integer; o tamanho máximo é de
Ativo : Boolean; 63 caracteres.
CONSTANTES :
Exemplo:
const
Cor = “vermelho”; // constante string
Idade = 20; // constante inteira
TIPOS ESTRUTURADOS:
Exemplo:
Type
DiasSemana = (Segunda, Terça, Quarta, Quinta, Sexta,
Sábado, Domingo);
Triângulo = (Equilátero, Escaleno, Isósceles);
Exemplo:
Type
Horas = 1..24;
Minutos=0..59;
Exemplo:
Type
Pessoa = Record
Idade : integer;
Nome : String[60];
End;
Exemplo:
Var
Ano : array[1..4] of integer;
Nome : String[80];
PROCEDURE/FUNCTION
Sintaxe:
Function <nome> (<lista de parâmetros>) : <tipo de retorno>;
Procedure <nome> (<lista de parâmetros>);
Exemplo:
Function Salario (ValorHora, CargaHorária: Double) : Double;
Procedure AjustaRaio (r : Real);
Unários:
Aditivos
Adição aritmética, união de conjuntos, concatenação de strings,
+
valor positivo ou soma de deslocamento de ponteiro
Subtração, diferença de conjuntos, valor negativo ou subtração de
-
deslocamento de ponteiros (offset)
or “Ou” boleano ou “Ou” bit-a-bit
Relacionais e de Comparação
= Igual
<> Diferente
IF-THEN-ELSE
É usado para executar uma instrução somente se certa condição for satisfeita,
ou para escolher entre duas instruções diferentes.
Sintaxe(Comando Composto):
If <expressão> then
Begin
Bloco de comando 1; Exemplo 1
Bloco de comando 2; If Edit1.Text = ‘F’ then
Begin
Bloco de comando n; Label1.caption := ‘Feminino’;
end ContFem := ContFem + 1;
Else Dbedit1.setfocus;
Bloco de comando 1; end
Else
Bloco de comando 2; ShowMessage (‘Sexo não é Feminino’);
Bloco de comando n;
End;
Sintaxe:
Case <expressão> of Exemplo
Case RadioGroup1.ItemIndex of
Valor1: bloco de comandos; 1: ShowMessage (‘Soma’);
Valor2: bloco de comandos; 2: ShowMessage(‘Subtração’);
Valorn: bloco de comandos; 3: ShowMessage(‘Multiplicação’);
Else
Else ShowMessage(‘Não foi escolhido nada’)’;
Bloco de comandos;
End;
While
Sintaxe:
Exemplo
While <condição> do I := 0;
Bloco de comandos; While I < 10 Do
I := I+1;
Repeat
Faz com que o bloco de código seja executado diversas vezes até que uma
dada condição seja verdade. É executado pelo menos uma vez independente da
sua condição inicial ser verdadeira ou não.
Sintaxe:
Repeat Exemplo
<bloco de comandos> Repeat
I: = I+1;
Until Until
<condição> I <10;
Sintaxe:
For variável :=valor-inicial To/Downto valor-final do
<Bloco de comando>;
Exemplos
For I:=1 To 10 do
ShowMessage (‘estou incrementando’);
Blocos:
Sintaxe:
Begin
<comandos>;
End;
Exemplo :
Begin
Form1.Color := clTeal;
Form1.Caption:= ’Estou mudando a cor’;
End;
Algumas Funções
Função Ação
IntToStr ( ) Converte um valor inteiro para uma string
StrToInt ( ) Converte uma string para um valor inteiro
StrToDate( ) Converte uma string para o formato date
DateToStr( ) Converte do formato data para o formato string
StrToTime ( ) Converte uma string para o formato time
TimeToStr ( ) Converte o formato time para string. Ex.: Edit1.text := TimeToStr(Time);
FloatToStr ( ) Converte um valor flutuante para string
StrToFloat ( ) Converte de string para um valor flutuante
Length ( ) Retorna quantidade(valor inteiro) de caracteres de uma string
Copy ( ) Retorna uma substring de uma string. Ex.: copy ( ‘Amanda’,1,3 ) = ‘Ama’
UpperCase ( ) Converte caracteres Minúsculos para Maiúsculos
LowerCase ( ) Converte caracteres Maiúsculos para Minúsculos
Date Retorna a data Corrente
Now Retorna a data e hora corrente
Time Retorna a hora corrente
FormatFloat () Formata um valor flutuante em string usando máscara de apresentação
Ex.: Edit1.text := FormatFloat(‘###,##0.00’ , 456958.45) = 456.958,45
COMPONENTES PADRÃO
Para editar seu Menu Principal , basta dá duplo click no objeto Mainmenu
Propriedade
Caption Título do GroupBox
Propriedades Comuns
Shape Opções para as formas do Bevel
Style Baixo ou alto relevo
Propriedades Comuns
Checked True(Marcado) ou False(Desmarcado)
Alignment Alinha o Texto
Propriedades Comuns
Checked True(Marcado) ou False(Desmarcado)
Alignment Alinha o Texto
Propriedades Comuns
Flat Efeito igual aos botões do Internet Explorer
Glyph Seleciona a imagem do Botão
GroupIndex Se for diferente de 0(Zero), significa dizer que pertence a um grupo de
botões.
Down True — o botão entra no estado pressionado
AllowAllUp True — para colocar apenas um botão no grupo no estado
pressionado. O GroupIndex tem que ser diferente de 0(Zero).
LayOut Posiciona a imagem no botão
Propriedades importantes
Columns Número de colunas do RadioGroup
ItemIndex Retorna o Índice do Item Selecionado.Se o retorno for igual a -1 ,
significa dizer que não existe nenhum item selecionado.
Items Insere os ítens do RadioGroup
Propriedades Comuns
Lines Inclui as linhas de texto do Memo
HideSelection Permite ou não selecionar o texto
MaxLength Número máximo de caracteres do Memo. O padrão 0(zero) é ilimitado
Lines Chamar o editor de texto.
ScrollBars Inclui Barras de rolagens
WantTabs Ativa salto de 8 em 8 caracteres
WantRetuns Ativa o Enter
WordWrap Faz a quebra da linha quando a mesma chegar no limite do Memo
Métodos
Clear Limpa texto do Memo
Ex.: Memo1.Lines.Clear;
Add ( ) Adiciona linha(s) no Memo
Ex.: Memo1.Lines.Add (‘Estou adicionando uma nova linha !!’);
Propriedades Importantes
AutoSize Ajusta o tamanho do Image de acordo com a imagem
Picture Seleciona a imagem
Stretch Ajusta a imagem de acordo com o espaço do Image
Método Importante
Ler a imagem LoadFromFile ( )
Ex.: Image1.Picture.LoadFromFile(‘c:\windows\nuvens.bmp’)
Propriedades
ActivePage Qual a página que será mostrada quando for ativado o Form
MultiLine Ajusta as linhas de guias de acordo com o tamanho do PageControl
TabPosition Exibi guias no topo ou embaixo do PagControl
HotTrack Muda a cor do caption da guia quando o ponteiro do mouse passa em
cima
PageIndex Número do índice de ordenação da guia(TabSheet)
ImageIndex Indica o número de ordem da imagem do ImageList associado
PageControl
Click com o botão direito do mouse
em cima do PageControl para
Inserir um TabSheet
Adciona as Images
Lista de Images
com seus índices
Propriedades Importantes
AutoSize Ajusta a Barra de acordo com botões contidos na mesma
EdgeBorders Bordas
EdgeInner Formato da borda interna
EdgeOuter Formato da borda externa
Images Associa a ToolBar a um componente ImageList
DisableImages Associa a ToolBar a um componente ImageList que contém
imagens do tipo “desativadas”
HotImages Associa a ToolBar a um componente ImageList que contém
imagens do tipo “ativadas”
Flat Botões com o efeito tipo Internet Explorer
ShowCaption Mostra o Caption do botão
Propriedade Importantes
Active Ativa a animação
CommonAVI Seleciona a animação desejada
Propriedades Importantes
SimplePanel Somente uma área de texto
SimpleText Texto para uma área simples
Ex.: StatusBar1.SimpleText := ‘Olá Usuário !’;
Panels Divide a Barra em vários Panels
Ex.: StatusBar1.Panels[0].Text := ‘Área 1’;
StatusBar1.Panels[1].Text := ‘Área 2’;
Propriedades Importantes
Kind Calendário(dtkDate) ou controle de
atualização de horas(dtkTime)
CalColors Altera as cores padrão do componente
Date e Time Retorna à data e à hora atual
DateFormat Exibi a data no formato longo(dia da
semana,data do dia, mês, ano)
Ou formato curto(dia/mês/ano)
BANCO DE DADOS
Modelo de Redes – os dados neste modelo são representados por uma coleção
de registros e os relacionamentos entre os dados são representados por ligações
que podem ser encaradas como ponteiros. Os registros no banco de dados são
organizados como coleção de grafos arbitrados.
Diminuição de redundância;
Diminuição da inconsistência;
Independência de dados (ou seja se o armazenamento e/ou a estratégia
de acesso for modificada a aplicação não precisará ser);
Segurança das informações;
Integridade das informações (informações mais corretas e confiáveis).
Termo Definição
Campo Item de dado(ou coluna) individual de uma tabela
Registro Grupo de campos relacionados (ou linhas) de uma tabela
Tabela Estrutura baseada em linhas e colunas de dados
Ïndice Identificador vinculado a um ou mais campos em uma tabela que mantém uma
ordem lógica dentro de uma Tabela facilitando a localização de registros(linhas)
rapidamente.
Chave Índice principal onde registros duplicado são proibidos.
Chave Identifica unicamente o registro. Pode ser formada por um ou mais campos.
Primária Ex.: Um CNPF, RG, Matrícula de um Aluno, estes campos são únicos para cada
cidadão.
Chave É a chave primária da tabela à qual está relacionada.
Primária
Tipo de
Tabela
“OK” para
abrir a telinha
de criação de
campos da
tabela
Chave Primária
Barra de
Status
FIELD ROSTER
Dica
Para ver a lista de tipos pressione a
barra de espaços.
4. Key: determina se o campo é chave. Para isso basta clicar duas vezes, ou
pressionar a barra de espaços e aparecerá um ‘*’ (asterisco). Os campos
chaves devem ser os primeiros campos criados no Field Roster.
VISUALIZANDO AS TABELAS
1 2
Digite aqui o Caminho onde se
nome do Alias encontra(m) o(s)
arquivo(s) de
Banco de Dados
DBCheckBox
DBNavigator
B
Dataset D DBEdit
DBGrid
DBLokupComboBox
E DBRadioGroup
Propriedades
Dataset Nome do componente Table que será associado
Name Nome do Componente no Projeto
AutoEdit Torna o Dataset auto editável
Propriedades Importantes
DataSource Nome do DataSource que está vinculado a uma Table ou Query
DataField Nome do campo daTable que será exibido o conteúdo
Propriedades Importantes
Items Itens do DBRadioGroup
Values Valor que está associado ao item e que será transferido para
campo correspondente da tabela
Evento
Onclik Ativado com o clik do mouse
Propriedades Importantes
DataSource Nome do DataSource que está vinculado a uma Table ou Query
Columns Faz a manutenção das colunas.Duplo clik no Grid também ativa esta
propriedade
Propriedades Importantes
DataSource Nome do DatSource da Tabela ou Query
ConfirmDelete Ativa / Desativa a mensagem(Inglês) de confirmação de
deleção do reg. corrente
VisibleButtons Lista os botões que irão aparecer no DbNavigator
Hints Descrição dos botões
Flat Botões tipo Internet Explorer
Evento
OnClick Dica.: Podemos criticar qual botão do Dbnavigatorfoi clicado:
If Button = nbInsert, nbEdit, nbPost,... then
Propriedades Importantes
DataSource Nome do DataSource que está vinculado à Table Mestre
DataField Nome do Campo da Tabela Mestre que armazenará a informação
da Tabela Secundária
KeyField Nome do campo da Tabela Secundária que é
comum(tipo\tamanho) as duas Tabelas(Mestre e Secundária)
ListSource Nome do DataSource da Tabela Secundária
ListField Nome do Campo da Tabela Secundária que será listado do
DBLookupComboBox.
Propriedade Importante
Items Lista dos itens do Combo
MovPedido.db
Visualizando o relacionamento em tempo de execução
Figura 1 Figura 2
1. Feche qualquer aplicação que você esteja fazendo. Não esqueça de salvá-
la, caso deseje;
3. A primeira caixa de diálogo que será exibida é para que o usuário escolha
o tipo de formulário que quer criar: se um simples formulário (com acesso
a uma única tabela) ou um mestre-detalhe (master/detail), que utiliza
mais de uma tabela; e se quer usar Table ou Query;
4. Agora será solicitado o nome da tabela que quer usar. Primeiro selecione
o alias que você definiu e logo aparecerão as tabelas existentes nele;
5. Após isso serão exibidos os campos que fazem parte da tabela selecionada
(Available Fields). Você pode escolher todos ou apenas alguns. As setas
simples (>) e (<) só transferem o campo que estava marcado; as setas
duplas (>>) e (<<) ao serem clicadas passam tudo de um lado para o
outro. As setas para cima () e para baixo () definem a ordem dos
campos. Para tanto selecione o campo que deseja mudar a ordem e clique
em () ou () colocando na posição que quer;
É criado automaticamente
DataSource, Table, DBNavigator
e, dependendo de sua escolha no
item 6, o componente de
exibição de banco de dados
(DBEdit’s ou DBGrid). O
formulário é comum e você pode
alterá-lo diretamente, conforme
queira. Moleza não é !!
Form Wizard Final
NOÇÕES DE SQL
Propriedades Importantes
Databasename Nome do Alias onde se encontram as tabelas.
Active Ativa a pesquisa
SQL Defini a string(código) SQL em tempo de projeto que estará
disponível em tempo de execução.
O código será armazenado na propriedade Text do SQL sendo
interpretado pelo BDE no momento de su execução.
Params Define o tipo de dado para o(s) parâmetro(s) da Query caso
exista parâmetro(s).
USANDO O SELECT
SQL-String da QUERY
Select * from Alunos
Where Alu_Sexo=’F’
Order by Alu_Nome
Suponha que você precise fazer uma pesquisa a partir de uma informação
passada pelo usuário em tempo de execução. Por exemplo, se ao invés de
montarmos uma consulta com 2(dois) botões que contém uma instrução
diferente em cada um, que tal, montarmos uma instrução e deixar o usuário
passar para nós a parâmetro chave da pesquisa que é sexo do aluno. Para
avisar a Query que em sua SQL-String tem um ou mais parâmetros,
precisaremos dá um nome ao parâmetro e antes deste nome usar “:” (dois
pontos). Ex.: :Psexo (Obs.: a escolha do nome fica por conta do
programador). Precisaremos também usar a propriedade Params. Veja o
exemplo abaixo :
end;
Propriedades
DataSet Nome da Table ou Query que será usada no relatório
ShowProgress Deseja apresentar a progressão do processo ?
Métodos
Print Imprimir relatório.
Sintaxe: nome-do-QuickRep.Print;
Preview Ativa apenas a visualização do relatório
Sintaxe: nome-do-form.nome-do-QuickRep.Preview;
Propriedade
BandType Tipo de Banda assumida
ForceNewPage Força quebra de página automática
Propriedade
Shape Tipo de Forma
Pen Configura a linha
Propriedade
Data Tipo de Informção
Propriedade
Expression Criação de sua expressão
Ex.: SUM(TbFuncionario.Func_salario)
Mask Configura sua apresentação
ResetAfterPrint Zera a expressão após sua impressão
RbTitle faixa de título que será impressa uma única vez no início
do relatório.
RbColumnHeader faixa de cabeçalho de coluna, sendo impressa no topo de
cada coluna em um formulário de múltiplas colunas.
rbDetail faixa de detalhes, usada para imprimir todos os registros
mestres de um banco de dados.
rbGroupFooter serve como finalizador para a banda GroupHeader.
rbGroupHeader usada para agrupar valores em um par de arquivos
relacionados.
rbPageHeader banda de cabeçalho. Será impressa no início de cada
página.
rbPageFooter rodapé. Será impressa no final de cada página.
rbSummary faixa de sumário de um relatório. Será impressa após
todas as bandas detalhes.
rbSubDetail faixa usada para imprimir os registros de detalhes num
par de arquivos relacionados.
rbChild define a banda filha de outra banda.
6. Caso queira colocar dados no relatório como data ou hora ou mesmo ambos
insira o controle QRSysData e selecione na propriedade Data a opção que
deseja.
QRLabel
QRDBText
10. Caso você queira mostrar esse “Preview” em tempo de execução digite o seguinte
comando:
Sintaxe: <nome do form.>.<nome do quickrep>.Preview
EX.: Form1.QuickRep1.Preview;
MENSAGENS NO DELPHI
Para dar mensagens ao usuário, você pode usar a função ShowMessage, que
já conhecemos logo no início do curso. O Delphi possui outras funções que permitem
sofisticar essa comunicação. Existem em livros uma função chamada MessageDlg,
no entanto, esta função exibe o título da mensagem e dos botões em inglês. Abaixo
é mostrada uma caixinha de diálogo com a função MessageDlg :
Detalhe
Observe que o título e os botões aparecem para o
usuário em inglês.
Outro detalhe, é que não podemos alterar a
mensagem da Barra de Título. Chato, não é ?
Sintaxe:
PROPRIEDADES
Name: É comum a todos os componentes da paleta. O Delphi nomeia
automaticamente todos os componentes que são incluídos no form (inclusive o
proprio form). Usa o nome da classe do componente mais um número seqüencial. O
nome atribuído pelo Delphi pode ser mantido, mas é aconselhável renomear os
componentes que serão referidos no programa.
Caption: Todos os componentes que podem apresentar um rótulo têm esta
propriedade. Armazena a string que será mostrada quando o componente for
desenhado.
Left e Top: Esquerda e Topo. Armazenam a posição do componente em relação ao
form ou painel que o contém. Movendo o componente, estas propriedades se
atualizam automaticamente, e alterando estas propriedades, o componente é
movido.
Height e Width: Altura e comprimento do componente. Idem acima.
Font: Permite selecionar tamanho e tipo da fonte que será usada para escrever o
texto no componente.
Color: Cor do componente. Existe uma lista de cores padrão usadas pelo Windows e
pelo Delphi, mas é possível definir qualquer cor através de seus componentes RGB.
TabOrder: Ordem do componente no Form ou painel. Quando há vários
componentes selecionáveis no Form ou painel, a tecla Tab permite navegar entre os
componentes. Esta propriedade define a ordem em que os componentes são
selecionados quando o usuário tecla Tab.
Hint: Este é um recurso muito útil e fácil de usar. Permite que apareça um texto de
ajuda quando o usuário posiciona o cursor do mouse sobre um componente. Todos
os componentes podem ter Hint. Na propriedade Hint, voce deve digitar a frase que
deve aparecer. Veja a propriedade abaixo.
ShowHint: Ativa o hint para o componente. Se estiver desligado, o hint não é
mostrado.
EVENTOS
OnClick: É gerado cada vez que o botão esquerdo do mouse é pressionado e solto.
O evento só ocorre quando o usuário libera o botão. O Delphi já direciona o evento
para o componente que está debaixo do cursor do mouse.
OnDblClick: Gerado quando é feito um duplo clique no botão esquerdo.
OBJETO TFRAME
Biográficas :
CANTU, Marco Dominando o Delphi Vol.4 e 5 (“A Bíblia”)
EUGO, Frank Como Programar em Delphi 3.0
LOYOLA, Afonso Delphi vol.1 e 2
GENERINE, Adelize SQL para Delphi
PERROTTI,Arthur Curso de Delphi
Cibernética:
Borland Site www.borland.com