home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / COMAL3-1.DMS / in.adf / Demos / AslDemo < prev    next >
Encoding:
Text File  |  1993-03-30  |  1.2 KB  |  53 lines

  1. // Asl library demo program
  2. //
  3. // Also a demonstration of the use of Comal functions as
  4. // hook-function
  5. //
  6. // NOTE: This program requires WorkBench 2.x to run!
  7.  
  8. USE System
  9. USE SystemCode
  10. USE TagItem
  11. USE AslInclude
  12. USE DosAslInclude
  13. USE AslLibrary
  14.  
  15. DIM FileReqTag(0..3) OF TagItem
  16. DIM FileReq OF POINTER TO FileRequester
  17. DIM Window OF ULONG
  18. DIM s$ OF 1
  19.  
  20. Window:=LockComalWindow
  21.  
  22. FileReqTag(0).ti_Tag:=ASL_Window
  23. FileReqTag(0).ti_Data:=Window
  24. FileReqTag(1).ti_Tag:=ASL_HookFunc
  25. FileReqTag(1).ti_Data:=ADR(FileHook(,,))
  26. FileReqTag(2).ti_Tag:=ASL_FuncFlags
  27. FileReqTag(2).ti_Data:=FILF_DOWILDFUNC
  28. FileReqTag(3).ti_Tag:=TAG_DONE
  29. FileReqTag(3).ti_Data:=0
  30. FileReq:=AllocAslRequest(ASL_FileRequest,ADR(FileReqTag()))
  31.  
  32. FileReqTag(0).ti_Tag:=ASL_Hail
  33. FileReqTag(0).ti_Data:=ADR("Select file ...")
  34. FileReqTag(1).ti_Tag:=TAG_DONE
  35. IF AslRequest(FileReq,ADR(FileReqTag())) THEN
  36.   PRINT AT 12,10: "You selected the file: ",CharArrayToString$(FileReq@.rf_File)
  37. ELSE
  38.   PRINT AT 12,15: "You didn't select a file"
  39. ENDIF
  40.  
  41. FreeFileRequest(FileReq)
  42. UnlockComalWindow
  43.  
  44. s$:=INKEY$(5)
  45.  
  46. FUNC FileHook(Type OF ULONG,ap OF AnchorPathPtr,fr OF FileReqPtr) OF LONG
  47.   IF ".info" IN CharArrayToString$(ADR(ap@.ap_Info.fib_FileName())) THEN
  48.     RETURN -1
  49.   ELSE
  50.     RETURN 0
  51.   ENDIF
  52. ENDFUNC FileHook
  53.