AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox durchsuchen

Ein Thema von CorsaGsi16v · begonnen am 1. Mär 2006 · letzter Beitrag vom 1. Mär 2006
Antwort Antwort
CorsaGsi16v

Registriert seit: 23. Feb 2006
16 Beiträge
 
#1

Listbox durchsuchen

  Alt 1. Mär 2006, 18:34
Hallo,
wie ich die Listbox durchsuchen kann weiß ich:

Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var i, subStrPos : Integer;
begin
  i := 0; subStrPos := 0;
  while (i < ListBox2.Items.Count) and (subStrPos = 0) do
  begin
    subStrPos := Pos(Edit7.Text,ListBox2.Items[i]);
    if suBstrPos > 0 then
      ListBox2.ItemIndex := i;
    inc(i);
  end;

end;
Nur so springt er nur zum erstgefundenen Ergebnis wie kann ich durch einen weiteren Klick das nächste Object anzeigen lassen(da mehrere gleiche Elemente in der Listbox sind)?

Und wenn das letzte Objekt gefunden ist soll er wieder oben anfangen!?

MfG
Christian

Vielen Dank im vorraus!
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Listbox durchsuchen

  Alt 1. Mär 2006, 18:39
Zitat von CorsaGsi16v:
Hallo,
Nur so springt er nur zum erstgefundenen Ergebnis wie kann ich durch einen weiteren Klick das nächste Object anzeigen lassen(da mehrere gleiche Elemente in der Listbox sind)?

Und wenn das letzte Objekt gefunden ist soll er wieder oben anfangen!?
Hi,

fang bei der Suche nicht bei 0 an, sodern bei ItemIndex + 1. (du kannst dir natürlich auch die letzte Fundstelle in einer Variablen merken und dann bei letzteFundstelle+1 anfangen zu suchen)

Wenn die Suche bei Items.Count ohne Ergebnis angekommen ist, setze ItemIndex (oder die Variable) wieder auf 0 und suche dann weiter um wieder oben anzufangen (in einer boolean-Variablen kannst du dir merken ob du schon mal neu oben angefangen hast)

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
CorsaGsi16v

Registriert seit: 23. Feb 2006
16 Beiträge
 
#3

Re: Listbox durchsuchen

  Alt 1. Mär 2006, 18:41
ok das probiere ich gleich danke...
und wie könnte ich alles durchsuchen und alle ergebnisse auf einen ruck in ein Memo eintragen???

MfG
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Listbox durchsuchen

  Alt 1. Mär 2006, 18:46
Zitat von CorsaGsi16v:
ok das probiere ich gleich danke...
und wie könnte ich alles durchsuchen und alle ergebnisse auf einen ruck in ein Memo eintragen???
Jeweils wenn du etwas gefunden hast etwa so was machen:

 MeinMemo.Lines.Add(Listbox2.Items[ListBox2.ItemIndex]); (oder statt ItemIndex natürlich die Fundstellen-Variable ...)

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

Re: Listbox durchsuchen

  Alt 1. Mär 2006, 19:26
Wenn du nicht abbrechen willst, sobald was gefunden wurde, dann einfach das and (subStrPos = 0) aud der Abfrage in der While-Schleife entfernen.

Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var i: Integer;
begin
  i := 0;
  while i < ListBox2.Items.Count do
  begin
    if Pos(Edit7.Text, ListBox2.Items[i]) > 0 then
      MeinMemo.Lines.Add(Listbox2.Items[ListBox2.ItemIndex]);
    inc(i);
  end;
end;
Und mit 'ner For-Schleife siehst's bestimmt auch nicht schlecht aus ^_^
Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var i: Integer;
begin
  for i := 0 to ListBox2.Items.Count - 1 do
    if Pos(Edit7.Text, ListBox2.Items[i]) > 0then
      MeinMemo.Lines.Add(Listbox2.Items[ListBox2.ItemIndex]);
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 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