10
20
30 :
40 DEFFNfn_root(A$)
50 IFLEFT$(A$,1)="""":A$=MID$(A$,2,LENA$-2)
60 =LEFT$(A$,INSTR(MID$(A$,3)+"\","\")+1)
70 :
80 DEFFNfn_leaf(A$)
90 LOCAL A%:REPEAT:A%=INSTR(A$,"\"):IFA%:A$=MID$(A$,A%+1)
100 UNTILA%=0:=A$
110 :
120 DEFFNfn_path(A$):IFINSTR(A$,"\")=0:=A$
130 LOCAL A%:REPEATB%=A%:A%=INSTR(A$,"\",A%+1):UNTILA%=0:=LEFT$(A$,B%)
140 :
150 DEFFNfn_ext(A$):IFINSTR(A$,".")=0:=""
160 LOCAL A%:A%=LENA$+1:REPEATA%=A%-1:UNTILINSTR(".:\",MID$(A$,A%,1))
170 IFMID$(A$,A%,1)=".":=MID$(A$,A%) ELSE =""
180 :
190 DEFFNfn_noext(A$):IFINSTR(A$,".")=0:=A$
200 LOCAL A%:A%=LENA$+1:REPEATA%=A%-1:UNTILINSTR(".:\",MID$(A$,A%,1))
210 IFMID$(A$,A%,1)=".":=LEFT$(A$,A%-1) ELSE =A$
220 :
230 DEFFNfn_fullpath(path$,file$)
240 IF INSTR(file$,":")<>0 OR INSTR(file$,"\\")<>0:=file$
250 IF RIGHT$(path$,1)<>"\":path$=path$+"\"
260 =path$+file$
270 :