10
20
30 :
40
50 :
60 size%=4
70 INPUT"Phone number: "ph$
80 :
90 IF LEFT$(ph$,2)<>"01":ph$="0114"+ph$
100 phone%=FNPhoneFromStr(ph$)
110 base%=01142000000
120 ptr%=(phone%-base%)*size%
130 in%=OPENIN("PHONE.IDX")
140 WardCode$="":PDCode$="":id%=0
150 IF ptr%+3<EXT#in%:PTR#in%=ptr%
160 WardCode$=CHR$ BGET#in%
170 PDCode$ =CHR$BGET#in%
180 id% =BGET#in%+256*BGET#in%
190 CLOSE#in%:in%=0
200 IF WardCode$="" OR WardCode$<" ":PRINT"Unknown" ELSE PRINT FNPhoneToStrF(phone%);" is the phone number for elector ";WardCode$;PDCode$;":";id%;" and maybe others."
210 END
220 :
230
240 :
250
260
270 :
280 DEF FNPhoneToStr(A%):LOCAL@%,A$:@%=&1000A0A:A$=RIGHT$("000000000"+STR$ A%,10)
290 ="0"+STR$(2-VAL LEFT$(A$,1))+MID$(A$,2)
300 DEF FNPhoneFromStr(A$):A$=RIGHT$("000000000"+A$,10)
310 =VAL(STR$(2-VAL LEFT$(A$,1))+MID$(A$,2))
320 DEF FNPhoneToStrF(A%):LOCAL A$,B%,C%:A$=FNPhoneToStr(A%)
330 B%=MID$(A$,3,1)="1" OR MID$(A$,4,1)="1":C%=MID$(A$,2,1)="2"
340 =LEFT$(A$,5+(B%ANDNOTC%)+2*C%)+" "+MID$(A$,6+(B%ANDNOTC%)+2*C%,3-C%)+" "+MID$(A$,9+(B%ANDNOTC%)+C%)