![]() |
Bitmaske in Set speichern
Hallo,
wie kann ich eine Bitmaske (integer) in einem Set speichern?
Delphi-Quellcode:
Geht das auch, ohne jedes mögliche Element mittels AND abzufragen?
TToolStatus = set of
( tsAktiv = 1, // Kennung A tsFreigeg = 2, // Kennung F tsGesperrt = 4, // Kennung G tsVermessen = 8, // Kennung M tsVorwarn = 16, // Kennung V tsWZW = 32, // Kennung W tsFestplatz = 64, // Kennung P tsBenutzt = 128 // Kennung E ); Gruß Andreas |
Re: Bitmaske in Set speichern
Delphi-Quellcode:
TToolStatus = (tsAktiv, ...); //Ohne Angabe ID
TToolStatusSet = set of TToolStatus; |
Re: Bitmaske in Set speichern
Und dann
Delphi-Quellcode:
Das geht?
var Menge:TToolStatusSet;
begin Menge:=7; end; Und wie ist die Wertigkeit der Mengenelemente? 1. Element hat kleinse Wertigkeit? Andreas |
Re: Bitmaske in Set speichern
Ein Set fängt bei 0 an - das sieht man auch, wenn man die Maus darüber bewegt, oder sich die Code-Hilfe öffnet.
|
Re: Bitmaske in Set speichern
Werde es probieren!
Super, Danke Andreas |
Re: Bitmaske in Set speichern
Delphi-Quellcode:
Wobei fraglich ist ob das Beispiel sinnvoll ist.
var Menge:ToolStatusSet;
begin Menge := TToolStatusSet(7); end; Kann etwas gleichzeitig Aktiv, Freigegeben und Gesperrt sein? |
Re: Bitmaske in Set speichern
Ähm nochwas,
das, was Du vorhast, geht so nicht! Erstens würde es
Delphi-Quellcode:
lauten, und zweitens kannst Du eine Zuweisung so nicht per Wertigkeit vornehmen, sondern nur über den Bezeichner, also z.B.
var
Menge: [b]T[/b]ToolStatusSet;
Delphi-Quellcode:
Es sei denn, Du machst es so, wie es Bernhard Geyer zeigt.
Menge := [tsBenutzt];
Wenn Menge ein Set ist, dann darfst Du die Klammern nicht vergessen! |
Re: Bitmaske in Set speichern
Hallo Andreas,
geht es wirklich um allgemeine Set-Operationen? Ich habe deine Frage eigentlich anders verstanden: ![]() Freundliche Grüße |
Re: Bitmaske in Set speichern
Danke marabu,
so geht es. Wenn ich es so mache wie Bernhard es vorgeschlagen hat, kommt: ungültige Typumwandlung. BY THE WAY wie finde ich sowas im Handbuch/Hilfe? Das sehe ich das erste Mal :oops:
Delphi-Quellcode:
Gruß Andreas
Byte(w):=7;
|
Re: Bitmaske in Set speichern
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 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