var
Stream: TFileStream;
arr: array [0..9] of Byte;
b: Byte;
begin
Stream := TFileStream.Create('c:/test.dat', fmOpenReadWrite);
// 移动指针到偏移 123 处
Stream.Seek(123, soFromBeginning);
// 从偏移 123 处读 10 个字节的二进制数据到 arr 缓冲区
Stream.Read(arr, SizeOf(arr));
b := 34;
Stream.Seek(456, soFromBeginning);
// 写一个字节到文件的 456 偏移处
Stream.Write(b, SizeOf(b));
Stream.Free;
end;