Posted: 20 Jun 2007 07:45 Post subject: Вопросы по функции Dialog
Какие параметры у функции Dialog()? В справочнике описаны первых 3 параметра. На форуме нашел, что всего восемь параметром и последний это справочник. А какие параметры с 4-го по 7-й?
Вопросы по шаблонам (возможно лучше дать ссылку, где про это хорошо написано) применительно к функции Dialog():
Как сделать «шаблон строки которая будет смещаться вправо (на экране скажем 40 символов одновременно, а набрать можно 250 со смещением символов)»?
Как сделать шаблон для даты с проверкой на корректность ввода?
Как правильно сделать шаблон для счета? Если делать, так:
Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
Posted: 20 Jun 2007 08:46 Post subject: Re: Вопросы по функции Dialog
Дениска wrote:
Какие параметры у функции Dialog()?
DIALOG(cMess,[cPict],cVar,[cZag],[cWhen],[cValid],[cColor],[cRef])
- функция выводит на экран запрос на ввод одного или нескольких
значений. Позволяет задать формат ввода, значения по умолчанию,
а также условия доступа в поле ввода и выхода из поля ввода.
Возвращает введенное значение (массив значений). Здесь:
cMess - текст запроса на ввод значения. Если функция вызывается для
ввода нескольких значений, в качестве данного параметра должен
быть передан массив из тестов запроса для каждого вводимого
значения.
cPict - маска (формат) ввода значения. При вводе нескольких значений
передается массив масок для ввода каждого значения. Параметр
является необязательным. При его отстуствии формат поля ввода
соответствует формату значения по умолчанию.
cVar - значение по умолчанию или массив значений по умолчанию в случае
ввода нескольких значений.
cZag - необязательный параметр, задает текст, выводимый в загловке окна
запроса.
cWhen - необязательный логический параметр, определяющий условие
доступа в поле ввода. Всегда задается в виде массива (даже
в случае определения только одного значения). Каждый элемент
массива может быть задан в виде выражения, в котором доступны
значения временного массива xVar[] - массива введенных значений.
Вычисление выражения выполняется непосредственно перед переходом в
поле ввода данного значения. Таким образом, при определении
возможности доступа в поле ввода, например, третьего значения,
можно использовать введенные перед этим первое и второе
значения xVar[1] и xVar[2].
cValid - необязательный логический параметр, определяющий условие
выхода из поля. Правила ввода аналогичны параметру cWhen. Значение
выражения вычисляется при выходе из поля ввода. В выражении могут
быть использованы также элементы массива введенных значений
xVar[]. Таким образом, параметр может быть использован для
контроля корректности введенного значения.
cColor - необязательный символьный параметр, определяющий цвет окна
запроса.
cRef - необязательный символьный параметр, определяющий используемый
при вводе справочник. Правила ввода аналогичны параметру cWhen.
Дениска wrote:
Как сделать «шаблон строки которая будет смещаться вправо (на экране скажем 40 символов одновременно, а набрать можно 250 со смещением символов)»?
@S40 - выведет 40 первых символов на экран, но сама переменная может быть любой длины. При редактировании она будет скроллироваться в строке 40 длиной символов.
Дениска wrote:
Как сделать шаблон для даты с проверкой на корректность ввода?
Посмотрите параметр cValid. Например, cValid:='xVar[1]>=scl_beg'
да отличная информация, только к сожалению, немного поздно....
PS у меня сложилось мнение (где-то читал, возможно на форуме), что параметры начиная с 4 являются не документированными и как следствие возможно не корректная их поддержка в последующих версиях, Это так?
PSS то Behemoth если не секрет поделитесь плиз источником столь интересной информаци
Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
Posted: 20 Jun 2007 11:51 Post subject:
maestro_ wrote:
PS у меня сложилось мнение (где-то читал, возможно на форуме), что параметры начиная с 4 являются не документированными и как следствие возможно не корректная их поддержка в последующих версиях, Это так?
Да. В том виде, в котором я привёл описание оно было опубликовано в БЭСТ-4. Когда там был пункт меню "Информация для специалистов" и надо было вводить хитрый пароль, чтобы туда попасть. В дальнейшем, описание параметров сократилось до 3-х пунктов. Не знаю, с чем это связано. Функция DIALOG не является функцией, специально написанной для использования в plugins, поэтому при каких-то доработках её параметры могут быть изменены. Но, IMHO, вероятность того, что существующий функционал будет радикально изменён, минимальн _________________ С уважением, Новиков Алексей.
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 20 Jun 2007 11:58 Post subject:
Вообще по описаниям функций - этот форум Ваш источник
Вы сюда пишите - я смотрю и размещаю что могу.
Что касается DIALOG то все параметры доступны (вот
только справочник не проверял...не было необходимости)
А про не поддерживаются мы писали про скоб в DBPUSH()
Вот с этим не рекомендовано. БОльше не припомню.
PSS то Behemoth если не секрет поделитесь плиз источником столь интересной информации.
В инструментарии разработчика содержатся исходные коды различных функций для БЭСТ-4, включая dialog. Также имеется пример ее использования.
каталог - pll
файл - util1.prg
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum