Совместная работа двух и более скриптов
|
|
Andrey | Дата: Четверг, 10 Мая 2007, 14:22 | Сообщение # 1 |
Новый участник
Группа: Проверенные
Сообщений: 26
Репутация: 0
Награды: 0
Статус: Offline
| Здравствуйте, кто нибудь знает, возможно ли выполнить эти две задачи? Если да, то как. Задача 1 (Частный случай) Как заставить отработать скрипт RUN, ТОЛЬКО в том случае, когда прошла успешная проверка (выполнилось некое условие) в скрипте CHECK? Задача 2 (Общий случай) Как передать некую переменную из скрипта N в скрипт M ? А то приходится одну и ту же проверку в каждый скрипт пихать, что не есть хорошо. Заранее спасибо
Сообщение отредактировал Andrey - Четверг, 10 Мая 2007, 14:32 |
|
| |
toizy | Дата: Четверг, 10 Мая 2007, 14:43 | Сообщение # 2 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Andrey) | Как заставить отработать скрипт RUN, ТОЛЬКО в том случае, когда прошла успешная проверка (выполнилось некое условие) в скрипте CHECK? | Code | if (условие) then RunScript("Run") |
Добавлено (10 Мая 2007, 14:43) ---------------------------------------------
Quote (Andrey) | Как передать некую переменную из скрипта N в скрипт M ? | Все переменные, которые используются в ММВ, глобальны для всех скриптов. Не вижу проблемы
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Andrey | Дата: Четверг, 10 Мая 2007, 14:58 | Сообщение # 3 |
Новый участник
Группа: Проверенные
Сообщений: 26
Репутация: 0
Награды: 0
Статус: Offline
| Code | if (условие) then RunScript("Run") | Я вот и не пойму что в (условие) надо вписать чтобы оно заработалоДобавлено (10 Мая 2007, 14:52) --------------------------------------------- Например, у меня имеется скрипт check, который выполняет проверку корректности ввода IP-адреса в chekbox как после этого заставить работать ДРУГОЙ скрипт, при условии, что проверка прошла успешно? Добавлено (10 Мая 2007, 14:58) ---------------------------------------------
Quote (toizy) | Все переменные, которые используются в ММВ, глобальны для всех скриптов. Не вижу проблемы | Т.е. правильно ли я понял, что, если я пропишу в одном скрипте произвольную переменную вида summ$=число1$+число2$ то эту переменную (summ$) я могу использовать в другом скрипте?
|
|
| |
toizy | Дата: Четверг, 10 Мая 2007, 15:03 | Сообщение # 4 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Andrey) | Т.е. правильно ли я понял, что, если я пропишу в одном скрипте произвольную переменную вида summ$=число1$+число2$ то эту переменную (summ$) я могу использовать в другом скрипте? | ДаДобавлено (10 Мая 2007, 15:03) ---------------------------------------------
Quote (Andrey) | Например, у меня имеется скрипт check, который выполняет проверку корректности ввода IP-адреса в chekbox | В студию!
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Andrey | Дата: Четверг, 10 Мая 2007, 15:12 | Сообщение # 5 |
Новый участник
Группа: Проверенные
Сообщений: 26
Репутация: 0
Награды: 0
Статус: Offline
| Code | **проверка наличия файла файл.exe path$ = '<SrcDir>\файл.exe' FileExist("<SrcDir>\файл.exe","path") If (path=0) Then err$='Не могу найти в текущей папке файл файл.exe' LoadText("Titul","err$") Else ********************************** **проверка правильности IP адреса str$=EditBox$+'.' For i=1 To 4 a=POS(.,str$) b=VAL(StrCopy(str$,1,a)) If (b=0 | b>255 | a>4) Then err_IP$='Не верный формат IP адреса' LoadText("Titul","err_IP$") Return() Else str$=StrDel(str$,1,a) End Next i IP$='Выбран IP адрес: ' summ$=IP$+EditBox$ LoadText("Titul","summ$") End **Успешно выполнены эти два условия, как передать результат этой проверки другому скрипту? |
Сообщение отредактировал Andrey - Четверг, 10 Мая 2007, 15:26 |
|
| |
toizy | Дата: Четверг, 10 Мая 2007, 15:48 | Сообщение # 6 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Code | **проверка наличия файла файл.exe path$ = '<SrcDir>\файл.exe' FileExist("<SrcDir>\файл.exe","path") If (path=0) Then err$='Не могу найти в текущей папке файл файл.exe' LoadText("Titul","err$") Else ********************************** **проверка правильности IP адреса sucess=false str$=EditBox$+'.' For i=1 To 4 a=POS(.,str$) b=VAL(StrCopy(str$,1,a)) If (b=0 | b>255 | a>4) Then err_IP$='Не верный формат IP адреса' LoadText("Titul","err_IP$") Return() Else str$=StrDel(str$,1,a) End Next i IP$='Выбран IP адрес: ' summ$=IP$+EditBox$ LoadText("Titul","summ$") sucess=true End if (sucess=true) Then RunScript("RUN") | В скрипте проверяешь значение success. Если False, то понятно, что скрипт не выполнился до конца, т.е. до строки sucess=true, значит, скрипт не должен запускаться.
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Andrey | Дата: Четверг, 10 Мая 2007, 16:20 | Сообщение # 7 |
Новый участник
Группа: Проверенные
Сообщений: 26
Репутация: 0
Награды: 0
Статус: Offline
| Сейчас попробую... Добавлено (10 Мая 2007, 16:20) ---------------------------------------------
Quote (toizy) | В скрипте проверяешь значение success. | В каком скрипте? Если в скрипте chek, то тогда это не совсем то, получается (если я правильно понял), что, скрипт RUN запускается автоматом, при sucess=true. Фактически скрипт RUN становится продолжением скрипта CHECK, только с дополнительным условием. А что делать, если имеется два и более скриптов (например RUN1, RUN2 и RUN3), и запускаться должен только один из них, но с обязательной проверкой вышеописанных условий (или хотя бы одного - проверки IP-адреса)? Вот и выходит, что для каждого из этих скриптов нужно влудить одну и ту же проверку троекратно. ЗЫ: В руском хелпе, который у меня, sucess - отсутствует
Сообщение отредактировал Andrey - Четверг, 10 Мая 2007, 16:08 |
|
| |
toizy | Дата: Четверг, 10 Мая 2007, 16:58 | Сообщение # 8 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Andrey) | Вот и выходит, что для каждого из этих скриптов нужно влудить одну и ту же проверку троекратно. | А ты как хотел? Quote (Andrey) | sucess - отсутствует | Ты не там смотришь. sucess - моя переменная Это тебе ориентир для того, чтобы знать о результатах проверки. А уже в том месте, где ты вызываешь скрипт (run, run1, run2, да по барабану), ты должен проверить, а не true ли sucess?
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Andrey | Дата: Четверг, 10 Мая 2007, 19:16 | Сообщение # 9 |
Новый участник
Группа: Проверенные
Сообщений: 26
Репутация: 0
Награды: 0
Статус: Offline
| Все понял! Спасибо еще раз Добавлено (10 Мая 2007, 19:16) --------------------------------------------- Пошел дальше себе мозги ломать
|
|
| |