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

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

Как загрузить из 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


Наверх

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