Правила использования действий и переменных

Документация по программе, ее функциям, ответы на часто возникающие вопросы.
Аватара пользователя
Alex
Ас
Сообщения: 2833
Зарегистрирован: Вт апр 05, 2005 3:28 pm
Откуда: Kaliningrad City
Благодарил (а): 2 раза
Поблагодарили: 91 раз
Контактная информация:

Правила использования действий и переменных

Сообщение Alex » Чт авг 16, 2007 7:01 pm

Синтаксис программы очень прост. Есть два правила и одно исключение из правил :) :

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: Правила использования действий и переменных

Сообщение Alex » Чт авг 16, 2007 7:36 pm

Часто задаваемые вопросы.

Вопрос: А как же можно использовать символы {,},[,] в своих действиях именно как текст?
Ответ: Вместо этих символов можно вставлять их замены-функции, а именно:{BraceOpened}, {BraceClosed}, {SquareBracketOpened}, {SquareBracketClosed}.

Qwertys
Пилотируем с автопилотом
Сообщения: 28
Зарегистрирован: Сб апр 16, 2011 10:40 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Правила использования действий и переменных

Сообщение Qwertys » Пн апр 18, 2011 10:28 pm

Подскажите пож-ста, как пробел отмечать?

markua
Ас
Сообщения: 197
Зарегистрирован: Чт май 29, 2008 5:06 pm
Благодарил (а): 3 раза
Поблагодарили: 10 раз

Re: Правила использования действий и переменных

Сообщение markua » Ср апр 20, 2011 1:21 pm


zaruba7
Пассажир
Сообщения: 1
Зарегистрирован: Чт дек 08, 2011 12:47 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Вопрос

Сообщение zaruba7 » Чт дек 08, 2011 12:53 pm

добрый день.подскажите как считать текст из файла в переменную,и потом использовать эту переменную как часть имени файла?

avmaksimov
Ас
Сообщения: 907
Зарегистрирован: Чт май 08, 2008 2:48 pm
Откуда: г. Москва, Россия
Благодарил (а): 6 раз
Поблагодарили: 16 раз
Контактная информация:

Re: Вопрос

Сообщение avmaksimov » Вс апр 29, 2012 4:21 pm

zaruba7 писал(а):добрый день.подскажите как считать текст из файла в переменную,и потом использовать эту переменную как часть имени файла?
Интересно, к чему такая экономия на переменных... Создайте еще одну одну.
С уважением, Андрей.

Роман
Пассажир
Сообщения: 3
Зарегистрирован: Ср ноя 14, 2012 12:38 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Вопрос

Сообщение Роман » Ср ноя 14, 2012 12:50 pm

Присоединюсь к сообщению выше.
Задача считывать значение переменной из файла(оно меняется), как это сделать?


есть некоторое количество строк(меняется)
сравнивая значение верхней строки с последующей переходить на нее
пример:
1.ааааа
2.ббббб
3.ввввв
считали строку 1(занесли значение в переменную), перешли ниже(нажатие DOWN),
считали строку на которой стоим(если последняя строка, то значение переменной не изменится),
если значение строки не равно значению предыдущей строки, переходим на строку ниже, а в значение переменной записываем уже значение строки 2.

markua
Ас
Сообщения: 197
Зарегистрирован: Чт май 29, 2008 5:06 pm
Благодарил (а): 3 раза
Поблагодарили: 10 раз

Re: Правила использования действий и переменных

Сообщение markua » Ср ноя 14, 2012 7:55 pm

Попробуйте через текстовый цикл (TextLoop) пройтись по строкам файла, а потом присвоить им переменные.

T2_WizaRD
Пассажир
Сообщения: 1
Зарегистрирован: Пн апр 08, 2013 12:16 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Правила использования действий и переменных

Сообщение T2_WizaRD » Пн апр 08, 2013 12:26 pm

