Delphi-PRAXiS
Seite 2 von 3     12 3      

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)

nahpets 18. Sep 2008 13:16

Re: TStringList "Listindex überschreitet das Maximum&am
 
Hallo,
Zitat:

Zitat von Zioone
Cool, danke scheint zu funtkionieren^^

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


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

  FSelect.Strings[i3]:=ss;

end;
Du kommst mit ii in die Procezure rein, benutzt aber eine globales i3 als Index, warum soll das immer funktionieren, nimm mal ii.

Delphi-Quellcode:
FSelect.Strings[ii]:=ss;
Stephan

Zioone 18. Sep 2008 13:23

Re: TStringList "Listindex überschreitet das Maximum&am
 
ii, hatte ich auch schon ganz am anfang probier gehabt. aber ii gibt ja nur die zeile die was gefunden hat zurück. dann würde er ja in zeile zb: 1,5,7 schreiben weil er da überall was gefunden hatte oder lieg ich da falsch?!

aber nächste PRoblem:

lass mir jetzt das Such ergebnis ausgeben, so weit wunderbar.
dann kann man eine Checkbox aktivieren in der man sagt das man in dem gefilteren bereich suchen möchte.
so
jetzt hab ich folgendes geändert:
Delphi-Quellcode:
for ii := 0 to Foriginal.Count-1 do
begin
  if cb_search.Checked=true then
  begin
    ss:=FSelect.Strings[ii];
  end
  else
  begin
    ss:=Foriginal.Strings[ii];
  end;
wie unschwer zu erkennen sein sollte, prüf ich hier ob der button gedrückt wurde, dann soll er aus FSelect das in ss reinkopieren und wenn nicht eben aus dem orignal text.
so bringt mir aber eine Fehlermeldung. also gleich wie eh un je "Listindex überschreitet Maximum"
aber da steht eindeutig was drin, sonst könnte er mir nichts ausgeben :wall:
versteh das nicht warum der da fehler bringt...

DeddyH 18. Sep 2008 13:24

Re: TStringList "Listindex überschreitet das Maximum&am
 
Wahrscheinlich hat FOriginal mehr Zeilen als FSelect.

Zioone 18. Sep 2008 13:27

Re: TStringList "Listindex überschreitet das Maximum&am
 
hm ja
aber wie kann ich das dann lösen? also wegen der FOR schleife? oder könnt ich dann irgendwie die schleife vorzeigt abbrechen wenn er das maximum erreicht hat?

DeddyH 18. Sep 2008 13:31

Re: TStringList "Listindex überschreitet das Maximum&am
 
Ich verstehe den Sinn der Schleife noch nicht. Da wird ständig ss überschrieben, also könntest Du auch gleich das letzte Element zurückgeben.

Zioone 18. Sep 2008 13:34

Re: TStringList "Listindex überschreitet das Maximum&am
 
für meine Suche vergleich ich ja auch nur "ss", deswegen soll es ja auch überschrieben werden.
Also nutzt mir das letzte Element auch nichts :gruebel:

DeddyH 18. Sep 2008 13:35

Re: TStringList "Listindex überschreitet das Maximum&am
 
Erklär doch nochmal, was Du vorhast.

HenKst 18. Sep 2008 13:46

Re: TStringList "Listindex überschreitet das Maximum&am
 
Also ich habs jetzt folgendermaßen verstanden:
Du willst wissen welche zeile in FOriginal die Texte in deinen beiden Memos enthällt, und diese Zeile dann in FSelect schreiben.

Willst du die da an einer bestimmten stelle stehen haben oder einfach hinten dran hängen?
Dann sollte es mit .add klappen.

Warum du jetzt allerdings auch in FSelect nach den Edtits suchst ist mir nicht klar.

Zioone 18. Sep 2008 13:50

Re: TStringList "Listindex überschreitet das Maximum&am
 
@Henkst: nicht ganz

Also:
mein PRogramm hat u.a. eine Suche.
Zuvor lade ich über OPendialog in die Stringlist FOriginal die zeilen.
so nun kann ich da fein suchen, funktioniert auch alles wunderbar in Edit1 oder/und edit2.
Um alle Zeilen durchzugehen ist diese FOR schleife, soll sie zumindestens.
Zwischengespeichert wird das ganze ja jetzt in Fselect.
dann gibt es noch ein checkbutton, den man anklicken kann und somit sagt das er die suche nicht in Foriginal starten soll sondern das ganze mit FSelect. also schon in dem gefiltertem und nicht in dem ganzen.

hoffe das reicht als Erklärung^^

ich habe nur ein Memofeld ;)

HenKst 18. Sep 2008 13:54

Re: TStringList "Listindex überschreitet das Maximum&am
 
aachsoo ;)

folgende Anregung
Delphi-Quellcode:
if cb_search.Checked then begin
  for ii := 0 to Foriginal.Count-1 do begin
    machwas mit der grossen liste
  end;
 end else begin
  for ii := 0 to Fselect.Count-1 do begin
    mach was mit der kleinen liste
  end;
end;
wenn die checkbox gechecht ist durchsucht das die FOriginal liste, wenn nicht die FSelect liste.
Zwei Schleifen sind zwar mehr code aber einfacher zu debugen ;)

€dit
Okay "=true" is raus^^

nochn €dit
hast recht DaddyH
ne Unterprozedur der du die entsprechende Liste übergibst wäre noch schöner


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 Uhr.
Seite 2 von 3     12 3      

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