<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://uopilot.uokit.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Prompt</id>
	<title>Prompt - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://uopilot.uokit.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Prompt"/>
	<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Prompt&amp;action=history"/>
	<updated>2026-05-05T09:08:36Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Prompt&amp;diff=700&amp;oldid=prev</id>
		<title>Tatikoma в 11:03, 28 августа 2019</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Prompt&amp;diff=700&amp;oldid=prev"/>
		<updated>2019-08-28T11:03:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://uopilot.uokit.com/wiki/index.php?title=Prompt&amp;amp;diff=700&amp;amp;oldid=275&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Tatikoma</name></author>
		
	</entry>
	<entry>
		<id>https://uopilot.uokit.com/wiki/index.php?title=Prompt&amp;diff=275&amp;oldid=prev</id>
		<title>Tatikoma: Новая страница: « == Описание == '''Prompt''' - оператор запроса ввода от пользователя. Запрашивает значения для с...»</title>
		<link rel="alternate" type="text/html" href="https://uopilot.uokit.com/wiki/index.php?title=Prompt&amp;diff=275&amp;oldid=prev"/>
		<updated>2019-08-27T21:21:50Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « == Описание == &amp;#039;&amp;#039;&amp;#039;Prompt&amp;#039;&amp;#039;&amp;#039; - оператор запроса ввода от пользователя. Запрашивает значения для с...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''Prompt''' - оператор запроса ввода от пользователя. Запрашивает значения для строки, массива или числа.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Для подсказки, содержащей больше одного слова, используйте кавычки.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Для строки: в переменную('''$a''') записывается введенная строка. Если выбор не был сделан (нажатие ок без ввода строки) - записывается пустая строка.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Для числа: в переменную('''#a''') записывается номер выбора. Если выбор не был сделан (нажатие ок без ввода строки) - записывается ноль.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Для массива: в массив('''%a''') записываются все значения для каждого элемента. Если элемент был выбран - единица, если нет - ноль.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
Привязка к окну: нет.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Работа со свернутым окном: да.&lt;br /&gt;
 Prompt ([!caption] &amp;amp;lt;line1&amp;gt; [line2] [line3] [line4] [line5] ([timeout]))&lt;br /&gt;
Где:&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''[!caption]''' - необязательный параметр. Подсказка, начинается с '!'.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''&amp;amp;lt;line1&amp;gt; [line2] [line3] [line4] [line5]''' - набор значений для выбора. Одно или больше.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''([timeout])''' - таймаут (время для выбора значения), указывается в секундах в круглых скобках.&lt;br /&gt;
 set $a prompt (подсказка)   &lt;br /&gt;
 set #b prompt (выбор1 выбор2 выбор3 выбор4 выбор5)  &lt;br /&gt;
 set %с prompt (выбор1 выбор2 выбор3 выбор4 выбор5)  &lt;br /&gt;
&lt;br /&gt;
'''set $a prompt''' - Запрос на ввод значения. Возвращает в переменную введенное значение.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''set #b prompt''' - Запрос на выбор значения. возвращает номер выбранного значения, либо 0. Выбор подтверждается закрытием окна.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;'''set %с prompt''' - Запрос на выбор нескольких значений. Возвращает указанный массив, содержащий в первой строке, по столбцам соответствующим номерам значений, либо 1 - если элемент выбран, либо 0. &lt;br /&gt;
&amp;amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Положение окна функции 'prompt':&lt;br /&gt;
 promptpos_x&lt;br /&gt;
 promptpos_y &lt;br /&gt;
== Примеры ==&lt;br /&gt;
 // Пример 1&lt;br /&gt;
 set #a prompt (первый &amp;quot;второй выбор&amp;quot; третий)&lt;br /&gt;
 msg #a&lt;br /&gt;
&lt;br /&gt;
 // Пример 2&lt;br /&gt;
 set $a prompt (Введите значение)  // Может быть как строкой, так и числом&lt;br /&gt;
 msg Введено: $a &lt;br /&gt;
