Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.07.2012, 23:40
Аватар для Shoni
Shoni Shoni вне форума
Прохожий
 
Регистрация: 02.09.2011
Адрес: Кострома
Сообщения: 45
Версия Delphi: 7
Репутация: 165
По умолчанию MsgDialog

Всем доброго времени суток!

Создается что-то вроде MessageDialog, куда пользователь вводит данные, если они были введены неверно, по нажатию ок MessageDialog не должен закрываться.

Код:
var

  AMsgDialog: TForm;
  AMaskEdit: TMaskEdit;
  CanClose: boolean;
..............................................
begin
.............................................
AMsgDialog := CreateMessageDialog(#10 + #13+'Ââåäèòå êëþ÷!' + #10 + #13+ #10 + #13+ #10 + #13, mtInformation , [mbYes]);
              AMsgDialog.OnCloseQuery( AMsgDialog , CanClose);

                with AMsgDialog do
                  try
                     ............................................. 
                      with AMaskEdit do
                          begin
                              Parent := AMsgDialog;
                              .............................................
                          end;
                      case ShowModal of
                          ID_Yes: (тут если условие выполняется - то разрешить закрытие, иначе - выдать сообщение ) ;

На строчке
Код:
AMsgDialog.OnCloseQuery( AMsgDialog , CanClose);
программа вылетает, помогите, кто чем может, зхаранее спасибо...
П.С. Варианты типа ИнпутКвери и ИнпутБокс не предлагать
__________________
Memento Mori(арти)
Ответить с цитированием
  #2  
Старый 08.07.2012, 23:53
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 340
Версия Delphi: 11.3
Репутация: 429
Сообщение

А почему бы просто не создать форму, набросать на нее нужных компонентов и вперед!
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #3  
Старый 09.07.2012, 00:16
Аватар для Shoni
Shoni Shoni вне форума
Прохожий
 
Регистрация: 02.09.2011
Адрес: Кострома
Сообщения: 45
Версия Delphi: 7
Репутация: 165
По умолчанию

так неинтересно
__________________
Memento Mori(арти)
Ответить с цитированием
  #4  
Старый 09.07.2012, 08:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure MessageDialogQuery(Sender: TObject; var CanClose: Boolean);
  public
    { Public declarations }
  end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  MessageDialog: TForm;
begin
  MessageDialog:=CreateMessageDialog('MessageDialog', mtInformation, [mbYes]);
  MessageDialog.OnCloseQuery:=MessageDialogQuery;
  Edit1.Parent:=MessageDialog;
  MessageDialog.ShowModal;
  Edit1.Parent:=Self;
  MessageDialog.Free;
end;

procedure TForm1.MessageDialogQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose:=Edit1.Text='123';
end;
строка 21 нужна чтобы спасти тестовый Edit1 от удаления.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter