Program RCTdemo;

{ include Pfad entsprechend ändern }

{$path "ram:include/","PASCAL:include/";incl "intuition.lib","Graphics.lib","rctlibrary.lib" }

Var
    rctscreen:^Screen;
    dum:ptr;
    rctadr:ptr;
    messptr:ptr;
    test:Cardinal;
    req:^Requester;
    rctwindow:^Window;
    dumm:Boolean;
    id:Integer;

Begin
  OpenLib(IntBase,'intuition.library',0);
  OpenLib(GfxBase,'graphics.library' ,0);

  { Rct Library öffnen ( in LIBS-Ornder ) }

  OpenLib(RctBase,'rct.library',0);

  id:=2

  { Lo-Res Screen öffnen }

  rctscreen:=showscreen(dum,128,3,' Rct-Demo ');
  If rctscreen=Nil Then Error('Screen kann nicht geöffnet werden!');

  { RCT-Datei nachladen (gegebenenfalls Pfad ändern) }

  rctadr:=rctload('PASCAL:RCTDEMO/Filerbest.RCT');
  If rctadr<>Nil Then
    Begin

    { Speicheradresse des Requesters erfragen }

    req:=rctaddr(rctadr,0,0);

    { Fenster öffnen und Requester darin anzeigen }

    rctwindow:=reqdrawwindow(rctadr,req,rctscreen,'Requester Demo');
    If rctwindow<>Nil Then
      Begin
      messptr:=^test;
      While id<>0 do
        Begin

        { auf Nachricht des Benutzers warten }

        id:=reqwait(rctadr,req,messptr);
        writeln(id);
        End;

      { sobald das Chancel-Gadget des Requesters gedrückt wird }
      { wird das Fenster und der Requester geschlossen }

      dumm:=reqend(rctadr,req,rctwindow); { Löscht Requester und Fenster }
      End

    { der durch die Funktion rctload belegte Speicherplatz freigegeben }

    dumm:=rctfree(rctadr);
    End

  { und der Screen wieder geschlossen }

  If rctscreen<>Nil Then dumm:=remscreen(dum,rctscreen);
  CloseLib(Intbase);
  CloseLib(GfxBase);

  { Zum Schluß die Library wieder schließen (is besser so!) }

  CloseLib(RctBase);
End.







