Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.164 Beiträge
 
Delphi 12 Athens
 
#10

AW: mehrere Strings in einen String vereinen (mit fixer Länge + festen Positionen)

  Alt 18. Nov 2012, 02:17
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?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (18. Nov 2012 um 02:33 Uhr)
  Mit Zitat antworten Zitat