Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TStringList "Listindex überschreitet das Maximum" (https://www.delphipraxis.net/120890-tstringlist-listindex-ueberschreitet-das-maximum.html)

Zioone 18. Sep 2008 12:31


TStringList "Listindex überschreitet das Maximum"
 
hallo, ich habe da ein Problem
und zwar habe ich in meinem Programm eine Suche.
Delphi-Quellcode:
for ii := 0 to Foriginal.Count-1 do
      begin
        ss := Foriginal.Strings[ii];

             if cb_negate.Checked=false then
             begin
               if Pos( LowerCase( Edit1.Text ), LowerCase( ss ) ) > 0 then
               begin
                 if Pos( LowerCase( Edit2.Text ), LowerCase( ss ) ) > 0 then
                 begin
                 i3:=i3+1;
                   search_add(ss,ii);
                 end;

                 if Edit2.Text = '' then
                 begin
                   i3:=i3+1;
                   search_add(ss,ii);
                 end;
               end;
             end
usw. ist jetzt nicht komplett aber ist auch nicht wichtig bzw das Problem.

ich gehe ja dann in die Prozedur "Search_Add"
dort wird dann das ergebnis in das Memo feld geschrieben.
So nun möchte ich aber das Suchergebnis zwischenspeichern in einen weiteren TSTRINGLIST

Delphi-Quellcode:
procedure TfrmLogView.search_add(ss: String; ii: Integer);
begin
  mmoLines.Lines.Add( ss );

  FSelect.Strings[i3]:=ss;

end;
aber da bringt er die Fehler meldung "Listindex überschreitet das Maximum"
und ich weiß nicht so recht warum.
i3 ist übirgens gloabal(ich weiß das nicht so gut aber hab auch keine rechte idee dafür um es besser zu machen)

über eine Idee, oder hilfe wäre ich echt danlkbar weil ich keine Idee mehr habe..

DeddyH 18. Sep 2008 12:37

Re: TStringList "Listindex überschreitet das Maximum&am
 
Deine Stringlist hat einfach nicht genug Zeilen (also weniger als i3 + 1).

HenKst 18. Sep 2008 12:37

Re: TStringList "Listindex überschreitet das Maximum&am
 
Was ist denn i3 an der stelle und Was steht in FSelect.Strings ?
Klingt so als wäre FSelect.Strings.count kleiner als i3+1. Das lässt sich ja leicht abfangen.

Und wenns kleiner ist machst du halt statdessen FSelect.Strings.add

Das ist allerdings keine garantie dafür, dass der neue string dann auf dem index i3 steht.
Wie du das verwaltest musst du dir dann wohl noch überlegen ;)

Zioone 18. Sep 2008 12:42

Re: TStringList "Listindex überschreitet das Maximum&am
 
oh
i3 wird bei jeder neuen suche auf -1 gesetzt sprich wenn er search_add aufruft hat er beim ersten mal 0.

FSelect.Strings.add funtkioniert nicht, er erwartet ein "["

und FSelect.Strings.count kann ja auch noch nichts haben da ich ja erst angelegt habe und es ihm was zuweißen will.
"ss" ist übirgens ein string, wie wohl schon mitbekommen wurde.^^
aber wenn der zu wenige zeilen hat, wie bekomm ich das dann aber hin das er das nicht hat?

danke schon mal für die antworten

DeddyH 18. Sep 2008 12:44

Re: TStringList "Listindex überschreitet das Maximum&am
 
FSelect ist vom Typ TStringlist? Dann muss ein Add() aber gehen.

Zioone 18. Sep 2008 12:46

Re: TStringList "Listindex überschreitet das Maximum&am
 
jup ist vom Typ StringList

aber er sagt mir, wie gesagt "[Fehler] dLogView.pas(626): '[' erwartet, aber '.' gefunden"

EDIT:
ah FSelect.Add(ss); geht

aber wann löscht er dann da wieder die Sachen raus?
wäre das dann nicht das er jede weitere Suche das da hinzufügt?

mkinzler 18. Sep 2008 12:49

Re: TStringList "Listindex überschreitet das Maximum&am
 
FSElect scheint eher ein Array zu sein

HenKst 18. Sep 2008 12:49

Re: TStringList "Listindex überschreitet das Maximum&am
 
achso Fselect ist die stringlist
Sry mein Fehler

Dann muss es FSelect.add heissen, nicht Fselect.strings.add
Und auch FSelect.Count

Zioone 18. Sep 2008 12:57

Re: TStringList "Listindex überschreitet das Maximum&am
 
Cool, danke scheint zu funtkionieren^^

warum das mit dem Strings so nicht funktionierte weiß ich zwar immer noch nicht aber ist ja egal *gg*

HenKst 18. Sep 2008 13:08

Re: TStringList "Listindex überschreitet das Maximum&am
 
Weil strings eine ArrayProperty ist die auf einen array von strings zugreift.
Bzw eigentlich auf einen array von records, aber die property gibt nur strings zurück.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.
Seite 1 von 3  1 23      

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