Lade...
 

Flag Informationen

Flag Übersicht

Allgemeine Widget Flags

Widget-Flags können unter anderem neben Widget-Properties in der Deklaration eines Window-Objekts genutzt werden.

Flag Beschreibung Interne Repräsentation Integer
ACCEPT_DROP Auf der ComboObjektbox, der Objectbox oder dem Window können von einer Objektbox mit Drag-and-Drop über den Bildschirm gezogene Objekte abgelegt werden. Was mit den Objekten geschehen soll, muss in der Aktionsliste beschrieben werden. 0x00001000 4096
AUTO_POSITION Die X-Positionen werden automatisch berechnet, müssen also mit SetFormat nicht explizit vorgegeben werden. 0x00040000 262144
BACK
208673
Einem Button kann das Flag BACK hinzugefügt werden, um ihn für das ihn umfassende Fenster als Back-Button zu markieren. Wird nun auf einem Widget, welches kein ESC-Event definiert, die Escape-Taste gedrückt, so wird auf diesem Button das SELECT-Event ausgelöst. 0x1000 4096
BITMAP_SIZE Werden Bitmaps dargestellt (über ein Push-Statement in einer SetFormat generiert), so werden diese ohne dieses Flag auf Spaltenbreite gedehnt. Dies tritt nur auf, wenn die Breite der Spalte (etwa durch einen Header) vorgegeben ist oder durch zusätzlich in der Spalte vorhandene Strings trotz AUTO_POSITION die Spaltenbreite nicht nur durch die Bitmaps bestimmt wird. Die Angabe des Flags unterbindet dieses, so dass jede Bitmap garantiert in ihrer Originalgröße dargestellt wird. 0x00000800 2048
CHECK_MARK Das Item zeigt seine Selektion durch ein 'Häkchen' an. Der aktuelle Zustand kann mit GetValue abgefragt und mit PutValue gesetzt werden. 0x00000100 256
DEFAULT

Einem Button kann das Flag DEFAULT hinzugefügt werden. Hierdurch wird er für das ihn umfassende Fenster als der Default-Button markiert. Wird nun auf einem Widget, welches kein SELECT-Event definiert, eine solches ausgelöst, so wird das Event an den Default-Button weitergeleitet.

Dies ist insbesondere dann nützlich, wenn ein Formular ausgefüllt werden muss, für welches es nur eine Möglichkeit gibt fortzufahren.

(Siehe auch Beschreibung des DEFAULT-Flags in der Beschreibung des Buttons)

0x800 2048
DRAG_COPY Die gerade ausgewählten Objekte können mit der rechten Maustaste zu einer anderen Objektbox oder zu einem Window gezogen werden (Drag-and-Drop). Die Objekte können nur auf einem Ziel mit Flag ACCEPT_DROP abgelegt werden. Die Listboxeinträge bleiben erhalten. 0x00000400 1024
DRAG_MOVE Wie bei DRAG_COPY können die gerade ausgewählten Objekte zu einer anderen Objektbox oder zu einem Window gezogen werden. Die entsprechenden Listboxeinträge werden gelöscht, wenn die Objekte auf einer anderen Listbox oder einem Window mit Flag ACCEPT_DROP abgelegt wurden. 0x00002000 8192
DYNAMIC_POSITIONING Größe und Position des Windowobjekts werden nicht durch seine Koordinaten, sondern vom Parent-Window bestimmt. Das Windowobjekt belegt die gesamte Client-Area seines Parent-Windows und paßt sich diesem an, wenn die Größe des Windows interaktiv verändert wird. 0x00000200 512
ENTIRE Für der Darstellung einer Collection bzw. m-1- oder m-n-Relation mit FillWindow und DrainWindow existiert folgender Modus: Die Objektbox zeigt nur die Objekte der Collection, m-1- oder m-n-Relation. Dieser Modus wird mit dem Flag ENTIRE aktiviert. 0x00000800 128
HIDDEN Die Enumeration, die Objectbox oder das Windowobjekt bleibt solange unsichtbar, bis Anweisung Show sie auf dem Bildschirm erschienen lässt. 0x00000002 2
HZ_SCROLL_BAR Die Objektbox erhält zusätzlich zum vertikalen auch einen horizontalen Scrollbar. 0x00000020 32
IGNORE_RECURSION Beim Einlesen einer Struktur wird nicht kontrolliert, ob ein einzufügendes Objekt bereits an der Einfügestelle als übergeordnetes Objekt oder als eines diesem Objekt wiederum übergeordnetes Objekt (Parent-Parent, usw.) vorkommt. Bei 0 SetLimit und 0 SetLevels kann dies zu einer Endlosschleife des Programms führen! Wird hingegen mit SetLevels ein komplettes Einlesen unterbunden, die jeweiligen untergeordneten Objekte also erst bei Bedarf eingelesen, ermöglicht dieses Flag, dass die strukturellen Abhängigkeit korrekt dargestellt werden. In diesem Fall kann jedoch ExpandAll bzw. der Druck auf die Taste '/' (Divide) ebenfalls zur Endlosschleife führen. 0x20000000 536870912
IMMEDIATELY Schließt das Fenster sofort (und nicht verzögert, s.o.). Dieses Flag sollte nur in Verbindung mit automatischen Tests benutzt werden: Automatische Tests erleichtern es, viele Fenster gleichzeitig zu öffnen. Jedes Fenster belegt aber eine Reihe von System-Resourcen. Ein verzögertes Schließen würde diese Resourcen erst am Ende der Testreihe freigeben und damit Resourcen unnötig blockieren, die während des Tests gebraucht werden. - -
JUSTIFY_CENTER Die eingegebene Zeichenfolge erscheint im Eingabefeld zentriert. 0x00000001 1
JUSTIFY_RIGHT Die eingegebene Zeichenfolge erscheint rechtsbündig im Eingabefeld. 0x00000002 2
LIST_INVALID Normalerweise werden in eine Objektbox nur gültige Objekte aufgenommen. Wenn dieses Flag gesetzt ist, werden jedoch auch ungültige Objekte aufgenommen und angezeigt. 0x00000200 512
LIST_ORIGIN Wird ein ungültiges Objekt in eine ListView eingefügt und es gibt ein gültiges Austauschobjekt, wird normalerweise das gültige Austauschobjekt aufgenommen. Dieses Flag verhindert das, so dass nur das gültige Originalobjekt aufgenommen wird. Weiter unten wird das Zusammenspiel mit LIST_INVALID genauer erläutert. 0x00200000 2097152
LOCKED

Widget: Das Widget ist gesperrt. Dieser Zustand kann durch Unlock wieder aufgehoben werden.

Window: Das Window kann interaktiv nicht geschlossen werden (das entsprechende Item im Systemmenü ist inaktiv).

0x00000200 512
LOWER_CASE Eingegebene Zeichen werden in Kleinbuchstaben konvertiert. 0x00000002 2
NO_CLEAR Das Eingabefeld wird von ClearWindow nicht gelöscht. 0x00001000 4096
NO_COLUMNHEADER Es werden keine Spaltenbeschreibungen angezeigt. 0x00400000 4194304
NO_DRAIN Die Enumeration, das Eingabefeld oder die Objektbox wird zwar von FillWindow gefüllt, aber von DrainWindow ignoriert. Dieses Flag ist nur für solche Fenster sinnvoll, die mit Anweisung OboxEdit verbunden sind. Über NO_DRAIN wird bestimmt, ob das automatische Zurückschreiben der Änderungen in das Window (durch ein implizites DrainWindow) unterdrückt werden soll. 0x00080000 524288
NO_MOVE Das Window kann interaktiv nicht verschoben werden. 0x00000080 128
NO_PRINT Das mit diesem Flag ausgestattete Widget wird bei Druck mittels PutLine nicht ausgedruckt 0x00000010 16
NO_SIZE Das Window kann interaktiv nicht vergrößert/verkleinert werden. 0x00000040 64
NO_SORTHEADER Die Spaltenköpfe werden nicht als Knöpfe dargestellt, deshalb ist die Liste auch nicht per Knopfdruck auf einen Spaltenkopf sortierbar. Man kann aber noch die Spaltenbreite ändern und auch Spalten verschieben. 0x00000100 256
NON_SELECTABLE Der Button kann nicht gedrückt werden bzw in ein Eingabefeld können keine Daten eingegeben werden. Sein Text oder die Daten sind grau dargestellt. 0x00000400 1024
NULL_ELEMENT Die ComboObjektbox erzeugt automatisch einen Eintrag, der sich auf kein Objekt bezieht. Ein NULL-Element ist nützlich, wenn die Objektbox mit FillWindow und DrainWindow zur Darstellung eines Pointers bzw. einer 1-1- oder 1-m-Relation benutzt wird. 0x00000400 1024
OPTIMIZE Die Optimierung bezieht sich auf die Zugriffsausdrücke für die Spalten der List (vergleiche Anweisung SetFormat): Gleiche Teilausdrücke werden nur einmal ausgewertet (weitere Hinweise ...). 0x00010000 65536
OVERWRITE Anweisung DrainWindow schreibt in das mit dem Windowobjekt verbundene Datenfeld wie Put(..., OVERWRITE). Dieses Flag ist nur wirksam, wenn DrainWindow für eine Objekt der Klasse CX_OVERWRITING_REF (oder einer davon abgeleiteten) ausgeführt wird. 0x00000001 1
PASSWORD Eingegebene Zeichen werden als * dargestellt. 0x00000008 8
QUICK_DISPLAY Um zu bestimmen, ob für den jeweiligen Knoten ein Expansionszeichen () angezeigt wird, muss für diesen ermittelt werden, ob Unterknoten vorhanden sind. Da hierzu eventuell sehr viele Objekte geprüft werden müssen (wenn sehr viele Objekte einer Klasse existieren, für die Unterknoten existieren können, jedoch keiner der vorhandenen Objekte die nötige Filterbedingung erfüllt), kann dies jedoch sehr zeitaufwendig sein. Um sich diesen Aufwand zu sparen, kann dieses Flag gesetzt werden. Dann werden für alle Knoten unterhalb der mit SetLevels gesetzten Stufe grundsätzlich Expansionszeichen gesetzt, auch wenn gar keine Unterknoten existieren. Für den letzteren Fall würde das Expansionszeichen beim Klicken einfach verschwinden, ohne Unterknoten zuzufügen. 0x00000800 2048
SELECT_MULTIPLE MenüItem:
Wenn sich unter den zum Menü gehörenden Items mehrere mit Flag CHECK_MARK befinden, bestimmt Flag SELECT_MULTIPLE, dass die Items unabhängig voneinander markiert werden können. Ohne SELECT_MULTIPLE wird bei der Auswahl eines Check-Mark-Items das bisher aktive Item deselektiert, d.h. es ist immer nur genau ein Item markiert.

Groups/Windows:
Eine Group hat die Eigenschaft, für ein inliegendes Widget die Message SELECT zu triggern, sobald dieses den Fokus erhält. Radio-Buttons reagieren auf dieses SELECT in besonderer Weise: Alle anderen Radio-Buttons und Check-Boxes innerhalb der Group werden deselektiert, sobald ein Widget gewählt wurde.
Für alle anderen Widgets ist dieses Verhalten ungewöhnlich, weil hier ein SELECT bereits beim Fokussieren getriggert wird. Das Flag SELECT_MULTIPLE verhindert bei einer Group, dass ein SELECT getriggert wird. Daher gilt: Groups mit Radio-Buttons dürfen das Flag SELECT_MULTIPLE nicht gesetzt haben, alle anderen Groups müssen das Flag haben!
Fenster mit einer Radio-Button-Group dürfen zudem keinen Default-Button haben. Dieser würde "gedrückt" werden sobald ein Radio-Button ausgewählt wurde.
Check-Boxes verhalten sich in diesem Fall wie die Radio-Buttons, nur dass es häufig vorkommt, dass mehrere Check-Boxen aktiviert werden sollen und somit das Flag SELECT_MULTIPLE situationsbedingt gesetzt werden muss.
Es kann auch vorkommen, dass direkt unter einem Window Radio-Buttons oder Check-Boxes definiert wurden. In diesem Fall muss überprüft werden, ob die Widgets alle aktiviert werden sollen (SELECT_MULTIPLE gesetzt), oder nur einzeln aktiviert werden sollen.
 

0x00000002 2
TOGGLE Wenn der Button gedrückt wird, wechselt er zwischen den Zuständen 'eingedrückt' (entspricht Wert TRUE) und 'erhaben' (Ausgangszustand, entspricht FALSE). Den Zustand kann man mit GetValue abfragen und mit PutValue setzen. 0x00000008 8
TRANSPARENT Der Text-Hintergrund des Prompts erscheint transparent. Dieses Flag ist nur dann sinnvoll, wenn das Prompt über farbigen Bereichen bzw. einem Hintergrundbild platziert werden soll. 0x00200000 2097152
UPPER_CASE Eingegebene Zeichen werden in Großbuchstaben konvertiert. 0x00000001 4
VIEW_ONLY Das Eingabefeld kann nur Daten anzeigen, aber man kann interaktiv keine Zeichen eingeben. 0x00000010 16

Window Flags

Window
Flag Beschreibung
LOAD Das Window wird bei Programmstart geöffnet. Windows ohne dieses Flag müssen explizit mit OpenWindow auf den Bildschirm gebracht werden. Wurde das LOAD-Flag bei keinem Window angegeben, so wird trotzdem das als erstes definierte Window geöffnet.
LAYOUT Ein einfaches Geometriemanagement wird beim Ändern der Fenstergröße angewendet. Aufgrund der angegebenen Koordinaten werden Größenänderungen proportional nachgeführt. Für anspruchsvolleres Layoutmanagement siehe Attach und Constraint.
STARTUP Das Window erscheint während der Startphase des Systems. Danach verschwindet es automatisch und Windows mit Flag LOAD werden geöffnet.
BACKGROUND_KEEP_RATIO
190484
Die Grafik des Hintergrundes wird um den Fenstermittelpunkt so skaliert, dass das Seitenverhältnis erhalten bleibt, aber das Fenster immer komplett gefüllt ist.
BITMAP_SIZE Wenn eine Grafik für den Hintergrund angegeben wurde, bestimmt diese die Größe des Windows (Parameter w und h werden ignoriert). Ohne Flag BITMAP_SIZE passt sich die Grafik der Größe des Fensters an und wird dementsprechend gestaucht bzw. gestreckt.
CONTROL_WINDOW

Das Window wird zum Hauptfenster. Das Flag ist dem Befehl ControlWindow der Übersicht halber wenn möglich vorzuziehen. Das Fenster verhält sich dann so, als ob beim Öffnen des Fensters der Befehl ControlWindow ausgeführt würde.

MODAL Wird ein Window mit Flag MODAL eröffnet, so sind die anderen, gleichzeitig auf dem Bildschirm sichtbaren Windows der Anwendung interaktiv nicht mehr zugänglich. Man benutzt dieses Flag, wenn das Window eine Aufforderung an den Anwender übermittelt und man ihn zwingen will, jetzt darauf zu reagieren.
FLOAT 190484 Ein mit FLOAT gekennzeichnetes Fenster bleibt stets im Vordergrund. Jedoch lassen sich die anderen Fenster im Gegensatz zu MODAL noch bedienen.
VT_SCROLL_BAR Das Fenster erhält einen vertikalen Scrollbar. WICHTIG! Der Scrollbar wird erst eingeblendet, wenn Widget außerhalb des sichtbaren Bereichs liegen.
HZ_SCROLL_BAR Das Fenster erhält einen horizontalen Scrollbar. WICHTIG! Der Scrollbar wird erst eingeblendet, wenn Widget außerhalb des sichtbaren Bereichs liegen.


Notebook Flags

NOTEBOOK

Flag     Interne Repräsentation Integer
NB_TAB_LEFT   Tabs erscheinen an der linken Seite des Notebooks. 0x0002 2
NB_TAB_RIGHT   Tabs erscheinen an der rechten Seite des Notebooks. 0x0004 4
NB_TAB_BOTTOM   Tabs erscheinen an der unteren Seite des Notebooks. 0x0008 8

 

Numerische Flags

Die Darstellung einer Zahl kann durch folgende Flags gesteuert werden:

Flag Beschreibung Interne Repräsentation Integer
NF_0_DECIMALS Abbildung ganzzahliger Zahlen 0x0100 256
NF_1_DECIMALS Zahl wird mit einer Nachkommastelle dargestellt 0x0200 512
NF_2_DECIMALS Zahl wird mit zwei Nachkommastellen dargestellt 0x0300 768
NF_3_DECIMALS Zahl wird mit drei Nachkommastellen dargestellt 0x0400 1024
NF_4_DECIMALS Zahl wird mit vier Nachkommastellen dargestellt 0x0500 1280
NF_5_DECIMALS Zahl wird mit fünf Nachkommastellen dargestellt 0x0600 1536
NF_6_DECIMALS Zahl wird mit sechs Nachkommastellen dargestellt 0x0700 1792
NF_7_DECIMALS Zahl wird mit sieben Nachkommastellen dargestellt 0x0800 2048
NF_8_DECIMALS Zahl wird mit acht Nachkommastellen dargestellt 0x0900 2304
NF_AUTOMATIC_DECIMALS Die Anzahl der berücksichtigten Nachkommastellen richtet sich nach der Zahl. Dieser Wert kann mit der Funktion SetPrecision gesetzt werden. 0x0040 64
NF_FORCED_SIGN Erzwingt die Ausgabe des Vorzeichens 0x8000 32768
NF_SET_PRECISION Das Wert Objekt übernimmt die Anzahl Nachkommastellen, wie eingegeben. 0x0002 2
NF_SIG_PRECISION Die Anzahl der berücksichtigten Nachkommastellen richtet sich nach der Anzahl der signifikanten (ungleich Null) Nachkommastellen. 0x0a00 2560
NF_UNIT_PRECISION (Nur ab CX_VALUE) Die Anzahl der dargestellten Nachkommastellen wird von der Genauigkeitsangabe der Objekteinheit gesteuert (nur Ausgabe). Das Flag hat höhere Priorität als NF_AUTOMATIC_DECIMALS-Flag. 0x0c00 3072
NF_BLANCS Stellt die Null als Leerzeichen dar 0x0080 128
NF_CREDIT Ist die Zahl negativ, so wird sie in Klammern eingeschlossen dargestellt, so dass z.B. "-5" als "(5)" angezeigt wird. 0x0004 4
NF_DIMENSIONED Handelt es sich um einen Wert, wird die Einheit mit ausgegeben. 0x0001 1
NF_NO_DECIMAL_SEPARATOR Beim Einlesen einer Zahl kann der Trenner zwischen ganzzahligem und Nachkomma-Anteil fehlen. 0x0020 32
NF_NO_EXPORT_DECIMAL_SEP Beim Ausgeben einer Zahl wird der Trenner zwischen ganzzahligem und Nachkomma-Anteil weggelassen. 0x2000 -
NF_NO_FLAGS Keine Flags 0x0000 -
NF_PERCENT Darstellung mit Prozentzeichen 0x0010 16
NF_THOUSANDS_SEPARATOR Nach jeweils 3 Ziffern wird ein Trenner in die Zahl eingefügt. So wird z.B. die Zahl "1000000" als "1.000.000" dargestellt. Die Angabe, nach wie viel Zeichen ein Trenner eingefügt werden soll, erfolgt durch die ortspezifischen Daten und kann somit verändert werden. 0x0008 8
PF_NUMERATOR Beim Ausgeben eines Objektes der Klasse CX_PERCENT_PER bzw. CX_VALUE_PER wird nur der Zähler berücksichtigt. 0x1000 4096


Datum Flags

Die Darstellung eines Datums kann durch folgende Flags gesteuert werden:

Flag Beschreibung Interne Repräsentation Integer
DF_ALLOW_2DIGIT_INPUT Das Datum kann mit 2 aufeinanderfolgenden Ziffern eingegeben werden (ohne Trennzeichen). Der aktuelle Monat und das aktuelle Jahr werden automatisch ergänzt. Diese Flag darf nicht zusammen mit DF_JAPANESE_FORMAT (Format JJ.MM.TT) oder DF_US_FORMAT (Format MM.TT.JJ) angegeben werden. 0x20000 131072
DF_ALLOW_4DIGIT_INPUT Das Datum kann mit 4 aufeinanderfolgenden Ziffern eingegeben werden (ohne Trennzeichen). Das aktuelle Jahr wird automatisch ergänzt. Diese Flag darf nicht zusammen mit DF_JAPANESE_FORMAT (Format JJ.MM.TT) angegeben werden. 0x10000 65536
DF_ALLOW_INCOMPLETE_DATE Verarbeitung eines unvollständigen Datums ist erlaubt, d.h. es können Angaben wie "5.7" (entspricht dem 5. Juli) gemacht werden. 0x02000 8192
DF_ALLOW_ZERO_DATE Verarbeitung eines vollständig undefinierten Datums, d.h. das Datum ist vollkommen unbekannt. Es wird entweder als Nichts ("") oder als unvollständiges Datum (?.?.?) eingegeben. Anderenfalls erhält man den folgenden Fehler: Error 173 - Ohne gesetztes Flag kann ein undefiniertes Datum ('Null-Datum') nicht gesetzt werden. 0x08000 32768
DF_ALPHA_MONTH Die Monatsangabe erfolgt als Text, also z.B. 5. Juli 1996 0x00040 64
DF_ASIAN_FORMAT Asiatisches Datumsformat: JJJJ.MM.TT 0x00004 4
DF_DASH Minuszeichen '-' als Trennzeichen zwischen den Datumsanteilen, z.B. 5-7-1996 0x00010 16
DF_DAY_OF_WEEK Der Wochentag wird mit angegeben, z.B. Freitag, 5.7.1996 0x00080 128
DF_EUROPEAN_FORMAT Europäisches Datumsformat: TT.MM.JJJJ 0x00002 2
DF_JAPANESE_FORMAT Japanisches Datumsformat: JJJJ.MM.TT 0x00004 4
DF_MILITARY_FORMAT Militärisches Datumsformat der US Airforce: Hier gibt es zwei Standards. Die Datumsausgabe erfolgt entweder mit ausgeschriebenem Monat und viertstelliger Jahresangabe, z.B. 5 Juli 1996, oder in Kombination mit (DF_SHORT_YEAR und DF_SHORT_MONTH) mit abgekürztem Monat und zweistelliger Jahresangabe, also z.B. 5 Jul 96. 0x00008 8
DF_NO_FLAGS Keine Flags, d.h. Benutzung der Voreinstellung. - -
DF_SHORT_DAY Wochentag wird abgekürzt mit angegeben, z.B. Di., 26.11.1996 0x00800 2048
DF_SHORT_MONTH Monat wird abgekürzt mit angegeben, z.B. 26. Nov. 1996 0x00400 1024
DF_SHORT_YEAR Jahr wird abgekürzt mit angegeben, z.B. 26.11.96 0x00200 512
DF_SLASH Schrägstrich '/' als Trennzeichen zwischen den Datumsanteilen, z.B. 26/11/1996 0x00020 32
DF_SYSTEM Stellt das aktuelle Systemdatum in das Datumsobjekt, falls ein "leeres" Datum eingelesen wird. 0x04000 16384
DF_UPPER_CASE Alle Textangaben erfolgen in Großschrift, z.B. 26. NOVEMBER 1996. Das Flag ändert nicht das eigentlich Format. Sind keine Buchstaben enthalten, gibt es keinen Effekt. 0x00100 256
DF_US_FORMAT Amerikanisches Datumsformat: MM.TT.JJJJ 0x00001 1
DF_ZERO_FILL Tages- und Monatsangaben bestehen immer aus zwei Ziffern, z.B. 05.07.1996 0x01000 4096

 

Zeit Flags

Die Darstellung einer Uhrzeit kann durch folgende Flags gesteuert werden:

Flag Beschreibung Interne Repräsentation Integer
TF_COLON_SEPARATOR Der Doppelpunkt ':' als Trenner zwischen den einzelnen Uhrzeit-Anteilen. 0x0080 128
TF_HUNDREDTHS Verarbeitung von Hundertstel-Sekunden. 0x0002 2
TF_LOWER_CASE Textausgaben erfolgen in Kleinschrift. 0x0400 1024
TF_NO_FLAGS Keine Flags. 0x0000 0
TF_NO_HOURS Ausgabe der Uhrzeit erfolgt ohne Angabe der Stunden. 0x0004 4
TF_NO_MINUTES Ausgabe der Uhrzeit erfolgt ohne Angabe der Minuten. 0x0008 8
TF_NO_SEPARATOR Die Uhrzeit wird ohne Trenner angegeben. 0x0100 256
TF_SECONDS Verarbeitung von Sekunden. 0x0001 1
TF_SYSTEM Stellt die aktuelle Systemzeit in das Zeitobjekt, falls eine "leere" Uhrzeit eingelesen wird. 0x0800 2048
TF_TWELVE_HOUR Amerikanisches Uhrzeitformat mit 12 Stunden. 0x0010 16
TF_TWENTY_FOUR_HOUR Europäisches Uhrzeitformat mit 24 Stunden. 0x0020 32
TF_UPPER_CASE Textausgaben erfolgen in Großschrift. 0x0200 512
TF_ZERO_FILL Ausgabe mit führenden Nullen (Stunde und Minute bestehen immer aus zwei Ziffern) 0x0040 64

Bedingte Tabelle

Die Auswertung einer bedingten Objekttabelle kann durch folgende Flags gesteuert werden:

Flag Beschreibung Interne Repräsentation
CF_COMPULSORY Wenn kein Eintrag gefunden wird, erscheint eine Fehlermeldung (beide Flags zusammen angeben). 0x1
CF_REPORT 0x2
CF_NEGLECT Wenn eine Variable nicht gebunden werden kann, wird die betroffene Bedindung zu FALSE ausgewertet und kein Fehler gemeldet.
Für Bedingungen wird die Auswertungsfunktion Evaluate2 verwendet.

