Правила использования действий и переменных
- Alex
- Ас
- Сообщения: 2833
- Зарегистрирован: Вт апр 05, 2005 3:28 pm
- Откуда: Kaliningrad City
- Благодарил (а): 2 раза
- Поблагодарили: 91 раз
- Контактная информация:
Правила использования действий и переменных
Синтаксис программы очень прост. Есть два правила и одно исключение из правил :
1. Каждое действие имеет некоторый результат своего выполнения. Получается что-то вроде математической функции, на входе действие получает введенные пользователем параметры, а на выходе - результаты своей работы.
В результатах выполнения действия всегда есть параметр Success - признак успешности выполнения действия.
Остальные параметры могут отличаться от действия к действию, в зависимости от решаемых задач. Например, действие СвойстваФайла на входе получает имя файла, а в результатах - размер файла, атрибуты, и т.д.
Есть определенный набор функций, которые просто возвращают некоторые данные, например:
ShowMessage1: Message="Каталог Window = {WINDOWSDIR}"
Также с помощью действия SetVariable (Установить переменную) можно задавать значения собственным переменным. Переменные могут быть локальными (действующими в пределах лишь текущей задачи) и глобальными (действующими в пределах всех задач системы). Использовать переменные можно с тем же синтаксисом, что и функции, например:
ShowMessage1: Message="Значение переменной X = {X}"
Если предварительно было выполнено дейтсвие SetVariable: VarName="X", Value="100", то yа экране отобразится текст "Значение переменной X = 100"
Примечание: Переменные не должны иметь те же названия, что и функции, система не сможет отличить функцию от переменной в этом случае, ведь синтаксис их использования одинаковый. При подстановке значений сначала производится поиск функции с заданным названием и если такая функция найдена, то значение переменной использоваться не будет.
2. В любое текстовое поле программы можно вставлять любые строки (тогда операции произведутся с текстом "как есть").
Также в текстовые поля можно вставлять результаты выполнения предыдущих действий в задаче, например:
FileProperties1: FileName="c:\boot.ini"
ShowMessage1: Message="Размер файла = [FileProperties1.FileSize]"
Переменные, функции и результаты выполнения действий можно использовать и в полях, в которых задаются пароли (то есть скрытых "звездочками"). В этом случае действует лишь одно ограничение - текст должен начинаться с переменной. Например, текст может быть "{my_password}" или "{my_password}2", но не может быть "This is {my_password}".
Не нужно запоминать названия функций и параметров, достаточно лишь в некотором действии установить курсор в текстовое поле и нажать кнопку Функция в нижнем левом углу окна действия. В этом списке Вы увидите:
а) Список действий, находящихся выше текущего в списке
б) Список переменных
в) Список результатов событий. Эти значения имеют смысл лишь если задача запустилась по событию. Например, если задача запускается по получению строки из COM порта (допустим, сканера штрих-кодов), то параметр {ComEvent.String} вернет нам собственно полученную строку (штрих-код).
г) Функции по категориям (функции, возвращающие информацию о системе, текстовые и возвращающие текущие дату/время).
Исключение: Действие SendKeys (Отправка клавиш) имеет другой синтаксис в строке для отправки. Если в строке отправки введен некоторый текст, то ввод именно этого текста будет сэмулирован программой. Для эмуляции ввода служебных клавиш есть их замена, например {ENTER}. Для эмуляции использования клавиш-модификаторов (ALT, CONTROL, WIN, SHIFT) используются символы %, ^, +. Для эмуляции одновременного нажатия клавиши-модификатора и некоторой строки необходимо строку ввести в скобках после символа клавиши-модификатора, например ^(v) будет обозначать одновременное нажатие Ctrl и v.
В строке для отправки нельзя использовать переменные или функции. Если все же необходимо отправить значение переменной, то можно использовать действие SendText (Отправить Текст), например:
SendKeys1: Str="{ENTER}+{ENTER}Дальше будет идти значение переменной X"
SendText1: Str="{MY_VAR_X}"
SendKeys2: Str="{ENTER}+{ENTER}"
Примечание: Начиная с версии 1.8.9.14 возможно использовать значения функций и переменных в действии SendKeys. Для этого необходимо заключить название переменной или функции в квадратные скобки, например:
SendKeys1: Str="{ENTER}+{ENTER}Дальше будет идти значение переменной X [MY_VAR_X]{ENTER}+{ENTER}"
1. Каждое действие имеет некоторый результат своего выполнения. Получается что-то вроде математической функции, на входе действие получает введенные пользователем параметры, а на выходе - результаты своей работы.
В результатах выполнения действия всегда есть параметр Success - признак успешности выполнения действия.
Остальные параметры могут отличаться от действия к действию, в зависимости от решаемых задач. Например, действие СвойстваФайла на входе получает имя файла, а в результатах - размер файла, атрибуты, и т.д.
Есть определенный набор функций, которые просто возвращают некоторые данные, например:
ShowMessage1: Message="Каталог Window = {WINDOWSDIR}"
Также с помощью действия SetVariable (Установить переменную) можно задавать значения собственным переменным. Переменные могут быть локальными (действующими в пределах лишь текущей задачи) и глобальными (действующими в пределах всех задач системы). Использовать переменные можно с тем же синтаксисом, что и функции, например:
ShowMessage1: Message="Значение переменной X = {X}"
Если предварительно было выполнено дейтсвие SetVariable: VarName="X", Value="100", то yа экране отобразится текст "Значение переменной X = 100"
Примечание: Переменные не должны иметь те же названия, что и функции, система не сможет отличить функцию от переменной в этом случае, ведь синтаксис их использования одинаковый. При подстановке значений сначала производится поиск функции с заданным названием и если такая функция найдена, то значение переменной использоваться не будет.
2. В любое текстовое поле программы можно вставлять любые строки (тогда операции произведутся с текстом "как есть").
Также в текстовые поля можно вставлять результаты выполнения предыдущих действий в задаче, например:
FileProperties1: FileName="c:\boot.ini"
ShowMessage1: Message="Размер файла = [FileProperties1.FileSize]"
Переменные, функции и результаты выполнения действий можно использовать и в полях, в которых задаются пароли (то есть скрытых "звездочками"). В этом случае действует лишь одно ограничение - текст должен начинаться с переменной. Например, текст может быть "{my_password}" или "{my_password}2", но не может быть "This is {my_password}".
Не нужно запоминать названия функций и параметров, достаточно лишь в некотором действии установить курсор в текстовое поле и нажать кнопку Функция в нижнем левом углу окна действия. В этом списке Вы увидите:
а) Список действий, находящихся выше текущего в списке
б) Список переменных
в) Список результатов событий. Эти значения имеют смысл лишь если задача запустилась по событию. Например, если задача запускается по получению строки из COM порта (допустим, сканера штрих-кодов), то параметр {ComEvent.String} вернет нам собственно полученную строку (штрих-код).
г) Функции по категориям (функции, возвращающие информацию о системе, текстовые и возвращающие текущие дату/время).
Исключение: Действие SendKeys (Отправка клавиш) имеет другой синтаксис в строке для отправки. Если в строке отправки введен некоторый текст, то ввод именно этого текста будет сэмулирован программой. Для эмуляции ввода служебных клавиш есть их замена, например {ENTER}. Для эмуляции использования клавиш-модификаторов (ALT, CONTROL, WIN, SHIFT) используются символы %, ^, +. Для эмуляции одновременного нажатия клавиши-модификатора и некоторой строки необходимо строку ввести в скобках после символа клавиши-модификатора, например ^(v) будет обозначать одновременное нажатие Ctrl и v.
В строке для отправки нельзя использовать переменные или функции. Если все же необходимо отправить значение переменной, то можно использовать действие SendText (Отправить Текст), например:
SendKeys1: Str="{ENTER}+{ENTER}Дальше будет идти значение переменной X"
SendText1: Str="{MY_VAR_X}"
SendKeys2: Str="{ENTER}+{ENTER}"
Примечание: Начиная с версии 1.8.9.14 возможно использовать значения функций и переменных в действии SendKeys. Для этого необходимо заключить название переменной или функции в квадратные скобки, например:
SendKeys1: Str="{ENTER}+{ENTER}Дальше будет идти значение переменной X [MY_VAR_X]{ENTER}+{ENTER}"
- Alex
- Ас
- Сообщения: 2833
- Зарегистрирован: Вт апр 05, 2005 3:28 pm
- Откуда: Kaliningrad City
- Благодарил (а): 2 раза
- Поблагодарили: 91 раз
- Контактная информация:
Re: Правила использования действий и переменных
Часто задаваемые вопросы.
Вопрос: А как же можно использовать символы {,},[,] в своих действиях именно как текст?
Ответ: Вместо этих символов можно вставлять их замены-функции, а именно:{BraceOpened}, {BraceClosed}, {SquareBracketOpened}, {SquareBracketClosed}.
Вопрос: А как же можно использовать символы {,},[,] в своих действиях именно как текст?
Ответ: Вместо этих символов можно вставлять их замены-функции, а именно:{BraceOpened}, {BraceClosed}, {SquareBracketOpened}, {SquareBracketClosed}.
-
- Пассажир
- Сообщения: 1
- Зарегистрирован: Чт дек 08, 2011 12:47 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Вопрос
добрый день.подскажите как считать текст из файла в переменную,и потом использовать эту переменную как часть имени файла?
-
- Ас
- Сообщения: 907
- Зарегистрирован: Чт май 08, 2008 2:48 pm
- Откуда: г. Москва, Россия
- Благодарил (а): 6 раз
- Поблагодарили: 16 раз
- Контактная информация:
Re: Вопрос
Интересно, к чему такая экономия на переменных... Создайте еще одну одну.zaruba7 писал(а):добрый день.подскажите как считать текст из файла в переменную,и потом использовать эту переменную как часть имени файла?
С уважением, Андрей.
-
- Пассажир
- Сообщения: 3
- Зарегистрирован: Ср ноя 14, 2012 12:38 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Вопрос
Присоединюсь к сообщению выше.
Задача считывать значение переменной из файла(оно меняется), как это сделать?
есть некоторое количество строк(меняется)
сравнивая значение верхней строки с последующей переходить на нее
пример:
1.ааааа
2.ббббб
3.ввввв
считали строку 1(занесли значение в переменную), перешли ниже(нажатие DOWN),
считали строку на которой стоим(если последняя строка, то значение переменной не изменится),
если значение строки не равно значению предыдущей строки, переходим на строку ниже, а в значение переменной записываем уже значение строки 2.
Задача считывать значение переменной из файла(оно меняется), как это сделать?
есть некоторое количество строк(меняется)
сравнивая значение верхней строки с последующей переходить на нее
пример:
1.ааааа
2.ббббб
3.ввввв
считали строку 1(занесли значение в переменную), перешли ниже(нажатие DOWN),
считали строку на которой стоим(если последняя строка, то значение переменной не изменится),
если значение строки не равно значению предыдущей строки, переходим на строку ниже, а в значение переменной записываем уже значение строки 2.
-
- Ас
- Сообщения: 197
- Зарегистрирован: Чт май 29, 2008 5:06 pm
- Благодарил (а): 3 раза
- Поблагодарили: 10 раз
Re: Правила использования действий и переменных
Попробуйте через текстовый цикл (TextLoop) пройтись по строкам файла, а потом присвоить им переменные.
-
- Пассажир
- Сообщения: 1
- Зарегистрирован: Пн апр 08, 2013 12:16 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Правила использования действий и переменных
Добрый день!
Подскажите пожалуйста, как мне задать условия и переменные, если я хочу чтобы xStarter ежедневно открывал http ресурс, менял в нем значение некоторых полей и далее скачивал данные в указанную директорию.
К примеру: есть рабочая программа, которая выдает отчеты. Отчеты хранятся где то на сервере, доступ к ним осуществляется через http с помощью GET/POST запросов, т.е. окно браузера, в нем выбираю даты, пункты и все такое, жму на кнопку "показать" и он показывает результат на экране. Если я хочу скачать отчет, например в excel, то это уже отдельная кнопка, в которой я выбираю вариант расширения предоставления отчета: excel, pdf.
Хочу автоматизировать так, чтобы xStarter ежедневно сам открывал этот отчет, менял дату с 6 апреля на 7 апреля и скачивал отчет в папку.
Подскажите пожалуйста, как мне задать условия и переменные, если я хочу чтобы xStarter ежедневно открывал http ресурс, менял в нем значение некоторых полей и далее скачивал данные в указанную директорию.
К примеру: есть рабочая программа, которая выдает отчеты. Отчеты хранятся где то на сервере, доступ к ним осуществляется через http с помощью GET/POST запросов, т.е. окно браузера, в нем выбираю даты, пункты и все такое, жму на кнопку "показать" и он показывает результат на экране. Если я хочу скачать отчет, например в excel, то это уже отдельная кнопка, в которой я выбираю вариант расширения предоставления отчета: excel, pdf.
Хочу автоматизировать так, чтобы xStarter ежедневно сам открывал этот отчет, менял дату с 6 апреля на 7 апреля и скачивал отчет в папку.
-
- Пассажир
- Сообщения: 9
- Зарегистрирован: Ср окт 20, 2010 7:50 pm
- Откуда: Россия
- Благодарил (а): 4 раза
- Поблагодарили: 0
Как взять переменную из файла?
Как взять переменную из определённого файла?
Допустим у нас есть файл с именем Setting.txt
Мне нужно в нём задать значения нескольких переменных:
Up X
Up Y
Down X
Down Y
Сделать нужно так, что бы задача (а впоследствии скомпилированная задача) считывала из этого файла эти значения.
При этом, в будущем, хотелось бы понимать, что находится в этом файле, следовательно, для каждой переменной в строке файла Setting.txt, необходимо добавить комментарий, т.е. что бы в будущем понимать, что означает каждая строка с указанным в ней значением переменной (осписание строки в этой же строке), например:
Up X = 1032
Up Y = 562
Down X = 1027
Down Y = 641
В случае изменения значений в этом файле - задача считывает их при запуске и устанавливает их для своей работы.
Мне не нужно, как установить значения переменной в задаче.
Мне нужно понять, как поставить в задачу, если мы туда добавляем "Установить переменную 1", что бы переменная бралась из файла "Setting.txt" из определённой строки.
Однако, т.к. там в этой строке будет ещё и комментарий - нужно, что бы задача забирала именно значение переменной, а не копировала всю найденную строку, например, в файле написано:
Up X = 1032
Up Y = 562
Down X = 1027
Down Y = 641
Нужно забрать из каждой строки и установить в значение переменной только цифры.
Как это осуществить???
Помогите, пожалуйста.
P.S. Извините, если вопрос не в тему, ближе тему я не нашёл, и как создавать новые темы на этом форуме, я тоже не нашёл.
Допустим у нас есть файл с именем Setting.txt
Мне нужно в нём задать значения нескольких переменных:
Up X
Up Y
Down X
Down Y
Сделать нужно так, что бы задача (а впоследствии скомпилированная задача) считывала из этого файла эти значения.
При этом, в будущем, хотелось бы понимать, что находится в этом файле, следовательно, для каждой переменной в строке файла Setting.txt, необходимо добавить комментарий, т.е. что бы в будущем понимать, что означает каждая строка с указанным в ней значением переменной (осписание строки в этой же строке), например:
Up X = 1032
Up Y = 562
Down X = 1027
Down Y = 641
В случае изменения значений в этом файле - задача считывает их при запуске и устанавливает их для своей работы.
Мне не нужно, как установить значения переменной в задаче.
Мне нужно понять, как поставить в задачу, если мы туда добавляем "Установить переменную 1", что бы переменная бралась из файла "Setting.txt" из определённой строки.
Однако, т.к. там в этой строке будет ещё и комментарий - нужно, что бы задача забирала именно значение переменной, а не копировала всю найденную строку, например, в файле написано:
Up X = 1032
Up Y = 562
Down X = 1027
Down Y = 641
Нужно забрать из каждой строки и установить в значение переменной только цифры.
Как это осуществить???
Помогите, пожалуйста.
P.S. Извините, если вопрос не в тему, ближе тему я не нашёл, и как создавать новые темы на этом форуме, я тоже не нашёл.
Из каждой ситуации есть два выхода: первый, второй и третий.
Самый эффективный из них - четвертый.
Самый эффективный из них - четвертый.
- adept
- Ас
- Сообщения: 177
- Зарегистрирован: Ср июн 05, 2013 8:57 pm
- Благодарил (а): 16 раз
- Поблагодарили: 12 раз
- Контактная информация:
Re: Правила использования действий и переменных
обрати внимание на действие "ТекстБлокN" в разделе "Текст"
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s
-
- Пассажир
- Сообщения: 9
- Зарегистрирован: Ср окт 20, 2010 7:50 pm
- Откуда: Россия
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: Правила использования действий и переменных
Что то я не понял.adept писал(а):обрати внимание на действие "ТекстБлокN" в разделе "Текст"
И что мне это даёт?
Для начала, нужно как то указать файл, откуда будет извлекаться текст.
Потом уже, нужно из этого файла извлекать текст.
И всё равно не понятно, как извлечь только цифры из текстового файла, если в нему буду строки... скажем:
Код: Выделить всё
Темп:
Min = 257
Max = 724
Координаты первой точки:
X min = 1005
X max = 1035
Y min = 610
Y max = 640
Координаты второй точки:
X2 min = 1025
X2 max = 1035
Y2 min = ...
Y2 max = ...
Пожалуйста, приведите пример, как это сделать?
Из каждой ситуации есть два выхода: первый, второй и третий.
Самый эффективный из них - четвертый.
Самый эффективный из них - четвертый.
-
- Пассажир
- Сообщения: 1
- Зарегистрирован: Чт июн 19, 2014 5:58 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Правила использования действий и переменных
Подскажите такой момент:
У меня есть переменная loc и переменная ts, в первой путь к папке во второй имя нужного файла. Как мне задать третью переменную которая объединяла бы первые две. Если её задать как [loc][ts] то переменная возвращает тот же текст [loc][ts]... Научите балбеса
У меня есть переменная loc и переменная ts, в первой путь к папке во второй имя нужного файла. Как мне задать третью переменную которая объединяла бы первые две. Если её задать как [loc][ts] то переменная возвращает тот же текст [loc][ts]... Научите балбеса
-
- Ас
- Сообщения: 291
- Зарегистрирован: Пт июн 30, 2006 3:23 pm
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Re: Правила использования действий и переменных
У меня получилось:casper-man писал(а):Подскажите такой момент:
У меня есть переменная loc и переменная ts, в первой путь к папке во второй имя нужного файла. Как мне задать третью переменную которая объединяла бы первые две. Если её задать как [loc][ts] то переменная возвращает тот же текст [loc][ts]... Научите балбеса
- Вложения
-
- конкатенация.xstk
- (3.54 КБ) 692 скачивания
- adept
- Ас
- Сообщения: 177
- Зарегистрирован: Ср июн 05, 2013 8:57 pm
- Благодарил (а): 16 раз
- Поблагодарили: 12 раз
- Контактная информация:
Re: Правила использования действий и переменных
где идёт возврат текста "[loc][ts]"? некоторые параметры некоторых действий не воспринимают переменных. например, первое поле ввода в действии "Искать текст". для таких ситуаций стоит использовать соседнее действие - "Искать текст с параметрами"casper-man писал(а):Подскажите такой момент:
У меня есть переменная loc и переменная ts, в первой путь к папке во второй имя нужного файла. Как мне задать третью переменную которая объединяла бы первые две. Если её задать как [loc][ts] то переменная возвращает тот же текст [loc][ts]... Научите балбеса
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s