![]() |
Set of - Überprüfen welche Werte enthalten sind
Ich habe ein Set of definiert:
Delphi-Quellcode:
Wie kann ich nun überprüfen, welche Werte es enthält?
TFlags = (fWaiting, fWaitForStart, fWorking, fWaitForEnd)
{...} flags : set of TFlags; z.B. wenn das gegeben ist:
Delphi-Quellcode:
Geht das nur so?
flags = [fWaiting, fWaitForEnd];
Delphi-Quellcode:
Aber was ist, wenn ich überprüfen will, of fWaiting vorhanden ist, aber der Rest mich (erstmal) nicht interessiert?
if flags = [fWaiting] then
{...}
Delphi-Quellcode:
if flags = [fWaiting, else] then
{...} |
Re: Set of - Überprüfen welche Werte enthalten sind
kannst du nicht
Delphi-Quellcode:
schreiben?
if [fWaiting] in flags then
|
Re: Set of - Überprüfen welche Werte enthalten sind
omfg :(
(sry) Ja klar kann ich das... Is nur so, dass ich das erste mal selber mit sets arbeite (naja.. bisher nur bei Komponenten wegen Anchors o.ä., aber eben nur setzten ;)) |
Re: Set of - Überprüfen welche Werte enthalten sind
Delphi-Quellcode:
ohne [] !!
if x in Flags then
|
Re: Set of - Überprüfen welche Werte enthalten sind
Um eine Schnittmenge zweier Mengen (Sets) zu ermitteln kann man Folgendes machen. :)
Delphi-Quellcode:
type TMyType = (MyA, MyB, MyC); TMySet = set of TMyType; //... var MyType: TMyType; MySet1: TMySet; MySet2: TMySet; MySet3: TMySet; begin MyType := MyA; MySet1 := [MyA, MyB, MyC]; MySet2 := [MyA, MyC]; MySet3 := MySet1 * MySet2; // MySet3 enthält die Schnittmenge aus MySet1 und MySet2 Exclude(MySet3, MyType); // MyType (MyA) entfernen Include(MySet3, MyB); // MyB hinzufügen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 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