home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / spdos2.zip / DEMOS / SPEED.PAS < prev    next >
Pascal/Delphi Source File  |  1994-06-21  |  5KB  |  198 lines

  1. PROGRAM test;
  2. { $m 16384,0,0}
  3.  
  4. USES pmobject,pmDialog,pmeditor,pmdos;
  5.  
  6. RESOURCE Speed;
  7.  
  8. CONST
  9.      CM_COMPOPT     =200;  {Compiler options}
  10.      CM_MEMSIZES    =201;  {Memory sizes}
  11.      CM_LINKOPT     =202;  {Linker options}
  12.      CM_DIRECTORIES =203;  {Directories}
  13.      CM_PREFERENCES =204;  {Environment/Preferences}
  14.      CM_EDOPT       =205;  {Editor options}
  15.      CM_FIND        =206;  {Find}
  16.      CM_REPLACE     =207;  {Replace}
  17.      CM_GOTO        =208;  {Goto}
  18.      CM_PARAMETER   =209;  {Proghram parameter}
  19.      CM_PRJ         =210;  {Project control}
  20.  
  21. TYPE TMyApp=OBJECT(TEditorApplication)
  22.                  CONSTRUCTOR Init(AppMainID:LONGWORD);
  23.                  DESTRUCTOR Done;
  24.                  FUNCTION AppHandleEvent(Win:HWND;Msg:LONGWORD;
  25.                                          para1,para2:POINTER;
  26.                                          VAR Handled:BOOLEAN):LONGWORD:
  27.                                          VIRTUAL;
  28.                  PROCEDURE AppCreateNotify(AppWin:HWND):VIRTUAL;
  29.             END;
  30.  
  31. VAR
  32.     MyApp:TMyApp;
  33.  
  34. PROCEDURE About;
  35. VAR Dlg:TDialog;
  36. BEGIN
  37.      Dlg.Init(1,AppWinFrameHandle,0,1004,NIL);
  38.      Dlg.ExecDialog;
  39.      Dlg.Done;
  40. END;
  41.  
  42. PROCEDURE CompOptDialog;
  43. VAR CompOptDlg:TDialog;
  44. BEGIN
  45.      CompOptDlg.Init(1,AppWinFrameHandle,0,1005,NIL);
  46.      CompOptDlg.ExecDialog;
  47.      CompOptDlg.Done;
  48. END;
  49.  
  50. PROCEDURE EdOptDialog;
  51. VAR EdOptDlg:TDialog;
  52. BEGIN
  53.      EdOptDlg.Init(1,AppWinFrameHandle,0,1010,NIL);
  54.      EdOptDlg.ExecDialog;
  55.      EdOptDlg.Done;
  56. END;
  57.  
  58. PROCEDURE LinkOptDialog;
  59. VAR LinkOptDlg:TDialog;
  60. BEGIN
  61.      LinkOptDlg.Init(1,AppWinFrameHandle,0,1007,NIL);
  62.      LinkOptDlg.ExecDialog;
  63.      LinkOptDlg.Done;
  64. END;
  65.  
  66. PROCEDURE DirDialog;
  67. VAR DirDlg:TDialog;
  68. BEGIN
  69.      DirDlg.Init(1,AppWinFrameHandle,0,1008,NIL);
  70.      DirDlg.ExecDialog;
  71.      DirDlg.Done;
  72. END;
  73.  
  74. PROCEDURE ProjectDialog;
  75. VAR PrjDlg:TDialog;
  76. BEGIN
  77.      PrjDlg.Init(1,AppWinFrameHandle,0,1015,NIL);
  78.      PrjDlg.ExecDialog;
  79.      PrjDlg.Done;
  80. END;
  81.  
  82. PROCEDURE FindDialog;
  83. VAR FindDlg:TDialog;
  84. BEGIN
  85.      FindDlg.Init(1,AppWinFrameHandle,0,1011,NIL);
  86.      FindDlg.ExecDialog;
  87.      FindDlg.Done;
  88. END;
  89.  
  90. PROCEDURE ReplaceDialog;
  91. VAR ReplDlg:TDialog;
  92. BEGIN
  93.      ReplDlg.Init(1,AppWinFrameHandle,0,1012,NIL);
  94.      ReplDlg.ExecDialog;
  95.      ReplDlg.Done;
  96. END;
  97.  
  98. PROCEDURE GotoDialog;
  99. VAR GotoDlg:TDialog;
  100. BEGIN
  101.      GotoDlg.Init(1,AppWinFrameHandle,0,1013,NIL);
  102.      GotoDlg.ExecDialog;
  103.      GotoDlg.Done;
  104. END;
  105.  
  106.  
  107. PROCEDURE PreferencesDialog;
  108. VAR PrefDlg:TDialog;
  109. BEGIN
  110.      PrefDlg.Init(1,AppWinFrameHandle,0,1009,NIL);
  111.      PrefDlg.ExecDialog;
  112.      PrefDlg.Done;
  113. END;
  114.  
  115. PROCEDURE ParameterDialog;
  116. VAR ParaDlg:TDialog;
  117. BEGIN
  118.      ParaDlg.Init(1,AppWinFrameHandle,0,1014,NIL);
  119.      ParaDlg.ExecDialog;
  120.      ParaDlg.Done;
  121. END;
  122.  
  123. PROCEDURE MemorySizes;
  124. VAR MemSizesDlg:TDialog;
  125. BEGIN
  126.      MemSizesDlg.Init(1,AppWinFrameHandle,0,1006,NIL);
  127.      MemSizesDlg.ExecDialog;
  128.      memSizesDlg.Done;
  129. END;
  130.  
  131. FUNCTION TMyApp.AppHandleEvent(Win:HWND;Msg:LONGWORD;
  132.                                para1,para2:POINTER;
  133.                                VAR Handled:BOOLEAN):LONGWORD;
  134. VAR command:WORD;
  135.     result:LONGWORD;
  136.     H:Boolean;
  137.     s:string;
  138. BEGIN
  139.      result:=Inherited.AppHandleEvent(Win,Msg,para1,para2,Handled);
  140.      H:=TRUE;
  141.      CASE Msg OF
  142.           WM_COMMAND:
  143.           BEGIN
  144.                command:=PointerToWord(para1);
  145.                CASE command OF
  146.                   CM_ABOUT:About;
  147.                   CM_NEW:OpenNewFile;
  148.                   CM_OPEN:IF FileOpenDialog(AppWinHandle,s) THEN OpenFile(s);
  149.                   CM_SAVEAS:SaveFileAs;
  150.                   CM_SAVE:SaveFile;
  151.                   CM_SAVEALL:SaveAllFiles;
  152.                   CM_COMPOPT:CompOptDialog;
  153.                   CM_MEMSIZES:MemorySizes;
  154.                   CM_LINKOPT:LinkOptDialog;
  155.                   CM_DIRECTORIES:DirDialog;
  156.                   CM_PREFERENCES:PreferencesDialog;
  157.                   CM_EDOPT:EdOptDialog;
  158.                   CM_FIND:FindDialog;
  159.                   CM_REPLACE:ReplaceDialog;
  160.                   CM_GOTO:GotoDialog;
  161.                   CM_PARAMETER:ParameterDialog;
  162.                   CM_PRJ:ProjectDialog;
  163.                   ELSE IF not Handled THEN H:=FALSE;
  164.                END;
  165.           END;
  166.           ELSE IF not Handled THEN H:=FALSE;
  167.       END; {case}
  168.       AppHandleEvent:=result;
  169.       Handled:=H;
  170. END;
  171.  
  172. PROCEDURE TMyApp.AppCreateNotify(AppWin:HWND);
  173. BEGIN
  174.      MaximizeWindow(AppWin);
  175.      About;
  176. END;
  177.  
  178. CONSTRUCTOR TMyApp.Init(AppMainID:LONGWORD);
  179. BEGIN
  180.      Inherited.Init(AppMainID);
  181.      StdExt:='.PAS';
  182.      FileOpenDlgWildCards:='*.PAS';
  183.      FilesaveDlgWildCards:='*.PAS';
  184.      InsertMenuResource;  {Application has menus}
  185.      InsertIconResource;  {Application has a program icon}
  186.      InsertAccelResource; {Application has an accelerator table}
  187.      InsertHelp('SPEED.HLP','Speed-386 Online Help');
  188. END;
  189.  
  190. DESTRUCTOR TMyApp.Done;
  191. BEGIN
  192. END;
  193.  
  194. BEGIN
  195.      MyApp.Init(1000);
  196.      MyApp.Run('Speed-386 PASCAL V1.0 for OS/2 ',0,0);
  197.      MyApp.Done;
  198. END.