&dhucpackage; &dhsection;

&funcname;

Stores record in Paradox file at certain position

#include <paradox.h>

int &funcname;(pxdoc_t *pxdoc, char *data, int recpos)

## DESCRIPTION

Stores a record in the buffer `data` into a Paradox file at the given position `recpos`. The first position has number 0. The function will determine the data block for this record. If the position is after the last data block, then as many as needed empty data blocks will be added. If the position is in the middle of a data block and there is no record right before the position, then the position will be recalculated to make sure the new record will be stored in the first free slot of the datablock. For example, if a datablock contains 10 records and the first call of `&funcname;` wants to store a record at position 11, then this will be corrected to position 10. `&funcname;` will also add an empty data block and store the record as the first record of the second data block. Storing a second record at position 11 again, will be executed without any position change.

`data` must be constructed with PX_put_data_xxx(3) functions before. It is of the same structure as the record returned by PX_get_record(3) and PX_get_record2(3).

## RETURN VALUE

Returns the record position on success and -1 on failure. The first position has number 0.

## SEE ALSO

PX_get_record(3), PX_get_record2(3), PX_put_record(3), PX_put_data_byte(3), PX_put_data_short(3), PX_put_data_long(3), PX_put_data_double(3), PX_put_data_alpha(3)

## AUTHOR

This manual page was written by &dhusername; &dhemail;.