# Omnis Commands Cheat Sheet ## Die 10 wichtigsten Befehle | # | Befehl | Was es tut | JS-Aequivalent | |---|--------|-----------|----------------| | 1 | `Calculate lX as expr` | Berechnung + Zuweisung | `let x = expr` | | 2 | `Do obj.$method()` | Methodenaufruf | `obj.method()` | | 3 | `If ... Else ... End If` | Bedingung | `if ... else ...` | | 4 | `For i from a to b step c` | Zaehlschleife | `for (let i=a; i<=b; i+=c)` | | 5 | `For each line in list` | Listen-Iteration | `for (const item of arr)` | | 6 | `While ... End While` | Bedingungsschleife | `while (...)` | | 7 | `Quit method lVal` | Methode beenden + Return | `return val` | | 8 | `OK message {text}` | Nachricht anzeigen | `alert(text)` | | 9 | `Switch ... Case ... End Switch` | Fallunterscheidung | `switch ... case` | | 10 | `Do inherited` | Super-Methode rufen | `super.method()` | ## Variablen & Berechnung ```omnis Calculate lName as "Harry" String zuweisen Calculate lSum as lA + lB Berechnen Calculate lText as con("Hallo ", lName) String verketten Calculate lUpper as upp(lName) Grossbuchstaben Calculate lLen as len(lName) String-Laenge Calculate lSub as mid(lName, 2, 3) Substring Calculate lPos as pos("r", lName) Zeichen finden ``` ## Kontrollfluss ```omnis If lAge >= 18 If lStatus = 'A' | lStatus = 'B' # erwachsen # A oder B Else If lAge >= 14 End If # jugendlich Else Switch lStatus # kind Case 'A' End If # aktiv Case 'I' While lX < 100 # inaktiv Calculate lX as lX + 1 Default End While # sonstiges End Switch For lI from 1 to 10 step 1 # lI = 1, 2, 3, ...10 End For ``` ## Dialoge ```omnis OK message {Fertig!} Info-Dialog Yes/No message {Loeschen?} Ja/Nein Dialog If flag true ... End If Ergebnis pruefen Prompt for input {Name?} lName Eingabe-Dialog No/Yes message {Abbrechen?} Nein/Ja (Default=Nein) ``` ## Debugging ```omnis Breakpoint Debugger oeffnen (= debugger; in JS) OK message {Debug: [lVar]} Quick-Debug mit Message Trace log {[lVar]} In Trace-Log schreiben ``` ## SQL-Befehle (ueber Session/Statement) ```omnis Do lSess.$logon(host, user, pw, 'sess') Returns #F Verbinden Do lStmt.$prepare('SELECT...WHERE id=:1') Returns #F Vorbereiten Do lStmt.$execute(lID) Returns #F Ausfuehren Do lStmt.$fetch(lList, kFetchAll) Returns #F Ergebnis holen Do lStmt.$execdirect('INSERT...') Returns #F Direkt ausfuehren ``` ## Merkhilfe: Die Befehls-Familien ``` DATEN: Calculate, Do, Set current list FLUSS: If/Else/End If, For/End For, While/End While, Switch/Case/End Switch METHODE: Quit method, Do inherited, Quit all methods DIALOG: OK message, Yes/No message, Prompt for input FENSTER: Open window, Close window, Redraw, Enter data SQL: $logon, $prepare, $execute, $fetch, $execdirect ```