
- •События формы
- •Работа приложения с одной и многими формами
- •Inherit — означает, что добавляемая в проект форма создается методом наследования от формы-заготовки, находящейся в Хранилище Объектов;
- •Организация взаимодействия форм.
- •Особенности модальных форм. Методы Show и ShowModal.
- •Стандартные диалоговые окна
- •Диалоговые окна вывода
Стандартные диалоговые окна
Диалоговое окно — вспомогательное окно, содержащее кнопки и другие элементы управления, при помощи которых можно выполнить ту или иную команду или задачу.
Виды диалоговых окон:
· окна ввода информации;
· окна вывода информации (окна сообщений).
Диалоговые окна ввода
InputBox
Возвращает текст, введенный пользователем в диалоговом окне с указанным заголовком и сообщением.
Переменная := InputBox(заголовок, подсказка, значение);
где:
Переменная — переменная строкового типа, значение которой должно быть получено от пользователя.
· Заголовок — текст заголовка окна ввода.
· Подсказка — текст поясняющего сообщения.
Значение — текст, который будет находиться в поле ввода, когда окно ввода появится на экране.
Пример использования:
Ввести возраст с помощью диалогового окна.
…
Var s:Byte;
…
Begin
…
s:=StrToInt(InputBox(‘Окно ввода','Введите ваш возраст','0'));
…
End;
Понять по возвращенному результату, написал ли пользователь какой-то текст, или отказался от ввода, можно, сравнив возвращенный результат с начальным значением. Впрочем, результат останется неизменным и в случае, если пользователь ничего не написал в диалоге, но нажал кнопку OK. Если надо достоверно знать, отказался ли пользователь от диалога или нажал OK, следует использовать похожую на InputBox функцию InputQuery.
InputQuery
Возвращает текст, введенный пользователем в диалоговом окне с указанным заголовком и сообщением, и позволяет определить действия пользователя в диалоге.
Возможные виды использования:
function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;
function InputQuery(const ACaption, APrompt: WideString; var Value: WideString): Boolean;
function InputQuery(const ACaption, APrompt: WideString; var Value: string): Boolean;
function InputQuery(const ACaption, APrompt: WideString; var Value: Double, Min: Double = Low(Integer); Max: Double = High(Integer)): Boolean;
, где:
· ACaption — заголовок диалогового окна.
· APromt — предложение пользователю что-то написать и окошко редактирования, в котором пользователь может написать ответ.
· Value — строка текста в окошке редактирования.
· AMin — минимальный набор символом, которые пользователь может ввести в окно редактирования.
· AMax — максимальный набор символов, которые пользователь может ввести в окно редактирования.
Пример использования:
Для этого примера понадобятся кнока и метка на форме. Когда пользаватель нажмет на кнопку появится диалоговое окно. Если пользаватель нажмет OK, то строка из дилогового окна отобразится на метке, находящейся на форме. Если пользователь нажмет Esc, Cancel или , то метка останется без изменений.
Procedure TForm1.Button1Click(Sender: TObject);
Var
NewString: string;
ClickedOK: Boolean;
Begin
NewString := 'Пустая строка';
Label1.Caption := NewString;
ClickedOK := InputQuery('Окно ввода', 'Подсказка', NewString);
If ClickedOK then
Label1.Caption := 'Новая строка ' ' ' + NewString + ' ' ' ';
End;