Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Классы Добавлено: 05.11.06 13:51  

Автор вопроса:  Graffin
Еще есть темка, над которой ломаю голову..Есть задание создать класс List, предоставляющий хранение списка обьектов, операции по добавлению объектов и доступа к ним, и имеющий событие Changed, которое вознивает при изменении размера списка..Что-то я искал в нете, но не нашел такое..Посдкажите, как это сделать..Просто поверхностно, что использовать и какой код..

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #1
Добавлено: 05.11.06 14:21
какой язык-то хоть?
если ООПэшный, то наследуй стандартный список, оверрайдь (перегружай, что ли?) методы add, remove,clear и добавляй в них вызов события.
если не ООПэшный, то создаёшь класс, в нём массив элементов или коллекция, те же методы add,remove,clear (только уже твои собственные) и вызов в них события Changed.
только, наверное, зря это всё: список, это вещь не умеющая изменяться сама собой - это делается из кода, использующего этот список, так что достаточно в этом коде, во всех местах, где происходит изменение списка (если много, то можно создать подпроцедуры AddToList, RemoveFromList, ClearList) вызывать желаемую процедуру и обойтись обычным list'ом.
хотя конечно от конкретных условий зависит.

поверхностно всё...

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #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
В модуле класса програмно вызвать listbox
извращенский метод какой-то :))

если ООПэшный, то наследуй стандартный список,
кстать не обязательно, мона обойтись и обычным массивом

перегружай, что ли?
неа,
Overridden properties and methods are used to replace an inherited property or method that is not appropriate in a derived class. Overridden members must accept the same data type and number of arguments. Derived classes inherit overridden members.

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..Никак не найду нигде..

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам