Lua Logo
Funktionen im table os

os.clock ()
os.date([format [, time]])
os.difftime(t2, t1)
os.execute(command)
os.exit([code])
os.getenv(varname)
os.remove(filename)
os.rename(oldname, newname)
os.setlocale(locale [, category])
os.time([table])
os.tmpname()

nach obenos.clock

Diese Funktion liefert eine Annäherung der vom Programm benutzten Rechnerzeit in Sekunden.
    
    rechnerZeit = os.clock()
    

os.clock wird etwa alle 15-16 1000tel Sekunden aktualisiert. Den genauen Wert hat man also so gut wie nie. Damit kann man aber leben. Das ist fast doppelt so schnell, wie der Mensch sehen kann.

Die Ausgabe hat meist 3 Stellen hinter dem Komma

Beispiel:
    
    print(os.clock()) --> 26.546
    

nach obenos.difftime

os.difftime(nZeit1, nZeit2)

Rechnet die Differenz zwischen zwei Zeitpunkten aus.

Parameter: jeweils die gewünschten Zeiten

Beispiel für die Konsole:
    
        nZeit2 = os.time()
         -- ein wenig warten
        print(os.difftime(os.time(), nZeit2)) --> 32
    
nach obenos.execute

os.execute(SytemBefehl)

Diese Funktion führt einen System-Befehl aus. Es ist z.B. gleich als wenn man ihn an der Eingabeaufforderung machen würde.
    
        os.execute("echo hallo"--> hallo
        os.execute("mmmmm")      --> Der Befehl "mmmmm" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
        os.execute("calc")       --> der Rechner öffnet sich
    

nach obenos.getenv

os.getenv(cVariablenname)

Gibt den Wert einer Systemvariablen zurück

Beispiele:
    
        print( os.getenv("BANANA") ) --> nil (es sei den, es gibt sie)
        print( os.getenv("USERNAME") ) --> robertico
    

nach obenos.remove

os.remove(cDateiname)

Diese Funktion löscht eine Datei.

Parameter:
Ruckgaben:
    
    true --> erfolgreich
    nil --> Fehler. In dem Fall folgt noch die Fehlermeldung und dann die Fehlernummer
    
Annahme: die Datei banana.txt ist existent:
    
    print( os.remove("banana.txt") ) --> true
    
Annahme: die Datei banana.txt ist existent nicht:
    
    print( os.remove("banana.txt") ) --> nil banana.txt: No such file or directory 2
    
nach obenos.rename

os.rename(alterName, neuerName)

Diese Funktion benennt eine Datei um.

Parameter:
Ruckgaben:
Annahme: die Datei banana.txt ist existent:
    
    print( os.rename("banana.txt""apple.txt") ) --> true
    
Annahme: die Datei banana.txt ist existent nicht:
    
    print( os.rename("banana.txt""apple.txt") ) --> nil banana.txt: No such file or directory 2
    
    

nach obenos.setlocale

os.setlocale( cLand [,cTeil] )

Diese Funktion setzt verschiedene Einstellung für die Arbeitsumgebung.

Parameter
Rückgabe: Eingestellte Werte oder nil bei Fehler

Einstellungen für cTeil (zuerst, weil das andere länger ist)

cLand:

Für Windows bin ich auf diese Einstellmöglichkeiten gestoßen:

os.setlocale("Czech_Czech Republic.1250")
os.setlocale("Danish_Denmark.1252")
os.setlocale("Dutch_Belgium.1252")
os.setlocale("Dutch_Netherlands.1252")
os.setlocale("Dutch_Netherlands.1252")
os.setlocale("English_Australia.1252")
os.setlocale("English_Canada.1252")
os.setlocale("English_New Zealand.1252")
os.setlocale("English_United Kingdom.1252")
os.setlocale("English_United States.1252")
os.setlocale("Finnish_Finland.1252")
os.setlocale("French_Belgium.1252")
os.setlocale("French_Canada.1252")
os.setlocale("French_Canada.850")
os.setlocale("French_France.1252")
os.setlocale("French_Switzerland.1252")
os.setlocale("German_Austria.1252")
os.setlocale("German_Germany.1252")
os.setlocale("German_Switzerland.1252")
os.setlocale("Greek_Greece.1253")
os.setlocale("Hungarian_Hungary.1250")
os.setlocale("Icelandic_Iceland.1252")
os.setlocale("Italian_Italy.1252")
os.setlocale("Italian_Switzerland.1252")
os.setlocale("Norwegian-Nynorsk_Norway.1252")
os.setlocale("Polish_Poland.1250")
os.setlocale("Portuguese_Brazil.1252")
os.setlocale("Portuguese_Portugal.1252")
os.setlocale("Russian_Russia.1251")
os.setlocale("Slovak_Slovakia.1250")
os.setlocale("Spanish_Mexico.1252")
os.setlocale("Spanish_Spain.1252")
os.setlocale("Swedish_Sweden.1252")
os.setlocale("Turkish_Turkey.1254")

Für andere Systeme habe ich nur diese Möglichkeiten gefunden. (Eigendlich für C. Aber Lua ist in C geschrieben. Sollte also klappen)

#if defined(_WIN32) || defined(_WIN64) //-> _.
      static const char LOCALE_ENGLISH_US[]    = "English_USA.1252";
      static const char LOCALE_ENGLISH_UK[]    = "English_UK.1252";
      static const char LOCALE_GERMAN_DE[]     = "German_Germany.1252";
      static const char LOCALE_FRENCH_FR[]     = "French_France.1252";
      static const char LOCALE_ITALIAN_IT[]    = "Italian_Italy.1252";
      static const char LOCALE_SPANISH_ES[]    = "Spanish_Spain.1252";
#elif defined(__osf__) //-> _.
      static const char LOCALE_ENGLISH_US[]    = "en_US.88591";
      static const char LOCALE_ENGLISH_UK[]    = "en_UK.88591";
      static const char LOCALE_GERMAN_DE[]     = "de_DE.885915";
      static const char LOCALE_FRENCH_FR[]     = "fr_FR.885915";
      static const char LOCALE_ITALIAN_IT[]    = "it_IT.885915";
      static const char LOCALE_SPANISH_ES[]    = "es_ES.885915";
#elif defined(SNI) //-> _.
      static const char LOCALE_ENGLISH_US[]    = "En_US.88591";
      static const char LOCALE_ENGLISH_UK[]    = "En_UK.88591";
      static const char LOCALE_GERMAN_DE[]     = "De_DE.885915";
      static const char LOCALE_FRENCH_FR[]     = "Fr_FR.885915";
      static const char LOCALE_ITALIAN_IT[]    = "It_IT.885915";
      static const char LOCALE_SPANISH_ES[]    = "Es_ES.885915";
#elif defined(_AIX) //-> _.ISO
      static const char LOCALE_ENGLISH_US[]    = "en_US.ISO8859-1";
      static const char LOCALE_ENGLISH_UK[]    = "en_UK.ISO8859-1";
      static const char LOCALE_GERMAN_DE[]     = "de_DE.ISO8859-15";
      static const char LOCALE_FRENCH_FR[]     = "fr_FR.ISO8859-15";
      static const char LOCALE_ITALIAN_IT[]    = "it_IT.ISO8859-15";
      static const char LOCALE_SPANISH_ES[]    = "es_ES.ISO8859-15";
#elif defined(__linux__) //-> _
      static const char LOCALE_ENGLISH_US[]    = "en_US";
      static const char LOCALE_ENGLISH_UK[]    = "en_UK";
      static const char LOCALE_GERMAN_DE[]     = "de_DE@euro";
      static const char LOCALE_FRENCH_FR[]     = "fr_FR@euro";
      static const char LOCALE_ITALIAN_IT[]    = "it_IT@euro";
      static const char LOCALE_SPANISH_ES[]    = "es_ES@euro";
#elif defined(__hpux) //-> _.iso
      static const char LOCALE_ENGLISH_US[]    = "en_US.iso88591";
      static const char LOCALE_ENGLISH_UK[]    = "en_UK.iso88591";
      static const char LOCALE_GERMAN_DE[]     = "de_DE.iso885915";
      static const char LOCALE_FRENCH_FR[]     = "fr_FR.iso885915";
      static const char LOCALE_ITALIAN_IT[]    = "it_IT.iso885915";
      static const char LOCALE_SPANISH_ES[]    = "es_ES.iso885915";
#else //->
      static const char LOCALE_ENGLISH_US[]    = "en";
      static const char LOCALE_ENGLISH_UK[]    = "en";
      static const char LOCALE_GERMAN_DE[]     = "de";
      static const char LOCALE_FRENCH_FR[]     = "fr";
      static const char LOCALE_ITALIAN_IT[]    = "it";
      static const char LOCALE_SPANISH_ES[]    = "es";
#endif



os.time([table])

Parameter
  • gewünschte Ausgabe
Rückgabe: ist abhängig vom Parameter

Mit "*t" als Parameter ist die Rückgabe ein Table, das folgende Werte vom aufgerufenen Zeitpunkt hat:
  • year    Jahr (Zahl)
  • month   Monat (Zahl)
  • day     Tag (Zahl)
  • hour    Stunde (Zahl)
  • min     Minute (Zahl)
  • sec     Sekunde (Zahl)
  • wday    Wochentag (Zahl)
  • yday    Jahrestag (wievielter Tag im Jahr) (Zahl)
  • isdst   (true oder false) 

Mit einem Table aufgerufen gibt os.time die Differenz der Zeit zwischen dem 1.1.1970 00:00:00 Uhr und dem eingegebenen Table in Sekunden zurück.
Die Rückgabe ist abhängig von der auf dem PC eingestellten Zeitzone.
In Deutschland sind wir im Sommer +1 Stunde von der koordinierten Weltzeit (UTC) entfernt. Daher wird vorher am Ergebnis 1 Stunde = 3600 Sekunden abgezogen.
Das kleinste Ergebnis ist 1. Darunter gibt os.time nil zurück.
    
    print(os.time{year=1970, month=1, day=1, hour=1, sec=1}) --> 1
    print(os.time{year=1970, month=1, day=1, hour=1, sec=0}) --> nil
    
In diesem Table muss mindestens vorhanden sein: year, month, day


os.tmpname ()

Parameter: keine

Rückgabe ist lediglich ein verwendbarer Name für eine temporäre Datei (in Windows)
    
    print( os.tmpname() ) --> s1eg.
    print( os.tmpname() ) --> s1eg.1
    ...
    ...






Die Vervielfältigung der auf diesen Seiten enthaltenen Informationen und Grafiken ist untersagt, ausgenommen davon ist sämtlicher auf diesen Seiten angezeigter Quellcode.
Siehe auch: Haftungsausschluss
Copyright © Robert Schmitz 2006