Массив функций

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Массив функций

Сообщение VB-constructor » 16.08.2006 (Ср) 18:37

Друзья, кто-нибудь скажет, как делать массив функций? Очень нужно!

Дело в том, что есть переменная. И в зависимоти от её численного значения необходимо воспроизвести опредленную функцию.
Функций много. Если через оператор case перечислять все значения переменной, то получится очень много писать...

P.S. Код нужен?
Человек рождён для того, чтобы достичь жизни...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 16.08.2006 (Ср) 18:50

Можно сделать массив объектов-функторов ;-)
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 16.08.2006 (Ср) 19:33

Можно объявить все функции скажем в форме и называть их
SpecFunc1
SpecFunc2
SpecFunc3
и т.д.
Вызывать так:
CallByName Form, "SpecFunc" & i
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 16.08.2006 (Ср) 19:52

ANDLL, неужели ты считаешь, что это будет лучше, чем с Select Case?
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 16.08.2006 (Ср) 20:17

Да.
Это будет лучше чем объекты-функторы, разве нет?
Ведь все функции будут находится в одном объекте, а у тебя - в разных.
Тем более, что select case - длинный, просто по размеру.
А в моем способе все делается в одну строчку.
Я думаю, автора беспокоит именно объем кода, а не скорость.
Разве не так?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 16.08.2006 (Ср) 22:25

А я думаю его беспокоит именно необходимость нахождения функций в массиве. И предложенный Тёмычем вариант как-раз для этого подходит.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 16.08.2006 (Ср) 22:37

К слову, даже в дремучем VBScript функторы есть как элемент языка.
Только в VB6 их приходится изобретать самому.
Изображение

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 17.08.2006 (Чт) 15:44

CallByName Form, "SpecFunc" & i
Как раз то, что надо - уже применил, спасибо, ANDLL!

А вот насчёт массива объектов-функторов я не понял... Можете привести пример, что ли - не пойму о чём речь.
Человек рождён для того, чтобы достичь жизни...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 125

    TopList