Phase 4: Steuerelemente implementieren
This commit is contained in:
@@ -106,6 +106,9 @@ stehen am Ende dieses Dokuments; nur diese Liste rechtfertigt Abweisungen.
|
||||
- `CONST name = ausdruck` — Konstanten (konstante Ausdrücke zur Compilezeit).
|
||||
- `DECLARE SUB/FUNCTION name (parameter)` — Prototyp; die IDE erzeugt sie
|
||||
automatisch beim Speichern.
|
||||
- `'$INCLUDE: 'datei'` — bindet eine Textquelle relativ zur einschließenden
|
||||
Datei ein; Namen werden wie unter DOS ohne Beachtung der Großschreibung
|
||||
aufgelöst, Zyklen werden namentlich abgewiesen.
|
||||
|
||||
## 4. Operatoren (nach Priorität, hoch → niedrig)
|
||||
|
||||
@@ -148,6 +151,9 @@ INTEGER −1 (wahr) / 0 (falsch).
|
||||
als Direktmodus-Befehl der IDE (Phase 5) und ist nicht kompilierbar.
|
||||
- `SLEEP [sekunden]`, `DO EVENTS`/`DOEVENTS` (Ereignisse verarbeiten —
|
||||
zentral für Forms)
|
||||
- `RUN` startet das aktuelle Programm neu; `RUN zeile` startet es nach den
|
||||
globalen Deklarationen an der angegebenen Zeile, `RUN datei$` lädt relativ
|
||||
zur laufenden Quelle eine `.BAS`-, `.FRM`- oder `.MAK`-Datei neu.
|
||||
|
||||
## 6. Prozeduren
|
||||
|
||||
@@ -517,16 +523,12 @@ Dialoge:
|
||||
Kombinationen) liefern nichts — eine eigene Kodierung dafür wäre eine
|
||||
Erweiterung und gehört in Stufe 2.
|
||||
4. **Kein `CHAIN`/Overlay-Mechanismus**; `SHELL` startet die System-Shell.
|
||||
5. **Grafik-Anweisungen** (`SCREEN n>0`, `PSET`, `PRESET`, `LINE`,
|
||||
`CIRCLE`, `PAINT`, `DRAW`, Grafik-`GET`/`PUT`, `PALETTE`, `WINDOW`,
|
||||
`VIEW`, `PMAP`, `PCOPY`, `POINT`) sind Nicht-Ziel und werden **zur
|
||||
Compile-Zeit** mit „Feature unavailable" abgewiesen. Die Formen, die
|
||||
sich ein Schlüsselwort mit einer unterstützten Anweisung teilen, erkennt
|
||||
der Compiler an ihrer Syntax: `LINE` ohne `INPUT`, `GET`/`PUT` mit
|
||||
`(`, `VIEW` ohne `PRINT`. Hinweis: das Vorbild **hatte** die
|
||||
Grafikmodi 0–13, aber nicht gleichzeitig mit Forms (dort Fehler 272
|
||||
„Invalid when forms are showing") — wir übernehmen nur den
|
||||
Forms-/Textmodus-Zweig.
|
||||
5. **Grafik im Zellenpuffer:** `SCREEN 0` bis `SCREEN 13`, `LINE` (auch
|
||||
`B`/`BF` und `STEP`), `PAINT` und `VIEW` werden ausgeführt. Historische
|
||||
Pixelkoordinaten werden dabei in 8×8-Blöcken auf Terminalzellen
|
||||
abgebildet. `PSET`, `PRESET`, `CIRCLE`, `DRAW`, Grafik-`GET`/`PUT`,
|
||||
`PALETTE`, `WINDOW`, `PMAP`, `PCOPY` und `POINT` bleiben Nicht-Ziel und
|
||||
werden zur Compile-Zeit mit „Feature unavailable" abgewiesen.
|
||||
6. **`PLAY`/`SOUND`**: `BEEP` = Terminal-Bell; Rest Nicht-Ziel (Fehler 73).
|
||||
5a. **`LPRINT` schreibt in eine Datei** (2026-09-03): einen
|
||||
plattformübergreifenden Druckerkanal gibt es nicht. Der Druckerpuffer
|
||||
@@ -576,3 +578,13 @@ Dialoge:
|
||||
werden nicht abgebildet. Unter Windows ist `SIGTERM` von außen nicht
|
||||
zustellbar — `SIGNAL(2)` bleibt dort wirkungslos. Trifft `SIGINT` ohne aktiven Trap
|
||||
ein, bleibt es beim bisherigen Abbruch.
|
||||
|
||||
9. **Forms-Darstellung und Dateisystem-Steuerelemente** (2026-09-05):
|
||||
Controls zeichnen ausschließlich in den Unicode-Zellenpuffer. Mangels
|
||||
vollständiger Original-Screenshots gelten die Zeichenbilder und
|
||||
Fokus-/Deaktiviert-Farben aus `forms-referenz.md` als unsere Festlegung.
|
||||
Dasselbe gilt für die Z-Reihenfolge (Erzeugungsreihenfolge, später liegt
|
||||
oben) und gleichzeitig fällige Timer (aufsteigend nach `CtlName`).
|
||||
`DirListBox` und `FileListBox` verwenden native Pfade und `*`/`?`-Muster;
|
||||
`DriveListBox` zeigt unter Unix `/` und unter macOS zusätzlich Mounts aus
|
||||
`/Volumes` statt DOS-Laufwerksbuchstaben.
|
||||
|
||||
Reference in New Issue
Block a user