Difference between revisions of "Midware TMWBuffer"
Line 109: | Line 109: | ||
| valign="top" | [[Midware_TMWBuffer.WriteStreamField | WriteStreamField]] |||| Write a single stream (blob) field. | | valign="top" | [[Midware_TMWBuffer.WriteStreamField | WriteStreamField]] |||| Write a single stream (blob) field. | ||
|} | |} | ||
+ | |||
+ | == How To == |
Revision as of 11:24, 6 May 2011
Main page -> Midware component reference -> TMWBuffer
Contents
Overview
unit | RFormat.pas |
TMWBuffer if a very important component in MidWare technology. TMWBuffer implement data storage and formatting for transmission. Data echanged between client and server is exactly TMWBuffer content, byte for byte.
TMWBuffer can be seen as a data table in memory. This table is organized as records made of variable field number, each field having a variable length.
TMWBuffer provides methods and properties to read, write and sort data. Data is stored in a very simple format: a buffer dynamically allocated from memory that contains all fields and records. Fields and records boundaries are marked with delimiters. If control characaters or delimiters are found within data, they are escaped. Three delimiters are used: escape delimiter, field delimiter and record delimiter. They are placed at start of buffer in order to consitute a kind of dictionnary.
Properties
AutoExpand | AutoExpand property tells the component if the data buffer can be expanded when it is too short for the data that needs to be written to it. | |
Bof | Bof property is TRUE when current position has reached begin of file. | |
DataBuffer | Gives access to the underlaying data buffer. | |
DataBufferCount | he size in bytes of the data present in the buffer. | |
DataBufferSize | The size in bytes of the current buffer. | |
Eof | Eof property is TRUE when current position has reached end of file. | |
FieldCount | Returns the number of fields in the current record. | |
Fields | The indexed Fields[] property gives access to the current record's fields. | |
FieldSize | Return field size in bytes. | |
FieldType | Read only indexed property returning filed type for a given field in current record. | |
HasData | HasData property is TRUE when TMWBuffer contains data. | |
HeaderSize | Size in byte of the header in the data buffer. Default to 0. | |
MetaData | Read only indexed MetaData property gives access to the current record's meta data (application defined). | |
RecordCount | Readonly property RecordCount retunrs the number of records stored in TMWBuffer. See also FieldCount. |
Methods
AppendMetaData | AppendMetaData will add variable length, general purpose meta data at the end of current field. | |
Assign | The Assign method copies data from a TMWBuffer component to another. | |
AppendBinaryField | Write binary data as field content. | |
AppendFields | Append fields to the current record. See also WriteFields. | |
AppendRecord | Append a single record from another TMWBuffer. | |
AppendStreamField | Append a stream field to current record. See also WriteStreamField. | |
Delete | Delete the current record. Deleted records are physically lost. | |
ExpandBuffer | ExpandBuffer method check how much free space is left and will try to expand data buffer as needed. | |
First | First method makes the first record the current one. | |
FreeBookmark | Free resources used for bookmark keeping. See GetBookmark. | |
GetBookmark | Get a bookmark on current record. | |
GetStreamField | Get a stream (blob) field value from the buffer. | |
GotoBookmark | Return the current position to the bookmark setup by GetBookmark. | |
Last | Last method will make the lsat record the current one. | |
LoadFromFile | Load TMWBuffer content from a files created with SaveToFile or SaveToStream. | |
LoadFromStream | Load TMWBuffer content from a stream created by SaveToStream or SaveToFile. | |
Locate | Locate a record by sequential search. | |
Next | Next method makes the next record the current one. | |
Prior | Prior method makes the previous record the current one. | |
RecordToString | Return the current record expressed as a string. | |
Rewrite | Clear buffer content and prepare for new writing. | |
SaveToFile | Save TMWBuffer data to a file. | |
SaveToStream | Save TMWBuffer data to a stream. | |
Seek | Set current record to the one indicated by nPos which results from a previous call to Tell method. | |
Sort | Sort will sort TMWBuffer content. | |
StingToRecord | Reverse operation for RecordToString. | |
StringToRecords | Same as StringToRecord, but applied for several records. | |
Tell | Return the internal position for the current record. | |
WriteDataBuffer | Append data from a buffer to the record buffer. | |
WriteFields | WriteFields will write fields to the next record or append fields to the current record as per NewRec argument. | |
WriteRecordMarker | Terminate the current record. | |
WriteStreamField | Write a single stream (blob) field. |