DBASEinsertField

Top  Previous  Next

Neues Feld in eine DBASE-Datenbankdefinition einfügen.

Die Definition der Struktur einer DBASE-Datenbank muß vor dem eigentlichen Öffnen der Datenbank und vor dem Füllen der Datenbank mit Daten erfolgen und kann nachträglich nicht mehr geändert werden. Jeder Aufruf von DBASEinsertField erzeugt ein neues Datenbankfeld in der Datenbank. Nach dem Anlegen des letzten Feldes muss die Definition der Datenbank mit DBASEendCreateDatabase abgeschlossen werden.

Parameter

hndl (FILE *)                                                [IN]

Das Handle der DBASE-Datenbank, das von DBASEcreateDatabase zurückgegeben wurde.

name (char *)                                               [IN]

Der Name des neuen Datenbankfeldes. Dieser Name hat die Längenbeschränkung aus der DBASE-Dateistruktur und darf demnach nicht länger als 11 Zeichen sein. Um das abschließende NULL-Zeichen noch zu speichern, was die Verarbeitung aus anderen Programmen erleichtert, sollte der Name einen Buchstaben kürzer sein.

typ (char)                                                      [IN]

Dieses Zeichen wird in die Typangabe des Datenbankfeldes übernommen. Es wird zur Zeit keine Kontrolle auf gültige Werte vorgenommen, es dürfen aber nur die Zeichen C,N,L,D und M angegeben werden.

feldlaenge (int)                                            [IN]

Dies ist die Länge des Datenbankfeldes. Es werden auch bei ASCII-Feldern keine NULL-Zeichen vorgesehen. Bei der Extraktion von Datenbankeinträgen werden diese nachgeführt. Die Länge kann 255 nicht überschreiten, da sie in einem Charakter untergebracht werden muss.

dezimalstellen (int)                                      [IN]

Bei Fließkommawerten gibt dies die Zahl der Nachkommastellen an. Der Wert darf nicht länger als das Feld sein, wobei die Länge für den Dezimalpunkt noch berücksichtigt werden muss.

Ergebnis

(int)                                                           [OUT]

TRUE, wenn das Anlegen des Datenbankfeldes funktioniert hat.

FALSE, wenn ein Fehler aufgetreten ist. Mögliche Fehler sind vor allem Speichermangel und Platte voll.

Deklaration

#include "dbase.h"

 

int DLLENTRY DBASEinsertField(

     FILE *      hndl,

     char *      name,

     char     typ,

     int         feldlaenge,

     int         dezimalstellen

);

 

Verwandte Funktion

DBASEaddDataset

DBASEnewDataset