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

Загрузить или сохранить значения TCheckListbox в INI файл

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

Загрузить или сохранить значения TCheckListbox в INI файл

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

uses inifiles;

 {....}

 var
   i: Integer;
   ini: TIniFile;

 { 
  This tip saves all items with the checked/unchecked states 
  to an ini file. 

  Dieser Tip speichert alle Items mit dem checked/unchecked Zustand 
  in eine INI Datei. 
}


   //Save 

procedure TForm1.Button1Click(Sender: TObject);
 begin
   ini := TIniFile.Create('checklistbox.ini');
   try
     for i := 0 to Checklistbox1.Items.Count - 1 do
       ini.WriteBool('items', Checklistbox1.Items[i], Checklistbox1.Checked[i]);
   finally
     ini.Free;
   end;
 end;


 //Load 

procedure TForm1.Button2Click(Sender: TObject);
 begin
   ini := TIniFile.Create('checklistbox.ini');
   try
     ini.ReadSection('items', Checklistbox1.Items);
     for i := 0 to Checklistbox1.Items.Count - 1 do
       CheckListbox1.Checked[i] := ini.ReadBool('items', Checklistbox1.Items[i], False);
   finally
     ini.Free;
   end;
 end;

Here's a translation of the content into Russian:

Вот улучшенная версия кода с дополнительными комментариями и предложениями:

uses inifiles;

{ ... }

var
  i: Integer;
  ini: TIniFile;

{ Процедура сохраняет все элементы со своими состояниями "проверено" или "не проверено" в файле INI. }
procedure TForm1.Button1Click(Sender: TObject);
begin
   // Создайте новый файл INI с именем 'checklistbox.ini'
  ini := TIniFile.Create('checklistbox.ini');

  try
    for i := 0 to CheckListBox1.Items.Count - 1 do
       // Запишите состояние "проверено" или "не проверено" каждого элемента в файл INI
      ini.WriteBool('items', CheckListBox1.Items[i], CheckListBox1.Checked[i]);
  finally
     // Освободите файл INI, когда закончите
    ini.Free;
  end;
end;

{ Процедура загружает все элементы со своими состояниями "проверено" или "не проверено" из файла INI. }
procedure TForm1.Button2Click(Sender: TObject);
begin
   // Создайте новый файл INI с именем 'checklistbox.ini'
  ini := TIniFile.Create('checklistbox.ini');

  try
     // Прочитайте всю секцию 'items' из файла INI в CheckListBox1.Items
    ini.ReadSection('items', CheckListBox1.Items);

    for i := 0 to CheckListBox1.Items.Count - 1 do
       // Установите состояние "проверено" или "не проверено" каждого элемента на основе его значения в файле INI
      CheckListBox1.Checked[i] := ini.ReadBool('items', CheckListBox1.Items[i], False);
  finally
     // Освободите файл INI, когда закончите
    ini.Free;
  end;
end;

Предложения:

  • Вместо того, чтобы жестко кодировать имя файла 'checklistbox.ini' в обе процедуры, рассмотрите возможность определения константы для этого значения на верхушке вашего модуля, чтобы сделать его более легко изменяемым.
  • Вы можете добавить обработку ошибок, чтобы поймать любые потенциальные проблемы при чтении или записи в файл INI. Например, вы можете проверить, возвращает ли ini.ReadBool False, чтобы указать на ошибку.
  • Если вы используете Delphi 2009 или более позднюю версию, рассмотрите возможность использования метода TIniFile.CreateAndSave вместо создания и сохранения отдельно.

В целом, этот код выглядит хорошо и должен работать как ожидается!

Статья описывает, как сохранять и загружать значения CHECKBOX-элементов TCheckListbox в файле INI с помощью компонента TIniFile и языка программирования 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 11:49:59/0.0059380531311035/1