![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Неявное описание типа данных? (Структура для настроек программы) [D5]
lipskiy © (2002-10-20 23:17:00)Требуется создать класс, каждый экземпляр которого будет работать только с одним типом данных, но в описании класса (его свойств и методов) тип явно не указывать. То есть конкретный тип данных будет задан при создании экземпляра класса, и до убиения меняться не будет. Все методы и свойства класса таковы, что их работа не зависит от типа данных, но при вызове свойств и методов класса необходимо узнать у него его тип данных.
Предполагается использовать типы: string, integer, real, boolean.
Возможно ли описать такой класс? И как?
Конкретно, что мне нужно, это создать класс для настроек программы, с которым было бы удобно работать. То есть этот класс по сути будет заниматься хранением данных, записью и чтением инишки, вызовом обработчиков изменения настроек, применением настроек по умолчанию и т.п. Также нужно как-то связать каждый параметр с визуальным компонентом на динамической форме настроек.
А может быть есть принципиально иной подход?
lipskiy (2002-10-21 01:22:00) [21]Ясно, я так и думал...
Придется писать четыре класса, видимо это проще и правильнее будет в данном случае.
Оливейра (2002-10-21 01:14:00) [22]А никак. В C++ это делается шаблонами, делфи пока до этого не дорос(ла, ло). Т.е., можно либо создать один класс-предок и от него 4 "перегруженных" потомка, либо извращаться на основе более-менее универсальных встроенных контейнеров типа TList и пр., либо юзать варианты. Одним словом, Delphi для этой задачи не очень удобный инструмент.
Аргумент - родной класс TRegistry для аналогичных целей использует ряд соответствующих функций - readInteger, readString и т.п.