Library Name: fuzziesreqlib #53 Author: Peter Tavinor, 22 Tuhangi St, Kamo, Whangarei, New Zealand OverView: Not only has Peter Tavinor (King Fuzzy) kindly fixed up and added stuff to our own libraries (seriallib especially) he has also sent us this library which is one of three that take advantage of the ReqLibrary. Fuzzy has also cludged up Ted with hotkeys and stuff, if you want to get hold of this version I suggest writing to him at the above address. Anyway, sorry I couldn't fit more of his stuff in this issue. Commands: ColourRequest: Colour=ColourRequest(Colour) TextRequest: Button=TextRequest(Text,Title,Left Text[,[Middle Text,]Right Text]) TextTimeout: TextTimeout Timeout Seconds GetString$: String$=GetString$(Title$,Default$,Visable size,Max length) ReqFileRequest$: selectedfile$=ReqFileRequest$(Title$,File$,Path$,Flags) FileReqSize: FileReqSize Lines High,File Length,Device Length FileFilter: FileFilter Show$,Hide$ ReqColours: ReqColours Text,Detail,Block[,File,Dir,Device[,GadText,GadBox,StringName,StringBox,Frame]] FileStructure: Fs.l=FileStructure MaxSelect$: Path$=MaxSelect$(Title$,File$,Path$,Flags,number of files) NextFile$: f$=NextFile$ ReqFontSize: sz=ReqFontSize Req_Base: rl.l=Req_Base Dos_Base: dl.l=Dos_Base Int_Base: il.l=Int_Base Gfx_Base: gl.l=Gfx_Base Rex_Base: rxl.l=Rex_Base Con_Base: cl.l=Con_Base Authors Docs: Req Library Ver 1.1 By King Fuzzy No. 201 $VER: Req Library extention Docs version 1.1 by King Fuzzy The following commands are in the Reqlib library and they require the req.library to be in your workbench libs drawer. To get the Requests on a custom window use CatchDosErrs (see Reference Manual) ============================================================================ Function ColourRequest ---------------------------------------------------------------------------- Syntax: Colour=ColourRequest(Colour) This function brings up a handy little palette and allows the user to select a colour using Colour as the default c=ColourRequest(1) ============================================================================ Function TextRequest ---------------------------------------------------------------------------- Syntax: Button=TextRequest(Text,Title,Left Text[,[Middle Text,]Right Text]) This brings up a text requester with Text as the message and Title in the titlebar. It can have 1, 2 or 3 buttons to select from. The requester's colours can be changed: See ReqColours Left button Left and Right buttons Left, Middle and Right buttons The text in the buttons is determined by Left Text,Middle Text and Right Text the value returned is 1 left button 2 middle button 0 right button Button=TextRequest("I am a simple requester","Blitz Prog","Left","Middle","Right") ============================================================================ Statement TextTimeout ---------------------------------------------------------------------------- Syntax: TextTimeout Timeout Seconds Its surpose to set the timeout for the text requester but it don't work yet ============================================================================ Function GetString$ ---------------------------------------------------------------------------- Syntax: String$=GetString$(Title$,Default$,Visable size,Max length) This brings up a string requester allowing the user to enter a string The maximum length and the visable length are set with Max length and Visable size The default string must have a maximum length of at least Max length Returns a null string if cancel is selected MaxLen d$=40 s$=GetString$("Type something",d$,30,40) ============================================================================ Function ReqFileRequest$ ---------------------------------------------------------------------------- Syntax: selectedfile$=ReqFileRequest$(Title$,File$,Path$,Flags) Yes it's another file/font requester, No it won't bring up the blitz requester if it fails. The maximum length of File$ must be 32 and Path$ must be 132. The Flags are as follows (Clipped from reqbase.i) FRQSHOWINFOB EQU 0 = 1 ;Set this in Flags if you want .info files to show. They default to hidden. FRQEXTSELECTB EQU 1 = 2 ;Set this in Flags if you want extended select. Default is not. FRQCACHINGB EQU 2 = 4 ;Set this in Flags if you want directory caching. Default is not. FRQGETFONTSB EQU 3 = 8 ;Set this in Flags if you want a font requester rather than a file requester. FRQINFOGADGETB EQU 4 = 16 ;Set this in Flags if you want a hide-info files gadget. FRQHIDEWILDSB EQU 5 = 32 ;Set this in Flags if you DON'T want 'show' and 'hide' string gadgets. FRQABSOLUTEXYB EQU 6 = 64 ;Use absolute x,y positions rather than centering on mouse. FRQCACHEPURGEB EQU 7 = 128 ;Purge the cache whenever the directory date stamp changes if this is set. FRQNOHALFCACHEB EQU 8 = 256 ;Don't cache a directory unless it is completely read in when this is set. FRQNOSORTB EQU 9 = 512 ;Set this in Flags if you DON'T want sorted directories. FRQNODRAGB EQU 10 =1024 ;Set this in Flags if you DON'T want a drag bar and depth gadgets. FRQSAVINGB EQU 11 =2048 ;Set this bit if you are selecting a file to save to. FRQLOADINGB EQU 12 =4096 ;Set this bit if you are selecting a file(s) to load from. ;These two bits (save and load) aren't currently used for ;anything, but they may be in the future, so you should ;remember to set them. Also, these bits make it easier if ;somebody wants to customize the file requester for their ;machine. They can make it behave differently for loading ;vs saving. FRQDIRONLYB EQU 13 =8192 ;Allow the user to select a directory, rather than a file. Just add together what you want and use it. E.G. 6 is Caching and extended select Also see FileReqSize,FileFilter,ReqColours,FileStructure,MaxSelect and NextFile MaxLen fl$=32:MaxLen dr$=132 f$=ReqFileRequest$("Select a file",fl$,dr$,4) FRQEXTSELECTB is not used Returns a null string if user aborts ============================================================================ Statement FileReqSize ---------------------------------------------------------------------------- Syntax: FileReqSize Lines High,File Length,Device Length This sets the size of the Req File Requester The defaults are 8,16,10 FileReqSize 20,25,12 ============================================================================ Statement FileFilter ---------------------------------------------------------------------------- Syntax: FileFilter Show$,Hide$ This sets the Hide and Show filters in the req file requester FileFilter "Req.*","*.Bak" This will show all files starting with 'Req.' but not ones ending with '.Bak' ============================================================================ Statement ReqColours ---------------------------------------------------------------------------- Syntax: ReqColours Text,Detail,Block[,File,Dir,Device[,GadText,GadBox,StringName,StringBox,Frame]] Text,Detail and Block are for both the req file requester and the text requester File,Dir,Device,GadText,GadBox,StringName,StringBox and Frame are only for the req file requester Try changing the colours one at a time to see what they change ReqColours 1,2,3 ReqColours 1,2,3,3,2,1 ReqColours 1,2,3,3,2,1,1,2,3,4,5 ============================================================================ Function FileStructure ---------------------------------------------------------------------------- Syntax: Fs.l=FileStructure Returns a pointer to the req file requester structure ============================================================================ Statement MaxSelect$ ---------------------------------------------------------------------------- Syntax: Path$=MaxSelect$(Title$,File$,Path$,Flags,number of files) Select the number of files that can be selected with the extended selector see ReqFile Requestor for more information ============================================================================ Function NextFile$ ---------------------------------------------------------------------------- Syntax: f$=NextFile$ Returns the next file in the extended file structure ============================================================================ Function ReqFontSize ---------------------------------------------------------------------------- Syntax: sz=ReqFontSize This Returns the size of the last font selected with the font requester ============================================================================ Function Req_Base ---------------------------------------------------------------------------- Syntax: rl.l=Req_Base This Returns pointer to Req.Library used in jsr calls ============================================================================ Function Dos_Base ---------------------------------------------------------------------------- Syntax: dl.l=Dos_Base This Returns pointer to Dos.Library used in jsr calls ============================================================================ Function Int_Base ---------------------------------------------------------------------------- Syntax: il.l=Int_Base This Returns pointer to Intuition.Library used in jsr calls ============================================================================ Function Gfx_Base ---------------------------------------------------------------------------- Syntax: gl.l=Gfx_Base This Returns pointer to Graphics.Library used in jsr calls ============================================================================ Function Rex_Base ---------------------------------------------------------------------------- Syntax: rxl.l=Rex_Base This Returns pointer to RexxSys.Library I think, It says RexxSysBase in the req library docs ============================================================================ Function Con_Base ---------------------------------------------------------------------------- Syntax: cl.l=Con_Base This Returns pointer to Console.device used for jsr calls mainly rawkey to cookedkey