edu-senex/edu/content/flashcards/deck-commands.md

5,3 KiB

Flashcard Deck: Omnis Commands

Thema: Die wichtigsten Omnis-Befehle Schwierigkeit: Anfaenger -> Fortgeschritten Karten: 25


Karte 1 | Basis

Q: Was macht der Befehl Calculate? A: Berechnet einen Ausdruck und weist das Ergebnis einer Variablen zu. Calculate lX as 5 + 3 -> lX = 8. Aequivalent zu let x = 5 + 3 in JS.


Karte 2 | Basis

Q: Was macht der Befehl Do? A: Fuehrt eine Methode oder einen Notation-Ausdruck aus. Do iObj.$method() Returns lResult. Wie ein Funktionsaufruf.


Karte 3 | Basis

Q: Was macht Quit method? A: Beendet die aktuelle Methode und gibt optional einen Wert zurueck. Quit method lResult = return lResult in JS.


Karte 4 | Basis

Q: Was macht OK message? A: Zeigt ein Dialogfeld mit einer Nachricht. OK message {Hallo [lName]!} - wie alert() in JS. Variablen in [] werden ersetzt.


Karte 5 | Basis

Q: Was ist der Unterschied zwischen [lVar] und @[lVar] in SQL? A: [lVar] = direkte Text-Substitution (SQL-Injection-Gefahr!). @[lVar] = Bind-Variable (sicher, parametrisiert). Immer @[lVar] in SQL verwenden!


Karte 6 | Basis

Q: Was macht If / Else / End If? A: Bedingte Ausfuehrung - identisch zu anderen Sprachen. If lAge >= 18 ... Else ... End If. WICHTIG: End If ist Pflicht!


Karte 7 | Basis

Q: Was macht For ... End For? A: Zaehlschleife: For lI from 1 to 10 step 1 ... End For. Oder Listen-Iteration: For each line in list from 1 to lList.$linecount step 1 ... End For.


Karte 8 | Basis

Q: Was macht While ... End While? A: Bedingungsschleife: While lCounter < 100 ... End While. Wie while in jeder anderen Sprache.


Karte 9 | Mittel

Q: Was macht Switch / Case / Default / End Switch? A: Fallunterscheidung: Switch lStatus / Case 'A' ... Case 'B' ... Default ... End Switch. Wie switch in JS, aber OHNE break noetig!


Karte 10 | Mittel

Q: Was macht Quit all methods? A: Bricht die GESAMTE Methodenkette ab (alle aufrufenden Methoden). Wie ein sofortiger Hard-Exit. Vorsichtig verwenden!


Karte 11 | Mittel

Q: Was macht Enter data? A: Uebergibt die Kontrolle an den Benutzer, damit er Daten eingeben kann. Die Methode pausiert, bis der User fertig ist. Gibt es in modernen Sprachen nicht!


Karte 12 | Mittel

Q: Was macht Yes/No message? A: Zeigt einen Dialog mit Ja/Nein-Buttons. Ergebnis in #F: Yes/No message {Sicher?} / If flag true ... End If. Wie confirm() in JS.


Karte 13 | Mittel

Q: Was ist #F (der Flag)? A: Ein globaler Boolean-Wert, der von vielen Befehlen gesetzt wird. Returns #F bei SQL-Operationen. Wie ein impliziter Return-Code. Abfrage mit If flag true.


Karte 14 | Mittel

Q: Was macht Breakpoint? A: Haelt die Ausfuehrung an und oeffnet den Debugger - wie debugger; in JavaScript.


Karte 15 | Mittel

Q: Was macht Begin/End reversible block? A: Definiert Code, der automatisch rueckgaengig gemacht wird, wenn die aeussere Methode endet. Fuer temporaere Aenderungen (Cursor, Fenster-Zustand etc.).


Karte 16 | Mittel

Q: Was macht Set main file? A: Setzt die Hauptdatei (Tabelle) fuer Datenoperationen. Legacy-Konzept aus der Omnis-eigenen DB, wird bei SQL-DAMs weniger gebraucht.


Karte 17 | Fortgeschritten

Q: Was macht Do inherited? A: Ruft die gleichnamige Methode der Superklasse auf - wie super.method() in JS oder super().method() in Python.


Karte 18 | Fortgeschritten

Q: Was macht Install menu? A: Installiert ein Menu-Objekt in der Menueleiste. Omnis hat ein eigenes Menu-System (nicht HTML-basiert fuer Desktop-Apps).


Karte 19 | Fortgeschritten

Q: Was macht Prepare for insert / Prepare for edit? A: Bereitet einen Datensatz zum Einfuegen/Bearbeiten vor. Setzt interne Flags und initialisiert Felder. Teil des Omnis-Daten-Workflows.


Karte 20 | Fortgeschritten

Q: Was macht Update files? A: Schreibt geaenderte Daten zurueck in die Datenbank. Wie COMMIT in SQL + $flush(). Teil des legacy Daten-Workflow.


Karte 21 | Basis

Q: Was macht Set current list? A: Setzt die "aktive" Liste fuer Listenbefehle. Set current list lMyList. Legacy-Ansatz - besser: direkte $-Notation verwenden.


Karte 22 | Mittel

Q: Was macht Redraw? A: Erzwingt das Neuzeichnen eines UI-Elements. Do $cinst.$objs.myField.$redraw() oder Redraw {myField}. Wie forceUpdate() in React.


Karte 23 | Mittel

Q: Was macht Send to back / Bring to front? A: Aendert die Z-Order von UI-Elementen (welches Element vorne liegt). Desktop-UI-Konzept.


Karte 24 | Fortgeschritten

Q: Was macht Do redirect? A: Leitet eine Methode auf ein anderes Objekt um. Do redirect (lOtherObj, 'methodName'). Wie Delegation/Proxy in JS.


Karte 25 | Fortgeschritten

Q: Was macht Queue Befehle (Queue set, Queue send, etc.)? A: Reiht Events in die Event-Queue ein, die nach der aktuellen Methode verarbeitet werden. Wie setTimeout(fn, 0) / queueMicrotask() in JS - asynchrone Ausfuehrung.


Spaced Repetition Tracking

Karte Zuletzt Naechste Schwierigkeit
(wird beim Ueben gefuellt)