просто спрашивает сохранять или нет:
Код:
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;