Alinhamento com TPrinter

Delphi

11/03/2004

Olá
Preciso alinhar valores na direita, que fique a virgula em baixo de virgula, estou usando para imprimir Nota Fiscal e os valores tem que estar alinhados, alguem sabe como faço?
To usando Printer.Canvas.TextOut

Obrigado


Raphal

Raphal

Curtidas 0

Respostas

Freestyle

Freestyle

11/03/2004

Use esta função:

function Padr(s:string;n:integer):string;
{alinha uma string à direita}
begin
Result:=Format(´¬´+IntToStr(n)+´.´+IntToStr(n)+´s´,[s]);
end;

Form1.button1Click(Sender: TObject);
begin
.
.
.
Printer.cavas.textout(10,10,padr(formatfloat(´,0.00´,campo_float),12));
.
.
.
end;


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

11/03/2004

Só complementando a dica de nosso amigo, e contando uma curiosidade sobre a função format...

Format(´¬´+IntToStr(n)+´.´+IntToStr(n)+´s´,[s]);

quando vc coloca um ´[color=blue:12b9a1be34][b:12b9a1be34]*[/b:12b9a1be34][/color:12b9a1be34]´ na função format, ele vai pegar esse valor no próximo argumento que é passado entre os [color=green:12b9a1be34]´[´[/color:12b9a1be34]e[color=green:12b9a1be34]´]´[/color:12b9a1be34]

então, ela possibilita que façamos assim também

[color=green:12b9a1be34]Format(´¬*.*s´,[n, n, s]); [/color:12b9a1be34]


não tou dizendo que ta errado o jeito que foi passado, é só uma curiosidade que estou relatando :P


GOSTEI 0
POSTAR