home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 09_10 / oop / schedemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-06-12  |  4.1 KB  |  118 lines

  1. (* ------------------------------------------------------ *)
  2. (*                     SCHEDEMO.PAS                       *)
  3. (* Demonstriert die Anwedung von "SAAScheduler" in Ver-   *)
  4. (* bindung mit "SAAItem"-Objekten.                        *)
  5. (*                                                        *)
  6. (*           (c) 1991 R.Reichert & TOOLBOX                *)
  7. (* ------------------------------------------------------ *)
  8. PROGRAM SAASchedulersDemo;
  9.  
  10. USES Crt, MouKey, SAAItems, SAASched;
  11.  
  12. CONST
  13.   Alt1  = 376;  Alt2 = 377;  AltL = 294;  AltM = 306;
  14.   AltC  = 302;  AltI = 279;  AltA = 286;  AltO = 280;
  15.   AltB  = 304;  AltH = 291;
  16.   Enter =  13;  ESC  =  27;  F1 = 315;
  17.   Ok = 0; Cancel = 1; Help = 2;
  18.  
  19. VAR
  20.   Sched     : SAASchedulerPtr;
  21.   Ev        : EventObj;
  22.   i, Act,
  23.   Answer    : BYTE;
  24.   Quit      : BOOLEAN;
  25.   RadioButs : RadioButArray;
  26.  
  27. BEGIN
  28.   TextAttr := Yellow + Blue * 15;  ClrScr;
  29.   GotoXY(28, 1);
  30.   WriteLn('S A A - Scheduler - D E M O');
  31.   FOR i := 1 TO 80 DO Write('─');
  32.   GotoXY(1, 24);
  33.   FOR i := 1 TO 80 DO Write('─');
  34.   GotoXY(25, 25);
  35.   Write('(c) 1991 R.Reichert & TOOLBOX');
  36.  
  37.   RadioButs[1] := NewRadioBut(47, 10, 'Farbe #1', Alt1);
  38.   RadioButs[2] := NewRadioBut(47, 11, 'Farbe #2', Alt2);
  39.   RadioButs[3] := NewRadioBut(47, 12, '#LCD', AltL);
  40.   RadioButs[4] := NewRadioBut(47, 13, '#Mono', AltM);
  41.  
  42.   Sched := New(SAASchedulerPtr, Init);
  43.   Sched^.AddItem(New(PushButPtr,
  44.                      Init(20, 10, '#Create Backup File',
  45.                      AltC, FALSE)));
  46.   Sched^.AddItem(New(PushButPtr,
  47.                      Init(20, 11, '#Insert Mode',
  48.                      AltI, TRUE)));
  49.   Sched^.AddItem(New(PushButPtr,
  50.                      Init(20, 12, '#Autoindent',
  51.                      AltA, TRUE)));
  52.   Sched^.AddItem(New(RadioButtonsPtr,
  53.                      Init(RadioButs, 4)));
  54.   Sched^.AddItem(New(EndButPtr,
  55.                      Init(24, 15, ' #Ok ', AltO,
  56.                      Enter, Ok)));
  57.   Sched^.AddItem(New(EndButPtr,
  58.                      Init(32, 15, ' A#bbruch ', AltB,
  59.                      ESC, Cancel)));
  60.   Sched^.AddItem(New(EndButPtr,
  61.                      Init(45, 15, ' #Help ', AltH,
  62.                      F1, Help)));
  63.   EvHand^.SetTakeOut(TRUE);
  64.   Mouse^.Show;
  65.   Quit := FALSE;  Answer := SchOk;  Act := 1;
  66.   REPEAT
  67.     Sched^.RunBy(Act);
  68.     Answer := Sched^.GetReturnCode;
  69.       { GetReturnCode liefert nur die bei der Initiali- }
  70.       { sierung der Endbuttons vorbestimmten Werte      }
  71.       {   (Ok=0, Cancel=1, Help=2) zurück).             }
  72.     IF Answer = Help THEN BEGIN
  73.       Sound(1000);  Delay(500);  NoSound;
  74.       Act := 7;       { auf dem Helpbutton weitermachen }
  75.     END ELSE
  76.       Quit := TRUE;
  77.     IF Answer = Cancel THEN
  78.       Sched^.RestoreConfiguration;
  79.   UNTIL Quit;
  80.   Sched^.CLOSE;
  81.       { schließt "nichts", da kein Fenster zu }
  82.       { SAAScheduler gehört                   }
  83.   EvHand^.SetTakeOut(FALSE);
  84.   Mouse^.Hide;
  85.   GotoXY(1, 18);  TextAttr := LightCyan + Blue * 15;
  86.   IF Answer = Ok THEN BEGIN
  87.     Write('Der PushButton "Create Backup File" ist ');
  88.     IF PushButPtr(Sched^.GetItem(1))^.GetState THEN
  89.       WriteLn('eingeschaltet.')
  90.     ELSE
  91.       WriteLn('ausgeschaltet.');
  92.     Write('Der PushButton "Insert Mode" ist ');
  93.     IF PushButPtr(Sched^.GetItem(2))^.GetState THEN
  94.       WriteLn('eingeschaltet.')
  95.     ELSE
  96.       WriteLn('ausgeschaltet.');
  97.     Write('Der PushButton "Autindent" ist ');
  98.     IF PushButPtr(Sched^.GetItem(3))^.GetState THEN
  99.       WriteLn('eingeschaltet.')
  100.     ELSE
  101.       WriteLn('ausgeschaltet.');
  102.     WRITELN('Der RadioButton ',
  103.             RadioButtonsPtr(Sched^.GetItem(4))^.
  104.             GetSelected,
  105.             ' wurde gewählt.');
  106.   END ELSE
  107.       { sonst Answer=Cancel, da bei Help die }
  108.       { Schleife nicht verlassen wird.       }
  109.     WriteLn('Da abgebrochen wurde, sind die Werte die ',
  110.             'Voreingestellten.');
  111.   WRITE('Ende mit ENTER.'); READLN;
  112.   TextAttr := Yellow;  ClrScr;
  113.  
  114.   DISPOSE(Sched, Done);
  115. END.
  116. (* ------------------------------------------------------ *)
  117. (*                 Ende von SCHEDEMO.PAS                  *)
  118.