Академический Документы
Профессиональный Документы
Культура Документы
Guia de Componentes
2011
3
Sumrio
a) programao visual;
b) RAD Rapid Application Development;
c) Pascal (Object Pascal);
d) programao orientada a objetos;
e) programao orientada a eventos.
1. Executando o Delphi XE
No Windows, clique sobre a pasta Embarcadero RAD Studio XE no menu iniciar e em seguida
no item Delphi XE.
a) Barra Rpida (Speed Bar): permite executar as funes mais comuns do menu por
meio do mouse, como por exemplo: abrir projetos, salvar projetos, etc. Ao passar
com o mouse sobre seus botes, um texto explicativo apresentado.
Note que o formulrio pertence aba Design. Desta maneira, as ferramentas para a
confeco da aparncia do aplicativo somente so exibidas quando essa aba estiver
selecionada.
d) Editor de Cdigo: uma janela que apresenta um arquivo texto contendo o cdigo
fonte em Object Pascal referente ao Form. O nome do arquivo texto contendo cdigo
fonte no Delphi conhecido como Unit (Unidade).
3. Manipulao de Projetos
Um projeto um conjunto de Forms e Units que o Delphi usa para gerar o programa final
executvel.
A seguir sero apresentados os processos, de maneira segura, para criar, abrir e salvar
projetos.
Para criar um novo projeto devemos nos certificar que no existe nenhum projeto aberto,
isto pode ser feito clicando no menu File, em seguida no item Close All. Aps esta verificao
clique novamente em File, depois New e em seguida selecione o item VCL Forms
Application Delphi for Win32 para criar um novo projeto.
Para salvar um projeto no Delphi clique no menu File, em seguida Save All, o Delphi pedir
para salvar primeiro a unidade e depois o projeto. D um nome para a unidade, aperte o
boto Salvar e a seguir faa o mesmo com o projeto. O nome desses arquivos devem seguir
as regras para criao de nome de variveis.
Para abrir um novo projeto devemos nos certificar que no existe nenhum projeto aberto,
isto pode ser feito clicando no menu File, em seguida no item Close All. Depois disso clique
no menu File, em seguida Open.
Quando desejamos ler uma informao digitada pelo usurio em algum componente do
formulrio, devemos analisar como a informao ser armazenada no aplicativo, ou seja,
devemos observar qual ser o tipo da varivel utilizada.
Todas as informaes do formulrio que so representadas por caracteres so valores do
tipo texto (string). Desta maneira, quando desejamos ler um valor numrico, devemos
converter o valor, escrito na forma de texto, para valores numricos. Alm disso, devemos
escolher como ser o formato do nmero, inteiro ou real (chamado nmero de ponto
flutuante, ou float).
a) funo que transforma um texto para um nmero inteiro: StrToInt;
b) funo que transforma um texto para um nmero real: StrToFloat.
Veja no exemplo como ler e exibir valores em componentes do tipo Edit, considerando que
foram declaradas as variveis A: Integer, B: Real e C: String.
// Lendo valores
A := StrToInt(Edit1.Text);
B := StrToFloat(Edit2.Text);
C := Edit3.Text; // note que no fazemos a converso
// Exibindo valores
Edit4.Text := IntToStr(A);
Edit5.Text := FloatToStr(B);
Edit6.Text := C; // note que no fazemos a converso
Tambm possvel exibir um determinado nmero de casas decimais quando valores reais
forem apresentados nos componentes. Para tal, utilize a funo FloatToStrF que formata
o valor no momento da converso para texto. Essa funo possui quatro parmetros:
a) o valor que ser exibido;
b) o formato do nmero. Normalmente utilizamos a constante ffFixed;
c) a preciso, que representa o nmero de algarismos significativos;
d) a quantidade de casas aps o separador decimal.
Considerando que o valor da varivel real x seja 2, veja como o valor pode ser exibido
alterando os parmetros.
Note que o parmetro da preciso deve ser maior do que o nmero de casas decimais para
que no haja alterao do valor.
2. Funes Matemticas
Algumas funes matemticas esto disponveis na biblioteca Math. Para acessar essas
funes, devemos declarar essa biblioteca na clusula uses.
Uses Math;
AnguloRad := DegToRad(AnguloGrau);
AnguloGrau := RadToDeg(AnguloRad);
Potencia := Exp(y*ln(x));
Potencia := Power(x,y);
1. Form
O formulrio objeto que serve como base para colocar outros objetos (componentes).
Possui controles que permitem que o usurio realize aes como minimizar, maximizar e
fechar, encerrando a execuo do programa.
Quando um novo projeto criado (VCL Forms Application Delphi for Win 32), esse
componente imediatamente colocado a disposio do programador, permitindo que a
confeco do aplicativo se d por ele.
Propriedades e eventos
a) dentre suas propriedades, destacam-se a Caption que indica qual o texto que ser
exibido na barra superior do formulrio. No exemplo acima, foi usado:
Form1.Caption := Form1;
b) a sub-rotina que est associada ao evento OnCreate ativada logo aps a execuo
do programa, como se fosse a primeira coisa que ser feita. Aproveite essa sub-
rotina para iniciar suas variveis globais e fazer algumas configuraes iniciais nos
objetos que estiverem sobre o formulrio.
2. Button
Propriedades e eventos
3. Edit
Propriedades
O exemplo a seguir mostra como ler alguns valores, considerando que as variveis A,
B e C so do tipo inteiro, real e texto, respectivamente:
A := StrToInt(Edit1.Text);
B := StrToFloat(Edit2.Text);
C := Edit3.Text; // note que no fazemos a converso
b) para colocar o foco em um componente, ou seja, prepar-lo para receber uma nova
informao, utiliza-se:
Edit1.SetFocus;
c) para limpar o contedo do Edit, a propriedade Clear deve ser usada da seguinte
maneira:
Edit1.Clear;
4. Label
Esse componente est na aba Standard da barra de componentes. O Label permite exibir
um nico dado (valor de uma varivel) na forma de texto ou apenas melhora a aparncia da
interface do programa.
Propriedades
Label1.Caption := IntToStr(A);
Label2.Caption := FloatToStr(B);
Label3.Caption := C;
Label4.Caption := Texto;
5. Memo
Esse componente est na aba Standard da barra de componentes. Exibe um texto que pode
ser dividido em linhas, sendo que estas linhas so manipuladas de forma independente.
Propriedades
Memo1.Lines.Add(Texto);
NumeroDeLinhas:= Memo1.Lines.Count;
c) para conhecer o valor do ndice da ltima linha (valor inteiro) existente no Memo,
utiliza-se:
UltimaLinha:= Memo1.Lines.Count - 1;
Memo1.Lines.Delete(Linha);
Memo1.Clear;
f) retorna o contedo da linha indicada pela varivel inteira Linha em uma varivel do
tipo String.
Texto:= Memo1.Lines[Linha];
6. RadioGroup
Propriedades e eventos
b) para descobrir qual dos itens foi selecionado, pode-se usar uma estrutura condicional
caso. A expresso que ser verificada ser a propriedade ItemIndex, que retorna o
valor inteiro da posio do RadioGroup selecionado.
Importante! O primeiro item sempre definido com o ndice zero;
c) para obter o texto do item selecionado, devemos verificar qual o valor da lista
Items que est na posio selecionada, como faramos em uma varivel indexada.
TextoSelecionado := RadioGroup1.Items[RadioGroup1.ItemIndex];
7. ListBox
Propriedades
ListBox1.Items.Add(Texto);
b) para descobrir qual dos itens foi selecionado, pode-se usar uma estrutura condicional
caso. A expresso que ser verificada ser a propriedade ItemIndex, que retorna o
valor inteiro da posio do ListBox selecionado.
Importante! O primeiro item sempre definido com o ndice zero;
c) para obter o texto do item selecionado, devemos verificar qual o valor da lista
Items que est na posio selecionada, como faramos em uma varivel indexada.
TextoSelecionado := ListBox1.Items[ListBox1.ItemIndex];
ListBox1.Items.Delete(NumeroDaLinha);
8. StringGrid
Propriedades
StringGrid1.RowCount:= NumeroDeLinhas;
StringGrid1.ColCount:= NumeroDeColunas;
UltimaLinha:= StringGrid1.RowCount - 1;
UltimaColuna:= StringGrid1.ColCount - 1;
Veja os exemplos que mostram a leitura e exibio de alguns valores. Note que o
exemplo mostra que para valores reais e inteiros devemos fazer a converso dos
valores. Considere a seguinte declarao de variveis:
// leitura de valores
A:= StrToInt(StringGrid1.Cells[coluna,linha]);
B:= StrToFloat(StringGrid1.Cells[coluna,linha]);
C:= StringGrid1.Cells[coluna,linha];
// exibio de valores
StringGrid1.Cells[coluna,linha]:= IntToStr(A);
StringGrid1.Cells[coluna,linha]:= FloatToStr(B);
StringGrid1.Cells[coluna,linha]:= C;
9. CheckBox
Propriedades e eventos
a) para verificar se um CheckBox est ou no selecionado, pode-se verificar o
resultado da propriedade Checked. Esta propriedade retorna um valor lgico (True
ou False) indicando se o item analisado est ou no selecionado;
b) a verificao deve ser feita para cada um dos componentes CheckBox existentes. No
exemplo da figura anterior, devem ser feitas trs estruturas condicionais, uma para
cada componente;
10. CheckListBox
Propriedades
CheckListBox1.Items.Add(Texto);
b) para fazer a leitura ou exibio das informaes, necessrio utilizar uma varivel
auxiliar indexada unidimensional do tipo lgica, sendo a faixa de valores para o ndice
deve comear em zero e terminar em um nmero compatvel com os itens do
CheckListBox. No exemplo da imagem anterior, sero utilizados os itens 0, 1 e 2.
for i := 0 to CheckListBox1.Count-1 do
itensMarcados[i] := CheckListBox1.Checked[i];
TextoSelecionado := CheckListBox1.Items[CheckListBox1.ItemIndex];
CheckListBox1.Items.Delete(NumeroDaLinha);
Elaborar um programa que calcule e exiba as razes de uma equao de segundo grau.
2 4
=
2
So necessrios trs valores digitados pelo usurio (, e ) para calcular as duas razes (1
e 2 ). Alm disso, ser criada uma varivel auxiliar para calcular o valor de delta ().
Button1Click
Incio
a, b, c
d sqr(b)-4*a*c
x1 (-b+sqrt(d))/(2*a)
x2 (-b-sqrt(d))/(2*a)
x1, x2
Fim
No Delphi, crie um novo projeto clicando no item New do menu File. Dentre as opes
apresentadas escolha VCL Forms Application Delphi for Win32.
Adicione um componente Label ao formulrio arrastando-o da palheta de ferramentas para
o Form1. Aps posicionar o Label verifique se os marcadores de seleo esto visveis, como
mostra a figura a seguir. Caso no estejam d um clique sobre o objeto Label1. Com o
objeto selecionado, altere o texto da propriedade Caption no Object Inspector para a:.
Depois disso adicione outros quatro Labels, trs Edits e um Button. Modifique as
propriedades de maneira conveniente para que o seu formulrio possua a seguinte
aparncia:
Clique sobre o boto com a seta verde ou utilize a tecla F9. Isso far com que seu aplicativo
seja compilado e executado.
O simples fato do programa ter sido compilado no significa que est correto. Como o Delphi
no informou nenhum erro, significa apenas que no existem erros de sintaxe.
Para tentar localizar eventuais erros de lgica, devemos testar alguns valores e compar-los
aos valores de teste do fluxograma. Nesse exemplo, vamos utilizar os valores 1, 2 e 3 para
calcular as razes do polinmio 2 + 2 + 3 = 0.
Depois de digitar os valores 1, 2 e 3 nos trs Edits e clicar sobre o boto, podemos verificar a
seguinte mensagem de erro:
Vamos lembrar uma tcnica para a depurao: d um clique no ponto ao lado da linha que
recebeu destaque do erro.
Note que um crculo aparece e a linha novamente recebe destaque. Quando o aplicativo for
executado novamente, ele ir parar antes da execuo dessa linha. Dessa maneira,
poderemos analisar as condies das variveis que podem gerar o erro.
Selecione o item Add Watch... do menu Run. Preencha o campo Expression com o nome da
varivel que dever ser inspecionada. Repita o processo para todas as variveis desejadas.
A figura anterior mostra que a varivel foi calculada como esperado, ou seja,
2 4 . Como os valores 1 e 2 ainda no foram calculados, so exibidos valores
remanescentes dos espaos de memria.
Analisando o valor = 8 podemos concluir que esse valor ir gerar um erro quando a raiz
quadrada for calculada, uma vez que 8 no possui soluo real.
Pressionando a tecla F7, que executa apenas a instruo em destaque, a linha que calcula 1
ser executada e, como previsto, ser gerado um erro.
Para interromper a execuo do programa, clique novamente no item Program Reset do
menu Run.
Button1Click
Incio
a, b, c
d sqr(b)-4*a*c
False True
d >= 0
x1 (-b+sqrt(d))/(2*a)
No existem
x2 (-b-sqrt(d))/(2*a)
razes reais.
x1, x2
Fim
Sero apresentados componentes visuais, componentes que fazem a chamada para algumas
funes do Windows, alm de estruturas de dados que facilitam o uso e armazenamento de
cores e datas, alm de permitir a impresso dos valores obtidos pelo aplicativo.
1. Componentes Visuais
1.1. ComboBox
Propriedades e eventos
b) para descobrir qual dos itens foi selecionado, pode-se usar uma estrutura condicional
caso. A expresso que ser verificada ser a propriedade ItemIndex, que retorna o
valor inteiro da posio do ComboBox selecionado.
Importante! O primeiro item sempre definido com o ndice zero;
c) para obter o texto do item selecionado, devemos verificar qual o valor da lista
Items que est na posio selecionada, como faramos em uma varivel indexada.
TextoSelecionado := ComboBox1.Items[ComboBox1.ItemIndex];
TextoSelecionado := ComboBox1.Text;
Veja a aparncia do objeto quando o usurio clica sobre o boto com a seta.
1.2. Image
Esse componente est na aba Additional da barra de componentes. Embora o Image possua
um conjunto de ferramentas associadas propriedade Canvas que permite a criao de
desenhos em tempo de execuo, nos atentaremos a uma caracterstica mais simples,
utilizando-o apenas para exibir uma imagem armazenada em arquivo. Em tempo de
execuo as linhas tracejadas que o contornam no so exibidas.
Propriedades
a) Para carregar uma imagem de um arquivo devemos indicar todo o caminho fsico
dessa imagem. Isso deve ser feito clicando no boto com trs pontos da propriedade
Picture do Object Inspector.
Depois devemos clicar em Load... e selecionar a figura. Para aceitar clique sobre o
boto OK.
1.3. SpinEdit
Propriedades
a) para obter o valor do SpinEdit devemos acessar a propriedade Value, que retorna
um valor inteiro e no texto, como todos os outros apresentados. Veja o exemplo,
considerando que a varivel n foi declarada inteira.
n := SpinEdit1.Value;
1.4. PageControl
Esse componente est na aba Win32 da barra de componentes. O PageControl nada mais
do que um componente para organizar as diferentes funcionalidades do seu aplicativo.
Por exemplo, podemos criar vrias abas, uma para cadastro de clientes, outra para consulta
de preos e outra para efetuar o balano do dia. Todas esto relacionadas com as
informaes de um comrcio qualquer, mas so utilizadas em momentos diferentes do dia.
Isso permite que o formulrio possua uma apresentao melhor, sem uma quantidade
absurda de objetos que no so utilizados para a maior parte das tarefas.
Para criar uma aba, denominada TabSheet, clique sobre o PageControl com o boto
direito do mouse e selecione New Page. Repita a operao quantas vezes forem
necessrias.
O exemplo a seguir podemos ver que foram criados dois ambientes, um em cada aba do
PageControl. Note que a numerao dos objetos contnua em todo o formulrio, ou
seja, no TabSheet2 foi criado o Edit2, pois existem dois Edits no programa.
1.5. Chart
O primeiro passo para criar uma curva dar um duplo clique sobre o componente Chart,
posicionado no formulrio. Isso faz com que a janela Editing Chart1 seja exibida, como na
figura a seguir.
Ao clicar sobre o boto Add... uma nova srie ser criada. Neste momento, necessrio
decidir qual tipo de grfico ser utilizado. Para o exemplo, escolha Line e remova a seleo
da opo 3D. essa opo no cria um grfico que representa trs dimenses, apenas um
efeito visual de profundidade. Depois disso, clique em OK.
Veja que a Series1 foi criada. Quando criarmos o cdigo-fonte que d forma a srie devemos
alterar as propriedades desse objeto. Alm disso, podemos repetir esse passo e criar vrias
sries. Isso torna possvel criar vrias curvas em uma nica janela.
A srie est pronta para ser utilizada, entretanto podemos configurar alguns itens para que o
grfico traga mais informaes.
Nessa aba, escolha a aba Title. Selecione Left Axis e d o nome ao eixo, por exemplo:
Valores de y. Depois disso, escolha Botton Axis e faa o mesmo, escrevendo Valores de
x. Agora que os eixos das abscissas e ordenadas possuem uma designao, faremos o
mesmo com o ambiente do grfico, clicando na aba Titles, como mostra a figura a seguir.
Em grficos com mais de uma srie conveniente manter uma legenda que relaciona as
cores das linhas com as sries. No exemplo esse recurso ser desabilitado, clicando sobre o
item Visible da aba Style da aba Legend.
Existem muitas outras configuraes que podem ser realizadas no assistente de criao das
sries, como, por exemplo, grficos com eixos invertidos ou em escala logartmica.
Aps concluirmos as configuraes, devemos clicar em Close.
Finalmente vamos criar o cdigo-fonte, em um boto, por exemplo, que ir traar uma curva
especfica. No caso, vamos desenhar a funo = (10 ) para o intervalo [0; 4]
da abscissa.
Compare o cdigo-fonte com o seu fluxograma. Note que a o uso do componente nada mais
do que a exibio das coordenadas dos pontos, y e x, nesta ordem.
Button1Click
Incio
xi 0
xf 4
n 100
dx (xf-xi)/n
x xi
Enquanto
x < x+dx Faa
y exp(-x)*sin(10*x)
y, x
x x + dx
Fim Enquanto
Fim
2. Manipulao de Arquivos
2.1. OpenDialog
Propriedades
a) InitialDir: uma propriedade do tipo texto que recebe um caminho que pode
ser do disco rgido ou at mesmos de um pen drive. Quando OpenDialog
executado, a pasta que exibida inicialmente o caminho definido nessa
propriedade;
b) Execute: o mecanismo de chamada do OpenDialog. Normalmente utilizado em
uma estrutura condicional, pois retorna o valor True quando o usurio clica sobre o
boto Abrir e False quando o usurio cancela a operao;
c) FileName: a propriedade que armazena o caminho do arquivo informado.
3. Manipulao de Cores
3.1. TColor
O TColor um tipo, assim como o String ou o Integer. Sua modelagem interna permite
armazenar um nmero inteiro suficientemente grande para manipular as mais de dezesseis
milhes de cores.
Uma vez criada uma varivel do tipo TColor, ela pode ser preenchida de duas maneiras
distintas:
Assim como outros tipos de varivel, o TColor pode compor campos de registros (record)
criados para a manipulao de arquivos.
3.2. ColorDialog
Esse componente est na aba Dialog da barra de componentes. Assim como o componente
OpenDialog, o ColorDialog somente est visvel ao usurio quando executado.
Possui uma regio de cores predefinidas e outra para que o usurio possa escolher a cor
visualmente, seja pela percepo, por valores de Matiz, Saturao e Brilho ou as
componentes dos canais Vermelho, Verde e Azul.
Propriedades
3.3. Shape
Propriedades e eventos
a) para escolher a forma do objeto, escolha uma das opes da propriedade Shape no
Object Inspector;
Shape1.Brush.Color := clBlue;
O exemplo a seguir mostra como criar uma interface para a entrada de dados em forma de
cor. Em seu formulrio, acrescente um componente ColorDialog e um Shape.
Com o objeto Shape selecionado, d um duplo clique para abrir o evento OnMouseDown no
Object Inspector. Nessa regio ser digitado o cdigo-fonte que far a leitura e exibio da
cor escolhida pelo usurio.
4. Manipulao de Datas
4.1. TDateTime
O tipo TDateTime uma estrutura de dados que permite armazenar um valor numrico sob
a forma de data, contendo dia, nmero da semana, ms, ano, hora, minuto, segundo e
milsimo de segundo.
Delphi XE Guia de Componentes
40
Assim como outros tipos de varivel, o TDateTime pode compor campos de registros
(record) criados para a manipulao de arquivos.
possvel exibir os dados de uma varivel do tipo TDateTime de trs maneiras distintas
nos objetos apresentados at o momento, bastando fazer a converso para texto. Veja o
exemplo, considerando que a varivel data indica o dia 12.11.1955 e a hora 22:04:00.
4.2. Now
A funo Now retorna a data e hora do instante em que foi executada, no formato tipo
TDateTime, com preciso da ordem de milsimo de segundo.
Essa funo muito utilizada em aplicativos que medem o tempo de execuo de algoritmos
ou aplicativos que fazem clculos com datas e horas, como por exemplo, aplicativos para
hotis, estacionamentos e outros.
Veja o exemplo de como obter o valor da data e hora atual do computador. Considere que a
varivel Data, do tipo TDateTime foi declarada como no exemplo anterior.
Data := Now;
Existem algumas funes que retornam valores inteiros da diferena entre dois instantes de
tempo distintos. Para utilizar essas funes necessrio declarar a biblioteca DateUtilis.
Uses DateUtils;
A tabela a seguir relaciona as funes com a unidade de tempo calculada. Todas as funes
recebem como parmetro o instante final e o instante inicial, nessa ordem, sob a forma de
um valor do tipo TDateTime.
c := 0; // comprimento inicial
xa := 0; // incio do domnio
dx := 1/10000000; // incremento de x
while xa+dx <= 1 do // at valor final
begin
x := xa + dx; // posio futura
y := sqr(x);
c := c + sqrt(sqr(x-xa)+sqr(y-ya)); // calcula comprimento
xa := xa + dx; // incrementa posio atual
ya := sqr(xa);
end;
4.4. DateTimePicker
Note que o componente, na sua forma compacta exibe uma data, entretanto, quando o
usurio clica sobre o boto com a seta, o componente se abre e permite a escolha de uma
nova data. Note que existe uma indicao da data atual na forma expandida.
Propriedades
a) A propriedade DateTime pode ser lida ou receber uma informao. Essa informao
um valor do tipo TDateTime.
O exemplo a seguir considera que uma loja aceita que a primeira parcela de um produto
vendido seja pago quinze dias aps a data da compra. Foram utilizados dois componentes
DateTimePicker, um para a entrada de dados (dia da compra) e outro para exibir a data
do pagamento da primeira parcela.
5. Navegao na Internet
possvel fazer com que suas aplicaes acessem sites de maneira muito simples. Como
exemplo, ser apresentado como fazer um aplicativo acessar informaes cartogrficas
utilizando o Google Maps.
5.1. WebBrowser
Mtodos
O exemplo a seguir mostra como acessar um site cujo endereo foi digitado no componente
Edit1.
Neste outro exemplo vamos mostrar como usar o parmetro do Nagivate para apresentar
mapas no aplicativo. Ser utilizada uma String que possui dois parmetros: Local e Zoom.
Segundo a documentao da API do Google Maps, o parmetro Zoom deve ser um valor
inteiro, mas escrito sob a forma de String, entre 0 e 21.
Uma vez que a aplicao ou o usurio definiram os valores dos parmetros Local e Zoom,
basta fazer o chamado da pgina, utilizando o mtodo Navigate.
6. Impresso
Cabe lembrar que a impresso tambm deve ser expressa na forma de fluxograma. Desta
maneira, quando desejamos imprimir o nome, o endereo e a idade de uma pessoa,
utilizamos a seguinte representao.
6.1. Print
Uma soluo simples, entretanto no usual em virtude da sua apresentao visual, consiste
em utilizar a propriedade Print do prprio formulrio.
Isso faz com que todo o formulrio, desde os botes at a barra com os botes maximizar e
minimizar sejam impressas na impressora padro do usurio.
Form1.Print;
A principal diferena entre as duas abas consiste na caracterstica dos componentes da aba
Standard serem imutveis durante a execuo do aplicativo em Delphi, enquanto que na
aba Report, o contedo dos componentes podem ser alterados, permitindo exibir, por
exemplo, os valores calculados pelo aplicativo.
O exemplo a seguir mostra a criao de um relatrio contendo uma imagem e trs textos,
sendo um fixo e os outros dois preenchidos por um aplicativo.
b) para definir esses parmetros, clique sobre o item Report1 da rvore do projeto e
depois sobre o boto com trs pontos do item Parameters do Object Inspector.
c) a janela Strings Editor ser exibida. Digite o nome dos dois parmetros desejados.
Vale ressaltar que os parmetros no Rave Reports so textos e no precisam seguir as
regras para criao de variveis, ou seja, podem possuir caracteres especiais e
espaos. Depois disso clique em OK;
possvel concatenar um texto fixo com parmetros, somando strings. Para tal,
vamos escrever um texto antes do parmetro no Data Text. No se esquea de
utilizar apstrofos para delimitar o texto.
De volta ao Delphi, vamos criar um boto que ir fazer o chamado ao relatrio de impresso
criado no Rave Reports. Para tal, acrescente ao formulrio um componente RvProject, da
aba Rave.
Com o objeto RvProject1 selecionado, clique sobre o boto com os trs pontos da
propriedade ProjectFile no Object Inspector e escolha o arquivo criado no Rave Reports.
Lembre-se que a extenso desse arquivo rav.
Depois disso, devemos criar o cdigo-fonte do boto que preencher os campos do relatrio
e o exibir. A mecnica de funcionamento do objeto RvProject a seguinte: