home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 2
/
DATAFILE_PDCD2.iso
/
utilities2
/
_addresses
/
!Addresses
/
!RunImage
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1993-09-22
|
17KB
|
768 lines
>!RunImage
For !Addresses
22/09/93
Ax$="1.26 (22nd September 1993)":
$+" at line "+
$+" at line "+
c$<>""
p(c$)
&400C7,,d%
&400C8,,d%
&400C6,,d%:
!d%=j%
b(v%):
b(I%):
b(l%):
b(L%):
b(s%):
b(M%):
c(J%,0):e%=0:
g$,".",e%)>0:e%=
g$,".",e%)+1:
g$,e%-2):
g$,".")>0
&5,"Filer_OpenDir "+g$
17,18:
U%:_%=
&400DD:
g:b%=a%(h%-1):
j(j%,16,b%(b%,g%,0)):
j(j%,17,b%(b%,g%,1)):
j(j%,19,b%(b%,g%,1)
b%(b%,g%,1)
e(j%,18,
e(j%,20,
a(j%,18,""):
a(j%,20,
b$(b%,g%),8))
e(j%,20,
e(j%,18,
a(j%,20,""):
a(j%,18,
b$(b%,g%),8))
e(j%,21,b%(b%,g%,0)
-1):a$=b$(b%,g%):a$=
a$-8):
a(j%,22,
a$,80)):
a(v%,g%,
b$(b%,g%),20)):
a(v%,g%-1,
b$(b%,g%-1),20)):N%=b%(b%,g%-1,1)+11:
i(v%,g%-1,N%)
a(v%,g%+1,
b$(b%,g%+1),20)):N%=b%(b%,g%+1,1)+11:
i(v%,g%+1,N%)
!$N%=b%(b%,g%,1)+11:
i(v%,g%,N%):
e(p%,c%,ba%):!a%=p%:a%!4=c%:a%!8=0:a%!12=1<<22:
&400CD,,a%:
#6!a%=p%:a%!4=c%:a%!8=1<<22:a%!12=1<<22:
&400CD,,a%
j(p%,c%,ca%):!a%=p%:a%!4=c%:a%!8=0:a%!12=1<<21:
&400CD,,a%:
'6!a%=p%:a%!4=c%:a%!8=1<<21:a%!12=1<<21:
&400CD,,a%
E:da%=ea%:
&400EC,32000+ea%
ea%=da%
b("nis"))
!d%=j%
60:K%!k%=d%!k%:
:b%=d%!28:
b%=v%
b%=-1
.Y!a%=j%:a%!4=15:
&400CE,,a%:fa%=a%!8:`%=a%!12:ga%=a%!16:ha%=a%!20:!a%=v%:
&400CB,,a%
/wa%!4=K%!4+fa%*2-1:a%!8=K%!8-`%:a%!12=K%!4+ga%-32:a%!16=K%!8-`%+ha%+4:a%!28=b%:
&400C5,,a%:K%!28=v%:
&400C5,,K%:
&400C5,,d%
q:!a%=I%:
262347,,a%:
(a%!32
(1<<16))=(1<<16)
a%!28=-1:
&400C5,,a%
4F!a%=l%:
262347,,a%:
(a%!32
(1<<16))=(1<<16)
a%!28=-1:
&400C5,,a%
5F!a%=L%:
262347,,a%:
(a%!32
(1<<16))=(1<<16)
a%!28=-1:
&400C5,,a%
6F!a%=M%:
262347,,a%:
(a%!32
(1<<16))=(1<<16)
a%!28=-1:
&400C5,,a%
7G!a%=ia%:
262347,,a%:
(a%!32
(1<<16))=(1<<16)
a%!28=-1:
&400C5,,a%
8F!a%=s%:
262347,,a%:
(a%!32
(1<<16))=(1<<16)
a%!28=-1:
&400C5,,a%
k(ja%):!a%=j%:
&400CB,,a%:ka%=a%!4:la%=a%!8:!a%=j%:a%!4=15:
&400CE,,a%:fa%=a%!8:`%=a%!12:ga%=a%!16:ha%=a%!20
!a%=v%:
&400CB,,a%:a%!4=ka%+fa%*2-1:a%!8=la%-`%:a%!12=ka%+ga%-32:a%!16=la%-`%+ha%+4:a%!28=ja%:
&400C5,,a%:
g:!a%=j%:
&400CB,,a%:a%!28=v%:
&400C5,,a%:
d% 256,ma% 1024,Q% 512,na% 512,oa% 256,pa% 512,qa% 256,ra% 512,sa% 20,a% 512,ta% 256,D% 640,ua% 1024,va% 512,wa% 512,xa% 256
ya% 1024,za% 512,Aa% 256,Ba% 64,a$(499,8),Ca% 512,Da% 128,a%(499),Ea% 1024,Fa% 512,Ga% 200,Ha% 640,Ia% 256:
Ja% 512,Ka% 128,K% 256:
b$(499,9),b%(499,9,1),c$(30,1):c$()=
30," "):c$()="":
$sa%=
b("er2"):h%=1:o%=1:g%=0:v$="":La%=
:Ma%=
:Na%=
:Oa%=0:Pa%=0:
499:a%(k%)=k%:
&400C0,200,&4B534154,"Addresses"
Qa%,Ra%:c%=
k(-1,0,0,68,68,12298,"!addresses")
"<Address$Dir>.Sprites":Sa%=
#n%+1024:
w% Sa%:!w%=Sa%-1:w%!4=0:w%!8=12:w%!12=16:
&2E,256+10,w%,"<Address$Dir>.Sprites":
&400EC,160000,-1
D:i%=ta%:$i%="Addresses":i%!12=459271:i%!16=16*10:i%!20=44:i%!24=0:
c(i%+28,2,-1,&7091031,"New file"):
c(i%+52,0,Ta%,&7091031,"Info"):
c(i%+76,0,J%,&7091031,"Save"):
c(i%+100,128,-1,&7091031,"Quit"):i%=D%
$i%="Addresses":i%!12=459271:i%!16=16*13:i%!20=44:i%!24=0:
c(i%+28,0,-1,&7091031,"Control (F6)"):
c(i%+52,0,-1,&7091031,"Search (F4)"):
c(i%+76,2,-1,&7091031,"Sort (F5)"):
c(i%+100,2,D%+300,&7091031,"Address")
c(i%+124,2,D%+300,&7091031,"Correspond"):
c(i%+148,0,Ta%,&7091031,"Info"):
c(i%+172,0,D%+500,&7091031,"Save"):
c(i%+196,128,-1,&7091031,"Quit"):i%=D%+300:$i%="Edit":i%!12=459271:i%!16=16*11:i%!20=44:i%!24=0
c(i%+28,0,-1,&7091031,"Delete"):
c(i%+52,2,-1,&7091031,"Insert"):
c(i%+76,0,-1,&7091031,"Raise"):
c(i%+100,128,-1,&7091031,"Lower"):
&400D4,,D%
&400E8,,i%
&400D4,,-1:i%=D%+500
$i%="Save :":i%!12=459271:i%!16=16*13:i%!20=44:i%!24=0:
c(i%+28,0,J%,&7091031,"Whole file"):
c(i%+52,128,z%,&7091031,"This record"):
&400D4,,D%:
&400E8,,i%
&400D4,,-1:
&400D9,,"<Address$Dir>.Templates":I%=
e(wa%,xa%,255,"cont",w%):v%=
e(Ha%,Ia%,255,"crsp",w%):Ta%=
e(na%,oa%,255,"info",w%):j%=
e(ma%,Q%,511,"main",w%):ia%=
e(Ca%,Da%,127,"modd",w%)
e(pa%,qa%,255,"save",-1):l%=
e(ua%,va%,511,"sear",w%):z%=
e(Ea%,Fa%,511,"sind",w%):L%=
e(ya%,za%,511,"sort",w%):s%=
e(Ja%,Ka%,127,"date",w%):M%=
e(Aa%,Ba%,63,"foun",w%):
&400DA
G2$(oa%+99)=x$:$qa%="Addresses":$Fa%="Address":
a(p%,c%):!a%=p%:a%!4=c%:
&400CE,,a%:ca%=a%!24:=((ca%
2097152)=2097152)
a(l%,16,""):
):f$=
c(l%,1):r%=
a(M%,0,f$):
f$=""
b("ser")):
f$,"?")>0
f$,"*")>0
b("mxw")):
Krv$=f$:Xa%=
a(l%,3):Ya%=
a(l%,9):Za%=
a(l%,10):_a%=
a(l%,11):`a%=
a(l%,12):ab%=
a(l%,13):bb%=
a(l%,14):
$a%=f$:A%=a%:
cb%:f$=$a%
Ndd$=f$:c$()="":
30:c$(k%,1)="1":
d$,1)="?":d$=
d$,2):
d$)="?":d$=
d$,"?")>0
OLdb%=0:t%=0:eb%=0:
d$,"?",t%)>0:t%=
d$,"?",t%)+1:db%+=1:
t%=eb%+1db%-=1
Pveb%=t%:
:t%=1:
db%:c$(b%,0)=
d$,t%,
d$,"?",t%)-t%):t%=
d$,"?",t%)+1:
c$(b%,0)=""b%-=1:c$(b%,1)=
c$(b%,1)+1)
c$(b%,0),1)="?"b%-=1
c$(b%,0),1)="?":c$(b%,1)=
c$(b%-1,1)+1):c$(b%,0)=
c$(b%,0),2):
:c$(b%,0)=
d$,t%):
c$(b%,0),1)="?":c$(b%-1,1)=
c$(b%-1,1)+1):c$(b%,0)=
c$(b%,0),2):
Xa%u%=0:G%=o%:
:u%=(
c(l%,5))-1:G%=(
c(l%,7))-1
s(u%,G%):
f(e%,y%):r%=
:e$=a$(a%(e%),y%):
$a%=e$:A%=a%:
cb%:e$=$a%
W R%=
:k$=e$:k%=0:
d$,"?")>0
e$,c$(1,0))-1:
db%+1:
e$,c$(b%,0),t%)<>t%+
c$(b%-1,0)+
(c$(b%-1,1))R%=
e$,c$(b%,0)):
] r%=R%
f$,"*")>0
d$,"*")-1):
k$,l$)>0
b-d$=
f$,"*")+1):k$=
k$,l$)+1):k%=1
k$,l$,
l$)<>l$
d$,"*")=0
:r%=R%
f$,"?")=0
f$,"*")=0
e$,d$)>0
f(M%):
a(M%,1,"Found"):
b(l%):h%=e%+1:
s(u%,G%):
e%=u%
8:r%=
f(e%,y%):
e%=u%
f(e%,0)
5:r%=
f(e%,y%):
f(e%,6)
8:r%=
f(e%,y%):
a(l%,16,
b("nfd")):
a(M%,1,
b("nfd")):
f(l%)
I:P%=d%!24:E%=!d%:c%=d%!4:O%=
c%<14
387:V%=c%:
&400CF,,a%:
&400D4,,J%,!a%,a%!4:O%=
388:V%=c%:
t:S%=
389:V%=c%:
f(L%):S%=
390:V%=c%:
f(I%):S%=
391:S%=
&400D2,-1
398,13:c%+=1:O%=
399:c%-=1:O%=
403:V%=c%:
&400CF,,a%:
&400D4,,z%,!a%,a%!4:O%=
c%=4c%=13
c%=14c%=5
l(j%,c%,
c(j%,c%))
13:b%=a%(h%-1):a$=
b$(b%,g%),8):
a$<8:a$+=" ":
:b$(b%,g%)=a$+
c(j%,22):
P%=13
c%=9O%=
c(I%,9)):
P%=13O%=
P%=13
c%=1O%=
P%=13
P%=27
&400D4,,-1:
b(l%):
l(j%,V%,
c(j%,V%)):
b(L%):
b(M%)
&400DC,P%
&400D4,,-1:
!fb%=d%!20:gb%=d%!24:
k%>=gb%
hb%=gb%:Z%=18
:hb%=k%:Z%=17:Na%=
&400F1,Ra%,ib%,jb%,fb%,hb%:ib%+=hb%:k%-=hb%:d%!12=d%!8:d%!16=7:d%!20=fb%:d%!24=hb%:
&400E7,Z%,d%,jb%:
O:ib%=Ga%:
z%:k%=0:
a(z%,4)
?a$=a$(a%(h%-1),0):n$=
a$," ")-1):$(ib%+k%)=n$:k%+=
a(z%,5)
?a$=a$(a%(h%-1),0):o$=
a$," ")+1):$(ib%+k%)=o$:k%+=
8:a$=a$(a%(h%-1),m%):
a(z%,m%+5)
$(ib%+k%)=a$:k%+=
:jb%=d%!4:
c(z%,0)
c$,".",0)=0
b("sav")):
(c$):
a(z%,4)
a(z%,5)
#n%,a$(a%(h%-1),0)
a(z%,4)
0a$=a$(a%(h%-1),0):n$=
a$," ")-1):
#n%,n$
a(z%,5)
0a$=a$(a%(h%-1),0):o$=
a$," ")+1):
#n%,o$
a(z%,m%+5)
#n%,a$(a%(h%-1),m%)
&5,"SetType "+c$+" FFF":
&400D4,,-1
a(z%,0,c$):
c(J%,0)
c$,".",0)=0
b("sav")):
(c$):e%=0:
:b%=a%(e%):
a$(b%,0)<>""
8:a$=a$(b%,m%):
a$<>""
m%+a$
9:a$=b$(b%,m%):
a$<>""
(m%+20)+
(b%(b%,m%,0)*-1)+
(b%(b%,m%,1)*-1)+a$:
#n%,a$
:e%+=1:
&5,"SetType "+c$+" 0E4":Ma%=
&400D4,,-1
a(J%,0,c$):
v:c$=
h:b%=a%(h%-1):a$=
b$(b%,g%),8):
a$<8:a$+=" ":
:b$(b%,g%)=a$+c$:b%(b%,g%,0)=
l(j%,22,
R:lb%=d%!40:
&400CF,,a%:E%=a%!12:c%=a%!16:
E%=j%
c%=22
lb%<>228
v:_%=
p(c$)
f(ia%):
&400C7,,d%
0,4,5
6:c%=d%!16:
b(ia%):
17,18:
d%!16
0:U%=
1282:
b(ia%):=
b(ia%):=
p(c$):n%=
(c$):a$()="":b$()="":b%()=0:g%=0:o%=0:a$=
#n%:a$=
a$-1):
:o%+=1:a$(o%-1,0)=a$:
#n%:a$=
#n%:m%=
a$,1)):a$=
a$-1):
m%<10
a$(o%-1,m%)=a$
a$,1,1):b%(o%-1,m%-20,0)=(u$="1"):u$=
a$,2,1):b%(o%-1,m%-20,1)=(u$="1"):a$=
a$-2):b$(o%-1,m%-20)=a$
499:a%(k%)=k%:
k(-1):$qa%=c$:h%=1:q%=
a(l%,5,"1"):
a(l%,7,
a(l%,1,""):
a(l%,16,""):
f(l%):
l(l%,1,0):
f(I%)
f(L%)
7:U%=
3:U%=
p$="b"i%=ta%
i%=D%
&400D4,,i%,mb%-64,nb%
W:b%=a%(h%-1):
k%=g%
8:b$(b%,k%)=b$(b%,k%+1):
ob%=0
1:b%(b%,k%,ob%)=b%(b%,k%+1,ob%):
3b$(b%,9)="":b%(b%,9,0)=0:b%(b%,9,1)=0:q%=
X:b%=a%(h%-1):
-1:b$(b%,k%)=b$(b%,k%-1):
ob%=0
1:b%(b%,k%,ob%)=b%(b%,k%-1,ob%):
,:b$(b%,g%)="":b%(b%,g%,0)=0:b%(b%,g%,1)=0:q%=
b("crc")):
Yb%=a%(h%-1):
b$(b%,g%),b$(b%,g%+1):
b%(b%,g%,k%),b%(b%,g%+1,k%):
b("clc")):
Yb%=a%(h%-1):
b$(b%,g%),b$(b%,g%-1):
b%(b%,g%,k%),b%(b%,g%-1,k%):
"Wimp_GetPointerInfo",,d%:=((d%!8
1)=1)
o:_%=
499:a%(k%)=k%:
:g%=0:h%=1:o%=1:$qa%="Addresses":b$()="":b%()=0:a$()="":q%=
o%=1F%=
b("lre")):
e%=h%
8:a$(a%(e%-1),y%)=a$(a%(e%),y%):
8:a$(a%(o%),y%)="":
h%=o%h%-=1
o%-=1:q%=
o%+=1:
e%=o%
8:a$(a%(e%),y%)=a$(a%(e%-1),y%):
8:a$(a%(h%-1),y%)="":
:o%+=1:q%=
G:x%=!d%:y%=d%!4:pb%=d%!8:E%=d%!12:c%=d%!16:
k(-1)
a(l%,1,v$)
9,10,11,12,13:
_(l%,9,13,c%):
a(l%,10)
a(l%,11)
a(l%,12)
a(l%,13))
a(l%,9)
j(l%,9,
0:h%=1
1:h%-=1:
h%=0h%=1
h%+=1:
h%>o%
o%=h%
3:h%=o%
j%:b%=a%(h%-1):
16:b%(b%,g%,0)=
a(j%,16):
e(j%,21,b%(b%,g%,0)
17:b%(b%,g%,1)=
e(j%,18,
e(j%,20,
a(s%