среда, октября 01, 2008

диалог с НИМ

@prompt - диалог с пользователем

@Prompt( [style] : [ NoSort ] ; title ; prompt ; defaultChoice ; choiceList ; filetype)

title - заголовок сообщения; стоит учесть, что заголовок сообщения для некоторых стилей остаётся стандартным

prompt - само сообщение (как и title, для некоторых стилей не актуально)

defaultChoise - текст, задающий значение по умолчанию (актуально только для OkCancelEdit)

choiseList - текстовый список, задающий возможные варианты выбора

filetype - в доке написано, что задаёт фильтр для выбираемых файлов ("1" - только для файлов NSF, "2" - для NTF и "3" - для всех файлов), но мну чо-то не получилось (не увидел разницы)

[NoSort] - (не обязательно) позволяет отображать список выбора так, как его задали, тогда как по умолчанию данный список сортируется

ещё одно важное замечание - почти во всех стилях есть кнопка "Отмена" - для всех стилей, где она есть, кроме стиля YesNoCancel, нажатие кнопки приводит к прекращению обработки @Формулы в этой области! (то есть не просто закрывает окошко выбора, но и выполняет функцию @return(""))

[style]
самый таки главный параметр - задаёт стиль  сообщения, как такового =) то есть это может быть простое сообщение с одной кнопкой, а может предложение выбрать пункт ну и прочее по порядку:

[ChooseDatabase] предлагает пользователю выбрать базу данных:

ex @Prompt([choosedatabase];"";"");  вернёт к примеру такой результат "":"AgentRunner.nsf":"Java Agent Runner"

сама функция возвращает список из трёх элементов "имя сервера":"имя файла":"название базы данных", если база данных локальная, вместо имени сервера вернёт пустую строку

[LocalBrowse]

предлагает пользователю выбрать локальный файл:

ex @Prompt([LocalBrowse];"";"");  вернёт к примеру такой результат "D:\porn\Digger.mp3"

возвращает полный адрес выбранного файла

 
[Ok]

показывает окошко с единственной кнопкой - ок:

ex @Prompt([ok];"title";"prompt"); 

всегда возващает 1 (true)

[OkCancelCombo]

показывает сообщение с просьбой выбрать один из вариантов, для этого стиля требуется указать текстовый список вариантов :

ex @Prompt([OkCancelCombo];"title";"prompt";"default";"first elem":"second elem");  вернёт к примеру такой результат "first elem"

возвращает заголовок выбранного элемента

[OkCancelEdit]

предлагает пользователю ввести какой-либо текст:

ex @Prompt([OkCancelEdit];"title";"prompt"); 

ex @Prompt([OkCancelEdit];"title";"prompt";"default value");  

возвращает текст, введённый пользователем (максимальная длина вводимой строки - 254 символа)

[OkCancelEditCombo]

сочетание двух предыдущих вариантов - текст можно выбрать из списка, либо ввести новое значение:

ex @Prompt([OkCancelEditCombo];"title";"prompt";"";"first elem":"second elem");  вернёт к примеру такой результат "new value"

возвращает текст выбранного или введённого значения


[OkCancelList]

работает, как и OkCancelCombo, только вместо выпадающего списка "развёрнутый список"

ex @Prompt([OkCancelList];"title";"prompt";"";"first elem":"second elem");  вернёт к примеру такой результат "second elem"

возвращает выбанный элемент

[OkCancelListMult]

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

ex @Prompt([OkCancelListMult];"title";"prompt";"";"first elem":"second elem");  вернёт к примеру такой результат "first elem":"select elem" (если выбраны оба элемента)

[Password]

похож на OkCancelEdit, но вводимый текст "маскируется" звёздочками:

ex @Prompt([Password];"title";"prompt");  вернёт к примеру такой результат "my mega-super-puper hard PASSWORD!"

возвращает строку, введённую пользователем (в нормальном виде, разумеется)

[YesNo]

показывает окшко с двумя кнопками - Да и Нет (ну или Yes и No):

ex @Prompt([YesNo];"title";"prompt"); 

вернёт 1 (true), если выбран ответ Да, и 0 (false) в противном случае


[YesNoCancel]

покажет окошко с тремя кнопками - Да, Нет, Отмена (Yes, No, Cancel):

ex @Prompt([YesNoCancel];"title";"prompt"); 

возвращает 1 (true) если выбран ответ "Да", 0 (false) при ответе "Нет" и -1, если выбрана "Отмена"

Комментариев нет: