Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Länge eines Strings in der Listbox ermitteln (https://www.delphipraxis.net/36460-laenge-eines-strings-der-listbox-ermitteln.html)

Cyberbob_at_tot 20. Dez 2004 12:31


Länge eines Strings in der Listbox ermitteln
 
Hallo zusammen,
ich will gerne die maximale länge von Strings in einer Listbox ermitteln,
dazu fülle ich eine Variable mit dem Anfangswert, die Länge des ersten eintrags und beim zweiten durchlauf kontroliere ich ob die länge größer ist wenn ja ersetzen sonst nicht!

Nur es läuft nicht :(

Habe dieses in einer Schleife die die Listbox füllt, die anzahl der einträge sind immer unterschiedlich! Ich habe erkannt das er den Itemindext wärend der schleife nicht ändernt, kann das sein?

Delphi-Quellcode:
For l:= 0 to Listbox1.Itemindex+1 do begin
If max< Listbox1.Canvas.TextWidth(Listbox1.Items[Item[l]] Then Max:=Listbox1.Canvas.TextWitdh(Listbox1.Items[Item[l]];
end;
Leider nimmt er immer nur einen wert der aber nicht der größte ist!

Was meint ihr dazu ?

MFG
Cyberbob

Treffnix 20. Dez 2004 12:36

Re: Länge eines Strings in der Listbox ermitteln
 
Die Schleife ist falsch. ItemIndex ist der Index des derzeit ausgewählten Elements.
Die Schleife muss so aussehen, damit er alle Items durchläuft.

Delphi-Quellcode:
For l:= 0 to Listbox1.Items.Count -1 do begin

Cyberbob_at_tot 20. Dez 2004 12:47

Re: Länge eines Strings in der Listbox ermitteln
 
Jo besten dank! das war mein Fehler!

Sharky 20. Dez 2004 12:56

Re: Länge eines Strings in der Listbox ermitteln
 
Hai Cyberbob,

Zitat:

Zitat von Cyberbob_at_tot
...Habe dieses in einer Schleife die die Listbox füllt, ...

Warum durchläufst Du denn immer wieder die Schleife? Wenn Du es beim füllen machst reicht es doch den neuen Eintrag mit der Länge des grösten zu vergleichen.

Cyberbob_at_tot 21. Dez 2004 08:58

Re: Länge eines Strings in der Listbox ermitteln
 
Ja das Stimmt, ich lasse nun die Schleife einfügen erst durchlaufen und prüfe dann auf den größten! Funktioniert wunderbar!

Könnt euch ja mal das Programm wo ich das verwendet habe runterladen!

www.ChristianDannenberg.info

Telefonbuch V1.0


BESTEN DANK FÜR EURE HILFE

Luckie 21. Dez 2004 09:23

Re: Länge eines Strings in der Listbox ermitteln
 
Wo ist da die Listbox in dem Programm?

PS: Also ich finde es nicht gerade überragend. Von jemanden der eine Ausbildung im IT Bereich macht, erwarte ich eigentlich etwasmehr, auch wenn er Anfänger ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 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