Текущий архив: 2004.06.06;
Скачать: CL | DM;
Вниз
Задержка для диалога Найти похожие ветки
← →
Хазей (2004-05-22 21:17) [0]Здравс-те уважаемые!
Мне нужно в проге вывести на экран диалог,чтоб в его текстовые
поля ввести значения для использования дальнейшем в проге.
Принцип как readln()в turbo pascal.
← →
Хазей (2004-05-22 21:21) [1]Хотелось бы узнать как это делают вумные люди
← →
ormada © (2004-05-22 21:31) [2]uses Dialogs;
procedure TForm1.Button1Click(Sender: TObject);
var
InputString: string;
begin
InputString:= InputBox("Input Box", "Prompt", "Default string");
end;
Правда маски ввода там нет никакой
зато как редлн :)
а по уме делаю форму ввода и смотри результат её закрытия (ака ModalResult)
← →
Хазей (2004-05-22 22:00) [3]InputString имеет только одно текстовое поле,нужно,что бы диалог был произвольного вида.
← →
Хазей (2004-05-22 22:02) [4]InputBox,пардон
← →
Юрий Зотов © (2004-05-23 05:29) [5]> Хазей
Делается это очень просто.
1. Добавляете в проект новую форму и убираете ее из AutoCreate (Project | Options | Forms). Пусть, например, Вы назвали ее класс TMyDialogForm, а модуль - MyDialogUnit.
2. Проектируете эту форму самым обычным образом. Естественно, на ней должны быть кнопки "OK" и "Отмена". Для них можно и не писать никаких обработчиков, а просто выставить у них свойство ModalResult (а еще посмотрите свойства Default и Cancel).
3. В другой форме (откуда надо показать диалог и получить из него введенные юзером данные) к кнопке показа диалога прицепляете такой обработчик:
uses
..., MyDialogUnit;
procedure TOtherForm.ShowDialogButtonClick(Sender: TObject);
begin
with TMyDialogForm.Create(nil) do
try
if ShowModal = mrOK then
begin
... // Берем введенные юзером данные
end
finally
Free
end
end;
Страницы: 1 вся ветка
Текущий архив: 2004.06.06;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.026 c