Rechtsbündig drucken mit VB6

Wie kann ich mit VB6 mehrere verschiedene Zahlen so untereinander
drucken, dass sie alle rechtsbündig sind - d.h. die Kommata aller
Zahlen untereinander stehen?

Mit freundlichen Grüssen

Samuel

Team: Name entfernt

Das ist nicht trivial. Aber ich geb dir ein paar Stichworte:

printer.currentx, printer.currenty, textwidth(string)

cu, holli

Hi Samuel!

Vielleicht reicht schon diese sehr einfache Lösung:

Printer.FontName = „Courier New“ 'Nicht-Proportionalschrift

cZahl = Format$(dDruckZahl1, „###,###,##0.00“)
Printer.Print Space$(14 - Len(cZahl)) & cZahl

cZahl = Format$(dDruckZahl2, „###,###,##0.00“)
Printer.Print Space$(14 - Len(cZahl)) & cZahl

cZahl = Format$(dDruckZahl3, „###,###,##0.00“)
Printer.Print Space$(14 - Len(cZahl)) & cZahl

Printer.EndDoc

Erläuterung:
cZahl ist eine Variable vom Typ String
dDruckZahl1, dDruckZahl2, dDruckZahl3 sind jeweils Doubles

Zunächst wird dem Drucker eine Nicht-Proportional-Schrift zugewiesen, da sonst bei Proportionalschriften das Komma „flattert“. Die zu druckende Zahl wird in einen String umformatiert (hier mit 2 Nachkommastellen und Tausender-Trennpunkt). Dem String cZahl werden je nach Ziffernzahl so viele Spaces vorangestellt, daß sich immer 14 Zeichen im String befinden (rechtsbündige Darstellung der Zahl).
Damit sollte dein Problem gelöst sein.

Zu überlegen wäre noch, anstatt drei (oder mehr) Variablen für die zu druckende Zahlenwerte ein Array zu nehmen,z.B. dDruckZahl(1 To 20) und die Werte per Schleife an das Printer-Objekt zu schicken.

Gruß
Siegfried