repeat with index=1 to the number of lines in data
set curline=line index of data
set level=0
repeat while char (level+1) of curline = "*"
set level=level+1
end repeat
set fullentry=item 1 of curline
delete char 1 to level of fullentry
set pathentry=item 2 of curline
put fullentry,pathentry
case level of
1:
addprop nametree,fullentry,[:]
addprop filetree,pathentry,[:]
set midnamelist=getprop(nametree,fullentry)
set midfilelist=getprop(filetree,pathentry)
2:
addprop midnamelist,fullentry,[]
addprop midfilelist,pathentry,[]
set leafnamelist=getprop(midnamelist,fullentry)
set leaffilelist=getprop(midfilelist,pathentry)
3:
add leafnamelist,fullentry
add leaffilelist,pathentry
end case
end repeat
put nametree into field "NameTree"
put filetree into field "FileTree"
set the itemdelimiter=olddelimiter
end
on loadtrees me
set nametree=value(the text of field "NameTree")
set filetree=value(the text of field "FileTree")
end
on getposlist me,mybase,mymid,myleaf
set poslist=[]
set baselist=getprop(nametree,mybase)
add poslist,findpos(nametree,mybase)
set midlist=getprop(baselist,mymid)
add poslist,findpos(baselist,mymid)
add poslist,getpos(midlist,myleaf)
return poslist
end
on fullToPath me,mybase,mymid,myleaf
getposlist me,mybase,mymid,myleaf
set base=getpropat(filetree,getat(poslist,1))
set baselist=getprop(filetree,base)
set mid=getpropat(baselist,getat(poslist,2))
set midlist=getprop(baselist,mid)
set leaf=getat(midlist,getat(poslist,3))
set path=basepath&"\"&base&"\"&mid&"\"&leaf
return path
end
on GetLeafText me,mybase,mymid
set midlist=getprop(nametree,mybase)
set leaflist=getprop(midlist,mymid)
set buffer=""
repeat with leaf in leaflist
set buffer=buffer&leaf&return
end repeat
delete char length(buffer) of buffer
return buffer
end
on Launch me
if activeLeaf<>0 then
if char 1 of activeLeaf="#" then
put "The BootCD installer can't run the program, though it can be launched from Windows 95. The location of the install program is at "& fulltopath(me,activebase,activemid,activeleaf) &"." into field "DemoInfo"
set the fontstyle of line 1 of member "DemoInfo" to "bold"
else
open fulltopath(me,activebase,activemid,activeleaf)