/***********************************************************************/ /* XCOL: table having one column containing several values comma */ /* (or any other character) separated. When creating the table, the */ /* name of the X column is given by the NAME option. */ /* This sample has a limitation: */ /* - The X column has the same length than in the physical file. */ /* This tables produces as many rows for a physical row than the */ /* number of items in the X column (eventually 0). */ /***********************************************************************/
protected: // Members char *Xcol; /* The column containing separated fields */ char Sep; /* The field separator, defaults to comma */ int Mult; /* Multiplication factor */
}; // end of XCLDEF
/***********************************************************************/ /* This is the class declaration for the XCOL table. */ /***********************************************************************/ class TDBXCL : public TDBPRX { friendclass XCLDEF; friendclass PRXCOL; friendclass XCLCOL; public: // Constructor
TDBXCL(PXCLDEF tdp);
// Implementation
AMT GetAmType(void) override {return TYPE_AM_XCOL;}
// Methods void ResetDB(void) override {N = 0; Tdbp->ResetDB();} int RowNumber(PGLOBAL g, bool b = FALSE) override;
// Database routines
PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n) override; int GetMaxSize(PGLOBAL g) override; bool OpenDB(PGLOBAL g) override; int ReadDB(PGLOBAL g) override;
protected: // Members char *Xcolumn; // Multiple column name
PXCLCOL Xcolp; // To the XCVCOL column int Mult; // Multiplication factor int N; // The current table index int M; // The occurrence rank
BYTE RowFlag; // 0: Ok, 1: Same, 2: Skip boolNew; // TRUE for new line char Sep; // The Xcol separator
}; // end of class TDBXCL
/***********************************************************************/ /* Class XCLCOL: for the multiple CSV column. */ /***********************************************************************/ class XCLCOL : public PRXCOL { friendclass TDBXCL; public: // Constructors
XCLCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i);
// Methods using PRXCOL::Init; void Reset(void) override {} // Evaluated only by TDBXCL void ReadColumn(PGLOBAL g) override; bool Init(PGLOBAL g, PTDB tp = NULL) override;
protected: // Default constructor not to be used
XCLCOL(void) = default;
// Members char *Cbuf; // The column buffer char *Cp; // Pointer to current position char Sep; // The separator
}; // end of class XCLCOL
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.