result := Format('%-3.3s %-28.28s %-5.5s', [S_Linie, S_Ziel, S_Laenge]);
Für Strings (%s) :
- = Linkbündig
*. = Minimallänge (aufgefüllt mit Leerzeichen)
.* = Maximallänge (mehr wird abgeschnitten)
Aber was soll eigentlich ein Argumentfehler sein?
Zitat:
Delphi-Quellcode:
SetLength(S_Text, 40);
S_Text := StringOfChar(#32, length(S_Text));
Das ist ein klein bissl sinnlos/doppeltgemoppelt.
S_Text := StringOfChar(#32, 40);
Aber nur noch was zum Prinzipiellen:
Falls S_Linie und Co. auch länger sein können, als du es haben sillst, dann jeweils
S_Linie
gegen
Copy(S_Linie, 1, 3)
, bzw.
LeftStr(S_Linie, 3)
austauschen.
Delphi-Quellcode:
S := S_Linie + StringOfChar(' ', 4 - Length(S_Linie))
+ S_Ziel + StringOfChar(' ', 28{30?} - Length(S_Ziel))
+ S_Laenge + StringOfChar(' ', 5 - Length(S_Laenge));
PS: In deinem Post #1 kann ich nicht erkennen, was in Stelle 34 rein soll.
3 + 1 + 28 + 1 + 5 = 38
In #1 hatte ich 29 ausgerechnet, aber auch das reicht noch nicht.
Ach ja, du kannst deine Variable "Länge" jetzt auch
S_Länge
nennen.
Und wieso sind Linie und Länge eigentlich keine Integer?