Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listbox Items auf eine Länge bringen (https://www.delphipraxis.net/59131-listbox-items-auf-eine-laenge-bringen.html)

xe0n 17. Dez 2005 20:54


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:
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);
hier mein erbärmlicher versuch der scheiterte , ja ihr werdet zwar lachen aber jeder musst mal anfangen.

ich hoffe ihr koennt mir helfen

mfg Xe0n

tomsel 17. Dez 2005 21:01

Re: Listbox Items auf eine Länge bringen
 
Delphi-Quellcode:
listbox1.Items[i] := copy(listbox1.Items[i], 1, iLaenge);

marabu 17. Dez 2005 21:08

Re: Listbox Items auf eine Länge bringen
 
Und falls mal einer der Strings zu kurz ist hilft vielleicht das:

Delphi-Quellcode:
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;
Grüße vom marabu

leddl 17. Dez 2005 21:16

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 13:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz