Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Stringlänge in einem Listbox-Eintrag (https://www.delphipraxis.net/46531-stringlaenge-einem-listbox-eintrag.html)

Ramone 26. Mai 2005 17:01


Stringlänge in einem Listbox-Eintrag
 
Hallo,
habe die Suche schon benutzt, jedoch nichts gefunden. Hätte da zwei Fragen:
1. Ich möchte die Länge des längsten Eintrags in einer Listbox ermitteln und habe es mit dem diesem Code versucht, bekomme aber eine "Debugger exception notification" Meldung.
Delphi-Quellcode:
For i:=0 to FileListBox1.Items.Count do
begin
If Length(FileListBox1.Items[j]) > x
  then
    begin
      j := j +1;
      x := l;
    end
  else
    j := j+1;
end;
Was muss daran geändert werden, ich vermute es liegt an Length(FileListBox1.Items[j]) oder?

2. Dann würde ich gern wissen warum ich folgende Fehlermeldung kriege:
Zitat:

[Warning] Unit1.pas(7): Unit 'FileCtrl' is specific to a platform
Das FileCtrl brauche ich ja, wenn ich mit Listboxen arbeite. Durch diesen Fehler kann auch die Hilfe während dem Schreiben nicht angezeigt werden.

Vielen Danke im Voraus!

Gruß

Aenogym 26. Mai 2005 17:15

Re: Stringlänge in einem Listbox-Eintrag
 
hi und herzlich willkommen in der DelphiPraxis :hi:

versuch's mal so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, temp: integer;
begin
  for i := 0 to listbox1.items.count-1 do
  begin
    if length(listbox1.items[i]) > temp then
      temp := length(listbox1.items[i]);
  end;

  //länge des längsten eintrages anzeigen
  showmessage(inttostr(temp));
end;
edit: und wegen der warnung: du wirst dne code in kylix nicht kompilieren können. dafür solltest du die unit "QStdCtrls" einbinden, die läuft bei beiden compilern (delphi und kylix).

aenogym

Ramone 26. Mai 2005 17:31

Re: Stringlänge in einem Listbox-Eintrag
 
Danke für die schnelle Antwort! Hat funktioniert. :thumb:

Das Problem mit der Hilfe hab ich so gelöst indem ich unter Project/Options/Compiler Warnings das Kästchen bei "Symbol Platform" deaktiviert habe. Mit Einbinden der "QStdCtrls" hat es bei mir nicht funktioniert.

Aenogym 26. Mai 2005 18:08

Re: Stringlänge in einem Listbox-Eintrag
 
Zitat:

Zitat von Ramone
Danke für die schnelle Antwort! Hat funktioniert. :thumb:

schön zu hören :)

Zitat:

Zitat von Ramone
Das Problem mit der Hilfe hab ich so gelöst indem ich unter Project/Options/Compiler Warnings das Kästchen bei "Symbol Platform" deaktiviert habe. Mit Einbinden der "QStdCtrls" hat es bei mir nicht funktioniert.

das ganze bezieht sich auf die CLX-steuerelemente. wenn du ein CLX-projekt (lässt sich, fast ohne änderungen am code, für linux und für windows kompilieren) erstellst, findest du die deklaration für eine cross-platform-listbox in dieser unit. der von dir angesprochene fehler warnt, dass du eine unit verwendest, die nur für ein bestimmtes betriebssystem ausgelegt ist (in deinem falle windows) und tritt nur auf, wenn du an einem CLX-projekt arbietst.

aenogym


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