Texte formatieren bei Ausgabe in ASCII

Hallo
habe mal wieder ein grundlegendes Problem entdeckt.
Vielleicht kennt es jmd, früher gabs in Basic den Schablone-Befehl,
mit welchem man seine Daten bequem in eine Ascii-Datei spielen kann.
Das ganze ist schön strukturiert und die Punkte von Zahlen stehen alle an der gleichen Stelle untereinander.

Tja das ganze muß doch in VB auch irgendwie gehen ohne in jeder zeile immer Leerstellen füllen zu müssen.

Leider wusste ich kein Stichwort, wie man das bezeichnet, sonst hätt ich mal im Internet gesucht bzw. was gefunden.

Mein Basic-Beispiel sieht folgendermassen aus:
schablone$ = „####\ ####\#######.###\#######.###\ ####\#######.###\#######.###“

Print #1, USING; schablone$; Z6%; pr3$; PK#(V + Z2, 0); pr3$; PK#(V + Z2, 1); pr3$; PK#(V + Z2, 2); pr3$; PT#(V + Z2 * 2, 0); pr3$; PT#(V + 2 * Z2, 1); pr3$; PT#(V + 2 * Z2, 2)

Dabei definieren die # die Anzahl der Zeichen, der Punkt die Lage des Punktes der Zahl, die \ trennt die Variablen voneiander.

Tja wie sieht das in VB aus.

Mfg Werner

Hallo Werner,

Tja wie sieht das in VB aus.

IMHO etwas komplizierter. :smile:

So sieht das Ergebnis so aus wie bei Dir:

Private Sub Command1\_Click()
 a = 5
 b = 6
 c = 7
 st = Format(a, "0##.00") & " " & \_
 Format(b, "0###") & " " & \_
 Format(c, "0#,###.000")
 Me.Print st
End Sub

Ob das noch anders geht, weiß ich nicht.

Gruß Rainer
PS. Rest am WE. :smile: OK?

Total besch…
Hallo
naja die Funktion habe ich nun ma getestet, das Ergebnis ist allerdings sehr bescheiden. Das gute alte Basic.

Nunja Zeileweise geht das irgendwie gar nicht so richtig, glaub ich.
Jedenfalls hängt es immer von der Länge des Strings oder der Zahl ab, wo das Komma landet, daher muß ich den String nach der Formatierung noch mit Leerzeichen auffüllen.

Insgesamt also wieder viele Zeilen Code, aber dafür geht das ja in VB alles. Obwohl ich das auch schon hatte, das der Code der Prozedur zu groß war.

Mfg Werner