Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.017 c
15-1188786679
Slider007
2007-09-03 06:31
2007.09.30
С днем рождения ! 3 сентября 2007 понедельник


3-1179905312
Dush
2007-05-23 11:28
2007.09.30
дублирование записи


6-1170415405
inex
2007-02-02 14:23
2007.09.30
переслать результат выполнения в коммандной строке


2-1188929716
Slip
2007-09-04 22:15
2007.09.30
Сбой при запуске Delphi


2-1188652748
nil_pointer
2007-09-01 17:19
2007.09.30
Constant expression violates subrange bounds




   Наверх