Страница: 1 |
Страница: 1 |
Вопрос: Классы
Добавлено: 05.11.06 13:51
Автор вопроса: Graffin
Еще есть темка, над которой ломаю голову..Есть задание создать класс List, предоставляющий хранение списка обьектов, операции по добавлению объектов и доступа к ним, и имеющий событие Changed, которое вознивает при изменении размера списка..Что-то я искал в нете, но не нашел такое..Посдкажите, как это сделать..Просто поверхностно, что использовать и какой код..
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #1
Добавлено: 05.11.06 14:21
какой язык-то хоть?
если ООПэшный, то наследуй стандартный список, оверрайдь (перегружай, что ли?) методы add, remove,clear и добавляй в них вызов события.
если не ООПэшный, то создаёшь класс, в нём массив элементов или коллекция, те же методы add,remove,clear (только уже твои собственные) и вызов в них события Changed.
только, наверное, зря это всё: список, это вещь не умеющая изменяться сама собой - это делается из кода, использующего этот список, так что достаточно в этом коде, во всех местах, где происходит изменение списка (если много, то можно создать подпроцедуры AddToList, RemoveFromList, ClearList) вызывать желаемую процедуру и обойтись обычным list'ом.
хотя конечно от конкретных условий зависит.
поверхностно всё...
Номер ответа: 2
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #2
Добавлено: 05.11.06 14:27
Это на VB6?
Ну здесь два варианта:
1)Создать ActiveX Control, поместив на него ListBox и объявив это событие.
2)Потруднее, но если нужен именно класс,то ...
В модуле класса програмно вызвать listbox, и также raiseevent [это событие]
Подробнее надо?
Номер ответа: 3
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #3
Добавлено: 05.11.06 14:52
Overloaded members are used to provide different versions of a property or method that have the same name, but that accept different number of parameters, or parameters with different data types.
Номер ответа: 4
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #4
Добавлено: 05.11.06 15:45
в классе
private mList() as variant
private mListCnt as long
public property get Item(byval Index as long) as variant
item=mlist(index)
end property
public property let Item(Byval Index as long,vData as variant)
mlist(index)=vdata
end property
private sub Add(n as variant)
redim mlist(mlistcnt)
mlist(mlistcnt)=n
mlistcnt=mlistcnt+1
end sub
и тому подобное....
Или можно через Collection. Все зависит от того List чего ты собрался сделать.
Номер ответа: 5
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #5
Добавлено: 05.11.06 21:06
пусть объяснит сначала подо что он пишет
Номер ответа: 6
Автор ответа:
Graffin
Вопросов: 4
Ответов: 7
Профиль | | #6
Добавлено: 05.11.06 23:11
Мне надо под Vb.Net
Номер ответа: 7
Автор ответа:
Graffin
Вопросов: 4
Ответов: 7
Профиль | | #7
Добавлено: 05.11.06 23:17
А мне интересно только как можно создать событие Changed..Никак не найду нигде..