TIME$
Aus C64-Wiki
Anmerkung: Dieser Artikel beschreibt die Systemvariable TI$ unter BASIC V2 des Commodore 64.
Typ: Systemvariable als Zeichenkette Allgemeine Programmier-Syntax: TI$ oder TIME$
Die Systemvariable TI$ (üblicherweise in einer Langform als TIME$ bezeichnet) enthält einen sechs Zeichen langen String, der die Laufzeit des Rechners seit dem letzten Zurücksetzen oder den Zeitverlauf seit der letzten Zuweisung in Stunden, Minuten und Sekunden angibt (Format: HHMMSS).
Die Zeitzählung fängt beim Einschalten oder nach einem Reset bei "000000" an. Zudem kann der Variablen TI$ ein 6-stelliger String zum Setzen eines entsprechenden Zeitwertes zugewiesen werden. Beispielsweise setzt auch TI$="000000" die Zeitzählung auf den Einschaltzustand zurück.
Der Zeitstring aus TI$ korrespondiert mit dem Wert der Systemvariablen TI (bzw. TIME), die beide auf dem systeminternen Timer (Zeitzähler) basieren. Ein Setzen von TI$ beeinflusst somit auch TI.
Die Systemvariable TI$ kann Werte von "000000" bis "235959" annehmen. Beim Bereichsüberlauf beginnt TI wieder mit 0 und TI$ weist wieder den Wert "000000" auf. Da der über einen Interrupt realisierte Timer bei Nutzung des Datasettengeräts angehalten wird, entspricht TI$ nicht mehr dem Verlauf der Realzeit.
Wird beim Setzen von TI$ kein String verwendet, so erscheint die BASIC-Fehlermeldung ?TYPE MISMATCH ERROR. Entspricht der zugewiesene String nicht gewissen Voraussetzungen (z.B. 6-stellig, enthält verbotene Zeichen wie "-", "+") wird die Fehlermeldung ?ILLEGAL QUANTITY ERROR produziert. Dies passiert auch bei Verwendung von String-Variablennamen, die mit den signifikanten 2 Buchstaben TI beginnen, wie z.B. bei TITEL$ = "C64 Intern - Das große Buch zum Commodore 64".
[Bearbeiten] Beispiele
10 REM Simulation einer Uhr, Abbruch mit RUN/STOP 20 TIME$="235800" 30 T$=TIME$:REM Zeit zwischenspeichern, um Überlaufeffekte zu vermeiden 40 PRINTCHR$(147);LEFT$(T$,2);":"; 50 PRINT MID$(T$,3,2);":"; 60 PRINT RIGHT$(T$,2): GOTO 30
ABS | AND | ASC | ATN | CHR$ | CLOSE | CLR | CMD | CONT | COS | DATA | DEF | DIM | END | EXP | FN | FOR | FRE | GET | GET# | GOSUB | GOTO | IF | INPUT | INPUT# | INT | LEFT$ | LEN | LET | LIST | LOAD | LOG | MID$ | NEW | NEXT | NOT | ON | OPEN | OR | PEEK | POKE | POS | PRINT | PRINT# | READ | REM | RESTORE | RETURN | RIGHT$ | RND | RUN | SAVE | SGN | SIN | SPC | SQR | STATUS/ST | STEP | STOP | STR$ | SYS | TAB | TAN | THEN | TIME/TI | TIME$/TI$ | TO | USR | VAL | VERIFY | WAIT