&lt;br /&gt;
 // Пример 3&lt;br /&gt;
 set %a prompt (первый &amp;quot;второй выбор&amp;quot; третий)&lt;br /&gt;
     // если выбрано 1, иначе 0&lt;br /&gt;
 msg %a[1]      // все значения в одну строку&lt;br /&gt;
     // значения отдельно &lt;br /&gt;
 msg %a[1 1]    // первое значение &lt;br /&gt;
 msg %a[1 2]    // второе&lt;br /&gt;
 msg %a[1 3]    // третье&lt;br /&gt;
&lt;br /&gt;
 // Пример 4&lt;br /&gt;
 set promptpos_x 100    //установить координату 'Х' для окна Prompt&lt;br /&gt;
 set promptpos_y 100    //установить координату 'Y' для окна Prompt&lt;br /&gt;
 set #b prompt (выбор1 выбор2 выбор3 выбор4 выбор5)&lt;br /&gt;
 msg #b&lt;br /&gt;
&lt;br /&gt;
 // Пример 5&lt;br /&gt;
 // Prompt из массива&lt;br /&gt;
 set %a [1] 123&lt;br /&gt;
 set %a [2] 456&lt;br /&gt;
 set %a [3] 789&lt;br /&gt;
 set %a [4] abc&lt;br /&gt;
 set %a [5] def&lt;br /&gt;
 &lt;br /&gt;
 set $a         //очищаем строку&lt;br /&gt;
 for #i 1 size(%a)&lt;br /&gt;
     set $a $a %a[#i]       //создаём строку из всех элементов массива&lt;br /&gt;
 end_for&lt;br /&gt;
 &lt;br /&gt;
 set $b &amp;quot;prompt ($a ())&amp;quot;&lt;br /&gt;
 set %b [1] &amp;quot;#a&amp;quot;          &lt;br /&gt;
 eval (set %b[1] $b)              //выводим prompt&lt;br /&gt;
 msg #a&lt;br /&gt;
 End_script &lt;br /&gt;
&lt;br /&gt;
 // Пример 6&lt;br /&gt;
 // Вывод Prompt с подсказкой &lt;br /&gt;
 set $str &amp;quot;Выбрать одно из значений:&amp;quot;       // подсказка&lt;br /&gt;
 set #a prompt (!$str Один Два Три)&lt;br /&gt;
 msg #a&lt;br /&gt;
&lt;br /&gt;
 // Пример 7&lt;br /&gt;
 // Вывод Prompt с таймаут&lt;br /&gt;
 set $str &amp;quot;Выбрать одно из значений:&amp;quot;&lt;br /&gt;
 set #a prompt (!$str Один Два Три (5))    // на выбор значения 5 секунд, если выбор не сделан вернёт в переменную '#a' 0.&lt;br /&gt;
 msg #a&lt;br /&gt;
&lt;br /&gt;
== Смотрите также ==&lt;br /&gt;
&lt;br /&gt;
[[Hint]]&lt;br /&gt;
&amp;amp;lt;br&amp;gt;[[Promptpos x]]&lt;br /&gt;
&lt;br /&gt;
== История развития ==&lt;br /&gt;
&lt;br /&gt;
'''2.14'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил возможность из скрипта запросить значение у пользователя. &lt;br /&gt;
 'set $a prompt (&amp;amp;lt;подсказка&amp;gt;)'&lt;br /&gt;
Запрос на ввод значения. возвращает в переменную введенное значение. &lt;br /&gt;
 'set #b prompt (&amp;amp;lt;выбор1&amp;gt; &amp;amp;lt;выбор2&amp;gt; [выбор3] [выбор4] [выбор5])'&lt;br /&gt;
Запрос на выбор значения. возвращает номер выбранного значения, либо 0. выбор подтверждается закрытием окна..&lt;br /&gt;
&lt;br /&gt;
'''2.20'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Поправил внешний вид формочки 'prompt' и добавил кнопочку 'Ок'.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Поправил 'prompt' на предмет соответствия заявленному функционалу, и добавил возможность выбора нескольких значений:&lt;br /&gt;
 set $a prompt (подсказка)&lt;br /&gt;
Запрос на ввод значения. возвращает в переменную введенное значение. &lt;br /&gt;
 set #b prompt (выбор1 выбор2 выбор3 выбор4 выбор5)&lt;br /&gt;
Запрос на выбор значения. возвращает номер выбранного значения, либо 0. выбор подтверждается закрытием окна.&lt;br /&gt;
 set %с prompt (выбор1 выбор2 выбор3 выбор4 выбор5)&lt;br /&gt;
Запрос на выбор нескольких значений. Возвращает указанный массив, содержащий в первой строке, по столбцам соответствующим номерам значений, либо 1 - если элемент выбран, либо 0&lt;br /&gt;
Пример:&lt;br /&gt;
 set %s prompt (ch1 ch2 ch3 ch4 ch5)&lt;br /&gt;
 set #a size (%s [ 1 ]) // строка всегда одна, но в ней несколько столбцов&lt;br /&gt;
 set #b %s [ 1 #a ] // последний элемент&lt;br /&gt;
 set $c %s [ 1 ] // получим чтото типа 10010, т.е. все элементы сразу.&lt;br /&gt;
&lt;br /&gt;
'''2.21'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил в 'prompt' таймаут ожидания в секундах. Указывается после всех параметров в круглых скобках:&lt;br /&gt;
 'set #b prompt (ch1 ch2 ch3 [(таймаут)])'&lt;br /&gt;
Исправил незначительную ошибку в функции 'prompt'. Не обнулялся массив результатов.&lt;br /&gt;
&lt;br /&gt;
'''2.27.2'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Слегка подправил команду 'prompt':&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил вывод подсказки при запросе текстового значения&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил закрытие диалогового окна по клавише 'Enter'&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил закрытие диалогового окна при выборе значения мышкой&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил возможность указать многострочный комментарий с помощью '/n' при запросе строкового значения&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил возможность простого выбора числового ответа с клавиатуры&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Снял ограничение на 5 элементов выбора&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил отображение указанного таймаута ожидания в виде дополнительного пункта&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Немного косметики&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Если диалоговое окно закрылось по таймауту и в нем ничего не выбрано, то возвращается 0 или пустая строка, иначе - выбранный пункт&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Кнопка 'Ок' играет еще более символическую роль чем раньше&lt;br /&gt;
&lt;br /&gt;
'''2.29'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Подправил малость 'prompt'.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Подправил 'prompt', при остановке скрипта открытое окно промпта закрывается.&lt;br /&gt;
&lt;br /&gt;
'''2.32'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил ошибку в команде 'prompt', из-за которой все, что шло после пустых переменных игнорировалось.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил ошибку повторного вызова команды 'prompt', после остановки скрипта с активным окном промпта.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил в 'prompt' возможность выводить не нажимающиеся строки (без чекбоксов) с помощью восклицательного знака в начале строки.&lt;br /&gt;
 set #s prompt (!Test ! Passed)&lt;br /&gt;
Добавил в 'prompt' возможность выводить свой заголовок с помощью восклицательного знака, указанного в начале первой строки.&lt;br /&gt;
&lt;br /&gt;
'''2.36.2'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Добавил переменные положения окна функции 'prompt': 'promptpos_x', 'promptpos_y'. Значения изменяются только для текущего скрипта.&lt;br /&gt;
&lt;br /&gt;
'''2.37'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Починил чтение 'promptpos_x' и 'promptpos_y'.&lt;br /&gt;
&lt;br /&gt;
'''2.39'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Исправил ошибку, возникающую при отсутствии пробела перед скобкой в команде 'prompt'.&lt;br /&gt;
&lt;br /&gt;
'''2.41'''&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Расширил до 16к строку параметров передаваемую в команду 'prompt'.&lt;br /&gt;
&amp;amp;lt;br&amp;gt;Сделал автоматическое определение ширины окна команды 'prompt'.&lt;br /&gt;
[[Категория:Прочее]]&lt;/div&gt;</summary>
		<author><name>Tatikoma</name></author>
		
	</entry>
</feed>