Frei definierte Fernsteuer-IDs umschaltbar machen, also ON/OFF.
Angenommen, ich möchte einen bestimmten Status (SHOWSTATUS) in der Statusanzeige per Fernsteuerung anzeigen lassen:
SHOWSTATUS ON
… funktioniert ebenso wie …
SHOWSTATUS OFF
Nur SHOWSTATUS ON/OFF eben nicht. - Ich bitte um Korrektur, wenn ich da falsch liegen sollte -
Voraussetzung: Beim Programmstart lege ich einmal den gewünschten Status fest. Dafür gibt es ja die Aktionen bei Programmstart in der Konfiguration.
Wenn ich da z.B. SHOWSTATUS OFF setze, kann ich danach doch zuverlässig togglen, oder?
Das geht mit jedem Befehl einfach zu bauen, habe ich auch schon mal beschrieben (hier). Man muß nur eine Variable mitlaufen lassen, die sich merkt, was gerade an ist. Oder aus.
var
Status: boolean;
procedure OnLoad;
begin
ExecuteCommand('SHOWSTATUS OFF');
Status := false;
end;
procedure OnExecuteCommand(Command: string);
begin
if Command = 'SHOWSTATUS ON/OFF' then
if Status then
ExecuteCommand('SHOWSTATUS OFF')
else
ExecuteCommand('SHOWSTATUS ON');
end;
begin
end.
var
Status: boolean;
procedure OnLoad;
begin
ExecuteCommand('SHOWSTATUS OFF');
Status := false;
end;
procedure OnExecuteCommand(Command: string);
begin
if Command = 'SHOWSTATUS On/OFF' then
if Status then
begin
ExecuteCommand('SHOWSTATUS OFF');
Status := false;
end
else
begin
ExecuteCommand('SHOWSTATUS ON');
Status := true;
end;
end;
begin
end.