Autor Beitrag
freedy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: Mi 06.09.06 13:38 
Hi

Ich habe folgenden Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
...
  if not Command in TSendCommand then
  begin
    LogAdd('Command not valid: ' + IntToStr(Integer(Command))+ '.');
    Exit;
  end;


Deklaration von TSendCommand
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
TSendCommand =
  (
    scStart             = 2,      (* Versuch starten                          *)
    scStop              = 8,
    scFirmwareUpdate    = 35,

    scHandshake         = 200,

    scSetStatus         = 1000,   (* Statuspaket über die Befindlichkeit      *)
    scSetPID            = 1001,
    scSetKalibrier      = 1003,
    scSetActualValues   = 1004,   (* aktuelle Istwerte                        *)
    scSetNominalValues  = 1005,   (* aktuelle Sollwerte                       *)
    scSetVersion        = 1006,   (* aktuelle Version                         *)
    scSetKurvenform     = 1007,   (* Sollwerte oder Drivesignal senden        *)
    scSetPressure       = 1008,
    scSetVersuchPara    = 1009,


    scGetPID            = 2001,
    scGetKalibrier      = 2003,   (* Kalibrierdaten eines Kanals erfragen     *)
    scGetVersion        = 2006,   (* aktuelle Version erfragen                *)
    scGetVersuchPara    = 2009,


    scUnknown        = 655350  (* Dummy-Wert, damit TSendCommand als Integer
                                  gewertet wird                               *)

  );



Wie kann ich überprüfen, ob das Kommando gültig und ob er es kennt oder nicht? So wie oben geht es ja in keinem Fall. Als "set" zu deklarieren hilft leider auch nicht, da im Set nur 256 verschiedene Zustände verwaltet werden können. Sonst könnte man auch mit "in" arbeiten. Klappt so leider nicht.