Fórum Duvidas Rdprint #423464
11/09/2012
0
Maxwell
Curtir tópico
+ 0Posts
13/09/2012
Edson Melo
estou tendo um outro probleminha com ele que so reparei agora , com impressora laiser eele fica doido, estou usando o delphi 2010 com rdprint.
Gostei + 0
15/09/2012
Edson Melo
retirei estas linhas de um sistema meu, que faz a quebra , da para voce analizar e ver se consegue entender, so te aviso que a tabela tem que estar ordenada pelo campo que voce quer fazer a quebra.
// Ajusta preview de acordo com a opção do cliente...
rdprint1.TamanhoQteLinhas := 66; // Linhas (deve ser 1 quando for CUPOM)
rdprint1.TamanhoQteColunas := 96; // Largura da Bobina aprox. 7 cm (7 / 2.54 * 20)
rdprint1.FonteTamanhoPadrao := s12cpp; // Fonte Comprimido em 20 cpp
rdprint1.OpcoesPreview.Preview := True;
rdprint1.OpcoesPreview.PreviewZoom := 100;
rdprint1.OpcoesPreview.PaginaZebrada:= True;
RDprint1.MostrarProgresso := True;
rdprint1.abrir; // Inicia a montagem do relatório...
// Chama setup e se clicar em "CANCELAR" então abandona...
if RDprint1.Setup = false then begin
showmessage('Cancelado pelo usuário...');
exit;
end;
// Zera variaveis para iniciar o relatório...
linha := 9;
subtotal := 0;
totalgeral := 0;
cidadews := 'Forca quebra'; // Força 1º Quebra... nao mude
CDS_LISTAGEM.First;
while not CDS_LISTAGEM.eof do begin
// verifica e processa quebra da cidade...
if CDS_LISTAGEMCCusto.AsString <> cidadews then // Quebra a cidade... compara se o campo ainda continua o mesmo
begin
totalquebra; // Imprime total da quebra...
quebracidade; // Imprime cabecalho da cidade...
end;
if linha > 61 then // 59 Salto de Pagina chama automaticamente cabecalho/rodape...
begin
rdprint1.novapagina;
quebracidade;
end;
// Detalhes do relatório...
rdprint1.imp (linha,01,DateToStr(CDS_LISTAGEMData.AsDateTime)); // DATA
rdprint1.imp (linha,12,CDS_LISTAGEMDiscrimincao.asstring); // DESCRICAO
rdprint1.impD (linha,83,formatfloat('###,##0.00',CDS_LISTAGEMValor.value),[]); // valor
rdprint1.impD (linha,95, DateToStr(CDS_LISTAGEMPagamento.AsDateTime),[]); // PAGO SN
inc(linha);
// Soma o totais...
subtotal := subtotal + CDS_LISTAGEMValor.value;
totalgeral := totalgeral + CDS_LISTAGEMValor.value;
CDS_LISTAGEM.next;
end;
// Imprime o total da quebra...
totalquebra;
// Imprime total geral...
if linha > 60 then rdprint1.novapagina;
inc(linha);
rdprint1.impf (linha,10,'Total Geral ==> ',[negrito]);
rdprint1.impval(linha,81,'###,###,##0.00',totalgeral, [negrito]);
rdprint1.fechar; // Encerra o relatório...
Bt_SairQbra.SetFocus;
end;
procedure TFrm_QuebraDespesa.quebracidade;
begin
if linha > 59 then rdprint1.novapagina;
// Imprime o cabecalho da quebra...
inc(linha);
rdprint1.impf(linha,1,'Centro de Custo ' + cidadews,[negrito]);
rdprint1.impf(linha,31,'Desc.: ' + CDS_LISTAGEMDescricao.asstring,[negrito]);
inc(linha);
inc(linha);
end;
procedure TFrm_QuebraDespesa.totalquebra;
begin
if cidadews = 'Forca quebra' then // Não tem sub-total ainda pois é o 1º vez
begin
cidadews := CDS_LISTAGEMCCusto.AsString; // atualiza a quebra...
exit;
end;
// Imprime total da quebra...
if linha > 60 then begin // 59
rdprint1.novapagina;
quebracidade;
end
else
begin
inc(linha);
end;
rdprint1.impf (linha,10,'SubTotal Centro de Custo ==> ',[negrito]);
rdprint1.impval(linha,81,'###,###,##0.00',subtotal,[negrito]);
inc(linha);
// atualizo variaveis de controle da quebra...
cidadews := CDS_LISTAGEMCCusto.AsString; // atualiza a quebra...
subtotal := 0;
end;
Gostei + 0
16/09/2012
Maxwell
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)