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>
168 lines
9.0 KiB
Markdown
168 lines
9.0 KiB
Markdown
# 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.
|