Показать сообщение отдельно
  #4  
Старый 19.09.2007, 21:41
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Запись
Код:
var
  f : TFileStream;
  s : String;
  i : Integer;
begin
  f := TFileStream.Create('c:\1.txt', fmCreate);
  s := 'Эту строку запишем в файл';
  f.Write(PChar(s)^, Length(s)); // запись строки
  i := 10000;
  f.Write(i, SizeOf(i)); // запись числа, второй параметр это количество записываемых байт, тип Integer это 4 байта, для определения размера переменной (в байтах) можно использовать ф-цию SizeOf
  f.Free;
end;
Чтение. Тут есть одно но, надо либо знать длину строки, либо записывать длину строки перед самой строкой, либо в конце строки записывать какое-то число признак окончания строки, например 0 и считывать по 1 символу, пока не найдем 0 - признак конца строки.
Код:
var
  f : TFileStream;
  s : String;
  i : Integer;
begin
  f := TFileStream.Create('c:\1.txt', fmOpenRead);
  SetLength(s, Your_string_lenth); // Это если мы знаем заранее длину строки
  f.Read(PChar(s)^, Length(s)); // чтение строки
  f.Read(i, SizeOf(i)); // чтение числа
  f.Free;
end;
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием