Child.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit Child;
  2. interface
  3. uses Windows, Classes, Graphics, Forms, Controls, StdCtrls, Dialogs;
  4. type
  5.   TChildForm = class(TForm)
  6.     Memo1: TMemo;
  7.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  8.     procedure Memo1Change(Sender: TObject);
  9.     procedure FormCreate(Sender: TObject);
  10.     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  11.   private
  12.     fModified: Boolean;
  13.     procedure SetModified(const Value: Boolean);
  14.   public
  15.     procedure Load (FileName: string);
  16.     procedure Save;
  17.     property Modified: Boolean
  18.       read FModified write SetModified;
  19.   end;
  20. var
  21.   ChildForm: TChildForm;
  22. implementation
  23. {$R *.DFM}
  24. procedure TChildForm.FormClose(Sender: TObject; var Action: TCloseAction);
  25. begin
  26.   Action := caFree;
  27. end;
  28. procedure TChildForm.Memo1Change(Sender: TObject);
  29. begin
  30.   fModified := True;
  31. end;
  32. procedure TChildForm.FormCreate(Sender: TObject);
  33. begin
  34.   fModified := False;
  35. end;
  36. procedure TChildForm.FormCloseQuery(Sender: TObject;
  37.   var CanClose: Boolean);
  38. begin
  39.   CanClose := not fModified or (MessageDlg ('Close without saving?',
  40.     mtConfirmation, [mbYes, mbNo], 0) = mrYes);
  41. end;
  42. procedure TChildForm.Load (FileName: string);
  43. begin
  44.   Memo1.Lines.LoadFromFile (FileName);
  45.   Caption := FileName;
  46.   fModified := False;
  47. end;
  48. procedure TChildForm.Save;
  49. begin
  50.   Memo1.Lines.SaveToFile (Caption);
  51.   fModified := False;
  52. end;
  53. procedure TChildForm.SetModified(const Value: Boolean);
  54. begin
  55.   FModified := Value;
  56. end;
  57. end.