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:
167
docs/ide-referenz.md
Normal file
167
docs/ide-referenz.md
Normal file
@@ -0,0 +1,167 @@
|
||||
# IDE-Referenz Terminal Basic
|
||||
|
||||
Rekonstruierte UX-Spezifikation der IDE des Vorbilds (VBDOS 1.0, 1992) —
|
||||
Grundlage für `tb-ide` (Phase 5). Quellen: Original-Hilfedatei (dekodiert),
|
||||
README des Originalpakets, Screenshots (Pixelanalyse), Sekundärliteratur.
|
||||
Konfidenz je Abschnitt vermerkt; `TODO` = offen.
|
||||
|
||||
Die IDE besteht im Vorbild aus zwei Programmen: der **Programmierumgebung**
|
||||
und dem separaten **Form Designer** (eigene Menüleiste, Wechsel über
|
||||
„Event Procedures"/F12 bzw. View→Form). Terminal Basic bildet beides in
|
||||
**einem** Prozess ab, behält aber die zwei Modi mit identischer Bedienung.
|
||||
|
||||
## 1. Menüstruktur (Konfidenz: sicher)
|
||||
|
||||
Menüleiste der Umgebung: **File Edit View Search Run Debug Options Window**,
|
||||
**Help** rechtsbündig. Form-Designer-Modus: **File Edit View Tools Options
|
||||
Window Help**. `───` = Separator, `•` = Toggle-Markierung.
|
||||
|
||||
- **File (Alt+F):** New Project / Open Project… / Save Project ─── New Form /
|
||||
New Module… / Add File… / Remove File… / Save File / Save File As… ───
|
||||
Load Text… / Save Text… ─── Print… / Shell ─── Exit **Alt+F4**
|
||||
- **Edit (Alt+E):** Undo **Ctrl+Z** ─── Cut **Ctrl+X** / Copy **Ctrl+C** /
|
||||
Paste **Ctrl+V** / Clear **Del** ─── New Sub… / New Function… /
|
||||
Event Procedures… **F12**
|
||||
- **View (Alt+V):** Code… **F2** / Form… **Shift+F12** ─── Next Statement /
|
||||
Output Screen **F4** ─── Included File / •Included Lines
|
||||
*(Designer-Modus: … ─ Menu Bar **F10** / Grid Lines)*
|
||||
- **Search (Alt+S):** Find… / Selected Text **Ctrl+\\** / Repeat Last Find
|
||||
**F3** / Change…
|
||||
- **Run (Alt+R):** Start **Shift+F5** / Restart / Continue **F5** /
|
||||
Modify COMMAND$… ─── Make EXE File… / Make Library… ─── Set Start-up File…
|
||||
- **Debug (Alt+D):** Add Watch… / Instant Watch… **Shift+F9** / Watchpoint… /
|
||||
Delete Watch… / Delete All Watch ─── •Trace On / •History On ───
|
||||
Toggle Breakpoint **F9** / Clear All Breakpoints / •Break on Errors /
|
||||
Set Next Statement
|
||||
- **Options (Alt+O):** Display… / Set Paths… / Right Mouse… / Save… /
|
||||
•Syntax Checking (Einstellungen persistent)
|
||||
- **Window (Alt+W):** New Window / Arrange All ─── Calls / Debug / Help /
|
||||
Immediate / Output / Project ─── Liste offener Code-Fenster (• = aktiv)
|
||||
*(Designer-Modus: Color Palette / Menu Design Window / Toolbox / Help /
|
||||
•Form: … )*
|
||||
- **Help (Alt+H):** Index / Contents ─── Keyboard ─── Topic: **F1** /
|
||||
Using Help **Shift+F1** / Tutorial ─── About…
|
||||
|
||||
Bedienung: **Alt** (oder F11) aktiviert die Menüleiste, hervorgehobene
|
||||
Buchstaben wählen, Esc bricht ab, „…" kündigt Dialog an.
|
||||
|
||||
## 2. Fensterverwaltung (Konfidenz: sicher)
|
||||
|
||||
- MDI-artig: alle Fenster/Dialoge sind Kinder der IDE-Fläche. Titelleiste
|
||||
mit Control-Menü-Box links, Minimieren/Maximieren rechts, Rahmen,
|
||||
Scrollbalken; Code-Fenster nummeriert („[1] Untitled").
|
||||
- Tasten: **F6/Ctrl+F6** nächstes, **Shift+F6** vorheriges Fenster,
|
||||
**Ctrl+F4** schließen, **Ctrl+F7** verschieben, **Ctrl+F8** Größe,
|
||||
**Ctrl+F9** minimieren, **Ctrl+F10** maximieren, **Ctrl+F5**
|
||||
wiederherstellen, **Alt+Minus** Control-Menü; „Arrange All" kachelt.
|
||||
- **Project Window** (Start: rechts angedockt): Buttons „Form"/„Code"
|
||||
(Enter öffnet, „Form" wechselt in den Designer) + Modulliste (.FRM/.BAS).
|
||||
- **Immediate Window** über Alt+W,I — nicht permanent sichtbar (anders als QB).
|
||||
- **Debug Window** (read-only: Watches/Watchpoints), **Output Window**
|
||||
(Ausgabebildschirm als Fenster; **F4** = echter Vollbild-Output),
|
||||
**Calls**- und **Help**-Fenster.
|
||||
|
||||
## 3. Form Designer (Konfidenz: sicher)
|
||||
|
||||
- **Toolbox** links; Einträge: Check Box, Combo Box, Command Button,
|
||||
Dir List, Drive List, File List, Frame, HScrollBar, Label, List Box,
|
||||
Option Button, Picture Box, Text Box, Timer, VScrollBar (identisch als
|
||||
Tools-Menü).
|
||||
- Platzieren: Doppelklick auf Toolbox-Eintrag oder Tool wählen + auf der
|
||||
Form aufziehen; **Sizing Handles** (■ an den Ecken); Verschieben per Drag.
|
||||
Tastatur: Pfeile = 1 Zelle verschieben, **Ctrl+Pfeile** = 5 Zellen,
|
||||
**Shift+Pfeile** = Größe, **Tab/Shift+Tab** = Control-Wechsel;
|
||||
Mehrfachauswahl mit Strg+Klick (nur Maus). Raster: View→Grid Lines.
|
||||
- **Properties Bar oben** statt Eigenschaftsfenster:
|
||||
`Property: [Caption]↓ Value: […]↓ │ Spalte,Zeile │ BxH`.
|
||||
**F2** springt in die Value-Box; **F10** toggelt Menüleiste ↔ Properties
|
||||
Bar (nur eine sichtbar). Keine Statuszeile im Designer.
|
||||
- **Menu Design Window** (Alt+W,M): Caption (`&` = Access-Key, `-` =
|
||||
Separator), CtlName, Tag, Index; Checked/Enabled/Visible/Separator;
|
||||
Shortcut-Dropdown; Outlining-Buttons (Ebene/Reihenfolge, Einfügen,
|
||||
Löschen, Done).
|
||||
- **Color Palette** (Alt+W,C): ForeColor/BackColor wählen, Farbe per Drag
|
||||
auf die Form ziehen.
|
||||
|
||||
## 4. Farbschema (Konfidenz: sicher für belegte Elemente)
|
||||
|
||||
| Element | Farben (DOS-Palette) |
|
||||
|---|---|
|
||||
| Menüleiste | Schwarz (0) auf Hellgrau (7) |
|
||||
| Desktop | Füllzeichen ▒, Hellgrau (7) auf Schwarz (0); Füllzeichen einstellbar |
|
||||
| Code-Fenster | Hellgrau/Weiß auf **Blau (1)** |
|
||||
| Titelleiste aktiv | **Weiß (15) auf Magenta (5)** — VBDOS-Spezifikum |
|
||||
| Rahmen/Scrollbalken | Schwarz auf Hellgrau (7) |
|
||||
| Project Window/Dialoge | Schwarz auf Hellgrau (7); Fokus-Button mit weißem Doppelrahmen; Deaktiviertes Dunkelgrau (8); Listenauswahl Weiß auf Schwarz |
|
||||
| Statuszeile | Schwarz auf **Cyan (3)** |
|
||||
|
||||
Alles über **Options→Display** je „User-Interface Element" umkonfigurierbar
|
||||
(Fore-/Background aus 16 Farben, Desktop-Füllzeichen, Tabweite).
|
||||
Laufzeit-Defaults kompilierter Programme weichen ab (Titel Weiß auf Schwarz).
|
||||
|
||||
## 5. Editor-Verhalten (Konfidenz: sicher; Keyword-Großschreibung: wahrscheinlich)
|
||||
|
||||
- **Syntax Checking** (Toggle, Standard an): beim Verlassen der Zeile wird
|
||||
geprüft (Fehlerdialog), formatiert (Leerzeichen, Keywords groß) und die
|
||||
Zeile sofort in ausführbare Form übersetzt. Für Terminal Basic heißt das:
|
||||
zeilenweise Inkrementalübersetzung ist Teil des Editors (passt zur
|
||||
Instant-Compile-Anforderung).
|
||||
- **DECLARE**-Prototypen werden beim Speichern automatisch erzeugt;
|
||||
DEFtype-Zeilen werden automatisch in neue Prozeduren übernommen.
|
||||
- Tastatur: CUA (Ctrl+X/C/V/Z, Einfg, Pos1/Ende) **plus** WordStar-Chords
|
||||
(Ctrl+Q…, Ctrl+Y Zeile löschen, Bookmarks Ctrl+K,0–3 / Ctrl+Q,0–3).
|
||||
Prozedurnavigation **Shift+F2/Ctrl+F2**.
|
||||
|
||||
## 6. Run/Debug-Tasten (Konfidenz: sicher)
|
||||
|
||||
**Shift+F5** Start · **F5** Continue · **F4** Output-Screen-Toggle ·
|
||||
**F7** bis Cursor · **F8** Single Step · **F10** Procedure Step ·
|
||||
**F9** Breakpoint · **Shift+F9** Instant Watch · **Shift+F8/Shift+F10**
|
||||
History rückwärts/vorwärts (bei History On) · **F12** Event Procedures.
|
||||
Break-Modus: Immediate Window akzeptiert `PRINT`, Zuweisungen,
|
||||
Prozeduraufrufe, `ERROR n`; „Set Next Statement" verlegt die Ausführung.
|
||||
„Break on Errors" stoppt im Fehlerhandler.
|
||||
|
||||
## 7. Hilfe (Konfidenz: sicher)
|
||||
|
||||
**F1** kontextsensitiv (auch rechte Maustaste, konfigurierbar),
|
||||
**Shift+F1** Using Help. Hyperlinks als ◄Thema►, Tab/Shift+Tab springt,
|
||||
Enter folgt, **Alt+F1** zurück (20 Ebenen), Ctrl+F1 nächstes Topic,
|
||||
Esc schließt. Hilfe im eigenen Fenster; Index, Contents, Keyboard-Guide,
|
||||
Tutorial. → Terminal Basic: eigenes Hilfeformat, gleiche Navigation.
|
||||
|
||||
## 8. Statuszeile (Konfidenz: sicher; Caps/Num: unklar)
|
||||
|
||||
Unterste Zeile, Schwarz auf Cyan. Links kontextabhängige Shortcuts in
|
||||
spitzen Klammern (`<Shift+F1=Help> <F6=Window> <F2=Code> <F5=Run>
|
||||
<F8=Step>`), per Mausklick auslösbar. Rechts `Zeile:Spalte`
|
||||
(`00001:001`). TODO: Caps/Num-Anzeige.
|
||||
|
||||
## 9. Start (Konfidenz: wahrscheinlich)
|
||||
|
||||
„Log-On Screen" (Begrüßung, Version, Copyright), danach leeres Projekt:
|
||||
Code-Fenster „[1] Untitled", Project Window „Untitled". Kein
|
||||
Survival-Guide-Dialog, kein Easy/Full-Menüs-Konzept. TODO: Splash vs. Dialog.
|
||||
|
||||
## 10. Interpreter vs. Compiler (Konfidenz: sicher)
|
||||
|
||||
Die Umgebung führt P-Code-übersetzte Zeilen sofort aus; der separate
|
||||
Compiler erzeugt native EXEs (wahlweise standalone oder mit Runtime-Modul).
|
||||
Nur die Umgebung hat: Immediate Window, Watches/Watchpoints, Breakpoints,
|
||||
Stepping, History-Trace, Set Next Statement, automatische Bereichs-/
|
||||
Überlaufprüfungen. → Terminal Basic: `tbdos` (IDE) und `tbdosc`
|
||||
(Standalone-Compiler) teilen sich dieselbe TBVM, damit es — anders als im
|
||||
Vorbild — **keine** Verhaltensunterschiede zwischen IDE-Lauf und
|
||||
kompiliertem Programm gibt (dokumentierte Abweichung, gewollt).
|
||||
|
||||
## Übernahme-Entscheidungen für Terminal Basic
|
||||
|
||||
1. Menüstruktur, Tastenbelegung, Fensterverwaltung und Farbschema werden
|
||||
originalgetreu übernommen (inkl. Magenta-Titelleiste, Options→Display).
|
||||
2. Umgebung und Form Designer werden ein Prozess mit zwei Modi; der
|
||||
F12/Shift+F12-Wechsel bleibt erhalten.
|
||||
3. Zeilenweises Syntax-Checking mit Formatierung/Normalisierung ist
|
||||
Editor-Standard (abschaltbar wie im Vorbild).
|
||||
4. IDE-Lauf und `tbdosc`-Kompilat verhalten sich identisch (gleiche TBVM).
|
||||
5. MS-DOS-spezifische Toolbox-Controls (Dir/Drive/File List) werden als
|
||||
plattformneutrale Datei-Browser-Controls nachgebildet.
|
||||
Reference in New Issue
Block a user