Динамический код...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Динамический код...

Сообщение Джеффи » 04.05.2005 (Ср) 18:20

Здравствуйте!

У меня возникла потрбность создать небольшую функцию позволяющую исполнять код динамически...

Я знаю что есть такая процедура CallByName она 100% запускает процедуры по имени возможно ли такое же обращение к переменным?

Или вообще как легче сделать: MyIf("a = 1 and b = 2", c = 1) причём так чтобы первый параметр процедуры задавался программно...

Может есть другие способы...

Подскажите пожалуста...
С уважением, Джеффи.

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 04.05.2005 (Ср) 18:55

Так.. я не понял ничего... В начале вопрос "возможно ли такое же обращение к переменным?" а потом "так чтобы первый параметр процедуры задавался программно"... Честно говоря, я не совсем понял что требуется...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 04.05.2005 (Ср) 19:04

Создать динамическое условие... т.е. не писать код до запуска программы "IF ... Then ... End If" а сделать тоже самое из обычной строки...

Незнаю... я наверно лучше не объясню может кто-то меня поймёт... :roll:

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 04.05.2005 (Ср) 19:13

Не... че-т я все равно не понял...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 04.05.2005 (Ср) 19:16

FleX_2004 писал(а):Это executelineex кажется....


Как раз мне не нужно её использовать!

Кароче расскажите мне про CallByName :roll:

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 04.05.2005 (Ср) 19:21

Прямой дорогой тебе в подпись FAKK2...

Или ищи сам про CallByName или объясни понятнее че те нада... Мона даже примерный код.. Как ты себе это представляешь... Короч,Е опиши задачу конкретно... ну или хотябы понятно...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 04.05.2005 (Ср) 19:21

Microsoft Script Control

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 04.05.2005 (Ср) 19:30

Чтож просили ну получайте :D

Код: Выделить всё

Private Function CreateDinamicIf(a as long, b as long)
For i = a to b step 1
if not i = b then CreateDinamicIf = CreateDinamicIf "Not X = "& i & " And" else CreateDinamicIf = CreateDinamicIf "Not X = "& i
next i
End Sub

Sub Main
if MyIf(CreateDinamicIf) = true then print "ок" else print "блин"
end sub


Я спрашиваю как мне сделать функцию MyIf которая на основе параметра создавала внутри себя условие и выдавала верно ли оно.

Без скрипт контролла

P.S. По ссылке FAKK2 я ходил

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 04.05.2005 (Ср) 19:48

2 kirrun

Если бы давали премии за флуд, то ты был бы чемпионом :twisted:

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 04.05.2005 (Ср) 21:01

BV

Спасибо. Стараюсь 8)

ЗЫ. Все равно не понял че надо... Лана, без меня тут разберетесь...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 04.05.2005 (Ср) 21:03

kirrun писал(а):BV

Спасибо. Стараюсь 8)

ЗЫ. Все равно не понял че надо... Лана, без меня тут разберетесь...


Мог бы это не писать :D

ЗЫ. Флудер

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 04.05.2005 (Ср) 23:22

Понял ты меня правильно. Спасибо тебе за это!!! 8)

Ща попробую привидённый тобою пример :wink:

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 04.05.2005 (Ср) 23:28

FleX_2004 писал(а):Function CallByName(Object As Object, ProcName As String, CallType As VbCallType, Args() As Variant)
Member of VBA.Interaction
Support IDispatch::Invoke

Я не знаю что ты хотел этим сказать... но это я и так знаю, мне бы примерчик какой с комментариями...

FleX_2004 писал(а):Sub MyIf(что)
if что \xxxx=что \ yyyyy then
if int(Rnd(1)*что+10)>32897 then
MyIf=true
else
MyIf=false
end if
end if
end sub

Для начала Sub MyIf(что) заменяем на Function MyIf(что) :wink: , далее if что \xxxx=что \ yyyyy then если кто-то не знает делить на ноль нельзя :? , if int(Rnd(1)*что+10)>32897 then а это что :shock:


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

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

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

    TopList