Falls die bedingte Tabelle innerhalb eines Terms zu einem Wert ausgewertet wird (oder beim Aufruf von Amount) wird 0.0 (CX_NUMERIC) zurückgegeben, falls keine Bedingung der Tabelle erfüllt ist. (Dies betrifft nicht Query und Pick)
0x4
CF_DYNAMIC_BINDING Für Bedingungen wird die Auswertungsfunktion Evaluate3 verwendet und ein Fehler gemeldet, falls die Formel fehlende Variablen enthält und keine BindMessage gesetzt ist. 0x8

Sind weder CF_NEGLECT noch CF_DYNAMIC_BINDING gesetzt, dann werden Bedingungen bei gesetzter BindMesage über Evaluate3 ausgewertet und ansonsten über Evaluate1.


Einheiten Bereiche

Ein Einheiten-Bereich stellt die Zusammenfassung mehrerer Einheiten dar. So bilden z.B. alle Längenangaben einen Bereich. Zudem kann auch die Kombination mehrerer Bereiche als neuer Bereich aufgefasst werden. Die folgende Tabelle listet alle Bereiche auf, die zur Verfügung stehen:

Flag Bereich Einheiten-Beispiel Interne Repräsentation Integer
UF_ALL_UNITS alle Bereiche zusammengefasst - - -
UF_AREA Flächen Quadratmeter (m²) 0x00400000 4194304
UF_ANGLES Winkel Grad (º) 0x20000000 536870912
UF_BYTE Byte KByte 0x10000000 268435456
UF_COMPOUND zusammengesetzte  Einheiten Newton (N) 0x04000000 67108864
UF_CURRENCY Währungen US-Dollar (USD) 0x02000000 33554432
UF_DURATION Zeiten Minute (min) 0x00080000 524288
UF_LENGTH Längen Meter (m) 0x00200000 2097152
UF_PACKING Verpackungen Dosen 0x00100000 1048576
UF_PIECES Stückangaben Dutzend 0x00010000 65536
UF_TEMPERATURE Temperaturen Grad Celsius (ºC) 0x500001C0 1342177728
UF_VOLUME Raumangaben Kubikmeter (m³) 0x00800000 8388608
UF_WEIGHT Gewichte Kilogramm (kg) 0x01000000 16777216


Telefon-Flags

Mit diesen Flags wird die Umwandlung von Telefonnummern, die in CX_PHONE-Objekten gespeichert sind, in Strings gesteuert. Bei ViewExport eines CX_PHONE-Objektes werden zum Einen die übergebenen Flags herangezogen, zum anderen wird auf das aktuelle Locale zurückgegriffen. Die folgende Tabelle listet alle möglichen Flags auf. Für das Beispiel wird davon ausgegangen, dass die Telefonnummer "+49-40-209401-37" im Datenfeld gespeichert ist und das Locale auf die Nummer "+49-40-209401-0" eingestellt ist.

