vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Suche Visual-Basic Code
Rechtsbündige Zahlenausgabe -VB6 
Autor: ingu
Datum: 03.03.07 18:32

Es sieht unschön aus, wenn in einer mehrzeiligen Ausgabe die Kommata nicht exakt untereinanderstehen.
Das nachfolgende Beispiel zeigt, wie eine rechtsbündige Zahlenausgabe sowohl bei proportialen als auch bei nichtproportialen Schriften unter Anwendung von zwei Funktionen realisiert werden kann.
Um dieses Beispiel auszuprobieren, fügen Sie den Code in den Deklarationsabschnitt eines Formulars mit den folgenden Steuerelementen ein: ein Befehlsschaltfläche-Steuerelement (CommandButton), zwei Textfelder Text1 und Text2 und ein Standarddialog-Steuerelement (CommonDialog).
In den Deklariationsabschnitt eines Moduls (Module1.bas) kopieren Sie die beiden Funktionen RBT und RBC. (RBT steht symbolisch für „Rechtsbündig Times New Roman“ und RBC für „Rechtsbündig Courier New"

Module1.bas[u]
Option Explicit
Dim text
Function RBT(ZVT As Variant, Zahlenbreite As Integer) As String
RBT = String(Zahlenbreite + (Zahlenbreite - Len((ZVT)) - 1), "@")
End Function
Function RBC(PVC As Variant, Zahlenbreite As Integer) As String
text = " " '9 Leerzeichen[color=black]
RBC = String(Zahlenbreite + (Zahlenbreite - Len(text) - 1), "@")
End Function
[color=green]
'Len(text) ist immer '9' (in diesem Beispiel)
'Bei "längeren" Zahlen muss bei der Funktion RBC der text erhöht werden (z. B. auf 12)
'Unter „Drucken muss dann stehen:
'Format(ZFZahla, RBT(ZFZahla, 12))
'Format(ZFZahla, RBT(ZFZahlb, 12))
'Format(ZFZahla, RBC(ZFZahla, 12))
'Format(ZFZahla, RBC(ZFZahlb, 12))
[color=black]

Formular[u]
Option Explicit
Dim P, ZFZahla, ZFZahlb
Private Sub Form_Load()
'Zahlen für Testausdruck
Text1 = 1234.54321
Text2 = 5.34
End Sub

Private Sub Druckdaten()[color=green]
'Umwandlung Zahl in String
'CStr-Funktion (Beispiel)
'In diesem Beispiel wird die CStr-Funktion verwendet, um
'einen numerischen Wert in den Typ String umzuwandeln.
'TestDouble = 437.324 TestDouble hat den Typ Double.
'TestString = CStr(TestDouble) TestString enthält "437,324".
[color=black]
ZFZahla = CStr(Format(Text1, "0.00")): ZFZahlb = CStr(Format(Text2, "0.00"))
[color=green]
'Text1 und Text2 dienen hier nur als Beispiel. Für den rechtsbündigen Ausdruck
werden gleiche Formate vorausgesetz (Anzahl der Nachkommastellen).
'Für Text1 und Text2 könnten auch Ergebnisse mathematischer Operationen stehen.
'Zahla = c * d
'Zahlb = cdbl(e) + cdbl(f)[color=black]
End Sub

Private Sub Command1_Click()
Druckdaten
Set P = Printer
Dim BeginPage, EndPage, NumCopies, Orientation, i, a, b
cdlDateiDrucken.CancelError = True
On Error GoTo ErrHandler
NumCopies = cdlDateiDrucken.Copies
cdlDateiDrucken.ShowPrinter
BeginPage = cdlDateiDrucken.FromPage
EndPage = cdlDateiDrucken.ToPage
Orientation = cdlDateiDrucken.Orientation
'-----------------------------------------
P.Orientation = vbPRORPortrait 'Hochformat[color=black]
P.FontName = "Times New Roman" 'Schriftart[color=black]
P.FontSize = 8 'Schriftgrad[color=black]
P.CurrentY = 1800: P.CurrentX = 3000: P.Print "Rechtbündige Zahlenausausgabe - Times New Roman"
P.CurrentY = 2000: P.CurrentX = 3000: P.Print Format(ZFZahla, RBT(ZFZahla, 9))
P.CurrentY = 2200: P.CurrentX = 3000: P.Print Format(ZFZahlb, RBT(ZFZahlb, 9))
P.CurrentY = 2400: P.CurrentX = 3000: P.Print "Zahlenausausgabe - Times New Roman – ohne Funktion"
P.CurrentY = 2600: P.CurrentX = 3000: P.Print Text1
P.CurrentY = 2800: P.CurrentX = 3000: P.Print Text2
P.CurrentY = 3100: P.CurrentX = 3000: P.Print "---------------------------------------------"
P.FontName = "Courier New"
P.CurrentY = 3400: P.CurrentX = 3000: P.Print "Rechtbündige Zahlenausausgabe - Courier New"
P.CurrentY = 3600: P.CurrentX = 3000: P.Print Format(ZFZahla, RBC(ZFZahla, 9))
P.CurrentY = 3800: P.CurrentX = 3000: P.Print Format(ZFZahlb, RBC(ZFZahlb, 9))
P.EndDoc
ErrHandler:
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Rechtsbündige Zahlenausgabe -VB61.439ingu03.03.07 18:32
Re: Rechtsbündige Zahlenausgabe -VB6777skydeck23.03.07 15:50

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel