| [Overview][Types][Classes][Procedures and functions][Index] | 
[Properties (by Name)] [Methods (by Name)] [Events (by Name)]
Implements a data packet reader using binary data packets
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;  | 
  | 
Implements a data packet reader using binary data packets  | 
|
| | | ||
  | 
Implements a data packet reader for TBufDataset  | 
|
| | | ||
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. | 
  | 
Implements a data packet reader for TBufDataset  |