Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Сохранение потока в INI файле

Delphi , Файловая система , INI файлы

Сохранение потока в INI файле

Автор: Moris
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Сохранение потока в INI файле

Ответ на вопрос Igor__ © на форуме
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1031421953&n=0

Сохраним содержимое RichEdit в ini file c:\temp\demo.ini

Зависимости: IniFiles
Автор:       Kogaev Oleg (Moris), matrix@rbcmail.ru, ICQ:121008919
Copyright:   Kogaev Oleg (Moris)
Дата:        8 сентября 2002 г.
***************************************************** }

// Сохраним RichEdit в ini file c:\temp\demo.ini

procedure TForm1.Button1Click(Sender: TObject);
var
  ini: TIniFile;
  s: TMemoryStream;
begin
  S := TMemoryStream.Create;
  Ini := TiniFile.Create('c:\temp\demo.ini');
  RichEdit1.Lines.SaveToStream(S);
  s.Seek(0, soFromBeginning);
  ini.WriteBinaryStream('1', '1', S);
  ini.Free;
  s.Free;
end;

//И прочетаем

procedure TForm1.Button2Click(Sender: TObject);
var
  ini: TIniFile;
  s: TMemoryStream;
begin
  S := TMemoryStream.Create;
  Ini := TiniFile.Create('c:\temp\demo.ini');

  ini.ReadBinaryStream('1', '1', S);
  RichEdit1.Lines.LoadFromStream(s);

  ini.Destroy;
  s.Destroy;
end;

Перевод контента на русский язык:

Это фрагмент кода Delphi, демонстрирующий, как сохранить содержимое RichEdit-контрола в файле INI и затем прочитать его обратно из того же файла.

Вот разбивка того, что код делает:

  1. Первый процедура Button1Click сохраняет содержимое RichEdit-контрола в файле INI с именем "c:\temp\demo.ini". Она использует компонент TIniFile, чтобы записать данные в файл.
  2. Вторая процедура Button2Click читает содержимое того же файла INI обратно в RichEdit-контроль, используя метод ReadBinaryStream компонента TIniFile.

Некоторые примечания к коду:

  • Компонент TMemoryStream используется для хранения двоичных данных, прочитанных из или записанных в файл INI.
  • Константа soFromBeginning используется для указания, что операция поиска должна начаться с начала потока.
  • Методы WriteBinaryStream и ReadBinaryStream используются для записи и чтения двоичных данных в/из файл INI соответственно.

Альтернативное решение:

Вместо использования компонента TMemoryStream для хранения двоичных данных можно использовать строковую переменную, чтобы хранить содержимое RichEdit-контрола. Затем можно записать эту строку в файл INI, используя метод WriteString компонента TIniFile.

Например:

procedure TForm1.Button1Click(Sender: TObject);
var
  ini: TIniFile;
  s: string;
begin
  s := RichEdit1.Lines.Text;
  ini := TIniFile.Create('c:\temp\demo.ini');
  ini.WriteString('1', '1', s);
  ini.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  ini: TIniFile;
  s: string;
begin
  ini := TIniFile.Create('c:\temp\demo.ini');
  s := ini.ReadString('1', '1', '');
  RichEdit1.Lines.Text := s;
  ini.Free;
end;

Эта APPROACH проще и более прямолинейна, но имеет ограничение в том, что она может только хранить строковые данные в файле INI. Если вам нужно хранить двоичные данные, такие как изображения или аудиофайлы, то использование компонента TMemoryStream все еще необходимо.

В статье описано, как сохранить содержимое RichEdit в INI-файле с помощью компонента TIniFile и TMemoryStream, а также как прочитать это содержимое обратно.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: INI файлы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:27:40/0.0055980682373047/1