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
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