home *** CD-ROM | disk | FTP | other *** search
- // Asl library demo program
- //
- // Also a demonstration of the use of Comal functions as
- // hook-function
- //
- // NOTE: This program requires WorkBench 2.x to run!
-
- USE System
- USE SystemCode
- USE TagItem
- USE AslInclude
- USE DosAslInclude
- USE AslLibrary
-
- DIM FileReqTag(0..3) OF TagItem
- DIM FileReq OF POINTER TO FileRequester
- DIM Window OF ULONG
- DIM s$ OF 1
-
- Window:=LockComalWindow
-
- FileReqTag(0).ti_Tag:=ASL_Window
- FileReqTag(0).ti_Data:=Window
- FileReqTag(1).ti_Tag:=ASL_HookFunc
- FileReqTag(1).ti_Data:=ADR(FileHook(,,))
- FileReqTag(2).ti_Tag:=ASL_FuncFlags
- FileReqTag(2).ti_Data:=FILF_DOWILDFUNC
- FileReqTag(3).ti_Tag:=TAG_DONE
- FileReqTag(3).ti_Data:=0
- FileReq:=AllocAslRequest(ASL_FileRequest,ADR(FileReqTag()))
-
- FileReqTag(0).ti_Tag:=ASL_Hail
- FileReqTag(0).ti_Data:=ADR("Select file ...")
- FileReqTag(1).ti_Tag:=TAG_DONE
- IF AslRequest(FileReq,ADR(FileReqTag())) THEN
- PRINT AT 12,10: "You selected the file: ",CharArrayToString$(FileReq@.rf_File)
- ELSE
- PRINT AT 12,15: "You didn't select a file"
- ENDIF
-
- FreeFileRequest(FileReq)
- UnlockComalWindow
-
- s$:=INKEY$(5)
-
- FUNC FileHook(Type OF ULONG,ap OF AnchorPathPtr,fr OF FileReqPtr) OF LONG
- IF ".info" IN CharArrayToString$(ADR(ap@.ap_Info.fib_FileName())) THEN
- RETURN -1
- ELSE
- RETURN 0
- ENDIF
- ENDFUNC FileHook
-