Hallo,
ich steuere den über die Tastatur an (siehe den ersten Screen weiter oben)(ZIRKUMFLEX = Taste unter Esc und links neben der 1). Das heist wenn ich den Mic-Button drücke beginnt der Talktimer ebenfalls zu zählen incl. des Scriptes für den 90 Sekunden Timer, beim ersten mal funktioniert das auch, wenn ich die Taste abermals drücke beginnt der wieder von vorne zu zählen anstatt zu stoppen wenn der Mic Button auf OFF steht.
Habe alles so eingerichtet bzw. kopiert. Hier nochmal der Code wo ich lediglich die Buttonfarben angepasst habe und ein paar Screens:
const
TALK_TIME = 90; // Zeit in Sekunden bis zur Warnung
BUTTON_NAME = 'BUTTON.TALK'; // Name des statischen Textes
BCOLOR_ON = '#202020'; // Hintergrundfarbe "an"
BCOLOR_OFF = '#202020'; // Hintergrundfarbe "aus"
FCOLOR_ON = '#FF0000'; // Schriftfarbe "an"
FCOLOR_OFF = '#202020'; // Schriftfarbe "aus"
var
TalktimerOn, ButtonStatus: boolean;
procedure ButtonOn;
begin
ExecuteCommand(BUTTON_NAME + ' FONTCOLOR ' + FCOLOR_ON);
ExecuteCommand(BUTTON_NAME + ' BACKGROUNDCOLOR ' + BCOLOR_ON);
ButtonStatus := true;
end;
procedure ButtonOff;
begin
ExecuteCommand(BUTTON_NAME + ' FONTCOLOR ' + FCOLOR_OFF);
ExecuteCommand(BUTTON_NAME + ' BACKGROUNDCOLOR ' + BCOLOR_OFF);
ButtonStatus := false;
end;
procedure ButtonFlash;
begin
EnableTimerEx('Flash', 750);
end;
procedure ButtonStop;
begin
DisableTimerEx('Flash');
ButtonOff;
end;
procedure OnLoad;
begin
TalktimerOn := false;
ButtonOff;
end;
procedure OnTimerEx(ID: string);
begin
if ID = 'Time' then
begin
ButtonFlash;
DisableTimerEx('Time');
end;
if ID = 'Flash' then
begin
if ButtonStatus then
ButtonOff
else
ButtonOn;
end;
end;
procedure OnExecuteCommand(Command: string);
begin
if (copy (Command, 1, 15) = 'TALKTIMER START')
AND NOT TalktimerOn then
begin
if TALK_TIME > 0 then
begin
TalktimerOn := true;
EnableTimerEx('Time', TALK_TIME * 1000);
end;
end
else if ((copy (Command, 1, 15) = 'TALKTIMER START')
OR (Command = 'TALKTIMER STOP'))
AND TalktimerOn then
begin
TalktimerOn := false;
ButtonStop;
end;
end;
begin
end.