Læse buffer
Jeg har nedenstående code, hvor jeg læser fra en IndyClient, da jeg ikke vedhvad jeg læser kan jeg ikke kører blocked, derfor tømmer jeg bufferen med
numToRead:= ClientSocket.ReadFromStack(true,1000,true);
ClientSocket.ReadBuffer(stData,numToRead);
Problemet er hvordan jeg får resat stData på en smart måde,
Hvis jeg f.eks skal læse
Hesten er rød, og derefter
Nej blå
Så får jeg første gang i min datastreng
Hesten er rød
Og ved anden læsning
Nej blåer rød
var
stData:array[0..16384-1] of char;
numToRead: Integer;
numToRead:= ClientSocket.ReadFromStack(true,1000,true);
ClientSocket.ReadBuffer(stData,numToRead);
if numToRead > 0 then
begin
Data := string(stData);
if (Data <> #1) and (Data <> '') then
Synchronize(SetOnDataEvent);
end;
until pos(#2+'BREAK'+#3, Data) > 0;
