Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi weitersuchen funktion wenn " nicht gefunden" (https://www.delphipraxis.net/71526-weitersuchen-funktion-wenn-nicht-gefunden.html)

willey 16. Jun 2006 11:10


weitersuchen funktion wenn " nicht gefunden"
 
Hallo...

ich habe eine normale Suchen funktion für eine listbox geschrieben... komme jetzt aber nicht weiter... wenn die suche kein ergebnis liefert soll eine eine weitersuchen funktion gestartet werden, sodass man seine suche mit anderen begriffen weiterführen kann...


procedure TForm1.SuchenClick(Sender: TObject);
var i: Integer;
Gefunden: Boolean;
Suchwort: string;

begin
Suchwort:=InputBox('Suchen nach einem Merkmal', 'Wonach soll gesucht werden?','');
if Suchwort<>''then
begin
Gefunden:=false;
i:=-1;
while (i<Listbox1.Items.Count-1) and not gefunden do
begin
Inc(i);
if Pos(Suchwort,ListBox1.Items[i])>0 then Gefunden:=True;
end;
if Gefunden
then ListBox1.ItemIndex:=i
else ShowMessage('Suchwort wurde nicht gefunden');
end;
end;

mkinzler 16. Jun 2006 11:12

Re: weitersuchen funktion wenn " nicht gefunden"
 
Und was willst du nun genau wissen?

willey 16. Jun 2006 11:17

Re: weitersuchen funktion wenn " nicht gefunden"
 
wie ich es schaffe das wenn das programm keinen passenden eintrag zur suche findet automatisch anbietet weiterzusuchen... also ohne halt das ich noch aufn button klicken muss


z.B. "es konnte kein ergebniss gefunden werden, geben sie weitere suchbegriffe ein!"

TBx 16. Jun 2006 11:26

Re: weitersuchen funktion wenn " nicht gefunden"
 
Hallo!

Versuchs mal so:

Delphi-Quellcode:
procedure TForm1.SuchenClick(Sender: TObject);
var
  i: Integer;
  Gefunden: Boolean;
  Suchwort: string;

begin
  Gefunden:=false;
  repeat
    Suchwort := InputBox('Suchen nach einem Merkmal',
                         'Wonach soll gesucht werden?','');
    if Suchwort <> '' then
    begin
      i:=-1;
      while (i<Listbox1.Items.Count-1) and not gefunden do
      begin
        Inc(i);
        if Pos(Suchwort,ListBox1.Items[i])>0 then Gefunden:=True;
      end;
      if Gefunden then
        ListBox1.ItemIndex:=i
      else
      begin
        ShowMessage('Suchwort wurde nicht gefunden');
        ListBox1.ItemIndex := -1;
      end
    end
    else break;
  until gefunden;
end;
Hope it helps

onlinekater

PS: Herzlich willkommen in der Delphi-Praxis!

[Edit] demarkieren des Listboxeintrages bei Mißerfolg hinzugefügt [/Edit]

willey 18. Jun 2006 19:06

Re: weitersuchen funktion wenn " nicht gefunden"
 
sry ich war übers we im urlaub... aber vielen vielen Dank.... das Funktioniert einwandfrei.. genauso wie ich das wollte *delphi praxis als favorit einfüg* ;)

moah nu bin ich happy ^^

du hast gerade aus einem 7 punkte programm die mir mein Lehrer geben wollte ein 14 punkte programm gemacht ^^ *freu*


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