rave via codigo delphi...

Delphi

22/11/2004

preciso de exemplos de relatorios em rave report só q via código delphi, sem usar o rave designer!
eu processo toda a informacao no delphi e só jogo a string pro rave!

espero q tenham intendido meu problema, ja procurei varios tutoriais mas nada soluciona isso.

abracos :wink:


Nadai_

Nadai_

Curtidas 0

Respostas

Eliane Dorr

Eliane Dorr

22/11/2004

A edição nº 48 de ClubeDelphi traz um exemplo de relatório via código.


GOSTEI 0
Adilsond

Adilsond

22/11/2004

No site [url]http://lib.seven.com.br/menu.asp?codcat=1[/url] de uma pesquisada por rave.


GOSTEI 0
Brm

Brm

22/11/2004

Não sei se é isso que deseja.

Uses RPDevice;

procedure TForm1.Configura;
begin
RVSystem1.SystemPrinter.MarginBottom := 1;
RVSystem1.SystemPrinter.MarginLeft := 1;
RVSystem1.SystemPrinter.MarginTop := 1;
RVSystem1.SystemPrinter.MarginBottom := 1;
RVSystem1.SystemPrinter.Units := unCM;
RVSystem1.SystemPrinter.UnitsFactor := 2.54;
RVSystem1.SystemPrinter.Copies := 1;
RVSystem1.SystemPrinter.Orientation := poPortrait;
RVSystem1.SystemPreview.FormState := wsMaximized;
RVSystem1.SystemSetups := RVSystem1.SystemSetups - [ssAllowSetup];
RVSystem1.SystemPreview.RulerType := rtBothCm;
rpDev.SelectPaper(´A4´,false);
RVSystem1.Execute;
end;

procedure TForm1.RvSystem1NewPage(Sender: TObject);
begin
Cabecalho;
end;

Procedure TForm1.Cabecalho;
begin
With RVSystem2.BaseReport do
Begin
GotoXY(1.5,1.0);
SetFont(´Courier New´,8);
Canvas.Brush.Color:=clWhite;
RoundRect(1.5,1.0,20.5,3.2,0.25,0.25);
NewLine;
Bold := True;
PrintLeft(´CTR......:´,1.7);
Bold := False;
PrintLeft(Texto,3.5);
Bold := True;
PrintLeft(´ATENDENTE.:´,8.0);
Bold := False;
PrintLeft(´Nome do Atendente´,10.0);
Bold := True;
PrintRight(´EMISSÃO:´,17.5);
Bold := False;
PrintLeft(DateToStr(Date),17.5);
Rectangle(19.48,1.08,20.41,2.11);
// imprime o logotipo no canto superior esquerdo
PrintBitmapRect(19.50,1.10,20.4,2.10,DbImage1.Picture.Bitmap);
NewLine;
Bold := True;
PrintLeft(´Cliente:´,1.7);
Bold := False;
PrintLeft(´Nome do Cliente´,3.5);
//PrintRight(´Horário: ´+TimeToStr(Time),20.2);
Bold := True;
PrintRight(´TELEFONE:´,13.5);
Bold := False;
PrintLeft(´1111111111´,13.5);
Bold := True;
PrintRight(´PASTA..:´,17.5);
Bold := False;
PrintLeft(´000000´,17.5);
Bold := True;
NewLine;
PrintLeft(´CPF......:´,1.7);
Bold := False;
PrintLeft(´123.456.789-00´,3.5);
Bold := True;
PrintLeft(´RG.: ´,7.0);
Bold := False;
PrintLeft(´123456´,8.0);
Bold := True;
PrintRight(´CELULAR:´,13.5);
Bold := False;
PrintLeft(´111111111111´,13.5);
Bold := True;
PrintRight(´VENDA..:´,17.5);
Bold := False;
PrintLeft(´A PRAZO´,17.5);
NewLine;
Bold := True;
PrintLeft(´ENDENREÇO:´,1.7);
Bold := False;
PrintLeft(´Endereço do Cliente´,3.5);
Bold := True;
PrintRight(´BAIRRO:´,13.5);
Bold := False;
PrintLeft(´Bairro do Cliente´,13.5);
NewLine;
Bold := True;
PrintLeft(´CIDADE...:´,1.7);
Bold := False;
PrintLeft(´Cidade do Cliente´,3.5);
NewLine;
Bold := True;
PrintLeft(´PROXIMID.:´,1.7);
Bold := False;
PrintLeft(´Proximidades´,3.5);
PrintRight(´PÁG: ´+Macro(midCurrentPage)+´/´+Macro(midTotalPages),20.3);

