Laufzeit-Eingabe und Zonenzustand korrigieren und Change archivieren
This commit is contained in:
@@ -277,7 +277,9 @@ verweist dazu auf ein nicht vorliegendes Kapitel des Programmer's Guide):
|
||||
`LINE INPUT` (ganze Zeile in String).
|
||||
- `INKEY$` (nicht blockierend; "" wenn leer; erweiterte Tasten:
|
||||
2-Zeichen-Sequenz `CHR$(0)+code` im Vorbild — Abweichung s. u.),
|
||||
`INPUT$(n [,#f])`.
|
||||
`INPUT$(n [,#f])` liest genau `n` Unicode-Codepoints, ohne Echo. Der
|
||||
Rest einer Sondertastenfolge bleibt lesbar. Dateien werden als UTF-8
|
||||
decodiert; zu wenige Zeichen → Fehler 62, beschädigtes UTF-8 → Fehler 57.
|
||||
- `LOCATE [zeile][,spalte][,cursor an/aus][,start,ende]`, `CSRLIN`, `POS(0)`
|
||||
— arbeiten auf der tatsächlichen Bildschirmgröße (dynamisch, s. Abweichungen).
|
||||
- `COLOR [vg][,hg]` (vg 0–31: 16–31 = blinkend — bei uns als „hell"
|
||||
@@ -310,14 +312,21 @@ verweist dazu auf ein nicht vorliegendes Kapitel des Programmer's Guide):
|
||||
`BINARY`.
|
||||
- `CLOSE [#n, …]`, `RESET` (alle schließen).
|
||||
- Sequenziell: `PRINT #`, `PRINT # USING`, `WRITE #` (CSV-artig, Strings in
|
||||
`"…"`), `INPUT #`, `LINE INPUT #`, `EOF(n)`.
|
||||
`"…"`, innere Anführungszeichen verdoppelt), `INPUT #`, `LINE INPUT #`,
|
||||
`EOF(n)`. `INPUT #` bewahrt übrige Felder und liest über Zeilen hinweg;
|
||||
fehlende geforderte Felder lösen Fehler 62 aus. Die drei Datei-Lesearten
|
||||
`INPUT #`, `LINE INPUT #`, `INPUT$` teilen einen Cursor.
|
||||
- Random: `FIELD #n, breite AS var$…` (klassisch) **und** `GET/PUT #n
|
||||
[,satznr] [,var]` mit TYPE-Variablen; `LSET`/`RSET` für Feldpuffer.
|
||||
- Binary: `GET/PUT #n, [pos], var`, `SEEK #n, pos` / `SEEK(n)`,
|
||||
`LOC(n)`, `LOF(n)`.
|
||||
- Verwaltung: `NAME alt$ AS neu$`, `KILL datei$`, `FILES [muster$]`,
|
||||
`CHDIR`, `MKDIR`, `RMDIR`, `FILEATTR`, `FREEFILE`.
|
||||
- Pfade: plattformneutral; `/` und `\` werden akzeptiert.
|
||||
- Pfade: plattformneutral; `/` und `\` werden akzeptiert. Fehlende Datei
|
||||
bei vorhandenem Elternverzeichnis → Fehler 53; fehlender Elternpfad → 76.
|
||||
- `CVI/CVL/CVS/CVD/CVC` verlangen exakt 2/4/4/8/8 Bytezeichen mit
|
||||
Codepoints 0–255, sonst Fehler 5. Die zugehörigen `MK…$`-Funktionen
|
||||
liefern diese Darstellung; Recordfelder bleiben UTF-32.
|
||||
|
||||
## 10a. ISAM (indizierter Satzzugriff)
|
||||
|
||||
@@ -547,7 +556,11 @@ Dialoge:
|
||||
Programm, das über eine Zeitumstellung hinweg läuft, folgt ihr.
|
||||
Lässt sich die Zone des Rechners nicht ermitteln, gilt UTC; das
|
||||
Programm läuft weiter, und der Runner meldet es einmal beim Start auf
|
||||
der Fehlerausgabe („Zeitzone nicht ermittelbar …"). `DATE$ = …` und
|
||||
der Fehlerausgabe („Zeitzone nicht ermittelbar …"). Die additive
|
||||
TerminalBasic-Erweiterung `TIMEZONEKNOWN` (ohne Argument, `INTEGER`)
|
||||
liefert `-1` für eine ermittelte Zone, `0` für UTC-Rückfall. Der Status
|
||||
folgt jeder aktuellen Ermittlung, auch späterem Ausfall und Erholung;
|
||||
eine ermittelte UTC-Zone liefert ebenfalls `-1`. `DATE$ = …` und
|
||||
`TIME$ = …` stellen nicht die Systemuhr, sondern einen programmeigenen
|
||||
Versatz auf die Ortszeit; alle Zeitfunktionen rechnen ihn mit ein.
|
||||
6b. **Serielle Datumswerte** zählen Tage ab dem 30.12.1899 (Serie 2 =
|
||||
|
||||
Reference in New Issue
Block a user