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

Работа с INI-файлами

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

Работа с INI-файлами

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  An INI file stores information in logical groupings, called “sections.” 
  Within each section, actual data values are stored in named keys. 
   
  [Section_Name] 
  Key_Name1=Value1 
  Key_Name2=Value2 
   
}

 uses
   IniFiles;

 // Write values to a INI file 

procedure TForm1.Button1Click(Sender: TObject);
 var
   ini: TIniFile;
 begin
   // Create INI Object and open or create file test.ini 
  ini := TIniFile.Create('c:\MyIni.ini');
   try
     // Write a string value to the INI file. 
    ini.WriteString('Section_Name', 'Key_Name', 'String Value');
     // Write a integer value to the INI file. 
    ini.WriteInteger('Section_Name', 'Key_Name', 2002);
     // Write a boolean value to the INI file. 
    ini.WriteBool('Section_Name', 'Key_Name', True);
   finally
     ini.Free;
   end;
 end;


 // Read values from an INI file 

procedure TForm1.Button2Click(Sender: TObject);
 var
   ini: TIniFile;
   res: string;
 begin
   // Create INI Object and open or create file test.ini 
  ini := TIniFile.Create('c:\MyIni.ini');
   try
     res := ini.ReadString('Section_Name', 'Key_Name', 'default value');
     MessageDlg('Value of Section:  ' + res, mtInformation, [mbOK], 0);
   finally
     ini.Free;
   end;
 end;

 // Read all sections 

procedure TForm1.Button3Click(Sender: TObject);
 var
    ini: TIniFile;
 begin
   ListBox1.Clear;
   ini := TIniFile.Create('MyIni.ini');
   try
     ini.ReadSections(listBox1.Items);
   finally
      ini.Free;
    end;
 end;

 // Read a section 

procedure TForm1.Button4Click(Sender: TObject);
 var
    ini: TIniFile;
 begin
   ini: = TIniFile.Create('WIN.INI');
   try
     ini.ReadSection('Desktop', ListBox1.Items);
   finally
     ini.Free;
   end;
 end;


 // Read section values 

procedure TForm1.Button5Click(Sender: TObject);
 var
   ini: TIniFile;
 begin
   ini := TIniFile.Create('WIN.INI');
   try
     ini.ReadSectionValues('Desktop', ListBox1.Items);
   finally
      ini.Free;
     end;
 end;

 // Erase a section 

procedure TForm1.Button6Click(Sender: TObject);
 var
    ini: TIniFile;
 begin
   ini := TIniFile.Create('MyIni.ini');
   try
     ini.EraseSection('My_Section');
   finally
     ini.Free;
   end;
 end;

Код, предоставленный в примере, является примером работы с файлами INI в Delphi с помощью компонента TIniFile. Код демонстрирует, как записать и прочитать значения из файла INI, а также прочитать все разделы, конкретный раздел и прочитать значения раздела.

Вот разбивка каждого процедуры:

  1. Button1Click: Записывает три значения в файл INI: строковое значение с ключом "Key_Name", целочисленное значение с ключом "Key_Name" со значением 2002 и булевое значение с ключом "Key_Name" со значением True.
  2. Button2Click: Читает значение раздела "Section_Name" с ключом "Key_Name". Если ключ не существует, возвращает значение по умолчанию 'default value'.
  3. Button3Click: Читает все разделы из файла INI и пополняет список (ListBox1) именами разделов.
  4. Button4Click: Читает конкретный раздел "Desktop" из файла INI и пополняет список (ListBox1) ключ-значениями раздела.
  5. Button5Click: Аналогично Button4Click, но читает все значения в указанном разделе вместо только имени раздела.
  6. Button6Click: Удаляет раздел "My_Section" из файла INI.

Код использует блоки try-finally для обеспечения закрытия объекта TIniFile после использования, независимо от возникновения исключения или нет.

Некоторые предложения по улучшению:

  • Вместо жесткого кодирования путей файлов и имен разделовconsider использовать константы или переменные для сделать код более гибким и поддерживаемым.
  • Рассмотрите добавление обработки ошибок для случаев, когда файл INI не существует или не может быть записан/загружен.
  • Можете добавить больше функциональности в процедуры, например, проверять, существует ли ключ перед записью нового значения, или отображать сообщение при чтении значений.

В целом, этот код предоставляет хороший старт для работы с файлами INI в Delphi.

В статье описывается работа с файлами формата INI в Delphi, включая создание, запись и чтение данных, а также удаление секций.


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

Получайте свежие новости и обновления по 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:25:14/0.0037491321563721/0