[Overview][Types][Classes][Procedures and functions][Index] | Reference for unit 'BufDataset' (#fcl)

# TFpcBinaryDatapacketReader

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a data packet reader using binary data packets

## Declaration

Source position: bufdataset.pas line 415

`type TFpcBinaryDatapacketReader = class(TDataPacketReader)`
`public`
`constructor Create(); override;` |  | Constructor for the class instance
`procedure LoadFieldDefs(); override;` |  | Loads field definitions using the data packet reader
`procedure StoreFieldDefs(); override;` |  | Stores field definitions using the data packet reader
`procedure InitLoadRecords; override;` |  |
`function GetCurrentRecord; override;` |  |
`function GetRecordRowState(); override;` |  |
`procedure RestoreRecord; override;` |  |
`procedure GotoNextRecord; override;` |  |
`procedure StoreRecord(); override;` |  |
`procedure FinalizeStoreRecords; override;` |  |
`class function RecognizeStream(); override;` |  |
`end;`

## Inheritance

`TFpcBinaryDatapacketReader` |  | Implements a data packet reader using binary data packets
`TDataPacketReader` |  | Implements a data packet reader for TBufDataset
`TObject`

## Description

TFpcBinaryDatapacketReader is a TDatapacketReader descendant that implements a data packet reader using binary data packets. Binary data packets use the following layout:

Section | Name | Length | Description
Header | Identification | 13 bytes | Contains the value 'BinBufDataSet'
| Version | 1 byte | Version number
| Field Definition Count | 2 bytes | Column Layout for field definition values
Field Definitions | Field Name Length | 2 bytes | Section occurs the number of times indicated in Field Definition Count
| Field Name | See above | Name of the field in the dataset
| Display Name Length | 2 bytes |
| Display Name | See above | Caption for the field
| Data Type | 2 bytes |
| Read-Only Attribute | 1 byte | 0=read/write, 1=read-only
Parameters | AutoInc Value | 4 bytes | Integer value for the auto-increment field type
Row Header | Row Marker | 1 byte | Contains the value $fe
| Row State | 1 byte | 0=original, 1=deleted, 2=inserted, 3=modified
| Update Order | 4 bytes |
| Null Bitmap | Variable length. | 1 byte required for eight fields; 2 bytes for 16 fields, etc. See Field Definition Count. Bit values are set to 1 when the corresponding field is null.
Row Data | Optional Field Length | 4 bytes | Variable-length fields are prefixed with their length. Fixed-length fields do not require this entry. Null fields are not stored.
| Field Data | Bytes values for the field. See Optional Field Length. | Occurs the number of times needed for Field Definition Count.

## See also

TDatapacketReader |  | Implements a data packet reader for TBufDataset

Documentation generated on: May 14 2021