![]() |
String in einer bestimmten Länge halten.
Hallo Alle!
Wie kann man einen String auf einer bestimmten Länge halten. Der String soll 20 Buchstaben lang sein. Wenn es zu klein ist, soll er mit Lehrzeichen aufgefüllt werden und wenn er zu groß ist, soll er abgeschnitten werden. In der Delphi-Hilfe habe ich keine Routine gefunden. |
AW: String in einer bestimmten Länge halten.
Selber schreiben.
Aber was sind Lehrzeichen? Zeichen von einem Lehrer an der Tafel? |
AW: String in einer bestimmten Länge halten.
Auffüllen kann man auch mit
![]() billig und unoptimal
Delphi-Quellcode:
einfach
while Length(s) > 20 do Delete(s, Length(s), 1);
while Length(s) < 20 do s := s + ' ';
Delphi-Quellcode:
hübsch
s := Copy(s + ' <<hier die 20 Leerzeichen - leider vernichtet die DP Mehrfachleerzeichen>> ', 1, 20);
.
Delphi-Quellcode:
if Length(s) < 20 then s := s + StringOfChar(' ', 20 - Length(s))
else if Length(s) > 20 then s := Copy(s, 1, 20); |
AW: String in einer bestimmten Länge halten.
An den String 20 Leerzeichen dranhängen und vom Ergebnis immer nur die ersten 20 Zeichen nehmen?
|
AW: String in einer bestimmten Länge halten.
Zitat:
|
AW: String in einer bestimmten Länge halten.
Ich hätte auch noch einen Vorschlag:
Delphi-Quellcode:
uses math;
function StringOfLength(const s: string; Len: Cardinal; CharToFill: Char = #32): string; var i: integer; begin Result := StringOfChar(CharToFill,Len); for i := 1 to Min(Len, Length(s)) do Result[i] := s[i]; end; |
AW: String in einer bestimmten Länge halten.
Vielen Dank, an Euch Alle. Da fällt die Entscheidung schwer was man nehmen soll.
|
AW: String in einer bestimmten Länge halten.
Naja, wenn es sich um eine Hausaufgabe handelt, würde ich an Deiner Stelle das nehmen, was ich am ehesten verstehe und auch erklären kann ;)
|
AW: String in einer bestimmten Länge halten.
Oder hier als kurzer Einzeiler:
Delphi-Quellcode:
Das Minus kann man weglassen, in dem Fall wird der String rechtsbündig ausgerichtet.
S := Format('%-20.20s', [S])
|
AW: String in einer bestimmten Länge halten.
Damit werden zu lange Strings aber nicht abgeschnitten.
|
AW: String in einer bestimmten Länge halten.
@NamenLozer
gefällt mir am besten...:thumb: |
AW: String in einer bestimmten Länge halten.
Zitat:
Delphi-Quellcode:
S := Format('%-20.20s', [S])
|
AW: String in einer bestimmten Länge halten.
Jepp, Format hate himitsu ja bereits erwähnt, dafür ist meine Variante flexibler, was das Füllzeichen angeht. Nun kommt es darauf an, was der Lehrer erwartet hat :D
|
AW: String in einer bestimmten Länge halten.
Dann sorgt man halt anschlieessend dafür (Copy() o.ä)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz