Flag Übersicht
- Allgemeine Widget Flags
- Window Flags
- Notebook Flags
- Numerische Flags
- Datum Flags
- Zeit Flags
- Bedingte Tabelle
- Einheiten Bereiche
- Telefon Flags
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 |
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: |
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
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 |