home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 19 / AACD19.BIN / AACD / Programming / YAEC / examples / filereq.e < prev    next >
Encoding:
Text File  |  2001-02-23  |  1.5 KB  |  48 lines

  1. -> filereq.e
  2.  
  3. EXTERN 'asl',
  4. MODULE 'libraries/asl'
  5.  
  6. DEF aslbase
  7.  
  8. ENUM ERR_NONE, ERR_ASL, ERR_KICK, ERR_LIB
  9.  
  10. RAISE ERR_ASL  IF AllocAslRequest()=NIL
  11. RAISE ERR_KICK IF KickVersion()=FALSE
  12. RAISE ERR_LIB  IF OpenLibrary()=NIL
  13.  
  14. CONST MYLEFTEDGE=0, MYTOPEDGE=0, MYWIDTH=320, MYHEIGHT=400
  15.  
  16. PROC main() HANDLE
  17.   DEF fr:PTR TO filerequester
  18.   KickVersion(37)  -> E-Note: requires V37
  19.   aslbase:=OpenLibrary('asl.library',37)
  20.   fr:=AllocAslRequest(ASL_FILEREQUEST,
  21.                      [ASL_HAIL,       'The RKM file requester',
  22.                       ASL_HEIGHT,     MYHEIGHT,
  23.                       ASL_WIDTH,      MYWIDTH,
  24.                       ASL_LEFTEDGE,   MYLEFTEDGE,
  25.                       ASL_TOPEDGE,    MYTOPEDGE,
  26.                       ASL_OKTEXT,     'O KAY',
  27.                       ASL_CANCELTEXT, 'not OK',
  28.                       ASL_FILE,       'asl.library',
  29.                       ASL_DIR,        'libs:',
  30.                       NIL])
  31.   IF AslRequest(fr, NIL)
  32.     WriteF('PATH=\s  FILE=\s\n', fr.drawer, fr.file)
  33.     WriteF('To combine the path and filename, copy the path\n')
  34.     WriteF('to a buffer, add the filename with Dos AddPart().\n')
  35.   ELSE
  36.     -> E-Note: C version gets this wrong!
  37.     WriteF('User Cancelled\n')
  38.   ENDIF
  39. EXCEPT DO
  40.   IF fr THEN FreeAslRequest(fr)
  41.   IF aslbase THEN CloseLibrary(aslbase)
  42.   SELECT exception
  43.   CASE ERR_ASL;  WriteF('Error: Could not allocate ASL request\n')
  44.   CASE ERR_KICK; WriteF('Error: Requires V37\n')
  45.   CASE ERR_LIB;  WriteF('Error: Could not open ASL library\n')
  46.   ENDSELECT
  47. ENDPROC '$VER: filereq 37.0'
  48.