Die Klasse CX_DICTIONARY ermöglicht es, Objekte unter beliebigen mehrsprachigen
Bezeichnungen zu registrieren. Ein Objekt kann beliebig viele Bezeichner haben, und unter
einem Bezeichner können beliebig viele Objekte im Dictionary eingetragen werden.
Die Objekte können mittels der ihnen zugeordneten Bezeichnungen sehr schnell wieder
aufgefunden werden.
Das Dictionary verwaltet auch eine Rückbeziehung, so dass man zu einem Objekt alle
Bezeichnungen, unter denen es eingetragen wurde, erhalten kann.
Bei der Suche im Dictionary werden Groß- und -kleinbuchstaben unterschieden (case sensitive).
CX_DICTIONARY gehört zur Familie der Dictionary-Klassen.
CreatePersObject(CX_DICTIONARY) -> dict, "D1" dict Put(name)
Prompt(RED, FONT(0), 235, 22, "Key:")
String(key, 306, 22, 300)
[
SELECT: 0 GetValue 1 dict Call(Query) GetElement Dup if FillWindow // find object in dictionary
]
....................................
Button(bk, 600, 22, "s_ready.bmp")
[
SELECT: GetValue(, key) object dict Call(Enter) // (key, object) into dictionary
]
...................................
ObjectList(dict, AUTO_POSITION, 11, 11, 620, 80)
[
INITIALIZE: // display dictionary entries
"CX_KEYWORD::LanguageKey(0)" SetFormat // key in 0th language
"CX_KEYWORD::LanguageKey(1)" SetFormat // key in 1st language
[ "CX_KEYWORD::GetObject()" NO_DRAIN, COLOR CYAN ] SetFormat // the object
dict Call(GetAllKeys) FillObox
DOUBLE_CLICK: [] OboxEdit // edit dictionary entry
]
| Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung | |
|---|---|---|---|---|---|
| Cardinalities | INTEGER | ||||
| CountBadKeys | INTEGER | ||||
| Enter | STRING, OBJECT | neuen Eintrag für das Objekt einfügen, falls genau dieser Eintrag (Begriff, Objekt) schon existiert -> Fehlermeldung | Begriff in der aktueller Sprache angeben | ||
| EnterAlways | STRING, OBJECT | nur für Testzwecke ! wie Enter, aber ohne Test, Doppel-Eintragungen möglich |
|||
| EnterIfNotThere | STRING, OBJECT | wie Enter, falls genau dieser Eintrag (Begriff, Objekt) schon existiert -> keine Operation | |||
| EnterML | MULTIPLE_STRING, OBJECT | wie Enter | Begriffe für alle Sprachen angeben | ||
| EnterMLIfNotThere | MULTIPLE_STRING, OBJECT | wie EnterIfNotThere | |||
| Exists | STRING, OBJECT | INTEGER | Testet ob das Objekt unter dem Begriff im Dictionary eingetragen ist | Begriff in der aktueller Sprache angeben | |
| Export | STRING | ||||
| GetAllKeys | COLLECTION | Rückgabe: alle Dictionary- Einträge als CX_KEYWORDs | |||
| GetDuplicateKeys | COLLECTION | Rückgabe: alle duplizieren Einträge als CX_KEYWORDs | |||
| GetLonelyKeys | COLLECTION | Rückgabe: alle Einträge ohne Beziehung zum Objekt | |||
| GetNames | OBJECT | COLLECTION | Rückgabe: alle Einträge zum ein Objekt als CX_KEYWORDs | ||
| Name | * | eindeutige Eingabe für Datenfeld name erzwingen | |||
| NewKey | OBJECT | OBJECT | neuen Eintrag = neues Objekt CX_KEYWORD erzeugen | ||
| Query | STRING, INTEGER | COLLECTION | alle Objekte zu einem Suchbegriff finden | Suchargument in der aktuellen Sprache | |
| QueryByType | STRING, STRING, INTEGER, INTEGER | COLLECTION | wie Query, Ergebnis nach Klasse filtern | ||
| RegExQuery | STRING, INTEGER | COLLECTION | alle Objekte zum Suchbegriff finden, Suchargument ist regular Expresssion | ||
| RegExQueryByType | STRING, STRING, INTEGER, INTEGER | COLLECTION | wie ReqExQuery, Ergebnis nach Klasse filtern | ||
| Remove | MULTIPLE_STRING, OBJECT | Eintrag für das Objekt löschen | |||
| RemoveDuplicateKeys | alle duplizierte Einträge löschen | ||||
| RemoveLonelyKeys | alle Einträge ohne Beziehung zum Objekt löschen | ||||
| RemoveNames | OBJECT | alle Einträge für das Objekt löschen | |||
| RemoveNamesOfDeletedObjects | alle Einträge löschen, die auf ein logisch gelöschtes Objekt verweisen | ||||
| Clone | INTEGER | OBJECT | Erzeugt ein neues Dictionary mit den gleichen Einträgen für die gleichen Objekte | ||
| string | INTEGER | CX_STRING | Liefert die String-Darstellung des Objektes | ||
| Modul | Kurzbeschreibung |
|---|---|