Hallo rolf,
habe ich da was falsch verstanden?
Wenn ich jetzt im Code eingebe:
Dann erhalte ich einen Fehler: Error: number expected.
Also erstelle ich eine direkte Konvertierung:
Damit übersetzt es der Compiler, aber eigentlich sollte doch lt. Compilerhandbuch Typen mit enumeration / Aufzählung ein Byte sein, oder?
Gruß
Thorsten
habe ich da was falsch verstanden?
Code
type
...
// Timer
// Timername
TTimeName = (TimeAuf, TimeGesamt, TimeHupe );
TTime = record
FUNC : byte; // Funktion 0=TON 1=TOF 2=TP
PT : WORD; // Ziel TimerCounter
ET : WORD; // Timer Aktuell
RESET : boolean; // Reset anstoßen
Q : boolean; // Ausgang aktiv
INPUT : boolean; //Timer aktiv
xINPUT : boolean; //Timer Schmiermerker für Flankenauswertung
end;
...
var
TimeBlock : ARRAY [0..10] of TTime; //Timer Routine Speicher
...
...
// Timer
// Timername
TTimeName = (TimeAuf, TimeGesamt, TimeHupe );
TTime = record
FUNC : byte; // Funktion 0=TON 1=TOF 2=TP
PT : WORD; // Ziel TimerCounter
ET : WORD; // Timer Aktuell
RESET : boolean; // Reset anstoßen
Q : boolean; // Ausgang aktiv
INPUT : boolean; //Timer aktiv
xINPUT : boolean; //Timer Schmiermerker für Flankenauswertung
end;
...
var
TimeBlock : ARRAY [0..10] of TTime; //Timer Routine Speicher
...
Wenn ich jetzt im Code eingebe:
Code
ONLStatus.WM0018_AufZeit := TimeBlock[ TimeAuf].ET;
Dann erhalte ich einen Fehler: Error: number expected.
Also erstelle ich eine direkte Konvertierung:
Code
ONLStatus.WM0018_AufZeit := TimeBlock[ byte(TimeAuf)].ET;
Damit übersetzt es der Compiler, aber eigentlich sollte doch lt. Compilerhandbuch Typen mit enumeration / Aufzählung ein Byte sein, oder?
Gruß
Thorsten