home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1996-02-21 | 2.9 KB | 124 lines |
- DLRInfo v0.03, by GUS (21Feb1996.00:55:53)
- ~~~~~~~~~~~~~
- Provides information on DLRs.
- =*RMEnsure Wacky-Talky 0.70 Error "Wacky-Talky not loaded"
- *>Remove <DLRInfo>
- "WT_CallDLRD",dlr$,"WT_JumpWord0"
- dlr$,3)="-q "
- dlr$,3)="-Q "
- "WT_CallDLRD",dlr$,"WT_JumpWord0"
- dlr$,3)="-f "
- dlr$,3)="-F "
- show_code%=0
- dlr$=
- dlr$,4,255)
- "WT_CallDLRD",dlr$,"WT_NoSpace0"
- show_code%=-1
- dlr$=""
- &dead,"Syntax: *DLRInfo
- [-f] <DLR
- name>|&<DLR Id>"
- &606c0 :
- safe Hourglass_On ;-)
- ------------------------------------------------ Get info
- "WT_DLRInfoD",&45524F4D,dlr$
- module_name%,dlr%,,info%
- "WT_Tokenise",,dlr$
- "WT_Detokenise",,id%,1
- ,dlr_name% :
- Id to name
- ------------------------------------------------ Interpret info...
- dlr$=
- getname(dlr_name%)
- *Echo { > <Wimp$Scrap> }
- &+title$="DLR: "+dlr$+" (Id: &"+
- ~id%+")"
- command("Echo "+title$)
- command("Echo "+
- title$,"="))
- command("Echo")
- *'module_name$=
- getname(module_name%)
- command("Echo DLR provided by WT module: '"+module_name$+"'")
- command("Echo")
- ways$="Ways to use: "
- (info%
- %100)=0 ways$+="Link, "
- (info%
- %10)=0 ways$+="Call, "
- info%>>8 ways$+="Include, "
- info%
- %1000 ways$+="as SWI (&"+
- ~((id%
- ((id%
- &ff)>>2))+"), "
- ways$=
- ways$,
- ways$-2)+"."
- command("Echo "+ways$)
- info%
- %11000
- when$=""
- (info%
- %100)=0 when$="linked"
- info%>>8
- 9!
- when$<>"" when$+=" or "
- when$+="included"
- must$=""
- info%
- %10000 must$="R11 must be &"+
- info%
- %1000
- ?!
- must$<>"" must$+=" and "
- must$+="R12 must be pointer to the default workspace of WT module '"+module_name$+"', use SWI WT_DLRInfo to get that (in exit_R2)"
- command("Echo")
- C. full$="NOTE: When "+when$+", "+must$+"."
- cut%=50
- F+
- cut%<
- full$
- full$,cut%,1)<>" "
- cut%+=1
- H
- I&
- command("Echo "+
- full$,cut%))
- J% full$="
- full$,cut%+1)
- full$="
- (info%>>>8)<>0
- show_code%
- command("Echo")
- P; title$="DLR body... ("+
- ((info%>>>8)-4)+" + 4 bytes)"
- command("Echo "+title$)
- command("Echo "+
- title$,"~"))
- command("Memoryi "+
- ~dlr%+" + "+
- ~((info%>>>8)-4))
- &606c1 :
- safe Hourglass_Off ;-)
- 8,5,"<Wimp$Scrap>"
- ,,,,length%
- length%<1024*2
- Z4 *Taskwindow "Type <Wimp$Scrap>" -display -quit
- *SetType <Wimp$Scrap> fff
- ("SetMacro DLRInfo <Wimp$ScrapDir>."+"DI-"+
- ~id%,10))
- *>Remove <DLRInfo>
- _$ *Rename <Wimp$Scrap> <DLRInfo>
- *Filer_Run <DLRInfo>
- command(comm$)
- (comm$+" { >> <Wimp$Scrap> }")
- getname(adr%)
- name$
- name$=""
- ?adr%>32
- name$+=
- ?adr%
- adr%+=1
- =name$
-