home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 623a.lha / TurboDEX / ExampleSources / AslReq.dex next >
Text File  |  1992-03-22  |  1KB  |  57 lines

  1. ' Example how to use other, kick2 only librarys from dex.
  2. ' We'll pop up a filerequester from the asl.library.
  3.  
  4. PROC main()
  5.   DEF sysbase[4]:LONG, aslbase:LONG, req:LONG
  6.   DEF version:REGINT, ret:REGLONG, suxxes:REGLONG
  7.   DEF file:LONG, dir:LONG
  8.   version := MINT(sysbase+20)
  9.   IF version<36
  10.     WRITE 'Get yourself a kick 2.0 upgrade first.\n'
  11.   ELSE
  12.     aslbase := OpenLibrary('asl.library',36)
  13.     IF aslbase=0
  14.       WRITE 'Could not open asl.library!\n'
  15.     ELSE
  16.       req := allocreq()
  17.       IF req=0
  18.         WRITE 'Could not allocate filerequester!\n'
  19.       ELSE
  20.         WRITE 'Pick a file:\n'
  21.         suxxes := filereq(req)
  22.         IF suxxes=0
  23.           WRITE 'You\are not too bright hmm?\n'
  24.         ELSE
  25.           file := MLONG(req+4)
  26.           dir := MLONG(req+8)
  27.           WRITE 'Guess what! you picked "\s" in "\s" !\n',file,dir
  28.         ENDIF
  29.         VOID freereq(req)
  30.       ENDIF
  31.       VOID CloseLibrary(aslbase)
  32.     ENDIF
  33.   ENDIF
  34. ENDPROC
  35.  
  36. ' We use stubs for these
  37.  
  38. PROC allocreq()
  39.   CALL aslbase[-30],,ret
  40. ENDPROC ret
  41.  
  42. PROC freereq(req)
  43.   LOCAL req[regs.32]:LONG
  44.   CALL aslbase[-36],{regs}
  45. ENDPROC
  46.  
  47. PROC filereq(req)
  48.   LOCAL req[regs.32]:LONG
  49.   CALL aslbase[-42],{regs},ret
  50. ENDPROC ret
  51.  
  52. STRUCT regs
  53.   LONG 0,0,0,0,0,0,0,0
  54.   LONG 0,0,0,0,0,0
  55. ENDSTRUCT
  56.  
  57.