22.11.2004, 12:25 | #1 |
Участник
|
Здравствуйте!
Подскажите - есть ли в Навижн стандартные средства - нужно окно со строкой ввода. |
|
22.11.2004, 12:31 | #2 |
Moderator
|
Переменная типа Dialog
d.INPUT Use this function to read what a user enters into a field in a window. The system returns the input in a variable. This function also returns a number which identifies the next input field in the window. NewControlID := d.INPUT([ControlID] [,Variable]) |
|
22.11.2004, 12:36 | #3 |
Участник
|
Dialog использовать можно, но какой-то кривоватый он. Кстати, попутно вопрос - у меня не получилось просто или действительно там нет кнопки ОК?
Если бы не эта досадная мелочь - отсутствие кнопок Да, Нет, Ок и т.д. в различных сочетаниях - то можно использовать
__________________
С уваженем, rootadmin |
|
22.11.2004, 13:06 | #4 |
Moderator
|
В диалоге действительно нет кнопки Ок ;-) Но у него есть одна полезная кнопка "Отмена", которая реально прерывает выполнение модуля.
Для кнопок ДА/НЕТ есть CONFIRM Use this function to create a dialog box which prompts the user for a yes or no answer. The system centers the dialog box on the screen for you. Ok := CONFIRM(String [, Default] [, Value1] ,...) Для вариантов выбора есть STRMENU Use this function to create a menu window that displays a series of options. OptionNumber := STRMENU(OptionString [, DefaultNumber]) |
|
22.11.2004, 13:19 | #5 |
Участник
|
Странно - что то наверное я не так делаю - мне выдает
The dialog window is not open. |
|
22.11.2004, 13:49 | #6 |
Moderator
|
Сначала его нужно открыть: d.OPEN('Введите штоньть #1########');
Потом запросить ввод: d.INPUT(1,Var); А потом закрыть d.CLOSE (если надо) |
|
22.11.2004, 13:54 | #7 |
Участник
|
на счет того что открыть - я понял но вот какой номер контрола задавать и как его узнать у меня на любые номера выдает
The form does not recognize the control 1. |
|
22.11.2004, 13:56 | #8 |
Moderator
|
А вот #1######## и есть обозначение Контрола с номером. Читайте хелп или документацию ;-)
|
|
22.11.2004, 13:59 | #9 |
Участник
|
Мне на самом деле стыдно перед Вами - но я прочитал две книжки Объекты и спесификацию языка CAL но в них таких тонкостей нет насколько я помню - где взять то документацию
|
|
22.11.2004, 14:28 | #10 |
Moderator
|
Дык хелп родной:
d.OPEN Use this function to open a dialog window. d.OPEN(String [, Variable1], ...) d Data type: dialog Once you define this variable, you can open the dialog and then use other dialog functions. String Data type: text constant or code This string contains the text you want the system to display in the window. Use a back slash (\) to start a new line. Use pound signs (#) to insert variable values into the string, Place the pound signs where you want the system to substitute the variable value. If you use @ characters instead of #, the string can be used as an indicator. In this case, use @ characters only for the string, and let the variable be an integer. The limits of the indicator are 0 and 9999 - meaning that the integer you use for updating the indicator should have a value within this range. Place a number in the part of the string where a variable value will be substituted (as, for example, #1####) in order to be able to reference this field for updating. You can update the fields using the d.UPDATE or d.INPUT functions or by letting the user edit the values. Variable1 Data type: any Use these optional parameters to specify variables for field1, field2, and so on. Comments Dialog windows opened by an object are closed when the object terminates. Dialog windows are automatically sized to hold the longest line of text and the total number of lines. Example This example shows how to use the d.OPEN function. AccountInfo := Text000 + Text001; AccNo := 5634; TotSum := 1000; d.OPEN(AccountInfo, AccNo, TotSum); // Opens a window with '#'-fields for Account no. and Total d.UPDATE(); // Update the fields d.CLOSE() Create the following text constants in the C/AL Globals window: Text Constant ENU Value Text000 'Account no. #1######,\' Text001 'shows a total of $ #2######' The system will open the dialog window and show this text: Account no. 5634 shows a total of $ 1000 This shows that the system has formatted the values of the variables AccNo and TotSum into the '#'-fields. |
|
18.01.2005, 16:30 | #11 |
Участник
|
опять же, чтобы не создавать новую тему )))
а то кое-где отправляютЪ "в поиск" ))) из хелпа: begin CONFIRM Use this function to create a dialog box which prompts the user for a yes or no answer. The system centers the dialog box on the screen for you. Ok := CONFIRM(String [, Default] [, Value1] ,...) Ok Data type: boolean This return parameter reflects the user's selection. Ok will be... If you entered... TRUE Yes FALSE No String Data type: code or text constant The system displays this string in the dialog box. Use a back slash (\) to indicate a new line. The string can be a multilanguage enabled text constant. Default Data type: boolean Describes what the computer should use as the default button. If you do not specify a default, the system uses No. Comments The system sizes the message window for you. The height of the window corresponds to the number of lines and the width corresponds to the length of the longest line. Examples In the following example, the dialog.CONFIRM function prompts the user for a Yes or No answer: Question := Text000; Answer := dialog.CONFIRM(Question, TRUE); MESSAGE(Text001, Answer); Create the following text constants in the C/AL Globals window: Text Constant ENU Value Text000 'Leave without saving changes?' Text001 'You selected %1.' end и ничего про [, Value1] ,... .... кто сможет объяснить ЧТО ЭТО И ЗАЧЕМ?
__________________
извиняюсь если вопрос ТУП - спрашиваю исключительно потому, что не знаю. спасибо, что не послали |
|
18.01.2005, 16:47 | #12 |
Заноза в заднице
|
Value1..ValueN - текущие значения переменных, которые могут упоминаться в текстовой строке в виде: "%1..%N". Как в MESSAGE.
Типа: CONFIRM('Хотите ли перенести значение %1 в поле, содержащее значение %2, чтобы значение %3 не стало равным значению %4', TRUE, Item."Unit Cost", "Sales Line"."Unit Cost", "Purchase Line"."Unit Cost", "Value Entry"."Unit Cost"); Наглядно получилось?
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! |
|
19.01.2005, 10:37 | #13 |
Участник
|
Наглядно ))) Спасибо )))
Я так и думал, но после сообщения Цитата:
В диалоге действительно нет кнопки Ок ;-) Но у него есть одна полезная кнопка "Отмена", которая реально прерывает выполнение модуля.
Для кнопок ДА/НЕТ есть CONFIRM Use this function to create a dialog box which prompts the user for a yes or no answer. The system centers the dialog box on the screen for you. Ok := CONFIRM(String [, Default] [, Value1] ,...) питал какие-то нелепые иллюзии ))) Спасибо )))
__________________
извиняюсь если вопрос ТУП - спрашиваю исключительно потому, что не знаю. спасибо, что не послали |
|
13.04.2007, 13:22 | #14 |
Участник
|
А есть ли стандартные диалоги для открытия окон для выбора имени файла? Нужно обеспечить пользователю удобный выбор имени файла для импорта.
|
|
13.04.2007, 13:43 | #15 |
MCTS
|
Используйте Codeunit 412 Common Dialog Management
Функция OpenFile(Наименование Окна, Имя файла по умолчанию, Тип файла: ' ,Text,Excel,Word,Custom', Строка фильтра,Действие:Открыть, Сохранить) |
|
13.04.2007, 13:48 | #16 |
Участник
|
Спасибо!
|
|
24.12.2007, 16:49 | #17 |
Участник
|
у меня нет 412 Codeunit
|
|