Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#13

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

  Alt 18. Nov 2012, 10:18
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)
Danke für die Erklärung - irgendwie ist die Hilfe da nicht so präzise

Aber was soll eigentlich ein Argumentfehler sein?
Ok - das war etwas laienhaft ausgedrückt.



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);
Ja und Nein! - Ich gib gern Längen nur einmal an. Wenn ich die Länge dann verändere, verändert sich automatisch alles mit.
(Ok - da es hier genau 40 sind, hätte man auch 40 reinschreiben können)

3 + 1 + 28 + 1 + 5 = 38
In #1 hatte ich 29 ausgerechnet, aber auch das reicht noch nicht.
Ich muss gestehen - ich hab mich selbst verhaut - ich bin auch auf weniger Stellen gekommen, als ich wollte.
Habs dann erst bemerkt, als ich den String an ein LCD-Modul gesendet hatte (daher auch die 40 = max. Zeichen pro Zeile)
(Man sollte so spät nicht mehr rechnen)

Ach ja, du kannst deine Variable "Länge" jetzt auch S_Länge nennen.
Das ist mir bekannt - aber ich kann mich damit nicht anfreunden - ich bleib lieber bei ae, ue oder oe

Und wieso sind Linie und Länge eigentlich keine Integer?
"Linie" und "Länge" werden aus einer StringGrid-Zeile gelesen. Daher der String.
Da ich es weiter dann auch als String benötige, wandle ich es nicht unnötigerweise erst in einen Integer.

Auserdem ist Linie keine Zahl - sondern eine Linien-Angabe einer U-Bahn
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat