home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / VPR_DATA / PROGRAM / DELPHI / 9702 / MEMOFORM.PAS < prev   
Pascal/Delphi Source File  |  1996-10-28  |  3KB  |  142 lines

  1. unit memoform;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, Menus, ComCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     MainMenu1: TMainMenu;
  12.     File1: TMenuItem;
  13.     Exit1: TMenuItem;
  14.     N1: TMenuItem;
  15.     PrintSetup1: TMenuItem;
  16.     Print1: TMenuItem;
  17.     N2: TMenuItem;
  18.     SaveAs1: TMenuItem;
  19.     Save1: TMenuItem;
  20.     Open1: TMenuItem;
  21.     New1: TMenuItem;
  22.     Help1: TMenuItem;
  23.     About1: TMenuItem;
  24.     HowtoUseHelp1: TMenuItem;
  25.     SearchforHelpOn1: TMenuItem;
  26.     Contents1: TMenuItem;
  27.     OpenDialog1: TOpenDialog;
  28.     SaveDialog1: TSaveDialog;
  29.     RichEdit1: TRichEdit;
  30.     procedure Open1Click(Sender: TObject);
  31.     procedure SaveAs1Click(Sender: TObject);
  32.     procedure New1Click(Sender: TObject);
  33.     procedure About1Click(Sender: TObject);
  34.     procedure Save1Click(Sender: TObject);
  35.     procedure FormCreate(Sender: TObject);
  36.     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  37.     procedure Exit1Click(Sender: TObject);
  38.   private
  39.     { Private 宣言 }
  40.   public
  41.     FileName: string;
  42.     function VerifyModified: Boolean;
  43.   end;
  44.  
  45. var
  46.   Form1: TForm1;
  47.  
  48. implementation
  49.  
  50. uses memoabt;
  51.  
  52. {$R *.DFM}
  53.  
  54. procedure TForm1.Exit1Click(Sender: TObject);
  55. begin
  56.   Close;
  57. end;
  58.  
  59. procedure TForm1.Open1Click(Sender: TObject);
  60. begin
  61.   if VerifyModified then
  62.   begin
  63.     if OpenDialog1.Execute then
  64.     begin
  65.       FileName := OpenDialog1.FileName;
  66.       Caption := 'メモ帳 - ' + FileName;
  67.       RichEdit1.Lines.LoadFromFile(FileName);
  68.       RichEdit1.Modified := False;
  69.     end;
  70.   end;
  71. end;
  72.  
  73. procedure TForm1.SaveAs1Click(Sender: TObject);
  74. begin
  75.   if SaveDialog1.Execute then
  76.   begin
  77.     FileName := SaveDialog1.FileName;
  78.     Caption := 'メモ帳 - ' + FileName;
  79.     RichEdit1.Lines.SaveToFile(FileName);
  80.     RichEdit1.Modified := False;
  81.   end
  82.   else
  83.     Abort;
  84. end;
  85.  
  86. procedure TForm1.New1Click(Sender: TObject);
  87. begin
  88.   if VerifyModified then
  89.   begin
  90.     FileName := 'Untitled';
  91.     Caption := 'メモ帳 - ' + FileName;
  92.     RichEdit1.Lines.Clear;
  93.     RichEdit1.Modified := False;
  94.   end;
  95. end;
  96.  
  97. procedure TForm1.About1Click(Sender: TObject);
  98. begin
  99.   AboutBox.ShowModal;
  100. end;
  101.  
  102. procedure TForm1.Save1Click(Sender: TObject);
  103. begin
  104.   if FileName = 'Untitled' then
  105.     SaveAs1Click(Sender)
  106.   else
  107.   begin
  108.     RichEdit1.Lines.SaveToFile(FileName);
  109.     RichEdit1.Modified := False;
  110.   end;
  111. end;
  112.  
  113. procedure TForm1.FormCreate(Sender: TObject);
  114. begin
  115.   FileName := 'Untitled';
  116.   Caption := 'メモ帳 - ' + FileName;
  117. end;
  118.  
  119. function TForm1.VerifyModified: Boolean;
  120. var
  121.   Ret: Word;
  122. begin
  123.   Result := True;
  124.   if RichEdit1.Modified then
  125.   begin
  126.     Ret := MessageDlg('テキストは変更されています。保存しますか?',
  127.                       mtConfirmation, mbYesNoCancel, 0);
  128.     case Ret of
  129.     mrYes: Save1Click(Self);
  130.     mrNo: ;
  131.     mrCancel: Result := False;
  132.     end;
  133.   end;
  134. end;
  135.  
  136. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  137. begin
  138.   CanClose := VerifyModified;
  139. end;
  140.  
  141. end.
  142.