![]() |
Listbox Items auf eine Länge bringen
hi
ich hab ein Prob. und zwar hab ich ne listbox wo einträge drin stehen. 123456789 abcdefghi ABCDEFGHI usw... die sollen jetzt alles auf eine bestimmte zeichenlänge gebracht werden. Da ich selbst noch anfänger binn muss ich euch mal fragen :-D.
Delphi-Quellcode:
hier mein erbärmlicher versuch der scheiterte , ja ihr werdet zwar lachen aber jeder musst mal anfangen.
var
a:string; i:integer; begin i:=0; for i := 0 to 4 do a:=listbox1.Items[i].Text SetLength(a,5); Listbox1.Items[i].Add(a); ich hoffe ihr koennt mir helfen mfg Xe0n |
Re: Listbox Items auf eine Länge bringen
Delphi-Quellcode:
listbox1.Items[i] := copy(listbox1.Items[i], 1, iLaenge);
|
Re: Listbox Items auf eine Länge bringen
Und falls mal einer der Strings zu kurz ist hilft vielleicht das:
Delphi-Quellcode:
Grüße vom marabu
function RightPad(s: string; padChar: char; size: byte): string;
begin if Length(s) < size then Result := s + StringOfChar(padChar, size - Length(s)) else Result := s; end; |
Re: Listbox Items auf eine Länge bringen
Dein erster Fehler ist, daß du in der For-Schleife kein Begin..End setzt. Dadurch wird bei jedem Schleifendurchlauf nur der erste Befehl ausgeführt. a wird also immer wieder neu zugewiesen, ohne daß etwas damit passiert. Erst das letzte Element wird dann gekürzt.
Dein zweiter Fehler ist, daß du das gekürzte Element der ListBox neu (also am Ende) hinzufügst, anstatt das alte zu ersetzen. Das i := 0 vor der Schleife brauchst du auch nicht, das wird ja in der Schleife schon gesetzt. Und auf die Text-Eigenschaft der Items brauchst du auch nicht zugreifen, Items[i] reicht ;) Und den nötigen Code hat dir tomsel schon gegeben. ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 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