All pastes #286962 Raw Edit

Miscellany

public text v1 · immutable
#286962 ·published 2006-12-21 01:05 UTC
rendered paste body
procedure TLineStreamer.InternalBufferData;
var
  NewBuffer: PChar;
  DataRead: integer;
  BufferData : array[0..BlockSize] of Char;
begin
// Step 1. Read the data from the stream
// Read The Data
DataRead := DataStream.Read(BufferData, SizeOf(BufferData));
// Allocate the new buffer
GetMem(NewBuffer, BlockSize + 1);
// Copy the New Data Into The Buffer
StrPLCopy(NewBuffer, BufferData, DataRead);
// Concat the buffers
Buffer := Buffer + NewBuffer;
// Return the buffer memory
FreeMem(NewBuffer);
// Step 2. Chop the data into a stringlist
BufferList.Clear;
Buffer := GetUsableLines(Buffer, BufferList);
// Step 3. Update the numbers
Inc(MaxLine, BufferList.Count);
CurrentBufferLine := 0;
end;