Hallo Leute,
ich aktiviere gerade einen ScriptInterpreter in meiner Steuerung.
Ich habe ein Array of Byte und möchte in einem Byte des Arrays,
ein einzelnes Bit setzen/rücksetzen.
Ich habe folgendes getestet, aber der Compiler mag es so nicht:
Arbeite ich über einen Zwischenpuffer:
Kann der Compiler nicht Bitweise auf das Byte eines Arrays zugreifen? Oder muss ich das anderst machen?
Ich probiere es morgen mal mit einem Pointer auf das Array, ich möchte eigentlich nicht mit diesen Byte kopieren arbeiten.
Thorsten
ich aktiviere gerade einen ScriptInterpreter in meiner Steuerung.
Ich habe ein Array of Byte und möchte in einem Byte des Arrays,
ein einzelnes Bit setzen/rücksetzen.
Ich habe folgendes getestet, aber der Compiler mag es so nicht:
Code
...
var
AwlVKEBuffer := Array[0..149] of Byte;
...
for xAWL:= 0 to 149 do
AwlVKEBuffer[xAWL].0 := VKEZustand(xAWL); // gibt True oder False zurück ...hier CompilerFehler
endfor;
var
AwlVKEBuffer := Array[0..149] of Byte;
...
for xAWL:= 0 to 149 do
AwlVKEBuffer[xAWL].0 := VKEZustand(xAWL); // gibt True oder False zurück ...hier CompilerFehler
endfor;
Arbeite ich über einen Zwischenpuffer:
Code
...
var
AwlVKEBuffer := Array[0..149] of Byte;
AwlVKEBuffer : Byte;
...
for xAWL:= 0 to 149 do
AwlVKEBuffer:= AWLVKE[xAWL];
AwlVKEBuffer.0 := VKEZustand(xAWL); // gibt True oder False zurück ...mit Puffer geht es
AWLVKE[xAWL]:= AwlVKEBuffer;
endfor;
var
AwlVKEBuffer := Array[0..149] of Byte;
AwlVKEBuffer : Byte;
...
for xAWL:= 0 to 149 do
AwlVKEBuffer:= AWLVKE[xAWL];
AwlVKEBuffer.0 := VKEZustand(xAWL); // gibt True oder False zurück ...mit Puffer geht es
AWLVKE[xAWL]:= AwlVKEBuffer;
endfor;
Kann der Compiler nicht Bitweise auf das Byte eines Arrays zugreifen? Oder muss ich das anderst machen?
Ich probiere es morgen mal mit einem Pointer auf das Array, ich möchte eigentlich nicht mit diesen Byte kopieren arbeiten.
Thorsten