Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с именами секций в Ini-файлах [D6, Win95/98]


Dr. Genius ©   (2004-10-31 16:53:00) 

Вопрос 1. Допустим, есть Ini-файл с множеством секций (имена секций заключаются в квадратные скобки [...]). Как в ComboBox вывести ВСЕ эти имена секций построчно, т. е. чтобы в ComboBox получилось раскрывающееся меню со всеми именами секций. Вот кусок моего программного кода, но он не работает. Сама программа компилируется, но при выполнении процедуры, выложенной ниже, она завершается и выдает ошибку.

uses ..., ..., ..., IniFiles;

procedure TForm1.Button1Click(Sender: TObject);
var
 Ini: TIniFile;
 Sections: TStrings;
begin
 Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Database.ini');
 Ini.ReadSections(Sections);
 ComboBox1.Items := Sections;
 Ini.Free;
end;


Вопрос 2. Как все секции в Ini-файле (со всеми содержимыми разделами, естественно) расположить в алфавитном порядке?


begin...end   (2004-10-31 18:28:00) [1]


> Dr. Genius   (31.10.04 16:53)

var
 Ini: TIniFile;
begin
 Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Database.ini');
 ComboBoxName.Sorted := True;
  try
   Ini.ReadSections(ComboBoxName.Items)
  finally
   Ini.Free
  end
end
.


Возможно, я неправильно понял вопрос 2. Расположить секции в алфавитном порядке надо где - в самом IniFile или в ComboBox? Если первое - записывать в алфавитном порядке, хотя не понятно, для чего это нужно; если второе - см. пример выше.


Гарри Поттер   (2004-10-31 17:26:00) [2]

Сори, незаметил. Sections: TStrings;имхо, это не нужно, просто в цикле присвой значения секций значениям итемсов в сомбобоксе.


Dr. Genius   (2004-10-31 17:14:00) [3]


> TStrings это базовый класс, а требуется наследник


Приведите, пожалуйста, пример (кусок программного кода).


Anatoly Podgoretsky   (2004-10-31 17:11:00) [4]

Гарри Поттер ©   (31.10.04 17:00) [1]
А функцию сам будешь писать?

Dr. Genius   (31.10.04 16:53)  
TStrings это базовый класс, а требуется наследник


Гарри Поттер   (2004-10-31 17:00:00) [5]

Ini.ReadSections(Sections); // Это куда?

скорее так:
ComboBox1.Items := Ini.ReadSections(Sections);


Наверх

Титульная страница Поиск, карта сайта Написать письмо