Показать сообщение отдельно
  #5  
Старый 15.04.2014, 11:59
vankai14 vankai14 вне форума
Прохожий
 
Регистрация: 15.04.2014
Сообщения: 24
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Примерно так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  fs: TFileStream;
  buf: PByteArray;
  i: Integer;
begin
  fs := TFileStream.Create('Имя открываемого файла', fmOpenReadWrite);
  try
    fs.Position := 123; // Устанавливаем позицию с которой нужно прочитать
    GetMem(buf, 10); // Резервируем память под буфер на 10 байт
    try
      fs.ReadBuffer(buf^, 10); // Читаем 10 байт из указанной позиции файла в буфер

      for i := 0 to 9 do // Что нибудь делаем с этими 10 байтами:
      begin
        buf^[i] := buf^[i] xor $AA;
      end;

      fs.Position := 123; // Устанавливаем позицию с которой нужно записать
      fs.WriteBuffer(buf^, 10); // Записываем изменённые 10 байт назад в файл
    finally
      FreeMem(buf); // Освобождаем память занимаемую буфером
    end;
  finally
    fs.Free;
  end;
end;


а именно с БИТАМИ, а не байтами?
Ответить с цитированием