Добрый день!
Подскажите пожалуйста, как мне задать условия и переменные, если я хочу чтобы xStarter ежедневно открывал http ресурс, менял в нем значение некоторых полей и далее скачивал данные в указанную директорию.
К примеру: есть рабочая программа, которая выдает отчеты. Отчеты хранятся где то на сервере, доступ к ним осуществляется через http с помощью GET/POST запросов, т.е. окно браузера, в нем выбираю даты, пункты и все такое, жму на кнопку "показать" и он показывает результат на экране. Если я хочу скачать отчет, например в excel, то это уже отдельная кнопка, в которой я выбираю вариант расширения предоставления отчета: excel, pdf.
Хочу автоматизировать так, чтобы xStarter ежедневно сам открывал этот отчет, менял дату с 6 апреля на 7 апреля и скачивал отчет в папку.

RotidE
Пассажир
Сообщения: 9
Зарегистрирован: Ср окт 20, 2010 7:50 pm
Откуда: Россия
Благодарил (а): 4 раза
Поблагодарили: 0

Как взять переменную из файла?

Сообщение RotidE » Пт мар 21, 2014 3:43 pm

Как взять переменную из определённого файла?

Допустим у нас есть файл с именем 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: Правила использования действий и переменных

Сообщение adept » Сб мар 22, 2014 5:08 pm

обрати внимание на действие "ТекстБлокN" в разделе "Текст"
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

RotidE
Пассажир
Сообщения: 9
Зарегистрирован: Ср окт 20, 2010 7:50 pm
Откуда: Россия
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Правила использования действий и переменных

Сообщение RotidE » Сб мар 22, 2014 6:39 pm

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 = ...
Все эти параметры (цифры) мне нужно извлечь из текстового файла, в генератор случайных чисел из раздела "Арифметика".

Пожалуйста, приведите пример, как это сделать?
Из каждой ситуации есть два выхода: первый, второй и третий.
Самый эффективный из них - четвертый.

casper-man
Пассажир
Сообщения: 1
Зарегистрирован: Чт июн 19, 2014 5:58 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Правила использования действий и переменных

Сообщение casper-man » Чт июн 19, 2014 6:05 pm

Подскажите такой момент:
У меня есть переменная loc и переменная ts, в первой путь к папке во второй имя нужного файла. Как мне задать третью переменную которая объединяла бы первые две. Если её задать как [loc][ts] то переменная возвращает тот же текст [loc][ts]... Научите балбеса :(

Pavel
Ас
Сообщения: 292
Зарегистрирован: Пт июн 30, 2006 3:23 pm
Благодарил (а): 7 раз
Поблагодарили: 22 раза

Re: Правила использования действий и переменных

Сообщение Pavel » Пн июл 28, 2014 10:43 am

casper-man писал(а):Подскажите такой момент:
У меня есть переменная loc и переменная ts, в первой путь к папке во второй имя нужного файла. Как мне задать третью переменную которая объединяла бы первые две. Если её задать как [loc][ts] то переменная возвращает тот же текст [loc][ts]... Научите балбеса :(
У меня получилось:
Вложения
конкатенация.xstk
(3.54 КБ) 692 скачивания

Аватара пользователя
adept
Ас
Сообщения: 177
Зарегистрирован: Ср июн 05, 2013 8:57 pm
Благодарил (а): 16 раз
Поблагодарили: 12 раз
Контактная информация:

Re: Правила использования действий и переменных

Сообщение adept » Ср авг 13, 2014 10:42 pm

casper-man писал(а):Подскажите такой момент:
У меня есть переменная loc и переменная ts, в первой путь к папке во второй имя нужного файла. Как мне задать третью переменную которая объединяла бы первые две. Если её задать как [loc][ts] то переменная возвращает тот же текст [loc][ts]... Научите балбеса :(
где идёт возврат текста "[loc][ts]"? некоторые параметры некоторых действий не воспринимают переменных. например, первое поле ввода в действии "Искать текст". для таких ситуаций стоит использовать соседнее действие - "Искать текст с параметрами"
Помогаю в автоматизации процессов на компьютере с помощью xStarter с 2012 года
Нужна подсказка, готовое решение или обучение? Поделись подробностями, напиши мне!
ВКонтакте: vk.com/s0f0s | Телеграм: s0ff0s

Ответить