Startseite › Foren › Deutsches LiveCode-Forum › “Uhr” erinnert sich an vergangene Zeit
Schlagwörter: Programm bekommt menschliche Züge!
- Dieses Thema hat 6 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 3 Jahren, 11 Monaten von GerryS.
-
AutorBeiträge
-
-
Dezember 6, 2020 um 14:18 Uhr #24989
if minute = 06 then
–wait 2 sec
set backgroundColor of fld “tackt” to green
–wait 2 sec
set the hilite of widget “anaus6” to false
–wait 2 sec
revspeak fld “inWorten”
end if
Hallo Leute,
warum sagt mir die Uhr in diesem Fall, das es “fünf” Minuten sind.
in Worten steht richtig : es sind sechs Minuten nach eins.
auch wenn ich das Geschehen z.B.: 2 sec verzögere?
Hat da jemand eine Idee?
Danke
Gruß
Gerry -
Dezember 6, 2020 um 15:25 Uhr #24993
if minute = 06 then --wait 2 sec set backgroundColor of fld "tackt" to green --wait 2 sec set the hilite of widget "anaus6" to false --wait 2 sec revspeak fld "inWorten" end if
Hi Gerry,
aus dem Code, den Du hier gepostet hast, kann man leider nicht erkennen, was genau funktionieren soll, da nicht gezeigt wird, wie das Field “inWorten” gefüllt wird 🙂Happy Coding
Torsten -
Dezember 6, 2020 um 22:56 Uhr #25002
Hallo Torsten,
die >–wait 2sec < kannst du weg lassen. Diese habe ich nur als Beispiele reingesetzt, das hat aber bei der Zeitansage nichts ausgemacht. deshalb auch die — . Bei dem Wecker steht unter der digitalen Zeitanzeige
auch in Worten die Zeit geschrieben. (Buch Seite 263) Wenn ich die Zeile anklicke, wird sie wahrheitsgetreu vorgelesen. Auch bislang, wenn sie im Ablauf des Programms, diese geschriebene, richtige Zeit vorlesen soll. Normal soll der Wecker mir alle 15 Minuten die Zeit vorlesen (nur eine kleine Spielerei), welche unter der Uhr steht. In diesem Beispiel steht also ” es sind sechs Minuten nach eins.”
vorgelesen wurde mir aber mit >> revspeak fld “inWorten” <<
vorgelesen wird mir ” es sind >>>fünf<<< Minuten nach eins. ”
Normal liest doch revspeak genau das vor, was in der Zeile steht.
In dem Fall ist die Uhr auf 6 Minuten gesprungen. Die Farbe wurde geändert und der Schalter hat sich ausgeschaltet, da ja sonst die Zeile andauernd vorgelesen wird. Die Verzögerung habe ich dann da oder da reingesetzt, um vielleicht den Text >vor< einer Sekunde vergessen zu machen??
Das revSpeak geht doch wohl nicht schauen, was vor einer Sekunde in der Zeile stand, könnte man fast glauben??? Sonst würde ich ja sagen, ich habe vielleicht im Programmablauf irgendwo in der Richtung etwas stehen.Na, weist du jetzt, was ich da meine?
Gruß
Gerry -
Dezember 7, 2020 um 01:10 Uhr #25004
Hi Gerry,
ich verstehe jetzt das Problem: der Befehl liest etwas anderes vor als im Feld steht, aber auf dieser Basis kann ich Dir trotzdem nicht helfen, weil ich befürchte, dass das Problem noch irgendwo anders im Code liegt.
Happy Coding
Torsten -
Dezember 7, 2020 um 16:44 Uhr #25018
Hallo Torsten,
die Sprecherin, welche da vorliest, ist ziemlich schnell oder sehr langsam. (Wahrscheinlich weiß sie, das ich gleich die Zeit von ihr hören möchte. Bitte nicht ernst nehmen, sonst könnte, weiß Gott, das Programmieren schnell ausarten. hi).
Mit der Wartezeit hatte ich aber nicht so unrecht. Ich habe eine Sekunde dazu gegeben. So hat sie nun kein Hudel mehr. >> if (minute = 15) and (sek = 01) then <<Nur, ob sie jetzt zu schnell oder zu langsam ist, weiß ich immer noch nicht.
Mich stört es weiter nicht.
Wenn in einem Programm nun aber wirklich die Zeit stimmen muss, was dann??
So bekommt das >Fräulein der Sprachabteilung< ja menschliche Züge??Gruß
Gerry -
Dezember 7, 2020 um 17:13 Uhr #25020
Hallo Torsten,
ich hatte hier schon eine Antwort geschrieben. dann habe ich etwas in !Schlagwörter! reingeschrieben und Absenden geklickt und fort war die Antwort. Da darf man nichts reinschreiben.Nun nochmal: Das mit dem >wait< war nicht ganz so verkehrt. (Wahrscheinlich weiß das Fräulein von der Sprachabteilung das ich gleich die Zeit hören wolle. Deswegen hat sie schon vor dem eigentlichen Termin mir die Zeit vorgelesen. Oder sie hat für die richtige Zeit zu lesen, die Brille verlegt???)
Ich habe ihr deswegen eine Sekunde geschenkt, bis sie die Brille wiedergefunden hat.
>> if (minute = 15) and (sekunde = 01) then …<<
Nun hat sie kein Problem mehr, die Zeit vorzulesen. Diese Zeile ändert sich ja erst nach einer Minute. (Das stört mich so ja nicht weiter, wenn eine Sekunde reicht, die Brille wieder zu finden. Da bekommt das Fräulein vom Amt ja menschliche Züge??)
Was ist aber, wenn nun in einem Programm es wirklich auf die Zeit ankommt?
Das weiß ich dann aber immer noch nicht?Gruß
Gerry
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.