home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* DOSSHELL.PAS *)
- (* (c) 1993 te-wi Verlag, München *)
- (* ------------------------------------------------------ *)
- PROGRAM DOSShell;
-
- USES Dos, Objects, Drivers, Views, Menus, MsgBox, Dialogs,
- Memory, App;
-
- CONST
- cmAbout = 101;
- cmTest = 102;
-
- (* --- Main Application Object -------------------------- *)
-
- TYPE
- tMyApp = OBJECT (tApplication)
- PROCEDURE InitMenuBar; VIRTUAL;
- PROCEDURE HandleEvent(VAR Event : tEvent); VIRTUAL;
- PROCEDURE DoTest;
- PROCEDURE ShutSystem(Video : BOOLEAN);
- PROCEDURE ReInitSystem(Video : BOOLEAN);
- END;
-
- PROCEDURE tMyApp.ShutSystem(Video : BOOLEAN);
- BEGIN
- DoneSysError;
- DoneEvents;
- IF Video THEN DoneVideo;
- DoneDosMem;
- SwapVectors;
- END;
-
- PROCEDURE tMyApp.ReInitSystem(Video : BOOLEAN);
- BEGIN
- SwapVectors;
- InitDosMem;
- IF Video THEN InitVideo;
- InitEvents;
- InitSysError;
- Redraw;
- END;
-
- PROCEDURE tMyApp.DoTest;
- VAR
- Err : STRING;
- BEGIN
- ShutSystem(TRUE);
- Exec('C:\BP\BIN\TASM.EXE', '');
- ReInitSystem(TRUE);
- IF DosError <> 0 THEN BEGIN
- Str(DosError, Err);
- MessageBox('Dos error #' + Err, NIL, mfError + mfOkButton);
- END ELSE BEGIN
- Str(DosExitCode, Err);
- MessageBox('Child process exit code = ' + Err,
- NIL, mfInformation + mfOkButton);
- END;
- END;
-
- PROCEDURE tMyApp.InitMenuBar;
- VAR
- R : tRect;
- BEGIN
- GetExtent(R);
- R.B.Y := R.A.Y + 1;
- MenuBar := New(pMenuBar, Init(R, NewMenu(
- NewSubMenu('~≡~', hcNoContext, NewMenu(
- NewItem('~T~est', '', kbNoKey, cmTest, hcNoContext,
- NewItem('~A~bout', '', kbNoKey, cmAbout, hcNoContext,
- NIL))),
- NIL))));
- END;
-
- PROCEDURE tMyApp.HandleEvent(VAR Event : tEvent);
- BEGIN
- inherited HandleEvent(Event);
-
- IF Event.What = evCommand THEN BEGIN
- CASE Event.Command OF
- cmTest : BEGIN
- DoTest;
- END;
- cmAbout : BEGIN
- MessageBox(#3'Turbo Vision Application',
- NIL, mfInformation OR mfOkButton);
- END;
- ELSE
- Exit;
- END;
- ClearEvent(Event);
- END;
- END;
-
- VAR
- anApp : tMyApp;
-
- BEGIN
- anApp.Init;
- anApp.Run;
- anApp.Done;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von DOSSHELL.PAS *)
-