![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как загрузить из INI список секций в ComboBox? [D7, WinXP]
Lyberzon © (2007-09-03 14:03:00)Уважаемые Мастера! Подскажите, как загрузить из INI-файла список секций в ComboBox?
lyberzon (2007-09-04 16:48:00) [1]Ну спасибо! Хоть просветили. Еще раз всех благодарю за помощь!
MBo (2007-09-04 14:27:00) [2]>lyberzon © (04.09.07 13:55) [10]
>Да, а тогда зачем ему метод Create?
Это тебе указали на неверную терминологию.
Конструктор Create создает экземпляр объекта, на который ссылается переменная.
Jeer (2007-09-04 14:16:00) [3]
> lyberzon © (04.09.07 13:55) [10]
> Да, а тогда зачем ему метод Create?
>
Для использования вне TIniFiles.
*.ReadSections по сути делает Assign.
В экземпляре TIniFiles существует fSections: TStringList.
Поэтому ReadSections инициализирует (создает) объявленную тобой объектную переменную Sections: TStrings и копирует данные из внутреннего списка fSections.
Сергей М. (2007-09-04 14:04:00) [4]
> зачем ему метод Create?
Кому " ему" ?
Попробуй сам себе ответить на этот вопрос ...
lyberzon (2007-09-04 13:55:00) [5]Да, а тогда зачем ему метод Create?
Сергей М. (2007-09-03 15:01:00) [6]
> Sections:=TStrings.Create;
Это не создание переменной.
> var
> Sections: TStrings;
А вот это как раз оно самое.
Прочувствуй разницу).
lyberzon (2007-09-03 14:46:00) [7]Чего-то я зашпарился.. Спасибо всем!!!
Reindeer Moss Eater (2007-09-03 14:44:00) [8]Ini.ReadSections(ComboBox1.Items);
lyberzon (2007-09-03 14:43:00) [9]т.е. так не работает:
procedure TWizardForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
Sections: TStrings;
begin
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'sample.ini');
Sections:=TStrings.Create;
Ini.ReadSections(Sections);
ComboBox1.Items.AddStrings(Sections);
Sections.Free;
Ini.Free;
end;
Reindeer Moss Eater (2007-09-03 14:38:00) [10]property Items : TStrings
Сергей М. (2007-09-03 14:38:00) [11]
> у ComboBox-а нет св-ва Strings
Зато есть Items.
> попытка создать переменную класса TStrings вызывает ошибку
> выхода за пределы памяти
Ой не выдумывай)
Написав где-то MyVar: TStrings ты тем самым в ран-тайм создал ту самую переменную, и такихошибок при этом никогда не возникнет.
Denis_ (2007-09-03 14:36:00) [12]ComboBox-а Items, вообще-то
lyberzon (2007-09-03 14:33:00) [13]Да я тоже это читал, вот только у ComboBox-а нет св-ва Strings, а попытка создать переменную класса TStrings вызывает ошибку выхода за пределы памяти. Как быть?
MBo (2007-09-03 14:06:00) [14]я в хелп по TiniFile и по TRegIniFile заглянул, и нашел метод ReadSections