Antwort auf: Card wechseln per Zeitsteuerung?

Startseite Foren Deutsches LiveCode-Forum Card wechseln per Zeitsteuerung? Antwort auf: Card wechseln per Zeitsteuerung?

#14442
Klaus Major
Administrator

    Hi Hartmut,

    da kommen ein paar vage Erinnerungen hoch, ja, stimmt, Director musste man immer sagen „Nun bleib doch mal hier!“, bei LC „Nun geht doch mal woanders hin!“ 😀

    OK, Dein Wunsch ist recht komplex, gehen wirs an!

    Ein geSENDeter Befehlt ist hier natürlich auch nötig, aber wichtig ist ein FRONTSCRIPT, was alle Usereingaben registriert und dann weiterleitet.

    Was benötigen wir:
    1. Zuerst einmal alles sammeln, was als „User Interaktion“ (UI) gelten kann, also mouseup, keydown etc. und in ein Frotscript packen:

    global ZeitSeitLetzterUI
    on mouseup
      put the seconds into ZeitSeitLetzterUI
    
      ## OK, registriert, nun weitergeben!
      PASS mouseup
    end mouseup
    
    on keyup
      put the seconds into ZeitSeitLetzterUI
      PASS keyup
    end keyup
    
    ## etc. für alles, was Du für User Interaktionen hälst

    2. Einen Befehl, der prüft, wieviel Zeit seit der letzten UI vergangen ist.
    Der wird periodisch geSENDet und handelt entsprechend, wenn es Zeit ist.
    3. Eine globale Variable, die den Zeitpunkt der letzten UI hält, damit wir das mit unserem Limit vergleichen können. Siehe oben…
    4. Wir setzen diese Variable auf -> the seconds direkt „on openstack“ und INSERTen das Frontscript. Und wir rufen direkt das CHECKER Skript auf -> zeitabgelaufen
    5. Dann benötigen wir einen Handler, der die ganze Zeit die abgelaufene Zeit überprüft und reagiert, wenn das Limit überschritten ist, der geht ins Stackskript:

    global ZeitSeitLetzterUI
    
    command zeitabgelaufen
      put the seconds into tAktuelleZeit
      ## Sofern Du das Limit auf 5 Minuten setzt:
      if tAktuelleZeit - ZeitSeitLetzterUI >= (5*60) then
        ## Zeit abgelaufen, mach Dein SCREENSAVER Ding:
        ## Resetten, falls nötig?
        ## put the seconds into ZeitSeitLetzterUI
      else
    
       ## Es ist noch Zeit, also weiterhin periodisch checken:
       send "zeitabgelaufen" to me in 10 secs
     end if
    end zeitabgelaufen

    Yo, soweit meine Ideen, ich hoffe, das hilft.
    Bei Bedarf weiterhin hier nachfragen!

    Gruß

    Klaus