Показать сообщение отдельно
  #13  
Старый 04.01.2012, 09:29
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

просто спрашивает сохранять или нет:

Код:
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    OpenDialog1: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure TForm1.FormCreate(Sender: TObject);
begin
  Tag:=0;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
  Tag:=$ff;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Tag<>0 then
  begin
    if (MessageBox(Handle, 'Сохранить твой мусор?', 'Вопросец',
    MB_OKCANCEL or MB_ICONQUESTION)=IDOK) and (OpenDialog1.Execute) then
        Memo1.Lines.SaveToFile(OpenDialog1.FileName);
  end;
end;

не закроет программу пока не сохранишь:

Код:
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    OpenDialog1: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure TForm1.FormCreate(Sender: TObject);
begin
  Tag:=0;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
  Tag:=$ff;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose:=Tag=0;
  if not CanClose then
  begin
    if (MessageBox(Handle, 'Сохранить твой мусор?', 'Вопросец',
    MB_OKCANCEL or MB_ICONQUESTION)=IDOK) and (OpenDialog1.Execute) then
    begin
      Memo1.Lines.SaveToFile(OpenDialog1.FileName);
      CanClose:=True;
    end;
  end;
end;
Вложения
Тип файла: rar FormCloseQuery.rar (1.7 Кбайт, 7 просмотров)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием