CX_DICTIONARY
Achtung: Diese Klasse ist veraltet und sollte nicht mehr verwendet werden. Bitte stattdessen CX_OBJECT_DICTIONARY_ML verwenden.
Klassenhierarchie
- CX_CLASS
- CX_DICTIONARY
Beschreibung:
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.
Code-Beispiel:
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 | Suchargument in der aktuellen Sprache | |
RebuildReverseRelation | Rückwärts-Verweise wieder herstellen. | ||||
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 |
- MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion
- I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld
Modul | Kurzbeschreibung |
---|---|