; ; my little black book v0.0 ;  € .fiend   t$[8]                     ;each record can have 8 lines (0..7) € €  € €³ u.fiend(5000)      ;5000 max entries  € *ptr.fiend(10)          ;pointers for multi column printing  €2 p$=160:€2 f$=64  ;file requester variables  Ï 0                ;use workbench € setupwindow € newfiend col=2:wid=42:hi=9:€ printset  €»   ev.l=Å   € ev=$40 €! gh=Å €" gh=-1   € gh     € 0:€ newfiend     € 1:€ deletefiend     € 2:€ lastfiend     € 3:€ nextfiend     € 4:test=0:€ doprintout     € 5:€ doload     € 6:€ dosave     € 20:€ search     € 21:€ nxsearch     € 30:col=¼(Æ(0,30)):€ printset     € 31:wid=¼(Æ(0,31)):€ printset     € 32:hi=¼(Æ(0,32)):€ printset     € 33:test=1:€ doprintout   € €   € gh>9 €B gh<18 €! i=gh-10:€ updatefield €¼ ev=$200 €  .printset   Æ 0,30,Ýƒ(col):Æ 0,30  ;update string gadgets   Æ 0,31,Ýƒ(wid):Æ 0,31  ;for label printing   Æ 0,32,Ýƒ(hi):Æ 0,32   ;controls   €  .search   srch$=Ü˜(Æ(0,20))       ;get search string   À u()                         ;start from scratch .nxsearch   € À(u())                   ;loop through looking     € i=0 € 7       € Ü‰(Ü˜(u()\t[i]),srch$) €! €¾ €:€ drawfiend     €   €Á   €  .nextfiend   € €‰ À(u()) €! À u()  ;roll around   € drawfiend:€  .lastfiend   € €‰ À(u()) €! À u()   € drawfiend:€  .deletefiend   À u()                             ;if last item   € €‰ À(u())                     ;create a blank one     € €‰ À(u()) €! € newfiend   €À   € drawfiend:€  .newfiend   € À(u())     u()\t[0]="**NEW**":€ drawfiend   €À   €  .updatefield   u()\t[i]=Æ(0,10+i)   € i<7 €! Æ 0,10+i+1   €  .drawfiend   € i=0 € 7:Æ 0,10+i,u()\t[i]:Æ 0,10+i:€   Æ 0,10:Æ 0,10:€  .doload   f$=Ì("LOAD FILE",p$,f$)  ;read file from disk   € ¾(0,f$)                   ;works with any text file     À u():¾ 0:i=0     ;separated by blank lines     € €‰ ¾(0)       a$=Ý(128)       € i=0 €B a$<>"" €! À u()       € a$<>""         u()\t[i]=a$:€ i<7 €! i+1 €" i=0       €"         i=0       €À     €Á     ¾ 0   €À   € drawfiend:€  .dosave   f$=Ì("SAVE FILE",p$,f$)          ;write data to disk   € ¾(0,f$)     ¾ 0     À u()     € À(u())       € i=0 € 7:Ý‚ u()\t[i]:€     €Á     ¾ 0   €À   €  .setupwindow   €È gads   € i=0 € 6     € a$:a$=Ü–(a$,6):Æ 0,8+i*58,16,0,i,a$   €   € i=0 € 7:Æ 0,6,32+i*11,0,10+i,128,400:€   Æ 0,140,130,0,20,32,200   Æ 0,360,130,0,21,"NEXT"   € i=0 € 2     Æ 0,100,154+i*14,0,30+i,64,100   €   Æ 0,240,170,0,33,"TEST PRINT  XXXXXXX"   Å 0,50,0,420,200,$100e,"MY LITTLE BLUE BOOK",1,2,0   Å 16,121:Ý "SEARCH STRING:"   Æ 10,128,400,16   Å 16,145:Ý "COLUMNS:"   Å 16,159:Ý "  WIDTH:"   Å 16,173:Ý " HEIGHT:"   Æ 10,152,400,44   €  gads:€$ "ADD",DELETE,<=,=>,"PRINT",LOAD,SAVE  .doprintout   € ¾(0,"prt:")   ;output to printer     ¾ 0     € test=0              ;if not test mode       À u()       € À(u())  ;set up pointers for next n fields         *ptr(1)=u()         € i=2 € col           € À(u()) €! *ptr(i)=u()         €         € j=0 € hi-1    ;then using pointers print out stickers           € j<8             € i=1 € col:Ý Ü”(*ptr(i)\t[j],wid):€           €À           Ý‚ ""         €       €Á     €"       € k=1 € 2          ;test run of colx2 stickers         € j=0 € hi-1           € j<8             € i=1 € col:Ý Üˆ("X",wid-2),"..":€           €À           Ý‚ ""         €       €     €À     ¾ 0   €À   €  