AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Vergleich von Edit und Listbox

Ein Thema von Rawsche · begonnen am 18. Jul 2018 · letzter Beitrag vom 19. Jul 2018
Antwort Antwort
Seite 1 von 3  1 23   
Rawsche

Registriert seit: 18. Jul 2018
16 Beiträge
 
#1

Vergleich von Edit und Listbox

  Alt 18. Jul 2018, 20:40
Delphi-Version: 5
Hi zusammen,

Ich bin Programmier-Einsteiger und hänge gerade an einem Problem.

Ich entwickle derzeit ein kleines Programm, welches auch eine Suchfunktion enthalten soll.

In einer Listbox werden pro Zeile Wörter aufgelistet, die irgendwie zusammengehören (z.B. "Zoo Tiere Eintrittskarten"). In der nächsten Zeile geht es dann um ein anderes Thema. (Ich hoffe, dass ihr versteht was ich meine.) Diese Zeilen werden dann Namen von .txt dateien werden (z.B. "Zoo Tiere Eintrittskarten.txt").

Nun möchte ich durch die Eingabe in ein Edit Schlagworte herraussuchen. Wenn ich mich also nicht mehr genau erinnere, wie eine Datei hieß, dann kann ich einfach nach einem Wort suchen (alos z.B. "Tiere") und die Zeile wird mir z.B. in einem Label angezeigt (z.B. "Schlagwort 'Tiere' befindet sich in der Zeile X mit dem Namen 'Zoo Tiere Eintrittskarten'. ").

Im Grunde soll die Suchfunktion also genau so funktionieren, wie die Suche im Windows-Explorer. Gibt es dafür eine einfache Standartfunktion?

Ich habe bereits versuch selber eine zuschreiben, in dem ich den Inhalt des Edits (also das Schlagwort) in Zeichen zerlegt habe. Diese wollte ich dann nachher mit den Zeichen in der Listbox vergleichen. Allerdings habe ich Probleme beim speichern der einzelnen Buchstaben gehabt. Ich habe es mit dynamsichen Arrays versucht (mir bisher unbekannt). Außerdem hat der Vergleich von Array und Listbox nicht hingehauen und nun bin ich völlig verwirrt.


Gibt es für mein Problem vielleicht eine einfach Funktion, die genau diese Suche über Zeichen übernimmt und mir dann die Zeilen ausgeben kann, in der sich die gefunden Wörter befinden? Habt ihr vielleicht alternative Ideen.


Ich hoffe, dass ich mich verständlich ausdrücken konnte und dass ich euch nicht nerve, weil es zu banal ist oder so...


Liebe Grüße und schonmal Dankeschön
Rawsche

Edit: Ich verwende glaube ich Lazarus IDE v1.8.4 . Weiß leider nicht, was das genau bedeutet und ob es euch hilft...
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.173 Beiträge
 
#2

AW: Vergleich von Edit und Listbox

  Alt 18. Jul 2018, 21:22
Ungetestet und nur aus dem Kopf. Aber so in etwa müsste es funktionieren. Natürlich muss alles an die eigenen Bedürfnisse angepasst werden.
Das hier soll nur zeigen wie es funktionieren kann.
Delphi-Quellcode:
var
 Suchwort: String;
 Gefunden: Boolean;
begin
 Gefunden := False;
 Suchwort := Edit1.Text;

 for i := 0 to ListBox1.Items.Count -1 do
  begin
   Gefunden := Pos(Suchwort, ListBox1.Items[i]) > 1);

   if Gefunden then
    begin
     Label1.Caption := 'Schlagwort "' + Suchwort + '" befindet sich in der Zeile (i + 1) mit dem Namen "' + ListBox1.Items[i] + '"';

     Break;
    end;
  end;
end;
  Mit Zitat antworten Zitat
Rawsche

Registriert seit: 18. Jul 2018
16 Beiträge
 
#3

AW: Vergleich von Edit und Listbox

  Alt 18. Jul 2018, 22:06
Danke erstmal.

Ich werde mich morgen mit der Funktion auseinandersetzten.
Gibt es eine Möglichkeit sie auch dafür kompatibel zumachen, dass ein Wort mehrmals vorkommt?
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.173 Beiträge
 
#4

AW: Vergleich von Edit und Listbox

  Alt 18. Jul 2018, 22:11
Wie genau meinst du das?
Pos() gibt die erste Position zurück, an der das Suchwort in der Zeichenkette gefunden wurde.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Vergleich von Edit und Listbox

  Alt 18. Jul 2018, 23:17
Du schenkst Dir das Break und gibst die gefudene Zeile in einem Memo aus.
(wäre eine Möglichkeit)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Rawsche

Registriert seit: 18. Jul 2018
16 Beiträge
 
#6

AW: Vergleich von Edit und Listbox

  Alt 19. Jul 2018, 10:51
Ich meine, dass es sein kann, dass Wörter mehrmals vorkommen. Die Prozedur sollte also alle Zeilen heraussuchen, in denen das Wort vorkommt und nicht nur die erste.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Vergleich von Edit und Listbox

  Alt 19. Jul 2018, 13:28
Delphi-Quellcode:
var
 Suchwort: String;
 Gefunden: Boolean;
begin
 Gefunden := False;
 Suchwort := Edit1.Text;

 for i := 0 to ListBox1.Items.Count -1 do
  begin
   Gefunden := Pos(Suchwort, ListBox1.Items[i]) > 1);

   if Gefunden then
    begin
     //Label1.Caption := 'Schlagwort "' + Suchwort + '" befindet sich in der Zeile (i + 1) mit dem Namen "' + ListBox1.Items[i] + '"';

     //Break;
    Memo1.Lines.Add('Schlagwort "' + Suchwort + '" befindet sich in der Zeile (i + 1) mit dem Namen "' + ListBox1.Items[i] + '"');

    end;
  end;
end;
@DieDolly
Wollte mich nicht mit Deinen Federn schmücken, aber so scheint es mir am einfachsten.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.173 Beiträge
 
#8

AW: Vergleich von Edit und Listbox

  Alt 19. Jul 2018, 13:30
Kein Problem. Aber du hast auch gleich einen meiner Fehler übernommen.

Korrekt
Memo1.Lines.Add('Schlagwort "' + Suchwort + '" befindet sich in der Zeile ' + IntToStr(i + 1) + ' mit dem Namen "' + ListBox1.Items[i] + '"');
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Vergleich von Edit und Listbox

  Alt 19. Jul 2018, 13:33

schlunzig

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Rawsche

Registriert seit: 18. Jul 2018
16 Beiträge
 
#10

AW: Vergleich von Edit und Listbox

  Alt 19. Jul 2018, 16:37
Vielen Dank für eure Hilfe. Ich habe noch einige kleine Sachen eingefügt und jetzt funktioniert alles genau so, wie ich mir das vorgestellt habe.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 05:52 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