Вниз
Скачать: 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.47 MB
Время: 0.015 c
6-1170223586
slartus
2007-01-31 09:06
2007.09.30
Список FTP-серверов в локальной сети


6-1167326922
KLAUS
2006-12-28 20:28
2007.09.30
WebBrowser F5


15-1188552281
Рамиль
2007-08-31 13:24
2007.09.30
Связка Windows 2003 64 bit + Oracle 10g 64 bit + Visual Studio


2-1189103615
Надуев Алексей
2007-09-06 22:33
2007.09.30
Своиства mp3


2-1188546595
VRSB
2007-08-31 11:49
2007.09.30
Слушатель порта




   Наверх