Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Чт мар 28, 2024 23:24

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 12 сообщений ] 
Автор Сообщение
 Заголовок сообщения: VBScript
СообщениеДобавлено: Пт май 31, 2013 11:36 
Не в сети
Аватара пользователя

Регистрация: Сб дек 06, 2008 10:45
Сообщения: 83
Откуда: Благовещенск
В CX-Supervisor Script есть такая процедура: Putproperty, которая позволяет задать свойство Active-X объекту.

Например, у меня есть много элементов типа TextBox на странице с именами TextBox_1_1 ... TextBox_X_Y и в цикле нужно заполнить их поле Text, тогда команда выглядит примерно так:
Код:
PutProperty( "TextBox_"+ValueToText(ii)+"_"+ValueToText(kk), "Text", "какой-то текст")

а как написать такую же команду в VBScript?

Вроде есть команда Property Let, но вот с аргументами непонятно что и как.


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Пт май 31, 2013 11:55 
Не в сети

Регистрация: Пт июл 01, 2011 07:15
Сообщения: 32
Откуда: Ижевск
Вроде как нет никаких проблем с использованием встроенных функций CX-Supervisor в теле VBS скрипта.


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Пн июн 03, 2013 04:00 
Не в сети
Аватара пользователя

Регистрация: Сб дек 06, 2008 10:45
Сообщения: 83
Откуда: Благовещенск
AndyRay писал(а):
Вроде как нет никаких проблем с использованием встроенных функций CX-Supervisor в теле VBS скрипта.


Есть Textbox с именем "ARRIVALS_1_1", если я пишу такой скрипт, используя CX-Supervisor Script
Код:
@VBSCRIPT
  Dim digDate, tempTxt, tempInt, nn, tempArray(8), txtAttr
  ii = 0
  txtAttr = "ARRIVALS_1_"+CStr(ii+1)
  tempInt = 1
  PutProperty(txtAttr, "Value", tempInt)
  ...
@ENDSCRIPT


При выполнении появляется такая ошибка (строки 3 и 4):
Рисунок


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Пн июн 03, 2013 07:37 
Не в сети

Регистрация: Пт июл 01, 2011 07:15
Сообщения: 32
Откуда: Ижевск
попробуйте вызвать функцию PutProperty вот таким образом:
Код:
@VBSCRIPT
  ...
  CALL PutProperty(txtAttr, "Value", tempInt)
  ...
@ENDSCRIPT


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Пн июн 03, 2013 08:23 
Не в сети
Аватара пользователя

Регистрация: Сб дек 06, 2008 10:45
Сообщения: 83
Откуда: Благовещенск
AndyRay

спасибо! проблема решена


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Пн июн 03, 2013 11:56 
Не в сети
Аватара пользователя

Регистрация: Сб дек 06, 2008 10:45
Сообщения: 83
Откуда: Благовещенск
И ещё, если я записал в TextBox какое-то значение, и потом хочу заменить это значение на другое, то нужно сначала очистить TextBox?
потому что повторная команда PutProperty(TextBox, "Value", newvalue) не изменяет значение.


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Пн июн 03, 2013 12:28 
Не в сети

Регистрация: Пт июл 01, 2011 07:15
Сообщения: 32
Откуда: Ижевск
Миханик писал(а):
И ещё, если я записал в TextBox какое-то значение, и потом хочу заменить это значение на другое, то нужно сначала очистить TextBox?
потому что повторная команда PutProperty(TextBox, "Value", newvalue) не изменяет значение.

К сожалению, не использую этот компонент, так что точно ответить не могу. Возможно, следует обратиться к свойству "Text" компонента.


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Вт июн 04, 2013 02:31 
Не в сети
Аватара пользователя

Регистрация: Сб дек 06, 2008 10:45
Сообщения: 83
Откуда: Благовещенск
С TextBox разобрался - всё он переписывает, проблема была в другом.

У меня вопрос по VBScript:
Если мы в теле скрипта объявляем переменные с помощью Dim, то какой у них срок жизни?
Объявив один раз они действуют до завершения всей программы или до завершения скрипта?
А также объявленные таким образом переменные являются глобальными для всего проекта или локальными для данного скрипта?


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Вт июн 04, 2013 07:38 
Не в сети

Регистрация: Пт июл 01, 2011 07:15
Сообщения: 32
Откуда: Ижевск
Миханик писал(а):
С TextBox разобрался - всё он переписывает, проблема была в другом.

У меня вопрос по VBScript:
Если мы в теле скрипта объявляем переменные с помощью Dim, то какой у них срок жизни?
Объявив один раз они действуют до завершения всей программы или до завершения скрипта?
А также объявленные таким образом переменные являются глобальными для всего проекта или локальными для данного скрипта?


Судя по всему, переменные объявленные через Dim действуют и хранят свое значение до закрытия программы и являются глобальными для всего проекта.


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Вт июн 04, 2013 10:03 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Переменные супервайзора, которые в скрипте используете, объявлять не нужно.


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Вт июн 04, 2013 11:04 
Не в сети
Аватара пользователя

Регистрация: Сб дек 06, 2008 10:45
Сообщения: 83
Откуда: Благовещенск
Олег писал(а):
Переменные супервайзора, которые в скрипте используете, объявлять не нужно.


Здесь не понял.
А если я использую переменные, которые не объявлены в редакторе Тегов супервайзера, то их тоже не нужно объявлять?

Я бы эти переменные вообще не использовал, но у супервайзера нет типа данных ДАТА/ВРЕМЯ, а мне нужен именно такой тип, чтобы было легко работать с датами (прибавлять дни, сравнивать между собой).

Сейчас попробовал не объявлять переменные с помощью Dim - тогда вообще ниче не работает, хоть система и не выдает ошибок.


Появилась еще одна проблема в теле
@VBSCRIPT
...
@ENDSCRIPT

если использовать цикл FOR ii = 1 TO 10 THEN ... NEXT
то при выполнении рунтайм выдает ошибку: "(Недопустимое присвоение: 'ii')"
если ii определена в редакторе тегов супервайзера, а если ее определить внутри скрипта с помощью Dim то все норма. Уже пол дня голову ломаю, но так ничего и не придумал..


В начало
 Профиль  
 
 Заголовок сообщения: Re: VBScript
СообщениеДобавлено: Пт июн 07, 2013 05:08 
Не в сети
Аватара пользователя

Регистрация: Сб дек 06, 2008 10:45
Сообщения: 83
Откуда: Благовещенск
Если у меня объект Active-X расположен на одной странице проекта, а мне нужно обратиться к его свойствам со скрипта другой страницы, как это сделать?
Потому что, если просто обратиться к нему по имени, то выдается ошибка, что объект не найден.

Отредактировано.
Уже не актуально - если делать вызов через VBScript, а не через CX-supervisor script, то такой ошибки не возникает.


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 12 сообщений ] 

Часовой пояс: UTC + 3 часа (Russia: MSK)


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

Сейчас этот форум просматривают: в настоящее время на конференции нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3