Flag Beschreibung Beispiel Interner Repräsentation Integer
FF_DELIMITER_DASH Als Trennzeichen wird ein Bindestrich '-' verwendet. Mit diesem Zeichen werden die Teile Landescode, Vorwahl, Rufnummer und Durchwahl voneinander getrennt. -37 0x0000 0
FF_DELIMITER_SPACE Das Trennzeichen ist ein Leerzeichen.  37 0x0001 1
FF_DELIMITER_SLASH Ein Schrägstrich '/' trennt die einzelnen Teile der Telefonnummer. Von diesen 3 Flags kann immer nur eines eingesetzt werden, sie können nicht kombiniert werden! /37 0x0002 2
FF_DELIMITER_NONE Es wird kein Trennzeichen benutzt. 37 0x0003 3
FF_EXTENSION_DELIMITER_DASH Ein Bindestrich '-' trennt die Durchwahl vom Rest der Nummer ab, unabhängig davon, was als Trennzeichen eingestellt wurde. So lässt sich die Durchwahl besser hervorheben, wenn als Trennzeichen z.B. das Leerzeichen gewählt wurde. -37 0x0004 4
FF_DISPLAY_AREACODE Stelle die Vorwahl immer dar (soweit eine vorhanden ist), auch dann, wenn es gar nicht notwendig wäre, weil sich Anschluss und der eigene Standort in derselben Stadt oder Region befinden. 040-209401-37 0x0008 8
FF_DISPLAY_COUNTRYCODE Analoges Verhalten für den Landescode. Dieses Flag aktiviert zusätzlich FF_DISPLAY_AREACODE. 0049-40-209401-37 0x0010 16
FF_EMPHASIZE_AREACODE Wenn die Vorwahl dargestellt wird, bewirkt dieses Flag eine Hervorhebung der Vorwahl, indem sie eingeklammert wird (mit runden Klammern). Wenn keine Vorwahl benötigt wird, bewirkt dieses Flag nichts. (040)-209401-37 0x0020 32
FF_EMPHASIZE_COUNTRYCODE Analoges Verhalten für den Landescode. (0049)-40-209401-37 0x0040 64
FF_RESOLVE_VANITY Löse die Vanity-Codes auf, indem Buchstaben in der Telefonnummer in Ziffern umgewandelt werden. Sinnvoll, falls auf der Telefontastatur keine Buchstaben aufgedruckt sind oder dies keine Vanity-Codes sind. -37 0x0080 128
FF_DIALTONECODE Bei Telefonanlagen ist es häufig so, dass ein Code, z.B. eine Null, gewählt werden muss, um eine Amtsleitung zu bekommen. Ein solcher Code ist im Locale angegeben. Wenn dieser Code der Telefonnummer vorangestellt werden soll, ist dieses Flag anzugeben. 0-37 0x0100 256
FF_INTL_FORMAT Formatiert die Telefonnummer im internationalen Format. Sie beginnt mit einem '+' und enthält genau drei Bindestriche '-', die die einzelnen Bereich voneinander trennen. Wird dieses Flag angegeben, werden alle anderen Flags bis auf die FF_DELIMITERs und FF_RESOLVE_VANITY ignoriert. +49-40-209401-37 0x0200 512
FF_TECHNICAL Das Ergebnis besteht nur noch aus Ziffern, d.h. sämtliche Trennzeichen werden eliminiert und die Vanity-Codes werden in Ziffern aufgelöst. Die Nummer kann so z.B. an technische Geräte weitergegeben werden. Alle anderen Flags (außer FF_DIALTONECODE) werden ignoriert. FF_DIALTONECODE sollte immer zusammen mit diesem Flag eingesetzt werden. 37 0x0400 1024

Soweit nicht anders angegeben, können die Flags beliebig kombiniert werden. Zur Erleichterung existieren 4 Flags, die einige der obigen kombinieren:

 

Flag Beschreibung Beispiel Interne Repräsentation Integer
FF_SHORT Stelle die Nummer so kurz wie möglich dar und trennt die übrigen Bereiche mit einem Bindestrich '-' ab. Der Code zur Amtsholung wird der Telefonnummer nicht vorangestellt.
(entspricht: FF_DELIMITER_DASH)
-37 0x0000 0
FF_MEDIUM Wie FF_SHORT, jedoch wird die Vorwahl immer dargestellt (soweit eine vorhanden ist).
(entspricht: FF_DELIMITER_DASH | FF_DISPLAY_AREACODE)
040-209401-37 0x0008 8
FF_MEDIUM_AREAEMPH Wie FF_MEDIUM, die Vorwahl wird zusätzlich durch Einklammerung hervorgehoben. Die einzelnen Teile der Nummer werden durch Leerzeichen voneinander getrennt. Die Durchwahl wird durch einen Bindestrich abgetrennt.
(entspricht: FF_DELIMITER_SPACE | FF_EXTENSION_DELIMITER_DASH | FF_DISPLAY_AREACODE | FF_EMPHASIZE_AREACODE)
(040) 209401-37 0x002D 45
FF_LONG Wie FF_MEDIUM, zusätzlich wird der Landescode immer dargestellt.
(entspricht: FF_DELIMITER_DASH | FF_DISPLAY_AREACODE | FF_DISPLAY_COUNTRYCODE)
0049-40-209401-37 0x0018 24
FF_EXCHANGE Formatierung für den Austausch mit Handys
(entspricht: FF_INTL_FORMAT | FF_DELIMITER_NONE | FF_RESOLVE_VANITY)
+494020940137 0x0283 643
FF_TAPI Format der TAPI
(entspricht: FF_DISPLAY_AREACODE | FF_DISPLAY_COUNTRYCODE | FF_DELIMITER_NONE | FF_RESOLVE_VANITY)
00494020940137 0x009B 155