home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 August / VPR9608A.BIN / del20try / install / data.z / LOGOMAIN.PAS < prev    next >
Pascal/Delphi Source File  |  1996-05-08  |  3KB  |  143 lines

  1. unit LogoMain;
  2.  
  3. interface
  4.  
  5. uses Windows, Classes, Graphics, Forms, Controls, Menus,
  6.   Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls;
  7.  
  8. type
  9.   TLogoAppForm = class(TForm)
  10.     MainMenu: TMainMenu;
  11.     FileMenu: TMenuItem;
  12.     FileNewItem: TMenuItem;
  13.     FileOpenItem: TMenuItem;
  14.     FileSaveItem: TMenuItem;
  15.     FileSendItem: TMenuItem;
  16.     FileExitItem: TMenuItem;
  17.     OpenDialog: TOpenDialog;
  18.     SaveDialog: TSaveDialog;
  19.     Help1: TMenuItem;
  20.     AboutItem: TMenuItem;
  21.     SpeedPanel: TPanel;
  22.     OpenBtn: TSpeedButton;
  23.     SaveBtn: TSpeedButton;
  24.     ExitBtn: TSpeedButton;
  25.     StatusBar: TStatusBar;
  26.     RichEdit1: TRichEdit;
  27.     SendBtn: TSpeedButton;
  28.     procedure FormCreate(Sender: TObject);
  29.     procedure FileExit(Sender: TObject);
  30.     procedure FileNew(Sender: TObject);
  31.     procedure FileOpen(Sender: TObject);
  32.     procedure FileSave(Sender: TObject);
  33.     procedure FileSaveAs(Sender: TObject);
  34.     procedure FileSend(Sender: TObject);
  35.     procedure About(Sender: TObject);
  36.     procedure ShowHint(Sender: TObject);
  37.   private
  38.     FFileName: String;
  39.   public
  40.     { Public declarations }
  41.   end;
  42.  
  43. var
  44.   LogoAppForm: TLogoAppForm;
  45.  
  46. implementation
  47.  
  48. uses SysUtils, Mapi, About, LogoStrs;
  49.  
  50. {$R *.DFM}
  51.  
  52. procedure TLogoAppForm.FormCreate(Sender: TObject);
  53. begin
  54.   Application.OnHint := ShowHint;
  55. end;
  56.  
  57. procedure TLogoAppForm.FileNew(Sender: TObject);
  58. begin
  59.   FFileName := LoadStr(sUntitled);
  60.   RichEdit1.Lines.Clear;
  61.   RichEdit1.Modified := False;
  62. end;
  63.  
  64. procedure TLogoAppForm.FileOpen(Sender: TObject);
  65. begin
  66.   if OpenDialog.Execute then
  67.   begin
  68.     RichEdit1.Lines.LoadFromFile(OpenDialog.FileName);
  69.     FFileName := OpenDialog.FileName;
  70.     RichEdit1.SetFocus;
  71.     RichEdit1.Modified := False;
  72.     RichEdit1.ReadOnly := ofReadOnly in OpenDialog.Options;
  73.   end;
  74. end;
  75.  
  76. procedure TLogoAppForm.FileSave(Sender: TObject);
  77. begin
  78.   if FFileName = LoadStr(sUntitled) then
  79.     FileSaveAs(Sender)
  80.   else
  81.   begin
  82.     RichEdit1.Lines.SaveToFile(FFileName);
  83.     RichEdit1.Modified := False;
  84.   end;
  85. end;
  86.  
  87. procedure TLogoAppForm.FileSaveAs(Sender: TObject);
  88. begin
  89.   if SaveDialog.Execute then
  90.   begin
  91.     if FileExists(SaveDialog.FileName) then
  92.       if MessageDlg(FmtLoadStr(sOverwrite, [SaveDialog.FileName]),
  93.         mtConfirmation, mbYesNoCancel, 0) <> idYes then Exit;
  94.     RichEdit1.Lines.SaveToFile(SaveDialog.FileName);
  95.     FFileName := SaveDialog.FileName;
  96.     RichEdit1.Modified := False;
  97.   end;
  98. end;
  99.  
  100. procedure TLogoAppForm.FileSend(Sender: TObject);
  101. var
  102.   MapiMessage: TMapiMessage;
  103.   MError: Cardinal;
  104. begin
  105.   with MapiMessage do
  106.   begin
  107.     ulReserved := 0;
  108.     lpszSubject := nil;
  109.     lpszNoteText := PChar(RichEdit1.Lines.Text);
  110.     lpszMessageType := nil; 
  111.     lpszDateReceived := nil; 
  112.     lpszConversationID := nil; 
  113.     flFlags := 0;
  114.     lpOriginator := nil; 
  115.     nRecipCount := 0;
  116.     lpRecips := nil; 
  117.     nFileCount := 0;
  118.     lpFiles := nil; 
  119.   end;
  120.   
  121.   MError := MapiSendMail(0, 0, MapiMessage, 
  122.     MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0);
  123.   if MError <> 0 then MessageDlg('Error sending mail', mtError, [mbOK], 0);
  124. end;
  125.  
  126. procedure TLogoAppForm.FileExit(Sender: TObject);
  127. begin
  128.   Close;
  129. end;
  130.  
  131. procedure TLogoAppForm.About(Sender: TObject);
  132. begin
  133.   AboutBox.ShowModal;
  134. end;
  135.  
  136. procedure TLogoAppForm.ShowHint(Sender: TObject);
  137. begin
  138.   StatusBar.SimpleText := Application.Hint;
  139. end;
  140.  
  141. end.
  142.  
  143.