C16_RegExtFld
C16_RegExtFld(const vPHANDLE aInstHdl, const vINT aFileNo, const vINT aSbrNo, const vINT aFldNo, const vFLAGS aExcFlags, const vFLAGS aFormatFlags, const vINT aPostcomma, void* aExtBuffer) : vERROR
Feld registrieren
Details
- aInstHdl: Instanz-Handle
- aFileNo: Dateinummer
- aSbrNo: Teildatensatznummer
- aFldNo: Feldnummer
- aExcFlags: Übertragungsart
- aFormatFlags: Formatierung
- aPostcomma: Nachkommastellen
- aExtBuffer: Zeiger auf Feldpuffer
- Resultat: vERROR Fehlerwert
- Siehe: Befehle der Programmierschnittstelle , C16_ExcFileData() , C16_ExcSbrData() , C16_ExcFldData() , C16_SetExcMode()
Der Befehl erstellt eine direkte Verbindung zwischen einer im Programm definierten Variable und einem Feld im Feldpuffer der Datenstruktur und registriert sie. Im Parameter (aInstHdl) wird der von C16_InitInstance() bereitgestellte Instanz-Handle, der in der Funktion C16_OpenArea() zum Öffnen der Datenbank verwendet wurde, übergeben. Die Parameter (aFileNo), (aSbrNo) und (aFldBuf) identifizieren eindeutig das Feld, welches registriert werden soll. Der Parameter (aExcFlags) legt fest, wie die Daten übertragen werden. Folgende symbolische Konstanten stehen zur Verfügung:
- _FldExc_Binary: Der Daten werden binär - also Byte für Byte - zwischen Feldpuffer und externem Feld übertragen.
- _FldExc_Character: Beim Transfer wird der Feldinhalt in eine ASCII-Zeichenkette entsprechend den mit C16_SetCharDefs() festgelegten Einstellungen konvertiert.
- _FldExc_RawData: Diese Option ist nur bei alphanumerischen Feldern wirksam (vgl. C16_FldDataRaw() ). Daten werden binär - also Byte für Byte - ausgelesen bzw. geschrieben, eine Typprüfung findet nicht statt. Dabei wird jeweils die maximale Anzahl von Bytes übertragen (entspricht der definierten Länge des alphanumerischen Felds).
Die Art der Formatierung wird in den Parametern (aFormatFlags) und (aPostkomma) angegeben. In (aFormatFlags) kann eine oder mehrere (logische OR-Verknüpfung) der nachfolgenden symbolischen Konstanten angegeben werden:
- _FmtNone: keine bestimmte Formatierung
- _FmtTSep: Tausendertrennung
- _FmtZeroSupr: Nullunterdruckung
- _FmtPlusSign: Positive Werte werden mit einem vorangestellten Plussymbol versehen
- _FmtDateLongYear: Jahr bei Datumsfeldern mit Jahrhundertangabe
- _FmtTimeSeconds: Bei Datentyp Zeit werden Sekunden berücksichtigt
- _FmtTimeHSeconds: Bei Datentyp Zeit werden Hundertstelsekunden berücksichtigt. Diese Option sollte sinnvollerweise mit _FmtTimeSeconds kombiniert werden.
Bei dem Gleitkomma kann im Parameter (aPostkomma) die Anzahl der Nachkommastellen übergeben werden. Bei allen anderen Datentypen kann hier 0 angegeben werden. Die Formatierung wird verwendet, wenn _FldExc_Character angegeben wurde.
In (aExtBuffer) wird ein Zeiger auf den Feldpuffer übergeben. Die Funktion kann auch dazu benutzt werden, um eine bereits bestehende Verbindung zu löschen und deren Registrierung aufzuheben, dazu wird in (aExtBuffer) NULL übergeben.
Der Rückgabewert vom Typ vERROR beinhaltet entweder 0 (kein Fehler) oder einen negativen Fehlerwert (siehe Fehlerwerte ).
Die Registrierung aller Felder im Feldpuffer der Datenstruktur ist nicht immer erforderlich. Es genügt, nur diejenigen Felder zu registrieren, die in der Anwendung tatsächlich bearbeitet werden.