home *** CD-ROM | disk | FTP | other *** search
- { Kleine Demonstration zum ASL-Screenrequester ab OS 2.1 }
- { © 1994 by Björn "BOMBER" Schotte }
- { Erstellt mit MaxonPascal 3 (© by MAXON) }
- { BS/25/07/94 }
-
- PROGRAM ASLScreenDemo;
-
- USES Intuition;
-
- {$incl "dos.lib","asl.lib","libraries/asl.h"}
-
- VAR
- t : ARRAY[1..11] OF TagItem;
- sm : p_ScreenModeRequester;
- dummy : BOOLEAN;
- c : CHAR;
- sp : p_Screen;
-
-
- BEGIN
- OpenLib(ASLBase, "asl.library", 38); { ASL-Library öffnen }
- OpenLib(DOSBase, "dos.library", 37); { 38 oder 37 }
- t[1].ti_Tag := ASLSM_TitleText; { Titel des SMReqs festlegen }
- t[1].ti_Data := "SMRequest-DEMO";
- t[2].ti_Tag := TAG_DONE;
- { ScreenModeRequester anfordern: }
- sm := AllocASLRequest(ASL_ScreenModeRequester,^t);
- IF sm <> NIL THEN
- BEGIN
- { ScreenModeRequester anzeigen }
- dummy := ASLRequest(sm,NIL);
- IF dummy THEN
- BEGIN
- { Kleine Info über den Screen }
- Writeln("AUSGEWÄHLTER SCREEN");
- Writeln;
- Writeln("Breite : ",sm^.sm_DisplayWidth);
- Writeln("Höhe : ",sm^.sm_DisplayHeight);
- Writeln("Tiefe : ",sm^.sm_DisplayDepth);
- Write("Autoscroll : ");
- IF sm^.sm_AutoScroll THEN Writeln("JA") ELSE Writeln("NEIN");
- Writeln;
- { Wollen wir den Bildschirm mal anzeigen ?? }
- Write("Screen öffnen (j/n) ??");
- Readln(c);
- IF UpCase(c) = "J" THEN
- BEGIN
- { ScreenTags ausfüllen: }
- t[1] := TagItem(SA_DisplayID,sm^.sm_DisplayID);
- t[2] := TagItem(SA_Width, sm^.sm_DisplayWidth);
- t[3] := TagItem(SA_Height, sm^.sm_DisplayHeight);
- t[4] := TagItem(SA_AutoScroll, LONG(sm^.sm_AutoScroll));
- t[5].ti_Tag := SA_Title;
- t[5].ti_Data := "ASLScreenModeRequest-DEMO";
- t[6].ti_Tag := TAG_DONE;
- { Screen öffnen: }
- sp := OpenScreenTagList(NIL, ^t);
- IF sp <> NIL THEN
- BEGIN
- Delay(5*50); { 5 Sekunden warten }
- dummy := CloseScreen(sp); { Screen schliessen }
- END ELSE Writeln("Kann den Bildschirm nicht öffnen !!");
- END;
- END ELSE
- BEGIN
- { Entweder abgebrochen oder Fehler !! }
- IF IOErr = 0 THEN Writeln("Abgebrochen !!")
- ELSE Writeln("Fehler aufgetreten !! (Nr. ",IOErr,")");
- END;
- { Struktur wieder freigeben }
- FreeASLRequest(sm);
- END;
- CloseLib(DOSBase);
- { asl.library wieder schliessen }
- CloseLib(ASLBase);
- END.
-