Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - in "Mengen" suchen


Jagg - So 28.09.03 16:15
Titel: in "Mengen" suchen
Hallo !

Ich überprüfe jedes Zeichen eines Strings und will dabei jeweils überprüfen,ob das Zeichen mit bestimmten anderen Zeichen (z.b. 'a' oder 'b') in [Mengen] vorhanden sind !
Wie gebe ich diese Mengen ein ?
Kann mir jemand einen Code geben ???

Jagg ![/b]


Christian S. - So 28.09.03 16:25

Hallo!

Meinst Du sowas?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for i:=1 TO Length(myString) DO
begin
  myChar := myString[i];
  if myChar in ['a','d','z']
  then ShowMessage('Is drin!');
end;


MfG
Peter

P.S.: myChar kann man sich eigentlich auch sparen.


Jagg - Mo 20.10.03 17:40

ja genau das meine ich !!!
...und wie mache ich das anstatt mit Zeichen...mit wörtern ???
z.b
Peter,Hans oder Markus

Jagg !


BungeeBug - Mo 20.10.03 17:55


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
IF POS('Peter',MyString) > 0 THEN
 BEGIN
  ShowMessage('Drin');
 END
ELSE IF ('Hans',MyString) > 0 THEN
 BEGIN
  ShowMessage('Auch drin)';
 END
ELSE
 BEGIN
  ShowMessage('Keiner drin');
 END;


klappt ganz gut wenn du sicher bist das nur der eine Name drin ist.
Wenn nicht musst dus das (unten) so schreiben.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
PROCEDURE namen_finden(namen : TStinglist,mystring : string);
 VAR
  i : integer; 
 BEGIN
   FOR i := 0 TO namen.Count-1 DO
    BEGIN
     IF POS(namen[i],mystring) >0 THEN
      BEGIN
        ShowMessage(namen[i]+' gefunden!')
      END;
     END;
END;


so sollte es gehen wenn mehrere Namen drin sind. Der Code könnte kleinere Fehler enthalten *stress*


Jagg - Mo 20.10.03 19:17

ja ,so habe ich das auch am anfang gemacht,aber ich will wissen ob das nicht so geht wie bei den zeichen
z.b test :=['hans','peter','klaus']; ???

weiss du,das sieht besser aus und ist weniger arbeit ;)


BungeeBug - Mo 20.10.03 20:31

Hi,

ab der Delphi 5 gibbet in jeder Pro und größer Variante ne "Masks" Unit. Damit geht sowas. Aber ne Funktion die wirklich überall drin is gibbet nich.