Phase 0.1: Referenzen gegen Original-Dokumentation verifiziert

Drei parallele Recherchen ueber die Original-Hilfedateien des Vorbilds
(dos-help.soulsphere.org, dekodierte VBDOS.HLP, CONSTANT.BI, README der
Professional Edition) eingearbeitet:

- Sprachreferenz: OPTION EXPLICIT und ON [LOCAL] ERROR RESUME NEXT
  existieren; Zeilenfortsetzung mit Underscore; Literalregeln; Limits
  (40-Zeichen-Bezeichner, 60 Array-Dimensionen); Event-Traps inkl.
  UEVENT; PRINT-USING-Zeichen inkl. **$; native Datumsfunktionen (NOW,
  DATESERIAL, ...) und FORMAT$; MSGBOX/INPUTBOX$-Signaturen
- Forms-Referenz komplett neu: alle 16 Steuerelemente mit Eigenschaften/
  Methoden/Ereignissen, Default-Tabelle, SCREEN-Objekt inkl. ControlPanel,
  Koordinaten in Zellen (0-254), Modalitaet (SHOW 0/1), Menuesystem,
  Control-Arrays, Drag&Drop; keine Default-Eigenschaften
- Neue IDE-Referenz (docs/ide-referenz.md): Menuestruktur, Fenster-
  verwaltung, Form Designer, Farbschema, Tastenbelegung, Statuszeile
- Fehlerkatalog vervollstaendigt: ISAM 80-89 und Forms 260-480,
  Code-Typ auf u16 erweitert, Tests ergaenzt
- Dateiformate: .MAK-Format belegt, .FRM binaer/Text geklaert

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-01 17:15:32 +02:00
parent 1ce371b96b
commit 31859d8041
6 changed files with 518 additions and 126 deletions

32
PLAN.md
View File

@@ -54,22 +54,22 @@ Wiki-Referenzen zur QB/PDS-Familie, zeitgenössische Artikel, Screenshots).
Emulator-Sessions nur noch als Rückfallebene für Detailfragen, die die
Dokumentation nicht beantwortet.
- [~] Sprachreferenz zusammentragen: Anweisungen, Funktionen, Operatoren,
Typsystem (INTEGER, LONG, SINGLE, DOUBLE, STRING, CURRENCY,
feste Strings, `TYPE…END TYPE`), Typ-Suffixe (`% & ! # $ @`),
`DEFINT`-Familie, Sichtbarkeitsregeln (`SHARED`, `COMMON`, `STATIC`)
→ Grundgerüst in [docs/sprachreferenz.md](docs/sprachreferenz.md);
Detailfragen (exaktes Verhalten) werden dort als TODO markiert
- [~] Forms-/Steuerelemente-Referenz: Steuerelementtypen, Eigenschaften,
Methoden, Ereignisse, Standardwerte, Fokus- und Z-Reihenfolge
→ Grundgerüst in [docs/forms-referenz.md](docs/forms-referenz.md)
- [~] Dateiformate dokumentieren: Quelltext (`.BAS`), Formulare (`.FRM`,
Textformat mit `VERSION`/`Begin…End`-Blöcken), Projekt (`.MAK`)
→ [docs/dateiformate.md](docs/dateiformate.md)
- [x] Laufzeitfehler-Katalog (Codes + Meldungstexte) erfasst und als
`tb_runtime::errors` implementiert (inkl. Tests)
- [~] IDE-UX-Referenz: Menüstruktur, Fensterverwaltung, Farbschema,
Tastenbelegung, Editor-Verhalten des Vorbilds
- [x] Sprachreferenz zusammengetragen und gegen die Original-Hilfe des
Vorbilds (dos-help.soulsphere.org, README der Professional Edition)
verifiziert → [docs/sprachreferenz.md](docs/sprachreferenz.md);
Rest-TODOs dort markiert (SINGLE/DOUBLE-Literalschwelle,
`PRINT USING`-Überlaufverhalten, `KEY n`-Makros)
- [x] Forms-/Steuerelemente-Referenz aus Original-Hilfe, CONSTANT.BI und
Programm-Stringtabellen rekonstruiert (alle 16 Steuerelemente mit
Eigenschaften/Methoden/Ereignissen, Defaults, SCREEN-Objekt,
Modalität, Menüsystem) → [docs/forms-referenz.md](docs/forms-referenz.md)
- [~] Dateiformate dokumentieren → [docs/dateiformate.md](docs/dateiformate.md);
offen: exakte Text-`.FRM`-Serialisierung (kein Original-Beispiel
auffindbar — wir definieren nach Windows-1.0-Schema und dokumentieren)
- [x] Laufzeitfehler-Katalog vollständig (176, ISAM 8089, Forms 260480)
als `tb_runtime::errors` implementiert (inkl. Tests)
- [x] IDE-UX-Referenz: Menüstruktur, Fensterverwaltung, Farbschema,
Tastenbelegung, Editor-Verhalten aus Original-Hilfe und Screenshots
→ [docs/ide-referenz.md](docs/ide-referenz.md)
- [~] Testkorpus aufbauen: kleine Referenzprogramme, deren erwartete Ausgabe
dokumentiert ist → erste Programme in `tests/compat/`, Harness folgt