|
Формирование имени процедуры и ее вызов
| ☑ |
0
mzelensky
04.07.12
✎
14:17
|
Доброго всем еще раз!
Допустим есть процедуры (в данном случае 3, но вообще их больше):
Процедура_Тест_1()
Процедура_Тест_2()
Процедура_Тест_3()
Далее, в другом обработчике, я выполняю некие действия и в зависимости от условий должен буду вызвать нужную процедуру. Можно ли как-то программно сформировать имя процедуры в виде текста, а затем вызвать ее. Что-то типа такого:
ИмяПроцедуры="Процедура_Тест_"+Строка(НомерНужной)+"()";
И вызвать этот обработчик. ?!?!?!
|
|
1
Zmich
04.07.12
✎
14:19
|
Выполнить(ТекстКода)
|
|
2
mzelensky
04.07.12
✎
14:22
|
(1) а "ТекстКода" будет именем процедуры?
|
|
3
Zmich
04.07.12
✎
14:26
|
Выполнить (Execute)
Синтаксис:
Выполнить(<Строка>)
Параметры:
<Строка>
Строка, содержащая текст исполняемого кода.
Описание:
Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения.
|
|
4
ДенисЧ
04.07.12
✎
14:26
|
(2)
ИмяПроцедуры="Процедура_Тест_"+Строка(НомерНужной)+"()";
Выполнить(ИмяПроцедуры);
|
|
5
Fragster
гуру
04.07.12
✎
14:27
|
(4) ты лучше бы следил, почему СП без твоего ведома распространяют в (3)
|
|
6
эцп
04.07.12
✎
14:27
|
(2) Будет кодом, который хочешь выполнить, можно написать даже "а = б", и ведь присвоится!
|
|
7
mzelensky
04.07.12
✎
14:28
|
Я "выполнить" я знаком. Это единственный вариант?
|
|
8
fly7
04.07.12
✎
14:31
|
File = "";
Srvr = "";
Ref = "";
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
Выполнить(СтрокаСоединения);
|
|
9
Stepa86
04.07.12
✎
14:40
|
(7) тебя не смущает, что "Выполнить" и "Вычислить" как раз для таких случаев и введены?
|
|
10
mzelensky
04.07.12
✎
14:44
|
Хорошо, сделаю так.
|
|
11
palpetrovich
04.07.12
✎
15:00
|
офигенное счастье потом кому-то такой код анализировать :/
|
|
12
Irbis
04.07.12
✎
15:02
|
(11) Это проблемы индейцев, шерифу пофиг
|
|