home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / das_buch / tvision / hexcalc / calcdemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-04-22  |  1.8 KB  |  75 lines

  1. (* ------------------------------------------------------ *)
  2. (*                     CALCDEMO.PAS                       *)
  3. (*          Demonstration des HexCalc-Objekts             *)
  4. (*            (c) 1993 te-wi Verlag, München              *)
  5. (* ------------------------------------------------------ *)
  6. PROGRAM CalcDemo;
  7.  
  8. {$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q+,R+,S+,T-,V+,X+,Y+}
  9. {$M 16384,0,655360}
  10.  
  11. USES Objects, Drivers, Views, Menus, MsgBox, Dialogs, App,
  12.      HexCalc;
  13.  
  14. CONST
  15.   cmAbout = 100;
  16.  
  17.   PROCEDURE DoCalc;
  18.   VAR
  19.     C : pPetzCalc;
  20.   BEGIN
  21.     C := New(pPetzCalc, Init);
  22.     Desktop^.Insert(C);
  23.   END;
  24.  
  25. TYPE
  26.   tMyApp = OBJECT (tApplication)
  27.     PROCEDURE InitMenuBar; VIRTUAL;
  28.     PROCEDURE HandleEvent(VAR Event : tEvent); VIRTUAL;
  29.   END;
  30.  
  31.   PROCEDURE tMyApp.InitMenuBar;
  32.   VAR
  33.     R : tRect;
  34.   BEGIN
  35.     GetExtent(R);
  36.     R.B.Y := R.A.Y + 1;
  37.     MenuBar := New(pMenuBar, Init(R, NewMenu(
  38.       NewSubMenu('~≡~', hcNoContext, NewMenu(
  39.         NewItem('~C~alc', '', kbNoKey, cmCalc, hcNoContext,
  40.         NewItem('~A~bout', '', kbNoKey, cmAbout, hcNoContext,
  41.         NIL))),
  42.       NIL))));
  43.   END;
  44.  
  45.   PROCEDURE tMyApp.HandleEvent(VAR Event : tEvent);
  46.   BEGIN
  47.     inherited HandleEvent(Event);
  48.  
  49.     IF Event.What = evCommand THEN BEGIN
  50.       CASE Event.Command OF
  51.         cmCalc  : BEGIN
  52.                     DoCalc;
  53.                   END;
  54.         cmAbout : BEGIN
  55.                     MessageBox(#3'HexCalc Demo Application',
  56.                     NIL, mfInformation OR mfOkButton);
  57.                   END;
  58.       ELSE
  59.         Exit;
  60.       END;
  61.       ClearEvent(Event);
  62.     END;
  63.   END;
  64.  
  65. VAR
  66.   anApp : tMyApp;
  67.  
  68. BEGIN
  69.   anApp.Init;
  70.   anApp.Run;
  71.   anApp.Done;
  72. END.
  73. (* ------------------------------------------------------ *)
  74. (*              Ende von CALCDEMO.PAS                     *)
  75.