![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| kuzyara |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 215 Регистрация: 13.11.2006 Репутация: нет Всего: 1 |
Я хочу создать массив переменных типа TIntegerList (такой есть в AcidUtils в AcedContainers). Но так как ооп это хорошо, хочу сделать это на подобии TStringList, ну чтобы там add, count, delete ...
вот что я смог написать:
это я скопировал из TList и заменил Pointer на TIntegerList. Но ведь это влекёт за собой и описание FCount, SetCount из property Count, и т.д. Неужели чтобы создать список не из строк, а из TIntList, придется переписывать весь класс? Всё же одинаковое... Как облегчить себе участь? Спасибо. зы: знаете какой-нибудь хороший материал про то, чем protected отличается от private, а override от overload? --------------------
подпись |
|||
|
||||
| Beltar |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 0 Всего: 7 |
1) На кой фиг тебе вообще даже знать как там устроено Count? Его родной функционал тебя не устраивает?
2) Что-то я не понял архитектуры. Тебе нужно создать список переменных, что наиболее вероятно, или список массивов, как я понял из кода? 3)
А причем тут вообще TStringList? Ты же сам TList используешь.
private это кишки, а protected все то, что в дальнейшем может быть перекрыто в наследниках. Собственно все компоненты VCL наследуются так (на примере TreeView): TCustomControl->TCustomTreeView (полнофункциональное дерево, но все его члены имеют видимость не выше protected) ->TTreeView (все члены, которые должны быть доступны вынесены в public и published). Если понадобиться наследник у которого какое-то свойство д/б недоступным (например, можно набор меток сделать, которые бы имели свойство Value разных типов и выводили бы его строковое значение, в этом случае тебе public\published Caption просто не нужен и даже вреден), то наследоваться надо не от конечного компонента, а от Custom'а.
Совершенно разные вещи, overload просто позволяет иметь несколько процедурок с одним именем, но разными параметрами. override перекрывает динамические или виртуальные методы. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||||
|
|||||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
Beltar, а вообще, мое имхо, что автору надо почитать книжку по основам программирования в делфи, раз уж он override от overload не отличает...
-------------------- There are always someone smarter than you... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Если дельфи 2009 и выше, то создаётся в одну строчку
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |