# Omnis $-Notation Cheat Sheet ## Navigation durch die Hierarchie ``` $root Die Omnis-Wurzel .$libs Alle geoeffneten Libraries .myLib Bestimmte Library .$classes Alle Klassen .myClass Bestimmte Klasse .$methods Alle Methoden .$objs Alle UI-Objekte .$ivars Alle Instanz-Variablen ``` ## Kontext-Shortcuts | Pfad | Bedeutung | JS-Aequivalent | |------|-----------|---------------| | `$cinst` | Aktuelle Instanz | `this` | | `$cclass` | Aktuelle Klasse | `this.constructor` | | `$clib` | Aktuelle Library | - | | `$ctask` | Aktueller Task | Global scope | | `$cmethod` | Aktuelle Methode | - | | `$cwind` | Aktuelles Window | `window` | ## UI-Objekte ```omnis $cinst.$objs.feldName.$contents Wert lesen $cinst.$objs.feldName.$contents.$assign(x) Wert setzen $cinst.$objs.feldName.$visible Sichtbar? $cinst.$objs.feldName.$enabled Aktiv? $cinst.$objs.feldName.$textcolor Textfarbe $cinst.$objs.feldName.$backcolor Hintergrundfarbe $cinst.$objs.feldName.$font Schriftart $cinst.$objs.feldName.$tooltip Tooltip-Text $cinst.$objs.feldName.$dataname Gebundene Variable ``` ## Listen-Notation ```omnis lList.$linecount Anzahl Zeilen lList.$line Aktuelle Zeile (1-basiert) lList.$colcount Anzahl Spalten lList.$cols Spalten-Collection lList.$cols.$add(...) Spalte hinzufuegen lList.$add() Zeile hinzufuegen lList.$remove(n) Zeile n entfernen lList.$clear() Alle Zeilen loeschen lList.$search(expr) Suchen lList.$sort(col, asc) Sortieren lList.$sendall(expr) Auf alle Zeilen anwenden lList.$merge(other) Listen zusammenfuegen lList.$selected Auswahl-Flag der akt. Zeile lList.[3].colname Spalte in Zeile 3 lList.colname Spalte in aktueller Zeile ``` ## Methoden aufrufen ```omnis Do iObj.$method() Ohne Rueckgabe Do iObj.$method() Returns lResult Mit Rueckgabe Do iObj.$method(p1, p2) Returns lR Mit Parametern Do $cinst.$objs.btn.$visible.$assign(kTrue) Property setzen Do inherited Super-Methode ``` ## Wichtige Konstanten ``` kTrue / kFalse Boolean kCharacter String-Typ kInteger Ganzzahl-Typ kNumber Dezimal-Typ kDate Datum-Typ kList Listen-Typ kRow Row-Typ kBoolean Boolean-Typ kFetchAll Alle Zeilen holen kFetchOne Eine Zeile holen kSimplechar Einfacher String-Subtyp k2dp 2 Dezimalstellen ``` ## Merkhilfe: LESEN vs SETZEN ``` LESEN: Calculate lVal as $cinst.$objs.feld.$contents SETZEN: Do $cinst.$objs.feld.$contents.$assign(lVal) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nie = verwenden! Immer $assign() ! ```