Contents
Inheritance:
Constructors:
CsvData AbsCsvData *createCsvData()
Members:
Methods:
Loading CSV Files
load_rec
AbsCsvRecord *load_rec(Reader *reader)
Counting Records
Headers
Setting Values of Fields
Adding Records
Getting a Record
Selecting Records
Writing CSV Data
save
bool save(const char *filename)
Motivation
Constructors
CsvData
Provides functionality to load, manage and store csv data.
Constructor:
CsvData()
Factory Method:
AbsCsvData *AbsCsvDataInterface::createCsvData()
Wrapper Class:
CsvDataWrapper()
The static method
AbsCsvDataInterface::createCsvData creates a new instance of class CsvData.
Return value:Returns an instance of
CsvData.
Members
settings
Provides settings for reading and writing csv files. (see
AbsCsvSettings)
Signature:
AbsCsvSettings *settings;
Setter- and getter-methods:
Use the methods
get_settings() and
set_settings(AbsCsvSettings *) to get and set the value of this member variable.
Methods
load (version 1)
Loads a csv-data from a file.
Signature:
int load(const char *filename,const char *docreate)
Parameters:
| const char * | filename | [IN] | Filename (incl. path) |
| const char * | docreate | [IN] | ... |
Return value:Returns 0 if successful, or a value other than 0 otherwise.
load (version 2)
Loads a csv-data from a file.
Signature:
int load(const char *filename)
Parameters:
| const char * | filename | [IN] | Filename (incl. path) |
Return value:Returns 0 if successful, or a value other than 0 otherwise.
load (version 3)
Loads a csv-data from a file.
Signature:
int load(const wchar_t *filename,const char *docreate)
Parameters:
| const wchar_t * | filename | [IN] | Filename (incl. path) |
| const char * | docreate | [IN] | ... |
Return value:Returns 0 if successful, or a value other than 0 otherwise.
Remarks:
Diese Funktion ist nur unter Windows verfügbar.
load (version 4)
Loads a csv-data from a file.
Signature:
int load(const wchar_t *filename)
Parameters:
| const wchar_t * | filename | [IN] | Filename (incl. path) |
Return value:Returns 0 if successful, or a value other than 0 otherwise.
Remarks:
Diese Funktion ist nur unter Windows verfügbar.
load (version 5)
Loads csv data.
Signature:
int load(Reader *reader)
Parameters:
| Reader * | reader | | Pointer to an instance of an implementation of Reader. See reader:Reader. |
Return value:Returns 0.
load_rec
Loads the current line.
Signature:
AbsCsvRecord *load_rec(Reader *reader)
Parameters:
| Reader * | reader | | Pointer to an instance of an implementation of Reader. See reader:Reader. |
Return value:...
get_record_count
Returns the number of currently loaded records.
Signature:
int get_record_count()
Return value:The number of records.
setField (version 1)
...
Signature:
bool setField(int row,int col,const char *val)
Parameters:
| int | row | | Die Zeilennummer (Zählung beginnend mit 0). |
| int | col | | Die Spaltennummer (Zählung beginnend mit 0). |
| const char * | val | [IN] | Value to be stored in filed specified by row and col. |
Return value:...
setField (version 2)
...
Signature:
bool setField(int row,const char *column_name,const char *val)
Parameters:
| int | row | | Die Zeilennummer (Zählung beginnend mit 0). |
| const char * | column_name | [IN] | ... |
| const char * | val | [IN] | Value to be stored in filed specified by row and col. |
Return value:...
Remarks:
The comumn names have to be unique. If coumns have the same name, the first matching column will be found.
addRecord (version 1)
Adds a new empty record.
Signature:
int addRecord()
Return value:Returns the row-number of the new record.
Remarks:
The comumn names have to be unique. If coumns have the same name, the first matching column will be found.
addRecord (version 2)
Adds a new record with
fldcount empty fields.
Signature:
int addRecord(int fldcount)
Parameters:
| int | fldcount | | Number of colums |
Return value:Returns the row-number of the new record.
addFieldToRecord
...
Signature:
bool addFieldToRecord(int row)
Parameters:
| int | row | | Die Zeilennummer (Zählung beginnend mit 0). |
Return value:...
getRecord (version 1)
...
Signature:
AbsCsvRecord *getRecord(int col,const char *val)
Parameters:
| int | col | | Die Spaltennummer (Zählung beginnend mit 0). |
| const char * | val | [IN] | Value to be stored in filed specified by row and col. |
Return value:...
getRecord (version 2)
...
Signature:
AbsCsvRecord *getRecord(int *col,const char **val)
Parameters:
| int * | col | | Number of the column |
| const char ** | val | [IN] | Values. |
Return value:...
getRecord (version 3)
...
Signature:
AbsCsvRecord *getRecord(int row)
Parameters:
| int | row | | Die Zeilennummer (Zählung beginnend mit 0). |
Return value:...
getRecord (version 4)
...
Signature:
AbsCsvRecord *getRecord(const char *column_name,const char *val)
Parameters:
| const char * | column_name | [IN] | ... |
| const char * | val | [IN] | Value to be stored in filed specified by row and col. |
Return value:...
getRecord (version 5)
...
Signature:
AbsCsvRecord *getRecord(const char **column_name,const char **val)
Parameters:
| const char ** | column_name | [IN] | ... |
| const char ** | val | [IN] | Values. |
Return value:...
getAllRecords (version 1)
Selects all records with value
val in column
col.
Signature:
AbsCsvRecord **getAllRecords(int col,const char *val)
Parameters:
| int | col | | Die Spaltennummer (Zählung beginnend mit 0). |
| const char * | val | [IN] | Value to be stored in filed specified by row and col. |
Return value:The method returns a pointer to a null-terminated sequence of pointers to the found records. If no records are found, or if column
col does not exist, the method returns an empty sequence (where getAllRecords(col,val)[0]==0).
Remarks:
The application has to free the returned buffer.
(Do NOT free returned records:
free(r[i]); or
delete r[i];.)
AbsCsvRecord **r=getAllRecords();
...
free(r);
getAllRecords (version 2)
Selects all records
Signature:
AbsCsvRecord **getAllRecords()
Return value:The method returns a pointer to a null-terminated sequence of pointers to all records.
Remarks:
The application has to free the returned buffer.
(Do NOT free returned records:
free(r[i]); or
delete r[i];.)
AbsCsvRecord **r=getAllRecords();
...
free(r);
getAllRecords (version 3)
Selects all records with value
val in column
column_name.
Signature:
AbsCsvRecord **getAllRecords(const char *column_name,const char *val)
Parameters:
| const char * | column_name | [IN] | ... |
| const char * | val | [IN] | Value to be stored in filed specified by row and col. |
Return value:The method returns 0, if headers are disabled or if the header field is missing. Otherwise the method returns a pointer to a null-terminated sequence of pointers to the found records.
Remarks:
The application has to free the returned buffer.
(Do NOT free returned records:
free(r[i]); or
delete r[i];.)
AbsCsvRecord **r=getAllRecords();
...
if(r)free(r);
save
...
Signature:
bool save(const char *filename)
Parameters:
| const char * | filename | [IN] | Filename (incl. path) |
Return value:...
print (version 1)
...
Signature:
void print(FILE *f)
Parameters:
| FILE * | f | | Handle auf eine zum Schreiben geöffnete Datei. |
Return value:...
print (version 2)
...
Signature:
void print(FILE *f,int *row,int *col)
Parameters:
| FILE * | f | | Handle auf eine zum Schreiben geöffnete Datei. |
| int * | row | | Number of the row |
| int * | col | | Number of the column |
Return value:...