The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....


Class: TDataTable
Declaration: [1] function CopyDataColumnToArray (Col: integer; var Dest: TDoubleArray): integer;
[2] function CopyDataColumnToArray (var Dest: TDoubleArray; Col, FirstRow, LastRow, DestElem: integer): integer;
[3] function CopyDataColumnToArray (var Dest: TIntArray; Col, FirstRow, LastRow, DestElem: integer): integer;

The function CopyDataColumnToArray copies the numeric data of the column Col to the open array Dest. Version [1] works a little differently than the other versions in that it always copies the entire column and automatically resizes the target array Dest. The other versions allow to copy parts of a column and do not adjust the size of the target array. Version [3] rounds the values before copying them to the target array.

Nominal data values of the data table are replaced by their ordinals when copying them to Dest. The parameter Col specifies the column to be copied, the parameters FirstRow and LastRow define the range of the cells in column Col, and the parameter DestElem specifies the target position of the first cell. Please keep in mind that the cells of the data table are indexed with base 1 while the target array is indexed with base 0.

The function returns the following error codes:

 0 ... everything is OK, data has been copied
-1 ... invalid parameter Col (valid range is 1 ... NrOfColumns)
-2 ... FirstRow and/or LastRow are out of range (valid range: 1 ... NrOfRows)
-3 ... the parameter DestElem is out of range (valid range: 0 ≤ DestElem < length(Dest))
-4 ... the target array Dest has zero length

Hint: Setting both FirstRow and LastRow to zero values is a shortcut for copying all cells of the specified column.

Last Update: 2023-Dec-14