Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199312.adf » !TelAdBook_TelAdBook » !TelAddr/!RunImage
!TelAddr/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199312.adf » !TelAdBook_TelAdBook |
Filename: | !TelAddr/!RunImage |
Read OK: | ✔ |
File size: | DA43 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >ADFS::MADEVAL4.$.TelAddr.!TelAddr.!RunImage 20name1$="TelAddr":name2$="TelAddr":skip%=0:poll%=FALSE:f%=-1:init%=FALSE:DIM b% &800 30ON ERROR IF FNerr=0 THEN PROCclose_down ELSE skip%=1 40IF skip%=0 PROCinit:PROCassemble:PROCdefine:skip%=0:poll%=TRUE:PROCcheck_load 50skip%=0:poll%=TRUE:PROCpoll 60PROCclose_down 70END 80: 90DEFFNerr:error%=0 100IF poll% THEN 110 e$=REPORT$+" ("+STR$(ERR)+") at line "+STR$(ERL):e%=continue_quit%:e2%=0 120 IF ERR=71622 THEN CLOSE#f%:SYS "OS_File",6,filename$:e$=REPORT$:e%=ok% 130 IF ERR=204 OR ERR=67785 OR ERR=67797 OR ERR=67778 e$=REPORT$:e%=ok% 140 IF ERR=193 OR ERR=195 CLOSE#f%:e$="File is locked.":e%=ok% 150 SYS "WimpExt_OpenRequester",,,"Error from TelAddr",e$,e%,e2% 160 req%=-1:error%=1 170ELSE 180 e$=REPORT$+" ("+STR$(ERR)+") at line "+STR$(ERL)+", quit program ?":leave%=0 190 IF ERR=67797 e$=REPORT$:leave%=1 200 IF leave%=0 THEN error%=FNerror(e$) EOR 1 ELSE PROCerror(e$):error%=0 210ENDIF 220=error% 230: 240DEFPROCinit 250SYS "OS_GetEnv" TO a$:IF INSTR(a$,"-file ") THEN chk_ld%=1:chk_ld$=MID$(a$,INSTR(a$,"-file ")+6) ELSE chk_ld%=0 260tel_ft%=&100:prog_ver%=103:file_ver%=100:date$="13-Aug-93":code_len%=1024 270DIM b2% &300,b3% &100,code% code_len% 280DIM s1% &A0,m1% &A0,m2% &100,m3% &100,m4% &A0,m6% &A0,m7% &A0,m8% &A0 290DIM goto% 4,goto_val% 8,template% 11*1024,indir% 17*1024,fonts% 256 300end_indir%=indir%+(17*1024) 310$goto%="":$goto_val%="a0-9" 320total_max%=256 330rec_len% =11*32 340DIM tab% total_max%*rec_len%,pointers% total_max%*4,table% total_max%*11*12 350FOR I%=tab% TO tab%+(total_max%*rec_len%) STEP rec_len%:$I%="":NEXT 360DIM menu% &100,val% 16:menu_pos%=0:$val%="" 370DIM ok_cancel% 40,ok% 40,continue_quit% 40,save_discard_cancel% 40 380PROCbuttons(ok_cancel%,"OK","Cancel","","") 390PROCbuttons(ok%,"OK","","","") 400PROCbuttons(continue_quit%,"Continue","Quit","","") 410PROCbuttons(save_discard_cancel%,"Save","Discard","Cancel","") 420my_font$="Trinity.Medium":okay%=0 430count%=0:REPEAT:SYS "Font_ListFonts",,b%,count%,-1 TO ,,count% 440IF count%<>-1 THEN 450 IF $b%=my_font$ okay%=1 460ENDIF 470UNTIL count%=-1 480IF okay%=0 THEN PROCerror("!TelAddr needs to have 'seen' the Trinity.Medium font before it is loaded."):PROCclose_down 490DIM sa% 15*1024 500sa%!0=15*1024:sa%!4=0:sa%!8=16:SYS 46,256+10,sa%,"<"+name1$+"$Dir>.Sprites" 510PROCinittask(name2$):init%=TRUE 520FOR I=0 TO 12:b%!(I*4)=0:NEXT 530SYS "WimpExt_LoadTemplates",b%,template%,indir%,end_indir%,fonts%,"<"+name1$+"$Dir>.Templates",sa% 540file_info%=b%!0:tools%=b%!4:pos%=b%!8:search%=b%!12:save_as1%=b%!16:list_pane%=b%!20:book%=b%!24:save_as%=b%!28:list%=b%!32:pref_pane%=b%!36:save_as2%=b%!40:pref%=b%!44:info%=b%!48 550SYS "WimpExt_LinkWindows",,,book%,tools% 560SYS "WimpExt_LinkWindows",,,list%,list_pane% 570SYS "WimpExt_LinkWindows",,,pref%,pref_pane% 580SYS "WimpExt_SetIconString",,,info%,7,"Mark Hobson" 590v$=STR$(prog_ver% MOD 100):SYS "WimpExt_SetIconString",,,info%,9,STR$(prog_ver% DIV100)+"."+STRING$(2-LENv$,"0")+v$+" ("+date$+")" 600SYS "WimpExt_SetIconString",,,info%,11,"(c)1993 Acorn User" 610SYS "WimpExt_ColoursMenu",0,0 TO col_menu% 620SYS "WimpExt_IconBarSprite",,,-1,"!teladdr",,3 TO bar% 630optX%=1:quit%=0:max%=0:record%=0:pos$="":pos_record%=0:req%=-1:searched%=0:failed%=0 640good_book$="AddrBook":good_search$="Searched":good_address$="Address":save_quit%=0 650pane_1%=1:pane_2%=1 660PROCpos:PROCload_prefs(1):PROCblank_record(record%):PROCdisplay(record%):PROCstore(record%) 670PROCmodified(0):trans_len%=-1 680ENDPROC 690: 700DEFPROCassemble 710FOR I%=8 TO 10 STEP 2:P%=code%:L%=code%+code_len%:[OPT I% 720 730 ; On entry - R0 = array pointer 740 ; R1 = total number of fields 750 ; 760 ; On exit - R0 = file length in bytes 770 780 .file_length STMFD R13!,{R14} 790 MOV R2,#0 800 .fl_1 MOV R3,#0 810 .fl_2 LDRB R4,[R0,R3] 820 ADD R2,R2,#1 830 ADD R3,R3,#1 840 CMP R4,#32 850 BGE fl_2 860 ADD R0,R0,#32 870 SUBS R1,R1,#1 880 BNE fl_1 890 MOV R0,R2 900 LDMFD R13!,{PC} 910 920 ; On entry - R0 = array pointer 930 ; R1 = pointers array pointer 940 ; R2 = number of records (0..n) 950 ; R3 = record length 960 970 .sort STMFD R13!,{R14} 980 MOV R2,R2,LSL#2 990 MOV R4,#0 1000 .sort_1 MLA R5,R4,R3,R0 1010 LDR R6,[R1,R4,LSL#2] 1020 MOV R9,R5 1030 MOV R10,R6 1040 CMP R5,R6 1050 BEQ sort_4 1060 STMFD R13!,{R0-R4,R8-R10} 1070 MOV R7,#0 1080 .sort_2 LDMIA R5 ,{R0-R3} 1090 LDMIA R6 ,{R4,R8-R10} 1100 STMIA R6!,{R0-R3} 1110 STMIA R5!,{R4,R8-R10} 1120 LDMIA R5 ,{R0-R3} 1130 LDMIA R6 ,{R4,R8-R10} 1140 STMIA R6!,{R0-R3} 1150 STMIA R5!,{R4,R8-R10} 1160 ADD R7,R7,#32 1170 CMP R7,#320 1180 BLE sort_2 1190 LDMFD R13!,{R0-R4,R8-R10} 1200 MOV R7,#0 1210 .sort_3 LDR R8,[R1,R7] 1220 CMP R8,R9 1230 STREQ R10,[R1,R7] 1240 ADD R7,R7,#4 1250 CMP R7,R2 1260 BLE sort_3 1270 .sort_4 ADD R4,R4,#1 1280 MOV R11,R2,LSR#2 1290 CMP R4,R11 1300 BLE sort_1 1310 LDMFD R13!,{PC} 1320 1330 ; On entry - R0 = array pointer 1340 ; R1 = number of records (0..n) 1350 ; R2 = record length 1360 ; R3 = results table pointer 1370 ; R4 = search string pointer (including wild-cards) 1380 ; R5 = search string length 1390 ; R6 = flags - bits 0-10 = field flags 1400 ; R7 = case sensitive 1410 ; 1420 ; On exit - R0 = number of strings matched (0..n) 1430 1440 .search STMFD R13!,{R14} 1450 STR R6,search_flag 1460 MOV R6,R7 1470 MOV R7,#0 1480 STR R7,search_len 1490 .search_1 MOV R8,#0 1500 .search_2 LDR R9,search_flag 1510 MOV R10,#1 1520 AND R9,R9,R10,LSL R8 1530 CMP R9,#0 1540 BEQ search_next 1550 MLA R9,R7,R2,R0 1560 ADD R9,R9,R8,LSL#5 1570 MOV R10,#0 1580 MOV R14,#0 1590 LDRB R11,[R4,R14] 1600 LDRB R12,[R9,R10] 1610 CMP R12,#32 1620 BLT search_next 1630 CMP R11,#ASC"#" 1640 BEQ search_3b 1650 CMP R11,#ASC"*" 1660 BEQ search_3x2 1670 .search_3 LDRB R12,[R9,R10] 1680 CMP R12,#32 1690 BLT search_next 1700 CMP R6,#0 1710 BNE search_3a 1720 CMP R12,#65 1730 BLT search_3a 1740 CMP R12,#90 1750 BGT search_3a 1760 ORR R12,R12,#32 1770 .search_3a CMP R11,R12 1780 BNE search_4 1790 .search_3b LDRB R11,[R4,R14] 1800 LDRB R12,[R9,R10] 1810 CMP R12,#32 1820 BLT search_next 1830 CMP R11,#ASC"#" 1840 BEQ search_3x1 1850 CMP R11,#ASC"*" 1860 BEQ search_3x2 1870 CMP R6,#0 1880 BNE search_3x 1890 CMP R12,#65 1900 BLT search_3x 1910 CMP R12,#90 1920 BGT search_3x 1930 ORR R12,R12,#32 1940 .search_3x CMP R11,R12 1950 BNE search_3c 1960 .search_3x1 ADD R10,R10,#1 1970 CMP R10,#31 1980 BEQ search_next 1990 ADD R14,R14,#1 2000 CMP R14,R5 2010 BLT search_3b 2020 .search_3x2 STR R7,[R3],#4 2030 STR R8,[R3],#4 2040 SUB R10,R10,R14 2050 ADD R10,R10,#1 2060 STR R10,[R3],#4 2070 LDR R11,search_len 2080 ADD R11,R11,#1 2090 STR R11,search_len 2100 B search_next 2110 .search_3c MOV R14,#0 2120 LDRB R11,[R4,R14] 2130 B search_3 2140 .search_4 ADD R10,R10,#1 2150 CMP R10,#31 2160 BEQ search_next 2170 B search_3 2180 .search_next ADD R8,R8,#1 2190 CMP R8,#10 2200 BLE search_2 2210 ADD R7,R7,#1 2220 CMP R7,R1 2230 BLE search_1 2240 LDR R0,search_len 2250 LDMFD R13!,{PC} 2260 2270 .search_len EQUD 0 2280 .search_flag EQUD 0 2290 2300 ; On entry - R0 = array pointer 2310 ; R1 = number of records (0..n) 2320 ; R2 = start record (0..n) 2330 ; R3 = record length 2340 2350 .insert STMFD R13!,{R14} 2360 MUL R5,R1,R3 2370 ADD R0,R0,R5 2380 .insert_1 MOV R4,#11 2390 ADD R5,R0,R3 2400 .insert_2 LDMIA R0!,{R6-R12,R14} 2410 STMIA R5!,{R6-R12,R14} 2420 SUBS R4,R4,#1 2430 BNE insert_2 2440 SUB R0,R0,R3 2450 SUB R0,R0,R3 2460 SUB R1,R1,#1 2470 CMP R1,R2 2480 BGE insert_1 2490 LDMFD R13!,{PC} 2500 2510 ; On entry - R0 = array pointer 2520 ; R1 = number of records (0..n) 2530 ; R2 = start record (0..n) 2540 ; R3 = record length 2550 2560 .delete STMFD R13!,{R14} 2570 MUL R5,R2,R3 2580 ADD R0,R0,R5 2590 .delete_1 MOV R4,#11 2600 ADD R5,R0,R3 2610 .delete_2 LDMIA R5!,{R6-R12,R14} 2620 STMIA R0!,{R6-R12,R14} 2630 SUBS R4,R4,#1 2640 BNE delete_2 2650 ADD R2,R2,#1 2660 CMP R2,R1 2670 BLT delete_1 2680 LDMFD R13!,{PC} 2690 2700 ; On entry - R0 = pointer to string 2710 2720 .cut MOV R1,#0 2730 .cut_1 LDRB R2,[R0,R1] 2740 CMP R2,#32 2750 ADDGE R1,R1,#1 2760 BGE cut_1 2770 MOV R3,#13 2780 STRB R3,[R0,R1] 2790 MOV PC,R14 2800 2810 ; On entry - R0 = pointer to string 2820 ; On exit - R0 = length of string 2830 2840 .cut2 MOV R1,#0 2850 .cut2_1 LDRB R2,[R0,R1] 2860 CMP R2,#32 2870 ADDGE R1,R1,#1 2880 BGE cut2_1 2890 MOV R3,#10 2900 STRB R3,[R0,R1] 2910 MOV R0,R1 2920 MOV PC,R14 2930 2940 ; On entry - R0 = pointer to table 2950 ; R1 = number of entries (1..n) 2960 ; 2970 ; On exit - R0 = number of actual records 2980 2990 .count_rec STMFD R13!,{R14} 3000 MVN R2,#0 3010 MOV R4,#0 3020 .count_rec_1 LDR R3,[R0],#12 3030 CMP R3,R2 3040 BNE count_rec_2 3050 MOV R2,R3 3060 SUBS R1,R1,#1 3070 BEQ count_rec_3 3080 B count_rec_1 3090 .count_rec_2 MOV R2,R3 3100 ADD R4,R4,#1 3110 SUBS R1,R1,#1 3120 BNE count_rec_1 3130 .count_rec_3 MOV R0,R4 3140 LDMFD R13!,{PC} 3150 3160]:NEXT:ENDPROC 3170: 3180DEFPROCcheck_load 3190IF chk_ld% PROCload_file(chk_ld$,0) ELSE IF load% PROCload_file(load$,0) 3200ENDPROC 3210: 3220DEFPROCbuttons(but%,a$,b$,c$,d$) 3230$but%=a$:but%+=LENa$+1:$but%=b$:but%+=LENb$+1:$but%=c$:but%+=LENc$+1:$but%=d$ 3240ENDPROC 3250: 3260DEFPROCinittask(a$):$b%="TASK" 3270SYS "Wimp_Initialise",200,!b%,a$ TO ,task_handle% 3280SYS "WimpExt_Initialise",5,task_handle%,%0111101 TO wimpext% 3290ENDPROC 3300: 3310DEFPROCdefine 3320PROCcreatemenu(m1%,"TelAddr","Info>info%,Preferences...,Save book>save_as%#E,Quit",e1) 3330PROCcreatemenu(m4%,"Misc","Info>info%,File>file_info%#E",e4) 3340PROCcreatemenu(m2%,"Save","Save book F3>save_as%#E,Save search �F3>save_as1%#E,Save address ^F3>save_as2%#E",e2) 3350PROCcreatemenu(m6%,"Search","Save>save_as1%#E,Search...,Delete",e6) 3360PROCcreatemenu(m7%,"Edit","Add before,Add after,Delete record,Clear record#L,Delete book",e7) 3370PROCcreatemenu(m8%,"Display","Toolbox,Position",e8) 3380PROCcreatemenu(m3%,"TelAddr","Misc>m4%,Save F3>m2%,Search>m6%,Edit>m7%,Display>m8%",e3) 3390PROCsub(s1%,"Goto record:",goto%,goto_val%,4) 3400ENDPROC 3410: 3420DEFPROCj(j1%,j2%,j3%):j1%!(32+(j2%*24))=j3%:ENDPROC 3430: 3440DEFPROCpoll 3450IF failed% THEN failed%=0:req%=0:SYS "WimpExt_OpenRequester",,,"Message from TelAddr","Default address book does not exist, load failed.",ok%,0 3460WHILE NOT quit% 3470 SYS "WimpExt_PrePoll" 3480 SYS "Wimp_Poll",0,b% TO reason% 3490 SYS "WimpExt_Action",task_handle%,b%,reason% TO reason% 3500 CASE reason% OF 3510 WHEN 1:PROCredraw(!b%) 3520 WHEN 2:SYS "WimpExt_OpenLinked",,b%:IF !b%=book% PROCopen_pos_pane 3530 WHEN 3:SYS "WimpExt_CloseLinked",,b%:IF !b%=book% !b%=pos%:SYS "Wimp_CloseWindow",,b% 3540 WHEN 6:PROCclick 3550 WHEN 7:PROCinit_save 3560 WHEN 8:PROCkey_pressed 3570 WHEN 9:PROCmenuselect 3580 WHEN 10:PROCscroll_req 3590 WHEN 17,18:PROCservice 3600 WHEN 19:REM SYS "OS_File",6,b%+44:req%=0:SYS "WimpExt_OpenRequester",,,"Warning from TelAddr","Data transfer failed: Receiver died",ok%,0 3610 ENDCASE 3620ENDWHILE 3630ENDPROC 3640: 3650DEFPROCservice 3660CASE b%!16 OF 3670 WHEN 0:PROCquit 3680 WHEN 1:PROCsave_ack 3690 WHEN 2:PROCdata_save 3700 WHEN 3:CASE b%!20 OF 3710 WHEN book%,-2:IF FNload_ack PROCstore(record%):PROCload_file(FNstring(b%+44),1):IF failed% THEN failed%=0:req%=0:SYS "WimpExt_OpenRequester",,,"Message from TelAddr","File does not exist, load failed.",ok%,0 3720 WHEN pref%,pref_pane%:IF FNload_ack SYS "WimpExt_SetIconString",,,pref_pane%,65,FNstring(b%+44) 3730 ENDCASE 3740 IF LEFT$(FNstring(b%+44),12)="<Wimp$Scrap>" THEN SYS "OS_File",6,FNstring(b%+44):temp%=FNload_ack 3750 WHEN 5:IF FNload_ack THEN 3760 mod_filename$=FNstring(b%+44):PROCstore(record%) 3770 IF modified%=0 THEN 3780 PROCload_file(mod_filename$,0):IF failed% THEN failed%=0:req%=0:SYS "WimpExt_OpenRequester",,,"Message from TelAddr","File does not exist, load failed.",ok%,0 3790 ELSE 3800 req%=5:SYS "WimpExt_OpenRequester",,,"Query from TelAddr","The current address book has not been saved, do you want to save it ?",save_discard_cancel%,2 3810 ENDIF 3820 ENDIF 3830 WHEN 6:PROCram_fetch 3840 WHEN &502:PROChelp 3850 WHEN &400C0:PROCmenu_warning 3860ENDCASE 3870ENDPROC 3880: 3890DEFPROCkey_pressed:w%=!b%:i%=b%!4:k%=b%!24 3900CASE TRUE OF 3910 WHEN w%=save_as% AND (i%=6 OR i%=10) AND (k%=13 OR k%=398 OR k%=399) 3920 PROCsortout_partial((i%-6)/4,save_as%,6,10) 3930 IF i%=6 SYS "WimpExt_PutCaretIcon",,,save_as%,10 ELSE SYS "WimpExt_PutCaretIcon",,,save_as%,6 3940 WHEN w%=pref_pane% AND (i%=39 OR i%=43) AND (k%=13 OR k%=398 OR k%=399) 3950 PROCsortout_partial((i%-39)/4,pref_pane%,39,43) 3960 IF i%=39 SYS "WimpExt_PutCaretIcon",,,pref_pane%,43 ELSE SYS "WimpExt_PutCaretIcon",,,pref_pane%,39 3970 WHEN (w%=book% OR w%=search%) AND (k%=387 OR k%=403 OR k%=419) 3980 CASE k% OF 3990 WHEN 387:PROCopen_save(save_as%,good_book$) 4000 WHEN 403:IF searched% PROCopen_save(save_as1%,good_search$) ELSE req%=0:SYS "WimpExt_OpenRequester",,,"Reminder from TelAddr","You cannot save the search results until you perform a search.",ok%,0 4010 WHEN 419:PROCopen_save(save_as2%,good_address$) 4020 ENDCASE 4030OTHERWISE 4040 SYS "Wimp_ProcessKey",k% 4050ENDCASE 4060ENDPROC 4070: 4080DEFPROCsortout_partial(type%,w%,i1%,i2%) 4090p1%=FNval(w%,i1%):p2%=FNval(w%,i2%) 4100IF p1%<1 p1%=1 4110IF p2%<1 p2%=1 4120IF p1%>max%+1 p1%=max%+1 4130IF p2%>max%+1 p2%=max%+1 4140IF type%=0 THEN 4150 IF p1%>p2% p1%=p2% 4160 IF p2%<p1% p2%=p1% 4170ELSE 4180 IF p2%<p1% p2%=p1% 4190 IF p1%>p2% p1%=p2% 4200ENDIF 4210SYS "WimpExt_SetNumberIcon",,,w%,i1%,p1% 4220SYS "WimpExt_SetNumberIcon",,,w%,i2%,p2% 4230ENDPROC 4240: 4250DEFPROCmenu_warning 4260mw1%=b%!20:mw2%=b%!24:mw3%=b%!28 4270CASE om% OF 4280 WHEN m1%:CASE b%!32 OF 4290 WHEN 2:PROCprepare_book 4300 ENDCASE 4310 WHEN m3%:CASE b%!32 OF 4320 WHEN 0:CASE b%!36 OF 4330 WHEN 1:PROCstore(record%):PROCcalc_file_len:IF modified% a$="Yes" ELSE a$="No" 4340 SYS "WimpExt_SetIconString",,,file_info%,7,a$ 4350 ENDCASE 4360 WHEN 1:CASE b%!36 OF 4370 WHEN 0:PROCprepare_book 4380 WHEN 1:PROCprepare_search 4390 WHEN 2:PROCprepare_address 4400 ENDCASE 4410 WHEN 2:CASE b%!36 OF 4420 WHEN 0:PROCprepare_search 4430 ENDCASE 4440 ENDCASE 4450ENDCASE 4460SYS "Wimp_CreateSubMenu",,mw1%,mw2%,mw3% 4470ENDPROC 4480: 4490DEFPROCprepare_book:save_quit%=0:filename%=FNin_addr(save_as%,0) 4500SYS "WimpExt_SetIconString",,,save_as%,0,good_book$:save_type%=1 4510PROCsortout_partial(0,save_as%,6,10) 4520ENDPROC 4530: 4540DEFPROCprepare_search:save_quit%=0:filename%=FNin_addr(save_as1%,0) 4550SYS "WimpExt_SetIconString",,,save_as1%,0,good_search$:save_type%=2 4560ENDPROC 4570: 4580DEFPROCprepare_address:save_quit%=0:filename%=FNin_addr(save_as2%,0) 4590SYS "WimpExt_SetIconString",,,save_as2%,0,good_address$:save_type%=3 4600ENDPROC 4610: 4620DEFPROCclose_down 4630IF init% SYS "WimpExt_CloseDown",task_handle%:SYS "Wimp_CloseDown" 4640END 4650ENDPROC 4660: 4670DEFPROCopen_pos_pane 4680IF pane_2% THEN 4690 x1%=b%!4:x2%=x1%+678:y1%=b%!8-4:y2%=y1%-84 4700 p%=b%!28:!b2%=pos%:SYS "Wimp_GetWindowInfo",,b2% 4710 b2%!4=x1%:b2%!8=y2%:b2%!12=x2%:b2%!16=y1%:b2%!28=p% 4720 SYS "Wimp_OpenWindow",,b2%:b%!28=pos% 4730ENDIF 4740ENDPROC 4750: 4760DEFPROCopen_window(!b%):SYS "Wimp_GetWindowState",,b%:b%!28=-1 4770SYS "WimpExt_CentreWindow",,b%+4 4780SYS "WimpExt_OpenLinked",,b%:IF !b%=book% PROCopen_pos_pane 4790ENDPROC 4800: 4810DEFPROCopen(!b%):SYS "Wimp_GetWindowState",,b% 4820SYS "WimpExt_OpenLinked",,b%:IF !b%=book% PROCopen_pos_pane 4830ENDPROC 4840: 4850DEFPROCopen_at(!b%,x%,y%):SYS "Wimp_GetWindowState",,b% 4860w%=b%!12-b%!4:h%=b%!16-b%!8:b%!4=x%:b%!8=y%-h%:b%!12=x%+w%:b%!16=y% 4870SYS "WimpExt_OpenLinked",,b%:ENDPROC 4880: 4890DEFPROCclose_window(!b%):SYS "WimpExt_CloseLinked",,b% 4900IF !b%=book% !b%=pos%:SYS "Wimp_CloseWindow",,b% 4910IF !b%=list% searched%=0 4920ENDPROC 4930: 4940DEFPROCdelete_book 4950PROCblank_record(0):record%=0:max%=0:PROCdisplay(record%):PROCpos 4960SYS "WimpExt_PutCaretIcon",,,book%,9 4970PROCclose_window(list%):PROCmodified(1) 4980ENDPROC 4990: 5000DEFPROCclick 5010x%=b%!0:y%=b%!4:c%=b%!8:w%=b%!12:i%=b%!16 5020SYS "XWimpExt_SlabIcon",,,w%,i%,0 5030CASE w% OF 5040 WHEN -3:CASE req% OF 5050 WHEN -1:IF i%=1 quit%=-1 5060 WHEN 0:REM 'OK' click from a reminder requester 5070 WHEN 1:IF i%=0 PROCdelete_record(record%,1) 5080 WHEN 2:IF i%=0 PROCdelete_book 5090 WHEN 3:IF i%=0 PROCdelete_searched 5100 WHEN 4:CASE i% OF 5110 WHEN 0:SYS "WimpExt_SetIconString",,,save_as%,0,good_book$:save_type%=1:SYS "WimpExt_OpenDialogue",,,save_as%,148,70:save_quit%=1 5120 WHEN 1:quit%=-1:PROCmodified(0) 5130 ENDCASE 5140 WHEN 5:CASE i% OF 5150 WHEN 0:SYS "WimpExt_SetIconString",,,save_as%,0,good_book$:save_type%=1:SYS "WimpExt_OpenDialogue",,,save_as%,148,70 5160 WHEN 1:PROCload_file(mod_filename$,0) 5170 ENDCASE 5180 WHEN 6:IF i%=0 PROCblank_record(record%):PROCdisplay(record%):IF FNopen(book%) SYS "WimpExt_PutCaretIcon",,,book%,9 5190 ENDCASE 5200 WHEN -2:CASE c% OF 5210 WHEN 4:PROCopen_window(book%):SYS "WimpExt_PutCaretIcon",,,book%,9 5220 WHEN 2:PROCmenu(m1%,x%,y%,TRUE,e1) 5230 ENDCASE 5240 WHEN save_as%,save_as1%,save_as2% 5250 CASE TRUE OF 5260 WHEN i%=1 AND (c% AND &50)>0:SYS "WimpExt_GetIcon",,,w%,3 TO ascii% 5270 IF ascii% ft%=&FFF ELSE ft%=tel_ft% 5280 SYS "WimpExt_DragIcon",%10000101,1,w%,1,"file_"+STR$~ft% 5290 WHEN i%=2 AND (c% AND 5)>0:PROCquick_save 5300 WHEN i%=3 AND (c%=4 OR c%=1):SYS "WimpExt_SetIcon",,,w%,1,FNon(w%,1) EOR 1 5310 ENDCASE 5320 CASE w% OF 5330 WHEN save_as2%:CASE i% OF 5340 WHEN 3:PROCsave2_size 5350 ENDCASE 5360 WHEN save_as%:CASE i% OF 5370 WHEN 4:PROCsave_size 5380 WHEN 7:SYS "WimpExt_DecNumberIcon",,,save_as%,6,1,1 5390 WHEN 8:SYS "WimpExt_IncNumberIcon",,,save_as%,6,FNval(save_as%,10),1 5400 WHEN 11:SYS "WimpExt_DecNumberIcon",,,save_as%,10,FNval(save_as%,6),1 5410 WHEN 12:SYS "WimpExt_IncNumberIcon",,,save_as%,10,max%+1,1 5420 ENDCASE 5430 ENDCASE 5440 WHEN tools% 5450 CASE i% OF 5460 WHEN 0:PROCclose_window(list%):PROCopen_window(search%):SYS "WimpExt_PutCaretIcon",,,search%,6 5470 WHEN 1:PROCsort 5480 WHEN 2:PROCinsert_record(record%,pf_add%) 5490 WHEN 3:IF FNbit(pf_confirm%,1) THEN req%=1:SYS "WimpExt_OpenRequester",,,"Query from TelAddr","Delete record, are you sure ?",ok_cancel%,1 ELSE PROCdelete_record(record%,1) 5500 ENDCASE 5510 WHEN pos% 5520 CASE i% OF 5530 WHEN 0:PROCshow(0) 5540 WHEN 1:REPEAT:record%-=1:UNTIL ((record%+1)MOD5)=0:PROCshow(record%) 5550 WHEN 2:PROCshow(record%-1) 5560 WHEN 3:PROCshow(record%+1) 5570 WHEN 4:REPEAT:record%+=1:UNTIL ((record%+1)MOD5)=0:PROCshow(record%) 5580 WHEN 5:PROCshow(max%) 5590 WHEN 7:$goto%="":PROCmenu_opt(pos%,7,s1%,1) 5600 ENDCASE 5610 WHEN book%:IF c%=2 PROCmenu(m3%,x%,y%,FALSE,e3) 5620 WHEN search% 5630 CASE i% OF 5640 WHEN 18:PROCclose_window(search%) 5650 WHEN 17:PROCsearch 5660 ENDCASE 5670 WHEN list% 5680 CASE i% OF 5690 WHEN 1:PROCclose_window(list%) 5700 WHEN 2:PROCclose_window(list%):PROCopen_window(search%):SYS "WimpExt_PutCaretIcon",,,search%,6 5710 WHEN 3:IF FNbit(pf_confirm%,2) THEN req%=3:SYS "WimpExt_OpenRequester",,,"Query from TelAddr","Are you sure that you want to delete all records matched by the last search ?",ok_cancel%,1 ELSE PROCdelete_searched 5720 WHEN 4:PROCopen_save(save_as1%,good_search$) 5730 WHEN 5:PROCclose_window(list%):PROCsearch 5740 ENDCASE 5750 WHEN list_pane% 5760 CASE c% OF 5770 WHEN 2:PROCmenu(m3%,x%,y%,FALSE,e3) 5780 OTHERWISE 5790 PROCstore(record%) 5800 !b%=list_pane%:SYS "Wimp_GetWindowState",,b%:y%-=b%!16-b%!24 5810 old_search_sel%=search_sel%:search_sel%=ABS(y% DIV 48) 5820 IF search_sel%>search_len% search_sel%=search_len% 5830 SYS "Wimp_GetWindowInfo",,b%:b%!4=b%!44:b%!8=b%!48:b%!12=b%!52:b%!16=b%!56 5840 SYS "Wimp_UpdateWindow",,b% TO flag% 5850 PROCget_coords 5860 WHILE flag% 5870 PROCredraw_list 5880 SYS "Wimp_GetRectangle",,b% TO flag% 5890 ENDWHILE 5900 record%=table%!(search_sel%*12) 5910 IF record%>max% record%=max% 5920 PROCdisplay(record%):IF FNopen(book%) SYS "WimpExt_PutCaretIcon",,,book%,(table%!((search_sel%*12)+4))+9 5930 PROCpos:different%=0 5940 ENDCASE 5950 WHEN pref%:CASE i% OF 5960 WHEN 1:PROCok_prefs:PROCclose_window(pref%) 5970 WHEN 2:PROCclose_window(pref%):PROCcancel_prefs 5980 WHEN 3:PROCdefault_prefs 5990 WHEN 4:PROCsave_prefs:PROCok_prefs:PROCclose_window(pref%) 6000 WHEN 5:PROCload_prefs(0) 6010 ENDCASE 6020 WHEN pref_pane%:CASE i% OF 6030 WHEN 37:on%=FNon(pref_pane%,37) EOR 1 6040 FOR I%=39 TO 45 6050 IF I%<>42 SYS "WimpExt_ShadeIcon",,,pref_pane%,I%,on% 6060 NEXT 6070 WHEN 40:SYS "WimpExt_DecNumberIcon",,,pref_pane%,39,1,1 6080 WHEN 41:SYS "WimpExt_IncNumberIcon",,,pref_pane%,39,FNval(pref_pane%,43),1 6090 WHEN 44:SYS "WimpExt_DecNumberIcon",,,pref_pane%,43,FNval(pref_pane%,39),1 6100 WHEN 45:SYS "WimpExt_IncNumberIcon",,,pref_pane%,43,max%+1,1 6110 WHEN 52,53:SYS "WimpExt_ShadeIcon",,,pref_pane%,54,ABS(i%=52):SYS "WimpExt_ShadeIcon",,,pref_pane%,74,ABS(i%=52) 6120 WHEN 57:FOR I%=58 TO 59:SYS "WimpExt_ShadeIcon",,,pref_pane%,I%,FNon(pref_pane%,57) EOR 1:NEXT 6130 WHEN 59:J%=FNbg_col(pref_pane%,58):FOR I%=0 TO 15:SYS "WimpExt_TickEntry",,col_menu%,I%,ABS(I%=J%):NEXT 6140 PROCmenu_opt(pref_pane%,59,col_menu%,16) 6150 WHEN 63:FOR I%=64 TO 65:SYS "WimpExt_ShadeIcon",,,pref_pane%,I%,FNon(pref_pane%,63) EOR 1:NEXT 6160 WHEN 72:SYS "WimpExt_ShadeIcon",,,pref_pane%,73,FNon(pref_pane%,72) EOR 1 6170 ENDCASE 6180ENDCASE 6190ENDPROC 6200: 6210DEFPROCsave2_size:open%=FNopen(save_as2%) 6220IF FNon(save_as2%,3) THEN wy%=-396 ELSE wy%=-276 6230!b%=save_as2%:SYS "Wimp_GetWindowInfo",,b% 6240IF open% b%!8=b%!16+wy%:SYS "Wimp_OpenWindow",,b% 6250ENDPROC 6260: 6270DEFPROCsave_size:open%=FNopen(save_as%) 6280IF FNon(save_as%,4) THEN wy%=-488 ELSE wy%=-332 6290!b%=save_as%:SYS "Wimp_GetWindowInfo",,b% 6300IF open% b%!8=b%!16+wy%:SYS "Wimp_OpenWindow",,b% 6310ENDPROC 6320: 6330DEFPROCopen_save(w%,s$) 6340filename%=FNin_addr(w%,0) 6350SYS "WimpExt_SetIconString",,,w%,0,s$ 6360CASE w% OF 6370 WHEN save_as%:save_type%=1 6380 WHEN save_as1%:save_type%=2 6390 WHEN save_as2%:save_type%=3 6400ENDCASE 6410save_quit%=0 6420PROCstore(record%) 6430SYS "WimpExt_OpenDialogue",,,w%,156,70 6440ENDPROC 6450: 6460DEFPROCmenu_opt(w%,i%,m%,e) 6470!b%=w%:SYS "Wimp_GetWindowState",,b% 6480minx%=b%!4-b%!20:miny%=b%!16-b%!24:!b%=w%:b%!4=i% 6490SYS "Wimp_GetIconState",,b%:x%=minx%+b%!16:y%=miny%+b%!12+(13*4) 6500SYS "Wimp_CreateMenu",,m%,x%,y% 6510om%=m%:oe=e:ENDPROC 6520: 6530DEFPROCmenu(m%,x%,y%,ib%,e) 6540PROCstore(record%) 6550SYS "WimpExt_ShadeEntry",,m2%,1,searched% EOR 1 6560SYS "WimpExt_ShadeEntry",,m6%,0,searched% EOR 1 6570SYS "WimpExt_ShadeEntry",,m6%,2,searched% EOR 1 6580SYS "WimpExt_TickEntry",,m8%,0,pane_1% 6590SYS "WimpExt_TickEntry",,m8%,1,pane_2% 6600SYS "WimpExt_SetIconStringN",,,file_info%,1,good_book$ 6610SYS "WimpExt_SetNumberIcon",,,file_info%,3,max%+1 6620J%=FNbg_col(pref_pane%,58):FOR I%=0 TO 15:SYS "WimpExt_TickEntry",,col_menu%,I%,ABS(I%=J%):NEXT 6630IF ib% y2%=96+e*44:x2%=x%-64 ELSE y2%=y%:x2%=x%-32-(16*optX%) 6640SYS "Wimp_CreateMenu",,m%,x2%,y2% 6650om%=m%:oe=e:ENDPROC 6660: 6670DEFPROCcalc_file_len 6680len%=FNfile_len 6690IF len%>=4096 len$=STR$(len% DIV 1024)+"k" ELSE len$=STR$len%+" bytes" 6700SYS "WimpExt_SetIconString",,,file_info%,5,len$ 6710ENDPROC 6720: 6730DEFFNfile_len 6740A%=tab%:B%=(max%+1)*11:len%=USR(file_length) 6750len%+=14+LENSTR$(max%+1):=len% 6760: 6770DEFPROCmenuselect 6780CASE om% OF 6790 WHEN m1%:CASE !b% OF 6800 WHEN 1:PROCremember_prefs:PROCscroll_top(pref_pane%):PROCopen_window(pref%) 6810 WHEN 2:PROCprepare_book:PROCquick_save 6820 WHEN 3:PROCquit 6830 ENDCASE 6840 WHEN s1%:CASE !b% OF 6850 WHEN 0:PROCshow(VAL($goto%)-1) 6860 ENDCASE 6870 WHEN m3%:CASE !b% OF 6880 WHEN 1:CASE b%!4 OF 6890 WHEN -1,0:PROCprepare_book:PROCquick_save 6900 WHEN 1:PROCprepare_search:PROCquick_save 6910 WHEN 2:PROCprepare_address:PROCquick_save 6920 ENDCASE 6930 WHEN 2:CASE b%!4 OF 6940 WHEN 0:PROCprepare_search:PROCquick_save 6950 WHEN 1:PROCclose_window(list%):PROCopen_window(search%):SYS "WimpExt_PutCaretIcon",,,search%,6 6960 WHEN 2:IF FNbit(pf_confirm%,2) THEN req%=3:SYS "WimpExt_OpenRequester",,,"Query from TelAddr","Are you sure that you want to delete all records matched by the last search ?",ok_cancel%,1 ELSE PROCdelete_search 6970 ENDCASE 6980 WHEN 3:CASE b%!4 OF 6990 WHEN 0:PROCinsert_record(record%,0) 7000 WHEN 1:PROCinsert_record(record%,1) 7010 WHEN 2:IF FNbit(pf_confirm%,1) THEN req%=1:SYS "WimpExt_OpenRequester",,,"Query from TelAddr","Delete record, are you sure ?",ok_cancel%,1 ELSE PROCdelete_record(record%,1) 7020 WHEN 3:IF FNbit(pf_confirm%,0) THEN req%=6:SYS "WimpExt_OpenRequester",,,"Query from TelAddr","Clear record, are you sure ?",ok_cancel%,1 ELSE PROCblank_record(record%):PROCdisplay(record%):IF FNopen(book%) SYS "WimpExt_PutCaretIcon",,,book%,9 7030 WHEN 4:IF FNbit(pf_confirm%,3) THEN req%=2:SYS "WimpExt_OpenRequester",,,"Query from TelAddr","Are you sure that you want to delete the whole address book ?",ok_cancel%,1 ELSE PROCdelete_book 7040 ENDCASE 7050 WHEN 4:CASE b%!4 OF 7060 WHEN 0:pane_1%=pane_1% EOR 1 7070 IF pane_1% SYS "WimpExt_UnHideLink",book%,,tools%:PROCopen(book%) ELSE SYS "WimpExt_HideLink",book%,,tools%:PROCclose_window(tools%) 7080 SYS "WimpExt_SetIcon",,,pref_pane%,68,pane_1% 7090 WHEN 1:pane_2%=pane_2% EOR 1 7100 IF pane_2% PROCopen(book%) ELSE PROCclose_window(pos%) 7110 SYS "WimpExt_SetIcon",,,pref_pane%,69,pane_2% 7120 ENDCASE 7130 ENDCASE 7140 WHEN col_menu%:SYS "WimpExt_SetIconColour",,,pref_pane%,58,-1,!b% 7150ENDCASE 7160IF NOT quit% THEN 7170 SYS "Wimp_GetPointerInfo",,b%:IF b%!8=1 THEN PROCmenu(om%,x%,y%,ib%,oe) 7180ENDIF 7190ENDPROC 7200: 7210DEFPROCquit:quit%=-1 7220IF modified% THEN req%=4:quit%=0:SYS "WimpExt_OpenRequester",,,"Query from TelAddr","The current address book has not been saved.",save_discard_cancel%,2 7230ENDPROC 7240: 7250DEFFNon(w%,i%):!b%=w%:b%!4=i%:SYS "Wimp_GetIconState",,b% 7260IF (b%!24 AND 1<<21)>0 =1 ELSE =0 7270: 7280DEFFNbg_col(w%,i%):!b%=w%:b%!4=i%:SYS "Wimp_GetIconState",,b% 7290=(b%!24 AND %1111<<28)>>>28 7300: 7310DEFPROCradio(w%,i1%,i2%,i%):FOR I%=i1% TO i2% 7320SYS "WimpExt_SetIcon",,,w%,I%,ABS(I%=i%):NEXT:ENDPROC 7330: 7340DEFFNwhich(w%,i1%,i2%):i%=-1:FORI=i1% TO i2% 7350IF FNon(w%,I)=1 i%=I 7360NEXT:=i% 7370: 7380DEFFNerror(a$):$b%=" "+a$+CHR$0:SYS "Wimp_ReportError",b%,%11,name2$ TO ,result%:IF result%=1 THEN =1 ELSE =0 7390: 7400DEFPROCerror(a$):$b%=" "+a$+CHR$0:SYS "Wimp_ReportError",b%,%1,name2$:ENDPROC 7410: 7420DEFPROCredraw(!b%) 7430SYS "Wimp_RedrawWindow",,b% TO flag% 7440PROCget_coords 7450WHILE flag% 7460 IF !b%=list_pane% PROCredraw_list ELSE SYS "WimpExt_Redraw",,b% 7470 SYS "Wimp_GetRectangle",,b% TO flag% 7480ENDWHILE 7490ENDPROC 7500: 7510DEFPROCget_coords:xo%=6+b%!4-b%!20:yo%=-12+b%!16-b%!24:ENDPROC 7520: 7530DEFPROCgetorg:xo%=b%!4-b%!20:yo%=b%!16-b%!24 7540xo%+=16:yo%-=84:yo2%=yo%+20:ENDPROC 7550: 7560DEFFNopen(w%):SYS "WimpExt_CheckWindowOpen",w% TO open%:=open% 7570: 7580DEFPROCcreatemenu(m%,title$,t$,RETURN e):$m%=title$:t$+=",":m%!12=&70207:m%!20=44:m%!24=0:e=0:w%=0:c%=m%+28:WHILE t$<>"":IF t$<>"" THEN 7590i$=LEFT$(t$,INSTR(t$,",")-1):s%=0:f%=&7000021:sm%=-1 7600IF INSTR(i$,"#")>0 THEN 7610 e$=MID$(i$,INSTR(i$,"#")+1):FORI=1 TO LENe$:l$=MID$(e$,I,1):CASE TRUE OF 7620 WHEN l$="E":s%=s% OR 1<<3 7630 WHEN l$="T":s%=s% OR 1<<0 7640 WHEN l$="S":f%=f% OR 1<<22 7650 WHEN l$="L":s%=s% OR 1<<1:e+=.56 7660 WHEN l$="F" OR l$="B":l%=VAL(MID$(e$,I+1,2)):I+=2:IF l$="F" f2%=24 ELSE f2%=28 7670 f%=f% AND (15<<f2% EOR -1):f%=f% OR l%<<f2% 7680 ENDCASE 7690 NEXT:i$=LEFT$(i$,INSTR(i$,"#")-1) 7700ENDIF 7710a=INSTR(i$,">"):IF a>0 AND MID$(i$,a+1,1)<>">" THEN 7720 sm%=EVAL(MID$(i$,a+1,INSTR(i$,"%",a+1)-a)):i$=LEFT$(i$,a-1) 7730ENDIF 7740a=INSTR(i$,">"):IF a>0 AND MID$(i$,a+1,1)=">" THEN i$=LEFT$(i$,)+RIGHT$(i$,LEN(i$)-a-1) 7750t$=MID$(t$,INSTR(t$,",")+1):IF LEN(i$)>w% w%=LEN(i$) 7760!c%=s%:c%!4=sm%:c%!8=f%:IF LEN(i$)<=12 $(c%+12)=i$:c%+=24 ELSE c%!8=f% OR 1<<8:$(menu%+menu_pos%)=i$:c%!12=menu%+menu_pos%:c%!16=val%:c%!20=LEN(i$):menu_pos%+=LEN(i$)+1:c%+=24 7770ENDIF 7780e+=1 7790ENDWHILE 7800IF w%<=LENtitle$ w%=LENtitle$ 7810m%!16=(w%+1)*16:c%!-24=c%!-24 OR &80:ENDPROC 7820: 7830DEFPROCsub(mb%,a$,mc%,v%,bl%) 7840w%=bl%*16:IF LENa$>=bl% w%=(LENa$+1)*16 7850$mb%=a$:mb%!12=&70207:mb%!16=w%:mb%!20=44:mb%!24=0 7860mb%!28=&84:mb%!32=-1:mb%!36=&7000121:mb%!40=mc%:mb%!44=v%:mb%!48=bl% 7870ENDPROC 7880: 7890DEFPROCquick_save 7900filename$=FNstring(filename%) 7910IF INSTR(filename$,".") THEN 7920 PROCsave_it(filename$) 7930 CASE save_type% OF 7940 WHEN 1:good_book$=filename$ 7950 WHEN 2:good_search$=filename$ 7960 WHEN 3:good_address$=filename$ 7970 ENDCASE 7980 SYS "Wimp_CreateMenu",,-1 7990ELSE 8000 req%=0:SYS "WimpExt_OpenRequester",,,"Reminder from TelAddr","To save, drag the icon to a directory viewer",ok%,0 8010ENDIF 8020ENDPROC 8030: 8040DEFPROCsave_it(filename$) 8050CASE save_type% OF 8060 WHEN 1:w%=save_as% 8070 WHEN 2:w%=save_as1% 8080 WHEN 3:w%=save_as2% 8090ENDCASE 8100IF save_type%=1 SYS "WimpExt_GetIcon",,,w%,4 TO partial%:IF partial% PROCsortout_partial(0,save_as%,6,10):SYS "WimpExt_GetNumberIcon",,,w%,6 TO p1%:SYS "WimpExt_GetNumberIcon",,,w%,10 TO p2%:p1%-=1:p2%-=1 ELSE p1%=0:p2%=max% 8110IF save_type%=3 SYS "WimpExt_GetIcon",,,w%,4 TO tel% 8120SYS "WimpExt_GetIcon",,,w%,3 TO ascii% 8130comma%=0:IF save_type%=3 SYS "WimpExt_GetIcon",,,w%,5 TO comma% 8140CASE save_type% OF 8150 WHEN 1:PROCsave_book(filename$,p1%,p2%,1,comma%) 8160 WHEN 2:PROCsave_search(filename$) 8170 WHEN 3:IF ascii%=0 tel%=1 8180 PROCsave_book(filename$,record%,record%,tel%,comma%) 8190ENDCASE 8200ENDPROC 8210: 8220DEFPROCsave_book(filename$,from%,to%,tel%,comma%) 8230SYS "Hourglass_On" 8240IF tel%=0 max_field%=7 ELSE max_field%=10 8250f%=OPENOUT filename$ 8260IF ascii%=0 THEN BPUT#f%,"TelAddr("+STR$file_ver%+","+STR$((to%-from%)+1)+")" 8270FOR rec%=from% TO to% 8280 IF to%-from%>0 SYS "Hourglass_Percentage",INT((rec%/(to%-from%))*100) 8290 tab_pos%=tab%+(rec%*rec_len%) 8300 FOR field%=0 TO max_field% 8310 IF ascii%=0 OR (ascii%=1 AND ?tab_pos%>=32) THEN 8320 $b3%=$tab_pos%:A%=b3%:CALL cut:a$=$b3% 8330 IF comma% THEN 8340 fd%=field%:IF fd%<7 THEN 8350 com%=0:FOR J%=fd%+1 TO 7:IF tab_pos%?(J%*32)>=32 com%=1 8360 NEXT 8370 ELSE com%=0 8380 ENDIF 8390 IF fd%<=7 AND a$<>"" THEN 8400 IF com% a$+="," ELSE a$+="." 8410 ENDIF 8420 ENDIF 8430 $b2%=a$:A%=b2%:CALL cut:BPUT#f%,$b2% 8440 ENDIF 8450 IF ascii% AND field%=7 AND tel%=1 BPUT#f%,"" 8460 tab_pos%+=32 8470 NEXT 8480 IF ascii% AND rec%<to% BPUT#f%,"" 8490NEXT 8500CLOSE #f% 8510IF ascii% ft%=&FFF ELSE ft%=tel_ft% 8520SYS "OS_File",18,filename$,ft% 8530SYS "Hourglass_Off":PROCmodified(0):IF save_quit% THEN quit%=-1 8540ENDPROC 8550: 8560DEFPROCsave_search(filename$):old_rec%=-1 8570SYS "Hourglass_On" 8580A%=table%:B%=search_len%+1:number%=USR(count_rec) 8590f%=OPENOUT filename$ 8600IF ascii%=0 THEN BPUT#f%,"TelAddr("+STR$file_ver%+","+STR$(number%)+")" 8610FOR table_pos%=0 TO search_len% 8620 IF search_len%>0 SYS "Hourglass_Percentage",INT((table_pos%/search_len%)*100) 8630 rec%=table%!(table_pos%*12) 8640 IF rec%<>old_rec% THEN 8650 tab_pos%=tab%+(rec%*rec_len%) 8660 FOR field%=0 TO 10 8670 IF field%=8 AND ascii%=1 BPUT#f%,"" 8680 IF ascii%=0 OR (ascii%=1 AND ?tab_pos%>=32) $b2%=$tab_pos%:A%=b2%:CALL cut:BPUT#f%,$b2% 8690 tab_pos%+=32 8700 NEXT 8710 IF ascii% AND table_pos%<search_len% BPUT#f%,"" 8720 ENDIF 8730 old_rec%=rec% 8740NEXT 8750CLOSE #f% 8760IF ascii% ft%=&FFF ELSE ft%=tel_ft% 8770SYS "OS_File",18,filename$,ft% 8780SYS "Hourglass_Off" 8790ENDPROC 8800: 8810DEFPROCinit_save 8820leaf$=FNleaf(FNstring(filename%)) 8830SYS "Wimp_GetPointerInfo",,b% 8840IF b%!12<>save_as% AND b%!12<>save_as1% AND b%!12<>save_as2% THEN 8850 b%!20=b%!12:b%!24=b%!16:b%!28=!b%:b%!32=b%!4:b%!36=FNfile_len+1 8860 !b%=(3+44+LEN(leaf$+CHR$0))AND&FFFFFFFC:b%!12=0:b%!16=1 8870 b%!40=tel_ft%:$(b%+44)=leaf$+CHR$0:SYS "Wimp_SendMessage",18,b%,b%!20,b%!24 8880 myref%=b%!8:trans_len%=-1:st1_rec%=0 8890ENDIF 8900ENDPROC 8910: 8920DEFPROCdata_save 8930filename$=FNstring(b%+44) 8940PROCsave_it(filename$) 8950CASE save_type% OF 8960 WHEN 1:good_book$=filename$ 8970 WHEN 2:good_search$=filename$ 8980 WHEN 3:good_address$=filename$ 8990ENDCASE 9000SYS "Wimp_CreateMenu",,-1 9010b%!12=b%!8:b%!16=3:!b%=256:SYS "Wimp_SendMessage",18,b%,b%!20,b%!24 9020ENDPROC 9030: 9040DEFFNstring(a%):a$="":WHILE ?a%>=32:a$+=CHR$?a%:a%+=1:ENDWHILE:=a$ 9050: 9060DEFPROCstr(a%,a2%,RETURN len%):len%=0:WHILE ?a%>=32:?a2%=?a%:a%+=1:a2%+=1:len%+=1:ENDWHILE:?a2%=10:len%+=1:ENDPROC 9070: 9080DEFFNleaf($b%):SYS "WimpExt_FindLeaf",b% TO a%:=$a% 9090: 9100DEFFNin(w%,i%):!b2%=w%:b2%!4=i%:SYS "Wimp_GetIconState",,b2%:=$(b2%!28) 9110: 9120DEFFNin_addr(w%,i%):!b%=w%:b%!4=i%:SYS "Wimp_GetIconState",,b%:=b%!28 9130: 9140DEFFNval(w%,i%)=VAL(FNin(w%,i%)) 9150: 9160DEFPROCpos 9170p$=STR$(record%+1)+"/"+STR$(max%+1) 9180IF p$<>pos$ SYS "WimpExt_SetIconString",,,pos%,6,p$:pos$=p$:pos_record%=record% 9190ENDPROC 9200: 9210DEFPROCshow(rec%) 9220PROCstore(pos_record%) 9230IF rec%<0 rec%=0 9240IF rec%>max% rec%=max% 9250record%=rec% 9260PROCpos 9270PROCdisplay(record%) 9280ENDPROC 9290: 9300DEFPROCdisplay(rec%) 9310tab_pos%=tab%+(rec%*rec_len%) 9320FOR field%=0 TO 10 9330 SYS "WimpExt_SetIconString",,,book%,field%+9,tab_pos% 9340 tab_pos%+=32 9350NEXT 9360ENDPROC 9370: 9380DEFPROCstore(rec%) 9390tab_pos%=tab%+(rec%*rec_len%) 9400FOR field%=0 TO 10 9410 IF $tab_pos%<>FNin(book%,field%+9) THEN PROCmodified(1) 9420 $tab_pos%=FNin(book%,field%+9) 9430 tab_pos%+=32 9440NEXT 9450ENDPROC 9460: 9470DEFPROCblank_record(rec%) 9480tab_pos%=tab%+(rec%*rec_len%) 9490FOR field%=0 TO 10 9500 ?tab_pos%=13 9510 tab_pos%+=32 9520NEXT:PROCmodified(1) 9530IF country% THEN $(tab%+(rec%*rec_len%)+(6*32))=country$ 9540ENDPROC 9550: 9560DEFPROCinsert_record(r%,type%) 9570PROCstore(pos_record%) 9580rec%=r% 9590IF max%=total_max%-1 req%=0:SYS "WimpExt_OpenRequester",,,"Reminder from TelAddr","The maximum number of records has been reached ("+STR$total_max%+"), no more can be created.",ok%,0:ENDPROC 9600PROCclose_window(list%) 9610IF rec%<max% THEN A%=tab%:B%=max%:C%=rec%+type%:D%=rec_len%:CALL insert 9620record%+=type%:max%+=1:PROCmodified(1) 9630PROCblank_record(record%) 9640PROCdisplay(record%) 9650PROCpos:IF FNopen(book%) SYS "WimpExt_PutCaretIcon",,,book%,9 9660ENDPROC 9670: 9680DEFPROCdelete_record(rec%,show%) 9690IF max%=0 ENDPROC 9700PROCclose_window(list%) 9710IF rec%<max% THEN A%=tab%:B%=max%:C%=rec%:D%=rec_len%:CALL delete 9720max%-=1:PROCmodified(1) 9730IF record%>max% record%=max% 9740IF show% PROCdisplay(record%):PROCpos:IF FNopen(book%) SYS "WimpExt_PutCaretIcon",,,book%,9 9750ENDPROC 9760: 9770DEFFNload_ack 9780IF b%!40<>tel_ft% THEN =0 9790b%!12=b%!8:b%!16=4:SYS "Wimp_SendMessage",17,b%,b%!4 9800=1 9810: 9820DEFPROCsave_ack 9830IF b%!40<>tel_ft% THEN ENDPROC 9840$(b%+44)="<Wimp$Scrap>"+CHR$0 9850b%!12=b%!8:b%!16=2:SYS "Wimp_SendMessage",17,b%,b%!4 9860ENDPROC 9870: 9880DEFFNblank(r%):blank%=1:FOR I%=0 TO 10:IF ?(tab%+(r%*rec_len%)+(I%*32))>=32 blank%=0 9890NEXT:=blank% 9900: 9910DEFPROCload_file(fn$,merge%):old_max%=max% 9920f%=OPENUP fn$:IF f%=0 failed%=1:ENDPROC 9930info$=GET$#f% 9940IF MID$(info$,1,INSTR(info$,"(")-1)<>"TelAddr" OR INSTR(info$,"(")=0 req%=0:SYS "WimpExt_OpenRequester",,,"Error from TelAddr","This file is not in the TelAddr format, load failed.",ok%,0:CLOSE#f%:ENDPROC 9950p_v%=VALMID$(info$,9,3):rec%=VALMID$(info$,13,INSTR(info$,")")-13) 9960IF p_v%>file_ver% req%=0:SYS "WimpExt_OpenRequester",,,"Error from TelAddr","This file was created by a higher version of TelAddr, load failed.",ok%,0:CLOSE#f%:ENDPROC 9970IF rec%>total_max% req%=0:SYS "WimpExt_OpenRequester",,,"Error from TelAddr","This file contains more records that TelAddr can handle, load failed.",ok%,0:CLOSE#f%:ENDPROC 9980IF merge% THEN 9990 IF FNblank(record%) AND rec%=1 AND pf_merge%=0 THEN start%=record%:end%=record% ELSE IF FNblank(max%) THEN start%=max%:end%=start%+rec%-1:max%+=rec%-1 ELSE start%=max%+1:end%=start%+rec%-1:max%+=rec% 10000ELSE 10010 start%=0:end%=rec%-1:max%=end% 10020ENDIF 10030IF max%>total_max%-1 req%=0:max%=old_max%:SYS "WimpExt_OpenRequester",,,"Error from TelAddr","By merging these two files, the result would be more records that TelAddr can handle, merge failed.",ok%,0:CLOSE#f%:ENDPROC 10040SYS "Hourglass_On" 10050FOR rec%=start% TO end% 10060 IF max%-start%>0 SYS "Hourglass_Percentage",INT(((rec%-start%)/(max%-start%))*100) 10070 tab_pos%=tab%+(rec%*rec_len%) 10080 FOR field%=0 TO 10 10090 $tab_pos%=LEFT$(GET$#f%,31) 10100 tab_pos%+=32 10110 NEXT 10120NEXT 10130CLOSE#f% 10140SYS "Hourglass_Off" 10150record%=start%:PROCdisplay(record%):PROCpos:IF FNopen(book%)=0 PROCopen_window(book%):SYS "WimpExt_PutCaretIcon",,,book%,9 10160IF merge%=0 good_book$=fn$ 10170PROCmodified(merge%):PROCclose_window(list%) 10180ENDPROC 10190: 10200DEFPROCsort 10210PROCstore(record%) 10220SYS "Hourglass_On" 10230FOR I%=0 TO max% 10240 pointers%!(I%*4)=tab%+(I%*rec_len%) 10250NEXT 10260SYS "OS_HeapSort",max%+1,pointers%,4,,tab%,rec_len% 10270A%=tab%:B%=pointers%:C%=max%:D%=rec_len%:CALL sort 10280PROCdisplay(record%) 10290SYS "Hourglass_Off":PROCmodified(1):PROCclose_window(list%) 10300ENDPROC 10310: 10320DEFPROCredraw_list:y_top%=0 10330top%=(yo%-b%!40) DIV 48:IF top%<0 top%=0 10340base%=(60+yo%-b%!32) DIV 48 10350SYS "Wimp_SetColour",7 10360LINE xo%+(4*16)-10,yo%-(top%*48)+12,xo%+(4*16)-10,yo%-(base%*48) 10370i%=top%:WHILE i%<=search_len% AND i%<=base% 10380 col%=0:IF i%=search_sel% THEN 10390 col%=2:y_top%=0 10400 ELSE 10410 IF i%=old_search_sel% THEN 10420 col%=1 10430 IF old_search_sel%=search_sel%+1 THEN y_top%=-4 10440 ENDIF 10450 ENDIF 10460 IF col%>0 SYS "Wimp_SetColour",col%:RECTANGLE FILL xo%-6,yo%-(i%*48)+12+y_top%,(4*16)-6,-48-y_top%:RECTANGLE FILL xo%+(4*16)-8,yo%-(i%*48)+12+y_top%,40*16,-48-y_top%:SYS "Wimp_SetColour",7 10470 MOVE xo%,yo%-(i%*48):n%=(table%!(i%*12))+1 10480 PRINT STRING$(3-LENSTR$n%,"0");n% 10490 MOVE xo%+(4*16),yo%-(i%*48) 10500 A%=tab%+((table%!(i%*12))*rec_len%)+((table%!((i%*12)+4))*32) 10510 CALL cut:a$=$A% 10520 p%=table%!((i%*12)+8) 10530 sl%=LENsearch$:IF RIGHT$(search$,1)="*" sl%-=1 10540 PRINT LEFT$(a$,p%-1);:SYS "Wimp_SetColour",pf_colour%:PRINT MID$(a$,p%,sl%);:SYS "Wimp_SetColour",7:PRINT RIGHT$(a$,LENa$-p%-sl%+1) 10550 REM SYS "Wimp_SetColour",3:PRINT "...altered...":SYS "Wimp_SetColour",7 10560i%+=1:ENDWHILE 10570ENDPROC 10580: 10590DEFPROCsearch:PROCstore(record%) 10600search_len%=-1:search_sel%=-1:old_search_sel%=0:search$=FNin(search%,6) 10610IF search$="" req%=0:SYS "WimpExt_OpenRequester",,,"Reminder from TelAddr","You cannot search using an empty string.",ok%,0:ENDPROC 10620search_flag%=0:flag_pos%=0:FOR I%=7 TO 15:FOR J%=0 TO ABS(I%=8)*2 10630search_flag%=search_flag% OR FNon(search%,I%)<<flag_pos% 10640flag_pos%+=1:NEXT:NEXT 10650IF search_flag%=0 req%=0:SYS "WimpExt_OpenRequester",,,"Reminder from TelAddr","You cannot start a search without specifying one or more fields to search in.",ok%,0:ENDPROC 10660case%=FNon(search%,16) 10670IF case%=0 search$=FNlower(search$) 10680SYS "Hourglass_On" 10690$b%=search$ 10700A%=tab%:B%=max%:C%=rec_len%:D%=table%:E%=b%:F%=LEN($b%):G%=search_flag%:H%=case%:search_len%=USR(search)-1 10710SYS "Hourglass_Off" 10720IF search_len%<0 req%=0:SYS "WimpExt_OpenRequester",,,"Message from TelAddr","The search string could not be found within the current address book.",ok%,0:ENDPROC 10730ht%=search_len%:IF search_len%<7 ht%=7 10740!b%=0:b%!4=-48*(ht%+1):b%!8=604:b%!12=0:SYS "Wimp_SetExtent",list_pane%,b% 10750PROCclose_window(search%) 10760A%=table%:B%=search_len%+1:number%=USR(count_rec) 10770$b%="Search Results ("+STR$number%+" matched)":SYS "WimpExt_SetWindowTitle",,,list%,b% 10780PROCscroll_top(list_pane%) 10790searched%=1:PROCopen_window(list%) 10800ENDPROC 10810: 10820DEFFNlower(l$):s$="":FORI%=1TOLENl$:a%=ASCMID$(l$,I%,1):s$+=CHR$(a% OR (ABS(a%>64 AND a%<91)*32)):NEXT:=s$ 10830: 10840DEFPROCmodified(m%):modified%=m%:ENDPROC 10850: 10860DEFPROCdelete_searched 10870SYS "Hourglass_On" 10880old_rec%=-1 10890IF max%>0 THEN 10900 FOR I%=search_len% TO 0 STEP -1 10910 IF search_len%>0 SYS "Hourglass_Percentage",INT(((search_len%-I%)/search_len%)*100) 10920 rec%=table%!(I%*12) 10930 IF max%>=0 AND rec%<>old_rec% THEN 10940 IF rec%<max% THEN A%=tab%:B%=max%:C%=rec%:D%=rec_len%:CALL delete:max%-=1:old_rec%=rec% ELSE max%-=1:old_rec%=rec% 10950 10960 ENDIF 10970 NEXT 10980ENDIF 10990SYS "Hourglass_Off" 11000PROCmodified(1) 11010IF max%<=0 max%=0:PROCblank_record(0) 11020PROCclose_window(list%) 11030IF record%>max% record%=max% 11040PROCdisplay(record%):PROCpos 11050ENDPROC 11060: 11070DEFPROCscroll_req 11080y%=b%!24:sy%=b%!36:ch%=0 11090IF y% MOD 48 <>0 THEN b%!24=(y% DIV 48)*48:ch%=1:IF sy%<0 b%!24=b%!24-48 11100IF ABS(sy%)=2 sy%=48*4*sy% ELSE IF ch%=0 sy%=sy%*48 11110b%!24=b%!24+sy% 11120SYS "Wimp_OpenWindow",,b% 11130ENDPROC 11140: 11150DEFPROCsave_prefs:z%=pref_pane%:SYS "Hourglass_On" 11160f%=OPENOUT "<TelAddr$Dir>.Prefs" 11170PRINT#f%,FNon(z%,2),FNon(z%,3),FNon(z%,4),FNon(z%,5) 11180PRINT#f%,FNwhich(z%,9,10)-9,FNwhich(z%,13,14)-13 11190FOR I%=19 TO 27:PRINT#f%,FNon(z%,I%):NEXT:PRINT#f%,FNon(z%,30) 11200PRINT#f%,FNwhich(z%,35,36)-35,FNon(z%,37),FNval(z%,39),FNval(z%,43) 11210PRINT#f%,FNwhich(z%,48,49)-48,FNwhich(z%,52,53)-52,FNon(z%,54) 11220PRINT#f%,FNon(z%,57),FNbg_col(z%,58) 11230PRINT#f%,FNon(z%,63),FNin(z%,65),FNon(z%,68),FNon(z%,69),FNon(z%,72),FNin(z%,73),FNon(z%,74) 11240CLOSE#f%:SYS "Hourglass_Off" 11250ENDPROC 11260: 11270DEFPROCremember_prefs:z%=pref_pane% 11280A=FNon(z%,2):B=FNon(z%,3):C=FNon(z%,4):D=FNon(z%,5) 11290E=FNwhich(z%,9,10)-9:F=FNwhich(z%,13,14)-13 11300G=FNon(z%,19):H=FNon(z%,20):I=FNon(z%,21):J=FNon(z%,22):K=FNon(z%,23):L=FNon(z%,24):M=FNon(z%,25):N=FNon(z%,26):O=FNon(z%,27):P=FNon(z%,30) 11310Q=FNwhich(z%,35,36)-35:R=FNon(z%,37):S=FNval(z%,39):T=FNval(z%,43) 11320U=FNwhich(z%,48,49)-48:V=FNwhich(z%,52,53)-52:W=FNon(z%,54) 11330X=FNon(z%,57):Y=FNbg_col(z%,58):Z=FNon(z%,63):AA$=FNin(z%,65) 11340Z1=FNon(z%,68):Z2=FNon(z%,69):Z3=FNon(z%,72):BB$=FNin(z%,73):Z4=FNon(z%,74) 11350ENDPROC 11360: 11370DEFPROCcancel_prefs 11380PROCset_prefs(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA$,Z1,Z2,Z3,BB$,Z4) 11390ENDPROC 11400: 11410DEFPROCset_prefs(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a$,z1,z2,z3,b$,z4) 11420z%=pref_pane% 11430SYS "WimpExt_SetIcon",,,z%,2,a:SYS "WimpExt_SetIcon",,,z%,3,b 11440SYS "WimpExt_SetIcon",,,z%,4,c:SYS "WimpExt_SetIcon",,,z%,5,d 11450PROCradio(z%,9,10,e+9):PROCradio(z%,13,14,f+13) 11460SYS "WimpExt_SetIcon",,,z%,19,g:SYS "WimpExt_SetIcon",,,z%,20,h 11470SYS "WimpExt_SetIcon",,,z%,21,i:SYS "WimpExt_SetIcon",,,z%,22,j 11480SYS "WimpExt_SetIcon",,,z%,23,k:SYS "WimpExt_SetIcon",,,z%,24,l 11490SYS "WimpExt_SetIcon",,,z%,25,m:SYS "WimpExt_SetIcon",,,z%,26,n 11500SYS "WimpExt_SetIcon",,,z%,27,o:SYS "WimpExt_SetIcon",,,z%,30,p 11510PROCradio(z%,35,36,q+35) 11520SYS "WimpExt_SetIcon",,,z%,37,r 11530SYS "WimpExt_SetNumberIcon",,,z%,39,s:SYS "WimpExt_SetNumberIcon",,,z%,43,t 11540PROCradio(z%,48,49,u+48):PROCradio(z%,52,53,v+52) 11550SYS "WimpExt_SetIcon",,,z%,54,w:SYS "WimpExt_SetIcon",,,z%,57,x 11560SYS "WimpExt_SetIconColour",,,z%,58,-1,y:SYS "WimpExt_SetIcon",,,z%,63,z 11570SYS "WimpExt_SetIconString",,,z%,65,a$ 11580SYS "WimpExt_SetIcon",,,z%,68,z1:SYS "WimpExt_SetIcon",,,z%,69,z2 11590SYS "WimpExt_SetIcon",,,z%,72,z3:SYS "WimpExt_SetIconString",,,z%,73,b$ 11600SYS "WimpExt_SetIcon",,,z%,74,z4 11610PROCsort_prefs:PROCok_prefs 11620ENDPROC 11630: 11640DEFPROCok_prefs 11650pf_confirm%=FNon(z%,2) OR FNon(z%,3)<<1 OR FNon(z%,4)<<2 OR FNon(z%,5)<<3 11660pf_merge%=FNwhich(z%,9,10)-9:pf_add%=FNwhich(z%,13,14)-13 11670SYS "WimpExt_SetIcon",,,search%,7,FNon(z%,19):SYS "WimpExt_SetIcon",,,search%,8,FNon(z%,20) 11680SYS "WimpExt_SetIcon",,,search%,9,FNon(z%,21):SYS "WimpExt_SetIcon",,,search%,10,FNon(z%,22) 11690SYS "WimpExt_SetIcon",,,search%,11,FNon(z%,23):SYS "WimpExt_SetIcon",,,search%,12,FNon(z%,24) 11700SYS "WimpExt_SetIcon",,,search%,13,FNon(z%,25):SYS "WimpExt_SetIcon",,,search%,14,FNon(z%,26) 11710SYS "WimpExt_SetIcon",,,search%,15,FNon(z%,27):SYS "WimpExt_SetIcon",,,search%,16,FNon(z%,30) 11720SYS "WimpExt_SetIcon",,,save_as%,3,FNwhich(z%,35,36)-35 11730SYS "WimpExt_SetIcon",,,save_as%,4,FNon(z%,37) 11740SYS "WimpExt_SetIcon",,,save_as%,1,FNon(save_as%,3) 11750SYS "WimpExt_SetNumberIcon",,,save_as%,6,FNval(z%,39) 11760SYS "WimpExt_SetNumberIcon",,,save_as%,10,FNval(z%,43) 11770SYS "WimpExt_SetIcon",,,save_as1%,3,FNwhich(z%,48,49)-48 11780SYS "WimpExt_SetIcon",,,save_as1%,1,FNon(save_as1%,3) 11790SYS "WimpExt_SetIcon",,,save_as2%,3,FNwhich(z%,52,53)-52 11800SYS "WimpExt_SetIcon",,,save_as2%,4,FNon(z%,54) 11810SYS "WimpExt_SetIcon",,,save_as2%,1,FNon(save_as2%,3) 11820SYS "WimpExt_SetIcon",,,save_as2%,5,FNon(z%,74) 11830IF FNon(z%,57) pf_colour%=FNbg_col(z%,58) ELSE pf_colour%=7 11840op1%=pane_1%:op2%=pane_2%:country%=FNon(pref_pane%,72):country$=LEFT$(FNin(pref_pane%,73),31) 11850pane_1%=FNon(z%,68):pane_2%=FNon(z%,69) 11860IF FNon(z%,68)<>op1% THEN 11870 IF FNon(z%,68) SYS "WimpExt_UnHideLink",book%,,tools%:PROCopen(book%) ELSE SYS "WimpExt_HideLink",book%,,tools%:PROCclose_window(tools%) 11880ENDIF 11890IF FNon(z%,69)<>op2% THEN 11900 IF FNon(z%,69) PROCopen(book%) ELSE PROCclose_window(pos%) 11910ENDIF 11920IF FNopen(list%) PROCredraw(list_pane%) 11930PROCopen_at(save_as%,100000,100000):PROCopen_at(save_as2%,100000,100000) 11940PROCsave_size:PROCsave2_size 11950PROCclose_window(save_as%):PROCclose_window(save_as2%) 11960ENDPROC 11970: 11980DEFPROCsort_prefs 11990on%=FNon(pref_pane%,37) EOR 1 12000FOR I%=39 TO 45:IF I%<>42 SYS "WimpExt_ShadeIcon",,,pref_pane%,I%,on% 12010NEXT 12020SYS "WimpExt_ShadeIcon",,,pref_pane%,54,ABS(FNwhich(pref_pane%,52,53)=52) 12030SYS "WimpExt_ShadeIcon",,,pref_pane%,74,ABS(FNwhich(pref_pane%,52,53)=52) 12040FOR I%=58 TO 59:SYS "WimpExt_ShadeIcon",,,pref_pane%,I%,FNon(pref_pane%,57) EOR 1:NEXT 12050FOR I%=64 TO 65:SYS "WimpExt_ShadeIcon",,,pref_pane%,I%,FNon(pref_pane%,63) EOR 1:NEXT 12060SYS "WimpExt_ShadeIcon",,,pref_pane%,73,FNon(pref_pane%,72) EOR 1 12070ENDPROC 12080: 12090DEFPROCload_prefs(l%):SYS "Hourglass_On" 12100f%=OPENUP "<TelAddr$Dir>.Prefs" 12110INPUT#f%,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a$,z1,z2,z3,b$,z4 12120CLOSE#f%:SYS "Hourglass_Off" 12130PROCset_prefs(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a$,z1,z2,z3,b$,z4) 12140load%=z:IF load% THEN load$=a$ 12150ENDPROC 12160: 12170DEFPROCdefault_prefs 12180PROCset_prefs(0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,11,0,"",1,1,0,"England",1) 12190ENDPROC 12200: 12210DEFFNbit(word%,bit%):IF (word% AND 1<<bit%)>0 THEN =1 ELSE =0 12220: 12230DEFPROCscroll_top(!b%) 12240SYS "Wimp_GetWindowState",,b% 12250x%=100000:y%=100000 12260b%!24=0:w%=b%!12-b%!4:h%=b%!16-b%!8:b%!4=x%:b%!8=y%-h%:b%!12=x%+w%:b%!16=y% 12270SYS "Wimp_OpenWindow",,b% 12280SYS "Wimp_CloseWindow",,b% 12290ENDPROC 12300: 12310DEFPROCram_fetch 12320CASE save_type% OF 12330 WHEN 1:w%=save_as%:file_len%=FNfile_len 12340 WHEN 2:w%=save_as1%:file_len%=0:old_A%=-1:FOR I%=0 TO search_len%:A%=tab%+((table%!(I%*12))*rec_len%):IF A%<>old_A% B%=11:file_len%+=USR(file_length) 12350 old_A%=A%:NEXT 12360 WHEN 3:w%=save_as2%:A%=tab%+(record%*rec_len%):B%=11:file_len%=USR(file_length) 12370ENDCASE 12380SYS "WimpExt_GetIcon",,,w%,3 TO ascii% 12390IF b%!24<file_len% req%=0:SYS "WimpExt_OpenRequester",,,"Warning from TelAddr","Buffer passed from destination application is not big enough to process a RAM memory transfer save, save failed.",ok%,0:ENDPROC 12400tel%=1:comma%=0 12410CASE save_type% OF 12420 WHEN 1:SYS "WimpExt_GetIcon",,,w%,4 TO partial% 12430 IF partial% THEN 12440 PROCsortout_partial(0,save_as%,6,10) 12450 SYS "WimpExt_GetNumberIcon",,,w%,6 TO from% 12460 SYS "WimpExt_GetNumberIcon",,,w%,10 TO to%:from%-=1:to%-=1 12470 ELSE 12480 from%=0:to%=max% 12490 ENDIF 12500 WHEN 2:from%=0:to%=search_len% 12510 WHEN 3:from%=record%:to%=record% 12520 SYS "WimpExt_GetIcon",,,w%,4 TO tel% 12530 SYS "WimpExt_GetIcon",,,w%,5 TO comma% 12540ENDCASE 12550IF tel% THEN max_field%=10*32 ELSE max_field%=7*32 12560IF save_type%=2 A%=table%:B%=search_len%+1:number%=USR(count_rec) ELSE number%=(to%-from%)+1 12570IF b%!12=myref% THEN 12580 sender%=b%!4 12590 hisref%=b%!8 12600 bufadd%=b%!20 12610 bufsiz%=b%!24 12620 offset%=0:old_rec%=-1 12630 SYS "Hourglass_On" 12640 IF ascii%=0 THEN $b2%="TelAddr("+STR$file_ver%+","+STR$(number%)+")"+CHR$10:l%=LEN($b2%):SYS "Wimp_TransferBlock",task_handle%,b2%,sender%,bufadd%,l%:offset%+=l% 12650 FOR I%=from% TO to% 12660 IF (to%-from%)>0 SYS "Hourglass_Percentage",INT(((I%-from%)/(to%-from%))*100) 12670 IF save_type%=2 THEN rec%=table%!(I%*12) ELSE rec%=I% 12680 IF save_type%<>2 OR rec%<>old_rec% THEN 12690 length%=0:tab_pos%=tab%+(rec%*rec_len%) 12700 FOR field%=0 TO max_field% STEP 32 12710 a%=b2%+length%:a2%=tab_pos%+field%:len%=0:$b3%=$a2%:A%=b3%:CALL cut:a$=$b3% 12720 IF comma% THEN 12730 f%=field%/32:IF f%<7 THEN 12740 com%=0:FOR J%=f%+1 TO 7:IF tab_pos%?(J%*32)>=32 com%=1 12750 NEXT 12760 ELSE com%=0 12770 ENDIF 12780 IF f%<=7 AND a$<>"" THEN 12790 IF com% a$+="," ELSE a$+="." 12800 ENDIF 12810 ENDIF 12820 IF ascii%=0 OR (ascii%=1 AND ?a2%>=32) THEN $a%=a$:A%=a%:len%=USR(cut2)+1 12830 length%+=len% 12840 IF ascii%=1 AND field%=7*32 AND tel%=1 ?(b2%+length%)=10:length%+=1 12850 NEXT 12860 IF ascii% AND I%<to% ?(b2%+length%)=10:length%+=1 12870 SYS "Wimp_TransferBlock",task_handle%,b2%,sender%,bufadd%+offset%,length% 12880 offset%+=length% 12890 ENDIF 12900 old_rec%=rec% 12910 NEXT 12920 SYS "Hourglass_Off" 12930 b%!12=hisref% 12940 b%!16=7 12950 b%!24=offset% 12960 SYS "Wimp_SendMessage",17,b%,sender% 12970ENDIF 12980CASE save_type% OF 12990 WHEN 1:PROCclose_window(save_as%) 13000 WHEN 2:PROCclose_window(save_as1%) 13010 WHEN 3:PROCclose_window(save_as2%) 13020ENDCASE 13030SYS "Wimp_CreateMenu",,-1 13040ENDPROC 13050: 13060DEFPROChelp 13070!b%=40:b%!16=&502:SYS "Wimp_GetPointerInfo",,b%+20 13080w%=b%!32:i%=b%!36:S$="Click SELECT to ":M$="Click MENU to ":A$="Click ADJUST to ":m$="" 13090W$="This window shows ":I$="This icon shows ":N$="|M" 13100M$="Move the pointer right to " 13110CASE w% OF 13120 WHEN file_info%:m$=W$+"information about the current address book" 13130 WHEN tools%:CASE i% OF 13140 WHEN 0:m$=S$+"open the search window" 13150 WHEN 1:m$=S$+"sort the current address book" 13160 WHEN 2:m$=S$+"create a new record" 13170 WHEN 3:m$=S$+"delete the current record" 13180 ENDCASE 13190 WHEN pos%:CASE i% OF 13200 WHEN 0:m$=S$+"move to the first record" 13210 WHEN 1:m$=S$+"move back five records" 13220 WHEN 2:m$=S$+"move back one record" 13230 WHEN 3:m$=S$+"move forward one record" 13240 WHEN 4:m$=S$+"move forward five records" 13250 WHEN 5:m$=S$+"move to the last record" 13260 WHEN 6:m$=I$+"the current record number and the total number of records respectively" 13270 WHEN 7:m$=S$+"goto a specified record" 13280 ENDCASE 13290 WHEN search%:CASE i% OF 13300 WHEN 6:m$=I$+"the current search string."+N$+S$+"change the contents of the icon" 13310 WHEN 7,8,9,10,11,12,13,14,15:m$=S$+"choose which fields to search through" 13320 WHEN 16:m$=S$+"toggle whether the search is case sensitive or not" 13330 WHEN 17:m$=S$+"perform the specified search" 13340 WHEN 18:m$=S$+"cancel the search and close the search window" 13350 ENDCASE 13360 WHEN info%:m$=W$+"information about the program" 13370 IF i%=7 THEN m$+=", and this is the excellent author !" 13380 WHEN save_as%,save_as1%,save_as2%:CASE i% OF 13390 WHEN 0:m$=I$+"the filename for the file. If it is not a complete pathname, drag the file icon to a directory display" 13400 WHEN 1:m$="Drag this icon to the directory display you which to save the address book. Or, drag it to the application into which you want to transfer the file" 13410 WHEN 2:m$=S$+"save the file under the current pathname. If it is not a complete pathname, you must drag the file icon to a directory display first" 13420 WHEN 3:m$=S$+"toggle whether to save the file in the TelAddr format, or as a plain ASCII textfile" 13430 WHEN 4:CASE w% OF 13440 WHEN save_as%:m$=S$+"choose between a full save of the address book, or a partial save of just some of the records" 13450 WHEN save_as2%:m$=S$+"choose whether you wish to include telephone numbers within the single address textfile" 13460 ENDCASE 13470 WHEN 5:IF w%=save_as2% m$=S$+"choose whether you wish to include commas and full stops after each line in the address" 13480 WHEN 6:m$=I$+"the start record number for the partial save."+N$+S$+"alter the number, or use the arrow icons to the right to change the value" 13490 WHEN 7:m$=S$+"decrease the start record number for the partial save" 13500 WHEN 8:m$=S$+"increase the start record number for the partial save. Remember that the start record number will not go beyond the end record number" 13510 WHEN 10:m$=I$+"the end record number for the partial save."+N$+S$+"alter the number, or use the arrow icons to the right to change the value" 13520 WHEN 11:m$=S$+"decrease the end record number for the partial save. Remember that the end record number will not go below the start record number" 13530 WHEN 12:m$=S$+"increase the end record number for the partial save" 13540 ENDCASE 13550 WHEN list_pane%:m$=W$+"the record number and matched fields of the last search performed."+N$+S$+"move to the record and field in which this string was found" 13560 WHEN list%:CASE i% OF 13570 WHEN 1:m$=S$+"close the search results window" 13580 WHEN 2:m$=S$+"re-open the search window and close the search results window" 13590 WHEN 3:m$=S$+"delete the records matched by the search" 13600 WHEN 4:m$=S$+"open a save box to save the matched records" 13610 WHEN 5:m$=S$+"redo the search, useful is the data has changed since" 13620 ENDCASE 13630 WHEN book%:CASE i% OF 13640 WHEN 9:m$=I$+"the name for this record."+N$+S$+"alter the data" 13650 WHEN 10,11,12:m$="These icons show the address for this record."+N$+S$+"alter the data" 13660 WHEN 13:m$=I$+"the town for this record."+N$+S$+"alter the data" 13670 WHEN 14:m$=I$+"the county for this record."+N$+S$+"alter the data" 13680 WHEN 15:m$=I$+"the country for this record."+N$+S$+"alter the data" 13690 WHEN 16:m$=I$+"the postcode for this record."+N$+S$+"alter the data" 13700 WHEN 17:m$=I$+"the home telephone number for this record."+N$+S$+"alter the data" 13710 WHEN 18:m$=I$+"the work telephone number for this record."+N$+S$+"alter the data" 13720 WHEN 19:m$=I$+"the fax telephone number for this record."+N$+S$+"alter the data" 13730 ENDCASE 13740 WHEN pref%:CASE i% OF 13750 WHEN 1:m$=S$+"accept the current preferences" 13760 WHEN 2:m$=S$+"cancel the changed preferences and reset them to how they were" 13770 WHEN 3:m$=S$+"apply the default preferences" 13780 WHEN 4:m$=S$+"save the current preferences" 13790 WHEN 5:m$=S$+"load the last saved preferences" 13800 ENDCASE 13810 WHEN pref_pane%:CASE i% OF 13820 WHEN 2:m$=S$+"toggle whether to ask for confirmation when clearing a record" 13830 WHEN 3:m$=S$+"toggle whether to ask for confirmation when deleting a record" 13840 WHEN 4:m$=S$+"toggle whether to ask for confirmation when deleting the matched records found by the last search" 13850 WHEN 5:m$=S$+"toggle whether to ask for confirmation when deleting the complete address book" 13860 WHEN 9:m$="If this option is selected, then when merging a single address file, TelAddr will check if the current record is blank; if so, it will replace it with the new address, otherwise it will append it to the end of the address book" 13870 WHEN 10:m$="If this option is selected, then when merging any address file, TelAddr will always append it to the end of the address book" 13880 WHEN 13:m$="If this option is selected, then when adding records from the toolbox, they will be created before the current record" 13890 WHEN 14:m$="If this option is selected, then when adding records from the toolbox, they will be created after the current record" 13900 WHEN 19,20,21,22,23,24,25,26,27:m$=S$+"toggle the default fields to search through" 13910 WHEN 30:m$=S$+"toggle whether to have case sensitivity as default" 13920 WHEN 35:m$=S$+"choose the TelAddr format as default when saving the address book" 13930 WHEN 36:m$=S$+"choose ASCII (a textfile) as default when saving the address book" 13940 WHEN 37:m$=S$+"toggle whether to have partial saving as default when saving the address book" 13950 WHEN 39:m$=I$+"the default start record number for the partial save."+N$+S$+"alter the number, or use the arrow icons to the right to change the value" 13960 WHEN 40:m$=S$+"decrease the default start record number for the partial save" 13970 WHEN 41:m$=S$+"increase the default start record number for the partial save" 13980 WHEN 43:m$=I$+"the default end record number for the partial save."+N$+S$+"alter the number, or use the arrow icons to the right to change the value" 13990 WHEN 44:m$=S$+"decrease the default end record number for the partial save" 14000 WHEN 45:m$=S$+"increase the default end record number for the partial save" 14010 WHEN 48:m$=S$+"choose the TelAddr format as default when saving the search results" 14020 WHEN 49:m$=S$+"choose ASCII (a textfile) as default when saving the search results" 14030 WHEN 52:m$=S$+"choose the TelAddr format as default when saving a single address" 14040 WHEN 53:m$=S$+"choose ASCII (a textfile) as default when saving a single address" 14050 WHEN 54:m$=S$+"toggle whether to include telephone numbers as default when saving a single address book" 14060 WHEN 74:m$=S$+"toggle whether to add commas and full-stops as default when saving a single address book" 14070 WHEN 57:m$=S$+"toggle whether to highlight the search string in the matched fields after a search" 14080 WHEN 58:m$=I$+"the default hightlight colour" 14090 WHEN 59:m$=S$+"change the default hightlight colour" 14100 WHEN 63:m$=S$+"toggle whether to load the specified address book when the program is loaded" 14110 WHEN 65:m$=I$+"the full pathname for the default address book."+N$+S$+" to alter it, or drag an address book file onto this file to use its pathname instead" 14120 WHEN 68:m$=S$+"toggle whether to show the toolbox (attached to the side of the main address book window) by default" 14130 WHEN 69:m$=S$+"toggle whether to show the position window (attached to the bottom of the main address book window) by default" 14140 WHEN 72:m$=S$+"toggle whether to insert a default country when a new record is created" 14150 WHEN 73:m$=I$+"the default country."+N$+S$+"to change it" 14160 ENDCASE 14170 WHEN -2:m$="This is the TelAddr icon, an editor of telephone and address books."+N$+S$+"open the address book window" 14180ENDCASE 14190IF m$<>"" SYS "WimpExt_SendHelp",m$+".",b% 14200ENDPROC
/� >ADFS::MAD�4.$.TelAddr.!TelAddr.!RunImage Mname1$="TelAddr":name2$="TelAddr":skip%=0:poll%=�:f%=-1:init%=�:� b% &800 (� � � �err=0 � �close_down � skip%=1 (A� skip%=0 �init:�assemble:�define:skip%=0:poll%=�:�check_load 2skip%=0:poll%=�:�poll <�close_down F� P: Zݤerr:error%=0 d � poll% � n? e$=�$+" ("+�(�)+") at line "+�(�):e%=continue_quit%:e2%=0 x< � �=71622 � �#f%:ș "OS_File",6,filename$:e$=�$:e%=ok% �8 � �=204 � �=67785 � �=67797 � �=67778 e$=�$:e%=ok% �6 � �=193 � �=195 �#f%:e$="File is locked.":e%=ok% �A ș "WimpExt_OpenRequester",,,"Error from TelAddr",e$,e%,e2% � req%=-1:error%=1 �� �C e$=�$+" ("+�(�)+") at line "+�(�)+", quit program ?":leave%=0 � � �=67797 e$=�$:leave%=1 �> � leave%=0 � error%=�error(e$) � 1 � �error(e$):error%=0 �� �=error% �: � ��init �\ș "OS_GetEnv" � a$:� �a$,"-file ") � chk_ld%=1:chk_ld$=�a$,�a$,"-file ")+6) � chk_ld%=0 Mtel_ft%=&100:prog_ver%=103:file_ver%=100:date$="13-Aug-93":code_len%=1024 '� b2% &300,b3% &100,code% code_len% G� s1% &A0,m1% &A0,m2% &100,m3% &100,m4% &A0,m6% &A0,m7% &A0,m8% &A0 "E� goto% 4,goto_val% 8,template% 11*1024,indir% 17*1024,fonts% 256 ,end_indir%=indir%+(17*1024) 6$goto%="":$goto_val%="a0-9" @total_max%=256 Jrec_len% =11*32 TM� tab% total_max%*rec_len%,pointers% total_max%*4,table% total_max%*11*12 ^>� I%=tab% � tab%+(total_max%*rec_len%) � rec_len%:$I%="":� h-� menu% &100,val% 16:menu_pos%=0:$val%="" rD� ok_cancel% 40,ok% 40,continue_quit% 40,save_discard_cancel% 40 |,�buttons(ok_cancel%,"OK","Cancel","","") ��buttons(ok%,"OK","","","") �4�buttons(continue_quit%,"Continue","Quit","","") �?�buttons(save_discard_cancel%,"Save","Discard","Cancel","") �%my_font$="Trinity.Medium":okay%=0 �;count%=0:�:ș "Font_ListFonts",,b%,count%,-1 � ,,count% �� count%<>-1 � � � $b%=my_font$ okay%=1 �� �� count%=-1 �p� okay%=0 � �error("!TelAddr needs to have 'seen' the Trinity.Medium font before it is loaded."):�close_down �� sa% 15*1024 �Nsa%!0=15*1024:sa%!4=0:sa%!8=16:ș 46,256+10,sa%,"<"+name1$+"$Dir>.Sprites" ��inittask(name2$):init%=� � I=0 � 12:b%!(I*4)=0:� eș "WimpExt_LoadTemplates",b%,template%,indir%,end_indir%,fonts%,"<"+name1$+"$Dir>.Templates",sa% �file_info%=b%!0:tools%=b%!4:pos%=b%!8:search%=b%!12:save_as1%=b%!16:list_pane%=b%!20:book%=b%!24:save_as%=b%!28:list%=b%!32:pref_pane%=b%!36:save_as2%=b%!40:pref%=b%!44:info%=b%!48 &+ș "WimpExt_LinkWindows",,,book%,tools% 0/ș "WimpExt_LinkWindows",,,list%,list_pane% :/ș "WimpExt_LinkWindows",,,pref%,pref_pane% D6ș "WimpExt_SetIconString",,,info%,7,"Mark Hobson" Nrv$=�(prog_ver% � 100):ș "WimpExt_SetIconString",,,info%,9,�(prog_ver% �100)+"."+�2-�v$,"0")+v$+" ("+date$+")" X>ș "WimpExt_SetIconString",,,info%,11,"(c)1993 Acorn User" b,ș "WimpExt_ColoursMenu",0,0 � col_menu% l8ș "WimpExt_IconBarSprite",,,-1,"!teladdr",,3 � bar% vXoptX%=1:quit%=0:max%=0:record%=0:pos$="":pos_record%=0:req%=-1:searched%=0:failed%=0 �Vgood_book$="AddrBook":good_search$="Searched":good_address$="Address":save_quit%=0 �pane_1%=1:pane_2%=1 �P�pos:�load_prefs(1):�blank_record(record%):�display(record%):�store(record%) ��modified(0):trans_len%=-1 �� �: ���assemble �7� I%=8 � 10 � 2:P%=code%:L%=code%+code_len%:[OPT I% � �% ; On entry - R0 = array pointer �. ; R1 = total number of fields � ; �, ; On exit - R0 = file length in bytes # .file_length STMFD R13!,{R14} MOV R2,#0 .fl_1 MOV R3,#0 *# .fl_2 LDRB R4,[R0,R3] 4! ADD R2,R2,#1 >! ADD R3,R3,#1 H CMP R4,#32 R BGE fl_2 \" ADD R0,R0,#32 f! SUBS R1,R1,#1 p BNE fl_1 z MOV R0,R2 �" LDMFD R13!,{PC} � �% ; On entry - R0 = array pointer �. ; R1 = pointers array pointer �0 ; R2 = number of records (0..n) �% ; R3 = record length � �# .sort STMFD R13!,{R14} �$ MOV R2,R2,LSL#2 � MOV R4,#0 �$ .sort_1 MLA R5,R4,R3,R0 �) LDR R6,[R1,R4,LSL#2] � MOV R9,R5 MOV R10,R6 CMP R5,R6 BEQ sort_4 $, STMFD R13!,{R0-R4,R8-R10} . MOV R7,#0 8$ .sort_2 LDMIA R5 ,{R0-R3} B( LDMIA R6 ,{R4,R8-R10} L$ STMIA R6!,{R0-R3} V( STMIA R5!,{R4,R8-R10} `$ LDMIA R5 ,{R0-R3} j( LDMIA R6 ,{R4,R8-R10} t$ STMIA R6!,{R0-R3} ~( STMIA R5!,{R4,R8-R10} �" ADD R7,R7,#32 � CMP R7,#320 � BLE sort_2 �, LDMFD R13!,{R0-R4,R8-R10} � MOV R7,#0 �# .sort_3 LDR R8,[R1,R7] � CMP R8,R9 �$ STREQ R10,[R1,R7] �! ADD R7,R7,#4 � CMP R7,R2 � BLE sort_3 �! .sort_4 ADD R4,R4,#1 % MOV R11,R2,LSR#2 CMP R4,R11 BLE sort_1 " LDMFD R13!,{PC} ( 2% ; On entry - R0 = array pointer <0 ; R1 = number of records (0..n) F% ; R2 = record length P- ; R3 = results table pointer ZD ; R4 = search string pointer (including wild-cards) d, ; R5 = search string length n7 ; R6 = flags - bits 0-10 = field flags x& ; R7 = case sensitive � ; �8 ; On exit - R0 = number of strings matched (0..n) � �# .search STMFD R13!,{R14} �' STR R6,search_flag � MOV R6,R7 � MOV R7,#0 �& STR R7,search_len � .search_1 MOV R8,#0 �' .search_2 LDR R9,search_flag � MOV R10,#1 �' � R9,R9,R10,LSL R8 � CMP R9,#0 $ BEQ search_next $ MLA R9,R7,R2,R0 ' ADD R9,R9,R8,LSL#5 " MOV R10,#0 , MOV R14,#0 6% LDRB R11,[R4,R14] @% LDRB R12,[R9,R10] J CMP R12,#32 T$ BLT search_next ^" CMP R11,#�"#" h" BEQ search_3b r" CMP R11,#�"*" |# BEQ search_3x2 �% .search_3 LDRB R12,[R9,R10] � CMP R12,#32 �$ BLT search_next � CMP R6,#0 �" BNE search_3a � CMP R12,#65 �" BLT search_3a � CMP R12,#90 �" BGT search_3a �# �R R12,R12,#32 � .search_3a CMP R11,R12 �! BNE search_4 �% .search_3b LDRB R11,[R4,R14] % LDRB R12,[R9,R10] CMP R12,#32 $ BLT search_next &" CMP R11,#�"#" 0# BEQ search_3x1 :" CMP R11,#�"*" D# BEQ search_3x2 N CMP R6,#0 X" BNE search_3x b CMP R12,#65 l" BLT search_3x v CMP R12,#90 �" BGT search_3x �# �R R12,R12,#32 � .search_3x CMP R11,R12 �" BNE search_3c �# .search_3x1 ADD R10,R10,#1 � CMP R10,#31 �$ BEQ search_next �# ADD R14,R14,#1 � CMP R14,R5 �" BLT search_3b �# .search_3x2 STR R7,[R3],#4 �# STR R8,[R3],#4 �$ SUB R10,R10,R14 # ADD R10,R10,#1 $ STR R10,[R3],#4 ' LDR R11,search_len # ADD R11,R11,#1 *' STR R11,search_len 4$ B search_next > .search_3c MOV R14,#0 H% LDRB R11,[R4,R14] R! B search_3 \# .search_4 ADD R10,R10,#1 f CMP R10,#31 p$ BEQ search_next z! B search_3 �! .search_next ADD R8,R8,#1 � CMP R8,#10 �! BLE search_2 �! ADD R7,R7,#1 � CMP R7,R1 �! BLE search_1 �& LDR R0,search_len �" LDMFD R13!,{PC} � � .search_len EQUD 0 � .search_flag EQUD 0 � �% ; On entry - R0 = array pointer 0 ; R1 = number of records (0..n) + ; R2 = start record (0..n) % ; R3 = record length $ .# .insert STMFD R13!,{R14} 8! MUL R5,R1,R3 B! ADD R0,R0,R5 L .insert_1 MOV R4,#11 V! ADD R5,R0,R3 `) .insert_2 LDMIA R0!,{R6-R12,R14} j) STMIA R5!,{R6-R12,R14} t! SUBS R4,R4,#1 ~! BNE insert_2 �! SUB R0,R0,R3 �! SUB R0,R0,R3 �! SUB R1,R1,#1 � CMP R1,R2 �! BGE insert_1 �" LDMFD R13!,{PC} � �% ; On entry - R0 = array pointer �0 ; R1 = number of records (0..n) �+ ; R2 = start record (0..n) �% ; R3 = record length � # .delete STMFD R13!,{R14} ! MUL R5,R2,R3 ! ADD R0,R0,R5 .delete_1 MOV R4,#11 (! ADD R5,R0,R3 2) .delete_2 LDMIA R5!,{R6-R12,R14} <) STMIA R0!,{R6-R12,R14} F! SUBS R4,R4,#1 P! BNE delete_2 Z! ADD R2,R2,#1 d CMP R2,R1 n! BLT delete_1 x" LDMFD R13!,{PC} � �) ; On entry - R0 = pointer to string � � .cut MOV R1,#0 �# .cut_1 LDRB R2,[R0,R1] � CMP R2,#32 �! ADDGE R1,R1,#1 � BGE cut_1 � MOV R3,#13 �# STRB R3,[R0,R1] � MOV PC,R14 � �) ; On entry - R0 = pointer to string ( ; On exit - R0 = length of string .cut2 MOV R1,#0 "# .cut2_1 LDRB R2,[R0,R1] , CMP R2,#32 6! ADDGE R1,R1,#1 @ BGE cut2_1 J MOV R3,#10 T# STRB R3,[R0,R1] ^ MOV R0,R1 h MOV PC,R14 r |( ; On entry - R0 = pointer to table �0 ; R1 = number of entries (1..n) � ; �0 ; On exit - R0 = number of actual records � �# .count_rec STMFD R13!,{R14} � MVN R2,#0 � MOV R4,#0 �$ .count_rec_1 LDR R3,[R0],#12 � CMP R3,R2 �$ BNE count_rec_2 � MOV R2,R3 �! SUBS R1,R1,#1 �$ BEQ count_rec_3 $ B count_rec_1 .count_rec_2 MOV R2,R3 ! ADD R4,R4,#1 &! SUBS R1,R1,#1 0$ BNE count_rec_1 : .count_rec_3 MOV R0,R4 D" LDMFD R13!,{PC} N X ]:�:� b: l��check_load vA� chk_ld% �load_file(chk_ld$,0) � � load% �load_file(load$,0) �� �: ���buttons(but%,a$,b$,c$,d$) �K$but%=a$:but%+=�a$+1:$but%=b$:but%+=�b$+1:$but%=c$:but%+=�c$+1:$but%=d$ �� �: ���inittask(a$):$b%="TASK" �3ș "Wimp_Initialise",200,!b%,a$ � ,task_handle% �>ș "WimpExt_Initialise",5,task_handle%,%0111101 � wimpext% �� �: ���define �W�createmenu(m1%,"TelAddr","Info>info%,Preferences...,Save book>save_as%#E,Quit",e1) =�createmenu(m4%,"Misc","Info>info%,File>file_info%#E",e4) v�createmenu(m2%,"Save","Save book F3>save_as%#E,Save search �F3>save_as1%#E,Save address ^F3>save_as2%#E",e2) D�createmenu(m6%,"Search","Save>save_as1%#E,Search...,Delete",e6) ^�createmenu(m7%,"Edit","Add before,Add after,Delete record,Clear record#L,Delete book",e7) *4�createmenu(m8%,"Display","Toolbox,Position",e8) 4[�createmenu(m3%,"TelAddr","Misc>m4%,Save F3>m2%,Search>m6%,Edit>m7%,Display>m8%",e3) >.�sub(s1%,"Goto record:",goto%,goto_val%,4) H� R: \,��j(j1%,j2%,j3%):j1%!(32+(j2%*24))=j3%:� f: p ��poll z�� failed% � failed%=0:req%=0:ș "WimpExt_OpenRequester",,,"Message from TelAddr","Default address book does not exist, load failed.",ok%,0 �ȕ � quit% � ș "WimpExt_PrePoll" �# ș "Wimp_Poll",0,b% � reason% �; ș "WimpExt_Action",task_handle%,b%,reason% � reason% � Ȏ reason% � � � 1:�redraw(!b%) �B � 2:ș "WimpExt_OpenLinked",,b%:� !b%=book% �open_pos_pane �W � 3:ș "WimpExt_CloseLinked",,b%:� !b%=book% !b%=pos%:ș "Wimp_CloseWindow",,b% � � 6:�click � � 7:�init_save � � 8:�key_pressed � � 9:�menuselect � � 10:�scroll_req � 17,18:�service � � 19:� SYS "OS_File",6,b%+44:req%=0:SYS "WimpExt_OpenRequester",,,"Warning from TelAddr","Data transfer failed: Receiver died",ok%,0 � $� .� 8: B ��service LȎ b%!16 � V � 0:�quit ` � 1:�save_ack j � 2:�data_save t � 3:Ȏ b%!20 � ~� � book%,-2:� �load_ack �store(record%):�load_file(�string(b%+44),1):� failed% � failed%=0:req%=0:ș "WimpExt_OpenRequester",,,"Message from TelAddr","File does not exist, load failed.",ok%,0 �` � pref%,pref_pane%:� �load_ack ș "WimpExt_SetIconString",,,pref_pane%,65,�string(b%+44) � � �Z � ��string(b%+44),12)="<Wimp$Scrap>" � ș "OS_File",6,�string(b%+44):temp%=�load_ack � � 5:� �load_ack � �6 mod_filename$=�string(b%+44):�store(record%) � � modified%=0 � Ģ �load_file(mod_filename$,0):� failed% � failed%=0:req%=0:ș "WimpExt_OpenRequester",,,"Message from TelAddr","File does not exist, load failed.",ok%,0 � � أ req%=5:ș "WimpExt_OpenRequester",,,"Query from TelAddr","The current address book has not been saved, do you want to save it ?",save_discard_cancel%,2 � � � � � � 6:�ram_fetch � &502:�help � &400C0:�menu_warning � � (: 2)��key_pressed:w%=!b%:i%=b%!4:k%=b%!24 < Ȏ � � F@ � w%=save_as% � (i%=6 � i%=10) � (k%=13 � k%=398 � k%=399) P0 �sortout_partial((i%-6)/4,save_as%,6,10) Z_ � i%=6 ș "WimpExt_PutCaretIcon",,,save_as%,10 � ș "WimpExt_PutCaretIcon",,,save_as%,6 dC � w%=pref_pane% � (i%=39 � i%=43) � (k%=13 � k%=398 � k%=399) n4 �sortout_partial((i%-39)/4,pref_pane%,39,43) xe � i%=39 ș "WimpExt_PutCaretIcon",,,pref_pane%,43 � ș "WimpExt_PutCaretIcon",,,pref_pane%,39 �< � (w%=book% � w%=search%) � (k%=387 � k%=403 � k%=419) � Ȏ k% � �/ � 387:�open_save(save_as%,good_book$) �� � 403:� searched% �open_save(save_as1%,good_search$) � req%=0:ș "WimpExt_OpenRequester",,,"Reminder from TelAddr","You cannot save the search results until you perform a search.",ok%,0 �3 � 419:�open_save(save_as2%,good_address$) � � � � ș "Wimp_ProcessKey",k% �� �� �: �'��sortout_partial(type%,w%,i1%,i2%) �%p1%=�val(w%,i1%):p2%=�val(w%,i2%) � p1%<1 p1%=1 � p2%<1 p2%=1 � p1%>max%+1 p1%=max%+1 "� p2%>max%+1 p2%=max%+1 ,� type%=0 � 6 � p1%>p2% p1%=p2% @ � p2%<p1% p2%=p1% J� T � p2%<p1% p2%=p1% ^ � p1%>p2% p1%=p2% h� r+ș "WimpExt_SetNumberIcon",,,w%,i1%,p1% |+ș "WimpExt_SetNumberIcon",,,w%,i2%,p2% �� �: ���menu_warning �$mw1%=b%!20:mw2%=b%!24:mw3%=b%!28 �Ȏ om% � � � m1%:Ȏ b%!32 � � � 2:�prepare_book � � � � m3%:Ȏ b%!32 � � � 0:Ȏ b%!36 � �K � 1:�store(record%):�calc_file_len:� modified% a$="Yes" � a$="No" �8 ș "WimpExt_SetIconString",,,file_info%,7,a$ � � � 1:Ȏ b%!36 � � 0:�prepare_book � 1:�prepare_search & � 2:�prepare_address 0 � : � 2:Ȏ b%!36 � D � 0:�prepare_search N � X � b� l+ș "Wimp_CreateSubMenu",,mw1%,mw2%,mw3% v� �: �>��prepare_book:save_quit%=0:filename%=�in_addr(save_as%,0) �Cș "WimpExt_SetIconString",,,save_as%,0,good_book$:save_type%=1 �%�sortout_partial(0,save_as%,6,10) �� �: �A��prepare_search:save_quit%=0:filename%=�in_addr(save_as1%,0) �Fș "WimpExt_SetIconString",,,save_as1%,0,good_search$:save_type%=2 �� �: �B��prepare_address:save_quit%=0:filename%=�in_addr(save_as2%,0) �Gș "WimpExt_SetIconString",,,save_as2%,0,good_address$:save_type%=3 �� : ��close_down C� init% ș "WimpExt_CloseDown",task_handle%:ș "Wimp_CloseDown" � *� 4: >��open_pos_pane H� pane_2% � R0 x1%=b%!4:x2%=x1%+678:y1%=b%!8-4:y2%=y1%-84 \5 p%=b%!28:!b2%=pos%:ș "Wimp_GetWindowInfo",,b2% f9 b2%!4=x1%:b2%!8=y2%:b2%!12=x2%:b2%!16=y1%:b2%!28=p% p* ș "Wimp_OpenWindow",,b2%:b%!28=pos% z� �� �: �<��open_window(!b%):ș "Wimp_GetWindowState",,b%:b%!28=-1 �#ș "WimpExt_CentreWindow",,b%+4 �:ș "WimpExt_OpenLinked",,b%:� !b%=book% �open_pos_pane �� �: �,��open(!b%):ș "Wimp_GetWindowState",,b% �:ș "WimpExt_OpenLinked",,b%:� !b%=book% �open_pos_pane �� �: �5��open_at(!b%,x%,y%):ș "Wimp_GetWindowState",,b% �Gw%=b%!12-b%!4:h%=b%!16-b%!8:b%!4=x%:b%!8=y%-h%:b%!12=x%+w%:b%!16=y% !ș "WimpExt_OpenLinked",,b%:� : 4��close_window(!b%):ș "WimpExt_CloseLinked",,b% $2� !b%=book% !b%=pos%:ș "Wimp_CloseWindow",,b% .� !b%=list% searched%=0 8� B: L��delete_book V<�blank_record(0):record%=0:max%=0:�display(record%):�pos `'ș "WimpExt_PutCaretIcon",,,book%,9 j%�close_window(list%):�modified(1) t� ~: ���click �-x%=b%!0:y%=b%!4:c%=b%!8:w%=b%!12:i%=b%!16 �$ș "XWimpExt_SlabIcon",,,w%,i%,0 �Ȏ w% � � � -3:Ȏ req% � � � -1:� i%=1 quit%=-1 �2 � 0:� 'OK' click from a reminder requester �, � 1:� i%=0 �delete_record(record%,1) � � 2:� i%=0 �delete_book �# � 3:� i%=0 �delete_searched � � 4:Ȏ i% � �� � 0:ș "WimpExt_SetIconString",,,save_as%,0,good_book$:save_type%=1:ș "WimpExt_OpenDialogue",,,save_as%,148,70:save_quit%=1 # � 1:quit%=-1:�modified(0) � � 5:Ȏ i% � y � 0:ș "WimpExt_SetIconString",,,save_as%,0,good_book$:save_type%=1:ș "WimpExt_OpenDialogue",,,save_as%,148,70 () � 1:�load_file(mod_filename$,0) 2 � <n � 6:� i%=0 �blank_record(record%):�display(record%):� �open(book%) ș "WimpExt_PutCaretIcon",,,book%,9 F � P � -2:Ȏ c% � ZC � 4:�open_window(book%):ș "WimpExt_PutCaretIcon",,,book%,9 d! � 2:�menu(m1%,x%,y%,�,e1) n � x$ � save_as%,save_as1%,save_as2% � Ȏ � � �B � i%=1 � (c% � &50)>0:ș "WimpExt_GetIcon",,,w%,3 � ascii% �' � ascii% ft%=&FFF � ft%=tel_ft% �< ș "WimpExt_DragIcon",%10000101,1,w%,1,"file_"+�~ft% �' � i%=2 � (c% � 5)>0:�quick_save �H � i%=3 � (c%=4 � c%=1):ș "WimpExt_SetIcon",,,w%,1,�on(w%,1) � 1 � � � Ȏ w% � � � save_as2%:Ȏ i% � � � 3:�save2_size � � � � save_as%:Ȏ i% � � � 4:�save_size 9 � 7:ș "WimpExt_DecNumberIcon",,,save_as%,6,1,1 I � 8:ș "WimpExt_IncNumberIcon",,,save_as%,6,�val(save_as%,10),1 J � 11:ș "WimpExt_DecNumberIcon",,,save_as%,10,�val(save_as%,6),1 "@ � 12:ș "WimpExt_IncNumberIcon",,,save_as%,10,max%+1,1 , � 6 � @ � tools% J Ȏ i% � T\ � 0:�close_window(list%):�open_window(search%):ș "WimpExt_PutCaretIcon",,,search%,6 ^ � 1:�sort h+ � 2:�insert_record(record%,pf_add%) r� � 3:� �bit(pf_confirm%,1) � req%=1:ș "WimpExt_OpenRequester",,,"Query from TelAddr","Delete record, are you sure ?",ok_cancel%,1 � �delete_record(record%,1) | � � � pos% � Ȏ i% � � � 0:�show(0) �9 � 1:�:record%-=1:� ((record%+1)�5)=0:�show(record%) � � 2:�show(record%-1) � � 3:�show(record%+1) �9 � 4:�:record%+=1:� ((record%+1)�5)=0:�show(record%) � � 5:�show(max%) �- � 7:$goto%="":�menu_opt(pos%,7,s1%,1) � � �* � book%:� c%=2 �menu(m3%,x%,y%,�,e3) � � search% � Ȏ i% � # � 18:�close_window(search%) � 17:�search � & � list% 0 Ȏ i% � : � 1:�close_window(list%) D\ � 2:�close_window(list%):�open_window(search%):ș "WimpExt_PutCaretIcon",,,search%,6 N� � 3:� �bit(pf_confirm%,2) � req%=3:ș "WimpExt_OpenRequester",,,"Query from TelAddr","Are you sure that you want to delete all records matched by the last search ?",ok_cancel%,1 � �delete_searched X. � 4:�open_save(save_as1%,good_search$) b( � 5:�close_window(list%):�search l � v � list_pane% � Ȏ c% � �! � 2:�menu(m3%,x%,y%,�,e3) � � �store(record%) �C !b%=list_pane%:ș "Wimp_GetWindowState",,b%:y%-=b%!16-b%!24 �: old_search_sel%=search_sel%:search_sel%=�(y% � 48) �9 � search_sel%>search_len% search_sel%=search_len% �Q ș "Wimp_GetWindowInfo",,b%:b%!4=b%!44:b%!8=b%!48:b%!12=b%!52:b%!16=b%!56 �* ș "Wimp_UpdateWindow",,b% � flag% � �get_coords � ȕ flag% � �redraw_list �, ș "Wimp_GetRectangle",,b% � flag% � ' record%=table%!(search_sel%*12) # � record%>max% record%=max% j �display(record%):� �open(book%) ș "WimpExt_PutCaretIcon",,,book%,(table%!((search_sel%*12)+4))+9 * �pos:different%=0 4 � > � pref%:Ȏ i% � H* � 1:�ok_prefs:�close_window(pref%) R. � 2:�close_window(pref%):�cancel_prefs \ � 3:�default_prefs f6 � 4:�save_prefs:�ok_prefs:�close_window(pref%) p � 5:�load_prefs(0) z � � � pref_pane%:Ȏ i% � �' � 37:on%=�on(pref_pane%,37) � 1 � � I%=39 � 45 �? � I%<>42 ș "WimpExt_ShadeIcon",,,pref_pane%,I%,on% � � �; � 40:ș "WimpExt_DecNumberIcon",,,pref_pane%,39,1,1 �M � 41:ș "WimpExt_IncNumberIcon",,,pref_pane%,39,�val(pref_pane%,43),1 �M � 44:ș "WimpExt_DecNumberIcon",,,pref_pane%,43,�val(pref_pane%,39),1 �@ � 45:ș "WimpExt_IncNumberIcon",,,pref_pane%,43,max%+1,1 �o � 52,53:ș "WimpExt_ShadeIcon",,,pref_pane%,54,�(i%=52):ș "WimpExt_ShadeIcon",,,pref_pane%,74,�(i%=52) �Y � 57:� I%=58 � 59:ș "WimpExt_ShadeIcon",,,pref_pane%,I%,�on(pref_pane%,57) � 1:� �b � 59:J%=�bg_col(pref_pane%,58):� I%=0 � 15:ș "WimpExt_TickEntry",,col_menu%,I%,�(I%=J%):� �/ �menu_opt(pref_pane%,59,col_menu%,16) Y � 63:� I%=64 � 65:ș "WimpExt_ShadeIcon",,,pref_pane%,I%,�on(pref_pane%,63) � 1:� J � 72:ș "WimpExt_ShadeIcon",,,pref_pane%,73,�on(pref_pane%,72) � 1 � $� .� 8: B'��save2_size:open%=�open(save_as2%) L,� �on(save_as2%,3) � wy%=-396 � wy%=-276 V-!b%=save_as2%:ș "Wimp_GetWindowInfo",,b% `3� open% b%!8=b%!16+wy%:ș "Wimp_OpenWindow",,b% j� t: ~%��save_size:open%=�open(save_as%) �+� �on(save_as%,4) � wy%=-488 � wy%=-332 �,!b%=save_as%:ș "Wimp_GetWindowInfo",,b% �3� open% b%!8=b%!16+wy%:ș "Wimp_OpenWindow",,b% �� �: ���open_save(w%,s$) �filename%=�in_addr(w%,0) �(ș "WimpExt_SetIconString",,,w%,0,s$ �Ȏ w% � � � save_as%:save_type%=1 � � save_as1%:save_type%=2 � � save_as2%:save_type%=3 � save_quit%=0 �store(record%) )ș "WimpExt_OpenDialogue",,,w%,156,70 (� 2: <��menu_opt(w%,i%,m%,e) F'!b%=w%:ș "Wimp_GetWindowState",,b% P5minx%=b%!4-b%!20:miny%=b%!16-b%!24:!b%=w%:b%!4=i% ZCș "Wimp_GetIconState",,b%:x%=minx%+b%!16:y%=miny%+b%!12+(13*4) d"ș "Wimp_CreateMenu",,m%,x%,y% nom%=m%:oe=e:� x: ���menu(m%,x%,y%,ib%,e) ��store(record%) �0ș "WimpExt_ShadeEntry",,m2%,1,searched% � 1 �0ș "WimpExt_ShadeEntry",,m6%,0,searched% � 1 �0ș "WimpExt_ShadeEntry",,m6%,2,searched% � 1 �)ș "WimpExt_TickEntry",,m8%,0,pane_1% �)ș "WimpExt_TickEntry",,m8%,1,pane_2% �9ș "WimpExt_SetIconStringN",,,file_info%,1,good_book$ �4ș "WimpExt_SetNumberIcon",,,file_info%,3,max%+1 �YJ%=�bg_col(pref_pane%,58):� I%=0 � 15:ș "WimpExt_TickEntry",,col_menu%,I%,�(I%=J%):� �=� ib% y2%=96+e*44:x2%=x%-64 � y2%=y%:x2%=x%-32-(16*optX%) �$ș "Wimp_CreateMenu",,m%,x2%,y2% �om%=m%:oe=e:� : ��calc_file_len len%=�file_len ">� len%>=4096 len$=�(len% � 1024)+"k" � len$=�len%+" bytes" ,2ș "WimpExt_SetIconString",,,file_info%,5,len$ 6� @: Jݤfile_len T.A%=tab%:B%=(max%+1)*11:len%=�(file_length) ^len%+=14+��(max%+1):=len% h: r��menuselect |Ȏ om% � � � m1%:Ȏ !b% � �G � 1:�remember_prefs:�scroll_top(pref_pane%):�open_window(pref%) �% � 2:�prepare_book:�quick_save � � 3:�quit � � � � s1%:Ȏ !b% � � � 0:�show(�($goto%)-1) � � � � m3%:Ȏ !b% � � � 1:Ȏ b%!4 � �* � -1,0:�prepare_book:�quick_save �) � 1:�prepare_search:�quick_save �* � 2:�prepare_address:�quick_save � � 2:Ȏ b%!4 � ) � 0:�prepare_search:�quick_save &^ � 1:�close_window(list%):�open_window(search%):ș "WimpExt_PutCaretIcon",,,search%,6 0� � 2:� �bit(pf_confirm%,2) � req%=3:ș "WimpExt_OpenRequester",,,"Query from TelAddr","Are you sure that you want to delete all records matched by the last search ?",ok_cancel%,1 � �delete_search : � D � 3:Ȏ b%!4 � N' � 0:�insert_record(record%,0) X' � 1:�insert_record(record%,1) b� � 2:� �bit(pf_confirm%,1) � req%=1:ș "WimpExt_OpenRequester",,,"Query from TelAddr","Delete record, are you sure ?",ok_cancel%,1 � �delete_record(record%,1) l� � 3:� �bit(pf_confirm%,0) � req%=6:ș "WimpExt_OpenRequester",,,"Query from TelAddr","Clear record, are you sure ?",ok_cancel%,1 � �blank_record(record%):�display(record%):� �open(book%) ș "WimpExt_PutCaretIcon",,,book%,9 v� � 4:� �bit(pf_confirm%,3) � req%=2:ș "WimpExt_OpenRequester",,,"Query from TelAddr","Are you sure that you want to delete the whole address book ?",ok_cancel%,1 � �delete_book � � � � 4:Ȏ b%!4 � �! � 0:pane_1%=pane_1% � 1 �� � pane_1% ș "WimpExt_UnHideLink",book%,,tools%:�open(book%) � ș "WimpExt_HideLink",book%,,tools%:�close_window(tools%) �8 ș "WimpExt_SetIcon",,,pref_pane%,68,pane_1% �! � 1:pane_2%=pane_2% � 1 �8 � pane_2% �open(book%) � �close_window(pos%) �8 ș "WimpExt_SetIcon",,,pref_pane%,69,pane_2% � � � � �C � col_menu%:ș "WimpExt_SetIconColour",,,pref_pane%,58,-1,!b% �� �� � quit% � E ș "Wimp_GetPointerInfo",,b%:� b%!8=1 � �menu(om%,x%,y%,ib%,oe) � � : *��quit:quit%=-1 4�� modified% � req%=4:quit%=0:ș "WimpExt_OpenRequester",,,"Query from TelAddr","The current address book has not been saved.",save_discard_cancel%,2 >� H: R9ݤon(w%,i%):!b%=w%:b%!4=i%:ș "Wimp_GetIconState",,b% \� (b%!24 � 1<<21)>0 =1 � =0 f: p=ݤbg_col(w%,i%):!b%=w%:b%!4=i%:ș "Wimp_GetIconState",,b% z=(b%!24 � %1111<<28)>>>28 �: �)��radio(w%,i1%,i2%,i%):� I%=i1% � i2% �-ș "WimpExt_SetIcon",,,w%,I%,�(I%=i%):�:� �: �*ݤwhich(w%,i1%,i2%):i%=-1:�I=i1% � i2% �� �on(w%,I)=1 i%=I � �:=i% �: �eݤerror(a$):$b%=" "+a$+�0:ș "Wimp_ReportError",b%,%11,name2$ � ,result%:� result%=1 � =1 � =0 �: �E��error(a$):$b%=" "+a$+�0:ș "Wimp_ReportError",b%,%1,name2$:� �: ���redraw(!b%) &ș "Wimp_RedrawWindow",,b% � flag% �get_coords ȕ flag% $= � !b%=list_pane% �redraw_list � ș "WimpExt_Redraw",,b% .( ș "Wimp_GetRectangle",,b% � flag% 8� B� L: V7��get_coords:xo%=6+b%!4-b%!20:yo%=-12+b%!16-b%!24:� `: j+��getorg:xo%=b%!4-b%!20:yo%=b%!16-b%!24 t!xo%+=16:yo%-=84:yo2%=yo%+20:� ~: �=ݤopen(w%):ș "WimpExt_CheckWindowOpen",w% � open%:=open% �: �z��createmenu(m%,title$,t$,� e):$m%=title$:t$+=",":m%!12=&70207:m%!20=44:m%!24=0:e=0:w%=0:c%=m%+28:ȕ t$<>"":� t$<>"" � �.i$=�t$,�t$,",")-1):s%=0:f%=&7000021:sm%=-1 �� �i$,"#")>0 � �6 e$=�i$,�i$,"#")+1):�I=1 � �e$:l$=�e$,I,1):Ȏ � � � � l$="E":s%=s% � 1<<3 � � l$="T":s%=s% � 1<<0 � � l$="S":f%=f% � 1<<22 �& � l$="L":s%=s% � 1<<1:e+=.56 �J � l$="F" � l$="B":l%=�(�e$,I+1,2)):I+=2:� l$="F" f2%=24 � f2%=28 �0 f%=f% � (15<<f2% � -1):f%=f% � l%<<f2% � �:i$=�i$,�i$,"#")-1) � (a=�i$,">"):� a>0 � �i$,a+1,1)<>">" � (0 sm%=�(�i$,a+1,�i$,"%",a+1)-a)):i$=�i$,a-1) 2� <?a=�i$,">"):� a>0 � �i$,a+1,1)=">" � i$=�i$,)+�i$,�(i$)-a-1) F*t$=�t$,�t$,",")+1):� �(i$)>w% w%=�(i$) P�!c%=s%:c%!4=sm%:c%!8=f%:� �(i$)<=12 $(c%+12)=i$:c%+=24 � c%!8=f% � 1<<8:$(menu%+menu_pos%)=i$:c%!12=menu%+menu_pos%:c%!16=val%:c%!20=�(i$):menu_pos%+=�(i$)+1:c%+=24 Z� de+=1 n� x� w%<=�title$ w%=�title$ �)m%!16=(w%+1)*16:c%!-24=c%!-24 � &80:� �: ���sub(mb%,a$,mc%,v%,bl%) �&w%=bl%*16:� �a$>=bl% w%=(�a$+1)*16 �6$mb%=a$:mb%!12=&70207:mb%!16=w%:mb%!20=44:mb%!24=0 �Hmb%!28=&84:mb%!32=-1:mb%!36=&7000121:mb%!40=mc%:mb%!44=v%:mb%!48=bl% �� �: ���quick_save � filename$=�string(filename%) �� �filename$,".") � � �save_it(filename$) � Ȏ save_type% � � 1:good_book$=filename$ " � 2:good_search$=filename$ # � 3:good_address$=filename$ " � , ș "Wimp_CreateMenu",,-1 6� @v req%=0:ș "WimpExt_OpenRequester",,,"Reminder from TelAddr","To save, drag the icon to a directory viewer",ok%,0 J� T� ^: h��save_it(filename$) rȎ save_type% � | � 1:w%=save_as% � � 2:w%=save_as1% � � 3:w%=save_as2% �� ��� save_type%=1 ș "WimpExt_GetIcon",,,w%,4 � partial%:� partial% �sortout_partial(0,save_as%,6,10):ș "WimpExt_GetNumberIcon",,,w%,6 � p1%:ș "WimpExt_GetNumberIcon",,,w%,10 � p2%:p1%-=1:p2%-=1 � p1%=0:p2%=max% �5� save_type%=3 ș "WimpExt_GetIcon",,,w%,4 � tel% �(ș "WimpExt_GetIcon",,,w%,3 � ascii% �@comma%=0:� save_type%=3 ș "WimpExt_GetIcon",,,w%,5 � comma% �Ȏ save_type% � �0 � 1:�save_book(filename$,p1%,p2%,1,comma%) �! � 2:�save_search(filename$) � � 3:� ascii%=0 tel%=1 �7 �save_book(filename$,record%,record%,tel%,comma%) �� � : 0��save_book(filename$,from%,to%,tel%,comma%) &ș "Hourglass_On" 0)� tel%=0 max_field%=7 � max_field%=10 :f%=� filename$ DD� ascii%=0 � �#f%,"TelAddr("+�file_ver%+","+�((to%-from%)+1)+")" N� rec%=from% � to% XG � to%-from%>0 ș "Hourglass_Percentage",�((rec%/(to%-from%))*100) b# tab_pos%=tab%+(rec%*rec_len%) l � field%=0 � max_field% v1 � ascii%=0 � (ascii%=1 � ?tab_pos%>=32) � �- $b3%=$tab_pos%:A%=b3%:� cut:a$=$b3% � � comma% � � fd%=field%:� fd%<7 � �A com%=0:� J%=fd%+1 � 7:� tab_pos%?(J%*32)>=32 com%=1 � � � � com%=0 � � � � fd%<=7 � a$<>"" � �& � com% a$+="," � a$+="." � � � � �( $b2%=a$:A%=b2%:� cut:�#f%,$b2% � � !, � ascii% � field%=7 � tel%=1 �#f%,"" ! tab_pos%+=32 ! � ! ! � ascii% � rec%<to% �#f%,"" !*� !4 � #f% !>#� ascii% ft%=&FFF � ft%=tel_ft% !H!ș "OS_File",18,filename$,ft% !R;ș "Hourglass_Off":�modified(0):� save_quit% � quit%=-1 !\� !f: !p(��save_search(filename$):old_rec%=-1 !zș "Hourglass_On" !�3A%=table%:B%=search_len%+1:number%=�(count_rec) !�f%=� filename$ !�>� ascii%=0 � �#f%,"TelAddr("+�file_ver%+","+�(number%)+")" !� � table_pos%=0 � search_len% !�O � search_len%>0 ș "Hourglass_Percentage",�((table_pos%/search_len%)*100) !�! rec%=table%!(table_pos%*12) !� � rec%<>old_rec% � !�% tab_pos%=tab%+(rec%*rec_len%) !� � field%=0 � 10 !�' � field%=8 � ascii%=1 �#f%,"" !�W � ascii%=0 � (ascii%=1 � ?tab_pos%>=32) $b2%=$tab_pos%:A%=b2%:� cut:�#f%,$b2% !� tab_pos%+=32 !� � "1 � ascii% � table_pos%<search_len% �#f%,"" " � " old_rec%=rec% "$� ". � #f% "8#� ascii% ft%=&FFF � ft%=tel_ft% "B!ș "OS_File",18,filename$,ft% "Lș "Hourglass_Off" "V� "`: "j��init_save "t#leaf$=�leaf(�string(filename%)) "~ ș "Wimp_GetPointerInfo",,b% "�=� b%!12<>save_as% � b%!12<>save_as1% � b%!12<>save_as2% � "�D b%!20=b%!12:b%!24=b%!16:b%!28=!b%:b%!32=b%!4:b%!36=�file_len+1 "�6 !b%=(3+44+�(leaf$+�0))�&FFFFFFFC:b%!12=0:b%!16=1 "�M b%!40=tel_ft%:$(b%+44)=leaf$+�0:ș "Wimp_SendMessage",18,b%,b%!20,b%!24 "�* myref%=b%!8:trans_len%=-1:st1_rec%=0 "�� "�� "�: "���data_save "�filename$=�string(b%+44) "��save_it(filename$) "�Ȏ save_type% � # � 1:good_book$=filename$ # � 2:good_search$=filename$ #! � 3:good_address$=filename$ #� #(ș "Wimp_CreateMenu",,-1 #2Fb%!12=b%!8:b%!16=3:!b%=256:ș "Wimp_SendMessage",18,b%,b%!20,b%!24 #<� #F: #P6ݤstring(a%):a$="":ȕ ?a%>=32:a$+=�?a%:a%+=1:�:=a$ #Z: #d\��str(a%,a2%,� len%):len%=0:ȕ ?a%>=32:?a2%=?a%:a%+=1:a2%+=1:len%+=1:�:?a2%=10:len%+=1:� #n: #x2ݤleaf($b%):ș "WimpExt_FindLeaf",b% � a%:=$a% #�: #�Gݤin(w%,i%):!b2%=w%:b2%!4=i%:ș "Wimp_GetIconState",,b2%:=$(b2%!28) #�: #�Eݤin_addr(w%,i%):!b%=w%:b%!4=i%:ș "Wimp_GetIconState",,b%:=b%!28 #�: #�ݤval(w%,i%)=�(�in(w%,i%)) #�: #� ��pos #�!p$=�(record%+1)+"/"+�(max%+1) #�Q� p$<>pos$ ș "WimpExt_SetIconString",,,pos%,6,p$:pos$=p$:pos_record%=record% #�� #�: #���show(rec%) $�store(pos_record%) $� rec%<0 rec%=0 $� rec%>max% rec%=max% $"record%=rec% $,�pos $6�display(record%) $@� $J: $T��display(rec%) $^!tab_pos%=tab%+(rec%*rec_len%) $h� field%=0 � 10 $r: ș "WimpExt_SetIconString",,,book%,field%+9,tab_pos% $| tab_pos%+=32 $�� $�� $�: $���store(rec%) $�!tab_pos%=tab%+(rec%*rec_len%) $�� field%=0 � 10 $�5 � $tab_pos%<>�in(book%,field%+9) � �modified(1) $�# $tab_pos%=�in(book%,field%+9) $� tab_pos%+=32 $�� $�� $�: $���blank_record(rec%) %!tab_pos%=tab%+(rec%*rec_len%) %� field%=0 � 10 % ?tab_pos%=13 %& tab_pos%+=32 %0�:�modified(1) %:8� country% � $(tab%+(rec%*rec_len%)+(6*32))=country$ %D� %N: %X��insert_record(r%,type%) %b�store(pos_record%) %lrec%=r% %v�� max%=total_max%-1 req%=0:ș "WimpExt_OpenRequester",,,"Reminder from TelAddr","The maximum number of records has been reached ("+�total_max%+"), no more can be created.",ok%,0:� %��close_window(list%) %�D� rec%<max% � A%=tab%:B%=max%:C%=rec%+type%:D%=rec_len%:� insert %�'record%+=type%:max%+=1:�modified(1) %��blank_record(record%) %��display(record%) %�;�pos:� �open(book%) ș "WimpExt_PutCaretIcon",,,book%,9 %�� %�: %���delete_record(rec%,show%) %�� max%=0 � %��close_window(list%) %�>� rec%<max% � A%=tab%:B%=max%:C%=rec%:D%=rec_len%:� delete %�max%-=1:�modified(1) &� record%>max% record%=max% &U� show% �display(record%):�pos:� �open(book%) ș "WimpExt_PutCaretIcon",,,book%,9 &� & : &*ݤload_ack &4� b%!40<>tel_ft% � =0 &>7b%!12=b%!8:b%!16=4:ș "Wimp_SendMessage",17,b%,b%!4 &H=1 &R: &\��save_ack &f� b%!40<>tel_ft% � � &p$(b%+44)="<Wimp$Scrap>"+�0 &z7b%!12=b%!8:b%!16=2:ș "Wimp_SendMessage",17,b%,b%!4 &�� &�: &�Qݤblank(r%):blank%=1:� I%=0 � 10:� ?(tab%+(r%*rec_len%)+(I%*32))>=32 blank%=0 &� �:=blank% &�: &�)��load_file(fn$,merge%):old_max%=max% &�f%=� fn$:� f%=0 failed%=1:� &�info$=�#f% &Ե� �info$,1,�info$,"(")-1)<>"TelAddr" � �info$,"(")=0 req%=0:ș "WimpExt_OpenRequester",,,"Error from TelAddr","This file is not in the TelAddr format, load failed.",ok%,0:�#f%:� &�5p_v%=��info$,9,3):rec%=��info$,13,�info$,")")-13) &�� p_v%>file_ver% req%=0:ș "WimpExt_OpenRequester",,,"Error from TelAddr","This file was created by a higher version of TelAddr, load failed.",ok%,0:�#f%:� &�� rec%>total_max% req%=0:ș "WimpExt_OpenRequester",,,"Error from TelAddr","This file contains more records that TelAddr can handle, load failed.",ok%,0:�#f%:� &�� merge% � '� � �blank(record%) � rec%=1 � pf_merge%=0 � start%=record%:end%=record% � � �blank(max%) � start%=max%:end%=start%+rec%-1:max%+=rec%-1 � start%=max%+1:end%=start%+rec%-1:max%+=rec% '� '$ start%=0:end%=rec%-1:max%=end% '$� '.�� max%>total_max%-1 req%=0:max%=old_max%:ș "WimpExt_OpenRequester",,,"Error from TelAddr","By merging these two files, the result would be more records that TelAddr can handle, merge failed.",ok%,0:�#f%:� '8ș "Hourglass_On" 'B� rec%=start% � end% 'LT � max%-start%>0 ș "Hourglass_Percentage",�(((rec%-start%)/(max%-start%))*100) 'V# tab_pos%=tab%+(rec%*rec_len%) '` � field%=0 � 10 'j $tab_pos%=��#f%,31) 't tab_pos%+=32 '~ � '�� '��#f% '�ș "Hourglass_Off" '�rrecord%=start%:�display(record%):�pos:� �open(book%)=0 �open_window(book%):ș "WimpExt_PutCaretIcon",,,book%,9 '�� merge%=0 good_book$=fn$ '�*�modified(merge%):�close_window(list%) '�� '�: '� ��sort '��store(record%) '�ș "Hourglass_On" '�� I%=0 � max% ( ) pointers%!(I%*4)=tab%+(I%*rec_len%) ( � (6ș "OS_HeapSort",max%+1,pointers%,4,,tab%,rec_len% (3A%=tab%:B%=pointers%:C%=max%:D%=rec_len%:� sort ((�display(record%) (28ș "Hourglass_Off":�modified(1):�close_window(list%) (<� (F: (P��redraw_list:y_top%=0 (Z)top%=(yo%-b%!40) � 48:� top%<0 top%=0 (dbase%=(60+yo%-b%!32) � 48 (nș "Wimp_SetColour",7 (xA� xo%+(4*16)-10,yo%-(top%*48)+12,xo%+(4*16)-10,yo%-(base%*48) (�*i%=top%:ȕ i%<=search_len% � i%<=base% (� col%=0:� i%=search_sel% � (� col%=2:y_top%=0 (� � (� � i%=old_search_sel% � (� col%=1 (�5 � old_search_sel%=search_sel%+1 � y_top%=-4 (� � (� � (ܭ � col%>0 ș "Wimp_SetColour",col%:ȓ Ȑ xo%-6,yo%-(i%*48)+12+y_top%,(4*16)-6,-48-y_top%:ȓ Ȑ xo%+(4*16)-8,yo%-(i%*48)+12+y_top%,40*16,-48-y_top%:ș "Wimp_SetColour",7 (�- � xo%,yo%-(i%*48):n%=(table%!(i%*12))+1 (� � �3-��n%,"0");n% (� � xo%+(4*16),yo%-(i%*48) )C A%=tab%+((table%!(i%*12))*rec_len%)+((table%!((i%*12)+4))*32) ) � cut:a$=$A% ) p%=table%!((i%*12)+8) )"+ sl%=�search$:� �search$,1)="*" sl%-=1 ),j � �a$,p%-1);:ș "Wimp_SetColour",pf_colour%:� �a$,p%,sl%);:ș "Wimp_SetColour",7:� �a$,�a$-p%-sl%+1) )6K � SYS "Wimp_SetColour",3:PRINT "...altered...":SYS "Wimp_SetColour",7 )@i%+=1:� )J� )T: )^��search:�store(record%) )hJsearch_len%=-1:search_sel%=-1:old_search_sel%=0:search$=�in(search%,6) )r� search$="" req%=0:ș "WimpExt_OpenRequester",,,"Reminder from TelAddr","You cannot search using an empty string.",ok%,0:� )|=search_flag%=0:flag_pos%=0:� I%=7 � 15:� J%=0 � �(I%=8)*2 )�:search_flag%=search_flag% � �on(search%,I%)<<flag_pos% )�flag_pos%+=1:�:� )��� search_flag%=0 req%=0:ș "WimpExt_OpenRequester",,,"Reminder from TelAddr","You cannot start a search without specifying one or more fields to search in.",ok%,0:� )�case%=�on(search%,16) )�%� case%=0 search$=�lower(search$) )�ș "Hourglass_On" )�$b%=search$ )�jA%=tab%:B%=max%:C%=rec_len%:D%=table%:E%=b%:F%=�($b%):G%=search_flag%:H%=case%:search_len%=�(search)-1 )�ș "Hourglass_Off" )�� search_len%<0 req%=0:ș "WimpExt_OpenRequester",,,"Message from TelAddr","The search string could not be found within the current address book.",ok%,0:� )�)ht%=search_len%:� search_len%<7 ht%=7 )�M!b%=0:b%!4=-48*(ht%+1):b%!8=604:b%!12=0:ș "Wimp_SetExtent",list_pane%,b% )��close_window(search%) *3A%=table%:B%=search_len%+1:number%=�(count_rec) *V$b%="Search Results ("+�number%+" matched)":ș "WimpExt_SetWindowTitle",,,list%,b% *�scroll_top(list_pane%) *&#searched%=1:�open_window(list%) *0� *:: *DUݤlower(l$):s$="":�I%=1��l$:a%=��l$,I%,1):s$+=�(a% � (�(a%>64 � a%<91)*32)):�:=s$ *N: *X!��modified(m%):modified%=m%:� *b: *l��delete_searched *vș "Hourglass_On" *�old_rec%=-1 *�� max%>0 � *� � I%=search_len% � 0 � -1 *�W � search_len%>0 ș "Hourglass_Percentage",�(((search_len%-I%)/search_len%)*100) *� rec%=table%!(I%*12) *�$ � max%>=0 � rec%<>old_rec% � *�r � rec%<max% � A%=tab%:B%=max%:C%=rec%:D%=rec_len%:� delete:max%-=1:old_rec%=rec% � max%-=1:old_rec%=rec% *� *� � *� � *�� *�ș "Hourglass_Off" *��modified(1) +%� max%<=0 max%=0:�blank_record(0) +�close_window(list%) +� record%>max% record%=max% + �display(record%):�pos +*� +4: +>��scroll_req +Hy%=b%!24:sy%=b%!36:ch%=0 +RC� y% � 48 <>0 � b%!24=(y% � 48)*48:ch%=1:� sy%<0 b%!24=b%!24-48 +\0� �(sy%)=2 sy%=48*4*sy% � � ch%=0 sy%=sy%*48 +fb%!24=b%!24+sy% +pș "Wimp_OpenWindow",,b% +z� +�: +�0��save_prefs:z%=pref_pane%:ș "Hourglass_On" +�f%=� "<TelAddr$Dir>.Prefs" +�0�#f%,�on(z%,2),�on(z%,3),�on(z%,4),�on(z%,5) +�.�#f%,�which(z%,9,10)-9,�which(z%,13,14)-13 +�2� I%=19 � 27:�#f%,�on(z%,I%):�:�#f%,�on(z%,30) +�?�#f%,�which(z%,35,36)-35,�on(z%,37),�val(z%,39),�val(z%,43) +�;�#f%,�which(z%,48,49)-48,�which(z%,52,53)-52,�on(z%,54) +�"�#f%,�on(z%,57),�bg_col(z%,58) +�U�#f%,�on(z%,63),�in(z%,65),�on(z%,68),�on(z%,69),�on(z%,72),�in(z%,73),�on(z%,74) +��#f%:ș "Hourglass_Off" +�� +�: ,"��remember_prefs:z%=pref_pane% ,3A=�on(z%,2):B=�on(z%,3):C=�on(z%,4):D=�on(z%,5) ,-E=�which(z%,9,10)-9:F=�which(z%,13,14)-13 ,$�G=�on(z%,19):H=�on(z%,20):I=�on(z%,21):J=�on(z%,22):K=�on(z%,23):L=�on(z%,24):M=�on(z%,25):N=�on(z%,26):O=�on(z%,27):P=�on(z%,30) ,.BQ=�which(z%,35,36)-35:R=�on(z%,37):S=�val(z%,39):T=�val(z%,43) ,8<U=�which(z%,48,49)-48:V=�which(z%,52,53)-52:W=�on(z%,54) ,B=X=�on(z%,57):Y=�bg_col(z%,58):Z=�on(z%,63):AA$=�in(z%,65) ,LJZ1=�on(z%,68):Z2=�on(z%,69):Z3=�on(z%,72):BB$=�in(z%,73):Z4=�on(z%,74) ,V� ,`: ,j��cancel_prefs ,tW�set_prefs(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA$,Z1,Z2,Z3,BB$,Z4) ,~� ,�: ,�V��set_prefs(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a$,z1,z2,z3,b$,z4) ,�z%=pref_pane% ,�?ș "WimpExt_SetIcon",,,z%,2,a:ș "WimpExt_SetIcon",,,z%,3,b ,�?ș "WimpExt_SetIcon",,,z%,4,c:ș "WimpExt_SetIcon",,,z%,5,d ,�-�radio(z%,9,10,e+9):�radio(z%,13,14,f+13) ,�Aș "WimpExt_SetIcon",,,z%,19,g:ș "WimpExt_SetIcon",,,z%,20,h ,�Aș "WimpExt_SetIcon",,,z%,21,i:ș "WimpExt_SetIcon",,,z%,22,j ,�Aș "WimpExt_SetIcon",,,z%,23,k:ș "WimpExt_SetIcon",,,z%,24,l ,�Aș "WimpExt_SetIcon",,,z%,25,m:ș "WimpExt_SetIcon",,,z%,26,n ,�Aș "WimpExt_SetIcon",,,z%,27,o:ș "WimpExt_SetIcon",,,z%,30,p ,��radio(z%,35,36,q+35) - "ș "WimpExt_SetIcon",,,z%,37,r - Mș "WimpExt_SetNumberIcon",,,z%,39,s:ș "WimpExt_SetNumberIcon",,,z%,43,t -/�radio(z%,48,49,u+48):�radio(z%,52,53,v+52) -Aș "WimpExt_SetIcon",,,z%,54,w:ș "WimpExt_SetIcon",,,z%,57,x -(Jș "WimpExt_SetIconColour",,,z%,58,-1,y:ș "WimpExt_SetIcon",,,z%,63,z -2)ș "WimpExt_SetIconString",,,z%,65,a$ -<Cș "WimpExt_SetIcon",,,z%,68,z1:ș "WimpExt_SetIcon",,,z%,69,z2 -FIș "WimpExt_SetIcon",,,z%,72,z3:ș "WimpExt_SetIconString",,,z%,73,b$ -P#ș "WimpExt_SetIcon",,,z%,74,z4 -Z�sort_prefs:�ok_prefs -d� -n: -x��ok_prefs -�Fpf_confirm%=�on(z%,2) � �on(z%,3)<<1 � �on(z%,4)<<2 � �on(z%,5)<<3 -�;pf_merge%=�which(z%,9,10)-9:pf_add%=�which(z%,13,14)-13 -�[ș "WimpExt_SetIcon",,,search%,7,�on(z%,19):ș "WimpExt_SetIcon",,,search%,8,�on(z%,20) -�\ș "WimpExt_SetIcon",,,search%,9,�on(z%,21):ș "WimpExt_SetIcon",,,search%,10,�on(z%,22) -�]ș "WimpExt_SetIcon",,,search%,11,�on(z%,23):ș "WimpExt_SetIcon",,,search%,12,�on(z%,24) -�]ș "WimpExt_SetIcon",,,search%,13,�on(z%,25):ș "WimpExt_SetIcon",,,search%,14,�on(z%,26) -�]ș "WimpExt_SetIcon",,,search%,15,�on(z%,27):ș "WimpExt_SetIcon",,,search%,16,�on(z%,30) -�9ș "WimpExt_SetIcon",,,save_as%,3,�which(z%,35,36)-35 -�0ș "WimpExt_SetIcon",,,save_as%,4,�on(z%,37) -�5ș "WimpExt_SetIcon",,,save_as%,1,�on(save_as%,3) -�7ș "WimpExt_SetNumberIcon",,,save_as%,6,�val(z%,39) -�8ș "WimpExt_SetNumberIcon",,,save_as%,10,�val(z%,43) -�:ș "WimpExt_SetIcon",,,save_as1%,3,�which(z%,48,49)-48 .7ș "WimpExt_SetIcon",,,save_as1%,1,�on(save_as1%,3) .:ș "WimpExt_SetIcon",,,save_as2%,3,�which(z%,52,53)-52 .1ș "WimpExt_SetIcon",,,save_as2%,4,�on(z%,54) ."7ș "WimpExt_SetIcon",,,save_as2%,1,�on(save_as2%,3) .,1ș "WimpExt_SetIcon",,,save_as2%,5,�on(z%,74) .69� �on(z%,57) pf_colour%=�bg_col(z%,58) � pf_colour%=7 .@Zop1%=pane_1%:op2%=pane_2%:country%=�on(pref_pane%,72):country$=��in(pref_pane%,73),31) .J)pane_1%=�on(z%,68):pane_2%=�on(z%,69) .T� �on(z%,68)<>op1% � .^� � �on(z%,68) ș "WimpExt_UnHideLink",book%,,tools%:�open(book%) � ș "WimpExt_HideLink",book%,,tools%:�close_window(tools%) .h� .r� �on(z%,69)<>op2% � .|5 � �on(z%,69) �open(book%) � �close_window(pos%) .�� .�&� �open(list%) �redraw(list_pane%) .�F�open_at(save_as%,100000,100000):�open_at(save_as2%,100000,100000) .��save_size:�save2_size .�4�close_window(save_as%):�close_window(save_as2%) .�� .�: .���sort_prefs .�on%=�on(pref_pane%,37) � 1 .�D� I%=39 � 45:� I%<>42 ș "WimpExt_ShadeIcon",,,pref_pane%,I%,on% .�� .�Iș "WimpExt_ShadeIcon",,,pref_pane%,54,�(�which(pref_pane%,52,53)=52) .�Iș "WimpExt_ShadeIcon",,,pref_pane%,74,�(�which(pref_pane%,52,53)=52) /P� I%=58 � 59:ș "WimpExt_ShadeIcon",,,pref_pane%,I%,�on(pref_pane%,57) � 1:� /P� I%=64 � 65:ș "WimpExt_ShadeIcon",,,pref_pane%,I%,�on(pref_pane%,63) � 1:� /Aș "WimpExt_ShadeIcon",,,pref_pane%,73,�on(pref_pane%,72) � 1 /&� /0: /:&��load_prefs(l%):ș "Hourglass_On" /Df%=� "<TelAddr$Dir>.Prefs" /NN�#f%,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a$,z1,z2,z3,b$,z4 /X�#f%:ș "Hourglass_Off" /bU�set_prefs(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a$,z1,z2,z3,b$,z4) /lload%=z:� load% � load$=a$ /v� /�: /���default_prefs /�Y�set_prefs(0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,11,0,"",1,1,0,"England",1) /�� /�: /�5ݤbit(word%,bit%):� (word% � 1<<bit%)>0 � =1 � =0 /�: /���scroll_top(!b%) /� ș "Wimp_GetWindowState",,b% /�x%=100000:y%=100000 /�Ob%!24=0:w%=b%!12-b%!4:h%=b%!16-b%!8:b%!4=x%:b%!8=y%-h%:b%!12=x%+w%:b%!16=y% /�ș "Wimp_OpenWindow",,b% /�ș "Wimp_CloseWindow",,b% 0� 0: 0��ram_fetch 0 Ȏ save_type% � 0*) � 1:w%=save_as%:file_len%=�file_len 04� � 2:w%=save_as1%:file_len%=0:old_A%=-1:� I%=0 � search_len%:A%=tab%+((table%!(I%*12))*rec_len%):� A%<>old_A% B%=11:file_len%+=�(file_length) 0> old_A%=A%:� 0HP � 3:w%=save_as2%:A%=tab%+(record%*rec_len%):B%=11:file_len%=�(file_length) 0R� 0\(ș "WimpExt_GetIcon",,,w%,3 � ascii% 0f�� b%!24<file_len% req%=0:ș "WimpExt_OpenRequester",,,"Warning from TelAddr","Buffer passed from destination application is not big enough to process a RAM memory transfer save, save failed.",ok%,0:� 0ptel%=1:comma%=0 0zȎ save_type% � 0�0 � 1:ș "WimpExt_GetIcon",,,w%,4 � partial% 0� � partial% � 0�+ �sortout_partial(0,save_as%,6,10) 0�3 ș "WimpExt_GetNumberIcon",,,w%,6 � from% 0�B ș "WimpExt_GetNumberIcon",,,w%,10 � to%:from%-=1:to%-=1 0� � 0� from%=0:to%=max% 0� � 0�! � 2:from%=0:to%=search_len% 0�# � 3:from%=record%:to%=record% 0�* ș "WimpExt_GetIcon",,,w%,4 � tel% 0�, ș "WimpExt_GetIcon",,,w%,5 � comma% 0�� 1/� tel% � max_field%=10*32 � max_field%=7*32 1Z� save_type%=2 A%=table%:B%=search_len%+1:number%=�(count_rec) � number%=(to%-from%)+1 1� b%!12=myref% � 1$ sender%=b%!4 1. hisref%=b%!8 18 bufadd%=b%!20 1B bufsiz%=b%!24 1L offset%=0:old_rec%=-1 1V ș "Hourglass_On" 1`� � ascii%=0 � $b2%="TelAddr("+�file_ver%+","+�(number%)+")"+�10:l%=�($b2%):ș "Wimp_TransferBlock",task_handle%,b2%,sender%,bufadd%,l%:offset%+=l% 1j � I%=from% � to% 1tQ � (to%-from%)>0 ș "Hourglass_Percentage",�(((I%-from%)/(to%-from%))*100) 1~6 � save_type%=2 � rec%=table%!(I%*12) � rec%=I% 1�* � save_type%<>2 � rec%<>old_rec% � 1�1 length%=0:tab_pos%=tab%+(rec%*rec_len%) 1�& � field%=0 � max_field% � 32 1�T a%=b2%+length%:a2%=tab_pos%+field%:len%=0:$b3%=$a2%:A%=b3%:� cut:a$=$b3% 1� � comma% � 1�# f%=field%/32:� f%<7 � 1�B com%=0:� J%=f%+1 � 7:� tab_pos%?(J%*32)>=32 com%=1 1� � 1� � com%=0 1� � 1� � f%<=7 � a$<>"" � 1�( � com% a$+="," � a$+="." 2 � 2 � 2L � ascii%=0 � (ascii%=1 � ?a2%>=32) � $a%=a$:A%=a%:len%=�(cut2)+1 2 length%+=len% 2(J � ascii%=1 � field%=7*32 � tel%=1 ?(b2%+length%)=10:length%+=1 22 � 2<8 � ascii% � I%<to% ?(b2%+length%)=10:length%+=1 2FR ș "Wimp_TransferBlock",task_handle%,b2%,sender%,bufadd%+offset%,length% 2P offset%+=length% 2Z � 2d old_rec%=rec% 2n � 2x ș "Hourglass_Off" 2� b%!12=hisref% 2� b%!16=7 2� b%!24=offset% 2�) ș "Wimp_SendMessage",17,b%,sender% 2�� 2�Ȏ save_type% � 2�! � 1:�close_window(save_as%) 2�" � 2:�close_window(save_as1%) 2�" � 3:�close_window(save_as2%) 2�� 2�ș "Wimp_CreateMenu",,-1 2�� 2�: 3 ��help 35!b%=40:b%!16=&502:ș "Wimp_GetPointerInfo",,b%+20 3[w%=b%!32:i%=b%!36:S$="Click SELECT to ":M$="Click MENU to ":A$="Click ADJUST to ":m$="" 3"9W$="This window shows ":I$="This icon shows ":N$="|M" 3,#M$="Move the pointer right to " 36Ȏ w% � 3@E � file_info%:m$=W$+"information about the current address book" 3J � tools%:Ȏ i% � 3T* � 0:m$=S$+"open the search window" 3^1 � 1:m$=S$+"sort the current address book" 3h' � 2:m$=S$+"create a new record" 3r- � 3:m$=S$+"delete the current record" 3| � 3� � pos%:Ȏ i% � 3�, � 0:m$=S$+"move to the first record" 3�* � 1:m$=S$+"move back five records" 3�( � 2:m$=S$+"move back one record" 3�+ � 3:m$=S$+"move forward one record" 3�- � 4:m$=S$+"move forward five records" 3�+ � 5:m$=S$+"move to the last record" 3�Z � 6:m$=I$+"the current record number and the total number of records respectively" 3�+ � 7:m$=S$+"goto a specified record" 3� � 3� � search%:Ȏ i% � 3�V � 6:m$=I$+"the current search string."+N$+S$+"change the contents of the icon" 3�O � 7,8,9,10,11,12,13,14,15:m$=S$+"choose which fields to search through" 4G � 16:m$=S$+"toggle whether the search is case sensitive or not" 41 � 17:m$=S$+"perform the specified search" 4B � 18:m$=S$+"cancel the search and close the search window" 4& � 403 � info%:m$=W$+"information about the program" 4:9 � i%=7 � m$+=", and this is the excellent author !" 4D, � save_as%,save_as1%,save_as2%:Ȏ i% � 4Nz � 0:m$=I$+"the filename for the file. If it is not a complete pathname, drag the file icon to a directory display" 4X� � 1:m$="Drag this icon to the directory display you which to save the address book. Or, drag it to the application into which you want to transfer the file" 4b� � 2:m$=S$+"save the file under the current pathname. If it is not a complete pathname, you must drag the file icon to a directory display first" 4lg � 3:m$=S$+"toggle whether to save the file in the TelAddr format, or as a plain ASCII textfile" 4v � 4:Ȏ w% � 4�z � save_as%:m$=S$+"choose between a full save of the address book, or a partial save of just some of the records" 4�u � save_as2%:m$=S$+"choose whether you wish to include telephone numbers within the single address textfile" 4� � 4�z � 5:� w%=save_as2% m$=S$+"choose whether you wish to include commas and full stops after each line in the address" 4�� � 6:m$=I$+"the start record number for the partial save."+N$+S$+"alter the number, or use the arrow icons to the right to change the value" 4�I � 7:m$=S$+"decrease the start record number for the partial save" 4�� � 8:m$=S$+"increase the start record number for the partial save. Remember that the start record number will not go beyond the end record number" 4ƒ � 10:m$=I$+"the end record number for the partial save."+N$+S$+"alter the number, or use the arrow icons to the right to change the value" 4З � 11:m$=S$+"decrease the end record number for the partial save. Remember that the end record number will not go below the start record number" 4�H � 12:m$=S$+"increase the end record number for the partial save" 4� � 4� � list_pane%:m$=W$+"the record number and matched fields of the last search performed."+N$+S$+"move to the record and field in which this string was found" 4� � list%:Ȏ i% � 53 � 1:m$=S$+"close the search results window" 5Q � 2:m$=S$+"re-open the search window and close the search results window" 5< � 3:m$=S$+"delete the records matched by the search" 5 ? � 4:m$=S$+"open a save box to save the matched records" 5*I � 5:m$=S$+"redo the search, useful is the data has changed since" 54 � 5> � book%:Ȏ i% � 5HD � 9:m$=I$+"the name for this record."+N$+S$+"alter the data" 5R\ � 10,11,12:m$="These icons show the address for this record."+N$+S$+"alter the data" 5\E � 13:m$=I$+"the town for this record."+N$+S$+"alter the data" 5fG � 14:m$=I$+"the county for this record."+N$+S$+"alter the data" 5pH � 15:m$=I$+"the country for this record."+N$+S$+"alter the data" 5zI � 16:m$=I$+"the postcode for this record."+N$+S$+"alter the data" 5�V � 17:m$=I$+"the home telephone number for this record."+N$+S$+"alter the data" 5�V � 18:m$=I$+"the work telephone number for this record."+N$+S$+"alter the data" 5�U � 19:m$=I$+"the fax telephone number for this record."+N$+S$+"alter the data" 5� � 5� � pref%:Ȏ i% � 5�2 � 1:m$=S$+"accept the current preferences" 5�R � 2:m$=S$+"cancel the changed preferences and reset them to how they were" 5�1 � 3:m$=S$+"apply the default preferences" 5�0 � 4:m$=S$+"save the current preferences" 5�3 � 5:m$=S$+"load the last saved preferences" 5� � 5� � pref_pane%:Ȏ i% � 5�Q � 2:m$=S$+"toggle whether to ask for confirmation when clearing a record" 6Q � 3:m$=S$+"toggle whether to ask for confirmation when deleting a record" 6u � 4:m$=S$+"toggle whether to ask for confirmation when deleting the matched records found by the last search" 6b � 5:m$=S$+"toggle whether to ask for confirmation when deleting the complete address book" 6$� � 9:m$="If this option is selected, then when merging a single address file, TelAddr will check if the current record is blank; if so, it will replace it with the new address, otherwise it will append it to the end of the address book" 6.� � 10:m$="If this option is selected, then when merging any address file, TelAddr will always append it to the end of the address book" 68� � 13:m$="If this option is selected, then when adding records from the toolbox, they will be created before the current record" 6B� � 14:m$="If this option is selected, then when adding records from the toolbox, they will be created after the current record" 6LX � 19,20,21,22,23,24,25,26,27:m$=S$+"toggle the default fields to search through" 6VG � 30:m$=S$+"toggle whether to have case sensitivity as default" 6`V � 35:m$=S$+"choose the TelAddr format as default when saving the address book" 6jV � 36:m$=S$+"choose ASCII (a textfile) as default when saving the address book" 6tb � 37:m$=S$+"toggle whether to have partial saving as default when saving the address book" 6~� � 39:m$=I$+"the default start record number for the partial save."+N$+S$+"alter the number, or use the arrow icons to the right to change the value" 6�R � 40:m$=S$+"decrease the default start record number for the partial save" 6�R � 41:m$=S$+"increase the default start record number for the partial save" 6�� � 43:m$=I$+"the default end record number for the partial save."+N$+S$+"alter the number, or use the arrow icons to the right to change the value" 6�P � 44:m$=S$+"decrease the default end record number for the partial save" 6�P � 45:m$=S$+"increase the default end record number for the partial save" 6�X � 48:m$=S$+"choose the TelAddr format as default when saving the search results" 6�X � 49:m$=S$+"choose ASCII (a textfile) as default when saving the search results" 6�V � 52:m$=S$+"choose the TelAddr format as default when saving a single address" 6�V � 53:m$=S$+"choose ASCII (a textfile) as default when saving a single address" 6�m � 54:m$=S$+"toggle whether to include telephone numbers as default when saving a single address book" 6�m � 74:m$=S$+"toggle whether to add commas and full-stops as default when saving a single address book" 6�g � 57:m$=S$+"toggle whether to highlight the search string in the matched fields after a search" 7 2 � 58:m$=I$+"the default hightlight colour" 7 9 � 59:m$=S$+"change the default hightlight colour" 7a � 63:m$=S$+"toggle whether to load the specified address book when the program is loaded" 7� � 65:m$=I$+"the full pathname for the default address book."+N$+S$+" to alter it, or drag an address book file onto this file to use its pathname instead" 7(y � 68:m$=S$+"toggle whether to show the toolbox (attached to the side of the main address book window) by default" 72� � 69:m$=S$+"toggle whether to show the position window (attached to the bottom of the main address book window) by default" 7<\ � 72:m$=S$+"toggle whether to insert a default country when a new record is created" 7F> � 73:m$=I$+"the default country."+N$+S$+"to change it" 7P � 7Zx � -2:m$="This is the TelAddr icon, an editor of telephone and address books."+N$+S$+"open the address book window" 7d� 7n,� m$<>"" ș "WimpExt_SendHelp",m$+".",b% 7x� �
00000000 0d 00 0a 2f f4 20 3e 41 44 46 53 3a 3a 4d 41 44 |.../. >ADFS::MAD| 00000010 a0 34 2e 24 2e 54 65 6c 41 64 64 72 2e 21 54 65 |.4.$.TelAddr.!Te| 00000020 6c 41 64 64 72 2e 21 52 75 6e 49 6d 61 67 65 0d |lAddr.!RunImage.| 00000030 00 14 4d 6e 61 6d 65 31 24 3d 22 54 65 6c 41 64 |..Mname1$="TelAd| 00000040 64 72 22 3a 6e 61 6d 65 32 24 3d 22 54 65 6c 41 |dr":name2$="TelA| 00000050 64 64 72 22 3a 73 6b 69 70 25 3d 30 3a 70 6f 6c |ddr":skip%=0:pol| 00000060 6c 25 3d a3 3a 66 25 3d 2d 31 3a 69 6e 69 74 25 |l%=.:f%=-1:init%| 00000070 3d a3 3a de 20 62 25 20 26 38 30 30 0d 00 1e 28 |=.:. b% &800...(| 00000080 ee 20 85 20 e7 20 a4 65 72 72 3d 30 20 8c 20 f2 |. . . .err=0 . .| 00000090 63 6c 6f 73 65 5f 64 6f 77 6e 20 8b 20 73 6b 69 |close_down . ski| 000000a0 70 25 3d 31 0d 00 28 41 e7 20 73 6b 69 70 25 3d |p%=1..(A. skip%=| 000000b0 30 20 f2 69 6e 69 74 3a f2 61 73 73 65 6d 62 6c |0 .init:.assembl| 000000c0 65 3a f2 64 65 66 69 6e 65 3a 73 6b 69 70 25 3d |e:.define:skip%=| 000000d0 30 3a 70 6f 6c 6c 25 3d b9 3a f2 63 68 65 63 6b |0:poll%=.:.check| 000000e0 5f 6c 6f 61 64 0d 00 32 19 73 6b 69 70 25 3d 30 |_load..2.skip%=0| 000000f0 3a 70 6f 6c 6c 25 3d b9 3a f2 70 6f 6c 6c 0d 00 |:poll%=.:.poll..| 00000100 3c 0f f2 63 6c 6f 73 65 5f 64 6f 77 6e 0d 00 46 |<..close_down..F| 00000110 05 e0 0d 00 50 05 3a 0d 00 5a 12 dd a4 65 72 72 |....P.:..Z...err| 00000120 3a 65 72 72 6f 72 25 3d 30 0d 00 64 0d e7 20 70 |:error%=0..d.. p| 00000130 6f 6c 6c 25 20 8c 0d 00 6e 3f 20 20 65 24 3d f6 |oll% ...n? e$=.| 00000140 24 2b 22 20 28 22 2b c3 28 9f 29 2b 22 29 20 61 |$+" ("+.(.)+") a| 00000150 74 20 6c 69 6e 65 20 22 2b c3 28 9e 29 3a 65 25 |t line "+.(.):e%| 00000160 3d 63 6f 6e 74 69 6e 75 65 5f 71 75 69 74 25 3a |=continue_quit%:| 00000170 65 32 25 3d 30 0d 00 78 3c 20 20 e7 20 9f 3d 37 |e2%=0..x< . .=7| 00000180 31 36 32 32 20 8c 20 d9 23 66 25 3a c8 99 20 22 |1622 . .#f%:.. "| 00000190 4f 53 5f 46 69 6c 65 22 2c 36 2c 66 69 6c 65 6e |OS_File",6,filen| 000001a0 61 6d 65 24 3a 65 24 3d f6 24 3a 65 25 3d 6f 6b |ame$:e$=.$:e%=ok| 000001b0 25 0d 00 82 38 20 20 e7 20 9f 3d 32 30 34 20 84 |%...8 . .=204 .| 000001c0 20 9f 3d 36 37 37 38 35 20 84 20 9f 3d 36 37 37 | .=67785 . .=677| 000001d0 39 37 20 84 20 9f 3d 36 37 37 37 38 20 65 24 3d |97 . .=67778 e$=| 000001e0 f6 24 3a 65 25 3d 6f 6b 25 0d 00 8c 36 20 20 e7 |.$:e%=ok%...6 .| 000001f0 20 9f 3d 31 39 33 20 84 20 9f 3d 31 39 35 20 d9 | .=193 . .=195 .| 00000200 23 66 25 3a 65 24 3d 22 46 69 6c 65 20 69 73 20 |#f%:e$="File is | 00000210 6c 6f 63 6b 65 64 2e 22 3a 65 25 3d 6f 6b 25 0d |locked.":e%=ok%.| 00000220 00 96 41 20 20 c8 99 20 22 57 69 6d 70 45 78 74 |..A .. "WimpExt| 00000230 5f 4f 70 65 6e 52 65 71 75 65 73 74 65 72 22 2c |_OpenRequester",| 00000240 2c 2c 22 45 72 72 6f 72 20 66 72 6f 6d 20 54 65 |,,"Error from Te| 00000250 6c 41 64 64 72 22 2c 65 24 2c 65 25 2c 65 32 25 |lAddr",e$,e%,e2%| 00000260 0d 00 a0 16 20 20 72 65 71 25 3d 2d 31 3a 65 72 |.... req%=-1:er| 00000270 72 6f 72 25 3d 31 0d 00 aa 05 cc 0d 00 b4 43 20 |ror%=1........C | 00000280 20 65 24 3d f6 24 2b 22 20 28 22 2b c3 28 9f 29 | e$=.$+" ("+.(.)| 00000290 2b 22 29 20 61 74 20 6c 69 6e 65 20 22 2b c3 28 |+") at line "+.(| 000002a0 9e 29 2b 22 2c 20 71 75 69 74 20 70 72 6f 67 72 |.)+", quit progr| 000002b0 61 6d 20 3f 22 3a 6c 65 61 76 65 25 3d 30 0d 00 |am ?":leave%=0..| 000002c0 be 1e 20 20 e7 20 9f 3d 36 37 37 39 37 20 65 24 |.. . .=67797 e$| 000002d0 3d f6 24 3a 6c 65 61 76 65 25 3d 31 0d 00 c8 3e |=.$:leave%=1...>| 000002e0 20 20 e7 20 6c 65 61 76 65 25 3d 30 20 8c 20 65 | . leave%=0 . e| 000002f0 72 72 6f 72 25 3d a4 65 72 72 6f 72 28 65 24 29 |rror%=.error(e$)| 00000300 20 82 20 31 20 8b 20 f2 65 72 72 6f 72 28 65 24 | . 1 . .error(e$| 00000310 29 3a 65 72 72 6f 72 25 3d 30 0d 00 d2 05 cd 0d |):error%=0......| 00000320 00 dc 0b 3d 65 72 72 6f 72 25 0d 00 e6 05 3a 0d |...=error%....:.| 00000330 00 f0 0a dd f2 69 6e 69 74 0d 00 fa 5c c8 99 20 |.....init...\.. | 00000340 22 4f 53 5f 47 65 74 45 6e 76 22 20 b8 20 61 24 |"OS_GetEnv" . a$| 00000350 3a e7 20 a7 61 24 2c 22 2d 66 69 6c 65 20 22 29 |:. .a$,"-file ")| 00000360 20 8c 20 63 68 6b 5f 6c 64 25 3d 31 3a 63 68 6b | . chk_ld%=1:chk| 00000370 5f 6c 64 24 3d c1 61 24 2c a7 61 24 2c 22 2d 66 |_ld$=.a$,.a$,"-f| 00000380 69 6c 65 20 22 29 2b 36 29 20 8b 20 63 68 6b 5f |ile ")+6) . chk_| 00000390 6c 64 25 3d 30 0d 01 04 4d 74 65 6c 5f 66 74 25 |ld%=0...Mtel_ft%| 000003a0 3d 26 31 30 30 3a 70 72 6f 67 5f 76 65 72 25 3d |=&100:prog_ver%=| 000003b0 31 30 33 3a 66 69 6c 65 5f 76 65 72 25 3d 31 30 |103:file_ver%=10| 000003c0 30 3a 64 61 74 65 24 3d 22 31 33 2d 41 75 67 2d |0:date$="13-Aug-| 000003d0 39 33 22 3a 63 6f 64 65 5f 6c 65 6e 25 3d 31 30 |93":code_len%=10| 000003e0 32 34 0d 01 0e 27 de 20 62 32 25 20 26 33 30 30 |24...'. b2% &300| 000003f0 2c 62 33 25 20 26 31 30 30 2c 63 6f 64 65 25 20 |,b3% &100,code% | 00000400 63 6f 64 65 5f 6c 65 6e 25 0d 01 18 47 de 20 73 |code_len%...G. s| 00000410 31 25 20 26 41 30 2c 6d 31 25 20 26 41 30 2c 6d |1% &A0,m1% &A0,m| 00000420 32 25 20 26 31 30 30 2c 6d 33 25 20 26 31 30 30 |2% &100,m3% &100| 00000430 2c 6d 34 25 20 26 41 30 2c 6d 36 25 20 26 41 30 |,m4% &A0,m6% &A0| 00000440 2c 6d 37 25 20 26 41 30 2c 6d 38 25 20 26 41 30 |,m7% &A0,m8% &A0| 00000450 0d 01 22 45 de 20 67 6f 74 6f 25 20 34 2c 67 6f |.."E. goto% 4,go| 00000460 74 6f 5f 76 61 6c 25 20 38 2c 74 65 6d 70 6c 61 |to_val% 8,templa| 00000470 74 65 25 20 31 31 2a 31 30 32 34 2c 69 6e 64 69 |te% 11*1024,indi| 00000480 72 25 20 31 37 2a 31 30 32 34 2c 66 6f 6e 74 73 |r% 17*1024,fonts| 00000490 25 20 32 35 36 0d 01 2c 1f 65 6e 64 5f 69 6e 64 |% 256..,.end_ind| 000004a0 69 72 25 3d 69 6e 64 69 72 25 2b 28 31 37 2a 31 |ir%=indir%+(17*1| 000004b0 30 32 34 29 0d 01 36 1f 24 67 6f 74 6f 25 3d 22 |024)..6.$goto%="| 000004c0 22 3a 24 67 6f 74 6f 5f 76 61 6c 25 3d 22 61 30 |":$goto_val%="a0| 000004d0 2d 39 22 0d 01 40 12 74 6f 74 61 6c 5f 6d 61 78 |-9"..@.total_max| 000004e0 25 3d 32 35 36 0d 01 4a 14 72 65 63 5f 6c 65 6e |%=256..J.rec_len| 000004f0 25 20 20 3d 31 31 2a 33 32 0d 01 54 4d de 20 74 |% =11*32..TM. t| 00000500 61 62 25 20 74 6f 74 61 6c 5f 6d 61 78 25 2a 72 |ab% total_max%*r| 00000510 65 63 5f 6c 65 6e 25 2c 70 6f 69 6e 74 65 72 73 |ec_len%,pointers| 00000520 25 20 74 6f 74 61 6c 5f 6d 61 78 25 2a 34 2c 74 |% total_max%*4,t| 00000530 61 62 6c 65 25 20 74 6f 74 61 6c 5f 6d 61 78 25 |able% total_max%| 00000540 2a 31 31 2a 31 32 0d 01 5e 3e e3 20 49 25 3d 74 |*11*12..^>. I%=t| 00000550 61 62 25 20 b8 20 74 61 62 25 2b 28 74 6f 74 61 |ab% . tab%+(tota| 00000560 6c 5f 6d 61 78 25 2a 72 65 63 5f 6c 65 6e 25 29 |l_max%*rec_len%)| 00000570 20 88 20 72 65 63 5f 6c 65 6e 25 3a 24 49 25 3d | . rec_len%:$I%=| 00000580 22 22 3a ed 0d 01 68 2d de 20 6d 65 6e 75 25 20 |"":...h-. menu% | 00000590 26 31 30 30 2c 76 61 6c 25 20 31 36 3a 6d 65 6e |&100,val% 16:men| 000005a0 75 5f 70 6f 73 25 3d 30 3a 24 76 61 6c 25 3d 22 |u_pos%=0:$val%="| 000005b0 22 0d 01 72 44 de 20 6f 6b 5f 63 61 6e 63 65 6c |"..rD. ok_cancel| 000005c0 25 20 34 30 2c 6f 6b 25 20 34 30 2c 63 6f 6e 74 |% 40,ok% 40,cont| 000005d0 69 6e 75 65 5f 71 75 69 74 25 20 34 30 2c 73 61 |inue_quit% 40,sa| 000005e0 76 65 5f 64 69 73 63 61 72 64 5f 63 61 6e 63 65 |ve_discard_cance| 000005f0 6c 25 20 34 30 0d 01 7c 2c f2 62 75 74 74 6f 6e |l% 40..|,.button| 00000600 73 28 6f 6b 5f 63 61 6e 63 65 6c 25 2c 22 4f 4b |s(ok_cancel%,"OK| 00000610 22 2c 22 43 61 6e 63 65 6c 22 2c 22 22 2c 22 22 |","Cancel","",""| 00000620 29 0d 01 86 1f f2 62 75 74 74 6f 6e 73 28 6f 6b |).....buttons(ok| 00000630 25 2c 22 4f 4b 22 2c 22 22 2c 22 22 2c 22 22 29 |%,"OK","","","")| 00000640 0d 01 90 34 f2 62 75 74 74 6f 6e 73 28 63 6f 6e |...4.buttons(con| 00000650 74 69 6e 75 65 5f 71 75 69 74 25 2c 22 43 6f 6e |tinue_quit%,"Con| 00000660 74 69 6e 75 65 22 2c 22 51 75 69 74 22 2c 22 22 |tinue","Quit",""| 00000670 2c 22 22 29 0d 01 9a 3f f2 62 75 74 74 6f 6e 73 |,"")...?.buttons| 00000680 28 73 61 76 65 5f 64 69 73 63 61 72 64 5f 63 61 |(save_discard_ca| 00000690 6e 63 65 6c 25 2c 22 53 61 76 65 22 2c 22 44 69 |ncel%,"Save","Di| 000006a0 73 63 61 72 64 22 2c 22 43 61 6e 63 65 6c 22 2c |scard","Cancel",| 000006b0 22 22 29 0d 01 a4 25 6d 79 5f 66 6f 6e 74 24 3d |"")...%my_font$=| 000006c0 22 54 72 69 6e 69 74 79 2e 4d 65 64 69 75 6d 22 |"Trinity.Medium"| 000006d0 3a 6f 6b 61 79 25 3d 30 0d 01 ae 3b 63 6f 75 6e |:okay%=0...;coun| 000006e0 74 25 3d 30 3a f5 3a c8 99 20 22 46 6f 6e 74 5f |t%=0:.:.. "Font_| 000006f0 4c 69 73 74 46 6f 6e 74 73 22 2c 2c 62 25 2c 63 |ListFonts",,b%,c| 00000700 6f 75 6e 74 25 2c 2d 31 20 b8 20 2c 2c 63 6f 75 |ount%,-1 . ,,cou| 00000710 6e 74 25 0d 01 b8 12 e7 20 63 6f 75 6e 74 25 3c |nt%..... count%<| 00000720 3e 2d 31 20 8c 0d 01 c2 1c 20 20 e7 20 24 62 25 |>-1 ..... . $b%| 00000730 3d 6d 79 5f 66 6f 6e 74 24 20 6f 6b 61 79 25 3d |=my_font$ okay%=| 00000740 31 0d 01 cc 05 cd 0d 01 d6 0f fd 20 63 6f 75 6e |1.......... coun| 00000750 74 25 3d 2d 31 0d 01 e0 70 e7 20 6f 6b 61 79 25 |t%=-1...p. okay%| 00000760 3d 30 20 8c 20 f2 65 72 72 6f 72 28 22 21 54 65 |=0 . .error("!Te| 00000770 6c 41 64 64 72 20 6e 65 65 64 73 20 74 6f 20 68 |lAddr needs to h| 00000780 61 76 65 20 27 73 65 65 6e 27 20 74 68 65 20 54 |ave 'seen' the T| 00000790 72 69 6e 69 74 79 2e 4d 65 64 69 75 6d 20 66 6f |rinity.Medium fo| 000007a0 6e 74 20 62 65 66 6f 72 65 20 69 74 20 69 73 20 |nt before it is | 000007b0 6c 6f 61 64 65 64 2e 22 29 3a f2 63 6c 6f 73 65 |loaded."):.close| 000007c0 5f 64 6f 77 6e 0d 01 ea 11 de 20 73 61 25 20 31 |_down..... sa% 1| 000007d0 35 2a 31 30 32 34 0d 01 f4 4e 73 61 25 21 30 3d |5*1024...Nsa%!0=| 000007e0 31 35 2a 31 30 32 34 3a 73 61 25 21 34 3d 30 3a |15*1024:sa%!4=0:| 000007f0 73 61 25 21 38 3d 31 36 3a c8 99 20 34 36 2c 32 |sa%!8=16:.. 46,2| 00000800 35 36 2b 31 30 2c 73 61 25 2c 22 3c 22 2b 6e 61 |56+10,sa%,"<"+na| 00000810 6d 65 31 24 2b 22 24 44 69 72 3e 2e 53 70 72 69 |me1$+"$Dir>.Spri| 00000820 74 65 73 22 0d 01 fe 1d f2 69 6e 69 74 74 61 73 |tes".....inittas| 00000830 6b 28 6e 61 6d 65 32 24 29 3a 69 6e 69 74 25 3d |k(name2$):init%=| 00000840 b9 0d 02 08 1b e3 20 49 3d 30 20 b8 20 31 32 3a |...... I=0 . 12:| 00000850 62 25 21 28 49 2a 34 29 3d 30 3a ed 0d 02 12 65 |b%!(I*4)=0:....e| 00000860 c8 99 20 22 57 69 6d 70 45 78 74 5f 4c 6f 61 64 |.. "WimpExt_Load| 00000870 54 65 6d 70 6c 61 74 65 73 22 2c 62 25 2c 74 65 |Templates",b%,te| 00000880 6d 70 6c 61 74 65 25 2c 69 6e 64 69 72 25 2c 65 |mplate%,indir%,e| 00000890 6e 64 5f 69 6e 64 69 72 25 2c 66 6f 6e 74 73 25 |nd_indir%,fonts%| 000008a0 2c 22 3c 22 2b 6e 61 6d 65 31 24 2b 22 24 44 69 |,"<"+name1$+"$Di| 000008b0 72 3e 2e 54 65 6d 70 6c 61 74 65 73 22 2c 73 61 |r>.Templates",sa| 000008c0 25 0d 02 1c b8 66 69 6c 65 5f 69 6e 66 6f 25 3d |%....file_info%=| 000008d0 62 25 21 30 3a 74 6f 6f 6c 73 25 3d 62 25 21 34 |b%!0:tools%=b%!4| 000008e0 3a 70 6f 73 25 3d 62 25 21 38 3a 73 65 61 72 63 |:pos%=b%!8:searc| 000008f0 68 25 3d 62 25 21 31 32 3a 73 61 76 65 5f 61 73 |h%=b%!12:save_as| 00000900 31 25 3d 62 25 21 31 36 3a 6c 69 73 74 5f 70 61 |1%=b%!16:list_pa| 00000910 6e 65 25 3d 62 25 21 32 30 3a 62 6f 6f 6b 25 3d |ne%=b%!20:book%=| 00000920 62 25 21 32 34 3a 73 61 76 65 5f 61 73 25 3d 62 |b%!24:save_as%=b| 00000930 25 21 32 38 3a 6c 69 73 74 25 3d 62 25 21 33 32 |%!28:list%=b%!32| 00000940 3a 70 72 65 66 5f 70 61 6e 65 25 3d 62 25 21 33 |:pref_pane%=b%!3| 00000950 36 3a 73 61 76 65 5f 61 73 32 25 3d 62 25 21 34 |6:save_as2%=b%!4| 00000960 30 3a 70 72 65 66 25 3d 62 25 21 34 34 3a 69 6e |0:pref%=b%!44:in| 00000970 66 6f 25 3d 62 25 21 34 38 0d 02 26 2b c8 99 20 |fo%=b%!48..&+.. | 00000980 22 57 69 6d 70 45 78 74 5f 4c 69 6e 6b 57 69 6e |"WimpExt_LinkWin| 00000990 64 6f 77 73 22 2c 2c 2c 62 6f 6f 6b 25 2c 74 6f |dows",,,book%,to| 000009a0 6f 6c 73 25 0d 02 30 2f c8 99 20 22 57 69 6d 70 |ols%..0/.. "Wimp| 000009b0 45 78 74 5f 4c 69 6e 6b 57 69 6e 64 6f 77 73 22 |Ext_LinkWindows"| 000009c0 2c 2c 2c 6c 69 73 74 25 2c 6c 69 73 74 5f 70 61 |,,,list%,list_pa| 000009d0 6e 65 25 0d 02 3a 2f c8 99 20 22 57 69 6d 70 45 |ne%..:/.. "WimpE| 000009e0 78 74 5f 4c 69 6e 6b 57 69 6e 64 6f 77 73 22 2c |xt_LinkWindows",| 000009f0 2c 2c 70 72 65 66 25 2c 70 72 65 66 5f 70 61 6e |,,pref%,pref_pan| 00000a00 65 25 0d 02 44 36 c8 99 20 22 57 69 6d 70 45 78 |e%..D6.. "WimpEx| 00000a10 74 5f 53 65 74 49 63 6f 6e 53 74 72 69 6e 67 22 |t_SetIconString"| 00000a20 2c 2c 2c 69 6e 66 6f 25 2c 37 2c 22 4d 61 72 6b |,,,info%,7,"Mark| 00000a30 20 48 6f 62 73 6f 6e 22 0d 02 4e 72 76 24 3d c3 | Hobson"..Nrv$=.| 00000a40 28 70 72 6f 67 5f 76 65 72 25 20 83 20 31 30 30 |(prog_ver% . 100| 00000a50 29 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 |):.. "WimpExt_Se| 00000a60 74 49 63 6f 6e 53 74 72 69 6e 67 22 2c 2c 2c 69 |tIconString",,,i| 00000a70 6e 66 6f 25 2c 39 2c c3 28 70 72 6f 67 5f 76 65 |nfo%,9,.(prog_ve| 00000a80 72 25 20 81 31 30 30 29 2b 22 2e 22 2b c4 32 2d |r% .100)+"."+.2-| 00000a90 a9 76 24 2c 22 30 22 29 2b 76 24 2b 22 20 28 22 |.v$,"0")+v$+" ("| 00000aa0 2b 64 61 74 65 24 2b 22 29 22 0d 02 58 3e c8 99 |+date$+")"..X>..| 00000ab0 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f | "WimpExt_SetIco| 00000ac0 6e 53 74 72 69 6e 67 22 2c 2c 2c 69 6e 66 6f 25 |nString",,,info%| 00000ad0 2c 31 31 2c 22 28 63 29 31 39 39 33 20 41 63 6f |,11,"(c)1993 Aco| 00000ae0 72 6e 20 55 73 65 72 22 0d 02 62 2c c8 99 20 22 |rn User"..b,.. "| 00000af0 57 69 6d 70 45 78 74 5f 43 6f 6c 6f 75 72 73 4d |WimpExt_ColoursM| 00000b00 65 6e 75 22 2c 30 2c 30 20 b8 20 63 6f 6c 5f 6d |enu",0,0 . col_m| 00000b10 65 6e 75 25 0d 02 6c 38 c8 99 20 22 57 69 6d 70 |enu%..l8.. "Wimp| 00000b20 45 78 74 5f 49 63 6f 6e 42 61 72 53 70 72 69 74 |Ext_IconBarSprit| 00000b30 65 22 2c 2c 2c 2d 31 2c 22 21 74 65 6c 61 64 64 |e",,,-1,"!teladd| 00000b40 72 22 2c 2c 33 20 b8 20 62 61 72 25 0d 02 76 58 |r",,3 . bar%..vX| 00000b50 6f 70 74 58 25 3d 31 3a 71 75 69 74 25 3d 30 3a |optX%=1:quit%=0:| 00000b60 6d 61 78 25 3d 30 3a 72 65 63 6f 72 64 25 3d 30 |max%=0:record%=0| 00000b70 3a 70 6f 73 24 3d 22 22 3a 70 6f 73 5f 72 65 63 |:pos$="":pos_rec| 00000b80 6f 72 64 25 3d 30 3a 72 65 71 25 3d 2d 31 3a 73 |ord%=0:req%=-1:s| 00000b90 65 61 72 63 68 65 64 25 3d 30 3a 66 61 69 6c 65 |earched%=0:faile| 00000ba0 64 25 3d 30 0d 02 80 56 67 6f 6f 64 5f 62 6f 6f |d%=0...Vgood_boo| 00000bb0 6b 24 3d 22 41 64 64 72 42 6f 6f 6b 22 3a 67 6f |k$="AddrBook":go| 00000bc0 6f 64 5f 73 65 61 72 63 68 24 3d 22 53 65 61 72 |od_search$="Sear| 00000bd0 63 68 65 64 22 3a 67 6f 6f 64 5f 61 64 64 72 65 |ched":good_addre| 00000be0 73 73 24 3d 22 41 64 64 72 65 73 73 22 3a 73 61 |ss$="Address":sa| 00000bf0 76 65 5f 71 75 69 74 25 3d 30 0d 02 8a 17 70 61 |ve_quit%=0....pa| 00000c00 6e 65 5f 31 25 3d 31 3a 70 61 6e 65 5f 32 25 3d |ne_1%=1:pane_2%=| 00000c10 31 0d 02 94 50 f2 70 6f 73 3a f2 6c 6f 61 64 5f |1...P.pos:.load_| 00000c20 70 72 65 66 73 28 31 29 3a f2 62 6c 61 6e 6b 5f |prefs(1):.blank_| 00000c30 72 65 63 6f 72 64 28 72 65 63 6f 72 64 25 29 3a |record(record%):| 00000c40 f2 64 69 73 70 6c 61 79 28 72 65 63 6f 72 64 25 |.display(record%| 00000c50 29 3a f2 73 74 6f 72 65 28 72 65 63 6f 72 64 25 |):.store(record%| 00000c60 29 0d 02 9e 1e f2 6d 6f 64 69 66 69 65 64 28 30 |).....modified(0| 00000c70 29 3a 74 72 61 6e 73 5f 6c 65 6e 25 3d 2d 31 0d |):trans_len%=-1.| 00000c80 02 a8 05 e1 0d 02 b2 05 3a 0d 02 bc 0e dd f2 61 |........:......a| 00000c90 73 73 65 6d 62 6c 65 0d 02 c6 37 e3 20 49 25 3d |ssemble...7. I%=| 00000ca0 38 20 b8 20 31 30 20 88 20 32 3a 50 25 3d 63 6f |8 . 10 . 2:P%=co| 00000cb0 64 65 25 3a 4c 25 3d 63 6f 64 65 25 2b 63 6f 64 |de%:L%=code%+cod| 00000cc0 65 5f 6c 65 6e 25 3a 5b 4f 50 54 20 49 25 0d 02 |e_len%:[OPT I%..| 00000cd0 d0 04 0d 02 da 25 20 20 3b 20 4f 6e 20 65 6e 74 |.....% ; On ent| 00000ce0 72 79 20 2d 20 52 30 20 3d 20 61 72 72 61 79 20 |ry - R0 = array | 00000cf0 70 6f 69 6e 74 65 72 0d 02 e4 2e 20 20 3b 20 20 |pointer.... ; | 00000d00 20 20 20 20 20 20 20 20 20 20 52 31 20 3d 20 74 | R1 = t| 00000d10 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 66 |otal number of f| 00000d20 69 65 6c 64 73 0d 02 ee 07 20 20 3b 0d 02 f8 2c |ields.... ;...,| 00000d30 20 20 3b 20 4f 6e 20 65 78 69 74 20 20 2d 20 52 | ; On exit - R| 00000d40 30 20 3d 20 66 69 6c 65 20 6c 65 6e 67 74 68 20 |0 = file length | 00000d50 69 6e 20 62 79 74 65 73 0d 03 02 04 0d 03 0c 23 |in bytes.......#| 00000d60 20 20 2e 66 69 6c 65 5f 6c 65 6e 67 74 68 20 53 | .file_length S| 00000d70 54 4d 46 44 20 52 31 33 21 2c 7b 52 31 34 7d 0d |TMFD R13!,{R14}.| 00000d80 03 16 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00000d90 20 20 4d 4f 56 20 20 20 52 32 2c 23 30 0d 03 20 | MOV R2,#0.. | 00000da0 1e 20 20 2e 66 6c 5f 31 20 20 20 20 20 20 20 20 |. .fl_1 | 00000db0 4d 4f 56 20 20 20 52 33 2c 23 30 0d 03 2a 23 20 |MOV R3,#0..*# | 00000dc0 20 2e 66 6c 5f 32 20 20 20 20 20 20 20 20 4c 44 | .fl_2 LD| 00000dd0 52 42 20 20 52 34 2c 5b 52 30 2c 52 33 5d 0d 03 |RB R4,[R0,R3]..| 00000de0 34 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |4! | 00000df0 20 41 44 44 20 20 20 52 32 2c 52 32 2c 23 31 0d | ADD R2,R2,#1.| 00000e00 03 3e 21 20 20 20 20 20 20 20 20 20 20 20 20 20 |.>! | 00000e10 20 20 41 44 44 20 20 20 52 33 2c 52 33 2c 23 31 | ADD R3,R3,#1| 00000e20 0d 03 48 1f 20 20 20 20 20 20 20 20 20 20 20 20 |..H. | 00000e30 20 20 20 43 4d 50 20 20 20 52 34 2c 23 33 32 0d | CMP R4,#32.| 00000e40 03 52 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 |.R. | 00000e50 20 20 42 47 45 20 20 20 66 6c 5f 32 0d 03 5c 22 | BGE fl_2..\"| 00000e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 | A| 00000e70 44 44 20 20 20 52 30 2c 52 30 2c 23 33 32 0d 03 |DD R0,R0,#32..| 00000e80 66 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |f! | 00000e90 20 53 55 42 53 20 20 52 31 2c 52 31 2c 23 31 0d | SUBS R1,R1,#1.| 00000ea0 03 70 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 |.p. | 00000eb0 20 20 42 4e 45 20 20 20 66 6c 5f 31 0d 03 7a 1e | BNE fl_1..z.| 00000ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d | M| 00000ed0 4f 56 20 20 20 52 30 2c 52 32 0d 03 84 22 20 20 |OV R0,R2..." | 00000ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 4d | LDM| 00000ef0 46 44 20 52 31 33 21 2c 7b 50 43 7d 0d 03 8e 04 |FD R13!,{PC}....| 00000f00 0d 03 98 25 20 20 3b 20 4f 6e 20 65 6e 74 72 79 |...% ; On entry| 00000f10 20 2d 20 52 30 20 3d 20 61 72 72 61 79 20 70 6f | - R0 = array po| 00000f20 69 6e 74 65 72 0d 03 a2 2e 20 20 3b 20 20 20 20 |inter.... ; | 00000f30 20 20 20 20 20 20 20 20 52 31 20 3d 20 70 6f 69 | R1 = poi| 00000f40 6e 74 65 72 73 20 61 72 72 61 79 20 70 6f 69 6e |nters array poin| 00000f50 74 65 72 0d 03 ac 30 20 20 3b 20 20 20 20 20 20 |ter...0 ; | 00000f60 20 20 20 20 20 20 52 32 20 3d 20 6e 75 6d 62 65 | R2 = numbe| 00000f70 72 20 6f 66 20 72 65 63 6f 72 64 73 20 28 30 2e |r of records (0.| 00000f80 2e 6e 29 0d 03 b6 25 20 20 3b 20 20 20 20 20 20 |.n)...% ; | 00000f90 20 20 20 20 20 20 52 33 20 3d 20 72 65 63 6f 72 | R3 = recor| 00000fa0 64 20 6c 65 6e 67 74 68 0d 03 c0 04 0d 03 ca 23 |d length.......#| 00000fb0 20 20 2e 73 6f 72 74 20 20 20 20 20 20 20 20 53 | .sort S| 00000fc0 54 4d 46 44 20 52 31 33 21 2c 7b 52 31 34 7d 0d |TMFD R13!,{R14}.| 00000fd0 03 d4 24 20 20 20 20 20 20 20 20 20 20 20 20 20 |..$ | 00000fe0 20 20 4d 4f 56 20 20 20 52 32 2c 52 32 2c 4c 53 | MOV R2,R2,LS| 00000ff0 4c 23 32 0d 03 de 1e 20 20 20 20 20 20 20 20 20 |L#2.... | 00001000 20 20 20 20 20 20 4d 4f 56 20 20 20 52 34 2c 23 | MOV R4,#| 00001010 30 0d 03 e8 24 20 20 2e 73 6f 72 74 5f 31 20 20 |0...$ .sort_1 | 00001020 20 20 20 20 4d 4c 41 20 20 20 52 35 2c 52 34 2c | MLA R5,R4,| 00001030 52 33 2c 52 30 0d 03 f2 29 20 20 20 20 20 20 20 |R3,R0...) | 00001040 20 20 20 20 20 20 20 20 4c 44 52 20 20 20 52 36 | LDR R6| 00001050 2c 5b 52 31 2c 52 34 2c 4c 53 4c 23 32 5d 0d 03 |,[R1,R4,LSL#2]..| 00001060 fc 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00001070 20 4d 4f 56 20 20 20 52 39 2c 52 35 0d 04 06 1f | MOV R9,R5....| 00001080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d | M| 00001090 4f 56 20 20 20 52 31 30 2c 52 36 0d 04 10 1e 20 |OV R10,R6.... | 000010a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4d | CM| 000010b0 50 20 20 20 52 35 2c 52 36 0d 04 1a 1f 20 20 20 |P R5,R6.... | 000010c0 20 20 20 20 20 20 20 20 20 20 20 20 42 45 51 20 | BEQ | 000010d0 20 20 73 6f 72 74 5f 34 0d 04 24 2c 20 20 20 20 | sort_4..$, | 000010e0 20 20 20 20 20 20 20 20 20 20 20 53 54 4d 46 44 | STMFD| 000010f0 20 52 31 33 21 2c 7b 52 30 2d 52 34 2c 52 38 2d | R13!,{R0-R4,R8-| 00001100 52 31 30 7d 0d 04 2e 1e 20 20 20 20 20 20 20 20 |R10}.... | 00001110 20 20 20 20 20 20 20 4d 4f 56 20 20 20 52 37 2c | MOV R7,| 00001120 23 30 0d 04 38 24 20 20 2e 73 6f 72 74 5f 32 20 |#0..8$ .sort_2 | 00001130 20 20 20 20 20 4c 44 4d 49 41 20 52 35 20 2c 7b | LDMIA R5 ,{| 00001140 52 30 2d 52 33 7d 0d 04 42 28 20 20 20 20 20 20 |R0-R3}..B( | 00001150 20 20 20 20 20 20 20 20 20 4c 44 4d 49 41 20 52 | LDMIA R| 00001160 36 20 2c 7b 52 34 2c 52 38 2d 52 31 30 7d 0d 04 |6 ,{R4,R8-R10}..| 00001170 4c 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |L$ | 00001180 20 53 54 4d 49 41 20 52 36 21 2c 7b 52 30 2d 52 | STMIA R6!,{R0-R| 00001190 33 7d 0d 04 56 28 20 20 20 20 20 20 20 20 20 20 |3}..V( | 000011a0 20 20 20 20 20 53 54 4d 49 41 20 52 35 21 2c 7b | STMIA R5!,{| 000011b0 52 34 2c 52 38 2d 52 31 30 7d 0d 04 60 24 20 20 |R4,R8-R10}..`$ | 000011c0 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 4d | LDM| 000011d0 49 41 20 52 35 20 2c 7b 52 30 2d 52 33 7d 0d 04 |IA R5 ,{R0-R3}..| 000011e0 6a 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |j( | 000011f0 20 4c 44 4d 49 41 20 52 36 20 2c 7b 52 34 2c 52 | LDMIA R6 ,{R4,R| 00001200 38 2d 52 31 30 7d 0d 04 74 24 20 20 20 20 20 20 |8-R10}..t$ | 00001210 20 20 20 20 20 20 20 20 20 53 54 4d 49 41 20 52 | STMIA R| 00001220 36 21 2c 7b 52 30 2d 52 33 7d 0d 04 7e 28 20 20 |6!,{R0-R3}..~( | 00001230 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 4d | STM| 00001240 49 41 20 52 35 21 2c 7b 52 34 2c 52 38 2d 52 31 |IA R5!,{R4,R8-R1| 00001250 30 7d 0d 04 88 22 20 20 20 20 20 20 20 20 20 20 |0}..." | 00001260 20 20 20 20 20 41 44 44 20 20 20 52 37 2c 52 37 | ADD R7,R7| 00001270 2c 23 33 32 0d 04 92 20 20 20 20 20 20 20 20 20 |,#32... | 00001280 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 37 2c | CMP R7,| 00001290 23 33 32 30 0d 04 9c 1f 20 20 20 20 20 20 20 20 |#320.... | 000012a0 20 20 20 20 20 20 20 42 4c 45 20 20 20 73 6f 72 | BLE sor| 000012b0 74 5f 32 0d 04 a6 2c 20 20 20 20 20 20 20 20 20 |t_2..., | 000012c0 20 20 20 20 20 20 4c 44 4d 46 44 20 52 31 33 21 | LDMFD R13!| 000012d0 2c 7b 52 30 2d 52 34 2c 52 38 2d 52 31 30 7d 0d |,{R0-R4,R8-R10}.| 000012e0 04 b0 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 000012f0 20 20 4d 4f 56 20 20 20 52 37 2c 23 30 0d 04 ba | MOV R7,#0...| 00001300 23 20 20 2e 73 6f 72 74 5f 33 20 20 20 20 20 20 |# .sort_3 | 00001310 4c 44 52 20 20 20 52 38 2c 5b 52 31 2c 52 37 5d |LDR R8,[R1,R7]| 00001320 0d 04 c4 1e 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00001330 20 20 20 43 4d 50 20 20 20 52 38 2c 52 39 0d 04 | CMP R8,R9..| 00001340 ce 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.$ | 00001350 20 53 54 52 45 51 20 52 31 30 2c 5b 52 31 2c 52 | STREQ R10,[R1,R| 00001360 37 5d 0d 04 d8 21 20 20 20 20 20 20 20 20 20 20 |7]...! | 00001370 20 20 20 20 20 41 44 44 20 20 20 52 37 2c 52 37 | ADD R7,R7| 00001380 2c 23 34 0d 04 e2 1e 20 20 20 20 20 20 20 20 20 |,#4.... | 00001390 20 20 20 20 20 20 43 4d 50 20 20 20 52 37 2c 52 | CMP R7,R| 000013a0 32 0d 04 ec 1f 20 20 20 20 20 20 20 20 20 20 20 |2.... | 000013b0 20 20 20 20 42 4c 45 20 20 20 73 6f 72 74 5f 33 | BLE sort_3| 000013c0 0d 04 f6 21 20 20 2e 73 6f 72 74 5f 34 20 20 20 |...! .sort_4 | 000013d0 20 20 20 41 44 44 20 20 20 52 34 2c 52 34 2c 23 | ADD R4,R4,#| 000013e0 31 0d 05 00 25 20 20 20 20 20 20 20 20 20 20 20 |1...% | 000013f0 20 20 20 20 4d 4f 56 20 20 20 52 31 31 2c 52 32 | MOV R11,R2| 00001400 2c 4c 53 52 23 32 0d 05 0a 1f 20 20 20 20 20 20 |,LSR#2.... | 00001410 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 | CMP R| 00001420 34 2c 52 31 31 0d 05 14 1f 20 20 20 20 20 20 20 |4,R11.... | 00001430 20 20 20 20 20 20 20 20 42 4c 45 20 20 20 73 6f | BLE so| 00001440 72 74 5f 31 0d 05 1e 22 20 20 20 20 20 20 20 20 |rt_1..." | 00001450 20 20 20 20 20 20 20 4c 44 4d 46 44 20 52 31 33 | LDMFD R13| 00001460 21 2c 7b 50 43 7d 0d 05 28 04 0d 05 32 25 20 20 |!,{PC}..(...2% | 00001470 3b 20 4f 6e 20 65 6e 74 72 79 20 2d 20 52 30 20 |; On entry - R0 | 00001480 3d 20 61 72 72 61 79 20 70 6f 69 6e 74 65 72 0d |= array pointer.| 00001490 05 3c 30 20 20 3b 20 20 20 20 20 20 20 20 20 20 |.<0 ; | 000014a0 20 20 52 31 20 3d 20 6e 75 6d 62 65 72 20 6f 66 | R1 = number of| 000014b0 20 72 65 63 6f 72 64 73 20 28 30 2e 2e 6e 29 0d | records (0..n).| 000014c0 05 46 25 20 20 3b 20 20 20 20 20 20 20 20 20 20 |.F% ; | 000014d0 20 20 52 32 20 3d 20 72 65 63 6f 72 64 20 6c 65 | R2 = record le| 000014e0 6e 67 74 68 0d 05 50 2d 20 20 3b 20 20 20 20 20 |ngth..P- ; | 000014f0 20 20 20 20 20 20 20 52 33 20 3d 20 72 65 73 75 | R3 = resu| 00001500 6c 74 73 20 74 61 62 6c 65 20 70 6f 69 6e 74 65 |lts table pointe| 00001510 72 0d 05 5a 44 20 20 3b 20 20 20 20 20 20 20 20 |r..ZD ; | 00001520 20 20 20 20 52 34 20 3d 20 73 65 61 72 63 68 20 | R4 = search | 00001530 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 20 28 |string pointer (| 00001540 69 6e 63 6c 75 64 69 6e 67 20 77 69 6c 64 2d 63 |including wild-c| 00001550 61 72 64 73 29 0d 05 64 2c 20 20 3b 20 20 20 20 |ards)..d, ; | 00001560 20 20 20 20 20 20 20 20 52 35 20 3d 20 73 65 61 | R5 = sea| 00001570 72 63 68 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 |rch string lengt| 00001580 68 0d 05 6e 37 20 20 3b 20 20 20 20 20 20 20 20 |h..n7 ; | 00001590 20 20 20 20 52 36 20 3d 20 66 6c 61 67 73 20 2d | R6 = flags -| 000015a0 20 62 69 74 73 20 30 2d 31 30 20 3d 20 66 69 65 | bits 0-10 = fie| 000015b0 6c 64 20 66 6c 61 67 73 0d 05 78 26 20 20 3b 20 |ld flags..x& ; | 000015c0 20 20 20 20 20 20 20 20 20 20 20 52 37 20 3d 20 | R7 = | 000015d0 63 61 73 65 20 73 65 6e 73 69 74 69 76 65 0d 05 |case sensitive..| 000015e0 82 07 20 20 3b 0d 05 8c 38 20 20 3b 20 4f 6e 20 |.. ;...8 ; On | 000015f0 65 78 69 74 20 20 2d 20 52 30 20 3d 20 6e 75 6d |exit - R0 = num| 00001600 62 65 72 20 6f 66 20 73 74 72 69 6e 67 73 20 6d |ber of strings m| 00001610 61 74 63 68 65 64 20 28 30 2e 2e 6e 29 0d 05 96 |atched (0..n)...| 00001620 04 0d 05 a0 23 20 20 2e 73 65 61 72 63 68 20 20 |....# .search | 00001630 20 20 20 20 53 54 4d 46 44 20 52 31 33 21 2c 7b | STMFD R13!,{| 00001640 52 31 34 7d 0d 05 aa 27 20 20 20 20 20 20 20 20 |R14}...' | 00001650 20 20 20 20 20 20 20 53 54 52 20 20 20 52 36 2c | STR R6,| 00001660 73 65 61 72 63 68 5f 66 6c 61 67 0d 05 b4 1e 20 |search_flag.... | 00001670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f | MO| 00001680 56 20 20 20 52 36 2c 52 37 0d 05 be 1e 20 20 20 |V R6,R7.... | 00001690 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 | MOV | 000016a0 20 20 52 37 2c 23 30 0d 05 c8 26 20 20 20 20 20 | R7,#0...& | 000016b0 20 20 20 20 20 20 20 20 20 20 53 54 52 20 20 20 | STR | 000016c0 52 37 2c 73 65 61 72 63 68 5f 6c 65 6e 0d 05 d2 |R7,search_len...| 000016d0 1e 20 20 2e 73 65 61 72 63 68 5f 31 20 20 20 20 |. .search_1 | 000016e0 4d 4f 56 20 20 20 52 38 2c 23 30 0d 05 dc 27 20 |MOV R8,#0...' | 000016f0 20 2e 73 65 61 72 63 68 5f 32 20 20 20 20 4c 44 | .search_2 LD| 00001700 52 20 20 20 52 39 2c 73 65 61 72 63 68 5f 66 6c |R R9,search_fl| 00001710 61 67 0d 05 e6 1f 20 20 20 20 20 20 20 20 20 20 |ag.... | 00001720 20 20 20 20 20 4d 4f 56 20 20 20 52 31 30 2c 23 | MOV R10,#| 00001730 31 0d 05 f0 27 20 20 20 20 20 20 20 20 20 20 20 |1...' | 00001740 20 20 20 20 80 20 20 20 52 39 2c 52 39 2c 52 31 | . R9,R9,R1| 00001750 30 2c 4c 53 4c 20 52 38 0d 05 fa 1e 20 20 20 20 |0,LSL R8.... | 00001760 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 | CMP | 00001770 20 52 39 2c 23 30 0d 06 04 24 20 20 20 20 20 20 | R9,#0...$ | 00001780 20 20 20 20 20 20 20 20 20 42 45 51 20 20 20 73 | BEQ s| 00001790 65 61 72 63 68 5f 6e 65 78 74 0d 06 0e 24 20 20 |earch_next...$ | 000017a0 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4c 41 | MLA| 000017b0 20 20 20 52 39 2c 52 37 2c 52 32 2c 52 30 0d 06 | R9,R7,R2,R0..| 000017c0 18 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.' | 000017d0 20 41 44 44 20 20 20 52 39 2c 52 39 2c 52 38 2c | ADD R9,R9,R8,| 000017e0 4c 53 4c 23 35 0d 06 22 1f 20 20 20 20 20 20 20 |LSL#5..". | 000017f0 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 52 31 | MOV R1| 00001800 30 2c 23 30 0d 06 2c 1f 20 20 20 20 20 20 20 20 |0,#0..,. | 00001810 20 20 20 20 20 20 20 4d 4f 56 20 20 20 52 31 34 | MOV R14| 00001820 2c 23 30 0d 06 36 25 20 20 20 20 20 20 20 20 20 |,#0..6% | 00001830 20 20 20 20 20 20 4c 44 52 42 20 20 52 31 31 2c | LDRB R11,| 00001840 5b 52 34 2c 52 31 34 5d 0d 06 40 25 20 20 20 20 |[R4,R14]..@% | 00001850 20 20 20 20 20 20 20 20 20 20 20 4c 44 52 42 20 | LDRB | 00001860 20 52 31 32 2c 5b 52 39 2c 52 31 30 5d 0d 06 4a | R12,[R9,R10]..J| 00001870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001880 43 4d 50 20 20 20 52 31 32 2c 23 33 32 0d 06 54 |CMP R12,#32..T| 00001890 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |$ | 000018a0 42 4c 54 20 20 20 73 65 61 72 63 68 5f 6e 65 78 |BLT search_nex| 000018b0 74 0d 06 5e 22 20 20 20 20 20 20 20 20 20 20 20 |t..^" | 000018c0 20 20 20 20 43 4d 50 20 20 20 52 31 31 2c 23 97 | CMP R11,#.| 000018d0 22 23 22 0d 06 68 22 20 20 20 20 20 20 20 20 20 |"#"..h" | 000018e0 20 20 20 20 20 20 42 45 51 20 20 20 73 65 61 72 | BEQ sear| 000018f0 63 68 5f 33 62 0d 06 72 22 20 20 20 20 20 20 20 |ch_3b..r" | 00001900 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 31 | CMP R1| 00001910 31 2c 23 97 22 2a 22 0d 06 7c 23 20 20 20 20 20 |1,#."*"..|# | 00001920 20 20 20 20 20 20 20 20 20 20 42 45 51 20 20 20 | BEQ | 00001930 73 65 61 72 63 68 5f 33 78 32 0d 06 86 25 20 20 |search_3x2...% | 00001940 2e 73 65 61 72 63 68 5f 33 20 20 20 20 4c 44 52 |.search_3 LDR| 00001950 42 20 20 52 31 32 2c 5b 52 39 2c 52 31 30 5d 0d |B R12,[R9,R10].| 00001960 06 90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00001970 20 20 43 4d 50 20 20 20 52 31 32 2c 23 33 32 0d | CMP R12,#32.| 00001980 06 9a 24 20 20 20 20 20 20 20 20 20 20 20 20 20 |..$ | 00001990 20 20 42 4c 54 20 20 20 73 65 61 72 63 68 5f 6e | BLT search_n| 000019a0 65 78 74 0d 06 a4 1e 20 20 20 20 20 20 20 20 20 |ext.... | 000019b0 20 20 20 20 20 20 43 4d 50 20 20 20 52 36 2c 23 | CMP R6,#| 000019c0 30 0d 06 ae 22 20 20 20 20 20 20 20 20 20 20 20 |0..." | 000019d0 20 20 20 20 42 4e 45 20 20 20 73 65 61 72 63 68 | BNE search| 000019e0 5f 33 61 0d 06 b8 20 20 20 20 20 20 20 20 20 20 |_3a... | 000019f0 20 20 20 20 20 20 43 4d 50 20 20 20 52 31 32 2c | CMP R12,| 00001a00 23 36 35 0d 06 c2 22 20 20 20 20 20 20 20 20 20 |#65..." | 00001a10 20 20 20 20 20 20 42 4c 54 20 20 20 73 65 61 72 | BLT sear| 00001a20 63 68 5f 33 61 0d 06 cc 20 20 20 20 20 20 20 20 |ch_3a... | 00001a30 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 31 | CMP R1| 00001a40 32 2c 23 39 30 0d 06 d6 22 20 20 20 20 20 20 20 |2,#90..." | 00001a50 20 20 20 20 20 20 20 20 42 47 54 20 20 20 73 65 | BGT se| 00001a60 61 72 63 68 5f 33 61 0d 06 e0 23 20 20 20 20 20 |arch_3a...# | 00001a70 20 20 20 20 20 20 20 20 20 20 84 52 20 20 20 52 | .R R| 00001a80 31 32 2c 52 31 32 2c 23 33 32 0d 06 ea 20 20 20 |12,R12,#32... | 00001a90 2e 73 65 61 72 63 68 5f 33 61 20 20 20 43 4d 50 |.search_3a CMP| 00001aa0 20 20 20 52 31 31 2c 52 31 32 0d 06 f4 21 20 20 | R11,R12...! | 00001ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4e 45 | BNE| 00001ac0 20 20 20 73 65 61 72 63 68 5f 34 0d 06 fe 25 20 | search_4...% | 00001ad0 20 2e 73 65 61 72 63 68 5f 33 62 20 20 20 4c 44 | .search_3b LD| 00001ae0 52 42 20 20 52 31 31 2c 5b 52 34 2c 52 31 34 5d |RB R11,[R4,R14]| 00001af0 0d 07 08 25 20 20 20 20 20 20 20 20 20 20 20 20 |...% | 00001b00 20 20 20 4c 44 52 42 20 20 52 31 32 2c 5b 52 39 | LDRB R12,[R9| 00001b10 2c 52 31 30 5d 0d 07 12 20 20 20 20 20 20 20 20 |,R10]... | 00001b20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 31 | CMP R1| 00001b30 32 2c 23 33 32 0d 07 1c 24 20 20 20 20 20 20 20 |2,#32...$ | 00001b40 20 20 20 20 20 20 20 20 42 4c 54 20 20 20 73 65 | BLT se| 00001b50 61 72 63 68 5f 6e 65 78 74 0d 07 26 22 20 20 20 |arch_next..&" | 00001b60 20 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 | CMP | 00001b70 20 20 52 31 31 2c 23 97 22 23 22 0d 07 30 23 20 | R11,#."#"..0# | 00001b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 45 | BE| 00001b90 51 20 20 20 73 65 61 72 63 68 5f 33 78 31 0d 07 |Q search_3x1..| 00001ba0 3a 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |:" | 00001bb0 20 43 4d 50 20 20 20 52 31 31 2c 23 97 22 2a 22 | CMP R11,#."*"| 00001bc0 0d 07 44 23 20 20 20 20 20 20 20 20 20 20 20 20 |..D# | 00001bd0 20 20 20 42 45 51 20 20 20 73 65 61 72 63 68 5f | BEQ search_| 00001be0 33 78 32 0d 07 4e 1e 20 20 20 20 20 20 20 20 20 |3x2..N. | 00001bf0 20 20 20 20 20 20 43 4d 50 20 20 20 52 36 2c 23 | CMP R6,#| 00001c00 30 0d 07 58 22 20 20 20 20 20 20 20 20 20 20 20 |0..X" | 00001c10 20 20 20 20 42 4e 45 20 20 20 73 65 61 72 63 68 | BNE search| 00001c20 5f 33 78 0d 07 62 20 20 20 20 20 20 20 20 20 20 |_3x..b | 00001c30 20 20 20 20 20 20 43 4d 50 20 20 20 52 31 32 2c | CMP R12,| 00001c40 23 36 35 0d 07 6c 22 20 20 20 20 20 20 20 20 20 |#65..l" | 00001c50 20 20 20 20 20 20 42 4c 54 20 20 20 73 65 61 72 | BLT sear| 00001c60 63 68 5f 33 78 0d 07 76 20 20 20 20 20 20 20 20 |ch_3x..v | 00001c70 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 31 | CMP R1| 00001c80 32 2c 23 39 30 0d 07 80 22 20 20 20 20 20 20 20 |2,#90..." | 00001c90 20 20 20 20 20 20 20 20 42 47 54 20 20 20 73 65 | BGT se| 00001ca0 61 72 63 68 5f 33 78 0d 07 8a 23 20 20 20 20 20 |arch_3x...# | 00001cb0 20 20 20 20 20 20 20 20 20 20 84 52 20 20 20 52 | .R R| 00001cc0 31 32 2c 52 31 32 2c 23 33 32 0d 07 94 20 20 20 |12,R12,#32... | 00001cd0 2e 73 65 61 72 63 68 5f 33 78 20 20 20 43 4d 50 |.search_3x CMP| 00001ce0 20 20 20 52 31 31 2c 52 31 32 0d 07 9e 22 20 20 | R11,R12..." | 00001cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4e 45 | BNE| 00001d00 20 20 20 73 65 61 72 63 68 5f 33 63 0d 07 a8 23 | search_3c...#| 00001d10 20 20 2e 73 65 61 72 63 68 5f 33 78 31 20 20 41 | .search_3x1 A| 00001d20 44 44 20 20 20 52 31 30 2c 52 31 30 2c 23 31 0d |DD R10,R10,#1.| 00001d30 07 b2 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00001d40 20 20 43 4d 50 20 20 20 52 31 30 2c 23 33 31 0d | CMP R10,#31.| 00001d50 07 bc 24 20 20 20 20 20 20 20 20 20 20 20 20 20 |..$ | 00001d60 20 20 42 45 51 20 20 20 73 65 61 72 63 68 5f 6e | BEQ search_n| 00001d70 65 78 74 0d 07 c6 23 20 20 20 20 20 20 20 20 20 |ext...# | 00001d80 20 20 20 20 20 20 41 44 44 20 20 20 52 31 34 2c | ADD R14,| 00001d90 52 31 34 2c 23 31 0d 07 d0 1f 20 20 20 20 20 20 |R14,#1.... | 00001da0 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 | CMP R| 00001db0 31 34 2c 52 35 0d 07 da 22 20 20 20 20 20 20 20 |14,R5..." | 00001dc0 20 20 20 20 20 20 20 20 42 4c 54 20 20 20 73 65 | BLT se| 00001dd0 61 72 63 68 5f 33 62 0d 07 e4 23 20 20 2e 73 65 |arch_3b...# .se| 00001de0 61 72 63 68 5f 33 78 32 20 20 53 54 52 20 20 20 |arch_3x2 STR | 00001df0 52 37 2c 5b 52 33 5d 2c 23 34 0d 07 ee 23 20 20 |R7,[R3],#4...# | 00001e00 20 20 20 20 20 20 20 20 20 20 20 20 20 53 54 52 | STR| 00001e10 20 20 20 52 38 2c 5b 52 33 5d 2c 23 34 0d 07 f8 | R8,[R3],#4...| 00001e20 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |$ | 00001e30 53 55 42 20 20 20 52 31 30 2c 52 31 30 2c 52 31 |SUB R10,R10,R1| 00001e40 34 0d 08 02 23 20 20 20 20 20 20 20 20 20 20 20 |4...# | 00001e50 20 20 20 20 41 44 44 20 20 20 52 31 30 2c 52 31 | ADD R10,R1| 00001e60 30 2c 23 31 0d 08 0c 24 20 20 20 20 20 20 20 20 |0,#1...$ | 00001e70 20 20 20 20 20 20 20 53 54 52 20 20 20 52 31 30 | STR R10| 00001e80 2c 5b 52 33 5d 2c 23 34 0d 08 16 27 20 20 20 20 |,[R3],#4...' | 00001e90 20 20 20 20 20 20 20 20 20 20 20 4c 44 52 20 20 | LDR | 00001ea0 20 52 31 31 2c 73 65 61 72 63 68 5f 6c 65 6e 0d | R11,search_len.| 00001eb0 08 20 23 20 20 20 20 20 20 20 20 20 20 20 20 20 |. # | 00001ec0 20 20 41 44 44 20 20 20 52 31 31 2c 52 31 31 2c | ADD R11,R11,| 00001ed0 23 31 0d 08 2a 27 20 20 20 20 20 20 20 20 20 20 |#1..*' | 00001ee0 20 20 20 20 20 53 54 52 20 20 20 52 31 31 2c 73 | STR R11,s| 00001ef0 65 61 72 63 68 5f 6c 65 6e 0d 08 34 24 20 20 20 |earch_len..4$ | 00001f00 20 20 20 20 20 20 20 20 20 20 20 20 42 20 20 20 | B | 00001f10 20 20 73 65 61 72 63 68 5f 6e 65 78 74 0d 08 3e | search_next..>| 00001f20 1f 20 20 2e 73 65 61 72 63 68 5f 33 63 20 20 20 |. .search_3c | 00001f30 4d 4f 56 20 20 20 52 31 34 2c 23 30 0d 08 48 25 |MOV R14,#0..H%| 00001f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c | L| 00001f50 44 52 42 20 20 52 31 31 2c 5b 52 34 2c 52 31 34 |DRB R11,[R4,R14| 00001f60 5d 0d 08 52 21 20 20 20 20 20 20 20 20 20 20 20 |]..R! | 00001f70 20 20 20 20 42 20 20 20 20 20 73 65 61 72 63 68 | B search| 00001f80 5f 33 0d 08 5c 23 20 20 2e 73 65 61 72 63 68 5f |_3..\# .search_| 00001f90 34 20 20 20 20 41 44 44 20 20 20 52 31 30 2c 52 |4 ADD R10,R| 00001fa0 31 30 2c 23 31 0d 08 66 20 20 20 20 20 20 20 20 |10,#1..f | 00001fb0 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 31 | CMP R1| 00001fc0 30 2c 23 33 31 0d 08 70 24 20 20 20 20 20 20 20 |0,#31..p$ | 00001fd0 20 20 20 20 20 20 20 20 42 45 51 20 20 20 73 65 | BEQ se| 00001fe0 61 72 63 68 5f 6e 65 78 74 0d 08 7a 21 20 20 20 |arch_next..z! | 00001ff0 20 20 20 20 20 20 20 20 20 20 20 20 42 20 20 20 | B | 00002000 20 20 73 65 61 72 63 68 5f 33 0d 08 84 21 20 20 | search_3...! | 00002010 2e 73 65 61 72 63 68 5f 6e 65 78 74 20 41 44 44 |.search_next ADD| 00002020 20 20 20 52 38 2c 52 38 2c 23 31 0d 08 8e 1f 20 | R8,R8,#1.... | 00002030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 4d | CM| 00002040 50 20 20 20 52 38 2c 23 31 30 0d 08 98 21 20 20 |P R8,#10...! | 00002050 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4c 45 | BLE| 00002060 20 20 20 73 65 61 72 63 68 5f 32 0d 08 a2 21 20 | search_2...! | 00002070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 | AD| 00002080 44 20 20 20 52 37 2c 52 37 2c 23 31 0d 08 ac 1e |D R7,R7,#1....| 00002090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 | C| 000020a0 4d 50 20 20 20 52 37 2c 52 31 0d 08 b6 21 20 20 |MP R7,R1...! | 000020b0 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4c 45 | BLE| 000020c0 20 20 20 73 65 61 72 63 68 5f 31 0d 08 c0 26 20 | search_1...& | 000020d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 | LD| 000020e0 52 20 20 20 52 30 2c 73 65 61 72 63 68 5f 6c 65 |R R0,search_le| 000020f0 6e 0d 08 ca 22 20 20 20 20 20 20 20 20 20 20 20 |n..." | 00002100 20 20 20 20 4c 44 4d 46 44 20 52 31 33 21 2c 7b | LDMFD R13!,{| 00002110 50 43 7d 0d 08 d4 04 0d 08 de 1a 20 20 2e 73 65 |PC}........ .se| 00002120 61 72 63 68 5f 6c 65 6e 20 20 45 51 55 44 20 20 |arch_len EQUD | 00002130 30 0d 08 e8 1a 20 20 2e 73 65 61 72 63 68 5f 66 |0.... .search_f| 00002140 6c 61 67 20 45 51 55 44 20 20 30 0d 08 f2 04 0d |lag EQUD 0.....| 00002150 08 fc 25 20 20 3b 20 4f 6e 20 65 6e 74 72 79 20 |..% ; On entry | 00002160 2d 20 52 30 20 3d 20 61 72 72 61 79 20 70 6f 69 |- R0 = array poi| 00002170 6e 74 65 72 0d 09 06 30 20 20 3b 20 20 20 20 20 |nter...0 ; | 00002180 20 20 20 20 20 20 20 52 31 20 3d 20 6e 75 6d 62 | R1 = numb| 00002190 65 72 20 6f 66 20 72 65 63 6f 72 64 73 20 28 30 |er of records (0| 000021a0 2e 2e 6e 29 0d 09 10 2b 20 20 3b 20 20 20 20 20 |..n)...+ ; | 000021b0 20 20 20 20 20 20 20 52 32 20 3d 20 73 74 61 72 | R2 = star| 000021c0 74 20 72 65 63 6f 72 64 20 28 30 2e 2e 6e 29 0d |t record (0..n).| 000021d0 09 1a 25 20 20 3b 20 20 20 20 20 20 20 20 20 20 |..% ; | 000021e0 20 20 52 33 20 3d 20 72 65 63 6f 72 64 20 6c 65 | R3 = record le| 000021f0 6e 67 74 68 0d 09 24 04 0d 09 2e 23 20 20 2e 69 |ngth..$....# .i| 00002200 6e 73 65 72 74 20 20 20 20 20 20 53 54 4d 46 44 |nsert STMFD| 00002210 20 52 31 33 21 2c 7b 52 31 34 7d 0d 09 38 21 20 | R13!,{R14}..8! | 00002220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 55 | MU| 00002230 4c 20 20 20 52 35 2c 52 31 2c 52 33 0d 09 42 21 |L R5,R1,R3..B!| 00002240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 | A| 00002250 44 44 20 20 20 52 30 2c 52 30 2c 52 35 0d 09 4c |DD R0,R0,R5..L| 00002260 1f 20 20 2e 69 6e 73 65 72 74 5f 31 20 20 20 20 |. .insert_1 | 00002270 4d 4f 56 20 20 20 52 34 2c 23 31 31 0d 09 56 21 |MOV R4,#11..V!| 00002280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 | A| 00002290 44 44 20 20 20 52 35 2c 52 30 2c 52 33 0d 09 60 |DD R5,R0,R3..`| 000022a0 29 20 20 2e 69 6e 73 65 72 74 5f 32 20 20 20 20 |) .insert_2 | 000022b0 4c 44 4d 49 41 20 52 30 21 2c 7b 52 36 2d 52 31 |LDMIA R0!,{R6-R1| 000022c0 32 2c 52 31 34 7d 0d 09 6a 29 20 20 20 20 20 20 |2,R14}..j) | 000022d0 20 20 20 20 20 20 20 20 20 53 54 4d 49 41 20 52 | STMIA R| 000022e0 35 21 2c 7b 52 36 2d 52 31 32 2c 52 31 34 7d 0d |5!,{R6-R12,R14}.| 000022f0 09 74 21 20 20 20 20 20 20 20 20 20 20 20 20 20 |.t! | 00002300 20 20 53 55 42 53 20 20 52 34 2c 52 34 2c 23 31 | SUBS R4,R4,#1| 00002310 0d 09 7e 21 20 20 20 20 20 20 20 20 20 20 20 20 |..~! | 00002320 20 20 20 42 4e 45 20 20 20 69 6e 73 65 72 74 5f | BNE insert_| 00002330 32 0d 09 88 21 20 20 20 20 20 20 20 20 20 20 20 |2...! | 00002340 20 20 20 20 53 55 42 20 20 20 52 30 2c 52 30 2c | SUB R0,R0,| 00002350 52 33 0d 09 92 21 20 20 20 20 20 20 20 20 20 20 |R3...! | 00002360 20 20 20 20 20 53 55 42 20 20 20 52 30 2c 52 30 | SUB R0,R0| 00002370 2c 52 33 0d 09 9c 21 20 20 20 20 20 20 20 20 20 |,R3...! | 00002380 20 20 20 20 20 20 53 55 42 20 20 20 52 31 2c 52 | SUB R1,R| 00002390 31 2c 23 31 0d 09 a6 1e 20 20 20 20 20 20 20 20 |1,#1.... | 000023a0 20 20 20 20 20 20 20 43 4d 50 20 20 20 52 31 2c | CMP R1,| 000023b0 52 32 0d 09 b0 21 20 20 20 20 20 20 20 20 20 20 |R2...! | 000023c0 20 20 20 20 20 42 47 45 20 20 20 69 6e 73 65 72 | BGE inser| 000023d0 74 5f 31 0d 09 ba 22 20 20 20 20 20 20 20 20 20 |t_1..." | 000023e0 20 20 20 20 20 20 4c 44 4d 46 44 20 52 31 33 21 | LDMFD R13!| 000023f0 2c 7b 50 43 7d 0d 09 c4 04 0d 09 ce 25 20 20 3b |,{PC}.......% ;| 00002400 20 4f 6e 20 65 6e 74 72 79 20 2d 20 52 30 20 3d | On entry - R0 =| 00002410 20 61 72 72 61 79 20 70 6f 69 6e 74 65 72 0d 09 | array pointer..| 00002420 d8 30 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 |.0 ; | 00002430 20 52 31 20 3d 20 6e 75 6d 62 65 72 20 6f 66 20 | R1 = number of | 00002440 72 65 63 6f 72 64 73 20 28 30 2e 2e 6e 29 0d 09 |records (0..n)..| 00002450 e2 2b 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 |.+ ; | 00002460 20 52 32 20 3d 20 73 74 61 72 74 20 72 65 63 6f | R2 = start reco| 00002470 72 64 20 28 30 2e 2e 6e 29 0d 09 ec 25 20 20 3b |rd (0..n)...% ;| 00002480 20 20 20 20 20 20 20 20 20 20 20 20 52 33 20 3d | R3 =| 00002490 20 72 65 63 6f 72 64 20 6c 65 6e 67 74 68 0d 09 | record length..| 000024a0 f6 04 0d 0a 00 23 20 20 2e 64 65 6c 65 74 65 20 |.....# .delete | 000024b0 20 20 20 20 20 53 54 4d 46 44 20 52 31 33 21 2c | STMFD R13!,| 000024c0 7b 52 31 34 7d 0d 0a 0a 21 20 20 20 20 20 20 20 |{R14}...! | 000024d0 20 20 20 20 20 20 20 20 4d 55 4c 20 20 20 52 35 | MUL R5| 000024e0 2c 52 32 2c 52 33 0d 0a 14 21 20 20 20 20 20 20 |,R2,R3...! | 000024f0 20 20 20 20 20 20 20 20 20 41 44 44 20 20 20 52 | ADD R| 00002500 30 2c 52 30 2c 52 35 0d 0a 1e 1f 20 20 2e 64 65 |0,R0,R5.... .de| 00002510 6c 65 74 65 5f 31 20 20 20 20 4d 4f 56 20 20 20 |lete_1 MOV | 00002520 52 34 2c 23 31 31 0d 0a 28 21 20 20 20 20 20 20 |R4,#11..(! | 00002530 20 20 20 20 20 20 20 20 20 41 44 44 20 20 20 52 | ADD R| 00002540 35 2c 52 30 2c 52 33 0d 0a 32 29 20 20 2e 64 65 |5,R0,R3..2) .de| 00002550 6c 65 74 65 5f 32 20 20 20 20 4c 44 4d 49 41 20 |lete_2 LDMIA | 00002560 52 35 21 2c 7b 52 36 2d 52 31 32 2c 52 31 34 7d |R5!,{R6-R12,R14}| 00002570 0d 0a 3c 29 20 20 20 20 20 20 20 20 20 20 20 20 |..<) | 00002580 20 20 20 53 54 4d 49 41 20 52 30 21 2c 7b 52 36 | STMIA R0!,{R6| 00002590 2d 52 31 32 2c 52 31 34 7d 0d 0a 46 21 20 20 20 |-R12,R14}..F! | 000025a0 20 20 20 20 20 20 20 20 20 20 20 20 53 55 42 53 | SUBS| 000025b0 20 20 52 34 2c 52 34 2c 23 31 0d 0a 50 21 20 20 | R4,R4,#1..P! | 000025c0 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4e 45 | BNE| 000025d0 20 20 20 64 65 6c 65 74 65 5f 32 0d 0a 5a 21 20 | delete_2..Z! | 000025e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 44 | AD| 000025f0 44 20 20 20 52 32 2c 52 32 2c 23 31 0d 0a 64 1e |D R2,R2,#1..d.| 00002600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 | C| 00002610 4d 50 20 20 20 52 32 2c 52 31 0d 0a 6e 21 20 20 |MP R2,R1..n! | 00002620 20 20 20 20 20 20 20 20 20 20 20 20 20 42 4c 54 | BLT| 00002630 20 20 20 64 65 6c 65 74 65 5f 31 0d 0a 78 22 20 | delete_1..x" | 00002640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 | LD| 00002650 4d 46 44 20 52 31 33 21 2c 7b 50 43 7d 0d 0a 82 |MFD R13!,{PC}...| 00002660 04 0d 0a 8c 29 20 20 3b 20 4f 6e 20 65 6e 74 72 |....) ; On entr| 00002670 79 20 2d 20 52 30 20 3d 20 70 6f 69 6e 74 65 72 |y - R0 = pointer| 00002680 20 74 6f 20 73 74 72 69 6e 67 0d 0a 96 04 0d 0a | to string......| 00002690 a0 1e 20 20 2e 63 75 74 20 20 20 20 20 20 20 20 |.. .cut | 000026a0 20 4d 4f 56 20 20 20 52 31 2c 23 30 0d 0a aa 23 | MOV R1,#0...#| 000026b0 20 20 2e 63 75 74 5f 31 20 20 20 20 20 20 20 4c | .cut_1 L| 000026c0 44 52 42 20 20 52 32 2c 5b 52 30 2c 52 31 5d 0d |DRB R2,[R0,R1].| 000026d0 0a b4 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 000026e0 20 20 43 4d 50 20 20 20 52 32 2c 23 33 32 0d 0a | CMP R2,#32..| 000026f0 be 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.! | 00002700 20 41 44 44 47 45 20 52 31 2c 52 31 2c 23 31 0d | ADDGE R1,R1,#1.| 00002710 0a c8 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00002720 20 20 42 47 45 20 20 20 63 75 74 5f 31 0d 0a d2 | BGE cut_1...| 00002730 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00002740 4d 4f 56 20 20 20 52 33 2c 23 31 33 0d 0a dc 23 |MOV R3,#13...#| 00002750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 00002760 54 52 42 20 20 52 33 2c 5b 52 30 2c 52 31 5d 0d |TRB R3,[R0,R1].| 00002770 0a e6 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00002780 20 20 4d 4f 56 20 20 20 50 43 2c 52 31 34 0d 0a | MOV PC,R14..| 00002790 f0 04 0d 0a fa 29 20 20 3b 20 4f 6e 20 65 6e 74 |.....) ; On ent| 000027a0 72 79 20 2d 20 52 30 20 3d 20 70 6f 69 6e 74 65 |ry - R0 = pointe| 000027b0 72 20 74 6f 20 73 74 72 69 6e 67 0d 0b 04 28 20 |r to string...( | 000027c0 20 3b 20 4f 6e 20 65 78 69 74 20 20 2d 20 52 30 | ; On exit - R0| 000027d0 20 3d 20 6c 65 6e 67 74 68 20 6f 66 20 73 74 72 | = length of str| 000027e0 69 6e 67 0d 0b 0e 04 0d 0b 18 1e 20 20 2e 63 75 |ing........ .cu| 000027f0 74 32 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 |t2 MOV | 00002800 52 31 2c 23 30 0d 0b 22 23 20 20 2e 63 75 74 32 |R1,#0.."# .cut2| 00002810 5f 31 20 20 20 20 20 20 4c 44 52 42 20 20 52 32 |_1 LDRB R2| 00002820 2c 5b 52 30 2c 52 31 5d 0d 0b 2c 1f 20 20 20 20 |,[R0,R1]..,. | 00002830 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 | CMP | 00002840 20 52 32 2c 23 33 32 0d 0b 36 21 20 20 20 20 20 | R2,#32..6! | 00002850 20 20 20 20 20 20 20 20 20 20 41 44 44 47 45 20 | ADDGE | 00002860 52 31 2c 52 31 2c 23 31 0d 0b 40 1f 20 20 20 20 |R1,R1,#1..@. | 00002870 20 20 20 20 20 20 20 20 20 20 20 42 47 45 20 20 | BGE | 00002880 20 63 75 74 32 5f 31 0d 0b 4a 1f 20 20 20 20 20 | cut2_1..J. | 00002890 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 | MOV | 000028a0 52 33 2c 23 31 30 0d 0b 54 23 20 20 20 20 20 20 |R3,#10..T# | 000028b0 20 20 20 20 20 20 20 20 20 53 54 52 42 20 20 52 | STRB R| 000028c0 33 2c 5b 52 30 2c 52 31 5d 0d 0b 5e 1e 20 20 20 |3,[R0,R1]..^. | 000028d0 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 | MOV | 000028e0 20 20 52 30 2c 52 31 0d 0b 68 1f 20 20 20 20 20 | R0,R1..h. | 000028f0 20 20 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 | MOV | 00002900 50 43 2c 52 31 34 0d 0b 72 04 0d 0b 7c 28 20 20 |PC,R14..r...|( | 00002910 3b 20 4f 6e 20 65 6e 74 72 79 20 2d 20 52 30 20 |; On entry - R0 | 00002920 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 61 62 |= pointer to tab| 00002930 6c 65 0d 0b 86 30 20 20 3b 20 20 20 20 20 20 20 |le...0 ; | 00002940 20 20 20 20 20 52 31 20 3d 20 6e 75 6d 62 65 72 | R1 = number| 00002950 20 6f 66 20 65 6e 74 72 69 65 73 20 28 31 2e 2e | of entries (1..| 00002960 6e 29 0d 0b 90 07 20 20 3b 0d 0b 9a 30 20 20 3b |n).... ;...0 ;| 00002970 20 4f 6e 20 65 78 69 74 20 20 2d 20 52 30 20 3d | On exit - R0 =| 00002980 20 6e 75 6d 62 65 72 20 6f 66 20 61 63 74 75 61 | number of actua| 00002990 6c 20 72 65 63 6f 72 64 73 0d 0b a4 04 0d 0b ae |l records.......| 000029a0 23 20 20 2e 63 6f 75 6e 74 5f 72 65 63 20 20 20 |# .count_rec | 000029b0 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 31 34 7d |STMFD R13!,{R14}| 000029c0 0d 0b b8 1e 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 000029d0 20 20 20 4d 56 4e 20 20 20 52 32 2c 23 30 0d 0b | MVN R2,#0..| 000029e0 c2 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 000029f0 20 4d 4f 56 20 20 20 52 34 2c 23 30 0d 0b cc 24 | MOV R4,#0...$| 00002a00 20 20 2e 63 6f 75 6e 74 5f 72 65 63 5f 31 20 4c | .count_rec_1 L| 00002a10 44 52 20 20 20 52 33 2c 5b 52 30 5d 2c 23 31 32 |DR R3,[R0],#12| 00002a20 0d 0b d6 1e 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00002a30 20 20 20 43 4d 50 20 20 20 52 33 2c 52 32 0d 0b | CMP R3,R2..| 00002a40 e0 24 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.$ | 00002a50 20 42 4e 45 20 20 20 63 6f 75 6e 74 5f 72 65 63 | BNE count_rec| 00002a60 5f 32 0d 0b ea 1e 20 20 20 20 20 20 20 20 20 20 |_2.... | 00002a70 20 20 20 20 20 4d 4f 56 20 20 20 52 32 2c 52 33 | MOV R2,R3| 00002a80 0d 0b f4 21 20 20 20 20 20 20 20 20 20 20 20 20 |...! | 00002a90 20 20 20 53 55 42 53 20 20 52 31 2c 52 31 2c 23 | SUBS R1,R1,#| 00002aa0 31 0d 0b fe 24 20 20 20 20 20 20 20 20 20 20 20 |1...$ | 00002ab0 20 20 20 20 42 45 51 20 20 20 63 6f 75 6e 74 5f | BEQ count_| 00002ac0 72 65 63 5f 33 0d 0c 08 24 20 20 20 20 20 20 20 |rec_3...$ | 00002ad0 20 20 20 20 20 20 20 20 42 20 20 20 20 20 63 6f | B co| 00002ae0 75 6e 74 5f 72 65 63 5f 31 0d 0c 12 1e 20 20 2e |unt_rec_1.... .| 00002af0 63 6f 75 6e 74 5f 72 65 63 5f 32 20 4d 4f 56 20 |count_rec_2 MOV | 00002b00 20 20 52 32 2c 52 33 0d 0c 1c 21 20 20 20 20 20 | R2,R3...! | 00002b10 20 20 20 20 20 20 20 20 20 20 41 44 44 20 20 20 | ADD | 00002b20 52 34 2c 52 34 2c 23 31 0d 0c 26 21 20 20 20 20 |R4,R4,#1..&! | 00002b30 20 20 20 20 20 20 20 20 20 20 20 53 55 42 53 20 | SUBS | 00002b40 20 52 31 2c 52 31 2c 23 31 0d 0c 30 24 20 20 20 | R1,R1,#1..0$ | 00002b50 20 20 20 20 20 20 20 20 20 20 20 20 42 4e 45 20 | BNE | 00002b60 20 20 63 6f 75 6e 74 5f 72 65 63 5f 31 0d 0c 3a | count_rec_1..:| 00002b70 1e 20 20 2e 63 6f 75 6e 74 5f 72 65 63 5f 33 20 |. .count_rec_3 | 00002b80 4d 4f 56 20 20 20 52 30 2c 52 34 0d 0c 44 22 20 |MOV R0,R4..D" | 00002b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 44 | LD| 00002ba0 4d 46 44 20 52 31 33 21 2c 7b 50 43 7d 0d 0c 4e |MFD R13!,{PC}..N| 00002bb0 04 0d 0c 58 09 5d 3a ed 3a e1 0d 0c 62 05 3a 0d |...X.]:.:...b.:.| 00002bc0 0c 6c 10 dd f2 63 68 65 63 6b 5f 6c 6f 61 64 0d |.l...check_load.| 00002bd0 0c 76 41 e7 20 63 68 6b 5f 6c 64 25 20 f2 6c 6f |.vA. chk_ld% .lo| 00002be0 61 64 5f 66 69 6c 65 28 63 68 6b 5f 6c 64 24 2c |ad_file(chk_ld$,| 00002bf0 30 29 20 8b 20 e7 20 6c 6f 61 64 25 20 f2 6c 6f |0) . . load% .lo| 00002c00 61 64 5f 66 69 6c 65 28 6c 6f 61 64 24 2c 30 29 |ad_file(load$,0)| 00002c10 0d 0c 80 05 e1 0d 0c 8a 05 3a 0d 0c 94 1f dd f2 |.........:......| 00002c20 62 75 74 74 6f 6e 73 28 62 75 74 25 2c 61 24 2c |buttons(but%,a$,| 00002c30 62 24 2c 63 24 2c 64 24 29 0d 0c 9e 4b 24 62 75 |b$,c$,d$)...K$bu| 00002c40 74 25 3d 61 24 3a 62 75 74 25 2b 3d a9 61 24 2b |t%=a$:but%+=.a$+| 00002c50 31 3a 24 62 75 74 25 3d 62 24 3a 62 75 74 25 2b |1:$but%=b$:but%+| 00002c60 3d a9 62 24 2b 31 3a 24 62 75 74 25 3d 63 24 3a |=.b$+1:$but%=c$:| 00002c70 62 75 74 25 2b 3d a9 63 24 2b 31 3a 24 62 75 74 |but%+=.c$+1:$but| 00002c80 25 3d 64 24 0d 0c a8 05 e1 0d 0c b2 05 3a 0d 0c |%=d$.........:..| 00002c90 bc 1d dd f2 69 6e 69 74 74 61 73 6b 28 61 24 29 |....inittask(a$)| 00002ca0 3a 24 62 25 3d 22 54 41 53 4b 22 0d 0c c6 33 c8 |:$b%="TASK"...3.| 00002cb0 99 20 22 57 69 6d 70 5f 49 6e 69 74 69 61 6c 69 |. "Wimp_Initiali| 00002cc0 73 65 22 2c 32 30 30 2c 21 62 25 2c 61 24 20 b8 |se",200,!b%,a$ .| 00002cd0 20 2c 74 61 73 6b 5f 68 61 6e 64 6c 65 25 0d 0c | ,task_handle%..| 00002ce0 d0 3e c8 99 20 22 57 69 6d 70 45 78 74 5f 49 6e |.>.. "WimpExt_In| 00002cf0 69 74 69 61 6c 69 73 65 22 2c 35 2c 74 61 73 6b |itialise",5,task| 00002d00 5f 68 61 6e 64 6c 65 25 2c 25 30 31 31 31 31 30 |_handle%,%011110| 00002d10 31 20 b8 20 77 69 6d 70 65 78 74 25 0d 0c da 05 |1 . wimpext%....| 00002d20 e1 0d 0c e4 05 3a 0d 0c ee 0c dd f2 64 65 66 69 |.....:......defi| 00002d30 6e 65 0d 0c f8 57 f2 63 72 65 61 74 65 6d 65 6e |ne...W.createmen| 00002d40 75 28 6d 31 25 2c 22 54 65 6c 41 64 64 72 22 2c |u(m1%,"TelAddr",| 00002d50 22 49 6e 66 6f 3e 69 6e 66 6f 25 2c 50 72 65 66 |"Info>info%,Pref| 00002d60 65 72 65 6e 63 65 73 2e 2e 2e 2c 53 61 76 65 20 |erences...,Save | 00002d70 62 6f 6f 6b 3e 73 61 76 65 5f 61 73 25 23 45 2c |book>save_as%#E,| 00002d80 51 75 69 74 22 2c 65 31 29 0d 0d 02 3d f2 63 72 |Quit",e1)...=.cr| 00002d90 65 61 74 65 6d 65 6e 75 28 6d 34 25 2c 22 4d 69 |eatemenu(m4%,"Mi| 00002da0 73 63 22 2c 22 49 6e 66 6f 3e 69 6e 66 6f 25 2c |sc","Info>info%,| 00002db0 46 69 6c 65 3e 66 69 6c 65 5f 69 6e 66 6f 25 23 |File>file_info%#| 00002dc0 45 22 2c 65 34 29 0d 0d 0c 76 f2 63 72 65 61 74 |E",e4)...v.creat| 00002dd0 65 6d 65 6e 75 28 6d 32 25 2c 22 53 61 76 65 22 |emenu(m2%,"Save"| 00002de0 2c 22 53 61 76 65 20 62 6f 6f 6b 20 20 20 20 20 |,"Save book | 00002df0 46 33 3e 73 61 76 65 5f 61 73 25 23 45 2c 53 61 |F3>save_as%#E,Sa| 00002e00 76 65 20 73 65 61 72 63 68 20 20 8b 46 33 3e 73 |ve search .F3>s| 00002e10 61 76 65 5f 61 73 31 25 23 45 2c 53 61 76 65 20 |ave_as1%#E,Save | 00002e20 61 64 64 72 65 73 73 20 5e 46 33 3e 73 61 76 65 |address ^F3>save| 00002e30 5f 61 73 32 25 23 45 22 2c 65 32 29 0d 0d 16 44 |_as2%#E",e2)...D| 00002e40 f2 63 72 65 61 74 65 6d 65 6e 75 28 6d 36 25 2c |.createmenu(m6%,| 00002e50 22 53 65 61 72 63 68 22 2c 22 53 61 76 65 3e 73 |"Search","Save>s| 00002e60 61 76 65 5f 61 73 31 25 23 45 2c 53 65 61 72 63 |ave_as1%#E,Searc| 00002e70 68 2e 2e 2e 2c 44 65 6c 65 74 65 22 2c 65 36 29 |h...,Delete",e6)| 00002e80 0d 0d 20 5e f2 63 72 65 61 74 65 6d 65 6e 75 28 |.. ^.createmenu(| 00002e90 6d 37 25 2c 22 45 64 69 74 22 2c 22 41 64 64 20 |m7%,"Edit","Add | 00002ea0 62 65 66 6f 72 65 2c 41 64 64 20 61 66 74 65 72 |before,Add after| 00002eb0 2c 44 65 6c 65 74 65 20 72 65 63 6f 72 64 2c 43 |,Delete record,C| 00002ec0 6c 65 61 72 20 72 65 63 6f 72 64 23 4c 2c 44 65 |lear record#L,De| 00002ed0 6c 65 74 65 20 62 6f 6f 6b 22 2c 65 37 29 0d 0d |lete book",e7)..| 00002ee0 2a 34 f2 63 72 65 61 74 65 6d 65 6e 75 28 6d 38 |*4.createmenu(m8| 00002ef0 25 2c 22 44 69 73 70 6c 61 79 22 2c 22 54 6f 6f |%,"Display","Too| 00002f00 6c 62 6f 78 2c 50 6f 73 69 74 69 6f 6e 22 2c 65 |lbox,Position",e| 00002f10 38 29 0d 0d 34 5b f2 63 72 65 61 74 65 6d 65 6e |8)..4[.createmen| 00002f20 75 28 6d 33 25 2c 22 54 65 6c 41 64 64 72 22 2c |u(m3%,"TelAddr",| 00002f30 22 4d 69 73 63 3e 6d 34 25 2c 53 61 76 65 20 20 |"Misc>m4%,Save | 00002f40 20 20 46 33 3e 6d 32 25 2c 53 65 61 72 63 68 3e | F3>m2%,Search>| 00002f50 6d 36 25 2c 45 64 69 74 3e 6d 37 25 2c 44 69 73 |m6%,Edit>m7%,Dis| 00002f60 70 6c 61 79 3e 6d 38 25 22 2c 65 33 29 0d 0d 3e |play>m8%",e3)..>| 00002f70 2e f2 73 75 62 28 73 31 25 2c 22 47 6f 74 6f 20 |..sub(s1%,"Goto | 00002f80 72 65 63 6f 72 64 3a 22 2c 67 6f 74 6f 25 2c 67 |record:",goto%,g| 00002f90 6f 74 6f 5f 76 61 6c 25 2c 34 29 0d 0d 48 05 e1 |oto_val%,4)..H..| 00002fa0 0d 0d 52 05 3a 0d 0d 5c 2c dd f2 6a 28 6a 31 25 |..R.:..\,..j(j1%| 00002fb0 2c 6a 32 25 2c 6a 33 25 29 3a 6a 31 25 21 28 33 |,j2%,j3%):j1%!(3| 00002fc0 32 2b 28 6a 32 25 2a 32 34 29 29 3d 6a 33 25 3a |2+(j2%*24))=j3%:| 00002fd0 e1 0d 0d 66 05 3a 0d 0d 70 0a dd f2 70 6f 6c 6c |...f.:..p...poll| 00002fe0 0d 0d 7a 8e e7 20 66 61 69 6c 65 64 25 20 8c 20 |..z.. failed% . | 00002ff0 66 61 69 6c 65 64 25 3d 30 3a 72 65 71 25 3d 30 |failed%=0:req%=0| 00003000 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 4f 70 65 |:.. "WimpExt_Ope| 00003010 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c 22 4d |nRequester",,,"M| 00003020 65 73 73 61 67 65 20 66 72 6f 6d 20 54 65 6c 41 |essage from TelA| 00003030 64 64 72 22 2c 22 44 65 66 61 75 6c 74 20 61 64 |ddr","Default ad| 00003040 64 72 65 73 73 20 62 6f 6f 6b 20 64 6f 65 73 20 |dress book does | 00003050 6e 6f 74 20 65 78 69 73 74 2c 20 6c 6f 61 64 20 |not exist, load | 00003060 66 61 69 6c 65 64 2e 22 2c 6f 6b 25 2c 30 0d 0d |failed.",ok%,0..| 00003070 84 0e c8 95 20 ac 20 71 75 69 74 25 0d 0d 8e 1a |.... . quit%....| 00003080 20 20 c8 99 20 22 57 69 6d 70 45 78 74 5f 50 72 | .. "WimpExt_Pr| 00003090 65 50 6f 6c 6c 22 0d 0d 98 23 20 20 c8 99 20 22 |ePoll"...# .. "| 000030a0 57 69 6d 70 5f 50 6f 6c 6c 22 2c 30 2c 62 25 20 |Wimp_Poll",0,b% | 000030b0 b8 20 72 65 61 73 6f 6e 25 0d 0d a2 3b 20 20 c8 |. reason%...; .| 000030c0 99 20 22 57 69 6d 70 45 78 74 5f 41 63 74 69 6f |. "WimpExt_Actio| 000030d0 6e 22 2c 74 61 73 6b 5f 68 61 6e 64 6c 65 25 2c |n",task_handle%,| 000030e0 62 25 2c 72 65 61 73 6f 6e 25 20 b8 20 72 65 61 |b%,reason% . rea| 000030f0 73 6f 6e 25 0d 0d ac 12 20 20 c8 8e 20 72 65 61 |son%.... .. rea| 00003100 73 6f 6e 25 20 ca 0d 0d b6 18 20 20 20 20 c9 20 |son% ..... . | 00003110 31 3a f2 72 65 64 72 61 77 28 21 62 25 29 0d 0d |1:.redraw(!b%)..| 00003120 c0 42 20 20 20 20 c9 20 32 3a c8 99 20 22 57 69 |.B . 2:.. "Wi| 00003130 6d 70 45 78 74 5f 4f 70 65 6e 4c 69 6e 6b 65 64 |mpExt_OpenLinked| 00003140 22 2c 2c 62 25 3a e7 20 21 62 25 3d 62 6f 6f 6b |",,b%:. !b%=book| 00003150 25 20 f2 6f 70 65 6e 5f 70 6f 73 5f 70 61 6e 65 |% .open_pos_pane| 00003160 0d 0d ca 57 20 20 20 20 c9 20 33 3a c8 99 20 22 |...W . 3:.. "| 00003170 57 69 6d 70 45 78 74 5f 43 6c 6f 73 65 4c 69 6e |WimpExt_CloseLin| 00003180 6b 65 64 22 2c 2c 62 25 3a e7 20 21 62 25 3d 62 |ked",,b%:. !b%=b| 00003190 6f 6f 6b 25 20 21 62 25 3d 70 6f 73 25 3a c8 99 |ook% !b%=pos%:..| 000031a0 20 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 | "Wimp_CloseWind| 000031b0 6f 77 22 2c 2c 62 25 0d 0d d4 12 20 20 20 20 c9 |ow",,b%.... .| 000031c0 20 36 3a f2 63 6c 69 63 6b 0d 0d de 16 20 20 20 | 6:.click.... | 000031d0 20 c9 20 37 3a f2 69 6e 69 74 5f 73 61 76 65 0d | . 7:.init_save.| 000031e0 0d e8 18 20 20 20 20 c9 20 38 3a f2 6b 65 79 5f |... . 8:.key_| 000031f0 70 72 65 73 73 65 64 0d 0d f2 17 20 20 20 20 c9 |pressed.... .| 00003200 20 39 3a f2 6d 65 6e 75 73 65 6c 65 63 74 0d 0d | 9:.menuselect..| 00003210 fc 18 20 20 20 20 c9 20 31 30 3a f2 73 63 72 6f |.. . 10:.scro| 00003220 6c 6c 5f 72 65 71 0d 0e 06 18 20 20 20 20 c9 20 |ll_req.... . | 00003230 31 37 2c 31 38 3a f2 73 65 72 76 69 63 65 0d 0e |17,18:.service..| 00003240 10 8c 20 20 20 20 c9 20 31 39 3a f4 20 53 59 53 |.. . 19:. SYS| 00003250 20 22 4f 53 5f 46 69 6c 65 22 2c 36 2c 62 25 2b | "OS_File",6,b%+| 00003260 34 34 3a 72 65 71 25 3d 30 3a 53 59 53 20 22 57 |44:req%=0:SYS "W| 00003270 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 71 75 65 |impExt_OpenReque| 00003280 73 74 65 72 22 2c 2c 2c 22 57 61 72 6e 69 6e 67 |ster",,,"Warning| 00003290 20 66 72 6f 6d 20 54 65 6c 41 64 64 72 22 2c 22 | from TelAddr","| 000032a0 44 61 74 61 20 74 72 61 6e 73 66 65 72 20 66 61 |Data transfer fa| 000032b0 69 6c 65 64 3a 20 52 65 63 65 69 76 65 72 20 64 |iled: Receiver d| 000032c0 69 65 64 22 2c 6f 6b 25 2c 30 0d 0e 1a 07 20 20 |ied",ok%,0.... | 000032d0 cb 0d 0e 24 05 ce 0d 0e 2e 05 e1 0d 0e 38 05 3a |...$.........8.:| 000032e0 0d 0e 42 0d dd f2 73 65 72 76 69 63 65 0d 0e 4c |..B...service..L| 000032f0 0e c8 8e 20 62 25 21 31 36 20 ca 0d 0e 56 0f 20 |... b%!16 ...V. | 00003300 20 c9 20 30 3a f2 71 75 69 74 0d 0e 60 13 20 20 | . 0:.quit..`. | 00003310 c9 20 31 3a f2 73 61 76 65 5f 61 63 6b 0d 0e 6a |. 1:.save_ack..j| 00003320 14 20 20 c9 20 32 3a f2 64 61 74 61 5f 73 61 76 |. . 2:.data_sav| 00003330 65 0d 0e 74 14 20 20 c9 20 33 3a c8 8e 20 62 25 |e..t. . 3:.. b%| 00003340 21 32 30 20 ca 0d 0e 7e c6 20 20 20 20 c9 20 62 |!20 ...~. . b| 00003350 6f 6f 6b 25 2c 2d 32 3a e7 20 a4 6c 6f 61 64 5f |ook%,-2:. .load_| 00003360 61 63 6b 20 f2 73 74 6f 72 65 28 72 65 63 6f 72 |ack .store(recor| 00003370 64 25 29 3a f2 6c 6f 61 64 5f 66 69 6c 65 28 a4 |d%):.load_file(.| 00003380 73 74 72 69 6e 67 28 62 25 2b 34 34 29 2c 31 29 |string(b%+44),1)| 00003390 3a e7 20 66 61 69 6c 65 64 25 20 8c 20 66 61 69 |:. failed% . fai| 000033a0 6c 65 64 25 3d 30 3a 72 65 71 25 3d 30 3a c8 99 |led%=0:req%=0:..| 000033b0 20 22 57 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 | "WimpExt_OpenRe| 000033c0 71 75 65 73 74 65 72 22 2c 2c 2c 22 4d 65 73 73 |quester",,,"Mess| 000033d0 61 67 65 20 66 72 6f 6d 20 54 65 6c 41 64 64 72 |age from TelAddr| 000033e0 22 2c 22 46 69 6c 65 20 64 6f 65 73 20 6e 6f 74 |","File does not| 000033f0 20 65 78 69 73 74 2c 20 6c 6f 61 64 20 66 61 69 | exist, load fai| 00003400 6c 65 64 2e 22 2c 6f 6b 25 2c 30 0d 0e 88 60 20 |led.",ok%,0...` | 00003410 20 20 20 c9 20 70 72 65 66 25 2c 70 72 65 66 5f | . pref%,pref_| 00003420 70 61 6e 65 25 3a e7 20 a4 6c 6f 61 64 5f 61 63 |pane%:. .load_ac| 00003430 6b 20 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 |k .. "WimpExt_Se| 00003440 74 49 63 6f 6e 53 74 72 69 6e 67 22 2c 2c 2c 70 |tIconString",,,p| 00003450 72 65 66 5f 70 61 6e 65 25 2c 36 35 2c a4 73 74 |ref_pane%,65,.st| 00003460 72 69 6e 67 28 62 25 2b 34 34 29 0d 0e 92 07 20 |ring(b%+44).... | 00003470 20 cb 0d 0e 9c 5a 20 20 e7 20 c0 a4 73 74 72 69 | ....Z . ..stri| 00003480 6e 67 28 62 25 2b 34 34 29 2c 31 32 29 3d 22 3c |ng(b%+44),12)="<| 00003490 57 69 6d 70 24 53 63 72 61 70 3e 22 20 8c 20 c8 |Wimp$Scrap>" . .| 000034a0 99 20 22 4f 53 5f 46 69 6c 65 22 2c 36 2c a4 73 |. "OS_File",6,.s| 000034b0 74 72 69 6e 67 28 62 25 2b 34 34 29 3a 74 65 6d |tring(b%+44):tem| 000034c0 70 25 3d a4 6c 6f 61 64 5f 61 63 6b 0d 0e a6 17 |p%=.load_ack....| 000034d0 20 20 c9 20 35 3a e7 20 a4 6c 6f 61 64 5f 61 63 | . 5:. .load_ac| 000034e0 6b 20 8c 0d 0e b0 36 20 20 20 20 20 20 6d 6f 64 |k ....6 mod| 000034f0 5f 66 69 6c 65 6e 61 6d 65 24 3d a4 73 74 72 69 |_filename$=.stri| 00003500 6e 67 28 62 25 2b 34 34 29 3a f2 73 74 6f 72 65 |ng(b%+44):.store| 00003510 28 72 65 63 6f 72 64 25 29 0d 0e ba 19 20 20 20 |(record%).... | 00003520 20 20 20 e7 20 6d 6f 64 69 66 69 65 64 25 3d 30 | . modified%=0| 00003530 20 8c 0d 0e c4 a2 20 20 20 20 20 20 20 20 f2 6c | ..... .l| 00003540 6f 61 64 5f 66 69 6c 65 28 6d 6f 64 5f 66 69 6c |oad_file(mod_fil| 00003550 65 6e 61 6d 65 24 2c 30 29 3a e7 20 66 61 69 6c |ename$,0):. fail| 00003560 65 64 25 20 8c 20 66 61 69 6c 65 64 25 3d 30 3a |ed% . failed%=0:| 00003570 72 65 71 25 3d 30 3a c8 99 20 22 57 69 6d 70 45 |req%=0:.. "WimpE| 00003580 78 74 5f 4f 70 65 6e 52 65 71 75 65 73 74 65 72 |xt_OpenRequester| 00003590 22 2c 2c 2c 22 4d 65 73 73 61 67 65 20 66 72 6f |",,,"Message fro| 000035a0 6d 20 54 65 6c 41 64 64 72 22 2c 22 46 69 6c 65 |m TelAddr","File| 000035b0 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c | does not exist,| 000035c0 20 6c 6f 61 64 20 66 61 69 6c 65 64 2e 22 2c 6f | load failed.",o| 000035d0 6b 25 2c 30 0d 0e ce 0b 20 20 20 20 20 20 cc 0d |k%,0.... ..| 000035e0 0e d8 a3 20 20 20 20 20 20 20 20 72 65 71 25 3d |... req%=| 000035f0 35 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 4f 70 |5:.. "WimpExt_Op| 00003600 65 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c 22 |enRequester",,,"| 00003610 51 75 65 72 79 20 66 72 6f 6d 20 54 65 6c 41 64 |Query from TelAd| 00003620 64 72 22 2c 22 54 68 65 20 63 75 72 72 65 6e 74 |dr","The current| 00003630 20 61 64 64 72 65 73 73 20 62 6f 6f 6b 20 68 61 | address book ha| 00003640 73 20 6e 6f 74 20 62 65 65 6e 20 73 61 76 65 64 |s not been saved| 00003650 2c 20 64 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f |, do you want to| 00003660 20 73 61 76 65 20 69 74 20 3f 22 2c 73 61 76 65 | save it ?",save| 00003670 5f 64 69 73 63 61 72 64 5f 63 61 6e 63 65 6c 25 |_discard_cancel%| 00003680 2c 32 0d 0e e2 0b 20 20 20 20 20 20 cd 0d 0e ec |,2.... ....| 00003690 09 20 20 20 20 cd 0d 0e f6 14 20 20 c9 20 36 3a |. ..... . 6:| 000036a0 f2 72 61 6d 5f 66 65 74 63 68 0d 0f 00 12 20 20 |.ram_fetch.... | 000036b0 c9 20 26 35 30 32 3a f2 68 65 6c 70 0d 0f 0a 1c |. &502:.help....| 000036c0 20 20 c9 20 26 34 30 30 43 30 3a f2 6d 65 6e 75 | . &400C0:.menu| 000036d0 5f 77 61 72 6e 69 6e 67 0d 0f 14 05 cb 0d 0f 1e |_warning........| 000036e0 05 e1 0d 0f 28 05 3a 0d 0f 32 29 dd f2 6b 65 79 |....(.:..2)..key| 000036f0 5f 70 72 65 73 73 65 64 3a 77 25 3d 21 62 25 3a |_pressed:w%=!b%:| 00003700 69 25 3d 62 25 21 34 3a 6b 25 3d 62 25 21 32 34 |i%=b%!4:k%=b%!24| 00003710 0d 0f 3c 0a c8 8e 20 b9 20 ca 0d 0f 46 40 20 20 |..<... . ...F@ | 00003720 c9 20 77 25 3d 73 61 76 65 5f 61 73 25 20 80 20 |. w%=save_as% . | 00003730 28 69 25 3d 36 20 84 20 69 25 3d 31 30 29 20 80 |(i%=6 . i%=10) .| 00003740 20 28 6b 25 3d 31 33 20 84 20 6b 25 3d 33 39 38 | (k%=13 . k%=398| 00003750 20 84 20 6b 25 3d 33 39 39 29 0d 0f 50 30 20 20 | . k%=399)..P0 | 00003760 20 20 f2 73 6f 72 74 6f 75 74 5f 70 61 72 74 69 | .sortout_parti| 00003770 61 6c 28 28 69 25 2d 36 29 2f 34 2c 73 61 76 65 |al((i%-6)/4,save| 00003780 5f 61 73 25 2c 36 2c 31 30 29 0d 0f 5a 5f 20 20 |_as%,6,10)..Z_ | 00003790 20 20 e7 20 69 25 3d 36 20 c8 99 20 22 57 69 6d | . i%=6 .. "Wim| 000037a0 70 45 78 74 5f 50 75 74 43 61 72 65 74 49 63 6f |pExt_PutCaretIco| 000037b0 6e 22 2c 2c 2c 73 61 76 65 5f 61 73 25 2c 31 30 |n",,,save_as%,10| 000037c0 20 8b 20 c8 99 20 22 57 69 6d 70 45 78 74 5f 50 | . .. "WimpExt_P| 000037d0 75 74 43 61 72 65 74 49 63 6f 6e 22 2c 2c 2c 73 |utCaretIcon",,,s| 000037e0 61 76 65 5f 61 73 25 2c 36 0d 0f 64 43 20 20 c9 |ave_as%,6..dC .| 000037f0 20 77 25 3d 70 72 65 66 5f 70 61 6e 65 25 20 80 | w%=pref_pane% .| 00003800 20 28 69 25 3d 33 39 20 84 20 69 25 3d 34 33 29 | (i%=39 . i%=43)| 00003810 20 80 20 28 6b 25 3d 31 33 20 84 20 6b 25 3d 33 | . (k%=13 . k%=3| 00003820 39 38 20 84 20 6b 25 3d 33 39 39 29 0d 0f 6e 34 |98 . k%=399)..n4| 00003830 20 20 20 20 f2 73 6f 72 74 6f 75 74 5f 70 61 72 | .sortout_par| 00003840 74 69 61 6c 28 28 69 25 2d 33 39 29 2f 34 2c 70 |tial((i%-39)/4,p| 00003850 72 65 66 5f 70 61 6e 65 25 2c 33 39 2c 34 33 29 |ref_pane%,39,43)| 00003860 0d 0f 78 65 20 20 20 20 e7 20 69 25 3d 33 39 20 |..xe . i%=39 | 00003870 c8 99 20 22 57 69 6d 70 45 78 74 5f 50 75 74 43 |.. "WimpExt_PutC| 00003880 61 72 65 74 49 63 6f 6e 22 2c 2c 2c 70 72 65 66 |aretIcon",,,pref| 00003890 5f 70 61 6e 65 25 2c 34 33 20 8b 20 c8 99 20 22 |_pane%,43 . .. "| 000038a0 57 69 6d 70 45 78 74 5f 50 75 74 43 61 72 65 74 |WimpExt_PutCaret| 000038b0 49 63 6f 6e 22 2c 2c 2c 70 72 65 66 5f 70 61 6e |Icon",,,pref_pan| 000038c0 65 25 2c 33 39 0d 0f 82 3c 20 20 c9 20 28 77 25 |e%,39...< . (w%| 000038d0 3d 62 6f 6f 6b 25 20 84 20 77 25 3d 73 65 61 72 |=book% . w%=sear| 000038e0 63 68 25 29 20 80 20 28 6b 25 3d 33 38 37 20 84 |ch%) . (k%=387 .| 000038f0 20 6b 25 3d 34 30 33 20 84 20 6b 25 3d 34 31 39 | k%=403 . k%=419| 00003900 29 0d 0f 8c 0f 20 20 20 20 c8 8e 20 6b 25 20 ca |).... .. k% .| 00003910 0d 0f 96 2f 20 20 20 20 20 20 c9 20 33 38 37 3a |.../ . 387:| 00003920 f2 6f 70 65 6e 5f 73 61 76 65 28 73 61 76 65 5f |.open_save(save_| 00003930 61 73 25 2c 67 6f 6f 64 5f 62 6f 6f 6b 24 29 0d |as%,good_book$).| 00003940 0f a0 c3 20 20 20 20 20 20 c9 20 34 30 33 3a e7 |... . 403:.| 00003950 20 73 65 61 72 63 68 65 64 25 20 f2 6f 70 65 6e | searched% .open| 00003960 5f 73 61 76 65 28 73 61 76 65 5f 61 73 31 25 2c |_save(save_as1%,| 00003970 67 6f 6f 64 5f 73 65 61 72 63 68 24 29 20 8b 20 |good_search$) . | 00003980 72 65 71 25 3d 30 3a c8 99 20 22 57 69 6d 70 45 |req%=0:.. "WimpE| 00003990 78 74 5f 4f 70 65 6e 52 65 71 75 65 73 74 65 72 |xt_OpenRequester| 000039a0 22 2c 2c 2c 22 52 65 6d 69 6e 64 65 72 20 66 72 |",,,"Reminder fr| 000039b0 6f 6d 20 54 65 6c 41 64 64 72 22 2c 22 59 6f 75 |om TelAddr","You| 000039c0 20 63 61 6e 6e 6f 74 20 73 61 76 65 20 74 68 65 | cannot save the| 000039d0 20 73 65 61 72 63 68 20 72 65 73 75 6c 74 73 20 | search results | 000039e0 75 6e 74 69 6c 20 79 6f 75 20 70 65 72 66 6f 72 |until you perfor| 000039f0 6d 20 61 20 73 65 61 72 63 68 2e 22 2c 6f 6b 25 |m a search.",ok%| 00003a00 2c 30 0d 0f aa 33 20 20 20 20 20 20 c9 20 34 31 |,0...3 . 41| 00003a10 39 3a f2 6f 70 65 6e 5f 73 61 76 65 28 73 61 76 |9:.open_save(sav| 00003a20 65 5f 61 73 32 25 2c 67 6f 6f 64 5f 61 64 64 72 |e_as2%,good_addr| 00003a30 65 73 73 24 29 0d 0f b4 09 20 20 20 20 cb 0d 0f |ess$).... ...| 00003a40 be 05 7f 0d 0f c8 1d 20 20 c8 99 20 22 57 69 6d |....... .. "Wim| 00003a50 70 5f 50 72 6f 63 65 73 73 4b 65 79 22 2c 6b 25 |p_ProcessKey",k%| 00003a60 0d 0f d2 05 cb 0d 0f dc 05 e1 0d 0f e6 05 3a 0d |..............:.| 00003a70 0f f0 27 dd f2 73 6f 72 74 6f 75 74 5f 70 61 72 |..'..sortout_par| 00003a80 74 69 61 6c 28 74 79 70 65 25 2c 77 25 2c 69 31 |tial(type%,w%,i1| 00003a90 25 2c 69 32 25 29 0d 0f fa 25 70 31 25 3d a4 76 |%,i2%)...%p1%=.v| 00003aa0 61 6c 28 77 25 2c 69 31 25 29 3a 70 32 25 3d a4 |al(w%,i1%):p2%=.| 00003ab0 76 61 6c 28 77 25 2c 69 32 25 29 0d 10 04 11 e7 |val(w%,i2%).....| 00003ac0 20 70 31 25 3c 31 20 70 31 25 3d 31 0d 10 0e 11 | p1%<1 p1%=1....| 00003ad0 e7 20 70 32 25 3c 31 20 70 32 25 3d 31 0d 10 18 |. p2%<1 p2%=1...| 00003ae0 1b e7 20 70 31 25 3e 6d 61 78 25 2b 31 20 70 31 |.. p1%>max%+1 p1| 00003af0 25 3d 6d 61 78 25 2b 31 0d 10 22 1b e7 20 70 32 |%=max%+1..".. p2| 00003b00 25 3e 6d 61 78 25 2b 31 20 70 32 25 3d 6d 61 78 |%>max%+1 p2%=max| 00003b10 25 2b 31 0d 10 2c 0f e7 20 74 79 70 65 25 3d 30 |%+1..,.. type%=0| 00003b20 20 8c 0d 10 36 17 20 20 e7 20 70 31 25 3e 70 32 | ...6. . p1%>p2| 00003b30 25 20 70 31 25 3d 70 32 25 0d 10 40 17 20 20 e7 |% p1%=p2%..@. .| 00003b40 20 70 32 25 3c 70 31 25 20 70 32 25 3d 70 31 25 | p2%<p1% p2%=p1%| 00003b50 0d 10 4a 05 cc 0d 10 54 17 20 20 e7 20 70 32 25 |..J....T. . p2%| 00003b60 3c 70 31 25 20 70 32 25 3d 70 31 25 0d 10 5e 17 |<p1% p2%=p1%..^.| 00003b70 20 20 e7 20 70 31 25 3e 70 32 25 20 70 31 25 3d | . p1%>p2% p1%=| 00003b80 70 32 25 0d 10 68 05 cd 0d 10 72 2b c8 99 20 22 |p2%..h....r+.. "| 00003b90 57 69 6d 70 45 78 74 5f 53 65 74 4e 75 6d 62 65 |WimpExt_SetNumbe| 00003ba0 72 49 63 6f 6e 22 2c 2c 2c 77 25 2c 69 31 25 2c |rIcon",,,w%,i1%,| 00003bb0 70 31 25 0d 10 7c 2b c8 99 20 22 57 69 6d 70 45 |p1%..|+.. "WimpE| 00003bc0 78 74 5f 53 65 74 4e 75 6d 62 65 72 49 63 6f 6e |xt_SetNumberIcon| 00003bd0 22 2c 2c 2c 77 25 2c 69 32 25 2c 70 32 25 0d 10 |",,,w%,i2%,p2%..| 00003be0 86 05 e1 0d 10 90 05 3a 0d 10 9a 12 dd f2 6d 65 |.......:......me| 00003bf0 6e 75 5f 77 61 72 6e 69 6e 67 0d 10 a4 24 6d 77 |nu_warning...$mw| 00003c00 31 25 3d 62 25 21 32 30 3a 6d 77 32 25 3d 62 25 |1%=b%!20:mw2%=b%| 00003c10 21 32 34 3a 6d 77 33 25 3d 62 25 21 32 38 0d 10 |!24:mw3%=b%!28..| 00003c20 ae 0c c8 8e 20 6f 6d 25 20 ca 0d 10 b8 16 20 20 |.... om% ..... | 00003c30 c9 20 6d 31 25 3a c8 8e 20 62 25 21 33 32 20 ca |. m1%:.. b%!32 .| 00003c40 0d 10 c2 19 20 20 20 20 c9 20 32 3a f2 70 72 65 |.... . 2:.pre| 00003c50 70 61 72 65 5f 62 6f 6f 6b 0d 10 cc 07 20 20 cb |pare_book.... .| 00003c60 0d 10 d6 16 20 20 c9 20 6d 33 25 3a c8 8e 20 62 |.... . m3%:.. b| 00003c70 25 21 33 32 20 ca 0d 10 e0 16 20 20 20 20 c9 20 |%!32 ..... . | 00003c80 30 3a c8 8e 20 62 25 21 33 36 20 ca 0d 10 ea 4b |0:.. b%!36 ....K| 00003c90 20 20 20 20 20 20 c9 20 31 3a f2 73 74 6f 72 65 | . 1:.store| 00003ca0 28 72 65 63 6f 72 64 25 29 3a f2 63 61 6c 63 5f |(record%):.calc_| 00003cb0 66 69 6c 65 5f 6c 65 6e 3a e7 20 6d 6f 64 69 66 |file_len:. modif| 00003cc0 69 65 64 25 20 61 24 3d 22 59 65 73 22 20 8b 20 |ied% a$="Yes" . | 00003cd0 61 24 3d 22 4e 6f 22 0d 10 f4 38 20 20 20 20 20 |a$="No"...8 | 00003ce0 20 20 20 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 | .. "WimpExt_S| 00003cf0 65 74 49 63 6f 6e 53 74 72 69 6e 67 22 2c 2c 2c |etIconString",,,| 00003d00 66 69 6c 65 5f 69 6e 66 6f 25 2c 37 2c 61 24 0d |file_info%,7,a$.| 00003d10 10 fe 09 20 20 20 20 cb 0d 11 08 16 20 20 20 20 |... ..... | 00003d20 c9 20 31 3a c8 8e 20 62 25 21 33 36 20 ca 0d 11 |. 1:.. b%!36 ...| 00003d30 12 1b 20 20 20 20 20 20 c9 20 30 3a f2 70 72 65 |.. . 0:.pre| 00003d40 70 61 72 65 5f 62 6f 6f 6b 0d 11 1c 1d 20 20 20 |pare_book.... | 00003d50 20 20 20 c9 20 31 3a f2 70 72 65 70 61 72 65 5f | . 1:.prepare_| 00003d60 73 65 61 72 63 68 0d 11 26 1e 20 20 20 20 20 20 |search..&. | 00003d70 c9 20 32 3a f2 70 72 65 70 61 72 65 5f 61 64 64 |. 2:.prepare_add| 00003d80 72 65 73 73 0d 11 30 09 20 20 20 20 cb 0d 11 3a |ress..0. ...:| 00003d90 16 20 20 20 20 c9 20 32 3a c8 8e 20 62 25 21 33 |. . 2:.. b%!3| 00003da0 36 20 ca 0d 11 44 1d 20 20 20 20 20 20 c9 20 30 |6 ...D. . 0| 00003db0 3a f2 70 72 65 70 61 72 65 5f 73 65 61 72 63 68 |:.prepare_search| 00003dc0 0d 11 4e 09 20 20 20 20 cb 0d 11 58 07 20 20 cb |..N. ...X. .| 00003dd0 0d 11 62 05 cb 0d 11 6c 2b c8 99 20 22 57 69 6d |..b....l+.. "Wim| 00003de0 70 5f 43 72 65 61 74 65 53 75 62 4d 65 6e 75 22 |p_CreateSubMenu"| 00003df0 2c 2c 6d 77 31 25 2c 6d 77 32 25 2c 6d 77 33 25 |,,mw1%,mw2%,mw3%| 00003e00 0d 11 76 05 e1 0d 11 80 05 3a 0d 11 8a 3e dd f2 |..v......:...>..| 00003e10 70 72 65 70 61 72 65 5f 62 6f 6f 6b 3a 73 61 76 |prepare_book:sav| 00003e20 65 5f 71 75 69 74 25 3d 30 3a 66 69 6c 65 6e 61 |e_quit%=0:filena| 00003e30 6d 65 25 3d a4 69 6e 5f 61 64 64 72 28 73 61 76 |me%=.in_addr(sav| 00003e40 65 5f 61 73 25 2c 30 29 0d 11 94 43 c8 99 20 22 |e_as%,0)...C.. "| 00003e50 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 53 |WimpExt_SetIconS| 00003e60 74 72 69 6e 67 22 2c 2c 2c 73 61 76 65 5f 61 73 |tring",,,save_as| 00003e70 25 2c 30 2c 67 6f 6f 64 5f 62 6f 6f 6b 24 3a 73 |%,0,good_book$:s| 00003e80 61 76 65 5f 74 79 70 65 25 3d 31 0d 11 9e 25 f2 |ave_type%=1...%.| 00003e90 73 6f 72 74 6f 75 74 5f 70 61 72 74 69 61 6c 28 |sortout_partial(| 00003ea0 30 2c 73 61 76 65 5f 61 73 25 2c 36 2c 31 30 29 |0,save_as%,6,10)| 00003eb0 0d 11 a8 05 e1 0d 11 b2 05 3a 0d 11 bc 41 dd f2 |.........:...A..| 00003ec0 70 72 65 70 61 72 65 5f 73 65 61 72 63 68 3a 73 |prepare_search:s| 00003ed0 61 76 65 5f 71 75 69 74 25 3d 30 3a 66 69 6c 65 |ave_quit%=0:file| 00003ee0 6e 61 6d 65 25 3d a4 69 6e 5f 61 64 64 72 28 73 |name%=.in_addr(s| 00003ef0 61 76 65 5f 61 73 31 25 2c 30 29 0d 11 c6 46 c8 |ave_as1%,0)...F.| 00003f00 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 |. "WimpExt_SetIc| 00003f10 6f 6e 53 74 72 69 6e 67 22 2c 2c 2c 73 61 76 65 |onString",,,save| 00003f20 5f 61 73 31 25 2c 30 2c 67 6f 6f 64 5f 73 65 61 |_as1%,0,good_sea| 00003f30 72 63 68 24 3a 73 61 76 65 5f 74 79 70 65 25 3d |rch$:save_type%=| 00003f40 32 0d 11 d0 05 e1 0d 11 da 05 3a 0d 11 e4 42 dd |2.........:...B.| 00003f50 f2 70 72 65 70 61 72 65 5f 61 64 64 72 65 73 73 |.prepare_address| 00003f60 3a 73 61 76 65 5f 71 75 69 74 25 3d 30 3a 66 69 |:save_quit%=0:fi| 00003f70 6c 65 6e 61 6d 65 25 3d a4 69 6e 5f 61 64 64 72 |lename%=.in_addr| 00003f80 28 73 61 76 65 5f 61 73 32 25 2c 30 29 0d 11 ee |(save_as2%,0)...| 00003f90 47 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 |G.. "WimpExt_Set| 00003fa0 49 63 6f 6e 53 74 72 69 6e 67 22 2c 2c 2c 73 61 |IconString",,,sa| 00003fb0 76 65 5f 61 73 32 25 2c 30 2c 67 6f 6f 64 5f 61 |ve_as2%,0,good_a| 00003fc0 64 64 72 65 73 73 24 3a 73 61 76 65 5f 74 79 70 |ddress$:save_typ| 00003fd0 65 25 3d 33 0d 11 f8 05 e1 0d 12 02 05 3a 0d 12 |e%=3.........:..| 00003fe0 0c 10 dd f2 63 6c 6f 73 65 5f 64 6f 77 6e 0d 12 |....close_down..| 00003ff0 16 43 e7 20 69 6e 69 74 25 20 c8 99 20 22 57 69 |.C. init% .. "Wi| 00004000 6d 70 45 78 74 5f 43 6c 6f 73 65 44 6f 77 6e 22 |mpExt_CloseDown"| 00004010 2c 74 61 73 6b 5f 68 61 6e 64 6c 65 25 3a c8 99 |,task_handle%:..| 00004020 20 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e | "Wimp_CloseDown| 00004030 22 0d 12 20 05 e0 0d 12 2a 05 e1 0d 12 34 05 3a |".. ....*....4.:| 00004040 0d 12 3e 13 dd f2 6f 70 65 6e 5f 70 6f 73 5f 70 |..>...open_pos_p| 00004050 61 6e 65 0d 12 48 0f e7 20 70 61 6e 65 5f 32 25 |ane..H.. pane_2%| 00004060 20 8c 0d 12 52 30 20 20 78 31 25 3d 62 25 21 34 | ...R0 x1%=b%!4| 00004070 3a 78 32 25 3d 78 31 25 2b 36 37 38 3a 79 31 25 |:x2%=x1%+678:y1%| 00004080 3d 62 25 21 38 2d 34 3a 79 32 25 3d 79 31 25 2d |=b%!8-4:y2%=y1%-| 00004090 38 34 0d 12 5c 35 20 20 70 25 3d 62 25 21 32 38 |84..\5 p%=b%!28| 000040a0 3a 21 62 32 25 3d 70 6f 73 25 3a c8 99 20 22 57 |:!b2%=pos%:.. "W| 000040b0 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 49 6e 66 |imp_GetWindowInf| 000040c0 6f 22 2c 2c 62 32 25 0d 12 66 39 20 20 62 32 25 |o",,b2%..f9 b2%| 000040d0 21 34 3d 78 31 25 3a 62 32 25 21 38 3d 79 32 25 |!4=x1%:b2%!8=y2%| 000040e0 3a 62 32 25 21 31 32 3d 78 32 25 3a 62 32 25 21 |:b2%!12=x2%:b2%!| 000040f0 31 36 3d 79 31 25 3a 62 32 25 21 32 38 3d 70 25 |16=y1%:b2%!28=p%| 00004100 0d 12 70 2a 20 20 c8 99 20 22 57 69 6d 70 5f 4f |..p* .. "Wimp_O| 00004110 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 32 25 3a |penWindow",,b2%:| 00004120 62 25 21 32 38 3d 70 6f 73 25 0d 12 7a 05 cd 0d |b%!28=pos%..z...| 00004130 12 84 05 e1 0d 12 8e 05 3a 0d 12 98 3c dd f2 6f |........:...<..o| 00004140 70 65 6e 5f 77 69 6e 64 6f 77 28 21 62 25 29 3a |pen_window(!b%):| 00004150 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 |.. "Wimp_GetWind| 00004160 6f 77 53 74 61 74 65 22 2c 2c 62 25 3a 62 25 21 |owState",,b%:b%!| 00004170 32 38 3d 2d 31 0d 12 a2 23 c8 99 20 22 57 69 6d |28=-1...#.. "Wim| 00004180 70 45 78 74 5f 43 65 6e 74 72 65 57 69 6e 64 6f |pExt_CentreWindo| 00004190 77 22 2c 2c 62 25 2b 34 0d 12 ac 3a c8 99 20 22 |w",,b%+4...:.. "| 000041a0 57 69 6d 70 45 78 74 5f 4f 70 65 6e 4c 69 6e 6b |WimpExt_OpenLink| 000041b0 65 64 22 2c 2c 62 25 3a e7 20 21 62 25 3d 62 6f |ed",,b%:. !b%=bo| 000041c0 6f 6b 25 20 f2 6f 70 65 6e 5f 70 6f 73 5f 70 61 |ok% .open_pos_pa| 000041d0 6e 65 0d 12 b6 05 e1 0d 12 c0 05 3a 0d 12 ca 2c |ne.........:...,| 000041e0 dd f2 6f 70 65 6e 28 21 62 25 29 3a c8 99 20 22 |..open(!b%):.. "| 000041f0 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 |Wimp_GetWindowSt| 00004200 61 74 65 22 2c 2c 62 25 0d 12 d4 3a c8 99 20 22 |ate",,b%...:.. "| 00004210 57 69 6d 70 45 78 74 5f 4f 70 65 6e 4c 69 6e 6b |WimpExt_OpenLink| 00004220 65 64 22 2c 2c 62 25 3a e7 20 21 62 25 3d 62 6f |ed",,b%:. !b%=bo| 00004230 6f 6b 25 20 f2 6f 70 65 6e 5f 70 6f 73 5f 70 61 |ok% .open_pos_pa| 00004240 6e 65 0d 12 de 05 e1 0d 12 e8 05 3a 0d 12 f2 35 |ne.........:...5| 00004250 dd f2 6f 70 65 6e 5f 61 74 28 21 62 25 2c 78 25 |..open_at(!b%,x%| 00004260 2c 79 25 29 3a c8 99 20 22 57 69 6d 70 5f 47 65 |,y%):.. "Wimp_Ge| 00004270 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 62 |tWindowState",,b| 00004280 25 0d 12 fc 47 77 25 3d 62 25 21 31 32 2d 62 25 |%...Gw%=b%!12-b%| 00004290 21 34 3a 68 25 3d 62 25 21 31 36 2d 62 25 21 38 |!4:h%=b%!16-b%!8| 000042a0 3a 62 25 21 34 3d 78 25 3a 62 25 21 38 3d 79 25 |:b%!4=x%:b%!8=y%| 000042b0 2d 68 25 3a 62 25 21 31 32 3d 78 25 2b 77 25 3a |-h%:b%!12=x%+w%:| 000042c0 62 25 21 31 36 3d 79 25 0d 13 06 21 c8 99 20 22 |b%!16=y%...!.. "| 000042d0 57 69 6d 70 45 78 74 5f 4f 70 65 6e 4c 69 6e 6b |WimpExt_OpenLink| 000042e0 65 64 22 2c 2c 62 25 3a e1 0d 13 10 05 3a 0d 13 |ed",,b%:.....:..| 000042f0 1a 34 dd f2 63 6c 6f 73 65 5f 77 69 6e 64 6f 77 |.4..close_window| 00004300 28 21 62 25 29 3a c8 99 20 22 57 69 6d 70 45 78 |(!b%):.. "WimpEx| 00004310 74 5f 43 6c 6f 73 65 4c 69 6e 6b 65 64 22 2c 2c |t_CloseLinked",,| 00004320 62 25 0d 13 24 32 e7 20 21 62 25 3d 62 6f 6f 6b |b%..$2. !b%=book| 00004330 25 20 21 62 25 3d 70 6f 73 25 3a c8 99 20 22 57 |% !b%=pos%:.. "W| 00004340 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 |imp_CloseWindow"| 00004350 2c 2c 62 25 0d 13 2e 1b e7 20 21 62 25 3d 6c 69 |,,b%..... !b%=li| 00004360 73 74 25 20 73 65 61 72 63 68 65 64 25 3d 30 0d |st% searched%=0.| 00004370 13 38 05 e1 0d 13 42 05 3a 0d 13 4c 11 dd f2 64 |.8....B.:..L...d| 00004380 65 6c 65 74 65 5f 62 6f 6f 6b 0d 13 56 3c f2 62 |elete_book..V<.b| 00004390 6c 61 6e 6b 5f 72 65 63 6f 72 64 28 30 29 3a 72 |lank_record(0):r| 000043a0 65 63 6f 72 64 25 3d 30 3a 6d 61 78 25 3d 30 3a |ecord%=0:max%=0:| 000043b0 f2 64 69 73 70 6c 61 79 28 72 65 63 6f 72 64 25 |.display(record%| 000043c0 29 3a f2 70 6f 73 0d 13 60 27 c8 99 20 22 57 69 |):.pos..`'.. "Wi| 000043d0 6d 70 45 78 74 5f 50 75 74 43 61 72 65 74 49 63 |mpExt_PutCaretIc| 000043e0 6f 6e 22 2c 2c 2c 62 6f 6f 6b 25 2c 39 0d 13 6a |on",,,book%,9..j| 000043f0 25 f2 63 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 6c |%.close_window(l| 00004400 69 73 74 25 29 3a f2 6d 6f 64 69 66 69 65 64 28 |ist%):.modified(| 00004410 31 29 0d 13 74 05 e1 0d 13 7e 05 3a 0d 13 88 0b |1)..t....~.:....| 00004420 dd f2 63 6c 69 63 6b 0d 13 92 2d 78 25 3d 62 25 |..click...-x%=b%| 00004430 21 30 3a 79 25 3d 62 25 21 34 3a 63 25 3d 62 25 |!0:y%=b%!4:c%=b%| 00004440 21 38 3a 77 25 3d 62 25 21 31 32 3a 69 25 3d 62 |!8:w%=b%!12:i%=b| 00004450 25 21 31 36 0d 13 9c 24 c8 99 20 22 58 57 69 6d |%!16...$.. "XWim| 00004460 70 45 78 74 5f 53 6c 61 62 49 63 6f 6e 22 2c 2c |pExt_SlabIcon",,| 00004470 2c 77 25 2c 69 25 2c 30 0d 13 a6 0b c8 8e 20 77 |,w%,i%,0...... w| 00004480 25 20 ca 0d 13 b0 14 20 20 c9 20 2d 33 3a c8 8e |% ..... . -3:..| 00004490 20 72 65 71 25 20 ca 0d 13 ba 1c 20 20 20 20 c9 | req% ..... .| 000044a0 20 2d 31 3a e7 20 69 25 3d 31 20 71 75 69 74 25 | -1:. i%=1 quit%| 000044b0 3d 2d 31 0d 13 c4 32 20 20 20 20 c9 20 30 3a f4 |=-1...2 . 0:.| 000044c0 20 27 4f 4b 27 20 63 6c 69 63 6b 20 66 72 6f 6d | 'OK' click from| 000044d0 20 61 20 72 65 6d 69 6e 64 65 72 20 72 65 71 75 | a reminder requ| 000044e0 65 73 74 65 72 0d 13 ce 2c 20 20 20 20 c9 20 31 |ester..., . 1| 000044f0 3a e7 20 69 25 3d 30 20 f2 64 65 6c 65 74 65 5f |:. i%=0 .delete_| 00004500 72 65 63 6f 72 64 28 72 65 63 6f 72 64 25 2c 31 |record(record%,1| 00004510 29 0d 13 d8 1f 20 20 20 20 c9 20 32 3a e7 20 69 |).... . 2:. i| 00004520 25 3d 30 20 f2 64 65 6c 65 74 65 5f 62 6f 6f 6b |%=0 .delete_book| 00004530 0d 13 e2 23 20 20 20 20 c9 20 33 3a e7 20 69 25 |...# . 3:. i%| 00004540 3d 30 20 f2 64 65 6c 65 74 65 5f 73 65 61 72 63 |=0 .delete_searc| 00004550 68 65 64 0d 13 ec 13 20 20 20 20 c9 20 34 3a c8 |hed.... . 4:.| 00004560 8e 20 69 25 20 ca 0d 13 f6 86 20 20 20 20 20 20 |. i% ..... | 00004570 c9 20 30 3a c8 99 20 22 57 69 6d 70 45 78 74 5f |. 0:.. "WimpExt_| 00004580 53 65 74 49 63 6f 6e 53 74 72 69 6e 67 22 2c 2c |SetIconString",,| 00004590 2c 73 61 76 65 5f 61 73 25 2c 30 2c 67 6f 6f 64 |,save_as%,0,good| 000045a0 5f 62 6f 6f 6b 24 3a 73 61 76 65 5f 74 79 70 65 |_book$:save_type| 000045b0 25 3d 31 3a c8 99 20 22 57 69 6d 70 45 78 74 5f |%=1:.. "WimpExt_| 000045c0 4f 70 65 6e 44 69 61 6c 6f 67 75 65 22 2c 2c 2c |OpenDialogue",,,| 000045d0 73 61 76 65 5f 61 73 25 2c 31 34 38 2c 37 30 3a |save_as%,148,70:| 000045e0 73 61 76 65 5f 71 75 69 74 25 3d 31 0d 14 00 23 |save_quit%=1...#| 000045f0 20 20 20 20 20 20 c9 20 31 3a 71 75 69 74 25 3d | . 1:quit%=| 00004600 2d 31 3a f2 6d 6f 64 69 66 69 65 64 28 30 29 0d |-1:.modified(0).| 00004610 14 0a 09 20 20 20 20 cb 0d 14 14 13 20 20 20 20 |... ..... | 00004620 c9 20 35 3a c8 8e 20 69 25 20 ca 0d 14 1e 79 20 |. 5:.. i% ....y | 00004630 20 20 20 20 20 c9 20 30 3a c8 99 20 22 57 69 6d | . 0:.. "Wim| 00004640 70 45 78 74 5f 53 65 74 49 63 6f 6e 53 74 72 69 |pExt_SetIconStri| 00004650 6e 67 22 2c 2c 2c 73 61 76 65 5f 61 73 25 2c 30 |ng",,,save_as%,0| 00004660 2c 67 6f 6f 64 5f 62 6f 6f 6b 24 3a 73 61 76 65 |,good_book$:save| 00004670 5f 74 79 70 65 25 3d 31 3a c8 99 20 22 57 69 6d |_type%=1:.. "Wim| 00004680 70 45 78 74 5f 4f 70 65 6e 44 69 61 6c 6f 67 75 |pExt_OpenDialogu| 00004690 65 22 2c 2c 2c 73 61 76 65 5f 61 73 25 2c 31 34 |e",,,save_as%,14| 000046a0 38 2c 37 30 0d 14 28 29 20 20 20 20 20 20 c9 20 |8,70..() . | 000046b0 31 3a f2 6c 6f 61 64 5f 66 69 6c 65 28 6d 6f 64 |1:.load_file(mod| 000046c0 5f 66 69 6c 65 6e 61 6d 65 24 2c 30 29 0d 14 32 |_filename$,0)..2| 000046d0 09 20 20 20 20 cb 0d 14 3c 6e 20 20 20 20 c9 20 |. ...<n . | 000046e0 36 3a e7 20 69 25 3d 30 20 f2 62 6c 61 6e 6b 5f |6:. i%=0 .blank_| 000046f0 72 65 63 6f 72 64 28 72 65 63 6f 72 64 25 29 3a |record(record%):| 00004700 f2 64 69 73 70 6c 61 79 28 72 65 63 6f 72 64 25 |.display(record%| 00004710 29 3a e7 20 a4 6f 70 65 6e 28 62 6f 6f 6b 25 29 |):. .open(book%)| 00004720 20 c8 99 20 22 57 69 6d 70 45 78 74 5f 50 75 74 | .. "WimpExt_Put| 00004730 43 61 72 65 74 49 63 6f 6e 22 2c 2c 2c 62 6f 6f |CaretIcon",,,boo| 00004740 6b 25 2c 39 0d 14 46 07 20 20 cb 0d 14 50 12 20 |k%,9..F. ...P. | 00004750 20 c9 20 2d 32 3a c8 8e 20 63 25 20 ca 0d 14 5a | . -2:.. c% ...Z| 00004760 43 20 20 20 20 c9 20 34 3a f2 6f 70 65 6e 5f 77 |C . 4:.open_w| 00004770 69 6e 64 6f 77 28 62 6f 6f 6b 25 29 3a c8 99 20 |indow(book%):.. | 00004780 22 57 69 6d 70 45 78 74 5f 50 75 74 43 61 72 65 |"WimpExt_PutCare| 00004790 74 49 63 6f 6e 22 2c 2c 2c 62 6f 6f 6b 25 2c 39 |tIcon",,,book%,9| 000047a0 0d 14 64 21 20 20 20 20 c9 20 32 3a f2 6d 65 6e |..d! . 2:.men| 000047b0 75 28 6d 31 25 2c 78 25 2c 79 25 2c b9 2c 65 31 |u(m1%,x%,y%,.,e1| 000047c0 29 0d 14 6e 07 20 20 cb 0d 14 78 24 20 20 c9 20 |)..n. ...x$ . | 000047d0 73 61 76 65 5f 61 73 25 2c 73 61 76 65 5f 61 73 |save_as%,save_as| 000047e0 31 25 2c 73 61 76 65 5f 61 73 32 25 0d 14 82 0c |1%,save_as2%....| 000047f0 20 20 c8 8e 20 b9 20 ca 0d 14 8c 42 20 20 20 20 | .. . ....B | 00004800 c9 20 69 25 3d 31 20 80 20 28 63 25 20 80 20 26 |. i%=1 . (c% . &| 00004810 35 30 29 3e 30 3a c8 99 20 22 57 69 6d 70 45 78 |50)>0:.. "WimpEx| 00004820 74 5f 47 65 74 49 63 6f 6e 22 2c 2c 2c 77 25 2c |t_GetIcon",,,w%,| 00004830 33 20 b8 20 61 73 63 69 69 25 0d 14 96 27 20 20 |3 . ascii%...' | 00004840 20 20 e7 20 61 73 63 69 69 25 20 66 74 25 3d 26 | . ascii% ft%=&| 00004850 46 46 46 20 8b 20 66 74 25 3d 74 65 6c 5f 66 74 |FFF . ft%=tel_ft| 00004860 25 0d 14 a0 3c 20 20 20 20 c8 99 20 22 57 69 6d |%...< .. "Wim| 00004870 70 45 78 74 5f 44 72 61 67 49 63 6f 6e 22 2c 25 |pExt_DragIcon",%| 00004880 31 30 30 30 30 31 30 31 2c 31 2c 77 25 2c 31 2c |10000101,1,w%,1,| 00004890 22 66 69 6c 65 5f 22 2b c3 7e 66 74 25 0d 14 aa |"file_"+.~ft%...| 000048a0 27 20 20 20 20 c9 20 69 25 3d 32 20 80 20 28 63 |' . i%=2 . (c| 000048b0 25 20 80 20 35 29 3e 30 3a f2 71 75 69 63 6b 5f |% . 5)>0:.quick_| 000048c0 73 61 76 65 0d 14 b4 48 20 20 20 20 c9 20 69 25 |save...H . i%| 000048d0 3d 33 20 80 20 28 63 25 3d 34 20 84 20 63 25 3d |=3 . (c%=4 . c%=| 000048e0 31 29 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 |1):.. "WimpExt_S| 000048f0 65 74 49 63 6f 6e 22 2c 2c 2c 77 25 2c 31 2c a4 |etIcon",,,w%,1,.| 00004900 6f 6e 28 77 25 2c 31 29 20 82 20 31 0d 14 be 07 |on(w%,1) . 1....| 00004910 20 20 cb 0d 14 c8 0d 20 20 c8 8e 20 77 25 20 ca | ..... .. w% .| 00004920 0d 14 d2 1b 20 20 20 20 c9 20 73 61 76 65 5f 61 |.... . save_a| 00004930 73 32 25 3a c8 8e 20 69 25 20 ca 0d 14 dc 19 20 |s2%:.. i% ..... | 00004940 20 20 20 20 20 c9 20 33 3a f2 73 61 76 65 32 5f | . 3:.save2_| 00004950 73 69 7a 65 0d 14 e6 09 20 20 20 20 cb 0d 14 f0 |size.... ....| 00004960 1a 20 20 20 20 c9 20 73 61 76 65 5f 61 73 25 3a |. . save_as%:| 00004970 c8 8e 20 69 25 20 ca 0d 14 fa 18 20 20 20 20 20 |.. i% ..... | 00004980 20 c9 20 34 3a f2 73 61 76 65 5f 73 69 7a 65 0d | . 4:.save_size.| 00004990 15 04 39 20 20 20 20 20 20 c9 20 37 3a c8 99 20 |..9 . 7:.. | 000049a0 22 57 69 6d 70 45 78 74 5f 44 65 63 4e 75 6d 62 |"WimpExt_DecNumb| 000049b0 65 72 49 63 6f 6e 22 2c 2c 2c 73 61 76 65 5f 61 |erIcon",,,save_a| 000049c0 73 25 2c 36 2c 31 2c 31 0d 15 0e 49 20 20 20 20 |s%,6,1,1...I | 000049d0 20 20 c9 20 38 3a c8 99 20 22 57 69 6d 70 45 78 | . 8:.. "WimpEx| 000049e0 74 5f 49 6e 63 4e 75 6d 62 65 72 49 63 6f 6e 22 |t_IncNumberIcon"| 000049f0 2c 2c 2c 73 61 76 65 5f 61 73 25 2c 36 2c a4 76 |,,,save_as%,6,.v| 00004a00 61 6c 28 73 61 76 65 5f 61 73 25 2c 31 30 29 2c |al(save_as%,10),| 00004a10 31 0d 15 18 4a 20 20 20 20 20 20 c9 20 31 31 3a |1...J . 11:| 00004a20 c8 99 20 22 57 69 6d 70 45 78 74 5f 44 65 63 4e |.. "WimpExt_DecN| 00004a30 75 6d 62 65 72 49 63 6f 6e 22 2c 2c 2c 73 61 76 |umberIcon",,,sav| 00004a40 65 5f 61 73 25 2c 31 30 2c a4 76 61 6c 28 73 61 |e_as%,10,.val(sa| 00004a50 76 65 5f 61 73 25 2c 36 29 2c 31 0d 15 22 40 20 |ve_as%,6),1.."@ | 00004a60 20 20 20 20 20 c9 20 31 32 3a c8 99 20 22 57 69 | . 12:.. "Wi| 00004a70 6d 70 45 78 74 5f 49 6e 63 4e 75 6d 62 65 72 49 |mpExt_IncNumberI| 00004a80 63 6f 6e 22 2c 2c 2c 73 61 76 65 5f 61 73 25 2c |con",,,save_as%,| 00004a90 31 30 2c 6d 61 78 25 2b 31 2c 31 0d 15 2c 09 20 |10,max%+1,1..,. | 00004aa0 20 20 20 cb 0d 15 36 07 20 20 cb 0d 15 40 0e 20 | ...6. ...@. | 00004ab0 20 c9 20 74 6f 6f 6c 73 25 0d 15 4a 0d 20 20 c8 | . tools%..J. .| 00004ac0 8e 20 69 25 20 ca 0d 15 54 5c 20 20 20 20 c9 20 |. i% ...T\ . | 00004ad0 30 3a f2 63 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 |0:.close_window(| 00004ae0 6c 69 73 74 25 29 3a f2 6f 70 65 6e 5f 77 69 6e |list%):.open_win| 00004af0 64 6f 77 28 73 65 61 72 63 68 25 29 3a c8 99 20 |dow(search%):.. | 00004b00 22 57 69 6d 70 45 78 74 5f 50 75 74 43 61 72 65 |"WimpExt_PutCare| 00004b10 74 49 63 6f 6e 22 2c 2c 2c 73 65 61 72 63 68 25 |tIcon",,,search%| 00004b20 2c 36 0d 15 5e 11 20 20 20 20 c9 20 31 3a f2 73 |,6..^. . 1:.s| 00004b30 6f 72 74 0d 15 68 2b 20 20 20 20 c9 20 32 3a f2 |ort..h+ . 2:.| 00004b40 69 6e 73 65 72 74 5f 72 65 63 6f 72 64 28 72 65 |insert_record(re| 00004b50 63 6f 72 64 25 2c 70 66 5f 61 64 64 25 29 0d 15 |cord%,pf_add%)..| 00004b60 72 a5 20 20 20 20 c9 20 33 3a e7 20 a4 62 69 74 |r. . 3:. .bit| 00004b70 28 70 66 5f 63 6f 6e 66 69 72 6d 25 2c 31 29 20 |(pf_confirm%,1) | 00004b80 8c 20 72 65 71 25 3d 31 3a c8 99 20 22 57 69 6d |. req%=1:.. "Wim| 00004b90 70 45 78 74 5f 4f 70 65 6e 52 65 71 75 65 73 74 |pExt_OpenRequest| 00004ba0 65 72 22 2c 2c 2c 22 51 75 65 72 79 20 66 72 6f |er",,,"Query fro| 00004bb0 6d 20 54 65 6c 41 64 64 72 22 2c 22 44 65 6c 65 |m TelAddr","Dele| 00004bc0 74 65 20 72 65 63 6f 72 64 2c 20 61 72 65 20 79 |te record, are y| 00004bd0 6f 75 20 73 75 72 65 20 3f 22 2c 6f 6b 5f 63 61 |ou sure ?",ok_ca| 00004be0 6e 63 65 6c 25 2c 31 20 8b 20 f2 64 65 6c 65 74 |ncel%,1 . .delet| 00004bf0 65 5f 72 65 63 6f 72 64 28 72 65 63 6f 72 64 25 |e_record(record%| 00004c00 2c 31 29 0d 15 7c 07 20 20 cb 0d 15 86 0c 20 20 |,1)..|. ..... | 00004c10 c9 20 70 6f 73 25 0d 15 90 0d 20 20 c8 8e 20 69 |. pos%.... .. i| 00004c20 25 20 ca 0d 15 9a 14 20 20 20 20 c9 20 30 3a f2 |% ..... . 0:.| 00004c30 73 68 6f 77 28 30 29 0d 15 a4 39 20 20 c9 20 31 |show(0)...9 . 1| 00004c40 3a f5 3a 72 65 63 6f 72 64 25 2d 3d 31 3a fd 20 |:.:record%-=1:. | 00004c50 28 28 72 65 63 6f 72 64 25 2b 31 29 83 35 29 3d |((record%+1).5)=| 00004c60 30 3a f2 73 68 6f 77 28 72 65 63 6f 72 64 25 29 |0:.show(record%)| 00004c70 0d 15 ae 1c 20 20 20 20 c9 20 32 3a f2 73 68 6f |.... . 2:.sho| 00004c80 77 28 72 65 63 6f 72 64 25 2d 31 29 0d 15 b8 1c |w(record%-1)....| 00004c90 20 20 20 20 c9 20 33 3a f2 73 68 6f 77 28 72 65 | . 3:.show(re| 00004ca0 63 6f 72 64 25 2b 31 29 0d 15 c2 39 20 20 c9 20 |cord%+1)...9 . | 00004cb0 34 3a f5 3a 72 65 63 6f 72 64 25 2b 3d 31 3a fd |4:.:record%+=1:.| 00004cc0 20 28 28 72 65 63 6f 72 64 25 2b 31 29 83 35 29 | ((record%+1).5)| 00004cd0 3d 30 3a f2 73 68 6f 77 28 72 65 63 6f 72 64 25 |=0:.show(record%| 00004ce0 29 0d 15 cc 17 20 20 20 20 c9 20 35 3a f2 73 68 |).... . 5:.sh| 00004cf0 6f 77 28 6d 61 78 25 29 0d 15 d6 2d 20 20 20 20 |ow(max%)...- | 00004d00 c9 20 37 3a 24 67 6f 74 6f 25 3d 22 22 3a f2 6d |. 7:$goto%="":.m| 00004d10 65 6e 75 5f 6f 70 74 28 70 6f 73 25 2c 37 2c 73 |enu_opt(pos%,7,s| 00004d20 31 25 2c 31 29 0d 15 e0 07 20 20 cb 0d 15 ea 2a |1%,1).... ....*| 00004d30 20 20 c9 20 62 6f 6f 6b 25 3a e7 20 63 25 3d 32 | . book%:. c%=2| 00004d40 20 f2 6d 65 6e 75 28 6d 33 25 2c 78 25 2c 79 25 | .menu(m3%,x%,y%| 00004d50 2c a3 2c 65 33 29 0d 15 f4 0f 20 20 c9 20 73 65 |,.,e3).... . se| 00004d60 61 72 63 68 25 0d 15 fe 0d 20 20 c8 8e 20 69 25 |arch%.... .. i%| 00004d70 20 ca 0d 16 08 23 20 20 20 20 c9 20 31 38 3a f2 | ....# . 18:.| 00004d80 63 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 73 65 61 |close_window(sea| 00004d90 72 63 68 25 29 0d 16 12 14 20 20 20 20 c9 20 31 |rch%).... . 1| 00004da0 37 3a f2 73 65 61 72 63 68 0d 16 1c 07 20 20 cb |7:.search.... .| 00004db0 0d 16 26 0d 20 20 c9 20 6c 69 73 74 25 0d 16 30 |..&. . list%..0| 00004dc0 0d 20 20 c8 8e 20 69 25 20 ca 0d 16 3a 20 20 20 |. .. i% ...: | 00004dd0 20 20 c9 20 31 3a f2 63 6c 6f 73 65 5f 77 69 6e | . 1:.close_win| 00004de0 64 6f 77 28 6c 69 73 74 25 29 0d 16 44 5c 20 20 |dow(list%)..D\ | 00004df0 20 20 c9 20 32 3a f2 63 6c 6f 73 65 5f 77 69 6e | . 2:.close_win| 00004e00 64 6f 77 28 6c 69 73 74 25 29 3a f2 6f 70 65 6e |dow(list%):.open| 00004e10 5f 77 69 6e 64 6f 77 28 73 65 61 72 63 68 25 29 |_window(search%)| 00004e20 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 50 75 74 |:.. "WimpExt_Put| 00004e30 43 61 72 65 74 49 63 6f 6e 22 2c 2c 2c 73 65 61 |CaretIcon",,,sea| 00004e40 72 63 68 25 2c 36 0d 16 4e cc 20 20 20 20 c9 20 |rch%,6..N. . | 00004e50 33 3a e7 20 a4 62 69 74 28 70 66 5f 63 6f 6e 66 |3:. .bit(pf_conf| 00004e60 69 72 6d 25 2c 32 29 20 8c 20 72 65 71 25 3d 33 |irm%,2) . req%=3| 00004e70 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 4f 70 65 |:.. "WimpExt_Ope| 00004e80 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c 22 51 |nRequester",,,"Q| 00004e90 75 65 72 79 20 66 72 6f 6d 20 54 65 6c 41 64 64 |uery from TelAdd| 00004ea0 72 22 2c 22 41 72 65 20 79 6f 75 20 73 75 72 65 |r","Are you sure| 00004eb0 20 74 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 | that you want t| 00004ec0 6f 20 64 65 6c 65 74 65 20 61 6c 6c 20 72 65 63 |o delete all rec| 00004ed0 6f 72 64 73 20 6d 61 74 63 68 65 64 20 62 79 20 |ords matched by | 00004ee0 74 68 65 20 6c 61 73 74 20 73 65 61 72 63 68 20 |the last search | 00004ef0 3f 22 2c 6f 6b 5f 63 61 6e 63 65 6c 25 2c 31 20 |?",ok_cancel%,1 | 00004f00 8b 20 f2 64 65 6c 65 74 65 5f 73 65 61 72 63 68 |. .delete_search| 00004f10 65 64 0d 16 58 2e 20 20 20 20 c9 20 34 3a f2 6f |ed..X. . 4:.o| 00004f20 70 65 6e 5f 73 61 76 65 28 73 61 76 65 5f 61 73 |pen_save(save_as| 00004f30 31 25 2c 67 6f 6f 64 5f 73 65 61 72 63 68 24 29 |1%,good_search$)| 00004f40 0d 16 62 28 20 20 20 20 c9 20 35 3a f2 63 6c 6f |..b( . 5:.clo| 00004f50 73 65 5f 77 69 6e 64 6f 77 28 6c 69 73 74 25 29 |se_window(list%)| 00004f60 3a f2 73 65 61 72 63 68 0d 16 6c 07 20 20 cb 0d |:.search..l. ..| 00004f70 16 76 12 20 20 c9 20 6c 69 73 74 5f 70 61 6e 65 |.v. . list_pane| 00004f80 25 0d 16 80 0d 20 20 c8 8e 20 63 25 20 ca 0d 16 |%.... .. c% ...| 00004f90 8a 21 20 20 20 20 c9 20 32 3a f2 6d 65 6e 75 28 |.! . 2:.menu(| 00004fa0 6d 33 25 2c 78 25 2c 79 25 2c a3 2c 65 33 29 0d |m3%,x%,y%,.,e3).| 00004fb0 16 94 07 20 20 7f 0d 16 9e 17 20 20 20 20 f2 73 |... ..... .s| 00004fc0 74 6f 72 65 28 72 65 63 6f 72 64 25 29 0d 16 a8 |tore(record%)...| 00004fd0 43 20 20 20 20 21 62 25 3d 6c 69 73 74 5f 70 61 |C !b%=list_pa| 00004fe0 6e 65 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 |ne%:.. "Wimp_Get| 00004ff0 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 62 25 |WindowState",,b%| 00005000 3a 79 25 2d 3d 62 25 21 31 36 2d 62 25 21 32 34 |:y%-=b%!16-b%!24| 00005010 0d 16 b2 3a 20 20 20 20 6f 6c 64 5f 73 65 61 72 |...: old_sear| 00005020 63 68 5f 73 65 6c 25 3d 73 65 61 72 63 68 5f 73 |ch_sel%=search_s| 00005030 65 6c 25 3a 73 65 61 72 63 68 5f 73 65 6c 25 3d |el%:search_sel%=| 00005040 94 28 79 25 20 81 20 34 38 29 0d 16 bc 39 20 20 |.(y% . 48)...9 | 00005050 20 20 e7 20 73 65 61 72 63 68 5f 73 65 6c 25 3e | . search_sel%>| 00005060 73 65 61 72 63 68 5f 6c 65 6e 25 20 73 65 61 72 |search_len% sear| 00005070 63 68 5f 73 65 6c 25 3d 73 65 61 72 63 68 5f 6c |ch_sel%=search_l| 00005080 65 6e 25 0d 16 c6 51 20 20 20 20 c8 99 20 22 57 |en%...Q .. "W| 00005090 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 49 6e 66 |imp_GetWindowInf| 000050a0 6f 22 2c 2c 62 25 3a 62 25 21 34 3d 62 25 21 34 |o",,b%:b%!4=b%!4| 000050b0 34 3a 62 25 21 38 3d 62 25 21 34 38 3a 62 25 21 |4:b%!8=b%!48:b%!| 000050c0 31 32 3d 62 25 21 35 32 3a 62 25 21 31 36 3d 62 |12=b%!52:b%!16=b| 000050d0 25 21 35 36 0d 16 d0 2a 20 20 20 20 c8 99 20 22 |%!56...* .. "| 000050e0 57 69 6d 70 5f 55 70 64 61 74 65 57 69 6e 64 6f |Wimp_UpdateWindo| 000050f0 77 22 2c 2c 62 25 20 b8 20 66 6c 61 67 25 0d 16 |w",,b% . flag%..| 00005100 da 13 20 20 20 20 f2 67 65 74 5f 63 6f 6f 72 64 |.. .get_coord| 00005110 73 0d 16 e4 10 20 20 20 20 c8 95 20 66 6c 61 67 |s.... .. flag| 00005120 25 0d 16 ee 16 20 20 20 20 20 20 f2 72 65 64 72 |%.... .redr| 00005130 61 77 5f 6c 69 73 74 0d 16 f8 2c 20 20 20 20 20 |aw_list..., | 00005140 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 52 65 63 | .. "Wimp_GetRec| 00005150 74 61 6e 67 6c 65 22 2c 2c 62 25 20 b8 20 66 6c |tangle",,b% . fl| 00005160 61 67 25 0d 17 02 09 20 20 20 20 ce 0d 17 0c 27 |ag%.... ....'| 00005170 20 20 20 20 72 65 63 6f 72 64 25 3d 74 61 62 6c | record%=tabl| 00005180 65 25 21 28 73 65 61 72 63 68 5f 73 65 6c 25 2a |e%!(search_sel%*| 00005190 31 32 29 0d 17 16 23 20 20 20 20 e7 20 72 65 63 |12)...# . rec| 000051a0 6f 72 64 25 3e 6d 61 78 25 20 72 65 63 6f 72 64 |ord%>max% record| 000051b0 25 3d 6d 61 78 25 0d 17 20 6a 20 20 20 20 f2 64 |%=max%.. j .d| 000051c0 69 73 70 6c 61 79 28 72 65 63 6f 72 64 25 29 3a |isplay(record%):| 000051d0 e7 20 a4 6f 70 65 6e 28 62 6f 6f 6b 25 29 20 c8 |. .open(book%) .| 000051e0 99 20 22 57 69 6d 70 45 78 74 5f 50 75 74 43 61 |. "WimpExt_PutCa| 000051f0 72 65 74 49 63 6f 6e 22 2c 2c 2c 62 6f 6f 6b 25 |retIcon",,,book%| 00005200 2c 28 74 61 62 6c 65 25 21 28 28 73 65 61 72 63 |,(table%!((searc| 00005210 68 5f 73 65 6c 25 2a 31 32 29 2b 34 29 29 2b 39 |h_sel%*12)+4))+9| 00005220 0d 17 2a 19 20 20 20 20 f2 70 6f 73 3a 64 69 66 |..*. .pos:dif| 00005230 66 65 72 65 6e 74 25 3d 30 0d 17 34 07 20 20 cb |ferent%=0..4. .| 00005240 0d 17 3e 15 20 20 c9 20 70 72 65 66 25 3a c8 8e |..>. . pref%:..| 00005250 20 69 25 20 ca 0d 17 48 2a 20 20 20 20 c9 20 31 | i% ...H* . 1| 00005260 3a f2 6f 6b 5f 70 72 65 66 73 3a f2 63 6c 6f 73 |:.ok_prefs:.clos| 00005270 65 5f 77 69 6e 64 6f 77 28 70 72 65 66 25 29 0d |e_window(pref%).| 00005280 17 52 2e 20 20 20 20 c9 20 32 3a f2 63 6c 6f 73 |.R. . 2:.clos| 00005290 65 5f 77 69 6e 64 6f 77 28 70 72 65 66 25 29 3a |e_window(pref%):| 000052a0 f2 63 61 6e 63 65 6c 5f 70 72 65 66 73 0d 17 5c |.cancel_prefs..\| 000052b0 1a 20 20 20 20 c9 20 33 3a f2 64 65 66 61 75 6c |. . 3:.defaul| 000052c0 74 5f 70 72 65 66 73 0d 17 66 36 20 20 20 20 c9 |t_prefs..f6 .| 000052d0 20 34 3a f2 73 61 76 65 5f 70 72 65 66 73 3a f2 | 4:.save_prefs:.| 000052e0 6f 6b 5f 70 72 65 66 73 3a f2 63 6c 6f 73 65 5f |ok_prefs:.close_| 000052f0 77 69 6e 64 6f 77 28 70 72 65 66 25 29 0d 17 70 |window(pref%)..p| 00005300 1a 20 20 20 20 c9 20 35 3a f2 6c 6f 61 64 5f 70 |. . 5:.load_p| 00005310 72 65 66 73 28 30 29 0d 17 7a 07 20 20 cb 0d 17 |refs(0)..z. ...| 00005320 84 1a 20 20 c9 20 70 72 65 66 5f 70 61 6e 65 25 |.. . pref_pane%| 00005330 3a c8 8e 20 69 25 20 ca 0d 17 8e 27 20 20 20 20 |:.. i% ....' | 00005340 c9 20 33 37 3a 6f 6e 25 3d a4 6f 6e 28 70 72 65 |. 37:on%=.on(pre| 00005350 66 5f 70 61 6e 65 25 2c 33 37 29 20 82 20 31 0d |f_pane%,37) . 1.| 00005360 17 98 16 20 20 20 20 20 20 e3 20 49 25 3d 33 39 |... . I%=39| 00005370 20 b8 20 34 35 0d 17 a2 3f 20 20 20 20 20 20 20 | . 45...? | 00005380 20 e7 20 49 25 3c 3e 34 32 20 c8 99 20 22 57 69 | . I%<>42 .. "Wi| 00005390 6d 70 45 78 74 5f 53 68 61 64 65 49 63 6f 6e 22 |mpExt_ShadeIcon"| 000053a0 2c 2c 2c 70 72 65 66 5f 70 61 6e 65 25 2c 49 25 |,,,pref_pane%,I%| 000053b0 2c 6f 6e 25 0d 17 ac 0b 20 20 20 20 20 20 ed 0d |,on%.... ..| 000053c0 17 b6 3b 20 20 20 20 c9 20 34 30 3a c8 99 20 22 |..; . 40:.. "| 000053d0 57 69 6d 70 45 78 74 5f 44 65 63 4e 75 6d 62 65 |WimpExt_DecNumbe| 000053e0 72 49 63 6f 6e 22 2c 2c 2c 70 72 65 66 5f 70 61 |rIcon",,,pref_pa| 000053f0 6e 65 25 2c 33 39 2c 31 2c 31 0d 17 c0 4d 20 20 |ne%,39,1,1...M | 00005400 20 20 c9 20 34 31 3a c8 99 20 22 57 69 6d 70 45 | . 41:.. "WimpE| 00005410 78 74 5f 49 6e 63 4e 75 6d 62 65 72 49 63 6f 6e |xt_IncNumberIcon| 00005420 22 2c 2c 2c 70 72 65 66 5f 70 61 6e 65 25 2c 33 |",,,pref_pane%,3| 00005430 39 2c a4 76 61 6c 28 70 72 65 66 5f 70 61 6e 65 |9,.val(pref_pane| 00005440 25 2c 34 33 29 2c 31 0d 17 ca 4d 20 20 20 20 c9 |%,43),1...M .| 00005450 20 34 34 3a c8 99 20 22 57 69 6d 70 45 78 74 5f | 44:.. "WimpExt_| 00005460 44 65 63 4e 75 6d 62 65 72 49 63 6f 6e 22 2c 2c |DecNumberIcon",,| 00005470 2c 70 72 65 66 5f 70 61 6e 65 25 2c 34 33 2c a4 |,pref_pane%,43,.| 00005480 76 61 6c 28 70 72 65 66 5f 70 61 6e 65 25 2c 33 |val(pref_pane%,3| 00005490 39 29 2c 31 0d 17 d4 40 20 20 20 20 c9 20 34 35 |9),1...@ . 45| 000054a0 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 49 6e 63 |:.. "WimpExt_Inc| 000054b0 4e 75 6d 62 65 72 49 63 6f 6e 22 2c 2c 2c 70 72 |NumberIcon",,,pr| 000054c0 65 66 5f 70 61 6e 65 25 2c 34 33 2c 6d 61 78 25 |ef_pane%,43,max%| 000054d0 2b 31 2c 31 0d 17 de 6f 20 20 20 20 c9 20 35 32 |+1,1...o . 52| 000054e0 2c 35 33 3a c8 99 20 22 57 69 6d 70 45 78 74 5f |,53:.. "WimpExt_| 000054f0 53 68 61 64 65 49 63 6f 6e 22 2c 2c 2c 70 72 65 |ShadeIcon",,,pre| 00005500 66 5f 70 61 6e 65 25 2c 35 34 2c 94 28 69 25 3d |f_pane%,54,.(i%=| 00005510 35 32 29 3a c8 99 20 22 57 69 6d 70 45 78 74 5f |52):.. "WimpExt_| 00005520 53 68 61 64 65 49 63 6f 6e 22 2c 2c 2c 70 72 65 |ShadeIcon",,,pre| 00005530 66 5f 70 61 6e 65 25 2c 37 34 2c 94 28 69 25 3d |f_pane%,74,.(i%=| 00005540 35 32 29 0d 17 e8 59 20 20 20 20 c9 20 35 37 3a |52)...Y . 57:| 00005550 e3 20 49 25 3d 35 38 20 b8 20 35 39 3a c8 99 20 |. I%=58 . 59:.. | 00005560 22 57 69 6d 70 45 78 74 5f 53 68 61 64 65 49 63 |"WimpExt_ShadeIc| 00005570 6f 6e 22 2c 2c 2c 70 72 65 66 5f 70 61 6e 65 25 |on",,,pref_pane%| 00005580 2c 49 25 2c a4 6f 6e 28 70 72 65 66 5f 70 61 6e |,I%,.on(pref_pan| 00005590 65 25 2c 35 37 29 20 82 20 31 3a ed 0d 17 f2 62 |e%,57) . 1:....b| 000055a0 20 20 20 20 c9 20 35 39 3a 4a 25 3d a4 62 67 5f | . 59:J%=.bg_| 000055b0 63 6f 6c 28 70 72 65 66 5f 70 61 6e 65 25 2c 35 |col(pref_pane%,5| 000055c0 38 29 3a e3 20 49 25 3d 30 20 b8 20 31 35 3a c8 |8):. I%=0 . 15:.| 000055d0 99 20 22 57 69 6d 70 45 78 74 5f 54 69 63 6b 45 |. "WimpExt_TickE| 000055e0 6e 74 72 79 22 2c 2c 63 6f 6c 5f 6d 65 6e 75 25 |ntry",,col_menu%| 000055f0 2c 49 25 2c 94 28 49 25 3d 4a 25 29 3a ed 0d 17 |,I%,.(I%=J%):...| 00005600 fc 2f 20 20 20 20 20 20 f2 6d 65 6e 75 5f 6f 70 |./ .menu_op| 00005610 74 28 70 72 65 66 5f 70 61 6e 65 25 2c 35 39 2c |t(pref_pane%,59,| 00005620 63 6f 6c 5f 6d 65 6e 75 25 2c 31 36 29 0d 18 06 |col_menu%,16)...| 00005630 59 20 20 20 20 c9 20 36 33 3a e3 20 49 25 3d 36 |Y . 63:. I%=6| 00005640 34 20 b8 20 36 35 3a c8 99 20 22 57 69 6d 70 45 |4 . 65:.. "WimpE| 00005650 78 74 5f 53 68 61 64 65 49 63 6f 6e 22 2c 2c 2c |xt_ShadeIcon",,,| 00005660 70 72 65 66 5f 70 61 6e 65 25 2c 49 25 2c a4 6f |pref_pane%,I%,.o| 00005670 6e 28 70 72 65 66 5f 70 61 6e 65 25 2c 36 33 29 |n(pref_pane%,63)| 00005680 20 82 20 31 3a ed 0d 18 10 4a 20 20 20 20 c9 20 | . 1:....J . | 00005690 37 32 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 |72:.. "WimpExt_S| 000056a0 68 61 64 65 49 63 6f 6e 22 2c 2c 2c 70 72 65 66 |hadeIcon",,,pref| 000056b0 5f 70 61 6e 65 25 2c 37 33 2c a4 6f 6e 28 70 72 |_pane%,73,.on(pr| 000056c0 65 66 5f 70 61 6e 65 25 2c 37 32 29 20 82 20 31 |ef_pane%,72) . 1| 000056d0 0d 18 1a 07 20 20 cb 0d 18 24 05 cb 0d 18 2e 05 |.... ...$......| 000056e0 e1 0d 18 38 05 3a 0d 18 42 27 dd f2 73 61 76 65 |...8.:..B'..save| 000056f0 32 5f 73 69 7a 65 3a 6f 70 65 6e 25 3d a4 6f 70 |2_size:open%=.op| 00005700 65 6e 28 73 61 76 65 5f 61 73 32 25 29 0d 18 4c |en(save_as2%)..L| 00005710 2c e7 20 a4 6f 6e 28 73 61 76 65 5f 61 73 32 25 |,. .on(save_as2%| 00005720 2c 33 29 20 8c 20 77 79 25 3d 2d 33 39 36 20 8b |,3) . wy%=-396 .| 00005730 20 77 79 25 3d 2d 32 37 36 0d 18 56 2d 21 62 25 | wy%=-276..V-!b%| 00005740 3d 73 61 76 65 5f 61 73 32 25 3a c8 99 20 22 57 |=save_as2%:.. "W| 00005750 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 49 6e 66 |imp_GetWindowInf| 00005760 6f 22 2c 2c 62 25 0d 18 60 33 e7 20 6f 70 65 6e |o",,b%..`3. open| 00005770 25 20 62 25 21 38 3d 62 25 21 31 36 2b 77 79 25 |% b%!8=b%!16+wy%| 00005780 3a c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 |:.. "Wimp_OpenWi| 00005790 6e 64 6f 77 22 2c 2c 62 25 0d 18 6a 05 e1 0d 18 |ndow",,b%..j....| 000057a0 74 05 3a 0d 18 7e 25 dd f2 73 61 76 65 5f 73 69 |t.:..~%..save_si| 000057b0 7a 65 3a 6f 70 65 6e 25 3d a4 6f 70 65 6e 28 73 |ze:open%=.open(s| 000057c0 61 76 65 5f 61 73 25 29 0d 18 88 2b e7 20 a4 6f |ave_as%)...+. .o| 000057d0 6e 28 73 61 76 65 5f 61 73 25 2c 34 29 20 8c 20 |n(save_as%,4) . | 000057e0 77 79 25 3d 2d 34 38 38 20 8b 20 77 79 25 3d 2d |wy%=-488 . wy%=-| 000057f0 33 33 32 0d 18 92 2c 21 62 25 3d 73 61 76 65 5f |332...,!b%=save_| 00005800 61 73 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 |as%:.. "Wimp_Get| 00005810 57 69 6e 64 6f 77 49 6e 66 6f 22 2c 2c 62 25 0d |WindowInfo",,b%.| 00005820 18 9c 33 e7 20 6f 70 65 6e 25 20 62 25 21 38 3d |..3. open% b%!8=| 00005830 62 25 21 31 36 2b 77 79 25 3a c8 99 20 22 57 69 |b%!16+wy%:.. "Wi| 00005840 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c |mp_OpenWindow",,| 00005850 62 25 0d 18 a6 05 e1 0d 18 b0 05 3a 0d 18 ba 16 |b%.........:....| 00005860 dd f2 6f 70 65 6e 5f 73 61 76 65 28 77 25 2c 73 |..open_save(w%,s| 00005870 24 29 0d 18 c4 1c 66 69 6c 65 6e 61 6d 65 25 3d |$)....filename%=| 00005880 a4 69 6e 5f 61 64 64 72 28 77 25 2c 30 29 0d 18 |.in_addr(w%,0)..| 00005890 ce 28 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 |.(.. "WimpExt_Se| 000058a0 74 49 63 6f 6e 53 74 72 69 6e 67 22 2c 2c 2c 77 |tIconString",,,w| 000058b0 25 2c 30 2c 73 24 0d 18 d8 0b c8 8e 20 77 25 20 |%,0,s$...... w% | 000058c0 ca 0d 18 e2 1d 20 20 c9 20 73 61 76 65 5f 61 73 |..... . save_as| 000058d0 25 3a 73 61 76 65 5f 74 79 70 65 25 3d 31 0d 18 |%:save_type%=1..| 000058e0 ec 1e 20 20 c9 20 73 61 76 65 5f 61 73 31 25 3a |.. . save_as1%:| 000058f0 73 61 76 65 5f 74 79 70 65 25 3d 32 0d 18 f6 1e |save_type%=2....| 00005900 20 20 c9 20 73 61 76 65 5f 61 73 32 25 3a 73 61 | . save_as2%:sa| 00005910 76 65 5f 74 79 70 65 25 3d 33 0d 19 00 05 cb 0d |ve_type%=3......| 00005920 19 0a 10 73 61 76 65 5f 71 75 69 74 25 3d 30 0d |...save_quit%=0.| 00005930 19 14 13 f2 73 74 6f 72 65 28 72 65 63 6f 72 64 |....store(record| 00005940 25 29 0d 19 1e 29 c8 99 20 22 57 69 6d 70 45 78 |%)...).. "WimpEx| 00005950 74 5f 4f 70 65 6e 44 69 61 6c 6f 67 75 65 22 2c |t_OpenDialogue",| 00005960 2c 2c 77 25 2c 31 35 36 2c 37 30 0d 19 28 05 e1 |,,w%,156,70..(..| 00005970 0d 19 32 05 3a 0d 19 3c 1a dd f2 6d 65 6e 75 5f |..2.:..<...menu_| 00005980 6f 70 74 28 77 25 2c 69 25 2c 6d 25 2c 65 29 0d |opt(w%,i%,m%,e).| 00005990 19 46 27 21 62 25 3d 77 25 3a c8 99 20 22 57 69 |.F'!b%=w%:.. "Wi| 000059a0 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 |mp_GetWindowStat| 000059b0 65 22 2c 2c 62 25 0d 19 50 35 6d 69 6e 78 25 3d |e",,b%..P5minx%=| 000059c0 62 25 21 34 2d 62 25 21 32 30 3a 6d 69 6e 79 25 |b%!4-b%!20:miny%| 000059d0 3d 62 25 21 31 36 2d 62 25 21 32 34 3a 21 62 25 |=b%!16-b%!24:!b%| 000059e0 3d 77 25 3a 62 25 21 34 3d 69 25 0d 19 5a 43 c8 |=w%:b%!4=i%..ZC.| 000059f0 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 |. "Wimp_GetIconS| 00005a00 74 61 74 65 22 2c 2c 62 25 3a 78 25 3d 6d 69 6e |tate",,b%:x%=min| 00005a10 78 25 2b 62 25 21 31 36 3a 79 25 3d 6d 69 6e 79 |x%+b%!16:y%=miny| 00005a20 25 2b 62 25 21 31 32 2b 28 31 33 2a 34 29 0d 19 |%+b%!12+(13*4)..| 00005a30 64 22 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 |d".. "Wimp_Creat| 00005a40 65 4d 65 6e 75 22 2c 2c 6d 25 2c 78 25 2c 79 25 |eMenu",,m%,x%,y%| 00005a50 0d 19 6e 11 6f 6d 25 3d 6d 25 3a 6f 65 3d 65 3a |..n.om%=m%:oe=e:| 00005a60 e1 0d 19 78 05 3a 0d 19 82 1a dd f2 6d 65 6e 75 |...x.:......menu| 00005a70 28 6d 25 2c 78 25 2c 79 25 2c 69 62 25 2c 65 29 |(m%,x%,y%,ib%,e)| 00005a80 0d 19 8c 13 f2 73 74 6f 72 65 28 72 65 63 6f 72 |.....store(recor| 00005a90 64 25 29 0d 19 96 30 c8 99 20 22 57 69 6d 70 45 |d%)...0.. "WimpE| 00005aa0 78 74 5f 53 68 61 64 65 45 6e 74 72 79 22 2c 2c |xt_ShadeEntry",,| 00005ab0 6d 32 25 2c 31 2c 73 65 61 72 63 68 65 64 25 20 |m2%,1,searched% | 00005ac0 82 20 31 0d 19 a0 30 c8 99 20 22 57 69 6d 70 45 |. 1...0.. "WimpE| 00005ad0 78 74 5f 53 68 61 64 65 45 6e 74 72 79 22 2c 2c |xt_ShadeEntry",,| 00005ae0 6d 36 25 2c 30 2c 73 65 61 72 63 68 65 64 25 20 |m6%,0,searched% | 00005af0 82 20 31 0d 19 aa 30 c8 99 20 22 57 69 6d 70 45 |. 1...0.. "WimpE| 00005b00 78 74 5f 53 68 61 64 65 45 6e 74 72 79 22 2c 2c |xt_ShadeEntry",,| 00005b10 6d 36 25 2c 32 2c 73 65 61 72 63 68 65 64 25 20 |m6%,2,searched% | 00005b20 82 20 31 0d 19 b4 29 c8 99 20 22 57 69 6d 70 45 |. 1...).. "WimpE| 00005b30 78 74 5f 54 69 63 6b 45 6e 74 72 79 22 2c 2c 6d |xt_TickEntry",,m| 00005b40 38 25 2c 30 2c 70 61 6e 65 5f 31 25 0d 19 be 29 |8%,0,pane_1%...)| 00005b50 c8 99 20 22 57 69 6d 70 45 78 74 5f 54 69 63 6b |.. "WimpExt_Tick| 00005b60 45 6e 74 72 79 22 2c 2c 6d 38 25 2c 31 2c 70 61 |Entry",,m8%,1,pa| 00005b70 6e 65 5f 32 25 0d 19 c8 39 c8 99 20 22 57 69 6d |ne_2%...9.. "Wim| 00005b80 70 45 78 74 5f 53 65 74 49 63 6f 6e 53 74 72 69 |pExt_SetIconStri| 00005b90 6e 67 4e 22 2c 2c 2c 66 69 6c 65 5f 69 6e 66 6f |ngN",,,file_info| 00005ba0 25 2c 31 2c 67 6f 6f 64 5f 62 6f 6f 6b 24 0d 19 |%,1,good_book$..| 00005bb0 d2 34 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 |.4.. "WimpExt_Se| 00005bc0 74 4e 75 6d 62 65 72 49 63 6f 6e 22 2c 2c 2c 66 |tNumberIcon",,,f| 00005bd0 69 6c 65 5f 69 6e 66 6f 25 2c 33 2c 6d 61 78 25 |ile_info%,3,max%| 00005be0 2b 31 0d 19 dc 59 4a 25 3d a4 62 67 5f 63 6f 6c |+1...YJ%=.bg_col| 00005bf0 28 70 72 65 66 5f 70 61 6e 65 25 2c 35 38 29 3a |(pref_pane%,58):| 00005c00 e3 20 49 25 3d 30 20 b8 20 31 35 3a c8 99 20 22 |. I%=0 . 15:.. "| 00005c10 57 69 6d 70 45 78 74 5f 54 69 63 6b 45 6e 74 72 |WimpExt_TickEntr| 00005c20 79 22 2c 2c 63 6f 6c 5f 6d 65 6e 75 25 2c 49 25 |y",,col_menu%,I%| 00005c30 2c 94 28 49 25 3d 4a 25 29 3a ed 0d 19 e6 3d e7 |,.(I%=J%):....=.| 00005c40 20 69 62 25 20 79 32 25 3d 39 36 2b 65 2a 34 34 | ib% y2%=96+e*44| 00005c50 3a 78 32 25 3d 78 25 2d 36 34 20 8b 20 79 32 25 |:x2%=x%-64 . y2%| 00005c60 3d 79 25 3a 78 32 25 3d 78 25 2d 33 32 2d 28 31 |=y%:x2%=x%-32-(1| 00005c70 36 2a 6f 70 74 58 25 29 0d 19 f0 24 c8 99 20 22 |6*optX%)...$.. "| 00005c80 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 |Wimp_CreateMenu"| 00005c90 2c 2c 6d 25 2c 78 32 25 2c 79 32 25 0d 19 fa 11 |,,m%,x2%,y2%....| 00005ca0 6f 6d 25 3d 6d 25 3a 6f 65 3d 65 3a e1 0d 1a 04 |om%=m%:oe=e:....| 00005cb0 05 3a 0d 1a 0e 13 dd f2 63 61 6c 63 5f 66 69 6c |.:......calc_fil| 00005cc0 65 5f 6c 65 6e 0d 1a 18 12 6c 65 6e 25 3d a4 66 |e_len....len%=.f| 00005cd0 69 6c 65 5f 6c 65 6e 0d 1a 22 3e e7 20 6c 65 6e |ile_len..">. len| 00005ce0 25 3e 3d 34 30 39 36 20 6c 65 6e 24 3d c3 28 6c |%>=4096 len$=.(l| 00005cf0 65 6e 25 20 81 20 31 30 32 34 29 2b 22 6b 22 20 |en% . 1024)+"k" | 00005d00 8b 20 6c 65 6e 24 3d c3 6c 65 6e 25 2b 22 20 62 |. len$=.len%+" b| 00005d10 79 74 65 73 22 0d 1a 2c 32 c8 99 20 22 57 69 6d |ytes"..,2.. "Wim| 00005d20 70 45 78 74 5f 53 65 74 49 63 6f 6e 53 74 72 69 |pExt_SetIconStri| 00005d30 6e 67 22 2c 2c 2c 66 69 6c 65 5f 69 6e 66 6f 25 |ng",,,file_info%| 00005d40 2c 35 2c 6c 65 6e 24 0d 1a 36 05 e1 0d 1a 40 05 |,5,len$..6....@.| 00005d50 3a 0d 1a 4a 0e dd a4 66 69 6c 65 5f 6c 65 6e 0d |:..J...file_len.| 00005d60 1a 54 2e 41 25 3d 74 61 62 25 3a 42 25 3d 28 6d |.T.A%=tab%:B%=(m| 00005d70 61 78 25 2b 31 29 2a 31 31 3a 6c 65 6e 25 3d ba |ax%+1)*11:len%=.| 00005d80 28 66 69 6c 65 5f 6c 65 6e 67 74 68 29 0d 1a 5e |(file_length)..^| 00005d90 1d 6c 65 6e 25 2b 3d 31 34 2b a9 c3 28 6d 61 78 |.len%+=14+..(max| 00005da0 25 2b 31 29 3a 3d 6c 65 6e 25 0d 1a 68 05 3a 0d |%+1):=len%..h.:.| 00005db0 1a 72 10 dd f2 6d 65 6e 75 73 65 6c 65 63 74 0d |.r...menuselect.| 00005dc0 1a 7c 0c c8 8e 20 6f 6d 25 20 ca 0d 1a 86 14 20 |.|... om% ..... | 00005dd0 20 c9 20 6d 31 25 3a c8 8e 20 21 62 25 20 ca 0d | . m1%:.. !b% ..| 00005de0 1a 90 47 20 20 20 20 c9 20 31 3a f2 72 65 6d 65 |..G . 1:.reme| 00005df0 6d 62 65 72 5f 70 72 65 66 73 3a f2 73 63 72 6f |mber_prefs:.scro| 00005e00 6c 6c 5f 74 6f 70 28 70 72 65 66 5f 70 61 6e 65 |ll_top(pref_pane| 00005e10 25 29 3a f2 6f 70 65 6e 5f 77 69 6e 64 6f 77 28 |%):.open_window(| 00005e20 70 72 65 66 25 29 0d 1a 9a 25 20 20 20 20 c9 20 |pref%)...% . | 00005e30 32 3a f2 70 72 65 70 61 72 65 5f 62 6f 6f 6b 3a |2:.prepare_book:| 00005e40 f2 71 75 69 63 6b 5f 73 61 76 65 0d 1a a4 11 20 |.quick_save.... | 00005e50 20 20 20 c9 20 33 3a f2 71 75 69 74 0d 1a ae 07 | . 3:.quit....| 00005e60 20 20 cb 0d 1a b8 14 20 20 c9 20 73 31 25 3a c8 | ..... . s1%:.| 00005e70 8e 20 21 62 25 20 ca 0d 1a c2 1e 20 20 20 20 c9 |. !b% ..... .| 00005e80 20 30 3a f2 73 68 6f 77 28 bb 28 24 67 6f 74 6f | 0:.show(.($goto| 00005e90 25 29 2d 31 29 0d 1a cc 07 20 20 cb 0d 1a d6 14 |%)-1).... .....| 00005ea0 20 20 c9 20 6d 33 25 3a c8 8e 20 21 62 25 20 ca | . m3%:.. !b% .| 00005eb0 0d 1a e0 15 20 20 20 20 c9 20 31 3a c8 8e 20 62 |.... . 1:.. b| 00005ec0 25 21 34 20 ca 0d 1a ea 2a 20 20 20 20 20 20 c9 |%!4 ....* .| 00005ed0 20 2d 31 2c 30 3a f2 70 72 65 70 61 72 65 5f 62 | -1,0:.prepare_b| 00005ee0 6f 6f 6b 3a f2 71 75 69 63 6b 5f 73 61 76 65 0d |ook:.quick_save.| 00005ef0 1a f4 29 20 20 20 20 20 20 c9 20 31 3a f2 70 72 |..) . 1:.pr| 00005f00 65 70 61 72 65 5f 73 65 61 72 63 68 3a f2 71 75 |epare_search:.qu| 00005f10 69 63 6b 5f 73 61 76 65 0d 1a fe 2a 20 20 20 20 |ick_save...* | 00005f20 20 20 c9 20 32 3a f2 70 72 65 70 61 72 65 5f 61 | . 2:.prepare_a| 00005f30 64 64 72 65 73 73 3a f2 71 75 69 63 6b 5f 73 61 |ddress:.quick_sa| 00005f40 76 65 0d 1b 08 09 20 20 20 20 cb 0d 1b 12 15 20 |ve.... ..... | 00005f50 20 20 20 c9 20 32 3a c8 8e 20 62 25 21 34 20 ca | . 2:.. b%!4 .| 00005f60 0d 1b 1c 29 20 20 20 20 20 20 c9 20 30 3a f2 70 |...) . 0:.p| 00005f70 72 65 70 61 72 65 5f 73 65 61 72 63 68 3a f2 71 |repare_search:.q| 00005f80 75 69 63 6b 5f 73 61 76 65 0d 1b 26 5e 20 20 20 |uick_save..&^ | 00005f90 20 20 20 c9 20 31 3a f2 63 6c 6f 73 65 5f 77 69 | . 1:.close_wi| 00005fa0 6e 64 6f 77 28 6c 69 73 74 25 29 3a f2 6f 70 65 |ndow(list%):.ope| 00005fb0 6e 5f 77 69 6e 64 6f 77 28 73 65 61 72 63 68 25 |n_window(search%| 00005fc0 29 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 50 75 |):.. "WimpExt_Pu| 00005fd0 74 43 61 72 65 74 49 63 6f 6e 22 2c 2c 2c 73 65 |tCaretIcon",,,se| 00005fe0 61 72 63 68 25 2c 36 0d 1b 30 cc 20 20 20 20 20 |arch%,6..0. | 00005ff0 20 c9 20 32 3a e7 20 a4 62 69 74 28 70 66 5f 63 | . 2:. .bit(pf_c| 00006000 6f 6e 66 69 72 6d 25 2c 32 29 20 8c 20 72 65 71 |onfirm%,2) . req| 00006010 25 3d 33 3a c8 99 20 22 57 69 6d 70 45 78 74 5f |%=3:.. "WimpExt_| 00006020 4f 70 65 6e 52 65 71 75 65 73 74 65 72 22 2c 2c |OpenRequester",,| 00006030 2c 22 51 75 65 72 79 20 66 72 6f 6d 20 54 65 6c |,"Query from Tel| 00006040 41 64 64 72 22 2c 22 41 72 65 20 79 6f 75 20 73 |Addr","Are you s| 00006050 75 72 65 20 74 68 61 74 20 79 6f 75 20 77 61 6e |ure that you wan| 00006060 74 20 74 6f 20 64 65 6c 65 74 65 20 61 6c 6c 20 |t to delete all | 00006070 72 65 63 6f 72 64 73 20 6d 61 74 63 68 65 64 20 |records matched | 00006080 62 79 20 74 68 65 20 6c 61 73 74 20 73 65 61 72 |by the last sear| 00006090 63 68 20 3f 22 2c 6f 6b 5f 63 61 6e 63 65 6c 25 |ch ?",ok_cancel%| 000060a0 2c 31 20 8b 20 f2 64 65 6c 65 74 65 5f 73 65 61 |,1 . .delete_sea| 000060b0 72 63 68 0d 1b 3a 09 20 20 20 20 cb 0d 1b 44 15 |rch..:. ...D.| 000060c0 20 20 20 20 c9 20 33 3a c8 8e 20 62 25 21 34 20 | . 3:.. b%!4 | 000060d0 ca 0d 1b 4e 27 20 20 20 20 20 20 c9 20 30 3a f2 |...N' . 0:.| 000060e0 69 6e 73 65 72 74 5f 72 65 63 6f 72 64 28 72 65 |insert_record(re| 000060f0 63 6f 72 64 25 2c 30 29 0d 1b 58 27 20 20 20 20 |cord%,0)..X' | 00006100 20 20 c9 20 31 3a f2 69 6e 73 65 72 74 5f 72 65 | . 1:.insert_re| 00006110 63 6f 72 64 28 72 65 63 6f 72 64 25 2c 31 29 0d |cord(record%,1).| 00006120 1b 62 a7 20 20 20 20 20 20 c9 20 32 3a e7 20 a4 |.b. . 2:. .| 00006130 62 69 74 28 70 66 5f 63 6f 6e 66 69 72 6d 25 2c |bit(pf_confirm%,| 00006140 31 29 20 8c 20 72 65 71 25 3d 31 3a c8 99 20 22 |1) . req%=1:.. "| 00006150 57 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 71 75 |WimpExt_OpenRequ| 00006160 65 73 74 65 72 22 2c 2c 2c 22 51 75 65 72 79 20 |ester",,,"Query | 00006170 66 72 6f 6d 20 54 65 6c 41 64 64 72 22 2c 22 44 |from TelAddr","D| 00006180 65 6c 65 74 65 20 72 65 63 6f 72 64 2c 20 61 72 |elete record, ar| 00006190 65 20 79 6f 75 20 73 75 72 65 20 3f 22 2c 6f 6b |e you sure ?",ok| 000061a0 5f 63 61 6e 63 65 6c 25 2c 31 20 8b 20 f2 64 65 |_cancel%,1 . .de| 000061b0 6c 65 74 65 5f 72 65 63 6f 72 64 28 72 65 63 6f |lete_record(reco| 000061c0 72 64 25 2c 31 29 0d 1b 6c e8 20 20 20 20 20 20 |rd%,1)..l. | 000061d0 c9 20 33 3a e7 20 a4 62 69 74 28 70 66 5f 63 6f |. 3:. .bit(pf_co| 000061e0 6e 66 69 72 6d 25 2c 30 29 20 8c 20 72 65 71 25 |nfirm%,0) . req%| 000061f0 3d 36 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 4f |=6:.. "WimpExt_O| 00006200 70 65 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c |penRequester",,,| 00006210 22 51 75 65 72 79 20 66 72 6f 6d 20 54 65 6c 41 |"Query from TelA| 00006220 64 64 72 22 2c 22 43 6c 65 61 72 20 72 65 63 6f |ddr","Clear reco| 00006230 72 64 2c 20 61 72 65 20 79 6f 75 20 73 75 72 65 |rd, are you sure| 00006240 20 3f 22 2c 6f 6b 5f 63 61 6e 63 65 6c 25 2c 31 | ?",ok_cancel%,1| 00006250 20 8b 20 f2 62 6c 61 6e 6b 5f 72 65 63 6f 72 64 | . .blank_record| 00006260 28 72 65 63 6f 72 64 25 29 3a f2 64 69 73 70 6c |(record%):.displ| 00006270 61 79 28 72 65 63 6f 72 64 25 29 3a e7 20 a4 6f |ay(record%):. .o| 00006280 70 65 6e 28 62 6f 6f 6b 25 29 20 c8 99 20 22 57 |pen(book%) .. "W| 00006290 69 6d 70 45 78 74 5f 50 75 74 43 61 72 65 74 49 |impExt_PutCaretI| 000062a0 63 6f 6e 22 2c 2c 2c 62 6f 6f 6b 25 2c 39 0d 1b |con",,,book%,9..| 000062b0 76 ba 20 20 20 20 20 20 c9 20 34 3a e7 20 a4 62 |v. . 4:. .b| 000062c0 69 74 28 70 66 5f 63 6f 6e 66 69 72 6d 25 2c 33 |it(pf_confirm%,3| 000062d0 29 20 8c 20 72 65 71 25 3d 32 3a c8 99 20 22 57 |) . req%=2:.. "W| 000062e0 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 71 75 65 |impExt_OpenReque| 000062f0 73 74 65 72 22 2c 2c 2c 22 51 75 65 72 79 20 66 |ster",,,"Query f| 00006300 72 6f 6d 20 54 65 6c 41 64 64 72 22 2c 22 41 72 |rom TelAddr","Ar| 00006310 65 20 79 6f 75 20 73 75 72 65 20 74 68 61 74 20 |e you sure that | 00006320 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 65 6c 65 |you want to dele| 00006330 74 65 20 74 68 65 20 77 68 6f 6c 65 20 61 64 64 |te the whole add| 00006340 72 65 73 73 20 62 6f 6f 6b 20 3f 22 2c 6f 6b 5f |ress book ?",ok_| 00006350 63 61 6e 63 65 6c 25 2c 31 20 8b 20 f2 64 65 6c |cancel%,1 . .del| 00006360 65 74 65 5f 62 6f 6f 6b 0d 1b 80 09 20 20 20 20 |ete_book.... | 00006370 cb 0d 1b 8a 15 20 20 20 20 c9 20 34 3a c8 8e 20 |..... . 4:.. | 00006380 62 25 21 34 20 ca 0d 1b 94 21 20 20 20 20 20 20 |b%!4 ....! | 00006390 c9 20 30 3a 70 61 6e 65 5f 31 25 3d 70 61 6e 65 |. 0:pane_1%=pane| 000063a0 5f 31 25 20 82 20 31 0d 1b 9e 84 20 20 20 20 20 |_1% . 1.... | 000063b0 20 20 20 e7 20 70 61 6e 65 5f 31 25 20 c8 99 20 | . pane_1% .. | 000063c0 22 57 69 6d 70 45 78 74 5f 55 6e 48 69 64 65 4c |"WimpExt_UnHideL| 000063d0 69 6e 6b 22 2c 62 6f 6f 6b 25 2c 2c 74 6f 6f 6c |ink",book%,,tool| 000063e0 73 25 3a f2 6f 70 65 6e 28 62 6f 6f 6b 25 29 20 |s%:.open(book%) | 000063f0 8b 20 c8 99 20 22 57 69 6d 70 45 78 74 5f 48 69 |. .. "WimpExt_Hi| 00006400 64 65 4c 69 6e 6b 22 2c 62 6f 6f 6b 25 2c 2c 74 |deLink",book%,,t| 00006410 6f 6f 6c 73 25 3a f2 63 6c 6f 73 65 5f 77 69 6e |ools%:.close_win| 00006420 64 6f 77 28 74 6f 6f 6c 73 25 29 0d 1b a8 38 20 |dow(tools%)...8 | 00006430 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 45 | .. "WimpE| 00006440 78 74 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c 70 72 |xt_SetIcon",,,pr| 00006450 65 66 5f 70 61 6e 65 25 2c 36 38 2c 70 61 6e 65 |ef_pane%,68,pane| 00006460 5f 31 25 0d 1b b2 21 20 20 20 20 20 20 c9 20 31 |_1%...! . 1| 00006470 3a 70 61 6e 65 5f 32 25 3d 70 61 6e 65 5f 32 25 |:pane_2%=pane_2%| 00006480 20 82 20 31 0d 1b bc 38 20 20 20 20 20 20 20 20 | . 1...8 | 00006490 e7 20 70 61 6e 65 5f 32 25 20 f2 6f 70 65 6e 28 |. pane_2% .open(| 000064a0 62 6f 6f 6b 25 29 20 8b 20 f2 63 6c 6f 73 65 5f |book%) . .close_| 000064b0 77 69 6e 64 6f 77 28 70 6f 73 25 29 0d 1b c6 38 |window(pos%)...8| 000064c0 20 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 | .. "Wimp| 000064d0 45 78 74 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c 70 |Ext_SetIcon",,,p| 000064e0 72 65 66 5f 70 61 6e 65 25 2c 36 39 2c 70 61 6e |ref_pane%,69,pan| 000064f0 65 5f 32 25 0d 1b d0 09 20 20 20 20 cb 0d 1b da |e_2%.... ....| 00006500 07 20 20 cb 0d 1b e4 43 20 20 c9 20 63 6f 6c 5f |. ....C . col_| 00006510 6d 65 6e 75 25 3a c8 99 20 22 57 69 6d 70 45 78 |menu%:.. "WimpEx| 00006520 74 5f 53 65 74 49 63 6f 6e 43 6f 6c 6f 75 72 22 |t_SetIconColour"| 00006530 2c 2c 2c 70 72 65 66 5f 70 61 6e 65 25 2c 35 38 |,,,pref_pane%,58| 00006540 2c 2d 31 2c 21 62 25 0d 1b ee 05 cb 0d 1b f8 0f |,-1,!b%.........| 00006550 e7 20 ac 20 71 75 69 74 25 20 8c 0d 1c 02 45 20 |. . quit% ....E | 00006560 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 50 6f 69 | .. "Wimp_GetPoi| 00006570 6e 74 65 72 49 6e 66 6f 22 2c 2c 62 25 3a e7 20 |nterInfo",,b%:. | 00006580 62 25 21 38 3d 31 20 8c 20 f2 6d 65 6e 75 28 6f |b%!8=1 . .menu(o| 00006590 6d 25 2c 78 25 2c 79 25 2c 69 62 25 2c 6f 65 29 |m%,x%,y%,ib%,oe)| 000065a0 0d 1c 0c 05 cd 0d 1c 16 05 e1 0d 1c 20 05 3a 0d |............ .:.| 000065b0 1c 2a 13 dd f2 71 75 69 74 3a 71 75 69 74 25 3d |.*...quit:quit%=| 000065c0 2d 31 0d 1c 34 98 e7 20 6d 6f 64 69 66 69 65 64 |-1..4.. modified| 000065d0 25 20 8c 20 72 65 71 25 3d 34 3a 71 75 69 74 25 |% . req%=4:quit%| 000065e0 3d 30 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 4f |=0:.. "WimpExt_O| 000065f0 70 65 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c |penRequester",,,| 00006600 22 51 75 65 72 79 20 66 72 6f 6d 20 54 65 6c 41 |"Query from TelA| 00006610 64 64 72 22 2c 22 54 68 65 20 63 75 72 72 65 6e |ddr","The curren| 00006620 74 20 61 64 64 72 65 73 73 20 62 6f 6f 6b 20 68 |t address book h| 00006630 61 73 20 6e 6f 74 20 62 65 65 6e 20 73 61 76 65 |as not been save| 00006640 64 2e 22 2c 73 61 76 65 5f 64 69 73 63 61 72 64 |d.",save_discard| 00006650 5f 63 61 6e 63 65 6c 25 2c 32 0d 1c 3e 05 e1 0d |_cancel%,2..>...| 00006660 1c 48 05 3a 0d 1c 52 39 dd a4 6f 6e 28 77 25 2c |.H.:..R9..on(w%,| 00006670 69 25 29 3a 21 62 25 3d 77 25 3a 62 25 21 34 3d |i%):!b%=w%:b%!4=| 00006680 69 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 49 |i%:.. "Wimp_GetI| 00006690 63 6f 6e 53 74 61 74 65 22 2c 2c 62 25 0d 1c 5c |conState",,b%..\| 000066a0 1f e7 20 28 62 25 21 32 34 20 80 20 31 3c 3c 32 |.. (b%!24 . 1<<2| 000066b0 31 29 3e 30 20 3d 31 20 8b 20 3d 30 0d 1c 66 05 |1)>0 =1 . =0..f.| 000066c0 3a 0d 1c 70 3d dd a4 62 67 5f 63 6f 6c 28 77 25 |:..p=..bg_col(w%| 000066d0 2c 69 25 29 3a 21 62 25 3d 77 25 3a 62 25 21 34 |,i%):!b%=w%:b%!4| 000066e0 3d 69 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 |=i%:.. "Wimp_Get| 000066f0 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 25 0d 1c |IconState",,b%..| 00006700 7a 1d 3d 28 62 25 21 32 34 20 80 20 25 31 31 31 |z.=(b%!24 . %111| 00006710 31 3c 3c 32 38 29 3e 3e 3e 32 38 0d 1c 84 05 3a |1<<28)>>>28....:| 00006720 0d 1c 8e 29 dd f2 72 61 64 69 6f 28 77 25 2c 69 |...)..radio(w%,i| 00006730 31 25 2c 69 32 25 2c 69 25 29 3a e3 20 49 25 3d |1%,i2%,i%):. I%=| 00006740 69 31 25 20 b8 20 69 32 25 0d 1c 98 2d c8 99 20 |i1% . i2%...-.. | 00006750 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e |"WimpExt_SetIcon| 00006760 22 2c 2c 2c 77 25 2c 49 25 2c 94 28 49 25 3d 69 |",,,w%,I%,.(I%=i| 00006770 25 29 3a ed 3a e1 0d 1c a2 05 3a 0d 1c ac 2a dd |%):.:.....:...*.| 00006780 a4 77 68 69 63 68 28 77 25 2c 69 31 25 2c 69 32 |.which(w%,i1%,i2| 00006790 25 29 3a 69 25 3d 2d 31 3a e3 49 3d 69 31 25 20 |%):i%=-1:.I=i1% | 000067a0 b8 20 69 32 25 0d 1c b6 16 e7 20 a4 6f 6e 28 77 |. i2%..... .on(w| 000067b0 25 2c 49 29 3d 31 20 69 25 3d 49 0d 1c c0 09 ed |%,I)=1 i%=I.....| 000067c0 3a 3d 69 25 0d 1c ca 05 3a 0d 1c d4 65 dd a4 65 |:=i%....:...e..e| 000067d0 72 72 6f 72 28 61 24 29 3a 24 62 25 3d 22 20 20 |rror(a$):$b%=" | 000067e0 20 20 22 2b 61 24 2b bd 30 3a c8 99 20 22 57 69 | "+a$+.0:.. "Wi| 000067f0 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 22 2c |mp_ReportError",| 00006800 62 25 2c 25 31 31 2c 6e 61 6d 65 32 24 20 b8 20 |b%,%11,name2$ . | 00006810 2c 72 65 73 75 6c 74 25 3a e7 20 72 65 73 75 6c |,result%:. resul| 00006820 74 25 3d 31 20 8c 20 3d 31 20 8b 20 3d 30 0d 1c |t%=1 . =1 . =0..| 00006830 de 05 3a 0d 1c e8 45 dd f2 65 72 72 6f 72 28 61 |..:...E..error(a| 00006840 24 29 3a 24 62 25 3d 22 20 20 20 20 22 2b 61 24 |$):$b%=" "+a$| 00006850 2b bd 30 3a c8 99 20 22 57 69 6d 70 5f 52 65 70 |+.0:.. "Wimp_Rep| 00006860 6f 72 74 45 72 72 6f 72 22 2c 62 25 2c 25 31 2c |ortError",b%,%1,| 00006870 6e 61 6d 65 32 24 3a e1 0d 1c f2 05 3a 0d 1c fc |name2$:.....:...| 00006880 11 dd f2 72 65 64 72 61 77 28 21 62 25 29 0d 1d |...redraw(!b%)..| 00006890 06 26 c8 99 20 22 57 69 6d 70 5f 52 65 64 72 61 |.&.. "Wimp_Redra| 000068a0 77 57 69 6e 64 6f 77 22 2c 2c 62 25 20 b8 20 66 |wWindow",,b% . f| 000068b0 6c 61 67 25 0d 1d 10 0f f2 67 65 74 5f 63 6f 6f |lag%.....get_coo| 000068c0 72 64 73 0d 1d 1a 0c c8 95 20 66 6c 61 67 25 0d |rds...... flag%.| 000068d0 1d 24 3d 20 20 e7 20 21 62 25 3d 6c 69 73 74 5f |.$= . !b%=list_| 000068e0 70 61 6e 65 25 20 f2 72 65 64 72 61 77 5f 6c 69 |pane% .redraw_li| 000068f0 73 74 20 8b 20 c8 99 20 22 57 69 6d 70 45 78 74 |st . .. "WimpExt| 00006900 5f 52 65 64 72 61 77 22 2c 2c 62 25 0d 1d 2e 28 |_Redraw",,b%...(| 00006910 20 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 52 65 | .. "Wimp_GetRe| 00006920 63 74 61 6e 67 6c 65 22 2c 2c 62 25 20 b8 20 66 |ctangle",,b% . f| 00006930 6c 61 67 25 0d 1d 38 05 ce 0d 1d 42 05 e1 0d 1d |lag%..8....B....| 00006940 4c 05 3a 0d 1d 56 37 dd f2 67 65 74 5f 63 6f 6f |L.:..V7..get_coo| 00006950 72 64 73 3a 78 6f 25 3d 36 2b 62 25 21 34 2d 62 |rds:xo%=6+b%!4-b| 00006960 25 21 32 30 3a 79 6f 25 3d 2d 31 32 2b 62 25 21 |%!20:yo%=-12+b%!| 00006970 31 36 2d 62 25 21 32 34 3a e1 0d 1d 60 05 3a 0d |16-b%!24:...`.:.| 00006980 1d 6a 2b dd f2 67 65 74 6f 72 67 3a 78 6f 25 3d |.j+..getorg:xo%=| 00006990 62 25 21 34 2d 62 25 21 32 30 3a 79 6f 25 3d 62 |b%!4-b%!20:yo%=b| 000069a0 25 21 31 36 2d 62 25 21 32 34 0d 1d 74 21 78 6f |%!16-b%!24..t!xo| 000069b0 25 2b 3d 31 36 3a 79 6f 25 2d 3d 38 34 3a 79 6f |%+=16:yo%-=84:yo| 000069c0 32 25 3d 79 6f 25 2b 32 30 3a e1 0d 1d 7e 05 3a |2%=yo%+20:...~.:| 000069d0 0d 1d 88 3d dd a4 6f 70 65 6e 28 77 25 29 3a c8 |...=..open(w%):.| 000069e0 99 20 22 57 69 6d 70 45 78 74 5f 43 68 65 63 6b |. "WimpExt_Check| 000069f0 57 69 6e 64 6f 77 4f 70 65 6e 22 2c 77 25 20 b8 |WindowOpen",w% .| 00006a00 20 6f 70 65 6e 25 3a 3d 6f 70 65 6e 25 0d 1d 92 | open%:=open%...| 00006a10 05 3a 0d 1d 9c 7a dd f2 63 72 65 61 74 65 6d 65 |.:...z..createme| 00006a20 6e 75 28 6d 25 2c 74 69 74 6c 65 24 2c 74 24 2c |nu(m%,title$,t$,| 00006a30 f8 20 65 29 3a 24 6d 25 3d 74 69 74 6c 65 24 3a |. e):$m%=title$:| 00006a40 74 24 2b 3d 22 2c 22 3a 6d 25 21 31 32 3d 26 37 |t$+=",":m%!12=&7| 00006a50 30 32 30 37 3a 6d 25 21 32 30 3d 34 34 3a 6d 25 |0207:m%!20=44:m%| 00006a60 21 32 34 3d 30 3a 65 3d 30 3a 77 25 3d 30 3a 63 |!24=0:e=0:w%=0:c| 00006a70 25 3d 6d 25 2b 32 38 3a c8 95 20 74 24 3c 3e 22 |%=m%+28:.. t$<>"| 00006a80 22 3a e7 20 74 24 3c 3e 22 22 20 8c 0d 1d a6 2e |":. t$<>"" .....| 00006a90 69 24 3d c0 74 24 2c a7 74 24 2c 22 2c 22 29 2d |i$=.t$,.t$,",")-| 00006aa0 31 29 3a 73 25 3d 30 3a 66 25 3d 26 37 30 30 30 |1):s%=0:f%=&7000| 00006ab0 30 32 31 3a 73 6d 25 3d 2d 31 0d 1d b0 12 e7 20 |021:sm%=-1..... | 00006ac0 a7 69 24 2c 22 23 22 29 3e 30 20 8c 0d 1d ba 36 |.i$,"#")>0 ....6| 00006ad0 20 20 65 24 3d c1 69 24 2c a7 69 24 2c 22 23 22 | e$=.i$,.i$,"#"| 00006ae0 29 2b 31 29 3a e3 49 3d 31 20 b8 20 a9 65 24 3a |)+1):.I=1 . .e$:| 00006af0 6c 24 3d c1 65 24 2c 49 2c 31 29 3a c8 8e 20 b9 |l$=.e$,I,1):.. .| 00006b00 20 ca 0d 1d c4 1f 20 20 20 20 20 20 c9 20 6c 24 | ..... . l$| 00006b10 3d 22 45 22 3a 73 25 3d 73 25 20 84 20 31 3c 3c |="E":s%=s% . 1<<| 00006b20 33 0d 1d ce 1f 20 20 20 20 20 20 c9 20 6c 24 3d |3.... . l$=| 00006b30 22 54 22 3a 73 25 3d 73 25 20 84 20 31 3c 3c 30 |"T":s%=s% . 1<<0| 00006b40 0d 1d d8 20 20 20 20 20 20 20 c9 20 6c 24 3d 22 |... . l$="| 00006b50 53 22 3a 66 25 3d 66 25 20 84 20 31 3c 3c 32 32 |S":f%=f% . 1<<22| 00006b60 0d 1d e2 26 20 20 20 20 20 20 c9 20 6c 24 3d 22 |...& . l$="| 00006b70 4c 22 3a 73 25 3d 73 25 20 84 20 31 3c 3c 31 3a |L":s%=s% . 1<<1:| 00006b80 65 2b 3d 2e 35 36 0d 1d ec 4a 20 20 20 20 20 20 |e+=.56...J | 00006b90 c9 20 6c 24 3d 22 46 22 20 84 20 6c 24 3d 22 42 |. l$="F" . l$="B| 00006ba0 22 3a 6c 25 3d bb 28 c1 65 24 2c 49 2b 31 2c 32 |":l%=.(.e$,I+1,2| 00006bb0 29 29 3a 49 2b 3d 32 3a e7 20 6c 24 3d 22 46 22 |)):I+=2:. l$="F"| 00006bc0 20 66 32 25 3d 32 34 20 8b 20 66 32 25 3d 32 38 | f2%=24 . f2%=28| 00006bd0 0d 1d f6 30 20 20 20 20 20 20 66 25 3d 66 25 20 |...0 f%=f% | 00006be0 80 20 28 31 35 3c 3c 66 32 25 20 82 20 2d 31 29 |. (15<<f2% . -1)| 00006bf0 3a 66 25 3d 66 25 20 84 20 6c 25 3c 3c 66 32 25 |:f%=f% . l%<<f2%| 00006c00 0d 1e 00 09 20 20 20 20 cb 0d 1e 0a 1a 20 20 ed |.... ..... .| 00006c10 3a 69 24 3d c0 69 24 2c a7 69 24 2c 22 23 22 29 |:i$=.i$,.i$,"#")| 00006c20 2d 31 29 0d 1e 14 05 cd 0d 1e 1e 28 61 3d a7 69 |-1)........(a=.i| 00006c30 24 2c 22 3e 22 29 3a e7 20 61 3e 30 20 80 20 c1 |$,">"):. a>0 . .| 00006c40 69 24 2c 61 2b 31 2c 31 29 3c 3e 22 3e 22 20 8c |i$,a+1,1)<>">" .| 00006c50 0d 1e 28 30 20 20 73 6d 25 3d a0 28 c1 69 24 2c |..(0 sm%=.(.i$,| 00006c60 61 2b 31 2c a7 69 24 2c 22 25 22 2c 61 2b 31 29 |a+1,.i$,"%",a+1)| 00006c70 2d 61 29 29 3a 69 24 3d c0 69 24 2c 61 2d 31 29 |-a)):i$=.i$,a-1)| 00006c80 0d 1e 32 05 cd 0d 1e 3c 3f 61 3d a7 69 24 2c 22 |..2....<?a=.i$,"| 00006c90 3e 22 29 3a e7 20 61 3e 30 20 80 20 c1 69 24 2c |>"):. a>0 . .i$,| 00006ca0 61 2b 31 2c 31 29 3d 22 3e 22 20 8c 20 69 24 3d |a+1,1)=">" . i$=| 00006cb0 c0 69 24 2c 29 2b c2 69 24 2c a9 28 69 24 29 2d |.i$,)+.i$,.(i$)-| 00006cc0 61 2d 31 29 0d 1e 46 2a 74 24 3d c1 74 24 2c a7 |a-1)..F*t$=.t$,.| 00006cd0 74 24 2c 22 2c 22 29 2b 31 29 3a e7 20 a9 28 69 |t$,",")+1):. .(i| 00006ce0 24 29 3e 77 25 20 77 25 3d a9 28 69 24 29 0d 1e |$)>w% w%=.(i$)..| 00006cf0 50 a8 21 63 25 3d 73 25 3a 63 25 21 34 3d 73 6d |P.!c%=s%:c%!4=sm| 00006d00 25 3a 63 25 21 38 3d 66 25 3a e7 20 a9 28 69 24 |%:c%!8=f%:. .(i$| 00006d10 29 3c 3d 31 32 20 24 28 63 25 2b 31 32 29 3d 69 |)<=12 $(c%+12)=i| 00006d20 24 3a 63 25 2b 3d 32 34 20 8b 20 63 25 21 38 3d |$:c%+=24 . c%!8=| 00006d30 66 25 20 84 20 31 3c 3c 38 3a 24 28 6d 65 6e 75 |f% . 1<<8:$(menu| 00006d40 25 2b 6d 65 6e 75 5f 70 6f 73 25 29 3d 69 24 3a |%+menu_pos%)=i$:| 00006d50 63 25 21 31 32 3d 6d 65 6e 75 25 2b 6d 65 6e 75 |c%!12=menu%+menu| 00006d60 5f 70 6f 73 25 3a 63 25 21 31 36 3d 76 61 6c 25 |_pos%:c%!16=val%| 00006d70 3a 63 25 21 32 30 3d a9 28 69 24 29 3a 6d 65 6e |:c%!20=.(i$):men| 00006d80 75 5f 70 6f 73 25 2b 3d a9 28 69 24 29 2b 31 3a |u_pos%+=.(i$)+1:| 00006d90 63 25 2b 3d 32 34 0d 1e 5a 05 cd 0d 1e 64 08 65 |c%+=24..Z....d.e| 00006da0 2b 3d 31 0d 1e 6e 05 ce 0d 1e 78 1c e7 20 77 25 |+=1..n....x.. w%| 00006db0 3c 3d a9 74 69 74 6c 65 24 20 77 25 3d a9 74 69 |<=.title$ w%=.ti| 00006dc0 74 6c 65 24 0d 1e 82 29 6d 25 21 31 36 3d 28 77 |tle$...)m%!16=(w| 00006dd0 25 2b 31 29 2a 31 36 3a 63 25 21 2d 32 34 3d 63 |%+1)*16:c%!-24=c| 00006de0 25 21 2d 32 34 20 84 20 26 38 30 3a e1 0d 1e 8c |%!-24 . &80:....| 00006df0 05 3a 0d 1e 96 1c dd f2 73 75 62 28 6d 62 25 2c |.:......sub(mb%,| 00006e00 61 24 2c 6d 63 25 2c 76 25 2c 62 6c 25 29 0d 1e |a$,mc%,v%,bl%)..| 00006e10 a0 26 77 25 3d 62 6c 25 2a 31 36 3a e7 20 a9 61 |.&w%=bl%*16:. .a| 00006e20 24 3e 3d 62 6c 25 20 77 25 3d 28 a9 61 24 2b 31 |$>=bl% w%=(.a$+1| 00006e30 29 2a 31 36 0d 1e aa 36 24 6d 62 25 3d 61 24 3a |)*16...6$mb%=a$:| 00006e40 6d 62 25 21 31 32 3d 26 37 30 32 30 37 3a 6d 62 |mb%!12=&70207:mb| 00006e50 25 21 31 36 3d 77 25 3a 6d 62 25 21 32 30 3d 34 |%!16=w%:mb%!20=4| 00006e60 34 3a 6d 62 25 21 32 34 3d 30 0d 1e b4 48 6d 62 |4:mb%!24=0...Hmb| 00006e70 25 21 32 38 3d 26 38 34 3a 6d 62 25 21 33 32 3d |%!28=&84:mb%!32=| 00006e80 2d 31 3a 6d 62 25 21 33 36 3d 26 37 30 30 30 31 |-1:mb%!36=&70001| 00006e90 32 31 3a 6d 62 25 21 34 30 3d 6d 63 25 3a 6d 62 |21:mb%!40=mc%:mb| 00006ea0 25 21 34 34 3d 76 25 3a 6d 62 25 21 34 38 3d 62 |%!44=v%:mb%!48=b| 00006eb0 6c 25 0d 1e be 05 e1 0d 1e c8 05 3a 0d 1e d2 10 |l%.........:....| 00006ec0 dd f2 71 75 69 63 6b 5f 73 61 76 65 0d 1e dc 20 |..quick_save... | 00006ed0 66 69 6c 65 6e 61 6d 65 24 3d a4 73 74 72 69 6e |filename$=.strin| 00006ee0 67 28 66 69 6c 65 6e 61 6d 65 25 29 0d 1e e6 17 |g(filename%)....| 00006ef0 e7 20 a7 66 69 6c 65 6e 61 6d 65 24 2c 22 2e 22 |. .filename$,"."| 00006f00 29 20 8c 0d 1e f0 19 20 20 f2 73 61 76 65 5f 69 |) ..... .save_i| 00006f10 74 28 66 69 6c 65 6e 61 6d 65 24 29 0d 1e fa 15 |t(filename$)....| 00006f20 20 20 c8 8e 20 73 61 76 65 5f 74 79 70 65 25 20 | .. save_type% | 00006f30 ca 0d 1f 04 20 20 20 20 20 c9 20 31 3a 67 6f 6f |.... . 1:goo| 00006f40 64 5f 62 6f 6f 6b 24 3d 66 69 6c 65 6e 61 6d 65 |d_book$=filename| 00006f50 24 0d 1f 0e 22 20 20 20 20 c9 20 32 3a 67 6f 6f |$..." . 2:goo| 00006f60 64 5f 73 65 61 72 63 68 24 3d 66 69 6c 65 6e 61 |d_search$=filena| 00006f70 6d 65 24 0d 1f 18 23 20 20 20 20 c9 20 33 3a 67 |me$...# . 3:g| 00006f80 6f 6f 64 5f 61 64 64 72 65 73 73 24 3d 66 69 6c |ood_address$=fil| 00006f90 65 6e 61 6d 65 24 0d 1f 22 07 20 20 cb 0d 1f 2c |ename$..". ...,| 00006fa0 1e 20 20 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 |. .. "Wimp_Crea| 00006fb0 74 65 4d 65 6e 75 22 2c 2c 2d 31 0d 1f 36 05 cc |teMenu",,-1..6..| 00006fc0 0d 1f 40 76 20 20 72 65 71 25 3d 30 3a c8 99 20 |..@v req%=0:.. | 00006fd0 22 57 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 71 |"WimpExt_OpenReq| 00006fe0 75 65 73 74 65 72 22 2c 2c 2c 22 52 65 6d 69 6e |uester",,,"Remin| 00006ff0 64 65 72 20 66 72 6f 6d 20 54 65 6c 41 64 64 72 |der from TelAddr| 00007000 22 2c 22 54 6f 20 73 61 76 65 2c 20 64 72 61 67 |","To save, drag| 00007010 20 74 68 65 20 69 63 6f 6e 20 74 6f 20 61 20 64 | the icon to a d| 00007020 69 72 65 63 74 6f 72 79 20 76 69 65 77 65 72 22 |irectory viewer"| 00007030 2c 6f 6b 25 2c 30 0d 1f 4a 05 cd 0d 1f 54 05 e1 |,ok%,0..J....T..| 00007040 0d 1f 5e 05 3a 0d 1f 68 18 dd f2 73 61 76 65 5f |..^.:..h...save_| 00007050 69 74 28 66 69 6c 65 6e 61 6d 65 24 29 0d 1f 72 |it(filename$)..r| 00007060 13 c8 8e 20 73 61 76 65 5f 74 79 70 65 25 20 ca |... save_type% .| 00007070 0d 1f 7c 15 20 20 c9 20 31 3a 77 25 3d 73 61 76 |..|. . 1:w%=sav| 00007080 65 5f 61 73 25 0d 1f 86 16 20 20 c9 20 32 3a 77 |e_as%.... . 2:w| 00007090 25 3d 73 61 76 65 5f 61 73 31 25 0d 1f 90 16 20 |%=save_as1%.... | 000070a0 20 c9 20 33 3a 77 25 3d 73 61 76 65 5f 61 73 32 | . 3:w%=save_as2| 000070b0 25 0d 1f 9a 05 cb 0d 1f a4 d6 e7 20 73 61 76 65 |%.......... save| 000070c0 5f 74 79 70 65 25 3d 31 20 c8 99 20 22 57 69 6d |_type%=1 .. "Wim| 000070d0 70 45 78 74 5f 47 65 74 49 63 6f 6e 22 2c 2c 2c |pExt_GetIcon",,,| 000070e0 77 25 2c 34 20 b8 20 70 61 72 74 69 61 6c 25 3a |w%,4 . partial%:| 000070f0 e7 20 70 61 72 74 69 61 6c 25 20 f2 73 6f 72 74 |. partial% .sort| 00007100 6f 75 74 5f 70 61 72 74 69 61 6c 28 30 2c 73 61 |out_partial(0,sa| 00007110 76 65 5f 61 73 25 2c 36 2c 31 30 29 3a c8 99 20 |ve_as%,6,10):.. | 00007120 22 57 69 6d 70 45 78 74 5f 47 65 74 4e 75 6d 62 |"WimpExt_GetNumb| 00007130 65 72 49 63 6f 6e 22 2c 2c 2c 77 25 2c 36 20 b8 |erIcon",,,w%,6 .| 00007140 20 70 31 25 3a c8 99 20 22 57 69 6d 70 45 78 74 | p1%:.. "WimpExt| 00007150 5f 47 65 74 4e 75 6d 62 65 72 49 63 6f 6e 22 2c |_GetNumberIcon",| 00007160 2c 2c 77 25 2c 31 30 20 b8 20 70 32 25 3a 70 31 |,,w%,10 . p2%:p1| 00007170 25 2d 3d 31 3a 70 32 25 2d 3d 31 20 8b 20 70 31 |%-=1:p2%-=1 . p1| 00007180 25 3d 30 3a 70 32 25 3d 6d 61 78 25 0d 1f ae 35 |%=0:p2%=max%...5| 00007190 e7 20 73 61 76 65 5f 74 79 70 65 25 3d 33 20 c8 |. save_type%=3 .| 000071a0 99 20 22 57 69 6d 70 45 78 74 5f 47 65 74 49 63 |. "WimpExt_GetIc| 000071b0 6f 6e 22 2c 2c 2c 77 25 2c 34 20 b8 20 74 65 6c |on",,,w%,4 . tel| 000071c0 25 0d 1f b8 28 c8 99 20 22 57 69 6d 70 45 78 74 |%...(.. "WimpExt| 000071d0 5f 47 65 74 49 63 6f 6e 22 2c 2c 2c 77 25 2c 33 |_GetIcon",,,w%,3| 000071e0 20 b8 20 61 73 63 69 69 25 0d 1f c2 40 63 6f 6d | . ascii%...@com| 000071f0 6d 61 25 3d 30 3a e7 20 73 61 76 65 5f 74 79 70 |ma%=0:. save_typ| 00007200 65 25 3d 33 20 c8 99 20 22 57 69 6d 70 45 78 74 |e%=3 .. "WimpExt| 00007210 5f 47 65 74 49 63 6f 6e 22 2c 2c 2c 77 25 2c 35 |_GetIcon",,,w%,5| 00007220 20 b8 20 63 6f 6d 6d 61 25 0d 1f cc 13 c8 8e 20 | . comma%...... | 00007230 73 61 76 65 5f 74 79 70 65 25 20 ca 0d 1f d6 30 |save_type% ....0| 00007240 20 20 c9 20 31 3a f2 73 61 76 65 5f 62 6f 6f 6b | . 1:.save_book| 00007250 28 66 69 6c 65 6e 61 6d 65 24 2c 70 31 25 2c 70 |(filename$,p1%,p| 00007260 32 25 2c 31 2c 63 6f 6d 6d 61 25 29 0d 1f e0 21 |2%,1,comma%)...!| 00007270 20 20 c9 20 32 3a f2 73 61 76 65 5f 73 65 61 72 | . 2:.save_sear| 00007280 63 68 28 66 69 6c 65 6e 61 6d 65 24 29 0d 1f ea |ch(filename$)...| 00007290 1b 20 20 c9 20 33 3a e7 20 61 73 63 69 69 25 3d |. . 3:. ascii%=| 000072a0 30 20 74 65 6c 25 3d 31 0d 1f f4 37 20 20 f2 73 |0 tel%=1...7 .s| 000072b0 61 76 65 5f 62 6f 6f 6b 28 66 69 6c 65 6e 61 6d |ave_book(filenam| 000072c0 65 24 2c 72 65 63 6f 72 64 25 2c 72 65 63 6f 72 |e$,record%,recor| 000072d0 64 25 2c 74 65 6c 25 2c 63 6f 6d 6d 61 25 29 0d |d%,tel%,comma%).| 000072e0 1f fe 05 cb 0d 20 08 05 e1 0d 20 12 05 3a 0d 20 |..... .... ..:. | 000072f0 1c 30 dd f2 73 61 76 65 5f 62 6f 6f 6b 28 66 69 |.0..save_book(fi| 00007300 6c 65 6e 61 6d 65 24 2c 66 72 6f 6d 25 2c 74 6f |lename$,from%,to| 00007310 25 2c 74 65 6c 25 2c 63 6f 6d 6d 61 25 29 0d 20 |%,tel%,comma%). | 00007320 26 15 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f |&... "Hourglass_| 00007330 4f 6e 22 0d 20 30 29 e7 20 74 65 6c 25 3d 30 20 |On". 0). tel%=0 | 00007340 6d 61 78 5f 66 69 65 6c 64 25 3d 37 20 8b 20 6d |max_field%=7 . m| 00007350 61 78 5f 66 69 65 6c 64 25 3d 31 30 0d 20 3a 12 |ax_field%=10. :.| 00007360 66 25 3d ae 20 66 69 6c 65 6e 61 6d 65 24 0d 20 |f%=. filename$. | 00007370 44 44 e7 20 61 73 63 69 69 25 3d 30 20 8c 20 d5 |DD. ascii%=0 . .| 00007380 23 66 25 2c 22 54 65 6c 41 64 64 72 28 22 2b c3 |#f%,"TelAddr("+.| 00007390 66 69 6c 65 5f 76 65 72 25 2b 22 2c 22 2b c3 28 |file_ver%+","+.(| 000073a0 28 74 6f 25 2d 66 72 6f 6d 25 29 2b 31 29 2b 22 |(to%-from%)+1)+"| 000073b0 29 22 0d 20 4e 16 e3 20 72 65 63 25 3d 66 72 6f |)". N.. rec%=fro| 000073c0 6d 25 20 b8 20 74 6f 25 0d 20 58 47 20 20 e7 20 |m% . to%. XG . | 000073d0 74 6f 25 2d 66 72 6f 6d 25 3e 30 20 c8 99 20 22 |to%-from%>0 .. "| 000073e0 48 6f 75 72 67 6c 61 73 73 5f 50 65 72 63 65 6e |Hourglass_Percen| 000073f0 74 61 67 65 22 2c a8 28 28 72 65 63 25 2f 28 74 |tage",.((rec%/(t| 00007400 6f 25 2d 66 72 6f 6d 25 29 29 2a 31 30 30 29 0d |o%-from%))*100).| 00007410 20 62 23 20 20 74 61 62 5f 70 6f 73 25 3d 74 61 | b# tab_pos%=ta| 00007420 62 25 2b 28 72 65 63 25 2a 72 65 63 5f 6c 65 6e |b%+(rec%*rec_len| 00007430 25 29 0d 20 6c 1d 20 20 e3 20 66 69 65 6c 64 25 |%). l. . field%| 00007440 3d 30 20 b8 20 6d 61 78 5f 66 69 65 6c 64 25 0d |=0 . max_field%.| 00007450 20 76 31 20 20 20 20 e7 20 61 73 63 69 69 25 3d | v1 . ascii%=| 00007460 30 20 84 20 28 61 73 63 69 69 25 3d 31 20 80 20 |0 . (ascii%=1 . | 00007470 3f 74 61 62 5f 70 6f 73 25 3e 3d 33 32 29 20 8c |?tab_pos%>=32) .| 00007480 0d 20 80 2d 20 20 20 20 20 20 24 62 33 25 3d 24 |. .- $b3%=$| 00007490 74 61 62 5f 70 6f 73 25 3a 41 25 3d 62 33 25 3a |tab_pos%:A%=b3%:| 000074a0 d6 20 63 75 74 3a 61 24 3d 24 62 33 25 0d 20 8a |. cut:a$=$b3%. .| 000074b0 14 20 20 20 20 20 20 e7 20 63 6f 6d 6d 61 25 20 |. . comma% | 000074c0 8c 0d 20 94 20 20 20 20 20 20 20 20 20 66 64 25 |.. . fd%| 000074d0 3d 66 69 65 6c 64 25 3a e7 20 66 64 25 3c 37 20 |=field%:. fd%<7 | 000074e0 8c 0d 20 9e 41 20 20 20 20 20 20 20 20 20 20 63 |.. .A c| 000074f0 6f 6d 25 3d 30 3a e3 20 4a 25 3d 66 64 25 2b 31 |om%=0:. J%=fd%+1| 00007500 20 b8 20 37 3a e7 20 74 61 62 5f 70 6f 73 25 3f | . 7:. tab_pos%?| 00007510 28 4a 25 2a 33 32 29 3e 3d 33 32 20 63 6f 6d 25 |(J%*32)>=32 com%| 00007520 3d 31 0d 20 a8 0f 20 20 20 20 20 20 20 20 20 20 |=1. .. | 00007530 ed 0d 20 b2 14 20 20 20 20 20 20 20 20 cc 20 63 |.. .. . c| 00007540 6f 6d 25 3d 30 0d 20 bc 0d 20 20 20 20 20 20 20 |om%=0. .. | 00007550 20 cd 0d 20 c6 1f 20 20 20 20 20 20 20 20 e7 20 | .. .. . | 00007560 66 64 25 3c 3d 37 20 80 20 61 24 3c 3e 22 22 20 |fd%<=7 . a$<>"" | 00007570 8c 0d 20 d0 26 20 20 20 20 20 20 20 20 20 20 e7 |.. .& .| 00007580 20 63 6f 6d 25 20 61 24 2b 3d 22 2c 22 20 8b 20 | com% a$+="," . | 00007590 61 24 2b 3d 22 2e 22 0d 20 da 0d 20 20 20 20 20 |a$+=".". .. | 000075a0 20 20 20 cd 0d 20 e4 0b 20 20 20 20 20 20 cd 0d | .. .. ..| 000075b0 20 ee 28 20 20 20 20 20 20 24 62 32 25 3d 61 24 | .( $b2%=a$| 000075c0 3a 41 25 3d 62 32 25 3a d6 20 63 75 74 3a d5 23 |:A%=b2%:. cut:.#| 000075d0 66 25 2c 24 62 32 25 0d 20 f8 09 20 20 20 20 cd |f%,$b2%. .. .| 000075e0 0d 21 02 2c 20 20 20 20 e7 20 61 73 63 69 69 25 |.!., . ascii%| 000075f0 20 80 20 66 69 65 6c 64 25 3d 37 20 80 20 74 65 | . field%=7 . te| 00007600 6c 25 3d 31 20 d5 23 66 25 2c 22 22 0d 21 0c 14 |l%=1 .#f%,"".!..| 00007610 20 20 20 20 74 61 62 5f 70 6f 73 25 2b 3d 33 32 | tab_pos%+=32| 00007620 0d 21 16 07 20 20 ed 0d 21 20 21 20 20 e7 20 61 |.!.. ..! ! . a| 00007630 73 63 69 69 25 20 80 20 72 65 63 25 3c 74 6f 25 |scii% . rec%<to%| 00007640 20 d5 23 66 25 2c 22 22 0d 21 2a 05 ed 0d 21 34 | .#f%,"".!*...!4| 00007650 09 d9 20 23 66 25 0d 21 3e 23 e7 20 61 73 63 69 |.. #f%.!>#. asci| 00007660 69 25 20 66 74 25 3d 26 46 46 46 20 8b 20 66 74 |i% ft%=&FFF . ft| 00007670 25 3d 74 65 6c 5f 66 74 25 0d 21 48 21 c8 99 20 |%=tel_ft%.!H!.. | 00007680 22 4f 53 5f 46 69 6c 65 22 2c 31 38 2c 66 69 6c |"OS_File",18,fil| 00007690 65 6e 61 6d 65 24 2c 66 74 25 0d 21 52 3b c8 99 |ename$,ft%.!R;..| 000076a0 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f 66 66 22 | "Hourglass_Off"| 000076b0 3a f2 6d 6f 64 69 66 69 65 64 28 30 29 3a e7 20 |:.modified(0):. | 000076c0 73 61 76 65 5f 71 75 69 74 25 20 8c 20 71 75 69 |save_quit% . qui| 000076d0 74 25 3d 2d 31 0d 21 5c 05 e1 0d 21 66 05 3a 0d |t%=-1.!\...!f.:.| 000076e0 21 70 28 dd f2 73 61 76 65 5f 73 65 61 72 63 68 |!p(..save_search| 000076f0 28 66 69 6c 65 6e 61 6d 65 24 29 3a 6f 6c 64 5f |(filename$):old_| 00007700 72 65 63 25 3d 2d 31 0d 21 7a 15 c8 99 20 22 48 |rec%=-1.!z... "H| 00007710 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 21 84 33 |ourglass_On".!.3| 00007720 41 25 3d 74 61 62 6c 65 25 3a 42 25 3d 73 65 61 |A%=table%:B%=sea| 00007730 72 63 68 5f 6c 65 6e 25 2b 31 3a 6e 75 6d 62 65 |rch_len%+1:numbe| 00007740 72 25 3d ba 28 63 6f 75 6e 74 5f 72 65 63 29 0d |r%=.(count_rec).| 00007750 21 8e 12 66 25 3d ae 20 66 69 6c 65 6e 61 6d 65 |!..f%=. filename| 00007760 24 0d 21 98 3e e7 20 61 73 63 69 69 25 3d 30 20 |$.!.>. ascii%=0 | 00007770 8c 20 d5 23 66 25 2c 22 54 65 6c 41 64 64 72 28 |. .#f%,"TelAddr(| 00007780 22 2b c3 66 69 6c 65 5f 76 65 72 25 2b 22 2c 22 |"+.file_ver%+","| 00007790 2b c3 28 6e 75 6d 62 65 72 25 29 2b 22 29 22 0d |+.(number%)+")".| 000077a0 21 a2 20 e3 20 74 61 62 6c 65 5f 70 6f 73 25 3d |!. . table_pos%=| 000077b0 30 20 b8 20 73 65 61 72 63 68 5f 6c 65 6e 25 0d |0 . search_len%.| 000077c0 21 ac 4f 20 20 e7 20 73 65 61 72 63 68 5f 6c 65 |!.O . search_le| 000077d0 6e 25 3e 30 20 c8 99 20 22 48 6f 75 72 67 6c 61 |n%>0 .. "Hourgla| 000077e0 73 73 5f 50 65 72 63 65 6e 74 61 67 65 22 2c a8 |ss_Percentage",.| 000077f0 28 28 74 61 62 6c 65 5f 70 6f 73 25 2f 73 65 61 |((table_pos%/sea| 00007800 72 63 68 5f 6c 65 6e 25 29 2a 31 30 30 29 0d 21 |rch_len%)*100).!| 00007810 b6 21 20 20 72 65 63 25 3d 74 61 62 6c 65 25 21 |.! rec%=table%!| 00007820 28 74 61 62 6c 65 5f 70 6f 73 25 2a 31 32 29 0d |(table_pos%*12).| 00007830 21 c0 18 20 20 e7 20 72 65 63 25 3c 3e 6f 6c 64 |!.. . rec%<>old| 00007840 5f 72 65 63 25 20 8c 0d 21 ca 25 20 20 20 20 74 |_rec% ..!.% t| 00007850 61 62 5f 70 6f 73 25 3d 74 61 62 25 2b 28 72 65 |ab_pos%=tab%+(re| 00007860 63 25 2a 72 65 63 5f 6c 65 6e 25 29 0d 21 d4 17 |c%*rec_len%).!..| 00007870 20 20 20 20 e3 20 66 69 65 6c 64 25 3d 30 20 b8 | . field%=0 .| 00007880 20 31 30 0d 21 de 27 20 20 20 20 20 20 e7 20 66 | 10.!.' . f| 00007890 69 65 6c 64 25 3d 38 20 80 20 61 73 63 69 69 25 |ield%=8 . ascii%| 000078a0 3d 31 20 d5 23 66 25 2c 22 22 0d 21 e8 57 20 20 |=1 .#f%,"".!.W | 000078b0 20 20 20 20 e7 20 61 73 63 69 69 25 3d 30 20 84 | . ascii%=0 .| 000078c0 20 28 61 73 63 69 69 25 3d 31 20 80 20 3f 74 61 | (ascii%=1 . ?ta| 000078d0 62 5f 70 6f 73 25 3e 3d 33 32 29 20 24 62 32 25 |b_pos%>=32) $b2%| 000078e0 3d 24 74 61 62 5f 70 6f 73 25 3a 41 25 3d 62 32 |=$tab_pos%:A%=b2| 000078f0 25 3a d6 20 63 75 74 3a d5 23 66 25 2c 24 62 32 |%:. cut:.#f%,$b2| 00007900 25 0d 21 f2 16 20 20 20 20 20 20 74 61 62 5f 70 |%.!.. tab_p| 00007910 6f 73 25 2b 3d 33 32 0d 21 fc 09 20 20 20 20 ed |os%+=32.!.. .| 00007920 0d 22 06 31 20 20 20 20 e7 20 61 73 63 69 69 25 |.".1 . ascii%| 00007930 20 80 20 74 61 62 6c 65 5f 70 6f 73 25 3c 73 65 | . table_pos%<se| 00007940 61 72 63 68 5f 6c 65 6e 25 20 d5 23 66 25 2c 22 |arch_len% .#f%,"| 00007950 22 0d 22 10 07 20 20 cd 0d 22 1a 13 20 20 6f 6c |".".. ..".. ol| 00007960 64 5f 72 65 63 25 3d 72 65 63 25 0d 22 24 05 ed |d_rec%=rec%."$..| 00007970 0d 22 2e 09 d9 20 23 66 25 0d 22 38 23 e7 20 61 |."... #f%."8#. a| 00007980 73 63 69 69 25 20 66 74 25 3d 26 46 46 46 20 8b |scii% ft%=&FFF .| 00007990 20 66 74 25 3d 74 65 6c 5f 66 74 25 0d 22 42 21 | ft%=tel_ft%."B!| 000079a0 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 31 38 2c |.. "OS_File",18,| 000079b0 66 69 6c 65 6e 61 6d 65 24 2c 66 74 25 0d 22 4c |filename$,ft%."L| 000079c0 16 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f |... "Hourglass_O| 000079d0 66 66 22 0d 22 56 05 e1 0d 22 60 05 3a 0d 22 6a |ff"."V..."`.:."j| 000079e0 0f dd f2 69 6e 69 74 5f 73 61 76 65 0d 22 74 23 |...init_save."t#| 000079f0 6c 65 61 66 24 3d a4 6c 65 61 66 28 a4 73 74 72 |leaf$=.leaf(.str| 00007a00 69 6e 67 28 66 69 6c 65 6e 61 6d 65 25 29 29 0d |ing(filename%)).| 00007a10 22 7e 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 50 |"~ .. "Wimp_GetP| 00007a20 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 62 25 0d |ointerInfo",,b%.| 00007a30 22 88 3d e7 20 62 25 21 31 32 3c 3e 73 61 76 65 |".=. b%!12<>save| 00007a40 5f 61 73 25 20 80 20 62 25 21 31 32 3c 3e 73 61 |_as% . b%!12<>sa| 00007a50 76 65 5f 61 73 31 25 20 80 20 62 25 21 31 32 3c |ve_as1% . b%!12<| 00007a60 3e 73 61 76 65 5f 61 73 32 25 20 8c 0d 22 92 44 |>save_as2% ..".D| 00007a70 20 20 62 25 21 32 30 3d 62 25 21 31 32 3a 62 25 | b%!20=b%!12:b%| 00007a80 21 32 34 3d 62 25 21 31 36 3a 62 25 21 32 38 3d |!24=b%!16:b%!28=| 00007a90 21 62 25 3a 62 25 21 33 32 3d 62 25 21 34 3a 62 |!b%:b%!32=b%!4:b| 00007aa0 25 21 33 36 3d a4 66 69 6c 65 5f 6c 65 6e 2b 31 |%!36=.file_len+1| 00007ab0 0d 22 9c 36 20 20 21 62 25 3d 28 33 2b 34 34 2b |.".6 !b%=(3+44+| 00007ac0 a9 28 6c 65 61 66 24 2b bd 30 29 29 80 26 46 46 |.(leaf$+.0)).&FF| 00007ad0 46 46 46 46 46 43 3a 62 25 21 31 32 3d 30 3a 62 |FFFFFC:b%!12=0:b| 00007ae0 25 21 31 36 3d 31 0d 22 a6 4d 20 20 62 25 21 34 |%!16=1.".M b%!4| 00007af0 30 3d 74 65 6c 5f 66 74 25 3a 24 28 62 25 2b 34 |0=tel_ft%:$(b%+4| 00007b00 34 29 3d 6c 65 61 66 24 2b bd 30 3a c8 99 20 22 |4)=leaf$+.0:.. "| 00007b10 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 |Wimp_SendMessage| 00007b20 22 2c 31 38 2c 62 25 2c 62 25 21 32 30 2c 62 25 |",18,b%,b%!20,b%| 00007b30 21 32 34 0d 22 b0 2a 20 20 6d 79 72 65 66 25 3d |!24.".* myref%=| 00007b40 62 25 21 38 3a 74 72 61 6e 73 5f 6c 65 6e 25 3d |b%!8:trans_len%=| 00007b50 2d 31 3a 73 74 31 5f 72 65 63 25 3d 30 0d 22 ba |-1:st1_rec%=0.".| 00007b60 05 cd 0d 22 c4 05 e1 0d 22 ce 05 3a 0d 22 d8 0f |..."...."..:."..| 00007b70 dd f2 64 61 74 61 5f 73 61 76 65 0d 22 e2 1c 66 |..data_save."..f| 00007b80 69 6c 65 6e 61 6d 65 24 3d a4 73 74 72 69 6e 67 |ilename$=.string| 00007b90 28 62 25 2b 34 34 29 0d 22 ec 17 f2 73 61 76 65 |(b%+44)."...save| 00007ba0 5f 69 74 28 66 69 6c 65 6e 61 6d 65 24 29 0d 22 |_it(filename$)."| 00007bb0 f6 13 c8 8e 20 73 61 76 65 5f 74 79 70 65 25 20 |.... save_type% | 00007bc0 ca 0d 23 00 1e 20 20 c9 20 31 3a 67 6f 6f 64 5f |..#.. . 1:good_| 00007bd0 62 6f 6f 6b 24 3d 66 69 6c 65 6e 61 6d 65 24 0d |book$=filename$.| 00007be0 23 0a 20 20 20 c9 20 32 3a 67 6f 6f 64 5f 73 65 |#. . 2:good_se| 00007bf0 61 72 63 68 24 3d 66 69 6c 65 6e 61 6d 65 24 0d |arch$=filename$.| 00007c00 23 14 21 20 20 c9 20 33 3a 67 6f 6f 64 5f 61 64 |#.! . 3:good_ad| 00007c10 64 72 65 73 73 24 3d 66 69 6c 65 6e 61 6d 65 24 |dress$=filename$| 00007c20 0d 23 1e 05 cb 0d 23 28 1c c8 99 20 22 57 69 6d |.#....#(... "Wim| 00007c30 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c 2d |p_CreateMenu",,-| 00007c40 31 0d 23 32 46 62 25 21 31 32 3d 62 25 21 38 3a |1.#2Fb%!12=b%!8:| 00007c50 62 25 21 31 36 3d 33 3a 21 62 25 3d 32 35 36 3a |b%!16=3:!b%=256:| 00007c60 c8 99 20 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 |.. "Wimp_SendMes| 00007c70 73 61 67 65 22 2c 31 38 2c 62 25 2c 62 25 21 32 |sage",18,b%,b%!2| 00007c80 30 2c 62 25 21 32 34 0d 23 3c 05 e1 0d 23 46 05 |0,b%!24.#<...#F.| 00007c90 3a 0d 23 50 36 dd a4 73 74 72 69 6e 67 28 61 25 |:.#P6..string(a%| 00007ca0 29 3a 61 24 3d 22 22 3a c8 95 20 3f 61 25 3e 3d |):a$="":.. ?a%>=| 00007cb0 33 32 3a 61 24 2b 3d bd 3f 61 25 3a 61 25 2b 3d |32:a$+=.?a%:a%+=| 00007cc0 31 3a ce 3a 3d 61 24 0d 23 5a 05 3a 0d 23 64 5c |1:.:=a$.#Z.:.#d\| 00007cd0 dd f2 73 74 72 28 61 25 2c 61 32 25 2c f8 20 6c |..str(a%,a2%,. l| 00007ce0 65 6e 25 29 3a 6c 65 6e 25 3d 30 3a c8 95 20 3f |en%):len%=0:.. ?| 00007cf0 61 25 3e 3d 33 32 3a 3f 61 32 25 3d 3f 61 25 3a |a%>=32:?a2%=?a%:| 00007d00 61 25 2b 3d 31 3a 61 32 25 2b 3d 31 3a 6c 65 6e |a%+=1:a2%+=1:len| 00007d10 25 2b 3d 31 3a ce 3a 3f 61 32 25 3d 31 30 3a 6c |%+=1:.:?a2%=10:l| 00007d20 65 6e 25 2b 3d 31 3a e1 0d 23 6e 05 3a 0d 23 78 |en%+=1:..#n.:.#x| 00007d30 32 dd a4 6c 65 61 66 28 24 62 25 29 3a c8 99 20 |2..leaf($b%):.. | 00007d40 22 57 69 6d 70 45 78 74 5f 46 69 6e 64 4c 65 61 |"WimpExt_FindLea| 00007d50 66 22 2c 62 25 20 b8 20 61 25 3a 3d 24 61 25 0d |f",b% . a%:=$a%.| 00007d60 23 82 05 3a 0d 23 8c 47 dd a4 69 6e 28 77 25 2c |#..:.#.G..in(w%,| 00007d70 69 25 29 3a 21 62 32 25 3d 77 25 3a 62 32 25 21 |i%):!b2%=w%:b2%!| 00007d80 34 3d 69 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 |4=i%:.. "Wimp_Ge| 00007d90 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 32 25 |tIconState",,b2%| 00007da0 3a 3d 24 28 62 32 25 21 32 38 29 0d 23 96 05 3a |:=$(b2%!28).#..:| 00007db0 0d 23 a0 45 dd a4 69 6e 5f 61 64 64 72 28 77 25 |.#.E..in_addr(w%| 00007dc0 2c 69 25 29 3a 21 62 25 3d 77 25 3a 62 25 21 34 |,i%):!b%=w%:b%!4| 00007dd0 3d 69 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 |=i%:.. "Wimp_Get| 00007de0 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 25 3a 3d |IconState",,b%:=| 00007df0 62 25 21 32 38 0d 23 aa 05 3a 0d 23 b4 1e dd a4 |b%!28.#..:.#....| 00007e00 76 61 6c 28 77 25 2c 69 25 29 3d bb 28 a4 69 6e |val(w%,i%)=.(.in| 00007e10 28 77 25 2c 69 25 29 29 0d 23 be 05 3a 0d 23 c8 |(w%,i%)).#..:.#.| 00007e20 09 dd f2 70 6f 73 0d 23 d2 21 70 24 3d c3 28 72 |...pos.#.!p$=.(r| 00007e30 65 63 6f 72 64 25 2b 31 29 2b 22 2f 22 2b c3 28 |ecord%+1)+"/"+.(| 00007e40 6d 61 78 25 2b 31 29 0d 23 dc 51 e7 20 70 24 3c |max%+1).#.Q. p$<| 00007e50 3e 70 6f 73 24 20 c8 99 20 22 57 69 6d 70 45 78 |>pos$ .. "WimpEx| 00007e60 74 5f 53 65 74 49 63 6f 6e 53 74 72 69 6e 67 22 |t_SetIconString"| 00007e70 2c 2c 2c 70 6f 73 25 2c 36 2c 70 24 3a 70 6f 73 |,,,pos%,6,p$:pos| 00007e80 24 3d 70 24 3a 70 6f 73 5f 72 65 63 6f 72 64 25 |$=p$:pos_record%| 00007e90 3d 72 65 63 6f 72 64 25 0d 23 e6 05 e1 0d 23 f0 |=record%.#....#.| 00007ea0 05 3a 0d 23 fa 10 dd f2 73 68 6f 77 28 72 65 63 |.:.#....show(rec| 00007eb0 25 29 0d 24 04 17 f2 73 74 6f 72 65 28 70 6f 73 |%).$...store(pos| 00007ec0 5f 72 65 63 6f 72 64 25 29 0d 24 0e 13 e7 20 72 |_record%).$... r| 00007ed0 65 63 25 3c 30 20 72 65 63 25 3d 30 0d 24 18 19 |ec%<0 rec%=0.$..| 00007ee0 e7 20 72 65 63 25 3e 6d 61 78 25 20 72 65 63 25 |. rec%>max% rec%| 00007ef0 3d 6d 61 78 25 0d 24 22 10 72 65 63 6f 72 64 25 |=max%.$".record%| 00007f00 3d 72 65 63 25 0d 24 2c 08 f2 70 6f 73 0d 24 36 |=rec%.$,..pos.$6| 00007f10 15 f2 64 69 73 70 6c 61 79 28 72 65 63 6f 72 64 |..display(record| 00007f20 25 29 0d 24 40 05 e1 0d 24 4a 05 3a 0d 24 54 13 |%).$@...$J.:.$T.| 00007f30 dd f2 64 69 73 70 6c 61 79 28 72 65 63 25 29 0d |..display(rec%).| 00007f40 24 5e 21 74 61 62 5f 70 6f 73 25 3d 74 61 62 25 |$^!tab_pos%=tab%| 00007f50 2b 28 72 65 63 25 2a 72 65 63 5f 6c 65 6e 25 29 |+(rec%*rec_len%)| 00007f60 0d 24 68 13 e3 20 66 69 65 6c 64 25 3d 30 20 b8 |.$h.. field%=0 .| 00007f70 20 31 30 0d 24 72 3a 20 20 c8 99 20 22 57 69 6d | 10.$r: .. "Wim| 00007f80 70 45 78 74 5f 53 65 74 49 63 6f 6e 53 74 72 69 |pExt_SetIconStri| 00007f90 6e 67 22 2c 2c 2c 62 6f 6f 6b 25 2c 66 69 65 6c |ng",,,book%,fiel| 00007fa0 64 25 2b 39 2c 74 61 62 5f 70 6f 73 25 0d 24 7c |d%+9,tab_pos%.$|| 00007fb0 12 20 20 74 61 62 5f 70 6f 73 25 2b 3d 33 32 0d |. tab_pos%+=32.| 00007fc0 24 86 05 ed 0d 24 90 05 e1 0d 24 9a 05 3a 0d 24 |$....$....$..:.$| 00007fd0 a4 11 dd f2 73 74 6f 72 65 28 72 65 63 25 29 0d |....store(rec%).| 00007fe0 24 ae 21 74 61 62 5f 70 6f 73 25 3d 74 61 62 25 |$.!tab_pos%=tab%| 00007ff0 2b 28 72 65 63 25 2a 72 65 63 5f 6c 65 6e 25 29 |+(rec%*rec_len%)| 00008000 0d 24 b8 13 e3 20 66 69 65 6c 64 25 3d 30 20 b8 |.$... field%=0 .| 00008010 20 31 30 0d 24 c2 35 20 20 e7 20 24 74 61 62 5f | 10.$.5 . $tab_| 00008020 70 6f 73 25 3c 3e a4 69 6e 28 62 6f 6f 6b 25 2c |pos%<>.in(book%,| 00008030 66 69 65 6c 64 25 2b 39 29 20 8c 20 f2 6d 6f 64 |field%+9) . .mod| 00008040 69 66 69 65 64 28 31 29 0d 24 cc 23 20 20 24 74 |ified(1).$.# $t| 00008050 61 62 5f 70 6f 73 25 3d a4 69 6e 28 62 6f 6f 6b |ab_pos%=.in(book| 00008060 25 2c 66 69 65 6c 64 25 2b 39 29 0d 24 d6 12 20 |%,field%+9).$.. | 00008070 20 74 61 62 5f 70 6f 73 25 2b 3d 33 32 0d 24 e0 | tab_pos%+=32.$.| 00008080 05 ed 0d 24 ea 05 e1 0d 24 f4 05 3a 0d 24 fe 18 |...$....$..:.$..| 00008090 dd f2 62 6c 61 6e 6b 5f 72 65 63 6f 72 64 28 72 |..blank_record(r| 000080a0 65 63 25 29 0d 25 08 21 74 61 62 5f 70 6f 73 25 |ec%).%.!tab_pos%| 000080b0 3d 74 61 62 25 2b 28 72 65 63 25 2a 72 65 63 5f |=tab%+(rec%*rec_| 000080c0 6c 65 6e 25 29 0d 25 12 13 e3 20 66 69 65 6c 64 |len%).%... field| 000080d0 25 3d 30 20 b8 20 31 30 0d 25 1c 12 20 20 3f 74 |%=0 . 10.%.. ?t| 000080e0 61 62 5f 70 6f 73 25 3d 31 33 0d 25 26 12 20 20 |ab_pos%=13.%&. | 000080f0 74 61 62 5f 70 6f 73 25 2b 3d 33 32 0d 25 30 12 |tab_pos%+=32.%0.| 00008100 ed 3a f2 6d 6f 64 69 66 69 65 64 28 31 29 0d 25 |.:.modified(1).%| 00008110 3a 38 e7 20 63 6f 75 6e 74 72 79 25 20 8c 20 24 |:8. country% . $| 00008120 28 74 61 62 25 2b 28 72 65 63 25 2a 72 65 63 5f |(tab%+(rec%*rec_| 00008130 6c 65 6e 25 29 2b 28 36 2a 33 32 29 29 3d 63 6f |len%)+(6*32))=co| 00008140 75 6e 74 72 79 24 0d 25 44 05 e1 0d 25 4e 05 3a |untry$.%D...%N.:| 00008150 0d 25 58 1d dd f2 69 6e 73 65 72 74 5f 72 65 63 |.%X...insert_rec| 00008160 6f 72 64 28 72 25 2c 74 79 70 65 25 29 0d 25 62 |ord(r%,type%).%b| 00008170 17 f2 73 74 6f 72 65 28 70 6f 73 5f 72 65 63 6f |..store(pos_reco| 00008180 72 64 25 29 0d 25 6c 0b 72 65 63 25 3d 72 25 0d |rd%).%l.rec%=r%.| 00008190 25 76 b7 e7 20 6d 61 78 25 3d 74 6f 74 61 6c 5f |%v.. max%=total_| 000081a0 6d 61 78 25 2d 31 20 72 65 71 25 3d 30 3a c8 99 |max%-1 req%=0:..| 000081b0 20 22 57 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 | "WimpExt_OpenRe| 000081c0 71 75 65 73 74 65 72 22 2c 2c 2c 22 52 65 6d 69 |quester",,,"Remi| 000081d0 6e 64 65 72 20 66 72 6f 6d 20 54 65 6c 41 64 64 |nder from TelAdd| 000081e0 72 22 2c 22 54 68 65 20 6d 61 78 69 6d 75 6d 20 |r","The maximum | 000081f0 6e 75 6d 62 65 72 20 6f 66 20 72 65 63 6f 72 64 |number of record| 00008200 73 20 68 61 73 20 62 65 65 6e 20 72 65 61 63 68 |s has been reach| 00008210 65 64 20 28 22 2b c3 74 6f 74 61 6c 5f 6d 61 78 |ed ("+.total_max| 00008220 25 2b 22 29 2c 20 6e 6f 20 6d 6f 72 65 20 63 61 |%+"), no more ca| 00008230 6e 20 62 65 20 63 72 65 61 74 65 64 2e 22 2c 6f |n be created.",o| 00008240 6b 25 2c 30 3a e1 0d 25 80 18 f2 63 6c 6f 73 65 |k%,0:..%...close| 00008250 5f 77 69 6e 64 6f 77 28 6c 69 73 74 25 29 0d 25 |_window(list%).%| 00008260 8a 44 e7 20 72 65 63 25 3c 6d 61 78 25 20 8c 20 |.D. rec%<max% . | 00008270 41 25 3d 74 61 62 25 3a 42 25 3d 6d 61 78 25 3a |A%=tab%:B%=max%:| 00008280 43 25 3d 72 65 63 25 2b 74 79 70 65 25 3a 44 25 |C%=rec%+type%:D%| 00008290 3d 72 65 63 5f 6c 65 6e 25 3a d6 20 69 6e 73 65 |=rec_len%:. inse| 000082a0 72 74 0d 25 94 27 72 65 63 6f 72 64 25 2b 3d 74 |rt.%.'record%+=t| 000082b0 79 70 65 25 3a 6d 61 78 25 2b 3d 31 3a f2 6d 6f |ype%:max%+=1:.mo| 000082c0 64 69 66 69 65 64 28 31 29 0d 25 9e 1a f2 62 6c |dified(1).%...bl| 000082d0 61 6e 6b 5f 72 65 63 6f 72 64 28 72 65 63 6f 72 |ank_record(recor| 000082e0 64 25 29 0d 25 a8 15 f2 64 69 73 70 6c 61 79 28 |d%).%...display(| 000082f0 72 65 63 6f 72 64 25 29 0d 25 b2 3b f2 70 6f 73 |record%).%.;.pos| 00008300 3a e7 20 a4 6f 70 65 6e 28 62 6f 6f 6b 25 29 20 |:. .open(book%) | 00008310 c8 99 20 22 57 69 6d 70 45 78 74 5f 50 75 74 43 |.. "WimpExt_PutC| 00008320 61 72 65 74 49 63 6f 6e 22 2c 2c 2c 62 6f 6f 6b |aretIcon",,,book| 00008330 25 2c 39 0d 25 bc 05 e1 0d 25 c6 05 3a 0d 25 d0 |%,9.%....%..:.%.| 00008340 1f dd f2 64 65 6c 65 74 65 5f 72 65 63 6f 72 64 |...delete_record| 00008350 28 72 65 63 25 2c 73 68 6f 77 25 29 0d 25 da 0e |(rec%,show%).%..| 00008360 e7 20 6d 61 78 25 3d 30 20 e1 0d 25 e4 18 f2 63 |. max%=0 ..%...c| 00008370 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 6c 69 73 74 |lose_window(list| 00008380 25 29 0d 25 ee 3e e7 20 72 65 63 25 3c 6d 61 78 |%).%.>. rec%<max| 00008390 25 20 8c 20 41 25 3d 74 61 62 25 3a 42 25 3d 6d |% . A%=tab%:B%=m| 000083a0 61 78 25 3a 43 25 3d 72 65 63 25 3a 44 25 3d 72 |ax%:C%=rec%:D%=r| 000083b0 65 63 5f 6c 65 6e 25 3a d6 20 64 65 6c 65 74 65 |ec_len%:. delete| 000083c0 0d 25 f8 18 6d 61 78 25 2d 3d 31 3a f2 6d 6f 64 |.%..max%-=1:.mod| 000083d0 69 66 69 65 64 28 31 29 0d 26 02 1f e7 20 72 65 |ified(1).&... re| 000083e0 63 6f 72 64 25 3e 6d 61 78 25 20 72 65 63 6f 72 |cord%>max% recor| 000083f0 64 25 3d 6d 61 78 25 0d 26 0c 55 e7 20 73 68 6f |d%=max%.&.U. sho| 00008400 77 25 20 f2 64 69 73 70 6c 61 79 28 72 65 63 6f |w% .display(reco| 00008410 72 64 25 29 3a f2 70 6f 73 3a e7 20 a4 6f 70 65 |rd%):.pos:. .ope| 00008420 6e 28 62 6f 6f 6b 25 29 20 c8 99 20 22 57 69 6d |n(book%) .. "Wim| 00008430 70 45 78 74 5f 50 75 74 43 61 72 65 74 49 63 6f |pExt_PutCaretIco| 00008440 6e 22 2c 2c 2c 62 6f 6f 6b 25 2c 39 0d 26 16 05 |n",,,book%,9.&..| 00008450 e1 0d 26 20 05 3a 0d 26 2a 0e dd a4 6c 6f 61 64 |..& .:.&*...load| 00008460 5f 61 63 6b 0d 26 34 19 e7 20 62 25 21 34 30 3c |_ack.&4.. b%!40<| 00008470 3e 74 65 6c 5f 66 74 25 20 8c 20 3d 30 0d 26 3e |>tel_ft% . =0.&>| 00008480 37 62 25 21 31 32 3d 62 25 21 38 3a 62 25 21 31 |7b%!12=b%!8:b%!1| 00008490 36 3d 34 3a c8 99 20 22 57 69 6d 70 5f 53 65 6e |6=4:.. "Wimp_Sen| 000084a0 64 4d 65 73 73 61 67 65 22 2c 31 37 2c 62 25 2c |dMessage",17,b%,| 000084b0 62 25 21 34 0d 26 48 06 3d 31 0d 26 52 05 3a 0d |b%!4.&H.=1.&R.:.| 000084c0 26 5c 0e dd f2 73 61 76 65 5f 61 63 6b 0d 26 66 |&\...save_ack.&f| 000084d0 18 e7 20 62 25 21 34 30 3c 3e 74 65 6c 5f 66 74 |.. b%!40<>tel_ft| 000084e0 25 20 8c 20 e1 0d 26 70 1e 24 28 62 25 2b 34 34 |% . ..&p.$(b%+44| 000084f0 29 3d 22 3c 57 69 6d 70 24 53 63 72 61 70 3e 22 |)="<Wimp$Scrap>"| 00008500 2b bd 30 0d 26 7a 37 62 25 21 31 32 3d 62 25 21 |+.0.&z7b%!12=b%!| 00008510 38 3a 62 25 21 31 36 3d 32 3a c8 99 20 22 57 69 |8:b%!16=2:.. "Wi| 00008520 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c |mp_SendMessage",| 00008530 31 37 2c 62 25 2c 62 25 21 34 0d 26 84 05 e1 0d |17,b%,b%!4.&....| 00008540 26 8e 05 3a 0d 26 98 51 dd a4 62 6c 61 6e 6b 28 |&..:.&.Q..blank(| 00008550 72 25 29 3a 62 6c 61 6e 6b 25 3d 31 3a e3 20 49 |r%):blank%=1:. I| 00008560 25 3d 30 20 b8 20 31 30 3a e7 20 3f 28 74 61 62 |%=0 . 10:. ?(tab| 00008570 25 2b 28 72 25 2a 72 65 63 5f 6c 65 6e 25 29 2b |%+(r%*rec_len%)+| 00008580 28 49 25 2a 33 32 29 29 3e 3d 33 32 20 62 6c 61 |(I%*32))>=32 bla| 00008590 6e 6b 25 3d 30 0d 26 a2 0d ed 3a 3d 62 6c 61 6e |nk%=0.&...:=blan| 000085a0 6b 25 0d 26 ac 05 3a 0d 26 b6 29 dd f2 6c 6f 61 |k%.&..:.&.)..loa| 000085b0 64 5f 66 69 6c 65 28 66 6e 24 2c 6d 65 72 67 65 |d_file(fn$,merge| 000085c0 25 29 3a 6f 6c 64 5f 6d 61 78 25 3d 6d 61 78 25 |%):old_max%=max%| 000085d0 0d 26 c0 1f 66 25 3d ad 20 66 6e 24 3a e7 20 66 |.&..f%=. fn$:. f| 000085e0 25 3d 30 20 66 61 69 6c 65 64 25 3d 31 3a e1 0d |%=0 failed%=1:..| 000085f0 26 ca 0e 69 6e 66 6f 24 3d be 23 66 25 0d 26 d4 |&..info$=.#f%.&.| 00008600 b5 e7 20 c1 69 6e 66 6f 24 2c 31 2c a7 69 6e 66 |.. .info$,1,.inf| 00008610 6f 24 2c 22 28 22 29 2d 31 29 3c 3e 22 54 65 6c |o$,"(")-1)<>"Tel| 00008620 41 64 64 72 22 20 84 20 a7 69 6e 66 6f 24 2c 22 |Addr" . .info$,"| 00008630 28 22 29 3d 30 20 72 65 71 25 3d 30 3a c8 99 20 |(")=0 req%=0:.. | 00008640 22 57 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 71 |"WimpExt_OpenReq| 00008650 75 65 73 74 65 72 22 2c 2c 2c 22 45 72 72 6f 72 |uester",,,"Error| 00008660 20 66 72 6f 6d 20 54 65 6c 41 64 64 72 22 2c 22 | from TelAddr","| 00008670 54 68 69 73 20 66 69 6c 65 20 69 73 20 6e 6f 74 |This file is not| 00008680 20 69 6e 20 74 68 65 20 54 65 6c 41 64 64 72 20 | in the TelAddr | 00008690 66 6f 72 6d 61 74 2c 20 6c 6f 61 64 20 66 61 69 |format, load fai| 000086a0 6c 65 64 2e 22 2c 6f 6b 25 2c 30 3a d9 23 66 25 |led.",ok%,0:.#f%| 000086b0 3a e1 0d 26 de 35 70 5f 76 25 3d bb c1 69 6e 66 |:..&.5p_v%=..inf| 000086c0 6f 24 2c 39 2c 33 29 3a 72 65 63 25 3d bb c1 69 |o$,9,3):rec%=..i| 000086d0 6e 66 6f 24 2c 31 33 2c a7 69 6e 66 6f 24 2c 22 |nfo$,13,.info$,"| 000086e0 29 22 29 2d 31 33 29 0d 26 e8 9f e7 20 70 5f 76 |)")-13).&... p_v| 000086f0 25 3e 66 69 6c 65 5f 76 65 72 25 20 72 65 71 25 |%>file_ver% req%| 00008700 3d 30 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 4f |=0:.. "WimpExt_O| 00008710 70 65 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c |penRequester",,,| 00008720 22 45 72 72 6f 72 20 66 72 6f 6d 20 54 65 6c 41 |"Error from TelA| 00008730 64 64 72 22 2c 22 54 68 69 73 20 66 69 6c 65 20 |ddr","This file | 00008740 77 61 73 20 63 72 65 61 74 65 64 20 62 79 20 61 |was created by a| 00008750 20 68 69 67 68 65 72 20 76 65 72 73 69 6f 6e 20 | higher version | 00008760 6f 66 20 54 65 6c 41 64 64 72 2c 20 6c 6f 61 64 |of TelAddr, load| 00008770 20 66 61 69 6c 65 64 2e 22 2c 6f 6b 25 2c 30 3a | failed.",ok%,0:| 00008780 d9 23 66 25 3a e1 0d 26 f2 a3 e7 20 72 65 63 25 |.#f%:..&... rec%| 00008790 3e 74 6f 74 61 6c 5f 6d 61 78 25 20 72 65 71 25 |>total_max% req%| 000087a0 3d 30 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 4f |=0:.. "WimpExt_O| 000087b0 70 65 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c |penRequester",,,| 000087c0 22 45 72 72 6f 72 20 66 72 6f 6d 20 54 65 6c 41 |"Error from TelA| 000087d0 64 64 72 22 2c 22 54 68 69 73 20 66 69 6c 65 20 |ddr","This file | 000087e0 63 6f 6e 74 61 69 6e 73 20 6d 6f 72 65 20 72 65 |contains more re| 000087f0 63 6f 72 64 73 20 74 68 61 74 20 54 65 6c 41 64 |cords that TelAd| 00008800 64 72 20 63 61 6e 20 68 61 6e 64 6c 65 2c 20 6c |dr can handle, l| 00008810 6f 61 64 20 66 61 69 6c 65 64 2e 22 2c 6f 6b 25 |oad failed.",ok%| 00008820 2c 30 3a d9 23 66 25 3a e1 0d 26 fc 0e e7 20 6d |,0:.#f%:..&... m| 00008830 65 72 67 65 25 20 8c 0d 27 06 b9 20 20 e7 20 a4 |erge% ..'.. . .| 00008840 62 6c 61 6e 6b 28 72 65 63 6f 72 64 25 29 20 80 |blank(record%) .| 00008850 20 72 65 63 25 3d 31 20 80 20 70 66 5f 6d 65 72 | rec%=1 . pf_mer| 00008860 67 65 25 3d 30 20 8c 20 73 74 61 72 74 25 3d 72 |ge%=0 . start%=r| 00008870 65 63 6f 72 64 25 3a 65 6e 64 25 3d 72 65 63 6f |ecord%:end%=reco| 00008880 72 64 25 20 8b 20 e7 20 a4 62 6c 61 6e 6b 28 6d |rd% . . .blank(m| 00008890 61 78 25 29 20 8c 20 73 74 61 72 74 25 3d 6d 61 |ax%) . start%=ma| 000088a0 78 25 3a 65 6e 64 25 3d 73 74 61 72 74 25 2b 72 |x%:end%=start%+r| 000088b0 65 63 25 2d 31 3a 6d 61 78 25 2b 3d 72 65 63 25 |ec%-1:max%+=rec%| 000088c0 2d 31 20 8b 20 73 74 61 72 74 25 3d 6d 61 78 25 |-1 . start%=max%| 000088d0 2b 31 3a 65 6e 64 25 3d 73 74 61 72 74 25 2b 72 |+1:end%=start%+r| 000088e0 65 63 25 2d 31 3a 6d 61 78 25 2b 3d 72 65 63 25 |ec%-1:max%+=rec%| 000088f0 0d 27 10 05 cc 0d 27 1a 24 20 20 73 74 61 72 74 |.'....'.$ start| 00008900 25 3d 30 3a 65 6e 64 25 3d 72 65 63 25 2d 31 3a |%=0:end%=rec%-1:| 00008910 6d 61 78 25 3d 65 6e 64 25 0d 27 24 05 cd 0d 27 |max%=end%.'$...'| 00008920 2e d1 e7 20 6d 61 78 25 3e 74 6f 74 61 6c 5f 6d |... max%>total_m| 00008930 61 78 25 2d 31 20 72 65 71 25 3d 30 3a 6d 61 78 |ax%-1 req%=0:max| 00008940 25 3d 6f 6c 64 5f 6d 61 78 25 3a c8 99 20 22 57 |%=old_max%:.. "W| 00008950 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 71 75 65 |impExt_OpenReque| 00008960 73 74 65 72 22 2c 2c 2c 22 45 72 72 6f 72 20 66 |ster",,,"Error f| 00008970 72 6f 6d 20 54 65 6c 41 64 64 72 22 2c 22 42 79 |rom TelAddr","By| 00008980 20 6d 65 72 67 69 6e 67 20 74 68 65 73 65 20 74 | merging these t| 00008990 77 6f 20 66 69 6c 65 73 2c 20 74 68 65 20 72 65 |wo files, the re| 000089a0 73 75 6c 74 20 77 6f 75 6c 64 20 62 65 20 6d 6f |sult would be mo| 000089b0 72 65 20 72 65 63 6f 72 64 73 20 74 68 61 74 20 |re records that | 000089c0 54 65 6c 41 64 64 72 20 63 61 6e 20 68 61 6e 64 |TelAddr can hand| 000089d0 6c 65 2c 20 6d 65 72 67 65 20 66 61 69 6c 65 64 |le, merge failed| 000089e0 2e 22 2c 6f 6b 25 2c 30 3a d9 23 66 25 3a e1 0d |.",ok%,0:.#f%:..| 000089f0 27 38 15 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 |'8... "Hourglass| 00008a00 5f 4f 6e 22 0d 27 42 18 e3 20 72 65 63 25 3d 73 |_On".'B.. rec%=s| 00008a10 74 61 72 74 25 20 b8 20 65 6e 64 25 0d 27 4c 54 |tart% . end%.'LT| 00008a20 20 20 e7 20 6d 61 78 25 2d 73 74 61 72 74 25 3e | . max%-start%>| 00008a30 30 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f |0 .. "Hourglass_| 00008a40 50 65 72 63 65 6e 74 61 67 65 22 2c a8 28 28 28 |Percentage",.(((| 00008a50 72 65 63 25 2d 73 74 61 72 74 25 29 2f 28 6d 61 |rec%-start%)/(ma| 00008a60 78 25 2d 73 74 61 72 74 25 29 29 2a 31 30 30 29 |x%-start%))*100)| 00008a70 0d 27 56 23 20 20 74 61 62 5f 70 6f 73 25 3d 74 |.'V# tab_pos%=t| 00008a80 61 62 25 2b 28 72 65 63 25 2a 72 65 63 5f 6c 65 |ab%+(rec%*rec_le| 00008a90 6e 25 29 0d 27 60 15 20 20 e3 20 66 69 65 6c 64 |n%).'`. . field| 00008aa0 25 3d 30 20 b8 20 31 30 0d 27 6a 1b 20 20 20 20 |%=0 . 10.'j. | 00008ab0 24 74 61 62 5f 70 6f 73 25 3d c0 be 23 66 25 2c |$tab_pos%=..#f%,| 00008ac0 33 31 29 0d 27 74 14 20 20 20 20 74 61 62 5f 70 |31).'t. tab_p| 00008ad0 6f 73 25 2b 3d 33 32 0d 27 7e 07 20 20 ed 0d 27 |os%+=32.'~. ..'| 00008ae0 88 05 ed 0d 27 92 08 d9 23 66 25 0d 27 9c 16 c8 |....'...#f%.'...| 00008af0 99 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f 66 66 |. "Hourglass_Off| 00008b00 22 0d 27 a6 72 72 65 63 6f 72 64 25 3d 73 74 61 |".'.rrecord%=sta| 00008b10 72 74 25 3a f2 64 69 73 70 6c 61 79 28 72 65 63 |rt%:.display(rec| 00008b20 6f 72 64 25 29 3a f2 70 6f 73 3a e7 20 a4 6f 70 |ord%):.pos:. .op| 00008b30 65 6e 28 62 6f 6f 6b 25 29 3d 30 20 f2 6f 70 65 |en(book%)=0 .ope| 00008b40 6e 5f 77 69 6e 64 6f 77 28 62 6f 6f 6b 25 29 3a |n_window(book%):| 00008b50 c8 99 20 22 57 69 6d 70 45 78 74 5f 50 75 74 43 |.. "WimpExt_PutC| 00008b60 61 72 65 74 49 63 6f 6e 22 2c 2c 2c 62 6f 6f 6b |aretIcon",,,book| 00008b70 25 2c 39 0d 27 b0 1d e7 20 6d 65 72 67 65 25 3d |%,9.'... merge%=| 00008b80 30 20 67 6f 6f 64 5f 62 6f 6f 6b 24 3d 66 6e 24 |0 good_book$=fn$| 00008b90 0d 27 ba 2a f2 6d 6f 64 69 66 69 65 64 28 6d 65 |.'.*.modified(me| 00008ba0 72 67 65 25 29 3a f2 63 6c 6f 73 65 5f 77 69 6e |rge%):.close_win| 00008bb0 64 6f 77 28 6c 69 73 74 25 29 0d 27 c4 05 e1 0d |dow(list%).'....| 00008bc0 27 ce 05 3a 0d 27 d8 0a dd f2 73 6f 72 74 0d 27 |'..:.'....sort.'| 00008bd0 e2 13 f2 73 74 6f 72 65 28 72 65 63 6f 72 64 25 |...store(record%| 00008be0 29 0d 27 ec 15 c8 99 20 22 48 6f 75 72 67 6c 61 |).'.... "Hourgla| 00008bf0 73 73 5f 4f 6e 22 0d 27 f6 11 e3 20 49 25 3d 30 |ss_On".'... I%=0| 00008c00 20 b8 20 6d 61 78 25 0d 28 00 29 20 20 70 6f 69 | . max%.(.) poi| 00008c10 6e 74 65 72 73 25 21 28 49 25 2a 34 29 3d 74 61 |nters%!(I%*4)=ta| 00008c20 62 25 2b 28 49 25 2a 72 65 63 5f 6c 65 6e 25 29 |b%+(I%*rec_len%)| 00008c30 0d 28 0a 05 ed 0d 28 14 36 c8 99 20 22 4f 53 5f |.(....(.6.. "OS_| 00008c40 48 65 61 70 53 6f 72 74 22 2c 6d 61 78 25 2b 31 |HeapSort",max%+1| 00008c50 2c 70 6f 69 6e 74 65 72 73 25 2c 34 2c 2c 74 61 |,pointers%,4,,ta| 00008c60 62 25 2c 72 65 63 5f 6c 65 6e 25 0d 28 1e 33 41 |b%,rec_len%.(.3A| 00008c70 25 3d 74 61 62 25 3a 42 25 3d 70 6f 69 6e 74 65 |%=tab%:B%=pointe| 00008c80 72 73 25 3a 43 25 3d 6d 61 78 25 3a 44 25 3d 72 |rs%:C%=max%:D%=r| 00008c90 65 63 5f 6c 65 6e 25 3a d6 20 73 6f 72 74 0d 28 |ec_len%:. sort.(| 00008ca0 28 15 f2 64 69 73 70 6c 61 79 28 72 65 63 6f 72 |(..display(recor| 00008cb0 64 25 29 0d 28 32 38 c8 99 20 22 48 6f 75 72 67 |d%).(28.. "Hourg| 00008cc0 6c 61 73 73 5f 4f 66 66 22 3a f2 6d 6f 64 69 66 |lass_Off":.modif| 00008cd0 69 65 64 28 31 29 3a f2 63 6c 6f 73 65 5f 77 69 |ied(1):.close_wi| 00008ce0 6e 64 6f 77 28 6c 69 73 74 25 29 0d 28 3c 05 e1 |ndow(list%).(<..| 00008cf0 0d 28 46 05 3a 0d 28 50 1a dd f2 72 65 64 72 61 |.(F.:.(P...redra| 00008d00 77 5f 6c 69 73 74 3a 79 5f 74 6f 70 25 3d 30 0d |w_list:y_top%=0.| 00008d10 28 5a 29 74 6f 70 25 3d 28 79 6f 25 2d 62 25 21 |(Z)top%=(yo%-b%!| 00008d20 34 30 29 20 81 20 34 38 3a e7 20 74 6f 70 25 3c |40) . 48:. top%<| 00008d30 30 20 74 6f 70 25 3d 30 0d 28 64 1d 62 61 73 65 |0 top%=0.(d.base| 00008d40 25 3d 28 36 30 2b 79 6f 25 2d 62 25 21 33 32 29 |%=(60+yo%-b%!32)| 00008d50 20 81 20 34 38 0d 28 6e 19 c8 99 20 22 57 69 6d | . 48.(n... "Wim| 00008d60 70 5f 53 65 74 43 6f 6c 6f 75 72 22 2c 37 0d 28 |p_SetColour",7.(| 00008d70 78 41 86 20 78 6f 25 2b 28 34 2a 31 36 29 2d 31 |xA. xo%+(4*16)-1| 00008d80 30 2c 79 6f 25 2d 28 74 6f 70 25 2a 34 38 29 2b |0,yo%-(top%*48)+| 00008d90 31 32 2c 78 6f 25 2b 28 34 2a 31 36 29 2d 31 30 |12,xo%+(4*16)-10| 00008da0 2c 79 6f 25 2d 28 62 61 73 65 25 2a 34 38 29 0d |,yo%-(base%*48).| 00008db0 28 82 2a 69 25 3d 74 6f 70 25 3a c8 95 20 69 25 |(.*i%=top%:.. i%| 00008dc0 3c 3d 73 65 61 72 63 68 5f 6c 65 6e 25 20 80 20 |<=search_len% . | 00008dd0 69 25 3c 3d 62 61 73 65 25 0d 28 8c 1f 20 20 63 |i%<=base%.(.. c| 00008de0 6f 6c 25 3d 30 3a e7 20 69 25 3d 73 65 61 72 63 |ol%=0:. i%=searc| 00008df0 68 5f 73 65 6c 25 20 8c 0d 28 96 17 20 20 20 20 |h_sel% ..(.. | 00008e00 63 6f 6c 25 3d 32 3a 79 5f 74 6f 70 25 3d 30 0d |col%=2:y_top%=0.| 00008e10 28 a0 07 20 20 cc 0d 28 aa 1e 20 20 20 20 e7 20 |(.. ..(.. . | 00008e20 69 25 3d 6f 6c 64 5f 73 65 61 72 63 68 5f 73 65 |i%=old_search_se| 00008e30 6c 25 20 8c 0d 28 b4 10 20 20 20 20 20 20 63 6f |l% ..(.. co| 00008e40 6c 25 3d 31 0d 28 be 35 20 20 20 20 20 20 e7 20 |l%=1.(.5 . | 00008e50 6f 6c 64 5f 73 65 61 72 63 68 5f 73 65 6c 25 3d |old_search_sel%=| 00008e60 73 65 61 72 63 68 5f 73 65 6c 25 2b 31 20 8c 20 |search_sel%+1 . | 00008e70 79 5f 74 6f 70 25 3d 2d 34 0d 28 c8 09 20 20 20 |y_top%=-4.(.. | 00008e80 20 cd 0d 28 d2 07 20 20 cd 0d 28 dc ad 20 20 e7 | ..(.. ..(.. .| 00008e90 20 63 6f 6c 25 3e 30 20 c8 99 20 22 57 69 6d 70 | col%>0 .. "Wimp| 00008ea0 5f 53 65 74 43 6f 6c 6f 75 72 22 2c 63 6f 6c 25 |_SetColour",col%| 00008eb0 3a c8 93 20 c8 90 20 78 6f 25 2d 36 2c 79 6f 25 |:.. .. xo%-6,yo%| 00008ec0 2d 28 69 25 2a 34 38 29 2b 31 32 2b 79 5f 74 6f |-(i%*48)+12+y_to| 00008ed0 70 25 2c 28 34 2a 31 36 29 2d 36 2c 2d 34 38 2d |p%,(4*16)-6,-48-| 00008ee0 79 5f 74 6f 70 25 3a c8 93 20 c8 90 20 78 6f 25 |y_top%:.. .. xo%| 00008ef0 2b 28 34 2a 31 36 29 2d 38 2c 79 6f 25 2d 28 69 |+(4*16)-8,yo%-(i| 00008f00 25 2a 34 38 29 2b 31 32 2b 79 5f 74 6f 70 25 2c |%*48)+12+y_top%,| 00008f10 34 30 2a 31 36 2c 2d 34 38 2d 79 5f 74 6f 70 25 |40*16,-48-y_top%| 00008f20 3a c8 99 20 22 57 69 6d 70 5f 53 65 74 43 6f 6c |:.. "Wimp_SetCol| 00008f30 6f 75 72 22 2c 37 0d 28 e6 2d 20 20 ec 20 78 6f |our",7.(.- . xo| 00008f40 25 2c 79 6f 25 2d 28 69 25 2a 34 38 29 3a 6e 25 |%,yo%-(i%*48):n%| 00008f50 3d 28 74 61 62 6c 65 25 21 28 69 25 2a 31 32 29 |=(table%!(i%*12)| 00008f60 29 2b 31 0d 28 f0 17 20 20 f1 20 c4 33 2d a9 c3 |)+1.(.. . .3-..| 00008f70 6e 25 2c 22 30 22 29 3b 6e 25 0d 28 fa 1e 20 20 |n%,"0");n%.(.. | 00008f80 ec 20 78 6f 25 2b 28 34 2a 31 36 29 2c 79 6f 25 |. xo%+(4*16),yo%| 00008f90 2d 28 69 25 2a 34 38 29 0d 29 04 43 20 20 41 25 |-(i%*48).).C A%| 00008fa0 3d 74 61 62 25 2b 28 28 74 61 62 6c 65 25 21 28 |=tab%+((table%!(| 00008fb0 69 25 2a 31 32 29 29 2a 72 65 63 5f 6c 65 6e 25 |i%*12))*rec_len%| 00008fc0 29 2b 28 28 74 61 62 6c 65 25 21 28 28 69 25 2a |)+((table%!((i%*| 00008fd0 31 32 29 2b 34 29 29 2a 33 32 29 0d 29 0e 12 20 |12)+4))*32).).. | 00008fe0 20 d6 20 63 75 74 3a 61 24 3d 24 41 25 0d 29 18 | . cut:a$=$A%.).| 00008ff0 1b 20 20 70 25 3d 74 61 62 6c 65 25 21 28 28 69 |. p%=table%!((i| 00009000 25 2a 31 32 29 2b 38 29 0d 29 22 2b 20 20 73 6c |%*12)+8).)"+ sl| 00009010 25 3d a9 73 65 61 72 63 68 24 3a e7 20 c2 73 65 |%=.search$:. .se| 00009020 61 72 63 68 24 2c 31 29 3d 22 2a 22 20 73 6c 25 |arch$,1)="*" sl%| 00009030 2d 3d 31 0d 29 2c 6a 20 20 f1 20 c0 61 24 2c 70 |-=1.),j . .a$,p| 00009040 25 2d 31 29 3b 3a c8 99 20 22 57 69 6d 70 5f 53 |%-1);:.. "Wimp_S| 00009050 65 74 43 6f 6c 6f 75 72 22 2c 70 66 5f 63 6f 6c |etColour",pf_col| 00009060 6f 75 72 25 3a f1 20 c1 61 24 2c 70 25 2c 73 6c |our%:. .a$,p%,sl| 00009070 25 29 3b 3a c8 99 20 22 57 69 6d 70 5f 53 65 74 |%);:.. "Wimp_Set| 00009080 43 6f 6c 6f 75 72 22 2c 37 3a f1 20 c2 61 24 2c |Colour",7:. .a$,| 00009090 a9 61 24 2d 70 25 2d 73 6c 25 2b 31 29 0d 29 36 |.a$-p%-sl%+1).)6| 000090a0 4b 20 20 f4 20 53 59 53 20 22 57 69 6d 70 5f 53 |K . SYS "Wimp_S| 000090b0 65 74 43 6f 6c 6f 75 72 22 2c 33 3a 50 52 49 4e |etColour",3:PRIN| 000090c0 54 20 22 2e 2e 2e 61 6c 74 65 72 65 64 2e 2e 2e |T "...altered...| 000090d0 22 3a 53 59 53 20 22 57 69 6d 70 5f 53 65 74 43 |":SYS "Wimp_SetC| 000090e0 6f 6c 6f 75 72 22 2c 37 0d 29 40 0b 69 25 2b 3d |olour",7.)@.i%+=| 000090f0 31 3a ce 0d 29 4a 05 e1 0d 29 54 05 3a 0d 29 5e |1:..)J...)T.:.)^| 00009100 1c dd f2 73 65 61 72 63 68 3a f2 73 74 6f 72 65 |...search:.store| 00009110 28 72 65 63 6f 72 64 25 29 0d 29 68 4a 73 65 61 |(record%).)hJsea| 00009120 72 63 68 5f 6c 65 6e 25 3d 2d 31 3a 73 65 61 72 |rch_len%=-1:sear| 00009130 63 68 5f 73 65 6c 25 3d 2d 31 3a 6f 6c 64 5f 73 |ch_sel%=-1:old_s| 00009140 65 61 72 63 68 5f 73 65 6c 25 3d 30 3a 73 65 61 |earch_sel%=0:sea| 00009150 72 63 68 24 3d a4 69 6e 28 73 65 61 72 63 68 25 |rch$=.in(search%| 00009160 2c 36 29 0d 29 72 7f e7 20 73 65 61 72 63 68 24 |,6).)r.. search$| 00009170 3d 22 22 20 72 65 71 25 3d 30 3a c8 99 20 22 57 |="" req%=0:.. "W| 00009180 69 6d 70 45 78 74 5f 4f 70 65 6e 52 65 71 75 65 |impExt_OpenReque| 00009190 73 74 65 72 22 2c 2c 2c 22 52 65 6d 69 6e 64 65 |ster",,,"Reminde| 000091a0 72 20 66 72 6f 6d 20 54 65 6c 41 64 64 72 22 2c |r from TelAddr",| 000091b0 22 59 6f 75 20 63 61 6e 6e 6f 74 20 73 65 61 72 |"You cannot sear| 000091c0 63 68 20 75 73 69 6e 67 20 61 6e 20 65 6d 70 74 |ch using an empt| 000091d0 79 20 73 74 72 69 6e 67 2e 22 2c 6f 6b 25 2c 30 |y string.",ok%,0| 000091e0 3a e1 0d 29 7c 3d 73 65 61 72 63 68 5f 66 6c 61 |:..)|=search_fla| 000091f0 67 25 3d 30 3a 66 6c 61 67 5f 70 6f 73 25 3d 30 |g%=0:flag_pos%=0| 00009200 3a e3 20 49 25 3d 37 20 b8 20 31 35 3a e3 20 4a |:. I%=7 . 15:. J| 00009210 25 3d 30 20 b8 20 94 28 49 25 3d 38 29 2a 32 0d |%=0 . .(I%=8)*2.| 00009220 29 86 3a 73 65 61 72 63 68 5f 66 6c 61 67 25 3d |).:search_flag%=| 00009230 73 65 61 72 63 68 5f 66 6c 61 67 25 20 84 20 a4 |search_flag% . .| 00009240 6f 6e 28 73 65 61 72 63 68 25 2c 49 25 29 3c 3c |on(search%,I%)<<| 00009250 66 6c 61 67 5f 70 6f 73 25 0d 29 90 14 66 6c 61 |flag_pos%.)..fla| 00009260 67 5f 70 6f 73 25 2b 3d 31 3a ed 3a ed 0d 29 9a |g_pos%+=1:.:..).| 00009270 a8 e7 20 73 65 61 72 63 68 5f 66 6c 61 67 25 3d |.. search_flag%=| 00009280 30 20 72 65 71 25 3d 30 3a c8 99 20 22 57 69 6d |0 req%=0:.. "Wim| 00009290 70 45 78 74 5f 4f 70 65 6e 52 65 71 75 65 73 74 |pExt_OpenRequest| 000092a0 65 72 22 2c 2c 2c 22 52 65 6d 69 6e 64 65 72 20 |er",,,"Reminder | 000092b0 66 72 6f 6d 20 54 65 6c 41 64 64 72 22 2c 22 59 |from TelAddr","Y| 000092c0 6f 75 20 63 61 6e 6e 6f 74 20 73 74 61 72 74 20 |ou cannot start | 000092d0 61 20 73 65 61 72 63 68 20 77 69 74 68 6f 75 74 |a search without| 000092e0 20 73 70 65 63 69 66 79 69 6e 67 20 6f 6e 65 20 | specifying one | 000092f0 6f 72 20 6d 6f 72 65 20 66 69 65 6c 64 73 20 74 |or more fields t| 00009300 6f 20 73 65 61 72 63 68 20 69 6e 2e 22 2c 6f 6b |o search in.",ok| 00009310 25 2c 30 3a e1 0d 29 a4 19 63 61 73 65 25 3d a4 |%,0:..)..case%=.| 00009320 6f 6e 28 73 65 61 72 63 68 25 2c 31 36 29 0d 29 |on(search%,16).)| 00009330 ae 25 e7 20 63 61 73 65 25 3d 30 20 73 65 61 72 |.%. case%=0 sear| 00009340 63 68 24 3d a4 6c 6f 77 65 72 28 73 65 61 72 63 |ch$=.lower(searc| 00009350 68 24 29 0d 29 b8 15 c8 99 20 22 48 6f 75 72 67 |h$).).... "Hourg| 00009360 6c 61 73 73 5f 4f 6e 22 0d 29 c2 0f 24 62 25 3d |lass_On".)..$b%=| 00009370 73 65 61 72 63 68 24 0d 29 cc 6a 41 25 3d 74 61 |search$.).jA%=ta| 00009380 62 25 3a 42 25 3d 6d 61 78 25 3a 43 25 3d 72 65 |b%:B%=max%:C%=re| 00009390 63 5f 6c 65 6e 25 3a 44 25 3d 74 61 62 6c 65 25 |c_len%:D%=table%| 000093a0 3a 45 25 3d 62 25 3a 46 25 3d a9 28 24 62 25 29 |:E%=b%:F%=.($b%)| 000093b0 3a 47 25 3d 73 65 61 72 63 68 5f 66 6c 61 67 25 |:G%=search_flag%| 000093c0 3a 48 25 3d 63 61 73 65 25 3a 73 65 61 72 63 68 |:H%=case%:search| 000093d0 5f 6c 65 6e 25 3d ba 28 73 65 61 72 63 68 29 2d |_len%=.(search)-| 000093e0 31 0d 29 d6 16 c8 99 20 22 48 6f 75 72 67 6c 61 |1.).... "Hourgla| 000093f0 73 73 5f 4f 66 66 22 0d 29 e0 9e e7 20 73 65 61 |ss_Off".)... sea| 00009400 72 63 68 5f 6c 65 6e 25 3c 30 20 72 65 71 25 3d |rch_len%<0 req%=| 00009410 30 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 4f 70 |0:.. "WimpExt_Op| 00009420 65 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c 22 |enRequester",,,"| 00009430 4d 65 73 73 61 67 65 20 66 72 6f 6d 20 54 65 6c |Message from Tel| 00009440 41 64 64 72 22 2c 22 54 68 65 20 73 65 61 72 63 |Addr","The searc| 00009450 68 20 73 74 72 69 6e 67 20 63 6f 75 6c 64 20 6e |h string could n| 00009460 6f 74 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 |ot be found with| 00009470 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 61 |in the current a| 00009480 64 64 72 65 73 73 20 62 6f 6f 6b 2e 22 2c 6f 6b |ddress book.",ok| 00009490 25 2c 30 3a e1 0d 29 ea 29 68 74 25 3d 73 65 61 |%,0:..).)ht%=sea| 000094a0 72 63 68 5f 6c 65 6e 25 3a e7 20 73 65 61 72 63 |rch_len%:. searc| 000094b0 68 5f 6c 65 6e 25 3c 37 20 68 74 25 3d 37 0d 29 |h_len%<7 ht%=7.)| 000094c0 f4 4d 21 62 25 3d 30 3a 62 25 21 34 3d 2d 34 38 |.M!b%=0:b%!4=-48| 000094d0 2a 28 68 74 25 2b 31 29 3a 62 25 21 38 3d 36 30 |*(ht%+1):b%!8=60| 000094e0 34 3a 62 25 21 31 32 3d 30 3a c8 99 20 22 57 69 |4:b%!12=0:.. "Wi| 000094f0 6d 70 5f 53 65 74 45 78 74 65 6e 74 22 2c 6c 69 |mp_SetExtent",li| 00009500 73 74 5f 70 61 6e 65 25 2c 62 25 0d 29 fe 1a f2 |st_pane%,b%.)...| 00009510 63 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 73 65 61 |close_window(sea| 00009520 72 63 68 25 29 0d 2a 08 33 41 25 3d 74 61 62 6c |rch%).*.3A%=tabl| 00009530 65 25 3a 42 25 3d 73 65 61 72 63 68 5f 6c 65 6e |e%:B%=search_len| 00009540 25 2b 31 3a 6e 75 6d 62 65 72 25 3d ba 28 63 6f |%+1:number%=.(co| 00009550 75 6e 74 5f 72 65 63 29 0d 2a 12 56 24 62 25 3d |unt_rec).*.V$b%=| 00009560 22 53 65 61 72 63 68 20 52 65 73 75 6c 74 73 20 |"Search Results | 00009570 28 22 2b c3 6e 75 6d 62 65 72 25 2b 22 20 6d 61 |("+.number%+" ma| 00009580 74 63 68 65 64 29 22 3a c8 99 20 22 57 69 6d 70 |tched)":.. "Wimp| 00009590 45 78 74 5f 53 65 74 57 69 6e 64 6f 77 54 69 74 |Ext_SetWindowTit| 000095a0 6c 65 22 2c 2c 2c 6c 69 73 74 25 2c 62 25 0d 2a |le",,,list%,b%.*| 000095b0 1c 1b f2 73 63 72 6f 6c 6c 5f 74 6f 70 28 6c 69 |...scroll_top(li| 000095c0 73 74 5f 70 61 6e 65 25 29 0d 2a 26 23 73 65 61 |st_pane%).*&#sea| 000095d0 72 63 68 65 64 25 3d 31 3a f2 6f 70 65 6e 5f 77 |rched%=1:.open_w| 000095e0 69 6e 64 6f 77 28 6c 69 73 74 25 29 0d 2a 30 05 |indow(list%).*0.| 000095f0 e1 0d 2a 3a 05 3a 0d 2a 44 55 dd a4 6c 6f 77 65 |..*:.:.*DU..lowe| 00009600 72 28 6c 24 29 3a 73 24 3d 22 22 3a e3 49 25 3d |r(l$):s$="":.I%=| 00009610 31 b8 a9 6c 24 3a 61 25 3d 97 c1 6c 24 2c 49 25 |1..l$:a%=..l$,I%| 00009620 2c 31 29 3a 73 24 2b 3d bd 28 61 25 20 84 20 28 |,1):s$+=.(a% . (| 00009630 94 28 61 25 3e 36 34 20 80 20 61 25 3c 39 31 29 |.(a%>64 . a%<91)| 00009640 2a 33 32 29 29 3a ed 3a 3d 73 24 0d 2a 4e 05 3a |*32)):.:=s$.*N.:| 00009650 0d 2a 58 21 dd f2 6d 6f 64 69 66 69 65 64 28 6d |.*X!..modified(m| 00009660 25 29 3a 6d 6f 64 69 66 69 65 64 25 3d 6d 25 3a |%):modified%=m%:| 00009670 e1 0d 2a 62 05 3a 0d 2a 6c 15 dd f2 64 65 6c 65 |..*b.:.*l...dele| 00009680 74 65 5f 73 65 61 72 63 68 65 64 0d 2a 76 15 c8 |te_searched.*v..| 00009690 99 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 |. "Hourglass_On"| 000096a0 0d 2a 80 0f 6f 6c 64 5f 72 65 63 25 3d 2d 31 0d |.*..old_rec%=-1.| 000096b0 2a 8a 0e e7 20 6d 61 78 25 3e 30 20 8c 0d 2a 94 |*... max%>0 ..*.| 000096c0 1f 20 20 e3 20 49 25 3d 73 65 61 72 63 68 5f 6c |. . I%=search_l| 000096d0 65 6e 25 20 b8 20 30 20 88 20 2d 31 0d 2a 9e 57 |en% . 0 . -1.*.W| 000096e0 20 20 20 20 e7 20 73 65 61 72 63 68 5f 6c 65 6e | . search_len| 000096f0 25 3e 30 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 |%>0 .. "Hourglas| 00009700 73 5f 50 65 72 63 65 6e 74 61 67 65 22 2c a8 28 |s_Percentage",.(| 00009710 28 28 73 65 61 72 63 68 5f 6c 65 6e 25 2d 49 25 |((search_len%-I%| 00009720 29 2f 73 65 61 72 63 68 5f 6c 65 6e 25 29 2a 31 |)/search_len%)*1| 00009730 30 30 29 0d 2a a8 1b 20 20 20 20 72 65 63 25 3d |00).*.. rec%=| 00009740 74 61 62 6c 65 25 21 28 49 25 2a 31 32 29 0d 2a |table%!(I%*12).*| 00009750 b2 24 20 20 20 20 e7 20 6d 61 78 25 3e 3d 30 20 |.$ . max%>=0 | 00009760 80 20 72 65 63 25 3c 3e 6f 6c 64 5f 72 65 63 25 |. rec%<>old_rec%| 00009770 20 8c 0d 2a bc 72 20 20 20 20 20 20 e7 20 72 65 | ..*.r . re| 00009780 63 25 3c 6d 61 78 25 20 8c 20 41 25 3d 74 61 62 |c%<max% . A%=tab| 00009790 25 3a 42 25 3d 6d 61 78 25 3a 43 25 3d 72 65 63 |%:B%=max%:C%=rec| 000097a0 25 3a 44 25 3d 72 65 63 5f 6c 65 6e 25 3a d6 20 |%:D%=rec_len%:. | 000097b0 64 65 6c 65 74 65 3a 6d 61 78 25 2d 3d 31 3a 6f |delete:max%-=1:o| 000097c0 6c 64 5f 72 65 63 25 3d 72 65 63 25 20 8b 20 6d |ld_rec%=rec% . m| 000097d0 61 78 25 2d 3d 31 3a 6f 6c 64 5f 72 65 63 25 3d |ax%-=1:old_rec%=| 000097e0 72 65 63 25 0d 2a c6 04 0d 2a d0 09 20 20 20 20 |rec%.*...*.. | 000097f0 cd 0d 2a da 07 20 20 ed 0d 2a e4 05 cd 0d 2a ee |..*.. ..*....*.| 00009800 16 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f |... "Hourglass_O| 00009810 66 66 22 0d 2a f8 10 f2 6d 6f 64 69 66 69 65 64 |ff".*...modified| 00009820 28 31 29 0d 2b 02 25 e7 20 6d 61 78 25 3c 3d 30 |(1).+.%. max%<=0| 00009830 20 6d 61 78 25 3d 30 3a f2 62 6c 61 6e 6b 5f 72 | max%=0:.blank_r| 00009840 65 63 6f 72 64 28 30 29 0d 2b 0c 18 f2 63 6c 6f |ecord(0).+...clo| 00009850 73 65 5f 77 69 6e 64 6f 77 28 6c 69 73 74 25 29 |se_window(list%)| 00009860 0d 2b 16 1f e7 20 72 65 63 6f 72 64 25 3e 6d 61 |.+... record%>ma| 00009870 78 25 20 72 65 63 6f 72 64 25 3d 6d 61 78 25 0d |x% record%=max%.| 00009880 2b 20 1a f2 64 69 73 70 6c 61 79 28 72 65 63 6f |+ ..display(reco| 00009890 72 64 25 29 3a f2 70 6f 73 0d 2b 2a 05 e1 0d 2b |rd%):.pos.+*...+| 000098a0 34 05 3a 0d 2b 3e 10 dd f2 73 63 72 6f 6c 6c 5f |4.:.+>...scroll_| 000098b0 72 65 71 0d 2b 48 1c 79 25 3d 62 25 21 32 34 3a |req.+H.y%=b%!24:| 000098c0 73 79 25 3d 62 25 21 33 36 3a 63 68 25 3d 30 0d |sy%=b%!36:ch%=0.| 000098d0 2b 52 43 e7 20 79 25 20 83 20 34 38 20 3c 3e 30 |+RC. y% . 48 <>0| 000098e0 20 8c 20 62 25 21 32 34 3d 28 79 25 20 81 20 34 | . b%!24=(y% . 4| 000098f0 38 29 2a 34 38 3a 63 68 25 3d 31 3a e7 20 73 79 |8)*48:ch%=1:. sy| 00009900 25 3c 30 20 62 25 21 32 34 3d 62 25 21 32 34 2d |%<0 b%!24=b%!24-| 00009910 34 38 0d 2b 5c 30 e7 20 94 28 73 79 25 29 3d 32 |48.+\0. .(sy%)=2| 00009920 20 73 79 25 3d 34 38 2a 34 2a 73 79 25 20 8b 20 | sy%=48*4*sy% . | 00009930 e7 20 63 68 25 3d 30 20 73 79 25 3d 73 79 25 2a |. ch%=0 sy%=sy%*| 00009940 34 38 0d 2b 66 13 62 25 21 32 34 3d 62 25 21 32 |48.+f.b%!24=b%!2| 00009950 34 2b 73 79 25 0d 2b 70 1c c8 99 20 22 57 69 6d |4+sy%.+p... "Wim| 00009960 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 |p_OpenWindow",,b| 00009970 25 0d 2b 7a 05 e1 0d 2b 84 05 3a 0d 2b 8e 30 dd |%.+z...+..:.+.0.| 00009980 f2 73 61 76 65 5f 70 72 65 66 73 3a 7a 25 3d 70 |.save_prefs:z%=p| 00009990 72 65 66 5f 70 61 6e 65 25 3a c8 99 20 22 48 6f |ref_pane%:.. "Ho| 000099a0 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 2b 98 1e 66 |urglass_On".+..f| 000099b0 25 3d ae 20 22 3c 54 65 6c 41 64 64 72 24 44 69 |%=. "<TelAddr$Di| 000099c0 72 3e 2e 50 72 65 66 73 22 0d 2b a2 30 f1 23 66 |r>.Prefs".+.0.#f| 000099d0 25 2c a4 6f 6e 28 7a 25 2c 32 29 2c a4 6f 6e 28 |%,.on(z%,2),.on(| 000099e0 7a 25 2c 33 29 2c a4 6f 6e 28 7a 25 2c 34 29 2c |z%,3),.on(z%,4),| 000099f0 a4 6f 6e 28 7a 25 2c 35 29 0d 2b ac 2e f1 23 66 |.on(z%,5).+...#f| 00009a00 25 2c a4 77 68 69 63 68 28 7a 25 2c 39 2c 31 30 |%,.which(z%,9,10| 00009a10 29 2d 39 2c a4 77 68 69 63 68 28 7a 25 2c 31 33 |)-9,.which(z%,13| 00009a20 2c 31 34 29 2d 31 33 0d 2b b6 32 e3 20 49 25 3d |,14)-13.+.2. I%=| 00009a30 31 39 20 b8 20 32 37 3a f1 23 66 25 2c a4 6f 6e |19 . 27:.#f%,.on| 00009a40 28 7a 25 2c 49 25 29 3a ed 3a f1 23 66 25 2c a4 |(z%,I%):.:.#f%,.| 00009a50 6f 6e 28 7a 25 2c 33 30 29 0d 2b c0 3f f1 23 66 |on(z%,30).+.?.#f| 00009a60 25 2c a4 77 68 69 63 68 28 7a 25 2c 33 35 2c 33 |%,.which(z%,35,3| 00009a70 36 29 2d 33 35 2c a4 6f 6e 28 7a 25 2c 33 37 29 |6)-35,.on(z%,37)| 00009a80 2c a4 76 61 6c 28 7a 25 2c 33 39 29 2c a4 76 61 |,.val(z%,39),.va| 00009a90 6c 28 7a 25 2c 34 33 29 0d 2b ca 3b f1 23 66 25 |l(z%,43).+.;.#f%| 00009aa0 2c a4 77 68 69 63 68 28 7a 25 2c 34 38 2c 34 39 |,.which(z%,48,49| 00009ab0 29 2d 34 38 2c a4 77 68 69 63 68 28 7a 25 2c 35 |)-48,.which(z%,5| 00009ac0 32 2c 35 33 29 2d 35 32 2c a4 6f 6e 28 7a 25 2c |2,53)-52,.on(z%,| 00009ad0 35 34 29 0d 2b d4 22 f1 23 66 25 2c a4 6f 6e 28 |54).+.".#f%,.on(| 00009ae0 7a 25 2c 35 37 29 2c a4 62 67 5f 63 6f 6c 28 7a |z%,57),.bg_col(z| 00009af0 25 2c 35 38 29 0d 2b de 55 f1 23 66 25 2c a4 6f |%,58).+.U.#f%,.o| 00009b00 6e 28 7a 25 2c 36 33 29 2c a4 69 6e 28 7a 25 2c |n(z%,63),.in(z%,| 00009b10 36 35 29 2c a4 6f 6e 28 7a 25 2c 36 38 29 2c a4 |65),.on(z%,68),.| 00009b20 6f 6e 28 7a 25 2c 36 39 29 2c a4 6f 6e 28 7a 25 |on(z%,69),.on(z%| 00009b30 2c 37 32 29 2c a4 69 6e 28 7a 25 2c 37 33 29 2c |,72),.in(z%,73),| 00009b40 a4 6f 6e 28 7a 25 2c 37 34 29 0d 2b e8 1b d9 23 |.on(z%,74).+...#| 00009b50 66 25 3a c8 99 20 22 48 6f 75 72 67 6c 61 73 73 |f%:.. "Hourglass| 00009b60 5f 4f 66 66 22 0d 2b f2 05 e1 0d 2b fc 05 3a 0d |_Off".+....+..:.| 00009b70 2c 06 22 dd f2 72 65 6d 65 6d 62 65 72 5f 70 72 |,."..remember_pr| 00009b80 65 66 73 3a 7a 25 3d 70 72 65 66 5f 70 61 6e 65 |efs:z%=pref_pane| 00009b90 25 0d 2c 10 33 41 3d a4 6f 6e 28 7a 25 2c 32 29 |%.,.3A=.on(z%,2)| 00009ba0 3a 42 3d a4 6f 6e 28 7a 25 2c 33 29 3a 43 3d a4 |:B=.on(z%,3):C=.| 00009bb0 6f 6e 28 7a 25 2c 34 29 3a 44 3d a4 6f 6e 28 7a |on(z%,4):D=.on(z| 00009bc0 25 2c 35 29 0d 2c 1a 2d 45 3d a4 77 68 69 63 68 |%,5).,.-E=.which| 00009bd0 28 7a 25 2c 39 2c 31 30 29 2d 39 3a 46 3d a4 77 |(z%,9,10)-9:F=.w| 00009be0 68 69 63 68 28 7a 25 2c 31 33 2c 31 34 29 2d 31 |hich(z%,13,14)-1| 00009bf0 33 0d 2c 24 85 47 3d a4 6f 6e 28 7a 25 2c 31 39 |3.,$.G=.on(z%,19| 00009c00 29 3a 48 3d a4 6f 6e 28 7a 25 2c 32 30 29 3a 49 |):H=.on(z%,20):I| 00009c10 3d a4 6f 6e 28 7a 25 2c 32 31 29 3a 4a 3d a4 6f |=.on(z%,21):J=.o| 00009c20 6e 28 7a 25 2c 32 32 29 3a 4b 3d a4 6f 6e 28 7a |n(z%,22):K=.on(z| 00009c30 25 2c 32 33 29 3a 4c 3d a4 6f 6e 28 7a 25 2c 32 |%,23):L=.on(z%,2| 00009c40 34 29 3a 4d 3d a4 6f 6e 28 7a 25 2c 32 35 29 3a |4):M=.on(z%,25):| 00009c50 4e 3d a4 6f 6e 28 7a 25 2c 32 36 29 3a 4f 3d a4 |N=.on(z%,26):O=.| 00009c60 6f 6e 28 7a 25 2c 32 37 29 3a 50 3d a4 6f 6e 28 |on(z%,27):P=.on(| 00009c70 7a 25 2c 33 30 29 0d 2c 2e 42 51 3d a4 77 68 69 |z%,30).,.BQ=.whi| 00009c80 63 68 28 7a 25 2c 33 35 2c 33 36 29 2d 33 35 3a |ch(z%,35,36)-35:| 00009c90 52 3d a4 6f 6e 28 7a 25 2c 33 37 29 3a 53 3d a4 |R=.on(z%,37):S=.| 00009ca0 76 61 6c 28 7a 25 2c 33 39 29 3a 54 3d a4 76 61 |val(z%,39):T=.va| 00009cb0 6c 28 7a 25 2c 34 33 29 0d 2c 38 3c 55 3d a4 77 |l(z%,43).,8<U=.w| 00009cc0 68 69 63 68 28 7a 25 2c 34 38 2c 34 39 29 2d 34 |hich(z%,48,49)-4| 00009cd0 38 3a 56 3d a4 77 68 69 63 68 28 7a 25 2c 35 32 |8:V=.which(z%,52| 00009ce0 2c 35 33 29 2d 35 32 3a 57 3d a4 6f 6e 28 7a 25 |,53)-52:W=.on(z%| 00009cf0 2c 35 34 29 0d 2c 42 3d 58 3d a4 6f 6e 28 7a 25 |,54).,B=X=.on(z%| 00009d00 2c 35 37 29 3a 59 3d a4 62 67 5f 63 6f 6c 28 7a |,57):Y=.bg_col(z| 00009d10 25 2c 35 38 29 3a 5a 3d a4 6f 6e 28 7a 25 2c 36 |%,58):Z=.on(z%,6| 00009d20 33 29 3a 41 41 24 3d a4 69 6e 28 7a 25 2c 36 35 |3):AA$=.in(z%,65| 00009d30 29 0d 2c 4c 4a 5a 31 3d a4 6f 6e 28 7a 25 2c 36 |).,LJZ1=.on(z%,6| 00009d40 38 29 3a 5a 32 3d a4 6f 6e 28 7a 25 2c 36 39 29 |8):Z2=.on(z%,69)| 00009d50 3a 5a 33 3d a4 6f 6e 28 7a 25 2c 37 32 29 3a 42 |:Z3=.on(z%,72):B| 00009d60 42 24 3d a4 69 6e 28 7a 25 2c 37 33 29 3a 5a 34 |B$=.in(z%,73):Z4| 00009d70 3d a4 6f 6e 28 7a 25 2c 37 34 29 0d 2c 56 05 e1 |=.on(z%,74).,V..| 00009d80 0d 2c 60 05 3a 0d 2c 6a 12 dd f2 63 61 6e 63 65 |.,`.:.,j...cance| 00009d90 6c 5f 70 72 65 66 73 0d 2c 74 57 f2 73 65 74 5f |l_prefs.,tW.set_| 00009da0 70 72 65 66 73 28 41 2c 42 2c 43 2c 44 2c 45 2c |prefs(A,B,C,D,E,| 00009db0 46 2c 47 2c 48 2c 49 2c 4a 2c 4b 2c 4c 2c 4d 2c |F,G,H,I,J,K,L,M,| 00009dc0 4e 2c 4f 2c 50 2c 51 2c 52 2c 53 2c 54 2c 55 2c |N,O,P,Q,R,S,T,U,| 00009dd0 56 2c 57 2c 58 2c 59 2c 5a 2c 41 41 24 2c 5a 31 |V,W,X,Y,Z,AA$,Z1| 00009de0 2c 5a 32 2c 5a 33 2c 42 42 24 2c 5a 34 29 0d 2c |,Z2,Z3,BB$,Z4).,| 00009df0 7e 05 e1 0d 2c 88 05 3a 0d 2c 92 56 dd f2 73 65 |~...,..:.,.V..se| 00009e00 74 5f 70 72 65 66 73 28 61 2c 62 2c 63 2c 64 2c |t_prefs(a,b,c,d,| 00009e10 65 2c 66 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c 6c 2c |e,f,g,h,i,j,k,l,| 00009e20 6d 2c 6e 2c 6f 2c 70 2c 71 2c 72 2c 73 2c 74 2c |m,n,o,p,q,r,s,t,| 00009e30 75 2c 76 2c 77 2c 78 2c 79 2c 7a 2c 61 24 2c 7a |u,v,w,x,y,z,a$,z| 00009e40 31 2c 7a 32 2c 7a 33 2c 62 24 2c 7a 34 29 0d 2c |1,z2,z3,b$,z4).,| 00009e50 9c 11 7a 25 3d 70 72 65 66 5f 70 61 6e 65 25 0d |..z%=pref_pane%.| 00009e60 2c a6 3f c8 99 20 22 57 69 6d 70 45 78 74 5f 53 |,.?.. "WimpExt_S| 00009e70 65 74 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 32 2c 61 |etIcon",,,z%,2,a| 00009e80 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 |:.. "WimpExt_Set| 00009e90 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 33 2c 62 0d 2c |Icon",,,z%,3,b.,| 00009ea0 b0 3f c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 |.?.. "WimpExt_Se| 00009eb0 74 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 34 2c 63 3a |tIcon",,,z%,4,c:| 00009ec0 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 |.. "WimpExt_SetI| 00009ed0 63 6f 6e 22 2c 2c 2c 7a 25 2c 35 2c 64 0d 2c ba |con",,,z%,5,d.,.| 00009ee0 2d f2 72 61 64 69 6f 28 7a 25 2c 39 2c 31 30 2c |-.radio(z%,9,10,| 00009ef0 65 2b 39 29 3a f2 72 61 64 69 6f 28 7a 25 2c 31 |e+9):.radio(z%,1| 00009f00 33 2c 31 34 2c 66 2b 31 33 29 0d 2c c4 41 c8 99 |3,14,f+13).,.A..| 00009f10 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f | "WimpExt_SetIco| 00009f20 6e 22 2c 2c 2c 7a 25 2c 31 39 2c 67 3a c8 99 20 |n",,,z%,19,g:.. | 00009f30 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e |"WimpExt_SetIcon| 00009f40 22 2c 2c 2c 7a 25 2c 32 30 2c 68 0d 2c ce 41 c8 |",,,z%,20,h.,.A.| 00009f50 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 |. "WimpExt_SetIc| 00009f60 6f 6e 22 2c 2c 2c 7a 25 2c 32 31 2c 69 3a c8 99 |on",,,z%,21,i:..| 00009f70 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f | "WimpExt_SetIco| 00009f80 6e 22 2c 2c 2c 7a 25 2c 32 32 2c 6a 0d 2c d8 41 |n",,,z%,22,j.,.A| 00009f90 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 |.. "WimpExt_SetI| 00009fa0 63 6f 6e 22 2c 2c 2c 7a 25 2c 32 33 2c 6b 3a c8 |con",,,z%,23,k:.| 00009fb0 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 |. "WimpExt_SetIc| 00009fc0 6f 6e 22 2c 2c 2c 7a 25 2c 32 34 2c 6c 0d 2c e2 |on",,,z%,24,l.,.| 00009fd0 41 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 |A.. "WimpExt_Set| 00009fe0 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 32 35 2c 6d 3a |Icon",,,z%,25,m:| 00009ff0 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 |.. "WimpExt_SetI| 0000a000 63 6f 6e 22 2c 2c 2c 7a 25 2c 32 36 2c 6e 0d 2c |con",,,z%,26,n.,| 0000a010 ec 41 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 |.A.. "WimpExt_Se| 0000a020 74 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 32 37 2c 6f |tIcon",,,z%,27,o| 0000a030 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 |:.. "WimpExt_Set| 0000a040 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 33 30 2c 70 0d |Icon",,,z%,30,p.| 0000a050 2c f6 19 f2 72 61 64 69 6f 28 7a 25 2c 33 35 2c |,...radio(z%,35,| 0000a060 33 36 2c 71 2b 33 35 29 0d 2d 00 22 c8 99 20 22 |36,q+35).-.".. "| 0000a070 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 22 |WimpExt_SetIcon"| 0000a080 2c 2c 2c 7a 25 2c 33 37 2c 72 0d 2d 0a 4d c8 99 |,,,z%,37,r.-.M..| 0000a090 20 22 57 69 6d 70 45 78 74 5f 53 65 74 4e 75 6d | "WimpExt_SetNum| 0000a0a0 62 65 72 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 33 39 |berIcon",,,z%,39| 0000a0b0 2c 73 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 |,s:.. "WimpExt_S| 0000a0c0 65 74 4e 75 6d 62 65 72 49 63 6f 6e 22 2c 2c 2c |etNumberIcon",,,| 0000a0d0 7a 25 2c 34 33 2c 74 0d 2d 14 2f f2 72 61 64 69 |z%,43,t.-./.radi| 0000a0e0 6f 28 7a 25 2c 34 38 2c 34 39 2c 75 2b 34 38 29 |o(z%,48,49,u+48)| 0000a0f0 3a f2 72 61 64 69 6f 28 7a 25 2c 35 32 2c 35 33 |:.radio(z%,52,53| 0000a100 2c 76 2b 35 32 29 0d 2d 1e 41 c8 99 20 22 57 69 |,v+52).-.A.. "Wi| 0000a110 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 22 2c 2c |mpExt_SetIcon",,| 0000a120 2c 7a 25 2c 35 34 2c 77 3a c8 99 20 22 57 69 6d |,z%,54,w:.. "Wim| 0000a130 70 45 78 74 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c |pExt_SetIcon",,,| 0000a140 7a 25 2c 35 37 2c 78 0d 2d 28 4a c8 99 20 22 57 |z%,57,x.-(J.. "W| 0000a150 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 43 6f |impExt_SetIconCo| 0000a160 6c 6f 75 72 22 2c 2c 2c 7a 25 2c 35 38 2c 2d 31 |lour",,,z%,58,-1| 0000a170 2c 79 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 |,y:.. "WimpExt_S| 0000a180 65 74 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 36 33 2c |etIcon",,,z%,63,| 0000a190 7a 0d 2d 32 29 c8 99 20 22 57 69 6d 70 45 78 74 |z.-2).. "WimpExt| 0000a1a0 5f 53 65 74 49 63 6f 6e 53 74 72 69 6e 67 22 2c |_SetIconString",| 0000a1b0 2c 2c 7a 25 2c 36 35 2c 61 24 0d 2d 3c 43 c8 99 |,,z%,65,a$.-<C..| 0000a1c0 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f | "WimpExt_SetIco| 0000a1d0 6e 22 2c 2c 2c 7a 25 2c 36 38 2c 7a 31 3a c8 99 |n",,,z%,68,z1:..| 0000a1e0 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f | "WimpExt_SetIco| 0000a1f0 6e 22 2c 2c 2c 7a 25 2c 36 39 2c 7a 32 0d 2d 46 |n",,,z%,69,z2.-F| 0000a200 49 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 |I.. "WimpExt_Set| 0000a210 49 63 6f 6e 22 2c 2c 2c 7a 25 2c 37 32 2c 7a 33 |Icon",,,z%,72,z3| 0000a220 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 |:.. "WimpExt_Set| 0000a230 49 63 6f 6e 53 74 72 69 6e 67 22 2c 2c 2c 7a 25 |IconString",,,z%| 0000a240 2c 37 33 2c 62 24 0d 2d 50 23 c8 99 20 22 57 69 |,73,b$.-P#.. "Wi| 0000a250 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 22 2c 2c |mpExt_SetIcon",,| 0000a260 2c 7a 25 2c 37 34 2c 7a 34 0d 2d 5a 19 f2 73 6f |,z%,74,z4.-Z..so| 0000a270 72 74 5f 70 72 65 66 73 3a f2 6f 6b 5f 70 72 65 |rt_prefs:.ok_pre| 0000a280 66 73 0d 2d 64 05 e1 0d 2d 6e 05 3a 0d 2d 78 0e |fs.-d...-n.:.-x.| 0000a290 dd f2 6f 6b 5f 70 72 65 66 73 0d 2d 82 46 70 66 |..ok_prefs.-.Fpf| 0000a2a0 5f 63 6f 6e 66 69 72 6d 25 3d a4 6f 6e 28 7a 25 |_confirm%=.on(z%| 0000a2b0 2c 32 29 20 84 20 a4 6f 6e 28 7a 25 2c 33 29 3c |,2) . .on(z%,3)<| 0000a2c0 3c 31 20 84 20 a4 6f 6e 28 7a 25 2c 34 29 3c 3c |<1 . .on(z%,4)<<| 0000a2d0 32 20 84 20 a4 6f 6e 28 7a 25 2c 35 29 3c 3c 33 |2 . .on(z%,5)<<3| 0000a2e0 0d 2d 8c 3b 70 66 5f 6d 65 72 67 65 25 3d a4 77 |.-.;pf_merge%=.w| 0000a2f0 68 69 63 68 28 7a 25 2c 39 2c 31 30 29 2d 39 3a |hich(z%,9,10)-9:| 0000a300 70 66 5f 61 64 64 25 3d a4 77 68 69 63 68 28 7a |pf_add%=.which(z| 0000a310 25 2c 31 33 2c 31 34 29 2d 31 33 0d 2d 96 5b c8 |%,13,14)-13.-.[.| 0000a320 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 |. "WimpExt_SetIc| 0000a330 6f 6e 22 2c 2c 2c 73 65 61 72 63 68 25 2c 37 2c |on",,,search%,7,| 0000a340 a4 6f 6e 28 7a 25 2c 31 39 29 3a c8 99 20 22 57 |.on(z%,19):.. "W| 0000a350 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 22 2c |impExt_SetIcon",| 0000a360 2c 2c 73 65 61 72 63 68 25 2c 38 2c a4 6f 6e 28 |,,search%,8,.on(| 0000a370 7a 25 2c 32 30 29 0d 2d a0 5c c8 99 20 22 57 69 |z%,20).-.\.. "Wi| 0000a380 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 22 2c 2c |mpExt_SetIcon",,| 0000a390 2c 73 65 61 72 63 68 25 2c 39 2c a4 6f 6e 28 7a |,search%,9,.on(z| 0000a3a0 25 2c 32 31 29 3a c8 99 20 22 57 69 6d 70 45 78 |%,21):.. "WimpEx| 0000a3b0 74 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c 73 65 61 |t_SetIcon",,,sea| 0000a3c0 72 63 68 25 2c 31 30 2c a4 6f 6e 28 7a 25 2c 32 |rch%,10,.on(z%,2| 0000a3d0 32 29 0d 2d aa 5d c8 99 20 22 57 69 6d 70 45 78 |2).-.].. "WimpEx| 0000a3e0 74 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c 73 65 61 |t_SetIcon",,,sea| 0000a3f0 72 63 68 25 2c 31 31 2c a4 6f 6e 28 7a 25 2c 32 |rch%,11,.on(z%,2| 0000a400 33 29 3a c8 99 20 22 57 69 6d 70 45 78 74 5f 53 |3):.. "WimpExt_S| 0000a410 65 74 49 63 6f 6e 22 2c 2c 2c 73 65 61 72 63 68 |etIcon",,,search| 0000a420 25 2c 31 32 2c a4 6f 6e 28 7a 25 2c 32 34 29 0d |%,12,.on(z%,24).| 0000a430 2d b4 5d c8 99 20 22 57 69 6d 70 45 78 74 5f 53 |-.].. "WimpExt_S| 0000a440 65 74 49 63 6f 6e 22 2c 2c 2c 73 65 61 72 63 68 |etIcon",,,search| 0000a450 25 2c 31 33 2c a4 6f 6e 28 7a 25 2c 32 35 29 3a |%,13,.on(z%,25):| 0000a460 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 |.. "WimpExt_SetI| 0000a470 63 6f 6e 22 2c 2c 2c 73 65 61 72 63 68 25 2c 31 |con",,,search%,1| 0000a480 34 2c a4 6f 6e 28 7a 25 2c 32 36 29 0d 2d be 5d |4,.on(z%,26).-.]| 0000a490 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 74 49 |.. "WimpExt_SetI| 0000a4a0 63 6f 6e 22 2c 2c 2c 73 65 61 72 63 68 25 2c 31 |con",,,search%,1| 0000a4b0 35 2c a4 6f 6e 28 7a 25 2c 32 37 29 3a c8 99 20 |5,.on(z%,27):.. | 0000a4c0 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e |"WimpExt_SetIcon| 0000a4d0 22 2c 2c 2c 73 65 61 72 63 68 25 2c 31 36 2c a4 |",,,search%,16,.| 0000a4e0 6f 6e 28 7a 25 2c 33 30 29 0d 2d c8 39 c8 99 20 |on(z%,30).-.9.. | 0000a4f0 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e |"WimpExt_SetIcon| 0000a500 22 2c 2c 2c 73 61 76 65 5f 61 73 25 2c 33 2c a4 |",,,save_as%,3,.| 0000a510 77 68 69 63 68 28 7a 25 2c 33 35 2c 33 36 29 2d |which(z%,35,36)-| 0000a520 33 35 0d 2d d2 30 c8 99 20 22 57 69 6d 70 45 78 |35.-.0.. "WimpEx| 0000a530 74 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c 73 61 76 |t_SetIcon",,,sav| 0000a540 65 5f 61 73 25 2c 34 2c a4 6f 6e 28 7a 25 2c 33 |e_as%,4,.on(z%,3| 0000a550 37 29 0d 2d dc 35 c8 99 20 22 57 69 6d 70 45 78 |7).-.5.. "WimpEx| 0000a560 74 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c 73 61 76 |t_SetIcon",,,sav| 0000a570 65 5f 61 73 25 2c 31 2c a4 6f 6e 28 73 61 76 65 |e_as%,1,.on(save| 0000a580 5f 61 73 25 2c 33 29 0d 2d e6 37 c8 99 20 22 57 |_as%,3).-.7.. "W| 0000a590 69 6d 70 45 78 74 5f 53 65 74 4e 75 6d 62 65 72 |impExt_SetNumber| 0000a5a0 49 63 6f 6e 22 2c 2c 2c 73 61 76 65 5f 61 73 25 |Icon",,,save_as%| 0000a5b0 2c 36 2c a4 76 61 6c 28 7a 25 2c 33 39 29 0d 2d |,6,.val(z%,39).-| 0000a5c0 f0 38 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 65 |.8.. "WimpExt_Se| 0000a5d0 74 4e 75 6d 62 65 72 49 63 6f 6e 22 2c 2c 2c 73 |tNumberIcon",,,s| 0000a5e0 61 76 65 5f 61 73 25 2c 31 30 2c a4 76 61 6c 28 |ave_as%,10,.val(| 0000a5f0 7a 25 2c 34 33 29 0d 2d fa 3a c8 99 20 22 57 69 |z%,43).-.:.. "Wi| 0000a600 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 22 2c 2c |mpExt_SetIcon",,| 0000a610 2c 73 61 76 65 5f 61 73 31 25 2c 33 2c a4 77 68 |,save_as1%,3,.wh| 0000a620 69 63 68 28 7a 25 2c 34 38 2c 34 39 29 2d 34 38 |ich(z%,48,49)-48| 0000a630 0d 2e 04 37 c8 99 20 22 57 69 6d 70 45 78 74 5f |...7.. "WimpExt_| 0000a640 53 65 74 49 63 6f 6e 22 2c 2c 2c 73 61 76 65 5f |SetIcon",,,save_| 0000a650 61 73 31 25 2c 31 2c a4 6f 6e 28 73 61 76 65 5f |as1%,1,.on(save_| 0000a660 61 73 31 25 2c 33 29 0d 2e 0e 3a c8 99 20 22 57 |as1%,3)...:.. "W| 0000a670 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 22 2c |impExt_SetIcon",| 0000a680 2c 2c 73 61 76 65 5f 61 73 32 25 2c 33 2c a4 77 |,,save_as2%,3,.w| 0000a690 68 69 63 68 28 7a 25 2c 35 32 2c 35 33 29 2d 35 |hich(z%,52,53)-5| 0000a6a0 32 0d 2e 18 31 c8 99 20 22 57 69 6d 70 45 78 74 |2...1.. "WimpExt| 0000a6b0 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c 73 61 76 65 |_SetIcon",,,save| 0000a6c0 5f 61 73 32 25 2c 34 2c a4 6f 6e 28 7a 25 2c 35 |_as2%,4,.on(z%,5| 0000a6d0 34 29 0d 2e 22 37 c8 99 20 22 57 69 6d 70 45 78 |4).."7.. "WimpEx| 0000a6e0 74 5f 53 65 74 49 63 6f 6e 22 2c 2c 2c 73 61 76 |t_SetIcon",,,sav| 0000a6f0 65 5f 61 73 32 25 2c 31 2c a4 6f 6e 28 73 61 76 |e_as2%,1,.on(sav| 0000a700 65 5f 61 73 32 25 2c 33 29 0d 2e 2c 31 c8 99 20 |e_as2%,3)..,1.. | 0000a710 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e |"WimpExt_SetIcon| 0000a720 22 2c 2c 2c 73 61 76 65 5f 61 73 32 25 2c 35 2c |",,,save_as2%,5,| 0000a730 a4 6f 6e 28 7a 25 2c 37 34 29 0d 2e 36 39 e7 20 |.on(z%,74)..69. | 0000a740 a4 6f 6e 28 7a 25 2c 35 37 29 20 70 66 5f 63 6f |.on(z%,57) pf_co| 0000a750 6c 6f 75 72 25 3d a4 62 67 5f 63 6f 6c 28 7a 25 |lour%=.bg_col(z%| 0000a760 2c 35 38 29 20 8b 20 70 66 5f 63 6f 6c 6f 75 72 |,58) . pf_colour| 0000a770 25 3d 37 0d 2e 40 5a 6f 70 31 25 3d 70 61 6e 65 |%=7..@Zop1%=pane| 0000a780 5f 31 25 3a 6f 70 32 25 3d 70 61 6e 65 5f 32 25 |_1%:op2%=pane_2%| 0000a790 3a 63 6f 75 6e 74 72 79 25 3d a4 6f 6e 28 70 72 |:country%=.on(pr| 0000a7a0 65 66 5f 70 61 6e 65 25 2c 37 32 29 3a 63 6f 75 |ef_pane%,72):cou| 0000a7b0 6e 74 72 79 24 3d c0 a4 69 6e 28 70 72 65 66 5f |ntry$=..in(pref_| 0000a7c0 70 61 6e 65 25 2c 37 33 29 2c 33 31 29 0d 2e 4a |pane%,73),31)..J| 0000a7d0 29 70 61 6e 65 5f 31 25 3d a4 6f 6e 28 7a 25 2c |)pane_1%=.on(z%,| 0000a7e0 36 38 29 3a 70 61 6e 65 5f 32 25 3d a4 6f 6e 28 |68):pane_2%=.on(| 0000a7f0 7a 25 2c 36 39 29 0d 2e 54 18 e7 20 a4 6f 6e 28 |z%,69)..T.. .on(| 0000a800 7a 25 2c 36 38 29 3c 3e 6f 70 31 25 20 8c 0d 2e |z%,68)<>op1% ...| 0000a810 5e 81 20 20 e7 20 a4 6f 6e 28 7a 25 2c 36 38 29 |^. . .on(z%,68)| 0000a820 20 c8 99 20 22 57 69 6d 70 45 78 74 5f 55 6e 48 | .. "WimpExt_UnH| 0000a830 69 64 65 4c 69 6e 6b 22 2c 62 6f 6f 6b 25 2c 2c |ideLink",book%,,| 0000a840 74 6f 6f 6c 73 25 3a f2 6f 70 65 6e 28 62 6f 6f |tools%:.open(boo| 0000a850 6b 25 29 20 8b 20 c8 99 20 22 57 69 6d 70 45 78 |k%) . .. "WimpEx| 0000a860 74 5f 48 69 64 65 4c 69 6e 6b 22 2c 62 6f 6f 6b |t_HideLink",book| 0000a870 25 2c 2c 74 6f 6f 6c 73 25 3a f2 63 6c 6f 73 65 |%,,tools%:.close| 0000a880 5f 77 69 6e 64 6f 77 28 74 6f 6f 6c 73 25 29 0d |_window(tools%).| 0000a890 2e 68 05 cd 0d 2e 72 18 e7 20 a4 6f 6e 28 7a 25 |.h....r.. .on(z%| 0000a8a0 2c 36 39 29 3c 3e 6f 70 32 25 20 8c 0d 2e 7c 35 |,69)<>op2% ...|5| 0000a8b0 20 20 e7 20 a4 6f 6e 28 7a 25 2c 36 39 29 20 f2 | . .on(z%,69) .| 0000a8c0 6f 70 65 6e 28 62 6f 6f 6b 25 29 20 8b 20 f2 63 |open(book%) . .c| 0000a8d0 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 70 6f 73 25 |lose_window(pos%| 0000a8e0 29 0d 2e 86 05 cd 0d 2e 90 26 e7 20 a4 6f 70 65 |)........&. .ope| 0000a8f0 6e 28 6c 69 73 74 25 29 20 f2 72 65 64 72 61 77 |n(list%) .redraw| 0000a900 28 6c 69 73 74 5f 70 61 6e 65 25 29 0d 2e 9a 46 |(list_pane%)...F| 0000a910 f2 6f 70 65 6e 5f 61 74 28 73 61 76 65 5f 61 73 |.open_at(save_as| 0000a920 25 2c 31 30 30 30 30 30 2c 31 30 30 30 30 30 29 |%,100000,100000)| 0000a930 3a f2 6f 70 65 6e 5f 61 74 28 73 61 76 65 5f 61 |:.open_at(save_a| 0000a940 73 32 25 2c 31 30 30 30 30 30 2c 31 30 30 30 30 |s2%,100000,10000| 0000a950 30 29 0d 2e a4 1a f2 73 61 76 65 5f 73 69 7a 65 |0).....save_size| 0000a960 3a f2 73 61 76 65 32 5f 73 69 7a 65 0d 2e ae 34 |:.save2_size...4| 0000a970 f2 63 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 73 61 |.close_window(sa| 0000a980 76 65 5f 61 73 25 29 3a f2 63 6c 6f 73 65 5f 77 |ve_as%):.close_w| 0000a990 69 6e 64 6f 77 28 73 61 76 65 5f 61 73 32 25 29 |indow(save_as2%)| 0000a9a0 0d 2e b8 05 e1 0d 2e c2 05 3a 0d 2e cc 10 dd f2 |.........:......| 0000a9b0 73 6f 72 74 5f 70 72 65 66 73 0d 2e d6 1e 6f 6e |sort_prefs....on| 0000a9c0 25 3d a4 6f 6e 28 70 72 65 66 5f 70 61 6e 65 25 |%=.on(pref_pane%| 0000a9d0 2c 33 37 29 20 82 20 31 0d 2e e0 44 e3 20 49 25 |,37) . 1...D. I%| 0000a9e0 3d 33 39 20 b8 20 34 35 3a e7 20 49 25 3c 3e 34 |=39 . 45:. I%<>4| 0000a9f0 32 20 c8 99 20 22 57 69 6d 70 45 78 74 5f 53 68 |2 .. "WimpExt_Sh| 0000aa00 61 64 65 49 63 6f 6e 22 2c 2c 2c 70 72 65 66 5f |adeIcon",,,pref_| 0000aa10 70 61 6e 65 25 2c 49 25 2c 6f 6e 25 0d 2e ea 05 |pane%,I%,on%....| 0000aa20 ed 0d 2e f4 49 c8 99 20 22 57 69 6d 70 45 78 74 |....I.. "WimpExt| 0000aa30 5f 53 68 61 64 65 49 63 6f 6e 22 2c 2c 2c 70 72 |_ShadeIcon",,,pr| 0000aa40 65 66 5f 70 61 6e 65 25 2c 35 34 2c 94 28 a4 77 |ef_pane%,54,.(.w| 0000aa50 68 69 63 68 28 70 72 65 66 5f 70 61 6e 65 25 2c |hich(pref_pane%,| 0000aa60 35 32 2c 35 33 29 3d 35 32 29 0d 2e fe 49 c8 99 |52,53)=52)...I..| 0000aa70 20 22 57 69 6d 70 45 78 74 5f 53 68 61 64 65 49 | "WimpExt_ShadeI| 0000aa80 63 6f 6e 22 2c 2c 2c 70 72 65 66 5f 70 61 6e 65 |con",,,pref_pane| 0000aa90 25 2c 37 34 2c 94 28 a4 77 68 69 63 68 28 70 72 |%,74,.(.which(pr| 0000aaa0 65 66 5f 70 61 6e 65 25 2c 35 32 2c 35 33 29 3d |ef_pane%,52,53)=| 0000aab0 35 32 29 0d 2f 08 50 e3 20 49 25 3d 35 38 20 b8 |52)./.P. I%=58 .| 0000aac0 20 35 39 3a c8 99 20 22 57 69 6d 70 45 78 74 5f | 59:.. "WimpExt_| 0000aad0 53 68 61 64 65 49 63 6f 6e 22 2c 2c 2c 70 72 65 |ShadeIcon",,,pre| 0000aae0 66 5f 70 61 6e 65 25 2c 49 25 2c a4 6f 6e 28 70 |f_pane%,I%,.on(p| 0000aaf0 72 65 66 5f 70 61 6e 65 25 2c 35 37 29 20 82 20 |ref_pane%,57) . | 0000ab00 31 3a ed 0d 2f 12 50 e3 20 49 25 3d 36 34 20 b8 |1:../.P. I%=64 .| 0000ab10 20 36 35 3a c8 99 20 22 57 69 6d 70 45 78 74 5f | 65:.. "WimpExt_| 0000ab20 53 68 61 64 65 49 63 6f 6e 22 2c 2c 2c 70 72 65 |ShadeIcon",,,pre| 0000ab30 66 5f 70 61 6e 65 25 2c 49 25 2c a4 6f 6e 28 70 |f_pane%,I%,.on(p| 0000ab40 72 65 66 5f 70 61 6e 65 25 2c 36 33 29 20 82 20 |ref_pane%,63) . | 0000ab50 31 3a ed 0d 2f 1c 41 c8 99 20 22 57 69 6d 70 45 |1:../.A.. "WimpE| 0000ab60 78 74 5f 53 68 61 64 65 49 63 6f 6e 22 2c 2c 2c |xt_ShadeIcon",,,| 0000ab70 70 72 65 66 5f 70 61 6e 65 25 2c 37 33 2c a4 6f |pref_pane%,73,.o| 0000ab80 6e 28 70 72 65 66 5f 70 61 6e 65 25 2c 37 32 29 |n(pref_pane%,72)| 0000ab90 20 82 20 31 0d 2f 26 05 e1 0d 2f 30 05 3a 0d 2f | . 1./&.../0.:./| 0000aba0 3a 26 dd f2 6c 6f 61 64 5f 70 72 65 66 73 28 6c |:&..load_prefs(l| 0000abb0 25 29 3a c8 99 20 22 48 6f 75 72 67 6c 61 73 73 |%):.. "Hourglass| 0000abc0 5f 4f 6e 22 0d 2f 44 1e 66 25 3d ad 20 22 3c 54 |_On"./D.f%=. "<T| 0000abd0 65 6c 41 64 64 72 24 44 69 72 3e 2e 50 72 65 66 |elAddr$Dir>.Pref| 0000abe0 73 22 0d 2f 4e 4e e8 23 66 25 2c 61 2c 62 2c 63 |s"./NN.#f%,a,b,c| 0000abf0 2c 64 2c 65 2c 66 2c 67 2c 68 2c 69 2c 6a 2c 6b |,d,e,f,g,h,i,j,k| 0000ac00 2c 6c 2c 6d 2c 6e 2c 6f 2c 70 2c 71 2c 72 2c 73 |,l,m,n,o,p,q,r,s| 0000ac10 2c 74 2c 75 2c 76 2c 77 2c 78 2c 79 2c 7a 2c 61 |,t,u,v,w,x,y,z,a| 0000ac20 24 2c 7a 31 2c 7a 32 2c 7a 33 2c 62 24 2c 7a 34 |$,z1,z2,z3,b$,z4| 0000ac30 0d 2f 58 1b d9 23 66 25 3a c8 99 20 22 48 6f 75 |./X..#f%:.. "Hou| 0000ac40 72 67 6c 61 73 73 5f 4f 66 66 22 0d 2f 62 55 f2 |rglass_Off"./bU.| 0000ac50 73 65 74 5f 70 72 65 66 73 28 61 2c 62 2c 63 2c |set_prefs(a,b,c,| 0000ac60 64 2c 65 2c 66 2c 67 2c 68 2c 69 2c 6a 2c 6b 2c |d,e,f,g,h,i,j,k,| 0000ac70 6c 2c 6d 2c 6e 2c 6f 2c 70 2c 71 2c 72 2c 73 2c |l,m,n,o,p,q,r,s,| 0000ac80 74 2c 75 2c 76 2c 77 2c 78 2c 79 2c 7a 2c 61 24 |t,u,v,w,x,y,z,a$| 0000ac90 2c 7a 31 2c 7a 32 2c 7a 33 2c 62 24 2c 7a 34 29 |,z1,z2,z3,b$,z4)| 0000aca0 0d 2f 6c 1e 6c 6f 61 64 25 3d 7a 3a e7 20 6c 6f |./l.load%=z:. lo| 0000acb0 61 64 25 20 8c 20 6c 6f 61 64 24 3d 61 24 0d 2f |ad% . load$=a$./| 0000acc0 76 05 e1 0d 2f 80 05 3a 0d 2f 8a 13 dd f2 64 65 |v.../..:./....de| 0000acd0 66 61 75 6c 74 5f 70 72 65 66 73 0d 2f 94 59 f2 |fault_prefs./.Y.| 0000ace0 73 65 74 5f 70 72 65 66 73 28 30 2c 31 2c 31 2c |set_prefs(0,1,1,| 0000acf0 31 2c 30 2c 31 2c 31 2c 31 2c 31 2c 31 2c 31 2c |1,0,1,1,1,1,1,1,| 0000ad00 31 2c 31 2c 31 2c 31 2c 30 2c 30 2c 30 2c 31 2c |1,1,1,1,0,0,0,1,| 0000ad10 31 2c 30 2c 31 2c 30 2c 31 2c 31 31 2c 30 2c 22 |1,0,1,0,1,11,0,"| 0000ad20 22 2c 31 2c 31 2c 30 2c 22 45 6e 67 6c 61 6e 64 |",1,1,0,"England| 0000ad30 22 2c 31 29 0d 2f 9e 05 e1 0d 2f a8 05 3a 0d 2f |",1)./..../..:./| 0000ad40 b2 35 dd a4 62 69 74 28 77 6f 72 64 25 2c 62 69 |.5..bit(word%,bi| 0000ad50 74 25 29 3a e7 20 28 77 6f 72 64 25 20 80 20 31 |t%):. (word% . 1| 0000ad60 3c 3c 62 69 74 25 29 3e 30 20 8c 20 3d 31 20 8b |<<bit%)>0 . =1 .| 0000ad70 20 3d 30 0d 2f bc 05 3a 0d 2f c6 15 dd f2 73 63 | =0./..:./....sc| 0000ad80 72 6f 6c 6c 5f 74 6f 70 28 21 62 25 29 0d 2f d0 |roll_top(!b%)./.| 0000ad90 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e | .. "Wimp_GetWin| 0000ada0 64 6f 77 53 74 61 74 65 22 2c 2c 62 25 0d 2f da |dowState",,b%./.| 0000adb0 17 78 25 3d 31 30 30 30 30 30 3a 79 25 3d 31 30 |.x%=100000:y%=10| 0000adc0 30 30 30 30 0d 2f e4 4f 62 25 21 32 34 3d 30 3a |0000./.Ob%!24=0:| 0000add0 77 25 3d 62 25 21 31 32 2d 62 25 21 34 3a 68 25 |w%=b%!12-b%!4:h%| 0000ade0 3d 62 25 21 31 36 2d 62 25 21 38 3a 62 25 21 34 |=b%!16-b%!8:b%!4| 0000adf0 3d 78 25 3a 62 25 21 38 3d 79 25 2d 68 25 3a 62 |=x%:b%!8=y%-h%:b| 0000ae00 25 21 31 32 3d 78 25 2b 77 25 3a 62 25 21 31 36 |%!12=x%+w%:b%!16| 0000ae10 3d 79 25 0d 2f ee 1c c8 99 20 22 57 69 6d 70 5f |=y%./.... "Wimp_| 0000ae20 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 25 0d |OpenWindow",,b%.| 0000ae30 2f f8 1d c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 |/.... "Wimp_Clos| 0000ae40 65 57 69 6e 64 6f 77 22 2c 2c 62 25 0d 30 02 05 |eWindow",,b%.0..| 0000ae50 e1 0d 30 0c 05 3a 0d 30 16 0f dd f2 72 61 6d 5f |..0..:.0....ram_| 0000ae60 66 65 74 63 68 0d 30 20 13 c8 8e 20 73 61 76 65 |fetch.0 ... save| 0000ae70 5f 74 79 70 65 25 20 ca 0d 30 2a 29 20 20 c9 20 |_type% ..0*) . | 0000ae80 31 3a 77 25 3d 73 61 76 65 5f 61 73 25 3a 66 69 |1:w%=save_as%:fi| 0000ae90 6c 65 5f 6c 65 6e 25 3d a4 66 69 6c 65 5f 6c 65 |le_len%=.file_le| 0000aea0 6e 0d 30 34 92 20 20 c9 20 32 3a 77 25 3d 73 61 |n.04. . 2:w%=sa| 0000aeb0 76 65 5f 61 73 31 25 3a 66 69 6c 65 5f 6c 65 6e |ve_as1%:file_len| 0000aec0 25 3d 30 3a 6f 6c 64 5f 41 25 3d 2d 31 3a e3 20 |%=0:old_A%=-1:. | 0000aed0 49 25 3d 30 20 b8 20 73 65 61 72 63 68 5f 6c 65 |I%=0 . search_le| 0000aee0 6e 25 3a 41 25 3d 74 61 62 25 2b 28 28 74 61 62 |n%:A%=tab%+((tab| 0000aef0 6c 65 25 21 28 49 25 2a 31 32 29 29 2a 72 65 63 |le%!(I%*12))*rec| 0000af00 5f 6c 65 6e 25 29 3a e7 20 41 25 3c 3e 6f 6c 64 |_len%):. A%<>old| 0000af10 5f 41 25 20 42 25 3d 31 31 3a 66 69 6c 65 5f 6c |_A% B%=11:file_l| 0000af20 65 6e 25 2b 3d ba 28 66 69 6c 65 5f 6c 65 6e 67 |en%+=.(file_leng| 0000af30 74 68 29 0d 30 3e 13 20 20 20 20 6f 6c 64 5f 41 |th).0>. old_A| 0000af40 25 3d 41 25 3a ed 0d 30 48 50 20 20 c9 20 33 3a |%=A%:..0HP . 3:| 0000af50 77 25 3d 73 61 76 65 5f 61 73 32 25 3a 41 25 3d |w%=save_as2%:A%=| 0000af60 74 61 62 25 2b 28 72 65 63 6f 72 64 25 2a 72 65 |tab%+(record%*re| 0000af70 63 5f 6c 65 6e 25 29 3a 42 25 3d 31 31 3a 66 69 |c_len%):B%=11:fi| 0000af80 6c 65 5f 6c 65 6e 25 3d ba 28 66 69 6c 65 5f 6c |le_len%=.(file_l| 0000af90 65 6e 67 74 68 29 0d 30 52 05 cb 0d 30 5c 28 c8 |ength).0R...0\(.| 0000afa0 99 20 22 57 69 6d 70 45 78 74 5f 47 65 74 49 63 |. "WimpExt_GetIc| 0000afb0 6f 6e 22 2c 2c 2c 77 25 2c 33 20 b8 20 61 73 63 |on",,,w%,3 . asc| 0000afc0 69 69 25 0d 30 66 cb e7 20 62 25 21 32 34 3c 66 |ii%.0f.. b%!24<f| 0000afd0 69 6c 65 5f 6c 65 6e 25 20 72 65 71 25 3d 30 3a |ile_len% req%=0:| 0000afe0 c8 99 20 22 57 69 6d 70 45 78 74 5f 4f 70 65 6e |.. "WimpExt_Open| 0000aff0 52 65 71 75 65 73 74 65 72 22 2c 2c 2c 22 57 61 |Requester",,,"Wa| 0000b000 72 6e 69 6e 67 20 66 72 6f 6d 20 54 65 6c 41 64 |rning from TelAd| 0000b010 64 72 22 2c 22 42 75 66 66 65 72 20 70 61 73 73 |dr","Buffer pass| 0000b020 65 64 20 66 72 6f 6d 20 64 65 73 74 69 6e 61 74 |ed from destinat| 0000b030 69 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |ion application | 0000b040 69 73 20 6e 6f 74 20 62 69 67 20 65 6e 6f 75 67 |is not big enoug| 0000b050 68 20 74 6f 20 70 72 6f 63 65 73 73 20 61 20 52 |h to process a R| 0000b060 41 4d 20 6d 65 6d 6f 72 79 20 74 72 61 6e 73 66 |AM memory transf| 0000b070 65 72 20 73 61 76 65 2c 20 73 61 76 65 20 66 61 |er save, save fa| 0000b080 69 6c 65 64 2e 22 2c 6f 6b 25 2c 30 3a e1 0d 30 |iled.",ok%,0:..0| 0000b090 70 13 74 65 6c 25 3d 31 3a 63 6f 6d 6d 61 25 3d |p.tel%=1:comma%=| 0000b0a0 30 0d 30 7a 13 c8 8e 20 73 61 76 65 5f 74 79 70 |0.0z... save_typ| 0000b0b0 65 25 20 ca 0d 30 84 30 20 20 c9 20 31 3a c8 99 |e% ..0.0 . 1:..| 0000b0c0 20 22 57 69 6d 70 45 78 74 5f 47 65 74 49 63 6f | "WimpExt_GetIco| 0000b0d0 6e 22 2c 2c 2c 77 25 2c 34 20 b8 20 70 61 72 74 |n",,,w%,4 . part| 0000b0e0 69 61 6c 25 0d 30 8e 14 20 20 20 20 e7 20 70 61 |ial%.0.. . pa| 0000b0f0 72 74 69 61 6c 25 20 8c 0d 30 98 2b 20 20 20 20 |rtial% ..0.+ | 0000b100 20 20 f2 73 6f 72 74 6f 75 74 5f 70 61 72 74 69 | .sortout_parti| 0000b110 61 6c 28 30 2c 73 61 76 65 5f 61 73 25 2c 36 2c |al(0,save_as%,6,| 0000b120 31 30 29 0d 30 a2 33 20 20 20 20 20 20 c8 99 20 |10).0.3 .. | 0000b130 22 57 69 6d 70 45 78 74 5f 47 65 74 4e 75 6d 62 |"WimpExt_GetNumb| 0000b140 65 72 49 63 6f 6e 22 2c 2c 2c 77 25 2c 36 20 b8 |erIcon",,,w%,6 .| 0000b150 20 66 72 6f 6d 25 0d 30 ac 42 20 20 20 20 20 20 | from%.0.B | 0000b160 c8 99 20 22 57 69 6d 70 45 78 74 5f 47 65 74 4e |.. "WimpExt_GetN| 0000b170 75 6d 62 65 72 49 63 6f 6e 22 2c 2c 2c 77 25 2c |umberIcon",,,w%,| 0000b180 31 30 20 b8 20 74 6f 25 3a 66 72 6f 6d 25 2d 3d |10 . to%:from%-=| 0000b190 31 3a 74 6f 25 2d 3d 31 0d 30 b6 09 20 20 20 20 |1:to%-=1.0.. | 0000b1a0 cc 0d 30 c0 1a 20 20 20 20 20 20 66 72 6f 6d 25 |..0.. from%| 0000b1b0 3d 30 3a 74 6f 25 3d 6d 61 78 25 0d 30 ca 09 20 |=0:to%=max%.0.. | 0000b1c0 20 20 20 cd 0d 30 d4 21 20 20 c9 20 32 3a 66 72 | ..0.! . 2:fr| 0000b1d0 6f 6d 25 3d 30 3a 74 6f 25 3d 73 65 61 72 63 68 |om%=0:to%=search| 0000b1e0 5f 6c 65 6e 25 0d 30 de 23 20 20 c9 20 33 3a 66 |_len%.0.# . 3:f| 0000b1f0 72 6f 6d 25 3d 72 65 63 6f 72 64 25 3a 74 6f 25 |rom%=record%:to%| 0000b200 3d 72 65 63 6f 72 64 25 0d 30 e8 2a 20 20 20 20 |=record%.0.* | 0000b210 c8 99 20 22 57 69 6d 70 45 78 74 5f 47 65 74 49 |.. "WimpExt_GetI| 0000b220 63 6f 6e 22 2c 2c 2c 77 25 2c 34 20 b8 20 74 65 |con",,,w%,4 . te| 0000b230 6c 25 0d 30 f2 2c 20 20 20 20 c8 99 20 22 57 69 |l%.0., .. "Wi| 0000b240 6d 70 45 78 74 5f 47 65 74 49 63 6f 6e 22 2c 2c |mpExt_GetIcon",,| 0000b250 2c 77 25 2c 35 20 b8 20 63 6f 6d 6d 61 25 0d 30 |,w%,5 . comma%.0| 0000b260 fc 05 cb 0d 31 06 2f e7 20 74 65 6c 25 20 8c 20 |....1./. tel% . | 0000b270 6d 61 78 5f 66 69 65 6c 64 25 3d 31 30 2a 33 32 |max_field%=10*32| 0000b280 20 8b 20 6d 61 78 5f 66 69 65 6c 64 25 3d 37 2a | . max_field%=7*| 0000b290 33 32 0d 31 10 5a e7 20 73 61 76 65 5f 74 79 70 |32.1.Z. save_typ| 0000b2a0 65 25 3d 32 20 41 25 3d 74 61 62 6c 65 25 3a 42 |e%=2 A%=table%:B| 0000b2b0 25 3d 73 65 61 72 63 68 5f 6c 65 6e 25 2b 31 3a |%=search_len%+1:| 0000b2c0 6e 75 6d 62 65 72 25 3d ba 28 63 6f 75 6e 74 5f |number%=.(count_| 0000b2d0 72 65 63 29 20 8b 20 6e 75 6d 62 65 72 25 3d 28 |rec) . number%=(| 0000b2e0 74 6f 25 2d 66 72 6f 6d 25 29 2b 31 0d 31 1a 14 |to%-from%)+1.1..| 0000b2f0 e7 20 62 25 21 31 32 3d 6d 79 72 65 66 25 20 8c |. b%!12=myref% .| 0000b300 0d 31 24 12 20 20 73 65 6e 64 65 72 25 3d 62 25 |.1$. sender%=b%| 0000b310 21 34 0d 31 2e 12 20 20 68 69 73 72 65 66 25 3d |!4.1.. hisref%=| 0000b320 62 25 21 38 0d 31 38 13 20 20 62 75 66 61 64 64 |b%!8.18. bufadd| 0000b330 25 3d 62 25 21 32 30 0d 31 42 13 20 20 62 75 66 |%=b%!20.1B. buf| 0000b340 73 69 7a 25 3d 62 25 21 32 34 0d 31 4c 1b 20 20 |siz%=b%!24.1L. | 0000b350 6f 66 66 73 65 74 25 3d 30 3a 6f 6c 64 5f 72 65 |offset%=0:old_re| 0000b360 63 25 3d 2d 31 0d 31 56 17 20 20 c8 99 20 22 48 |c%=-1.1V. .. "H| 0000b370 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 31 60 97 |ourglass_On".1`.| 0000b380 20 20 e7 20 61 73 63 69 69 25 3d 30 20 8c 20 24 | . ascii%=0 . $| 0000b390 62 32 25 3d 22 54 65 6c 41 64 64 72 28 22 2b c3 |b2%="TelAddr("+.| 0000b3a0 66 69 6c 65 5f 76 65 72 25 2b 22 2c 22 2b c3 28 |file_ver%+","+.(| 0000b3b0 6e 75 6d 62 65 72 25 29 2b 22 29 22 2b bd 31 30 |number%)+")"+.10| 0000b3c0 3a 6c 25 3d a9 28 24 62 32 25 29 3a c8 99 20 22 |:l%=.($b2%):.. "| 0000b3d0 57 69 6d 70 5f 54 72 61 6e 73 66 65 72 42 6c 6f |Wimp_TransferBlo| 0000b3e0 63 6b 22 2c 74 61 73 6b 5f 68 61 6e 64 6c 65 25 |ck",task_handle%| 0000b3f0 2c 62 32 25 2c 73 65 6e 64 65 72 25 2c 62 75 66 |,b2%,sender%,buf| 0000b400 61 64 64 25 2c 6c 25 3a 6f 66 66 73 65 74 25 2b |add%,l%:offset%+| 0000b410 3d 6c 25 0d 31 6a 16 20 20 e3 20 49 25 3d 66 72 |=l%.1j. . I%=fr| 0000b420 6f 6d 25 20 b8 20 74 6f 25 0d 31 74 51 20 20 20 |om% . to%.1tQ | 0000b430 20 e7 20 28 74 6f 25 2d 66 72 6f 6d 25 29 3e 30 | . (to%-from%)>0| 0000b440 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f 50 | .. "Hourglass_P| 0000b450 65 72 63 65 6e 74 61 67 65 22 2c a8 28 28 28 49 |ercentage",.(((I| 0000b460 25 2d 66 72 6f 6d 25 29 2f 28 74 6f 25 2d 66 72 |%-from%)/(to%-fr| 0000b470 6f 6d 25 29 29 2a 31 30 30 29 0d 31 7e 36 20 20 |om%))*100).1~6 | 0000b480 20 20 e7 20 73 61 76 65 5f 74 79 70 65 25 3d 32 | . save_type%=2| 0000b490 20 8c 20 72 65 63 25 3d 74 61 62 6c 65 25 21 28 | . rec%=table%!(| 0000b4a0 49 25 2a 31 32 29 20 8b 20 72 65 63 25 3d 49 25 |I%*12) . rec%=I%| 0000b4b0 0d 31 88 2a 20 20 20 20 e7 20 73 61 76 65 5f 74 |.1.* . save_t| 0000b4c0 79 70 65 25 3c 3e 32 20 84 20 72 65 63 25 3c 3e |ype%<>2 . rec%<>| 0000b4d0 6f 6c 64 5f 72 65 63 25 20 8c 0d 31 92 31 20 20 |old_rec% ..1.1 | 0000b4e0 20 20 20 20 6c 65 6e 67 74 68 25 3d 30 3a 74 61 | length%=0:ta| 0000b4f0 62 5f 70 6f 73 25 3d 74 61 62 25 2b 28 72 65 63 |b_pos%=tab%+(rec| 0000b500 25 2a 72 65 63 5f 6c 65 6e 25 29 0d 31 9c 26 20 |%*rec_len%).1.& | 0000b510 20 20 20 20 20 e3 20 66 69 65 6c 64 25 3d 30 20 | . field%=0 | 0000b520 b8 20 6d 61 78 5f 66 69 65 6c 64 25 20 88 20 33 |. max_field% . 3| 0000b530 32 0d 31 a6 54 20 20 20 20 20 20 20 20 61 25 3d |2.1.T a%=| 0000b540 62 32 25 2b 6c 65 6e 67 74 68 25 3a 61 32 25 3d |b2%+length%:a2%=| 0000b550 74 61 62 5f 70 6f 73 25 2b 66 69 65 6c 64 25 3a |tab_pos%+field%:| 0000b560 6c 65 6e 25 3d 30 3a 24 62 33 25 3d 24 61 32 25 |len%=0:$b3%=$a2%| 0000b570 3a 41 25 3d 62 33 25 3a d6 20 63 75 74 3a 61 24 |:A%=b3%:. cut:a$| 0000b580 3d 24 62 33 25 0d 31 b0 16 20 20 20 20 20 20 20 |=$b3%.1.. | 0000b590 20 e7 20 63 6f 6d 6d 61 25 20 8c 0d 31 ba 23 20 | . comma% ..1.# | 0000b5a0 20 20 20 20 20 20 20 20 20 66 25 3d 66 69 65 6c | f%=fiel| 0000b5b0 64 25 2f 33 32 3a e7 20 66 25 3c 37 20 8c 0d 31 |d%/32:. f%<7 ..1| 0000b5c0 c4 42 20 20 20 20 20 20 20 20 20 20 20 20 63 6f |.B co| 0000b5d0 6d 25 3d 30 3a e3 20 4a 25 3d 66 25 2b 31 20 b8 |m%=0:. J%=f%+1 .| 0000b5e0 20 37 3a e7 20 74 61 62 5f 70 6f 73 25 3f 28 4a | 7:. tab_pos%?(J| 0000b5f0 25 2a 33 32 29 3e 3d 33 32 20 63 6f 6d 25 3d 31 |%*32)>=32 com%=1| 0000b600 0d 31 ce 11 20 20 20 20 20 20 20 20 20 20 20 20 |.1.. | 0000b610 ed 0d 31 d8 16 20 20 20 20 20 20 20 20 20 20 cc |..1.. .| 0000b620 20 63 6f 6d 25 3d 30 0d 31 e2 0f 20 20 20 20 20 | com%=0.1.. | 0000b630 20 20 20 20 20 cd 0d 31 ec 20 20 20 20 20 20 20 | ..1. | 0000b640 20 20 20 20 e7 20 66 25 3c 3d 37 20 80 20 61 24 | . f%<=7 . a$| 0000b650 3c 3e 22 22 20 8c 0d 31 f6 28 20 20 20 20 20 20 |<>"" ..1.( | 0000b660 20 20 20 20 20 20 e7 20 63 6f 6d 25 20 61 24 2b | . com% a$+| 0000b670 3d 22 2c 22 20 8b 20 61 24 2b 3d 22 2e 22 0d 32 |="," . a$+=".".2| 0000b680 00 0f 20 20 20 20 20 20 20 20 20 20 cd 0d 32 0a |.. ..2.| 0000b690 0d 20 20 20 20 20 20 20 20 cd 0d 32 14 4c 20 20 |. ..2.L | 0000b6a0 20 20 20 20 20 20 e7 20 61 73 63 69 69 25 3d 30 | . ascii%=0| 0000b6b0 20 84 20 28 61 73 63 69 69 25 3d 31 20 80 20 3f | . (ascii%=1 . ?| 0000b6c0 61 32 25 3e 3d 33 32 29 20 8c 20 24 61 25 3d 61 |a2%>=32) . $a%=a| 0000b6d0 24 3a 41 25 3d 61 25 3a 6c 65 6e 25 3d ba 28 63 |$:A%=a%:len%=.(c| 0000b6e0 75 74 32 29 2b 31 0d 32 1e 19 20 20 20 20 20 20 |ut2)+1.2.. | 0000b6f0 20 20 6c 65 6e 67 74 68 25 2b 3d 6c 65 6e 25 0d | length%+=len%.| 0000b700 32 28 4a 20 20 20 20 20 20 20 20 e7 20 61 73 63 |2(J . asc| 0000b710 69 69 25 3d 31 20 80 20 66 69 65 6c 64 25 3d 37 |ii%=1 . field%=7| 0000b720 2a 33 32 20 80 20 74 65 6c 25 3d 31 20 3f 28 62 |*32 . tel%=1 ?(b| 0000b730 32 25 2b 6c 65 6e 67 74 68 25 29 3d 31 30 3a 6c |2%+length%)=10:l| 0000b740 65 6e 67 74 68 25 2b 3d 31 0d 32 32 0b 20 20 20 |ength%+=1.22. | 0000b750 20 20 20 ed 0d 32 3c 38 20 20 20 20 20 20 e7 20 | ..2<8 . | 0000b760 61 73 63 69 69 25 20 80 20 49 25 3c 74 6f 25 20 |ascii% . I%<to% | 0000b770 3f 28 62 32 25 2b 6c 65 6e 67 74 68 25 29 3d 31 |?(b2%+length%)=1| 0000b780 30 3a 6c 65 6e 67 74 68 25 2b 3d 31 0d 32 46 52 |0:length%+=1.2FR| 0000b790 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 54 | .. "Wimp_T| 0000b7a0 72 61 6e 73 66 65 72 42 6c 6f 63 6b 22 2c 74 61 |ransferBlock",ta| 0000b7b0 73 6b 5f 68 61 6e 64 6c 65 25 2c 62 32 25 2c 73 |sk_handle%,b2%,s| 0000b7c0 65 6e 64 65 72 25 2c 62 75 66 61 64 64 25 2b 6f |ender%,bufadd%+o| 0000b7d0 66 66 73 65 74 25 2c 6c 65 6e 67 74 68 25 0d 32 |ffset%,length%.2| 0000b7e0 50 1a 20 20 20 20 20 20 6f 66 66 73 65 74 25 2b |P. offset%+| 0000b7f0 3d 6c 65 6e 67 74 68 25 0d 32 5a 09 20 20 20 20 |=length%.2Z. | 0000b800 cd 0d 32 64 15 20 20 20 20 6f 6c 64 5f 72 65 63 |..2d. old_rec| 0000b810 25 3d 72 65 63 25 0d 32 6e 07 20 20 ed 0d 32 78 |%=rec%.2n. ..2x| 0000b820 18 20 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 |. .. "Hourglass| 0000b830 5f 4f 66 66 22 0d 32 82 13 20 20 62 25 21 31 32 |_Off".2.. b%!12| 0000b840 3d 68 69 73 72 65 66 25 0d 32 8c 0d 20 20 62 25 |=hisref%.2.. b%| 0000b850 21 31 36 3d 37 0d 32 96 13 20 20 62 25 21 32 34 |!16=7.2.. b%!24| 0000b860 3d 6f 66 66 73 65 74 25 0d 32 a0 29 20 20 c8 99 |=offset%.2.) ..| 0000b870 20 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 | "Wimp_SendMessa| 0000b880 67 65 22 2c 31 37 2c 62 25 2c 73 65 6e 64 65 72 |ge",17,b%,sender| 0000b890 25 0d 32 aa 05 cd 0d 32 b4 13 c8 8e 20 73 61 76 |%.2....2.... sav| 0000b8a0 65 5f 74 79 70 65 25 20 ca 0d 32 be 21 20 20 c9 |e_type% ..2.! .| 0000b8b0 20 31 3a f2 63 6c 6f 73 65 5f 77 69 6e 64 6f 77 | 1:.close_window| 0000b8c0 28 73 61 76 65 5f 61 73 25 29 0d 32 c8 22 20 20 |(save_as%).2." | 0000b8d0 c9 20 32 3a f2 63 6c 6f 73 65 5f 77 69 6e 64 6f |. 2:.close_windo| 0000b8e0 77 28 73 61 76 65 5f 61 73 31 25 29 0d 32 d2 22 |w(save_as1%).2."| 0000b8f0 20 20 c9 20 33 3a f2 63 6c 6f 73 65 5f 77 69 6e | . 3:.close_win| 0000b900 64 6f 77 28 73 61 76 65 5f 61 73 32 25 29 0d 32 |dow(save_as2%).2| 0000b910 dc 05 cb 0d 32 e6 1c c8 99 20 22 57 69 6d 70 5f |....2.... "Wimp_| 0000b920 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c 2d 31 0d |CreateMenu",,-1.| 0000b930 32 f0 05 e1 0d 32 fa 05 3a 0d 33 04 0a dd f2 68 |2....2..:.3....h| 0000b940 65 6c 70 0d 33 0e 35 21 62 25 3d 34 30 3a 62 25 |elp.3.5!b%=40:b%| 0000b950 21 31 36 3d 26 35 30 32 3a c8 99 20 22 57 69 6d |!16=&502:.. "Wim| 0000b960 70 5f 47 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f |p_GetPointerInfo| 0000b970 22 2c 2c 62 25 2b 32 30 0d 33 18 5b 77 25 3d 62 |",,b%+20.3.[w%=b| 0000b980 25 21 33 32 3a 69 25 3d 62 25 21 33 36 3a 53 24 |%!32:i%=b%!36:S$| 0000b990 3d 22 43 6c 69 63 6b 20 53 45 4c 45 43 54 20 74 |="Click SELECT t| 0000b9a0 6f 20 22 3a 4d 24 3d 22 43 6c 69 63 6b 20 4d 45 |o ":M$="Click ME| 0000b9b0 4e 55 20 74 6f 20 22 3a 41 24 3d 22 43 6c 69 63 |NU to ":A$="Clic| 0000b9c0 6b 20 41 44 4a 55 53 54 20 74 6f 20 22 3a 6d 24 |k ADJUST to ":m$| 0000b9d0 3d 22 22 0d 33 22 39 57 24 3d 22 54 68 69 73 20 |="".3"9W$="This | 0000b9e0 77 69 6e 64 6f 77 20 73 68 6f 77 73 20 22 3a 49 |window shows ":I| 0000b9f0 24 3d 22 54 68 69 73 20 69 63 6f 6e 20 73 68 6f |$="This icon sho| 0000ba00 77 73 20 22 3a 4e 24 3d 22 7c 4d 22 0d 33 2c 23 |ws ":N$="|M".3,#| 0000ba10 4d 24 3d 22 4d 6f 76 65 20 74 68 65 20 70 6f 69 |M$="Move the poi| 0000ba20 6e 74 65 72 20 72 69 67 68 74 20 74 6f 20 22 0d |nter right to ".| 0000ba30 33 36 0b c8 8e 20 77 25 20 ca 0d 33 40 45 20 20 |36... w% ..3@E | 0000ba40 c9 20 66 69 6c 65 5f 69 6e 66 6f 25 3a 6d 24 3d |. file_info%:m$=| 0000ba50 57 24 2b 22 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 |W$+"information | 0000ba60 61 62 6f 75 74 20 74 68 65 20 63 75 72 72 65 6e |about the curren| 0000ba70 74 20 61 64 64 72 65 73 73 20 62 6f 6f 6b 22 0d |t address book".| 0000ba80 33 4a 16 20 20 c9 20 74 6f 6f 6c 73 25 3a c8 8e |3J. . tools%:..| 0000ba90 20 69 25 20 ca 0d 33 54 2a 20 20 20 20 c9 20 30 | i% ..3T* . 0| 0000baa0 3a 6d 24 3d 53 24 2b 22 6f 70 65 6e 20 74 68 65 |:m$=S$+"open the| 0000bab0 20 73 65 61 72 63 68 20 77 69 6e 64 6f 77 22 0d | search window".| 0000bac0 33 5e 31 20 20 20 20 c9 20 31 3a 6d 24 3d 53 24 |3^1 . 1:m$=S$| 0000bad0 2b 22 73 6f 72 74 20 74 68 65 20 63 75 72 72 65 |+"sort the curre| 0000bae0 6e 74 20 61 64 64 72 65 73 73 20 62 6f 6f 6b 22 |nt address book"| 0000baf0 0d 33 68 27 20 20 20 20 c9 20 32 3a 6d 24 3d 53 |.3h' . 2:m$=S| 0000bb00 24 2b 22 63 72 65 61 74 65 20 61 20 6e 65 77 20 |$+"create a new | 0000bb10 72 65 63 6f 72 64 22 0d 33 72 2d 20 20 20 20 c9 |record".3r- .| 0000bb20 20 33 3a 6d 24 3d 53 24 2b 22 64 65 6c 65 74 65 | 3:m$=S$+"delete| 0000bb30 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 63 | the current rec| 0000bb40 6f 72 64 22 0d 33 7c 07 20 20 cb 0d 33 86 14 20 |ord".3|. ..3.. | 0000bb50 20 c9 20 70 6f 73 25 3a c8 8e 20 69 25 20 ca 0d | . pos%:.. i% ..| 0000bb60 33 90 2c 20 20 20 20 c9 20 30 3a 6d 24 3d 53 24 |3., . 0:m$=S$| 0000bb70 2b 22 6d 6f 76 65 20 74 6f 20 74 68 65 20 66 69 |+"move to the fi| 0000bb80 72 73 74 20 72 65 63 6f 72 64 22 0d 33 9a 2a 20 |rst record".3.* | 0000bb90 20 20 20 c9 20 31 3a 6d 24 3d 53 24 2b 22 6d 6f | . 1:m$=S$+"mo| 0000bba0 76 65 20 62 61 63 6b 20 66 69 76 65 20 72 65 63 |ve back five rec| 0000bbb0 6f 72 64 73 22 0d 33 a4 28 20 20 20 20 c9 20 32 |ords".3.( . 2| 0000bbc0 3a 6d 24 3d 53 24 2b 22 6d 6f 76 65 20 62 61 63 |:m$=S$+"move bac| 0000bbd0 6b 20 6f 6e 65 20 72 65 63 6f 72 64 22 0d 33 ae |k one record".3.| 0000bbe0 2b 20 20 20 20 c9 20 33 3a 6d 24 3d 53 24 2b 22 |+ . 3:m$=S$+"| 0000bbf0 6d 6f 76 65 20 66 6f 72 77 61 72 64 20 6f 6e 65 |move forward one| 0000bc00 20 72 65 63 6f 72 64 22 0d 33 b8 2d 20 20 20 20 | record".3.- | 0000bc10 c9 20 34 3a 6d 24 3d 53 24 2b 22 6d 6f 76 65 20 |. 4:m$=S$+"move | 0000bc20 66 6f 72 77 61 72 64 20 66 69 76 65 20 72 65 63 |forward five rec| 0000bc30 6f 72 64 73 22 0d 33 c2 2b 20 20 20 20 c9 20 35 |ords".3.+ . 5| 0000bc40 3a 6d 24 3d 53 24 2b 22 6d 6f 76 65 20 74 6f 20 |:m$=S$+"move to | 0000bc50 74 68 65 20 6c 61 73 74 20 72 65 63 6f 72 64 22 |the last record"| 0000bc60 0d 33 cc 5a 20 20 20 20 c9 20 36 3a 6d 24 3d 49 |.3.Z . 6:m$=I| 0000bc70 24 2b 22 74 68 65 20 63 75 72 72 65 6e 74 20 72 |$+"the current r| 0000bc80 65 63 6f 72 64 20 6e 75 6d 62 65 72 20 61 6e 64 |ecord number and| 0000bc90 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 | the total numbe| 0000bca0 72 20 6f 66 20 72 65 63 6f 72 64 73 20 72 65 73 |r of records res| 0000bcb0 70 65 63 74 69 76 65 6c 79 22 0d 33 d6 2b 20 20 |pectively".3.+ | 0000bcc0 20 20 c9 20 37 3a 6d 24 3d 53 24 2b 22 67 6f 74 | . 7:m$=S$+"got| 0000bcd0 6f 20 61 20 73 70 65 63 69 66 69 65 64 20 72 65 |o a specified re| 0000bce0 63 6f 72 64 22 0d 33 e0 07 20 20 cb 0d 33 ea 17 |cord".3.. ..3..| 0000bcf0 20 20 c9 20 73 65 61 72 63 68 25 3a c8 8e 20 69 | . search%:.. i| 0000bd00 25 20 ca 0d 33 f4 56 20 20 20 20 c9 20 36 3a 6d |% ..3.V . 6:m| 0000bd10 24 3d 49 24 2b 22 74 68 65 20 63 75 72 72 65 6e |$=I$+"the curren| 0000bd20 74 20 73 65 61 72 63 68 20 73 74 72 69 6e 67 2e |t search string.| 0000bd30 22 2b 4e 24 2b 53 24 2b 22 63 68 61 6e 67 65 20 |"+N$+S$+"change | 0000bd40 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 |the contents of | 0000bd50 74 68 65 20 69 63 6f 6e 22 0d 33 fe 4f 20 20 20 |the icon".3.O | 0000bd60 20 c9 20 37 2c 38 2c 39 2c 31 30 2c 31 31 2c 31 | . 7,8,9,10,11,1| 0000bd70 32 2c 31 33 2c 31 34 2c 31 35 3a 6d 24 3d 53 24 |2,13,14,15:m$=S$| 0000bd80 2b 22 63 68 6f 6f 73 65 20 77 68 69 63 68 20 66 |+"choose which f| 0000bd90 69 65 6c 64 73 20 74 6f 20 73 65 61 72 63 68 20 |ields to search | 0000bda0 74 68 72 6f 75 67 68 22 0d 34 08 47 20 20 20 20 |through".4.G | 0000bdb0 c9 20 31 36 3a 6d 24 3d 53 24 2b 22 74 6f 67 67 |. 16:m$=S$+"togg| 0000bdc0 6c 65 20 77 68 65 74 68 65 72 20 74 68 65 20 73 |le whether the s| 0000bdd0 65 61 72 63 68 20 69 73 20 63 61 73 65 20 73 65 |earch is case se| 0000bde0 6e 73 69 74 69 76 65 20 6f 72 20 6e 6f 74 22 0d |nsitive or not".| 0000bdf0 34 12 31 20 20 20 20 c9 20 31 37 3a 6d 24 3d 53 |4.1 . 17:m$=S| 0000be00 24 2b 22 70 65 72 66 6f 72 6d 20 74 68 65 20 73 |$+"perform the s| 0000be10 70 65 63 69 66 69 65 64 20 73 65 61 72 63 68 22 |pecified search"| 0000be20 0d 34 1c 42 20 20 20 20 c9 20 31 38 3a 6d 24 3d |.4.B . 18:m$=| 0000be30 53 24 2b 22 63 61 6e 63 65 6c 20 74 68 65 20 73 |S$+"cancel the s| 0000be40 65 61 72 63 68 20 61 6e 64 20 63 6c 6f 73 65 20 |earch and close | 0000be50 74 68 65 20 73 65 61 72 63 68 20 77 69 6e 64 6f |the search windo| 0000be60 77 22 0d 34 26 07 20 20 cb 0d 34 30 33 20 20 c9 |w".4&. ..403 .| 0000be70 20 69 6e 66 6f 25 3a 6d 24 3d 57 24 2b 22 69 6e | info%:m$=W$+"in| 0000be80 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 |formation about | 0000be90 74 68 65 20 70 72 6f 67 72 61 6d 22 0d 34 3a 39 |the program".4:9| 0000bea0 20 20 e7 20 69 25 3d 37 20 8c 20 6d 24 2b 3d 22 | . i%=7 . m$+="| 0000beb0 2c 20 61 6e 64 20 74 68 69 73 20 69 73 20 74 68 |, and this is th| 0000bec0 65 20 65 78 63 65 6c 6c 65 6e 74 20 61 75 74 68 |e excellent auth| 0000bed0 6f 72 20 21 22 0d 34 44 2c 20 20 c9 20 73 61 76 |or !".4D, . sav| 0000bee0 65 5f 61 73 25 2c 73 61 76 65 5f 61 73 31 25 2c |e_as%,save_as1%,| 0000bef0 73 61 76 65 5f 61 73 32 25 3a c8 8e 20 69 25 20 |save_as2%:.. i% | 0000bf00 ca 0d 34 4e 7a 20 20 20 20 c9 20 30 3a 6d 24 3d |..4Nz . 0:m$=| 0000bf10 49 24 2b 22 74 68 65 20 66 69 6c 65 6e 61 6d 65 |I$+"the filename| 0000bf20 20 66 6f 72 20 74 68 65 20 66 69 6c 65 2e 20 49 | for the file. I| 0000bf30 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 63 6f |f it is not a co| 0000bf40 6d 70 6c 65 74 65 20 70 61 74 68 6e 61 6d 65 2c |mplete pathname,| 0000bf50 20 64 72 61 67 20 74 68 65 20 66 69 6c 65 20 69 | drag the file i| 0000bf60 63 6f 6e 20 74 6f 20 61 20 64 69 72 65 63 74 6f |con to a directo| 0000bf70 72 79 20 64 69 73 70 6c 61 79 22 0d 34 58 a4 20 |ry display".4X. | 0000bf80 20 20 20 c9 20 31 3a 6d 24 3d 22 44 72 61 67 20 | . 1:m$="Drag | 0000bf90 74 68 69 73 20 69 63 6f 6e 20 74 6f 20 74 68 65 |this icon to the| 0000bfa0 20 64 69 72 65 63 74 6f 72 79 20 64 69 73 70 6c | directory displ| 0000bfb0 61 79 20 79 6f 75 20 77 68 69 63 68 20 74 6f 20 |ay you which to | 0000bfc0 73 61 76 65 20 74 68 65 20 61 64 64 72 65 73 73 |save the address| 0000bfd0 20 62 6f 6f 6b 2e 20 4f 72 2c 20 64 72 61 67 20 | book. Or, drag | 0000bfe0 69 74 20 74 6f 20 74 68 65 20 61 70 70 6c 69 63 |it to the applic| 0000bff0 61 74 69 6f 6e 20 69 6e 74 6f 20 77 68 69 63 68 |ation into which| 0000c000 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 74 72 61 | you want to tra| 0000c010 6e 73 66 65 72 20 74 68 65 20 66 69 6c 65 22 0d |nsfer the file".| 0000c020 34 62 98 20 20 20 20 c9 20 32 3a 6d 24 3d 53 24 |4b. . 2:m$=S$| 0000c030 2b 22 73 61 76 65 20 74 68 65 20 66 69 6c 65 20 |+"save the file | 0000c040 75 6e 64 65 72 20 74 68 65 20 63 75 72 72 65 6e |under the curren| 0000c050 74 20 70 61 74 68 6e 61 6d 65 2e 20 49 66 20 69 |t pathname. If i| 0000c060 74 20 69 73 20 6e 6f 74 20 61 20 63 6f 6d 70 6c |t is not a compl| 0000c070 65 74 65 20 70 61 74 68 6e 61 6d 65 2c 20 79 6f |ete pathname, yo| 0000c080 75 20 6d 75 73 74 20 64 72 61 67 20 74 68 65 20 |u must drag the | 0000c090 66 69 6c 65 20 69 63 6f 6e 20 74 6f 20 61 20 64 |file icon to a d| 0000c0a0 69 72 65 63 74 6f 72 79 20 64 69 73 70 6c 61 79 |irectory display| 0000c0b0 20 66 69 72 73 74 22 0d 34 6c 67 20 20 20 20 c9 | first".4lg .| 0000c0c0 20 33 3a 6d 24 3d 53 24 2b 22 74 6f 67 67 6c 65 | 3:m$=S$+"toggle| 0000c0d0 20 77 68 65 74 68 65 72 20 74 6f 20 73 61 76 65 | whether to save| 0000c0e0 20 74 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65 | the file in the| 0000c0f0 20 54 65 6c 41 64 64 72 20 66 6f 72 6d 61 74 2c | TelAddr format,| 0000c100 20 6f 72 20 61 73 20 61 20 70 6c 61 69 6e 20 41 | or as a plain A| 0000c110 53 43 49 49 20 74 65 78 74 66 69 6c 65 22 0d 34 |SCII textfile".4| 0000c120 76 13 20 20 20 20 c9 20 34 3a c8 8e 20 77 25 20 |v. . 4:.. w% | 0000c130 ca 0d 34 80 7a 20 20 20 20 20 20 c9 20 73 61 76 |..4.z . sav| 0000c140 65 5f 61 73 25 3a 6d 24 3d 53 24 2b 22 63 68 6f |e_as%:m$=S$+"cho| 0000c150 6f 73 65 20 62 65 74 77 65 65 6e 20 61 20 66 75 |ose between a fu| 0000c160 6c 6c 20 73 61 76 65 20 6f 66 20 74 68 65 20 61 |ll save of the a| 0000c170 64 64 72 65 73 73 20 62 6f 6f 6b 2c 20 6f 72 20 |ddress book, or | 0000c180 61 20 70 61 72 74 69 61 6c 20 73 61 76 65 20 6f |a partial save o| 0000c190 66 20 6a 75 73 74 20 73 6f 6d 65 20 6f 66 20 74 |f just some of t| 0000c1a0 68 65 20 72 65 63 6f 72 64 73 22 0d 34 8a 75 20 |he records".4.u | 0000c1b0 20 20 20 20 20 c9 20 73 61 76 65 5f 61 73 32 25 | . save_as2%| 0000c1c0 3a 6d 24 3d 53 24 2b 22 63 68 6f 6f 73 65 20 77 |:m$=S$+"choose w| 0000c1d0 68 65 74 68 65 72 20 79 6f 75 20 77 69 73 68 20 |hether you wish | 0000c1e0 74 6f 20 69 6e 63 6c 75 64 65 20 74 65 6c 65 70 |to include telep| 0000c1f0 68 6f 6e 65 20 6e 75 6d 62 65 72 73 20 77 69 74 |hone numbers wit| 0000c200 68 69 6e 20 74 68 65 20 73 69 6e 67 6c 65 20 61 |hin the single a| 0000c210 64 64 72 65 73 73 20 74 65 78 74 66 69 6c 65 22 |ddress textfile"| 0000c220 0d 34 94 09 20 20 20 20 cb 0d 34 9e 7a 20 20 20 |.4.. ..4.z | 0000c230 20 c9 20 35 3a e7 20 77 25 3d 73 61 76 65 5f 61 | . 5:. w%=save_a| 0000c240 73 32 25 20 6d 24 3d 53 24 2b 22 63 68 6f 6f 73 |s2% m$=S$+"choos| 0000c250 65 20 77 68 65 74 68 65 72 20 79 6f 75 20 77 69 |e whether you wi| 0000c260 73 68 20 74 6f 20 69 6e 63 6c 75 64 65 20 63 6f |sh to include co| 0000c270 6d 6d 61 73 20 61 6e 64 20 66 75 6c 6c 20 73 74 |mmas and full st| 0000c280 6f 70 73 20 61 66 74 65 72 20 65 61 63 68 20 6c |ops after each l| 0000c290 69 6e 65 20 69 6e 20 74 68 65 20 61 64 64 72 65 |ine in the addre| 0000c2a0 73 73 22 0d 34 a8 93 20 20 20 20 c9 20 36 3a 6d |ss".4.. . 6:m| 0000c2b0 24 3d 49 24 2b 22 74 68 65 20 73 74 61 72 74 20 |$=I$+"the start | 0000c2c0 72 65 63 6f 72 64 20 6e 75 6d 62 65 72 20 66 6f |record number fo| 0000c2d0 72 20 74 68 65 20 70 61 72 74 69 61 6c 20 73 61 |r the partial sa| 0000c2e0 76 65 2e 22 2b 4e 24 2b 53 24 2b 22 61 6c 74 65 |ve."+N$+S$+"alte| 0000c2f0 72 20 74 68 65 20 6e 75 6d 62 65 72 2c 20 6f 72 |r the number, or| 0000c300 20 75 73 65 20 74 68 65 20 61 72 72 6f 77 20 69 | use the arrow i| 0000c310 63 6f 6e 73 20 74 6f 20 74 68 65 20 72 69 67 68 |cons to the righ| 0000c320 74 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 |t to change the | 0000c330 76 61 6c 75 65 22 0d 34 b2 49 20 20 20 20 c9 20 |value".4.I . | 0000c340 37 3a 6d 24 3d 53 24 2b 22 64 65 63 72 65 61 73 |7:m$=S$+"decreas| 0000c350 65 20 74 68 65 20 73 74 61 72 74 20 72 65 63 6f |e the start reco| 0000c360 72 64 20 6e 75 6d 62 65 72 20 66 6f 72 20 74 68 |rd number for th| 0000c370 65 20 70 61 72 74 69 61 6c 20 73 61 76 65 22 0d |e partial save".| 0000c380 34 bc 99 20 20 20 20 c9 20 38 3a 6d 24 3d 53 24 |4.. . 8:m$=S$| 0000c390 2b 22 69 6e 63 72 65 61 73 65 20 74 68 65 20 73 |+"increase the s| 0000c3a0 74 61 72 74 20 72 65 63 6f 72 64 20 6e 75 6d 62 |tart record numb| 0000c3b0 65 72 20 66 6f 72 20 74 68 65 20 70 61 72 74 69 |er for the parti| 0000c3c0 61 6c 20 73 61 76 65 2e 20 52 65 6d 65 6d 62 65 |al save. Remembe| 0000c3d0 72 20 74 68 61 74 20 74 68 65 20 73 74 61 72 74 |r that the start| 0000c3e0 20 72 65 63 6f 72 64 20 6e 75 6d 62 65 72 20 77 | record number w| 0000c3f0 69 6c 6c 20 6e 6f 74 20 67 6f 20 62 65 79 6f 6e |ill not go beyon| 0000c400 64 20 74 68 65 20 65 6e 64 20 72 65 63 6f 72 64 |d the end record| 0000c410 20 6e 75 6d 62 65 72 22 0d 34 c6 92 20 20 20 20 | number".4.. | 0000c420 c9 20 31 30 3a 6d 24 3d 49 24 2b 22 74 68 65 20 |. 10:m$=I$+"the | 0000c430 65 6e 64 20 72 65 63 6f 72 64 20 6e 75 6d 62 65 |end record numbe| 0000c440 72 20 66 6f 72 20 74 68 65 20 70 61 72 74 69 61 |r for the partia| 0000c450 6c 20 73 61 76 65 2e 22 2b 4e 24 2b 53 24 2b 22 |l save."+N$+S$+"| 0000c460 61 6c 74 65 72 20 74 68 65 20 6e 75 6d 62 65 72 |alter the number| 0000c470 2c 20 6f 72 20 75 73 65 20 74 68 65 20 61 72 72 |, or use the arr| 0000c480 6f 77 20 69 63 6f 6e 73 20 74 6f 20 74 68 65 20 |ow icons to the | 0000c490 72 69 67 68 74 20 74 6f 20 63 68 61 6e 67 65 20 |right to change | 0000c4a0 74 68 65 20 76 61 6c 75 65 22 0d 34 d0 97 20 20 |the value".4.. | 0000c4b0 20 20 c9 20 31 31 3a 6d 24 3d 53 24 2b 22 64 65 | . 11:m$=S$+"de| 0000c4c0 63 72 65 61 73 65 20 74 68 65 20 65 6e 64 20 72 |crease the end r| 0000c4d0 65 63 6f 72 64 20 6e 75 6d 62 65 72 20 66 6f 72 |ecord number for| 0000c4e0 20 74 68 65 20 70 61 72 74 69 61 6c 20 73 61 76 | the partial sav| 0000c4f0 65 2e 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 |e. Remember that| 0000c500 20 74 68 65 20 65 6e 64 20 72 65 63 6f 72 64 20 | the end record | 0000c510 6e 75 6d 62 65 72 20 77 69 6c 6c 20 6e 6f 74 20 |number will not | 0000c520 67 6f 20 62 65 6c 6f 77 20 74 68 65 20 73 74 61 |go below the sta| 0000c530 72 74 20 72 65 63 6f 72 64 20 6e 75 6d 62 65 72 |rt record number| 0000c540 22 0d 34 da 48 20 20 20 20 c9 20 31 32 3a 6d 24 |".4.H . 12:m$| 0000c550 3d 53 24 2b 22 69 6e 63 72 65 61 73 65 20 74 68 |=S$+"increase th| 0000c560 65 20 65 6e 64 20 72 65 63 6f 72 64 20 6e 75 6d |e end record num| 0000c570 62 65 72 20 66 6f 72 20 74 68 65 20 70 61 72 74 |ber for the part| 0000c580 69 61 6c 20 73 61 76 65 22 0d 34 e4 07 20 20 cb |ial save".4.. .| 0000c590 0d 34 ee a1 20 20 c9 20 6c 69 73 74 5f 70 61 6e |.4.. . list_pan| 0000c5a0 65 25 3a 6d 24 3d 57 24 2b 22 74 68 65 20 72 65 |e%:m$=W$+"the re| 0000c5b0 63 6f 72 64 20 6e 75 6d 62 65 72 20 61 6e 64 20 |cord number and | 0000c5c0 6d 61 74 63 68 65 64 20 66 69 65 6c 64 73 20 6f |matched fields o| 0000c5d0 66 20 74 68 65 20 6c 61 73 74 20 73 65 61 72 63 |f the last searc| 0000c5e0 68 20 70 65 72 66 6f 72 6d 65 64 2e 22 2b 4e 24 |h performed."+N$| 0000c5f0 2b 53 24 2b 22 6d 6f 76 65 20 74 6f 20 74 68 65 |+S$+"move to the| 0000c600 20 72 65 63 6f 72 64 20 61 6e 64 20 66 69 65 6c | record and fiel| 0000c610 64 20 69 6e 20 77 68 69 63 68 20 74 68 69 73 20 |d in which this | 0000c620 73 74 72 69 6e 67 20 77 61 73 20 66 6f 75 6e 64 |string was found| 0000c630 22 0d 34 f8 15 20 20 c9 20 6c 69 73 74 25 3a c8 |".4.. . list%:.| 0000c640 8e 20 69 25 20 ca 0d 35 02 33 20 20 20 20 c9 20 |. i% ..5.3 . | 0000c650 31 3a 6d 24 3d 53 24 2b 22 63 6c 6f 73 65 20 74 |1:m$=S$+"close t| 0000c660 68 65 20 73 65 61 72 63 68 20 72 65 73 75 6c 74 |he search result| 0000c670 73 20 77 69 6e 64 6f 77 22 0d 35 0c 51 20 20 20 |s window".5.Q | 0000c680 20 c9 20 32 3a 6d 24 3d 53 24 2b 22 72 65 2d 6f | . 2:m$=S$+"re-o| 0000c690 70 65 6e 20 74 68 65 20 73 65 61 72 63 68 20 77 |pen the search w| 0000c6a0 69 6e 64 6f 77 20 61 6e 64 20 63 6c 6f 73 65 20 |indow and close | 0000c6b0 74 68 65 20 73 65 61 72 63 68 20 72 65 73 75 6c |the search resul| 0000c6c0 74 73 20 77 69 6e 64 6f 77 22 0d 35 16 3c 20 20 |ts window".5.< | 0000c6d0 20 20 c9 20 33 3a 6d 24 3d 53 24 2b 22 64 65 6c | . 3:m$=S$+"del| 0000c6e0 65 74 65 20 74 68 65 20 72 65 63 6f 72 64 73 20 |ete the records | 0000c6f0 6d 61 74 63 68 65 64 20 62 79 20 74 68 65 20 73 |matched by the s| 0000c700 65 61 72 63 68 22 0d 35 20 3f 20 20 20 20 c9 20 |earch".5 ? . | 0000c710 34 3a 6d 24 3d 53 24 2b 22 6f 70 65 6e 20 61 20 |4:m$=S$+"open a | 0000c720 73 61 76 65 20 62 6f 78 20 74 6f 20 73 61 76 65 |save box to save| 0000c730 20 74 68 65 20 6d 61 74 63 68 65 64 20 72 65 63 | the matched rec| 0000c740 6f 72 64 73 22 0d 35 2a 49 20 20 20 20 c9 20 35 |ords".5*I . 5| 0000c750 3a 6d 24 3d 53 24 2b 22 72 65 64 6f 20 74 68 65 |:m$=S$+"redo the| 0000c760 20 73 65 61 72 63 68 2c 20 75 73 65 66 75 6c 20 | search, useful | 0000c770 69 73 20 74 68 65 20 64 61 74 61 20 68 61 73 20 |is the data has | 0000c780 63 68 61 6e 67 65 64 20 73 69 6e 63 65 22 0d 35 |changed since".5| 0000c790 34 07 20 20 cb 0d 35 3e 15 20 20 c9 20 62 6f 6f |4. ..5>. . boo| 0000c7a0 6b 25 3a c8 8e 20 69 25 20 ca 0d 35 48 44 20 20 |k%:.. i% ..5HD | 0000c7b0 20 20 c9 20 39 3a 6d 24 3d 49 24 2b 22 74 68 65 | . 9:m$=I$+"the| 0000c7c0 20 6e 61 6d 65 20 66 6f 72 20 74 68 69 73 20 72 | name for this r| 0000c7d0 65 63 6f 72 64 2e 22 2b 4e 24 2b 53 24 2b 22 61 |ecord."+N$+S$+"a| 0000c7e0 6c 74 65 72 20 74 68 65 20 64 61 74 61 22 0d 35 |lter the data".5| 0000c7f0 52 5c 20 20 20 20 c9 20 31 30 2c 31 31 2c 31 32 |R\ . 10,11,12| 0000c800 3a 6d 24 3d 22 54 68 65 73 65 20 69 63 6f 6e 73 |:m$="These icons| 0000c810 20 73 68 6f 77 20 74 68 65 20 61 64 64 72 65 73 | show the addres| 0000c820 73 20 66 6f 72 20 74 68 69 73 20 72 65 63 6f 72 |s for this recor| 0000c830 64 2e 22 2b 4e 24 2b 53 24 2b 22 61 6c 74 65 72 |d."+N$+S$+"alter| 0000c840 20 74 68 65 20 64 61 74 61 22 0d 35 5c 45 20 20 | the data".5\E | 0000c850 20 20 c9 20 31 33 3a 6d 24 3d 49 24 2b 22 74 68 | . 13:m$=I$+"th| 0000c860 65 20 74 6f 77 6e 20 66 6f 72 20 74 68 69 73 20 |e town for this | 0000c870 72 65 63 6f 72 64 2e 22 2b 4e 24 2b 53 24 2b 22 |record."+N$+S$+"| 0000c880 61 6c 74 65 72 20 74 68 65 20 64 61 74 61 22 0d |alter the data".| 0000c890 35 66 47 20 20 20 20 c9 20 31 34 3a 6d 24 3d 49 |5fG . 14:m$=I| 0000c8a0 24 2b 22 74 68 65 20 63 6f 75 6e 74 79 20 66 6f |$+"the county fo| 0000c8b0 72 20 74 68 69 73 20 72 65 63 6f 72 64 2e 22 2b |r this record."+| 0000c8c0 4e 24 2b 53 24 2b 22 61 6c 74 65 72 20 74 68 65 |N$+S$+"alter the| 0000c8d0 20 64 61 74 61 22 0d 35 70 48 20 20 20 20 c9 20 | data".5pH . | 0000c8e0 31 35 3a 6d 24 3d 49 24 2b 22 74 68 65 20 63 6f |15:m$=I$+"the co| 0000c8f0 75 6e 74 72 79 20 66 6f 72 20 74 68 69 73 20 72 |untry for this r| 0000c900 65 63 6f 72 64 2e 22 2b 4e 24 2b 53 24 2b 22 61 |ecord."+N$+S$+"a| 0000c910 6c 74 65 72 20 74 68 65 20 64 61 74 61 22 0d 35 |lter the data".5| 0000c920 7a 49 20 20 20 20 c9 20 31 36 3a 6d 24 3d 49 24 |zI . 16:m$=I$| 0000c930 2b 22 74 68 65 20 70 6f 73 74 63 6f 64 65 20 66 |+"the postcode f| 0000c940 6f 72 20 74 68 69 73 20 72 65 63 6f 72 64 2e 22 |or this record."| 0000c950 2b 4e 24 2b 53 24 2b 22 61 6c 74 65 72 20 74 68 |+N$+S$+"alter th| 0000c960 65 20 64 61 74 61 22 0d 35 84 56 20 20 20 20 c9 |e data".5.V .| 0000c970 20 31 37 3a 6d 24 3d 49 24 2b 22 74 68 65 20 68 | 17:m$=I$+"the h| 0000c980 6f 6d 65 20 74 65 6c 65 70 68 6f 6e 65 20 6e 75 |ome telephone nu| 0000c990 6d 62 65 72 20 66 6f 72 20 74 68 69 73 20 72 65 |mber for this re| 0000c9a0 63 6f 72 64 2e 22 2b 4e 24 2b 53 24 2b 22 61 6c |cord."+N$+S$+"al| 0000c9b0 74 65 72 20 74 68 65 20 64 61 74 61 22 0d 35 8e |ter the data".5.| 0000c9c0 56 20 20 20 20 c9 20 31 38 3a 6d 24 3d 49 24 2b |V . 18:m$=I$+| 0000c9d0 22 74 68 65 20 77 6f 72 6b 20 74 65 6c 65 70 68 |"the work teleph| 0000c9e0 6f 6e 65 20 6e 75 6d 62 65 72 20 66 6f 72 20 74 |one number for t| 0000c9f0 68 69 73 20 72 65 63 6f 72 64 2e 22 2b 4e 24 2b |his record."+N$+| 0000ca00 53 24 2b 22 61 6c 74 65 72 20 74 68 65 20 64 61 |S$+"alter the da| 0000ca10 74 61 22 0d 35 98 55 20 20 20 20 c9 20 31 39 3a |ta".5.U . 19:| 0000ca20 6d 24 3d 49 24 2b 22 74 68 65 20 66 61 78 20 74 |m$=I$+"the fax t| 0000ca30 65 6c 65 70 68 6f 6e 65 20 6e 75 6d 62 65 72 20 |elephone number | 0000ca40 66 6f 72 20 74 68 69 73 20 72 65 63 6f 72 64 2e |for this record.| 0000ca50 22 2b 4e 24 2b 53 24 2b 22 61 6c 74 65 72 20 74 |"+N$+S$+"alter t| 0000ca60 68 65 20 64 61 74 61 22 0d 35 a2 07 20 20 cb 0d |he data".5.. ..| 0000ca70 35 ac 15 20 20 c9 20 70 72 65 66 25 3a c8 8e 20 |5.. . pref%:.. | 0000ca80 69 25 20 ca 0d 35 b6 32 20 20 20 20 c9 20 31 3a |i% ..5.2 . 1:| 0000ca90 6d 24 3d 53 24 2b 22 61 63 63 65 70 74 20 74 68 |m$=S$+"accept th| 0000caa0 65 20 63 75 72 72 65 6e 74 20 70 72 65 66 65 72 |e current prefer| 0000cab0 65 6e 63 65 73 22 0d 35 c0 52 20 20 20 20 c9 20 |ences".5.R . | 0000cac0 32 3a 6d 24 3d 53 24 2b 22 63 61 6e 63 65 6c 20 |2:m$=S$+"cancel | 0000cad0 74 68 65 20 63 68 61 6e 67 65 64 20 70 72 65 66 |the changed pref| 0000cae0 65 72 65 6e 63 65 73 20 61 6e 64 20 72 65 73 65 |erences and rese| 0000caf0 74 20 74 68 65 6d 20 74 6f 20 68 6f 77 20 74 68 |t them to how th| 0000cb00 65 79 20 77 65 72 65 22 0d 35 ca 31 20 20 20 20 |ey were".5.1 | 0000cb10 c9 20 33 3a 6d 24 3d 53 24 2b 22 61 70 70 6c 79 |. 3:m$=S$+"apply| 0000cb20 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 72 65 | the default pre| 0000cb30 66 65 72 65 6e 63 65 73 22 0d 35 d4 30 20 20 20 |ferences".5.0 | 0000cb40 20 c9 20 34 3a 6d 24 3d 53 24 2b 22 73 61 76 65 | . 4:m$=S$+"save| 0000cb50 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 65 | the current pre| 0000cb60 66 65 72 65 6e 63 65 73 22 0d 35 de 33 20 20 20 |ferences".5.3 | 0000cb70 20 c9 20 35 3a 6d 24 3d 53 24 2b 22 6c 6f 61 64 | . 5:m$=S$+"load| 0000cb80 20 74 68 65 20 6c 61 73 74 20 73 61 76 65 64 20 | the last saved | 0000cb90 70 72 65 66 65 72 65 6e 63 65 73 22 0d 35 e8 07 |preferences".5..| 0000cba0 20 20 cb 0d 35 f2 1a 20 20 c9 20 70 72 65 66 5f | ..5.. . pref_| 0000cbb0 70 61 6e 65 25 3a c8 8e 20 69 25 20 ca 0d 35 fc |pane%:.. i% ..5.| 0000cbc0 51 20 20 20 20 c9 20 32 3a 6d 24 3d 53 24 2b 22 |Q . 2:m$=S$+"| 0000cbd0 74 6f 67 67 6c 65 20 77 68 65 74 68 65 72 20 74 |toggle whether t| 0000cbe0 6f 20 61 73 6b 20 66 6f 72 20 63 6f 6e 66 69 72 |o ask for confir| 0000cbf0 6d 61 74 69 6f 6e 20 77 68 65 6e 20 63 6c 65 61 |mation when clea| 0000cc00 72 69 6e 67 20 61 20 72 65 63 6f 72 64 22 0d 36 |ring a record".6| 0000cc10 06 51 20 20 20 20 c9 20 33 3a 6d 24 3d 53 24 2b |.Q . 3:m$=S$+| 0000cc20 22 74 6f 67 67 6c 65 20 77 68 65 74 68 65 72 20 |"toggle whether | 0000cc30 74 6f 20 61 73 6b 20 66 6f 72 20 63 6f 6e 66 69 |to ask for confi| 0000cc40 72 6d 61 74 69 6f 6e 20 77 68 65 6e 20 64 65 6c |rmation when del| 0000cc50 65 74 69 6e 67 20 61 20 72 65 63 6f 72 64 22 0d |eting a record".| 0000cc60 36 10 75 20 20 20 20 c9 20 34 3a 6d 24 3d 53 24 |6.u . 4:m$=S$| 0000cc70 2b 22 74 6f 67 67 6c 65 20 77 68 65 74 68 65 72 |+"toggle whether| 0000cc80 20 74 6f 20 61 73 6b 20 66 6f 72 20 63 6f 6e 66 | to ask for conf| 0000cc90 69 72 6d 61 74 69 6f 6e 20 77 68 65 6e 20 64 65 |irmation when de| 0000cca0 6c 65 74 69 6e 67 20 74 68 65 20 6d 61 74 63 68 |leting the match| 0000ccb0 65 64 20 72 65 63 6f 72 64 73 20 66 6f 75 6e 64 |ed records found| 0000ccc0 20 62 79 20 74 68 65 20 6c 61 73 74 20 73 65 61 | by the last sea| 0000ccd0 72 63 68 22 0d 36 1a 62 20 20 20 20 c9 20 35 3a |rch".6.b . 5:| 0000cce0 6d 24 3d 53 24 2b 22 74 6f 67 67 6c 65 20 77 68 |m$=S$+"toggle wh| 0000ccf0 65 74 68 65 72 20 74 6f 20 61 73 6b 20 66 6f 72 |ether to ask for| 0000cd00 20 63 6f 6e 66 69 72 6d 61 74 69 6f 6e 20 77 68 | confirmation wh| 0000cd10 65 6e 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 |en deleting the | 0000cd20 63 6f 6d 70 6c 65 74 65 20 61 64 64 72 65 73 73 |complete address| 0000cd30 20 62 6f 6f 6b 22 0d 36 24 f3 20 20 20 20 c9 20 | book".6$. . | 0000cd40 39 3a 6d 24 3d 22 49 66 20 74 68 69 73 20 6f 70 |9:m$="If this op| 0000cd50 74 69 6f 6e 20 69 73 20 73 65 6c 65 63 74 65 64 |tion is selected| 0000cd60 2c 20 74 68 65 6e 20 77 68 65 6e 20 6d 65 72 67 |, then when merg| 0000cd70 69 6e 67 20 61 20 73 69 6e 67 6c 65 20 61 64 64 |ing a single add| 0000cd80 72 65 73 73 20 66 69 6c 65 2c 20 54 65 6c 41 64 |ress file, TelAd| 0000cd90 64 72 20 77 69 6c 6c 20 63 68 65 63 6b 20 69 66 |dr will check if| 0000cda0 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 63 | the current rec| 0000cdb0 6f 72 64 20 69 73 20 62 6c 61 6e 6b 3b 20 69 66 |ord is blank; if| 0000cdc0 20 73 6f 2c 20 69 74 20 77 69 6c 6c 20 72 65 70 | so, it will rep| 0000cdd0 6c 61 63 65 20 69 74 20 77 69 74 68 20 74 68 65 |lace it with the| 0000cde0 20 6e 65 77 20 61 64 64 72 65 73 73 2c 20 6f 74 | new address, ot| 0000cdf0 68 65 72 77 69 73 65 20 69 74 20 77 69 6c 6c 20 |herwise it will | 0000ce00 61 70 70 65 6e 64 20 69 74 20 74 6f 20 74 68 65 |append it to the| 0000ce10 20 65 6e 64 20 6f 66 20 74 68 65 20 61 64 64 72 | end of the addr| 0000ce20 65 73 73 20 62 6f 6f 6b 22 0d 36 2e 8e 20 20 20 |ess book".6.. | 0000ce30 20 c9 20 31 30 3a 6d 24 3d 22 49 66 20 74 68 69 | . 10:m$="If thi| 0000ce40 73 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 6c 65 |s option is sele| 0000ce50 63 74 65 64 2c 20 74 68 65 6e 20 77 68 65 6e 20 |cted, then when | 0000ce60 6d 65 72 67 69 6e 67 20 61 6e 79 20 61 64 64 72 |merging any addr| 0000ce70 65 73 73 20 66 69 6c 65 2c 20 54 65 6c 41 64 64 |ess file, TelAdd| 0000ce80 72 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 61 70 |r will always ap| 0000ce90 70 65 6e 64 20 69 74 20 74 6f 20 74 68 65 20 65 |pend it to the e| 0000cea0 6e 64 20 6f 66 20 74 68 65 20 61 64 64 72 65 73 |nd of the addres| 0000ceb0 73 20 62 6f 6f 6b 22 0d 36 38 87 20 20 20 20 c9 |s book".68. .| 0000cec0 20 31 33 3a 6d 24 3d 22 49 66 20 74 68 69 73 20 | 13:m$="If this | 0000ced0 6f 70 74 69 6f 6e 20 69 73 20 73 65 6c 65 63 74 |option is select| 0000cee0 65 64 2c 20 74 68 65 6e 20 77 68 65 6e 20 61 64 |ed, then when ad| 0000cef0 64 69 6e 67 20 72 65 63 6f 72 64 73 20 66 72 6f |ding records fro| 0000cf00 6d 20 74 68 65 20 74 6f 6f 6c 62 6f 78 2c 20 74 |m the toolbox, t| 0000cf10 68 65 79 20 77 69 6c 6c 20 62 65 20 63 72 65 61 |hey will be crea| 0000cf20 74 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 63 |ted before the c| 0000cf30 75 72 72 65 6e 74 20 72 65 63 6f 72 64 22 0d 36 |urrent record".6| 0000cf40 42 86 20 20 20 20 c9 20 31 34 3a 6d 24 3d 22 49 |B. . 14:m$="I| 0000cf50 66 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 |f this option is| 0000cf60 20 73 65 6c 65 63 74 65 64 2c 20 74 68 65 6e 20 | selected, then | 0000cf70 77 68 65 6e 20 61 64 64 69 6e 67 20 72 65 63 6f |when adding reco| 0000cf80 72 64 73 20 66 72 6f 6d 20 74 68 65 20 74 6f 6f |rds from the too| 0000cf90 6c 62 6f 78 2c 20 74 68 65 79 20 77 69 6c 6c 20 |lbox, they will | 0000cfa0 62 65 20 63 72 65 61 74 65 64 20 61 66 74 65 72 |be created after| 0000cfb0 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 63 | the current rec| 0000cfc0 6f 72 64 22 0d 36 4c 58 20 20 20 20 c9 20 31 39 |ord".6LX . 19| 0000cfd0 2c 32 30 2c 32 31 2c 32 32 2c 32 33 2c 32 34 2c |,20,21,22,23,24,| 0000cfe0 32 35 2c 32 36 2c 32 37 3a 6d 24 3d 53 24 2b 22 |25,26,27:m$=S$+"| 0000cff0 74 6f 67 67 6c 65 20 74 68 65 20 64 65 66 61 75 |toggle the defau| 0000d000 6c 74 20 66 69 65 6c 64 73 20 74 6f 20 73 65 61 |lt fields to sea| 0000d010 72 63 68 20 74 68 72 6f 75 67 68 22 0d 36 56 47 |rch through".6VG| 0000d020 20 20 20 20 c9 20 33 30 3a 6d 24 3d 53 24 2b 22 | . 30:m$=S$+"| 0000d030 74 6f 67 67 6c 65 20 77 68 65 74 68 65 72 20 74 |toggle whether t| 0000d040 6f 20 68 61 76 65 20 63 61 73 65 20 73 65 6e 73 |o have case sens| 0000d050 69 74 69 76 69 74 79 20 61 73 20 64 65 66 61 75 |itivity as defau| 0000d060 6c 74 22 0d 36 60 56 20 20 20 20 c9 20 33 35 3a |lt".6`V . 35:| 0000d070 6d 24 3d 53 24 2b 22 63 68 6f 6f 73 65 20 74 68 |m$=S$+"choose th| 0000d080 65 20 54 65 6c 41 64 64 72 20 66 6f 72 6d 61 74 |e TelAddr format| 0000d090 20 61 73 20 64 65 66 61 75 6c 74 20 77 68 65 6e | as default when| 0000d0a0 20 73 61 76 69 6e 67 20 74 68 65 20 61 64 64 72 | saving the addr| 0000d0b0 65 73 73 20 62 6f 6f 6b 22 0d 36 6a 56 20 20 20 |ess book".6jV | 0000d0c0 20 c9 20 33 36 3a 6d 24 3d 53 24 2b 22 63 68 6f | . 36:m$=S$+"cho| 0000d0d0 6f 73 65 20 41 53 43 49 49 20 28 61 20 74 65 78 |ose ASCII (a tex| 0000d0e0 74 66 69 6c 65 29 20 61 73 20 64 65 66 61 75 6c |tfile) as defaul| 0000d0f0 74 20 77 68 65 6e 20 73 61 76 69 6e 67 20 74 68 |t when saving th| 0000d100 65 20 61 64 64 72 65 73 73 20 62 6f 6f 6b 22 0d |e address book".| 0000d110 36 74 62 20 20 20 20 c9 20 33 37 3a 6d 24 3d 53 |6tb . 37:m$=S| 0000d120 24 2b 22 74 6f 67 67 6c 65 20 77 68 65 74 68 65 |$+"toggle whethe| 0000d130 72 20 74 6f 20 68 61 76 65 20 70 61 72 74 69 61 |r to have partia| 0000d140 6c 20 73 61 76 69 6e 67 20 61 73 20 64 65 66 61 |l saving as defa| 0000d150 75 6c 74 20 77 68 65 6e 20 73 61 76 69 6e 67 20 |ult when saving | 0000d160 74 68 65 20 61 64 64 72 65 73 73 20 62 6f 6f 6b |the address book| 0000d170 22 0d 36 7e 9c 20 20 20 20 c9 20 33 39 3a 6d 24 |".6~. . 39:m$| 0000d180 3d 49 24 2b 22 74 68 65 20 64 65 66 61 75 6c 74 |=I$+"the default| 0000d190 20 73 74 61 72 74 20 72 65 63 6f 72 64 20 6e 75 | start record nu| 0000d1a0 6d 62 65 72 20 66 6f 72 20 74 68 65 20 70 61 72 |mber for the par| 0000d1b0 74 69 61 6c 20 73 61 76 65 2e 22 2b 4e 24 2b 53 |tial save."+N$+S| 0000d1c0 24 2b 22 61 6c 74 65 72 20 74 68 65 20 6e 75 6d |$+"alter the num| 0000d1d0 62 65 72 2c 20 6f 72 20 75 73 65 20 74 68 65 20 |ber, or use the | 0000d1e0 61 72 72 6f 77 20 69 63 6f 6e 73 20 74 6f 20 74 |arrow icons to t| 0000d1f0 68 65 20 72 69 67 68 74 20 74 6f 20 63 68 61 6e |he right to chan| 0000d200 67 65 20 74 68 65 20 76 61 6c 75 65 22 0d 36 88 |ge the value".6.| 0000d210 52 20 20 20 20 c9 20 34 30 3a 6d 24 3d 53 24 2b |R . 40:m$=S$+| 0000d220 22 64 65 63 72 65 61 73 65 20 74 68 65 20 64 65 |"decrease the de| 0000d230 66 61 75 6c 74 20 73 74 61 72 74 20 72 65 63 6f |fault start reco| 0000d240 72 64 20 6e 75 6d 62 65 72 20 66 6f 72 20 74 68 |rd number for th| 0000d250 65 20 70 61 72 74 69 61 6c 20 73 61 76 65 22 0d |e partial save".| 0000d260 36 92 52 20 20 20 20 c9 20 34 31 3a 6d 24 3d 53 |6.R . 41:m$=S| 0000d270 24 2b 22 69 6e 63 72 65 61 73 65 20 74 68 65 20 |$+"increase the | 0000d280 64 65 66 61 75 6c 74 20 73 74 61 72 74 20 72 65 |default start re| 0000d290 63 6f 72 64 20 6e 75 6d 62 65 72 20 66 6f 72 20 |cord number for | 0000d2a0 74 68 65 20 70 61 72 74 69 61 6c 20 73 61 76 65 |the partial save| 0000d2b0 22 0d 36 9c 9a 20 20 20 20 c9 20 34 33 3a 6d 24 |".6.. . 43:m$| 0000d2c0 3d 49 24 2b 22 74 68 65 20 64 65 66 61 75 6c 74 |=I$+"the default| 0000d2d0 20 65 6e 64 20 72 65 63 6f 72 64 20 6e 75 6d 62 | end record numb| 0000d2e0 65 72 20 66 6f 72 20 74 68 65 20 70 61 72 74 69 |er for the parti| 0000d2f0 61 6c 20 73 61 76 65 2e 22 2b 4e 24 2b 53 24 2b |al save."+N$+S$+| 0000d300 22 61 6c 74 65 72 20 74 68 65 20 6e 75 6d 62 65 |"alter the numbe| 0000d310 72 2c 20 6f 72 20 75 73 65 20 74 68 65 20 61 72 |r, or use the ar| 0000d320 72 6f 77 20 69 63 6f 6e 73 20 74 6f 20 74 68 65 |row icons to the| 0000d330 20 72 69 67 68 74 20 74 6f 20 63 68 61 6e 67 65 | right to change| 0000d340 20 74 68 65 20 76 61 6c 75 65 22 0d 36 a6 50 20 | the value".6.P | 0000d350 20 20 20 c9 20 34 34 3a 6d 24 3d 53 24 2b 22 64 | . 44:m$=S$+"d| 0000d360 65 63 72 65 61 73 65 20 74 68 65 20 64 65 66 61 |ecrease the defa| 0000d370 75 6c 74 20 65 6e 64 20 72 65 63 6f 72 64 20 6e |ult end record n| 0000d380 75 6d 62 65 72 20 66 6f 72 20 74 68 65 20 70 61 |umber for the pa| 0000d390 72 74 69 61 6c 20 73 61 76 65 22 0d 36 b0 50 20 |rtial save".6.P | 0000d3a0 20 20 20 c9 20 34 35 3a 6d 24 3d 53 24 2b 22 69 | . 45:m$=S$+"i| 0000d3b0 6e 63 72 65 61 73 65 20 74 68 65 20 64 65 66 61 |ncrease the defa| 0000d3c0 75 6c 74 20 65 6e 64 20 72 65 63 6f 72 64 20 6e |ult end record n| 0000d3d0 75 6d 62 65 72 20 66 6f 72 20 74 68 65 20 70 61 |umber for the pa| 0000d3e0 72 74 69 61 6c 20 73 61 76 65 22 0d 36 ba 58 20 |rtial save".6.X | 0000d3f0 20 20 20 c9 20 34 38 3a 6d 24 3d 53 24 2b 22 63 | . 48:m$=S$+"c| 0000d400 68 6f 6f 73 65 20 74 68 65 20 54 65 6c 41 64 64 |hoose the TelAdd| 0000d410 72 20 66 6f 72 6d 61 74 20 61 73 20 64 65 66 61 |r format as defa| 0000d420 75 6c 74 20 77 68 65 6e 20 73 61 76 69 6e 67 20 |ult when saving | 0000d430 74 68 65 20 73 65 61 72 63 68 20 72 65 73 75 6c |the search resul| 0000d440 74 73 22 0d 36 c4 58 20 20 20 20 c9 20 34 39 3a |ts".6.X . 49:| 0000d450 6d 24 3d 53 24 2b 22 63 68 6f 6f 73 65 20 41 53 |m$=S$+"choose AS| 0000d460 43 49 49 20 28 61 20 74 65 78 74 66 69 6c 65 29 |CII (a textfile)| 0000d470 20 61 73 20 64 65 66 61 75 6c 74 20 77 68 65 6e | as default when| 0000d480 20 73 61 76 69 6e 67 20 74 68 65 20 73 65 61 72 | saving the sear| 0000d490 63 68 20 72 65 73 75 6c 74 73 22 0d 36 ce 56 20 |ch results".6.V | 0000d4a0 20 20 20 c9 20 35 32 3a 6d 24 3d 53 24 2b 22 63 | . 52:m$=S$+"c| 0000d4b0 68 6f 6f 73 65 20 74 68 65 20 54 65 6c 41 64 64 |hoose the TelAdd| 0000d4c0 72 20 66 6f 72 6d 61 74 20 61 73 20 64 65 66 61 |r format as defa| 0000d4d0 75 6c 74 20 77 68 65 6e 20 73 61 76 69 6e 67 20 |ult when saving | 0000d4e0 61 20 73 69 6e 67 6c 65 20 61 64 64 72 65 73 73 |a single address| 0000d4f0 22 0d 36 d8 56 20 20 20 20 c9 20 35 33 3a 6d 24 |".6.V . 53:m$| 0000d500 3d 53 24 2b 22 63 68 6f 6f 73 65 20 41 53 43 49 |=S$+"choose ASCI| 0000d510 49 20 28 61 20 74 65 78 74 66 69 6c 65 29 20 61 |I (a textfile) a| 0000d520 73 20 64 65 66 61 75 6c 74 20 77 68 65 6e 20 73 |s default when s| 0000d530 61 76 69 6e 67 20 61 20 73 69 6e 67 6c 65 20 61 |aving a single a| 0000d540 64 64 72 65 73 73 22 0d 36 e2 6d 20 20 20 20 c9 |ddress".6.m .| 0000d550 20 35 34 3a 6d 24 3d 53 24 2b 22 74 6f 67 67 6c | 54:m$=S$+"toggl| 0000d560 65 20 77 68 65 74 68 65 72 20 74 6f 20 69 6e 63 |e whether to inc| 0000d570 6c 75 64 65 20 74 65 6c 65 70 68 6f 6e 65 20 6e |lude telephone n| 0000d580 75 6d 62 65 72 73 20 61 73 20 64 65 66 61 75 6c |umbers as defaul| 0000d590 74 20 77 68 65 6e 20 73 61 76 69 6e 67 20 61 20 |t when saving a | 0000d5a0 73 69 6e 67 6c 65 20 61 64 64 72 65 73 73 20 62 |single address b| 0000d5b0 6f 6f 6b 22 0d 36 ec 6d 20 20 20 20 c9 20 37 34 |ook".6.m . 74| 0000d5c0 3a 6d 24 3d 53 24 2b 22 74 6f 67 67 6c 65 20 77 |:m$=S$+"toggle w| 0000d5d0 68 65 74 68 65 72 20 74 6f 20 61 64 64 20 63 6f |hether to add co| 0000d5e0 6d 6d 61 73 20 61 6e 64 20 66 75 6c 6c 2d 73 74 |mmas and full-st| 0000d5f0 6f 70 73 20 61 73 20 64 65 66 61 75 6c 74 20 77 |ops as default w| 0000d600 68 65 6e 20 73 61 76 69 6e 67 20 61 20 73 69 6e |hen saving a sin| 0000d610 67 6c 65 20 61 64 64 72 65 73 73 20 62 6f 6f 6b |gle address book| 0000d620 22 0d 36 f6 67 20 20 20 20 c9 20 35 37 3a 6d 24 |".6.g . 57:m$| 0000d630 3d 53 24 2b 22 74 6f 67 67 6c 65 20 77 68 65 74 |=S$+"toggle whet| 0000d640 68 65 72 20 74 6f 20 68 69 67 68 6c 69 67 68 74 |her to highlight| 0000d650 20 74 68 65 20 73 65 61 72 63 68 20 73 74 72 69 | the search stri| 0000d660 6e 67 20 69 6e 20 74 68 65 20 6d 61 74 63 68 65 |ng in the matche| 0000d670 64 20 66 69 65 6c 64 73 20 61 66 74 65 72 20 61 |d fields after a| 0000d680 20 73 65 61 72 63 68 22 0d 37 00 32 20 20 20 20 | search".7.2 | 0000d690 c9 20 35 38 3a 6d 24 3d 49 24 2b 22 74 68 65 20 |. 58:m$=I$+"the | 0000d6a0 64 65 66 61 75 6c 74 20 68 69 67 68 74 6c 69 67 |default hightlig| 0000d6b0 68 74 20 63 6f 6c 6f 75 72 22 0d 37 0a 39 20 20 |ht colour".7.9 | 0000d6c0 20 20 c9 20 35 39 3a 6d 24 3d 53 24 2b 22 63 68 | . 59:m$=S$+"ch| 0000d6d0 61 6e 67 65 20 74 68 65 20 64 65 66 61 75 6c 74 |ange the default| 0000d6e0 20 68 69 67 68 74 6c 69 67 68 74 20 63 6f 6c 6f | hightlight colo| 0000d6f0 75 72 22 0d 37 14 61 20 20 20 20 c9 20 36 33 3a |ur".7.a . 63:| 0000d700 6d 24 3d 53 24 2b 22 74 6f 67 67 6c 65 20 77 68 |m$=S$+"toggle wh| 0000d710 65 74 68 65 72 20 74 6f 20 6c 6f 61 64 20 74 68 |ether to load th| 0000d720 65 20 73 70 65 63 69 66 69 65 64 20 61 64 64 72 |e specified addr| 0000d730 65 73 73 20 62 6f 6f 6b 20 77 68 65 6e 20 74 68 |ess book when th| 0000d740 65 20 70 72 6f 67 72 61 6d 20 69 73 20 6c 6f 61 |e program is loa| 0000d750 64 65 64 22 0d 37 1e a2 20 20 20 20 c9 20 36 35 |ded".7.. . 65| 0000d760 3a 6d 24 3d 49 24 2b 22 74 68 65 20 66 75 6c 6c |:m$=I$+"the full| 0000d770 20 70 61 74 68 6e 61 6d 65 20 66 6f 72 20 74 68 | pathname for th| 0000d780 65 20 64 65 66 61 75 6c 74 20 61 64 64 72 65 73 |e default addres| 0000d790 73 20 62 6f 6f 6b 2e 22 2b 4e 24 2b 53 24 2b 22 |s book."+N$+S$+"| 0000d7a0 20 74 6f 20 61 6c 74 65 72 20 69 74 2c 20 6f 72 | to alter it, or| 0000d7b0 20 64 72 61 67 20 61 6e 20 61 64 64 72 65 73 73 | drag an address| 0000d7c0 20 62 6f 6f 6b 20 66 69 6c 65 20 6f 6e 74 6f 20 | book file onto | 0000d7d0 74 68 69 73 20 66 69 6c 65 20 74 6f 20 75 73 65 |this file to use| 0000d7e0 20 69 74 73 20 70 61 74 68 6e 61 6d 65 20 69 6e | its pathname in| 0000d7f0 73 74 65 61 64 22 0d 37 28 79 20 20 20 20 c9 20 |stead".7(y . | 0000d800 36 38 3a 6d 24 3d 53 24 2b 22 74 6f 67 67 6c 65 |68:m$=S$+"toggle| 0000d810 20 77 68 65 74 68 65 72 20 74 6f 20 73 68 6f 77 | whether to show| 0000d820 20 74 68 65 20 74 6f 6f 6c 62 6f 78 20 28 61 74 | the toolbox (at| 0000d830 74 61 63 68 65 64 20 74 6f 20 74 68 65 20 73 69 |tached to the si| 0000d840 64 65 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 61 |de of the main a| 0000d850 64 64 72 65 73 73 20 62 6f 6f 6b 20 77 69 6e 64 |ddress book wind| 0000d860 6f 77 29 20 62 79 20 64 65 66 61 75 6c 74 22 0d |ow) by default".| 0000d870 37 32 83 20 20 20 20 c9 20 36 39 3a 6d 24 3d 53 |72. . 69:m$=S| 0000d880 24 2b 22 74 6f 67 67 6c 65 20 77 68 65 74 68 65 |$+"toggle whethe| 0000d890 72 20 74 6f 20 73 68 6f 77 20 74 68 65 20 70 6f |r to show the po| 0000d8a0 73 69 74 69 6f 6e 20 77 69 6e 64 6f 77 20 28 61 |sition window (a| 0000d8b0 74 74 61 63 68 65 64 20 74 6f 20 74 68 65 20 62 |ttached to the b| 0000d8c0 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 6d 61 69 |ottom of the mai| 0000d8d0 6e 20 61 64 64 72 65 73 73 20 62 6f 6f 6b 20 77 |n address book w| 0000d8e0 69 6e 64 6f 77 29 20 62 79 20 64 65 66 61 75 6c |indow) by defaul| 0000d8f0 74 22 0d 37 3c 5c 20 20 20 20 c9 20 37 32 3a 6d |t".7<\ . 72:m| 0000d900 24 3d 53 24 2b 22 74 6f 67 67 6c 65 20 77 68 65 |$=S$+"toggle whe| 0000d910 74 68 65 72 20 74 6f 20 69 6e 73 65 72 74 20 61 |ther to insert a| 0000d920 20 64 65 66 61 75 6c 74 20 63 6f 75 6e 74 72 79 | default country| 0000d930 20 77 68 65 6e 20 61 20 6e 65 77 20 72 65 63 6f | when a new reco| 0000d940 72 64 20 69 73 20 63 72 65 61 74 65 64 22 0d 37 |rd is created".7| 0000d950 46 3e 20 20 20 20 c9 20 37 33 3a 6d 24 3d 49 24 |F> . 73:m$=I$| 0000d960 2b 22 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f |+"the default co| 0000d970 75 6e 74 72 79 2e 22 2b 4e 24 2b 53 24 2b 22 74 |untry."+N$+S$+"t| 0000d980 6f 20 63 68 61 6e 67 65 20 69 74 22 0d 37 50 07 |o change it".7P.| 0000d990 20 20 cb 0d 37 5a 78 20 20 c9 20 2d 32 3a 6d 24 | ..7Zx . -2:m$| 0000d9a0 3d 22 54 68 69 73 20 69 73 20 74 68 65 20 54 65 |="This is the Te| 0000d9b0 6c 41 64 64 72 20 69 63 6f 6e 2c 20 61 6e 20 65 |lAddr icon, an e| 0000d9c0 64 69 74 6f 72 20 6f 66 20 74 65 6c 65 70 68 6f |ditor of telepho| 0000d9d0 6e 65 20 61 6e 64 20 61 64 64 72 65 73 73 20 62 |ne and address b| 0000d9e0 6f 6f 6b 73 2e 22 2b 4e 24 2b 53 24 2b 22 6f 70 |ooks."+N$+S$+"op| 0000d9f0 65 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 62 |en the address b| 0000da00 6f 6f 6b 20 77 69 6e 64 6f 77 22 0d 37 64 05 cb |ook window".7d..| 0000da10 0d 37 6e 2c e7 20 6d 24 3c 3e 22 22 20 c8 99 20 |.7n,. m$<>"" .. | 0000da20 22 57 69 6d 70 45 78 74 5f 53 65 6e 64 48 65 6c |"WimpExt_SendHel| 0000da30 70 22 2c 6d 24 2b 22 2e 22 2c 62 25 0d 37 78 05 |p",m$+".",b%.7x.| 0000da40 e1 0d ff |...| 0000da43