Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
22. Aug 2013
Dagegen spricht dass TShiftState ein Set ist. Von daher kannst Du dort kein Low / High anwenden.
TShiftState = set of (ssShift, ssAlt, ssCtrl,ssLeft, ssRight, ssMiddle, ssDouble);
Bei Enums geht es so wie Du schreibst, z.b:
TBorderIcon = (biSystemMenu, biMinimize, biMaximize, biHelp);
Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
22. Aug 2013
Nicht schön aber selten... Bei neueren Delphi-Versionen muß man die Byte-typen evtl. durch Word ersetzen.
procedure TForm1.Button1Click(Sender: TObject);
var
Shift : TShiftState;
bMin, bMax : Byte;
bShift : Byte;
b : Byte;
s : string;
begin
// das hier wollen wir untersuchen
Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
22. Aug 2013
Na dann verwendet man MinValue und MaxValue von GetTypeData.
Forum: Object-Pascal / Delphi-Language
Delphi
by Union,
22. Aug 2013
Deshalb macht man das ja auch lieber so:
GetEnumname(GetTypeData(TypeInfo(TShiftState))^.CompType^, Ord(ssCtrl));