FastReport no Delphi - Variáveis
As variáveis são muito útil quando tem a necessidade de utilizar valores dinâmicos, exemplo envio de informações em tempo de execução. As variais são do formato "variant" ou seja, não precisamos declarar tipo, basta informar o seu conteúdo.
Para criar e trabalhar com variáveis no FastReport, selecione o item de menu "Relatório > Variáveis...".
A variáveis no FastReport são em estrutura de dois níveis, primeiro nível e a categoria e o segundo nível a variável em si. Normalmente utilizadas quando contem muitas variáveis.
Então vamos para um exemplo: Vamos dizer que tempo muitas variáveis, vamos jogar essas variáveis para um relatório de venda.
Clientes
Código do cliente
Nome do cliente
Venda
Código da venda
Data do venda
Número da nota fiscal
Nesse nosso exemplo acima os campos "Clientes" e "Venda" são nossas categorias e os de mais campos são nossas variáveis.
Vamos levar esse nosso exemplo para o FastReport. Abra o editor de variáveis e crie esta estrutura usando os botões "Nova categoria", "Nova Variável" e "Editar"
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibnkpvV4J8hjgpc_AEW4AUQ7PdpBnhuoYcuhzfuFwvCHbDOjzEIYc2MXCVjdyqCNEVYOg8RRKtvIQfrl7Qcoizi_IGVVfl0CCTO7SnNl6CIJ5Y88lhM_bq9q8FrIawthB7rFsTtCN40FY/s1600/01.gif)
Mas você pode simplesmente enviar via Delphi as variáveis para o FastReport, fazendo desta forma não se precisa criar as variáveis dentro do FastReport, temos que fazer como no código abaixo.
procedure TFPosVendas.BtnVisualizarClick(Sender: TObject);
begin
if dmRels.Ler_Arquivo('Pós-Vendas', 'FormAvalPosVendas.fr3') then begin
dmrels.frxReport.Variables.Variables['Valor'] := QuotedStr(FormatFloat('R$#,##0.00', 1500.00));
dmrels.frxReport.Variables.Variables['Vendedor'] := QuotedStr('Preencha aqui');
dmrels.frxReport.Variables.Variables['Equipes'] := QuotedStr('Preencha aqui');
dmrels.frxReport.Variables.Variables['NroContrato'] := IntToStr(1000);
dmrels.frxReport.ShowReport;
end;
end;
Já dentro do documento a variável é utilizada com o VarToStr(NomeDaVariavel), como esta abaixo.
Muito mal explicado.....
ResponderExcluirtenho a variavel já criada no delphi pela seguinte linha:
frxRelatorios.Variables['Assunto_1'] := QuotedStr(assunto1);
Mas meu fastreport não enxerga ela
Precisava compara-la dentro do fastreport para tomada de decisoes.
Bom dia! Tem que colocar o " frxRelatorios.Variables['Assunto_1'] := QuotedStr(assunto1);" depois de setar o arquivo fr3 não antes
ExcluirPresta atenção Gabriel, o artigo não está mal explicado, vc que não tem atenção::
ExcluirfrxRelatorios.Variables['Assunto_1'] := QuotedStr(assunto1), quando na verdade, deveria ser:
frxRelatorios.Variables.Variables['Assunto_1'] := QuotedStr(assunto1); Tá ok meu caro!
Parabêns!
ResponderExcluirMe ajudou muito...
Obrigado
Ana e como eu declaro e uso a variável no texto vindo do banco de dados se eu uso [Cliente_nome] vindo no texto de uma banda ele não é alterado o que eu preciso fazer?
ResponderExcluir