Zum Hauptinhalt springen

CnvAB

CnvAB(bigint1[, int2[, handle3[, int4]]]) : alpha

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Umwandlung eines ganzzahligen Wertes (64 Bit) in einen alphanumerischen Wert

Details

Diese Funktion wandelt einen Wert vom Typ bigint in einen Wert vom Typ alpha. Die angegebenen Formatoptionen (int2) entscheiden über das genaue Format.

Die Länge des Resultats ist abhängig vom umzuwandelnden Wert.

Als Optionen (int2) können folgende Konstanten angegeben werden:

Optionen der Numerischen Darstellung können nicht mit Optionen der Datums- und Zeitdarstellung kombiniert werden.

Bei der Option _FmtCaltimeISO werden die Bestandteile des formatierten Wertes durch die Kombination mit den Optionen _FmtCaltimeDate(...) und _FmtCaltimeTime... definiert. Aus jeder dieser zwei Gruppen kann nur eine Option mit _FmtCaltimeISO kombiniert werden.

Die Option _FmtCaltimeUTC kann nur in der Kombination mit einer der Konstanten _FmtCaltimeRFC bzw. _FmtCaltimeISO angegeben werden. Ohne die Option _FmtCaltimeUTC wird die lokale Zeitzone verwendet.

Wird in (handle3) ein Deskriptor eines Locale -Objekt angegeben, bestimmen die dort eingetragenen Eigenschaften das Format des Rückgabewertes.

Wird in (int4) die Anzahl der Stellen vorgegeben, wird eine Zeichenkette der angegebenen Länge erzeugt. Die Zeichenkette wird mit Leerzeichen auf die entsprechende Länge aufgefüllt. Bei der Verwendung der Option _FmtNumLeadZero werden statt Leerzeichen Nullen verwendet. Zu der Länge zählen ebenfalls Vorzeichen und Tausendertrennzeichen. Übersteigt der Wert die angegebene Anzahl der Stellen, wird der Laufzeitfehler _ErrCnv erzeugt. Wird dieser Laufzeitfehler mit ErrIgnore ( _ErrCnv , true ) unterdrückt, wird eine leere Zeichenkette zurückgegeben.

Der Laufzeitfehler _ErrCnv wird ebenfalls ausgelöst, wenn ein Wert < 0 oder > 8.962.174.367.999.999.999 (0x7C600A1AA3C03FFF\b) mit einer der _FmtCaltime...-Optionen umgewandelt werden soll.

Wird der Wert 0x8000000000000000\b ohne die Formatoption _FmtNumHex konvertiert, wird eine leere Zeichenkette zurückgegeben.

Beispiele:

// Numerische Darstellung
CnvAB(3000000000\b, _FmtInternal) // '3000000000'
CnvAB(2134\b, _FmtNone, hdlLangGB) // '2,134'
CnvAB(0\b, _FmtNumNoZero) // ''
CnvAB(65536\b, _FmtNumLeadZero | _FmtNumHex, 0, 5) // '0ffff'
CnvAB(1000\b, _FmtNumNoGroup, 0, 4) // '1000'
CnvAB(1000\b, _FmtNone, 0, 5) // '1.000'
CnvAB(0x8000000000000000\b) // ''
CnvAB(0x8000000000000000\b, _FmtNumHex) // '8000000000000000'

// Datums- und Zeitdarstellung
tCaltime->vpBiasMinutes # 120;
tCaltime->vpDate # 08.05.2009;
tCaltime->vpTime # 16:52:23;
tBigint # CnvBC(tCaltime);
CnvAB(tBigint, _FmtCaltimeRFC) // 'Fri, 08 May 2009 16:52:23 +0200'
CnvAB(tBigint, _FmtCaltimeRFC | _FmtCaltimeUTC) // 'Fri, 08 May 2009 14:52:23 +0000'

CnvAB(tBigint, _FmtCaltimeISO | _FmtCaltimeDate) // '2009-05-08'
CnvAB(tBigint, _FmtCaltimeISO | _FmtCaltimeDate | _FmtCaltimeTimeHMS) // '2009-05-08T16:52:23'
CnvAB(tBigint, _FmtCaltimeISO | _FmtCaltimeDate | _FmtCaltimeTimeHM | _FmtCaltimeUTC) // '2009-05-08T14:52'
CnvAB(tBigint, _FmtCaltimeISO | _FmtCaltimeDateBlank | _FmtCaltimeTimeFull) // '2009-05-08 16:52:23.0000000'

CnvAB(tBigint, _FmtCaltimeDHMS) // '149146d 16h 52m 23s'

tCaltime->vpDate # 03.01.1601;
tCaltime->vpTime # 11:20:07;
tBigint # CnvBC(tCaltime);
CnvAB(tBigint, _FmtCaltimeDHMS) // '2d 11h 20m 07s'

Mögliche Laufzeitfehler:

  • _ErrCnv: Fehler bei Typkonvertierung
  • _ErrHdlInvalid: Der in (handle3) übergebene Regionaldeskriptor ist nicht korrekt