10 REM > BLib.PhoneG 1.00 20-Apr-1995
   20 :
   30 REM Display and store UK telephone numbers
   40 REM ======================================
   50 :
   60 REM FNPhone_ToStr - convert integer telephone number into fixed-length string
   70 REM -------------------------------------------------------------------------
   80 DEFFNPhone_ToStr(A%):LOCAL@%,A$:@%=&A0A:A$=RIGHT$("000000000"+STR$A%,10)
   90 ="0"+STR$(2-VALLEFT$(A$,1))+MID$(A$,2)
  100 :
  110 REM FNPhone_FromStr - convert telephone number into four-byte integer
  120 REM -----------------------------------------------------------------
  130 DEFFNPhone_FromStr(A$):LOCALA%:A%=1:REPEAT
  140   IFMID$(A$,A%,1)<"0"ORMID$(A$,A%,1)>"9":A$=LEFT$(A$,A%-1)+MID$(A$,A%+1):A%=A%-1
  150 A%=A%+1:UNTILA%>LENA$:A$=RIGHT$("000000000"+A$,10)
  160 =VAL(STR$(2-VALLEFT$(A$,1))+MID$(A$,2))
  170 :
  180 REM FNPhone_ToStrF - convert integer telephone number into formatted fixed string
  190 REM -----------------------------------------------------------------------------
  200 DEFFNPhone_ToStrF(A%):LOCALA$,B%,C%:A$=FNPhone_ToStr(A%)
  210 B%=MID$(A$,3,1)="1" OR MID$(A$,4,1)="1":C%=MID$(A$,2,1)="2"
  220 =LEFT$(A$,5+(B%ANDNOTC%)+2*C%)+" "+MID$(A$,6+(B%ANDNOTC%)+2*C%,3-C%)+"-"+MID$(A$,9+(B%ANDNOTC%)+C%)