Deutsch English
Alphabetischer Index
Array-Funktionen
CGI-Funktionen
Datentypen
Datums/Uhrzeit-Funktionen
Debugging
Operatoren
Ramtext-Funktionen
Selektion
Socket-Funktionen
Sonstige-Funktionen
Sprachelemente
Statistik-Funktionen
Stream-Funktionen
String-Funktionen
System-Funktionen
  • chdir()
  • chmod()
  • compile()
  • copyfile()
  • delfile()
  • delident()
  • dirinfo()
  • diskfree()
  • DO
  • execprog()
  • firstdir()
  • flush()
  • getdir()
  • getenv()
  • getident()
  • getpara()
  • getsize()
  • halt()
  • isfile()
  • makedir()
  • nextdir()
  • pause()
  • privdir()
  • remdir()
  • rename()
  • setcgilog()
  • setident()
  • setpara()
  • testident()
  • timeout()
  • today()
  • varname()
    Tabellen-Funktionen
    Text-Funktionen
    Volltext-Funktionen
    Zahlen-Funktionen
    Home    Überblick    Suche    Impressum    Kontakt    Mitglieder
    Themenkomplex System-Funktionen
    Funktion timeout()
    Kurz (nur Linux) Bricht die Ausführung einer Prozedur nach abgelaufener Frist ab
    Syntax Timeout(seconds : INTEGER) : INTEGER
    Parameter seconds : Anzahl der Sekunden bis zum Abbruch oder 0 zum Löschen eines zuvor gesetzten Timeouts
    Ergebnis
    Siehe auch:
    Beschreibung Diese Funktion ruft die Linux-Funktion Alarm mit dem übergeben Argument auf.
    Der Linux-Kernel sendet dann nach Ablauf der angebenen Zeit (in Sekunden) ein Signal (SIGALRM) an den aufrufenden Prozess.
    Die tdbengine verarbeitet dieses Signal, indem sie diejenige Prozedur, die zum Zeitpunkt des Signals gerade abgearbeitet wird, mit RETURN 0 (bzw. RETURN '' bei einer STRING-Funktion) verlässt.
    Wird vorher, (also bevor das Signal gesendet wird) die Funktion TimeOut() mit dem Parameter 0 aufgerufen, so wird kein Signal gesendet.
    Mit diesem Mechanismus kann man sich recht einfach Timeouts basteln.

    Beispiel 1: Timeout + ReadLn von Konsole

    Konsoleneingabe mit 10 Sekunden Timeout zur Eingabe einer ID

    PROCEDURE Input : INTEGER
    VAR id : STRING
      Timeout(10)
      writeln(0,'Your account id: ')
      id:=readln(0)
      TimeOut(0)
      RETURN 1
    ENDPROC
    
    PROCEDURE Main
      cgiclosebuffer
      IF Input THEN
        writeln(0,'Your input will be processed now...')
      ELSE
        writeln(0,'Cancel forced by timeout')
      END
    ENDPROC
    


    tdbengine chat
    irc.tdbengine.org
    #tdbengine

       Copyright © 2003-2004 tdb Software Service GmbH
       Alle rechte vorbehalten. / All rights reserved
       Letzte Änderung: 21.10.2004
    {Fehler für :execmacro{execmacro="sessionspy"}