home *** CD-ROM | disk | FTP | other *** search
- PROGRAM STM_Demo;
-
- CONST AnzahlElemente=11;
- AuswahlText: ARRAY [0..AnzahlElemente] OF STRING[40] =
- ('drucke','leseDatei','Schreibdatei Nr. 1',
- 'ausrechnen','extra Abfrage','SchreibDatei Nr. 2',
- 'Sonderabrechnung','Mehrwertsteuer extra ausgeben',
- 'EinzelkostenKto. abschliessen','Monatsabschluss',
- 'Totalabschreibung','Ende der Hauptverarbeitung');
-
- TYPE elemente = (drucke, leseDatei, SchreibDateiNr1,
- ausrechnen, extraAbfrage, SchreibDateiNr2,
- SonderAbrechnung, MehrwertsteuerExtraAusgeben,
- EinzelKostenKtoAbschliessen, MonatsAbschluss,
- TotalAbschreibung, EndeDerVerarbeitung);
- menge = SET OF elemente;
-
- VAR ausgewaehlt,
- waehlbar : menge;
- i : INTEGER;
- ze : elemente;
-
- (*$I STMENU.INC *)
-
- (*-------------------------------------------------------------------------*)
- (* die Prozedur CHECKMENGE gibt ihnen einen Ueberblick, welches
- Element in der Menge AUSGEWAEHLT ist. Sie koennen sie auch an anderen
- Stellen des Programms zu Testzwecken einsetzen. *)
-
- PROCEDURE CheckMenge (a: menge);
-
- VAR za: INTEGER;
-
- BEGIN
- ClrScr;
- WriteLn('PROCEDURE CheckMenge');
- WriteLn('====================');
- ze := elemente(0);
- FOR za := 0 TO AnzahlElemente DO
- BEGIN
- IF ([ze] <= a) THEN
- BEGIN
- ClrEol;
- WriteLn('In der Menge ist "', AuswahlText[za], '"')
- END
- ELSE
- WriteLn(' nicht in der Menge ist "', AuswahlText[za], '"');
- IF za < AnzahlElemente THEN ze := Succ(ze);
- END;
- END;
-
- (*-------------------------------------------------------------------------*)
-
- BEGIN
- ausgewaehlt := [EndeDerVerarbeitung];
- waehlbar := [leseDatei..SonderAbrechnung, EndeDerVerarbeitung];
- StandardMenu(ausgewaehlt, waehlbar);
- CheckMenge(ausgewaehlt);
- END.