home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sauce 'n' Code 1
/
sauce-n-code-01.adf
/
ASCII_Source
/
FileReq.asc
< prev
next >
Wrap
Text File
|
1995-05-07
|
4KB
|
128 lines
' -- EXAMPLE use of Requester --
Screen Open 6,640,512,8,Hires
Flash Off
Palette ,$FFF
Cls 0
Pen 6
Paper 0
For K=1 To 25 : Print String$("#",80) : Next K
Proc REQUEST_FILE[7,70,0,150,"Select a TRACKER module",Dir$]
Print Param$
If Param$>""
Track Load Param$,3
Track Play 3
End If
End
' -- End Of EXAMPLE --
Procedure REQUEST_FILE[SCR,RX,RY,RH,TITLE$,PATH$]
If Exist(PATH$)
' Replacement File Requester
' ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
' cODED bY ßudda/NFA
' StARtEd : 27.02.1995
' FiNiSHed: 22.04.1995
' -- Get Character Width & Height For File List --
RW=340
CH=(RH-60)/8
AMOUNT_OF_FILES=500 : Rem max amount of files to display
Dim FILE_NAME$(AMOUNT_OF_FILES)
BACK_UP_DIR$=Dir$
' -- Define File Requester Interface Program --
FREQ$="BA "+Str$(RX)+","+Str$(RY)+";SI "+Str$(340+RX)+","+Str$(RH+RY)+";SA 1;"
FREQ$=FREQ$+"IN 3,0,0;GB BX,BY,SX,SY;"
FREQ$=FREQ$+"IN 2,0,0;GL BX,BY,BX,SY;GL BX,BY,SX,BY;GL BX4+,SY10-,SX,SY10-;GL SX3-,SY10-,SX3-,BY11+;"
FREQ$=FREQ$+"IN 1,0,0;GL BX,SY,SX,SY;GL SX,BY,SX,SY;GL BX,BY10+,SX,BY10+;GL BX4+,BY11+,BX4+,SY11-;"
FREQ$=FREQ$+"IN 0,0,0;GB BX5+,BY11+,SX4-,SY11-;"
FREQ$=FREQ$+"PR BX21+,BY1+,'"+Left$(TITLE$,36)+"',1;"
FREQ$=FREQ$+"AL 1,BX16+,BY14+,38,"+Str$(CH)+",0VA,0,2,0,1;[ZC 3,0VA ZP AR;]"
FREQ$=FREQ$+"VS 2,SX26-,BY14+,11,SY60-,0,"+Str$(CH)+",1VA1-,"+Str$(CH)+";[ZC 1,ZP;]"
FREQ$=FREQ$+"ED 3,BX20+,SY34-,40,40,'',0,1;ED 4,BX20+,SY43-,34,40,'',0,1;"
FREQ$=FREQ$+"IN 2,0,0;GL BX14+,BY13+,SX32-,BY13+;GL BX14+,BY13+,BX14+,SY45-;GL SX29-,BY13+,SX18-,BY13+;GL SX29-,BY13+,SX28-,SY45-;"
FREQ$=FREQ$+"IN 1,0,0;GL BX14+,SY45-,SX32-,SY45-;GL SX32-,SY45-,SX32-,BY13+;GL SX15-,BY13+,SX15-,SY45-;GL SX15-,SY45-,SX28-,SY45-;"
FREQ$=FREQ$+"GL BX4+,SY35-,SX4-,SY35-;GL BX4+,SY25-,SX4-,SY25-;"
FREQ$=FREQ$+"BU 5,SX100-,SY22-,80,15,0,0,1;[LI 0,0,28,80;PR 20,1,'OKAY',1BP+;][BR 0;]"
FREQ$=FREQ$+"BU 6,SX210-,SY22-,80,15,0,0,1;[LI 0,0,28,80;PR 12,1,'PARENT',1BP+;][BR 0;]"
FREQ$=FREQ$+"BU 7,BX30+,SY22-,80,15,0,0,1;[LI 0,0,28,80;PR 12,1,'CANCEL',1BP+;][BR 0;]"
' -- Open Screen For Requester (If not already open)--
Trap Screen SCR
If Errtrap or Screen Colour<8
Screen Open SCR,640,(RY+RH)+1,8,Hires
Show On
Flash Off
Curs Off
Palette $AAA,$0,$FFF,$68B,$999,$0,$AAA,$FFF
Cls 0
OWN_SCREEN=1
FREQ$=FREQ$+"BU 8,BX,BY,SX,BY10+,0,0,1;[][SM;BR 0;]"
End If
Dialog Open 1,FREQ$+"EX;"
' -- Get Names OF Files In Current Dir --
_GET_DIR:
Dir$=PATH$
For FF=0 To AMOUNT_OF_FILES : FILE_NAME$(FF)="" : Next FF
TM$=Dir First$(PATH$)
F=0
While TM$<>""
If Left$(TM$,1)<>"*"
PP=29
For I=29 To 2 Step -1
KWS$=Mid$(TM$,I,1)
If KWS$=" "
Dec PP
End If
Exit If KWS$<>" "
Next I
FILE_NAME$(F)=Mid$(TM$,2,PP-1)
Else
FILE_NAME$(F)=Mid$(TM$,2)
Mid$(FILE_NAME$(F),30,5)="(Dir)"
End If
TM$=Dir Next$
Inc F
Wend
' -- Get The Requester Working --
Vdialog(1,0)=Array(FILE_NAME$(0))
Vdialog(1,1)=F
XXX=Dialog Run(1)
Dialog Update 1,4,PATH$
Do
BT=Dialog(1)
If BT=1 and Mid$(Rdialog$(1,3),30,5)="(Dir)"
PATH$=PATH$+Rdialog$(1,3)-" "-"(Dir)"+"/"
Dialog Update 1,3,""
Goto _GET_DIR
End If
If BT=3 or BT=5
SELECTED_FILE$=PATH$+Left$(Rdialog$(1,3),29)
Dir$=BACK_UP_DIR$
Exit 1
End If
If BT=4
PATH$=Rdialog$(1,4)
Goto _GET_DIR
End If
If BT=6
Parent
PATH$=Dir$
Goto _GET_DIR
End If
Exit If BT=7
Loop
Dialog Close 1
If OWN_SCREEN=1 : Screen Close SCR : End If
End If
End Proc[SELECTED_FILE$]