Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: CL | DM;

Вниз

Как загрузить из INI список секций в ComboBox?   Найти похожие ветки 

 
Lyberzon ©   (2007-09-03 14:03) [0]

Уважаемые Мастера! Подскажите, как загрузить из INI-файла список секций в ComboBox?


 
MBo ©   (2007-09-03 14:06) [1]

я в хелп по TiniFile и по TRegIniFile заглянул, и нашел метод ReadSections


 
lyberzon ©   (2007-09-03 14:33) [2]

Да я тоже это читал, вот только у ComboBox-а нет св-ва Strings, а попытка создать переменную класса TStrings вызывает ошибку выхода за пределы памяти. Как быть?


 
Denis_ ©   (2007-09-03 14:36) [3]

ComboBox-а Items, вообще-то


 
Reindeer Moss Eater ©   (2007-09-03 14:38) [4]

property Items : TStrings


 
Сергей М. ©   (2007-09-03 14:38) [5]


> у ComboBox-а нет св-ва Strings


Зато есть Items.


> попытка создать переменную класса TStrings вызывает ошибку
> выхода за пределы памяти


Ой не выдумывай)

Написав где-то MyVar: TStrings ты тем самым в ран-тайм создал ту самую переменную, и таких ошибок при этом никогда не возникнет.


 
lyberzon ©   (2007-09-03 14:43) [6]

т.е. так не работает:
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:44) [7]

Ini.ReadSections(ComboBox1.Items);


 
lyberzon ©   (2007-09-03 14:46) [8]

Чего-то я зашпарился.. Спасибо всем!!!


 
Сергей М. ©   (2007-09-03 15:01) [9]


> Sections:=TStrings.Create;


Это не создание переменной.


> var
>  Sections: TStrings;


А вот это как раз оно самое.

Прочувствуй разницу).


 
lyberzon ©   (2007-09-04 13:55) [10]

Да, а тогда зачем ему метод Create?


 
Сергей М. ©   (2007-09-04 14:04) [11]


> зачем ему метод Create?


Кому "ему" ?

Попробуй сам себе ответить на этот вопрос ...


 
Jeer ©   (2007-09-04 14:16) [12]


> lyberzon ©   (04.09.07 13:55) [10]



> Да, а тогда зачем ему метод Create?
>


Для использования вне TIniFiles.

*.ReadSections по сути делает Assign.
В экземпляре TIniFiles существует fSections: TStringList.
Поэтому ReadSections инициализирует (создает) объявленную тобой объектную переменную Sections: TStrings и копирует данные из внутреннего списка fSections.


 
MBo ©   (2007-09-04 14:27) [13]

>lyberzon ©   (04.09.07 13:55) [10]
>Да, а тогда зачем ему метод Create?

Это тебе указали на неверную терминологию.
Конструктор Create создает экземпляр объекта, на который ссылается переменная.


 
lyberzon ©   (2007-09-04 16:48) [14]

Ну спасибо! Хоть просветили. Еще раз всех благодарю за помощь!



Страницы: 1 вся ветка

Текущий архив: 2007.09.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
2-1188674320
Bast
2007-09-01 23:18
2007.09.30
Перенаправление пакетов


15-1187885910
Kostafey
2007-08-23 20:18
2007.09.30
Развертывание Web-приложения для локальной сети


1-1184477724
Andol
2007-07-15 09:35
2007.09.30
Аппроксимация данных в дельфи


2-1188969414
alshtam
2007-09-05 09:16
2007.09.30
печать


15-1188409507
barakuda
2007-08-29 21:45
2007.09.30
Продажа программы