VictorGL Postado 5 de Maio de 2021 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 Denunciar Compartilhar Postado 5 de Maio de 2021 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; Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
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.