It has always irked me that in C you can write: [c] while (0<(BytesRead=Read(...))) { // .. } [/c] But in Delphi you have to use the much less readable [delphi] BytesRead := Stream.Read(Buffer, BufSize); while BytesRead > 0 do begin // .. BytesRead := Stream.Read(Buffer, BufSize); end; [/delphi] Today I had enough and wrote … Continue reading while TStream_TryRead() do