Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi herrausfinden ob wort aus listbox in memo existiert (https://www.delphipraxis.net/28890-herrausfinden-ob-wort-aus-listbox-memo-existiert.html)

ch33seburger 31. Aug 2004 23:40


herrausfinden ob wort aus listbox in memo existiert
 
hi..
Delphi-Quellcode:
For v:=0 to Listbox8.Items.count-1 do begin
if Pos(Listbox8.Items[v],Memo2.text) > 0 then begin
bla
end;
end;
dieser code will einfach nicht funktionieren.. es wird immer nur das erste wort in der listbox erkannt :(
aber warum nur das erste??
ich will doch das er alle wörter aus der listbox, die im memo existieren meldet ..

ich würde mich sehr über hilfe freuen.. danke schonmal

Luckie 31. Aug 2004 23:49

Re: herrausfinden ob wort aus listbox in memo existiert
 
Weil Delphi-Referenz durchsuchenpos eben nur das erste findet. Wenn du D7 hast dann kuck dir mal PosEx an oder such hier in der DP nach Hier im Forum suchenNextPos.

S2B 1. Sep 2004 00:04

Re: herrausfinden ob wort aus listbox in memo existiert
 
Gibt es da nicht ne einfachere Möglichkeit? Imho hat doch ein Wert, der nicht existiert, den Index -1. Da müsste sich was draus machen lassen! :cyclops:

ch33seburger 1. Sep 2004 00:09

Re: herrausfinden ob wort aus listbox in memo existiert
 
also mit dem posex kenn ich mich net aus :(
bin net wirklich so erfahren mit delphi

wäre es denn nicht auch mit
Delphi-Quellcode:
if listbox8.items.indexof(memo2.text) > 0 then begin
irgendwie möglich?

himitsu 1. Sep 2004 00:17

Re: herrausfinden ob wort aus listbox in memo existiert
 
Also damit wird es nicht gehn, da dieses ja prüft, ob der gesamte Text des Memos in einem der ListBox-Items drin ist, was wohl nie der Fall sein wird.

So könnte es aber hinhaun:
Delphi-Quellcode:
For v := 0 to Listbox8.Items.Count - 1 do Begin
  i := 1;
  While PosEx(Listbox8.Items[v], Memo2.Text, i) > 0 do Begin
    bla
    ...
    i := PosEx(Listbox8.Items[v], Memo2.Text, i) + 1;
  End;
End;
(Angaben ohne Gewehr)

S2B 1. Sep 2004 00:22

Re: herrausfinden ob wort aus listbox in memo existiert
 
Man sollte vielleicht noch sagen, dass PosEx in der Unit StrUtils liegt! :zwinker:

ch33seburger 1. Sep 2004 00:28

Re: herrausfinden ob wort aus listbox in memo existiert
 
hm ne hat leider nicht funktioniert :/
aber danke :)

ch33seburger 1. Sep 2004 16:16

Re: herrausfinden ob wort aus listbox in memo existiert
 
also es soll eine blacklist für ein chatprogramm werden..
der, der im chat(memo2) ein badword(listbox7) sagt wird gekickt.
jedoch hab ichs noch nicht geschafft, dass auch wirklich alle wörter in der listbox berücksichtigt werden! es wird immer nur beim ersten wort in der listbox gekickt :(

gibt es denn noch ne andere möglichkeit um das zu verwirklichen?

Treffnix 1. Sep 2004 16:29

Re: herrausfinden ob wort aus listbox in memo existiert
 
Es müsste so funktionieren, wie in deinem ersten Codeschnipsel.

Dazu brauchst du auch kein Posex, da du ja nicht alle Vorkommen finden willst, sondern eins schon reicht.
Der Fehler muss also woanders liegen.
Poste doch mal etwas mehr Code und ein konkretes Beispiel von Text und Badwords.

Beachten solltest du, dass pos ( anders als in der Hilfe angegeben ) meines Wissens Case-Sensitive ist.

Nothine 1. Sep 2004 17:00

Re: herrausfinden ob wort aus listbox in memo existiert
 
Delphi-Quellcode:
var I: Integer;
begin
  for I := 0 to ListBox8.Items.Count-1 do
    if Pos(AnsiUpperCase(ListBox8.Items[I]),AnsiUpperCase(Memo2.Text)) > 0 then
      KickUser;
des müsste doch eigentlich funzen, oder? :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 Uhr.
Seite 1 von 2  1 2      

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