INTEGER_Variable

Hallo,
Ich habe eine INTEGER_Variable die jede Sekunde hochzählt, soweit alles OK.
Jetzt möchte ich diesen Wert nach einer bestimmten Zeit wieder auf 0 setzen.
Wie kann ich das machen, bekomme es einfach nicht hin.

cu uwe

Hallo Uwe,

bitte noch ein paar Infos. Wann soll die Variable wieder auf 0 gesetzt werden.
Zu einer bestimmten Zeit, nach einer bestimmten Zeit vom Start der Variablenzählung oder nach einer bestimmten Zeit nach einem Event?

Mit IPS_SetScriptTimer kannst du nach X Sekunden/Minuten/Stunden/etc ein Script starten in dem du mit SetValueInteger den wert wieder auf null setzen kannst.

Gruß,

Toni

Ich möchte wissen wie lange ich Abwesend war. Also wenn ich das Haus verlasse script starten, Zähler läuft. Wenn ich komme script hält Zähler an.
Das klappt auch soweit. Aber danach muss die INTEGER Variable wieder auf 0 gestellt werden, für den nächsten Start.

cu uwe

Also uwe, wenn der Zähler schon angehalten wird, was spricht dagegen mit:


SetValueInteger(string: Name, 0)

die Variable auf 0 zu setzen. Oder vieleicht postest Du mal Dein Script, ich schau mal drüber.

Was spricht dagegen, wenn Du beim Verlassen einfach die Zeit in einer IPS Variablen speicherst, und bei Rückkehr diese variable von der Zeit bei Rückkehr abziehst ?

SetValueInteger(„Name der Variablen“, time() );

bei Rückkehr Differenz zur IPS-Variablen bilden:

$gegangen = GetValueInteger(„Name der Variablen“);
$wiederda = time()

$abwesenheit = $wiederda - $gegangen // Sagt Dir, wieviele Sekunden Du absent home warst.

Gruß Rene

Ich würde mal sagen viele Wege führe nach Rom. Ohne das Script von uwe ist das müßig.

Ich denke wir haben das schon alle verstanden. Und alle schlagen dir das gleiche vor… Haste es denn wenigstens ausprobiert, oder wo genau liegt dein Problem? :confused:

Toni

Vielen Dank,
habe das Problem, dank Eurer Hilfe lösen können.
Es tut sich aber ein neues auf. In der String Variable zum Ansagen der Zeit steht 02:01:23 , wie kann ich aber Ansagen das es sich um 2 Std, 1 Min, 23 sek handelt. Angesagt bekomme ich 02 01 23 sek.
Wie kann ich das ändern.

cu uwe

Hallo Uwe

explode

$zeit = "02:01:23";
$arrStdMinSek = explode(":", $zeit, 3);

oder substr

$zeit = "02:01:23";
$Std = substr($zeit, 0, 2);
$Min = substr($zeit, 3, 2);
$Sek = substr($zeit, 6, 2);

sollten weiterhelfen.

Gruss, Andreas

Jap…

Du musst, wie Andreas schon sagte, tatsächlich auch „2 Std, 1 Min, 23 sek“ schreiben wenn die Stimme das so sagen soll. Einige Engines erkennen das von selbst, dass es sich um eine Uhrzeit handelt und reagieren entsprechend. Tut deine es nicht, dann musst du auf diese Weise Nachhelfen.

Toni

Das erinnert mich ein Wenig an Linguatec und die Frage was macht das Große Projekt Toni?:smiley:

Steht momentan vollkommen still. Alle Hände voll zu tun mit IPS2.

Toni

04504 / 715165
Mit einer Eingabe einer:
-3- gelangt der Anrufer in das „Mega-Vote-Event-Menü“, hier kann er abstimmen,
wie ihm IP-Symcon gefällt. Es kann eine Schulnote von 1 bis 6 vergeben werden.
-4- Anrufbeantworter
-5- Zeitansage: deutsch
-6- Zeitansage: english

MST

… so jetzt geht es - falsche MSN eingestellt - warum sagt es mir keiner :confused:

MST

Danke an alle,
es klappt jetzt super

cu uwe

Weil wir alle wissen was Du denkst :slight_smile:

Nach dem Motto, spürst was ich denke :smiley: