program RCT_Demo;

{*****************************************************************
 *
 *  R C T - D E M O
 *
 * Version 1.0
 *
 * Autor: Dirk Fabisch
 *
 * Für MAXON Computer 1991
 *
 *****************************************************************}

uses intuition;
{$incl 'rctlibrary.lib'}

type Filename = string[fchars];
     Pathname = string[dsize];

var FReq      : RCTFileRequester;


    datei        : Filename;
    pfad,                    { Pfad zur Datei ohne Dateinamen }
    Verzeichniss : Pathname; { Pfad plus Datei }
    help         : string[255];
    test         : boolean;
    i            : integer;

Procedure Reset_FileRequester;
{ in Pascal müßen alle Variablen initialisiert werden !! }
begin
  FReq:=RCTFilerequester(
  0,      { VersionNumber  }
  "",     { Title     }
  NIL,    { Dir     }
  NIL,    { File     }
  NIL,    { PathName    }
  NIL,    { Window    }
  0,      { MaxExtendedSelect }
  15,     { numlines    }
  35,     { numcolumns   }
  10,     { devcolumns   }
  0,      { Flags     }
  3,      { dirnamescolor  }
  1,      { filenamescolor  }
  3,      { devicenamescolor }
  3,      { fontnamescolor  }
  1,      { fontsizescolor  }
  2,      { detailcolor   }
  1,      { blockcolor   }
  1,      { gadgettextcolor }
  1,      { textmessagecolor }
  1,      { stringnamecolor }
  1,      { stringgadgetcolor }
  1,      { boxbordercolor  }
  1,      { gadgetboxcolor  }
  chr(0), { RFU_Stuff   }
  datestamp(0,0,0), { DirDateStamp  }
  0,      { WindowLeftEdge  }
  0,      { WindowTopEdge  }
  0,      { FontYSize   }
  0,      { FontStyle   }
  nil,    { ExtendedSelect  }
  "",     { Hide     }
  "",     { Show     }
  0,      { FileBufferPos  }
  0,      { FileDispPos   }
  0,      { DirBufferPos  }
  0,      { DirDispPos   }
  0,      { HideBufferPos  }
  0,      { HideDispPos   }
  0,      { ShowBufferPos  }
  0,      { ShowDispPos   }
  nil,    { Memory    }
  nil,    { Memory2    }
  nil,    { Lock     }
  "",     { PrivateDirBuffer }
  nil,    { FileInfoBlock  }
  0,      { NumEntries   }
  0,      { NumHiddenEntries }
  0,      { filestartnumber }
  0       { devicestartnumber }
  );
end;

{ Hauptprogramm }

begin
  openlib(rctbase,'rct.library',0); { Library öffnen }
  Reset_FileRequester;              { Variablen initialisieren }
  Datei:='';
  Pfad:='SYS:';
  Verzeichniss:='';
  FReq.Title:='RCT-DEMO';          { Überschrift des Filerequesters }
  FReq.Filename:=^Datei;           { Default Filename }
  FReq.Dirname:=^Pfad;             { Default Pfadname }
  Freq.Pathname:=^Verzeichniss;
  FReq.Flags:=FRQLoading;          { Flags für den Filerequester }
  test:=Filer(^Freq);              { eigentlicher Aufruf des Filerequester }
  if test then                     { ist alles gut gegangen?? }
  begin                            { wenn ja dann hier weiter ?}
    datei:=Freq.Filename;
    pfad:=Freq.Dirname;
    Verzeichniss:=Freq.Pathname;
    { String für den Form_alert zusammenbauen }
    help:='[3][Folgendes wurde ausgewählt|Datei Name: '+datei+'|Pfad Name: '+pfad+'|Verzeichniss: '+verzeichniss+'][OK]';
    i:=form_alert(1,^help);
  end
  else  { Bei Cancel kommt ein false zurück }
  begin
    help:='[1][Funktion wurde abgebrochen][OK]';
    i:=form_alert(1,^help);
  end;
end.