SetFont(´Arial´,8);
Canvas.Brush.Color:=$00E4E4E4;
// quadro descricao do produto
RoundRect(01.50,03.19, 11.44,03.60, 0.25,0.25);
// quadro medida
RoundRect(11.44,03.19, 13.50,03.60, 0.25,0.25);
// quadro cor
RoundRect(13.49,03.19, 15.20,03.60, 0.25,0.25);
// quadro quantidade
RoundRect(15.18,03.19, 16.20,03.60, 0.25,0.25);
// quadro unitario
RoundRect(16.18,03.19, 18.24,03.60, 0.25,0.25);
// quadro total
RoundRect(18.22,03.19, 20.50,03.60, 0.25,0.25);
Canvas.Brush.Color:=clWhite;
// COL LIN
GotoXY(1.7,3.5);
Bold := True;
PrintLeft(´PRODUTO´,1.7);
PrintLeft(´MEDIDA´,11.5);
PrintLeft(´COR´,13.5);
PrintRight(´QTDE´,16.1);
PrintRight(´UNITÁRIO´,18.2);
PrintRight(´TOTAL´,20.4);
// quadro descricao do produto
RoundRect(01.50,03.61, 11.45,08.22, 0.25,0.25);
// quadro medida
RoundRect(11.44,03.61, 13.50,08.22, 0.25,0.25);
// quadro cor
RoundRect(13.49,03.61, 15.20,08.22, 0.25,0.25);
// quadro quantidade
RoundRect(15.18,03.61, 16.20,08.22, 0.25,0.25);
// quadro unitario
RoundRect(16.18,03.61, 18.24,08.22, 0.25,0.25);
// quadro total
RoundRect(18.22,03.61, 20.50,08.22, 0.25,0.25);
Bold := False;
Canvas.Brush.Color:=clWindow;
Canvas.Brush.Color:=$00F5F5F5;
// totais bruto desconto e liquido
RoundRect(01.50,08.23, 07.83,08.73, 0.25,0.25);
RoundRect(07.83,08.23, 14.16,08.73, 0.25,0.25);
RoundRect(14.16,08.23, 20.50,08.73, 0.25,0.25);
// IMPRIMINDO O CABEÇALHO TOTAIS DESCONTOS E LIQUIDO
Gotoxy(1.5,08.60);
Bold:=True;
Italic:=True;
PrintLeft(´TOTAL BRUTO´,1.7);
PrintLeft(´DESCONTO´,8.0);
PrintLeft(´TOTAL´,14.4);
Italic:=False;
Bold:=False;
// primeira parcela
RoundRect(01.50,08.74, 02.60,09.24 ,0.25,0.25);
RoundRect(02.60,08.74, 04.50,09.24 ,0.25,0.25);
RoundRect(04.50,08.74, 07.60,09.24 ,0.25,0.25);
// segunda parcela
RoundRect(07.83,08.74, 08.93,09.24 ,0.25,0.25);
RoundRect(08.93,08.74, 10.83,09.24 ,0.25,0.25);
RoundRect(10.83,08.74, 13.93,09.24 ,0.25,0.25);
// terceira parcela
RoundRect(14.16,08.74, 15.26,09.24 ,0.25,0.25);
RoundRect(15.26,08.74, 17.16,09.24 ,0.25,0.25);
RoundRect(17.16,08.74, 20.50,09.24 ,0.25,0.25);
Canvas.Brush.Color:=clWhite;
// primeira parcela--------------------------------------------------------
RoundRect(01.50,09.24, 02.60,12.10 ,0.25,0.25);
RoundRect(02.60,09.24, 04.50,12.10 ,0.25,0.25);
RoundRect(04.50,09.24, 07.60,12.10 ,0.25,0.25);
// segunda parcela
RoundRect(07.83,09.24, 08.93,12.10 ,0.25,0.25);
RoundRect(08.93,09.24, 10.83,12.10 ,0.25,0.25);
RoundRect(10.83,09.24, 13.93,12.10 ,0.25,0.25);
// terceira parcela
RoundRect(14.16,09.24, 15.26,12.10 ,0.25,0.25);
RoundRect(15.26,09.24, 17.16,12.10 ,0.25,0.25);
RoundRect(17.16,09.24, 20.50,12.10 ,0.25,0.25);
// IMPRIMINDO O CABEÇALHO DAS PARCELAS
Gotoxy(1.5,09.11);
Bold:=True;
PrintLeft(´PARC.´,1.63);
PrintLeft(´VENCIMENTO´,02.65);
PrintRight(´VALOR´,7.50);
PrintLeft(´PARC.´,7.95);
PrintLeft(´VENCIMENTO´,9.0);
PrintRight(´VALOR´,13.8);
PrintLeft(´PARC.´,14.30);
PrintLeft(´VENCIMENTO´,15.35);
PrintRight(´VALOR´,20.4);
Bold:=False;
// Procedimento para imprimir as parcelas
ImprimeParcelas;
// quadro das mensagens------------------------------------------------
RoundRect(01.50,12.10, 20.50,13.00 ,0.25,0.25);
Gotoxy(1.5,12.10);
NewLine;
PrintCenter(´1º Mensagem do Rodapé´,11.25);
NewLine;
PrintCenter(´2º Mensagem do Rodapé´,11.25);
NewLine;
// Gera contrato de Reserva de Dominio
GeraContrato;
Gotoxy(1.5,13.5);
SetFont(´Times New Roman´,12);
Bold:=True;
Underline:=True;
Italic:=True;
Texto:=´ - CTR: 12345´;
PrintCenter(´Contrato Particular de Venda de Bens Móveis com Reserva de Domínio´+Texto,11);
SetFont(´Courier New´,8);
Bold:=False;
Underline:=False;
GotoFooter;
PrintLeft(´________________________´,1.5);
PrintLeft(´________________________´,6.5);
PrintLeft(´________________________´,11.4);
PrintLeft(´________________________´,16.3);
NewLine;
PrintLeft(Loja,1.5);
PrintLeft(Copy(WCliente,1,24),6.5);
PrintLeft(´Testemunha (1)´,11.4);
PrintLeft(´Testemunha (2)´,16.3);
AdjustLine;
end;
end;


GOSTEI 0
POSTAR