Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Druck rechtsbündig (https://www.delphipraxis.net/150587-druck-rechtsbuendig.html)

khh 21. Apr 2010 11:15


Druck rechtsbündig
 
Hallo zusammen,
mit :
Delphi-Quellcode:
        fdruckzeile :=  Format('%5.3f ', [Fmenge]) ;
        Printer.Canvas.TextOut(frandlinks + cmtopixel(10.5,fdpih),frandoben + cmtopixel(zeile,fdpih) , fdruckzeile);
funktioniert auch einwandfrei.
Leider aber wird der Druck linksbündig ausgerichtet, was bei unterschiedlichen Weren besch... aussieht.
gibts ne _einfache_ Möglichkeit rechtsbündig zu drucken?


danke für eure Hilfe

Gruss KH

Luckie 21. Apr 2010 11:25

Re: Druck rechtsbündig
 
Guck dir mal die Methode Delphi-Referenz durchsuchenDrawText an.

himitsu 21. Apr 2010 12:09

Re: Druck rechtsbündig
 
Dein Code:
Delphi-Quellcode:
Printer.Canvas.TextOut(frandlinks + cmtopixel(10.5,fdpih),
                       frandoben + cmtopixel(zeile,fdpih),
                       fdruckzeile);
Mit Verschiebung:
Delphi-Quellcode:
Printer.Canvas.TextOut(frandlinks + cmtopixel(10.5,fdpih) - Printer.Canvas.TextWidth(fdruckzeile),
                       frandoben + cmtopixel(zeile,fdpih),
                       fdruckzeile);
Die Position ist von Links gemessen und der Text geht nacht rechts.
Soll jetzt aber die rechte Seite des Textes ausgerichtet werden, dann könnte man auch mit dieser rechten Seite rechnen. :stupid:

Reinhard Kern 21. Apr 2010 12:27

Re: Druck rechtsbündig
 
Zitat:

Zitat von khh
Leider aber wird der Druck linksbündig ausgerichtet, was bei unterschiedlichen Weren besch... aussieht.
gibts ne _einfache_ Möglichkeit rechtsbündig zu drucken?

Hallo,

gibt's eigentlich nicht, die übliche Lösung ist nicht rechtsbündiger Druck, sondern die Ausrichten in Spalten für Stückzahl, Bezeichnung usw. mit Tabs oder mit direkter Positionierung (Goto Spalte1, Drucke Anzahl, Goto Spalte2 ...).

Innerhalb der Spalten kann man dann noch links- (Text) oder rechtsbündig (Zahlen) drucken. Eine Excel-Tabelle ist eine gute Ausgangsbasis für Rechnungen.

Gruss Reinhard

khh 21. Apr 2010 12:33

Re: Druck rechtsbündig
 
Zitat:

Zitat von himitsu
Dein Code:
Delphi-Quellcode:
Printer.Canvas.TextOut(frandlinks + cmtopixel(10.5,fdpih),
                       frandoben + cmtopixel(zeile,fdpih),
                       fdruckzeile);
Mit Verschiebung:
Printer.Canvas.TextOut(frandlinks + cmtopixel(10.5,fdpih) - Printer.Canvas.TextWidth(fdruckzeile),
frandoben + cmtopixel(zeile,fdpih),
fdruckzeile);
Die Position ist von Links gemessen und der Text geht nacht rechts.
Soll jetzt aber die rechte Seite des Textes ausgerichtet werden, dann könnte man auch mit dieser rechten Seite rechne. :stupid:


super, einfache Lösung _funktioniert_

danke euch

Luckie 21. Apr 2010 12:45

Re: Druck rechtsbündig
 
Also ich fände DrawText mit den entsprechenden Flags einfacher.

DeddyH 21. Apr 2010 12:51

Re: Druck rechtsbündig
 
Ich auch, zumal ich bei eigener Berechnung schon kleinere Rundungsungenauigkeiten hatte, bei DrawText dagegen nicht. Aber jeder so, wie er will.

khh 21. Apr 2010 14:32

Re: Druck rechtsbündig
 
Zitat:

Zitat von Luckie
Also ich fände DrawText mit den entsprechenden Flags einfacher.

ich hab drawtext natürlich auch ausprobiert. die Bestückung des Trect mit den Koordinaten, erscheint mir aber schwieriger, da ich diese ja Zeile für Zeile ändern muss.
Oder seht Ihr das anders?

DeddyH 21. Apr 2010 14:51

Re: Druck rechtsbündig
 
Die Y-Koordinaten musst Du ja sowieso für jede Zeile ändern, von daher sehe ich da keinen großen Unterschied.

khh 21. Apr 2010 15:51

Re: Druck rechtsbündig
 
Zitat:

Zitat von DeddyH
Ich auch, zumal ich bei eigener Berechnung schon kleinere Rundungsungenauigkeiten hatte, bei DrawText dagegen nicht. Aber jeder so, wie er will.

welche Rundungsfehler sind da aufgetreten?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr.
Seite 1 von 2  1 2      

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