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()
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
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
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
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
os.remove(cDateiname)
Diese Funktion löscht eine Datei.
Parameter:
- Name der Datei incl. Pfad
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
os.rename(alterName, neuerName)
Diese Funktion benennt eine Datei um.
Parameter:
- Bestehender Name der Datei
- Neuer Name der Datei
- true --> erfolgreich
- nil --> Fehler. In dem Fall folgt noch die Fehlermeldung und dann die Fehlernummer
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
os.setlocale( cLand [,cTeil] )
Diese Funktion setzt verschiedene Einstellung für die Arbeitsumgebung.
Parameter
- länderspezifische Einstellung (siehe unten)
- Welches Teil soll so eingestellt werden.
Einstellungen für cTeil (zuerst, weil das andere länger ist)
- "all" wie das Wort schon sagt: alles. Dies ist Voreinstellung. D.h wenn cTeil nicht angegeben wird.
- "collate" Die alphabethische Reihenfolge (nicht immer gleich z.B Griechenland alpha beta gamma)
- "ctype" controls the types of individual characters (e.g., what is a letter) and the conversion between lower and upper cases
- "monetary" Dies hat in Lua keinen Einfluss
- "numeric" Die spezifischen Formatierungen für Zahlen. Allerdings ist es problematisch wenn als Dezimalzeichen das Komma benutzt wird.
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
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
Siehe auch: Haftungsausschluss
Copyright © Robert Schmitz 2006