dachico212
Level-2
- Beiträge
- 34
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo meine Lieben,
kann jemanden von euch mir bitte helfen, ich will, dass die farben in Array speichern . und zwar die Aktuellste Farbe in der erste Position speichern und die alten einfach ein Position verschieben .
so sieht mein Code aus, die For-Schleife funktioniert leider nicht richtig.
(********************************************************************************)
(*
ENUM Farben
TYP
(
ROT,
BLAU,
GELB
);
END_TYP
*)
----------------------------------------------
VAR
eFarben : Farben;
aFeld : array [0..9] of Farben := LEER,LEER,LEER,....;LEER;
i : usint;
xLEER : bool;
END_VAR
----------------------------------------------
(* prüfen, ob Position 0 belegt ist *)
if aFeld[0] = LEER then
xLEER := TRUE; (* nicht belegt *)
else
xLEER := FALSE; (* belegt *)
end_if
if xLEER then (* wenn nicht belegt *)
aFeld[0] := eFarben; (* erste Position belegen *)
else (* wenn belegt *)
for i:=0 by 1 to 9 do (* Verschiebung durchfüheren *)
aFeld[i+1] := aFeld;
end_for
aFeld[0] := eFarben; (* erste Position mit aktuellem Wert überschreiben *)
end_if
vielen Dank
kann jemanden von euch mir bitte helfen, ich will, dass die farben in Array speichern . und zwar die Aktuellste Farbe in der erste Position speichern und die alten einfach ein Position verschieben .
so sieht mein Code aus, die For-Schleife funktioniert leider nicht richtig.(********************************************************************************)
(*
ENUM Farben
TYP
(
ROT,
BLAU,
GELB
);
END_TYP
*)
----------------------------------------------
VAR
eFarben : Farben;
aFeld : array [0..9] of Farben := LEER,LEER,LEER,....;LEER;
i : usint;
xLEER : bool;
END_VAR
----------------------------------------------
(* prüfen, ob Position 0 belegt ist *)
if aFeld[0] = LEER then
xLEER := TRUE; (* nicht belegt *)
else
xLEER := FALSE; (* belegt *)
end_if
if xLEER then (* wenn nicht belegt *)
aFeld[0] := eFarben; (* erste Position belegen *)
else (* wenn belegt *)
for i:=0 by 1 to 9 do (* Verschiebung durchfüheren *)
aFeld[i+1] := aFeld;
end_for
aFeld[0] := eFarben; (* erste Position mit aktuellem Wert überschreiben *)
end_if
vielen Dank