home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* SCHEDEMO.PAS *)
- (* Demonstriert die Anwedung von "SAAScheduler" in Ver- *)
- (* bindung mit "SAAItem"-Objekten. *)
- (* *)
- (* (c) 1991 R.Reichert & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM SAASchedulersDemo;
-
- USES Crt, MouKey, SAAItems, SAASched;
-
- CONST
- Alt1 = 376; Alt2 = 377; AltL = 294; AltM = 306;
- AltC = 302; AltI = 279; AltA = 286; AltO = 280;
- AltB = 304; AltH = 291;
- Enter = 13; ESC = 27; F1 = 315;
- Ok = 0; Cancel = 1; Help = 2;
-
- VAR
- Sched : SAASchedulerPtr;
- Ev : EventObj;
- i, Act,
- Answer : BYTE;
- Quit : BOOLEAN;
- RadioButs : RadioButArray;
-
- BEGIN
- TextAttr := Yellow + Blue * 15; ClrScr;
- GotoXY(28, 1);
- WriteLn('S A A - Scheduler - D E M O');
- FOR i := 1 TO 80 DO Write('─');
- GotoXY(1, 24);
- FOR i := 1 TO 80 DO Write('─');
- GotoXY(25, 25);
- Write('(c) 1991 R.Reichert & TOOLBOX');
-
- RadioButs[1] := NewRadioBut(47, 10, 'Farbe #1', Alt1);
- RadioButs[2] := NewRadioBut(47, 11, 'Farbe #2', Alt2);
- RadioButs[3] := NewRadioBut(47, 12, '#LCD', AltL);
- RadioButs[4] := NewRadioBut(47, 13, '#Mono', AltM);
-
- Sched := New(SAASchedulerPtr, Init);
- Sched^.AddItem(New(PushButPtr,
- Init(20, 10, '#Create Backup File',
- AltC, FALSE)));
- Sched^.AddItem(New(PushButPtr,
- Init(20, 11, '#Insert Mode',
- AltI, TRUE)));
- Sched^.AddItem(New(PushButPtr,
- Init(20, 12, '#Autoindent',
- AltA, TRUE)));
- Sched^.AddItem(New(RadioButtonsPtr,
- Init(RadioButs, 4)));
- Sched^.AddItem(New(EndButPtr,
- Init(24, 15, ' #Ok ', AltO,
- Enter, Ok)));
- Sched^.AddItem(New(EndButPtr,
- Init(32, 15, ' A#bbruch ', AltB,
- ESC, Cancel)));
- Sched^.AddItem(New(EndButPtr,
- Init(45, 15, ' #Help ', AltH,
- F1, Help)));
- EvHand^.SetTakeOut(TRUE);
- Mouse^.Show;
- Quit := FALSE; Answer := SchOk; Act := 1;
- REPEAT
- Sched^.RunBy(Act);
- Answer := Sched^.GetReturnCode;
- { GetReturnCode liefert nur die bei der Initiali- }
- { sierung der Endbuttons vorbestimmten Werte }
- { (Ok=0, Cancel=1, Help=2) zurück). }
- IF Answer = Help THEN BEGIN
- Sound(1000); Delay(500); NoSound;
- Act := 7; { auf dem Helpbutton weitermachen }
- END ELSE
- Quit := TRUE;
- IF Answer = Cancel THEN
- Sched^.RestoreConfiguration;
- UNTIL Quit;
- Sched^.CLOSE;
- { schließt "nichts", da kein Fenster zu }
- { SAAScheduler gehört }
- EvHand^.SetTakeOut(FALSE);
- Mouse^.Hide;
- GotoXY(1, 18); TextAttr := LightCyan + Blue * 15;
- IF Answer = Ok THEN BEGIN
- Write('Der PushButton "Create Backup File" ist ');
- IF PushButPtr(Sched^.GetItem(1))^.GetState THEN
- WriteLn('eingeschaltet.')
- ELSE
- WriteLn('ausgeschaltet.');
- Write('Der PushButton "Insert Mode" ist ');
- IF PushButPtr(Sched^.GetItem(2))^.GetState THEN
- WriteLn('eingeschaltet.')
- ELSE
- WriteLn('ausgeschaltet.');
- Write('Der PushButton "Autindent" ist ');
- IF PushButPtr(Sched^.GetItem(3))^.GetState THEN
- WriteLn('eingeschaltet.')
- ELSE
- WriteLn('ausgeschaltet.');
- WRITELN('Der RadioButton ',
- RadioButtonsPtr(Sched^.GetItem(4))^.
- GetSelected,
- ' wurde gewählt.');
- END ELSE
- { sonst Answer=Cancel, da bei Help die }
- { Schleife nicht verlassen wird. }
- WriteLn('Da abgebrochen wurde, sind die Werte die ',
- 'Voreingestellten.');
- WRITE('Ende mit ENTER.'); READLN;
- TextAttr := Yellow; ClrScr;
-
- DISPOSE(Sched, Done);
- END.
- (* ------------------------------------------------------ *)
- (* Ende von SCHEDEMO.PAS *)
-