Modulo1


Functions

int CreateDatabaseFile (char *Name, int NumFields, FIELD_DATA_t *FieldData)
 Crea un DBF.
int DeleteDatabaseFile (char *Name)
 Cancella un DBF.

Function Documentation

int CreateDatabaseFile char *  Name,
int  NumFields,
FIELD_DATA_t FieldData
 

Crea un DBF.

Name è una stringa NULL terminated e rappresenta il nome del file da creare. Il nome del file deve contenere solo caratteri alfanumerici + il carattere '_' e deve iniziare con un carattere alfabetico. La lunghezza totale del nome viene troncata a DBF_NAME_LENGTH caratteri e viene aggiunta l'estensione DBF_EXTENSION.

I campi del database sono numfields e sono definiti nel vettore di strutture FieldData. Per ogni campo deve essere definito:
ElementoSignificato
Nome campo deve contenere solo caratteri alfanumerici + il carattere '_' e deve iniziare con un carattere alfabetico.
Tipo campo puo' valere solo CHARACTER, NUMERIC, DATE, LOGICAL.
Lunghezza Solo per CHARACTER o NUMERIC:
CHARACTER: 0 < len <= FIELD_CHAR_LEN
NUMERIC: 0 < len <= 15
La lunghezza per i campi NUMERIC comprende il segno, l'eventuale punto decimale e i decimali.
Decimali Solo PER NUMERIC.Deve essere 0 <= Dec <= (min(Lunghezza-2;FIELD_DEC_LEN))
Ad esempio, se si specifica il campo: prova NUMERIC 5 3 vuol dire che il campo in totale occupa 5 posizioni, con 3 decimali, la parte intera è quindi di 1 carattere (esempio 1.223).

Questa funzione scrive nel database l'header, che è così formato:

Caratteri Valore DBF_NAME_LENGTH+1 Nome del database + NULL. Se il nome è più corto si riempie di NULL. 2 Numero di campi 4 Numero di record 2 Lunghezza totale Header 2 Lunghezza di ogni record 4 timestamp ultimo update FIELD_NAME_LENGTH+1 Nome del primo campo + NULL. Se il nome è più corto si riempie di NULL. .... FIELD_NAME_LENGTH+1 Nome dell'ultimo campo + NULL. Se il nome è più corto si riempie di NULL. 2 NULL+NULL

Nel file LPC_Costanti.h vi sono 2 costanti per calcolare la lunghezza totale dell'Header: DBF_FIXED_HEADER_LEN lunghezza della parte fissa ad esclusione dei 2 NULL finali DBF_FIELD_LEN lunghezza della definizione di ogni campo.

Una volta creato, il database file viene chiuso, e per essere utilizzato deve essere chiamata la funzione OpenDatabaseFile().

Parameters:
Name Nome del database file, stringa alfanumerica + '_' NULL terminated.
NumFields numero di campi del database. Deve essere 0 < numfields <= DBF_MAX_FIELDS
*FieldData Vettore di strutture di dimensione numfields.
Returns:
LPC_OK Database creato

LPC_BAD_ARG Nome DB nullo o non valido o numfields <= 0

LPC_BAD_FIELD Valore di uno dei campi non valido.

See also:
DeleteDatabaseFile().
Author:
Gianni Campanile

Stefano Guerrini

Andrea Sterbini

Date:
Gennaio 2006
Version:
1.0

int DeleteDatabaseFile char *  Name  ) 
 

Cancella un DBF.

Name è una stringa NULL terminated e rappresenta il nome del file da cancellare. Il nome del file deve contenere solo caratteri alfanumerici + il carattere '_' e deve iniziare con un carattere. La lunghezza totale del nome viene troncata a DBF_NAME_LENGTH caratteri. Al nome viene aggiunta l'estensione ".dbf". Il database deve essere chiuso, quindi viene verificato che non esista un file con lo stesso nome che inizi con DBF_OPEN_SHARE o DBF_OPEN_EXCL e con estensione DBF_OPEN_EXT.

Parameters:
Name Nome del database file, stringa alfanumerica + '_' NULL terminated.
Returns:
LPC_OK Database cancellato

LPC_BAD_ARG Nome DB nullo o non valido

LPC_DBF_OPEN Il database è aperto.

See also:
CreateDatabaseFile().
Author:
Gianni Campanile

Stefano Guerrini

Andrea Sterbini

Date:
Gennaio 2006
Version:
1.0


Generated on Thu Jan 26 12:56:39 2006 for LPC-Completo by  doxygen 1.4.6-NO