Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Printer.Canvas.TextOut... rechtsbündig??? (https://www.delphipraxis.net/143268-printer-canvas-textout-rechtsbuendig.html)

Mavarik 13. Nov 2009 07:26

Re: Printer.Canvas.TextOut... rechtsbündig???
 
Oder du füllst Deinen "Geld"-String einfach entsprechend auf...

In einen "normalen" TTF-Font sind Spaces halb so lang wie Zahlen...
Also für jede fehlende Zahl einfach 2x Space davor... Fertig.

Mavarik

DeddyH 13. Nov 2009 12:08

Re: Printer.Canvas.TextOut... rechtsbündig???
 
Hier noch ein Beispiel für DrawText (die Zahlen sind alle willkürlich gewählt):
Delphi-Quellcode:
procedure TFormDruck.btnDruckClick(Sender: TObject);
const Zahlen: array[0..4] of double = (1,23.56,2345.9,12.5,Pi);
var oben, i: integer;
    R: TRect;
begin
  oben := 50;
  Printer.BeginDoc;
  try
    for i := Low(Zahlen) to High(Zahlen) do
      begin
        R := Rect(250,oben,1000,oben + Printer.Canvas.TextHeight('X') + 5);
        DrawText(Printer.Canvas.Handle,
                 PChar(Format('%.2f',[Zahlen[i]])),
                 -1,
                 R,
                 DT_SINGLELINE or DT_RIGHT);
        inc(oben,R.Bottom - R.Top);
      end;
  finally
    Printer.EndDoc;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz