home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL3.DMS / in.adf / DEMOS-OS2.1 / ASLScreenModeRequest.p < prev   
Encoding:
Text File  |  1994-08-25  |  2.4 KB  |  77 lines

  1. { Kleine Demonstration zum ASL-Screenrequester ab OS 2.1 }
  2. { © 1994 by Björn "BOMBER" Schotte                       }
  3. { Erstellt mit MaxonPascal 3 (© by MAXON)                }
  4. {                                           BS/25/07/94  }
  5.  
  6. PROGRAM ASLScreenDemo;
  7.  
  8. USES Intuition;
  9.  
  10. {$incl "dos.lib","asl.lib","libraries/asl.h"}
  11.  
  12. VAR
  13.   t : ARRAY[1..11] OF TagItem;
  14.   sm : p_ScreenModeRequester;
  15.   dummy : BOOLEAN;
  16.   c : CHAR;
  17.   sp : p_Screen;
  18.  
  19.  
  20. BEGIN
  21.   OpenLib(ASLBase, "asl.library", 38); { ASL-Library öffnen }
  22.   OpenLib(DOSBase, "dos.library", 37); { 38 oder 37 }
  23.   t[1].ti_Tag := ASLSM_TitleText;   { Titel des SMReqs festlegen }
  24.   t[1].ti_Data := "SMRequest-DEMO";
  25.   t[2].ti_Tag := TAG_DONE;
  26.   { ScreenModeRequester anfordern: }
  27.   sm := AllocASLRequest(ASL_ScreenModeRequester,^t);
  28.   IF sm <> NIL THEN
  29.   BEGIN
  30.     { ScreenModeRequester anzeigen }
  31.     dummy := ASLRequest(sm,NIL);
  32.     IF dummy THEN
  33.     BEGIN
  34.       { Kleine Info über den Screen }
  35.       Writeln("AUSGEWÄHLTER SCREEN");
  36.       Writeln;
  37.       Writeln("Breite     : ",sm^.sm_DisplayWidth);
  38.       Writeln("Höhe       : ",sm^.sm_DisplayHeight);
  39.       Writeln("Tiefe      : ",sm^.sm_DisplayDepth);
  40.       Write("Autoscroll : ");
  41.       IF sm^.sm_AutoScroll THEN Writeln("JA") ELSE Writeln("NEIN");
  42.       Writeln;
  43.       { Wollen wir den Bildschirm mal anzeigen ?? }
  44.       Write("Screen öffnen (j/n) ??");
  45.       Readln(c);
  46.       IF UpCase(c) = "J" THEN
  47.       BEGIN
  48.         { ScreenTags ausfüllen: }
  49.         t[1] := TagItem(SA_DisplayID,sm^.sm_DisplayID);
  50.         t[2] := TagItem(SA_Width, sm^.sm_DisplayWidth);
  51.         t[3] := TagItem(SA_Height, sm^.sm_DisplayHeight);
  52.         t[4] := TagItem(SA_AutoScroll, LONG(sm^.sm_AutoScroll));
  53.         t[5].ti_Tag := SA_Title;
  54.         t[5].ti_Data := "ASLScreenModeRequest-DEMO";
  55.         t[6].ti_Tag := TAG_DONE;
  56.         { Screen öffnen: }
  57.         sp := OpenScreenTagList(NIL, ^t);
  58.         IF sp <> NIL THEN
  59.         BEGIN
  60.           Delay(5*50); { 5 Sekunden warten }
  61.           dummy := CloseScreen(sp); { Screen schliessen }
  62.         END ELSE Writeln("Kann den Bildschirm nicht öffnen !!");
  63.       END;
  64.     END ELSE
  65.     BEGIN
  66.       { Entweder abgebrochen oder Fehler !! }
  67.       IF IOErr = 0 THEN Writeln("Abgebrochen !!")
  68.       ELSE Writeln("Fehler aufgetreten !! (Nr. ",IOErr,")");
  69.     END;
  70.     { Struktur wieder freigeben }
  71.     FreeASLRequest(sm);
  72.   END;
  73.   CloseLib(DOSBase);
  74.   { asl.library wieder schliessen }
  75.   CloseLib(ASLBase);
  76. END.
  77.