Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prüfen, ob mehrere Elemente in set enthalten? (https://www.delphipraxis.net/61957-pruefen-ob-mehrere-elemente-set-enthalten.html)

BlueStarHH 28. Jan 2006 19:36


Prüfen, ob mehrere Elemente in set enthalten?
 
Wie kann ich einfach überprüfen ob ein Element in einer Menge enthalten ist und ich sehr viele Elemente überprüfen muss?

Beispiel:

Delphi-Quellcode:
TFoo = (fA, fB, fC, fD, fE, fF, fG, fH, fI, ...)

Foo = [fA, fF, fI];

if (fB in Foo) or (fD in Foo) or (fE in Foo) or (fI in Foo) ... then

Kann man die if-Zeile einfacher formulieren? Gibts da evtl. eine Funktion?

leddl 28. Jan 2006 19:45

Re: Elemente in set enthälten?
 
Du könntest dir eine Menge definieren, die alle Werte enthält, die du prüfen möchtest. Dann berechnest du die Schnittmenge deiner 2 Mengen und prüfst, ob sie leer ist.
Delphi-Quellcode:
zuPrüfen = [fB,fD,fE,fI,...];
Foo = [fA, fF, fI];
SchnittMenge = zuPrüfen*Foo;
If SchnittMenge <> [] Then
Begin
//...
End;

BlueStarHH 28. Jan 2006 20:03

Re: Prüfen, ob mehrere Elemente in set enthalten?
 
Danke, das suchte ich!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz