Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Quebra de linha no relatório


Posts Recomendados


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  2
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  25
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  54

Estou fazendo relatório com printers no delphi com o  código abaixo e preciso quebra a linha do campo obs, pq é muito grande. Desde já agradeço a ajuda.

var
  Linha:integer;
  Tamanho:integer;
  Coluna:integer;
  begin
    Printer.Orientation := poLandscape;
    Printer.BeginDoc;
    Printer.Canvas.Pen.Width := 5;
    Printer.Canvas.Font.Name := 'Tahoma';
    Printer.Canvas.Font.Size := 12;
    Linha := 20;
    Coluna:= 20;
    Tamanho := Printer.Canvas.TextWidth('a');
    ZQueryRelTratMedic.First;
        while not ZQueryRelTratMedic.Eof do
        begin
         if Linha = 20 then
           begin
            Coluna := 100;
             Linha := Linha - Printer.Canvas.Font.Height + 75;
            Printer.Canvas.TextOut(2000,Linha,'Histórico dos Pet´s');
            Linha := Linha - Printer.Canvas.Font.Height + 75 ;
            Printer.Canvas.TextOut(Coluna,Linha,'Pet');
            Coluna:= Coluna + (Tamanho * 20 );
            Printer.Canvas.TextOut(Coluna,Linha,'Tutor');
            Coluna:= Coluna + (Tamanho * 20);
            Printer.Canvas.TextOut(Coluna,Linha,'Tipo');
            Coluna:= Coluna + (Tamanho * 10);
            Printer.Canvas.TextOut(Coluna,Linha,'Data');
            Coluna:= Coluna + (Tamanho * 15);
            Printer.Canvas.TextOut(Coluna,Linha,'Prox. Dose');
            Coluna:= Coluna + (Tamanho * 15);
            Printer.Canvas.TextOut(Coluna,Linha,'Valor');
            Coluna:= Coluna + (Tamanho * 12);
            Printer.Canvas.TextOut(Coluna,Linha,'Obs');
            Coluna:= Coluna + (Tamanho * 40);
            Linha := Linha - Printer.Canvas.Font.Height + 75 ;

            End;
    Coluna := 100 ;
    Printer.Canvas.Font.Size := 8;
    Printer.Canvas.TextOut(Coluna,Linha, ZQueryRelTratMedic.FieldByName('Pet').AsString);
    Coluna:= Coluna + (Tamanho * 20 );
    Printer.Canvas.TextOut(Coluna,Linha, ZQueryRelTratMedic.FieldByName('Tutor').AsString);
    Coluna:= Coluna + (Tamanho * 20);
    Printer.Canvas.TextOut(Coluna,Linha, ZQueryRelTratMedic.FieldByName('Tipo').AsString);
    Coluna:= Coluna + (Tamanho * 10);
    Printer.Canvas.TextOut(Coluna,Linha, ZQueryRelTratMedic.FieldByName('DataIni').AsString);
    Coluna:= Coluna + (Tamanho * 15);
    Printer.Canvas.TextOut(Coluna,Linha, ZQueryRelTratMedic.FieldByName('ProxDose').AsString);
    Coluna:= Coluna + (Tamanho * 15);
    Printer.Canvas.TextOut(Coluna,Linha, ZQueryRelTratMedic.FieldByName('Valor').AsString);
    Coluna:= Coluna + (Tamanho * 12);
    Printer.Canvas.TextOut(Coluna,Linha, ZQueryRelTratMedic.FieldByName('Obs').AsString);
    Coluna:= Coluna + (Tamanho * 40);
    Linha := Linha - Printer.Canvas.Font.Height + 20 ;
    ZQueryRelTratMedic.Next;

        if ZQueryRelTratMedic.eof then
           Begin
            Printer.Canvas.Font.Size := 12;
            Linha := Linha - Printer.Canvas.Font.Height + 75 ;
            Printer.Canvas.TextOut(3500,Linha,'Total do Tratamento no período');
            Printer.Canvas.TextOut(5200,Linha, FormatFloat('#,##0.00',VarSoma));
            Coluna:= Coluna + (Tamanho * 12);
            Linha := Linha - Printer.Canvas.Font.Height + 75 ;
           End;

           if Linha > Printer.PageHeight-20 then
              Begin
               Printer.NewPage;
               Linha := 20;
              end;
         end;

  Printer.EndDoc;

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.