Home » Archimedes archive » Archimedes World » AW-1994-07-Disc2.adf » Disk2Jul94 » !AWJuly94/Goodies/ADRBook/!ADRBook/!RunImage

!AWJuly94/Goodies/ADRBook/!ADRBook/!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 » Archimedes archive » Archimedes World » AW-1994-07-Disc2.adf » Disk2Jul94
Filename: !AWJuly94/Goodies/ADRBook/!ADRBook/!RunImage
Read OK:
File size: DA0A bytes
Load address: 0000
Exec address: 0000
File contents
   10SYS "OS_GetEnv" TO env$
   20IF INSTR(env$," -quit ") THEN
   30fileload$=MID$(env$,INSTR(env$,CHR$(34),INSTR(env$,CHR$(34))+1)+1)
   40ENDIF
   50                           PROCWimp_Start("ADRBook",1880,3862)
   60                           PROCUser_SetInitialData
   70                           PROCCreate_Windows
   80                           PROCCreate_Menus
   90IF fileload$<>" " THEN
  100PROCEvent_LoadFile(fileload$,"FBF")
  110PROCWimp_IconPutText(Save_Window%,1,fileload$)
  120ENDIF
  130                           PROCWimp_WaitForEvent
  140                           PROCWimp_CloseDown
  150                           END
  160       :
  170       DEF PROCUser_SetInitialData
  180DOSAVE%=TRUE
  190search%=FALSE
  200SNUM%=-2
  210SEARCH$=""
  220SEARCH2$=""
  230SEARCH3$=""
  240ssel%=0
  250DIM title% 256
  260       psel%=1
  270       pcur%=0
  280       psurname%=TRUE
  290       pothers%=TRUE
  300       padd%=TRUE
  310       ppostcode%=TRUE
  320       parea%=TRUE
  330       ptel%=TRUE
  340       pnts%=TRUE
  350DIM tone%(9,1)
  360FORI%=0TO9:FORJ%=0TO1:READtone%(I%,J%):NEXT:NEXT
  370DATA24063,26145,22288,25564,22288,26145,22288,26726,22979,25564
  380DATA22979,26145,22979,26726,23482,25564,23482,26145,23482,26726
  390       WIN$="NONE"
  400       dim=300
  410       DIM SURNAME$(dim)
  420       DIM OTHERS$(dim)
  430       DIM ADD1$(dim)
  440       DIM ADD2$(dim)
  450       DIM ADD3$(dim)
  460       DIM POSTCODE$(dim)
  470       DIM AREA$(dim)
  480       DIM TEL$(dim)
  490       DIM NTS$(dim)
  500SURNAME$()=""
  510OTHERS$()=""
  520ADD1$()=""
  530ADD2$()=""
  540ADD3$()=""
  550POSTCODE$()=""
  560AREA$()=""
  570TEL$()=""
  580NTS$()=""
  590       cur%=0
  600       tot%=0
  610SA%=FALSE
  620UPDATE%=FALSE
  630CD%=FALSE
  640       ENDPROC
  650       :
  660       DEF PROCCreate_Windows
  670         PROCWimp_SpritesLoad
  680                  Info_Window%=FNWimp_WindowLoad("Info")
  690                 Title_Window%=FNWimp_WindowLoad("Title")
  700                  Main_Window%=FNWimp_WindowLoad("Main")
  710                 Print_Window%=FNWimp_WindowLoad("Print")
  720                  Save_Window%=FNWimp_WindowLoad("Save")
  730                  Set_Window%=FNWimp_WindowLoad("Set")
  740                Close_Window%=FNWimp_WindowLoad("Close")
  750                Save2_Window%=FNWimp_WindowLoad("Save2")
  760              Search2_Window%=FNWimp_WindowLoad("Search2")
  770       Bar_Icon%=FNWimp_IconBar("!ADRBook")
  780       PROCable
  790       ENDPROC
  800        :
  810        DEF FNEvent_Save(window%)
  820          CASE window% OF
  830            WHEN Save_Window% :=TRUE
  840            WHEN Save2_Window% :=TRUE
  850            OTHERWISE :=FALSE
  860          ENDCASE
  870        :
  880        DEF FNEvent_Sprites(window%)=sprites%
  890       :
  900       DEF PROCCreate_Menus
  910        Save_Menu%=FNWimp_MenuCreate("Save\ADRBook>Save_Window%\Text>Save2_Window%")
  920         Bar_Menu%=FNWimp_MenuCreate("ADRBook\Info>Info_Window%\Save>Save_Menu%\Quit")
  930         Main_Menu%=FNWimp_MenuCreate("Main\Turn Back\Start\Back\Dial\Sort\Search Set\Delete\Add\Print\Forward\End\Save>Save_Menu%")
  940        Title_Menu%=FNWimp_MenuCreate("Title\Close Book\Turn Over\Save>Save_Menu%")
  950      Search2_Menu%=FNWimp_MenuCreate("Search\Search\Cancel")
  960       PROCWimp_MenuDottedLine(Title_Menu%,1)
  970       PROCWimp_MenuDottedLine(Title_Menu%,2)
  980       PROCWimp_MenuDottedLine(Bar_Menu%,1)
  990       PROCWimp_MenuDottedLine(Bar_Menu%,2)
 1000        Print_Menu%=FNWimp_MenuCreate("Print\Turn Back\Print")
 1010       PROCWimp_MenuDottedLine(Print_Menu%,1)
 1020          Set_Menu%=FNWimp_MenuCreate("Search Set\Turn Back\Search")
 1030       PROCWimp_MenuDottedLine(Main_Menu%,1)
 1040       PROCWimp_MenuDottedLine(Main_Menu%,3)
 1050       PROCWimp_MenuDottedLine(Main_Menu%,9)
 1060       PROCWimp_MenuDottedLine(Main_Menu%,11)
 1070       PROCmenuupdate
 1080       ENDPROC
 1090        :
 1100        DEF FNEvent_Menu(window%)
 1110        CASE window% OF
 1120         WHEN Bar_Window%        : =Bar_Menu%
 1130         WHEN Main_Window%
 1140IF search%=FALSE THEN
 1150=Main_Menu%
 1160ELSE
 1170=Search2_Menu%
 1180ENDIF
 1190         WHEN Print_Window%      : =Print_Menu%
 1200         WHEN Title_Window%      : =Title_Menu%
 1210         WHEN Set_Window%        : =Set_Menu%
 1220         WHEN Search2_Window%    : =Search2_Menu%
 1230         OTHERWISE               : =FALSE
 1240        ENDCASE
 1250       :
 1260       DEF PROCEvent_WindowClose(window%,buttons%)
 1270       CASE window% OF
 1280       WHEN Title_Window%
 1290WIN$="NONE"
 1300       WHEN Main_Window%
 1310PROCWimp_WindowBringToTop(Title_Window%)
 1320WIN$="TITLE"
 1330       WHEN Print_Window%
 1340PROCWimp_WindowBringToTop(Main_Window%)
 1350WIN$="MAIN"
 1360       WHEN Set_Window%
 1370PROCsearchcut
 1380PROCWimp_WindowBringToTop(Main_Window%)
 1390WIN$="MAIN"
 1400
 1410       ENDCASE
 1420       ENDPROC
 1430       :
 1440       DEF PROCEvent_Draw(window%,x_origin%,y_origin%)
 1450       CASE window% OF
 1460        WHEN Info_Window%        : PROCUser_DrawInfoWindow
 1470        WHEN Title_Window%       : PROCUser_DrawTitleWindow
 1480        WHEN Main_Window%        : PROCUser_DrawMainWindow
 1490        WHEN Print_Window%       : PROCUser_DrawPrintWindow
 1500        WHEN Save_Window%        : PROCUser_DrawSaveWindow
 1510       ENDCASE
 1520       ENDPROC
 1530             :
 1540             DEF PROCUser_DrawInfoWindow
 1550             ENDPROC
 1560             :
 1570             DEF PROCUser_DrawTitleWindow
 1580             ENDPROC
 1590             :
 1600             DEF PROCUser_DrawMainWindow
 1610             SYS"Wimp_SetColour",11
 1620             len=212/(tot%+1)
 1630             pos=cur%*len
 1640             RECTANGLE FILL (x_origin%+530)+pos,y_origin%-594,len,22
 1650             ENDPROC
 1660             :
 1670             DEF PROCUser_DrawPrintWindow
 1680             ENDPROC
 1690             :
 1700             DEF PROCUser_DrawSaveWindow
 1710             ENDPROC
 1720       :
 1730       DEF PROCEvent_MouseClick(window%,icon%,button%,x%,y%)
 1740       CASE window% OF
 1750        WHEN Bar_Window%        : PROCUser_MouseBar
 1760        WHEN Info_Window%       : PROCUser_MouseInfo( button%,icon%)
 1770        WHEN Title_Window%      : PROCUser_MouseTitle( button%,icon%)
 1780        WHEN Main_Window%       : PROCUser_MouseMain( button%,icon%)
 1790        WHEN Print_Window%      : PROCUser_MousePrint( button%,icon%)
 1800        WHEN Set_Window%        : PROCUser_MouseSearch( button%,icon%)
 1810        WHEN Close_Window%      : PROCUser_MouseClose( button%,icon%)
 1820        WHEN Search2_Window%    : PROCUser_MouseClose2( button%,icon%)
 1830       ENDCASE
 1840       ENDPROC
 1850         :
 1860         DEF PROCUser_MouseClose2( button%,icon%)
 1870         IF icon%=3 THEN
 1880         search%=FALSE
 1890         PROCWimp_IconEnable(Main_Window%,21)
 1900         PROCWimp_IconEnable(Main_Window%,22)
 1910         PROCWimp_IconEnable(Main_Window%,23)
 1920         PROCWimp_IconEnable(Main_Window%,24)
 1930         PROCWimp_IconEnable(Main_Window%,25)
 1940         PROCWimp_IconEnable(Main_Window%,26)
 1950         PROCWimp_IconEnable(Main_Window%,27)
 1960         PROCWimp_IconEnable(Main_Window%,28)
 1970         PROCWimp_IconEnable(Main_Window%,29)
 1980         PROCWimp_IconEnable(Main_Window%,30)
 1990         PROCWimp_IconEnable(Main_Window%,33)
 2000         PROCWimp_WindowClose(Search2_Window%)
 2010         ENDIF
 2020         IF icon%=2 AND ssel%=2 THEN
 2030         IF SEARCH$=" " AND SEARCH2$=" " AND SEARCH3$=" " THEN
 2040         PROCWimp_WindowErrorBox("!ADRBook","Please set search parameters")
 2050         ELSE
 2060         PROCsearch
 2070         ENDIF
 2080         ENDIF
 2090
 2100         IF icon%=2 AND ssel%<>2 THEN
 2110         IF SEARCH$<>"" AND SEARCH2$<>"" AND SEARCH3$<>"" THEN
 2120         PROCsearch
 2130         ELSE
 2140         PROCWimp_WindowErrorBox("!ADRBook","Please set search parameters")
 2150         ENDIF
 2160         ENDIF
 2170         ENDPROC
 2180         :
 2190         DEF PROCUser_MouseClose( button%,icon%)
 2200         IF icon%=1 THEN
 2210SA%=TRUE
 2220PROCunbox
 2230PROCWimp_WindowClose(Close_Window%)
 2240UPDATE%=FALSE
 2250PROCWimp_WindowBringToTop(Save_Window%)
 2260A$=FNWimp_IconText(Save_Window%,1)
 2270PROCWimp_IconCaret(Save_Window%,1,LEN(A$))
 2280ENDIF
 2290         IF icon%=2 THEN
 2300PROCunbox
 2310UPDATE%=FALSE
 2320PROCWimp_WindowClose(Close_Window%)
 2330CD%=TRUE
 2340ENDIF
 2350         IF icon%=3 THEN
 2360PROCunbox
 2370PROCWimp_WindowClose(Close_Window%)
 2380ENDIF
 2390IF CD%=TRUE THEN PROCWimp_CloseDown
 2400ENDPROC
 2410         :
 2420         DEF PROCUser_MouseBar
 2430         IF WIN$="NONE" AND SA%=FALSE THEN PROCWimp_WindowBringToTop(Title_Window%):WIN$="TITLE"
 2440         ENDPROC
 2450         :
 2460         DEF PROCUser_MouseSearch( button%,icon%)
 2470         IF icon%=3 AND ssel%=2 THEN
 2480         PROCsearchcut
 2490         IF SEARCH$=" " AND SEARCH2$=" " AND SEARCH3$=" " THEN
 2500         PROCWimp_WindowErrorBox("!ADRBook","Please set search parameters")
 2510         ELSE
 2520         PROCWimp_WindowClose(Set_Window%)
 2530         PROCWimp_WindowBringToTop(Main_Window%)
 2540         PROCWimp_WindowBringToTop(Search2_Window%)
 2550         PROCWimp_IconDisable(Main_Window%,21)
 2560         PROCWimp_IconDisable(Main_Window%,22)
 2570         PROCWimp_IconDisable(Main_Window%,23)
 2580         PROCWimp_IconDisable(Main_Window%,24)
 2590         PROCWimp_IconDisable(Main_Window%,25)
 2600         PROCWimp_IconDisable(Main_Window%,26)
 2610         PROCWimp_IconDisable(Main_Window%,27)
 2620         PROCWimp_IconDisable(Main_Window%,28)
 2630         PROCWimp_IconDisable(Main_Window%,29)
 2640         PROCWimp_IconDisable(Main_Window%,30)
 2650         PROCWimp_IconDisable(Main_Window%,33)
 2660         search%=TRUE
 2670         PROCsearch
 2680         ENDIF
 2690         ENDIF
 2700
 2710         IF icon%=3 AND ssel%<>2 THEN
 2720         PROCsearchcut
 2730         IF SEARCH$<>"" AND SEARCH2$<>"" AND SEARCH3$<>"" THEN
 2740         PROCWimp_WindowClose(Set_Window%)
 2750         PROCWimp_WindowBringToTop(Main_Window%)
 2760         PROCWimp_WindowBringToTop(Search2_Window%)
 2770         PROCWimp_IconDisable(Main_Window%,21)
 2780         PROCWimp_IconDisable(Main_Window%,22)
 2790         PROCWimp_IconDisable(Main_Window%,23)
 2800         PROCWimp_IconDisable(Main_Window%,24)
 2810         PROCWimp_IconDisable(Main_Window%,25)
 2820         PROCWimp_IconDisable(Main_Window%,26)
 2830         PROCWimp_IconDisable(Main_Window%,27)
 2840         PROCWimp_IconDisable(Main_Window%,28)
 2850         PROCWimp_IconDisable(Main_Window%,29)
 2860         PROCWimp_IconDisable(Main_Window%,30)
 2870         PROCWimp_IconDisable(Main_Window%,33)
 2880         search%=TRUE
 2890         PROCsearch
 2900         ELSE
 2910         PROCWimp_WindowErrorBox("!ADRBook","Please set search parameters")
 2920         ENDIF
 2930         ENDIF
 2940
 2950         IF icon%=2 THEN
 2960PROCsearchcut
 2970PROCWimp_WindowClose(Set_Window%)
 2980PROCWimp_WindowBringToTop(Main_Window%)
 2990WIN$="MAIN"
 3000PROCupdate
 3010         ENDIF
 3020         IF icon%=0 OR icon%=4 OR icon%=6 OR icon%=10 OR icon%=12 OR icon%=14 OR icon%=16 THEN
 3030         IF icon%=0 AND ssel%<>0 THEN PROCunsearch:ssel%=0:PROCselsearch
 3040         IF icon%=4 AND ssel%<>1 THEN PROCunsearch:ssel%=1:PROCselsearch
 3050         IF icon%=6 AND ssel%<>2 THEN PROCunsearch:ssel%=2:PROCselsearch
 3060         IF icon%=10 AND ssel%<>3 THEN PROCunsearch:ssel%=3:PROCselsearch
 3070         IF icon%=12 AND ssel%<>4 THEN PROCunsearch:ssel%=4:PROCselsearch
 3080         IF icon%=14 AND ssel%<>5 THEN PROCunsearch:ssel%=5:PROCselsearch
 3090         IF icon%=16 AND ssel%<>6 THEN PROCunsearch:ssel%=6:PROCselsearch
 3100         ENDIF
 3110         ENDPROC
 3120         :
 3130         DEF PROCUser_MouseInfo( button%,icon%)
 3140         ENDPROC
 3150         :
 3160         DEF PROCUser_MouseTitle( button%,icon%)
 3170         IF icon%=6 THEN
 3180PROCWimp_WindowClose(Title_Window%)
 3190WIN$="NONE"
 3200ENDIF
 3210         IF icon%=7 THEN
 3220PROCWimp_WindowClose(Title_Window%)
 3230PROCWimp_WindowBringToTop(Main_Window%)
 3240WIN$="MAIN"
 3250PROCupdate
 3260ENDIF
 3270         ENDPROC
 3280         :
 3290         DEF PROCUser_MouseMain( button%,icon%)
 3300         IF icon%=33 THEN
 3310         IF tot%>1 THEN
 3320         PROCread
 3330         PROCsort
 3340         PROCupdate
 3350         ELSE
 3360         PROCWimp_WindowAlert("!ADRBook","There is no point in sorting with this many records")
 3370         ENDIF
 3380UPDATE%=TRUE
 3390         ENDIF
 3400         IF icon%=25 THEN
 3410PROCWimp_WindowClose(Main_Window%)
 3420PROCWimp_WindowBringToTop(Set_Window%)
 3430PROCselsearch
 3440WIN$="SEARCH"
 3450         ENDIF
 3460         IF icon%=24 THEN PROCread:PROCtonedial(AREA$(cur%)+TEL$(cur%))
 3470         IF icon%=26 AND cur%<tot% THEN
 3480UPDATE%=TRUE
 3490ANS%=FNWimp_WindowCancel("!ADRBook","Are you sure you want to delete this record ?")
 3500IF ANS%=TRUE THEN
 3510UPDATE%=TRUE
 3520PROCread
 3530PROCdelete
 3540PROCupdate
 3550ENDIF
 3560ENDIF
 3570         IF icon%=21 THEN
 3580PROCWimp_WindowClose(Main_Window%)
 3590PROCWimp_WindowBringToTop(Title_Window%)
 3600WIN$="TITLE"
 3610ENDIF
 3620         IF icon%=28 AND tot%>0 THEN
 3630UPDATE%=TRUE
 3640PROCWimp_WindowClose(Main_Window%)
 3650PROCopenprinter
 3660PROCWimp_WindowBringToTop(Print_Window%)
 3670PROCWimp_IconCaret(Print_Window%,12,LEN(FNWimp_IconText(Print_Window%,12)))
 3680PROCupdatep
 3690WIN$="PRINT"
 3700ENDIF
 3710         IF icon%=27 THEN
 3720UPDATE%=TRUE
 3730IF cur%=tot% THEN
 3740IF FNWimp_IconText(Main_Window%,4)<>"" THEN
 3750A%=icon%
 3760PROCread
 3770tot%+=1
 3780cur%+=1
 3790UPDATE%=TRUE
 3800PROCupdate
 3810ELSE
 3820PROCWimp_WindowErrorBox("!ADRBook","Please enter a Surname then press ADD")
 3830ENDIF
 3840ELSE
 3850PROCWimp_WindowErrorBox("!ADRBook","Please go to the blank record at the end of the file")
 3860ENDIF
 3870ENDIF
 3880         IF icon%=23 AND cur%>0 THEN
 3890UPDATE%=TRUE
 3900PROCread
 3910cur%-=1
 3920PROCupdate
 3930ENDIF
 3940         IF icon%=29 AND cur%<tot% THEN
 3950UPDATE%=TRUE
 3960PROCread
 3970cur%+=1
 3980PROCupdate
 3990ENDIF
 4000         IF icon%=22 AND cur%>0 THEN
 4010UPDATE%=TRUE
 4020PROCread
 4030cur%=0
 4040PROCupdate
 4050ENDIF
 4060         IF icon%=30 AND cur%<tot% THEN
 4070UPDATE%=TRUE
 4080PROCread
 4090cur%=tot%
 4100PROCupdate
 4110ENDIF
 4120         ENDPROC
 4130         :
 4140         DEF PROCUser_MousePrint( button%,icon%)
 4150
 4160         IF icon%=21 THEN
 4170psurname%=NOT psurname%
 4180PROCsel(psurname%,icon%)
 4190ENDIF
 4200         IF icon%=22 THEN
 4210pothers%=NOT pothers%
 4220PROCsel(pothers%,icon%)
 4230ENDIF
 4240         IF icon%=23 THEN
 4250padd%=NOT padd%
 4260PROCsel(padd%,icon%)
 4270ENDIF
 4280         IF icon%=24 THEN
 4290ppostcode%=NOT ppostcode%
 4300PROCsel(ppostcode%,icon%)
 4310ENDIF
 4320         IF icon%=25 THEN
 4330parea%=NOT parea%
 4340PROCsel(parea%,icon%)
 4350ENDIF
 4360         IF icon%=26 THEN
 4370ptel%=NOT ptel%
 4380PROCsel(ptel%,icon%)
 4390ENDIF
 4400         IF icon%=27 THEN
 4410pnts%=NOT pnts%
 4420PROCsel(pnts%,icon%)
 4430ENDIF
 4440
 4450
 4460         IF icon%=17 AND DRIVER%=TRUE THEN
 4470IF psurname%=TRUE OR pothers%=TRUE OR padd%=TRUE OR ppostcode%=TRUE OR parea%=TRUE OR ptel%=TRUE OR pnts%=TRUE THEN
 4480PROCprint
 4490ELSE
 4500PROCWimp_WindowAlert("Error from !ADRBook","Please select at least one print data")
 4510ENDIF
 4520ENDIF
 4530         IF icon%=10 THEN PROCWimp_WindowClose(Print_Window%):PROCWimp_WindowBringToTop(Main_Window%):WIN$="MAIN":PROCWimp_IconCaret(Main_Window%,4,LEN(FNWimp_IconText(Main_Window%,4)))
 4540         IF icon%=30 AND pcur%>0 THEN pcur%-=1:PROCupdatep
 4550         IF icon%=31 AND pcur%<tot%-1 THEN pcur%+=1:PROCupdatep
 4560         IF icon%=7 OR icon%=13 OR icon%=16 OR icon%=33 THEN PROCWimp_SelectIcon(Print_Window%,icon%)
 4570         IF icon%=7 AND psel%<>1 THEN
 4580PROCWimp_IconCaret(Print_Window%,12,LEN(FNWimp_IconText(Print_Window%,12)))
 4590PROCdalbe
 4600psel%=1
 4610PROCable
 4620ENDIF
 4630         IF icon%=13 AND psel%<>2 THEN
 4640PROCWimp_IconCaret(Print_Window%,14,LEN(FNWimp_IconText(Print_Window%,14)))
 4650PROCdalbe
 4660psel%=2
 4670PROCable
 4680ENDIF
 4690         IF icon%=16 AND psel%<>3 THEN
 4700SYS "Wimp_SetCaretPosition",-1
 4710PROCdalbe
 4720psel%=3
 4730PROCable
 4740ENDIF
 4750         IF icon%=33 AND psel%<>4 THEN
 4760SYS "Wimp_SetCaretPosition",-1
 4770PROCdalbe
 4780psel%=4
 4790PROCable
 4800ENDIF
 4810
 4820         ENDPROC
 4830       :
 4840       DEF PROCEvent_KeyPress(window%,icon%,key%)
 4850          CASE window% OF
 4860           WHEN Main_Window%       : PROCUser_KeyPressMain( icon%,key%)
 4870           WHEN Print_Window%      : PROCUser_KeyPressPrint( icon%,key%)
 4880          ENDCASE
 4890       ENDPROC
 4900         :
 4910         DEF PROCUser_KeyPressMain( icon%,key%)
 4920IF key%=13 AND icon%<12 OR key%=398 AND icon%<12 THEN
 4930a%=LEN(FNWimp_IconText(Main_Window%,icon%+1))
 4940PROCWimp_IconCaret(Main_Window%,icon%+1,a%)
 4950ENDIF
 4960IF key%=13 AND icon%=12 OR key%=398 AND icon%=12 THEN
 4970IF cur%=tot% THEN
 4980PROCUser_MouseMain( 4,27)
 4990ELSE
 5000PROCUser_MouseMain( 4,29)
 5010ENDIF
 5020ENDIF
 5030IF key%=399 AND icon%>4 THEN
 5040a%=LEN(FNWimp_IconText(Main_Window%,icon%-1))
 5050PROCWimp_IconCaret(Main_Window%,icon%-1,a%)
 5060ENDIF
 5070IF key%=399 AND icon%=4 THEN
 5080a%=LEN(FNWimp_IconText(Main_Window%,12))
 5090PROCWimp_IconCaret(Main_Window%,12,a%)
 5100ENDIF
 5110         ENDPROC
 5120         :
 5130         DEF PROCUser_KeyPressPrint( icon%,key%)
 5140         ENDPROC
 5150       :
 5160       DEF PROCEvent_MenuChoice(menu%)
 5170        CASE menu% OF
 5180              WHEN Bar_Menu%          : PROCUser_MenuChoiceBar
 5190              WHEN Main_Menu%         : PROCUser_MenuChoiceMain
 5200              WHEN Title_Menu%        : PROCUser_MenuChoiceTitle
 5210              WHEN Print_Menu%        : PROCUser_MenuChoicePrint
 5220              WHEN Set_Menu%          : PROCUser_MenuChoiceSet
 5230              WHEN Search2_Menu%      : PROCUser_MenuChoiceSearch2
 5240        ENDCASE
 5250       ENDPROC
 5260       :
 5270       DEF PROCUser_MenuChoiceBar
 5280        CASE FNWimp_MenuChoice(0) OF
 5290         WHEN 1 :
 5300         WHEN 3 :IF UPDATE%=TRUE THEN
 5310PROCWimp_IconPutText(Close_Window%,0,"This file has been modified")
 5320PROCWimp_WindowBringToTop(Close_Window%)
 5330PROCmousebox(Close_Window%)
 5340ENDIF
 5350IF UPDATE%=FALSE THEN finished%=TRUE
 5360        ENDCASE
 5370       ENDPROC
 5380       :
 5390       DEF PROCUser_MenuChoiceTitle
 5400        CASE FNWimp_MenuChoice(0) OF
 5410         WHEN 1 : PROCEvent_MouseClick(Title_Window%,6,4,0,0)
 5420         WHEN 2 : PROCEvent_MouseClick(Title_Window%,7,4,0,0)
 5430        ENDCASE
 5440       ENDPROC
 5450       :
 5460       DEF PROCUser_MenuChoiceSearch2
 5470        CASE FNWimp_MenuChoice(0) OF
 5480         WHEN 1 : PROCEvent_MouseClick(Search2_Window%,2,4,0,0)
 5490         WHEN 2 : PROCEvent_MouseClick(Search2_Window%,3,4,0,0)
 5500        ENDCASE
 5510       ENDPROC
 5520       :
 5530       DEF PROCUser_MenuChoicePrint
 5540        CASE FNWimp_MenuChoice(0) OF
 5550         WHEN 1 : PROCEvent_MouseClick(Print_Window%,10,4,0,0)
 5560         WHEN 2 : PROCEvent_MouseClick(Print_Window%,17,4,0,0)
 5570        ENDCASE
 5580       ENDPROC       :
 5590       DEF PROCUser_MenuChoiceSet
 5600        CASE FNWimp_MenuChoice(0) OF
 5610         WHEN 1 : PROCEvent_MouseClick(Set_Window%,2,4,0,0)
 5620         WHEN 2 : PROCEvent_MouseClick(Set_Window%,3,4,0,0)
 5630        ENDCASE
 5640       ENDPROC
 5650       :
 5660       DEF PROCUser_MenuChoiceMain
 5670        CASE FNWimp_MenuChoice(0) OF
 5680         WHEN 1 : PROCEvent_MouseClick(Main_Window%,21,4,0,0)
 5690         WHEN 2 : PROCEvent_MouseClick(Main_Window%,22,4,0,0):PROCWimp_MenuAdjustOn(Main_Menu%)
 5700         WHEN 3 : PROCEvent_MouseClick(Main_Window%,23,4,0,0):PROCWimp_MenuAdjustOn(Main_Menu%)
 5710         WHEN 4 : PROCEvent_MouseClick(Main_Window%,24,4,0,0):PROCWimp_MenuAdjustOn(Main_Menu%)
 5720         WHEN 5 : PROCEvent_MouseClick(Main_Window%,33,4,0,0):PROCWimp_MenuAdjustOn(Main_Menu%)
 5730         WHEN 6 : PROCEvent_MouseClick(Main_Window%,25,4,0,0)
 5740         WHEN 7 : PROCEvent_MouseClick(Main_Window%,26,4,0,0):PROCWimp_MenuAdjustOn(Main_Menu%)
 5750         WHEN 8 : PROCEvent_MouseClick(Main_Window%,27,4,0,0):PROCWimp_MenuAdjustOn(Main_Menu%)
 5760         WHEN 9 : PROCEvent_MouseClick(Main_Window%,28,4,0,0)
 5770         WHEN 10 : PROCEvent_MouseClick(Main_Window%,29,4,0,0):PROCWimp_MenuAdjustOn(Main_Menu%)
 5780         WHEN 11 : PROCEvent_MouseClick(Main_Window%,30,4,0,0):PROCWimp_MenuAdjustOn(Main_Menu%)
 5790        ENDCASE
 5800       ENDPROC
 5810       :
 5820       DEF PROCEvent_LoadFile(file$,type$)
 5830       IF type$="FBF" THEN
 5840UPDATE%=FALSE
 5850PROCWimp_IconPutText(Save_Window%,1,file$)
 5860cur%=0
 5870X%=OPENIN(file$)
 5880INPUT #X%,tot%
 5890FOR A=0 TO tot%
 5900INPUT #X%,SURNAME$(A)
 5910INPUT #X%,OTHERS$(A)
 5920INPUT #X%,ADD1$(A)
 5930INPUT #X%,ADD2$(A)
 5940INPUT #X%,ADD3$(A)
 5950INPUT #X%,POSTCODE$(A)
 5960INPUT #X%,AREA$(A)
 5970INPUT #X%,TEL$(A)
 5980INPUT #X%,NTS$(A)
 5990NEXTA
 6000CLOSE #X%
 6010IF WIN$<>"NONE" THEN
 6020IF WIN$="MAIN" THEN PROCWimp_WindowClose(Main_Window%)
 6030IF WIN$="PRINT" THEN PROCWimp_WindowClose(Print_Window%)
 6040IF WIN$="SEARCH" THEN PROCWimp_WindowClose(Set_Window%)
 6050ENDIF
 6060IF WIN$<>"TITLE" THEN PROCWimp_WindowBringToTop(Title_Window%)
 6070PROCmenuupdate
 6080       ENDIF
 6090       ENDPROC
 6100       :
 6110       DEF PROCEvent_SaveFile(file$,window%)
 6120         CASE window% OF
 6130           WHEN Save_Window%         :
 6140LOCAL ERROR
 6150ON ERROR LOCAL PROCerror
 6160IF DOSAVE%=TRUE THEN
 6170  X%=OPENOUT(file$)
 6180  PRINT #X%,tot%
 6190  FOR A=0 TO tot%
 6200    PRINT #X%,SURNAME$(A)
 6210    PRINT #X%,OTHERS$(A)
 6220    PRINT #X%,ADD1$(A)
 6230    PRINT #X%,ADD2$(A)
 6240    PRINT #X%,ADD3$(A)
 6250    PRINT #X%,POSTCODE$(A)
 6260    PRINT #X%,AREA$(A)
 6270    PRINT #X%,TEL$(A)
 6280    PRINT #X%,NTS$(A)
 6290  NEXTA
 6300  CLOSE #X%
 6310  OSCLI("SETTYPE "+file$+" FBF")
 6320  PROCWimp_MenuClose
 6330  UPDATE%=FALSE
 6340ENDIF
 6350
 6360           WHEN Save2_Window%       :
 6370LOCAL ERROR
 6380ON ERROR LOCAL PROCerror
 6390IF DOSAVE%=TRUE THEN
 6400  PROCWimp_MenuClose
 6410  IF WIN$="MAIN" THEN PROCread
 6420  OSCLI("SPOOL "+file$)
 6430  FOR A=0 TO tot%
 6440    IF SURNAME$(A)<>"" THEN PRINT SURNAME$(A)+CHR$(10);
 6450    IF OTHERS$(A)<>"" THEN PRINT OTHERS$(A)+CHR$(10);
 6460    IF ADD1$(A)<>"" THEN PRINT ADD1$(A)+CHR$(10);
 6470    IF ADD2$(A)<>"" THEN PRINT ADD2$(A)+CHR$(10);
 6480    IF ADD3$(A)<>"" THEN PRINT ADD3$(A)+CHR$(10);
 6490    IF POSTCODE$(A)<>"" THEN PRINT POSTCODE$(A)+CHR$(10);
 6500    IF AREA$(A)<>"" THEN PRINT AREA$(A)+CHR$(10);
 6510    IF TEL$(A)<>"" THEN PRINT TEL$(A)+CHR$(10);
 6520    IF NTS$(A)<>"" THEN PRINT NTS$(A)+CHR$(10);
 6530    PRINT CHR$(10);
 6540  NEXT A
 6550  OSCLI("SPOOL")
 6560  OSCLI("SETTYPE "+file$+" FFF")
 6570  VDU6
 6580  IF file$="<Wimp$Scrap>" THEN
 6590    PROCWimp_SendToEdit(file$)
 6600    PROCWimp_IconPutText(Save2_Window%,1,ACE$)
 6610  ENDIF
 6620ENDIF
 6630         ENDCASE
 6640IF DOSAVE%=FALSE THEN DOSAVE%=TRUE
 6650       ENDPROC
 6660:
 6670REM *******************************************************************
 6680:
 6690DEF PROCWimp_WindowAlert(title$,message$)
 6700PROCWimp_WindowAlertBox(title$,message$,0)
 6710ENDPROC
 6720:
 6730DEF PROCWimp_WindowAlertBox(title$,message$,button%)
 6740LOCAL response%
 6750$(wimp%+4)=message$
 6760CASE button% OF
 6770 WHEN 2    : response%=1
 6780 WHEN 1    : response%=15
 6790 WHEN 3    : response%=(1<<5)+16
 6800 WHEN 4    : response%=(1<<6)+16
 6810OTHERWISE : response%=16
 6820ENDCASE
 6830SYS "Wimp_ReportError",wimp%,response%,title$ TO ,response%
 6840ENDPROC
 6850:
 6860DEF FNWimp_WindowCancel(title$,message$)
 6870$(wimp%+4)=message$
 6880response%=23
 6890SYS "Wimp_ReportError",wimp%,response%,title$ TO ,response%
 6900=response%-2
 6910:
 6920DEF PROCWimp_WindowErrorBox(title$,message$)
 6930PROCWimp_WindowAlertBox(title$,message$,2)
 6940ENDPROC
 6950:
 6960DEF FNWimp_WindowTitle(window%)
 6970wimp%!0=window%
 6980SYS "Wimp_GetWindInfo",,wimp%
 6990IF ((wimp%!60)AND&100)=0 ERROR 1,"Title isn't indirected"
 7000=$(wimp%!76)
 7010:
 7020DEF FNWimp_WindowLoad(window$)
 7030=FNWimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates")
 7040:
 7050DEF FNWimp_WindowLoadFrom(window$,template$)
 7060LOCAL c%,i%,n%,j%,sp$,sp2$
 7070SYS "Wimp_OpenTemplate",,template$
 7080SYS "Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0 TO ,,icons%
 7090CASE sprites% OF
 7100 WHEN 1    : wimp%!64=sprites%
 7110 OTHERWISE : wimp%!64=FNEvent_Sprites(window%)
 7120ENDCASE
 7130SYS "Wimp_CreateWindow",,wimp% TO c%
 7140SYS "Wimp_CloseTemplate"
 7150SYS "Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8)
 7160CASE wimp%!40 OF
 7170 WHEN -1   :
 7180 OTHERWISE : i%=40
 7190 REPEAT
 7200   wimp%!4=wimp%!i% : wimp%!0=c%
 7210   SYS "Wimp_GetIconState",,wimp%
 7220   sp$=FNWimp_GetStringAtAddress(wimp%!28)
 7230   SYS "Wimp_DeleteIcon",,wimp%
 7240   CASE sprites% OF
 7250    WHEN 1    : wimp%!32=1
 7260    OTHERWISE :
 7270     SYS "OS_SpriteOp",&108,sprites% TO ,,,n%
 7280     j%=0
 7290     REPEAT : j%+=1
 7300      SYS "OS_SpriteOp",&10D,sprites%,pointer_block%,20,j%
 7310      sp2$=FNWimp_GetStringAtAddress(pointer_block%)
 7320     UNTIL j%=n% OR sp$=sp2$
 7330     IF sp$=sp2$ THEN wimp%!32=sprites% ELSE wimp%!32=1
 7340   ENDCASE
 7350   wimp%!4=c%
 7360   SYS "Wimp_CreateIcon",,wimp%+4 TO handle%
 7370   i%+=4
 7380 UNTIL (wimp%!i%)=-1
 7390ENDCASE
 7400=c%
 7410:
 7420DEF PROCWimp_WindowBringToTop(window%)
 7430!wimp%=window%
 7440SYS "Wimp_GetWindowState",,wimp%
 7450wimp%!28=-1
 7460SYS "Wimp_OpenWindow",,wimp%
 7470ENDPROC
 7480:
 7490DEF PROCWimp_WindowClose(window%)
 7500!wimp%=window%
 7510SYS "Wimp_CloseWindow",,wimp%
 7520ENDPROC
 7530:
 7540DEF PROCWimp_WindowForceDraw(window%)
 7550CASE window% OF
 7560 WHEN -1   : SYS "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024
 7570 OTHERWISE : SYS "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0
 7580ENDCASE
 7590ENDPROC
 7600:
 7610DEF PROCWimp_WindowOpen(window%)
 7620!wimp%=window%
 7630SYS "Wimp_GetWindowState",,wimp%
 7640SYS "Wimp_OpenWindow",,wimp%
 7650ENDPROC
 7660:
 7670PROCWimp_WindowInterface
 7680SYS"Wimp_BorderWindow",,wimp%
 7690ENDPROC
 7700:
 7710REM *******************************************************************
 7720:
 7730DEF PROCWimp_IconUpdate(window%,icon%)
 7740wimp%!0=window%
 7750wimp%!4=icon%
 7760wimp%!8=0
 7770wimp%!12=0
 7780SYS "Wimp_SetIconState",,wimp%
 7790ENDPROC
 7800:
 7810DEF PROCWimp_SetIconSprite(window%,icon%,sprite$)
 7820wimp%!0=window%
 7830wimp%!4=icon%
 7840SYS "Wimp_GetIconState",,wimp%
 7850$wimp%!32="S"+sprite$
 7860wimp%!0=window%
 7870wimp%!8=0
 7880wimp%!12=0
 7890SYS "Wimp_SetIconState",,wimp%
 7900ENDPROC
 7910:
 7920DEF FNWimp_IconBar(Sprite$)
 7930LOCAL icon%
 7940wimp%!0=-1
 7950wimp%!4=0     : wimp%!8=0
 7960wimp%!12=68 : wimp%!16=68
 7970wimp%!20=&3002
 7980$(wimp%+24)=Sprite$
 7990SYS "Wimp_CreateIcon",,wimp% TO icon%
 8000=icon%
 8010:
 8020DEF PROCWimp_IconCaret(window%,icon%,chars%)
 8030SYS "Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
 8040ENDPROC
 8050:
 8060DEF FNWimp_IconText(window%,icon%)
 8070wimp%!0=window% : wimp%!4=icon%
 8080SYS "Wimp_GetIconState",,wimp%
 8090IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected"
 8100=$(wimp%!28)
 8110:
 8120DEF FNWimp_IconValidation(window%,icon%)
 8130wimp%!0=window% : wimp%!4=icon%
 8140SYS "Wimp_GetIconState",,wimp%
 8150IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected"
 8160=$(wimp%!32)
 8170:
 8180DEF PROCWimp_IconDisable(window%,icon%)
 8190wimp%!0=window% : wimp%!4=icon%
 8200wimp%!8=1<<22   : wimp%!12=1<<22
 8210SYS "Wimp_SetIconState",,wimp%
 8220ENDPROC
 8230:
 8240DEF PROCWimp_IconEnable(window%,icon%)
 8250wimp%!0=window% : wimp%!4=icon%
 8260wimp%!8=0       : wimp%!12=1<<22
 8270SYS "Wimp_SetIconState",,wimp%
 8280ENDPROC
 8290:
 8300DEF FNWimp_IconPutSprite(window%,icon%,sprite$)
 8310wimp%!0=window%:wimp%!4=icon%
 8320SYS "Wimp_GetIconState",,wimp%
 8330SYS "Wimp_DeleteIcon",,wimp%
 8340wimp%!4=wimp%!8   : wimp%!8=wimp%!12  : wimp%!12=wimp%!16
 8350wimp%!16=wimp%!20 : wimp%!20=wimp%!24 : $(wimp%+24)=sprite$
 8360SYS "Wimp_CreateIcon",,wimp% TO icon%
 8370=icon%
 8380:
 8390DEF PROCWimp_IconPutText(window%,icon%,text$)
 8400wimp%!0=window% : wimp%!4=icon%
 8410SYS "Wimp_GetIconState",,wimp%
 8420IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected"
 8430$(wimp%!28)=text$
 8440wimp%!0=window% : wimp%!4=icon%
 8450wimp%!8=0 : wimp%!12=0
 8460SYS "Wimp_SetIconState",,wimp%
 8470ENDPROC
 8480:
 8490DEF PROCWimp_IconInterfaceStart
 8500SYS"Wimp_BorderIcon",,wimp%
 8510ENDPROC
 8520:
 8530DEF PROCWimp_IconInterfaceFinish
 8540wimp%!8=0
 8550SYS"Wimp_BorderIcon",,wimp%
 8560ENDPROC
 8570:
 8580REM *******************************************************************
 8590:
 8600DEF PROCWimp_MenuAdjustOn(menu%)
 8610SYS "Wimp_GetPointerInfo",,pointer_block%
 8620IF ((pointer_block%!8)AND1)=1 THEN SYS "Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4
 8630ENDPROC
 8640:
 8650DEF FNWimp_MenuChoice(level%)
 8660=(wimp%!(4*level%))+1
 8670:
 8680DEF FNWimp_MenuCreate(menu$)
 8690IF menu$="Colours" THEN=FNWimp_MenuColours
 8700LOCAL menu%,index%,width%,length%,k%,s%
 8710DIM menu% 28+FNWimp_MenuNoOfEntries(menu$)*24
 8720menu%?12=7   : menu%?13=2  : menu%?14=7 :menu%?15=0
 8730menu%!16=140 : menu%!20=44 : menu%!24=0
 8740index%=menu%+28
 8750$menu%=LEFT$(menu$,INSTR(menu$,"\")-1)
 8760width%=LEN(LEFT$(menu$,INSTR(menu$,"\")-1))
 8770menu$+="\" : Menu_NoOfEntries%=0
 8780WHILE menu$<>""
 8790menu$=MID$(menu$,INSTR(menu$,"\")+1)
 8800CASE menu$ OF
 8810 WHEN ""
 8820 OTHERWISE :
 8830  !index%=0 : index%!4=-1 : index%!8=&7000021
 8840  length%=INSTR(menu$,"\")-1
 8850  k%=INSTR(LEFT$(menu$,length%),">")
 8860  CASE k% OF
 8870   WHEN 0
 8880   OTHERWISE
 8890    s%=EVAL(MID$(menu$,k%+1,length%-k%))
 8900    index%!4=s%
 8910    length%=k%-1
 8920  ENDCASE
 8930  $(index%+12)=LEFT$(menu$,length%)
 8940  IF length%>width% THEN width%=length%
 8950  index%+=24
 8960ENDCASE
 8970ENDWHILE
 8980menu%!16=16*(width%+1)
 8990index%!-24=index%!-24 OR &80 : =menu%
 9000:
 9010DEF FNWimp_MenuColours
 9020=FNWimp_MenuCreateColours(" ")
 9030:
 9040DEF FNWimp_MenuCreateColours(title$)
 9050LOCAL x$,men%,j%,i%
 9060x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15"
 9070men%=FNWimp_MenuCreate(x$)
 9080FOR i%=0 TO 15
 9090CASE TRUE OF
 9100WHEN i%<4,i%=9,i%=12,i%=14,i%=15 : j%=7
 9110OTHERWISE : j%=0
 9120ENDCASE
 9130men%?(39+i%*24)=i%*16+j%
 9140PROCWimp_MenuCentre(men%,i%+1)
 9150NEXT
 9160=men%
 9170:
 9180DEF FNWimp_MenuNoOfEntries(menu$)
 9190LOCAL n% ,j% : n%=0 : j%=0
 9200REPEAT
 9210j%=INSTR(menu$,"\",j%+1)
 9220IF j%<>0 THEN n%+=1
 9230UNTIL j%=0
 9240=n%
 9250:
 9260DEF PROCWimp_MenuBackGroundColour(menu%,item%,colour%)
 9270LOCAL fore%,i%
 9280fore%=(menu%?(39+(item%-1)*24))MOD16
 9290i%=((menu%?(39+(item%-1)*24))DIV16)MOD16
 9300menu%?(39+(item%-1)*24)=fore%+16*colour%+i%
 9310ENDPROC
 9320:
 9330DEF PROCWimp_MenuCentre(menu%,item%)
 9340menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<3)
 9350ENDPROC
 9360:
 9370DEF PROCWimp_MenuClose
 9380SYS "Wimp_CreateMenu",-1
 9390ENDPROC
 9400:
 9410DEF PROCWimp_MenuDisable(menu%,item%)
 9420menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<22)
 9430ENDPROC
 9440:
 9450DEF PROCWimp_MenuDottedLine(menu%,item%)
 9460menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR2
 9470ENDPROC
 9480:
 9490DEF PROCWimp_MenuEnable(menu%,item%)
 9500PROCWimp_MenuDisable(menu%,item%)
 9510menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)EOR(1<<22)
 9520ENDPROC
 9530:
 9540DEF PROCWimp_MenuForegroundColour(menu%,item%,colour%)
 9550menu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))DIV16)
 9560ENDPROC
 9570:
 9580DEF PROCWimp_MenuGlue(menu1%,item%,menu2%)
 9590menu1%!(8+item%*24)=menu2%
 9600ENDPROC
 9610:
 9620DEF PROCWimp_MenuItem(menu%,item%,item$)
 9630$(menu%+(40+(item%-1)*24))=LEFT$(item$,12)+CHR$0
 9640ENDPROC
 9650:
 9660DEF PROCWimp_MenuMessage(menu%,item%)
 9670menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR(1<<3)
 9680ENDPROC
 9690:
 9700DEF PROCWimp_MenuPopUp(Menu%,x%,y%)
 9710IF SA%=FALSE THEN
 9720menu%=Menu%
 9730SYS "Wimp_CreateMenu",,menu%,x%-64,y%+20
 9740ENDIF
 9750ENDPROC
 9760:
 9770DEF PROCWimp_MenuPopUpBar(x%,y%)
 9780LOCAL n% : n%=0
 9790WHILE ((Bar_Menu%!(28+n%*24))AND%10000000)=0
 9800n%+=1
 9810ENDWHILE
 9820SYS "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
 9830menu%=Bar_Menu%
 9840ENDPROC
 9850:
 9860DEF PROCWimp_MenuTick(menu%,item%)
 9870menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR1
 9880ENDPROC
 9890:
 9900DEF PROCWimp_MenuTitle(menu%,title$)
 9910$menu%=LEFT$(title$,12)+CHR$0
 9920ENDPROC
 9930:
 9940DEF PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%)
 9950menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR4
 9960menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR&100
 9970menu%!(40+(item%-1)*24)=buffer%
 9980menu%!(44+(item%-1)*24)=val%
 9990menu%!(48+(item%-1)*24)=BufferLength%
10000ENDPROC
10010:
10020REM *******************************************************************
10030:
10040DEF PROCWimp_SelectIcon(window%,icon%)
10050wimp%!0=window%
10060wimp%!4=icon%
10070wimp%!8=%1000000000000000000000
10080wimp%!12=%1000000000000000000000
10090SYS&400CD,,wimp%
10100ENDPROC
10110:
10120DEF PROCWimp_UnselectIcon(window%,icon%)
10130wimp%!0=window%
10140wimp%!4=icon%
10150wimp%!8=0
10160wimp%!12=%1000000000000000000000
10170SYS&400CD,,wimp%
10180ENDPROC
10190:
10200DEF PROCWimp_SpritesLoad
10210PROCWimp_SpritesPathLoad("<Obey$Dir>.Sprites")
10220direct_sprites%=sprites%
10230ENDPROC
10240:
10250DEF PROCWimp_SpritesPathLoad(pathname$)
10260LOCALS%,T%
10270S%=OPENIN"<Obey$Dir>.Sprites":T%=EXT#S%+16:CLOSE#S%
10280DIMsprites%T%,spname%12
10290!sprites%=T%:sprites%!8=0
10300SYS"OS_SpriteOp",&109,sprites%
10310SYS"OS_SpriteOp",&10A,sprites%,pathname$
10320ENDPROC
10330:
10340REM *******************************************************************
10350:
10360DEF FNWimp_FileType(type%)
10370CASEtype%OF
10380WHEN&FFF:="Text"
10390WHEN&FFD:="Data"
10400WHEN&FFB:="Basic"
10410WHEN&FF9:="Sprite"
10420WHEN&FED:="Palette"
10430WHEN&FEC:="Template"
10440WHEN&AFF:="Draw"
10450WHEN&1000:="Folder"
10460WHEN&2000:="Application"
10470OTHERWISE=STR$~(type%)
10480ENDCASE
10490:
10500DEF FNWimp_GetFilePathName
10510=FNWimp_GetStringAtAddress(wimp%+44)
10520:
10530DEF FNWimp_FileLoad(pathname$)
10540LOCALS%,T%,file%
10550S%=OPENINpathname$
10560T%=EXT#S%+16
10570CLOSE#S%
10580DIMfile%T%
10590OSCLI("LOAD"+pathname$+""+STR$~file%)
10600=file%
10610;
10620DEF FNWimp_GetStringAtAddress(array%)
10630LOCALs$:s$=""
10640WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE:
10650=s$
10660:
10670DEF FNWimp_GetFileFromPathname(f$)
10680CASE INSTR(f$,".") OF
10690 WHEN 0    :=f$
10700 OTHERWISE :=FNWimp_GetFileFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,".")))
10710ENDCASE
10720:
10730DEF PROCWimp_SendToEdit(file$)
10740LOCAL n%
10750wimp%!4=&6CC01C0C
10760wimp%!16=5
10770wimp%!36=0
10780wimp%!40=&FFF
10790$(wimp%+44)=file$+CHR$0
10800n%=LENfile$+45
10810IF n%MOD4 THEN !wimp%=4+(n%>>2)<<2 ELSE !wimp%=n%
10820SYS "Wimp_SendMessage",17,wimp%,0
10830ENDPROC
10840:
10850REM *******************************************************************
10860:
10870DEF PROCWimp_Start(TaskName$,wimp_memory%,icon%)
10880DIM wimp% wimp_memory%,icons% icon%
10890IF wimp_memory%<256 THEN wimp_memory%=256
10900icon_memory%=icons%+icon%
10910task$=TaskName$
10920indirect_sprites%=1 : direct_sprites%=1
10930PROCWimp_SetEventVariables
10940ON ERROR PROCWimp_Error:END
10950SYS"Wimp_Initialise",200,&4B534154,TaskName$ TO version%,task%
10960ENDPROC
10970:
10980DEF FNWimp_BASICParameters
10990 LOCAL com$,param$,I%
11000 SYS "OS_GetEnv" TO com$
11010 params$=""
11020 I%=INSTR(com$," -quit ")
11030 IF I% THEN params$=MID$(com$,INSTR(com$," ",I%+LEN" -quit ")+1)
11040=params$
11050:
11060DEF PROCWimp_SetEventVariables
11070DIM pointer_block% 20
11080interface%=FALSE
11090null%=1  :draw%=2 :  pointer_leaving%=1<<4
11100pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7
11110key%=1<<8:menu%=1<<9:scroll%=1<<10
11120lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18)
11130recorder%=1<<18:acknowledge%=1<<19:window%=0
11140sprites%=1:version%=0:task%=0
11150Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0
11160x_origin%=0:y_origin%=0:SaveWindow%=-3
11170message_quit%=0:message_save%=2:message_load%=3
11180mouse_button%=2:save_event%=0
11190top_line%=0 : bottom_line%=0
11200ENDPROC
11210:
11220DEF PROCWimp_Error
11230LOCALX$,x%
11240ON ERROR OFF
11250x%=ERL
11260X$=REPORT$+"atline"+STR$(x%DIV10)
11270DIMErrorMsg%36
11280ErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x%
11290$(ErrorMsg%+24)="!RunImage"
11300SYS"Wimp_SendMessage",17,ErrorMsg%
11310PROCWimp_WindowAlert(task$,X$)
11320PROCWimp_CloseDown
11330ENDPROC
11340:
11350DEF PROCWimp_CloseDown
11360SYS"Wimp_CloseDown",task%,"TASK"
11370ENDPROC
11380:
11390DEF PROCWimp_Quit
11400finished%=TRUE
11410ENDPROC
11420:
11430DEF FNWimp_ReadVariable(Variable$)
11440LOCALlen%,result%,variable%
11450$wimp%=Variable$
11460SYS"OS_ReadVarVal",wimp%,wimp%+255,255,,3TO,,len%
11470wimp%?(len%+255)=13
11480=$(wimp%+255)
11490:
11500REM *******************************************************************
11510:
11520DEF PROCWimp_WaitForEvent
11530LOCAL mask%,event%
11540finished%=FALSE
11550mask%=%111000011001
11560REPEAT
11570 SYS"Wimp_Poll",mask%,wimp% TO event%
11580 CASE event% OF
11590  WHEN0 :
11600  WHEN1 : PROCWimp_PollDrawWindow
11610  WHEN2 : SYS "Wimp_OpenWindow",,wimp%
11620  WHEN3 : PROCWimp_PollCloseWindow
11630  WHEN4 :
11640  WHEN5 :
11650  WHEN6 : PROCWimp_PollMouseClick
11660  WHEN7 : PROCWimp_PollSaveMessage
11670  WHEN8 : PROCWimp_PollKeyPress
11680  WHEN9 : PROCEvent_MenuChoice(menu%)
11690  WHEN10:
11700  WHEN11:
11710  WHEN12:
11720  WHEN17,18: PROCWimp_PollMessages
11730  WHEN19:
11740 ENDCASE
11750UNTIL finished%
11760ENDPROC
11770:
11780DEF PROCWimp_PollDrawWindow
11790LOCAL more%
11800SYS"Wimp_RedrawWindow",,wimp%TOmore%
11810window%=wimp%!0
11820x_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
11830WHILEmore%
11840 IF interface% THEN SYS"Wimp_BorderWindow",,wimp%
11850 PROCEvent_Draw(window%,x_origin%,y_origin%)
11860 SYS"Wimp_GetRectangle",,wimp%TOmore%
11870ENDWHILE
11880ENDPROC
11890:
11900DEF PROCWimp_PollCloseWindow
11910  SYS "Wimp_GetPointerInfo",,wimp%
11920  window%=wimp%!12 : buttons%=wimp%!8
11930IF search%=FALSE THEN
11940 PROCEvent_WindowClose(window%,buttons%)
11950 !wimp%=window% : SYS "Wimp_CloseWindow",,wimp%
11960ENDIF
11970ENDPROC
11980:
11990DEF PROCWimp_PollMouseClick
12000 button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
12010 CASE button% OF
12020   WHEN2    : PROCWimp_PollMenuPopUp
12030   OTHERWISE: CASE FNEvent_Save(window%) OF
12040               WHEN TRUE : PROCWimp_PollMouseSave
12050               WHEN FALSE: PROCWimp_PollEventMouseClick
12060              ENDCASE
12070 ENDCASE
12080ENDPROC
12090:
12100DEF PROCWimp_PollMenuPopUp
12110IF SA%=FALSE THEN
12120menu%=FNEvent_Menu(window%)
12130  CASE menu%  OF
12140   WHEN FALSE:
12150   OTHERWISE :
12160     CASE window% OF
12170      WHEN -2   : n%=0
12180        WHILE ((Bar_Menu%!(28+n%*24))AND%10000000)=0
12190         n%+=1
12200        ENDWHILE
12210        SYS "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*90
12220      OTHERWISE : SYS"Wimp_CreateMenu",,menu%,x%-64,y%+20
12230     ENDCASE
12240  ENDCASE
12250ENDIF
12260ENDPROC
12270:
12280DEF PROCWimp_PollMouseSave
12290 CASE icon% OF
12300  WHEN 0 : IF button% AND &50 THEN PROCWimp_PollDragBox(window%)
12310  WHEN 2 : IF button% AND 5 THEN  PROCWimp_PollSaveFile(window%)
12320 ENDCASE
12330ENDPROC
12340:
12350DEF PROCWimp_PollEventMouseClick
12360 IF interface% THEN SYS"Wimp_BorderIcon",,wimp%
12370 PROCEvent_MouseClick(window%,icon%,button%,x%,y%)
12380 CASE  interface% OF
12390  WHEN TRUE :
12400   wimp%!0=x%:wimp%!4=y% : wimp%!8=0
12410   wimp%!12=window% : wimp%!16=icon%
12420   SYS"Wimp_BorderIcon",,wimp%
12430 ENDCASE
12440ENDPROC
12450:
12460DEF PROCWimp_PollSaveFile(window%)
12470LOCALfile$
12480 wimp%!0=window% : wimp%!4=1 : SYS "Wimp_GetIconState",,wimp%
12490 file$=$(wimp%!28)
12500 CASE INSTR(file$,".") OF
12510  WHEN 0   :
12520IF key%=13 THEN
12530   $(wimp%+4)="To save, drag the icon to a directory window"
12540   SYS "Wimp_ReportError",wimp%,16,task$
12550ENDIF
12560  OTHERWISE:
12570   IF key%=13 THEN PROCEvent_SaveFile(file$,window%)
12580 ENDCASE
12590IF key%=13 THEN SYS"Wimp_CreateMenu",-1
12600IF SA%=TRUE THEN PROCWimp_CloseDown
12610ENDPROC
12620:
12630DEF PROCWimp_PollDragBox(window%)
12640LOCALx%,y%
12650 save%=window%
12660 !wimp%=window%
12670 SYS"Wimp_GetWindowState",,wimp%
12680 x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24
12690 wimp%!4=0
12700 SYS"Wimp_GetIconState",,wimp%
12710 !wimp%=window%
12720 wimp%!4=5
12730 wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12
12740 wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20
12750 wimp%!24=0:wimp%!28=0
12760 wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF
12770 SYS"Wimp_DragBox",,wimp%
12780ENDPROC
12790:
12800DEF PROCWimp_PollKeyPress
12810  window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
12820  CASE FNEvent_Save(window%) OF
12830   WHEN TRUE : PROCWimp_PollSaveFile(window%)
12840   WHEN FALSE: PROCEvent_KeyPress(window%,icon%,key%)
12850  ENDCASE
12860ENDPROC
12870:
12880DEF PROCWimp_PollSaveMessage
12890LOCALfile$,window%,icon%,x%,y%
12900 SYS"Wimp_GetPointerInfo",,wimp%
12910 window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
12920 wimp%!0=save% : wimp%!4=1 : SYS "Wimp_GetIconState",,wimp%
12930 file$=$(wimp%!28)
12940 file$=FNWimp_GetFileFromPathname(file$)
12950ACE$=file$
12960 wimp%!20=window%
12970 wimp%!24=icon%
12980 wimp%!28=x%:wimp%!32=y%
12990 wimp%!36=length%
13000 wimp%!0=64
13010 wimp%!12=0
13020 wimp%!16=1
13030 wimp%!40=&FFF
13040 $(wimp%+44)=file$
13050 SYS"Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24
13060ENDPROC
13070:
13080DEF PROCWimp_PollMessages
13090LOCAL file$
13100file$=FNWimp_GetStringAtAddress(wimp%+44)
13110    CASE wimp%!16 OF
13120     WHEN 0 : finished%=TRUE
13130     WHEN 1 :
13140     WHEN 2 :
13150      REM PROCWimp_IconPutText(save%,1,file$)
13160      wimp%!0=save% : wimp%!4=1 : SYS "Wimp_GetIconState",,wimp%
13170      $(wimp%!28)=file$
13180      wimp%!0=save% : wimp%!4=1 : wimp%!8=0 : wimp%!12=0
13190      SYS "Wimp_SetIconState",,wimp%
13200      REM PROCWimp_IconCaret(save%,1,LENfile$)
13210      SYS "Wimp_SetCaretPosition",save%,1,,,-1,LENfile$
13220      PROCEvent_SaveFile(file$,save%)
13230IF SA%=TRUE THEN PROCWimp_CloseDown
13240     WHEN 3
13250      type$=FNWimp_FileType(wimp%!40) : PROCEvent_LoadFile(file$,type$)
13260     WHEN 5 :
13270IF wimp%!40=&FBF AND event%=18 THEN
13280wimp%!12=wimp%!8
13290SYS"XWimp_SendMessage",17,wimp%,wimp%!20
13300file$=FNWimp_GetFilePathName
13310type$=FNWimp_FileType(&FBF)
13320PROCEvent_LoadFile(file$,type$)
13330ENDIF
13340     WHEN &502
13350hw%=wimp%!32
13360hi%=wimp%!36
13370IF hw%=-2 THEN PROCsendhelp(wimp%,"This is the !ADRBook icon.|MProgram written by Julian Samphire 1993.|MClick on icon to open the Address Book.|M")
13380CASE hw% OF
13390WHEN Save_Window%
13400IF hi%=0 THEN PROCsendhelp(wimp%,"Drag this icon onto a filer window to save the address data")
13410IF hi%=1 THEN PROCsendhelp(wimp%,"Enter the file name here that you want to save the address data as.")
13420IF hi%=2 THEN PROCsendhelp(wimp%,"Click here to save the address data.")
13430WHEN Save2_Window%
13440IF hi%=0 THEN PROCsendhelp(wimp%,"Drag this icon onto a filer window to save the text")
13450IF hi%=1 THEN PROCsendhelp(wimp%,"Enter the file name here that you want to save the text as.")
13460IF hi%=2 THEN PROCsendhelp(wimp%,"Click here to save the text.")
13470WHEN Info_Window%
13480IF hi%=0 OR hi%=1 OR hi%=2 OR hi%=3 OR hi%=4 OR hi%=5 OR hi%=6 OR hi%=7 OR hi%=8 OR hi%=9 THEN PROCsendhelp(wimp%,"Name : ADRBook|MPurpose : Store addresses and numbers|MAuthor : Julian Samphire|MVersion : 1.06 (11-Aug-93)")
13490WHEN Search2_Window%
13500IF hi%=2 THEN PROCsendhelp(wimp%,"Click here to search using search parameters.")
13510IF hi%=3 THEN PROCsendhelp(wimp%,"Click here to cancel search.")
13520WHEN Set_Window%
13530IF hi%=2 THEN PROCsendhelp(wimp%,"Click here to turn back the page.")
13540IF hi%=3 THEN PROCsendhelp(wimp%,"Click here to start searching using search papameters.")
13550IF hi%=0 THEN PROCsendhelp(wimp%,"Click here to hilight Surname.")
13560IF hi%=4 THEN PROCsendhelp(wimp%,"Click here to hilight Other Names.")
13570IF hi%=6 THEN PROCsendhelp(wimp%,"Click here to hilight Address.")
13580IF hi%=10 THEN PROCsendhelp(wimp%,"Click here to hilight Post Code.")
13590IF hi%=12 THEN PROCsendhelp(wimp%,"Click here to hilight Area Code.")
13600IF hi%=14 THEN PROCsendhelp(wimp%,"Click here to hilight Telephone Number.")
13610IF hi%=16 THEN PROCsendhelp(wimp%,"Click here to hilight Notes.")
13620IF hi%=1 THEN PROCsendhelp(wimp%,"Enter the surname here.")
13630IF hi%=5 THEN PROCsendhelp(wimp%,"Enter the other names here.")
13640IF hi%=7 THEN PROCsendhelp(wimp%,"Enter the address line 1 here.")
13650IF hi%=8 THEN PROCsendhelp(wimp%,"Enter the address line 2 here.")
13660IF hi%=9 THEN PROCsendhelp(wimp%,"Enter the address line 3 here.")
13670IF hi%=11 THEN PROCsendhelp(wimp%,"Enter the post code here.")
13680IF hi%=13 THEN PROCsendhelp(wimp%,"Enter the area code here.")
13690IF hi%=15 THEN PROCsendhelp(wimp%,"Enter the telephone number here.")
13700IF hi%=17 THEN PROCsendhelp(wimp%,"Enter the notes here.")
13710WHEN Main_Window%
13720IF hi%=4 THEN PROCsendhelp(wimp%,"Surname icon.|MEnter the persons Surname here.|M"+SURNAME$(cur%))
13730IF hi%=5 THEN PROCsendhelp(wimp%,"Others icon.|MEnter the persons Other names here.|M"+OTHERS$(cur%))
13740IF hi%=6 OR hi%=7 OR hi%=8 THEN PROCsendhelp(wimp%,"Address icons.|MEnter the persons Address here.|M"+ADD1$(cur%)+" "+ADD2$(cur%)+" "+ADD3$(cur%))
13750IF hi%=9 THEN PROCsendhelp(wimp%,"Post Code icon.|MEnter the persons Post Code here.|M"+POSTCODE$(cur%))
13760IF hi%=10 THEN PROCsendhelp(wimp%,"Area Code icon.|MEnter the persons Area Code here.|M"+AREA$(cur%))
13770IF hi%=11 THEN PROCsendhelp(wimp%,"Telephone Number icon.|MEnter the persons Telephone Number here.|M"+TEL$(cur%))
13780IF hi%=12 THEN PROCsendhelp(wimp%,"Notes icon.|MEnter the notes on the person here.|M"+NTS$(cur%))
13790IF hi%=21 THEN PROCsendhelp(wimp%,"Click here to turn back the page.")
13800IF hi%=22 THEN PROCsendhelp(wimp%,"Click here to go to the first record.")
13810IF hi%=23 THEN PROCsendhelp(wimp%,"Click here to go back a record.")
13820IF hi%=24 THEN PROCsendhelp(wimp%,"Click here to dial the number.")
13830IF hi%=33 THEN PROCsendhelp(wimp%,"Click here to sort the records.")
13840IF hi%=25 THEN PROCsendhelp(wimp%,"Click here to set the search criteria.")
13850IF hi%=26 THEN PROCsendhelp(wimp%,"Click here to delete the current record.")
13860IF hi%=27 THEN PROCsendhelp(wimp%,"Click here to add a record.")
13870IF hi%=28 THEN PROCsendhelp(wimp%,"Click here to go to the print page.")
13880IF hi%=29 THEN PROCsendhelp(wimp%,"Click here to go forward a record.")
13890IF hi%=30 THEN PROCsendhelp(wimp%,"Click here to go to the last record.")
13900IF hi%=19 OR hi%=20 THEN PROCsendhelp(wimp%,"This shows the ammount of records and current record.|MTotal records = "+STR$(tot%)+"|MCurrent record = "+STR$(cur%+1))
13910WHEN Title_Window%
13920IF hi%=2 OR hi%=3 OR hi%=4 OR hi%=5 OR hi%=8 THEN PROCsendhelp(wimp%,"Address Book|MBy Julian Samphire|M� Archimedes World 1993")
13930IF hi%=6 THEN PROCsendhelp(wimp%,"Click here to close the address book.")
13940IF hi%=7 THEN PROCsendhelp(wimp%,"Click here to turn over the page.")
13950WHEN Print_Window%
13960IF hi%=7 OR hi%=13 OR hi%=16 OR hi%=33 THEN PROCsendhelp(wimp%,"Click here for specified print range.")
13970IF hi%=28 OR hi%=29 THEN PROCsendhelp(wimp%,"This shows the current name of the person to be printed.|M"+SURNAME$(pcur%)+"|M"+OTHERS$(pcur%))
13980IF hi%=30 THEN PROCsendhelp(wimp%,"Click here to go to the previous person.")
13990IF hi%=31 THEN PROCsendhelp(wimp%,"Click here to go to the next person.")
14000IF hi%=10 THEN PROCsendhelp(wimp%,"Click here to turn back the page.")
14010IF hi%=17 THEN PROCsendhelp(wimp%,"Click here to print selected data.")
14020IF hi%=21 THEN PROCsendhelp(wimp%,"Click here to set Surname.")
14030IF hi%=22 THEN PROCsendhelp(wimp%,"Click here to set Other Names.")
14040IF hi%=23 THEN PROCsendhelp(wimp%,"Click here to set Address.")
14050IF hi%=24 THEN PROCsendhelp(wimp%,"Click here to set Post Code.")
14060IF hi%=25 THEN PROCsendhelp(wimp%,"Click here to set Area Code.")
14070IF hi%=26 THEN PROCsendhelp(wimp%,"Click here to set Telephone Number.")
14080IF hi%=27 THEN PROCsendhelp(wimp%,"Click here to set Notes.")
14090ENDCASE
14100    ENDCASE
14110ENDPROC
14120:
14130DEF FNWimp_GetStringAtAddress(array%)
14140LOCALs$:s$=""
14150WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE:
14160=s$
14170:
14180DEF FNWimp_GetFileFromPathname(f$)
14190CASE INSTR(f$,".") OF
14200 WHEN 0    :=f$
14210 OTHERWISE :=FNWimp_GetFileFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,".")))
14220ENDCASE
14230:
14240DEF FNWimp_FileType(type%)
14250CASEtype%OF
14260WHEN&FFF:="Text"
14270WHEN&FFD:="Data"
14280WHEN&FFB:="Basic"
14290WHEN&FF9:="Sprite"
14300WHEN&FED:="Palette"
14310WHEN&FEC:="Template"
14320WHEN&AFF:="Draw"
14330WHEN&1000:="Folder"
14340WHEN&2000:="Application"
14350OTHERWISE=STR$~(type%)
14360ENDCASE
14370:
14380DEF PROCread
14390IF cur%<tot% OR icon%=27 THEN
14400SURNAME$(cur%)=FNWimp_IconText(Main_Window%,4)
14410SURNAME$(cur%)=FNChange(SURNAME$(cur%))
14420OTHERS$(cur%)=FNWimp_IconText(Main_Window%,5)
14430OTHERS$(cur%)=FNChange(OTHERS$(cur%))
14440ADD1$(cur%)=FNWimp_IconText(Main_Window%,6)
14450ADD2$(cur%)=FNWimp_IconText(Main_Window%,7)
14460ADD3$(cur%)=FNWimp_IconText(Main_Window%,8)
14470ADD1$(cur%)=FNChange(ADD1$(cur%))
14480ADD2$(cur%)=FNChange(ADD2$(cur%))
14490ADD3$(cur%)=FNChange(ADD3$(cur%))
14500POSTCODE$(cur%)=FNWimp_IconText(Main_Window%,9)
14510AREA$(cur%)=FNWimp_IconText(Main_Window%,10)
14520TEL$(cur%)=FNWimp_IconText(Main_Window%,11)
14530NTS$(cur%)=FNWimp_IconText(Main_Window%,12)
14540NTS$(cur%)=FNChange(NTS$(cur%))
14550ENDIF
14560ENDPROC
14570:
14580DEF PROCupdate
14590PROCmenuupdate
14600PROCWimp_IconUpdate(Main_Window%,20)
14610PROCWimp_IconPutText(Main_Window%,4,SURNAME$(cur%))
14620PROCWimp_IconPutText(Main_Window%,5,OTHERS$(cur%))
14630PROCWimp_IconPutText(Main_Window%,6,ADD1$(cur%))
14640PROCWimp_IconPutText(Main_Window%,7,ADD2$(cur%))
14650PROCWimp_IconPutText(Main_Window%,8,ADD3$(cur%))
14660PROCWimp_IconPutText(Main_Window%,9,POSTCODE$(cur%))
14670IF AREA$(cur%)="" THEN PROCWimp_IconPutText(Main_Window%,10,"") ELSE PROCWimp_IconPutText(Main_Window%,10,AREA$(cur%))
14680IF TEL$(cur%)="" THEN PROCWimp_IconPutText(Main_Window%,11,"") ELSE PROCWimp_IconPutText(Main_Window%,11,TEL$(cur%))
14690PROCWimp_IconPutText(Main_Window%,12,NTS$(cur%))
14700PROCWimp_IconCaret(Main_Window%,4,LEN(FNWimp_IconText(Main_Window%,4)))
14710ENDPROC
14720:
14730DEF PROCdelete
14740FOR A=cur% TO tot%
14750SURNAME$(A)=SURNAME$(A+1)
14760OTHERS$(A)=OTHERS$(A+1)
14770ADD1$(A)=ADD1$(A+1)
14780ADD2$(A)=ADD2$(A+1)
14790ADD3$(A)=ADD3$(A+1)
14800POSTCODE$(A)=POSTCODE$(A+1)
14810AREA$(A)=AREA$(A+1)
14820TEL$(A)=TEL$(A+1)
14830NTS$(A)=NTS$(A+1)
14840NEXTA
14850tot%-=1
14860ENDPROC
14870:
14880DEF PROCmenuupdate
14890IF tot%=0 THEN
14900PROCWimp_MenuDisable(Bar_Menu%,2)
14910PROCWimp_MenuDisable(Title_Menu%,3)
14920PROCWimp_MenuDisable(Main_Menu%,12)
14930ELSE
14940PROCWimp_MenuEnable(Bar_Menu%,2)
14950PROCWimp_MenuEnable(Title_Menu%,3)
14960PROCWimp_MenuEnable(Main_Menu%,12)
14970ENDIF
14980ENDPROC
14990:
15000DEFPROCtonedial(A$)
15010IFA$="" THEN ENDPROC
15020SYS"Hourglass_On"
15030VOICES2
15040VOICE1,"WaveSynth-Beep"
15050VOICE2,"WaveSynth-Beep"
15060LOCALI%
15070FORI%=1TOLENA$
15080PROCtone(ASCMID$(A$,I%))
15090PROCdelay(6)
15100NEXT
15110SYS"Hourglass_Smash"
15120ENDPROC
15130:
15140DEFPROCtone(I%)
15150I%-=48
15160IF I%<0 OR I%>9 THEN ENDPROC
15170SOUND 1,-15,tone%(I%,0),100
15180SOUND 2,-15,tone%(I%,1),100
15190PROCdelay(10)
15200SOUND 1,0,0,0
15210SOUND 2,0,0,0
15220ENDPROC
15230:
15240DEFPROCdelay(I%)
15250LOCALT%
15260T%=TIME
15270REPEATUNTILTIME>T%+I%
15280ENDPROC
15290:
15300DEF PROCupdatep
15310PROCWimp_IconPutText(Print_Window%,28,SURNAME$(pcur%))
15320PROCWimp_IconPutText(Print_Window%,29,OTHERS$(pcur%))
15330ENDPROC
15340:
15350DEF PROCable
15360IF psel%=1 THEN
15370PROCWimp_IconEnable(Print_Window%,6)
15380PROCWimp_IconEnable(Print_Window%,12)
15390PROCWimp_IconEnable(Print_Window%,9)
15400PROCWimp_IconEnable(Print_Window%,11)
15410ENDIF
15420IF psel%=2 THEN
15430PROCWimp_IconEnable(Print_Window%,8)
15440PROCWimp_IconEnable(Print_Window%,14)
15450ENDIF
15460IF psel%=3 THEN
15470PROCWimp_IconEnable(Print_Window%,15)
15480ENDIF
15490IF psel%=4 THEN
15500PROCWimp_IconEnable(Print_Window%,28)
15510PROCWimp_IconEnable(Print_Window%,29)
15520PROCWimp_IconEnable(Print_Window%,30)
15530PROCWimp_IconEnable(Print_Window%,31)
15540PROCWimp_IconEnable(Print_Window%,32)
15550ENDIF
15560ENDPROC
15570:
15580DEF PROCdalbe
15590IF psel%=1 THEN
15600PROCWimp_IconDisable(Print_Window%,6)
15610PROCWimp_IconDisable(Print_Window%,12)
15620PROCWimp_IconDisable(Print_Window%,9)
15630PROCWimp_IconDisable(Print_Window%,11)
15640ENDIF
15650IF psel%=2 THEN
15660PROCWimp_IconDisable(Print_Window%,8)
15670PROCWimp_IconDisable(Print_Window%,14)
15680ENDIF
15690IF psel%=3 THEN
15700PROCWimp_IconDisable(Print_Window%,15)
15710ENDIF
15720IF psel%=4 THEN
15730PROCWimp_IconDisable(Print_Window%,28)
15740PROCWimp_IconDisable(Print_Window%,29)
15750PROCWimp_IconDisable(Print_Window%,30)
15760PROCWimp_IconDisable(Print_Window%,31)
15770PROCWimp_IconDisable(Print_Window%,32)
15780ENDIF
15790ENDPROC
15800:
15810DEF FNgetstring(array%)
15820LOCAL path$,pointer%
15830path$=""
15840pointer%=array%
15850REPEAT
15860path$+=CHR$?pointer%
15870pointer%+=1
15880UNTIL ?pointer%=0 OR ?pointer%=13
15890=path$
15900:
15910DEFPROCopenprinter
15920SYS "XPDriver_Info" TO R0,R1,R2,R3,R4,R5,R6,R7
15930IF R1=0 AND R2=0 AND R3=0 AND R5=0 AND R6=0 AND R7=0 THEN
15940PROCWimp_IconPutText(Print_Window%,34,"No driver loaded")
15950DRIVER%=FALSE
15960ELSE
15970DRIVER%=TRUE
15980REM no printer ?
15990ENDIF
16000IF DRIVER%=TRUE THEN
16010printer$=FNgetstring(R4)
16020PROCWimp_IconPutText(Print_Window%,34,printer$)
16030ENDIF
16040ENDPROC
16050:
16060DEFPROCprint
16070:
16080printhand%=OPENOUT("PRINTER:$.Job1") : REM start a job !!!
16090$title%="Exchange file"
16100SYS &80145,printhand%,title%
16110BPUT#printhand%,13 : REM put head to left of paper to start!!!!
16120:
16130IF psel%=1 THEN
16140L$=FNWimp_IconText(Print_Window%,12)
16150R$=FNWimp_IconText(Print_Window%,11)
16160IF L$<=R$ THEN
16170FOR A=0 TO tot%-1
16180N$=LEFT$(SURNAME$(A),1)
16190IF N$>=L$ AND N$<=R$ THEN
16200IF psurname%=TRUE AND SURNAME$(A)<>"" THEN PROCprintline("Surname : "+SURNAME$(A)+CHR$(10))
16210IF pothers%=TRUE AND OTHERS$(A)<>"" THEN PROCprintline("Other names : "+OTHERS$(A)+CHR$(10))
16220IF padd%=TRUE THEN
16230IF ADD1$(A)<>"" THEN PROCprintline("Address : "+ADD1$(A)+CHR$(10))
16240IF ADD2$(A)<>"" THEN PROCprintline("Address : "+ADD2$(A)+CHR$(10))
16250IF ADD3$(A)<>"" THEN PROCprintline("Address : "+ADD3$(A)+CHR$(10))
16260ENDIF
16270IF ppostcode%=TRUE AND POSTCODE$(A)<>"" THEN PROCprintline("Post Code : "+POSTCODE$(A)+CHR$(10))
16280IF parea%=TRUE AND AREA$(A)<>"" THEN PROCprintline("Area : "+AREA$(A)+CHR$(10))
16290IF ptel%=TRUE AND TEL$(A)<>"" THEN PROCprintline("Telephone : "+TEL$(A)+CHR$(10))
16300IF pnts%=TRUE AND NTS$(A)<>"" THEN PROCprintline("Notes : "+NTS$(A)+CHR$(10))
16310PROCprintline(CHR$(10))
16320ENDIF
16330NEXTA
16340ENDIF
16350ENDIF
16360IF psel%=2 THEN
16370A$=FNWimp_IconText(Print_Window%,14)
16380FOR A=0 TO tot%-1
16390N$=LEFT$(SURNAME$(A),1)
16400IF A$=N$ THEN
16410IF psurname%=TRUE AND SURNAME$(A)<>"" THEN PROCprintline("Surname : "+SURNAME$(A)+CHR$(10))
16420IF pothers%=TRUE AND OTHERS$(A)<>"" THEN PROCprintline("Other names : "+OTHERS$(A)+CHR$(10))
16430IF padd%=TRUE THEN
16440IF ADD1$(A)<>"" THEN PROCprintline("Address : "+ADD1$(A)+CHR$(10))
16450IF ADD2$(A)<>"" THEN PROCprintline("Address : "+ADD2$(A)+CHR$(10))
16460IF ADD3$(A)<>"" THEN PROCprintline("Address : "+ADD3$(A)+CHR$(10))
16470ENDIF
16480IF ppostcode%=TRUE AND POSTCODE$(A)<>"" THEN PROCprintline("Post Code : "+POSTCODE$(A)+CHR$(10))
16490IF parea%=TRUE AND AREA$(A)<>"" THEN PROCprintline("Area : "+AREA$(A)+CHR$(10))
16500IF ptel%=TRUE AND TEL$(A)<>"" THEN PROCprintline("Telephone : "+TEL$(A)+CHR$(10))
16510IF pnts%=TRUE AND NTS$(A)<>"" THEN PROCprintline("Notes : "+NTS$(A)+CHR$(10))
16520PROCprintline(CHR$(10))
16530ENDIF
16540NEXTA
16550ENDIF
16560IF psel%=3 THEN
16570FOR A=0 TO tot%-1
16580IF psurname%=TRUE AND SURNAME$(A)<>"" THEN PROCprintline("Surname : "+SURNAME$(A)+CHR$(10))
16590IF pothers%=TRUE AND OTHERS$(A)<>"" THEN PROCprintline("Other names : "+OTHERS$(A)+CHR$(10))
16600IF padd%=TRUE THEN
16610IF ADD1$(A)<>"" THEN PROCprintline("Address : "+ADD1$(A)+CHR$(10))
16620IF ADD2$(A)<>"" THEN PROCprintline("Address : "+ADD2$(A)+CHR$(10))
16630IF ADD3$(A)<>"" THEN PROCprintline("Address : "+ADD3$(A)+CHR$(10))
16640ENDIF
16650IF ppostcode%=TRUE AND POSTCODE$(A)<>"" THEN PROCprintline("Post Code : "+POSTCODE$(A)+CHR$(10))
16660IF parea%=TRUE AND AREA$(A)<>"" THEN PROCprintline("Area : "+AREA$(A)+CHR$(10))
16670IF ptel%=TRUE AND TEL$(A)<>"" THEN PROCprintline("Telephone : "+TEL$(A)+CHR$(10))
16680IF pnts%=TRUE AND NTS$(A)<>"" THEN PROCprintline("Notes : "+NTS$(A)+CHR$(10))
16690PROCprintline(CHR$(10))
16700NEXTA
16710ENDIF
16720IF psel%=4 THEN
16730FOR A=0 TO tot%-1
16740IF SURNAME$(A)=SURNAME$(pcur%) THEN
16750IF psurname%=TRUE AND SURNAME$(A)<>"" THEN PROCprintline("Surname : "+SURNAME$(A)+CHR$(10))
16760IF pothers%=TRUE AND OTHERS$(A)<>"" THEN PROCprintline("Other names : "+OTHERS$(A)+CHR$(10))
16770IF padd%=TRUE THEN
16780IF ADD1$(A)<>"" THEN PROCprintline("Address : "+ADD1$(A)+CHR$(10))
16790IF ADD2$(A)<>"" THEN PROCprintline("Address : "+ADD2$(A)+CHR$(10))
16800IF ADD3$(A)<>"" THEN PROCprintline("Address : "+ADD3$(A)+CHR$(10))
16810ENDIF
16820IF ppostcode%=TRUE AND POSTCODE$(A)<>"" THEN PROCprintline("Post Code : "+POSTCODE$(A)+CHR$(10))
16830IF parea%=TRUE AND AREA$(A)<>"" THEN PROCprintline("Area : "+AREA$(A)+CHR$(10))
16840IF ptel%=TRUE AND TEL$(A)<>"" THEN PROCprintline("Telephone : "+TEL$(A)+CHR$(10))
16850IF pnts%=TRUE AND NTS$(A)<>"" THEN PROCprintline("Notes : "+NTS$(A)+CHR$(10))
16860PROCprintline(CHR$(10))
16870ENDIF
16880NEXTA
16890ENDIF
16900:
16910BPUT#printhand%,12 : REM do linefeed !!!!
16920SYS &80148,printhand%
16930CLOSE #printhand%
16940ENDPROC
16950:
16960DEFPROCprintline(line$)
16970FOR cco=1 TO LEN(line$)
16980byte=ASC(MID$(line$,cco,1))
16990BPUT#printhand%,byte
17000IF byte=10 OR byte=13 THEN BPUT#printhand%,13 : REM put head to left of paper
17010NEXT cco
17020ENDPROC
17030:
17040DEF PROCsel(ZZ,ic%)
17050IF ZZ THEN PROCWimp_SelectIcon(Print_Window%,ic%) ELSE PROCWimp_UnselectIcon(Print_Window%,ic%)
17060ENDPROC
17070:
17080DEFFNChange(wo$)
17090wo$=FNtoupper(wo$,1)
17100FOR cc=1 TO LEN(wo$)
17110IF MID$(wo$,cc,1)=" " OR MID$(wo$,cc,1)="-" OR MID$(wo$,cc,1)="." OR MID$(wo$,cc,1)="*" OR MID$(wo$,cc,1)="""" OR MID$(wo$,cc,1)="'" OR MID$(wo$,cc,1)="," THEN
17120wo$=FNtoupper(wo$,cc+1)
17130ELSE
17140wo$=FNtolower(wo$,cc+1)
17150ENDIF
17160NEXTcc
17170=wo$
17180:
17190DEFFNtoupper(word$,p)
17200IF MID$(word$,p,1)>="a" AND MID$(word$,p,1)<="z" THEN MID$(word$,p,1)=CHR$(ASC(MID$(word$,p,1))-(ASC("a")-ASC("A")))
17210=word$
17220:
17230DEFFNtolower(word$,p)
17240IF MID$(word$,p,1)>="A" AND MID$(word$,p,1)<="Z" THEN MID$(word$,p,1)=CHR$(ASC(MID$(word$,p,1))+(ASC("a")-ASC("A")))
17250=word$
17260:
17270DEF PROCunsearch
17280IF ssel%=0 THEN
17290PROCWimp_SetIconSprite(Set_Window%,0,";R1")
17300PROCWimp_IconDisable(Set_Window%,1)
17310ENDIF
17320IF ssel%=1 THEN
17330PROCWimp_SetIconSprite(Set_Window%,4,";R1")
17340PROCWimp_IconDisable(Set_Window%,5)
17350ENDIF
17360IF ssel%=2 THEN
17370PROCWimp_SetIconSprite(Set_Window%,6,";R1")
17380PROCWimp_IconDisable(Set_Window%,7)
17390PROCWimp_IconDisable(Set_Window%,8)
17400PROCWimp_IconDisable(Set_Window%,9)
17410ENDIF
17420IF ssel%=3 THEN
17430PROCWimp_SetIconSprite(Set_Window%,10,";R1")
17440PROCWimp_IconDisable(Set_Window%,11)
17450ENDIF
17460IF ssel%=4 THEN
17470PROCWimp_SetIconSprite(Set_Window%,12,";R1")
17480PROCWimp_IconDisable(Set_Window%,13)
17490ENDIF
17500IF ssel%=5 THEN
17510PROCWimp_SetIconSprite(Set_Window%,14,";R1")
17520PROCWimp_IconDisable(Set_Window%,15)
17530ENDIF
17540IF ssel%=6 THEN
17550PROCWimp_SetIconSprite(Set_Window%,16,";R1")
17560PROCWimp_IconDisable(Set_Window%,17)
17570ENDIF
17580ENDPROC
17590:
17600DEF PROCselsearch
17610IF ssel%=0 THEN
17620PROCWimp_SetIconSprite(Set_Window%,0,";R2")
17630PROCWimp_IconEnable(Set_Window%,1)
17640PROCWimp_IconCaret(Set_Window%,1,LEN(FNWimp_IconText(Set_Window%,1)))
17650ENDIF
17660IF ssel%=1 THEN
17670PROCWimp_SetIconSprite(Set_Window%,4,";R2")
17680PROCWimp_IconEnable(Set_Window%,5)
17690PROCWimp_IconCaret(Set_Window%,5,LEN(FNWimp_IconText(Set_Window%,5)))
17700ENDIF
17710IF ssel%=2 THEN
17720PROCWimp_SetIconSprite(Set_Window%,6,";R2")
17730PROCWimp_IconEnable(Set_Window%,7)
17740PROCWimp_IconEnable(Set_Window%,8)
17750PROCWimp_IconEnable(Set_Window%,9)
17760PROCWimp_IconCaret(Set_Window%,7,LEN(FNWimp_IconText(Set_Window%,7)))
17770ENDIF
17780IF ssel%=3 THEN
17790PROCWimp_SetIconSprite(Set_Window%,10,";R2")
17800PROCWimp_IconEnable(Set_Window%,11)
17810PROCWimp_IconCaret(Set_Window%,11,LEN(FNWimp_IconText(Set_Window%,11)))
17820ENDIF
17830IF ssel%=4 THEN
17840PROCWimp_SetIconSprite(Set_Window%,12,";R2")
17850PROCWimp_IconEnable(Set_Window%,13)
17860PROCWimp_IconCaret(Set_Window%,13,LEN(FNWimp_IconText(Set_Window%,13)))
17870ENDIF
17880IF ssel%=5 THEN
17890PROCWimp_SetIconSprite(Set_Window%,14,";R2")
17900PROCWimp_IconEnable(Set_Window%,15)
17910PROCWimp_IconCaret(Set_Window%,15,LEN(FNWimp_IconText(Set_Window%,15)))
17920ENDIF
17930IF ssel%=6 THEN
17940PROCWimp_SetIconSprite(Set_Window%,16,";R2")
17950PROCWimp_IconEnable(Set_Window%,17)
17960PROCWimp_IconCaret(Set_Window%,17,LEN(FNWimp_IconText(Set_Window%,17)))
17970ENDIF
17980ENDPROC
17990:
18000DEF PROCsearchcut
18010IF ssel%=0 THEN
18020SEARCH$=FNWimp_IconText(Set_Window%,1)
18030SEARCH2$=FNWimp_IconText(Set_Window%,1)
18040SEARCH3$=FNWimp_IconText(Set_Window%,1)
18050SEARCH$=FNChange(SEARCH$)
18060ENDIF
18070IF ssel%=1 THEN
18080SEARCH$=FNWimp_IconText(Set_Window%,5)
18090SEARCH2$=FNWimp_IconText(Set_Window%,5)
18100SEARCH3$=FNWimp_IconText(Set_Window%,5)
18110SEARCH$=FNChange(SEARCH$)
18120ENDIF
18130IF ssel%=2 THEN
18140SEARCH$=FNWimp_IconText(Set_Window%,7)
18150SEARCH2$=FNWimp_IconText(Set_Window%,8)
18160SEARCH3$=FNWimp_IconText(Set_Window%,9)
18170IF SEARCH$<>"" THEN SEARCH$=FNChange(SEARCH$) ELSE SEARCH$=" "
18180IF SEARCH2$<>"" THEN SEARCH2$=FNChange(SEARCH2$) ELSE SEARCH2$=" "
18190IF SEARCH3$<>"" THEN SEARCH3$=FNChange(SEARCH3$) ELSE SEARCH3$=" "
18200ENDIF
18210IF ssel%=3 THEN
18220SEARCH$=FNWimp_IconText(Set_Window%,11)
18230SEARCH2$=FNWimp_IconText(Set_Window%,11)
18240SEARCH3$=FNWimp_IconText(Set_Window%,11)
18250ENDIF
18260IF ssel%=4 THEN
18270SEARCH$=FNWimp_IconText(Set_Window%,13)
18280SEARCH2$=FNWimp_IconText(Set_Window%,13)
18290SEARCH3$=FNWimp_IconText(Set_Window%,13)
18300ENDIF
18310IF ssel%=5 THEN
18320SEARCH$=FNWimp_IconText(Set_Window%,15)
18330SEARCH2$=FNWimp_IconText(Set_Window%,15)
18340SEARCH3$=FNWimp_IconText(Set_Window%,15)
18350ENDIF
18360IF ssel%=6 THEN
18370SEARCH$=FNWimp_IconText(Set_Window%,17)
18380SEARCH2$=FNWimp_IconText(Set_Window%,17)
18390SEARCH3$=FNWimp_IconText(Set_Window%,17)
18400SEARCH$=FNChange(SEARCH$)
18410ENDIF
18420ENDPROC
18430:
18440DEF PROCsearch
18450DONE%=0
18460ST%=FALSE
18470IF SNUM%=-2 THEN SNUM%=cur%+1
18480LOOK$=""
18490LOOK2$=""
18500LOOK3$=""
18510WHILE LOOK$<>SEARCH$ AND LOOK2$<>SEARCH2$ AND LOOK3$<>SEARCH3$ AND SNUM%<=tot%+1 AND ST%=FALSE
18520LOOK$=""
18530LOOK2$=""
18540LOOK3$=""
18550IF ssel%=0 THEN
18560LOOK$=SURNAME$(SNUM%)
18570ENDIF
18580IF ssel%=1 THEN
18590LOOK$=OTHERS$(SNUM%)
18600ENDIF
18610IF ssel%=2 THEN
18620LOOK$=ADD1$(SNUM%)
18630LOOK2$=ADD2$(SNUM%)
18640LOOK3$=ADD3$(SNUM%)
18650ENDIF
18660IF ssel%=3 THEN
18670LOOK$=POSTCODE$(SNUM%)
18680ENDIF
18690IF ssel%=4 THEN
18700LOOK$=AREA$(SNUM%)
18710ENDIF
18720IF ssel%=5 THEN
18730LOOK$=TEL$(SNUM%)
18740ENDIF
18750IF ssel%=6 THEN
18760LOOK$=NTS$(SNUM%)
18770ENDIF
18780IF SNUM%>=tot% THEN
18790SNUM%=-1
18800DONE%+=1
18810ENDIF
18820SNUM%+=1
18830IF DONE%=2 THEN ST%=TRUE
18840PROCchop
18850ENDWHILE
18860IF ST%=FALSE THEN
18870PROCread
18880cur%=SNUM%-1
18890PROCupdate
18900ENDIF
18910ENDPROC
18920:
18930DEF PROCchop
18940LOOK$=LEFT$(LOOK$,LEN(SEARCH$))
18950LOOK2$=LEFT$(LOOK2$,LEN(SEARCH2$))
18960LOOK3$=LEFT$(LOOK3$,LEN(SEARCH3$))
18970ENDPROC
18980:
18990DEF PROCmousebox(w%)
19000wimp%!0=w%
19010SYS"Wimp_GetWindowOutline",,wimp%
19020MOUSE RECTANGLE wimp%!4+2,wimp%!8+2,wimp%!12-wimp%!4-4,wimp%!16-wimp%!8-4
19030ENDPROC
19040:
19050DEF PROCunbox
19060SYS "OS_ReadModeVariable",-1,11 TO ,,xpic
19070SYS "OS_ReadModeVariable",-1,12 TO ,,ypic
19080SYS "OS_ReadModeVariable",-1,4 TO ,,xfact
19090SYS "OS_ReadModeVariable",-1,5 TO ,,yfact
19100MOUSE RECTANGLE 0,0,xpic<<xfact,ypic<<yfact
19110ENDPROC
19120:
19130DEF PROCerror
19140IF ERR=67785 THEN
19150PROCWimp_WindowErrorBox("!ADRBook","Please write enable the disk")
19160CLOSE #X%
19170ELSE
19180DOSAVE%=FALSE
19190PROCWimp_WindowErrorBox("!ADRBook",REPORT$)
19200ENDIF
19210ENDPROC
19220:
19230DEF PROCsendhelp(wimp%,a$)
19240!wimp%=(LENa$+25) AND NOT3
19250wimp%!12=wimp%!8
19260!(wimp%+16)=&503
19270$(wimp%+20)=a$
19280?(wimp%+20+LENa$+1)=0
19290SYS "Wimp_SendMessage",17,wimp%,wimp%!4
19300ENDPROC
19310:
19320DEF PROCsort
19330FOR B=0 TO tot%
19340FOR A=0 TO tot%-2
19350IF SURNAME$(A)>SURNAME$(A+1) THEN
19360SWAP SURNAME$(A+1),SURNAME$(A)
19370SWAP OTHERS$(A+1),OTHERS$(A)
19380SWAP ADD1$(A+1),ADD1$(A)
19390SWAP ADD2$(A+1),ADD2$(A)
19400SWAP ADD3$(A+1),ADD3$(A)
19410SWAP POSTCODE$(A+1),POSTCODE$(A)
19420SWAP AREA$(A+1),AREA$(A)
19430SWAP TEL$(A+1),TEL$(A)
19440SWAP NTS$(A+1),NTS$(A)
19450ENDIF
19460NEXTA
19470NEXTB
19480ENDPROC

ș "OS_GetEnv" � env$
� �env$," -quit ") �
2fileload$=�env$,�env$,�(34),�env$,�(34))+1)+1)
(�
2?                           �Wimp_Start("ADRBook",1880,3862)
<3                           �User_SetInitialData
F.                           �Create_Windows
P,                           �Create_Menus
Z� fileload$<>" " �
d$�Event_LoadFile(fileload$,"FBF")
n/�Wimp_IconPutText(Save_Window%,1,fileload$)
x�
�1                           �Wimp_WaitForEvent
�.                           �Wimp_CloseDown
�                            �
�       :
�!       � �User_SetInitialData
�
DOSAVE%=�
�
search%=�
�SNUM%=-2
�SEARCH$=""
�SEARCH2$=""
�SEARCH3$=""
�ssel%=0
�� title% 256
       psel%=1
       pcur%=0
       psurname%=�
"       pothers%=�
,       padd%=�
6       ppostcode%=�
@       parea%=�
J       ptel%=�
T       pnts%=�
^� tone%(9,1)
h%�I%=0�9:�J%=0�1:�tone%(I%,J%):�:�
r@�24063,26145,22288,25564,22288,26145,22288,26726,22979,25564
|@�22979,26145,22979,26726,23482,25564,23482,26145,23482,26726
�       WIN$="NONE"
�       dim=300
�       � SURNAME$(dim)
�       � OTHERS$(dim)
�       � ADD1$(dim)
�       � ADD2$(dim)
�       � ADD3$(dim)
�       � POSTCODE$(dim)
�       � AREA$(dim)
�       � TEL$(dim)
�       � NTS$(dim)
�SURNAME$()=""
�OTHERS$()=""
ADD1$()=""
ADD2$()=""
ADD3$()=""
&POSTCODE$()=""
0AREA$()=""
:
TEL$()=""
D
NTS$()=""
N       cur%=0
X       tot%=0
b	SA%=�
l
UPDATE%=�
v	CD%=�
�       �
�       :
�       � �Create_Windows
�         �Wimp_SpritesLoad
�;                  Info_Window%=�Wimp_WindowLoad("Info")
�<                 Title_Window%=�Wimp_WindowLoad("Title")
�;                  Main_Window%=�Wimp_WindowLoad("Main")
�<                 Print_Window%=�Wimp_WindowLoad("Print")
�;                  Save_Window%=�Wimp_WindowLoad("Save")
�9                  Set_Window%=�Wimp_WindowLoad("Set")
�;                Close_Window%=�Wimp_WindowLoad("Close")
�;                Save2_Window%=�Wimp_WindowLoad("Save2")
�=              Search2_Window%=�Wimp_WindowLoad("Search2")
.       Bar_Icon%=�Wimp_IconBar("!ADRBook")
       �able
       �
 
        :
*"        � �Event_Save(window%)
4          Ȏ window% �
>"            � Save_Window% :=�
H#            � Save2_Window% :=�
R             :=�
\          �
f
        :
p.        � �Event_Sprites(window%)=sprites%
z       :
�       � �Create_Menus
�W        Save_Menu%=�Wimp_MenuCreate("Save\ADRBook>Save_Window%\Text>Save2_Window%")
�Y         Bar_Menu%=�Wimp_MenuCreate("ADRBook\Info>Info_Window%\Save>Save_Menu%\Quit")
��         Main_Menu%=�Wimp_MenuCreate("Main\Turn Back\Start\Back\Dial\Sort\Search Set\Delete\Add\Print\Forward\End\Save>Save_Menu%")
�V        Title_Menu%=�Wimp_MenuCreate("Title\Close Book\Turn Over\Save>Save_Menu%")
�@      Search2_Menu%=�Wimp_MenuCreate("Search\Search\Cancel")
�.       �Wimp_MenuDottedLine(Title_Menu%,1)
�.       �Wimp_MenuDottedLine(Title_Menu%,2)
�,       �Wimp_MenuDottedLine(Bar_Menu%,1)
�,       �Wimp_MenuDottedLine(Bar_Menu%,2)
�A        Print_Menu%=�Wimp_MenuCreate("Print\Turn Back\Print")
�.       �Wimp_MenuDottedLine(Print_Menu%,1)
�G          Set_Menu%=�Wimp_MenuCreate("Search Set\Turn Back\Search")
-       �Wimp_MenuDottedLine(Main_Menu%,1)
-       �Wimp_MenuDottedLine(Main_Menu%,3)
-       �Wimp_MenuDottedLine(Main_Menu%,9)
$.       �Wimp_MenuDottedLine(Main_Menu%,11)
.       �menuupdate
8       �
B
        :
L"        � �Event_Menu(window%)
V        Ȏ window% �
`.         � Bar_Window%        : =Bar_Menu%
j         � Main_Window%
t� search%=� �
~=Main_Menu%
��
�=Search2_Menu%
��
�0         � Print_Window%      : =Print_Menu%
�0         � Title_Window%      : =Title_Menu%
�.         � Set_Window%        : =Set_Menu%
�2         � Search2_Window%    : =Search2_Menu%
�!                        : =�
�
        �
�       :
�1       � �Event_WindowClose(window%,buttons%)
�       Ȏ window% �
       � Title_Window%

WIN$="NONE"
       � Main_Window%
)�Wimp_WindowBringToTop(Title_Window%)
(WIN$="TITLE"
2       � Print_Window%
<(�Wimp_WindowBringToTop(Main_Window%)
FWIN$="MAIN"
P       � Set_Window%
Z�searchcut
d(�Wimp_WindowBringToTop(Main_Window%)
nWIN$="MAIN"
x
�       �
�       �
�       :
�5       � �Event_Draw(window%,x_origin%,y_origin%)
�       Ȏ window% �
�8        � Info_Window%        : �User_DrawInfoWindow
�9        � Title_Window%       : �User_DrawTitleWindow
�8        � Main_Window%        : �User_DrawMainWindow
�9        � Print_Window%       : �User_DrawPrintWindow
�8        � Save_Window%        : �User_DrawSaveWindow
�       �
�       �
�             :
'             � �User_DrawInfoWindow
             �
             :
"(             � �User_DrawTitleWindow
,             �
6             :
@'             � �User_DrawMainWindow
J&             ș"Wimp_SetColour",11
T!             len=212/(tot%+1)
^             pos=cur%*len
h?             ȓ Ȑ (x_origin%+530)+pos,y_origin%-594,len,22
r             �
|             :
�(             � �User_DrawPrintWindow
�             �
�             :
�'             � �User_DrawSaveWindow
�             �
�       :
�;       � �Event_MouseClick(window%,icon%,button%,x%,y%)
�       Ȏ window% �
�1        � Bar_Window%        : �User_MouseBar
�B        � Info_Window%       : �User_MouseInfo( button%,icon%)
�C        � Title_Window%      : �User_MouseTitle( button%,icon%)
�B        � Main_Window%       : �User_MouseMain( button%,icon%)
�C        � Print_Window%      : �User_MousePrint( button%,icon%)
D        � Set_Window%        : �User_MouseSearch( button%,icon%)
C        � Close_Window%      : �User_MouseClose( button%,icon%)
D        � Search2_Window%    : �User_MouseClose2( button%,icon%)
&       �
0       �
:         :
D0         � �User_MouseClose2( button%,icon%)
N         � icon%=3 �
X         search%=�
b.         �Wimp_IconEnable(Main_Window%,21)
l.         �Wimp_IconEnable(Main_Window%,22)
v.         �Wimp_IconEnable(Main_Window%,23)
�.         �Wimp_IconEnable(Main_Window%,24)
�.         �Wimp_IconEnable(Main_Window%,25)
�.         �Wimp_IconEnable(Main_Window%,26)
�.         �Wimp_IconEnable(Main_Window%,27)
�.         �Wimp_IconEnable(Main_Window%,28)
�.         �Wimp_IconEnable(Main_Window%,29)
�.         �Wimp_IconEnable(Main_Window%,30)
�.         �Wimp_IconEnable(Main_Window%,33)
�/         �Wimp_WindowClose(Search2_Window%)
�         �
�"         � icon%=2 � ssel%=2 �
�:         � SEARCH$=" " � SEARCH2$=" " � SEARCH3$=" " �
�L         �Wimp_WindowErrorBox("!ADRBook","Please set search parameters")
         �
         �search
         �
          �
*
4#         � icon%=2 � ssel%<>2 �
>:         � SEARCH$<>"" � SEARCH2$<>"" � SEARCH3$<>"" �
H         �search
R         �
\L         �Wimp_WindowErrorBox("!ADRBook","Please set search parameters")
f         �
p         �
z         �
�         :
�/         � �User_MouseClose( button%,icon%)
�         � icon%=1 �
�	SA%=�
�
�unbox
�$�Wimp_WindowClose(Close_Window%)
�
UPDATE%=�
�(�Wimp_WindowBringToTop(Save_Window%)
�%A$=�Wimp_IconText(Save_Window%,1)
�)�Wimp_IconCaret(Save_Window%,1,�(A$))
��
�         � icon%=2 �
�
�unbox
	
UPDATE%=�
	$�Wimp_WindowClose(Close_Window%)
		CD%=�
	$�
	.         � icon%=3 �
	8
�unbox
	B$�Wimp_WindowClose(Close_Window%)
	L�
	V� CD%=� � �Wimp_CloseDown
	`�
	j         :
	t         � �User_MouseBar
	~W         � WIN$="NONE" � SA%=� � �Wimp_WindowBringToTop(Title_Window%):WIN$="TITLE"
	�         �
	�         :
	�0         � �User_MouseSearch( button%,icon%)
	�"         � icon%=3 � ssel%=2 �
	�         �searchcut
	�:         � SEARCH$=" " � SEARCH2$=" " � SEARCH3$=" " �
	�L         �Wimp_WindowErrorBox("!ADRBook","Please set search parameters")
	�         �
	�+         �Wimp_WindowClose(Set_Window%)
	�1         �Wimp_WindowBringToTop(Main_Window%)
	�4         �Wimp_WindowBringToTop(Search2_Window%)
	�/         �Wimp_IconDisable(Main_Window%,21)
/         �Wimp_IconDisable(Main_Window%,22)

/         �Wimp_IconDisable(Main_Window%,23)
/         �Wimp_IconDisable(Main_Window%,24)
/         �Wimp_IconDisable(Main_Window%,25)
(/         �Wimp_IconDisable(Main_Window%,26)
2/         �Wimp_IconDisable(Main_Window%,27)
</         �Wimp_IconDisable(Main_Window%,28)
F/         �Wimp_IconDisable(Main_Window%,29)
P/         �Wimp_IconDisable(Main_Window%,30)
Z/         �Wimp_IconDisable(Main_Window%,33)
d         search%=�
n         �search
x         �
�         �
�
�#         � icon%=3 � ssel%<>2 �
�         �searchcut
�:         � SEARCH$<>"" � SEARCH2$<>"" � SEARCH3$<>"" �
�+         �Wimp_WindowClose(Set_Window%)
�1         �Wimp_WindowBringToTop(Main_Window%)
�4         �Wimp_WindowBringToTop(Search2_Window%)
�/         �Wimp_IconDisable(Main_Window%,21)
�/         �Wimp_IconDisable(Main_Window%,22)
�/         �Wimp_IconDisable(Main_Window%,23)
�/         �Wimp_IconDisable(Main_Window%,24)
�/         �Wimp_IconDisable(Main_Window%,25)
/         �Wimp_IconDisable(Main_Window%,26)
/         �Wimp_IconDisable(Main_Window%,27)
/         �Wimp_IconDisable(Main_Window%,28)
"/         �Wimp_IconDisable(Main_Window%,29)
,/         �Wimp_IconDisable(Main_Window%,30)
6/         �Wimp_IconDisable(Main_Window%,33)
@         search%=�
J         �search
T         �
^L         �Wimp_WindowErrorBox("!ADRBook","Please set search parameters")
h         �
r         �
|
�         � icon%=2 �
��searchcut
�"�Wimp_WindowClose(Set_Window%)
�(�Wimp_WindowBringToTop(Main_Window%)
�WIN$="MAIN"
��update
�         �
�X         � icon%=0 � icon%=4 � icon%=6 � icon%=10 � icon%=12 � icon%=14 � icon%=16 �
�@         � icon%=0 � ssel%<>0 � �unsearch:ssel%=0:�selsearch
�@         � icon%=4 � ssel%<>1 � �unsearch:ssel%=1:�selsearch
�@         � icon%=6 � ssel%<>2 � �unsearch:ssel%=2:�selsearch
�A         � icon%=10 � ssel%<>3 � �unsearch:ssel%=3:�selsearch
�A         � icon%=12 � ssel%<>4 � �unsearch:ssel%=4:�selsearch
A         � icon%=14 � ssel%<>5 � �unsearch:ssel%=5:�selsearch
A         � icon%=16 � ssel%<>6 � �unsearch:ssel%=6:�selsearch
         �
&         �
0         :
:.         � �User_MouseInfo( button%,icon%)
D         �
N         :
X/         � �User_MouseTitle( button%,icon%)
b         � icon%=6 �
l$�Wimp_WindowClose(Title_Window%)
vWIN$="NONE"
��
�         � icon%=7 �
�$�Wimp_WindowClose(Title_Window%)
�(�Wimp_WindowBringToTop(Main_Window%)
�WIN$="MAIN"
��update
��
�         �
�         :
�.         � �User_MouseMain( button%,icon%)
�         � icon%=33 �
�         � tot%>1 �
�         �read

         �sort

         �update

         �

 `         �Wimp_WindowAlert("!ADRBook","There is no point in sorting with this many records")

*         �

4
UPDATE%=�

>         �

H         � icon%=25 �

R#�Wimp_WindowClose(Main_Window%)

\'�Wimp_WindowBringToTop(Set_Window%)

f�selsearch

pWIN$="SEARCH"

z         �

�A         � icon%=24 � �read:�tonedial(AREA$(cur%)+TEL$(cur%))

�%         � icon%=26 � cur%<tot% �

�
UPDATE%=�

�WANS%=�Wimp_WindowCancel("!ADRBook","Are you sure you want to delete this record ?")

�� ANS%=� �

�
UPDATE%=�

�	�read

��delete

��update

��

��

�         � icon%=21 �

�#�Wimp_WindowClose(Main_Window%)
)�Wimp_WindowBringToTop(Title_Window%)
WIN$="TITLE"
�
$"         � icon%=28 � tot%>0 �
.
UPDATE%=�
8#�Wimp_WindowClose(Main_Window%)
B�openprinter
L)�Wimp_WindowBringToTop(Print_Window%)
VI�Wimp_IconCaret(Print_Window%,12,�(�Wimp_IconText(Print_Window%,12)))
`�updatep
jWIN$="PRINT"
t�
~         � icon%=27 �
�
UPDATE%=�
�� cur%=tot% �
�*� �Wimp_IconText(Main_Window%,4)<>"" �
�A%=icon%
�	�read
�tot%+=1
�cur%+=1
�
UPDATE%=�
��update
��
�L�Wimp_WindowErrorBox("!ADRBook","Please enter a Surname then press ADD")
��
�

[�Wimp_WindowErrorBox("!ADRBook","Please go to the blank record at the end of the file")
�
�
("         � icon%=23 � cur%>0 �
2
UPDATE%=�
<	�read
Fcur%-=1
P�update
Z�
d%         � icon%=29 � cur%<tot% �
n
UPDATE%=�
x	�read
�cur%+=1
��update
��
�"         � icon%=22 � cur%>0 �
�
UPDATE%=�
�	�read
�
cur%=0
��update
��
�%         � icon%=30 � cur%<tot% �
�
UPDATE%=�
�	�read
�
cur%=tot%
�update
�
         �
"         :
,/         � �User_MousePrint( button%,icon%)
6
@         � icon%=21 �
Jpsurname%=� psurname%
T�sel(psurname%,icon%)
^�
h         � icon%=22 �
rpothers%=� pothers%
|�sel(pothers%,icon%)
��
�         � icon%=23 �
�padd%=� padd%
��sel(padd%,icon%)
��
�         � icon%=24 �
�ppostcode%=� ppostcode%
��sel(ppostcode%,icon%)
��
�         � icon%=25 �
�parea%=� parea%
��sel(parea%,icon%)
��
         � icon%=26 �
ptel%=� ptel%
�sel(ptel%,icon%)
&�
0         � icon%=27 �
:pnts%=� pnts%
D�sel(pnts%,icon%)
N�
X
b
l%         � icon%=17 � DRIVER%=� �
vX� psurname%=� � pothers%=� � padd%=� � ppostcode%=� � parea%=� � ptel%=� � pnts%=� �
�
�print
��
�T�Wimp_WindowAlert("Error from !ADRBook","Please select at least one print data")
��
��
��         � icon%=10 � �Wimp_WindowClose(Print_Window%):�Wimp_WindowBringToTop(Main_Window%):WIN$="MAIN":�Wimp_IconCaret(Main_Window%,4,�(�Wimp_IconText(Main_Window%,4)))
�5         � icon%=30 � pcur%>0 � pcur%-=1:�updatep
�:         � icon%=31 � pcur%<tot%-1 � pcur%+=1:�updatep
�_         � icon%=7 � icon%=13 � icon%=16 � icon%=33 � �Wimp_SelectIcon(Print_Window%,icon%)
�#         � icon%=7 � psel%<>1 �
�I�Wimp_IconCaret(Print_Window%,12,�(�Wimp_IconText(Print_Window%,12)))
�
�dalbe
�psel%=1
	�able
�
$         � icon%=13 � psel%<>2 �
 I�Wimp_IconCaret(Print_Window%,14,�(�Wimp_IconText(Print_Window%,14)))
*
�dalbe
4psel%=2
>	�able
H�
R$         � icon%=16 � psel%<>3 �
\!ș "Wimp_SetCaretPosition",-1
f
�dalbe
ppsel%=3
z	�able
��
�$         � icon%=33 � psel%<>4 �
�!ș "Wimp_SetCaretPosition",-1
�
�dalbe
�psel%=4
�	�able
��
�
�         �
�       :
�0       � �Event_KeyPress(window%,icon%,key%)
�          Ȏ window% �
�E           � Main_Window%       : �User_KeyPressMain( icon%,key%)
F           � Print_Window%      : �User_KeyPressPrint( icon%,key%)
          �
       �
$         :
..         � �User_KeyPressMain( icon%,key%)
80� key%=13 � icon%<12 � key%=398 � icon%<12 �
B.a%=�(�Wimp_IconText(Main_Window%,icon%+1))
L,�Wimp_IconCaret(Main_Window%,icon%+1,a%)
V�
`0� key%=13 � icon%=12 � key%=398 � icon%=12 �
j� cur%=tot% �
t�User_MouseMain( 4,27)
~�
��User_MouseMain( 4,29)
��
��
�� key%=399 � icon%>4 �
�.a%=�(�Wimp_IconText(Main_Window%,icon%-1))
�,�Wimp_IconCaret(Main_Window%,icon%-1,a%)
��
�� key%=399 � icon%=4 �
�)a%=�(�Wimp_IconText(Main_Window%,12))
�'�Wimp_IconCaret(Main_Window%,12,a%)
��
�         �
         :

/         � �User_KeyPressPrint( icon%,key%)
         �
       :
(%       � �Event_MenuChoice(menu%)
2        Ȏ menu% �
<<              � Bar_Menu%          : �User_MenuChoiceBar
F=              � Main_Menu%         : �User_MenuChoiceMain
P>              � Title_Menu%        : �User_MenuChoiceTitle
Z>              � Print_Menu%        : �User_MenuChoicePrint
d<              � Set_Menu%          : �User_MenuChoiceSet
n@              � Search2_Menu%      : �User_MenuChoiceSearch2
x
        �
�       �
�       :
�        � �User_MenuChoiceBar
�$        Ȏ �Wimp_MenuChoice(0) �
�         � 1 :
�         � 3 :� UPDATE%=� �
�D�Wimp_IconPutText(Close_Window%,0,"This file has been modified")
�)�Wimp_WindowBringToTop(Close_Window%)
��mousebox(Close_Window%)
��
�� UPDATE%=� � finished%=�
�
        �
�       �
       :
"       � �User_MenuChoiceTitle
$        Ȏ �Wimp_MenuChoice(0) �
";         � 1 : �Event_MouseClick(Title_Window%,6,4,0,0)
,;         � 2 : �Event_MouseClick(Title_Window%,7,4,0,0)
6
        �
@       �
J       :
T$       � �User_MenuChoiceSearch2
^$        Ȏ �Wimp_MenuChoice(0) �
h=         � 1 : �Event_MouseClick(Search2_Window%,2,4,0,0)
r=         � 2 : �Event_MouseClick(Search2_Window%,3,4,0,0)
|
        �
�       �
�       :
�"       � �User_MenuChoicePrint
�$        Ȏ �Wimp_MenuChoice(0) �
�<         � 1 : �Event_MouseClick(Print_Window%,10,4,0,0)
�<         � 2 : �Event_MouseClick(Print_Window%,17,4,0,0)
�
        �
�       �       :
�        � �User_MenuChoiceSet
�$        Ȏ �Wimp_MenuChoice(0) �
�9         � 1 : �Event_MouseClick(Set_Window%,2,4,0,0)
�9         � 2 : �Event_MouseClick(Set_Window%,3,4,0,0)
�
        �
       �
       :
!       � �User_MenuChoiceMain
&$        Ȏ �Wimp_MenuChoice(0) �
0;         � 1 : �Event_MouseClick(Main_Window%,21,4,0,0)
:Z         � 2 : �Event_MouseClick(Main_Window%,22,4,0,0):�Wimp_MenuAdjustOn(Main_Menu%)
DZ         � 3 : �Event_MouseClick(Main_Window%,23,4,0,0):�Wimp_MenuAdjustOn(Main_Menu%)
NZ         � 4 : �Event_MouseClick(Main_Window%,24,4,0,0):�Wimp_MenuAdjustOn(Main_Menu%)
XZ         � 5 : �Event_MouseClick(Main_Window%,33,4,0,0):�Wimp_MenuAdjustOn(Main_Menu%)
b;         � 6 : �Event_MouseClick(Main_Window%,25,4,0,0)
lZ         � 7 : �Event_MouseClick(Main_Window%,26,4,0,0):�Wimp_MenuAdjustOn(Main_Menu%)
vZ         � 8 : �Event_MouseClick(Main_Window%,27,4,0,0):�Wimp_MenuAdjustOn(Main_Menu%)
�;         � 9 : �Event_MouseClick(Main_Window%,28,4,0,0)
�[         � 10 : �Event_MouseClick(Main_Window%,29,4,0,0):�Wimp_MenuAdjustOn(Main_Menu%)
�[         � 11 : �Event_MouseClick(Main_Window%,30,4,0,0):�Wimp_MenuAdjustOn(Main_Menu%)
�
        �
�       �
�       :
�)       � �Event_LoadFile(file$,type$)
�       � type$="FBF" �
�
UPDATE%=�
�+�Wimp_IconPutText(Save_Window%,1,file$)
�
cur%=0
�X%=�(file$)
�� #X%,tot%
� A=0 � tot%
� #X%,SURNAME$(A)
� #X%,OTHERS$(A)
 � #X%,ADD1$(A)
*� #X%,ADD2$(A)
4� #X%,ADD3$(A)
>� #X%,POSTCODE$(A)
H� #X%,AREA$(A)
R� #X%,TEL$(A)
\� #X%,NTS$(A)
f�A
p	� #X%
z� WIN$<>"NONE" �
�3� WIN$="MAIN" � �Wimp_WindowClose(Main_Window%)
�5� WIN$="PRINT" � �Wimp_WindowClose(Print_Window%)
�4� WIN$="SEARCH" � �Wimp_WindowClose(Set_Window%)
��
�;� WIN$<>"TITLE" � �Wimp_WindowBringToTop(Title_Window%)
��menuupdate
�       �
�       �
�       :
�+       � �Event_SaveFile(file$,window%)
�         Ȏ window% �
�'           � Save_Window%         :
�� �
� � � �error
� DOSAVE%=� �
  X%=�(file$)
$  � #X%,tot%
.  � A=0 � tot%
8    � #X%,SURNAME$(A)
B    � #X%,OTHERS$(A)
L    � #X%,ADD1$(A)
V    � #X%,ADD2$(A)
`    � #X%,ADD3$(A)
j    � #X%,POSTCODE$(A)
t    � #X%,AREA$(A)
~    � #X%,TEL$(A)
�    � #X%,NTS$(A)
�  �A
�  � #X%
�   �("SETTYPE "+file$+" FBF")
�  �Wimp_MenuClose
�  UPDATE%=�
��
�
�&           � Save2_Window%       :
�� �
�� � � �error
�� DOSAVE%=� �
  �Wimp_MenuClose

  � WIN$="MAIN" � �read
  �("SPOOL "+file$)
  � A=0 � tot%
(0    � SURNAME$(A)<>"" � � SURNAME$(A)+�(10);
2.    � OTHERS$(A)<>"" � � OTHERS$(A)+�(10);
<*    � ADD1$(A)<>"" � � ADD1$(A)+�(10);
F*    � ADD2$(A)<>"" � � ADD2$(A)+�(10);
P*    � ADD3$(A)<>"" � � ADD3$(A)+�(10);
Z2    � POSTCODE$(A)<>"" � � POSTCODE$(A)+�(10);
d*    � AREA$(A)<>"" � � AREA$(A)+�(10);
n(    � TEL$(A)<>"" � � TEL$(A)+�(10);
x(    � NTS$(A)<>"" � � NTS$(A)+�(10);
�    � �(10);
�	  � A
�  �("SPOOL")
�   �("SETTYPE "+file$+" FFF")
�  �6
�  � file$="<Wimp$Scrap>" �
�    �Wimp_SendToEdit(file$)
�/    �Wimp_IconPutText(Save2_Window%,1,ACE$)
�  �
��
�         �
�� DOSAVE%=� � DOSAVE%=�
�       �
:
I� *******************************************************************
:
"(� �Wimp_WindowAlert(title$,message$)
,+�Wimp_WindowAlertBox(title$,message$,0)
6�
@:
J3� �Wimp_WindowAlertBox(title$,message$,button%)
T� response%
^$(wimp%+4)=message$
hȎ button% �
r � 2    : response%=1
| � 1    : response%=15
�! � 3    : response%=(1<<5)+16
�! � 4    : response%=(1<<6)+16
� : response%=16
��
�=ș "Wimp_ReportError",wimp%,response%,title$ � ,response%
��
�:
�)� �Wimp_WindowCancel(title$,message$)
�$(wimp%+4)=message$
�response%=23
�=ș "Wimp_ReportError",wimp%,response%,title$ � ,response%
�=response%-2
�:
+� �Wimp_WindowErrorBox(title$,message$)
+�Wimp_WindowAlertBox(title$,message$,2)
�
&:
0 � �Wimp_WindowTitle(window%)
:wimp%!0=window%
D ș "Wimp_GetWindInfo",,wimp%
N6� ((wimp%!60)�&100)=0 � 1,"Title isn't indirected"
X=$(wimp%!76)
b:
l� �Wimp_WindowLoad(window$)
v9=�Wimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates")
�:
�-� �Wimp_WindowLoadFrom(window$,template$)
�� c%,i%,n%,j%,sp$,sp2$
�%ș "Wimp_OpenTemplate",,template$
�Mș "Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0 � ,,icons%
�Ȏ sprites% �
� � 1    : wimp%!64=sprites%
�)  : wimp%!64=�Event_Sprites(window%)
��
�&ș "Wimp_CreateWindow",,wimp% � c%
�ș "Wimp_CloseTemplate"
�7ș "Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8)
�Ȏ wimp%!40 �

 � -1   :
  : i%=40
 �
 $   wimp%!4=wimp%!i% : wimp%!0=c%
*$   ș "Wimp_GetIconState",,wimp%
4-   sp$=�Wimp_GetStringAtAddress(wimp%!28)
>"   ș "Wimp_DeleteIcon",,wimp%
H   Ȏ sprites% �
R    � 1    : wimp%!32=1
\     :
f/     ș "OS_SpriteOp",&108,sprites% � ,,,n%
p
     j%=0
z     � : j%+=1
�=      ș "OS_SpriteOp",&10D,sprites%,pointer_block%,20,j%
�7      sp2$=�Wimp_GetStringAtAddress(pointer_block%)
�     � j%=n% � sp$=sp2$
�4     � sp$=sp2$ � wimp%!32=sprites% � wimp%!32=1
�   �
�   wimp%!4=c%
�.   ș "Wimp_CreateIcon",,wimp%+4 � handle%
�   i%+=4
� � (wimp%!i%)=-1
��
�=c%
�:
�%� �Wimp_WindowBringToTop(window%)
!wimp%=window%
#ș "Wimp_GetWindowState",,wimp%
wimp%!28=-1
$ș "Wimp_OpenWindow",,wimp%
.�
8:
B � �Wimp_WindowClose(window%)
L!wimp%=window%
V ș "Wimp_CloseWindow",,wimp%
`�
j:
t$� �Wimp_WindowForceDraw(window%)
~Ȏ window% �
�8 � -1   : ș "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024
�9  : ș "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0
��
��
�:
�� �Wimp_WindowOpen(window%)
�!wimp%=window%
�#ș "Wimp_GetWindowState",,wimp%
�ș "Wimp_OpenWindow",,wimp%
��
�:
��Wimp_WindowInterface
 ș"Wimp_BorderWindow",,wimp%

�
:
I� *******************************************************************
(:
2%� �Wimp_IconUpdate(window%,icon%)
<wimp%!0=window%
Fwimp%!4=icon%
P
wimp%!8=0
Zwimp%!12=0
d!ș "Wimp_SetIconState",,wimp%
n�
x:
�0� �Wimp_SetIconSprite(window%,icon%,sprite$)
�wimp%!0=window%
�wimp%!4=icon%
�!ș "Wimp_GetIconState",,wimp%
�$wimp%!32="S"+sprite$
�wimp%!0=window%
�
wimp%!8=0
�wimp%!12=0
�!ș "Wimp_SetIconState",,wimp%
��
�:
�� �Wimp_IconBar(Sprite$)
�� icon%
wimp%!0=-1
wimp%!4=0     : wimp%!8=0
wimp%!12=68 : wimp%!16=68
"wimp%!20=&3002
,$(wimp%+24)=Sprite$
6'ș "Wimp_CreateIcon",,wimp% � icon%
@
=icon%
J:
T+� �Wimp_IconCaret(window%,icon%,chars%)
^8ș "Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
h�
r:
|#� �Wimp_IconText(window%,icon%)
�#wimp%!0=window% : wimp%!4=icon%
�!ș "Wimp_GetIconState",,wimp%
�7� ((wimp%!24) � &100)=0 � 1,"Icon isn't indirected"
�=$(wimp%!28)
�:
�)� �Wimp_IconValidation(window%,icon%)
�#wimp%!0=window% : wimp%!4=icon%
�!ș "Wimp_GetIconState",,wimp%
�7� ((wimp%!24) � &100)=0 � 1,"Icon isn't indirected"
�=$(wimp%!32)
�:
�&� �Wimp_IconDisable(window%,icon%)
�#wimp%!0=window% : wimp%!4=icon%
 $wimp%!8=1<<22   : wimp%!12=1<<22
 !ș "Wimp_SetIconState",,wimp%
 �
 &:
 0%� �Wimp_IconEnable(window%,icon%)
 :#wimp%!0=window% : wimp%!4=icon%
 D$wimp%!8=0       : wimp%!12=1<<22
 N!ș "Wimp_SetIconState",,wimp%
 X�
 b:
 l0� �Wimp_IconPutSprite(window%,icon%,sprite$)
 v!wimp%!0=window%:wimp%!4=icon%
 �!ș "Wimp_GetIconState",,wimp%
 �ș "Wimp_DeleteIcon",,wimp%
 �=wimp%!4=wimp%!8   : wimp%!8=wimp%!12  : wimp%!12=wimp%!16
 �?wimp%!16=wimp%!20 : wimp%!20=wimp%!24 : $(wimp%+24)=sprite$
 �'ș "Wimp_CreateIcon",,wimp% � icon%
 �
=icon%
 �:
 �,� �Wimp_IconPutText(window%,icon%,text$)
 �#wimp%!0=window% : wimp%!4=icon%
 �!ș "Wimp_GetIconState",,wimp%
 �7� ((wimp%!24) � &100)=0 � 1,"Icon isn't indirected"
 �$(wimp%!28)=text$
 �#wimp%!0=window% : wimp%!4=icon%
!wimp%!8=0 : wimp%!12=0
!!ș "Wimp_SetIconState",,wimp%
!�
! :
!*� �Wimp_IconInterfaceStart
!4ș"Wimp_BorderIcon",,wimp%
!>�
!H:
!R� �Wimp_IconInterfaceFinish
!\
wimp%!8=0
!fș"Wimp_BorderIcon",,wimp%
!p�
!z:
!�I� *******************************************************************
!�:
!�� �Wimp_MenuAdjustOn(menu%)
!�,ș "Wimp_GetPointerInfo",,pointer_block%
!�^� ((pointer_block%!8)�1)=1 � ș "Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4
!��
!�:
!�� �Wimp_MenuChoice(level%)
!�=(wimp%!(4*level%))+1
!�:
!�� �Wimp_MenuCreate(menu$)
!�)� menu$="Colours" �=�Wimp_MenuColours
!�'� menu%,index%,width%,length%,k%,s%
".� menu% 28+�Wimp_MenuNoOfEntries(menu$)*24
"7menu%?12=7   : menu%?13=2  : menu%?14=7 :menu%?15=0
"+menu%!16=140 : menu%!20=44 : menu%!24=0
"$index%=menu%+28
". $menu%=�menu$,�menu$,"\")-1)
"8#width%=�(�menu$,�menu$,"\")-1))
"B$menu$+="\" : Menu_NoOfEntries%=0
"Lȕ menu$<>""
"Vmenu$=�menu$,�menu$,"\")+1)
"`Ȏ menu$ �
"j	 � ""
"t  :
"~1  !index%=0 : index%!4=-1 : index%!8=&7000021
"�  length%=�menu$,"\")-1
"�  k%=��menu$,length%),">")
"�
  Ȏ k% �
"�
   � 0
"�   
"�%    s%=�(�menu$,k%+1,length%-k%))
"�    index%!4=s%
"�    length%=k%-1
"�  �
"�"  $(index%+12)=�menu$,length%)
"�'  � length%>width% � width%=length%
"�  index%+=24
#�
#
�
#menu%!16=16*(width%+1)
#(index%!-24=index%!-24 � &80 : =menu%
#(:
#2� �Wimp_MenuColours
#<!=�Wimp_MenuCreateColours(" ")
#F:
#P%� �Wimp_MenuCreateColours(title$)
#Z� x$,men%,j%,i%
#d6x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15"
#nmen%=�Wimp_MenuCreate(x$)
#x� i%=0 � 15
#�
Ȏ � �
#�(� i%<4,i%=9,i%=12,i%=14,i%=15 : j%=7
#� : j%=0
#��
#�men%?(39+i%*24)=i%*16+j%
#��Wimp_MenuCentre(men%,i%+1)
#��
#�	=men%
#�:
#�"� �Wimp_MenuNoOfEntries(menu$)
#�� n% ,j% : n%=0 : j%=0
#��
#�j%=�menu$,"\",j%+1)
$� j%<>0 � n%+=1
$
� j%=0
$=n%
$":
$,5� �Wimp_MenuBackGroundColour(menu%,item%,colour%)
$6� fore%,i%
$@&fore%=(menu%?(39+(item%-1)*24))�16
$J(i%=((menu%?(39+(item%-1)*24))�16)�16
$T/menu%?(39+(item%-1)*24)=fore%+16*colour%+i%
$^�
$h:
$r#� �Wimp_MenuCentre(menu%,item%)
$|:menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<3)
$��
$�:
$�� �Wimp_MenuClose
$�ș "Wimp_CreateMenu",-1
$��
$�:
$�$� �Wimp_MenuDisable(menu%,item%)
$�;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22)
$��
$�:
$�'� �Wimp_MenuDottedLine(menu%,item%)
$�7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�2
$��
%:
%#� �Wimp_MenuEnable(menu%,item%)
%"�Wimp_MenuDisable(menu%,item%)
%&;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22)
%0�
%::
%D5� �Wimp_MenuForegroundColour(menu%,item%,colour%)
%NEmenu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))�16)
%X�
%b:
%l)� �Wimp_MenuGlue(menu1%,item%,menu2%)
%vmenu1%!(8+item%*24)=menu2%
%��
%�:
%�'� �Wimp_MenuItem(menu%,item%,item$)
%�,$(menu%+(40+(item%-1)*24))=�item$,12)+�0
%��
%�:
%�$� �Wimp_MenuMessage(menu%,item%)
%�<menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�(1<<3)
%��
%�:
%�"� �Wimp_MenuPopUp(Menu%,x%,y%)
%�
� SA%=� �
%�menu%=Menu%
&+ș "Wimp_CreateMenu",,menu%,x%-64,y%+20
&�
&�
& :
&*� �Wimp_MenuPopUpBar(x%,y%)
&4� n% : n%=0
&>+ȕ ((Bar_Menu%!(28+n%*24))�%10000000)=0
&H	n%+=1
&R�
&\2ș "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
&fmenu%=Bar_Menu%
&p�
&z:
&�!� �Wimp_MenuTick(menu%,item%)
&�7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�1
&��
&�:
&�#� �Wimp_MenuTitle(menu%,title$)
&�$menu%=�title$,12)+�0
&��
&�:
&�=� �Wimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%)
&�7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�4
&�8menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�&100
&�#menu%!(40+(item%-1)*24)=buffer%
&� menu%!(44+(item%-1)*24)=val%
')menu%!(48+(item%-1)*24)=BufferLength%
'�
':
'$I� *******************************************************************
'.:
'8%� �Wimp_SelectIcon(window%,icon%)
'Bwimp%!0=window%
'Lwimp%!4=icon%
'V#wimp%!8=%1000000000000000000000
'`$wimp%!12=%1000000000000000000000
'jș&400CD,,wimp%
't�
'~:
'�'� �Wimp_UnselectIcon(window%,icon%)
'�wimp%!0=window%
'�wimp%!4=icon%
'�
wimp%!8=0
'�$wimp%!12=%1000000000000000000000
'�ș&400CD,,wimp%
'��
'�:
'�� �Wimp_SpritesLoad
'�/�Wimp_SpritesPathLoad("<Obey$Dir>.Sprites")
'�direct_sprites%=sprites%
'��
(:
(
&� �Wimp_SpritesPathLoad(pathname$)
(
�S%,T%
(,S%=�"<Obey$Dir>.Sprites":T%=�#S%+16:�#S%
((�sprites%T%,spname%12
(2!sprites%=T%:sprites%!8=0
(<!ș"OS_SpriteOp",&109,sprites%
(F+ș"OS_SpriteOp",&10A,sprites%,pathname$
(P�
(Z:
(dI� *******************************************************************
(n:
(x� �Wimp_FileType(type%)
(�Ȏtype%�
(��&FFF:="Text"
(��&FFD:="Data"
(��&FFB:="Basic"
(��&FF9:="Sprite"
(��&FED:="Palette"
(��&FEC:="Template"
(��&AFF:="Draw"
(��&1000:="Folder"
(��&2000:="Application"
(�=�~(type%)
(��
(�:
)� �Wimp_GetFilePathName
)'=�Wimp_GetStringAtAddress(wimp%+44)
):
)"� �Wimp_FileLoad(pathname$)
),�S%,T%,file%
)6S%=�pathname$
)@T%=�#S%+16
)J�#S%
)T�file%T%
)^"�("LOAD"+pathname$+""+�~file%)
)h
=file%
)r;
)|&� �Wimp_GetStringAtAddress(array%)
)�
�s$:s$=""
)�<ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:�:
)�=s$
)�:
)�#� �Wimp_GetFileFromPathname(f$)
)�Ȏ �f$,".") �
)� � 0    :=f$
)�7  :=�Wimp_GetFileFromPathname(�f$,�(f$)-�f$,".")))
)��
)�:
)�� �Wimp_SendToEdit(file$)
)�� n%
)�wimp%!4=&6CC01C0C
*wimp%!16=5
*wimp%!36=0
*wimp%!40=&FFF
*&$(wimp%+44)=file$+�0
*0n%=�file$+45
*:,� n%�4 � !wimp%=4+(n%>>2)<<2 � !wimp%=n%
*D$ș "Wimp_SendMessage",17,wimp%,0
*N�
*X:
*bI� *******************************************************************
*l:
*v/� �Wimp_Start(TaskName$,wimp_memory%,icon%)
*�%� wimp% wimp_memory%,icons% icon%
*�)� wimp_memory%<256 � wimp_memory%=256
*�icon_memory%=icons%+icon%
*�task$=TaskName$
*�+indirect_sprites%=1 : direct_sprites%=1
*��Wimp_SetEventVariables
*�� � �Wimp_Error:�
*�@ș"Wimp_Initialise",200,&4B534154,TaskName$ � version%,task%
*��
*�:
*�� �Wimp_BASICParameters
*� � com$,param$,I%
*� ș "OS_GetEnv" � com$
+ params$=""
+ I%=�com$," -quit ")
+5 � I% � params$=�com$,�com$," ",I%+�" -quit ")+1)
+ =params$
+*:
+4� �Wimp_SetEventVariables
+>� pointer_block% 20
+Hinterface%=�
+R.null%=1  :draw%=2 :  pointer_leaving%=1<<4
+\1pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7
+f&key%=1<<8:menu%=1<<9:scroll%=1<<10
+p@lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18)
+z0recorder%=1<<18:acknowledge%=1<<19:window%=0
+�!sprites%=1:version%=0:task%=0
+�*Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0
+�*x_origin%=0:y_origin%=0:SaveWindow%=-3
+�3message_quit%=0:message_save%=2:message_load%=3
+�!mouse_button%=2:save_event%=0
+� top_line%=0 : bottom_line%=0
+��
+�:
+�� �Wimp_Error
+�
�X$,x%
+�	� � �
+�x%=�
+�X$=�$+"atline"+�(x%�10)
,�ErrorMsg%36
,EErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x%
,$(ErrorMsg%+24)="!RunImage"
,$%ș"Wimp_SendMessage",17,ErrorMsg%
,.�Wimp_WindowAlert(task$,X$)
,8�Wimp_CloseDown
,B�
,L:
,V� �Wimp_CloseDown
,`#ș"Wimp_CloseDown",task%,"TASK"
,j�
,t:
,~� �Wimp_Quit
,�finished%=�
,��
,�:
,�#� �Wimp_ReadVariable(Variable$)
,��len%,result%,variable%
,�$wimp%=Variable$
,�3ș"OS_ReadVarVal",wimp%,wimp%+255,255,,3�,,len%
,�wimp%?(len%+255)=13
,�=$(wimp%+255)
,�:
,�I� *******************************************************************
,�:
-� �Wimp_WaitForEvent
-
� mask%,event%
-finished%=�
-mask%=%111000011001
-(�
-2' ș"Wimp_Poll",mask%,wimp% � event%
-< Ȏ event% �
-F
  �0 :
-P  �1 : �Wimp_PollDrawWindow
-Z&  �2 : ș "Wimp_OpenWindow",,wimp%
-d   �3 : �Wimp_PollCloseWindow
-n
  �4 :
-x
  �5 :
-�  �6 : �Wimp_PollMouseClick
-�   �7 : �Wimp_PollSaveMessage
-�  �8 : �Wimp_PollKeyPress
-�#  �9 : �Event_MenuChoice(menu%)
-�
  �10:
-�
  �11:
-�
  �12:
-�   �17,18: �Wimp_PollMessages
-�
  �19:
-� �
-�� finished%
-��
-�:
.� �Wimp_PollDrawWindow
.� more%
.&ș"Wimp_RedrawWindow",,wimp%�more%
."window%=wimp%!0
.,Ax_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
.6ȕmore%
.@0 � interface% � ș"Wimp_BorderWindow",,wimp%
.J- �Event_Draw(window%,x_origin%,y_origin%)
.T' ș"Wimp_GetRectangle",,wimp%�more%
.^�
.h�
.r:
.|� �Wimp_PollCloseWindow
.�%  ș "Wimp_GetPointerInfo",,wimp%
.�)  window%=wimp%!12 : buttons%=wimp%!8
.�� search%=� �
.�) �Event_WindowClose(window%,buttons%)
.�2 !wimp%=window% : ș "Wimp_CloseWindow",,wimp%
.��
.��
.�:
.�� �Wimp_PollMouseClick
.�J button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
.� Ȏ button% �
.�"   �2    : �Wimp_PollMenuPopUp
.�#   : Ȏ �Event_Save(window%) �
/,               � � : �Wimp_PollMouseSave
/1               � �: �Wimp_PollEventMouseClick
/              �
/& �
/0�
/::
/D� �Wimp_PollMenuPopUp
/N
� SA%=� �
/Xmenu%=�Event_Menu(window%)
/b  Ȏ menu%  �
/l   � �:
/v
    :
/�     Ȏ window% �
/�      � -2   : n%=0
/�3        ȕ ((Bar_Menu%!(28+n%*24))�%10000000)=0
/�         n%+=1
/�
        �
/�:        ș "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*90
/�4       : ș"Wimp_CreateMenu",,menu%,x%-64,y%+20
/�
     �
/�  �
/��
/��
/�:
/�� �Wimp_PollMouseSave
0 Ȏ icon% �
08  � 0 : � button% � &50 � �Wimp_PollDragBox(window%)
08  � 2 : � button% � 5 �  �Wimp_PollSaveFile(window%)
0  �
0*�
04:
0>� �Wimp_PollEventMouseClick
0H. � interface% � ș"Wimp_BorderIcon",,wimp%
0R3 �Event_MouseClick(window%,icon%,button%,x%,y%)
0\ Ȏ  interface% �
0f  � � :
0p(   wimp%!0=x%:wimp%!4=y% : wimp%!8=0
0z(   wimp%!12=window% : wimp%!16=icon%
0�!   ș"Wimp_BorderIcon",,wimp%
0� �
0��
0�:
0�!� �Wimp_PollSaveFile(window%)
0�
�file$
0�@ wimp%!0=window% : wimp%!4=1 : ș "Wimp_GetIconState",,wimp%
0� file$=$(wimp%!28)
0� Ȏ �file$,".") �
0�
  � 0   :
0�� key%=13 �
0�@   $(wimp%+4)="To save, drag the icon to a directory window"
0�+   ș "Wimp_ReportError",wimp%,16,task$
1�
1  :
11   � key%=13 � �Event_SaveFile(file$,window%)
1$ �
1.&� key%=13 � ș"Wimp_CreateMenu",-1
18� SA%=� � �Wimp_CloseDown
1B�
1L:
1V � �Wimp_PollDragBox(window%)
1`
�x%,y%
1j save%=window%
1t !wimp%=window%
1~# ș"Wimp_GetWindowState",,wimp%
1�- x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24
1� wimp%!4=0
1�! ș"Wimp_GetIconState",,wimp%
1� !wimp%=window%
1� wimp%!4=5
1�, wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12
1�. wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20
1� wimp%!24=0:wimp%!28=0
1�* wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF
1� ș"Wimp_DragBox",,wimp%
1��
1�:
2� �Wimp_PollKeyPress
2
1  window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
2  Ȏ �Event_Save(window%) �
2(   � � : �Wimp_PollSaveFile(window%)
2(/   � �: �Event_KeyPress(window%,icon%,key%)
22  �
2<�
2F:
2P� �Wimp_PollSaveMessage
2Z�file$,window%,icon%,x%,y%
2d# ș"Wimp_GetPointerInfo",,wimp%
2n: window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
2x> wimp%!0=save% : wimp%!4=1 : ș "Wimp_GetIconState",,wimp%
2� file$=$(wimp%!28)
2�+ file$=�Wimp_GetFileFromPathname(file$)
2�ACE$=file$
2� wimp%!20=window%
2� wimp%!24=icon%
2� wimp%!28=x%:wimp%!32=y%
2� wimp%!36=length%
2� wimp%!0=64
2� wimp%!12=0
2� wimp%!16=1
2� wimp%!40=&FFF
2� $(wimp%+44)=file$
2�4 ș"Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24
3�
3:
3� �Wimp_PollMessages
3"� file$
3,,file$=�Wimp_GetStringAtAddress(wimp%+44)
36    Ȏ wimp%!16 �
3@     � 0 : finished%=�
3J     � 1 :
3T     � 2 :
3^/      � PROCWimp_IconPutText(save%,1,file$)
3hC      wimp%!0=save% : wimp%!4=1 : ș "Wimp_GetIconState",,wimp%
3r      $(wimp%!28)=file$
3|<      wimp%!0=save% : wimp%!4=1 : wimp%!8=0 : wimp%!12=0
3�'      ș "Wimp_SetIconState",,wimp%
3�0      � PROCWimp_IconCaret(save%,1,LENfile$)
3�8      ș "Wimp_SetCaretPosition",save%,1,,,-1,�file$
3�&      �Event_SaveFile(file$,save%)
3�� SA%=� � �Wimp_CloseDown
3�     � 3
3�G      type$=�Wimp_FileType(wimp%!40) : �Event_LoadFile(file$,type$)
3�     � 5 :
3�!� wimp%!40=&FBF � event%=18 �
3�wimp%!12=wimp%!8
3�+ș"XWimp_SendMessage",17,wimp%,wimp%!20
3�file$=�Wimp_GetFilePathName
3�type$=�Wimp_FileType(&FBF)
4 �Event_LoadFile(file$,type$)
4�
4     � &502
4&hw%=wimp%!32
40hi%=wimp%!36
4:�� hw%=-2 � �sendhelp(wimp%,"This is the !ADRBook icon.|MProgram written by Julian Samphire 1993.|MClick on icon to open the Address Book.|M")
4DȎ hw% �
4N� Save_Window%
4X\� hi%=0 � �sendhelp(wimp%,"Drag this icon onto a filer window to save the address data")
4bd� hi%=1 � �sendhelp(wimp%,"Enter the file name here that you want to save the address data as.")
4lE� hi%=2 � �sendhelp(wimp%,"Click here to save the address data.")
4v� Save2_Window%
4�T� hi%=0 � �sendhelp(wimp%,"Drag this icon onto a filer window to save the text")
4�\� hi%=1 � �sendhelp(wimp%,"Enter the file name here that you want to save the text as.")
4�=� hi%=2 � �sendhelp(wimp%,"Click here to save the text.")
4�� Info_Window%
4��� hi%=0 � hi%=1 � hi%=2 � hi%=3 � hi%=4 � hi%=5 � hi%=6 � hi%=7 � hi%=8 � hi%=9 � �sendhelp(wimp%,"Name : ADRBook|MPurpose : Store addresses and numbers|MAuthor : Julian Samphire|MVersion : 1.06 (11-Aug-93)")
4�� Search2_Window%
4�N� hi%=2 � �sendhelp(wimp%,"Click here to search using search parameters.")
4�=� hi%=3 � �sendhelp(wimp%,"Click here to cancel search.")
4�� Set_Window%
4�B� hi%=2 � �sendhelp(wimp%,"Click here to turn back the page.")
4�W� hi%=3 � �sendhelp(wimp%,"Click here to start searching using search papameters.")
4�?� hi%=0 � �sendhelp(wimp%,"Click here to hilight Surname.")
4�C� hi%=4 � �sendhelp(wimp%,"Click here to hilight Other Names.")
5?� hi%=6 � �sendhelp(wimp%,"Click here to hilight Address.")
5B� hi%=10 � �sendhelp(wimp%,"Click here to hilight Post Code.")
5B� hi%=12 � �sendhelp(wimp%,"Click here to hilight Area Code.")
5 I� hi%=14 � �sendhelp(wimp%,"Click here to hilight Telephone Number.")
5*>� hi%=16 � �sendhelp(wimp%,"Click here to hilight Notes.")
548� hi%=1 � �sendhelp(wimp%,"Enter the surname here.")
5><� hi%=5 � �sendhelp(wimp%,"Enter the other names here.")
5H?� hi%=7 � �sendhelp(wimp%,"Enter the address line 1 here.")
5R?� hi%=8 � �sendhelp(wimp%,"Enter the address line 2 here.")
5\?� hi%=9 � �sendhelp(wimp%,"Enter the address line 3 here.")
5f;� hi%=11 � �sendhelp(wimp%,"Enter the post code here.")
5p;� hi%=13 � �sendhelp(wimp%,"Enter the area code here.")
5zB� hi%=15 � �sendhelp(wimp%,"Enter the telephone number here.")
5�7� hi%=17 � �sendhelp(wimp%,"Enter the notes here.")
5�� Main_Window%
5�`� hi%=4 � �sendhelp(wimp%,"Surname icon.|MEnter the persons Surname here.|M"+SURNAME$(cur%))
5�b� hi%=5 � �sendhelp(wimp%,"Others icon.|MEnter the persons Other names here.|M"+OTHERS$(cur%))
5��� hi%=6 � hi%=7 � hi%=8 � �sendhelp(wimp%,"Address icons.|MEnter the persons Address here.|M"+ADD1$(cur%)+" "+ADD2$(cur%)+" "+ADD3$(cur%))
5�e� hi%=9 � �sendhelp(wimp%,"Post Code icon.|MEnter the persons Post Code here.|M"+POSTCODE$(cur%))
5�b� hi%=10 � �sendhelp(wimp%,"Area Code icon.|MEnter the persons Area Code here.|M"+AREA$(cur%))
5�o� hi%=11 � �sendhelp(wimp%,"Telephone Number icon.|MEnter the persons Telephone Number here.|M"+TEL$(cur%))
5�_� hi%=12 � �sendhelp(wimp%,"Notes icon.|MEnter the notes on the person here.|M"+NTS$(cur%))
5�C� hi%=21 � �sendhelp(wimp%,"Click here to turn back the page.")
5�G� hi%=22 � �sendhelp(wimp%,"Click here to go to the first record.")
5�A� hi%=23 � �sendhelp(wimp%,"Click here to go back a record.")
5�@� hi%=24 � �sendhelp(wimp%,"Click here to dial the number.")
6A� hi%=33 � �sendhelp(wimp%,"Click here to sort the records.")
6H� hi%=25 � �sendhelp(wimp%,"Click here to set the search criteria.")
6J� hi%=26 � �sendhelp(wimp%,"Click here to delete the current record.")
6$=� hi%=27 � �sendhelp(wimp%,"Click here to add a record.")
6.E� hi%=28 � �sendhelp(wimp%,"Click here to go to the print page.")
68D� hi%=29 � �sendhelp(wimp%,"Click here to go forward a record.")
6BF� hi%=30 � �sendhelp(wimp%,"Click here to go to the last record.")
6L�� hi%=19 � hi%=20 � �sendhelp(wimp%,"This shows the ammount of records and current record.|MTotal records = "+�(tot%)+"|MCurrent record = "+�(cur%+1))
6V� Title_Window%
6`z� hi%=2 � hi%=3 � hi%=4 � hi%=5 � hi%=8 � �sendhelp(wimp%,"Address Book|MBy Julian Samphire|M� Archimedes World 1993")
6jF� hi%=6 � �sendhelp(wimp%,"Click here to close the address book.")
6tB� hi%=7 � �sendhelp(wimp%,"Click here to turn over the page.")
6~� Print_Window%
6�a� hi%=7 � hi%=13 � hi%=16 � hi%=33 � �sendhelp(wimp%,"Click here for specified print range.")
6��� hi%=28 � hi%=29 � �sendhelp(wimp%,"This shows the current name of the person to be printed.|M"+SURNAME$(pcur%)+"|M"+OTHERS$(pcur%))
6�J� hi%=30 � �sendhelp(wimp%,"Click here to go to the previous person.")
6�F� hi%=31 � �sendhelp(wimp%,"Click here to go to the next person.")
6�C� hi%=10 � �sendhelp(wimp%,"Click here to turn back the page.")
6�D� hi%=17 � �sendhelp(wimp%,"Click here to print selected data.")
6�<� hi%=21 � �sendhelp(wimp%,"Click here to set Surname.")
6�@� hi%=22 � �sendhelp(wimp%,"Click here to set Other Names.")
6�<� hi%=23 � �sendhelp(wimp%,"Click here to set Address.")
6�>� hi%=24 � �sendhelp(wimp%,"Click here to set Post Code.")
6�>� hi%=25 � �sendhelp(wimp%,"Click here to set Area Code.")
6�E� hi%=26 � �sendhelp(wimp%,"Click here to set Telephone Number.")
7:� hi%=27 � �sendhelp(wimp%,"Click here to set Notes.")
7
�
7	    �
7�
7(:
72&� �Wimp_GetStringAtAddress(array%)
7<
�s$:s$=""
7F<ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:�:
7P=s$
7Z:
7d#� �Wimp_GetFileFromPathname(f$)
7nȎ �f$,".") �
7x � 0    :=f$
7�7  :=�Wimp_GetFileFromPathname(�f$,�(f$)-�f$,".")))
7��
7�:
7�� �Wimp_FileType(type%)
7�Ȏtype%�
7��&FFF:="Text"
7��&FFD:="Data"
7��&FFB:="Basic"
7��&FF9:="Sprite"
7��&FED:="Palette"
7��&FEC:="Template"
7��&AFF:="Draw"
7��&1000:="Folder"
8�&2000:="Application"
8=�~(type%)
8�
8":
8,� �read
86� cur%<tot% � icon%=27 �
8@1SURNAME$(cur%)=�Wimp_IconText(Main_Window%,4)
8J*SURNAME$(cur%)=�Change(SURNAME$(cur%))
8T0OTHERS$(cur%)=�Wimp_IconText(Main_Window%,5)
8^(OTHERS$(cur%)=�Change(OTHERS$(cur%))
8h.ADD1$(cur%)=�Wimp_IconText(Main_Window%,6)
8r.ADD2$(cur%)=�Wimp_IconText(Main_Window%,7)
8|.ADD3$(cur%)=�Wimp_IconText(Main_Window%,8)
8�$ADD1$(cur%)=�Change(ADD1$(cur%))
8�$ADD2$(cur%)=�Change(ADD2$(cur%))
8�$ADD3$(cur%)=�Change(ADD3$(cur%))
8�2POSTCODE$(cur%)=�Wimp_IconText(Main_Window%,9)
8�/AREA$(cur%)=�Wimp_IconText(Main_Window%,10)
8�.TEL$(cur%)=�Wimp_IconText(Main_Window%,11)
8�.NTS$(cur%)=�Wimp_IconText(Main_Window%,12)
8�"NTS$(cur%)=�Change(NTS$(cur%))
8��
8��
8�:
8�
� �update
8��menuupdate
9%�Wimp_IconUpdate(Main_Window%,20)
94�Wimp_IconPutText(Main_Window%,4,SURNAME$(cur%))
93�Wimp_IconPutText(Main_Window%,5,OTHERS$(cur%))
9&1�Wimp_IconPutText(Main_Window%,6,ADD1$(cur%))
901�Wimp_IconPutText(Main_Window%,7,ADD2$(cur%))
9:1�Wimp_IconPutText(Main_Window%,8,ADD3$(cur%))
9D5�Wimp_IconPutText(Main_Window%,9,POSTCODE$(cur%))
9Nm� AREA$(cur%)="" � �Wimp_IconPutText(Main_Window%,10,"") � �Wimp_IconPutText(Main_Window%,10,AREA$(cur%))
9Xk� TEL$(cur%)="" � �Wimp_IconPutText(Main_Window%,11,"") � �Wimp_IconPutText(Main_Window%,11,TEL$(cur%))
9b1�Wimp_IconPutText(Main_Window%,12,NTS$(cur%))
9lE�Wimp_IconCaret(Main_Window%,4,�(�Wimp_IconText(Main_Window%,4)))
9v�
9�:
9�
� �delete
9�� A=cur% � tot%
9�SURNAME$(A)=SURNAME$(A+1)
9�OTHERS$(A)=OTHERS$(A+1)
9�ADD1$(A)=ADD1$(A+1)
9�ADD2$(A)=ADD2$(A+1)
9�ADD3$(A)=ADD3$(A+1)
9�POSTCODE$(A)=POSTCODE$(A+1)
9�AREA$(A)=AREA$(A+1)
9�TEL$(A)=TEL$(A+1)
9�NTS$(A)=NTS$(A+1)
9��A
:tot%-=1
:�
::
: � �menuupdate
:*� tot%=0 �
:4"�Wimp_MenuDisable(Bar_Menu%,2)
:>$�Wimp_MenuDisable(Title_Menu%,3)
:H$�Wimp_MenuDisable(Main_Menu%,12)
:R�
:\!�Wimp_MenuEnable(Bar_Menu%,2)
:f#�Wimp_MenuEnable(Title_Menu%,3)
:p#�Wimp_MenuEnable(Main_Menu%,12)
:z�
:��
:�:
:���tonedial(A$)
:��A$="" � �
:�ș"Hourglass_On"
:�Ƞ2
:�ȡ1,"WaveSynth-Beep"
:�ȡ2,"WaveSynth-Beep"
:��I%
:�
�I%=1��A$
:��tone(��A$,I%))
:�
�delay(6)
:��
;ș"Hourglass_Smash"
;�
;:
;$��tone(I%)
;.
I%-=48
;8� I%<0 � I%>9 � �
;B� 1,-15,tone%(I%,0),100
;L� 2,-15,tone%(I%,1),100
;V�delay(10)
;`
� 1,0,0,0
;j
� 2,0,0,0
;t�
;~:
;���delay(I%)
;��T%
;�T%=�
;�
���>T%+I%
;��
;�:
;�� �updatep
;�7�Wimp_IconPutText(Print_Window%,28,SURNAME$(pcur%))
;�6�Wimp_IconPutText(Print_Window%,29,OTHERS$(pcur%))
;��
;�:
;�� �able
<� psel%=1 �
<
%�Wimp_IconEnable(Print_Window%,6)
<&�Wimp_IconEnable(Print_Window%,12)
<%�Wimp_IconEnable(Print_Window%,9)
<(&�Wimp_IconEnable(Print_Window%,11)
<2�
<<� psel%=2 �
<F%�Wimp_IconEnable(Print_Window%,8)
<P&�Wimp_IconEnable(Print_Window%,14)
<Z�
<d� psel%=3 �
<n&�Wimp_IconEnable(Print_Window%,15)
<x�
<�� psel%=4 �
<�&�Wimp_IconEnable(Print_Window%,28)
<�&�Wimp_IconEnable(Print_Window%,29)
<�&�Wimp_IconEnable(Print_Window%,30)
<�&�Wimp_IconEnable(Print_Window%,31)
<�&�Wimp_IconEnable(Print_Window%,32)
<��
<��
<�:
<�� �dalbe
<�� psel%=1 �
<�&�Wimp_IconDisable(Print_Window%,6)
<�'�Wimp_IconDisable(Print_Window%,12)
=&�Wimp_IconDisable(Print_Window%,9)
='�Wimp_IconDisable(Print_Window%,11)
=�
="� psel%=2 �
=,&�Wimp_IconDisable(Print_Window%,8)
=6'�Wimp_IconDisable(Print_Window%,14)
=@�
=J� psel%=3 �
=T'�Wimp_IconDisable(Print_Window%,15)
=^�
=h� psel%=4 �
=r'�Wimp_IconDisable(Print_Window%,28)
=|'�Wimp_IconDisable(Print_Window%,29)
=�'�Wimp_IconDisable(Print_Window%,30)
=�'�Wimp_IconDisable(Print_Window%,31)
=�'�Wimp_IconDisable(Print_Window%,32)
=��
=��
=�:
=�� �getstring(array%)
=�� path$,pointer%
=�path$=""
=�pointer%=array%
=��
=�path$+=�?pointer%
=�pointer%+=1
> � ?pointer%=0 � ?pointer%=13
>
=path$
>:
>&��openprinter
>00ș "XPDriver_Info" � R0,R1,R2,R3,R4,R5,R6,R7
>:/� R1=0 � R2=0 � R3=0 � R5=0 � R6=0 � R7=0 �
>D:�Wimp_IconPutText(Print_Window%,34,"No driver loaded")
>N
DRIVER%=�
>X�
>b
DRIVER%=�
>l� no printer ?
>v�
>�� DRIVER%=� �
>�printer$=�getstring(R4)
>�0�Wimp_IconPutText(Print_Window%,34,printer$)
>��
>��
>�:
>���print
>�:
>�6printhand%=�("PRINTER:$.Job1") : � start a job !!!
>�$title%="Exchange file"
>�ș &80145,printhand%,title%
>�>�#printhand%,13 : � put head to left of paper to start!!!!
>�:
?� psel%=1 �
?'L$=�Wimp_IconText(Print_Window%,12)
?'R$=�Wimp_IconText(Print_Window%,11)
? � L$<=R$ �
?*� A=0 � tot%-1
?4N$=�SURNAME$(A),1)
?>� N$>=L$ � N$<=R$ �
?HP� psurname%=� � SURNAME$(A)<>"" � �printline("Surname : "+SURNAME$(A)+�(10))
?RQ� pothers%=� � OTHERS$(A)<>"" � �printline("Other names : "+OTHERS$(A)+�(10))
?\� padd%=� �
?f<� ADD1$(A)<>"" � �printline("Address : "+ADD1$(A)+�(10))
?p<� ADD2$(A)<>"" � �printline("Address : "+ADD2$(A)+�(10))
?z<� ADD3$(A)<>"" � �printline("Address : "+ADD3$(A)+�(10))
?��
?�U� ppostcode%=� � POSTCODE$(A)<>"" � �printline("Post Code : "+POSTCODE$(A)+�(10))
?�D� parea%=� � AREA$(A)<>"" � �printline("Area : "+AREA$(A)+�(10))
?�F� ptel%=� � TEL$(A)<>"" � �printline("Telephone : "+TEL$(A)+�(10))
?�B� pnts%=� � NTS$(A)<>"" � �printline("Notes : "+NTS$(A)+�(10))
?��printline(�(10))
?��
?��A
?��
?��
?�� psel%=2 �
?�'A$=�Wimp_IconText(Print_Window%,14)
?�� A=0 � tot%-1
@N$=�SURNAME$(A),1)
@
� A$=N$ �
@P� psurname%=� � SURNAME$(A)<>"" � �printline("Surname : "+SURNAME$(A)+�(10))
@$Q� pothers%=� � OTHERS$(A)<>"" � �printline("Other names : "+OTHERS$(A)+�(10))
@.� padd%=� �
@8<� ADD1$(A)<>"" � �printline("Address : "+ADD1$(A)+�(10))
@B<� ADD2$(A)<>"" � �printline("Address : "+ADD2$(A)+�(10))
@L<� ADD3$(A)<>"" � �printline("Address : "+ADD3$(A)+�(10))
@V�
@`U� ppostcode%=� � POSTCODE$(A)<>"" � �printline("Post Code : "+POSTCODE$(A)+�(10))
@jD� parea%=� � AREA$(A)<>"" � �printline("Area : "+AREA$(A)+�(10))
@tF� ptel%=� � TEL$(A)<>"" � �printline("Telephone : "+TEL$(A)+�(10))
@~B� pnts%=� � NTS$(A)<>"" � �printline("Notes : "+NTS$(A)+�(10))
@��printline(�(10))
@��
@��A
@��
@�� psel%=3 �
@�� A=0 � tot%-1
@�P� psurname%=� � SURNAME$(A)<>"" � �printline("Surname : "+SURNAME$(A)+�(10))
@�Q� pothers%=� � OTHERS$(A)<>"" � �printline("Other names : "+OTHERS$(A)+�(10))
@�� padd%=� �
@�<� ADD1$(A)<>"" � �printline("Address : "+ADD1$(A)+�(10))
@�<� ADD2$(A)<>"" � �printline("Address : "+ADD2$(A)+�(10))
@�<� ADD3$(A)<>"" � �printline("Address : "+ADD3$(A)+�(10))
A�
A
U� ppostcode%=� � POSTCODE$(A)<>"" � �printline("Post Code : "+POSTCODE$(A)+�(10))
AD� parea%=� � AREA$(A)<>"" � �printline("Area : "+AREA$(A)+�(10))
AF� ptel%=� � TEL$(A)<>"" � �printline("Telephone : "+TEL$(A)+�(10))
A(B� pnts%=� � NTS$(A)<>"" � �printline("Notes : "+NTS$(A)+�(10))
A2�printline(�(10))
A<�A
AF�
AP� psel%=4 �
AZ� A=0 � tot%-1
Ad#� SURNAME$(A)=SURNAME$(pcur%) �
AnP� psurname%=� � SURNAME$(A)<>"" � �printline("Surname : "+SURNAME$(A)+�(10))
AxQ� pothers%=� � OTHERS$(A)<>"" � �printline("Other names : "+OTHERS$(A)+�(10))
A�� padd%=� �
A�<� ADD1$(A)<>"" � �printline("Address : "+ADD1$(A)+�(10))
A�<� ADD2$(A)<>"" � �printline("Address : "+ADD2$(A)+�(10))
A�<� ADD3$(A)<>"" � �printline("Address : "+ADD3$(A)+�(10))
A��
A�U� ppostcode%=� � POSTCODE$(A)<>"" � �printline("Post Code : "+POSTCODE$(A)+�(10))
A�D� parea%=� � AREA$(A)<>"" � �printline("Area : "+AREA$(A)+�(10))
A�F� ptel%=� � TEL$(A)<>"" � �printline("Telephone : "+TEL$(A)+�(10))
A�B� pnts%=� � NTS$(A)<>"" � �printline("Notes : "+NTS$(A)+�(10))
A��printline(�(10))
A��
A��A
A��
B:
B(�#printhand%,12 : � do linefeed !!!!
Bș &80148,printhand%
B"� #printhand%
B,�
B6:
B@��printline(line$)
BJ� cco=1 � �(line$)
BTbyte=�(�line$,cco,1))
B^�#printhand%,byte
BhG� byte=10 � byte=13 � �#printhand%,13 : � put head to left of paper
Br	� cco
B|�
B�:
B�� �sel(ZZ,ic%)
B�V� ZZ � �Wimp_SelectIcon(Print_Window%,ic%) � �Wimp_UnselectIcon(Print_Window%,ic%)
B��
B�:
B�ݤChange(wo$)
B�wo$=�toupper(wo$,1)
B�� cc=1 � �(wo$)
B�}� �wo$,cc,1)=" " � �wo$,cc,1)="-" � �wo$,cc,1)="." � �wo$,cc,1)="*" � �wo$,cc,1)="""" � �wo$,cc,1)="'" � �wo$,cc,1)="," �
B�wo$=�toupper(wo$,cc+1)
B��
B�wo$=�tolower(wo$,cc+1)
B��
C�cc
C=wo$
C:
C&ݤtoupper(word$,p)
C0Y� �word$,p,1)>="a" � �word$,p,1)<="z" � �word$,p,1)=�(�(�word$,p,1))-(�("a")-�("A")))
C:
=word$
CD:
CNݤtolower(word$,p)
CXY� �word$,p,1)>="A" � �word$,p,1)<="Z" � �word$,p,1)=�(�(�word$,p,1))+(�("a")-�("A")))
Cb
=word$
Cl:
Cv� �unsearch
C�� ssel%=0 �
C�,�Wimp_SetIconSprite(Set_Window%,0,";R1")
C�$�Wimp_IconDisable(Set_Window%,1)
C��
C�� ssel%=1 �
C�,�Wimp_SetIconSprite(Set_Window%,4,";R1")
C�$�Wimp_IconDisable(Set_Window%,5)
C��
C�� ssel%=2 �
C�,�Wimp_SetIconSprite(Set_Window%,6,";R1")
C�$�Wimp_IconDisable(Set_Window%,7)
C�$�Wimp_IconDisable(Set_Window%,8)
C�$�Wimp_IconDisable(Set_Window%,9)
D�
D� ssel%=3 �
D-�Wimp_SetIconSprite(Set_Window%,10,";R1")
D %�Wimp_IconDisable(Set_Window%,11)
D*�
D4� ssel%=4 �
D>-�Wimp_SetIconSprite(Set_Window%,12,";R1")
DH%�Wimp_IconDisable(Set_Window%,13)
DR�
D\� ssel%=5 �
Df-�Wimp_SetIconSprite(Set_Window%,14,";R1")
Dp%�Wimp_IconDisable(Set_Window%,15)
Dz�
D�� ssel%=6 �
D�-�Wimp_SetIconSprite(Set_Window%,16,";R1")
D�%�Wimp_IconDisable(Set_Window%,17)
D��
D��
D�:
D�� �selsearch
D�� ssel%=0 �
D�,�Wimp_SetIconSprite(Set_Window%,0,";R2")
D�#�Wimp_IconEnable(Set_Window%,1)
D�C�Wimp_IconCaret(Set_Window%,1,�(�Wimp_IconText(Set_Window%,1)))
D��
D�� ssel%=1 �
E,�Wimp_SetIconSprite(Set_Window%,4,";R2")
E#�Wimp_IconEnable(Set_Window%,5)
EC�Wimp_IconCaret(Set_Window%,5,�(�Wimp_IconText(Set_Window%,5)))
E$�
E.� ssel%=2 �
E8,�Wimp_SetIconSprite(Set_Window%,6,";R2")
EB#�Wimp_IconEnable(Set_Window%,7)
EL#�Wimp_IconEnable(Set_Window%,8)
EV#�Wimp_IconEnable(Set_Window%,9)
E`C�Wimp_IconCaret(Set_Window%,7,�(�Wimp_IconText(Set_Window%,7)))
Ej�
Et� ssel%=3 �
E~-�Wimp_SetIconSprite(Set_Window%,10,";R2")
E�$�Wimp_IconEnable(Set_Window%,11)
E�E�Wimp_IconCaret(Set_Window%,11,�(�Wimp_IconText(Set_Window%,11)))
E��
E�� ssel%=4 �
E�-�Wimp_SetIconSprite(Set_Window%,12,";R2")
E�$�Wimp_IconEnable(Set_Window%,13)
E�E�Wimp_IconCaret(Set_Window%,13,�(�Wimp_IconText(Set_Window%,13)))
E��
E�� ssel%=5 �
E�-�Wimp_SetIconSprite(Set_Window%,14,";R2")
E�$�Wimp_IconEnable(Set_Window%,15)
E�E�Wimp_IconCaret(Set_Window%,15,�(�Wimp_IconText(Set_Window%,15)))
F�
F
� ssel%=6 �
F-�Wimp_SetIconSprite(Set_Window%,16,";R2")
F$�Wimp_IconEnable(Set_Window%,17)
F(E�Wimp_IconCaret(Set_Window%,17,�(�Wimp_IconText(Set_Window%,17)))
F2�
F<�
FF:
FP� �searchcut
FZ� ssel%=0 �
Fd)SEARCH$=�Wimp_IconText(Set_Window%,1)
Fn*SEARCH2$=�Wimp_IconText(Set_Window%,1)
Fx*SEARCH3$=�Wimp_IconText(Set_Window%,1)
F�SEARCH$=�Change(SEARCH$)
F��
F�� ssel%=1 �
F�)SEARCH$=�Wimp_IconText(Set_Window%,5)
F�*SEARCH2$=�Wimp_IconText(Set_Window%,5)
F�*SEARCH3$=�Wimp_IconText(Set_Window%,5)
F�SEARCH$=�Change(SEARCH$)
F��
F�� ssel%=2 �
F�)SEARCH$=�Wimp_IconText(Set_Window%,7)
F�*SEARCH2$=�Wimp_IconText(Set_Window%,8)
F�*SEARCH3$=�Wimp_IconText(Set_Window%,9)
F�:� SEARCH$<>"" � SEARCH$=�Change(SEARCH$) � SEARCH$=" "
G>� SEARCH2$<>"" � SEARCH2$=�Change(SEARCH2$) � SEARCH2$=" "
G>� SEARCH3$<>"" � SEARCH3$=�Change(SEARCH3$) � SEARCH3$=" "
G�
G"� ssel%=3 �
G,*SEARCH$=�Wimp_IconText(Set_Window%,11)
G6+SEARCH2$=�Wimp_IconText(Set_Window%,11)
G@+SEARCH3$=�Wimp_IconText(Set_Window%,11)
GJ�
GT� ssel%=4 �
G^*SEARCH$=�Wimp_IconText(Set_Window%,13)
Gh+SEARCH2$=�Wimp_IconText(Set_Window%,13)
Gr+SEARCH3$=�Wimp_IconText(Set_Window%,13)
G|�
G�� ssel%=5 �
G�*SEARCH$=�Wimp_IconText(Set_Window%,15)
G�+SEARCH2$=�Wimp_IconText(Set_Window%,15)
G�+SEARCH3$=�Wimp_IconText(Set_Window%,15)
G��
G�� ssel%=6 �
G�*SEARCH$=�Wimp_IconText(Set_Window%,17)
G�+SEARCH2$=�Wimp_IconText(Set_Window%,17)
G�+SEARCH3$=�Wimp_IconText(Set_Window%,17)
G�SEARCH$=�Change(SEARCH$)
G��
G��
G�:
H
� �search
HDONE%=0
H	ST%=�
H&� SNUM%=-2 � SNUM%=cur%+1
H0LOOK$=""
H:
LOOK2$=""
HD
LOOK3$=""
HNSȕ LOOK$<>SEARCH$ � LOOK2$<>SEARCH2$ � LOOK3$<>SEARCH3$ � SNUM%<=tot%+1 � ST%=�
HXLOOK$=""
Hb
LOOK2$=""
Hl
LOOK3$=""
Hv� ssel%=0 �
H�LOOK$=SURNAME$(SNUM%)
H��
H�� ssel%=1 �
H�LOOK$=OTHERS$(SNUM%)
H��
H�� ssel%=2 �
H�LOOK$=ADD1$(SNUM%)
H�LOOK2$=ADD2$(SNUM%)
H�LOOK3$=ADD3$(SNUM%)
H��
H�� ssel%=3 �
H�LOOK$=POSTCODE$(SNUM%)
H��
I� ssel%=4 �
ILOOK$=AREA$(SNUM%)
I�
I � ssel%=5 �
I*LOOK$=TEL$(SNUM%)
I4�
I>� ssel%=6 �
IHLOOK$=NTS$(SNUM%)
IR�
I\� SNUM%>=tot% �
IfSNUM%=-1
IpDONE%+=1
Iz�
I�SNUM%+=1
I�� DONE%=2 � ST%=�
I�	�chop
I��
I�
� ST%=� �
I�	�read
I�cur%=SNUM%-1
I��update
I��
I��
I�:
I�� �chop
I�LOOK$=�LOOK$,�(SEARCH$))
JLOOK2$=�LOOK2$,�(SEARCH2$))
JLOOK3$=�LOOK3$,�(SEARCH3$))
J�
J$:
J.� �mousebox(w%)
J8wimp%!0=w%
JB$ș"Wimp_GetWindowOutline",,wimp%
JLCȗ ȓ wimp%!4+2,wimp%!8+2,wimp%!12-wimp%!4-4,wimp%!16-wimp%!8-4
JV�
J`:
Jj� �unbox
Jt+ș "OS_ReadModeVariable",-1,11 � ,,xpic
J~+ș "OS_ReadModeVariable",-1,12 � ,,ypic
J�+ș "OS_ReadModeVariable",-1,4 � ,,xfact
J�+ș "OS_ReadModeVariable",-1,5 � ,,yfact
J�%ȗ ȓ 0,0,xpic<<xfact,ypic<<yfact
J��
J�:
J�� �error
J�� �=67785 �
J�C�Wimp_WindowErrorBox("!ADRBook","Please write enable the disk")
J�	� #X%
J��
J�
DOSAVE%=�
J�'�Wimp_WindowErrorBox("!ADRBook",�$)
K�
K
�
K:
K� �sendhelp(wimp%,a$)
K(!wimp%=(�a$+25) � �3
K2wimp%!12=wimp%!8
K<!(wimp%+16)=&503
KF$(wimp%+20)=a$
KP?(wimp%+20+�a$+1)=0
KZ*ș "Wimp_SendMessage",17,wimp%,wimp%!4
Kd�
Kn:
Kx� �sort
K�� B=0 � tot%
K�� A=0 � tot%-2
K�!� SURNAME$(A)>SURNAME$(A+1) �
K� Ȕ SURNAME$(A+1),SURNAME$(A)
K�Ȕ OTHERS$(A+1),OTHERS$(A)
K�Ȕ ADD1$(A+1),ADD1$(A)
K�Ȕ ADD2$(A+1),ADD2$(A)
K�Ȕ ADD3$(A+1),ADD3$(A)
K�"Ȕ POSTCODE$(A+1),POSTCODE$(A)
K�Ȕ AREA$(A+1),AREA$(A)
K�Ȕ TEL$(A+1),TEL$(A)
K�Ȕ NTS$(A+1),NTS$(A)
K��
L�A
L�B
L�
�
00000000  0d 00 0a 19 c8 99 20 22  4f 53 5f 47 65 74 45 6e  |...... "OS_GetEn|
00000010  76 22 20 b8 20 65 6e 76  24 0d 00 14 18 e7 20 a7  |v" . env$..... .|
00000020  65 6e 76 24 2c 22 20 2d  71 75 69 74 20 22 29 20  |env$," -quit ") |
00000030  8c 0d 00 1e 32 66 69 6c  65 6c 6f 61 64 24 3d c1  |....2fileload$=.|
00000040  65 6e 76 24 2c a7 65 6e  76 24 2c bd 28 33 34 29  |env$,.env$,.(34)|
00000050  2c a7 65 6e 76 24 2c bd  28 33 34 29 29 2b 31 29  |,.env$,.(34))+1)|
00000060  2b 31 29 0d 00 28 05 cd  0d 00 32 3f 20 20 20 20  |+1)..(....2?    |
00000070  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000080  20 20 20 20 20 20 20 f2  57 69 6d 70 5f 53 74 61  |       .Wimp_Sta|
00000090  72 74 28 22 41 44 52 42  6f 6f 6b 22 2c 31 38 38  |rt("ADRBook",188|
000000a0  30 2c 33 38 36 32 29 0d  00 3c 33 20 20 20 20 20  |0,3862)..<3     |
000000b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000c0  20 20 20 20 20 20 f2 55  73 65 72 5f 53 65 74 49  |      .User_SetI|
000000d0  6e 69 74 69 61 6c 44 61  74 61 0d 00 46 2e 20 20  |nitialData..F.  |
000000e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000f0  20 20 20 20 20 20 20 20  20 f2 43 72 65 61 74 65  |         .Create|
00000100  5f 57 69 6e 64 6f 77 73  0d 00 50 2c 20 20 20 20  |_Windows..P,    |
00000110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000120  20 20 20 20 20 20 20 f2  43 72 65 61 74 65 5f 4d  |       .Create_M|
00000130  65 6e 75 73 0d 00 5a 16  e7 20 66 69 6c 65 6c 6f  |enus..Z.. filelo|
00000140  61 64 24 3c 3e 22 20 22  20 8c 0d 00 64 24 f2 45  |ad$<>" " ...d$.E|
00000150  76 65 6e 74 5f 4c 6f 61  64 46 69 6c 65 28 66 69  |vent_LoadFile(fi|
00000160  6c 65 6c 6f 61 64 24 2c  22 46 42 46 22 29 0d 00  |leload$,"FBF")..|
00000170  6e 2f f2 57 69 6d 70 5f  49 63 6f 6e 50 75 74 54  |n/.Wimp_IconPutT|
00000180  65 78 74 28 53 61 76 65  5f 57 69 6e 64 6f 77 25  |ext(Save_Window%|
00000190  2c 31 2c 66 69 6c 65 6c  6f 61 64 24 29 0d 00 78  |,1,fileload$)..x|
000001a0  05 cd 0d 00 82 31 20 20  20 20 20 20 20 20 20 20  |.....1          |
000001b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001c0  20 f2 57 69 6d 70 5f 57  61 69 74 46 6f 72 45 76  | .Wimp_WaitForEv|
000001d0  65 6e 74 0d 00 8c 2e 20  20 20 20 20 20 20 20 20  |ent....         |
000001e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001f0  20 20 f2 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |  .Wimp_CloseDow|
00000200  6e 0d 00 96 20 20 20 20  20 20 20 20 20 20 20 20  |n...            |
00000210  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000220  e0 0d 00 a0 0c 20 20 20  20 20 20 20 3a 0d 00 aa  |.....       :...|
00000230  21 20 20 20 20 20 20 20  dd 20 f2 55 73 65 72 5f  |!       . .User_|
00000240  53 65 74 49 6e 69 74 69  61 6c 44 61 74 61 0d 00  |SetInitialData..|
00000250  b4 0d 44 4f 53 41 56 45  25 3d b9 0d 00 be 0d 73  |..DOSAVE%=.....s|
00000260  65 61 72 63 68 25 3d a3  0d 00 c8 0c 53 4e 55 4d  |earch%=.....SNUM|
00000270  25 3d 2d 32 0d 00 d2 0e  53 45 41 52 43 48 24 3d  |%=-2....SEARCH$=|
00000280  22 22 0d 00 dc 0f 53 45  41 52 43 48 32 24 3d 22  |""....SEARCH2$="|
00000290  22 0d 00 e6 0f 53 45 41  52 43 48 33 24 3d 22 22  |"....SEARCH3$=""|
000002a0  0d 00 f0 0b 73 73 65 6c  25 3d 30 0d 00 fa 10 de  |....ssel%=0.....|
000002b0  20 74 69 74 6c 65 25 20  32 35 36 0d 01 04 12 20  | title% 256.... |
000002c0  20 20 20 20 20 20 70 73  65 6c 25 3d 31 0d 01 0e  |      psel%=1...|
000002d0  12 20 20 20 20 20 20 20  70 63 75 72 25 3d 30 0d  |.       pcur%=0.|
000002e0  01 18 16 20 20 20 20 20  20 20 70 73 75 72 6e 61  |...       psurna|
000002f0  6d 65 25 3d b9 0d 01 22  15 20 20 20 20 20 20 20  |me%=...".       |
00000300  70 6f 74 68 65 72 73 25  3d b9 0d 01 2c 12 20 20  |pothers%=...,.  |
00000310  20 20 20 20 20 70 61 64  64 25 3d b9 0d 01 36 17  |     padd%=...6.|
00000320  20 20 20 20 20 20 20 70  70 6f 73 74 63 6f 64 65  |       ppostcode|
00000330  25 3d b9 0d 01 40 13 20  20 20 20 20 20 20 70 61  |%=...@.       pa|
00000340  72 65 61 25 3d b9 0d 01  4a 12 20 20 20 20 20 20  |rea%=...J.      |
00000350  20 70 74 65 6c 25 3d b9  0d 01 54 12 20 20 20 20  | ptel%=...T.    |
00000360  20 20 20 70 6e 74 73 25  3d b9 0d 01 5e 10 de 20  |   pnts%=...^.. |
00000370  74 6f 6e 65 25 28 39 2c  31 29 0d 01 68 25 e3 49  |tone%(9,1)..h%.I|
00000380  25 3d 30 b8 39 3a e3 4a  25 3d 30 b8 31 3a f3 74  |%=0.9:.J%=0.1:.t|
00000390  6f 6e 65 25 28 49 25 2c  4a 25 29 3a ed 3a ed 0d  |one%(I%,J%):.:..|
000003a0  01 72 40 dc 32 34 30 36  33 2c 32 36 31 34 35 2c  |.r@.24063,26145,|
000003b0  32 32 32 38 38 2c 32 35  35 36 34 2c 32 32 32 38  |22288,25564,2228|
000003c0  38 2c 32 36 31 34 35 2c  32 32 32 38 38 2c 32 36  |8,26145,22288,26|
000003d0  37 32 36 2c 32 32 39 37  39 2c 32 35 35 36 34 0d  |726,22979,25564.|
000003e0  01 7c 40 dc 32 32 39 37  39 2c 32 36 31 34 35 2c  |.|@.22979,26145,|
000003f0  32 32 39 37 39 2c 32 36  37 32 36 2c 32 33 34 38  |22979,26726,2348|
00000400  32 2c 32 35 35 36 34 2c  32 33 34 38 32 2c 32 36  |2,25564,23482,26|
00000410  31 34 35 2c 32 33 34 38  32 2c 32 36 37 32 36 0d  |145,23482,26726.|
00000420  01 86 16 20 20 20 20 20  20 20 57 49 4e 24 3d 22  |...       WIN$="|
00000430  4e 4f 4e 45 22 0d 01 90  12 20 20 20 20 20 20 20  |NONE"....       |
00000440  64 69 6d 3d 33 30 30 0d  01 9a 1a 20 20 20 20 20  |dim=300....     |
00000450  20 20 de 20 53 55 52 4e  41 4d 45 24 28 64 69 6d  |  . SURNAME$(dim|
00000460  29 0d 01 a4 19 20 20 20  20 20 20 20 de 20 4f 54  |)....       . OT|
00000470  48 45 52 53 24 28 64 69  6d 29 0d 01 ae 17 20 20  |HERS$(dim)....  |
00000480  20 20 20 20 20 de 20 41  44 44 31 24 28 64 69 6d  |     . ADD1$(dim|
00000490  29 0d 01 b8 17 20 20 20  20 20 20 20 de 20 41 44  |)....       . AD|
000004a0  44 32 24 28 64 69 6d 29  0d 01 c2 17 20 20 20 20  |D2$(dim)....    |
000004b0  20 20 20 de 20 41 44 44  33 24 28 64 69 6d 29 0d  |   . ADD3$(dim).|
000004c0  01 cc 1b 20 20 20 20 20  20 20 de 20 50 4f 53 54  |...       . POST|
000004d0  43 4f 44 45 24 28 64 69  6d 29 0d 01 d6 17 20 20  |CODE$(dim)....  |
000004e0  20 20 20 20 20 de 20 41  52 45 41 24 28 64 69 6d  |     . AREA$(dim|
000004f0  29 0d 01 e0 16 20 20 20  20 20 20 20 de 20 54 45  |)....       . TE|
00000500  4c 24 28 64 69 6d 29 0d  01 ea 16 20 20 20 20 20  |L$(dim)....     |
00000510  20 20 de 20 4e 54 53 24  28 64 69 6d 29 0d 01 f4  |  . NTS$(dim)...|
00000520  11 53 55 52 4e 41 4d 45  24 28 29 3d 22 22 0d 01  |.SURNAME$()=""..|
00000530  fe 10 4f 54 48 45 52 53  24 28 29 3d 22 22 0d 02  |..OTHERS$()=""..|
00000540  08 0e 41 44 44 31 24 28  29 3d 22 22 0d 02 12 0e  |..ADD1$()=""....|
00000550  41 44 44 32 24 28 29 3d  22 22 0d 02 1c 0e 41 44  |ADD2$()=""....AD|
00000560  44 33 24 28 29 3d 22 22  0d 02 26 12 50 4f 53 54  |D3$()=""..&.POST|
00000570  43 4f 44 45 24 28 29 3d  22 22 0d 02 30 0e 41 52  |CODE$()=""..0.AR|
00000580  45 41 24 28 29 3d 22 22  0d 02 3a 0d 54 45 4c 24  |EA$()=""..:.TEL$|
00000590  28 29 3d 22 22 0d 02 44  0d 4e 54 53 24 28 29 3d  |()=""..D.NTS$()=|
000005a0  22 22 0d 02 4e 11 20 20  20 20 20 20 20 63 75 72  |""..N.       cur|
000005b0  25 3d 30 0d 02 58 11 20  20 20 20 20 20 20 74 6f  |%=0..X.       to|
000005c0  74 25 3d 30 0d 02 62 09  53 41 25 3d a3 0d 02 6c  |t%=0..b.SA%=...l|
000005d0  0d 55 50 44 41 54 45 25  3d a3 0d 02 76 09 43 44  |.UPDATE%=...v.CD|
000005e0  25 3d a3 0d 02 80 0c 20  20 20 20 20 20 20 e1 0d  |%=.....       ..|
000005f0  02 8a 0c 20 20 20 20 20  20 20 3a 0d 02 94 1c 20  |...       :.... |
00000600  20 20 20 20 20 20 dd 20  f2 43 72 65 61 74 65 5f  |      . .Create_|
00000610  57 69 6e 64 6f 77 73 0d  02 9e 1e 20 20 20 20 20  |Windows....     |
00000620  20 20 20 20 f2 57 69 6d  70 5f 53 70 72 69 74 65  |    .Wimp_Sprite|
00000630  73 4c 6f 61 64 0d 02 a8  3b 20 20 20 20 20 20 20  |sLoad...;       |
00000640  20 20 20 20 20 20 20 20  20 20 20 49 6e 66 6f 5f  |           Info_|
00000650  57 69 6e 64 6f 77 25 3d  a4 57 69 6d 70 5f 57 69  |Window%=.Wimp_Wi|
00000660  6e 64 6f 77 4c 6f 61 64  28 22 49 6e 66 6f 22 29  |ndowLoad("Info")|
00000670  0d 02 b2 3c 20 20 20 20  20 20 20 20 20 20 20 20  |...<            |
00000680  20 20 20 20 20 54 69 74  6c 65 5f 57 69 6e 64 6f  |     Title_Windo|
00000690  77 25 3d a4 57 69 6d 70  5f 57 69 6e 64 6f 77 4c  |w%=.Wimp_WindowL|
000006a0  6f 61 64 28 22 54 69 74  6c 65 22 29 0d 02 bc 3b  |oad("Title")...;|
000006b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000006c0  20 20 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 3d a4  |  Main_Window%=.|
000006d0  57 69 6d 70 5f 57 69 6e  64 6f 77 4c 6f 61 64 28  |Wimp_WindowLoad(|
000006e0  22 4d 61 69 6e 22 29 0d  02 c6 3c 20 20 20 20 20  |"Main")...<     |
000006f0  20 20 20 20 20 20 20 20  20 20 20 20 50 72 69 6e  |            Prin|
00000700  74 5f 57 69 6e 64 6f 77  25 3d a4 57 69 6d 70 5f  |t_Window%=.Wimp_|
00000710  57 69 6e 64 6f 77 4c 6f  61 64 28 22 50 72 69 6e  |WindowLoad("Prin|
00000720  74 22 29 0d 02 d0 3b 20  20 20 20 20 20 20 20 20  |t")...;         |
00000730  20 20 20 20 20 20 20 20  20 53 61 76 65 5f 57 69  |         Save_Wi|
00000740  6e 64 6f 77 25 3d a4 57  69 6d 70 5f 57 69 6e 64  |ndow%=.Wimp_Wind|
00000750  6f 77 4c 6f 61 64 28 22  53 61 76 65 22 29 0d 02  |owLoad("Save")..|
00000760  da 39 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.9              |
00000770  20 20 20 20 53 65 74 5f  57 69 6e 64 6f 77 25 3d  |    Set_Window%=|
00000780  a4 57 69 6d 70 5f 57 69  6e 64 6f 77 4c 6f 61 64  |.Wimp_WindowLoad|
00000790  28 22 53 65 74 22 29 0d  02 e4 3b 20 20 20 20 20  |("Set")...;     |
000007a0  20 20 20 20 20 20 20 20  20 20 20 43 6c 6f 73 65  |           Close|
000007b0  5f 57 69 6e 64 6f 77 25  3d a4 57 69 6d 70 5f 57  |_Window%=.Wimp_W|
000007c0  69 6e 64 6f 77 4c 6f 61  64 28 22 43 6c 6f 73 65  |indowLoad("Close|
000007d0  22 29 0d 02 ee 3b 20 20  20 20 20 20 20 20 20 20  |")...;          |
000007e0  20 20 20 20 20 20 53 61  76 65 32 5f 57 69 6e 64  |      Save2_Wind|
000007f0  6f 77 25 3d a4 57 69 6d  70 5f 57 69 6e 64 6f 77  |ow%=.Wimp_Window|
00000800  4c 6f 61 64 28 22 53 61  76 65 32 22 29 0d 02 f8  |Load("Save2")...|
00000810  3d 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |=              S|
00000820  65 61 72 63 68 32 5f 57  69 6e 64 6f 77 25 3d a4  |earch2_Window%=.|
00000830  57 69 6d 70 5f 57 69 6e  64 6f 77 4c 6f 61 64 28  |Wimp_WindowLoad(|
00000840  22 53 65 61 72 63 68 32  22 29 0d 03 02 2e 20 20  |"Search2")....  |
00000850  20 20 20 20 20 42 61 72  5f 49 63 6f 6e 25 3d a4  |     Bar_Icon%=.|
00000860  57 69 6d 70 5f 49 63 6f  6e 42 61 72 28 22 21 41  |Wimp_IconBar("!A|
00000870  44 52 42 6f 6f 6b 22 29  0d 03 0c 10 20 20 20 20  |DRBook")....    |
00000880  20 20 20 f2 61 62 6c 65  0d 03 16 0c 20 20 20 20  |   .able....    |
00000890  20 20 20 e1 0d 03 20 0d  20 20 20 20 20 20 20 20  |   ... .        |
000008a0  3a 0d 03 2a 22 20 20 20  20 20 20 20 20 dd 20 a4  |:..*"        . .|
000008b0  45 76 65 6e 74 5f 53 61  76 65 28 77 69 6e 64 6f  |Event_Save(windo|
000008c0  77 25 29 0d 03 34 1a 20  20 20 20 20 20 20 20 20  |w%)..4.         |
000008d0  20 c8 8e 20 77 69 6e 64  6f 77 25 20 ca 0d 03 3e  | .. window% ...>|
000008e0  22 20 20 20 20 20 20 20  20 20 20 20 20 c9 20 53  |"            . S|
000008f0  61 76 65 5f 57 69 6e 64  6f 77 25 20 3a 3d b9 0d  |ave_Window% :=..|
00000900  03 48 23 20 20 20 20 20  20 20 20 20 20 20 20 c9  |.H#            .|
00000910  20 53 61 76 65 32 5f 57  69 6e 64 6f 77 25 20 3a  | Save2_Window% :|
00000920  3d b9 0d 03 52 15 20 20  20 20 20 20 20 20 20 20  |=...R.          |
00000930  20 20 7f 20 3a 3d a3 0d  03 5c 0f 20 20 20 20 20  |  . :=...\.     |
00000940  20 20 20 20 20 cb 0d 03  66 0d 20 20 20 20 20 20  |     ...f.      |
00000950  20 20 3a 0d 03 70 2e 20  20 20 20 20 20 20 20 dd  |  :..p.        .|
00000960  20 a4 45 76 65 6e 74 5f  53 70 72 69 74 65 73 28  | .Event_Sprites(|
00000970  77 69 6e 64 6f 77 25 29  3d 73 70 72 69 74 65 73  |window%)=sprites|
00000980  25 0d 03 7a 0c 20 20 20  20 20 20 20 3a 0d 03 84  |%..z.       :...|
00000990  1a 20 20 20 20 20 20 20  dd 20 f2 43 72 65 61 74  |.       . .Creat|
000009a0  65 5f 4d 65 6e 75 73 0d  03 8e 57 20 20 20 20 20  |e_Menus...W     |
000009b0  20 20 20 53 61 76 65 5f  4d 65 6e 75 25 3d a4 57  |   Save_Menu%=.W|
000009c0  69 6d 70 5f 4d 65 6e 75  43 72 65 61 74 65 28 22  |imp_MenuCreate("|
000009d0  53 61 76 65 5c 41 44 52  42 6f 6f 6b 3e 53 61 76  |Save\ADRBook>Sav|
000009e0  65 5f 57 69 6e 64 6f 77  25 5c 54 65 78 74 3e 53  |e_Window%\Text>S|
000009f0  61 76 65 32 5f 57 69 6e  64 6f 77 25 22 29 0d 03  |ave2_Window%")..|
00000a00  98 59 20 20 20 20 20 20  20 20 20 42 61 72 5f 4d  |.Y         Bar_M|
00000a10  65 6e 75 25 3d a4 57 69  6d 70 5f 4d 65 6e 75 43  |enu%=.Wimp_MenuC|
00000a20  72 65 61 74 65 28 22 41  44 52 42 6f 6f 6b 5c 49  |reate("ADRBook\I|
00000a30  6e 66 6f 3e 49 6e 66 6f  5f 57 69 6e 64 6f 77 25  |nfo>Info_Window%|
00000a40  5c 53 61 76 65 3e 53 61  76 65 5f 4d 65 6e 75 25  |\Save>Save_Menu%|
00000a50  5c 51 75 69 74 22 29 0d  03 a2 87 20 20 20 20 20  |\Quit")....     |
00000a60  20 20 20 20 4d 61 69 6e  5f 4d 65 6e 75 25 3d a4  |    Main_Menu%=.|
00000a70  57 69 6d 70 5f 4d 65 6e  75 43 72 65 61 74 65 28  |Wimp_MenuCreate(|
00000a80  22 4d 61 69 6e 5c 54 75  72 6e 20 42 61 63 6b 5c  |"Main\Turn Back\|
00000a90  53 74 61 72 74 5c 42 61  63 6b 5c 44 69 61 6c 5c  |Start\Back\Dial\|
00000aa0  53 6f 72 74 5c 53 65 61  72 63 68 20 53 65 74 5c  |Sort\Search Set\|
00000ab0  44 65 6c 65 74 65 5c 41  64 64 5c 50 72 69 6e 74  |Delete\Add\Print|
00000ac0  5c 46 6f 72 77 61 72 64  5c 45 6e 64 5c 53 61 76  |\Forward\End\Sav|
00000ad0  65 3e 53 61 76 65 5f 4d  65 6e 75 25 22 29 0d 03  |e>Save_Menu%")..|
00000ae0  ac 56 20 20 20 20 20 20  20 20 54 69 74 6c 65 5f  |.V        Title_|
00000af0  4d 65 6e 75 25 3d a4 57  69 6d 70 5f 4d 65 6e 75  |Menu%=.Wimp_Menu|
00000b00  43 72 65 61 74 65 28 22  54 69 74 6c 65 5c 43 6c  |Create("Title\Cl|
00000b10  6f 73 65 20 42 6f 6f 6b  5c 54 75 72 6e 20 4f 76  |ose Book\Turn Ov|
00000b20  65 72 5c 53 61 76 65 3e  53 61 76 65 5f 4d 65 6e  |er\Save>Save_Men|
00000b30  75 25 22 29 0d 03 b6 40  20 20 20 20 20 20 53 65  |u%")...@      Se|
00000b40  61 72 63 68 32 5f 4d 65  6e 75 25 3d a4 57 69 6d  |arch2_Menu%=.Wim|
00000b50  70 5f 4d 65 6e 75 43 72  65 61 74 65 28 22 53 65  |p_MenuCreate("Se|
00000b60  61 72 63 68 5c 53 65 61  72 63 68 5c 43 61 6e 63  |arch\Search\Canc|
00000b70  65 6c 22 29 0d 03 c0 2e  20 20 20 20 20 20 20 f2  |el")....       .|
00000b80  57 69 6d 70 5f 4d 65 6e  75 44 6f 74 74 65 64 4c  |Wimp_MenuDottedL|
00000b90  69 6e 65 28 54 69 74 6c  65 5f 4d 65 6e 75 25 2c  |ine(Title_Menu%,|
00000ba0  31 29 0d 03 ca 2e 20 20  20 20 20 20 20 f2 57 69  |1)....       .Wi|
00000bb0  6d 70 5f 4d 65 6e 75 44  6f 74 74 65 64 4c 69 6e  |mp_MenuDottedLin|
00000bc0  65 28 54 69 74 6c 65 5f  4d 65 6e 75 25 2c 32 29  |e(Title_Menu%,2)|
00000bd0  0d 03 d4 2c 20 20 20 20  20 20 20 f2 57 69 6d 70  |...,       .Wimp|
00000be0  5f 4d 65 6e 75 44 6f 74  74 65 64 4c 69 6e 65 28  |_MenuDottedLine(|
00000bf0  42 61 72 5f 4d 65 6e 75  25 2c 31 29 0d 03 de 2c  |Bar_Menu%,1)...,|
00000c00  20 20 20 20 20 20 20 f2  57 69 6d 70 5f 4d 65 6e  |       .Wimp_Men|
00000c10  75 44 6f 74 74 65 64 4c  69 6e 65 28 42 61 72 5f  |uDottedLine(Bar_|
00000c20  4d 65 6e 75 25 2c 32 29  0d 03 e8 41 20 20 20 20  |Menu%,2)...A    |
00000c30  20 20 20 20 50 72 69 6e  74 5f 4d 65 6e 75 25 3d  |    Print_Menu%=|
00000c40  a4 57 69 6d 70 5f 4d 65  6e 75 43 72 65 61 74 65  |.Wimp_MenuCreate|
00000c50  28 22 50 72 69 6e 74 5c  54 75 72 6e 20 42 61 63  |("Print\Turn Bac|
00000c60  6b 5c 50 72 69 6e 74 22  29 0d 03 f2 2e 20 20 20  |k\Print")....   |
00000c70  20 20 20 20 f2 57 69 6d  70 5f 4d 65 6e 75 44 6f  |    .Wimp_MenuDo|
00000c80  74 74 65 64 4c 69 6e 65  28 50 72 69 6e 74 5f 4d  |ttedLine(Print_M|
00000c90  65 6e 75 25 2c 31 29 0d  03 fc 47 20 20 20 20 20  |enu%,1)...G     |
00000ca0  20 20 20 20 20 53 65 74  5f 4d 65 6e 75 25 3d a4  |     Set_Menu%=.|
00000cb0  57 69 6d 70 5f 4d 65 6e  75 43 72 65 61 74 65 28  |Wimp_MenuCreate(|
00000cc0  22 53 65 61 72 63 68 20  53 65 74 5c 54 75 72 6e  |"Search Set\Turn|
00000cd0  20 42 61 63 6b 5c 53 65  61 72 63 68 22 29 0d 04  | Back\Search")..|
00000ce0  06 2d 20 20 20 20 20 20  20 f2 57 69 6d 70 5f 4d  |.-       .Wimp_M|
00000cf0  65 6e 75 44 6f 74 74 65  64 4c 69 6e 65 28 4d 61  |enuDottedLine(Ma|
00000d00  69 6e 5f 4d 65 6e 75 25  2c 31 29 0d 04 10 2d 20  |in_Menu%,1)...- |
00000d10  20 20 20 20 20 20 f2 57  69 6d 70 5f 4d 65 6e 75  |      .Wimp_Menu|
00000d20  44 6f 74 74 65 64 4c 69  6e 65 28 4d 61 69 6e 5f  |DottedLine(Main_|
00000d30  4d 65 6e 75 25 2c 33 29  0d 04 1a 2d 20 20 20 20  |Menu%,3)...-    |
00000d40  20 20 20 f2 57 69 6d 70  5f 4d 65 6e 75 44 6f 74  |   .Wimp_MenuDot|
00000d50  74 65 64 4c 69 6e 65 28  4d 61 69 6e 5f 4d 65 6e  |tedLine(Main_Men|
00000d60  75 25 2c 39 29 0d 04 24  2e 20 20 20 20 20 20 20  |u%,9)..$.       |
00000d70  f2 57 69 6d 70 5f 4d 65  6e 75 44 6f 74 74 65 64  |.Wimp_MenuDotted|
00000d80  4c 69 6e 65 28 4d 61 69  6e 5f 4d 65 6e 75 25 2c  |Line(Main_Menu%,|
00000d90  31 31 29 0d 04 2e 16 20  20 20 20 20 20 20 f2 6d  |11)....       .m|
00000da0  65 6e 75 75 70 64 61 74  65 0d 04 38 0c 20 20 20  |enuupdate..8.   |
00000db0  20 20 20 20 e1 0d 04 42  0d 20 20 20 20 20 20 20  |    ...B.       |
00000dc0  20 3a 0d 04 4c 22 20 20  20 20 20 20 20 20 dd 20  | :..L"        . |
00000dd0  a4 45 76 65 6e 74 5f 4d  65 6e 75 28 77 69 6e 64  |.Event_Menu(wind|
00000de0  6f 77 25 29 0d 04 56 18  20 20 20 20 20 20 20 20  |ow%)..V.        |
00000df0  c8 8e 20 77 69 6e 64 6f  77 25 20 ca 0d 04 60 2e  |.. window% ...`.|
00000e00  20 20 20 20 20 20 20 20  20 c9 20 42 61 72 5f 57  |         . Bar_W|
00000e10  69 6e 64 6f 77 25 20 20  20 20 20 20 20 20 3a 20  |indow%        : |
00000e20  3d 42 61 72 5f 4d 65 6e  75 25 0d 04 6a 1b 20 20  |=Bar_Menu%..j.  |
00000e30  20 20 20 20 20 20 20 c9  20 4d 61 69 6e 5f 57 69  |       . Main_Wi|
00000e40  6e 64 6f 77 25 0d 04 74  11 e7 20 73 65 61 72 63  |ndow%..t.. searc|
00000e50  68 25 3d a3 20 8c 0d 04  7e 0f 3d 4d 61 69 6e 5f  |h%=. ...~.=Main_|
00000e60  4d 65 6e 75 25 0d 04 88  05 cc 0d 04 92 12 3d 53  |Menu%.........=S|
00000e70  65 61 72 63 68 32 5f 4d  65 6e 75 25 0d 04 9c 05  |earch2_Menu%....|
00000e80  cd 0d 04 a6 30 20 20 20  20 20 20 20 20 20 c9 20  |....0         . |
00000e90  50 72 69 6e 74 5f 57 69  6e 64 6f 77 25 20 20 20  |Print_Window%   |
00000ea0  20 20 20 3a 20 3d 50 72  69 6e 74 5f 4d 65 6e 75  |   : =Print_Menu|
00000eb0  25 0d 04 b0 30 20 20 20  20 20 20 20 20 20 c9 20  |%...0         . |
00000ec0  54 69 74 6c 65 5f 57 69  6e 64 6f 77 25 20 20 20  |Title_Window%   |
00000ed0  20 20 20 3a 20 3d 54 69  74 6c 65 5f 4d 65 6e 75  |   : =Title_Menu|
00000ee0  25 0d 04 ba 2e 20 20 20  20 20 20 20 20 20 c9 20  |%....         . |
00000ef0  53 65 74 5f 57 69 6e 64  6f 77 25 20 20 20 20 20  |Set_Window%     |
00000f00  20 20 20 3a 20 3d 53 65  74 5f 4d 65 6e 75 25 0d  |   : =Set_Menu%.|
00000f10  04 c4 32 20 20 20 20 20  20 20 20 20 c9 20 53 65  |..2         . Se|
00000f20  61 72 63 68 32 5f 57 69  6e 64 6f 77 25 20 20 20  |arch2_Window%   |
00000f30  20 3a 20 3d 53 65 61 72  63 68 32 5f 4d 65 6e 75  | : =Search2_Menu|
00000f40  25 0d 04 ce 21 20 20 20  20 20 20 20 20 20 7f 20  |%...!         . |
00000f50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 3a 20  |              : |
00000f60  3d a3 0d 04 d8 0d 20 20  20 20 20 20 20 20 cb 0d  |=.....        ..|
00000f70  04 e2 0c 20 20 20 20 20  20 20 3a 0d 04 ec 31 20  |...       :...1 |
00000f80  20 20 20 20 20 20 dd 20  f2 45 76 65 6e 74 5f 57  |      . .Event_W|
00000f90  69 6e 64 6f 77 43 6c 6f  73 65 28 77 69 6e 64 6f  |indowClose(windo|
00000fa0  77 25 2c 62 75 74 74 6f  6e 73 25 29 0d 04 f6 17  |w%,buttons%)....|
00000fb0  20 20 20 20 20 20 20 c8  8e 20 77 69 6e 64 6f 77  |       .. window|
00000fc0  25 20 ca 0d 05 00 1a 20  20 20 20 20 20 20 c9 20  |% .....       . |
00000fd0  54 69 74 6c 65 5f 57 69  6e 64 6f 77 25 0d 05 0a  |Title_Window%...|
00000fe0  0f 57 49 4e 24 3d 22 4e  4f 4e 45 22 0d 05 14 19  |.WIN$="NONE"....|
00000ff0  20 20 20 20 20 20 20 c9  20 4d 61 69 6e 5f 57 69  |       . Main_Wi|
00001000  6e 64 6f 77 25 0d 05 1e  29 f2 57 69 6d 70 5f 57  |ndow%...).Wimp_W|
00001010  69 6e 64 6f 77 42 72 69  6e 67 54 6f 54 6f 70 28  |indowBringToTop(|
00001020  54 69 74 6c 65 5f 57 69  6e 64 6f 77 25 29 0d 05  |Title_Window%)..|
00001030  28 10 57 49 4e 24 3d 22  54 49 54 4c 45 22 0d 05  |(.WIN$="TITLE"..|
00001040  32 1a 20 20 20 20 20 20  20 c9 20 50 72 69 6e 74  |2.       . Print|
00001050  5f 57 69 6e 64 6f 77 25  0d 05 3c 28 f2 57 69 6d  |_Window%..<(.Wim|
00001060  70 5f 57 69 6e 64 6f 77  42 72 69 6e 67 54 6f 54  |p_WindowBringToT|
00001070  6f 70 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 29  |op(Main_Window%)|
00001080  0d 05 46 0f 57 49 4e 24  3d 22 4d 41 49 4e 22 0d  |..F.WIN$="MAIN".|
00001090  05 50 18 20 20 20 20 20  20 20 c9 20 53 65 74 5f  |.P.       . Set_|
000010a0  57 69 6e 64 6f 77 25 0d  05 5a 0e f2 73 65 61 72  |Window%..Z..sear|
000010b0  63 68 63 75 74 0d 05 64  28 f2 57 69 6d 70 5f 57  |chcut..d(.Wimp_W|
000010c0  69 6e 64 6f 77 42 72 69  6e 67 54 6f 54 6f 70 28  |indowBringToTop(|
000010d0  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 29 0d 05 6e  |Main_Window%)..n|
000010e0  0f 57 49 4e 24 3d 22 4d  41 49 4e 22 0d 05 78 04  |.WIN$="MAIN"..x.|
000010f0  0d 05 82 0c 20 20 20 20  20 20 20 cb 0d 05 8c 0c  |....       .....|
00001100  20 20 20 20 20 20 20 e1  0d 05 96 0c 20 20 20 20  |       .....    |
00001110  20 20 20 3a 0d 05 a0 35  20 20 20 20 20 20 20 dd  |   :...5       .|
00001120  20 f2 45 76 65 6e 74 5f  44 72 61 77 28 77 69 6e  | .Event_Draw(win|
00001130  64 6f 77 25 2c 78 5f 6f  72 69 67 69 6e 25 2c 79  |dow%,x_origin%,y|
00001140  5f 6f 72 69 67 69 6e 25  29 0d 05 aa 17 20 20 20  |_origin%)....   |
00001150  20 20 20 20 c8 8e 20 77  69 6e 64 6f 77 25 20 ca  |    .. window% .|
00001160  0d 05 b4 38 20 20 20 20  20 20 20 20 c9 20 49 6e  |...8        . In|
00001170  66 6f 5f 57 69 6e 64 6f  77 25 20 20 20 20 20 20  |fo_Window%      |
00001180  20 20 3a 20 f2 55 73 65  72 5f 44 72 61 77 49 6e  |  : .User_DrawIn|
00001190  66 6f 57 69 6e 64 6f 77  0d 05 be 39 20 20 20 20  |foWindow...9    |
000011a0  20 20 20 20 c9 20 54 69  74 6c 65 5f 57 69 6e 64  |    . Title_Wind|
000011b0  6f 77 25 20 20 20 20 20  20 20 3a 20 f2 55 73 65  |ow%       : .Use|
000011c0  72 5f 44 72 61 77 54 69  74 6c 65 57 69 6e 64 6f  |r_DrawTitleWindo|
000011d0  77 0d 05 c8 38 20 20 20  20 20 20 20 20 c9 20 4d  |w...8        . M|
000011e0  61 69 6e 5f 57 69 6e 64  6f 77 25 20 20 20 20 20  |ain_Window%     |
000011f0  20 20 20 3a 20 f2 55 73  65 72 5f 44 72 61 77 4d  |   : .User_DrawM|
00001200  61 69 6e 57 69 6e 64 6f  77 0d 05 d2 39 20 20 20  |ainWindow...9   |
00001210  20 20 20 20 20 c9 20 50  72 69 6e 74 5f 57 69 6e  |     . Print_Win|
00001220  64 6f 77 25 20 20 20 20  20 20 20 3a 20 f2 55 73  |dow%       : .Us|
00001230  65 72 5f 44 72 61 77 50  72 69 6e 74 57 69 6e 64  |er_DrawPrintWind|
00001240  6f 77 0d 05 dc 38 20 20  20 20 20 20 20 20 c9 20  |ow...8        . |
00001250  53 61 76 65 5f 57 69 6e  64 6f 77 25 20 20 20 20  |Save_Window%    |
00001260  20 20 20 20 3a 20 f2 55  73 65 72 5f 44 72 61 77  |    : .User_Draw|
00001270  53 61 76 65 57 69 6e 64  6f 77 0d 05 e6 0c 20 20  |SaveWindow....  |
00001280  20 20 20 20 20 cb 0d 05  f0 0c 20 20 20 20 20 20  |     .....      |
00001290  20 e1 0d 05 fa 12 20 20  20 20 20 20 20 20 20 20  | .....          |
000012a0  20 20 20 3a 0d 06 04 27  20 20 20 20 20 20 20 20  |   :...'        |
000012b0  20 20 20 20 20 dd 20 f2  55 73 65 72 5f 44 72 61  |     . .User_Dra|
000012c0  77 49 6e 66 6f 57 69 6e  64 6f 77 0d 06 0e 12 20  |wInfoWindow.... |
000012d0  20 20 20 20 20 20 20 20  20 20 20 20 e1 0d 06 18  |            ....|
000012e0  12 20 20 20 20 20 20 20  20 20 20 20 20 20 3a 0d  |.             :.|
000012f0  06 22 28 20 20 20 20 20  20 20 20 20 20 20 20 20  |."(             |
00001300  dd 20 f2 55 73 65 72 5f  44 72 61 77 54 69 74 6c  |. .User_DrawTitl|
00001310  65 57 69 6e 64 6f 77 0d  06 2c 12 20 20 20 20 20  |eWindow..,.     |
00001320  20 20 20 20 20 20 20 20  e1 0d 06 36 12 20 20 20  |        ...6.   |
00001330  20 20 20 20 20 20 20 20  20 20 3a 0d 06 40 27 20  |          :..@' |
00001340  20 20 20 20 20 20 20 20  20 20 20 20 dd 20 f2 55  |            . .U|
00001350  73 65 72 5f 44 72 61 77  4d 61 69 6e 57 69 6e 64  |ser_DrawMainWind|
00001360  6f 77 0d 06 4a 26 20 20  20 20 20 20 20 20 20 20  |ow..J&          |
00001370  20 20 20 c8 99 22 57 69  6d 70 5f 53 65 74 43 6f  |   .."Wimp_SetCo|
00001380  6c 6f 75 72 22 2c 31 31  0d 06 54 21 20 20 20 20  |lour",11..T!    |
00001390  20 20 20 20 20 20 20 20  20 6c 65 6e 3d 32 31 32  |         len=212|
000013a0  2f 28 74 6f 74 25 2b 31  29 0d 06 5e 1d 20 20 20  |/(tot%+1)..^.   |
000013b0  20 20 20 20 20 20 20 20  20 20 70 6f 73 3d 63 75  |          pos=cu|
000013c0  72 25 2a 6c 65 6e 0d 06  68 3f 20 20 20 20 20 20  |r%*len..h?      |
000013d0  20 20 20 20 20 20 20 c8  93 20 c8 90 20 28 78 5f  |       .. .. (x_|
000013e0  6f 72 69 67 69 6e 25 2b  35 33 30 29 2b 70 6f 73  |origin%+530)+pos|
000013f0  2c 79 5f 6f 72 69 67 69  6e 25 2d 35 39 34 2c 6c  |,y_origin%-594,l|
00001400  65 6e 2c 32 32 0d 06 72  12 20 20 20 20 20 20 20  |en,22..r.       |
00001410  20 20 20 20 20 20 e1 0d  06 7c 12 20 20 20 20 20  |      ...|.     |
00001420  20 20 20 20 20 20 20 20  3a 0d 06 86 28 20 20 20  |        :...(   |
00001430  20 20 20 20 20 20 20 20  20 20 dd 20 f2 55 73 65  |          . .Use|
00001440  72 5f 44 72 61 77 50 72  69 6e 74 57 69 6e 64 6f  |r_DrawPrintWindo|
00001450  77 0d 06 90 12 20 20 20  20 20 20 20 20 20 20 20  |w....           |
00001460  20 20 e1 0d 06 9a 12 20  20 20 20 20 20 20 20 20  |  .....         |
00001470  20 20 20 20 3a 0d 06 a4  27 20 20 20 20 20 20 20  |    :...'       |
00001480  20 20 20 20 20 20 dd 20  f2 55 73 65 72 5f 44 72  |      . .User_Dr|
00001490  61 77 53 61 76 65 57 69  6e 64 6f 77 0d 06 ae 12  |awSaveWindow....|
000014a0  20 20 20 20 20 20 20 20  20 20 20 20 20 e1 0d 06  |             ...|
000014b0  b8 0c 20 20 20 20 20 20  20 3a 0d 06 c2 3b 20 20  |..       :...;  |
000014c0  20 20 20 20 20 dd 20 f2  45 76 65 6e 74 5f 4d 6f  |     . .Event_Mo|
000014d0  75 73 65 43 6c 69 63 6b  28 77 69 6e 64 6f 77 25  |useClick(window%|
000014e0  2c 69 63 6f 6e 25 2c 62  75 74 74 6f 6e 25 2c 78  |,icon%,button%,x|
000014f0  25 2c 79 25 29 0d 06 cc  17 20 20 20 20 20 20 20  |%,y%)....       |
00001500  c8 8e 20 77 69 6e 64 6f  77 25 20 ca 0d 06 d6 31  |.. window% ....1|
00001510  20 20 20 20 20 20 20 20  c9 20 42 61 72 5f 57 69  |        . Bar_Wi|
00001520  6e 64 6f 77 25 20 20 20  20 20 20 20 20 3a 20 f2  |ndow%        : .|
00001530  55 73 65 72 5f 4d 6f 75  73 65 42 61 72 0d 06 e0  |User_MouseBar...|
00001540  42 20 20 20 20 20 20 20  20 c9 20 49 6e 66 6f 5f  |B        . Info_|
00001550  57 69 6e 64 6f 77 25 20  20 20 20 20 20 20 3a 20  |Window%       : |
00001560  f2 55 73 65 72 5f 4d 6f  75 73 65 49 6e 66 6f 28  |.User_MouseInfo(|
00001570  20 62 75 74 74 6f 6e 25  2c 69 63 6f 6e 25 29 0d  | button%,icon%).|
00001580  06 ea 43 20 20 20 20 20  20 20 20 c9 20 54 69 74  |..C        . Tit|
00001590  6c 65 5f 57 69 6e 64 6f  77 25 20 20 20 20 20 20  |le_Window%      |
000015a0  3a 20 f2 55 73 65 72 5f  4d 6f 75 73 65 54 69 74  |: .User_MouseTit|
000015b0  6c 65 28 20 62 75 74 74  6f 6e 25 2c 69 63 6f 6e  |le( button%,icon|
000015c0  25 29 0d 06 f4 42 20 20  20 20 20 20 20 20 c9 20  |%)...B        . |
000015d0  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 20 20 20 20  |Main_Window%    |
000015e0  20 20 20 3a 20 f2 55 73  65 72 5f 4d 6f 75 73 65  |   : .User_Mouse|
000015f0  4d 61 69 6e 28 20 62 75  74 74 6f 6e 25 2c 69 63  |Main( button%,ic|
00001600  6f 6e 25 29 0d 06 fe 43  20 20 20 20 20 20 20 20  |on%)...C        |
00001610  c9 20 50 72 69 6e 74 5f  57 69 6e 64 6f 77 25 20  |. Print_Window% |
00001620  20 20 20 20 20 3a 20 f2  55 73 65 72 5f 4d 6f 75  |     : .User_Mou|
00001630  73 65 50 72 69 6e 74 28  20 62 75 74 74 6f 6e 25  |sePrint( button%|
00001640  2c 69 63 6f 6e 25 29 0d  07 08 44 20 20 20 20 20  |,icon%)...D     |
00001650  20 20 20 c9 20 53 65 74  5f 57 69 6e 64 6f 77 25  |   . Set_Window%|
00001660  20 20 20 20 20 20 20 20  3a 20 f2 55 73 65 72 5f  |        : .User_|
00001670  4d 6f 75 73 65 53 65 61  72 63 68 28 20 62 75 74  |MouseSearch( but|
00001680  74 6f 6e 25 2c 69 63 6f  6e 25 29 0d 07 12 43 20  |ton%,icon%)...C |
00001690  20 20 20 20 20 20 20 c9  20 43 6c 6f 73 65 5f 57  |       . Close_W|
000016a0  69 6e 64 6f 77 25 20 20  20 20 20 20 3a 20 f2 55  |indow%      : .U|
000016b0  73 65 72 5f 4d 6f 75 73  65 43 6c 6f 73 65 28 20  |ser_MouseClose( |
000016c0  62 75 74 74 6f 6e 25 2c  69 63 6f 6e 25 29 0d 07  |button%,icon%)..|
000016d0  1c 44 20 20 20 20 20 20  20 20 c9 20 53 65 61 72  |.D        . Sear|
000016e0  63 68 32 5f 57 69 6e 64  6f 77 25 20 20 20 20 3a  |ch2_Window%    :|
000016f0  20 f2 55 73 65 72 5f 4d  6f 75 73 65 43 6c 6f 73  | .User_MouseClos|
00001700  65 32 28 20 62 75 74 74  6f 6e 25 2c 69 63 6f 6e  |e2( button%,icon|
00001710  25 29 0d 07 26 0c 20 20  20 20 20 20 20 cb 0d 07  |%)..&.       ...|
00001720  30 0c 20 20 20 20 20 20  20 e1 0d 07 3a 0e 20 20  |0.       ...:.  |
00001730  20 20 20 20 20 20 20 3a  0d 07 44 30 20 20 20 20  |       :..D0    |
00001740  20 20 20 20 20 dd 20 f2  55 73 65 72 5f 4d 6f 75  |     . .User_Mou|
00001750  73 65 43 6c 6f 73 65 32  28 20 62 75 74 74 6f 6e  |seClose2( button|
00001760  25 2c 69 63 6f 6e 25 29  0d 07 4e 18 20 20 20 20  |%,icon%)..N.    |
00001770  20 20 20 20 20 e7 20 69  63 6f 6e 25 3d 33 20 8c  |     . icon%=3 .|
00001780  0d 07 58 16 20 20 20 20  20 20 20 20 20 73 65 61  |..X.         sea|
00001790  72 63 68 25 3d a3 0d 07  62 2e 20 20 20 20 20 20  |rch%=...b.      |
000017a0  20 20 20 f2 57 69 6d 70  5f 49 63 6f 6e 45 6e 61  |   .Wimp_IconEna|
000017b0  62 6c 65 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ble(Main_Window%|
000017c0  2c 32 31 29 0d 07 6c 2e  20 20 20 20 20 20 20 20  |,21)..l.        |
000017d0  20 f2 57 69 6d 70 5f 49  63 6f 6e 45 6e 61 62 6c  | .Wimp_IconEnabl|
000017e0  65 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 32  |e(Main_Window%,2|
000017f0  32 29 0d 07 76 2e 20 20  20 20 20 20 20 20 20 f2  |2)..v.         .|
00001800  57 69 6d 70 5f 49 63 6f  6e 45 6e 61 62 6c 65 28  |Wimp_IconEnable(|
00001810  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 32 33 29  |Main_Window%,23)|
00001820  0d 07 80 2e 20 20 20 20  20 20 20 20 20 f2 57 69  |....         .Wi|
00001830  6d 70 5f 49 63 6f 6e 45  6e 61 62 6c 65 28 4d 61  |mp_IconEnable(Ma|
00001840  69 6e 5f 57 69 6e 64 6f  77 25 2c 32 34 29 0d 07  |in_Window%,24)..|
00001850  8a 2e 20 20 20 20 20 20  20 20 20 f2 57 69 6d 70  |..         .Wimp|
00001860  5f 49 63 6f 6e 45 6e 61  62 6c 65 28 4d 61 69 6e  |_IconEnable(Main|
00001870  5f 57 69 6e 64 6f 77 25  2c 32 35 29 0d 07 94 2e  |_Window%,25)....|
00001880  20 20 20 20 20 20 20 20  20 f2 57 69 6d 70 5f 49  |         .Wimp_I|
00001890  63 6f 6e 45 6e 61 62 6c  65 28 4d 61 69 6e 5f 57  |conEnable(Main_W|
000018a0  69 6e 64 6f 77 25 2c 32  36 29 0d 07 9e 2e 20 20  |indow%,26)....  |
000018b0  20 20 20 20 20 20 20 f2  57 69 6d 70 5f 49 63 6f  |       .Wimp_Ico|
000018c0  6e 45 6e 61 62 6c 65 28  4d 61 69 6e 5f 57 69 6e  |nEnable(Main_Win|
000018d0  64 6f 77 25 2c 32 37 29  0d 07 a8 2e 20 20 20 20  |dow%,27)....    |
000018e0  20 20 20 20 20 f2 57 69  6d 70 5f 49 63 6f 6e 45  |     .Wimp_IconE|
000018f0  6e 61 62 6c 65 28 4d 61  69 6e 5f 57 69 6e 64 6f  |nable(Main_Windo|
00001900  77 25 2c 32 38 29 0d 07  b2 2e 20 20 20 20 20 20  |w%,28)....      |
00001910  20 20 20 f2 57 69 6d 70  5f 49 63 6f 6e 45 6e 61  |   .Wimp_IconEna|
00001920  62 6c 65 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ble(Main_Window%|
00001930  2c 32 39 29 0d 07 bc 2e  20 20 20 20 20 20 20 20  |,29)....        |
00001940  20 f2 57 69 6d 70 5f 49  63 6f 6e 45 6e 61 62 6c  | .Wimp_IconEnabl|
00001950  65 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 33  |e(Main_Window%,3|
00001960  30 29 0d 07 c6 2e 20 20  20 20 20 20 20 20 20 f2  |0)....         .|
00001970  57 69 6d 70 5f 49 63 6f  6e 45 6e 61 62 6c 65 28  |Wimp_IconEnable(|
00001980  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 33 33 29  |Main_Window%,33)|
00001990  0d 07 d0 2f 20 20 20 20  20 20 20 20 20 f2 57 69  |.../         .Wi|
000019a0  6d 70 5f 57 69 6e 64 6f  77 43 6c 6f 73 65 28 53  |mp_WindowClose(S|
000019b0  65 61 72 63 68 32 5f 57  69 6e 64 6f 77 25 29 0d  |earch2_Window%).|
000019c0  07 da 0e 20 20 20 20 20  20 20 20 20 cd 0d 07 e4  |...         ....|
000019d0  22 20 20 20 20 20 20 20  20 20 e7 20 69 63 6f 6e  |"         . icon|
000019e0  25 3d 32 20 80 20 73 73  65 6c 25 3d 32 20 8c 0d  |%=2 . ssel%=2 ..|
000019f0  07 ee 3a 20 20 20 20 20  20 20 20 20 e7 20 53 45  |..:         . SE|
00001a00  41 52 43 48 24 3d 22 20  22 20 80 20 53 45 41 52  |ARCH$=" " . SEAR|
00001a10  43 48 32 24 3d 22 20 22  20 80 20 53 45 41 52 43  |CH2$=" " . SEARC|
00001a20  48 33 24 3d 22 20 22 20  8c 0d 07 f8 4c 20 20 20  |H3$=" " ....L   |
00001a30  20 20 20 20 20 20 f2 57  69 6d 70 5f 57 69 6e 64  |      .Wimp_Wind|
00001a40  6f 77 45 72 72 6f 72 42  6f 78 28 22 21 41 44 52  |owErrorBox("!ADR|
00001a50  42 6f 6f 6b 22 2c 22 50  6c 65 61 73 65 20 73 65  |Book","Please se|
00001a60  74 20 73 65 61 72 63 68  20 70 61 72 61 6d 65 74  |t search paramet|
00001a70  65 72 73 22 29 0d 08 02  0e 20 20 20 20 20 20 20  |ers")....       |
00001a80  20 20 cc 0d 08 0c 14 20  20 20 20 20 20 20 20 20  |  .....         |
00001a90  f2 73 65 61 72 63 68 0d  08 16 0e 20 20 20 20 20  |.search....     |
00001aa0  20 20 20 20 cd 0d 08 20  0e 20 20 20 20 20 20 20  |    ... .       |
00001ab0  20 20 cd 0d 08 2a 04 0d  08 34 23 20 20 20 20 20  |  ...*...4#     |
00001ac0  20 20 20 20 e7 20 69 63  6f 6e 25 3d 32 20 80 20  |    . icon%=2 . |
00001ad0  73 73 65 6c 25 3c 3e 32  20 8c 0d 08 3e 3a 20 20  |ssel%<>2 ...>:  |
00001ae0  20 20 20 20 20 20 20 e7  20 53 45 41 52 43 48 24  |       . SEARCH$|
00001af0  3c 3e 22 22 20 80 20 53  45 41 52 43 48 32 24 3c  |<>"" . SEARCH2$<|
00001b00  3e 22 22 20 80 20 53 45  41 52 43 48 33 24 3c 3e  |>"" . SEARCH3$<>|
00001b10  22 22 20 8c 0d 08 48 14  20 20 20 20 20 20 20 20  |"" ...H.        |
00001b20  20 f2 73 65 61 72 63 68  0d 08 52 0e 20 20 20 20  | .search..R.    |
00001b30  20 20 20 20 20 cc 0d 08  5c 4c 20 20 20 20 20 20  |     ...\L      |
00001b40  20 20 20 f2 57 69 6d 70  5f 57 69 6e 64 6f 77 45  |   .Wimp_WindowE|
00001b50  72 72 6f 72 42 6f 78 28  22 21 41 44 52 42 6f 6f  |rrorBox("!ADRBoo|
00001b60  6b 22 2c 22 50 6c 65 61  73 65 20 73 65 74 20 73  |k","Please set s|
00001b70  65 61 72 63 68 20 70 61  72 61 6d 65 74 65 72 73  |earch parameters|
00001b80  22 29 0d 08 66 0e 20 20  20 20 20 20 20 20 20 cd  |")..f.         .|
00001b90  0d 08 70 0e 20 20 20 20  20 20 20 20 20 cd 0d 08  |..p.         ...|
00001ba0  7a 0e 20 20 20 20 20 20  20 20 20 e1 0d 08 84 0e  |z.         .....|
00001bb0  20 20 20 20 20 20 20 20  20 3a 0d 08 8e 2f 20 20  |         :.../  |
00001bc0  20 20 20 20 20 20 20 dd  20 f2 55 73 65 72 5f 4d  |       . .User_M|
00001bd0  6f 75 73 65 43 6c 6f 73  65 28 20 62 75 74 74 6f  |ouseClose( butto|
00001be0  6e 25 2c 69 63 6f 6e 25  29 0d 08 98 18 20 20 20  |n%,icon%)....   |
00001bf0  20 20 20 20 20 20 e7 20  69 63 6f 6e 25 3d 31 20  |      . icon%=1 |
00001c00  8c 0d 08 a2 09 53 41 25  3d b9 0d 08 ac 0a f2 75  |.....SA%=......u|
00001c10  6e 62 6f 78 0d 08 b6 24  f2 57 69 6d 70 5f 57 69  |nbox...$.Wimp_Wi|
00001c20  6e 64 6f 77 43 6c 6f 73  65 28 43 6c 6f 73 65 5f  |ndowClose(Close_|
00001c30  57 69 6e 64 6f 77 25 29  0d 08 c0 0d 55 50 44 41  |Window%)....UPDA|
00001c40  54 45 25 3d a3 0d 08 ca  28 f2 57 69 6d 70 5f 57  |TE%=....(.Wimp_W|
00001c50  69 6e 64 6f 77 42 72 69  6e 67 54 6f 54 6f 70 28  |indowBringToTop(|
00001c60  53 61 76 65 5f 57 69 6e  64 6f 77 25 29 0d 08 d4  |Save_Window%)...|
00001c70  25 41 24 3d a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |%A$=.Wimp_IconTe|
00001c80  78 74 28 53 61 76 65 5f  57 69 6e 64 6f 77 25 2c  |xt(Save_Window%,|
00001c90  31 29 0d 08 de 29 f2 57  69 6d 70 5f 49 63 6f 6e  |1)...).Wimp_Icon|
00001ca0  43 61 72 65 74 28 53 61  76 65 5f 57 69 6e 64 6f  |Caret(Save_Windo|
00001cb0  77 25 2c 31 2c a9 28 41  24 29 29 0d 08 e8 05 cd  |w%,1,.(A$)).....|
00001cc0  0d 08 f2 18 20 20 20 20  20 20 20 20 20 e7 20 69  |....         . i|
00001cd0  63 6f 6e 25 3d 32 20 8c  0d 08 fc 0a f2 75 6e 62  |con%=2 ......unb|
00001ce0  6f 78 0d 09 06 0d 55 50  44 41 54 45 25 3d a3 0d  |ox....UPDATE%=..|
00001cf0  09 10 24 f2 57 69 6d 70  5f 57 69 6e 64 6f 77 43  |..$.Wimp_WindowC|
00001d00  6c 6f 73 65 28 43 6c 6f  73 65 5f 57 69 6e 64 6f  |lose(Close_Windo|
00001d10  77 25 29 0d 09 1a 09 43  44 25 3d b9 0d 09 24 05  |w%)....CD%=...$.|
00001d20  cd 0d 09 2e 18 20 20 20  20 20 20 20 20 20 e7 20  |.....         . |
00001d30  69 63 6f 6e 25 3d 33 20  8c 0d 09 38 0a f2 75 6e  |icon%=3 ...8..un|
00001d40  62 6f 78 0d 09 42 24 f2  57 69 6d 70 5f 57 69 6e  |box..B$.Wimp_Win|
00001d50  64 6f 77 43 6c 6f 73 65  28 43 6c 6f 73 65 5f 57  |dowClose(Close_W|
00001d60  69 6e 64 6f 77 25 29 0d  09 4c 05 cd 0d 09 56 1d  |indow%)..L....V.|
00001d70  e7 20 43 44 25 3d b9 20  8c 20 f2 57 69 6d 70 5f  |. CD%=. . .Wimp_|
00001d80  43 6c 6f 73 65 44 6f 77  6e 0d 09 60 05 e1 0d 09  |CloseDown..`....|
00001d90  6a 0e 20 20 20 20 20 20  20 20 20 3a 0d 09 74 1d  |j.         :..t.|
00001da0  20 20 20 20 20 20 20 20  20 dd 20 f2 55 73 65 72  |         . .User|
00001db0  5f 4d 6f 75 73 65 42 61  72 0d 09 7e 57 20 20 20  |_MouseBar..~W   |
00001dc0  20 20 20 20 20 20 e7 20  57 49 4e 24 3d 22 4e 4f  |      . WIN$="NO|
00001dd0  4e 45 22 20 80 20 53 41  25 3d a3 20 8c 20 f2 57  |NE" . SA%=. . .W|
00001de0  69 6d 70 5f 57 69 6e 64  6f 77 42 72 69 6e 67 54  |imp_WindowBringT|
00001df0  6f 54 6f 70 28 54 69 74  6c 65 5f 57 69 6e 64 6f  |oTop(Title_Windo|
00001e00  77 25 29 3a 57 49 4e 24  3d 22 54 49 54 4c 45 22  |w%):WIN$="TITLE"|
00001e10  0d 09 88 0e 20 20 20 20  20 20 20 20 20 e1 0d 09  |....         ...|
00001e20  92 0e 20 20 20 20 20 20  20 20 20 3a 0d 09 9c 30  |..         :...0|
00001e30  20 20 20 20 20 20 20 20  20 dd 20 f2 55 73 65 72  |         . .User|
00001e40  5f 4d 6f 75 73 65 53 65  61 72 63 68 28 20 62 75  |_MouseSearch( bu|
00001e50  74 74 6f 6e 25 2c 69 63  6f 6e 25 29 0d 09 a6 22  |tton%,icon%)..."|
00001e60  20 20 20 20 20 20 20 20  20 e7 20 69 63 6f 6e 25  |         . icon%|
00001e70  3d 33 20 80 20 73 73 65  6c 25 3d 32 20 8c 0d 09  |=3 . ssel%=2 ...|
00001e80  b0 17 20 20 20 20 20 20  20 20 20 f2 73 65 61 72  |..         .sear|
00001e90  63 68 63 75 74 0d 09 ba  3a 20 20 20 20 20 20 20  |chcut...:       |
00001ea0  20 20 e7 20 53 45 41 52  43 48 24 3d 22 20 22 20  |  . SEARCH$=" " |
00001eb0  80 20 53 45 41 52 43 48  32 24 3d 22 20 22 20 80  |. SEARCH2$=" " .|
00001ec0  20 53 45 41 52 43 48 33  24 3d 22 20 22 20 8c 0d  | SEARCH3$=" " ..|
00001ed0  09 c4 4c 20 20 20 20 20  20 20 20 20 f2 57 69 6d  |..L         .Wim|
00001ee0  70 5f 57 69 6e 64 6f 77  45 72 72 6f 72 42 6f 78  |p_WindowErrorBox|
00001ef0  28 22 21 41 44 52 42 6f  6f 6b 22 2c 22 50 6c 65  |("!ADRBook","Ple|
00001f00  61 73 65 20 73 65 74 20  73 65 61 72 63 68 20 70  |ase set search p|
00001f10  61 72 61 6d 65 74 65 72  73 22 29 0d 09 ce 0e 20  |arameters").... |
00001f20  20 20 20 20 20 20 20 20  cc 0d 09 d8 2b 20 20 20  |        ....+   |
00001f30  20 20 20 20 20 20 f2 57  69 6d 70 5f 57 69 6e 64  |      .Wimp_Wind|
00001f40  6f 77 43 6c 6f 73 65 28  53 65 74 5f 57 69 6e 64  |owClose(Set_Wind|
00001f50  6f 77 25 29 0d 09 e2 31  20 20 20 20 20 20 20 20  |ow%)...1        |
00001f60  20 f2 57 69 6d 70 5f 57  69 6e 64 6f 77 42 72 69  | .Wimp_WindowBri|
00001f70  6e 67 54 6f 54 6f 70 28  4d 61 69 6e 5f 57 69 6e  |ngToTop(Main_Win|
00001f80  64 6f 77 25 29 0d 09 ec  34 20 20 20 20 20 20 20  |dow%)...4       |
00001f90  20 20 f2 57 69 6d 70 5f  57 69 6e 64 6f 77 42 72  |  .Wimp_WindowBr|
00001fa0  69 6e 67 54 6f 54 6f 70  28 53 65 61 72 63 68 32  |ingToTop(Search2|
00001fb0  5f 57 69 6e 64 6f 77 25  29 0d 09 f6 2f 20 20 20  |_Window%).../   |
00001fc0  20 20 20 20 20 20 f2 57  69 6d 70 5f 49 63 6f 6e  |      .Wimp_Icon|
00001fd0  44 69 73 61 62 6c 65 28  4d 61 69 6e 5f 57 69 6e  |Disable(Main_Win|
00001fe0  64 6f 77 25 2c 32 31 29  0d 0a 00 2f 20 20 20 20  |dow%,21).../    |
00001ff0  20 20 20 20 20 f2 57 69  6d 70 5f 49 63 6f 6e 44  |     .Wimp_IconD|
00002000  69 73 61 62 6c 65 28 4d  61 69 6e 5f 57 69 6e 64  |isable(Main_Wind|
00002010  6f 77 25 2c 32 32 29 0d  0a 0a 2f 20 20 20 20 20  |ow%,22).../     |
00002020  20 20 20 20 f2 57 69 6d  70 5f 49 63 6f 6e 44 69  |    .Wimp_IconDi|
00002030  73 61 62 6c 65 28 4d 61  69 6e 5f 57 69 6e 64 6f  |sable(Main_Windo|
00002040  77 25 2c 32 33 29 0d 0a  14 2f 20 20 20 20 20 20  |w%,23).../      |
00002050  20 20 20 f2 57 69 6d 70  5f 49 63 6f 6e 44 69 73  |   .Wimp_IconDis|
00002060  61 62 6c 65 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |able(Main_Window|
00002070  25 2c 32 34 29 0d 0a 1e  2f 20 20 20 20 20 20 20  |%,24).../       |
00002080  20 20 f2 57 69 6d 70 5f  49 63 6f 6e 44 69 73 61  |  .Wimp_IconDisa|
00002090  62 6c 65 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ble(Main_Window%|
000020a0  2c 32 35 29 0d 0a 28 2f  20 20 20 20 20 20 20 20  |,25)..(/        |
000020b0  20 f2 57 69 6d 70 5f 49  63 6f 6e 44 69 73 61 62  | .Wimp_IconDisab|
000020c0  6c 65 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |le(Main_Window%,|
000020d0  32 36 29 0d 0a 32 2f 20  20 20 20 20 20 20 20 20  |26)..2/         |
000020e0  f2 57 69 6d 70 5f 49 63  6f 6e 44 69 73 61 62 6c  |.Wimp_IconDisabl|
000020f0  65 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 32  |e(Main_Window%,2|
00002100  37 29 0d 0a 3c 2f 20 20  20 20 20 20 20 20 20 f2  |7)..</         .|
00002110  57 69 6d 70 5f 49 63 6f  6e 44 69 73 61 62 6c 65  |Wimp_IconDisable|
00002120  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 32 38  |(Main_Window%,28|
00002130  29 0d 0a 46 2f 20 20 20  20 20 20 20 20 20 f2 57  |)..F/         .W|
00002140  69 6d 70 5f 49 63 6f 6e  44 69 73 61 62 6c 65 28  |imp_IconDisable(|
00002150  4d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 32 39 29  |Main_Window%,29)|
00002160  0d 0a 50 2f 20 20 20 20  20 20 20 20 20 f2 57 69  |..P/         .Wi|
00002170  6d 70 5f 49 63 6f 6e 44  69 73 61 62 6c 65 28 4d  |mp_IconDisable(M|
00002180  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 33 30 29 0d  |ain_Window%,30).|
00002190  0a 5a 2f 20 20 20 20 20  20 20 20 20 f2 57 69 6d  |.Z/         .Wim|
000021a0  70 5f 49 63 6f 6e 44 69  73 61 62 6c 65 28 4d 61  |p_IconDisable(Ma|
000021b0  69 6e 5f 57 69 6e 64 6f  77 25 2c 33 33 29 0d 0a  |in_Window%,33)..|
000021c0  64 16 20 20 20 20 20 20  20 20 20 73 65 61 72 63  |d.         searc|
000021d0  68 25 3d b9 0d 0a 6e 14  20 20 20 20 20 20 20 20  |h%=...n.        |
000021e0  20 f2 73 65 61 72 63 68  0d 0a 78 0e 20 20 20 20  | .search..x.    |
000021f0  20 20 20 20 20 cd 0d 0a  82 0e 20 20 20 20 20 20  |     .....      |
00002200  20 20 20 cd 0d 0a 8c 04  0d 0a 96 23 20 20 20 20  |   ........#    |
00002210  20 20 20 20 20 e7 20 69  63 6f 6e 25 3d 33 20 80  |     . icon%=3 .|
00002220  20 73 73 65 6c 25 3c 3e  32 20 8c 0d 0a a0 17 20  | ssel%<>2 ..... |
00002230  20 20 20 20 20 20 20 20  f2 73 65 61 72 63 68 63  |        .searchc|
00002240  75 74 0d 0a aa 3a 20 20  20 20 20 20 20 20 20 e7  |ut...:         .|
00002250  20 53 45 41 52 43 48 24  3c 3e 22 22 20 80 20 53  | SEARCH$<>"" . S|
00002260  45 41 52 43 48 32 24 3c  3e 22 22 20 80 20 53 45  |EARCH2$<>"" . SE|
00002270  41 52 43 48 33 24 3c 3e  22 22 20 8c 0d 0a b4 2b  |ARCH3$<>"" ....+|
00002280  20 20 20 20 20 20 20 20  20 f2 57 69 6d 70 5f 57  |         .Wimp_W|
00002290  69 6e 64 6f 77 43 6c 6f  73 65 28 53 65 74 5f 57  |indowClose(Set_W|
000022a0  69 6e 64 6f 77 25 29 0d  0a be 31 20 20 20 20 20  |indow%)...1     |
000022b0  20 20 20 20 f2 57 69 6d  70 5f 57 69 6e 64 6f 77  |    .Wimp_Window|
000022c0  42 72 69 6e 67 54 6f 54  6f 70 28 4d 61 69 6e 5f  |BringToTop(Main_|
000022d0  57 69 6e 64 6f 77 25 29  0d 0a c8 34 20 20 20 20  |Window%)...4    |
000022e0  20 20 20 20 20 f2 57 69  6d 70 5f 57 69 6e 64 6f  |     .Wimp_Windo|
000022f0  77 42 72 69 6e 67 54 6f  54 6f 70 28 53 65 61 72  |wBringToTop(Sear|
00002300  63 68 32 5f 57 69 6e 64  6f 77 25 29 0d 0a d2 2f  |ch2_Window%).../|
00002310  20 20 20 20 20 20 20 20  20 f2 57 69 6d 70 5f 49  |         .Wimp_I|
00002320  63 6f 6e 44 69 73 61 62  6c 65 28 4d 61 69 6e 5f  |conDisable(Main_|
00002330  57 69 6e 64 6f 77 25 2c  32 31 29 0d 0a dc 2f 20  |Window%,21).../ |
00002340  20 20 20 20 20 20 20 20  f2 57 69 6d 70 5f 49 63  |        .Wimp_Ic|
00002350  6f 6e 44 69 73 61 62 6c  65 28 4d 61 69 6e 5f 57  |onDisable(Main_W|
00002360  69 6e 64 6f 77 25 2c 32  32 29 0d 0a e6 2f 20 20  |indow%,22).../  |
00002370  20 20 20 20 20 20 20 f2  57 69 6d 70 5f 49 63 6f  |       .Wimp_Ico|
00002380  6e 44 69 73 61 62 6c 65  28 4d 61 69 6e 5f 57 69  |nDisable(Main_Wi|
00002390  6e 64 6f 77 25 2c 32 33  29 0d 0a f0 2f 20 20 20  |ndow%,23).../   |
000023a0  20 20 20 20 20 20 f2 57  69 6d 70 5f 49 63 6f 6e  |      .Wimp_Icon|
000023b0  44 69 73 61 62 6c 65 28  4d 61 69 6e 5f 57 69 6e  |Disable(Main_Win|
000023c0  64 6f 77 25 2c 32 34 29  0d 0a fa 2f 20 20 20 20  |dow%,24).../    |
000023d0  20 20 20 20 20 f2 57 69  6d 70 5f 49 63 6f 6e 44  |     .Wimp_IconD|
000023e0  69 73 61 62 6c 65 28 4d  61 69 6e 5f 57 69 6e 64  |isable(Main_Wind|
000023f0  6f 77 25 2c 32 35 29 0d  0b 04 2f 20 20 20 20 20  |ow%,25).../     |
00002400  20 20 20 20 f2 57 69 6d  70 5f 49 63 6f 6e 44 69  |    .Wimp_IconDi|
00002410  73 61 62 6c 65 28 4d 61  69 6e 5f 57 69 6e 64 6f  |sable(Main_Windo|
00002420  77 25 2c 32 36 29 0d 0b  0e 2f 20 20 20 20 20 20  |w%,26).../      |
00002430  20 20 20 f2 57 69 6d 70  5f 49 63 6f 6e 44 69 73  |   .Wimp_IconDis|
00002440  61 62 6c 65 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |able(Main_Window|
00002450  25 2c 32 37 29 0d 0b 18  2f 20 20 20 20 20 20 20  |%,27).../       |
00002460  20 20 f2 57 69 6d 70 5f  49 63 6f 6e 44 69 73 61  |  .Wimp_IconDisa|
00002470  62 6c 65 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ble(Main_Window%|
00002480  2c 32 38 29 0d 0b 22 2f  20 20 20 20 20 20 20 20  |,28).."/        |
00002490  20 f2 57 69 6d 70 5f 49  63 6f 6e 44 69 73 61 62  | .Wimp_IconDisab|
000024a0  6c 65 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |le(Main_Window%,|
000024b0  32 39 29 0d 0b 2c 2f 20  20 20 20 20 20 20 20 20  |29)..,/         |
000024c0  f2 57 69 6d 70 5f 49 63  6f 6e 44 69 73 61 62 6c  |.Wimp_IconDisabl|
000024d0  65 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 33  |e(Main_Window%,3|
000024e0  30 29 0d 0b 36 2f 20 20  20 20 20 20 20 20 20 f2  |0)..6/         .|
000024f0  57 69 6d 70 5f 49 63 6f  6e 44 69 73 61 62 6c 65  |Wimp_IconDisable|
00002500  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 33 33  |(Main_Window%,33|
00002510  29 0d 0b 40 16 20 20 20  20 20 20 20 20 20 73 65  |)..@.         se|
00002520  61 72 63 68 25 3d b9 0d  0b 4a 14 20 20 20 20 20  |arch%=...J.     |
00002530  20 20 20 20 f2 73 65 61  72 63 68 0d 0b 54 0e 20  |    .search..T. |
00002540  20 20 20 20 20 20 20 20  cc 0d 0b 5e 4c 20 20 20  |        ...^L   |
00002550  20 20 20 20 20 20 f2 57  69 6d 70 5f 57 69 6e 64  |      .Wimp_Wind|
00002560  6f 77 45 72 72 6f 72 42  6f 78 28 22 21 41 44 52  |owErrorBox("!ADR|
00002570  42 6f 6f 6b 22 2c 22 50  6c 65 61 73 65 20 73 65  |Book","Please se|
00002580  74 20 73 65 61 72 63 68  20 70 61 72 61 6d 65 74  |t search paramet|
00002590  65 72 73 22 29 0d 0b 68  0e 20 20 20 20 20 20 20  |ers")..h.       |
000025a0  20 20 cd 0d 0b 72 0e 20  20 20 20 20 20 20 20 20  |  ...r.         |
000025b0  cd 0d 0b 7c 04 0d 0b 86  18 20 20 20 20 20 20 20  |...|.....       |
000025c0  20 20 e7 20 69 63 6f 6e  25 3d 32 20 8c 0d 0b 90  |  . icon%=2 ....|
000025d0  0e f2 73 65 61 72 63 68  63 75 74 0d 0b 9a 22 f2  |..searchcut...".|
000025e0  57 69 6d 70 5f 57 69 6e  64 6f 77 43 6c 6f 73 65  |Wimp_WindowClose|
000025f0  28 53 65 74 5f 57 69 6e  64 6f 77 25 29 0d 0b a4  |(Set_Window%)...|
00002600  28 f2 57 69 6d 70 5f 57  69 6e 64 6f 77 42 72 69  |(.Wimp_WindowBri|
00002610  6e 67 54 6f 54 6f 70 28  4d 61 69 6e 5f 57 69 6e  |ngToTop(Main_Win|
00002620  64 6f 77 25 29 0d 0b ae  0f 57 49 4e 24 3d 22 4d  |dow%)....WIN$="M|
00002630  41 49 4e 22 0d 0b b8 0b  f2 75 70 64 61 74 65 0d  |AIN".....update.|
00002640  0b c2 0e 20 20 20 20 20  20 20 20 20 cd 0d 0b cc  |...         ....|
00002650  58 20 20 20 20 20 20 20  20 20 e7 20 69 63 6f 6e  |X         . icon|
00002660  25 3d 30 20 84 20 69 63  6f 6e 25 3d 34 20 84 20  |%=0 . icon%=4 . |
00002670  69 63 6f 6e 25 3d 36 20  84 20 69 63 6f 6e 25 3d  |icon%=6 . icon%=|
00002680  31 30 20 84 20 69 63 6f  6e 25 3d 31 32 20 84 20  |10 . icon%=12 . |
00002690  69 63 6f 6e 25 3d 31 34  20 84 20 69 63 6f 6e 25  |icon%=14 . icon%|
000026a0  3d 31 36 20 8c 0d 0b d6  40 20 20 20 20 20 20 20  |=16 ....@       |
000026b0  20 20 e7 20 69 63 6f 6e  25 3d 30 20 80 20 73 73  |  . icon%=0 . ss|
000026c0  65 6c 25 3c 3e 30 20 8c  20 f2 75 6e 73 65 61 72  |el%<>0 . .unsear|
000026d0  63 68 3a 73 73 65 6c 25  3d 30 3a f2 73 65 6c 73  |ch:ssel%=0:.sels|
000026e0  65 61 72 63 68 0d 0b e0  40 20 20 20 20 20 20 20  |earch...@       |
000026f0  20 20 e7 20 69 63 6f 6e  25 3d 34 20 80 20 73 73  |  . icon%=4 . ss|
00002700  65 6c 25 3c 3e 31 20 8c  20 f2 75 6e 73 65 61 72  |el%<>1 . .unsear|
00002710  63 68 3a 73 73 65 6c 25  3d 31 3a f2 73 65 6c 73  |ch:ssel%=1:.sels|
00002720  65 61 72 63 68 0d 0b ea  40 20 20 20 20 20 20 20  |earch...@       |
00002730  20 20 e7 20 69 63 6f 6e  25 3d 36 20 80 20 73 73  |  . icon%=6 . ss|
00002740  65 6c 25 3c 3e 32 20 8c  20 f2 75 6e 73 65 61 72  |el%<>2 . .unsear|
00002750  63 68 3a 73 73 65 6c 25  3d 32 3a f2 73 65 6c 73  |ch:ssel%=2:.sels|
00002760  65 61 72 63 68 0d 0b f4  41 20 20 20 20 20 20 20  |earch...A       |
00002770  20 20 e7 20 69 63 6f 6e  25 3d 31 30 20 80 20 73  |  . icon%=10 . s|
00002780  73 65 6c 25 3c 3e 33 20  8c 20 f2 75 6e 73 65 61  |sel%<>3 . .unsea|
00002790  72 63 68 3a 73 73 65 6c  25 3d 33 3a f2 73 65 6c  |rch:ssel%=3:.sel|
000027a0  73 65 61 72 63 68 0d 0b  fe 41 20 20 20 20 20 20  |search...A      |
000027b0  20 20 20 e7 20 69 63 6f  6e 25 3d 31 32 20 80 20  |   . icon%=12 . |
000027c0  73 73 65 6c 25 3c 3e 34  20 8c 20 f2 75 6e 73 65  |ssel%<>4 . .unse|
000027d0  61 72 63 68 3a 73 73 65  6c 25 3d 34 3a f2 73 65  |arch:ssel%=4:.se|
000027e0  6c 73 65 61 72 63 68 0d  0c 08 41 20 20 20 20 20  |lsearch...A     |
000027f0  20 20 20 20 e7 20 69 63  6f 6e 25 3d 31 34 20 80  |    . icon%=14 .|
00002800  20 73 73 65 6c 25 3c 3e  35 20 8c 20 f2 75 6e 73  | ssel%<>5 . .uns|
00002810  65 61 72 63 68 3a 73 73  65 6c 25 3d 35 3a f2 73  |earch:ssel%=5:.s|
00002820  65 6c 73 65 61 72 63 68  0d 0c 12 41 20 20 20 20  |elsearch...A    |
00002830  20 20 20 20 20 e7 20 69  63 6f 6e 25 3d 31 36 20  |     . icon%=16 |
00002840  80 20 73 73 65 6c 25 3c  3e 36 20 8c 20 f2 75 6e  |. ssel%<>6 . .un|
00002850  73 65 61 72 63 68 3a 73  73 65 6c 25 3d 36 3a f2  |search:ssel%=6:.|
00002860  73 65 6c 73 65 61 72 63  68 0d 0c 1c 0e 20 20 20  |selsearch....   |
00002870  20 20 20 20 20 20 cd 0d  0c 26 0e 20 20 20 20 20  |      ...&.     |
00002880  20 20 20 20 e1 0d 0c 30  0e 20 20 20 20 20 20 20  |    ...0.       |
00002890  20 20 3a 0d 0c 3a 2e 20  20 20 20 20 20 20 20 20  |  :..:.         |
000028a0  dd 20 f2 55 73 65 72 5f  4d 6f 75 73 65 49 6e 66  |. .User_MouseInf|
000028b0  6f 28 20 62 75 74 74 6f  6e 25 2c 69 63 6f 6e 25  |o( button%,icon%|
000028c0  29 0d 0c 44 0e 20 20 20  20 20 20 20 20 20 e1 0d  |)..D.         ..|
000028d0  0c 4e 0e 20 20 20 20 20  20 20 20 20 3a 0d 0c 58  |.N.         :..X|
000028e0  2f 20 20 20 20 20 20 20  20 20 dd 20 f2 55 73 65  |/         . .Use|
000028f0  72 5f 4d 6f 75 73 65 54  69 74 6c 65 28 20 62 75  |r_MouseTitle( bu|
00002900  74 74 6f 6e 25 2c 69 63  6f 6e 25 29 0d 0c 62 18  |tton%,icon%)..b.|
00002910  20 20 20 20 20 20 20 20  20 e7 20 69 63 6f 6e 25  |         . icon%|
00002920  3d 36 20 8c 0d 0c 6c 24  f2 57 69 6d 70 5f 57 69  |=6 ...l$.Wimp_Wi|
00002930  6e 64 6f 77 43 6c 6f 73  65 28 54 69 74 6c 65 5f  |ndowClose(Title_|
00002940  57 69 6e 64 6f 77 25 29  0d 0c 76 0f 57 49 4e 24  |Window%)..v.WIN$|
00002950  3d 22 4e 4f 4e 45 22 0d  0c 80 05 cd 0d 0c 8a 18  |="NONE".........|
00002960  20 20 20 20 20 20 20 20  20 e7 20 69 63 6f 6e 25  |         . icon%|
00002970  3d 37 20 8c 0d 0c 94 24  f2 57 69 6d 70 5f 57 69  |=7 ....$.Wimp_Wi|
00002980  6e 64 6f 77 43 6c 6f 73  65 28 54 69 74 6c 65 5f  |ndowClose(Title_|
00002990  57 69 6e 64 6f 77 25 29  0d 0c 9e 28 f2 57 69 6d  |Window%)...(.Wim|
000029a0  70 5f 57 69 6e 64 6f 77  42 72 69 6e 67 54 6f 54  |p_WindowBringToT|
000029b0  6f 70 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 29  |op(Main_Window%)|
000029c0  0d 0c a8 0f 57 49 4e 24  3d 22 4d 41 49 4e 22 0d  |....WIN$="MAIN".|
000029d0  0c b2 0b f2 75 70 64 61  74 65 0d 0c bc 05 cd 0d  |....update......|
000029e0  0c c6 0e 20 20 20 20 20  20 20 20 20 e1 0d 0c d0  |...         ....|
000029f0  0e 20 20 20 20 20 20 20  20 20 3a 0d 0c da 2e 20  |.         :.... |
00002a00  20 20 20 20 20 20 20 20  dd 20 f2 55 73 65 72 5f  |        . .User_|
00002a10  4d 6f 75 73 65 4d 61 69  6e 28 20 62 75 74 74 6f  |MouseMain( butto|
00002a20  6e 25 2c 69 63 6f 6e 25  29 0d 0c e4 19 20 20 20  |n%,icon%)....   |
00002a30  20 20 20 20 20 20 e7 20  69 63 6f 6e 25 3d 33 33  |      . icon%=33|
00002a40  20 8c 0d 0c ee 17 20 20  20 20 20 20 20 20 20 e7  | .....         .|
00002a50  20 74 6f 74 25 3e 31 20  8c 0d 0c f8 12 20 20 20  | tot%>1 .....   |
00002a60  20 20 20 20 20 20 f2 72  65 61 64 0d 0d 02 12 20  |      .read.... |
00002a70  20 20 20 20 20 20 20 20  f2 73 6f 72 74 0d 0d 0c  |        .sort...|
00002a80  14 20 20 20 20 20 20 20  20 20 f2 75 70 64 61 74  |.         .updat|
00002a90  65 0d 0d 16 0e 20 20 20  20 20 20 20 20 20 cc 0d  |e....         ..|
00002aa0  0d 20 60 20 20 20 20 20  20 20 20 20 f2 57 69 6d  |. `         .Wim|
00002ab0  70 5f 57 69 6e 64 6f 77  41 6c 65 72 74 28 22 21  |p_WindowAlert("!|
00002ac0  41 44 52 42 6f 6f 6b 22  2c 22 54 68 65 72 65 20  |ADRBook","There |
00002ad0  69 73 20 6e 6f 20 70 6f  69 6e 74 20 69 6e 20 73  |is no point in s|
00002ae0  6f 72 74 69 6e 67 20 77  69 74 68 20 74 68 69 73  |orting with this|
00002af0  20 6d 61 6e 79 20 72 65  63 6f 72 64 73 22 29 0d  | many records").|
00002b00  0d 2a 0e 20 20 20 20 20  20 20 20 20 cd 0d 0d 34  |.*.         ...4|
00002b10  0d 55 50 44 41 54 45 25  3d b9 0d 0d 3e 0e 20 20  |.UPDATE%=...>.  |
00002b20  20 20 20 20 20 20 20 cd  0d 0d 48 19 20 20 20 20  |       ...H.    |
00002b30  20 20 20 20 20 e7 20 69  63 6f 6e 25 3d 32 35 20  |     . icon%=25 |
00002b40  8c 0d 0d 52 23 f2 57 69  6d 70 5f 57 69 6e 64 6f  |...R#.Wimp_Windo|
00002b50  77 43 6c 6f 73 65 28 4d  61 69 6e 5f 57 69 6e 64  |wClose(Main_Wind|
00002b60  6f 77 25 29 0d 0d 5c 27  f2 57 69 6d 70 5f 57 69  |ow%)..\'.Wimp_Wi|
00002b70  6e 64 6f 77 42 72 69 6e  67 54 6f 54 6f 70 28 53  |ndowBringToTop(S|
00002b80  65 74 5f 57 69 6e 64 6f  77 25 29 0d 0d 66 0e f2  |et_Window%)..f..|
00002b90  73 65 6c 73 65 61 72 63  68 0d 0d 70 11 57 49 4e  |selsearch..p.WIN|
00002ba0  24 3d 22 53 45 41 52 43  48 22 0d 0d 7a 0e 20 20  |$="SEARCH"..z.  |
00002bb0  20 20 20 20 20 20 20 cd  0d 0d 84 41 20 20 20 20  |       ....A    |
00002bc0  20 20 20 20 20 e7 20 69  63 6f 6e 25 3d 32 34 20  |     . icon%=24 |
00002bd0  8c 20 f2 72 65 61 64 3a  f2 74 6f 6e 65 64 69 61  |. .read:.tonedia|
00002be0  6c 28 41 52 45 41 24 28  63 75 72 25 29 2b 54 45  |l(AREA$(cur%)+TE|
00002bf0  4c 24 28 63 75 72 25 29  29 0d 0d 8e 25 20 20 20  |L$(cur%))...%   |
00002c00  20 20 20 20 20 20 e7 20  69 63 6f 6e 25 3d 32 36  |      . icon%=26|
00002c10  20 80 20 63 75 72 25 3c  74 6f 74 25 20 8c 0d 0d  | . cur%<tot% ...|
00002c20  98 0d 55 50 44 41 54 45  25 3d b9 0d 0d a2 57 41  |..UPDATE%=....WA|
00002c30  4e 53 25 3d a4 57 69 6d  70 5f 57 69 6e 64 6f 77  |NS%=.Wimp_Window|
00002c40  43 61 6e 63 65 6c 28 22  21 41 44 52 42 6f 6f 6b  |Cancel("!ADRBook|
00002c50  22 2c 22 41 72 65 20 79  6f 75 20 73 75 72 65 20  |","Are you sure |
00002c60  79 6f 75 20 77 61 6e 74  20 74 6f 20 64 65 6c 65  |you want to dele|
00002c70  74 65 20 74 68 69 73 20  72 65 63 6f 72 64 20 3f  |te this record ?|
00002c80  22 29 0d 0d ac 0e e7 20  41 4e 53 25 3d b9 20 8c  |")..... ANS%=. .|
00002c90  0d 0d b6 0d 55 50 44 41  54 45 25 3d b9 0d 0d c0  |....UPDATE%=....|
00002ca0  09 f2 72 65 61 64 0d 0d  ca 0b f2 64 65 6c 65 74  |..read.....delet|
00002cb0  65 0d 0d d4 0b f2 75 70  64 61 74 65 0d 0d de 05  |e.....update....|
00002cc0  cd 0d 0d e8 05 cd 0d 0d  f2 19 20 20 20 20 20 20  |..........      |
00002cd0  20 20 20 e7 20 69 63 6f  6e 25 3d 32 31 20 8c 0d  |   . icon%=21 ..|
00002ce0  0d fc 23 f2 57 69 6d 70  5f 57 69 6e 64 6f 77 43  |..#.Wimp_WindowC|
00002cf0  6c 6f 73 65 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |lose(Main_Window|
00002d00  25 29 0d 0e 06 29 f2 57  69 6d 70 5f 57 69 6e 64  |%)...).Wimp_Wind|
00002d10  6f 77 42 72 69 6e 67 54  6f 54 6f 70 28 54 69 74  |owBringToTop(Tit|
00002d20  6c 65 5f 57 69 6e 64 6f  77 25 29 0d 0e 10 10 57  |le_Window%)....W|
00002d30  49 4e 24 3d 22 54 49 54  4c 45 22 0d 0e 1a 05 cd  |IN$="TITLE".....|
00002d40  0d 0e 24 22 20 20 20 20  20 20 20 20 20 e7 20 69  |..$"         . i|
00002d50  63 6f 6e 25 3d 32 38 20  80 20 74 6f 74 25 3e 30  |con%=28 . tot%>0|
00002d60  20 8c 0d 0e 2e 0d 55 50  44 41 54 45 25 3d b9 0d  | .....UPDATE%=..|
00002d70  0e 38 23 f2 57 69 6d 70  5f 57 69 6e 64 6f 77 43  |.8#.Wimp_WindowC|
00002d80  6c 6f 73 65 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |lose(Main_Window|
00002d90  25 29 0d 0e 42 10 f2 6f  70 65 6e 70 72 69 6e 74  |%)..B..openprint|
00002da0  65 72 0d 0e 4c 29 f2 57  69 6d 70 5f 57 69 6e 64  |er..L).Wimp_Wind|
00002db0  6f 77 42 72 69 6e 67 54  6f 54 6f 70 28 50 72 69  |owBringToTop(Pri|
00002dc0  6e 74 5f 57 69 6e 64 6f  77 25 29 0d 0e 56 49 f2  |nt_Window%)..VI.|
00002dd0  57 69 6d 70 5f 49 63 6f  6e 43 61 72 65 74 28 50  |Wimp_IconCaret(P|
00002de0  72 69 6e 74 5f 57 69 6e  64 6f 77 25 2c 31 32 2c  |rint_Window%,12,|
00002df0  a9 28 a4 57 69 6d 70 5f  49 63 6f 6e 54 65 78 74  |.(.Wimp_IconText|
00002e00  28 50 72 69 6e 74 5f 57  69 6e 64 6f 77 25 2c 31  |(Print_Window%,1|
00002e10  32 29 29 29 0d 0e 60 0c  f2 75 70 64 61 74 65 70  |2)))..`..updatep|
00002e20  0d 0e 6a 10 57 49 4e 24  3d 22 50 52 49 4e 54 22  |..j.WIN$="PRINT"|
00002e30  0d 0e 74 05 cd 0d 0e 7e  19 20 20 20 20 20 20 20  |..t....~.       |
00002e40  20 20 e7 20 69 63 6f 6e  25 3d 32 37 20 8c 0d 0e  |  . icon%=27 ...|
00002e50  88 0d 55 50 44 41 54 45  25 3d b9 0d 0e 92 11 e7  |..UPDATE%=......|
00002e60  20 63 75 72 25 3d 74 6f  74 25 20 8c 0d 0e 9c 2a  | cur%=tot% ....*|
00002e70  e7 20 a4 57 69 6d 70 5f  49 63 6f 6e 54 65 78 74  |. .Wimp_IconText|
00002e80  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 34 29  |(Main_Window%,4)|
00002e90  3c 3e 22 22 20 8c 0d 0e  a6 0c 41 25 3d 69 63 6f  |<>"" .....A%=ico|
00002ea0  6e 25 0d 0e b0 09 f2 72  65 61 64 0d 0e ba 0b 74  |n%.....read....t|
00002eb0  6f 74 25 2b 3d 31 0d 0e  c4 0b 63 75 72 25 2b 3d  |ot%+=1....cur%+=|
00002ec0  31 0d 0e ce 0d 55 50 44  41 54 45 25 3d b9 0d 0e  |1....UPDATE%=...|
00002ed0  d8 0b f2 75 70 64 61 74  65 0d 0e e2 05 cc 0d 0e  |...update.......|
00002ee0  ec 4c f2 57 69 6d 70 5f  57 69 6e 64 6f 77 45 72  |.L.Wimp_WindowEr|
00002ef0  72 6f 72 42 6f 78 28 22  21 41 44 52 42 6f 6f 6b  |rorBox("!ADRBook|
00002f00  22 2c 22 50 6c 65 61 73  65 20 65 6e 74 65 72 20  |","Please enter |
00002f10  61 20 53 75 72 6e 61 6d  65 20 74 68 65 6e 20 70  |a Surname then p|
00002f20  72 65 73 73 20 41 44 44  22 29 0d 0e f6 05 cd 0d  |ress ADD")......|
00002f30  0f 00 05 cc 0d 0f 0a 5b  f2 57 69 6d 70 5f 57 69  |.......[.Wimp_Wi|
00002f40  6e 64 6f 77 45 72 72 6f  72 42 6f 78 28 22 21 41  |ndowErrorBox("!A|
00002f50  44 52 42 6f 6f 6b 22 2c  22 50 6c 65 61 73 65 20  |DRBook","Please |
00002f60  67 6f 20 74 6f 20 74 68  65 20 62 6c 61 6e 6b 20  |go to the blank |
00002f70  72 65 63 6f 72 64 20 61  74 20 74 68 65 20 65 6e  |record at the en|
00002f80  64 20 6f 66 20 74 68 65  20 66 69 6c 65 22 29 0d  |d of the file").|
00002f90  0f 14 05 cd 0d 0f 1e 05  cd 0d 0f 28 22 20 20 20  |...........("   |
00002fa0  20 20 20 20 20 20 e7 20  69 63 6f 6e 25 3d 32 33  |      . icon%=23|
00002fb0  20 80 20 63 75 72 25 3e  30 20 8c 0d 0f 32 0d 55  | . cur%>0 ...2.U|
00002fc0  50 44 41 54 45 25 3d b9  0d 0f 3c 09 f2 72 65 61  |PDATE%=...<..rea|
00002fd0  64 0d 0f 46 0b 63 75 72  25 2d 3d 31 0d 0f 50 0b  |d..F.cur%-=1..P.|
00002fe0  f2 75 70 64 61 74 65 0d  0f 5a 05 cd 0d 0f 64 25  |.update..Z....d%|
00002ff0  20 20 20 20 20 20 20 20  20 e7 20 69 63 6f 6e 25  |         . icon%|
00003000  3d 32 39 20 80 20 63 75  72 25 3c 74 6f 74 25 20  |=29 . cur%<tot% |
00003010  8c 0d 0f 6e 0d 55 50 44  41 54 45 25 3d b9 0d 0f  |...n.UPDATE%=...|
00003020  78 09 f2 72 65 61 64 0d  0f 82 0b 63 75 72 25 2b  |x..read....cur%+|
00003030  3d 31 0d 0f 8c 0b f2 75  70 64 61 74 65 0d 0f 96  |=1.....update...|
00003040  05 cd 0d 0f a0 22 20 20  20 20 20 20 20 20 20 e7  |....."         .|
00003050  20 69 63 6f 6e 25 3d 32  32 20 80 20 63 75 72 25  | icon%=22 . cur%|
00003060  3e 30 20 8c 0d 0f aa 0d  55 50 44 41 54 45 25 3d  |>0 .....UPDATE%=|
00003070  b9 0d 0f b4 09 f2 72 65  61 64 0d 0f be 0a 63 75  |......read....cu|
00003080  72 25 3d 30 0d 0f c8 0b  f2 75 70 64 61 74 65 0d  |r%=0.....update.|
00003090  0f d2 05 cd 0d 0f dc 25  20 20 20 20 20 20 20 20  |.......%        |
000030a0  20 e7 20 69 63 6f 6e 25  3d 33 30 20 80 20 63 75  | . icon%=30 . cu|
000030b0  72 25 3c 74 6f 74 25 20  8c 0d 0f e6 0d 55 50 44  |r%<tot% .....UPD|
000030c0  41 54 45 25 3d b9 0d 0f  f0 09 f2 72 65 61 64 0d  |ATE%=......read.|
000030d0  0f fa 0d 63 75 72 25 3d  74 6f 74 25 0d 10 04 0b  |...cur%=tot%....|
000030e0  f2 75 70 64 61 74 65 0d  10 0e 05 cd 0d 10 18 0e  |.update.........|
000030f0  20 20 20 20 20 20 20 20  20 e1 0d 10 22 0e 20 20  |         ...".  |
00003100  20 20 20 20 20 20 20 3a  0d 10 2c 2f 20 20 20 20  |       :..,/    |
00003110  20 20 20 20 20 dd 20 f2  55 73 65 72 5f 4d 6f 75  |     . .User_Mou|
00003120  73 65 50 72 69 6e 74 28  20 62 75 74 74 6f 6e 25  |sePrint( button%|
00003130  2c 69 63 6f 6e 25 29 0d  10 36 04 0d 10 40 19 20  |,icon%)..6...@. |
00003140  20 20 20 20 20 20 20 20  e7 20 69 63 6f 6e 25 3d  |        . icon%=|
00003150  32 31 20 8c 0d 10 4a 19  70 73 75 72 6e 61 6d 65  |21 ...J.psurname|
00003160  25 3d ac 20 70 73 75 72  6e 61 6d 65 25 0d 10 54  |%=. psurname%..T|
00003170  19 f2 73 65 6c 28 70 73  75 72 6e 61 6d 65 25 2c  |..sel(psurname%,|
00003180  69 63 6f 6e 25 29 0d 10  5e 05 cd 0d 10 68 19 20  |icon%)..^....h. |
00003190  20 20 20 20 20 20 20 20  e7 20 69 63 6f 6e 25 3d  |        . icon%=|
000031a0  32 32 20 8c 0d 10 72 17  70 6f 74 68 65 72 73 25  |22 ...r.pothers%|
000031b0  3d ac 20 70 6f 74 68 65  72 73 25 0d 10 7c 18 f2  |=. pothers%..|..|
000031c0  73 65 6c 28 70 6f 74 68  65 72 73 25 2c 69 63 6f  |sel(pothers%,ico|
000031d0  6e 25 29 0d 10 86 05 cd  0d 10 90 19 20 20 20 20  |n%).........    |
000031e0  20 20 20 20 20 e7 20 69  63 6f 6e 25 3d 32 33 20  |     . icon%=23 |
000031f0  8c 0d 10 9a 11 70 61 64  64 25 3d ac 20 70 61 64  |.....padd%=. pad|
00003200  64 25 0d 10 a4 15 f2 73  65 6c 28 70 61 64 64 25  |d%.....sel(padd%|
00003210  2c 69 63 6f 6e 25 29 0d  10 ae 05 cd 0d 10 b8 19  |,icon%).........|
00003220  20 20 20 20 20 20 20 20  20 e7 20 69 63 6f 6e 25  |         . icon%|
00003230  3d 32 34 20 8c 0d 10 c2  1b 70 70 6f 73 74 63 6f  |=24 .....ppostco|
00003240  64 65 25 3d ac 20 70 70  6f 73 74 63 6f 64 65 25  |de%=. ppostcode%|
00003250  0d 10 cc 1a f2 73 65 6c  28 70 70 6f 73 74 63 6f  |.....sel(ppostco|
00003260  64 65 25 2c 69 63 6f 6e  25 29 0d 10 d6 05 cd 0d  |de%,icon%)......|
00003270  10 e0 19 20 20 20 20 20  20 20 20 20 e7 20 69 63  |...         . ic|
00003280  6f 6e 25 3d 32 35 20 8c  0d 10 ea 13 70 61 72 65  |on%=25 .....pare|
00003290  61 25 3d ac 20 70 61 72  65 61 25 0d 10 f4 16 f2  |a%=. parea%.....|
000032a0  73 65 6c 28 70 61 72 65  61 25 2c 69 63 6f 6e 25  |sel(parea%,icon%|
000032b0  29 0d 10 fe 05 cd 0d 11  08 19 20 20 20 20 20 20  |).........      |
000032c0  20 20 20 e7 20 69 63 6f  6e 25 3d 32 36 20 8c 0d  |   . icon%=26 ..|
000032d0  11 12 11 70 74 65 6c 25  3d ac 20 70 74 65 6c 25  |...ptel%=. ptel%|
000032e0  0d 11 1c 15 f2 73 65 6c  28 70 74 65 6c 25 2c 69  |.....sel(ptel%,i|
000032f0  63 6f 6e 25 29 0d 11 26  05 cd 0d 11 30 19 20 20  |con%)..&....0.  |
00003300  20 20 20 20 20 20 20 e7  20 69 63 6f 6e 25 3d 32  |       . icon%=2|
00003310  37 20 8c 0d 11 3a 11 70  6e 74 73 25 3d ac 20 70  |7 ...:.pnts%=. p|
00003320  6e 74 73 25 0d 11 44 15  f2 73 65 6c 28 70 6e 74  |nts%..D..sel(pnt|
00003330  73 25 2c 69 63 6f 6e 25  29 0d 11 4e 05 cd 0d 11  |s%,icon%)..N....|
00003340  58 04 0d 11 62 04 0d 11  6c 25 20 20 20 20 20 20  |X...b...l%      |
00003350  20 20 20 e7 20 69 63 6f  6e 25 3d 31 37 20 80 20  |   . icon%=17 . |
00003360  44 52 49 56 45 52 25 3d  b9 20 8c 0d 11 76 58 e7  |DRIVER%=. ...vX.|
00003370  20 70 73 75 72 6e 61 6d  65 25 3d b9 20 84 20 70  | psurname%=. . p|
00003380  6f 74 68 65 72 73 25 3d  b9 20 84 20 70 61 64 64  |others%=. . padd|
00003390  25 3d b9 20 84 20 70 70  6f 73 74 63 6f 64 65 25  |%=. . ppostcode%|
000033a0  3d b9 20 84 20 70 61 72  65 61 25 3d b9 20 84 20  |=. . parea%=. . |
000033b0  70 74 65 6c 25 3d b9 20  84 20 70 6e 74 73 25 3d  |ptel%=. . pnts%=|
000033c0  b9 20 8c 0d 11 80 0a f2  70 72 69 6e 74 0d 11 8a  |. ......print...|
000033d0  05 cc 0d 11 94 54 f2 57  69 6d 70 5f 57 69 6e 64  |.....T.Wimp_Wind|
000033e0  6f 77 41 6c 65 72 74 28  22 45 72 72 6f 72 20 66  |owAlert("Error f|
000033f0  72 6f 6d 20 21 41 44 52  42 6f 6f 6b 22 2c 22 50  |rom !ADRBook","P|
00003400  6c 65 61 73 65 20 73 65  6c 65 63 74 20 61 74 20  |lease select at |
00003410  6c 65 61 73 74 20 6f 6e  65 20 70 72 69 6e 74 20  |least one print |
00003420  64 61 74 61 22 29 0d 11  9e 05 cd 0d 11 a8 05 cd  |data")..........|
00003430  0d 11 b2 ad 20 20 20 20  20 20 20 20 20 e7 20 69  |....         . i|
00003440  63 6f 6e 25 3d 31 30 20  8c 20 f2 57 69 6d 70 5f  |con%=10 . .Wimp_|
00003450  57 69 6e 64 6f 77 43 6c  6f 73 65 28 50 72 69 6e  |WindowClose(Prin|
00003460  74 5f 57 69 6e 64 6f 77  25 29 3a f2 57 69 6d 70  |t_Window%):.Wimp|
00003470  5f 57 69 6e 64 6f 77 42  72 69 6e 67 54 6f 54 6f  |_WindowBringToTo|
00003480  70 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 29 3a  |p(Main_Window%):|
00003490  57 49 4e 24 3d 22 4d 41  49 4e 22 3a f2 57 69 6d  |WIN$="MAIN":.Wim|
000034a0  70 5f 49 63 6f 6e 43 61  72 65 74 28 4d 61 69 6e  |p_IconCaret(Main|
000034b0  5f 57 69 6e 64 6f 77 25  2c 34 2c a9 28 a4 57 69  |_Window%,4,.(.Wi|
000034c0  6d 70 5f 49 63 6f 6e 54  65 78 74 28 4d 61 69 6e  |mp_IconText(Main|
000034d0  5f 57 69 6e 64 6f 77 25  2c 34 29 29 29 0d 11 bc  |_Window%,4)))...|
000034e0  35 20 20 20 20 20 20 20  20 20 e7 20 69 63 6f 6e  |5         . icon|
000034f0  25 3d 33 30 20 80 20 70  63 75 72 25 3e 30 20 8c  |%=30 . pcur%>0 .|
00003500  20 70 63 75 72 25 2d 3d  31 3a f2 75 70 64 61 74  | pcur%-=1:.updat|
00003510  65 70 0d 11 c6 3a 20 20  20 20 20 20 20 20 20 e7  |ep...:         .|
00003520  20 69 63 6f 6e 25 3d 33  31 20 80 20 70 63 75 72  | icon%=31 . pcur|
00003530  25 3c 74 6f 74 25 2d 31  20 8c 20 70 63 75 72 25  |%<tot%-1 . pcur%|
00003540  2b 3d 31 3a f2 75 70 64  61 74 65 70 0d 11 d0 5f  |+=1:.updatep..._|
00003550  20 20 20 20 20 20 20 20  20 e7 20 69 63 6f 6e 25  |         . icon%|
00003560  3d 37 20 84 20 69 63 6f  6e 25 3d 31 33 20 84 20  |=7 . icon%=13 . |
00003570  69 63 6f 6e 25 3d 31 36  20 84 20 69 63 6f 6e 25  |icon%=16 . icon%|
00003580  3d 33 33 20 8c 20 f2 57  69 6d 70 5f 53 65 6c 65  |=33 . .Wimp_Sele|
00003590  63 74 49 63 6f 6e 28 50  72 69 6e 74 5f 57 69 6e  |ctIcon(Print_Win|
000035a0  64 6f 77 25 2c 69 63 6f  6e 25 29 0d 11 da 23 20  |dow%,icon%)...# |
000035b0  20 20 20 20 20 20 20 20  e7 20 69 63 6f 6e 25 3d  |        . icon%=|
000035c0  37 20 80 20 70 73 65 6c  25 3c 3e 31 20 8c 0d 11  |7 . psel%<>1 ...|
000035d0  e4 49 f2 57 69 6d 70 5f  49 63 6f 6e 43 61 72 65  |.I.Wimp_IconCare|
000035e0  74 28 50 72 69 6e 74 5f  57 69 6e 64 6f 77 25 2c  |t(Print_Window%,|
000035f0  31 32 2c a9 28 a4 57 69  6d 70 5f 49 63 6f 6e 54  |12,.(.Wimp_IconT|
00003600  65 78 74 28 50 72 69 6e  74 5f 57 69 6e 64 6f 77  |ext(Print_Window|
00003610  25 2c 31 32 29 29 29 0d  11 ee 0a f2 64 61 6c 62  |%,12))).....dalb|
00003620  65 0d 11 f8 0b 70 73 65  6c 25 3d 31 0d 12 02 09  |e....psel%=1....|
00003630  f2 61 62 6c 65 0d 12 0c  05 cd 0d 12 16 24 20 20  |.able........$  |
00003640  20 20 20 20 20 20 20 e7  20 69 63 6f 6e 25 3d 31  |       . icon%=1|
00003650  33 20 80 20 70 73 65 6c  25 3c 3e 32 20 8c 0d 12  |3 . psel%<>2 ...|
00003660  20 49 f2 57 69 6d 70 5f  49 63 6f 6e 43 61 72 65  | I.Wimp_IconCare|
00003670  74 28 50 72 69 6e 74 5f  57 69 6e 64 6f 77 25 2c  |t(Print_Window%,|
00003680  31 34 2c a9 28 a4 57 69  6d 70 5f 49 63 6f 6e 54  |14,.(.Wimp_IconT|
00003690  65 78 74 28 50 72 69 6e  74 5f 57 69 6e 64 6f 77  |ext(Print_Window|
000036a0  25 2c 31 34 29 29 29 0d  12 2a 0a f2 64 61 6c 62  |%,14)))..*..dalb|
000036b0  65 0d 12 34 0b 70 73 65  6c 25 3d 32 0d 12 3e 09  |e..4.psel%=2..>.|
000036c0  f2 61 62 6c 65 0d 12 48  05 cd 0d 12 52 24 20 20  |.able..H....R$  |
000036d0  20 20 20 20 20 20 20 e7  20 69 63 6f 6e 25 3d 31  |       . icon%=1|
000036e0  36 20 80 20 70 73 65 6c  25 3c 3e 33 20 8c 0d 12  |6 . psel%<>3 ...|
000036f0  5c 21 c8 99 20 22 57 69  6d 70 5f 53 65 74 43 61  |\!.. "Wimp_SetCa|
00003700  72 65 74 50 6f 73 69 74  69 6f 6e 22 2c 2d 31 0d  |retPosition",-1.|
00003710  12 66 0a f2 64 61 6c 62  65 0d 12 70 0b 70 73 65  |.f..dalbe..p.pse|
00003720  6c 25 3d 33 0d 12 7a 09  f2 61 62 6c 65 0d 12 84  |l%=3..z..able...|
00003730  05 cd 0d 12 8e 24 20 20  20 20 20 20 20 20 20 e7  |.....$         .|
00003740  20 69 63 6f 6e 25 3d 33  33 20 80 20 70 73 65 6c  | icon%=33 . psel|
00003750  25 3c 3e 34 20 8c 0d 12  98 21 c8 99 20 22 57 69  |%<>4 ....!.. "Wi|
00003760  6d 70 5f 53 65 74 43 61  72 65 74 50 6f 73 69 74  |mp_SetCaretPosit|
00003770  69 6f 6e 22 2c 2d 31 0d  12 a2 0a f2 64 61 6c 62  |ion",-1.....dalb|
00003780  65 0d 12 ac 0b 70 73 65  6c 25 3d 34 0d 12 b6 09  |e....psel%=4....|
00003790  f2 61 62 6c 65 0d 12 c0  05 cd 0d 12 ca 04 0d 12  |.able...........|
000037a0  d4 0e 20 20 20 20 20 20  20 20 20 e1 0d 12 de 0c  |..         .....|
000037b0  20 20 20 20 20 20 20 3a  0d 12 e8 30 20 20 20 20  |       :...0    |
000037c0  20 20 20 dd 20 f2 45 76  65 6e 74 5f 4b 65 79 50  |   . .Event_KeyP|
000037d0  72 65 73 73 28 77 69 6e  64 6f 77 25 2c 69 63 6f  |ress(window%,ico|
000037e0  6e 25 2c 6b 65 79 25 29  0d 12 f2 1a 20 20 20 20  |n%,key%)....    |
000037f0  20 20 20 20 20 20 c8 8e  20 77 69 6e 64 6f 77 25  |      .. window%|
00003800  20 ca 0d 12 fc 45 20 20  20 20 20 20 20 20 20 20  | ....E          |
00003810  20 c9 20 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 20  | . Main_Window% |
00003820  20 20 20 20 20 20 3a 20  f2 55 73 65 72 5f 4b 65  |      : .User_Ke|
00003830  79 50 72 65 73 73 4d 61  69 6e 28 20 69 63 6f 6e  |yPressMain( icon|
00003840  25 2c 6b 65 79 25 29 0d  13 06 46 20 20 20 20 20  |%,key%)...F     |
00003850  20 20 20 20 20 20 c9 20  50 72 69 6e 74 5f 57 69  |      . Print_Wi|
00003860  6e 64 6f 77 25 20 20 20  20 20 20 3a 20 f2 55 73  |ndow%      : .Us|
00003870  65 72 5f 4b 65 79 50 72  65 73 73 50 72 69 6e 74  |er_KeyPressPrint|
00003880  28 20 69 63 6f 6e 25 2c  6b 65 79 25 29 0d 13 10  |( icon%,key%)...|
00003890  0f 20 20 20 20 20 20 20  20 20 20 cb 0d 13 1a 0c  |.          .....|
000038a0  20 20 20 20 20 20 20 e1  0d 13 24 0e 20 20 20 20  |       ...$.    |
000038b0  20 20 20 20 20 3a 0d 13  2e 2e 20 20 20 20 20 20  |     :....      |
000038c0  20 20 20 dd 20 f2 55 73  65 72 5f 4b 65 79 50 72  |   . .User_KeyPr|
000038d0  65 73 73 4d 61 69 6e 28  20 69 63 6f 6e 25 2c 6b  |essMain( icon%,k|
000038e0  65 79 25 29 0d 13 38 30  e7 20 6b 65 79 25 3d 31  |ey%)..80. key%=1|
000038f0  33 20 80 20 69 63 6f 6e  25 3c 31 32 20 84 20 6b  |3 . icon%<12 . k|
00003900  65 79 25 3d 33 39 38 20  80 20 69 63 6f 6e 25 3c  |ey%=398 . icon%<|
00003910  31 32 20 8c 0d 13 42 2e  61 25 3d a9 28 a4 57 69  |12 ...B.a%=.(.Wi|
00003920  6d 70 5f 49 63 6f 6e 54  65 78 74 28 4d 61 69 6e  |mp_IconText(Main|
00003930  5f 57 69 6e 64 6f 77 25  2c 69 63 6f 6e 25 2b 31  |_Window%,icon%+1|
00003940  29 29 0d 13 4c 2c f2 57  69 6d 70 5f 49 63 6f 6e  |))..L,.Wimp_Icon|
00003950  43 61 72 65 74 28 4d 61  69 6e 5f 57 69 6e 64 6f  |Caret(Main_Windo|
00003960  77 25 2c 69 63 6f 6e 25  2b 31 2c 61 25 29 0d 13  |w%,icon%+1,a%)..|
00003970  56 05 cd 0d 13 60 30 e7  20 6b 65 79 25 3d 31 33  |V....`0. key%=13|
00003980  20 80 20 69 63 6f 6e 25  3d 31 32 20 84 20 6b 65  | . icon%=12 . ke|
00003990  79 25 3d 33 39 38 20 80  20 69 63 6f 6e 25 3d 31  |y%=398 . icon%=1|
000039a0  32 20 8c 0d 13 6a 11 e7  20 63 75 72 25 3d 74 6f  |2 ...j.. cur%=to|
000039b0  74 25 20 8c 0d 13 74 1a  f2 55 73 65 72 5f 4d 6f  |t% ...t..User_Mo|
000039c0  75 73 65 4d 61 69 6e 28  20 34 2c 32 37 29 0d 13  |useMain( 4,27)..|
000039d0  7e 05 cc 0d 13 88 1a f2  55 73 65 72 5f 4d 6f 75  |~.......User_Mou|
000039e0  73 65 4d 61 69 6e 28 20  34 2c 32 39 29 0d 13 92  |seMain( 4,29)...|
000039f0  05 cd 0d 13 9c 05 cd 0d  13 a6 1a e7 20 6b 65 79  |............ key|
00003a00  25 3d 33 39 39 20 80 20  69 63 6f 6e 25 3e 34 20  |%=399 . icon%>4 |
00003a10  8c 0d 13 b0 2e 61 25 3d  a9 28 a4 57 69 6d 70 5f  |.....a%=.(.Wimp_|
00003a20  49 63 6f 6e 54 65 78 74  28 4d 61 69 6e 5f 57 69  |IconText(Main_Wi|
00003a30  6e 64 6f 77 25 2c 69 63  6f 6e 25 2d 31 29 29 0d  |ndow%,icon%-1)).|
00003a40  13 ba 2c f2 57 69 6d 70  5f 49 63 6f 6e 43 61 72  |..,.Wimp_IconCar|
00003a50  65 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |et(Main_Window%,|
00003a60  69 63 6f 6e 25 2d 31 2c  61 25 29 0d 13 c4 05 cd  |icon%-1,a%).....|
00003a70  0d 13 ce 1a e7 20 6b 65  79 25 3d 33 39 39 20 80  |..... key%=399 .|
00003a80  20 69 63 6f 6e 25 3d 34  20 8c 0d 13 d8 29 61 25  | icon%=4 ....)a%|
00003a90  3d a9 28 a4 57 69 6d 70  5f 49 63 6f 6e 54 65 78  |=.(.Wimp_IconTex|
00003aa0  74 28 4d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 31  |t(Main_Window%,1|
00003ab0  32 29 29 0d 13 e2 27 f2  57 69 6d 70 5f 49 63 6f  |2))...'.Wimp_Ico|
00003ac0  6e 43 61 72 65 74 28 4d  61 69 6e 5f 57 69 6e 64  |nCaret(Main_Wind|
00003ad0  6f 77 25 2c 31 32 2c 61  25 29 0d 13 ec 05 cd 0d  |ow%,12,a%)......|
00003ae0  13 f6 0e 20 20 20 20 20  20 20 20 20 e1 0d 14 00  |...         ....|
00003af0  0e 20 20 20 20 20 20 20  20 20 3a 0d 14 0a 2f 20  |.         :.../ |
00003b00  20 20 20 20 20 20 20 20  dd 20 f2 55 73 65 72 5f  |        . .User_|
00003b10  4b 65 79 50 72 65 73 73  50 72 69 6e 74 28 20 69  |KeyPressPrint( i|
00003b20  63 6f 6e 25 2c 6b 65 79  25 29 0d 14 14 0e 20 20  |con%,key%)....  |
00003b30  20 20 20 20 20 20 20 e1  0d 14 1e 0c 20 20 20 20  |       .....    |
00003b40  20 20 20 3a 0d 14 28 25  20 20 20 20 20 20 20 dd  |   :..(%       .|
00003b50  20 f2 45 76 65 6e 74 5f  4d 65 6e 75 43 68 6f 69  | .Event_MenuChoi|
00003b60  63 65 28 6d 65 6e 75 25  29 0d 14 32 16 20 20 20  |ce(menu%)..2.   |
00003b70  20 20 20 20 20 c8 8e 20  6d 65 6e 75 25 20 ca 0d  |     .. menu% ..|
00003b80  14 3c 3c 20 20 20 20 20  20 20 20 20 20 20 20 20  |.<<             |
00003b90  20 c9 20 42 61 72 5f 4d  65 6e 75 25 20 20 20 20  | . Bar_Menu%    |
00003ba0  20 20 20 20 20 20 3a 20  f2 55 73 65 72 5f 4d 65  |      : .User_Me|
00003bb0  6e 75 43 68 6f 69 63 65  42 61 72 0d 14 46 3d 20  |nuChoiceBar..F= |
00003bc0  20 20 20 20 20 20 20 20  20 20 20 20 20 c9 20 4d  |             . M|
00003bd0  61 69 6e 5f 4d 65 6e 75  25 20 20 20 20 20 20 20  |ain_Menu%       |
00003be0  20 20 3a 20 f2 55 73 65  72 5f 4d 65 6e 75 43 68  |  : .User_MenuCh|
00003bf0  6f 69 63 65 4d 61 69 6e  0d 14 50 3e 20 20 20 20  |oiceMain..P>    |
00003c00  20 20 20 20 20 20 20 20  20 20 c9 20 54 69 74 6c  |          . Titl|
00003c10  65 5f 4d 65 6e 75 25 20  20 20 20 20 20 20 20 3a  |e_Menu%        :|
00003c20  20 f2 55 73 65 72 5f 4d  65 6e 75 43 68 6f 69 63  | .User_MenuChoic|
00003c30  65 54 69 74 6c 65 0d 14  5a 3e 20 20 20 20 20 20  |eTitle..Z>      |
00003c40  20 20 20 20 20 20 20 20  c9 20 50 72 69 6e 74 5f  |        . Print_|
00003c50  4d 65 6e 75 25 20 20 20  20 20 20 20 20 3a 20 f2  |Menu%        : .|
00003c60  55 73 65 72 5f 4d 65 6e  75 43 68 6f 69 63 65 50  |User_MenuChoiceP|
00003c70  72 69 6e 74 0d 14 64 3c  20 20 20 20 20 20 20 20  |rint..d<        |
00003c80  20 20 20 20 20 20 c9 20  53 65 74 5f 4d 65 6e 75  |      . Set_Menu|
00003c90  25 20 20 20 20 20 20 20  20 20 20 3a 20 f2 55 73  |%          : .Us|
00003ca0  65 72 5f 4d 65 6e 75 43  68 6f 69 63 65 53 65 74  |er_MenuChoiceSet|
00003cb0  0d 14 6e 40 20 20 20 20  20 20 20 20 20 20 20 20  |..n@            |
00003cc0  20 20 c9 20 53 65 61 72  63 68 32 5f 4d 65 6e 75  |  . Search2_Menu|
00003cd0  25 20 20 20 20 20 20 3a  20 f2 55 73 65 72 5f 4d  |%      : .User_M|
00003ce0  65 6e 75 43 68 6f 69 63  65 53 65 61 72 63 68 32  |enuChoiceSearch2|
00003cf0  0d 14 78 0d 20 20 20 20  20 20 20 20 cb 0d 14 82  |..x.        ....|
00003d00  0c 20 20 20 20 20 20 20  e1 0d 14 8c 0c 20 20 20  |.       .....   |
00003d10  20 20 20 20 3a 0d 14 96  20 20 20 20 20 20 20 20  |    :...        |
00003d20  dd 20 f2 55 73 65 72 5f  4d 65 6e 75 43 68 6f 69  |. .User_MenuChoi|
00003d30  63 65 42 61 72 0d 14 a0  24 20 20 20 20 20 20 20  |ceBar...$       |
00003d40  20 c8 8e 20 a4 57 69 6d  70 5f 4d 65 6e 75 43 68  | .. .Wimp_MenuCh|
00003d50  6f 69 63 65 28 30 29 20  ca 0d 14 aa 12 20 20 20  |oice(0) .....   |
00003d60  20 20 20 20 20 20 c9 20  31 20 3a 0d 14 b4 1f 20  |      . 1 :.... |
00003d70  20 20 20 20 20 20 20 20  c9 20 33 20 3a e7 20 55  |        . 3 :. U|
00003d80  50 44 41 54 45 25 3d b9  20 8c 0d 14 be 44 f2 57  |PDATE%=. ....D.W|
00003d90  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
00003da0  43 6c 6f 73 65 5f 57 69  6e 64 6f 77 25 2c 30 2c  |Close_Window%,0,|
00003db0  22 54 68 69 73 20 66 69  6c 65 20 68 61 73 20 62  |"This file has b|
00003dc0  65 65 6e 20 6d 6f 64 69  66 69 65 64 22 29 0d 14  |een modified")..|
00003dd0  c8 29 f2 57 69 6d 70 5f  57 69 6e 64 6f 77 42 72  |.).Wimp_WindowBr|
00003de0  69 6e 67 54 6f 54 6f 70  28 43 6c 6f 73 65 5f 57  |ingToTop(Close_W|
00003df0  69 6e 64 6f 77 25 29 0d  14 d2 1c f2 6d 6f 75 73  |indow%).....mous|
00003e00  65 62 6f 78 28 43 6c 6f  73 65 5f 57 69 6e 64 6f  |ebox(Close_Windo|
00003e10  77 25 29 0d 14 dc 05 cd  0d 14 e6 1d e7 20 55 50  |w%).......... UP|
00003e20  44 41 54 45 25 3d a3 20  8c 20 66 69 6e 69 73 68  |DATE%=. . finish|
00003e30  65 64 25 3d b9 0d 14 f0  0d 20 20 20 20 20 20 20  |ed%=.....       |
00003e40  20 cb 0d 14 fa 0c 20 20  20 20 20 20 20 e1 0d 15  | .....       ...|
00003e50  04 0c 20 20 20 20 20 20  20 3a 0d 15 0e 22 20 20  |..       :..."  |
00003e60  20 20 20 20 20 dd 20 f2  55 73 65 72 5f 4d 65 6e  |     . .User_Men|
00003e70  75 43 68 6f 69 63 65 54  69 74 6c 65 0d 15 18 24  |uChoiceTitle...$|
00003e80  20 20 20 20 20 20 20 20  c8 8e 20 a4 57 69 6d 70  |        .. .Wimp|
00003e90  5f 4d 65 6e 75 43 68 6f  69 63 65 28 30 29 20 ca  |_MenuChoice(0) .|
00003ea0  0d 15 22 3b 20 20 20 20  20 20 20 20 20 c9 20 31  |..";         . 1|
00003eb0  20 3a 20 f2 45 76 65 6e  74 5f 4d 6f 75 73 65 43  | : .Event_MouseC|
00003ec0  6c 69 63 6b 28 54 69 74  6c 65 5f 57 69 6e 64 6f  |lick(Title_Windo|
00003ed0  77 25 2c 36 2c 34 2c 30  2c 30 29 0d 15 2c 3b 20  |w%,6,4,0,0)..,; |
00003ee0  20 20 20 20 20 20 20 20  c9 20 32 20 3a 20 f2 45  |        . 2 : .E|
00003ef0  76 65 6e 74 5f 4d 6f 75  73 65 43 6c 69 63 6b 28  |vent_MouseClick(|
00003f00  54 69 74 6c 65 5f 57 69  6e 64 6f 77 25 2c 37 2c  |Title_Window%,7,|
00003f10  34 2c 30 2c 30 29 0d 15  36 0d 20 20 20 20 20 20  |4,0,0)..6.      |
00003f20  20 20 cb 0d 15 40 0c 20  20 20 20 20 20 20 e1 0d  |  ...@.       ..|
00003f30  15 4a 0c 20 20 20 20 20  20 20 3a 0d 15 54 24 20  |.J.       :..T$ |
00003f40  20 20 20 20 20 20 dd 20  f2 55 73 65 72 5f 4d 65  |      . .User_Me|
00003f50  6e 75 43 68 6f 69 63 65  53 65 61 72 63 68 32 0d  |nuChoiceSearch2.|
00003f60  15 5e 24 20 20 20 20 20  20 20 20 c8 8e 20 a4 57  |.^$        .. .W|
00003f70  69 6d 70 5f 4d 65 6e 75  43 68 6f 69 63 65 28 30  |imp_MenuChoice(0|
00003f80  29 20 ca 0d 15 68 3d 20  20 20 20 20 20 20 20 20  |) ...h=         |
00003f90  c9 20 31 20 3a 20 f2 45  76 65 6e 74 5f 4d 6f 75  |. 1 : .Event_Mou|
00003fa0  73 65 43 6c 69 63 6b 28  53 65 61 72 63 68 32 5f  |seClick(Search2_|
00003fb0  57 69 6e 64 6f 77 25 2c  32 2c 34 2c 30 2c 30 29  |Window%,2,4,0,0)|
00003fc0  0d 15 72 3d 20 20 20 20  20 20 20 20 20 c9 20 32  |..r=         . 2|
00003fd0  20 3a 20 f2 45 76 65 6e  74 5f 4d 6f 75 73 65 43  | : .Event_MouseC|
00003fe0  6c 69 63 6b 28 53 65 61  72 63 68 32 5f 57 69 6e  |lick(Search2_Win|
00003ff0  64 6f 77 25 2c 33 2c 34  2c 30 2c 30 29 0d 15 7c  |dow%,3,4,0,0)..||
00004000  0d 20 20 20 20 20 20 20  20 cb 0d 15 86 0c 20 20  |.        .....  |
00004010  20 20 20 20 20 e1 0d 15  90 0c 20 20 20 20 20 20  |     .....      |
00004020  20 3a 0d 15 9a 22 20 20  20 20 20 20 20 dd 20 f2  | :..."       . .|
00004030  55 73 65 72 5f 4d 65 6e  75 43 68 6f 69 63 65 50  |User_MenuChoiceP|
00004040  72 69 6e 74 0d 15 a4 24  20 20 20 20 20 20 20 20  |rint...$        |
00004050  c8 8e 20 a4 57 69 6d 70  5f 4d 65 6e 75 43 68 6f  |.. .Wimp_MenuCho|
00004060  69 63 65 28 30 29 20 ca  0d 15 ae 3c 20 20 20 20  |ice(0) ....<    |
00004070  20 20 20 20 20 c9 20 31  20 3a 20 f2 45 76 65 6e  |     . 1 : .Even|
00004080  74 5f 4d 6f 75 73 65 43  6c 69 63 6b 28 50 72 69  |t_MouseClick(Pri|
00004090  6e 74 5f 57 69 6e 64 6f  77 25 2c 31 30 2c 34 2c  |nt_Window%,10,4,|
000040a0  30 2c 30 29 0d 15 b8 3c  20 20 20 20 20 20 20 20  |0,0)...<        |
000040b0  20 c9 20 32 20 3a 20 f2  45 76 65 6e 74 5f 4d 6f  | . 2 : .Event_Mo|
000040c0  75 73 65 43 6c 69 63 6b  28 50 72 69 6e 74 5f 57  |useClick(Print_W|
000040d0  69 6e 64 6f 77 25 2c 31  37 2c 34 2c 30 2c 30 29  |indow%,17,4,0,0)|
000040e0  0d 15 c2 0d 20 20 20 20  20 20 20 20 cb 0d 15 cc  |....        ....|
000040f0  14 20 20 20 20 20 20 20  e1 20 20 20 20 20 20 20  |.       .       |
00004100  3a 0d 15 d6 20 20 20 20  20 20 20 20 dd 20 f2 55  |:...        . .U|
00004110  73 65 72 5f 4d 65 6e 75  43 68 6f 69 63 65 53 65  |ser_MenuChoiceSe|
00004120  74 0d 15 e0 24 20 20 20  20 20 20 20 20 c8 8e 20  |t...$        .. |
00004130  a4 57 69 6d 70 5f 4d 65  6e 75 43 68 6f 69 63 65  |.Wimp_MenuChoice|
00004140  28 30 29 20 ca 0d 15 ea  39 20 20 20 20 20 20 20  |(0) ....9       |
00004150  20 20 c9 20 31 20 3a 20  f2 45 76 65 6e 74 5f 4d  |  . 1 : .Event_M|
00004160  6f 75 73 65 43 6c 69 63  6b 28 53 65 74 5f 57 69  |ouseClick(Set_Wi|
00004170  6e 64 6f 77 25 2c 32 2c  34 2c 30 2c 30 29 0d 15  |ndow%,2,4,0,0)..|
00004180  f4 39 20 20 20 20 20 20  20 20 20 c9 20 32 20 3a  |.9         . 2 :|
00004190  20 f2 45 76 65 6e 74 5f  4d 6f 75 73 65 43 6c 69  | .Event_MouseCli|
000041a0  63 6b 28 53 65 74 5f 57  69 6e 64 6f 77 25 2c 33  |ck(Set_Window%,3|
000041b0  2c 34 2c 30 2c 30 29 0d  15 fe 0d 20 20 20 20 20  |,4,0,0)....     |
000041c0  20 20 20 cb 0d 16 08 0c  20 20 20 20 20 20 20 e1  |   .....       .|
000041d0  0d 16 12 0c 20 20 20 20  20 20 20 3a 0d 16 1c 21  |....       :...!|
000041e0  20 20 20 20 20 20 20 dd  20 f2 55 73 65 72 5f 4d  |       . .User_M|
000041f0  65 6e 75 43 68 6f 69 63  65 4d 61 69 6e 0d 16 26  |enuChoiceMain..&|
00004200  24 20 20 20 20 20 20 20  20 c8 8e 20 a4 57 69 6d  |$        .. .Wim|
00004210  70 5f 4d 65 6e 75 43 68  6f 69 63 65 28 30 29 20  |p_MenuChoice(0) |
00004220  ca 0d 16 30 3b 20 20 20  20 20 20 20 20 20 c9 20  |...0;         . |
00004230  31 20 3a 20 f2 45 76 65  6e 74 5f 4d 6f 75 73 65  |1 : .Event_Mouse|
00004240  43 6c 69 63 6b 28 4d 61  69 6e 5f 57 69 6e 64 6f  |Click(Main_Windo|
00004250  77 25 2c 32 31 2c 34 2c  30 2c 30 29 0d 16 3a 5a  |w%,21,4,0,0)..:Z|
00004260  20 20 20 20 20 20 20 20  20 c9 20 32 20 3a 20 f2  |         . 2 : .|
00004270  45 76 65 6e 74 5f 4d 6f  75 73 65 43 6c 69 63 6b  |Event_MouseClick|
00004280  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 32 32  |(Main_Window%,22|
00004290  2c 34 2c 30 2c 30 29 3a  f2 57 69 6d 70 5f 4d 65  |,4,0,0):.Wimp_Me|
000042a0  6e 75 41 64 6a 75 73 74  4f 6e 28 4d 61 69 6e 5f  |nuAdjustOn(Main_|
000042b0  4d 65 6e 75 25 29 0d 16  44 5a 20 20 20 20 20 20  |Menu%)..DZ      |
000042c0  20 20 20 c9 20 33 20 3a  20 f2 45 76 65 6e 74 5f  |   . 3 : .Event_|
000042d0  4d 6f 75 73 65 43 6c 69  63 6b 28 4d 61 69 6e 5f  |MouseClick(Main_|
000042e0  57 69 6e 64 6f 77 25 2c  32 33 2c 34 2c 30 2c 30  |Window%,23,4,0,0|
000042f0  29 3a f2 57 69 6d 70 5f  4d 65 6e 75 41 64 6a 75  |):.Wimp_MenuAdju|
00004300  73 74 4f 6e 28 4d 61 69  6e 5f 4d 65 6e 75 25 29  |stOn(Main_Menu%)|
00004310  0d 16 4e 5a 20 20 20 20  20 20 20 20 20 c9 20 34  |..NZ         . 4|
00004320  20 3a 20 f2 45 76 65 6e  74 5f 4d 6f 75 73 65 43  | : .Event_MouseC|
00004330  6c 69 63 6b 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |lick(Main_Window|
00004340  25 2c 32 34 2c 34 2c 30  2c 30 29 3a f2 57 69 6d  |%,24,4,0,0):.Wim|
00004350  70 5f 4d 65 6e 75 41 64  6a 75 73 74 4f 6e 28 4d  |p_MenuAdjustOn(M|
00004360  61 69 6e 5f 4d 65 6e 75  25 29 0d 16 58 5a 20 20  |ain_Menu%)..XZ  |
00004370  20 20 20 20 20 20 20 c9  20 35 20 3a 20 f2 45 76  |       . 5 : .Ev|
00004380  65 6e 74 5f 4d 6f 75 73  65 43 6c 69 63 6b 28 4d  |ent_MouseClick(M|
00004390  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 33 33 2c 34  |ain_Window%,33,4|
000043a0  2c 30 2c 30 29 3a f2 57  69 6d 70 5f 4d 65 6e 75  |,0,0):.Wimp_Menu|
000043b0  41 64 6a 75 73 74 4f 6e  28 4d 61 69 6e 5f 4d 65  |AdjustOn(Main_Me|
000043c0  6e 75 25 29 0d 16 62 3b  20 20 20 20 20 20 20 20  |nu%)..b;        |
000043d0  20 c9 20 36 20 3a 20 f2  45 76 65 6e 74 5f 4d 6f  | . 6 : .Event_Mo|
000043e0  75 73 65 43 6c 69 63 6b  28 4d 61 69 6e 5f 57 69  |useClick(Main_Wi|
000043f0  6e 64 6f 77 25 2c 32 35  2c 34 2c 30 2c 30 29 0d  |ndow%,25,4,0,0).|
00004400  16 6c 5a 20 20 20 20 20  20 20 20 20 c9 20 37 20  |.lZ         . 7 |
00004410  3a 20 f2 45 76 65 6e 74  5f 4d 6f 75 73 65 43 6c  |: .Event_MouseCl|
00004420  69 63 6b 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ick(Main_Window%|
00004430  2c 32 36 2c 34 2c 30 2c  30 29 3a f2 57 69 6d 70  |,26,4,0,0):.Wimp|
00004440  5f 4d 65 6e 75 41 64 6a  75 73 74 4f 6e 28 4d 61  |_MenuAdjustOn(Ma|
00004450  69 6e 5f 4d 65 6e 75 25  29 0d 16 76 5a 20 20 20  |in_Menu%)..vZ   |
00004460  20 20 20 20 20 20 c9 20  38 20 3a 20 f2 45 76 65  |      . 8 : .Eve|
00004470  6e 74 5f 4d 6f 75 73 65  43 6c 69 63 6b 28 4d 61  |nt_MouseClick(Ma|
00004480  69 6e 5f 57 69 6e 64 6f  77 25 2c 32 37 2c 34 2c  |in_Window%,27,4,|
00004490  30 2c 30 29 3a f2 57 69  6d 70 5f 4d 65 6e 75 41  |0,0):.Wimp_MenuA|
000044a0  64 6a 75 73 74 4f 6e 28  4d 61 69 6e 5f 4d 65 6e  |djustOn(Main_Men|
000044b0  75 25 29 0d 16 80 3b 20  20 20 20 20 20 20 20 20  |u%)...;         |
000044c0  c9 20 39 20 3a 20 f2 45  76 65 6e 74 5f 4d 6f 75  |. 9 : .Event_Mou|
000044d0  73 65 43 6c 69 63 6b 28  4d 61 69 6e 5f 57 69 6e  |seClick(Main_Win|
000044e0  64 6f 77 25 2c 32 38 2c  34 2c 30 2c 30 29 0d 16  |dow%,28,4,0,0)..|
000044f0  8a 5b 20 20 20 20 20 20  20 20 20 c9 20 31 30 20  |.[         . 10 |
00004500  3a 20 f2 45 76 65 6e 74  5f 4d 6f 75 73 65 43 6c  |: .Event_MouseCl|
00004510  69 63 6b 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ick(Main_Window%|
00004520  2c 32 39 2c 34 2c 30 2c  30 29 3a f2 57 69 6d 70  |,29,4,0,0):.Wimp|
00004530  5f 4d 65 6e 75 41 64 6a  75 73 74 4f 6e 28 4d 61  |_MenuAdjustOn(Ma|
00004540  69 6e 5f 4d 65 6e 75 25  29 0d 16 94 5b 20 20 20  |in_Menu%)...[   |
00004550  20 20 20 20 20 20 c9 20  31 31 20 3a 20 f2 45 76  |      . 11 : .Ev|
00004560  65 6e 74 5f 4d 6f 75 73  65 43 6c 69 63 6b 28 4d  |ent_MouseClick(M|
00004570  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 33 30 2c 34  |ain_Window%,30,4|
00004580  2c 30 2c 30 29 3a f2 57  69 6d 70 5f 4d 65 6e 75  |,0,0):.Wimp_Menu|
00004590  41 64 6a 75 73 74 4f 6e  28 4d 61 69 6e 5f 4d 65  |AdjustOn(Main_Me|
000045a0  6e 75 25 29 0d 16 9e 0d  20 20 20 20 20 20 20 20  |nu%)....        |
000045b0  cb 0d 16 a8 0c 20 20 20  20 20 20 20 e1 0d 16 b2  |.....       ....|
000045c0  0c 20 20 20 20 20 20 20  3a 0d 16 bc 29 20 20 20  |.       :...)   |
000045d0  20 20 20 20 dd 20 f2 45  76 65 6e 74 5f 4c 6f 61  |    . .Event_Loa|
000045e0  64 46 69 6c 65 28 66 69  6c 65 24 2c 74 79 70 65  |dFile(file$,type|
000045f0  24 29 0d 16 c6 1a 20 20  20 20 20 20 20 e7 20 74  |$)....       . t|
00004600  79 70 65 24 3d 22 46 42  46 22 20 8c 0d 16 d0 0d  |ype$="FBF" .....|
00004610  55 50 44 41 54 45 25 3d  a3 0d 16 da 2b f2 57 69  |UPDATE%=....+.Wi|
00004620  6d 70 5f 49 63 6f 6e 50  75 74 54 65 78 74 28 53  |mp_IconPutText(S|
00004630  61 76 65 5f 57 69 6e 64  6f 77 25 2c 31 2c 66 69  |ave_Window%,1,fi|
00004640  6c 65 24 29 0d 16 e4 0a  63 75 72 25 3d 30 0d 16  |le$)....cur%=0..|
00004650  ee 0f 58 25 3d 8e 28 66  69 6c 65 24 29 0d 16 f8  |..X%=.(file$)...|
00004660  0e e8 20 23 58 25 2c 74  6f 74 25 0d 17 02 10 e3  |.. #X%,tot%.....|
00004670  20 41 3d 30 20 b8 20 74  6f 74 25 0d 17 0c 15 e8  | A=0 . tot%.....|
00004680  20 23 58 25 2c 53 55 52  4e 41 4d 45 24 28 41 29  | #X%,SURNAME$(A)|
00004690  0d 17 16 14 e8 20 23 58  25 2c 4f 54 48 45 52 53  |..... #X%,OTHERS|
000046a0  24 28 41 29 0d 17 20 12  e8 20 23 58 25 2c 41 44  |$(A).. .. #X%,AD|
000046b0  44 31 24 28 41 29 0d 17  2a 12 e8 20 23 58 25 2c  |D1$(A)..*.. #X%,|
000046c0  41 44 44 32 24 28 41 29  0d 17 34 12 e8 20 23 58  |ADD2$(A)..4.. #X|
000046d0  25 2c 41 44 44 33 24 28  41 29 0d 17 3e 16 e8 20  |%,ADD3$(A)..>.. |
000046e0  23 58 25 2c 50 4f 53 54  43 4f 44 45 24 28 41 29  |#X%,POSTCODE$(A)|
000046f0  0d 17 48 12 e8 20 23 58  25 2c 41 52 45 41 24 28  |..H.. #X%,AREA$(|
00004700  41 29 0d 17 52 11 e8 20  23 58 25 2c 54 45 4c 24  |A)..R.. #X%,TEL$|
00004710  28 41 29 0d 17 5c 11 e8  20 23 58 25 2c 4e 54 53  |(A)..\.. #X%,NTS|
00004720  24 28 41 29 0d 17 66 06  ed 41 0d 17 70 09 d9 20  |$(A)..f..A..p.. |
00004730  23 58 25 0d 17 7a 14 e7  20 57 49 4e 24 3c 3e 22  |#X%..z.. WIN$<>"|
00004740  4e 4f 4e 45 22 20 8c 0d  17 84 33 e7 20 57 49 4e  |NONE" ....3. WIN|
00004750  24 3d 22 4d 41 49 4e 22  20 8c 20 f2 57 69 6d 70  |$="MAIN" . .Wimp|
00004760  5f 57 69 6e 64 6f 77 43  6c 6f 73 65 28 4d 61 69  |_WindowClose(Mai|
00004770  6e 5f 57 69 6e 64 6f 77  25 29 0d 17 8e 35 e7 20  |n_Window%)...5. |
00004780  57 49 4e 24 3d 22 50 52  49 4e 54 22 20 8c 20 f2  |WIN$="PRINT" . .|
00004790  57 69 6d 70 5f 57 69 6e  64 6f 77 43 6c 6f 73 65  |Wimp_WindowClose|
000047a0  28 50 72 69 6e 74 5f 57  69 6e 64 6f 77 25 29 0d  |(Print_Window%).|
000047b0  17 98 34 e7 20 57 49 4e  24 3d 22 53 45 41 52 43  |..4. WIN$="SEARC|
000047c0  48 22 20 8c 20 f2 57 69  6d 70 5f 57 69 6e 64 6f  |H" . .Wimp_Windo|
000047d0  77 43 6c 6f 73 65 28 53  65 74 5f 57 69 6e 64 6f  |wClose(Set_Windo|
000047e0  77 25 29 0d 17 a2 05 cd  0d 17 ac 3b e7 20 57 49  |w%)........;. WI|
000047f0  4e 24 3c 3e 22 54 49 54  4c 45 22 20 8c 20 f2 57  |N$<>"TITLE" . .W|
00004800  69 6d 70 5f 57 69 6e 64  6f 77 42 72 69 6e 67 54  |imp_WindowBringT|
00004810  6f 54 6f 70 28 54 69 74  6c 65 5f 57 69 6e 64 6f  |oTop(Title_Windo|
00004820  77 25 29 0d 17 b6 0f f2  6d 65 6e 75 75 70 64 61  |w%).....menuupda|
00004830  74 65 0d 17 c0 0c 20 20  20 20 20 20 20 cd 0d 17  |te....       ...|
00004840  ca 0c 20 20 20 20 20 20  20 e1 0d 17 d4 0c 20 20  |..       .....  |
00004850  20 20 20 20 20 3a 0d 17  de 2b 20 20 20 20 20 20  |     :...+      |
00004860  20 dd 20 f2 45 76 65 6e  74 5f 53 61 76 65 46 69  | . .Event_SaveFi|
00004870  6c 65 28 66 69 6c 65 24  2c 77 69 6e 64 6f 77 25  |le(file$,window%|
00004880  29 0d 17 e8 19 20 20 20  20 20 20 20 20 20 c8 8e  |)....         ..|
00004890  20 77 69 6e 64 6f 77 25  20 ca 0d 17 f2 27 20 20  | window% ....'  |
000048a0  20 20 20 20 20 20 20 20  20 c9 20 53 61 76 65 5f  |         . Save_|
000048b0  57 69 6e 64 6f 77 25 20  20 20 20 20 20 20 20 20  |Window%         |
000048c0  3a 0d 17 fc 07 ea 20 85  0d 18 06 10 ee 20 85 20  |:..... ...... . |
000048d0  ea 20 f2 65 72 72 6f 72  0d 18 10 11 e7 20 44 4f  |. .error..... DO|
000048e0  53 41 56 45 25 3d b9 20  8c 0d 18 1a 11 20 20 58  |SAVE%=. .....  X|
000048f0  25 3d ae 28 66 69 6c 65  24 29 0d 18 24 10 20 20  |%=.(file$)..$.  |
00004900  f1 20 23 58 25 2c 74 6f  74 25 0d 18 2e 12 20 20  |. #X%,tot%....  |
00004910  e3 20 41 3d 30 20 b8 20  74 6f 74 25 0d 18 38 19  |. A=0 . tot%..8.|
00004920  20 20 20 20 f1 20 23 58  25 2c 53 55 52 4e 41 4d  |    . #X%,SURNAM|
00004930  45 24 28 41 29 0d 18 42  18 20 20 20 20 f1 20 23  |E$(A)..B.    . #|
00004940  58 25 2c 4f 54 48 45 52  53 24 28 41 29 0d 18 4c  |X%,OTHERS$(A)..L|
00004950  16 20 20 20 20 f1 20 23  58 25 2c 41 44 44 31 24  |.    . #X%,ADD1$|
00004960  28 41 29 0d 18 56 16 20  20 20 20 f1 20 23 58 25  |(A)..V.    . #X%|
00004970  2c 41 44 44 32 24 28 41  29 0d 18 60 16 20 20 20  |,ADD2$(A)..`.   |
00004980  20 f1 20 23 58 25 2c 41  44 44 33 24 28 41 29 0d  | . #X%,ADD3$(A).|
00004990  18 6a 1a 20 20 20 20 f1  20 23 58 25 2c 50 4f 53  |.j.    . #X%,POS|
000049a0  54 43 4f 44 45 24 28 41  29 0d 18 74 16 20 20 20  |TCODE$(A)..t.   |
000049b0  20 f1 20 23 58 25 2c 41  52 45 41 24 28 41 29 0d  | . #X%,AREA$(A).|
000049c0  18 7e 15 20 20 20 20 f1  20 23 58 25 2c 54 45 4c  |.~.    . #X%,TEL|
000049d0  24 28 41 29 0d 18 88 15  20 20 20 20 f1 20 23 58  |$(A)....    . #X|
000049e0  25 2c 4e 54 53 24 28 41  29 0d 18 92 08 20 20 ed  |%,NTS$(A)....  .|
000049f0  41 0d 18 9c 0b 20 20 d9  20 23 58 25 0d 18 a6 20  |A....  . #X%... |
00004a00  20 20 ff 28 22 53 45 54  54 59 50 45 20 22 2b 66  |  .("SETTYPE "+f|
00004a10  69 6c 65 24 2b 22 20 46  42 46 22 29 0d 18 b0 15  |ile$+" FBF")....|
00004a20  20 20 f2 57 69 6d 70 5f  4d 65 6e 75 43 6c 6f 73  |  .Wimp_MenuClos|
00004a30  65 0d 18 ba 0f 20 20 55  50 44 41 54 45 25 3d a3  |e....  UPDATE%=.|
00004a40  0d 18 c4 05 cd 0d 18 ce  04 0d 18 d8 26 20 20 20  |............&   |
00004a50  20 20 20 20 20 20 20 20  c9 20 53 61 76 65 32 5f  |        . Save2_|
00004a60  57 69 6e 64 6f 77 25 20  20 20 20 20 20 20 3a 0d  |Window%       :.|
00004a70  18 e2 07 ea 20 85 0d 18  ec 10 ee 20 85 20 ea 20  |.... ...... . . |
00004a80  f2 65 72 72 6f 72 0d 18  f6 11 e7 20 44 4f 53 41  |.error..... DOSA|
00004a90  56 45 25 3d b9 20 8c 0d  19 00 15 20 20 f2 57 69  |VE%=. .....  .Wi|
00004aa0  6d 70 5f 4d 65 6e 75 43  6c 6f 73 65 0d 19 0a 1b  |mp_MenuClose....|
00004ab0  20 20 e7 20 57 49 4e 24  3d 22 4d 41 49 4e 22 20  |  . WIN$="MAIN" |
00004ac0  8c 20 f2 72 65 61 64 0d  19 14 17 20 20 ff 28 22  |. .read....  .("|
00004ad0  53 50 4f 4f 4c 20 22 2b  66 69 6c 65 24 29 0d 19  |SPOOL "+file$)..|
00004ae0  1e 12 20 20 e3 20 41 3d  30 20 b8 20 74 6f 74 25  |..  . A=0 . tot%|
00004af0  0d 19 28 30 20 20 20 20  e7 20 53 55 52 4e 41 4d  |..(0    . SURNAM|
00004b00  45 24 28 41 29 3c 3e 22  22 20 8c 20 f1 20 53 55  |E$(A)<>"" . . SU|
00004b10  52 4e 41 4d 45 24 28 41  29 2b bd 28 31 30 29 3b  |RNAME$(A)+.(10);|
00004b20  0d 19 32 2e 20 20 20 20  e7 20 4f 54 48 45 52 53  |..2.    . OTHERS|
00004b30  24 28 41 29 3c 3e 22 22  20 8c 20 f1 20 4f 54 48  |$(A)<>"" . . OTH|
00004b40  45 52 53 24 28 41 29 2b  bd 28 31 30 29 3b 0d 19  |ERS$(A)+.(10);..|
00004b50  3c 2a 20 20 20 20 e7 20  41 44 44 31 24 28 41 29  |<*    . ADD1$(A)|
00004b60  3c 3e 22 22 20 8c 20 f1  20 41 44 44 31 24 28 41  |<>"" . . ADD1$(A|
00004b70  29 2b bd 28 31 30 29 3b  0d 19 46 2a 20 20 20 20  |)+.(10);..F*    |
00004b80  e7 20 41 44 44 32 24 28  41 29 3c 3e 22 22 20 8c  |. ADD2$(A)<>"" .|
00004b90  20 f1 20 41 44 44 32 24  28 41 29 2b bd 28 31 30  | . ADD2$(A)+.(10|
00004ba0  29 3b 0d 19 50 2a 20 20  20 20 e7 20 41 44 44 33  |);..P*    . ADD3|
00004bb0  24 28 41 29 3c 3e 22 22  20 8c 20 f1 20 41 44 44  |$(A)<>"" . . ADD|
00004bc0  33 24 28 41 29 2b bd 28  31 30 29 3b 0d 19 5a 32  |3$(A)+.(10);..Z2|
00004bd0  20 20 20 20 e7 20 50 4f  53 54 43 4f 44 45 24 28  |    . POSTCODE$(|
00004be0  41 29 3c 3e 22 22 20 8c  20 f1 20 50 4f 53 54 43  |A)<>"" . . POSTC|
00004bf0  4f 44 45 24 28 41 29 2b  bd 28 31 30 29 3b 0d 19  |ODE$(A)+.(10);..|
00004c00  64 2a 20 20 20 20 e7 20  41 52 45 41 24 28 41 29  |d*    . AREA$(A)|
00004c10  3c 3e 22 22 20 8c 20 f1  20 41 52 45 41 24 28 41  |<>"" . . AREA$(A|
00004c20  29 2b bd 28 31 30 29 3b  0d 19 6e 28 20 20 20 20  |)+.(10);..n(    |
00004c30  e7 20 54 45 4c 24 28 41  29 3c 3e 22 22 20 8c 20  |. TEL$(A)<>"" . |
00004c40  f1 20 54 45 4c 24 28 41  29 2b bd 28 31 30 29 3b  |. TEL$(A)+.(10);|
00004c50  0d 19 78 28 20 20 20 20  e7 20 4e 54 53 24 28 41  |..x(    . NTS$(A|
00004c60  29 3c 3e 22 22 20 8c 20  f1 20 4e 54 53 24 28 41  |)<>"" . . NTS$(A|
00004c70  29 2b bd 28 31 30 29 3b  0d 19 82 10 20 20 20 20  |)+.(10);....    |
00004c80  f1 20 bd 28 31 30 29 3b  0d 19 8c 09 20 20 ed 20  |. .(10);....  . |
00004c90  41 0d 19 96 10 20 20 ff  28 22 53 50 4f 4f 4c 22  |A....  .("SPOOL"|
00004ca0  29 0d 19 a0 20 20 20 ff  28 22 53 45 54 54 59 50  |)...   .("SETTYP|
00004cb0  45 20 22 2b 66 69 6c 65  24 2b 22 20 46 46 46 22  |E "+file$+" FFF"|
00004cc0  29 0d 19 aa 08 20 20 ef  36 0d 19 b4 1e 20 20 e7  |)....  .6....  .|
00004cd0  20 66 69 6c 65 24 3d 22  3c 57 69 6d 70 24 53 63  | file$="<Wimp$Sc|
00004ce0  72 61 70 3e 22 20 8c 0d  19 be 1f 20 20 20 20 f2  |rap>" .....    .|
00004cf0  57 69 6d 70 5f 53 65 6e  64 54 6f 45 64 69 74 28  |Wimp_SendToEdit(|
00004d00  66 69 6c 65 24 29 0d 19  c8 2f 20 20 20 20 f2 57  |file$).../    .W|
00004d10  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
00004d20  53 61 76 65 32 5f 57 69  6e 64 6f 77 25 2c 31 2c  |Save2_Window%,1,|
00004d30  41 43 45 24 29 0d 19 d2  07 20 20 cd 0d 19 dc 05  |ACE$)....  .....|
00004d40  cd 0d 19 e6 0e 20 20 20  20 20 20 20 20 20 cb 0d  |.....         ..|
00004d50  19 f0 1b e7 20 44 4f 53  41 56 45 25 3d a3 20 8c  |.... DOSAVE%=. .|
00004d60  20 44 4f 53 41 56 45 25  3d b9 0d 19 fa 0c 20 20  | DOSAVE%=.....  |
00004d70  20 20 20 20 20 e1 0d 1a  04 05 3a 0d 1a 0e 49 f4  |     .....:...I.|
00004d80  20 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  | ***************|
00004d90  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00004dc0  2a 2a 2a 2a 0d 1a 18 05  3a 0d 1a 22 28 dd 20 f2  |****....:.."(. .|
00004dd0  57 69 6d 70 5f 57 69 6e  64 6f 77 41 6c 65 72 74  |Wimp_WindowAlert|
00004de0  28 74 69 74 6c 65 24 2c  6d 65 73 73 61 67 65 24  |(title$,message$|
00004df0  29 0d 1a 2c 2b f2 57 69  6d 70 5f 57 69 6e 64 6f  |)..,+.Wimp_Windo|
00004e00  77 41 6c 65 72 74 42 6f  78 28 74 69 74 6c 65 24  |wAlertBox(title$|
00004e10  2c 6d 65 73 73 61 67 65  24 2c 30 29 0d 1a 36 05  |,message$,0)..6.|
00004e20  e1 0d 1a 40 05 3a 0d 1a  4a 33 dd 20 f2 57 69 6d  |...@.:..J3. .Wim|
00004e30  70 5f 57 69 6e 64 6f 77  41 6c 65 72 74 42 6f 78  |p_WindowAlertBox|
00004e40  28 74 69 74 6c 65 24 2c  6d 65 73 73 61 67 65 24  |(title$,message$|
00004e50  2c 62 75 74 74 6f 6e 25  29 0d 1a 54 0f ea 20 72  |,button%)..T.. r|
00004e60  65 73 70 6f 6e 73 65 25  0d 1a 5e 17 24 28 77 69  |esponse%..^.$(wi|
00004e70  6d 70 25 2b 34 29 3d 6d  65 73 73 61 67 65 24 0d  |mp%+4)=message$.|
00004e80  1a 68 10 c8 8e 20 62 75  74 74 6f 6e 25 20 ca 0d  |.h... button% ..|
00004e90  1a 72 19 20 c9 20 32 20  20 20 20 3a 20 72 65 73  |.r. . 2    : res|
00004ea0  70 6f 6e 73 65 25 3d 31  0d 1a 7c 1a 20 c9 20 31  |ponse%=1..|. . 1|
00004eb0  20 20 20 20 3a 20 72 65  73 70 6f 6e 73 65 25 3d  |    : response%=|
00004ec0  31 35 0d 1a 86 21 20 c9  20 33 20 20 20 20 3a 20  |15...! . 3    : |
00004ed0  72 65 73 70 6f 6e 73 65  25 3d 28 31 3c 3c 35 29  |response%=(1<<5)|
00004ee0  2b 31 36 0d 1a 90 21 20  c9 20 34 20 20 20 20 3a  |+16...! . 4    :|
00004ef0  20 72 65 73 70 6f 6e 73  65 25 3d 28 31 3c 3c 36  | response%=(1<<6|
00004f00  29 2b 31 36 0d 1a 9a 14  7f 20 3a 20 72 65 73 70  |)+16..... : resp|
00004f10  6f 6e 73 65 25 3d 31 36  0d 1a a4 05 cb 0d 1a ae  |onse%=16........|
00004f20  3d c8 99 20 22 57 69 6d  70 5f 52 65 70 6f 72 74  |=.. "Wimp_Report|
00004f30  45 72 72 6f 72 22 2c 77  69 6d 70 25 2c 72 65 73  |Error",wimp%,res|
00004f40  70 6f 6e 73 65 25 2c 74  69 74 6c 65 24 20 b8 20  |ponse%,title$ . |
00004f50  2c 72 65 73 70 6f 6e 73  65 25 0d 1a b8 05 e1 0d  |,response%......|
00004f60  1a c2 05 3a 0d 1a cc 29  dd 20 a4 57 69 6d 70 5f  |...:...). .Wimp_|
00004f70  57 69 6e 64 6f 77 43 61  6e 63 65 6c 28 74 69 74  |WindowCancel(tit|
00004f80  6c 65 24 2c 6d 65 73 73  61 67 65 24 29 0d 1a d6  |le$,message$)...|
00004f90  17 24 28 77 69 6d 70 25  2b 34 29 3d 6d 65 73 73  |.$(wimp%+4)=mess|
00004fa0  61 67 65 24 0d 1a e0 10  72 65 73 70 6f 6e 73 65  |age$....response|
00004fb0  25 3d 32 33 0d 1a ea 3d  c8 99 20 22 57 69 6d 70  |%=23...=.. "Wimp|
00004fc0  5f 52 65 70 6f 72 74 45  72 72 6f 72 22 2c 77 69  |_ReportError",wi|
00004fd0  6d 70 25 2c 72 65 73 70  6f 6e 73 65 25 2c 74 69  |mp%,response%,ti|
00004fe0  74 6c 65 24 20 b8 20 2c  72 65 73 70 6f 6e 73 65  |tle$ . ,response|
00004ff0  25 0d 1a f4 10 3d 72 65  73 70 6f 6e 73 65 25 2d  |%....=response%-|
00005000  32 0d 1a fe 05 3a 0d 1b  08 2b dd 20 f2 57 69 6d  |2....:...+. .Wim|
00005010  70 5f 57 69 6e 64 6f 77  45 72 72 6f 72 42 6f 78  |p_WindowErrorBox|
00005020  28 74 69 74 6c 65 24 2c  6d 65 73 73 61 67 65 24  |(title$,message$|
00005030  29 0d 1b 12 2b f2 57 69  6d 70 5f 57 69 6e 64 6f  |)...+.Wimp_Windo|
00005040  77 41 6c 65 72 74 42 6f  78 28 74 69 74 6c 65 24  |wAlertBox(title$|
00005050  2c 6d 65 73 73 61 67 65  24 2c 32 29 0d 1b 1c 05  |,message$,2)....|
00005060  e1 0d 1b 26 05 3a 0d 1b  30 20 dd 20 a4 57 69 6d  |...&.:..0 . .Wim|
00005070  70 5f 57 69 6e 64 6f 77  54 69 74 6c 65 28 77 69  |p_WindowTitle(wi|
00005080  6e 64 6f 77 25 29 0d 1b  3a 13 77 69 6d 70 25 21  |ndow%)..:.wimp%!|
00005090  30 3d 77 69 6e 64 6f 77  25 0d 1b 44 20 c8 99 20  |0=window%..D .. |
000050a0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 49 6e 66  |"Wimp_GetWindInf|
000050b0  6f 22 2c 2c 77 69 6d 70  25 0d 1b 4e 36 e7 20 28  |o",,wimp%..N6. (|
000050c0  28 77 69 6d 70 25 21 36  30 29 80 26 31 30 30 29  |(wimp%!60).&100)|
000050d0  3d 30 20 85 20 31 2c 22  54 69 74 6c 65 20 69 73  |=0 . 1,"Title is|
000050e0  6e 27 74 20 69 6e 64 69  72 65 63 74 65 64 22 0d  |n't indirected".|
000050f0  1b 58 10 3d 24 28 77 69  6d 70 25 21 37 36 29 0d  |.X.=$(wimp%!76).|
00005100  1b 62 05 3a 0d 1b 6c 1f  dd 20 a4 57 69 6d 70 5f  |.b.:..l.. .Wimp_|
00005110  57 69 6e 64 6f 77 4c 6f  61 64 28 77 69 6e 64 6f  |WindowLoad(windo|
00005120  77 24 29 0d 1b 76 39 3d  a4 57 69 6d 70 5f 57 69  |w$)..v9=.Wimp_Wi|
00005130  6e 64 6f 77 4c 6f 61 64  46 72 6f 6d 28 77 69 6e  |ndowLoadFrom(win|
00005140  64 6f 77 24 2c 22 3c 4f  62 65 79 24 44 69 72 3e  |dow$,"<Obey$Dir>|
00005150  2e 54 65 6d 70 6c 61 74  65 73 22 29 0d 1b 80 05  |.Templates")....|
00005160  3a 0d 1b 8a 2d dd 20 a4  57 69 6d 70 5f 57 69 6e  |:...-. .Wimp_Win|
00005170  64 6f 77 4c 6f 61 64 46  72 6f 6d 28 77 69 6e 64  |dowLoadFrom(wind|
00005180  6f 77 24 2c 74 65 6d 70  6c 61 74 65 24 29 0d 1b  |ow$,template$)..|
00005190  94 1a ea 20 63 25 2c 69  25 2c 6e 25 2c 6a 25 2c  |... c%,i%,n%,j%,|
000051a0  73 70 24 2c 73 70 32 24  0d 1b 9e 25 c8 99 20 22  |sp$,sp2$...%.. "|
000051b0  57 69 6d 70 5f 4f 70 65  6e 54 65 6d 70 6c 61 74  |Wimp_OpenTemplat|
000051c0  65 22 2c 2c 74 65 6d 70  6c 61 74 65 24 0d 1b a8  |e",,template$...|
000051d0  4d c8 99 20 22 57 69 6d  70 5f 4c 6f 61 64 54 65  |M.. "Wimp_LoadTe|
000051e0  6d 70 6c 61 74 65 22 2c  2c 77 69 6d 70 25 2c 69  |mplate",,wimp%,i|
000051f0  63 6f 6e 73 25 2c 69 63  6f 6e 5f 6d 65 6d 6f 72  |cons%,icon_memor|
00005200  79 25 2c 2d 31 2c 77 69  6e 64 6f 77 24 2c 30 20  |y%,-1,window$,0 |
00005210  b8 20 2c 2c 69 63 6f 6e  73 25 0d 1b b2 11 c8 8e  |. ,,icons%......|
00005220  20 73 70 72 69 74 65 73  25 20 ca 0d 1b bc 1f 20  | sprites% ..... |
00005230  c9 20 31 20 20 20 20 3a  20 77 69 6d 70 25 21 36  |. 1    : wimp%!6|
00005240  34 3d 73 70 72 69 74 65  73 25 0d 1b c6 29 20 7f  |4=sprites%...) .|
00005250  20 3a 20 77 69 6d 70 25  21 36 34 3d a4 45 76 65  | : wimp%!64=.Eve|
00005260  6e 74 5f 53 70 72 69 74  65 73 28 77 69 6e 64 6f  |nt_Sprites(windo|
00005270  77 25 29 0d 1b d0 05 cb  0d 1b da 26 c8 99 20 22  |w%)........&.. "|
00005280  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
00005290  77 22 2c 2c 77 69 6d 70  25 20 b8 20 63 25 0d 1b  |w",,wimp% . c%..|
000052a0  e4 1b c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |.... "Wimp_Close|
000052b0  54 65 6d 70 6c 61 74 65  22 0d 1b ee 37 c8 99 20  |Template"...7.. |
000052c0  22 57 69 6d 70 5f 57 68  69 63 68 49 63 6f 6e 22  |"Wimp_WhichIcon"|
000052d0  2c 63 25 2c 77 69 6d 70  25 2b 34 30 2c 31 2b 32  |,c%,wimp%+40,1+2|
000052e0  2b 28 31 3c 3c 38 29 2c  32 2b 28 31 3c 3c 38 29  |+(1<<8),2+(1<<8)|
000052f0  0d 1b f8 11 c8 8e 20 77  69 6d 70 25 21 34 30 20  |...... wimp%!40 |
00005300  ca 0d 1c 02 0d 20 c9 20  2d 31 20 20 20 3a 0d 1c  |..... . -1   :..|
00005310  0c 0e 20 7f 20 3a 20 69  25 3d 34 30 0d 1c 16 06  |.. . : i%=40....|
00005320  20 f5 0d 1c 20 24 20 20  20 77 69 6d 70 25 21 34  | ... $   wimp%!4|
00005330  3d 77 69 6d 70 25 21 69  25 20 3a 20 77 69 6d 70  |=wimp%!i% : wimp|
00005340  25 21 30 3d 63 25 0d 1c  2a 24 20 20 20 c8 99 20  |%!0=c%..*$   .. |
00005350  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00005360  74 65 22 2c 2c 77 69 6d  70 25 0d 1c 34 2d 20 20  |te",,wimp%..4-  |
00005370  20 73 70 24 3d a4 57 69  6d 70 5f 47 65 74 53 74  | sp$=.Wimp_GetSt|
00005380  72 69 6e 67 41 74 41 64  64 72 65 73 73 28 77 69  |ringAtAddress(wi|
00005390  6d 70 25 21 32 38 29 0d  1c 3e 22 20 20 20 c8 99  |mp%!28)..>"   ..|
000053a0  20 22 57 69 6d 70 5f 44  65 6c 65 74 65 49 63 6f  | "Wimp_DeleteIco|
000053b0  6e 22 2c 2c 77 69 6d 70  25 0d 1c 48 14 20 20 20  |n",,wimp%..H.   |
000053c0  c8 8e 20 73 70 72 69 74  65 73 25 20 ca 0d 1c 52  |.. sprites% ...R|
000053d0  1b 20 20 20 20 c9 20 31  20 20 20 20 3a 20 77 69  |.    . 1    : wi|
000053e0  6d 70 25 21 33 32 3d 31  0d 1c 5c 0b 20 20 20 20  |mp%!32=1..\.    |
000053f0  7f 20 3a 0d 1c 66 2f 20  20 20 20 20 c8 99 20 22  |. :..f/     .. "|
00005400  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 30  |OS_SpriteOp",&10|
00005410  38 2c 73 70 72 69 74 65  73 25 20 b8 20 2c 2c 2c  |8,sprites% . ,,,|
00005420  6e 25 0d 1c 70 0d 20 20  20 20 20 6a 25 3d 30 0d  |n%..p.     j%=0.|
00005430  1c 7a 12 20 20 20 20 20  f5 20 3a 20 6a 25 2b 3d  |.z.     . : j%+=|
00005440  31 0d 1c 84 3d 20 20 20  20 20 20 c8 99 20 22 4f  |1...=      .. "O|
00005450  53 5f 53 70 72 69 74 65  4f 70 22 2c 26 31 30 44  |S_SpriteOp",&10D|
00005460  2c 73 70 72 69 74 65 73  25 2c 70 6f 69 6e 74 65  |,sprites%,pointe|
00005470  72 5f 62 6c 6f 63 6b 25  2c 32 30 2c 6a 25 0d 1c  |r_block%,20,j%..|
00005480  8e 37 20 20 20 20 20 20  73 70 32 24 3d a4 57 69  |.7      sp2$=.Wi|
00005490  6d 70 5f 47 65 74 53 74  72 69 6e 67 41 74 41 64  |mp_GetStringAtAd|
000054a0  64 72 65 73 73 28 70 6f  69 6e 74 65 72 5f 62 6c  |dress(pointer_bl|
000054b0  6f 63 6b 25 29 0d 1c 98  1b 20 20 20 20 20 fd 20  |ock%)....     . |
000054c0  6a 25 3d 6e 25 20 84 20  73 70 24 3d 73 70 32 24  |j%=n% . sp$=sp2$|
000054d0  0d 1c a2 34 20 20 20 20  20 e7 20 73 70 24 3d 73  |...4     . sp$=s|
000054e0  70 32 24 20 8c 20 77 69  6d 70 25 21 33 32 3d 73  |p2$ . wimp%!32=s|
000054f0  70 72 69 74 65 73 25 20  8b 20 77 69 6d 70 25 21  |prites% . wimp%!|
00005500  33 32 3d 31 0d 1c ac 08  20 20 20 cb 0d 1c b6 11  |32=1....   .....|
00005510  20 20 20 77 69 6d 70 25  21 34 3d 63 25 0d 1c c0  |   wimp%!4=c%...|
00005520  2e 20 20 20 c8 99 20 22  57 69 6d 70 5f 43 72 65  |.   .. "Wimp_Cre|
00005530  61 74 65 49 63 6f 6e 22  2c 2c 77 69 6d 70 25 2b  |ateIcon",,wimp%+|
00005540  34 20 b8 20 68 61 6e 64  6c 65 25 0d 1c ca 0c 20  |4 . handle%.... |
00005550  20 20 69 25 2b 3d 34 0d  1c d4 14 20 fd 20 28 77  |  i%+=4.... . (w|
00005560  69 6d 70 25 21 69 25 29  3d 2d 31 0d 1c de 05 cb  |imp%!i%)=-1.....|
00005570  0d 1c e8 07 3d 63 25 0d  1c f2 05 3a 0d 1c fc 25  |....=c%....:...%|
00005580  dd 20 f2 57 69 6d 70 5f  57 69 6e 64 6f 77 42 72  |. .Wimp_WindowBr|
00005590  69 6e 67 54 6f 54 6f 70  28 77 69 6e 64 6f 77 25  |ingToTop(window%|
000055a0  29 0d 1d 06 12 21 77 69  6d 70 25 3d 77 69 6e 64  |)....!wimp%=wind|
000055b0  6f 77 25 0d 1d 10 23 c8  99 20 22 57 69 6d 70 5f  |ow%...#.. "Wimp_|
000055c0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
000055d0  2c 77 69 6d 70 25 0d 1d  1a 0f 77 69 6d 70 25 21  |,wimp%....wimp%!|
000055e0  32 38 3d 2d 31 0d 1d 24  1f c8 99 20 22 57 69 6d  |28=-1..$... "Wim|
000055f0  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 77  |p_OpenWindow",,w|
00005600  69 6d 70 25 0d 1d 2e 05  e1 0d 1d 38 05 3a 0d 1d  |imp%.......8.:..|
00005610  42 20 dd 20 f2 57 69 6d  70 5f 57 69 6e 64 6f 77  |B . .Wimp_Window|
00005620  43 6c 6f 73 65 28 77 69  6e 64 6f 77 25 29 0d 1d  |Close(window%)..|
00005630  4c 12 21 77 69 6d 70 25  3d 77 69 6e 64 6f 77 25  |L.!wimp%=window%|
00005640  0d 1d 56 20 c8 99 20 22  57 69 6d 70 5f 43 6c 6f  |..V .. "Wimp_Clo|
00005650  73 65 57 69 6e 64 6f 77  22 2c 2c 77 69 6d 70 25  |seWindow",,wimp%|
00005660  0d 1d 60 05 e1 0d 1d 6a  05 3a 0d 1d 74 24 dd 20  |..`....j.:..t$. |
00005670  f2 57 69 6d 70 5f 57 69  6e 64 6f 77 46 6f 72 63  |.Wimp_WindowForc|
00005680  65 44 72 61 77 28 77 69  6e 64 6f 77 25 29 0d 1d  |eDraw(window%)..|
00005690  7e 10 c8 8e 20 77 69 6e  64 6f 77 25 20 ca 0d 1d  |~... window% ...|
000056a0  88 38 20 c9 20 2d 31 20  20 20 3a 20 c8 99 20 22  |.8 . -1   : .. "|
000056b0  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
000056c0  22 2c 2d 31 2c 30 2c 30  2c 32 2a 31 32 38 30 2c  |",-1,0,0,2*1280,|
000056d0  32 2a 31 30 32 34 0d 1d  92 39 20 7f 20 3a 20 c8  |2*1024...9 . : .|
000056e0  99 20 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |. "Wimp_ForceRed|
000056f0  72 61 77 22 2c 77 69 6e  64 6f 77 25 2c 30 2c 2d  |raw",window%,0,-|
00005700  32 2a 31 30 32 34 2c 32  2a 31 32 38 30 2c 30 0d  |2*1024,2*1280,0.|
00005710  1d 9c 05 cb 0d 1d a6 05  e1 0d 1d b0 05 3a 0d 1d  |.............:..|
00005720  ba 1f dd 20 f2 57 69 6d  70 5f 57 69 6e 64 6f 77  |... .Wimp_Window|
00005730  4f 70 65 6e 28 77 69 6e  64 6f 77 25 29 0d 1d c4  |Open(window%)...|
00005740  12 21 77 69 6d 70 25 3d  77 69 6e 64 6f 77 25 0d  |.!wimp%=window%.|
00005750  1d ce 23 c8 99 20 22 57  69 6d 70 5f 47 65 74 57  |..#.. "Wimp_GetW|
00005760  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 77 69 6d  |indowState",,wim|
00005770  70 25 0d 1d d8 1f c8 99  20 22 57 69 6d 70 5f 4f  |p%...... "Wimp_O|
00005780  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 77 69 6d 70  |penWindow",,wimp|
00005790  25 0d 1d e2 05 e1 0d 1d  ec 05 3a 0d 1d f6 19 f2  |%.........:.....|
000057a0  57 69 6d 70 5f 57 69 6e  64 6f 77 49 6e 74 65 72  |Wimp_WindowInter|
000057b0  66 61 63 65 0d 1e 00 20  c8 99 22 57 69 6d 70 5f  |face... .."Wimp_|
000057c0  42 6f 72 64 65 72 57 69  6e 64 6f 77 22 2c 2c 77  |BorderWindow",,w|
000057d0  69 6d 70 25 0d 1e 0a 05  e1 0d 1e 14 05 3a 0d 1e  |imp%.........:..|
000057e0  1e 49 f4 20 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |.I. ************|
000057f0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00005820  2a 2a 2a 2a 2a 2a 2a 0d  1e 28 05 3a 0d 1e 32 25  |*******..(.:..2%|
00005830  dd 20 f2 57 69 6d 70 5f  49 63 6f 6e 55 70 64 61  |. .Wimp_IconUpda|
00005840  74 65 28 77 69 6e 64 6f  77 25 2c 69 63 6f 6e 25  |te(window%,icon%|
00005850  29 0d 1e 3c 13 77 69 6d  70 25 21 30 3d 77 69 6e  |)..<.wimp%!0=win|
00005860  64 6f 77 25 0d 1e 46 11  77 69 6d 70 25 21 34 3d  |dow%..F.wimp%!4=|
00005870  69 63 6f 6e 25 0d 1e 50  0d 77 69 6d 70 25 21 38  |icon%..P.wimp%!8|
00005880  3d 30 0d 1e 5a 0e 77 69  6d 70 25 21 31 32 3d 30  |=0..Z.wimp%!12=0|
00005890  0d 1e 64 21 c8 99 20 22  57 69 6d 70 5f 53 65 74  |..d!.. "Wimp_Set|
000058a0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 77 69 6d 70  |IconState",,wimp|
000058b0  25 0d 1e 6e 05 e1 0d 1e  78 05 3a 0d 1e 82 30 dd  |%..n....x.:...0.|
000058c0  20 f2 57 69 6d 70 5f 53  65 74 49 63 6f 6e 53 70  | .Wimp_SetIconSp|
000058d0  72 69 74 65 28 77 69 6e  64 6f 77 25 2c 69 63 6f  |rite(window%,ico|
000058e0  6e 25 2c 73 70 72 69 74  65 24 29 0d 1e 8c 13 77  |n%,sprite$)....w|
000058f0  69 6d 70 25 21 30 3d 77  69 6e 64 6f 77 25 0d 1e  |imp%!0=window%..|
00005900  96 11 77 69 6d 70 25 21  34 3d 69 63 6f 6e 25 0d  |..wimp%!4=icon%.|
00005910  1e a0 21 c8 99 20 22 57  69 6d 70 5f 47 65 74 49  |..!.. "Wimp_GetI|
00005920  63 6f 6e 53 74 61 74 65  22 2c 2c 77 69 6d 70 25  |conState",,wimp%|
00005930  0d 1e aa 19 24 77 69 6d  70 25 21 33 32 3d 22 53  |....$wimp%!32="S|
00005940  22 2b 73 70 72 69 74 65  24 0d 1e b4 13 77 69 6d  |"+sprite$....wim|
00005950  70 25 21 30 3d 77 69 6e  64 6f 77 25 0d 1e be 0d  |p%!0=window%....|
00005960  77 69 6d 70 25 21 38 3d  30 0d 1e c8 0e 77 69 6d  |wimp%!8=0....wim|
00005970  70 25 21 31 32 3d 30 0d  1e d2 21 c8 99 20 22 57  |p%!12=0...!.. "W|
00005980  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
00005990  22 2c 2c 77 69 6d 70 25  0d 1e dc 05 e1 0d 1e e6  |",,wimp%........|
000059a0  05 3a 0d 1e f0 1c dd 20  a4 57 69 6d 70 5f 49 63  |.:..... .Wimp_Ic|
000059b0  6f 6e 42 61 72 28 53 70  72 69 74 65 24 29 0d 1e  |onBar(Sprite$)..|
000059c0  fa 0b ea 20 69 63 6f 6e  25 0d 1f 04 0e 77 69 6d  |... icon%....wim|
000059d0  70 25 21 30 3d 2d 31 0d  1f 0e 1d 77 69 6d 70 25  |p%!0=-1....wimp%|
000059e0  21 34 3d 30 20 20 20 20  20 3a 20 77 69 6d 70 25  |!4=0     : wimp%|
000059f0  21 38 3d 30 0d 1f 18 1d  77 69 6d 70 25 21 31 32  |!8=0....wimp%!12|
00005a00  3d 36 38 20 3a 20 77 69  6d 70 25 21 31 36 3d 36  |=68 : wimp%!16=6|
00005a10  38 0d 1f 22 12 77 69 6d  70 25 21 32 30 3d 26 33  |8..".wimp%!20=&3|
00005a20  30 30 32 0d 1f 2c 17 24  28 77 69 6d 70 25 2b 32  |002..,.$(wimp%+2|
00005a30  34 29 3d 53 70 72 69 74  65 24 0d 1f 36 27 c8 99  |4)=Sprite$..6'..|
00005a40  20 22 57 69 6d 70 5f 43  72 65 61 74 65 49 63 6f  | "Wimp_CreateIco|
00005a50  6e 22 2c 2c 77 69 6d 70  25 20 b8 20 69 63 6f 6e  |n",,wimp% . icon|
00005a60  25 0d 1f 40 0a 3d 69 63  6f 6e 25 0d 1f 4a 05 3a  |%..@.=icon%..J.:|
00005a70  0d 1f 54 2b dd 20 f2 57  69 6d 70 5f 49 63 6f 6e  |..T+. .Wimp_Icon|
00005a80  43 61 72 65 74 28 77 69  6e 64 6f 77 25 2c 69 63  |Caret(window%,ic|
00005a90  6f 6e 25 2c 63 68 61 72  73 25 29 0d 1f 5e 38 c8  |on%,chars%)..^8.|
00005aa0  99 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |. "Wimp_SetCaret|
00005ab0  50 6f 73 69 74 69 6f 6e  22 2c 77 69 6e 64 6f 77  |Position",window|
00005ac0  25 2c 69 63 6f 6e 25 2c  2c 2c 2d 31 2c 63 68 61  |%,icon%,,,-1,cha|
00005ad0  72 73 25 0d 1f 68 05 e1  0d 1f 72 05 3a 0d 1f 7c  |rs%..h....r.:..||
00005ae0  23 dd 20 a4 57 69 6d 70  5f 49 63 6f 6e 54 65 78  |#. .Wimp_IconTex|
00005af0  74 28 77 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 29  |t(window%,icon%)|
00005b00  0d 1f 86 23 77 69 6d 70  25 21 30 3d 77 69 6e 64  |...#wimp%!0=wind|
00005b10  6f 77 25 20 3a 20 77 69  6d 70 25 21 34 3d 69 63  |ow% : wimp%!4=ic|
00005b20  6f 6e 25 0d 1f 90 21 c8  99 20 22 57 69 6d 70 5f  |on%...!.. "Wimp_|
00005b30  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 77  |GetIconState",,w|
00005b40  69 6d 70 25 0d 1f 9a 37  e7 20 28 28 77 69 6d 70  |imp%...7. ((wimp|
00005b50  25 21 32 34 29 20 80 20  26 31 30 30 29 3d 30 20  |%!24) . &100)=0 |
00005b60  85 20 31 2c 22 49 63 6f  6e 20 69 73 6e 27 74 20  |. 1,"Icon isn't |
00005b70  69 6e 64 69 72 65 63 74  65 64 22 0d 1f a4 10 3d  |indirected"....=|
00005b80  24 28 77 69 6d 70 25 21  32 38 29 0d 1f ae 05 3a  |$(wimp%!28)....:|
00005b90  0d 1f b8 29 dd 20 a4 57  69 6d 70 5f 49 63 6f 6e  |...). .Wimp_Icon|
00005ba0  56 61 6c 69 64 61 74 69  6f 6e 28 77 69 6e 64 6f  |Validation(windo|
00005bb0  77 25 2c 69 63 6f 6e 25  29 0d 1f c2 23 77 69 6d  |w%,icon%)...#wim|
00005bc0  70 25 21 30 3d 77 69 6e  64 6f 77 25 20 3a 20 77  |p%!0=window% : w|
00005bd0  69 6d 70 25 21 34 3d 69  63 6f 6e 25 0d 1f cc 21  |imp%!4=icon%...!|
00005be0  c8 99 20 22 57 69 6d 70  5f 47 65 74 49 63 6f 6e  |.. "Wimp_GetIcon|
00005bf0  53 74 61 74 65 22 2c 2c  77 69 6d 70 25 0d 1f d6  |State",,wimp%...|
00005c00  37 e7 20 28 28 77 69 6d  70 25 21 32 34 29 20 80  |7. ((wimp%!24) .|
00005c10  20 26 31 30 30 29 3d 30  20 85 20 31 2c 22 49 63  | &100)=0 . 1,"Ic|
00005c20  6f 6e 20 69 73 6e 27 74  20 69 6e 64 69 72 65 63  |on isn't indirec|
00005c30  74 65 64 22 0d 1f e0 10  3d 24 28 77 69 6d 70 25  |ted"....=$(wimp%|
00005c40  21 33 32 29 0d 1f ea 05  3a 0d 1f f4 26 dd 20 f2  |!32)....:...&. .|
00005c50  57 69 6d 70 5f 49 63 6f  6e 44 69 73 61 62 6c 65  |Wimp_IconDisable|
00005c60  28 77 69 6e 64 6f 77 25  2c 69 63 6f 6e 25 29 0d  |(window%,icon%).|
00005c70  1f fe 23 77 69 6d 70 25  21 30 3d 77 69 6e 64 6f  |..#wimp%!0=windo|
00005c80  77 25 20 3a 20 77 69 6d  70 25 21 34 3d 69 63 6f  |w% : wimp%!4=ico|
00005c90  6e 25 0d 20 08 24 77 69  6d 70 25 21 38 3d 31 3c  |n%. .$wimp%!8=1<|
00005ca0  3c 32 32 20 20 20 3a 20  77 69 6d 70 25 21 31 32  |<22   : wimp%!12|
00005cb0  3d 31 3c 3c 32 32 0d 20  12 21 c8 99 20 22 57 69  |=1<<22. .!.. "Wi|
00005cc0  6d 70 5f 53 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_SetIconState"|
00005cd0  2c 2c 77 69 6d 70 25 0d  20 1c 05 e1 0d 20 26 05  |,,wimp%. .... &.|
00005ce0  3a 0d 20 30 25 dd 20 f2  57 69 6d 70 5f 49 63 6f  |:. 0%. .Wimp_Ico|
00005cf0  6e 45 6e 61 62 6c 65 28  77 69 6e 64 6f 77 25 2c  |nEnable(window%,|
00005d00  69 63 6f 6e 25 29 0d 20  3a 23 77 69 6d 70 25 21  |icon%). :#wimp%!|
00005d10  30 3d 77 69 6e 64 6f 77  25 20 3a 20 77 69 6d 70  |0=window% : wimp|
00005d20  25 21 34 3d 69 63 6f 6e  25 0d 20 44 24 77 69 6d  |%!4=icon%. D$wim|
00005d30  70 25 21 38 3d 30 20 20  20 20 20 20 20 3a 20 77  |p%!8=0       : w|
00005d40  69 6d 70 25 21 31 32 3d  31 3c 3c 32 32 0d 20 4e  |imp%!12=1<<22. N|
00005d50  21 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  |!.. "Wimp_SetIco|
00005d60  6e 53 74 61 74 65 22 2c  2c 77 69 6d 70 25 0d 20  |nState",,wimp%. |
00005d70  58 05 e1 0d 20 62 05 3a  0d 20 6c 30 dd 20 a4 57  |X... b.:. l0. .W|
00005d80  69 6d 70 5f 49 63 6f 6e  50 75 74 53 70 72 69 74  |imp_IconPutSprit|
00005d90  65 28 77 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 2c  |e(window%,icon%,|
00005da0  73 70 72 69 74 65 24 29  0d 20 76 21 77 69 6d 70  |sprite$). v!wimp|
00005db0  25 21 30 3d 77 69 6e 64  6f 77 25 3a 77 69 6d 70  |%!0=window%:wimp|
00005dc0  25 21 34 3d 69 63 6f 6e  25 0d 20 80 21 c8 99 20  |%!4=icon%. .!.. |
00005dd0  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00005de0  74 65 22 2c 2c 77 69 6d  70 25 0d 20 8a 1f c8 99  |te",,wimp%. ....|
00005df0  20 22 57 69 6d 70 5f 44  65 6c 65 74 65 49 63 6f  | "Wimp_DeleteIco|
00005e00  6e 22 2c 2c 77 69 6d 70  25 0d 20 94 3d 77 69 6d  |n",,wimp%. .=wim|
00005e10  70 25 21 34 3d 77 69 6d  70 25 21 38 20 20 20 3a  |p%!4=wimp%!8   :|
00005e20  20 77 69 6d 70 25 21 38  3d 77 69 6d 70 25 21 31  | wimp%!8=wimp%!1|
00005e30  32 20 20 3a 20 77 69 6d  70 25 21 31 32 3d 77 69  |2  : wimp%!12=wi|
00005e40  6d 70 25 21 31 36 0d 20  9e 3f 77 69 6d 70 25 21  |mp%!16. .?wimp%!|
00005e50  31 36 3d 77 69 6d 70 25  21 32 30 20 3a 20 77 69  |16=wimp%!20 : wi|
00005e60  6d 70 25 21 32 30 3d 77  69 6d 70 25 21 32 34 20  |mp%!20=wimp%!24 |
00005e70  3a 20 24 28 77 69 6d 70  25 2b 32 34 29 3d 73 70  |: $(wimp%+24)=sp|
00005e80  72 69 74 65 24 0d 20 a8  27 c8 99 20 22 57 69 6d  |rite$. .'.. "Wim|
00005e90  70 5f 43 72 65 61 74 65  49 63 6f 6e 22 2c 2c 77  |p_CreateIcon",,w|
00005ea0  69 6d 70 25 20 b8 20 69  63 6f 6e 25 0d 20 b2 0a  |imp% . icon%. ..|
00005eb0  3d 69 63 6f 6e 25 0d 20  bc 05 3a 0d 20 c6 2c dd  |=icon%. ..:. .,.|
00005ec0  20 f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  | .Wimp_IconPutTe|
00005ed0  78 74 28 77 69 6e 64 6f  77 25 2c 69 63 6f 6e 25  |xt(window%,icon%|
00005ee0  2c 74 65 78 74 24 29 0d  20 d0 23 77 69 6d 70 25  |,text$). .#wimp%|
00005ef0  21 30 3d 77 69 6e 64 6f  77 25 20 3a 20 77 69 6d  |!0=window% : wim|
00005f00  70 25 21 34 3d 69 63 6f  6e 25 0d 20 da 21 c8 99  |p%!4=icon%. .!..|
00005f10  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
00005f20  61 74 65 22 2c 2c 77 69  6d 70 25 0d 20 e4 37 e7  |ate",,wimp%. .7.|
00005f30  20 28 28 77 69 6d 70 25  21 32 34 29 20 80 20 26  | ((wimp%!24) . &|
00005f40  31 30 30 29 3d 30 20 85  20 31 2c 22 49 63 6f 6e  |100)=0 . 1,"Icon|
00005f50  20 69 73 6e 27 74 20 69  6e 64 69 72 65 63 74 65  | isn't indirecte|
00005f60  64 22 0d 20 ee 15 24 28  77 69 6d 70 25 21 32 38  |d". ..$(wimp%!28|
00005f70  29 3d 74 65 78 74 24 0d  20 f8 23 77 69 6d 70 25  |)=text$. .#wimp%|
00005f80  21 30 3d 77 69 6e 64 6f  77 25 20 3a 20 77 69 6d  |!0=window% : wim|
00005f90  70 25 21 34 3d 69 63 6f  6e 25 0d 21 02 1a 77 69  |p%!4=icon%.!..wi|
00005fa0  6d 70 25 21 38 3d 30 20  3a 20 77 69 6d 70 25 21  |mp%!8=0 : wimp%!|
00005fb0  31 32 3d 30 0d 21 0c 21  c8 99 20 22 57 69 6d 70  |12=0.!.!.. "Wimp|
00005fc0  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00005fd0  77 69 6d 70 25 0d 21 16  05 e1 0d 21 20 05 3a 0d  |wimp%.!....! .:.|
00005fe0  21 2a 1e dd 20 f2 57 69  6d 70 5f 49 63 6f 6e 49  |!*.. .Wimp_IconI|
00005ff0  6e 74 65 72 66 61 63 65  53 74 61 72 74 0d 21 34  |nterfaceStart.!4|
00006000  1e c8 99 22 57 69 6d 70  5f 42 6f 72 64 65 72 49  |..."Wimp_BorderI|
00006010  63 6f 6e 22 2c 2c 77 69  6d 70 25 0d 21 3e 05 e1  |con",,wimp%.!>..|
00006020  0d 21 48 05 3a 0d 21 52  1f dd 20 f2 57 69 6d 70  |.!H.:.!R.. .Wimp|
00006030  5f 49 63 6f 6e 49 6e 74  65 72 66 61 63 65 46 69  |_IconInterfaceFi|
00006040  6e 69 73 68 0d 21 5c 0d  77 69 6d 70 25 21 38 3d  |nish.!\.wimp%!8=|
00006050  30 0d 21 66 1e c8 99 22  57 69 6d 70 5f 42 6f 72  |0.!f..."Wimp_Bor|
00006060  64 65 72 49 63 6f 6e 22  2c 2c 77 69 6d 70 25 0d  |derIcon",,wimp%.|
00006070  21 70 05 e1 0d 21 7a 05  3a 0d 21 84 49 f4 20 2a  |!p...!z.:.!.I. *|
00006080  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
000060c0  2a 2a 0d 21 8e 05 3a 0d  21 98 1f dd 20 f2 57 69  |**.!..:.!... .Wi|
000060d0  6d 70 5f 4d 65 6e 75 41  64 6a 75 73 74 4f 6e 28  |mp_MenuAdjustOn(|
000060e0  6d 65 6e 75 25 29 0d 21  a2 2c c8 99 20 22 57 69  |menu%).!.,.. "Wi|
000060f0  6d 70 5f 47 65 74 50 6f  69 6e 74 65 72 49 6e 66  |mp_GetPointerInf|
00006100  6f 22 2c 2c 70 6f 69 6e  74 65 72 5f 62 6c 6f 63  |o",,pointer_bloc|
00006110  6b 25 0d 21 ac 5e e7 20  28 28 70 6f 69 6e 74 65  |k%.!.^. ((pointe|
00006120  72 5f 62 6c 6f 63 6b 25  21 38 29 80 31 29 3d 31  |r_block%!8).1)=1|
00006130  20 8c 20 c8 99 20 22 57  69 6d 70 5f 43 72 65 61  | . .. "Wimp_Crea|
00006140  74 65 4d 65 6e 75 22 2c  2c 6d 65 6e 75 25 2c 70  |teMenu",,menu%,p|
00006150  6f 69 6e 74 65 72 5f 62  6c 6f 63 6b 25 21 30 2c  |ointer_block%!0,|
00006160  70 6f 69 6e 74 65 72 5f  62 6c 6f 63 6b 25 21 34  |pointer_block%!4|
00006170  0d 21 b6 05 e1 0d 21 c0  05 3a 0d 21 ca 1e dd 20  |.!....!..:.!... |
00006180  a4 57 69 6d 70 5f 4d 65  6e 75 43 68 6f 69 63 65  |.Wimp_MenuChoice|
00006190  28 6c 65 76 65 6c 25 29  0d 21 d4 19 3d 28 77 69  |(level%).!..=(wi|
000061a0  6d 70 25 21 28 34 2a 6c  65 76 65 6c 25 29 29 2b  |mp%!(4*level%))+|
000061b0  31 0d 21 de 05 3a 0d 21  e8 1d dd 20 a4 57 69 6d  |1.!..:.!... .Wim|
000061c0  70 5f 4d 65 6e 75 43 72  65 61 74 65 28 6d 65 6e  |p_MenuCreate(men|
000061d0  75 24 29 0d 21 f2 29 e7  20 6d 65 6e 75 24 3d 22  |u$).!.). menu$="|
000061e0  43 6f 6c 6f 75 72 73 22  20 8c 3d a4 57 69 6d 70  |Colours" .=.Wimp|
000061f0  5f 4d 65 6e 75 43 6f 6c  6f 75 72 73 0d 21 fc 27  |_MenuColours.!.'|
00006200  ea 20 6d 65 6e 75 25 2c  69 6e 64 65 78 25 2c 77  |. menu%,index%,w|
00006210  69 64 74 68 25 2c 6c 65  6e 67 74 68 25 2c 6b 25  |idth%,length%,k%|
00006220  2c 73 25 0d 22 06 2e de  20 6d 65 6e 75 25 20 32  |,s%."... menu% 2|
00006230  38 2b a4 57 69 6d 70 5f  4d 65 6e 75 4e 6f 4f 66  |8+.Wimp_MenuNoOf|
00006240  45 6e 74 72 69 65 73 28  6d 65 6e 75 24 29 2a 32  |Entries(menu$)*2|
00006250  34 0d 22 10 37 6d 65 6e  75 25 3f 31 32 3d 37 20  |4.".7menu%?12=7 |
00006260  20 20 3a 20 6d 65 6e 75  25 3f 31 33 3d 32 20 20  |  : menu%?13=2  |
00006270  3a 20 6d 65 6e 75 25 3f  31 34 3d 37 20 3a 6d 65  |: menu%?14=7 :me|
00006280  6e 75 25 3f 31 35 3d 30  0d 22 1a 2b 6d 65 6e 75  |nu%?15=0.".+menu|
00006290  25 21 31 36 3d 31 34 30  20 3a 20 6d 65 6e 75 25  |%!16=140 : menu%|
000062a0  21 32 30 3d 34 34 20 3a  20 6d 65 6e 75 25 21 32  |!20=44 : menu%!2|
000062b0  34 3d 30 0d 22 24 13 69  6e 64 65 78 25 3d 6d 65  |4=0."$.index%=me|
000062c0  6e 75 25 2b 32 38 0d 22  2e 20 24 6d 65 6e 75 25  |nu%+28.". $menu%|
000062d0  3d c0 6d 65 6e 75 24 2c  a7 6d 65 6e 75 24 2c 22  |=.menu$,.menu$,"|
000062e0  5c 22 29 2d 31 29 0d 22  38 23 77 69 64 74 68 25  |\")-1)."8#width%|
000062f0  3d a9 28 c0 6d 65 6e 75  24 2c a7 6d 65 6e 75 24  |=.(.menu$,.menu$|
00006300  2c 22 5c 22 29 2d 31 29  29 0d 22 42 24 6d 65 6e  |,"\")-1))."B$men|
00006310  75 24 2b 3d 22 5c 22 20  3a 20 4d 65 6e 75 5f 4e  |u$+="\" : Menu_N|
00006320  6f 4f 66 45 6e 74 72 69  65 73 25 3d 30 0d 22 4c  |oOfEntries%=0."L|
00006330  10 c8 95 20 6d 65 6e 75  24 3c 3e 22 22 0d 22 56  |... menu$<>""."V|
00006340  1f 6d 65 6e 75 24 3d c1  6d 65 6e 75 24 2c a7 6d  |.menu$=.menu$,.m|
00006350  65 6e 75 24 2c 22 5c 22  29 2b 31 29 0d 22 60 0e  |enu$,"\")+1)."`.|
00006360  c8 8e 20 6d 65 6e 75 24  20 ca 0d 22 6a 09 20 c9  |.. menu$ .."j. .|
00006370  20 22 22 0d 22 74 08 20  7f 20 3a 0d 22 7e 31 20  | ""."t. . :."~1 |
00006380  20 21 69 6e 64 65 78 25  3d 30 20 3a 20 69 6e 64  | !index%=0 : ind|
00006390  65 78 25 21 34 3d 2d 31  20 3a 20 69 6e 64 65 78  |ex%!4=-1 : index|
000063a0  25 21 38 3d 26 37 30 30  30 30 32 31 0d 22 88 1b  |%!8=&7000021."..|
000063b0  20 20 6c 65 6e 67 74 68  25 3d a7 6d 65 6e 75 24  |  length%=.menu$|
000063c0  2c 22 5c 22 29 2d 31 0d  22 92 1e 20 20 6b 25 3d  |,"\")-1."..  k%=|
000063d0  a7 c0 6d 65 6e 75 24 2c  6c 65 6e 67 74 68 25 29  |..menu$,length%)|
000063e0  2c 22 3e 22 29 0d 22 9c  0d 20 20 c8 8e 20 6b 25  |,">")."..  .. k%|
000063f0  20 ca 0d 22 a6 0a 20 20  20 c9 20 30 0d 22 b0 08  | .."..   . 0."..|
00006400  20 20 20 7f 0d 22 ba 25  20 20 20 20 73 25 3d a0  |   ..".%    s%=.|
00006410  28 c1 6d 65 6e 75 24 2c  6b 25 2b 31 2c 6c 65 6e  |(.menu$,k%+1,len|
00006420  67 74 68 25 2d 6b 25 29  29 0d 22 c4 13 20 20 20  |gth%-k%))."..   |
00006430  20 69 6e 64 65 78 25 21  34 3d 73 25 0d 22 ce 14  | index%!4=s%."..|
00006440  20 20 20 20 6c 65 6e 67  74 68 25 3d 6b 25 2d 31  |    length%=k%-1|
00006450  0d 22 d8 07 20 20 cb 0d  22 e2 22 20 20 24 28 69  |."..  .."."  $(i|
00006460  6e 64 65 78 25 2b 31 32  29 3d c0 6d 65 6e 75 24  |ndex%+12)=.menu$|
00006470  2c 6c 65 6e 67 74 68 25  29 0d 22 ec 27 20 20 e7  |,length%).".'  .|
00006480  20 6c 65 6e 67 74 68 25  3e 77 69 64 74 68 25 20  | length%>width% |
00006490  8c 20 77 69 64 74 68 25  3d 6c 65 6e 67 74 68 25  |. width%=length%|
000064a0  0d 22 f6 10 20 20 69 6e  64 65 78 25 2b 3d 32 34  |."..  index%+=24|
000064b0  0d 23 00 05 cb 0d 23 0a  05 ce 0d 23 14 1a 6d 65  |.#....#....#..me|
000064c0  6e 75 25 21 31 36 3d 31  36 2a 28 77 69 64 74 68  |nu%!16=16*(width|
000064d0  25 2b 31 29 0d 23 1e 28  69 6e 64 65 78 25 21 2d  |%+1).#.(index%!-|
000064e0  32 34 3d 69 6e 64 65 78  25 21 2d 32 34 20 84 20  |24=index%!-24 . |
000064f0  26 38 30 20 3a 20 3d 6d  65 6e 75 25 0d 23 28 05  |&80 : =menu%.#(.|
00006500  3a 0d 23 32 17 dd 20 a4  57 69 6d 70 5f 4d 65 6e  |:.#2.. .Wimp_Men|
00006510  75 43 6f 6c 6f 75 72 73  0d 23 3c 21 3d a4 57 69  |uColours.#<!=.Wi|
00006520  6d 70 5f 4d 65 6e 75 43  72 65 61 74 65 43 6f 6c  |mp_MenuCreateCol|
00006530  6f 75 72 73 28 22 20 22  29 0d 23 46 05 3a 0d 23  |ours(" ").#F.:.#|
00006540  50 25 dd 20 a4 57 69 6d  70 5f 4d 65 6e 75 43 72  |P%. .Wimp_MenuCr|
00006550  65 61 74 65 43 6f 6c 6f  75 72 73 28 74 69 74 6c  |eateColours(titl|
00006560  65 24 29 0d 23 5a 13 ea  20 78 24 2c 6d 65 6e 25  |e$).#Z.. x$,men%|
00006570  2c 6a 25 2c 69 25 0d 23  64 36 78 24 3d 74 69 74  |,j%,i%.#d6x$=tit|
00006580  6c 65 24 2b 22 5c 30 5c  31 5c 32 5c 33 5c 34 5c  |le$+"\0\1\2\3\4\|
00006590  35 5c 36 5c 37 5c 38 5c  39 5c 31 30 5c 31 31 5c  |5\6\7\8\9\10\11\|
000065a0  31 32 5c 31 33 5c 31 34  5c 31 35 22 0d 23 6e 1d  |12\13\14\15".#n.|
000065b0  6d 65 6e 25 3d a4 57 69  6d 70 5f 4d 65 6e 75 43  |men%=.Wimp_MenuC|
000065c0  72 65 61 74 65 28 78 24  29 0d 23 78 0f e3 20 69  |reate(x$).#x.. i|
000065d0  25 3d 30 20 b8 20 31 35  0d 23 82 0a c8 8e 20 b9  |%=0 . 15.#.... .|
000065e0  20 ca 0d 23 8c 28 c9 20  69 25 3c 34 2c 69 25 3d  | ..#.(. i%<4,i%=|
000065f0  39 2c 69 25 3d 31 32 2c  69 25 3d 31 34 2c 69 25  |9,i%=12,i%=14,i%|
00006600  3d 31 35 20 3a 20 6a 25  3d 37 0d 23 96 0c 7f 20  |=15 : j%=7.#... |
00006610  3a 20 6a 25 3d 30 0d 23  a0 05 cb 0d 23 aa 1c 6d  |: j%=0.#....#..m|
00006620  65 6e 25 3f 28 33 39 2b  69 25 2a 32 34 29 3d 69  |en%?(39+i%*24)=i|
00006630  25 2a 31 36 2b 6a 25 0d  23 b4 1f f2 57 69 6d 70  |%*16+j%.#...Wimp|
00006640  5f 4d 65 6e 75 43 65 6e  74 72 65 28 6d 65 6e 25  |_MenuCentre(men%|
00006650  2c 69 25 2b 31 29 0d 23  be 05 ed 0d 23 c8 09 3d  |,i%+1).#....#..=|
00006660  6d 65 6e 25 0d 23 d2 05  3a 0d 23 dc 22 dd 20 a4  |men%.#..:.#.". .|
00006670  57 69 6d 70 5f 4d 65 6e  75 4e 6f 4f 66 45 6e 74  |Wimp_MenuNoOfEnt|
00006680  72 69 65 73 28 6d 65 6e  75 24 29 0d 23 e6 1a ea  |ries(menu$).#...|
00006690  20 6e 25 20 2c 6a 25 20  3a 20 6e 25 3d 30 20 3a  | n% ,j% : n%=0 :|
000066a0  20 6a 25 3d 30 0d 23 f0  05 f5 0d 23 fa 17 6a 25  | j%=0.#....#..j%|
000066b0  3d a7 6d 65 6e 75 24 2c  22 5c 22 2c 6a 25 2b 31  |=.menu$,"\",j%+1|
000066c0  29 0d 24 04 13 e7 20 6a  25 3c 3e 30 20 8c 20 6e  |).$... j%<>0 . n|
000066d0  25 2b 3d 31 0d 24 0e 0a  fd 20 6a 25 3d 30 0d 24  |%+=1.$... j%=0.$|
000066e0  18 07 3d 6e 25 0d 24 22  05 3a 0d 24 2c 35 dd 20  |..=n%.$".:.$,5. |
000066f0  f2 57 69 6d 70 5f 4d 65  6e 75 42 61 63 6b 47 72  |.Wimp_MenuBackGr|
00006700  6f 75 6e 64 43 6f 6c 6f  75 72 28 6d 65 6e 75 25  |oundColour(menu%|
00006710  2c 69 74 65 6d 25 2c 63  6f 6c 6f 75 72 25 29 0d  |,item%,colour%).|
00006720  24 36 0e ea 20 66 6f 72  65 25 2c 69 25 0d 24 40  |$6.. fore%,i%.$@|
00006730  26 66 6f 72 65 25 3d 28  6d 65 6e 75 25 3f 28 33  |&fore%=(menu%?(3|
00006740  39 2b 28 69 74 65 6d 25  2d 31 29 2a 32 34 29 29  |9+(item%-1)*24))|
00006750  83 31 36 0d 24 4a 28 69  25 3d 28 28 6d 65 6e 75  |.16.$J(i%=((menu|
00006760  25 3f 28 33 39 2b 28 69  74 65 6d 25 2d 31 29 2a  |%?(39+(item%-1)*|
00006770  32 34 29 29 81 31 36 29  83 31 36 0d 24 54 2f 6d  |24)).16).16.$T/m|
00006780  65 6e 75 25 3f 28 33 39  2b 28 69 74 65 6d 25 2d  |enu%?(39+(item%-|
00006790  31 29 2a 32 34 29 3d 66  6f 72 65 25 2b 31 36 2a  |1)*24)=fore%+16*|
000067a0  63 6f 6c 6f 75 72 25 2b  69 25 0d 24 5e 05 e1 0d  |colour%+i%.$^...|
000067b0  24 68 05 3a 0d 24 72 23  dd 20 f2 57 69 6d 70 5f  |$h.:.$r#. .Wimp_|
000067c0  4d 65 6e 75 43 65 6e 74  72 65 28 6d 65 6e 75 25  |MenuCentre(menu%|
000067d0  2c 69 74 65 6d 25 29 0d  24 7c 3a 6d 65 6e 75 25  |,item%).$|:menu%|
000067e0  21 28 33 36 2b 28 69 74  65 6d 25 2d 31 29 2a 32  |!(36+(item%-1)*2|
000067f0  34 29 3d 6d 65 6e 75 25  21 28 33 36 2b 28 69 74  |4)=menu%!(36+(it|
00006800  65 6d 25 2d 31 29 2a 32  34 29 84 28 31 3c 3c 33  |em%-1)*24).(1<<3|
00006810  29 0d 24 86 05 e1 0d 24  90 05 3a 0d 24 9a 15 dd  |).$....$..:.$...|
00006820  20 f2 57 69 6d 70 5f 4d  65 6e 75 43 6c 6f 73 65  | .Wimp_MenuClose|
00006830  0d 24 a4 1b c8 99 20 22  57 69 6d 70 5f 43 72 65  |.$.... "Wimp_Cre|
00006840  61 74 65 4d 65 6e 75 22  2c 2d 31 0d 24 ae 05 e1  |ateMenu",-1.$...|
00006850  0d 24 b8 05 3a 0d 24 c2  24 dd 20 f2 57 69 6d 70  |.$..:.$.$. .Wimp|
00006860  5f 4d 65 6e 75 44 69 73  61 62 6c 65 28 6d 65 6e  |_MenuDisable(men|
00006870  75 25 2c 69 74 65 6d 25  29 0d 24 cc 3b 6d 65 6e  |u%,item%).$.;men|
00006880  75 25 21 28 33 36 2b 28  69 74 65 6d 25 2d 31 29  |u%!(36+(item%-1)|
00006890  2a 32 34 29 3d 6d 65 6e  75 25 21 28 33 36 2b 28  |*24)=menu%!(36+(|
000068a0  69 74 65 6d 25 2d 31 29  2a 32 34 29 84 28 31 3c  |item%-1)*24).(1<|
000068b0  3c 32 32 29 0d 24 d6 05  e1 0d 24 e0 05 3a 0d 24  |<22).$....$..:.$|
000068c0  ea 27 dd 20 f2 57 69 6d  70 5f 4d 65 6e 75 44 6f  |.'. .Wimp_MenuDo|
000068d0  74 74 65 64 4c 69 6e 65  28 6d 65 6e 75 25 2c 69  |ttedLine(menu%,i|
000068e0  74 65 6d 25 29 0d 24 f4  37 6d 65 6e 75 25 21 28  |tem%).$.7menu%!(|
000068f0  32 38 2b 28 69 74 65 6d  25 2d 31 29 2a 32 34 29  |28+(item%-1)*24)|
00006900  3d 28 6d 65 6e 75 25 21  28 32 38 2b 28 69 74 65  |=(menu%!(28+(ite|
00006910  6d 25 2d 31 29 2a 32 34  29 29 84 32 0d 24 fe 05  |m%-1)*24)).2.$..|
00006920  e1 0d 25 08 05 3a 0d 25  12 23 dd 20 f2 57 69 6d  |..%..:.%.#. .Wim|
00006930  70 5f 4d 65 6e 75 45 6e  61 62 6c 65 28 6d 65 6e  |p_MenuEnable(men|
00006940  75 25 2c 69 74 65 6d 25  29 0d 25 1c 22 f2 57 69  |u%,item%).%.".Wi|
00006950  6d 70 5f 4d 65 6e 75 44  69 73 61 62 6c 65 28 6d  |mp_MenuDisable(m|
00006960  65 6e 75 25 2c 69 74 65  6d 25 29 0d 25 26 3b 6d  |enu%,item%).%&;m|
00006970  65 6e 75 25 21 28 33 36  2b 28 69 74 65 6d 25 2d  |enu%!(36+(item%-|
00006980  31 29 2a 32 34 29 3d 6d  65 6e 75 25 21 28 33 36  |1)*24)=menu%!(36|
00006990  2b 28 69 74 65 6d 25 2d  31 29 2a 32 34 29 82 28  |+(item%-1)*24).(|
000069a0  31 3c 3c 32 32 29 0d 25  30 05 e1 0d 25 3a 05 3a  |1<<22).%0...%:.:|
000069b0  0d 25 44 35 dd 20 f2 57  69 6d 70 5f 4d 65 6e 75  |.%D5. .Wimp_Menu|
000069c0  46 6f 72 65 67 72 6f 75  6e 64 43 6f 6c 6f 75 72  |ForegroundColour|
000069d0  28 6d 65 6e 75 25 2c 69  74 65 6d 25 2c 63 6f 6c  |(menu%,item%,col|
000069e0  6f 75 72 25 29 0d 25 4e  45 6d 65 6e 75 25 3f 28  |our%).%NEmenu%?(|
000069f0  33 39 2b 28 69 74 65 6d  25 2d 31 29 2a 32 34 29  |39+(item%-1)*24)|
00006a00  3d 63 6f 6c 6f 75 72 25  2b 31 36 2a 28 28 6d 65  |=colour%+16*((me|
00006a10  6e 75 25 3f 28 33 39 2b  28 69 74 65 6d 25 2d 31  |nu%?(39+(item%-1|
00006a20  29 2a 32 34 29 29 81 31  36 29 0d 25 58 05 e1 0d  |)*24)).16).%X...|
00006a30  25 62 05 3a 0d 25 6c 29  dd 20 f2 57 69 6d 70 5f  |%b.:.%l). .Wimp_|
00006a40  4d 65 6e 75 47 6c 75 65  28 6d 65 6e 75 31 25 2c  |MenuGlue(menu1%,|
00006a50  69 74 65 6d 25 2c 6d 65  6e 75 32 25 29 0d 25 76  |item%,menu2%).%v|
00006a60  1e 6d 65 6e 75 31 25 21  28 38 2b 69 74 65 6d 25  |.menu1%!(8+item%|
00006a70  2a 32 34 29 3d 6d 65 6e  75 32 25 0d 25 80 05 e1  |*24)=menu2%.%...|
00006a80  0d 25 8a 05 3a 0d 25 94  27 dd 20 f2 57 69 6d 70  |.%..:.%.'. .Wimp|
00006a90  5f 4d 65 6e 75 49 74 65  6d 28 6d 65 6e 75 25 2c  |_MenuItem(menu%,|
00006aa0  69 74 65 6d 25 2c 69 74  65 6d 24 29 0d 25 9e 2c  |item%,item$).%.,|
00006ab0  24 28 6d 65 6e 75 25 2b  28 34 30 2b 28 69 74 65  |$(menu%+(40+(ite|
00006ac0  6d 25 2d 31 29 2a 32 34  29 29 3d c0 69 74 65 6d  |m%-1)*24))=.item|
00006ad0  24 2c 31 32 29 2b bd 30  0d 25 a8 05 e1 0d 25 b2  |$,12)+.0.%....%.|
00006ae0  05 3a 0d 25 bc 24 dd 20  f2 57 69 6d 70 5f 4d 65  |.:.%.$. .Wimp_Me|
00006af0  6e 75 4d 65 73 73 61 67  65 28 6d 65 6e 75 25 2c  |nuMessage(menu%,|
00006b00  69 74 65 6d 25 29 0d 25  c6 3c 6d 65 6e 75 25 21  |item%).%.<menu%!|
00006b10  28 32 38 2b 28 69 74 65  6d 25 2d 31 29 2a 32 34  |(28+(item%-1)*24|
00006b20  29 3d 28 6d 65 6e 75 25  21 28 32 38 2b 28 69 74  |)=(menu%!(28+(it|
00006b30  65 6d 25 2d 31 29 2a 32  34 29 29 82 28 31 3c 3c  |em%-1)*24)).(1<<|
00006b40  33 29 0d 25 d0 05 e1 0d  25 da 05 3a 0d 25 e4 22  |3).%....%..:.%."|
00006b50  dd 20 f2 57 69 6d 70 5f  4d 65 6e 75 50 6f 70 55  |. .Wimp_MenuPopU|
00006b60  70 28 4d 65 6e 75 25 2c  78 25 2c 79 25 29 0d 25  |p(Menu%,x%,y%).%|
00006b70  ee 0d e7 20 53 41 25 3d  a3 20 8c 0d 25 f8 0f 6d  |... SA%=. ..%..m|
00006b80  65 6e 75 25 3d 4d 65 6e  75 25 0d 26 02 2b c8 99  |enu%=Menu%.&.+..|
00006b90  20 22 57 69 6d 70 5f 43  72 65 61 74 65 4d 65 6e  | "Wimp_CreateMen|
00006ba0  75 22 2c 2c 6d 65 6e 75  25 2c 78 25 2d 36 34 2c  |u",,menu%,x%-64,|
00006bb0  79 25 2b 32 30 0d 26 0c  05 cd 0d 26 16 05 e1 0d  |y%+20.&....&....|
00006bc0  26 20 05 3a 0d 26 2a 1f  dd 20 f2 57 69 6d 70 5f  |& .:.&*.. .Wimp_|
00006bd0  4d 65 6e 75 50 6f 70 55  70 42 61 72 28 78 25 2c  |MenuPopUpBar(x%,|
00006be0  79 25 29 0d 26 34 0f ea  20 6e 25 20 3a 20 6e 25  |y%).&4.. n% : n%|
00006bf0  3d 30 0d 26 3e 2b c8 95  20 28 28 42 61 72 5f 4d  |=0.&>+.. ((Bar_M|
00006c00  65 6e 75 25 21 28 32 38  2b 6e 25 2a 32 34 29 29  |enu%!(28+n%*24))|
00006c10  80 25 31 30 30 30 30 30  30 30 29 3d 30 0d 26 48  |.%10000000)=0.&H|
00006c20  09 6e 25 2b 3d 31 0d 26  52 05 ce 0d 26 5c 32 c8  |.n%+=1.&R...&\2.|
00006c30  99 20 22 57 69 6d 70 5f  43 72 65 61 74 65 4d 65  |. "Wimp_CreateMe|
00006c40  6e 75 22 2c 2c 42 61 72  5f 4d 65 6e 75 25 2c 78  |nu",,Bar_Menu%,x|
00006c50  25 2d 36 34 2c 39 36 2b  6e 25 2a 34 34 0d 26 66  |%-64,96+n%*44.&f|
00006c60  13 6d 65 6e 75 25 3d 42  61 72 5f 4d 65 6e 75 25  |.menu%=Bar_Menu%|
00006c70  0d 26 70 05 e1 0d 26 7a  05 3a 0d 26 84 21 dd 20  |.&p...&z.:.&.!. |
00006c80  f2 57 69 6d 70 5f 4d 65  6e 75 54 69 63 6b 28 6d  |.Wimp_MenuTick(m|
00006c90  65 6e 75 25 2c 69 74 65  6d 25 29 0d 26 8e 37 6d  |enu%,item%).&.7m|
00006ca0  65 6e 75 25 21 28 32 38  2b 28 69 74 65 6d 25 2d  |enu%!(28+(item%-|
00006cb0  31 29 2a 32 34 29 3d 28  6d 65 6e 75 25 21 28 32  |1)*24)=(menu%!(2|
00006cc0  38 2b 28 69 74 65 6d 25  2d 31 29 2a 32 34 29 29  |8+(item%-1)*24))|
00006cd0  82 31 0d 26 98 05 e1 0d  26 a2 05 3a 0d 26 ac 23  |.1.&....&..:.&.#|
00006ce0  dd 20 f2 57 69 6d 70 5f  4d 65 6e 75 54 69 74 6c  |. .Wimp_MenuTitl|
00006cf0  65 28 6d 65 6e 75 25 2c  74 69 74 6c 65 24 29 0d  |e(menu%,title$).|
00006d00  26 b6 19 24 6d 65 6e 75  25 3d c0 74 69 74 6c 65  |&..$menu%=.title|
00006d10  24 2c 31 32 29 2b bd 30  0d 26 c0 05 e1 0d 26 ca  |$,12)+.0.&....&.|
00006d20  05 3a 0d 26 d4 3d dd 20  f2 57 69 6d 70 5f 4d 65  |.:.&.=. .Wimp_Me|
00006d30  6e 75 57 72 69 74 65 28  6d 65 6e 75 25 2c 69 74  |nuWrite(menu%,it|
00006d40  65 6d 25 2c 62 75 66 66  65 72 25 2c 76 61 6c 25  |em%,buffer%,val%|
00006d50  2c 42 75 66 66 65 72 4c  65 6e 67 74 68 25 29 0d  |,BufferLength%).|
00006d60  26 de 37 6d 65 6e 75 25  21 28 32 38 2b 28 69 74  |&.7menu%!(28+(it|
00006d70  65 6d 25 2d 31 29 2a 32  34 29 3d 28 6d 65 6e 75  |em%-1)*24)=(menu|
00006d80  25 21 28 32 38 2b 28 69  74 65 6d 25 2d 31 29 2a  |%!(28+(item%-1)*|
00006d90  32 34 29 29 84 34 0d 26  e8 38 6d 65 6e 75 25 21  |24)).4.&.8menu%!|
00006da0  28 33 36 2b 28 69 74 65  6d 25 2d 31 29 2a 32 34  |(36+(item%-1)*24|
00006db0  29 3d 6d 65 6e 75 25 21  28 33 36 2b 28 69 74 65  |)=menu%!(36+(ite|
00006dc0  6d 25 2d 31 29 2a 32 34  29 84 26 31 30 30 0d 26  |m%-1)*24).&100.&|
00006dd0  f2 23 6d 65 6e 75 25 21  28 34 30 2b 28 69 74 65  |.#menu%!(40+(ite|
00006de0  6d 25 2d 31 29 2a 32 34  29 3d 62 75 66 66 65 72  |m%-1)*24)=buffer|
00006df0  25 0d 26 fc 20 6d 65 6e  75 25 21 28 34 34 2b 28  |%.&. menu%!(44+(|
00006e00  69 74 65 6d 25 2d 31 29  2a 32 34 29 3d 76 61 6c  |item%-1)*24)=val|
00006e10  25 0d 27 06 29 6d 65 6e  75 25 21 28 34 38 2b 28  |%.'.)menu%!(48+(|
00006e20  69 74 65 6d 25 2d 31 29  2a 32 34 29 3d 42 75 66  |item%-1)*24)=Buf|
00006e30  66 65 72 4c 65 6e 67 74  68 25 0d 27 10 05 e1 0d  |ferLength%.'....|
00006e40  27 1a 05 3a 0d 27 24 49  f4 20 2a 2a 2a 2a 2a 2a  |'..:.'$I. ******|
00006e50  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00006e80  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 0d 27 2e  |*************.'.|
00006e90  05 3a 0d 27 38 25 dd 20  f2 57 69 6d 70 5f 53 65  |.:.'8%. .Wimp_Se|
00006ea0  6c 65 63 74 49 63 6f 6e  28 77 69 6e 64 6f 77 25  |lectIcon(window%|
00006eb0  2c 69 63 6f 6e 25 29 0d  27 42 13 77 69 6d 70 25  |,icon%).'B.wimp%|
00006ec0  21 30 3d 77 69 6e 64 6f  77 25 0d 27 4c 11 77 69  |!0=window%.'L.wi|
00006ed0  6d 70 25 21 34 3d 69 63  6f 6e 25 0d 27 56 23 77  |mp%!4=icon%.'V#w|
00006ee0  69 6d 70 25 21 38 3d 25  31 30 30 30 30 30 30 30  |imp%!8=%10000000|
00006ef0  30 30 30 30 30 30 30 30  30 30 30 30 30 30 0d 27  |00000000000000.'|
00006f00  60 24 77 69 6d 70 25 21  31 32 3d 25 31 30 30 30  |`$wimp%!12=%1000|
00006f10  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00006f20  30 30 0d 27 6a 13 c8 99  26 34 30 30 43 44 2c 2c  |00.'j...&400CD,,|
00006f30  77 69 6d 70 25 0d 27 74  05 e1 0d 27 7e 05 3a 0d  |wimp%.'t...'~.:.|
00006f40  27 88 27 dd 20 f2 57 69  6d 70 5f 55 6e 73 65 6c  |'.'. .Wimp_Unsel|
00006f50  65 63 74 49 63 6f 6e 28  77 69 6e 64 6f 77 25 2c  |ectIcon(window%,|
00006f60  69 63 6f 6e 25 29 0d 27  92 13 77 69 6d 70 25 21  |icon%).'..wimp%!|
00006f70  30 3d 77 69 6e 64 6f 77  25 0d 27 9c 11 77 69 6d  |0=window%.'..wim|
00006f80  70 25 21 34 3d 69 63 6f  6e 25 0d 27 a6 0d 77 69  |p%!4=icon%.'..wi|
00006f90  6d 70 25 21 38 3d 30 0d  27 b0 24 77 69 6d 70 25  |mp%!8=0.'.$wimp%|
00006fa0  21 31 32 3d 25 31 30 30  30 30 30 30 30 30 30 30  |!12=%10000000000|
00006fb0  30 30 30 30 30 30 30 30  30 30 30 0d 27 ba 13 c8  |00000000000.'...|
00006fc0  99 26 34 30 30 43 44 2c  2c 77 69 6d 70 25 0d 27  |.&400CD,,wimp%.'|
00006fd0  c4 05 e1 0d 27 ce 05 3a  0d 27 d8 17 dd 20 f2 57  |....'..:.'... .W|
00006fe0  69 6d 70 5f 53 70 72 69  74 65 73 4c 6f 61 64 0d  |imp_SpritesLoad.|
00006ff0  27 e2 2f f2 57 69 6d 70  5f 53 70 72 69 74 65 73  |'./.Wimp_Sprites|
00007000  50 61 74 68 4c 6f 61 64  28 22 3c 4f 62 65 79 24  |PathLoad("<Obey$|
00007010  44 69 72 3e 2e 53 70 72  69 74 65 73 22 29 0d 27  |Dir>.Sprites").'|
00007020  ec 1c 64 69 72 65 63 74  5f 73 70 72 69 74 65 73  |..direct_sprites|
00007030  25 3d 73 70 72 69 74 65  73 25 0d 27 f6 05 e1 0d  |%=sprites%.'....|
00007040  28 00 05 3a 0d 28 0a 26  dd 20 f2 57 69 6d 70 5f  |(..:.(.&. .Wimp_|
00007050  53 70 72 69 74 65 73 50  61 74 68 4c 6f 61 64 28  |SpritesPathLoad(|
00007060  70 61 74 68 6e 61 6d 65  24 29 0d 28 14 0a ea 53  |pathname$).(...S|
00007070  25 2c 54 25 0d 28 1e 2c  53 25 3d 8e 22 3c 4f 62  |%,T%.(.,S%=."<Ob|
00007080  65 79 24 44 69 72 3e 2e  53 70 72 69 74 65 73 22  |ey$Dir>.Sprites"|
00007090  3a 54 25 3d a2 23 53 25  2b 31 36 3a d9 23 53 25  |:T%=.#S%+16:.#S%|
000070a0  0d 28 28 19 de 73 70 72  69 74 65 73 25 54 25 2c  |.((..sprites%T%,|
000070b0  73 70 6e 61 6d 65 25 31  32 0d 28 32 1d 21 73 70  |spname%12.(2.!sp|
000070c0  72 69 74 65 73 25 3d 54  25 3a 73 70 72 69 74 65  |rites%=T%:sprite|
000070d0  73 25 21 38 3d 30 0d 28  3c 21 c8 99 22 4f 53 5f  |s%!8=0.(<!.."OS_|
000070e0  53 70 72 69 74 65 4f 70  22 2c 26 31 30 39 2c 73  |SpriteOp",&109,s|
000070f0  70 72 69 74 65 73 25 0d  28 46 2b c8 99 22 4f 53  |prites%.(F+.."OS|
00007100  5f 53 70 72 69 74 65 4f  70 22 2c 26 31 30 41 2c  |_SpriteOp",&10A,|
00007110  73 70 72 69 74 65 73 25  2c 70 61 74 68 6e 61 6d  |sprites%,pathnam|
00007120  65 24 0d 28 50 05 e1 0d  28 5a 05 3a 0d 28 64 49  |e$.(P...(Z.:.(dI|
00007130  f4 20 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |. **************|
00007140  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00007170  2a 2a 2a 2a 2a 0d 28 6e  05 3a 0d 28 78 1b dd 20  |*****.(n.:.(x.. |
00007180  a4 57 69 6d 70 5f 46 69  6c 65 54 79 70 65 28 74  |.Wimp_FileType(t|
00007190  79 70 65 25 29 0d 28 82  0c c8 8e 74 79 70 65 25  |ype%).(....type%|
000071a0  ca 0d 28 8c 11 c9 26 46  46 46 3a 3d 22 54 65 78  |..(...&FFF:="Tex|
000071b0  74 22 0d 28 96 11 c9 26  46 46 44 3a 3d 22 44 61  |t".(...&FFD:="Da|
000071c0  74 61 22 0d 28 a0 12 c9  26 46 46 42 3a 3d 22 42  |ta".(...&FFB:="B|
000071d0  61 73 69 63 22 0d 28 aa  13 c9 26 46 46 39 3a 3d  |asic".(...&FF9:=|
000071e0  22 53 70 72 69 74 65 22  0d 28 b4 14 c9 26 46 45  |"Sprite".(...&FE|
000071f0  44 3a 3d 22 50 61 6c 65  74 74 65 22 0d 28 be 15  |D:="Palette".(..|
00007200  c9 26 46 45 43 3a 3d 22  54 65 6d 70 6c 61 74 65  |.&FEC:="Template|
00007210  22 0d 28 c8 11 c9 26 41  46 46 3a 3d 22 44 72 61  |".(...&AFF:="Dra|
00007220  77 22 0d 28 d2 14 c9 26  31 30 30 30 3a 3d 22 46  |w".(...&1000:="F|
00007230  6f 6c 64 65 72 22 0d 28  dc 19 c9 26 32 30 30 30  |older".(...&2000|
00007240  3a 3d 22 41 70 70 6c 69  63 61 74 69 6f 6e 22 0d  |:="Application".|
00007250  28 e6 0f 7f 3d c3 7e 28  74 79 70 65 25 29 0d 28  |(...=.~(type%).(|
00007260  f0 05 cb 0d 28 fa 05 3a  0d 29 04 1b dd 20 a4 57  |....(..:.)... .W|
00007270  69 6d 70 5f 47 65 74 46  69 6c 65 50 61 74 68 4e  |imp_GetFilePathN|
00007280  61 6d 65 0d 29 0e 27 3d  a4 57 69 6d 70 5f 47 65  |ame.).'=.Wimp_Ge|
00007290  74 53 74 72 69 6e 67 41  74 41 64 64 72 65 73 73  |tStringAtAddress|
000072a0  28 77 69 6d 70 25 2b 34  34 29 0d 29 18 05 3a 0d  |(wimp%+44).)..:.|
000072b0  29 22 1f dd 20 a4 57 69  6d 70 5f 46 69 6c 65 4c  |)".. .Wimp_FileL|
000072c0  6f 61 64 28 70 61 74 68  6e 61 6d 65 24 29 0d 29  |oad(pathname$).)|
000072d0  2c 10 ea 53 25 2c 54 25  2c 66 69 6c 65 25 0d 29  |,..S%,T%,file%.)|
000072e0  36 11 53 25 3d 8e 70 61  74 68 6e 61 6d 65 24 0d  |6.S%=.pathname$.|
000072f0  29 40 0e 54 25 3d a2 23  53 25 2b 31 36 0d 29 4a  |)@.T%=.#S%+16.)J|
00007300  08 d9 23 53 25 0d 29 54  0c de 66 69 6c 65 25 54  |..#S%.)T..file%T|
00007310  25 0d 29 5e 22 ff 28 22  4c 4f 41 44 22 2b 70 61  |%.)^".("LOAD"+pa|
00007320  74 68 6e 61 6d 65 24 2b  22 22 2b c3 7e 66 69 6c  |thname$+""+.~fil|
00007330  65 25 29 0d 29 68 0a 3d  66 69 6c 65 25 0d 29 72  |e%).)h.=file%.)r|
00007340  05 3b 0d 29 7c 26 dd 20  a4 57 69 6d 70 5f 47 65  |.;.)|&. .Wimp_Ge|
00007350  74 53 74 72 69 6e 67 41  74 41 64 64 72 65 73 73  |tStringAtAddress|
00007360  28 61 72 72 61 79 25 29  0d 29 86 0d ea 73 24 3a  |(array%).)...s$:|
00007370  73 24 3d 22 22 0d 29 90  3c c8 95 28 3f 61 72 72  |s$="".).<..(?arr|
00007380  61 79 25 3c 3e 31 33 29  80 28 3f 61 72 72 61 79  |ay%<>13).(?array|
00007390  25 3c 3e 30 29 3a 73 24  2b 3d bd 28 3f 61 72 72  |%<>0):s$+=.(?arr|
000073a0  61 79 25 29 3a 61 72 72  61 79 25 2b 3d 31 3a ce  |ay%):array%+=1:.|
000073b0  3a 0d 29 9a 07 3d 73 24  0d 29 a4 05 3a 0d 29 ae  |:.)..=s$.)..:.).|
000073c0  23 dd 20 a4 57 69 6d 70  5f 47 65 74 46 69 6c 65  |#. .Wimp_GetFile|
000073d0  46 72 6f 6d 50 61 74 68  6e 61 6d 65 28 66 24 29  |FromPathname(f$)|
000073e0  0d 29 b8 11 c8 8e 20 a7  66 24 2c 22 2e 22 29 20  |.).... .f$,".") |
000073f0  ca 0d 29 c2 10 20 c9 20  30 20 20 20 20 3a 3d 66  |..).. . 0    :=f|
00007400  24 0d 29 cc 37 20 7f 20  3a 3d a4 57 69 6d 70 5f  |$.).7 . :=.Wimp_|
00007410  47 65 74 46 69 6c 65 46  72 6f 6d 50 61 74 68 6e  |GetFileFromPathn|
00007420  61 6d 65 28 c2 66 24 2c  a9 28 66 24 29 2d a7 66  |ame(.f$,.(f$)-.f|
00007430  24 2c 22 2e 22 29 29 29  0d 29 d6 05 cb 0d 29 e0  |$,"."))).)....).|
00007440  05 3a 0d 29 ea 1d dd 20  f2 57 69 6d 70 5f 53 65  |.:.)... .Wimp_Se|
00007450  6e 64 54 6f 45 64 69 74  28 66 69 6c 65 24 29 0d  |ndToEdit(file$).|
00007460  29 f4 08 ea 20 6e 25 0d  29 fe 15 77 69 6d 70 25  |)... n%.)..wimp%|
00007470  21 34 3d 26 36 43 43 30  31 43 30 43 0d 2a 08 0e  |!4=&6CC01C0C.*..|
00007480  77 69 6d 70 25 21 31 36  3d 35 0d 2a 12 0e 77 69  |wimp%!16=5.*..wi|
00007490  6d 70 25 21 33 36 3d 30  0d 2a 1c 11 77 69 6d 70  |mp%!36=0.*..wimp|
000074a0  25 21 34 30 3d 26 46 46  46 0d 2a 26 18 24 28 77  |%!40=&FFF.*&.$(w|
000074b0  69 6d 70 25 2b 34 34 29  3d 66 69 6c 65 24 2b bd  |imp%+44)=file$+.|
000074c0  30 0d 2a 30 10 6e 25 3d  a9 66 69 6c 65 24 2b 34  |0.*0.n%=.file$+4|
000074d0  35 0d 2a 3a 2c e7 20 6e  25 83 34 20 8c 20 21 77  |5.*:,. n%.4 . !w|
000074e0  69 6d 70 25 3d 34 2b 28  6e 25 3e 3e 32 29 3c 3c  |imp%=4+(n%>>2)<<|
000074f0  32 20 8b 20 21 77 69 6d  70 25 3d 6e 25 0d 2a 44  |2 . !wimp%=n%.*D|
00007500  24 c8 99 20 22 57 69 6d  70 5f 53 65 6e 64 4d 65  |$.. "Wimp_SendMe|
00007510  73 73 61 67 65 22 2c 31  37 2c 77 69 6d 70 25 2c  |ssage",17,wimp%,|
00007520  30 0d 2a 4e 05 e1 0d 2a  58 05 3a 0d 2a 62 49 f4  |0.*N...*X.:.*bI.|
00007530  20 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  | ***************|
00007540  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00007570  2a 2a 2a 2a 0d 2a 6c 05  3a 0d 2a 76 2f dd 20 f2  |****.*l.:.*v/. .|
00007580  57 69 6d 70 5f 53 74 61  72 74 28 54 61 73 6b 4e  |Wimp_Start(TaskN|
00007590  61 6d 65 24 2c 77 69 6d  70 5f 6d 65 6d 6f 72 79  |ame$,wimp_memory|
000075a0  25 2c 69 63 6f 6e 25 29  0d 2a 80 25 de 20 77 69  |%,icon%).*.%. wi|
000075b0  6d 70 25 20 77 69 6d 70  5f 6d 65 6d 6f 72 79 25  |mp% wimp_memory%|
000075c0  2c 69 63 6f 6e 73 25 20  69 63 6f 6e 25 0d 2a 8a  |,icons% icon%.*.|
000075d0  29 e7 20 77 69 6d 70 5f  6d 65 6d 6f 72 79 25 3c  |). wimp_memory%<|
000075e0  32 35 36 20 8c 20 77 69  6d 70 5f 6d 65 6d 6f 72  |256 . wimp_memor|
000075f0  79 25 3d 32 35 36 0d 2a  94 1d 69 63 6f 6e 5f 6d  |y%=256.*..icon_m|
00007600  65 6d 6f 72 79 25 3d 69  63 6f 6e 73 25 2b 69 63  |emory%=icons%+ic|
00007610  6f 6e 25 0d 2a 9e 13 74  61 73 6b 24 3d 54 61 73  |on%.*..task$=Tas|
00007620  6b 4e 61 6d 65 24 0d 2a  a8 2b 69 6e 64 69 72 65  |kName$.*.+indire|
00007630  63 74 5f 73 70 72 69 74  65 73 25 3d 31 20 3a 20  |ct_sprites%=1 : |
00007640  64 69 72 65 63 74 5f 73  70 72 69 74 65 73 25 3d  |direct_sprites%=|
00007650  31 0d 2a b2 1b f2 57 69  6d 70 5f 53 65 74 45 76  |1.*...Wimp_SetEv|
00007660  65 6e 74 56 61 72 69 61  62 6c 65 73 0d 2a bc 15  |entVariables.*..|
00007670  ee 20 85 20 f2 57 69 6d  70 5f 45 72 72 6f 72 3a  |. . .Wimp_Error:|
00007680  e0 0d 2a c6 40 c8 99 22  57 69 6d 70 5f 49 6e 69  |..*.@.."Wimp_Ini|
00007690  74 69 61 6c 69 73 65 22  2c 32 30 30 2c 26 34 42  |tialise",200,&4B|
000076a0  35 33 34 31 35 34 2c 54  61 73 6b 4e 61 6d 65 24  |534154,TaskName$|
000076b0  20 b8 20 76 65 72 73 69  6f 6e 25 2c 74 61 73 6b  | . version%,task|
000076c0  25 0d 2a d0 05 e1 0d 2a  da 05 3a 0d 2a e4 1b dd  |%.*....*..:.*...|
000076d0  20 a4 57 69 6d 70 5f 42  41 53 49 43 50 61 72 61  | .Wimp_BASICPara|
000076e0  6d 65 74 65 72 73 0d 2a  ee 15 20 ea 20 63 6f 6d  |meters.*.. . com|
000076f0  24 2c 70 61 72 61 6d 24  2c 49 25 0d 2a f8 1a 20  |$,param$,I%.*.. |
00007700  c8 99 20 22 4f 53 5f 47  65 74 45 6e 76 22 20 b8  |.. "OS_GetEnv" .|
00007710  20 63 6f 6d 24 0d 2b 02  0f 20 70 61 72 61 6d 73  | com$.+.. params|
00007720  24 3d 22 22 0d 2b 0c 18  20 49 25 3d a7 63 6f 6d  |$="".+.. I%=.com|
00007730  24 2c 22 20 2d 71 75 69  74 20 22 29 0d 2b 16 35  |$," -quit ").+.5|
00007740  20 e7 20 49 25 20 8c 20  70 61 72 61 6d 73 24 3d  | . I% . params$=|
00007750  c1 63 6f 6d 24 2c a7 63  6f 6d 24 2c 22 20 22 2c  |.com$,.com$," ",|
00007760  49 25 2b a9 22 20 2d 71  75 69 74 20 22 29 2b 31  |I%+." -quit ")+1|
00007770  29 0d 2b 20 0c 3d 70 61  72 61 6d 73 24 0d 2b 2a  |).+ .=params$.+*|
00007780  05 3a 0d 2b 34 1d dd 20  f2 57 69 6d 70 5f 53 65  |.:.+4.. .Wimp_Se|
00007790  74 45 76 65 6e 74 56 61  72 69 61 62 6c 65 73 0d  |tEventVariables.|
000077a0  2b 3e 17 de 20 70 6f 69  6e 74 65 72 5f 62 6c 6f  |+>.. pointer_blo|
000077b0  63 6b 25 20 32 30 0d 2b  48 10 69 6e 74 65 72 66  |ck% 20.+H.interf|
000077c0  61 63 65 25 3d a3 0d 2b  52 2e 6e 75 6c 6c 25 3d  |ace%=..+R.null%=|
000077d0  31 20 20 3a 64 72 61 77  25 3d 32 20 3a 20 20 70  |1  :draw%=2 :  p|
000077e0  6f 69 6e 74 65 72 5f 6c  65 61 76 69 6e 67 25 3d  |ointer_leaving%=|
000077f0  31 3c 3c 34 0d 2b 5c 31  70 6f 69 6e 74 65 72 5f  |1<<4.+\1pointer_|
00007800  65 6e 74 65 72 69 6e 67  25 3d 31 3c 3c 35 3a 6d  |entering%=1<<5:m|
00007810  6f 75 73 65 25 3d 31 3c  3c 36 3a 64 72 61 67 25  |ouse%=1<<6:drag%|
00007820  3d 31 3c 3c 37 0d 2b 66  26 6b 65 79 25 3d 31 3c  |=1<<7.+f&key%=1<|
00007830  3c 38 3a 6d 65 6e 75 25  3d 31 3c 3c 39 3a 73 63  |<8:menu%=1<<9:sc|
00007840  72 6f 6c 6c 25 3d 31 3c  3c 31 30 0d 2b 70 40 6c  |roll%=1<<10.+p@l|
00007850  6f 73 65 5f 63 61 72 65  74 25 3d 31 3c 3c 31 31  |ose_caret%=1<<11|
00007860  3a 67 61 69 6e 5f 63 61  72 65 74 25 3d 31 3c 3c  |:gain_caret%=1<<|
00007870  31 32 3a 6d 65 73 73 61  67 65 25 3d 28 31 3c 3c  |12:message%=(1<<|
00007880  31 37 29 2b 28 31 3c 3c  31 38 29 0d 2b 7a 30 72  |17)+(1<<18).+z0r|
00007890  65 63 6f 72 64 65 72 25  3d 31 3c 3c 31 38 3a 61  |ecorder%=1<<18:a|
000078a0  63 6b 6e 6f 77 6c 65 64  67 65 25 3d 31 3c 3c 31  |cknowledge%=1<<1|
000078b0  39 3a 77 69 6e 64 6f 77  25 3d 30 0d 2b 84 21 73  |9:window%=0.+.!s|
000078c0  70 72 69 74 65 73 25 3d  31 3a 76 65 72 73 69 6f  |prites%=1:versio|
000078d0  6e 25 3d 30 3a 74 61 73  6b 25 3d 30 0d 2b 8e 2a  |n%=0:task%=0.+.*|
000078e0  42 61 72 5f 57 69 6e 64  6f 77 25 3d 2d 32 3a 42  |Bar_Window%=-2:B|
000078f0  61 72 5f 49 63 6f 6e 25  3d 30 3a 42 61 72 5f 4d  |ar_Icon%=0:Bar_M|
00007900  65 6e 75 25 3d 30 0d 2b  98 2a 78 5f 6f 72 69 67  |enu%=0.+.*x_orig|
00007910  69 6e 25 3d 30 3a 79 5f  6f 72 69 67 69 6e 25 3d  |in%=0:y_origin%=|
00007920  30 3a 53 61 76 65 57 69  6e 64 6f 77 25 3d 2d 33  |0:SaveWindow%=-3|
00007930  0d 2b a2 33 6d 65 73 73  61 67 65 5f 71 75 69 74  |.+.3message_quit|
00007940  25 3d 30 3a 6d 65 73 73  61 67 65 5f 73 61 76 65  |%=0:message_save|
00007950  25 3d 32 3a 6d 65 73 73  61 67 65 5f 6c 6f 61 64  |%=2:message_load|
00007960  25 3d 33 0d 2b ac 21 6d  6f 75 73 65 5f 62 75 74  |%=3.+.!mouse_but|
00007970  74 6f 6e 25 3d 32 3a 73  61 76 65 5f 65 76 65 6e  |ton%=2:save_even|
00007980  74 25 3d 30 0d 2b b6 20  74 6f 70 5f 6c 69 6e 65  |t%=0.+. top_line|
00007990  25 3d 30 20 3a 20 62 6f  74 74 6f 6d 5f 6c 69 6e  |%=0 : bottom_lin|
000079a0  65 25 3d 30 0d 2b c0 05  e1 0d 2b ca 05 3a 0d 2b  |e%=0.+....+..:.+|
000079b0  d4 11 dd 20 f2 57 69 6d  70 5f 45 72 72 6f 72 0d  |... .Wimp_Error.|
000079c0  2b de 0a ea 58 24 2c 78  25 0d 2b e8 09 ee 20 85  |+...X$,x%.+... .|
000079d0  20 87 0d 2b f2 08 78 25  3d 9e 0d 2b fc 1b 58 24  | ..+..x%=..+..X$|
000079e0  3d f6 24 2b 22 61 74 6c  69 6e 65 22 2b c3 28 78  |=.$+"atline"+.(x|
000079f0  25 81 31 30 29 0d 2c 06  10 de 45 72 72 6f 72 4d  |%.10).,...ErrorM|
00007a00  73 67 25 33 36 0d 2c 10  45 45 72 72 6f 72 4d 73  |sg%36.,.EErrorMs|
00007a10  67 25 21 30 3d 33 36 3a  45 72 72 6f 72 4d 73 67  |g%!0=36:ErrorMsg|
00007a20  25 21 31 32 3d 30 3a 45  72 72 6f 72 4d 73 67 25  |%!12=0:ErrorMsg%|
00007a30  21 31 36 3d 26 38 31 30  38 30 3a 45 72 72 6f 72  |!16=&81080:Error|
00007a40  4d 73 67 25 21 32 30 3d  78 25 0d 2c 1a 1f 24 28  |Msg%!20=x%.,..$(|
00007a50  45 72 72 6f 72 4d 73 67  25 2b 32 34 29 3d 22 21  |ErrorMsg%+24)="!|
00007a60  52 75 6e 49 6d 61 67 65  22 0d 2c 24 25 c8 99 22  |RunImage".,$%.."|
00007a70  57 69 6d 70 5f 53 65 6e  64 4d 65 73 73 61 67 65  |Wimp_SendMessage|
00007a80  22 2c 31 37 2c 45 72 72  6f 72 4d 73 67 25 0d 2c  |",17,ErrorMsg%.,|
00007a90  2e 1f f2 57 69 6d 70 5f  57 69 6e 64 6f 77 41 6c  |...Wimp_WindowAl|
00007aa0  65 72 74 28 74 61 73 6b  24 2c 58 24 29 0d 2c 38  |ert(task$,X$).,8|
00007ab0  13 f2 57 69 6d 70 5f 43  6c 6f 73 65 44 6f 77 6e  |..Wimp_CloseDown|
00007ac0  0d 2c 42 05 e1 0d 2c 4c  05 3a 0d 2c 56 15 dd 20  |.,B...,L.:.,V.. |
00007ad0  f2 57 69 6d 70 5f 43 6c  6f 73 65 44 6f 77 6e 0d  |.Wimp_CloseDown.|
00007ae0  2c 60 23 c8 99 22 57 69  6d 70 5f 43 6c 6f 73 65  |,`#.."Wimp_Close|
00007af0  44 6f 77 6e 22 2c 74 61  73 6b 25 2c 22 54 41 53  |Down",task%,"TAS|
00007b00  4b 22 0d 2c 6a 05 e1 0d  2c 74 05 3a 0d 2c 7e 10  |K".,j...,t.:.,~.|
00007b10  dd 20 f2 57 69 6d 70 5f  51 75 69 74 0d 2c 88 0f  |. .Wimp_Quit.,..|
00007b20  66 69 6e 69 73 68 65 64  25 3d b9 0d 2c 92 05 e1  |finished%=..,...|
00007b30  0d 2c 9c 05 3a 0d 2c a6  23 dd 20 a4 57 69 6d 70  |.,..:.,.#. .Wimp|
00007b40  5f 52 65 61 64 56 61 72  69 61 62 6c 65 28 56 61  |_ReadVariable(Va|
00007b50  72 69 61 62 6c 65 24 29  0d 2c b0 1b ea 6c 65 6e  |riable$).,...len|
00007b60  25 2c 72 65 73 75 6c 74  25 2c 76 61 72 69 61 62  |%,result%,variab|
00007b70  6c 65 25 0d 2c ba 14 24  77 69 6d 70 25 3d 56 61  |le%.,..$wimp%=Va|
00007b80  72 69 61 62 6c 65 24 0d  2c c4 33 c8 99 22 4f 53  |riable$.,.3.."OS|
00007b90  5f 52 65 61 64 56 61 72  56 61 6c 22 2c 77 69 6d  |_ReadVarVal",wim|
00007ba0  70 25 2c 77 69 6d 70 25  2b 32 35 35 2c 32 35 35  |p%,wimp%+255,255|
00007bb0  2c 2c 33 b8 2c 2c 6c 65  6e 25 0d 2c ce 17 77 69  |,,3.,,len%.,..wi|
00007bc0  6d 70 25 3f 28 6c 65 6e  25 2b 32 35 35 29 3d 31  |mp%?(len%+255)=1|
00007bd0  33 0d 2c d8 11 3d 24 28  77 69 6d 70 25 2b 32 35  |3.,..=$(wimp%+25|
00007be0  35 29 0d 2c e2 05 3a 0d  2c ec 49 f4 20 2a 2a 2a  |5).,..:.,.I. ***|
00007bf0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00007c30  0d 2c f6 05 3a 0d 2d 00  18 dd 20 f2 57 69 6d 70  |.,..:.-... .Wimp|
00007c40  5f 57 61 69 74 46 6f 72  45 76 65 6e 74 0d 2d 0a  |_WaitForEvent.-.|
00007c50  12 ea 20 6d 61 73 6b 25  2c 65 76 65 6e 74 25 0d  |.. mask%,event%.|
00007c60  2d 14 0f 66 69 6e 69 73  68 65 64 25 3d a3 0d 2d  |-..finished%=..-|
00007c70  1e 17 6d 61 73 6b 25 3d  25 31 31 31 30 30 30 30  |..mask%=%1110000|
00007c80  31 31 30 30 31 0d 2d 28  05 f5 0d 2d 32 27 20 c8  |11001.-(...-2' .|
00007c90  99 22 57 69 6d 70 5f 50  6f 6c 6c 22 2c 6d 61 73  |."Wimp_Poll",mas|
00007ca0  6b 25 2c 77 69 6d 70 25  20 b8 20 65 76 65 6e 74  |k%,wimp% . event|
00007cb0  25 0d 2d 3c 10 20 c8 8e  20 65 76 65 6e 74 25 20  |%.-<. .. event% |
00007cc0  ca 0d 2d 46 0a 20 20 c9  30 20 3a 0d 2d 50 1f 20  |..-F.  .0 :.-P. |
00007cd0  20 c9 31 20 3a 20 f2 57  69 6d 70 5f 50 6f 6c 6c  | .1 : .Wimp_Poll|
00007ce0  44 72 61 77 57 69 6e 64  6f 77 0d 2d 5a 26 20 20  |DrawWindow.-Z&  |
00007cf0  c9 32 20 3a 20 c8 99 20  22 57 69 6d 70 5f 4f 70  |.2 : .. "Wimp_Op|
00007d00  65 6e 57 69 6e 64 6f 77  22 2c 2c 77 69 6d 70 25  |enWindow",,wimp%|
00007d10  0d 2d 64 20 20 20 c9 33  20 3a 20 f2 57 69 6d 70  |.-d   .3 : .Wimp|
00007d20  5f 50 6f 6c 6c 43 6c 6f  73 65 57 69 6e 64 6f 77  |_PollCloseWindow|
00007d30  0d 2d 6e 0a 20 20 c9 34  20 3a 0d 2d 78 0a 20 20  |.-n.  .4 :.-x.  |
00007d40  c9 35 20 3a 0d 2d 82 1f  20 20 c9 36 20 3a 20 f2  |.5 :.-..  .6 : .|
00007d50  57 69 6d 70 5f 50 6f 6c  6c 4d 6f 75 73 65 43 6c  |Wimp_PollMouseCl|
00007d60  69 63 6b 0d 2d 8c 20 20  20 c9 37 20 3a 20 f2 57  |ick.-.   .7 : .W|
00007d70  69 6d 70 5f 50 6f 6c 6c  53 61 76 65 4d 65 73 73  |imp_PollSaveMess|
00007d80  61 67 65 0d 2d 96 1d 20  20 c9 38 20 3a 20 f2 57  |age.-..  .8 : .W|
00007d90  69 6d 70 5f 50 6f 6c 6c  4b 65 79 50 72 65 73 73  |imp_PollKeyPress|
00007da0  0d 2d a0 23 20 20 c9 39  20 3a 20 f2 45 76 65 6e  |.-.#  .9 : .Even|
00007db0  74 5f 4d 65 6e 75 43 68  6f 69 63 65 28 6d 65 6e  |t_MenuChoice(men|
00007dc0  75 25 29 0d 2d aa 0a 20  20 c9 31 30 3a 0d 2d b4  |u%).-..  .10:.-.|
00007dd0  0a 20 20 c9 31 31 3a 0d  2d be 0a 20 20 c9 31 32  |.  .11:.-..  .12|
00007de0  3a 0d 2d c8 20 20 20 c9  31 37 2c 31 38 3a 20 f2  |:.-.   .17,18: .|
00007df0  57 69 6d 70 5f 50 6f 6c  6c 4d 65 73 73 61 67 65  |Wimp_PollMessage|
00007e00  73 0d 2d d2 0a 20 20 c9  31 39 3a 0d 2d dc 06 20  |s.-..  .19:.-.. |
00007e10  cb 0d 2d e6 0f fd 20 66  69 6e 69 73 68 65 64 25  |..-... finished%|
00007e20  0d 2d f0 05 e1 0d 2d fa  05 3a 0d 2e 04 1a dd 20  |.-....-..:..... |
00007e30  f2 57 69 6d 70 5f 50 6f  6c 6c 44 72 61 77 57 69  |.Wimp_PollDrawWi|
00007e40  6e 64 6f 77 0d 2e 0e 0b  ea 20 6d 6f 72 65 25 0d  |ndow..... more%.|
00007e50  2e 18 26 c8 99 22 57 69  6d 70 5f 52 65 64 72 61  |..&.."Wimp_Redra|
00007e60  77 57 69 6e 64 6f 77 22  2c 2c 77 69 6d 70 25 b8  |wWindow",,wimp%.|
00007e70  6d 6f 72 65 25 0d 2e 22  13 77 69 6e 64 6f 77 25  |more%..".window%|
00007e80  3d 77 69 6d 70 25 21 30  0d 2e 2c 41 78 5f 6f 72  |=wimp%!0..,Ax_or|
00007e90  69 67 69 6e 25 3d 31 36  2b 77 69 6d 70 25 21 34  |igin%=16+wimp%!4|
00007ea0  2d 77 69 6d 70 25 21 32  30 3a 79 5f 6f 72 69 67  |-wimp%!20:y_orig|
00007eb0  69 6e 25 3d 2d 31 36 2b  77 69 6d 70 25 21 31 36  |in%=-16+wimp%!16|
00007ec0  2d 77 69 6d 70 25 21 32  34 0d 2e 36 0b c8 95 6d  |-wimp%!24..6...m|
00007ed0  6f 72 65 25 0d 2e 40 30  20 e7 20 69 6e 74 65 72  |ore%..@0 . inter|
00007ee0  66 61 63 65 25 20 8c 20  c8 99 22 57 69 6d 70 5f  |face% . .."Wimp_|
00007ef0  42 6f 72 64 65 72 57 69  6e 64 6f 77 22 2c 2c 77  |BorderWindow",,w|
00007f00  69 6d 70 25 0d 2e 4a 2d  20 f2 45 76 65 6e 74 5f  |imp%..J- .Event_|
00007f10  44 72 61 77 28 77 69 6e  64 6f 77 25 2c 78 5f 6f  |Draw(window%,x_o|
00007f20  72 69 67 69 6e 25 2c 79  5f 6f 72 69 67 69 6e 25  |rigin%,y_origin%|
00007f30  29 0d 2e 54 27 20 c8 99  22 57 69 6d 70 5f 47 65  |)..T' .."Wimp_Ge|
00007f40  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 77 69 6d  |tRectangle",,wim|
00007f50  70 25 b8 6d 6f 72 65 25  0d 2e 5e 05 ce 0d 2e 68  |p%.more%..^....h|
00007f60  05 e1 0d 2e 72 05 3a 0d  2e 7c 1b dd 20 f2 57 69  |....r.:..|.. .Wi|
00007f70  6d 70 5f 50 6f 6c 6c 43  6c 6f 73 65 57 69 6e 64  |mp_PollCloseWind|
00007f80  6f 77 0d 2e 86 25 20 20  c8 99 20 22 57 69 6d 70  |ow...%  .. "Wimp|
00007f90  5f 47 65 74 50 6f 69 6e  74 65 72 49 6e 66 6f 22  |_GetPointerInfo"|
00007fa0  2c 2c 77 69 6d 70 25 0d  2e 90 29 20 20 77 69 6e  |,,wimp%...)  win|
00007fb0  64 6f 77 25 3d 77 69 6d  70 25 21 31 32 20 3a 20  |dow%=wimp%!12 : |
00007fc0  62 75 74 74 6f 6e 73 25  3d 77 69 6d 70 25 21 38  |buttons%=wimp%!8|
00007fd0  0d 2e 9a 11 e7 20 73 65  61 72 63 68 25 3d a3 20  |..... search%=. |
00007fe0  8c 0d 2e a4 29 20 f2 45  76 65 6e 74 5f 57 69 6e  |....) .Event_Win|
00007ff0  64 6f 77 43 6c 6f 73 65  28 77 69 6e 64 6f 77 25  |dowClose(window%|
00008000  2c 62 75 74 74 6f 6e 73  25 29 0d 2e ae 32 20 21  |,buttons%)...2 !|
00008010  77 69 6d 70 25 3d 77 69  6e 64 6f 77 25 20 3a 20  |wimp%=window% : |
00008020  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |.. "Wimp_CloseWi|
00008030  6e 64 6f 77 22 2c 2c 77  69 6d 70 25 0d 2e b8 05  |ndow",,wimp%....|
00008040  cd 0d 2e c2 05 e1 0d 2e  cc 05 3a 0d 2e d6 1a dd  |..........:.....|
00008050  20 f2 57 69 6d 70 5f 50  6f 6c 6c 4d 6f 75 73 65  | .Wimp_PollMouse|
00008060  43 6c 69 63 6b 0d 2e e0  4a 20 62 75 74 74 6f 6e  |Click...J button|
00008070  25 3d 77 69 6d 70 25 21  38 3a 77 69 6e 64 6f 77  |%=wimp%!8:window|
00008080  25 3d 77 69 6d 70 25 21  31 32 3a 69 63 6f 6e 25  |%=wimp%!12:icon%|
00008090  3d 77 69 6d 70 25 21 31  36 3a 78 25 3d 77 69 6d  |=wimp%!16:x%=wim|
000080a0  70 25 21 30 3a 79 25 3d  77 69 6d 70 25 21 34 0d  |p%!0:y%=wimp%!4.|
000080b0  2e ea 11 20 c8 8e 20 62  75 74 74 6f 6e 25 20 ca  |... .. button% .|
000080c0  0d 2e f4 22 20 20 20 c9  32 20 20 20 20 3a 20 f2  |..."   .2    : .|
000080d0  57 69 6d 70 5f 50 6f 6c  6c 4d 65 6e 75 50 6f 70  |Wimp_PollMenuPop|
000080e0  55 70 0d 2e fe 23 20 20  20 7f 3a 20 c8 8e 20 a4  |Up...#   .: .. .|
000080f0  45 76 65 6e 74 5f 53 61  76 65 28 77 69 6e 64 6f  |Event_Save(windo|
00008100  77 25 29 20 ca 0d 2f 08  2c 20 20 20 20 20 20 20  |w%) ../.,       |
00008110  20 20 20 20 20 20 20 20  c9 20 b9 20 3a 20 f2 57  |        . . : .W|
00008120  69 6d 70 5f 50 6f 6c 6c  4d 6f 75 73 65 53 61 76  |imp_PollMouseSav|
00008130  65 0d 2f 12 31 20 20 20  20 20 20 20 20 20 20 20  |e./.1           |
00008140  20 20 20 20 c9 20 a3 3a  20 f2 57 69 6d 70 5f 50  |    . .: .Wimp_P|
00008150  6f 6c 6c 45 76 65 6e 74  4d 6f 75 73 65 43 6c 69  |ollEventMouseCli|
00008160  63 6b 0d 2f 1c 13 20 20  20 20 20 20 20 20 20 20  |ck./..          |
00008170  20 20 20 20 cb 0d 2f 26  06 20 cb 0d 2f 30 05 e1  |    ../&. ../0..|
00008180  0d 2f 3a 05 3a 0d 2f 44  19 dd 20 f2 57 69 6d 70  |./:.:./D.. .Wimp|
00008190  5f 50 6f 6c 6c 4d 65 6e  75 50 6f 70 55 70 0d 2f  |_PollMenuPopUp./|
000081a0  4e 0d e7 20 53 41 25 3d  a3 20 8c 0d 2f 58 1e 6d  |N.. SA%=. ../X.m|
000081b0  65 6e 75 25 3d a4 45 76  65 6e 74 5f 4d 65 6e 75  |enu%=.Event_Menu|
000081c0  28 77 69 6e 64 6f 77 25  29 0d 2f 62 11 20 20 c8  |(window%)./b.  .|
000081d0  8e 20 6d 65 6e 75 25 20  20 ca 0d 2f 6c 0b 20 20  |. menu%  ../l.  |
000081e0  20 c9 20 a3 3a 0d 2f 76  0a 20 20 20 7f 20 3a 0d  | . .:./v.   . :.|
000081f0  2f 80 15 20 20 20 20 20  c8 8e 20 77 69 6e 64 6f  |/..     .. windo|
00008200  77 25 20 ca 0d 2f 8a 17  20 20 20 20 20 20 c9 20  |w% ../..      . |
00008210  2d 32 20 20 20 3a 20 6e  25 3d 30 0d 2f 94 33 20  |-2   : n%=0./.3 |
00008220  20 20 20 20 20 20 20 c8  95 20 28 28 42 61 72 5f  |       .. ((Bar_|
00008230  4d 65 6e 75 25 21 28 32  38 2b 6e 25 2a 32 34 29  |Menu%!(28+n%*24)|
00008240  29 80 25 31 30 30 30 30  30 30 30 29 3d 30 0d 2f  |).%10000000)=0./|
00008250  9e 12 20 20 20 20 20 20  20 20 20 6e 25 2b 3d 31  |..         n%+=1|
00008260  0d 2f a8 0d 20 20 20 20  20 20 20 20 ce 0d 2f b2  |./..        ../.|
00008270  3a 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |:        .. "Wim|
00008280  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 2c 2c 42  |p_CreateMenu",,B|
00008290  61 72 5f 4d 65 6e 75 25  2c 78 25 2d 36 34 2c 39  |ar_Menu%,x%-64,9|
000082a0  36 2b 6e 25 2a 39 30 0d  2f bc 34 20 20 20 20 20  |6+n%*90./.4     |
000082b0  20 7f 20 3a 20 c8 99 22  57 69 6d 70 5f 43 72 65  | . : .."Wimp_Cre|
000082c0  61 74 65 4d 65 6e 75 22  2c 2c 6d 65 6e 75 25 2c  |ateMenu",,menu%,|
000082d0  78 25 2d 36 34 2c 79 25  2b 32 30 0d 2f c6 0a 20  |x%-64,y%+20./.. |
000082e0  20 20 20 20 cb 0d 2f d0  07 20 20 cb 0d 2f da 05  |    ../..  ../..|
000082f0  cd 0d 2f e4 05 e1 0d 2f  ee 05 3a 0d 2f f8 19 dd  |../..../..:./...|
00008300  20 f2 57 69 6d 70 5f 50  6f 6c 6c 4d 6f 75 73 65  | .Wimp_PollMouse|
00008310  53 61 76 65 0d 30 02 0f  20 c8 8e 20 69 63 6f 6e  |Save.0.. .. icon|
00008320  25 20 ca 0d 30 0c 38 20  20 c9 20 30 20 3a 20 e7  |% ..0.8  . 0 : .|
00008330  20 62 75 74 74 6f 6e 25  20 80 20 26 35 30 20 8c  | button% . &50 .|
00008340  20 f2 57 69 6d 70 5f 50  6f 6c 6c 44 72 61 67 42  | .Wimp_PollDragB|
00008350  6f 78 28 77 69 6e 64 6f  77 25 29 0d 30 16 38 20  |ox(window%).0.8 |
00008360  20 c9 20 32 20 3a 20 e7  20 62 75 74 74 6f 6e 25  | . 2 : . button%|
00008370  20 80 20 35 20 8c 20 20  f2 57 69 6d 70 5f 50 6f  | . 5 .  .Wimp_Po|
00008380  6c 6c 53 61 76 65 46 69  6c 65 28 77 69 6e 64 6f  |llSaveFile(windo|
00008390  77 25 29 0d 30 20 06 20  cb 0d 30 2a 05 e1 0d 30  |w%).0 . ..0*...0|
000083a0  34 05 3a 0d 30 3e 1f dd  20 f2 57 69 6d 70 5f 50  |4.:.0>.. .Wimp_P|
000083b0  6f 6c 6c 45 76 65 6e 74  4d 6f 75 73 65 43 6c 69  |ollEventMouseCli|
000083c0  63 6b 0d 30 48 2e 20 e7  20 69 6e 74 65 72 66 61  |ck.0H. . interfa|
000083d0  63 65 25 20 8c 20 c8 99  22 57 69 6d 70 5f 42 6f  |ce% . .."Wimp_Bo|
000083e0  72 64 65 72 49 63 6f 6e  22 2c 2c 77 69 6d 70 25  |rderIcon",,wimp%|
000083f0  0d 30 52 33 20 f2 45 76  65 6e 74 5f 4d 6f 75 73  |.0R3 .Event_Mous|
00008400  65 43 6c 69 63 6b 28 77  69 6e 64 6f 77 25 2c 69  |eClick(window%,i|
00008410  63 6f 6e 25 2c 62 75 74  74 6f 6e 25 2c 78 25 2c  |con%,button%,x%,|
00008420  79 25 29 0d 30 5c 15 20  c8 8e 20 20 69 6e 74 65  |y%).0\. ..  inte|
00008430  72 66 61 63 65 25 20 ca  0d 30 66 0b 20 20 c9 20  |rface% ..0f.  . |
00008440  b9 20 3a 0d 30 70 28 20  20 20 77 69 6d 70 25 21  |. :.0p(   wimp%!|
00008450  30 3d 78 25 3a 77 69 6d  70 25 21 34 3d 79 25 20  |0=x%:wimp%!4=y% |
00008460  3a 20 77 69 6d 70 25 21  38 3d 30 0d 30 7a 28 20  |: wimp%!8=0.0z( |
00008470  20 20 77 69 6d 70 25 21  31 32 3d 77 69 6e 64 6f  |  wimp%!12=windo|
00008480  77 25 20 3a 20 77 69 6d  70 25 21 31 36 3d 69 63  |w% : wimp%!16=ic|
00008490  6f 6e 25 0d 30 84 21 20  20 20 c8 99 22 57 69 6d  |on%.0.!   .."Wim|
000084a0  70 5f 42 6f 72 64 65 72  49 63 6f 6e 22 2c 2c 77  |p_BorderIcon",,w|
000084b0  69 6d 70 25 0d 30 8e 06  20 cb 0d 30 98 05 e1 0d  |imp%.0.. ..0....|
000084c0  30 a2 05 3a 0d 30 ac 21  dd 20 f2 57 69 6d 70 5f  |0..:.0.!. .Wimp_|
000084d0  50 6f 6c 6c 53 61 76 65  46 69 6c 65 28 77 69 6e  |PollSaveFile(win|
000084e0  64 6f 77 25 29 0d 30 b6  0a ea 66 69 6c 65 24 0d  |dow%).0...file$.|
000084f0  30 c0 40 20 77 69 6d 70  25 21 30 3d 77 69 6e 64  |0.@ wimp%!0=wind|
00008500  6f 77 25 20 3a 20 77 69  6d 70 25 21 34 3d 31 20  |ow% : wimp%!4=1 |
00008510  3a 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |: .. "Wimp_GetIc|
00008520  6f 6e 53 74 61 74 65 22  2c 2c 77 69 6d 70 25 0d  |onState",,wimp%.|
00008530  30 ca 16 20 66 69 6c 65  24 3d 24 28 77 69 6d 70  |0.. file$=$(wimp|
00008540  25 21 32 38 29 0d 30 d4  15 20 c8 8e 20 a7 66 69  |%!28).0.. .. .fi|
00008550  6c 65 24 2c 22 2e 22 29  20 ca 0d 30 de 0d 20 20  |le$,".") ..0..  |
00008560  c9 20 30 20 20 20 3a 0d  30 e8 0f e7 20 6b 65 79  |. 0   :.0... key|
00008570  25 3d 31 33 20 8c 0d 30  f2 40 20 20 20 24 28 77  |%=13 ..0.@   $(w|
00008580  69 6d 70 25 2b 34 29 3d  22 54 6f 20 73 61 76 65  |imp%+4)="To save|
00008590  2c 20 64 72 61 67 20 74  68 65 20 69 63 6f 6e 20  |, drag the icon |
000085a0  74 6f 20 61 20 64 69 72  65 63 74 6f 72 79 20 77  |to a directory w|
000085b0  69 6e 64 6f 77 22 0d 30  fc 2b 20 20 20 c8 99 20  |indow".0.+   .. |
000085c0  22 57 69 6d 70 5f 52 65  70 6f 72 74 45 72 72 6f  |"Wimp_ReportErro|
000085d0  72 22 2c 77 69 6d 70 25  2c 31 36 2c 74 61 73 6b  |r",wimp%,16,task|
000085e0  24 0d 31 06 05 cd 0d 31  10 08 20 20 7f 3a 0d 31  |$.1....1..  .:.1|
000085f0  1a 31 20 20 20 e7 20 6b  65 79 25 3d 31 33 20 8c  |.1   . key%=13 .|
00008600  20 f2 45 76 65 6e 74 5f  53 61 76 65 46 69 6c 65  | .Event_SaveFile|
00008610  28 66 69 6c 65 24 2c 77  69 6e 64 6f 77 25 29 0d  |(file$,window%).|
00008620  31 24 06 20 cb 0d 31 2e  26 e7 20 6b 65 79 25 3d  |1$. ..1.&. key%=|
00008630  31 33 20 8c 20 c8 99 22  57 69 6d 70 5f 43 72 65  |13 . .."Wimp_Cre|
00008640  61 74 65 4d 65 6e 75 22  2c 2d 31 0d 31 38 1d e7  |ateMenu",-1.18..|
00008650  20 53 41 25 3d b9 20 8c  20 f2 57 69 6d 70 5f 43  | SA%=. . .Wimp_C|
00008660  6c 6f 73 65 44 6f 77 6e  0d 31 42 05 e1 0d 31 4c  |loseDown.1B...1L|
00008670  05 3a 0d 31 56 20 dd 20  f2 57 69 6d 70 5f 50 6f  |.:.1V . .Wimp_Po|
00008680  6c 6c 44 72 61 67 42 6f  78 28 77 69 6e 64 6f 77  |llDragBox(window|
00008690  25 29 0d 31 60 0a ea 78  25 2c 79 25 0d 31 6a 12  |%).1`..x%,y%.1j.|
000086a0  20 73 61 76 65 25 3d 77  69 6e 64 6f 77 25 0d 31  | save%=window%.1|
000086b0  74 13 20 21 77 69 6d 70  25 3d 77 69 6e 64 6f 77  |t. !wimp%=window|
000086c0  25 0d 31 7e 23 20 c8 99  22 57 69 6d 70 5f 47 65  |%.1~# .."Wimp_Ge|
000086d0  74 57 69 6e 64 6f 77 53  74 61 74 65 22 2c 2c 77  |tWindowState",,w|
000086e0  69 6d 70 25 0d 31 88 2d  20 78 25 3d 77 69 6d 70  |imp%.1.- x%=wimp|
000086f0  25 21 34 2d 77 69 6d 70  25 21 32 30 3a 79 25 3d  |%!4-wimp%!20:y%=|
00008700  77 69 6d 70 25 21 31 36  2d 77 69 6d 70 25 21 32  |wimp%!16-wimp%!2|
00008710  34 0d 31 92 0e 20 77 69  6d 70 25 21 34 3d 30 0d  |4.1.. wimp%!4=0.|
00008720  31 9c 21 20 c8 99 22 57  69 6d 70 5f 47 65 74 49  |1.! .."Wimp_GetI|
00008730  63 6f 6e 53 74 61 74 65  22 2c 2c 77 69 6d 70 25  |conState",,wimp%|
00008740  0d 31 a6 13 20 21 77 69  6d 70 25 3d 77 69 6e 64  |.1.. !wimp%=wind|
00008750  6f 77 25 0d 31 b0 0e 20  77 69 6d 70 25 21 34 3d  |ow%.1.. wimp%!4=|
00008760  35 0d 31 ba 2c 20 77 69  6d 70 25 21 38 3d 78 25  |5.1., wimp%!8=x%|
00008770  2b 77 69 6d 70 25 21 38  3a 77 69 6d 70 25 21 31  |+wimp%!8:wimp%!1|
00008780  32 3d 79 25 2b 77 69 6d  70 25 21 31 32 0d 31 c4  |2=y%+wimp%!12.1.|
00008790  2e 20 77 69 6d 70 25 21  31 36 3d 78 25 2b 77 69  |. wimp%!16=x%+wi|
000087a0  6d 70 25 21 31 36 3a 77  69 6d 70 25 21 32 30 3d  |mp%!16:wimp%!20=|
000087b0  79 25 2b 77 69 6d 70 25  21 32 30 0d 31 ce 1a 20  |y%+wimp%!20.1.. |
000087c0  77 69 6d 70 25 21 32 34  3d 30 3a 77 69 6d 70 25  |wimp%!24=0:wimp%|
000087d0  21 32 38 3d 30 0d 31 d8  2a 20 77 69 6d 70 25 21  |!28=0.1.* wimp%!|
000087e0  33 32 3d 26 37 46 46 46  46 46 46 46 3a 77 69 6d  |32=&7FFFFFFF:wim|
000087f0  70 25 21 33 36 3d 26 37  46 46 46 46 46 46 46 0d  |p%!36=&7FFFFFFF.|
00008800  31 e2 1c 20 c8 99 22 57  69 6d 70 5f 44 72 61 67  |1.. .."Wimp_Drag|
00008810  42 6f 78 22 2c 2c 77 69  6d 70 25 0d 31 ec 05 e1  |Box",,wimp%.1...|
00008820  0d 31 f6 05 3a 0d 32 00  18 dd 20 f2 57 69 6d 70  |.1..:.2... .Wimp|
00008830  5f 50 6f 6c 6c 4b 65 79  50 72 65 73 73 0d 32 0a  |_PollKeyPress.2.|
00008840  31 20 20 77 69 6e 64 6f  77 25 3d 77 69 6d 70 25  |1  window%=wimp%|
00008850  21 30 3a 69 63 6f 6e 25  3d 77 69 6d 70 25 21 34  |!0:icon%=wimp%!4|
00008860  3a 6b 65 79 25 3d 77 69  6d 70 25 21 32 34 0d 32  |:key%=wimp%!24.2|
00008870  14 1f 20 20 c8 8e 20 a4  45 76 65 6e 74 5f 53 61  |..  .. .Event_Sa|
00008880  76 65 28 77 69 6e 64 6f  77 25 29 20 ca 0d 32 1e  |ve(window%) ..2.|
00008890  28 20 20 20 c9 20 b9 20  3a 20 f2 57 69 6d 70 5f  |(   . . : .Wimp_|
000088a0  50 6f 6c 6c 53 61 76 65  46 69 6c 65 28 77 69 6e  |PollSaveFile(win|
000088b0  64 6f 77 25 29 0d 32 28  2f 20 20 20 c9 20 a3 3a  |dow%).2(/   . .:|
000088c0  20 f2 45 76 65 6e 74 5f  4b 65 79 50 72 65 73 73  | .Event_KeyPress|
000088d0  28 77 69 6e 64 6f 77 25  2c 69 63 6f 6e 25 2c 6b  |(window%,icon%,k|
000088e0  65 79 25 29 0d 32 32 07  20 20 cb 0d 32 3c 05 e1  |ey%).22.  ..2<..|
000088f0  0d 32 46 05 3a 0d 32 50  1b dd 20 f2 57 69 6d 70  |.2F.:.2P.. .Wimp|
00008900  5f 50 6f 6c 6c 53 61 76  65 4d 65 73 73 61 67 65  |_PollSaveMessage|
00008910  0d 32 5a 1e ea 66 69 6c  65 24 2c 77 69 6e 64 6f  |.2Z..file$,windo|
00008920  77 25 2c 69 63 6f 6e 25  2c 78 25 2c 79 25 0d 32  |w%,icon%,x%,y%.2|
00008930  64 23 20 c8 99 22 57 69  6d 70 5f 47 65 74 50 6f  |d# .."Wimp_GetPo|
00008940  69 6e 74 65 72 49 6e 66  6f 22 2c 2c 77 69 6d 70  |interInfo",,wimp|
00008950  25 0d 32 6e 3a 20 77 69  6e 64 6f 77 25 3d 77 69  |%.2n: window%=wi|
00008960  6d 70 25 21 31 32 3a 69  63 6f 6e 25 3d 77 69 6d  |mp%!12:icon%=wim|
00008970  70 25 21 31 36 3a 78 25  3d 77 69 6d 70 25 21 30  |p%!16:x%=wimp%!0|
00008980  3a 79 25 3d 77 69 6d 70  25 21 34 0d 32 78 3e 20  |:y%=wimp%!4.2x> |
00008990  77 69 6d 70 25 21 30 3d  73 61 76 65 25 20 3a 20  |wimp%!0=save% : |
000089a0  77 69 6d 70 25 21 34 3d  31 20 3a 20 c8 99 20 22  |wimp%!4=1 : .. "|
000089b0  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
000089c0  65 22 2c 2c 77 69 6d 70  25 0d 32 82 16 20 66 69  |e",,wimp%.2.. fi|
000089d0  6c 65 24 3d 24 28 77 69  6d 70 25 21 32 38 29 0d  |le$=$(wimp%!28).|
000089e0  32 8c 2b 20 66 69 6c 65  24 3d a4 57 69 6d 70 5f  |2.+ file$=.Wimp_|
000089f0  47 65 74 46 69 6c 65 46  72 6f 6d 50 61 74 68 6e  |GetFileFromPathn|
00008a00  61 6d 65 28 66 69 6c 65  24 29 0d 32 96 0e 41 43  |ame(file$).2..AC|
00008a10  45 24 3d 66 69 6c 65 24  0d 32 a0 15 20 77 69 6d  |E$=file$.2.. wim|
00008a20  70 25 21 32 30 3d 77 69  6e 64 6f 77 25 0d 32 aa  |p%!20=window%.2.|
00008a30  13 20 77 69 6d 70 25 21  32 34 3d 69 63 6f 6e 25  |. wimp%!24=icon%|
00008a40  0d 32 b4 1c 20 77 69 6d  70 25 21 32 38 3d 78 25  |.2.. wimp%!28=x%|
00008a50  3a 77 69 6d 70 25 21 33  32 3d 79 25 0d 32 be 15  |:wimp%!32=y%.2..|
00008a60  20 77 69 6d 70 25 21 33  36 3d 6c 65 6e 67 74 68  | wimp%!36=length|
00008a70  25 0d 32 c8 0f 20 77 69  6d 70 25 21 30 3d 36 34  |%.2.. wimp%!0=64|
00008a80  0d 32 d2 0f 20 77 69 6d  70 25 21 31 32 3d 30 0d  |.2.. wimp%!12=0.|
00008a90  32 dc 0f 20 77 69 6d 70  25 21 31 36 3d 31 0d 32  |2.. wimp%!16=1.2|
00008aa0  e6 12 20 77 69 6d 70 25  21 34 30 3d 26 46 46 46  |.. wimp%!40=&FFF|
00008ab0  0d 32 f0 16 20 24 28 77  69 6d 70 25 2b 34 34 29  |.2.. $(wimp%+44)|
00008ac0  3d 66 69 6c 65 24 0d 32  fa 34 20 c8 99 22 57 69  |=file$.2.4 .."Wi|
00008ad0  6d 70 5f 53 65 6e 64 4d  65 73 73 61 67 65 22 2c  |mp_SendMessage",|
00008ae0  31 37 2c 77 69 6d 70 25  2c 77 69 6d 70 25 21 32  |17,wimp%,wimp%!2|
00008af0  30 2c 77 69 6d 70 25 21  32 34 0d 33 04 05 e1 0d  |0,wimp%!24.3....|
00008b00  33 0e 05 3a 0d 33 18 18  dd 20 f2 57 69 6d 70 5f  |3..:.3... .Wimp_|
00008b10  50 6f 6c 6c 4d 65 73 73  61 67 65 73 0d 33 22 0b  |PollMessages.3".|
00008b20  ea 20 66 69 6c 65 24 0d  33 2c 2c 66 69 6c 65 24  |. file$.3,,file$|
00008b30  3d a4 57 69 6d 70 5f 47  65 74 53 74 72 69 6e 67  |=.Wimp_GetString|
00008b40  41 74 41 64 64 72 65 73  73 28 77 69 6d 70 25 2b  |AtAddress(wimp%+|
00008b50  34 34 29 0d 33 36 15 20  20 20 20 c8 8e 20 77 69  |44).36.    .. wi|
00008b60  6d 70 25 21 31 36 20 ca  0d 33 40 1a 20 20 20 20  |mp%!16 ..3@.    |
00008b70  20 c9 20 30 20 3a 20 66  69 6e 69 73 68 65 64 25  | . 0 : finished%|
00008b80  3d b9 0d 33 4a 0e 20 20  20 20 20 c9 20 31 20 3a  |=..3J.     . 1 :|
00008b90  0d 33 54 0e 20 20 20 20  20 c9 20 32 20 3a 0d 33  |.3T.     . 2 :.3|
00008ba0  5e 2f 20 20 20 20 20 20  f4 20 50 52 4f 43 57 69  |^/      . PROCWi|
00008bb0  6d 70 5f 49 63 6f 6e 50  75 74 54 65 78 74 28 73  |mp_IconPutText(s|
00008bc0  61 76 65 25 2c 31 2c 66  69 6c 65 24 29 0d 33 68  |ave%,1,file$).3h|
00008bd0  43 20 20 20 20 20 20 77  69 6d 70 25 21 30 3d 73  |C      wimp%!0=s|
00008be0  61 76 65 25 20 3a 20 77  69 6d 70 25 21 34 3d 31  |ave% : wimp%!4=1|
00008bf0  20 3a 20 c8 99 20 22 57  69 6d 70 5f 47 65 74 49  | : .. "Wimp_GetI|
00008c00  63 6f 6e 53 74 61 74 65  22 2c 2c 77 69 6d 70 25  |conState",,wimp%|
00008c10  0d 33 72 1b 20 20 20 20  20 20 24 28 77 69 6d 70  |.3r.      $(wimp|
00008c20  25 21 32 38 29 3d 66 69  6c 65 24 0d 33 7c 3c 20  |%!28)=file$.3|< |
00008c30  20 20 20 20 20 77 69 6d  70 25 21 30 3d 73 61 76  |     wimp%!0=sav|
00008c40  65 25 20 3a 20 77 69 6d  70 25 21 34 3d 31 20 3a  |e% : wimp%!4=1 :|
00008c50  20 77 69 6d 70 25 21 38  3d 30 20 3a 20 77 69 6d  | wimp%!8=0 : wim|
00008c60  70 25 21 31 32 3d 30 0d  33 86 27 20 20 20 20 20  |p%!12=0.3.'     |
00008c70  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  | .. "Wimp_SetIco|
00008c80  6e 53 74 61 74 65 22 2c  2c 77 69 6d 70 25 0d 33  |nState",,wimp%.3|
00008c90  90 30 20 20 20 20 20 20  f4 20 50 52 4f 43 57 69  |.0      . PROCWi|
00008ca0  6d 70 5f 49 63 6f 6e 43  61 72 65 74 28 73 61 76  |mp_IconCaret(sav|
00008cb0  65 25 2c 31 2c 4c 45 4e  66 69 6c 65 24 29 0d 33  |e%,1,LENfile$).3|
00008cc0  9a 38 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |.8      .. "Wimp|
00008cd0  5f 53 65 74 43 61 72 65  74 50 6f 73 69 74 69 6f  |_SetCaretPositio|
00008ce0  6e 22 2c 73 61 76 65 25  2c 31 2c 2c 2c 2d 31 2c  |n",save%,1,,,-1,|
00008cf0  a9 66 69 6c 65 24 0d 33  a4 26 20 20 20 20 20 20  |.file$.3.&      |
00008d00  f2 45 76 65 6e 74 5f 53  61 76 65 46 69 6c 65 28  |.Event_SaveFile(|
00008d10  66 69 6c 65 24 2c 73 61  76 65 25 29 0d 33 ae 1d  |file$,save%).3..|
00008d20  e7 20 53 41 25 3d b9 20  8c 20 f2 57 69 6d 70 5f  |. SA%=. . .Wimp_|
00008d30  43 6c 6f 73 65 44 6f 77  6e 0d 33 b8 0c 20 20 20  |CloseDown.3..   |
00008d40  20 20 c9 20 33 0d 33 c2  47 20 20 20 20 20 20 74  |  . 3.3.G      t|
00008d50  79 70 65 24 3d a4 57 69  6d 70 5f 46 69 6c 65 54  |ype$=.Wimp_FileT|
00008d60  79 70 65 28 77 69 6d 70  25 21 34 30 29 20 3a 20  |ype(wimp%!40) : |
00008d70  f2 45 76 65 6e 74 5f 4c  6f 61 64 46 69 6c 65 28  |.Event_LoadFile(|
00008d80  66 69 6c 65 24 2c 74 79  70 65 24 29 0d 33 cc 0e  |file$,type$).3..|
00008d90  20 20 20 20 20 c9 20 35  20 3a 0d 33 d6 21 e7 20  |     . 5 :.3.!. |
00008da0  77 69 6d 70 25 21 34 30  3d 26 46 42 46 20 80 20  |wimp%!40=&FBF . |
00008db0  65 76 65 6e 74 25 3d 31  38 20 8c 0d 33 e0 14 77  |event%=18 ..3..w|
00008dc0  69 6d 70 25 21 31 32 3d  77 69 6d 70 25 21 38 0d  |imp%!12=wimp%!8.|
00008dd0  33 ea 2b c8 99 22 58 57  69 6d 70 5f 53 65 6e 64  |3.+.."XWimp_Send|
00008de0  4d 65 73 73 61 67 65 22  2c 31 37 2c 77 69 6d 70  |Message",17,wimp|
00008df0  25 2c 77 69 6d 70 25 21  32 30 0d 33 f4 1f 66 69  |%,wimp%!20.3..fi|
00008e00  6c 65 24 3d a4 57 69 6d  70 5f 47 65 74 46 69 6c  |le$=.Wimp_GetFil|
00008e10  65 50 61 74 68 4e 61 6d  65 0d 33 fe 1e 74 79 70  |ePathName.3..typ|
00008e20  65 24 3d a4 57 69 6d 70  5f 46 69 6c 65 54 79 70  |e$=.Wimp_FileTyp|
00008e30  65 28 26 46 42 46 29 0d  34 08 20 f2 45 76 65 6e  |e(&FBF).4. .Even|
00008e40  74 5f 4c 6f 61 64 46 69  6c 65 28 66 69 6c 65 24  |t_LoadFile(file$|
00008e50  2c 74 79 70 65 24 29 0d  34 12 05 cd 0d 34 1c 0f  |,type$).4....4..|
00008e60  20 20 20 20 20 c9 20 26  35 30 32 0d 34 26 10 68  |     . &502.4&.h|
00008e70  77 25 3d 77 69 6d 70 25  21 33 32 0d 34 30 10 68  |w%=wimp%!32.40.h|
00008e80  69 25 3d 77 69 6d 70 25  21 33 36 0d 34 3a 91 e7  |i%=wimp%!36.4:..|
00008e90  20 68 77 25 3d 2d 32 20  8c 20 f2 73 65 6e 64 68  | hw%=-2 . .sendh|
00008ea0  65 6c 70 28 77 69 6d 70  25 2c 22 54 68 69 73 20  |elp(wimp%,"This |
00008eb0  69 73 20 74 68 65 20 21  41 44 52 42 6f 6f 6b 20  |is the !ADRBook |
00008ec0  69 63 6f 6e 2e 7c 4d 50  72 6f 67 72 61 6d 20 77  |icon.|MProgram w|
00008ed0  72 69 74 74 65 6e 20 62  79 20 4a 75 6c 69 61 6e  |ritten by Julian|
00008ee0  20 53 61 6d 70 68 69 72  65 20 31 39 39 33 2e 7c  | Samphire 1993.||
00008ef0  4d 43 6c 69 63 6b 20 6f  6e 20 69 63 6f 6e 20 74  |MClick on icon t|
00008f00  6f 20 6f 70 65 6e 20 74  68 65 20 41 64 64 72 65  |o open the Addre|
00008f10  73 73 20 42 6f 6f 6b 2e  7c 4d 22 29 0d 34 44 0c  |ss Book.|M").4D.|
00008f20  c8 8e 20 68 77 25 20 ca  0d 34 4e 12 c9 20 53 61  |.. hw% ..4N.. Sa|
00008f30  76 65 5f 57 69 6e 64 6f  77 25 0d 34 58 5c e7 20  |ve_Window%.4X\. |
00008f40  68 69 25 3d 30 20 8c 20  f2 73 65 6e 64 68 65 6c  |hi%=0 . .sendhel|
00008f50  70 28 77 69 6d 70 25 2c  22 44 72 61 67 20 74 68  |p(wimp%,"Drag th|
00008f60  69 73 20 69 63 6f 6e 20  6f 6e 74 6f 20 61 20 66  |is icon onto a f|
00008f70  69 6c 65 72 20 77 69 6e  64 6f 77 20 74 6f 20 73  |iler window to s|
00008f80  61 76 65 20 74 68 65 20  61 64 64 72 65 73 73 20  |ave the address |
00008f90  64 61 74 61 22 29 0d 34  62 64 e7 20 68 69 25 3d  |data").4bd. hi%=|
00008fa0  31 20 8c 20 f2 73 65 6e  64 68 65 6c 70 28 77 69  |1 . .sendhelp(wi|
00008fb0  6d 70 25 2c 22 45 6e 74  65 72 20 74 68 65 20 66  |mp%,"Enter the f|
00008fc0  69 6c 65 20 6e 61 6d 65  20 68 65 72 65 20 74 68  |ile name here th|
00008fd0  61 74 20 79 6f 75 20 77  61 6e 74 20 74 6f 20 73  |at you want to s|
00008fe0  61 76 65 20 74 68 65 20  61 64 64 72 65 73 73 20  |ave the address |
00008ff0  64 61 74 61 20 61 73 2e  22 29 0d 34 6c 45 e7 20  |data as.").4lE. |
00009000  68 69 25 3d 32 20 8c 20  f2 73 65 6e 64 68 65 6c  |hi%=2 . .sendhel|
00009010  70 28 77 69 6d 70 25 2c  22 43 6c 69 63 6b 20 68  |p(wimp%,"Click h|
00009020  65 72 65 20 74 6f 20 73  61 76 65 20 74 68 65 20  |ere to save the |
00009030  61 64 64 72 65 73 73 20  64 61 74 61 2e 22 29 0d  |address data.").|
00009040  34 76 13 c9 20 53 61 76  65 32 5f 57 69 6e 64 6f  |4v.. Save2_Windo|
00009050  77 25 0d 34 80 54 e7 20  68 69 25 3d 30 20 8c 20  |w%.4.T. hi%=0 . |
00009060  f2 73 65 6e 64 68 65 6c  70 28 77 69 6d 70 25 2c  |.sendhelp(wimp%,|
00009070  22 44 72 61 67 20 74 68  69 73 20 69 63 6f 6e 20  |"Drag this icon |
00009080  6f 6e 74 6f 20 61 20 66  69 6c 65 72 20 77 69 6e  |onto a filer win|
00009090  64 6f 77 20 74 6f 20 73  61 76 65 20 74 68 65 20  |dow to save the |
000090a0  74 65 78 74 22 29 0d 34  8a 5c e7 20 68 69 25 3d  |text").4.\. hi%=|
000090b0  31 20 8c 20 f2 73 65 6e  64 68 65 6c 70 28 77 69  |1 . .sendhelp(wi|
000090c0  6d 70 25 2c 22 45 6e 74  65 72 20 74 68 65 20 66  |mp%,"Enter the f|
000090d0  69 6c 65 20 6e 61 6d 65  20 68 65 72 65 20 74 68  |ile name here th|
000090e0  61 74 20 79 6f 75 20 77  61 6e 74 20 74 6f 20 73  |at you want to s|
000090f0  61 76 65 20 74 68 65 20  74 65 78 74 20 61 73 2e  |ave the text as.|
00009100  22 29 0d 34 94 3d e7 20  68 69 25 3d 32 20 8c 20  |").4.=. hi%=2 . |
00009110  f2 73 65 6e 64 68 65 6c  70 28 77 69 6d 70 25 2c  |.sendhelp(wimp%,|
00009120  22 43 6c 69 63 6b 20 68  65 72 65 20 74 6f 20 73  |"Click here to s|
00009130  61 76 65 20 74 68 65 20  74 65 78 74 2e 22 29 0d  |ave the text.").|
00009140  34 9e 12 c9 20 49 6e 66  6f 5f 57 69 6e 64 6f 77  |4... Info_Window|
00009150  25 0d 34 a8 d4 e7 20 68  69 25 3d 30 20 84 20 68  |%.4... hi%=0 . h|
00009160  69 25 3d 31 20 84 20 68  69 25 3d 32 20 84 20 68  |i%=1 . hi%=2 . h|
00009170  69 25 3d 33 20 84 20 68  69 25 3d 34 20 84 20 68  |i%=3 . hi%=4 . h|
00009180  69 25 3d 35 20 84 20 68  69 25 3d 36 20 84 20 68  |i%=5 . hi%=6 . h|
00009190  69 25 3d 37 20 84 20 68  69 25 3d 38 20 84 20 68  |i%=7 . hi%=8 . h|
000091a0  69 25 3d 39 20 8c 20 f2  73 65 6e 64 68 65 6c 70  |i%=9 . .sendhelp|
000091b0  28 77 69 6d 70 25 2c 22  4e 61 6d 65 20 3a 20 41  |(wimp%,"Name : A|
000091c0  44 52 42 6f 6f 6b 7c 4d  50 75 72 70 6f 73 65 20  |DRBook|MPurpose |
000091d0  3a 20 53 74 6f 72 65 20  61 64 64 72 65 73 73 65  |: Store addresse|
000091e0  73 20 61 6e 64 20 6e 75  6d 62 65 72 73 7c 4d 41  |s and numbers|MA|
000091f0  75 74 68 6f 72 20 3a 20  4a 75 6c 69 61 6e 20 53  |uthor : Julian S|
00009200  61 6d 70 68 69 72 65 7c  4d 56 65 72 73 69 6f 6e  |amphire|MVersion|
00009210  20 3a 20 31 2e 30 36 20  28 31 31 2d 41 75 67 2d  | : 1.06 (11-Aug-|
00009220  39 33 29 22 29 0d 34 b2  15 c9 20 53 65 61 72 63  |93)").4... Searc|
00009230  68 32 5f 57 69 6e 64 6f  77 25 0d 34 bc 4e e7 20  |h2_Window%.4.N. |
00009240  68 69 25 3d 32 20 8c 20  f2 73 65 6e 64 68 65 6c  |hi%=2 . .sendhel|
00009250  70 28 77 69 6d 70 25 2c  22 43 6c 69 63 6b 20 68  |p(wimp%,"Click h|
00009260  65 72 65 20 74 6f 20 73  65 61 72 63 68 20 75 73  |ere to search us|
00009270  69 6e 67 20 73 65 61 72  63 68 20 70 61 72 61 6d  |ing search param|
00009280  65 74 65 72 73 2e 22 29  0d 34 c6 3d e7 20 68 69  |eters.").4.=. hi|
00009290  25 3d 33 20 8c 20 f2 73  65 6e 64 68 65 6c 70 28  |%=3 . .sendhelp(|
000092a0  77 69 6d 70 25 2c 22 43  6c 69 63 6b 20 68 65 72  |wimp%,"Click her|
000092b0  65 20 74 6f 20 63 61 6e  63 65 6c 20 73 65 61 72  |e to cancel sear|
000092c0  63 68 2e 22 29 0d 34 d0  11 c9 20 53 65 74 5f 57  |ch.").4... Set_W|
000092d0  69 6e 64 6f 77 25 0d 34  da 42 e7 20 68 69 25 3d  |indow%.4.B. hi%=|
000092e0  32 20 8c 20 f2 73 65 6e  64 68 65 6c 70 28 77 69  |2 . .sendhelp(wi|
000092f0  6d 70 25 2c 22 43 6c 69  63 6b 20 68 65 72 65 20  |mp%,"Click here |
00009300  74 6f 20 74 75 72 6e 20  62 61 63 6b 20 74 68 65  |to turn back the|
00009310  20 70 61 67 65 2e 22 29  0d 34 e4 57 e7 20 68 69  | page.").4.W. hi|
00009320  25 3d 33 20 8c 20 f2 73  65 6e 64 68 65 6c 70 28  |%=3 . .sendhelp(|
00009330  77 69 6d 70 25 2c 22 43  6c 69 63 6b 20 68 65 72  |wimp%,"Click her|
00009340  65 20 74 6f 20 73 74 61  72 74 20 73 65 61 72 63  |e to start searc|
00009350  68 69 6e 67 20 75 73 69  6e 67 20 73 65 61 72 63  |hing using searc|
00009360  68 20 70 61 70 61 6d 65  74 65 72 73 2e 22 29 0d  |h papameters.").|
00009370  34 ee 3f e7 20 68 69 25  3d 30 20 8c 20 f2 73 65  |4.?. hi%=0 . .se|
00009380  6e 64 68 65 6c 70 28 77  69 6d 70 25 2c 22 43 6c  |ndhelp(wimp%,"Cl|
00009390  69 63 6b 20 68 65 72 65  20 74 6f 20 68 69 6c 69  |ick here to hili|
000093a0  67 68 74 20 53 75 72 6e  61 6d 65 2e 22 29 0d 34  |ght Surname.").4|
000093b0  f8 43 e7 20 68 69 25 3d  34 20 8c 20 f2 73 65 6e  |.C. hi%=4 . .sen|
000093c0  64 68 65 6c 70 28 77 69  6d 70 25 2c 22 43 6c 69  |dhelp(wimp%,"Cli|
000093d0  63 6b 20 68 65 72 65 20  74 6f 20 68 69 6c 69 67  |ck here to hilig|
000093e0  68 74 20 4f 74 68 65 72  20 4e 61 6d 65 73 2e 22  |ht Other Names."|
000093f0  29 0d 35 02 3f e7 20 68  69 25 3d 36 20 8c 20 f2  |).5.?. hi%=6 . .|
00009400  73 65 6e 64 68 65 6c 70  28 77 69 6d 70 25 2c 22  |sendhelp(wimp%,"|
00009410  43 6c 69 63 6b 20 68 65  72 65 20 74 6f 20 68 69  |Click here to hi|
00009420  6c 69 67 68 74 20 41 64  64 72 65 73 73 2e 22 29  |light Address.")|
00009430  0d 35 0c 42 e7 20 68 69  25 3d 31 30 20 8c 20 f2  |.5.B. hi%=10 . .|
00009440  73 65 6e 64 68 65 6c 70  28 77 69 6d 70 25 2c 22  |sendhelp(wimp%,"|
00009450  43 6c 69 63 6b 20 68 65  72 65 20 74 6f 20 68 69  |Click here to hi|
00009460  6c 69 67 68 74 20 50 6f  73 74 20 43 6f 64 65 2e  |light Post Code.|
00009470  22 29 0d 35 16 42 e7 20  68 69 25 3d 31 32 20 8c  |").5.B. hi%=12 .|
00009480  20 f2 73 65 6e 64 68 65  6c 70 28 77 69 6d 70 25  | .sendhelp(wimp%|
00009490  2c 22 43 6c 69 63 6b 20  68 65 72 65 20 74 6f 20  |,"Click here to |
000094a0  68 69 6c 69 67 68 74 20  41 72 65 61 20 43 6f 64  |hilight Area Cod|
000094b0  65 2e 22 29 0d 35 20 49  e7 20 68 69 25 3d 31 34  |e.").5 I. hi%=14|
000094c0  20 8c 20 f2 73 65 6e 64  68 65 6c 70 28 77 69 6d  | . .sendhelp(wim|
000094d0  70 25 2c 22 43 6c 69 63  6b 20 68 65 72 65 20 74  |p%,"Click here t|
000094e0  6f 20 68 69 6c 69 67 68  74 20 54 65 6c 65 70 68  |o hilight Teleph|
000094f0  6f 6e 65 20 4e 75 6d 62  65 72 2e 22 29 0d 35 2a  |one Number.").5*|
00009500  3e e7 20 68 69 25 3d 31  36 20 8c 20 f2 73 65 6e  |>. hi%=16 . .sen|
00009510  64 68 65 6c 70 28 77 69  6d 70 25 2c 22 43 6c 69  |dhelp(wimp%,"Cli|
00009520  63 6b 20 68 65 72 65 20  74 6f 20 68 69 6c 69 67  |ck here to hilig|
00009530  68 74 20 4e 6f 74 65 73  2e 22 29 0d 35 34 38 e7  |ht Notes.").548.|
00009540  20 68 69 25 3d 31 20 8c  20 f2 73 65 6e 64 68 65  | hi%=1 . .sendhe|
00009550  6c 70 28 77 69 6d 70 25  2c 22 45 6e 74 65 72 20  |lp(wimp%,"Enter |
00009560  74 68 65 20 73 75 72 6e  61 6d 65 20 68 65 72 65  |the surname here|
00009570  2e 22 29 0d 35 3e 3c e7  20 68 69 25 3d 35 20 8c  |.").5><. hi%=5 .|
00009580  20 f2 73 65 6e 64 68 65  6c 70 28 77 69 6d 70 25  | .sendhelp(wimp%|
00009590  2c 22 45 6e 74 65 72 20  74 68 65 20 6f 74 68 65  |,"Enter the othe|
000095a0  72 20 6e 61 6d 65 73 20  68 65 72 65 2e 22 29 0d  |r names here.").|
000095b0  35 48 3f e7 20 68 69 25  3d 37 20 8c 20 f2 73 65  |5H?. hi%=7 . .se|
000095c0  6e 64 68 65 6c 70 28 77  69 6d 70 25 2c 22 45 6e  |ndhelp(wimp%,"En|
000095d0  74 65 72 20 74 68 65 20  61 64 64 72 65 73 73 20  |ter the address |
000095e0  6c 69 6e 65 20 31 20 68  65 72 65 2e 22 29 0d 35  |line 1 here.").5|
000095f0  52 3f e7 20 68 69 25 3d  38 20 8c 20 f2 73 65 6e  |R?. hi%=8 . .sen|
00009600  64 68 65 6c 70 28 77 69  6d 70 25 2c 22 45 6e 74  |dhelp(wimp%,"Ent|
00009610  65 72 20 74 68 65 20 61  64 64 72 65 73 73 20 6c  |er the address l|
00009620  69 6e 65 20 32 20 68 65  72 65 2e 22 29 0d 35 5c  |ine 2 here.").5\|
00009630  3f e7 20 68 69 25 3d 39  20 8c 20 f2 73 65 6e 64  |?. hi%=9 . .send|
00009640  68 65 6c 70 28 77 69 6d  70 25 2c 22 45 6e 74 65  |help(wimp%,"Ente|
00009650  72 20 74 68 65 20 61 64  64 72 65 73 73 20 6c 69  |r the address li|
00009660  6e 65 20 33 20 68 65 72  65 2e 22 29 0d 35 66 3b  |ne 3 here.").5f;|
00009670  e7 20 68 69 25 3d 31 31  20 8c 20 f2 73 65 6e 64  |. hi%=11 . .send|
00009680  68 65 6c 70 28 77 69 6d  70 25 2c 22 45 6e 74 65  |help(wimp%,"Ente|
00009690  72 20 74 68 65 20 70 6f  73 74 20 63 6f 64 65 20  |r the post code |
000096a0  68 65 72 65 2e 22 29 0d  35 70 3b e7 20 68 69 25  |here.").5p;. hi%|
000096b0  3d 31 33 20 8c 20 f2 73  65 6e 64 68 65 6c 70 28  |=13 . .sendhelp(|
000096c0  77 69 6d 70 25 2c 22 45  6e 74 65 72 20 74 68 65  |wimp%,"Enter the|
000096d0  20 61 72 65 61 20 63 6f  64 65 20 68 65 72 65 2e  | area code here.|
000096e0  22 29 0d 35 7a 42 e7 20  68 69 25 3d 31 35 20 8c  |").5zB. hi%=15 .|
000096f0  20 f2 73 65 6e 64 68 65  6c 70 28 77 69 6d 70 25  | .sendhelp(wimp%|
00009700  2c 22 45 6e 74 65 72 20  74 68 65 20 74 65 6c 65  |,"Enter the tele|
00009710  70 68 6f 6e 65 20 6e 75  6d 62 65 72 20 68 65 72  |phone number her|
00009720  65 2e 22 29 0d 35 84 37  e7 20 68 69 25 3d 31 37  |e.").5.7. hi%=17|
00009730  20 8c 20 f2 73 65 6e 64  68 65 6c 70 28 77 69 6d  | . .sendhelp(wim|
00009740  70 25 2c 22 45 6e 74 65  72 20 74 68 65 20 6e 6f  |p%,"Enter the no|
00009750  74 65 73 20 68 65 72 65  2e 22 29 0d 35 8e 12 c9  |tes here.").5...|
00009760  20 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 0d 35 98  | Main_Window%.5.|
00009770  60 e7 20 68 69 25 3d 34  20 8c 20 f2 73 65 6e 64  |`. hi%=4 . .send|
00009780  68 65 6c 70 28 77 69 6d  70 25 2c 22 53 75 72 6e  |help(wimp%,"Surn|
00009790  61 6d 65 20 69 63 6f 6e  2e 7c 4d 45 6e 74 65 72  |ame icon.|MEnter|
000097a0  20 74 68 65 20 70 65 72  73 6f 6e 73 20 53 75 72  | the persons Sur|
000097b0  6e 61 6d 65 20 68 65 72  65 2e 7c 4d 22 2b 53 55  |name here.|M"+SU|
000097c0  52 4e 41 4d 45 24 28 63  75 72 25 29 29 0d 35 a2  |RNAME$(cur%)).5.|
000097d0  62 e7 20 68 69 25 3d 35  20 8c 20 f2 73 65 6e 64  |b. hi%=5 . .send|
000097e0  68 65 6c 70 28 77 69 6d  70 25 2c 22 4f 74 68 65  |help(wimp%,"Othe|
000097f0  72 73 20 69 63 6f 6e 2e  7c 4d 45 6e 74 65 72 20  |rs icon.|MEnter |
00009800  74 68 65 20 70 65 72 73  6f 6e 73 20 4f 74 68 65  |the persons Othe|
00009810  72 20 6e 61 6d 65 73 20  68 65 72 65 2e 7c 4d 22  |r names here.|M"|
00009820  2b 4f 54 48 45 52 53 24  28 63 75 72 25 29 29 0d  |+OTHERS$(cur%)).|
00009830  35 ac 8e e7 20 68 69 25  3d 36 20 84 20 68 69 25  |5... hi%=6 . hi%|
00009840  3d 37 20 84 20 68 69 25  3d 38 20 8c 20 f2 73 65  |=7 . hi%=8 . .se|
00009850  6e 64 68 65 6c 70 28 77  69 6d 70 25 2c 22 41 64  |ndhelp(wimp%,"Ad|
00009860  64 72 65 73 73 20 69 63  6f 6e 73 2e 7c 4d 45 6e  |dress icons.|MEn|
00009870  74 65 72 20 74 68 65 20  70 65 72 73 6f 6e 73 20  |ter the persons |
00009880  41 64 64 72 65 73 73 20  68 65 72 65 2e 7c 4d 22  |Address here.|M"|
00009890  2b 41 44 44 31 24 28 63  75 72 25 29 2b 22 20 22  |+ADD1$(cur%)+" "|
000098a0  2b 41 44 44 32 24 28 63  75 72 25 29 2b 22 20 22  |+ADD2$(cur%)+" "|
000098b0  2b 41 44 44 33 24 28 63  75 72 25 29 29 0d 35 b6  |+ADD3$(cur%)).5.|
000098c0  65 e7 20 68 69 25 3d 39  20 8c 20 f2 73 65 6e 64  |e. hi%=9 . .send|
000098d0  68 65 6c 70 28 77 69 6d  70 25 2c 22 50 6f 73 74  |help(wimp%,"Post|
000098e0  20 43 6f 64 65 20 69 63  6f 6e 2e 7c 4d 45 6e 74  | Code icon.|MEnt|
000098f0  65 72 20 74 68 65 20 70  65 72 73 6f 6e 73 20 50  |er the persons P|
00009900  6f 73 74 20 43 6f 64 65  20 68 65 72 65 2e 7c 4d  |ost Code here.|M|
00009910  22 2b 50 4f 53 54 43 4f  44 45 24 28 63 75 72 25  |"+POSTCODE$(cur%|
00009920  29 29 0d 35 c0 62 e7 20  68 69 25 3d 31 30 20 8c  |)).5.b. hi%=10 .|
00009930  20 f2 73 65 6e 64 68 65  6c 70 28 77 69 6d 70 25  | .sendhelp(wimp%|
00009940  2c 22 41 72 65 61 20 43  6f 64 65 20 69 63 6f 6e  |,"Area Code icon|
00009950  2e 7c 4d 45 6e 74 65 72  20 74 68 65 20 70 65 72  |.|MEnter the per|
00009960  73 6f 6e 73 20 41 72 65  61 20 43 6f 64 65 20 68  |sons Area Code h|
00009970  65 72 65 2e 7c 4d 22 2b  41 52 45 41 24 28 63 75  |ere.|M"+AREA$(cu|
00009980  72 25 29 29 0d 35 ca 6f  e7 20 68 69 25 3d 31 31  |r%)).5.o. hi%=11|
00009990  20 8c 20 f2 73 65 6e 64  68 65 6c 70 28 77 69 6d  | . .sendhelp(wim|
000099a0  70 25 2c 22 54 65 6c 65  70 68 6f 6e 65 20 4e 75  |p%,"Telephone Nu|
000099b0  6d 62 65 72 20 69 63 6f  6e 2e 7c 4d 45 6e 74 65  |mber icon.|MEnte|
000099c0  72 20 74 68 65 20 70 65  72 73 6f 6e 73 20 54 65  |r the persons Te|
000099d0  6c 65 70 68 6f 6e 65 20  4e 75 6d 62 65 72 20 68  |lephone Number h|
000099e0  65 72 65 2e 7c 4d 22 2b  54 45 4c 24 28 63 75 72  |ere.|M"+TEL$(cur|
000099f0  25 29 29 0d 35 d4 5f e7  20 68 69 25 3d 31 32 20  |%)).5._. hi%=12 |
00009a00  8c 20 f2 73 65 6e 64 68  65 6c 70 28 77 69 6d 70  |. .sendhelp(wimp|
00009a10  25 2c 22 4e 6f 74 65 73  20 69 63 6f 6e 2e 7c 4d  |%,"Notes icon.|M|
00009a20  45 6e 74 65 72 20 74 68  65 20 6e 6f 74 65 73 20  |Enter the notes |
00009a30  6f 6e 20 74 68 65 20 70  65 72 73 6f 6e 20 68 65  |on the person he|
00009a40  72 65 2e 7c 4d 22 2b 4e  54 53 24 28 63 75 72 25  |re.|M"+NTS$(cur%|
00009a50  29 29 0d 35 de 43 e7 20  68 69 25 3d 32 31 20 8c  |)).5.C. hi%=21 .|
00009a60  20 f2 73 65 6e 64 68 65  6c 70 28 77 69 6d 70 25  | .sendhelp(wimp%|
00009a70  2c 22 43 6c 69 63 6b 20  68 65 72 65 20 74 6f 20  |,"Click here to |
00009a80  74 75 72 6e 20 62 61 63  6b 20 74 68 65 20 70 61  |turn back the pa|
00009a90  67 65 2e 22 29 0d 35 e8  47 e7 20 68 69 25 3d 32  |ge.").5.G. hi%=2|
00009aa0  32 20 8c 20 f2 73 65 6e  64 68 65 6c 70 28 77 69  |2 . .sendhelp(wi|
00009ab0  6d 70 25 2c 22 43 6c 69  63 6b 20 68 65 72 65 20  |mp%,"Click here |
00009ac0  74 6f 20 67 6f 20 74 6f  20 74 68 65 20 66 69 72  |to go to the fir|
00009ad0  73 74 20 72 65 63 6f 72  64 2e 22 29 0d 35 f2 41  |st record.").5.A|
00009ae0  e7 20 68 69 25 3d 32 33  20 8c 20 f2 73 65 6e 64  |. hi%=23 . .send|
00009af0  68 65 6c 70 28 77 69 6d  70 25 2c 22 43 6c 69 63  |help(wimp%,"Clic|
00009b00  6b 20 68 65 72 65 20 74  6f 20 67 6f 20 62 61 63  |k here to go bac|
00009b10  6b 20 61 20 72 65 63 6f  72 64 2e 22 29 0d 35 fc  |k a record.").5.|
00009b20  40 e7 20 68 69 25 3d 32  34 20 8c 20 f2 73 65 6e  |@. hi%=24 . .sen|
00009b30  64 68 65 6c 70 28 77 69  6d 70 25 2c 22 43 6c 69  |dhelp(wimp%,"Cli|
00009b40  63 6b 20 68 65 72 65 20  74 6f 20 64 69 61 6c 20  |ck here to dial |
00009b50  74 68 65 20 6e 75 6d 62  65 72 2e 22 29 0d 36 06  |the number.").6.|
00009b60  41 e7 20 68 69 25 3d 33  33 20 8c 20 f2 73 65 6e  |A. hi%=33 . .sen|
00009b70  64 68 65 6c 70 28 77 69  6d 70 25 2c 22 43 6c 69  |dhelp(wimp%,"Cli|
00009b80  63 6b 20 68 65 72 65 20  74 6f 20 73 6f 72 74 20  |ck here to sort |
00009b90  74 68 65 20 72 65 63 6f  72 64 73 2e 22 29 0d 36  |the records.").6|
00009ba0  10 48 e7 20 68 69 25 3d  32 35 20 8c 20 f2 73 65  |.H. hi%=25 . .se|
00009bb0  6e 64 68 65 6c 70 28 77  69 6d 70 25 2c 22 43 6c  |ndhelp(wimp%,"Cl|
00009bc0  69 63 6b 20 68 65 72 65  20 74 6f 20 73 65 74 20  |ick here to set |
00009bd0  74 68 65 20 73 65 61 72  63 68 20 63 72 69 74 65  |the search crite|
00009be0  72 69 61 2e 22 29 0d 36  1a 4a e7 20 68 69 25 3d  |ria.").6.J. hi%=|
00009bf0  32 36 20 8c 20 f2 73 65  6e 64 68 65 6c 70 28 77  |26 . .sendhelp(w|
00009c00  69 6d 70 25 2c 22 43 6c  69 63 6b 20 68 65 72 65  |imp%,"Click here|
00009c10  20 74 6f 20 64 65 6c 65  74 65 20 74 68 65 20 63  | to delete the c|
00009c20  75 72 72 65 6e 74 20 72  65 63 6f 72 64 2e 22 29  |urrent record.")|
00009c30  0d 36 24 3d e7 20 68 69  25 3d 32 37 20 8c 20 f2  |.6$=. hi%=27 . .|
00009c40  73 65 6e 64 68 65 6c 70  28 77 69 6d 70 25 2c 22  |sendhelp(wimp%,"|
00009c50  43 6c 69 63 6b 20 68 65  72 65 20 74 6f 20 61 64  |Click here to ad|
00009c60  64 20 61 20 72 65 63 6f  72 64 2e 22 29 0d 36 2e  |d a record.").6.|
00009c70  45 e7 20 68 69 25 3d 32  38 20 8c 20 f2 73 65 6e  |E. hi%=28 . .sen|
00009c80  64 68 65 6c 70 28 77 69  6d 70 25 2c 22 43 6c 69  |dhelp(wimp%,"Cli|
00009c90  63 6b 20 68 65 72 65 20  74 6f 20 67 6f 20 74 6f  |ck here to go to|
00009ca0  20 74 68 65 20 70 72 69  6e 74 20 70 61 67 65 2e  | the print page.|
00009cb0  22 29 0d 36 38 44 e7 20  68 69 25 3d 32 39 20 8c  |").68D. hi%=29 .|
00009cc0  20 f2 73 65 6e 64 68 65  6c 70 28 77 69 6d 70 25  | .sendhelp(wimp%|
00009cd0  2c 22 43 6c 69 63 6b 20  68 65 72 65 20 74 6f 20  |,"Click here to |
00009ce0  67 6f 20 66 6f 72 77 61  72 64 20 61 20 72 65 63  |go forward a rec|
00009cf0  6f 72 64 2e 22 29 0d 36  42 46 e7 20 68 69 25 3d  |ord.").6BF. hi%=|
00009d00  33 30 20 8c 20 f2 73 65  6e 64 68 65 6c 70 28 77  |30 . .sendhelp(w|
00009d10  69 6d 70 25 2c 22 43 6c  69 63 6b 20 68 65 72 65  |imp%,"Click here|
00009d20  20 74 6f 20 67 6f 20 74  6f 20 74 68 65 20 6c 61  | to go to the la|
00009d30  73 74 20 72 65 63 6f 72  64 2e 22 29 0d 36 4c 9a  |st record.").6L.|
00009d40  e7 20 68 69 25 3d 31 39  20 84 20 68 69 25 3d 32  |. hi%=19 . hi%=2|
00009d50  30 20 8c 20 f2 73 65 6e  64 68 65 6c 70 28 77 69  |0 . .sendhelp(wi|
00009d60  6d 70 25 2c 22 54 68 69  73 20 73 68 6f 77 73 20  |mp%,"This shows |
00009d70  74 68 65 20 61 6d 6d 6f  75 6e 74 20 6f 66 20 72  |the ammount of r|
00009d80  65 63 6f 72 64 73 20 61  6e 64 20 63 75 72 72 65  |ecords and curre|
00009d90  6e 74 20 72 65 63 6f 72  64 2e 7c 4d 54 6f 74 61  |nt record.|MTota|
00009da0  6c 20 72 65 63 6f 72 64  73 20 3d 20 22 2b c3 28  |l records = "+.(|
00009db0  74 6f 74 25 29 2b 22 7c  4d 43 75 72 72 65 6e 74  |tot%)+"|MCurrent|
00009dc0  20 72 65 63 6f 72 64 20  3d 20 22 2b c3 28 63 75  | record = "+.(cu|
00009dd0  72 25 2b 31 29 29 0d 36  56 13 c9 20 54 69 74 6c  |r%+1)).6V.. Titl|
00009de0  65 5f 57 69 6e 64 6f 77  25 0d 36 60 7a e7 20 68  |e_Window%.6`z. h|
00009df0  69 25 3d 32 20 84 20 68  69 25 3d 33 20 84 20 68  |i%=2 . hi%=3 . h|
00009e00  69 25 3d 34 20 84 20 68  69 25 3d 35 20 84 20 68  |i%=4 . hi%=5 . h|
00009e10  69 25 3d 38 20 8c 20 f2  73 65 6e 64 68 65 6c 70  |i%=8 . .sendhelp|
00009e20  28 77 69 6d 70 25 2c 22  41 64 64 72 65 73 73 20  |(wimp%,"Address |
00009e30  42 6f 6f 6b 7c 4d 42 79  20 4a 75 6c 69 61 6e 20  |Book|MBy Julian |
00009e40  53 61 6d 70 68 69 72 65  7c 4d a9 20 41 72 63 68  |Samphire|M. Arch|
00009e50  69 6d 65 64 65 73 20 57  6f 72 6c 64 20 31 39 39  |imedes World 199|
00009e60  33 22 29 0d 36 6a 46 e7  20 68 69 25 3d 36 20 8c  |3").6jF. hi%=6 .|
00009e70  20 f2 73 65 6e 64 68 65  6c 70 28 77 69 6d 70 25  | .sendhelp(wimp%|
00009e80  2c 22 43 6c 69 63 6b 20  68 65 72 65 20 74 6f 20  |,"Click here to |
00009e90  63 6c 6f 73 65 20 74 68  65 20 61 64 64 72 65 73  |close the addres|
00009ea0  73 20 62 6f 6f 6b 2e 22  29 0d 36 74 42 e7 20 68  |s book.").6tB. h|
00009eb0  69 25 3d 37 20 8c 20 f2  73 65 6e 64 68 65 6c 70  |i%=7 . .sendhelp|
00009ec0  28 77 69 6d 70 25 2c 22  43 6c 69 63 6b 20 68 65  |(wimp%,"Click he|
00009ed0  72 65 20 74 6f 20 74 75  72 6e 20 6f 76 65 72 20  |re to turn over |
00009ee0  74 68 65 20 70 61 67 65  2e 22 29 0d 36 7e 13 c9  |the page.").6~..|
00009ef0  20 50 72 69 6e 74 5f 57  69 6e 64 6f 77 25 0d 36  | Print_Window%.6|
00009f00  88 61 e7 20 68 69 25 3d  37 20 84 20 68 69 25 3d  |.a. hi%=7 . hi%=|
00009f10  31 33 20 84 20 68 69 25  3d 31 36 20 84 20 68 69  |13 . hi%=16 . hi|
00009f20  25 3d 33 33 20 8c 20 f2  73 65 6e 64 68 65 6c 70  |%=33 . .sendhelp|
00009f30  28 77 69 6d 70 25 2c 22  43 6c 69 63 6b 20 68 65  |(wimp%,"Click he|
00009f40  72 65 20 66 6f 72 20 73  70 65 63 69 66 69 65 64  |re for specified|
00009f50  20 70 72 69 6e 74 20 72  61 6e 67 65 2e 22 29 0d  | print range.").|
00009f60  36 92 89 e7 20 68 69 25  3d 32 38 20 84 20 68 69  |6... hi%=28 . hi|
00009f70  25 3d 32 39 20 8c 20 f2  73 65 6e 64 68 65 6c 70  |%=29 . .sendhelp|
00009f80  28 77 69 6d 70 25 2c 22  54 68 69 73 20 73 68 6f  |(wimp%,"This sho|
00009f90  77 73 20 74 68 65 20 63  75 72 72 65 6e 74 20 6e  |ws the current n|
00009fa0  61 6d 65 20 6f 66 20 74  68 65 20 70 65 72 73 6f  |ame of the perso|
00009fb0  6e 20 74 6f 20 62 65 20  70 72 69 6e 74 65 64 2e  |n to be printed.|
00009fc0  7c 4d 22 2b 53 55 52 4e  41 4d 45 24 28 70 63 75  ||M"+SURNAME$(pcu|
00009fd0  72 25 29 2b 22 7c 4d 22  2b 4f 54 48 45 52 53 24  |r%)+"|M"+OTHERS$|
00009fe0  28 70 63 75 72 25 29 29  0d 36 9c 4a e7 20 68 69  |(pcur%)).6.J. hi|
00009ff0  25 3d 33 30 20 8c 20 f2  73 65 6e 64 68 65 6c 70  |%=30 . .sendhelp|
0000a000  28 77 69 6d 70 25 2c 22  43 6c 69 63 6b 20 68 65  |(wimp%,"Click he|
0000a010  72 65 20 74 6f 20 67 6f  20 74 6f 20 74 68 65 20  |re to go to the |
0000a020  70 72 65 76 69 6f 75 73  20 70 65 72 73 6f 6e 2e  |previous person.|
0000a030  22 29 0d 36 a6 46 e7 20  68 69 25 3d 33 31 20 8c  |").6.F. hi%=31 .|
0000a040  20 f2 73 65 6e 64 68 65  6c 70 28 77 69 6d 70 25  | .sendhelp(wimp%|
0000a050  2c 22 43 6c 69 63 6b 20  68 65 72 65 20 74 6f 20  |,"Click here to |
0000a060  67 6f 20 74 6f 20 74 68  65 20 6e 65 78 74 20 70  |go to the next p|
0000a070  65 72 73 6f 6e 2e 22 29  0d 36 b0 43 e7 20 68 69  |erson.").6.C. hi|
0000a080  25 3d 31 30 20 8c 20 f2  73 65 6e 64 68 65 6c 70  |%=10 . .sendhelp|
0000a090  28 77 69 6d 70 25 2c 22  43 6c 69 63 6b 20 68 65  |(wimp%,"Click he|
0000a0a0  72 65 20 74 6f 20 74 75  72 6e 20 62 61 63 6b 20  |re to turn back |
0000a0b0  74 68 65 20 70 61 67 65  2e 22 29 0d 36 ba 44 e7  |the page.").6.D.|
0000a0c0  20 68 69 25 3d 31 37 20  8c 20 f2 73 65 6e 64 68  | hi%=17 . .sendh|
0000a0d0  65 6c 70 28 77 69 6d 70  25 2c 22 43 6c 69 63 6b  |elp(wimp%,"Click|
0000a0e0  20 68 65 72 65 20 74 6f  20 70 72 69 6e 74 20 73  | here to print s|
0000a0f0  65 6c 65 63 74 65 64 20  64 61 74 61 2e 22 29 0d  |elected data.").|
0000a100  36 c4 3c e7 20 68 69 25  3d 32 31 20 8c 20 f2 73  |6.<. hi%=21 . .s|
0000a110  65 6e 64 68 65 6c 70 28  77 69 6d 70 25 2c 22 43  |endhelp(wimp%,"C|
0000a120  6c 69 63 6b 20 68 65 72  65 20 74 6f 20 73 65 74  |lick here to set|
0000a130  20 53 75 72 6e 61 6d 65  2e 22 29 0d 36 ce 40 e7  | Surname.").6.@.|
0000a140  20 68 69 25 3d 32 32 20  8c 20 f2 73 65 6e 64 68  | hi%=22 . .sendh|
0000a150  65 6c 70 28 77 69 6d 70  25 2c 22 43 6c 69 63 6b  |elp(wimp%,"Click|
0000a160  20 68 65 72 65 20 74 6f  20 73 65 74 20 4f 74 68  | here to set Oth|
0000a170  65 72 20 4e 61 6d 65 73  2e 22 29 0d 36 d8 3c e7  |er Names.").6.<.|
0000a180  20 68 69 25 3d 32 33 20  8c 20 f2 73 65 6e 64 68  | hi%=23 . .sendh|
0000a190  65 6c 70 28 77 69 6d 70  25 2c 22 43 6c 69 63 6b  |elp(wimp%,"Click|
0000a1a0  20 68 65 72 65 20 74 6f  20 73 65 74 20 41 64 64  | here to set Add|
0000a1b0  72 65 73 73 2e 22 29 0d  36 e2 3e e7 20 68 69 25  |ress.").6.>. hi%|
0000a1c0  3d 32 34 20 8c 20 f2 73  65 6e 64 68 65 6c 70 28  |=24 . .sendhelp(|
0000a1d0  77 69 6d 70 25 2c 22 43  6c 69 63 6b 20 68 65 72  |wimp%,"Click her|
0000a1e0  65 20 74 6f 20 73 65 74  20 50 6f 73 74 20 43 6f  |e to set Post Co|
0000a1f0  64 65 2e 22 29 0d 36 ec  3e e7 20 68 69 25 3d 32  |de.").6.>. hi%=2|
0000a200  35 20 8c 20 f2 73 65 6e  64 68 65 6c 70 28 77 69  |5 . .sendhelp(wi|
0000a210  6d 70 25 2c 22 43 6c 69  63 6b 20 68 65 72 65 20  |mp%,"Click here |
0000a220  74 6f 20 73 65 74 20 41  72 65 61 20 43 6f 64 65  |to set Area Code|
0000a230  2e 22 29 0d 36 f6 45 e7  20 68 69 25 3d 32 36 20  |.").6.E. hi%=26 |
0000a240  8c 20 f2 73 65 6e 64 68  65 6c 70 28 77 69 6d 70  |. .sendhelp(wimp|
0000a250  25 2c 22 43 6c 69 63 6b  20 68 65 72 65 20 74 6f  |%,"Click here to|
0000a260  20 73 65 74 20 54 65 6c  65 70 68 6f 6e 65 20 4e  | set Telephone N|
0000a270  75 6d 62 65 72 2e 22 29  0d 37 00 3a e7 20 68 69  |umber.").7.:. hi|
0000a280  25 3d 32 37 20 8c 20 f2  73 65 6e 64 68 65 6c 70  |%=27 . .sendhelp|
0000a290  28 77 69 6d 70 25 2c 22  43 6c 69 63 6b 20 68 65  |(wimp%,"Click he|
0000a2a0  72 65 20 74 6f 20 73 65  74 20 4e 6f 74 65 73 2e  |re to set Notes.|
0000a2b0  22 29 0d 37 0a 05 cb 0d  37 14 09 20 20 20 20 cb  |").7....7..    .|
0000a2c0  0d 37 1e 05 e1 0d 37 28  05 3a 0d 37 32 26 dd 20  |.7....7(.:.72&. |
0000a2d0  a4 57 69 6d 70 5f 47 65  74 53 74 72 69 6e 67 41  |.Wimp_GetStringA|
0000a2e0  74 41 64 64 72 65 73 73  28 61 72 72 61 79 25 29  |tAddress(array%)|
0000a2f0  0d 37 3c 0d ea 73 24 3a  73 24 3d 22 22 0d 37 46  |.7<..s$:s$="".7F|
0000a300  3c c8 95 28 3f 61 72 72  61 79 25 3c 3e 31 33 29  |<..(?array%<>13)|
0000a310  80 28 3f 61 72 72 61 79  25 3c 3e 30 29 3a 73 24  |.(?array%<>0):s$|
0000a320  2b 3d bd 28 3f 61 72 72  61 79 25 29 3a 61 72 72  |+=.(?array%):arr|
0000a330  61 79 25 2b 3d 31 3a ce  3a 0d 37 50 07 3d 73 24  |ay%+=1:.:.7P.=s$|
0000a340  0d 37 5a 05 3a 0d 37 64  23 dd 20 a4 57 69 6d 70  |.7Z.:.7d#. .Wimp|
0000a350  5f 47 65 74 46 69 6c 65  46 72 6f 6d 50 61 74 68  |_GetFileFromPath|
0000a360  6e 61 6d 65 28 66 24 29  0d 37 6e 11 c8 8e 20 a7  |name(f$).7n... .|
0000a370  66 24 2c 22 2e 22 29 20  ca 0d 37 78 10 20 c9 20  |f$,".") ..7x. . |
0000a380  30 20 20 20 20 3a 3d 66  24 0d 37 82 37 20 7f 20  |0    :=f$.7.7 . |
0000a390  3a 3d a4 57 69 6d 70 5f  47 65 74 46 69 6c 65 46  |:=.Wimp_GetFileF|
0000a3a0  72 6f 6d 50 61 74 68 6e  61 6d 65 28 c2 66 24 2c  |romPathname(.f$,|
0000a3b0  a9 28 66 24 29 2d a7 66  24 2c 22 2e 22 29 29 29  |.(f$)-.f$,".")))|
0000a3c0  0d 37 8c 05 cb 0d 37 96  05 3a 0d 37 a0 1b dd 20  |.7....7..:.7... |
0000a3d0  a4 57 69 6d 70 5f 46 69  6c 65 54 79 70 65 28 74  |.Wimp_FileType(t|
0000a3e0  79 70 65 25 29 0d 37 aa  0c c8 8e 74 79 70 65 25  |ype%).7....type%|
0000a3f0  ca 0d 37 b4 11 c9 26 46  46 46 3a 3d 22 54 65 78  |..7...&FFF:="Tex|
0000a400  74 22 0d 37 be 11 c9 26  46 46 44 3a 3d 22 44 61  |t".7...&FFD:="Da|
0000a410  74 61 22 0d 37 c8 12 c9  26 46 46 42 3a 3d 22 42  |ta".7...&FFB:="B|
0000a420  61 73 69 63 22 0d 37 d2  13 c9 26 46 46 39 3a 3d  |asic".7...&FF9:=|
0000a430  22 53 70 72 69 74 65 22  0d 37 dc 14 c9 26 46 45  |"Sprite".7...&FE|
0000a440  44 3a 3d 22 50 61 6c 65  74 74 65 22 0d 37 e6 15  |D:="Palette".7..|
0000a450  c9 26 46 45 43 3a 3d 22  54 65 6d 70 6c 61 74 65  |.&FEC:="Template|
0000a460  22 0d 37 f0 11 c9 26 41  46 46 3a 3d 22 44 72 61  |".7...&AFF:="Dra|
0000a470  77 22 0d 37 fa 14 c9 26  31 30 30 30 3a 3d 22 46  |w".7...&1000:="F|
0000a480  6f 6c 64 65 72 22 0d 38  04 19 c9 26 32 30 30 30  |older".8...&2000|
0000a490  3a 3d 22 41 70 70 6c 69  63 61 74 69 6f 6e 22 0d  |:="Application".|
0000a4a0  38 0e 0f 7f 3d c3 7e 28  74 79 70 65 25 29 0d 38  |8...=.~(type%).8|
0000a4b0  18 05 cb 0d 38 22 05 3a  0d 38 2c 0b dd 20 f2 72  |....8".:.8,.. .r|
0000a4c0  65 61 64 0d 38 36 1c e7  20 63 75 72 25 3c 74 6f  |ead.86.. cur%<to|
0000a4d0  74 25 20 84 20 69 63 6f  6e 25 3d 32 37 20 8c 0d  |t% . icon%=27 ..|
0000a4e0  38 40 31 53 55 52 4e 41  4d 45 24 28 63 75 72 25  |8@1SURNAME$(cur%|
0000a4f0  29 3d a4 57 69 6d 70 5f  49 63 6f 6e 54 65 78 74  |)=.Wimp_IconText|
0000a500  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 34 29  |(Main_Window%,4)|
0000a510  0d 38 4a 2a 53 55 52 4e  41 4d 45 24 28 63 75 72  |.8J*SURNAME$(cur|
0000a520  25 29 3d a4 43 68 61 6e  67 65 28 53 55 52 4e 41  |%)=.Change(SURNA|
0000a530  4d 45 24 28 63 75 72 25  29 29 0d 38 54 30 4f 54  |ME$(cur%)).8T0OT|
0000a540  48 45 52 53 24 28 63 75  72 25 29 3d a4 57 69 6d  |HERS$(cur%)=.Wim|
0000a550  70 5f 49 63 6f 6e 54 65  78 74 28 4d 61 69 6e 5f  |p_IconText(Main_|
0000a560  57 69 6e 64 6f 77 25 2c  35 29 0d 38 5e 28 4f 54  |Window%,5).8^(OT|
0000a570  48 45 52 53 24 28 63 75  72 25 29 3d a4 43 68 61  |HERS$(cur%)=.Cha|
0000a580  6e 67 65 28 4f 54 48 45  52 53 24 28 63 75 72 25  |nge(OTHERS$(cur%|
0000a590  29 29 0d 38 68 2e 41 44  44 31 24 28 63 75 72 25  |)).8h.ADD1$(cur%|
0000a5a0  29 3d a4 57 69 6d 70 5f  49 63 6f 6e 54 65 78 74  |)=.Wimp_IconText|
0000a5b0  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 36 29  |(Main_Window%,6)|
0000a5c0  0d 38 72 2e 41 44 44 32  24 28 63 75 72 25 29 3d  |.8r.ADD2$(cur%)=|
0000a5d0  a4 57 69 6d 70 5f 49 63  6f 6e 54 65 78 74 28 4d  |.Wimp_IconText(M|
0000a5e0  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 37 29 0d 38  |ain_Window%,7).8|
0000a5f0  7c 2e 41 44 44 33 24 28  63 75 72 25 29 3d a4 57  ||.ADD3$(cur%)=.W|
0000a600  69 6d 70 5f 49 63 6f 6e  54 65 78 74 28 4d 61 69  |imp_IconText(Mai|
0000a610  6e 5f 57 69 6e 64 6f 77  25 2c 38 29 0d 38 86 24  |n_Window%,8).8.$|
0000a620  41 44 44 31 24 28 63 75  72 25 29 3d a4 43 68 61  |ADD1$(cur%)=.Cha|
0000a630  6e 67 65 28 41 44 44 31  24 28 63 75 72 25 29 29  |nge(ADD1$(cur%))|
0000a640  0d 38 90 24 41 44 44 32  24 28 63 75 72 25 29 3d  |.8.$ADD2$(cur%)=|
0000a650  a4 43 68 61 6e 67 65 28  41 44 44 32 24 28 63 75  |.Change(ADD2$(cu|
0000a660  72 25 29 29 0d 38 9a 24  41 44 44 33 24 28 63 75  |r%)).8.$ADD3$(cu|
0000a670  72 25 29 3d a4 43 68 61  6e 67 65 28 41 44 44 33  |r%)=.Change(ADD3|
0000a680  24 28 63 75 72 25 29 29  0d 38 a4 32 50 4f 53 54  |$(cur%)).8.2POST|
0000a690  43 4f 44 45 24 28 63 75  72 25 29 3d a4 57 69 6d  |CODE$(cur%)=.Wim|
0000a6a0  70 5f 49 63 6f 6e 54 65  78 74 28 4d 61 69 6e 5f  |p_IconText(Main_|
0000a6b0  57 69 6e 64 6f 77 25 2c  39 29 0d 38 ae 2f 41 52  |Window%,9).8./AR|
0000a6c0  45 41 24 28 63 75 72 25  29 3d a4 57 69 6d 70 5f  |EA$(cur%)=.Wimp_|
0000a6d0  49 63 6f 6e 54 65 78 74  28 4d 61 69 6e 5f 57 69  |IconText(Main_Wi|
0000a6e0  6e 64 6f 77 25 2c 31 30  29 0d 38 b8 2e 54 45 4c  |ndow%,10).8..TEL|
0000a6f0  24 28 63 75 72 25 29 3d  a4 57 69 6d 70 5f 49 63  |$(cur%)=.Wimp_Ic|
0000a700  6f 6e 54 65 78 74 28 4d  61 69 6e 5f 57 69 6e 64  |onText(Main_Wind|
0000a710  6f 77 25 2c 31 31 29 0d  38 c2 2e 4e 54 53 24 28  |ow%,11).8..NTS$(|
0000a720  63 75 72 25 29 3d a4 57  69 6d 70 5f 49 63 6f 6e  |cur%)=.Wimp_Icon|
0000a730  54 65 78 74 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(Main_Window|
0000a740  25 2c 31 32 29 0d 38 cc  22 4e 54 53 24 28 63 75  |%,12).8."NTS$(cu|
0000a750  72 25 29 3d a4 43 68 61  6e 67 65 28 4e 54 53 24  |r%)=.Change(NTS$|
0000a760  28 63 75 72 25 29 29 0d  38 d6 05 cd 0d 38 e0 05  |(cur%)).8....8..|
0000a770  e1 0d 38 ea 05 3a 0d 38  f4 0d dd 20 f2 75 70 64  |..8..:.8... .upd|
0000a780  61 74 65 0d 38 fe 0f f2  6d 65 6e 75 75 70 64 61  |ate.8...menuupda|
0000a790  74 65 0d 39 08 25 f2 57  69 6d 70 5f 49 63 6f 6e  |te.9.%.Wimp_Icon|
0000a7a0  55 70 64 61 74 65 28 4d  61 69 6e 5f 57 69 6e 64  |Update(Main_Wind|
0000a7b0  6f 77 25 2c 32 30 29 0d  39 12 34 f2 57 69 6d 70  |ow%,20).9.4.Wimp|
0000a7c0  5f 49 63 6f 6e 50 75 74  54 65 78 74 28 4d 61 69  |_IconPutText(Mai|
0000a7d0  6e 5f 57 69 6e 64 6f 77  25 2c 34 2c 53 55 52 4e  |n_Window%,4,SURN|
0000a7e0  41 4d 45 24 28 63 75 72  25 29 29 0d 39 1c 33 f2  |AME$(cur%)).9.3.|
0000a7f0  57 69 6d 70 5f 49 63 6f  6e 50 75 74 54 65 78 74  |Wimp_IconPutText|
0000a800  28 4d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 35 2c  |(Main_Window%,5,|
0000a810  4f 54 48 45 52 53 24 28  63 75 72 25 29 29 0d 39  |OTHERS$(cur%)).9|
0000a820  26 31 f2 57 69 6d 70 5f  49 63 6f 6e 50 75 74 54  |&1.Wimp_IconPutT|
0000a830  65 78 74 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ext(Main_Window%|
0000a840  2c 36 2c 41 44 44 31 24  28 63 75 72 25 29 29 0d  |,6,ADD1$(cur%)).|
0000a850  39 30 31 f2 57 69 6d 70  5f 49 63 6f 6e 50 75 74  |901.Wimp_IconPut|
0000a860  54 65 78 74 28 4d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(Main_Window|
0000a870  25 2c 37 2c 41 44 44 32  24 28 63 75 72 25 29 29  |%,7,ADD2$(cur%))|
0000a880  0d 39 3a 31 f2 57 69 6d  70 5f 49 63 6f 6e 50 75  |.9:1.Wimp_IconPu|
0000a890  74 54 65 78 74 28 4d 61  69 6e 5f 57 69 6e 64 6f  |tText(Main_Windo|
0000a8a0  77 25 2c 38 2c 41 44 44  33 24 28 63 75 72 25 29  |w%,8,ADD3$(cur%)|
0000a8b0  29 0d 39 44 35 f2 57 69  6d 70 5f 49 63 6f 6e 50  |).9D5.Wimp_IconP|
0000a8c0  75 74 54 65 78 74 28 4d  61 69 6e 5f 57 69 6e 64  |utText(Main_Wind|
0000a8d0  6f 77 25 2c 39 2c 50 4f  53 54 43 4f 44 45 24 28  |ow%,9,POSTCODE$(|
0000a8e0  63 75 72 25 29 29 0d 39  4e 6d e7 20 41 52 45 41  |cur%)).9Nm. AREA|
0000a8f0  24 28 63 75 72 25 29 3d  22 22 20 8c 20 f2 57 69  |$(cur%)="" . .Wi|
0000a900  6d 70 5f 49 63 6f 6e 50  75 74 54 65 78 74 28 4d  |mp_IconPutText(M|
0000a910  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 31 30 2c 22  |ain_Window%,10,"|
0000a920  22 29 20 8b 20 f2 57 69  6d 70 5f 49 63 6f 6e 50  |") . .Wimp_IconP|
0000a930  75 74 54 65 78 74 28 4d  61 69 6e 5f 57 69 6e 64  |utText(Main_Wind|
0000a940  6f 77 25 2c 31 30 2c 41  52 45 41 24 28 63 75 72  |ow%,10,AREA$(cur|
0000a950  25 29 29 0d 39 58 6b e7  20 54 45 4c 24 28 63 75  |%)).9Xk. TEL$(cu|
0000a960  72 25 29 3d 22 22 20 8c  20 f2 57 69 6d 70 5f 49  |r%)="" . .Wimp_I|
0000a970  63 6f 6e 50 75 74 54 65  78 74 28 4d 61 69 6e 5f  |conPutText(Main_|
0000a980  57 69 6e 64 6f 77 25 2c  31 31 2c 22 22 29 20 8b  |Window%,11,"") .|
0000a990  20 f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  | .Wimp_IconPutTe|
0000a9a0  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
0000a9b0  31 31 2c 54 45 4c 24 28  63 75 72 25 29 29 0d 39  |11,TEL$(cur%)).9|
0000a9c0  62 31 f2 57 69 6d 70 5f  49 63 6f 6e 50 75 74 54  |b1.Wimp_IconPutT|
0000a9d0  65 78 74 28 4d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ext(Main_Window%|
0000a9e0  2c 31 32 2c 4e 54 53 24  28 63 75 72 25 29 29 0d  |,12,NTS$(cur%)).|
0000a9f0  39 6c 45 f2 57 69 6d 70  5f 49 63 6f 6e 43 61 72  |9lE.Wimp_IconCar|
0000aa00  65 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |et(Main_Window%,|
0000aa10  34 2c a9 28 a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |4,.(.Wimp_IconTe|
0000aa20  78 74 28 4d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(Main_Window%,|
0000aa30  34 29 29 29 0d 39 76 05  e1 0d 39 80 05 3a 0d 39  |4))).9v...9..:.9|
0000aa40  8a 0d dd 20 f2 64 65 6c  65 74 65 0d 39 94 13 e3  |... .delete.9...|
0000aa50  20 41 3d 63 75 72 25 20  b8 20 74 6f 74 25 0d 39  | A=cur% . tot%.9|
0000aa60  9e 1d 53 55 52 4e 41 4d  45 24 28 41 29 3d 53 55  |..SURNAME$(A)=SU|
0000aa70  52 4e 41 4d 45 24 28 41  2b 31 29 0d 39 a8 1b 4f  |RNAME$(A+1).9..O|
0000aa80  54 48 45 52 53 24 28 41  29 3d 4f 54 48 45 52 53  |THERS$(A)=OTHERS|
0000aa90  24 28 41 2b 31 29 0d 39  b2 17 41 44 44 31 24 28  |$(A+1).9..ADD1$(|
0000aaa0  41 29 3d 41 44 44 31 24  28 41 2b 31 29 0d 39 bc  |A)=ADD1$(A+1).9.|
0000aab0  17 41 44 44 32 24 28 41  29 3d 41 44 44 32 24 28  |.ADD2$(A)=ADD2$(|
0000aac0  41 2b 31 29 0d 39 c6 17  41 44 44 33 24 28 41 29  |A+1).9..ADD3$(A)|
0000aad0  3d 41 44 44 33 24 28 41  2b 31 29 0d 39 d0 1f 50  |=ADD3$(A+1).9..P|
0000aae0  4f 53 54 43 4f 44 45 24  28 41 29 3d 50 4f 53 54  |OSTCODE$(A)=POST|
0000aaf0  43 4f 44 45 24 28 41 2b  31 29 0d 39 da 17 41 52  |CODE$(A+1).9..AR|
0000ab00  45 41 24 28 41 29 3d 41  52 45 41 24 28 41 2b 31  |EA$(A)=AREA$(A+1|
0000ab10  29 0d 39 e4 15 54 45 4c  24 28 41 29 3d 54 45 4c  |).9..TEL$(A)=TEL|
0000ab20  24 28 41 2b 31 29 0d 39  ee 15 4e 54 53 24 28 41  |$(A+1).9..NTS$(A|
0000ab30  29 3d 4e 54 53 24 28 41  2b 31 29 0d 39 f8 06 ed  |)=NTS$(A+1).9...|
0000ab40  41 0d 3a 02 0b 74 6f 74  25 2d 3d 31 0d 3a 0c 05  |A.:..tot%-=1.:..|
0000ab50  e1 0d 3a 16 05 3a 0d 3a  20 11 dd 20 f2 6d 65 6e  |..:..:.: .. .men|
0000ab60  75 75 70 64 61 74 65 0d  3a 2a 0e e7 20 74 6f 74  |uupdate.:*.. tot|
0000ab70  25 3d 30 20 8c 0d 3a 34  22 f2 57 69 6d 70 5f 4d  |%=0 ..:4".Wimp_M|
0000ab80  65 6e 75 44 69 73 61 62  6c 65 28 42 61 72 5f 4d  |enuDisable(Bar_M|
0000ab90  65 6e 75 25 2c 32 29 0d  3a 3e 24 f2 57 69 6d 70  |enu%,2).:>$.Wimp|
0000aba0  5f 4d 65 6e 75 44 69 73  61 62 6c 65 28 54 69 74  |_MenuDisable(Tit|
0000abb0  6c 65 5f 4d 65 6e 75 25  2c 33 29 0d 3a 48 24 f2  |le_Menu%,3).:H$.|
0000abc0  57 69 6d 70 5f 4d 65 6e  75 44 69 73 61 62 6c 65  |Wimp_MenuDisable|
0000abd0  28 4d 61 69 6e 5f 4d 65  6e 75 25 2c 31 32 29 0d  |(Main_Menu%,12).|
0000abe0  3a 52 05 cc 0d 3a 5c 21  f2 57 69 6d 70 5f 4d 65  |:R...:\!.Wimp_Me|
0000abf0  6e 75 45 6e 61 62 6c 65  28 42 61 72 5f 4d 65 6e  |nuEnable(Bar_Men|
0000ac00  75 25 2c 32 29 0d 3a 66  23 f2 57 69 6d 70 5f 4d  |u%,2).:f#.Wimp_M|
0000ac10  65 6e 75 45 6e 61 62 6c  65 28 54 69 74 6c 65 5f  |enuEnable(Title_|
0000ac20  4d 65 6e 75 25 2c 33 29  0d 3a 70 23 f2 57 69 6d  |Menu%,3).:p#.Wim|
0000ac30  70 5f 4d 65 6e 75 45 6e  61 62 6c 65 28 4d 61 69  |p_MenuEnable(Mai|
0000ac40  6e 5f 4d 65 6e 75 25 2c  31 32 29 0d 3a 7a 05 cd  |n_Menu%,12).:z..|
0000ac50  0d 3a 84 05 e1 0d 3a 8e  05 3a 0d 3a 98 12 dd f2  |.:....:..:.:....|
0000ac60  74 6f 6e 65 64 69 61 6c  28 41 24 29 0d 3a a2 0e  |tonedial(A$).:..|
0000ac70  e7 41 24 3d 22 22 20 8c  20 e1 0d 3a ac 14 c8 99  |.A$="" . ..:....|
0000ac80  22 48 6f 75 72 67 6c 61  73 73 5f 4f 6e 22 0d 3a  |"Hourglass_On".:|
0000ac90  b6 07 c8 a0 32 0d 3a c0  18 c8 a1 31 2c 22 57 61  |....2.:....1,"Wa|
0000aca0  76 65 53 79 6e 74 68 2d  42 65 65 70 22 0d 3a ca  |veSynth-Beep".:.|
0000acb0  18 c8 a1 32 2c 22 57 61  76 65 53 79 6e 74 68 2d  |...2,"WaveSynth-|
0000acc0  42 65 65 70 22 0d 3a d4  07 ea 49 25 0d 3a de 0d  |Beep".:...I%.:..|
0000acd0  e3 49 25 3d 31 b8 a9 41  24 0d 3a e8 13 f2 74 6f  |.I%=1..A$.:...to|
0000ace0  6e 65 28 97 c1 41 24 2c  49 25 29 29 0d 3a f2 0d  |ne(..A$,I%)).:..|
0000acf0  f2 64 65 6c 61 79 28 36  29 0d 3a fc 05 ed 0d 3b  |.delay(6).:....;|
0000ad00  06 17 c8 99 22 48 6f 75  72 67 6c 61 73 73 5f 53  |...."Hourglass_S|
0000ad10  6d 61 73 68 22 0d 3b 10  05 e1 0d 3b 1a 05 3a 0d  |mash".;....;..:.|
0000ad20  3b 24 0e dd f2 74 6f 6e  65 28 49 25 29 0d 3b 2e  |;$...tone(I%).;.|
0000ad30  0a 49 25 2d 3d 34 38 0d  3b 38 15 e7 20 49 25 3c  |.I%-=48.;8.. I%<|
0000ad40  30 20 84 20 49 25 3e 39  20 8c 20 e1 0d 3b 42 1b  |0 . I%>9 . ..;B.|
0000ad50  d4 20 31 2c 2d 31 35 2c  74 6f 6e 65 25 28 49 25  |. 1,-15,tone%(I%|
0000ad60  2c 30 29 2c 31 30 30 0d  3b 4c 1b d4 20 32 2c 2d  |,0),100.;L.. 2,-|
0000ad70  31 35 2c 74 6f 6e 65 25  28 49 25 2c 31 29 2c 31  |15,tone%(I%,1),1|
0000ad80  30 30 0d 3b 56 0e f2 64  65 6c 61 79 28 31 30 29  |00.;V..delay(10)|
0000ad90  0d 3b 60 0d d4 20 31 2c  30 2c 30 2c 30 0d 3b 6a  |.;`.. 1,0,0,0.;j|
0000ada0  0d d4 20 32 2c 30 2c 30  2c 30 0d 3b 74 05 e1 0d  |.. 2,0,0,0.;t...|
0000adb0  3b 7e 05 3a 0d 3b 88 0f  dd f2 64 65 6c 61 79 28  |;~.:.;....delay(|
0000adc0  49 25 29 0d 3b 92 07 ea  54 25 0d 3b 9c 08 54 25  |I%).;...T%.;..T%|
0000add0  3d 91 0d 3b a6 0d f5 fd  91 3e 54 25 2b 49 25 0d  |=..;.....>T%+I%.|
0000ade0  3b b0 05 e1 0d 3b ba 05  3a 0d 3b c4 0e dd 20 f2  |;....;..:.;... .|
0000adf0  75 70 64 61 74 65 70 0d  3b ce 37 f2 57 69 6d 70  |updatep.;.7.Wimp|
0000ae00  5f 49 63 6f 6e 50 75 74  54 65 78 74 28 50 72 69  |_IconPutText(Pri|
0000ae10  6e 74 5f 57 69 6e 64 6f  77 25 2c 32 38 2c 53 55  |nt_Window%,28,SU|
0000ae20  52 4e 41 4d 45 24 28 70  63 75 72 25 29 29 0d 3b  |RNAME$(pcur%)).;|
0000ae30  d8 36 f2 57 69 6d 70 5f  49 63 6f 6e 50 75 74 54  |.6.Wimp_IconPutT|
0000ae40  65 78 74 28 50 72 69 6e  74 5f 57 69 6e 64 6f 77  |ext(Print_Window|
0000ae50  25 2c 32 39 2c 4f 54 48  45 52 53 24 28 70 63 75  |%,29,OTHERS$(pcu|
0000ae60  72 25 29 29 0d 3b e2 05  e1 0d 3b ec 05 3a 0d 3b  |r%)).;....;..:.;|
0000ae70  f6 0b dd 20 f2 61 62 6c  65 0d 3c 00 0f e7 20 70  |... .able.<... p|
0000ae80  73 65 6c 25 3d 31 20 8c  0d 3c 0a 25 f2 57 69 6d  |sel%=1 ..<.%.Wim|
0000ae90  70 5f 49 63 6f 6e 45 6e  61 62 6c 65 28 50 72 69  |p_IconEnable(Pri|
0000aea0  6e 74 5f 57 69 6e 64 6f  77 25 2c 36 29 0d 3c 14  |nt_Window%,6).<.|
0000aeb0  26 f2 57 69 6d 70 5f 49  63 6f 6e 45 6e 61 62 6c  |&.Wimp_IconEnabl|
0000aec0  65 28 50 72 69 6e 74 5f  57 69 6e 64 6f 77 25 2c  |e(Print_Window%,|
0000aed0  31 32 29 0d 3c 1e 25 f2  57 69 6d 70 5f 49 63 6f  |12).<.%.Wimp_Ico|
0000aee0  6e 45 6e 61 62 6c 65 28  50 72 69 6e 74 5f 57 69  |nEnable(Print_Wi|
0000aef0  6e 64 6f 77 25 2c 39 29  0d 3c 28 26 f2 57 69 6d  |ndow%,9).<(&.Wim|
0000af00  70 5f 49 63 6f 6e 45 6e  61 62 6c 65 28 50 72 69  |p_IconEnable(Pri|
0000af10  6e 74 5f 57 69 6e 64 6f  77 25 2c 31 31 29 0d 3c  |nt_Window%,11).<|
0000af20  32 05 cd 0d 3c 3c 0f e7  20 70 73 65 6c 25 3d 32  |2...<<.. psel%=2|
0000af30  20 8c 0d 3c 46 25 f2 57  69 6d 70 5f 49 63 6f 6e  | ..<F%.Wimp_Icon|
0000af40  45 6e 61 62 6c 65 28 50  72 69 6e 74 5f 57 69 6e  |Enable(Print_Win|
0000af50  64 6f 77 25 2c 38 29 0d  3c 50 26 f2 57 69 6d 70  |dow%,8).<P&.Wimp|
0000af60  5f 49 63 6f 6e 45 6e 61  62 6c 65 28 50 72 69 6e  |_IconEnable(Prin|
0000af70  74 5f 57 69 6e 64 6f 77  25 2c 31 34 29 0d 3c 5a  |t_Window%,14).<Z|
0000af80  05 cd 0d 3c 64 0f e7 20  70 73 65 6c 25 3d 33 20  |...<d.. psel%=3 |
0000af90  8c 0d 3c 6e 26 f2 57 69  6d 70 5f 49 63 6f 6e 45  |..<n&.Wimp_IconE|
0000afa0  6e 61 62 6c 65 28 50 72  69 6e 74 5f 57 69 6e 64  |nable(Print_Wind|
0000afb0  6f 77 25 2c 31 35 29 0d  3c 78 05 cd 0d 3c 82 0f  |ow%,15).<x...<..|
0000afc0  e7 20 70 73 65 6c 25 3d  34 20 8c 0d 3c 8c 26 f2  |. psel%=4 ..<.&.|
0000afd0  57 69 6d 70 5f 49 63 6f  6e 45 6e 61 62 6c 65 28  |Wimp_IconEnable(|
0000afe0  50 72 69 6e 74 5f 57 69  6e 64 6f 77 25 2c 32 38  |Print_Window%,28|
0000aff0  29 0d 3c 96 26 f2 57 69  6d 70 5f 49 63 6f 6e 45  |).<.&.Wimp_IconE|
0000b000  6e 61 62 6c 65 28 50 72  69 6e 74 5f 57 69 6e 64  |nable(Print_Wind|
0000b010  6f 77 25 2c 32 39 29 0d  3c a0 26 f2 57 69 6d 70  |ow%,29).<.&.Wimp|
0000b020  5f 49 63 6f 6e 45 6e 61  62 6c 65 28 50 72 69 6e  |_IconEnable(Prin|
0000b030  74 5f 57 69 6e 64 6f 77  25 2c 33 30 29 0d 3c aa  |t_Window%,30).<.|
0000b040  26 f2 57 69 6d 70 5f 49  63 6f 6e 45 6e 61 62 6c  |&.Wimp_IconEnabl|
0000b050  65 28 50 72 69 6e 74 5f  57 69 6e 64 6f 77 25 2c  |e(Print_Window%,|
0000b060  33 31 29 0d 3c b4 26 f2  57 69 6d 70 5f 49 63 6f  |31).<.&.Wimp_Ico|
0000b070  6e 45 6e 61 62 6c 65 28  50 72 69 6e 74 5f 57 69  |nEnable(Print_Wi|
0000b080  6e 64 6f 77 25 2c 33 32  29 0d 3c be 05 cd 0d 3c  |ndow%,32).<....<|
0000b090  c8 05 e1 0d 3c d2 05 3a  0d 3c dc 0c dd 20 f2 64  |....<..:.<... .d|
0000b0a0  61 6c 62 65 0d 3c e6 0f  e7 20 70 73 65 6c 25 3d  |albe.<... psel%=|
0000b0b0  31 20 8c 0d 3c f0 26 f2  57 69 6d 70 5f 49 63 6f  |1 ..<.&.Wimp_Ico|
0000b0c0  6e 44 69 73 61 62 6c 65  28 50 72 69 6e 74 5f 57  |nDisable(Print_W|
0000b0d0  69 6e 64 6f 77 25 2c 36  29 0d 3c fa 27 f2 57 69  |indow%,6).<.'.Wi|
0000b0e0  6d 70 5f 49 63 6f 6e 44  69 73 61 62 6c 65 28 50  |mp_IconDisable(P|
0000b0f0  72 69 6e 74 5f 57 69 6e  64 6f 77 25 2c 31 32 29  |rint_Window%,12)|
0000b100  0d 3d 04 26 f2 57 69 6d  70 5f 49 63 6f 6e 44 69  |.=.&.Wimp_IconDi|
0000b110  73 61 62 6c 65 28 50 72  69 6e 74 5f 57 69 6e 64  |sable(Print_Wind|
0000b120  6f 77 25 2c 39 29 0d 3d  0e 27 f2 57 69 6d 70 5f  |ow%,9).=.'.Wimp_|
0000b130  49 63 6f 6e 44 69 73 61  62 6c 65 28 50 72 69 6e  |IconDisable(Prin|
0000b140  74 5f 57 69 6e 64 6f 77  25 2c 31 31 29 0d 3d 18  |t_Window%,11).=.|
0000b150  05 cd 0d 3d 22 0f e7 20  70 73 65 6c 25 3d 32 20  |...=".. psel%=2 |
0000b160  8c 0d 3d 2c 26 f2 57 69  6d 70 5f 49 63 6f 6e 44  |..=,&.Wimp_IconD|
0000b170  69 73 61 62 6c 65 28 50  72 69 6e 74 5f 57 69 6e  |isable(Print_Win|
0000b180  64 6f 77 25 2c 38 29 0d  3d 36 27 f2 57 69 6d 70  |dow%,8).=6'.Wimp|
0000b190  5f 49 63 6f 6e 44 69 73  61 62 6c 65 28 50 72 69  |_IconDisable(Pri|
0000b1a0  6e 74 5f 57 69 6e 64 6f  77 25 2c 31 34 29 0d 3d  |nt_Window%,14).=|
0000b1b0  40 05 cd 0d 3d 4a 0f e7  20 70 73 65 6c 25 3d 33  |@...=J.. psel%=3|
0000b1c0  20 8c 0d 3d 54 27 f2 57  69 6d 70 5f 49 63 6f 6e  | ..=T'.Wimp_Icon|
0000b1d0  44 69 73 61 62 6c 65 28  50 72 69 6e 74 5f 57 69  |Disable(Print_Wi|
0000b1e0  6e 64 6f 77 25 2c 31 35  29 0d 3d 5e 05 cd 0d 3d  |ndow%,15).=^...=|
0000b1f0  68 0f e7 20 70 73 65 6c  25 3d 34 20 8c 0d 3d 72  |h.. psel%=4 ..=r|
0000b200  27 f2 57 69 6d 70 5f 49  63 6f 6e 44 69 73 61 62  |'.Wimp_IconDisab|
0000b210  6c 65 28 50 72 69 6e 74  5f 57 69 6e 64 6f 77 25  |le(Print_Window%|
0000b220  2c 32 38 29 0d 3d 7c 27  f2 57 69 6d 70 5f 49 63  |,28).=|'.Wimp_Ic|
0000b230  6f 6e 44 69 73 61 62 6c  65 28 50 72 69 6e 74 5f  |onDisable(Print_|
0000b240  57 69 6e 64 6f 77 25 2c  32 39 29 0d 3d 86 27 f2  |Window%,29).=.'.|
0000b250  57 69 6d 70 5f 49 63 6f  6e 44 69 73 61 62 6c 65  |Wimp_IconDisable|
0000b260  28 50 72 69 6e 74 5f 57  69 6e 64 6f 77 25 2c 33  |(Print_Window%,3|
0000b270  30 29 0d 3d 90 27 f2 57  69 6d 70 5f 49 63 6f 6e  |0).=.'.Wimp_Icon|
0000b280  44 69 73 61 62 6c 65 28  50 72 69 6e 74 5f 57 69  |Disable(Print_Wi|
0000b290  6e 64 6f 77 25 2c 33 31  29 0d 3d 9a 27 f2 57 69  |ndow%,31).=.'.Wi|
0000b2a0  6d 70 5f 49 63 6f 6e 44  69 73 61 62 6c 65 28 50  |mp_IconDisable(P|
0000b2b0  72 69 6e 74 5f 57 69 6e  64 6f 77 25 2c 33 32 29  |rint_Window%,32)|
0000b2c0  0d 3d a4 05 cd 0d 3d ae  05 e1 0d 3d b8 05 3a 0d  |.=....=....=..:.|
0000b2d0  3d c2 18 dd 20 a4 67 65  74 73 74 72 69 6e 67 28  |=... .getstring(|
0000b2e0  61 72 72 61 79 25 29 0d  3d cc 14 ea 20 70 61 74  |array%).=... pat|
0000b2f0  68 24 2c 70 6f 69 6e 74  65 72 25 0d 3d d6 0c 70  |h$,pointer%.=..p|
0000b300  61 74 68 24 3d 22 22 0d  3d e0 13 70 6f 69 6e 74  |ath$="".=..point|
0000b310  65 72 25 3d 61 72 72 61  79 25 0d 3d ea 05 f5 0d  |er%=array%.=....|
0000b320  3d f4 15 70 61 74 68 24  2b 3d bd 3f 70 6f 69 6e  |=..path$+=.?poin|
0000b330  74 65 72 25 0d 3d fe 0f  70 6f 69 6e 74 65 72 25  |ter%.=..pointer%|
0000b340  2b 3d 31 0d 3e 08 20 fd  20 3f 70 6f 69 6e 74 65  |+=1.>. . ?pointe|
0000b350  72 25 3d 30 20 84 20 3f  70 6f 69 6e 74 65 72 25  |r%=0 . ?pointer%|
0000b360  3d 31 33 0d 3e 12 0a 3d  70 61 74 68 24 0d 3e 1c  |=13.>..=path$.>.|
0000b370  05 3a 0d 3e 26 11 dd f2  6f 70 65 6e 70 72 69 6e  |.:.>&...openprin|
0000b380  74 65 72 0d 3e 30 30 c8  99 20 22 58 50 44 72 69  |ter.>00.. "XPDri|
0000b390  76 65 72 5f 49 6e 66 6f  22 20 b8 20 52 30 2c 52  |ver_Info" . R0,R|
0000b3a0  31 2c 52 32 2c 52 33 2c  52 34 2c 52 35 2c 52 36  |1,R2,R3,R4,R5,R6|
0000b3b0  2c 52 37 0d 3e 3a 2f e7  20 52 31 3d 30 20 80 20  |,R7.>:/. R1=0 . |
0000b3c0  52 32 3d 30 20 80 20 52  33 3d 30 20 80 20 52 35  |R2=0 . R3=0 . R5|
0000b3d0  3d 30 20 80 20 52 36 3d  30 20 80 20 52 37 3d 30  |=0 . R6=0 . R7=0|
0000b3e0  20 8c 0d 3e 44 3a f2 57  69 6d 70 5f 49 63 6f 6e  | ..>D:.Wimp_Icon|
0000b3f0  50 75 74 54 65 78 74 28  50 72 69 6e 74 5f 57 69  |PutText(Print_Wi|
0000b400  6e 64 6f 77 25 2c 33 34  2c 22 4e 6f 20 64 72 69  |ndow%,34,"No dri|
0000b410  76 65 72 20 6c 6f 61 64  65 64 22 29 0d 3e 4e 0d  |ver loaded").>N.|
0000b420  44 52 49 56 45 52 25 3d  a3 0d 3e 58 05 cc 0d 3e  |DRIVER%=..>X...>|
0000b430  62 0d 44 52 49 56 45 52  25 3d b9 0d 3e 6c 12 f4  |b.DRIVER%=..>l..|
0000b440  20 6e 6f 20 70 72 69 6e  74 65 72 20 3f 0d 3e 76  | no printer ?.>v|
0000b450  05 cd 0d 3e 80 11 e7 20  44 52 49 56 45 52 25 3d  |...>... DRIVER%=|
0000b460  b9 20 8c 0d 3e 8a 1b 70  72 69 6e 74 65 72 24 3d  |. ..>..printer$=|
0000b470  a4 67 65 74 73 74 72 69  6e 67 28 52 34 29 0d 3e  |.getstring(R4).>|
0000b480  94 30 f2 57 69 6d 70 5f  49 63 6f 6e 50 75 74 54  |.0.Wimp_IconPutT|
0000b490  65 78 74 28 50 72 69 6e  74 5f 57 69 6e 64 6f 77  |ext(Print_Window|
0000b4a0  25 2c 33 34 2c 70 72 69  6e 74 65 72 24 29 0d 3e  |%,34,printer$).>|
0000b4b0  9e 05 cd 0d 3e a8 05 e1  0d 3e b2 05 3a 0d 3e bc  |....>....>..:.>.|
0000b4c0  0b dd f2 70 72 69 6e 74  0d 3e c6 05 3a 0d 3e d0  |...print.>..:.>.|
0000b4d0  36 70 72 69 6e 74 68 61  6e 64 25 3d ae 28 22 50  |6printhand%=.("P|
0000b4e0  52 49 4e 54 45 52 3a 24  2e 4a 6f 62 31 22 29 20  |RINTER:$.Job1") |
0000b4f0  3a 20 f4 20 73 74 61 72  74 20 61 20 6a 6f 62 20  |: . start a job |
0000b500  21 21 21 0d 3e da 1b 24  74 69 74 6c 65 25 3d 22  |!!!.>..$title%="|
0000b510  45 78 63 68 61 6e 67 65  20 66 69 6c 65 22 0d 3e  |Exchange file".>|
0000b520  e4 1f c8 99 20 26 38 30  31 34 35 2c 70 72 69 6e  |.... &80145,prin|
0000b530  74 68 61 6e 64 25 2c 74  69 74 6c 65 25 0d 3e ee  |thand%,title%.>.|
0000b540  3e d5 23 70 72 69 6e 74  68 61 6e 64 25 2c 31 33  |>.#printhand%,13|
0000b550  20 3a 20 f4 20 70 75 74  20 68 65 61 64 20 74 6f  | : . put head to|
0000b560  20 6c 65 66 74 20 6f 66  20 70 61 70 65 72 20 74  | left of paper t|
0000b570  6f 20 73 74 61 72 74 21  21 21 21 0d 3e f8 05 3a  |o start!!!!.>..:|
0000b580  0d 3f 02 0f e7 20 70 73  65 6c 25 3d 31 20 8c 0d  |.?... psel%=1 ..|
0000b590  3f 0c 27 4c 24 3d a4 57  69 6d 70 5f 49 63 6f 6e  |?.'L$=.Wimp_Icon|
0000b5a0  54 65 78 74 28 50 72 69  6e 74 5f 57 69 6e 64 6f  |Text(Print_Windo|
0000b5b0  77 25 2c 31 32 29 0d 3f  16 27 52 24 3d a4 57 69  |w%,12).?.'R$=.Wi|
0000b5c0  6d 70 5f 49 63 6f 6e 54  65 78 74 28 50 72 69 6e  |mp_IconText(Prin|
0000b5d0  74 5f 57 69 6e 64 6f 77  25 2c 31 31 29 0d 3f 20  |t_Window%,11).? |
0000b5e0  0e e7 20 4c 24 3c 3d 52  24 20 8c 0d 3f 2a 12 e3  |.. L$<=R$ ..?*..|
0000b5f0  20 41 3d 30 20 b8 20 74  6f 74 25 2d 31 0d 3f 34  | A=0 . tot%-1.?4|
0000b600  16 4e 24 3d c0 53 55 52  4e 41 4d 45 24 28 41 29  |.N$=.SURNAME$(A)|
0000b610  2c 31 29 0d 3f 3e 17 e7  20 4e 24 3e 3d 4c 24 20  |,1).?>.. N$>=L$ |
0000b620  80 20 4e 24 3c 3d 52 24  20 8c 0d 3f 48 50 e7 20  |. N$<=R$ ..?HP. |
0000b630  70 73 75 72 6e 61 6d 65  25 3d b9 20 80 20 53 55  |psurname%=. . SU|
0000b640  52 4e 41 4d 45 24 28 41  29 3c 3e 22 22 20 8c 20  |RNAME$(A)<>"" . |
0000b650  f2 70 72 69 6e 74 6c 69  6e 65 28 22 53 75 72 6e  |.printline("Surn|
0000b660  61 6d 65 20 3a 20 22 2b  53 55 52 4e 41 4d 45 24  |ame : "+SURNAME$|
0000b670  28 41 29 2b bd 28 31 30  29 29 0d 3f 52 51 e7 20  |(A)+.(10)).?RQ. |
0000b680  70 6f 74 68 65 72 73 25  3d b9 20 80 20 4f 54 48  |pothers%=. . OTH|
0000b690  45 52 53 24 28 41 29 3c  3e 22 22 20 8c 20 f2 70  |ERS$(A)<>"" . .p|
0000b6a0  72 69 6e 74 6c 69 6e 65  28 22 4f 74 68 65 72 20  |rintline("Other |
0000b6b0  6e 61 6d 65 73 20 3a 20  22 2b 4f 54 48 45 52 53  |names : "+OTHERS|
0000b6c0  24 28 41 29 2b bd 28 31  30 29 29 0d 3f 5c 0f e7  |$(A)+.(10)).?\..|
0000b6d0  20 70 61 64 64 25 3d b9  20 8c 0d 3f 66 3c e7 20  | padd%=. ..?f<. |
0000b6e0  41 44 44 31 24 28 41 29  3c 3e 22 22 20 8c 20 f2  |ADD1$(A)<>"" . .|
0000b6f0  70 72 69 6e 74 6c 69 6e  65 28 22 41 64 64 72 65  |printline("Addre|
0000b700  73 73 20 3a 20 22 2b 41  44 44 31 24 28 41 29 2b  |ss : "+ADD1$(A)+|
0000b710  bd 28 31 30 29 29 0d 3f  70 3c e7 20 41 44 44 32  |.(10)).?p<. ADD2|
0000b720  24 28 41 29 3c 3e 22 22  20 8c 20 f2 70 72 69 6e  |$(A)<>"" . .prin|
0000b730  74 6c 69 6e 65 28 22 41  64 64 72 65 73 73 20 3a  |tline("Address :|
0000b740  20 22 2b 41 44 44 32 24  28 41 29 2b bd 28 31 30  | "+ADD2$(A)+.(10|
0000b750  29 29 0d 3f 7a 3c e7 20  41 44 44 33 24 28 41 29  |)).?z<. ADD3$(A)|
0000b760  3c 3e 22 22 20 8c 20 f2  70 72 69 6e 74 6c 69 6e  |<>"" . .printlin|
0000b770  65 28 22 41 64 64 72 65  73 73 20 3a 20 22 2b 41  |e("Address : "+A|
0000b780  44 44 33 24 28 41 29 2b  bd 28 31 30 29 29 0d 3f  |DD3$(A)+.(10)).?|
0000b790  84 05 cd 0d 3f 8e 55 e7  20 70 70 6f 73 74 63 6f  |....?.U. ppostco|
0000b7a0  64 65 25 3d b9 20 80 20  50 4f 53 54 43 4f 44 45  |de%=. . POSTCODE|
0000b7b0  24 28 41 29 3c 3e 22 22  20 8c 20 f2 70 72 69 6e  |$(A)<>"" . .prin|
0000b7c0  74 6c 69 6e 65 28 22 50  6f 73 74 20 43 6f 64 65  |tline("Post Code|
0000b7d0  20 3a 20 22 2b 50 4f 53  54 43 4f 44 45 24 28 41  | : "+POSTCODE$(A|
0000b7e0  29 2b bd 28 31 30 29 29  0d 3f 98 44 e7 20 70 61  |)+.(10)).?.D. pa|
0000b7f0  72 65 61 25 3d b9 20 80  20 41 52 45 41 24 28 41  |rea%=. . AREA$(A|
0000b800  29 3c 3e 22 22 20 8c 20  f2 70 72 69 6e 74 6c 69  |)<>"" . .printli|
0000b810  6e 65 28 22 41 72 65 61  20 3a 20 22 2b 41 52 45  |ne("Area : "+ARE|
0000b820  41 24 28 41 29 2b bd 28  31 30 29 29 0d 3f a2 46  |A$(A)+.(10)).?.F|
0000b830  e7 20 70 74 65 6c 25 3d  b9 20 80 20 54 45 4c 24  |. ptel%=. . TEL$|
0000b840  28 41 29 3c 3e 22 22 20  8c 20 f2 70 72 69 6e 74  |(A)<>"" . .print|
0000b850  6c 69 6e 65 28 22 54 65  6c 65 70 68 6f 6e 65 20  |line("Telephone |
0000b860  3a 20 22 2b 54 45 4c 24  28 41 29 2b bd 28 31 30  |: "+TEL$(A)+.(10|
0000b870  29 29 0d 3f ac 42 e7 20  70 6e 74 73 25 3d b9 20  |)).?.B. pnts%=. |
0000b880  80 20 4e 54 53 24 28 41  29 3c 3e 22 22 20 8c 20  |. NTS$(A)<>"" . |
0000b890  f2 70 72 69 6e 74 6c 69  6e 65 28 22 4e 6f 74 65  |.printline("Note|
0000b8a0  73 20 3a 20 22 2b 4e 54  53 24 28 41 29 2b bd 28  |s : "+NTS$(A)+.(|
0000b8b0  31 30 29 29 0d 3f b6 15  f2 70 72 69 6e 74 6c 69  |10)).?...printli|
0000b8c0  6e 65 28 bd 28 31 30 29  29 0d 3f c0 05 cd 0d 3f  |ne(.(10)).?....?|
0000b8d0  ca 06 ed 41 0d 3f d4 05  cd 0d 3f de 05 cd 0d 3f  |...A.?....?....?|
0000b8e0  e8 0f e7 20 70 73 65 6c  25 3d 32 20 8c 0d 3f f2  |... psel%=2 ..?.|
0000b8f0  27 41 24 3d a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |'A$=.Wimp_IconTe|
0000b900  78 74 28 50 72 69 6e 74  5f 57 69 6e 64 6f 77 25  |xt(Print_Window%|
0000b910  2c 31 34 29 0d 3f fc 12  e3 20 41 3d 30 20 b8 20  |,14).?... A=0 . |
0000b920  74 6f 74 25 2d 31 0d 40  06 16 4e 24 3d c0 53 55  |tot%-1.@..N$=.SU|
0000b930  52 4e 41 4d 45 24 28 41  29 2c 31 29 0d 40 10 0d  |RNAME$(A),1).@..|
0000b940  e7 20 41 24 3d 4e 24 20  8c 0d 40 1a 50 e7 20 70  |. A$=N$ ..@.P. p|
0000b950  73 75 72 6e 61 6d 65 25  3d b9 20 80 20 53 55 52  |surname%=. . SUR|
0000b960  4e 41 4d 45 24 28 41 29  3c 3e 22 22 20 8c 20 f2  |NAME$(A)<>"" . .|
0000b970  70 72 69 6e 74 6c 69 6e  65 28 22 53 75 72 6e 61  |printline("Surna|
0000b980  6d 65 20 3a 20 22 2b 53  55 52 4e 41 4d 45 24 28  |me : "+SURNAME$(|
0000b990  41 29 2b bd 28 31 30 29  29 0d 40 24 51 e7 20 70  |A)+.(10)).@$Q. p|
0000b9a0  6f 74 68 65 72 73 25 3d  b9 20 80 20 4f 54 48 45  |others%=. . OTHE|
0000b9b0  52 53 24 28 41 29 3c 3e  22 22 20 8c 20 f2 70 72  |RS$(A)<>"" . .pr|
0000b9c0  69 6e 74 6c 69 6e 65 28  22 4f 74 68 65 72 20 6e  |intline("Other n|
0000b9d0  61 6d 65 73 20 3a 20 22  2b 4f 54 48 45 52 53 24  |ames : "+OTHERS$|
0000b9e0  28 41 29 2b bd 28 31 30  29 29 0d 40 2e 0f e7 20  |(A)+.(10)).@... |
0000b9f0  70 61 64 64 25 3d b9 20  8c 0d 40 38 3c e7 20 41  |padd%=. ..@8<. A|
0000ba00  44 44 31 24 28 41 29 3c  3e 22 22 20 8c 20 f2 70  |DD1$(A)<>"" . .p|
0000ba10  72 69 6e 74 6c 69 6e 65  28 22 41 64 64 72 65 73  |rintline("Addres|
0000ba20  73 20 3a 20 22 2b 41 44  44 31 24 28 41 29 2b bd  |s : "+ADD1$(A)+.|
0000ba30  28 31 30 29 29 0d 40 42  3c e7 20 41 44 44 32 24  |(10)).@B<. ADD2$|
0000ba40  28 41 29 3c 3e 22 22 20  8c 20 f2 70 72 69 6e 74  |(A)<>"" . .print|
0000ba50  6c 69 6e 65 28 22 41 64  64 72 65 73 73 20 3a 20  |line("Address : |
0000ba60  22 2b 41 44 44 32 24 28  41 29 2b bd 28 31 30 29  |"+ADD2$(A)+.(10)|
0000ba70  29 0d 40 4c 3c e7 20 41  44 44 33 24 28 41 29 3c  |).@L<. ADD3$(A)<|
0000ba80  3e 22 22 20 8c 20 f2 70  72 69 6e 74 6c 69 6e 65  |>"" . .printline|
0000ba90  28 22 41 64 64 72 65 73  73 20 3a 20 22 2b 41 44  |("Address : "+AD|
0000baa0  44 33 24 28 41 29 2b bd  28 31 30 29 29 0d 40 56  |D3$(A)+.(10)).@V|
0000bab0  05 cd 0d 40 60 55 e7 20  70 70 6f 73 74 63 6f 64  |...@`U. ppostcod|
0000bac0  65 25 3d b9 20 80 20 50  4f 53 54 43 4f 44 45 24  |e%=. . POSTCODE$|
0000bad0  28 41 29 3c 3e 22 22 20  8c 20 f2 70 72 69 6e 74  |(A)<>"" . .print|
0000bae0  6c 69 6e 65 28 22 50 6f  73 74 20 43 6f 64 65 20  |line("Post Code |
0000baf0  3a 20 22 2b 50 4f 53 54  43 4f 44 45 24 28 41 29  |: "+POSTCODE$(A)|
0000bb00  2b bd 28 31 30 29 29 0d  40 6a 44 e7 20 70 61 72  |+.(10)).@jD. par|
0000bb10  65 61 25 3d b9 20 80 20  41 52 45 41 24 28 41 29  |ea%=. . AREA$(A)|
0000bb20  3c 3e 22 22 20 8c 20 f2  70 72 69 6e 74 6c 69 6e  |<>"" . .printlin|
0000bb30  65 28 22 41 72 65 61 20  3a 20 22 2b 41 52 45 41  |e("Area : "+AREA|
0000bb40  24 28 41 29 2b bd 28 31  30 29 29 0d 40 74 46 e7  |$(A)+.(10)).@tF.|
0000bb50  20 70 74 65 6c 25 3d b9  20 80 20 54 45 4c 24 28  | ptel%=. . TEL$(|
0000bb60  41 29 3c 3e 22 22 20 8c  20 f2 70 72 69 6e 74 6c  |A)<>"" . .printl|
0000bb70  69 6e 65 28 22 54 65 6c  65 70 68 6f 6e 65 20 3a  |ine("Telephone :|
0000bb80  20 22 2b 54 45 4c 24 28  41 29 2b bd 28 31 30 29  | "+TEL$(A)+.(10)|
0000bb90  29 0d 40 7e 42 e7 20 70  6e 74 73 25 3d b9 20 80  |).@~B. pnts%=. .|
0000bba0  20 4e 54 53 24 28 41 29  3c 3e 22 22 20 8c 20 f2  | NTS$(A)<>"" . .|
0000bbb0  70 72 69 6e 74 6c 69 6e  65 28 22 4e 6f 74 65 73  |printline("Notes|
0000bbc0  20 3a 20 22 2b 4e 54 53  24 28 41 29 2b bd 28 31  | : "+NTS$(A)+.(1|
0000bbd0  30 29 29 0d 40 88 15 f2  70 72 69 6e 74 6c 69 6e  |0)).@...printlin|
0000bbe0  65 28 bd 28 31 30 29 29  0d 40 92 05 cd 0d 40 9c  |e(.(10)).@....@.|
0000bbf0  06 ed 41 0d 40 a6 05 cd  0d 40 b0 0f e7 20 70 73  |..A.@....@... ps|
0000bc00  65 6c 25 3d 33 20 8c 0d  40 ba 12 e3 20 41 3d 30  |el%=3 ..@... A=0|
0000bc10  20 b8 20 74 6f 74 25 2d  31 0d 40 c4 50 e7 20 70  | . tot%-1.@.P. p|
0000bc20  73 75 72 6e 61 6d 65 25  3d b9 20 80 20 53 55 52  |surname%=. . SUR|
0000bc30  4e 41 4d 45 24 28 41 29  3c 3e 22 22 20 8c 20 f2  |NAME$(A)<>"" . .|
0000bc40  70 72 69 6e 74 6c 69 6e  65 28 22 53 75 72 6e 61  |printline("Surna|
0000bc50  6d 65 20 3a 20 22 2b 53  55 52 4e 41 4d 45 24 28  |me : "+SURNAME$(|
0000bc60  41 29 2b bd 28 31 30 29  29 0d 40 ce 51 e7 20 70  |A)+.(10)).@.Q. p|
0000bc70  6f 74 68 65 72 73 25 3d  b9 20 80 20 4f 54 48 45  |others%=. . OTHE|
0000bc80  52 53 24 28 41 29 3c 3e  22 22 20 8c 20 f2 70 72  |RS$(A)<>"" . .pr|
0000bc90  69 6e 74 6c 69 6e 65 28  22 4f 74 68 65 72 20 6e  |intline("Other n|
0000bca0  61 6d 65 73 20 3a 20 22  2b 4f 54 48 45 52 53 24  |ames : "+OTHERS$|
0000bcb0  28 41 29 2b bd 28 31 30  29 29 0d 40 d8 0f e7 20  |(A)+.(10)).@... |
0000bcc0  70 61 64 64 25 3d b9 20  8c 0d 40 e2 3c e7 20 41  |padd%=. ..@.<. A|
0000bcd0  44 44 31 24 28 41 29 3c  3e 22 22 20 8c 20 f2 70  |DD1$(A)<>"" . .p|
0000bce0  72 69 6e 74 6c 69 6e 65  28 22 41 64 64 72 65 73  |rintline("Addres|
0000bcf0  73 20 3a 20 22 2b 41 44  44 31 24 28 41 29 2b bd  |s : "+ADD1$(A)+.|
0000bd00  28 31 30 29 29 0d 40 ec  3c e7 20 41 44 44 32 24  |(10)).@.<. ADD2$|
0000bd10  28 41 29 3c 3e 22 22 20  8c 20 f2 70 72 69 6e 74  |(A)<>"" . .print|
0000bd20  6c 69 6e 65 28 22 41 64  64 72 65 73 73 20 3a 20  |line("Address : |
0000bd30  22 2b 41 44 44 32 24 28  41 29 2b bd 28 31 30 29  |"+ADD2$(A)+.(10)|
0000bd40  29 0d 40 f6 3c e7 20 41  44 44 33 24 28 41 29 3c  |).@.<. ADD3$(A)<|
0000bd50  3e 22 22 20 8c 20 f2 70  72 69 6e 74 6c 69 6e 65  |>"" . .printline|
0000bd60  28 22 41 64 64 72 65 73  73 20 3a 20 22 2b 41 44  |("Address : "+AD|
0000bd70  44 33 24 28 41 29 2b bd  28 31 30 29 29 0d 41 00  |D3$(A)+.(10)).A.|
0000bd80  05 cd 0d 41 0a 55 e7 20  70 70 6f 73 74 63 6f 64  |...A.U. ppostcod|
0000bd90  65 25 3d b9 20 80 20 50  4f 53 54 43 4f 44 45 24  |e%=. . POSTCODE$|
0000bda0  28 41 29 3c 3e 22 22 20  8c 20 f2 70 72 69 6e 74  |(A)<>"" . .print|
0000bdb0  6c 69 6e 65 28 22 50 6f  73 74 20 43 6f 64 65 20  |line("Post Code |
0000bdc0  3a 20 22 2b 50 4f 53 54  43 4f 44 45 24 28 41 29  |: "+POSTCODE$(A)|
0000bdd0  2b bd 28 31 30 29 29 0d  41 14 44 e7 20 70 61 72  |+.(10)).A.D. par|
0000bde0  65 61 25 3d b9 20 80 20  41 52 45 41 24 28 41 29  |ea%=. . AREA$(A)|
0000bdf0  3c 3e 22 22 20 8c 20 f2  70 72 69 6e 74 6c 69 6e  |<>"" . .printlin|
0000be00  65 28 22 41 72 65 61 20  3a 20 22 2b 41 52 45 41  |e("Area : "+AREA|
0000be10  24 28 41 29 2b bd 28 31  30 29 29 0d 41 1e 46 e7  |$(A)+.(10)).A.F.|
0000be20  20 70 74 65 6c 25 3d b9  20 80 20 54 45 4c 24 28  | ptel%=. . TEL$(|
0000be30  41 29 3c 3e 22 22 20 8c  20 f2 70 72 69 6e 74 6c  |A)<>"" . .printl|
0000be40  69 6e 65 28 22 54 65 6c  65 70 68 6f 6e 65 20 3a  |ine("Telephone :|
0000be50  20 22 2b 54 45 4c 24 28  41 29 2b bd 28 31 30 29  | "+TEL$(A)+.(10)|
0000be60  29 0d 41 28 42 e7 20 70  6e 74 73 25 3d b9 20 80  |).A(B. pnts%=. .|
0000be70  20 4e 54 53 24 28 41 29  3c 3e 22 22 20 8c 20 f2  | NTS$(A)<>"" . .|
0000be80  70 72 69 6e 74 6c 69 6e  65 28 22 4e 6f 74 65 73  |printline("Notes|
0000be90  20 3a 20 22 2b 4e 54 53  24 28 41 29 2b bd 28 31  | : "+NTS$(A)+.(1|
0000bea0  30 29 29 0d 41 32 15 f2  70 72 69 6e 74 6c 69 6e  |0)).A2..printlin|
0000beb0  65 28 bd 28 31 30 29 29  0d 41 3c 06 ed 41 0d 41  |e(.(10)).A<..A.A|
0000bec0  46 05 cd 0d 41 50 0f e7  20 70 73 65 6c 25 3d 34  |F...AP.. psel%=4|
0000bed0  20 8c 0d 41 5a 12 e3 20  41 3d 30 20 b8 20 74 6f  | ..AZ.. A=0 . to|
0000bee0  74 25 2d 31 0d 41 64 23  e7 20 53 55 52 4e 41 4d  |t%-1.Ad#. SURNAM|
0000bef0  45 24 28 41 29 3d 53 55  52 4e 41 4d 45 24 28 70  |E$(A)=SURNAME$(p|
0000bf00  63 75 72 25 29 20 8c 0d  41 6e 50 e7 20 70 73 75  |cur%) ..AnP. psu|
0000bf10  72 6e 61 6d 65 25 3d b9  20 80 20 53 55 52 4e 41  |rname%=. . SURNA|
0000bf20  4d 45 24 28 41 29 3c 3e  22 22 20 8c 20 f2 70 72  |ME$(A)<>"" . .pr|
0000bf30  69 6e 74 6c 69 6e 65 28  22 53 75 72 6e 61 6d 65  |intline("Surname|
0000bf40  20 3a 20 22 2b 53 55 52  4e 41 4d 45 24 28 41 29  | : "+SURNAME$(A)|
0000bf50  2b bd 28 31 30 29 29 0d  41 78 51 e7 20 70 6f 74  |+.(10)).AxQ. pot|
0000bf60  68 65 72 73 25 3d b9 20  80 20 4f 54 48 45 52 53  |hers%=. . OTHERS|
0000bf70  24 28 41 29 3c 3e 22 22  20 8c 20 f2 70 72 69 6e  |$(A)<>"" . .prin|
0000bf80  74 6c 69 6e 65 28 22 4f  74 68 65 72 20 6e 61 6d  |tline("Other nam|
0000bf90  65 73 20 3a 20 22 2b 4f  54 48 45 52 53 24 28 41  |es : "+OTHERS$(A|
0000bfa0  29 2b bd 28 31 30 29 29  0d 41 82 0f e7 20 70 61  |)+.(10)).A... pa|
0000bfb0  64 64 25 3d b9 20 8c 0d  41 8c 3c e7 20 41 44 44  |dd%=. ..A.<. ADD|
0000bfc0  31 24 28 41 29 3c 3e 22  22 20 8c 20 f2 70 72 69  |1$(A)<>"" . .pri|
0000bfd0  6e 74 6c 69 6e 65 28 22  41 64 64 72 65 73 73 20  |ntline("Address |
0000bfe0  3a 20 22 2b 41 44 44 31  24 28 41 29 2b bd 28 31  |: "+ADD1$(A)+.(1|
0000bff0  30 29 29 0d 41 96 3c e7  20 41 44 44 32 24 28 41  |0)).A.<. ADD2$(A|
0000c000  29 3c 3e 22 22 20 8c 20  f2 70 72 69 6e 74 6c 69  |)<>"" . .printli|
0000c010  6e 65 28 22 41 64 64 72  65 73 73 20 3a 20 22 2b  |ne("Address : "+|
0000c020  41 44 44 32 24 28 41 29  2b bd 28 31 30 29 29 0d  |ADD2$(A)+.(10)).|
0000c030  41 a0 3c e7 20 41 44 44  33 24 28 41 29 3c 3e 22  |A.<. ADD3$(A)<>"|
0000c040  22 20 8c 20 f2 70 72 69  6e 74 6c 69 6e 65 28 22  |" . .printline("|
0000c050  41 64 64 72 65 73 73 20  3a 20 22 2b 41 44 44 33  |Address : "+ADD3|
0000c060  24 28 41 29 2b bd 28 31  30 29 29 0d 41 aa 05 cd  |$(A)+.(10)).A...|
0000c070  0d 41 b4 55 e7 20 70 70  6f 73 74 63 6f 64 65 25  |.A.U. ppostcode%|
0000c080  3d b9 20 80 20 50 4f 53  54 43 4f 44 45 24 28 41  |=. . POSTCODE$(A|
0000c090  29 3c 3e 22 22 20 8c 20  f2 70 72 69 6e 74 6c 69  |)<>"" . .printli|
0000c0a0  6e 65 28 22 50 6f 73 74  20 43 6f 64 65 20 3a 20  |ne("Post Code : |
0000c0b0  22 2b 50 4f 53 54 43 4f  44 45 24 28 41 29 2b bd  |"+POSTCODE$(A)+.|
0000c0c0  28 31 30 29 29 0d 41 be  44 e7 20 70 61 72 65 61  |(10)).A.D. parea|
0000c0d0  25 3d b9 20 80 20 41 52  45 41 24 28 41 29 3c 3e  |%=. . AREA$(A)<>|
0000c0e0  22 22 20 8c 20 f2 70 72  69 6e 74 6c 69 6e 65 28  |"" . .printline(|
0000c0f0  22 41 72 65 61 20 3a 20  22 2b 41 52 45 41 24 28  |"Area : "+AREA$(|
0000c100  41 29 2b bd 28 31 30 29  29 0d 41 c8 46 e7 20 70  |A)+.(10)).A.F. p|
0000c110  74 65 6c 25 3d b9 20 80  20 54 45 4c 24 28 41 29  |tel%=. . TEL$(A)|
0000c120  3c 3e 22 22 20 8c 20 f2  70 72 69 6e 74 6c 69 6e  |<>"" . .printlin|
0000c130  65 28 22 54 65 6c 65 70  68 6f 6e 65 20 3a 20 22  |e("Telephone : "|
0000c140  2b 54 45 4c 24 28 41 29  2b bd 28 31 30 29 29 0d  |+TEL$(A)+.(10)).|
0000c150  41 d2 42 e7 20 70 6e 74  73 25 3d b9 20 80 20 4e  |A.B. pnts%=. . N|
0000c160  54 53 24 28 41 29 3c 3e  22 22 20 8c 20 f2 70 72  |TS$(A)<>"" . .pr|
0000c170  69 6e 74 6c 69 6e 65 28  22 4e 6f 74 65 73 20 3a  |intline("Notes :|
0000c180  20 22 2b 4e 54 53 24 28  41 29 2b bd 28 31 30 29  | "+NTS$(A)+.(10)|
0000c190  29 0d 41 dc 15 f2 70 72  69 6e 74 6c 69 6e 65 28  |).A...printline(|
0000c1a0  bd 28 31 30 29 29 0d 41  e6 05 cd 0d 41 f0 06 ed  |.(10)).A....A...|
0000c1b0  41 0d 41 fa 05 cd 0d 42  04 05 3a 0d 42 0e 28 d5  |A.A....B..:.B.(.|
0000c1c0  23 70 72 69 6e 74 68 61  6e 64 25 2c 31 32 20 3a  |#printhand%,12 :|
0000c1d0  20 f4 20 64 6f 20 6c 69  6e 65 66 65 65 64 20 21  | . do linefeed !|
0000c1e0  21 21 21 0d 42 18 18 c8  99 20 26 38 30 31 34 38  |!!!.B.... &80148|
0000c1f0  2c 70 72 69 6e 74 68 61  6e 64 25 0d 42 22 11 d9  |,printhand%.B"..|
0000c200  20 23 70 72 69 6e 74 68  61 6e 64 25 0d 42 2c 05  | #printhand%.B,.|
0000c210  e1 0d 42 36 05 3a 0d 42  40 16 dd f2 70 72 69 6e  |..B6.:.B@...prin|
0000c220  74 6c 69 6e 65 28 6c 69  6e 65 24 29 0d 42 4a 16  |tline(line$).BJ.|
0000c230  e3 20 63 63 6f 3d 31 20  b8 20 a9 28 6c 69 6e 65  |. cco=1 . .(line|
0000c240  24 29 0d 42 54 19 62 79  74 65 3d 97 28 c1 6c 69  |$).BT.byte=.(.li|
0000c250  6e 65 24 2c 63 63 6f 2c  31 29 29 0d 42 5e 15 d5  |ne$,cco,1)).B^..|
0000c260  23 70 72 69 6e 74 68 61  6e 64 25 2c 62 79 74 65  |#printhand%,byte|
0000c270  0d 42 68 47 e7 20 62 79  74 65 3d 31 30 20 84 20  |.BhG. byte=10 . |
0000c280  62 79 74 65 3d 31 33 20  8c 20 d5 23 70 72 69 6e  |byte=13 . .#prin|
0000c290  74 68 61 6e 64 25 2c 31  33 20 3a 20 f4 20 70 75  |thand%,13 : . pu|
0000c2a0  74 20 68 65 61 64 20 74  6f 20 6c 65 66 74 20 6f  |t head to left o|
0000c2b0  66 20 70 61 70 65 72 0d  42 72 09 ed 20 63 63 6f  |f paper.Br.. cco|
0000c2c0  0d 42 7c 05 e1 0d 42 86  05 3a 0d 42 90 12 dd 20  |.B|...B..:.B... |
0000c2d0  f2 73 65 6c 28 5a 5a 2c  69 63 25 29 0d 42 9a 56  |.sel(ZZ,ic%).B.V|
0000c2e0  e7 20 5a 5a 20 8c 20 f2  57 69 6d 70 5f 53 65 6c  |. ZZ . .Wimp_Sel|
0000c2f0  65 63 74 49 63 6f 6e 28  50 72 69 6e 74 5f 57 69  |ectIcon(Print_Wi|
0000c300  6e 64 6f 77 25 2c 69 63  25 29 20 8b 20 f2 57 69  |ndow%,ic%) . .Wi|
0000c310  6d 70 5f 55 6e 73 65 6c  65 63 74 49 63 6f 6e 28  |mp_UnselectIcon(|
0000c320  50 72 69 6e 74 5f 57 69  6e 64 6f 77 25 2c 69 63  |Print_Window%,ic|
0000c330  25 29 0d 42 a4 05 e1 0d  42 ae 05 3a 0d 42 b8 11  |%).B....B..:.B..|
0000c340  dd a4 43 68 61 6e 67 65  28 77 6f 24 29 0d 42 c2  |..Change(wo$).B.|
0000c350  17 77 6f 24 3d a4 74 6f  75 70 70 65 72 28 77 6f  |.wo$=.toupper(wo|
0000c360  24 2c 31 29 0d 42 cc 13  e3 20 63 63 3d 31 20 b8  |$,1).B... cc=1 .|
0000c370  20 a9 28 77 6f 24 29 0d  42 d6 7d e7 20 c1 77 6f  | .(wo$).B.}. .wo|
0000c380  24 2c 63 63 2c 31 29 3d  22 20 22 20 84 20 c1 77  |$,cc,1)=" " . .w|
0000c390  6f 24 2c 63 63 2c 31 29  3d 22 2d 22 20 84 20 c1  |o$,cc,1)="-" . .|
0000c3a0  77 6f 24 2c 63 63 2c 31  29 3d 22 2e 22 20 84 20  |wo$,cc,1)="." . |
0000c3b0  c1 77 6f 24 2c 63 63 2c  31 29 3d 22 2a 22 20 84  |.wo$,cc,1)="*" .|
0000c3c0  20 c1 77 6f 24 2c 63 63  2c 31 29 3d 22 22 22 22  | .wo$,cc,1)=""""|
0000c3d0  20 84 20 c1 77 6f 24 2c  63 63 2c 31 29 3d 22 27  | . .wo$,cc,1)="'|
0000c3e0  22 20 84 20 c1 77 6f 24  2c 63 63 2c 31 29 3d 22  |" . .wo$,cc,1)="|
0000c3f0  2c 22 20 8c 0d 42 e0 1a  77 6f 24 3d a4 74 6f 75  |," ..B..wo$=.tou|
0000c400  70 70 65 72 28 77 6f 24  2c 63 63 2b 31 29 0d 42  |pper(wo$,cc+1).B|
0000c410  ea 05 cc 0d 42 f4 1a 77  6f 24 3d a4 74 6f 6c 6f  |....B..wo$=.tolo|
0000c420  77 65 72 28 77 6f 24 2c  63 63 2b 31 29 0d 42 fe  |wer(wo$,cc+1).B.|
0000c430  05 cd 0d 43 08 07 ed 63  63 0d 43 12 08 3d 77 6f  |...C...cc.C..=wo|
0000c440  24 0d 43 1c 05 3a 0d 43  26 16 dd a4 74 6f 75 70  |$.C..:.C&...toup|
0000c450  70 65 72 28 77 6f 72 64  24 2c 70 29 0d 43 30 59  |per(word$,p).C0Y|
0000c460  e7 20 c1 77 6f 72 64 24  2c 70 2c 31 29 3e 3d 22  |. .word$,p,1)>="|
0000c470  61 22 20 80 20 c1 77 6f  72 64 24 2c 70 2c 31 29  |a" . .word$,p,1)|
0000c480  3c 3d 22 7a 22 20 8c 20  c1 77 6f 72 64 24 2c 70  |<="z" . .word$,p|
0000c490  2c 31 29 3d bd 28 97 28  c1 77 6f 72 64 24 2c 70  |,1)=.(.(.word$,p|
0000c4a0  2c 31 29 29 2d 28 97 28  22 61 22 29 2d 97 28 22  |,1))-(.("a")-.("|
0000c4b0  41 22 29 29 29 0d 43 3a  0a 3d 77 6f 72 64 24 0d  |A"))).C:.=word$.|
0000c4c0  43 44 05 3a 0d 43 4e 16  dd a4 74 6f 6c 6f 77 65  |CD.:.CN...tolowe|
0000c4d0  72 28 77 6f 72 64 24 2c  70 29 0d 43 58 59 e7 20  |r(word$,p).CXY. |
0000c4e0  c1 77 6f 72 64 24 2c 70  2c 31 29 3e 3d 22 41 22  |.word$,p,1)>="A"|
0000c4f0  20 80 20 c1 77 6f 72 64  24 2c 70 2c 31 29 3c 3d  | . .word$,p,1)<=|
0000c500  22 5a 22 20 8c 20 c1 77  6f 72 64 24 2c 70 2c 31  |"Z" . .word$,p,1|
0000c510  29 3d bd 28 97 28 c1 77  6f 72 64 24 2c 70 2c 31  |)=.(.(.word$,p,1|
0000c520  29 29 2b 28 97 28 22 61  22 29 2d 97 28 22 41 22  |))+(.("a")-.("A"|
0000c530  29 29 29 0d 43 62 0a 3d  77 6f 72 64 24 0d 43 6c  |))).Cb.=word$.Cl|
0000c540  05 3a 0d 43 76 0f dd 20  f2 75 6e 73 65 61 72 63  |.:.Cv.. .unsearc|
0000c550  68 0d 43 80 0f e7 20 73  73 65 6c 25 3d 30 20 8c  |h.C... ssel%=0 .|
0000c560  0d 43 8a 2c f2 57 69 6d  70 5f 53 65 74 49 63 6f  |.C.,.Wimp_SetIco|
0000c570  6e 53 70 72 69 74 65 28  53 65 74 5f 57 69 6e 64  |nSprite(Set_Wind|
0000c580  6f 77 25 2c 30 2c 22 3b  52 31 22 29 0d 43 94 24  |ow%,0,";R1").C.$|
0000c590  f2 57 69 6d 70 5f 49 63  6f 6e 44 69 73 61 62 6c  |.Wimp_IconDisabl|
0000c5a0  65 28 53 65 74 5f 57 69  6e 64 6f 77 25 2c 31 29  |e(Set_Window%,1)|
0000c5b0  0d 43 9e 05 cd 0d 43 a8  0f e7 20 73 73 65 6c 25  |.C....C... ssel%|
0000c5c0  3d 31 20 8c 0d 43 b2 2c  f2 57 69 6d 70 5f 53 65  |=1 ..C.,.Wimp_Se|
0000c5d0  74 49 63 6f 6e 53 70 72  69 74 65 28 53 65 74 5f  |tIconSprite(Set_|
0000c5e0  57 69 6e 64 6f 77 25 2c  34 2c 22 3b 52 31 22 29  |Window%,4,";R1")|
0000c5f0  0d 43 bc 24 f2 57 69 6d  70 5f 49 63 6f 6e 44 69  |.C.$.Wimp_IconDi|
0000c600  73 61 62 6c 65 28 53 65  74 5f 57 69 6e 64 6f 77  |sable(Set_Window|
0000c610  25 2c 35 29 0d 43 c6 05  cd 0d 43 d0 0f e7 20 73  |%,5).C....C... s|
0000c620  73 65 6c 25 3d 32 20 8c  0d 43 da 2c f2 57 69 6d  |sel%=2 ..C.,.Wim|
0000c630  70 5f 53 65 74 49 63 6f  6e 53 70 72 69 74 65 28  |p_SetIconSprite(|
0000c640  53 65 74 5f 57 69 6e 64  6f 77 25 2c 36 2c 22 3b  |Set_Window%,6,";|
0000c650  52 31 22 29 0d 43 e4 24  f2 57 69 6d 70 5f 49 63  |R1").C.$.Wimp_Ic|
0000c660  6f 6e 44 69 73 61 62 6c  65 28 53 65 74 5f 57 69  |onDisable(Set_Wi|
0000c670  6e 64 6f 77 25 2c 37 29  0d 43 ee 24 f2 57 69 6d  |ndow%,7).C.$.Wim|
0000c680  70 5f 49 63 6f 6e 44 69  73 61 62 6c 65 28 53 65  |p_IconDisable(Se|
0000c690  74 5f 57 69 6e 64 6f 77  25 2c 38 29 0d 43 f8 24  |t_Window%,8).C.$|
0000c6a0  f2 57 69 6d 70 5f 49 63  6f 6e 44 69 73 61 62 6c  |.Wimp_IconDisabl|
0000c6b0  65 28 53 65 74 5f 57 69  6e 64 6f 77 25 2c 39 29  |e(Set_Window%,9)|
0000c6c0  0d 44 02 05 cd 0d 44 0c  0f e7 20 73 73 65 6c 25  |.D....D... ssel%|
0000c6d0  3d 33 20 8c 0d 44 16 2d  f2 57 69 6d 70 5f 53 65  |=3 ..D.-.Wimp_Se|
0000c6e0  74 49 63 6f 6e 53 70 72  69 74 65 28 53 65 74 5f  |tIconSprite(Set_|
0000c6f0  57 69 6e 64 6f 77 25 2c  31 30 2c 22 3b 52 31 22  |Window%,10,";R1"|
0000c700  29 0d 44 20 25 f2 57 69  6d 70 5f 49 63 6f 6e 44  |).D %.Wimp_IconD|
0000c710  69 73 61 62 6c 65 28 53  65 74 5f 57 69 6e 64 6f  |isable(Set_Windo|
0000c720  77 25 2c 31 31 29 0d 44  2a 05 cd 0d 44 34 0f e7  |w%,11).D*...D4..|
0000c730  20 73 73 65 6c 25 3d 34  20 8c 0d 44 3e 2d f2 57  | ssel%=4 ..D>-.W|
0000c740  69 6d 70 5f 53 65 74 49  63 6f 6e 53 70 72 69 74  |imp_SetIconSprit|
0000c750  65 28 53 65 74 5f 57 69  6e 64 6f 77 25 2c 31 32  |e(Set_Window%,12|
0000c760  2c 22 3b 52 31 22 29 0d  44 48 25 f2 57 69 6d 70  |,";R1").DH%.Wimp|
0000c770  5f 49 63 6f 6e 44 69 73  61 62 6c 65 28 53 65 74  |_IconDisable(Set|
0000c780  5f 57 69 6e 64 6f 77 25  2c 31 33 29 0d 44 52 05  |_Window%,13).DR.|
0000c790  cd 0d 44 5c 0f e7 20 73  73 65 6c 25 3d 35 20 8c  |..D\.. ssel%=5 .|
0000c7a0  0d 44 66 2d f2 57 69 6d  70 5f 53 65 74 49 63 6f  |.Df-.Wimp_SetIco|
0000c7b0  6e 53 70 72 69 74 65 28  53 65 74 5f 57 69 6e 64  |nSprite(Set_Wind|
0000c7c0  6f 77 25 2c 31 34 2c 22  3b 52 31 22 29 0d 44 70  |ow%,14,";R1").Dp|
0000c7d0  25 f2 57 69 6d 70 5f 49  63 6f 6e 44 69 73 61 62  |%.Wimp_IconDisab|
0000c7e0  6c 65 28 53 65 74 5f 57  69 6e 64 6f 77 25 2c 31  |le(Set_Window%,1|
0000c7f0  35 29 0d 44 7a 05 cd 0d  44 84 0f e7 20 73 73 65  |5).Dz...D... sse|
0000c800  6c 25 3d 36 20 8c 0d 44  8e 2d f2 57 69 6d 70 5f  |l%=6 ..D.-.Wimp_|
0000c810  53 65 74 49 63 6f 6e 53  70 72 69 74 65 28 53 65  |SetIconSprite(Se|
0000c820  74 5f 57 69 6e 64 6f 77  25 2c 31 36 2c 22 3b 52  |t_Window%,16,";R|
0000c830  31 22 29 0d 44 98 25 f2  57 69 6d 70 5f 49 63 6f  |1").D.%.Wimp_Ico|
0000c840  6e 44 69 73 61 62 6c 65  28 53 65 74 5f 57 69 6e  |nDisable(Set_Win|
0000c850  64 6f 77 25 2c 31 37 29  0d 44 a2 05 cd 0d 44 ac  |dow%,17).D....D.|
0000c860  05 e1 0d 44 b6 05 3a 0d  44 c0 10 dd 20 f2 73 65  |...D..:.D... .se|
0000c870  6c 73 65 61 72 63 68 0d  44 ca 0f e7 20 73 73 65  |lsearch.D... sse|
0000c880  6c 25 3d 30 20 8c 0d 44  d4 2c f2 57 69 6d 70 5f  |l%=0 ..D.,.Wimp_|
0000c890  53 65 74 49 63 6f 6e 53  70 72 69 74 65 28 53 65  |SetIconSprite(Se|
0000c8a0  74 5f 57 69 6e 64 6f 77  25 2c 30 2c 22 3b 52 32  |t_Window%,0,";R2|
0000c8b0  22 29 0d 44 de 23 f2 57  69 6d 70 5f 49 63 6f 6e  |").D.#.Wimp_Icon|
0000c8c0  45 6e 61 62 6c 65 28 53  65 74 5f 57 69 6e 64 6f  |Enable(Set_Windo|
0000c8d0  77 25 2c 31 29 0d 44 e8  43 f2 57 69 6d 70 5f 49  |w%,1).D.C.Wimp_I|
0000c8e0  63 6f 6e 43 61 72 65 74  28 53 65 74 5f 57 69 6e  |conCaret(Set_Win|
0000c8f0  64 6f 77 25 2c 31 2c a9  28 a4 57 69 6d 70 5f 49  |dow%,1,.(.Wimp_I|
0000c900  63 6f 6e 54 65 78 74 28  53 65 74 5f 57 69 6e 64  |conText(Set_Wind|
0000c910  6f 77 25 2c 31 29 29 29  0d 44 f2 05 cd 0d 44 fc  |ow%,1))).D....D.|
0000c920  0f e7 20 73 73 65 6c 25  3d 31 20 8c 0d 45 06 2c  |.. ssel%=1 ..E.,|
0000c930  f2 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 70 72  |.Wimp_SetIconSpr|
0000c940  69 74 65 28 53 65 74 5f  57 69 6e 64 6f 77 25 2c  |ite(Set_Window%,|
0000c950  34 2c 22 3b 52 32 22 29  0d 45 10 23 f2 57 69 6d  |4,";R2").E.#.Wim|
0000c960  70 5f 49 63 6f 6e 45 6e  61 62 6c 65 28 53 65 74  |p_IconEnable(Set|
0000c970  5f 57 69 6e 64 6f 77 25  2c 35 29 0d 45 1a 43 f2  |_Window%,5).E.C.|
0000c980  57 69 6d 70 5f 49 63 6f  6e 43 61 72 65 74 28 53  |Wimp_IconCaret(S|
0000c990  65 74 5f 57 69 6e 64 6f  77 25 2c 35 2c a9 28 a4  |et_Window%,5,.(.|
0000c9a0  57 69 6d 70 5f 49 63 6f  6e 54 65 78 74 28 53 65  |Wimp_IconText(Se|
0000c9b0  74 5f 57 69 6e 64 6f 77  25 2c 35 29 29 29 0d 45  |t_Window%,5))).E|
0000c9c0  24 05 cd 0d 45 2e 0f e7  20 73 73 65 6c 25 3d 32  |$...E... ssel%=2|
0000c9d0  20 8c 0d 45 38 2c f2 57  69 6d 70 5f 53 65 74 49  | ..E8,.Wimp_SetI|
0000c9e0  63 6f 6e 53 70 72 69 74  65 28 53 65 74 5f 57 69  |conSprite(Set_Wi|
0000c9f0  6e 64 6f 77 25 2c 36 2c  22 3b 52 32 22 29 0d 45  |ndow%,6,";R2").E|
0000ca00  42 23 f2 57 69 6d 70 5f  49 63 6f 6e 45 6e 61 62  |B#.Wimp_IconEnab|
0000ca10  6c 65 28 53 65 74 5f 57  69 6e 64 6f 77 25 2c 37  |le(Set_Window%,7|
0000ca20  29 0d 45 4c 23 f2 57 69  6d 70 5f 49 63 6f 6e 45  |).EL#.Wimp_IconE|
0000ca30  6e 61 62 6c 65 28 53 65  74 5f 57 69 6e 64 6f 77  |nable(Set_Window|
0000ca40  25 2c 38 29 0d 45 56 23  f2 57 69 6d 70 5f 49 63  |%,8).EV#.Wimp_Ic|
0000ca50  6f 6e 45 6e 61 62 6c 65  28 53 65 74 5f 57 69 6e  |onEnable(Set_Win|
0000ca60  64 6f 77 25 2c 39 29 0d  45 60 43 f2 57 69 6d 70  |dow%,9).E`C.Wimp|
0000ca70  5f 49 63 6f 6e 43 61 72  65 74 28 53 65 74 5f 57  |_IconCaret(Set_W|
0000ca80  69 6e 64 6f 77 25 2c 37  2c a9 28 a4 57 69 6d 70  |indow%,7,.(.Wimp|
0000ca90  5f 49 63 6f 6e 54 65 78  74 28 53 65 74 5f 57 69  |_IconText(Set_Wi|
0000caa0  6e 64 6f 77 25 2c 37 29  29 29 0d 45 6a 05 cd 0d  |ndow%,7))).Ej...|
0000cab0  45 74 0f e7 20 73 73 65  6c 25 3d 33 20 8c 0d 45  |Et.. ssel%=3 ..E|
0000cac0  7e 2d f2 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |~-.Wimp_SetIconS|
0000cad0  70 72 69 74 65 28 53 65  74 5f 57 69 6e 64 6f 77  |prite(Set_Window|
0000cae0  25 2c 31 30 2c 22 3b 52  32 22 29 0d 45 88 24 f2  |%,10,";R2").E.$.|
0000caf0  57 69 6d 70 5f 49 63 6f  6e 45 6e 61 62 6c 65 28  |Wimp_IconEnable(|
0000cb00  53 65 74 5f 57 69 6e 64  6f 77 25 2c 31 31 29 0d  |Set_Window%,11).|
0000cb10  45 92 45 f2 57 69 6d 70  5f 49 63 6f 6e 43 61 72  |E.E.Wimp_IconCar|
0000cb20  65 74 28 53 65 74 5f 57  69 6e 64 6f 77 25 2c 31  |et(Set_Window%,1|
0000cb30  31 2c a9 28 a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |1,.(.Wimp_IconTe|
0000cb40  78 74 28 53 65 74 5f 57  69 6e 64 6f 77 25 2c 31  |xt(Set_Window%,1|
0000cb50  31 29 29 29 0d 45 9c 05  cd 0d 45 a6 0f e7 20 73  |1))).E....E... s|
0000cb60  73 65 6c 25 3d 34 20 8c  0d 45 b0 2d f2 57 69 6d  |sel%=4 ..E.-.Wim|
0000cb70  70 5f 53 65 74 49 63 6f  6e 53 70 72 69 74 65 28  |p_SetIconSprite(|
0000cb80  53 65 74 5f 57 69 6e 64  6f 77 25 2c 31 32 2c 22  |Set_Window%,12,"|
0000cb90  3b 52 32 22 29 0d 45 ba  24 f2 57 69 6d 70 5f 49  |;R2").E.$.Wimp_I|
0000cba0  63 6f 6e 45 6e 61 62 6c  65 28 53 65 74 5f 57 69  |conEnable(Set_Wi|
0000cbb0  6e 64 6f 77 25 2c 31 33  29 0d 45 c4 45 f2 57 69  |ndow%,13).E.E.Wi|
0000cbc0  6d 70 5f 49 63 6f 6e 43  61 72 65 74 28 53 65 74  |mp_IconCaret(Set|
0000cbd0  5f 57 69 6e 64 6f 77 25  2c 31 33 2c a9 28 a4 57  |_Window%,13,.(.W|
0000cbe0  69 6d 70 5f 49 63 6f 6e  54 65 78 74 28 53 65 74  |imp_IconText(Set|
0000cbf0  5f 57 69 6e 64 6f 77 25  2c 31 33 29 29 29 0d 45  |_Window%,13))).E|
0000cc00  ce 05 cd 0d 45 d8 0f e7  20 73 73 65 6c 25 3d 35  |....E... ssel%=5|
0000cc10  20 8c 0d 45 e2 2d f2 57  69 6d 70 5f 53 65 74 49  | ..E.-.Wimp_SetI|
0000cc20  63 6f 6e 53 70 72 69 74  65 28 53 65 74 5f 57 69  |conSprite(Set_Wi|
0000cc30  6e 64 6f 77 25 2c 31 34  2c 22 3b 52 32 22 29 0d  |ndow%,14,";R2").|
0000cc40  45 ec 24 f2 57 69 6d 70  5f 49 63 6f 6e 45 6e 61  |E.$.Wimp_IconEna|
0000cc50  62 6c 65 28 53 65 74 5f  57 69 6e 64 6f 77 25 2c  |ble(Set_Window%,|
0000cc60  31 35 29 0d 45 f6 45 f2  57 69 6d 70 5f 49 63 6f  |15).E.E.Wimp_Ico|
0000cc70  6e 43 61 72 65 74 28 53  65 74 5f 57 69 6e 64 6f  |nCaret(Set_Windo|
0000cc80  77 25 2c 31 35 2c a9 28  a4 57 69 6d 70 5f 49 63  |w%,15,.(.Wimp_Ic|
0000cc90  6f 6e 54 65 78 74 28 53  65 74 5f 57 69 6e 64 6f  |onText(Set_Windo|
0000cca0  77 25 2c 31 35 29 29 29  0d 46 00 05 cd 0d 46 0a  |w%,15))).F....F.|
0000ccb0  0f e7 20 73 73 65 6c 25  3d 36 20 8c 0d 46 14 2d  |.. ssel%=6 ..F.-|
0000ccc0  f2 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 70 72  |.Wimp_SetIconSpr|
0000ccd0  69 74 65 28 53 65 74 5f  57 69 6e 64 6f 77 25 2c  |ite(Set_Window%,|
0000cce0  31 36 2c 22 3b 52 32 22  29 0d 46 1e 24 f2 57 69  |16,";R2").F.$.Wi|
0000ccf0  6d 70 5f 49 63 6f 6e 45  6e 61 62 6c 65 28 53 65  |mp_IconEnable(Se|
0000cd00  74 5f 57 69 6e 64 6f 77  25 2c 31 37 29 0d 46 28  |t_Window%,17).F(|
0000cd10  45 f2 57 69 6d 70 5f 49  63 6f 6e 43 61 72 65 74  |E.Wimp_IconCaret|
0000cd20  28 53 65 74 5f 57 69 6e  64 6f 77 25 2c 31 37 2c  |(Set_Window%,17,|
0000cd30  a9 28 a4 57 69 6d 70 5f  49 63 6f 6e 54 65 78 74  |.(.Wimp_IconText|
0000cd40  28 53 65 74 5f 57 69 6e  64 6f 77 25 2c 31 37 29  |(Set_Window%,17)|
0000cd50  29 29 0d 46 32 05 cd 0d  46 3c 05 e1 0d 46 46 05  |)).F2...F<...FF.|
0000cd60  3a 0d 46 50 10 dd 20 f2  73 65 61 72 63 68 63 75  |:.FP.. .searchcu|
0000cd70  74 0d 46 5a 0f e7 20 73  73 65 6c 25 3d 30 20 8c  |t.FZ.. ssel%=0 .|
0000cd80  0d 46 64 29 53 45 41 52  43 48 24 3d a4 57 69 6d  |.Fd)SEARCH$=.Wim|
0000cd90  70 5f 49 63 6f 6e 54 65  78 74 28 53 65 74 5f 57  |p_IconText(Set_W|
0000cda0  69 6e 64 6f 77 25 2c 31  29 0d 46 6e 2a 53 45 41  |indow%,1).Fn*SEA|
0000cdb0  52 43 48 32 24 3d a4 57  69 6d 70 5f 49 63 6f 6e  |RCH2$=.Wimp_Icon|
0000cdc0  54 65 78 74 28 53 65 74  5f 57 69 6e 64 6f 77 25  |Text(Set_Window%|
0000cdd0  2c 31 29 0d 46 78 2a 53  45 41 52 43 48 33 24 3d  |,1).Fx*SEARCH3$=|
0000cde0  a4 57 69 6d 70 5f 49 63  6f 6e 54 65 78 74 28 53  |.Wimp_IconText(S|
0000cdf0  65 74 5f 57 69 6e 64 6f  77 25 2c 31 29 0d 46 82  |et_Window%,1).F.|
0000ce00  1c 53 45 41 52 43 48 24  3d a4 43 68 61 6e 67 65  |.SEARCH$=.Change|
0000ce10  28 53 45 41 52 43 48 24  29 0d 46 8c 05 cd 0d 46  |(SEARCH$).F....F|
0000ce20  96 0f e7 20 73 73 65 6c  25 3d 31 20 8c 0d 46 a0  |... ssel%=1 ..F.|
0000ce30  29 53 45 41 52 43 48 24  3d a4 57 69 6d 70 5f 49  |)SEARCH$=.Wimp_I|
0000ce40  63 6f 6e 54 65 78 74 28  53 65 74 5f 57 69 6e 64  |conText(Set_Wind|
0000ce50  6f 77 25 2c 35 29 0d 46  aa 2a 53 45 41 52 43 48  |ow%,5).F.*SEARCH|
0000ce60  32 24 3d a4 57 69 6d 70  5f 49 63 6f 6e 54 65 78  |2$=.Wimp_IconTex|
0000ce70  74 28 53 65 74 5f 57 69  6e 64 6f 77 25 2c 35 29  |t(Set_Window%,5)|
0000ce80  0d 46 b4 2a 53 45 41 52  43 48 33 24 3d a4 57 69  |.F.*SEARCH3$=.Wi|
0000ce90  6d 70 5f 49 63 6f 6e 54  65 78 74 28 53 65 74 5f  |mp_IconText(Set_|
0000cea0  57 69 6e 64 6f 77 25 2c  35 29 0d 46 be 1c 53 45  |Window%,5).F..SE|
0000ceb0  41 52 43 48 24 3d a4 43  68 61 6e 67 65 28 53 45  |ARCH$=.Change(SE|
0000cec0  41 52 43 48 24 29 0d 46  c8 05 cd 0d 46 d2 0f e7  |ARCH$).F....F...|
0000ced0  20 73 73 65 6c 25 3d 32  20 8c 0d 46 dc 29 53 45  | ssel%=2 ..F.)SE|
0000cee0  41 52 43 48 24 3d a4 57  69 6d 70 5f 49 63 6f 6e  |ARCH$=.Wimp_Icon|
0000cef0  54 65 78 74 28 53 65 74  5f 57 69 6e 64 6f 77 25  |Text(Set_Window%|
0000cf00  2c 37 29 0d 46 e6 2a 53  45 41 52 43 48 32 24 3d  |,7).F.*SEARCH2$=|
0000cf10  a4 57 69 6d 70 5f 49 63  6f 6e 54 65 78 74 28 53  |.Wimp_IconText(S|
0000cf20  65 74 5f 57 69 6e 64 6f  77 25 2c 38 29 0d 46 f0  |et_Window%,8).F.|
0000cf30  2a 53 45 41 52 43 48 33  24 3d a4 57 69 6d 70 5f  |*SEARCH3$=.Wimp_|
0000cf40  49 63 6f 6e 54 65 78 74  28 53 65 74 5f 57 69 6e  |IconText(Set_Win|
0000cf50  64 6f 77 25 2c 39 29 0d  46 fa 3a e7 20 53 45 41  |dow%,9).F.:. SEA|
0000cf60  52 43 48 24 3c 3e 22 22  20 8c 20 53 45 41 52 43  |RCH$<>"" . SEARC|
0000cf70  48 24 3d a4 43 68 61 6e  67 65 28 53 45 41 52 43  |H$=.Change(SEARC|
0000cf80  48 24 29 20 8b 20 53 45  41 52 43 48 24 3d 22 20  |H$) . SEARCH$=" |
0000cf90  22 0d 47 04 3e e7 20 53  45 41 52 43 48 32 24 3c  |".G.>. SEARCH2$<|
0000cfa0  3e 22 22 20 8c 20 53 45  41 52 43 48 32 24 3d a4  |>"" . SEARCH2$=.|
0000cfb0  43 68 61 6e 67 65 28 53  45 41 52 43 48 32 24 29  |Change(SEARCH2$)|
0000cfc0  20 8b 20 53 45 41 52 43  48 32 24 3d 22 20 22 0d  | . SEARCH2$=" ".|
0000cfd0  47 0e 3e e7 20 53 45 41  52 43 48 33 24 3c 3e 22  |G.>. SEARCH3$<>"|
0000cfe0  22 20 8c 20 53 45 41 52  43 48 33 24 3d a4 43 68  |" . SEARCH3$=.Ch|
0000cff0  61 6e 67 65 28 53 45 41  52 43 48 33 24 29 20 8b  |ange(SEARCH3$) .|
0000d000  20 53 45 41 52 43 48 33  24 3d 22 20 22 0d 47 18  | SEARCH3$=" ".G.|
0000d010  05 cd 0d 47 22 0f e7 20  73 73 65 6c 25 3d 33 20  |...G".. ssel%=3 |
0000d020  8c 0d 47 2c 2a 53 45 41  52 43 48 24 3d a4 57 69  |..G,*SEARCH$=.Wi|
0000d030  6d 70 5f 49 63 6f 6e 54  65 78 74 28 53 65 74 5f  |mp_IconText(Set_|
0000d040  57 69 6e 64 6f 77 25 2c  31 31 29 0d 47 36 2b 53  |Window%,11).G6+S|
0000d050  45 41 52 43 48 32 24 3d  a4 57 69 6d 70 5f 49 63  |EARCH2$=.Wimp_Ic|
0000d060  6f 6e 54 65 78 74 28 53  65 74 5f 57 69 6e 64 6f  |onText(Set_Windo|
0000d070  77 25 2c 31 31 29 0d 47  40 2b 53 45 41 52 43 48  |w%,11).G@+SEARCH|
0000d080  33 24 3d a4 57 69 6d 70  5f 49 63 6f 6e 54 65 78  |3$=.Wimp_IconTex|
0000d090  74 28 53 65 74 5f 57 69  6e 64 6f 77 25 2c 31 31  |t(Set_Window%,11|
0000d0a0  29 0d 47 4a 05 cd 0d 47  54 0f e7 20 73 73 65 6c  |).GJ...GT.. ssel|
0000d0b0  25 3d 34 20 8c 0d 47 5e  2a 53 45 41 52 43 48 24  |%=4 ..G^*SEARCH$|
0000d0c0  3d a4 57 69 6d 70 5f 49  63 6f 6e 54 65 78 74 28  |=.Wimp_IconText(|
0000d0d0  53 65 74 5f 57 69 6e 64  6f 77 25 2c 31 33 29 0d  |Set_Window%,13).|
0000d0e0  47 68 2b 53 45 41 52 43  48 32 24 3d a4 57 69 6d  |Gh+SEARCH2$=.Wim|
0000d0f0  70 5f 49 63 6f 6e 54 65  78 74 28 53 65 74 5f 57  |p_IconText(Set_W|
0000d100  69 6e 64 6f 77 25 2c 31  33 29 0d 47 72 2b 53 45  |indow%,13).Gr+SE|
0000d110  41 52 43 48 33 24 3d a4  57 69 6d 70 5f 49 63 6f  |ARCH3$=.Wimp_Ico|
0000d120  6e 54 65 78 74 28 53 65  74 5f 57 69 6e 64 6f 77  |nText(Set_Window|
0000d130  25 2c 31 33 29 0d 47 7c  05 cd 0d 47 86 0f e7 20  |%,13).G|...G... |
0000d140  73 73 65 6c 25 3d 35 20  8c 0d 47 90 2a 53 45 41  |ssel%=5 ..G.*SEA|
0000d150  52 43 48 24 3d a4 57 69  6d 70 5f 49 63 6f 6e 54  |RCH$=.Wimp_IconT|
0000d160  65 78 74 28 53 65 74 5f  57 69 6e 64 6f 77 25 2c  |ext(Set_Window%,|
0000d170  31 35 29 0d 47 9a 2b 53  45 41 52 43 48 32 24 3d  |15).G.+SEARCH2$=|
0000d180  a4 57 69 6d 70 5f 49 63  6f 6e 54 65 78 74 28 53  |.Wimp_IconText(S|
0000d190  65 74 5f 57 69 6e 64 6f  77 25 2c 31 35 29 0d 47  |et_Window%,15).G|
0000d1a0  a4 2b 53 45 41 52 43 48  33 24 3d a4 57 69 6d 70  |.+SEARCH3$=.Wimp|
0000d1b0  5f 49 63 6f 6e 54 65 78  74 28 53 65 74 5f 57 69  |_IconText(Set_Wi|
0000d1c0  6e 64 6f 77 25 2c 31 35  29 0d 47 ae 05 cd 0d 47  |ndow%,15).G....G|
0000d1d0  b8 0f e7 20 73 73 65 6c  25 3d 36 20 8c 0d 47 c2  |... ssel%=6 ..G.|
0000d1e0  2a 53 45 41 52 43 48 24  3d a4 57 69 6d 70 5f 49  |*SEARCH$=.Wimp_I|
0000d1f0  63 6f 6e 54 65 78 74 28  53 65 74 5f 57 69 6e 64  |conText(Set_Wind|
0000d200  6f 77 25 2c 31 37 29 0d  47 cc 2b 53 45 41 52 43  |ow%,17).G.+SEARC|
0000d210  48 32 24 3d a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |H2$=.Wimp_IconTe|
0000d220  78 74 28 53 65 74 5f 57  69 6e 64 6f 77 25 2c 31  |xt(Set_Window%,1|
0000d230  37 29 0d 47 d6 2b 53 45  41 52 43 48 33 24 3d a4  |7).G.+SEARCH3$=.|
0000d240  57 69 6d 70 5f 49 63 6f  6e 54 65 78 74 28 53 65  |Wimp_IconText(Se|
0000d250  74 5f 57 69 6e 64 6f 77  25 2c 31 37 29 0d 47 e0  |t_Window%,17).G.|
0000d260  1c 53 45 41 52 43 48 24  3d a4 43 68 61 6e 67 65  |.SEARCH$=.Change|
0000d270  28 53 45 41 52 43 48 24  29 0d 47 ea 05 cd 0d 47  |(SEARCH$).G....G|
0000d280  f4 05 e1 0d 47 fe 05 3a  0d 48 08 0d dd 20 f2 73  |....G..:.H... .s|
0000d290  65 61 72 63 68 0d 48 12  0b 44 4f 4e 45 25 3d 30  |earch.H..DONE%=0|
0000d2a0  0d 48 1c 09 53 54 25 3d  a3 0d 48 26 1d e7 20 53  |.H..ST%=..H&.. S|
0000d2b0  4e 55 4d 25 3d 2d 32 20  8c 20 53 4e 55 4d 25 3d  |NUM%=-2 . SNUM%=|
0000d2c0  63 75 72 25 2b 31 0d 48  30 0c 4c 4f 4f 4b 24 3d  |cur%+1.H0.LOOK$=|
0000d2d0  22 22 0d 48 3a 0d 4c 4f  4f 4b 32 24 3d 22 22 0d  |"".H:.LOOK2$="".|
0000d2e0  48 44 0d 4c 4f 4f 4b 33  24 3d 22 22 0d 48 4e 53  |HD.LOOK3$="".HNS|
0000d2f0  c8 95 20 4c 4f 4f 4b 24  3c 3e 53 45 41 52 43 48  |.. LOOK$<>SEARCH|
0000d300  24 20 80 20 4c 4f 4f 4b  32 24 3c 3e 53 45 41 52  |$ . LOOK2$<>SEAR|
0000d310  43 48 32 24 20 80 20 4c  4f 4f 4b 33 24 3c 3e 53  |CH2$ . LOOK3$<>S|
0000d320  45 41 52 43 48 33 24 20  80 20 53 4e 55 4d 25 3c  |EARCH3$ . SNUM%<|
0000d330  3d 74 6f 74 25 2b 31 20  80 20 53 54 25 3d a3 0d  |=tot%+1 . ST%=..|
0000d340  48 58 0c 4c 4f 4f 4b 24  3d 22 22 0d 48 62 0d 4c  |HX.LOOK$="".Hb.L|
0000d350  4f 4f 4b 32 24 3d 22 22  0d 48 6c 0d 4c 4f 4f 4b  |OOK2$="".Hl.LOOK|
0000d360  33 24 3d 22 22 0d 48 76  0f e7 20 73 73 65 6c 25  |3$="".Hv.. ssel%|
0000d370  3d 30 20 8c 0d 48 80 19  4c 4f 4f 4b 24 3d 53 55  |=0 ..H..LOOK$=SU|
0000d380  52 4e 41 4d 45 24 28 53  4e 55 4d 25 29 0d 48 8a  |RNAME$(SNUM%).H.|
0000d390  05 cd 0d 48 94 0f e7 20  73 73 65 6c 25 3d 31 20  |...H... ssel%=1 |
0000d3a0  8c 0d 48 9e 18 4c 4f 4f  4b 24 3d 4f 54 48 45 52  |..H..LOOK$=OTHER|
0000d3b0  53 24 28 53 4e 55 4d 25  29 0d 48 a8 05 cd 0d 48  |S$(SNUM%).H....H|
0000d3c0  b2 0f e7 20 73 73 65 6c  25 3d 32 20 8c 0d 48 bc  |... ssel%=2 ..H.|
0000d3d0  16 4c 4f 4f 4b 24 3d 41  44 44 31 24 28 53 4e 55  |.LOOK$=ADD1$(SNU|
0000d3e0  4d 25 29 0d 48 c6 17 4c  4f 4f 4b 32 24 3d 41 44  |M%).H..LOOK2$=AD|
0000d3f0  44 32 24 28 53 4e 55 4d  25 29 0d 48 d0 17 4c 4f  |D2$(SNUM%).H..LO|
0000d400  4f 4b 33 24 3d 41 44 44  33 24 28 53 4e 55 4d 25  |OK3$=ADD3$(SNUM%|
0000d410  29 0d 48 da 05 cd 0d 48  e4 0f e7 20 73 73 65 6c  |).H....H... ssel|
0000d420  25 3d 33 20 8c 0d 48 ee  1a 4c 4f 4f 4b 24 3d 50  |%=3 ..H..LOOK$=P|
0000d430  4f 53 54 43 4f 44 45 24  28 53 4e 55 4d 25 29 0d  |OSTCODE$(SNUM%).|
0000d440  48 f8 05 cd 0d 49 02 0f  e7 20 73 73 65 6c 25 3d  |H....I... ssel%=|
0000d450  34 20 8c 0d 49 0c 16 4c  4f 4f 4b 24 3d 41 52 45  |4 ..I..LOOK$=ARE|
0000d460  41 24 28 53 4e 55 4d 25  29 0d 49 16 05 cd 0d 49  |A$(SNUM%).I....I|
0000d470  20 0f e7 20 73 73 65 6c  25 3d 35 20 8c 0d 49 2a  | .. ssel%=5 ..I*|
0000d480  15 4c 4f 4f 4b 24 3d 54  45 4c 24 28 53 4e 55 4d  |.LOOK$=TEL$(SNUM|
0000d490  25 29 0d 49 34 05 cd 0d  49 3e 0f e7 20 73 73 65  |%).I4...I>.. sse|
0000d4a0  6c 25 3d 36 20 8c 0d 49  48 15 4c 4f 4f 4b 24 3d  |l%=6 ..IH.LOOK$=|
0000d4b0  4e 54 53 24 28 53 4e 55  4d 25 29 0d 49 52 05 cd  |NTS$(SNUM%).IR..|
0000d4c0  0d 49 5c 13 e7 20 53 4e  55 4d 25 3e 3d 74 6f 74  |.I\.. SNUM%>=tot|
0000d4d0  25 20 8c 0d 49 66 0c 53  4e 55 4d 25 3d 2d 31 0d  |% ..If.SNUM%=-1.|
0000d4e0  49 70 0c 44 4f 4e 45 25  2b 3d 31 0d 49 7a 05 cd  |Ip.DONE%+=1.Iz..|
0000d4f0  0d 49 84 0c 53 4e 55 4d  25 2b 3d 31 0d 49 8e 15  |.I..SNUM%+=1.I..|
0000d500  e7 20 44 4f 4e 45 25 3d  32 20 8c 20 53 54 25 3d  |. DONE%=2 . ST%=|
0000d510  b9 0d 49 98 09 f2 63 68  6f 70 0d 49 a2 05 ce 0d  |..I...chop.I....|
0000d520  49 ac 0d e7 20 53 54 25  3d a3 20 8c 0d 49 b6 09  |I... ST%=. ..I..|
0000d530  f2 72 65 61 64 0d 49 c0  10 63 75 72 25 3d 53 4e  |.read.I..cur%=SN|
0000d540  55 4d 25 2d 31 0d 49 ca  0b f2 75 70 64 61 74 65  |UM%-1.I...update|
0000d550  0d 49 d4 05 cd 0d 49 de  05 e1 0d 49 e8 05 3a 0d  |.I....I....I..:.|
0000d560  49 f2 0b dd 20 f2 63 68  6f 70 0d 49 fc 1c 4c 4f  |I... .chop.I..LO|
0000d570  4f 4b 24 3d c0 4c 4f 4f  4b 24 2c a9 28 53 45 41  |OK$=.LOOK$,.(SEA|
0000d580  52 43 48 24 29 29 0d 4a  06 1f 4c 4f 4f 4b 32 24  |RCH$)).J..LOOK2$|
0000d590  3d c0 4c 4f 4f 4b 32 24  2c a9 28 53 45 41 52 43  |=.LOOK2$,.(SEARC|
0000d5a0  48 32 24 29 29 0d 4a 10  1f 4c 4f 4f 4b 33 24 3d  |H2$)).J..LOOK3$=|
0000d5b0  c0 4c 4f 4f 4b 33 24 2c  a9 28 53 45 41 52 43 48  |.LOOK3$,.(SEARCH|
0000d5c0  33 24 29 29 0d 4a 1a 05  e1 0d 4a 24 05 3a 0d 4a  |3$)).J....J$.:.J|
0000d5d0  2e 13 dd 20 f2 6d 6f 75  73 65 62 6f 78 28 77 25  |... .mousebox(w%|
0000d5e0  29 0d 4a 38 0e 77 69 6d  70 25 21 30 3d 77 25 0d  |).J8.wimp%!0=w%.|
0000d5f0  4a 42 24 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |JB$.."Wimp_GetWi|
0000d600  6e 64 6f 77 4f 75 74 6c  69 6e 65 22 2c 2c 77 69  |ndowOutline",,wi|
0000d610  6d 70 25 0d 4a 4c 43 c8  97 20 c8 93 20 77 69 6d  |mp%.JLC.. .. wim|
0000d620  70 25 21 34 2b 32 2c 77  69 6d 70 25 21 38 2b 32  |p%!4+2,wimp%!8+2|
0000d630  2c 77 69 6d 70 25 21 31  32 2d 77 69 6d 70 25 21  |,wimp%!12-wimp%!|
0000d640  34 2d 34 2c 77 69 6d 70  25 21 31 36 2d 77 69 6d  |4-4,wimp%!16-wim|
0000d650  70 25 21 38 2d 34 0d 4a  56 05 e1 0d 4a 60 05 3a  |p%!8-4.JV...J`.:|
0000d660  0d 4a 6a 0c dd 20 f2 75  6e 62 6f 78 0d 4a 74 2b  |.Jj.. .unbox.Jt+|
0000d670  c8 99 20 22 4f 53 5f 52  65 61 64 4d 6f 64 65 56  |.. "OS_ReadModeV|
0000d680  61 72 69 61 62 6c 65 22  2c 2d 31 2c 31 31 20 b8  |ariable",-1,11 .|
0000d690  20 2c 2c 78 70 69 63 0d  4a 7e 2b c8 99 20 22 4f  | ,,xpic.J~+.. "O|
0000d6a0  53 5f 52 65 61 64 4d 6f  64 65 56 61 72 69 61 62  |S_ReadModeVariab|
0000d6b0  6c 65 22 2c 2d 31 2c 31  32 20 b8 20 2c 2c 79 70  |le",-1,12 . ,,yp|
0000d6c0  69 63 0d 4a 88 2b c8 99  20 22 4f 53 5f 52 65 61  |ic.J.+.. "OS_Rea|
0000d6d0  64 4d 6f 64 65 56 61 72  69 61 62 6c 65 22 2c 2d  |dModeVariable",-|
0000d6e0  31 2c 34 20 b8 20 2c 2c  78 66 61 63 74 0d 4a 92  |1,4 . ,,xfact.J.|
0000d6f0  2b c8 99 20 22 4f 53 5f  52 65 61 64 4d 6f 64 65  |+.. "OS_ReadMode|
0000d700  56 61 72 69 61 62 6c 65  22 2c 2d 31 2c 35 20 b8  |Variable",-1,5 .|
0000d710  20 2c 2c 79 66 61 63 74  0d 4a 9c 25 c8 97 20 c8  | ,,yfact.J.%.. .|
0000d720  93 20 30 2c 30 2c 78 70  69 63 3c 3c 78 66 61 63  |. 0,0,xpic<<xfac|
0000d730  74 2c 79 70 69 63 3c 3c  79 66 61 63 74 0d 4a a6  |t,ypic<<yfact.J.|
0000d740  05 e1 0d 4a b0 05 3a 0d  4a ba 0c dd 20 f2 65 72  |...J..:.J... .er|
0000d750  72 6f 72 0d 4a c4 0f e7  20 9f 3d 36 37 37 38 35  |ror.J... .=67785|
0000d760  20 8c 0d 4a ce 43 f2 57  69 6d 70 5f 57 69 6e 64  | ..J.C.Wimp_Wind|
0000d770  6f 77 45 72 72 6f 72 42  6f 78 28 22 21 41 44 52  |owErrorBox("!ADR|
0000d780  42 6f 6f 6b 22 2c 22 50  6c 65 61 73 65 20 77 72  |Book","Please wr|
0000d790  69 74 65 20 65 6e 61 62  6c 65 20 74 68 65 20 64  |ite enable the d|
0000d7a0  69 73 6b 22 29 0d 4a d8  09 d9 20 23 58 25 0d 4a  |isk").J... #X%.J|
0000d7b0  e2 05 cc 0d 4a ec 0d 44  4f 53 41 56 45 25 3d a3  |....J..DOSAVE%=.|
0000d7c0  0d 4a f6 27 f2 57 69 6d  70 5f 57 69 6e 64 6f 77  |.J.'.Wimp_Window|
0000d7d0  45 72 72 6f 72 42 6f 78  28 22 21 41 44 52 42 6f  |ErrorBox("!ADRBo|
0000d7e0  6f 6b 22 2c f6 24 29 0d  4b 00 05 cd 0d 4b 0a 05  |ok",.$).K....K..|
0000d7f0  e1 0d 4b 14 05 3a 0d 4b  1e 19 dd 20 f2 73 65 6e  |..K..:.K... .sen|
0000d800  64 68 65 6c 70 28 77 69  6d 70 25 2c 61 24 29 0d  |dhelp(wimp%,a$).|
0000d810  4b 28 18 21 77 69 6d 70  25 3d 28 a9 61 24 2b 32  |K(.!wimp%=(.a$+2|
0000d820  35 29 20 80 20 ac 33 0d  4b 32 14 77 69 6d 70 25  |5) . .3.K2.wimp%|
0000d830  21 31 32 3d 77 69 6d 70  25 21 38 0d 4b 3c 14 21  |!12=wimp%!8.K<.!|
0000d840  28 77 69 6d 70 25 2b 31  36 29 3d 26 35 30 33 0d  |(wimp%+16)=&503.|
0000d850  4b 46 12 24 28 77 69 6d  70 25 2b 32 30 29 3d 61  |KF.$(wimp%+20)=a|
0000d860  24 0d 4b 50 17 3f 28 77  69 6d 70 25 2b 32 30 2b  |$.KP.?(wimp%+20+|
0000d870  a9 61 24 2b 31 29 3d 30  0d 4b 5a 2a c8 99 20 22  |.a$+1)=0.KZ*.. "|
0000d880  57 69 6d 70 5f 53 65 6e  64 4d 65 73 73 61 67 65  |Wimp_SendMessage|
0000d890  22 2c 31 37 2c 77 69 6d  70 25 2c 77 69 6d 70 25  |",17,wimp%,wimp%|
0000d8a0  21 34 0d 4b 64 05 e1 0d  4b 6e 05 3a 0d 4b 78 0b  |!4.Kd...Kn.:.Kx.|
0000d8b0  dd 20 f2 73 6f 72 74 0d  4b 82 10 e3 20 42 3d 30  |. .sort.K... B=0|
0000d8c0  20 b8 20 74 6f 74 25 0d  4b 8c 12 e3 20 41 3d 30  | . tot%.K... A=0|
0000d8d0  20 b8 20 74 6f 74 25 2d  32 0d 4b 96 21 e7 20 53  | . tot%-2.K.!. S|
0000d8e0  55 52 4e 41 4d 45 24 28  41 29 3e 53 55 52 4e 41  |URNAME$(A)>SURNA|
0000d8f0  4d 45 24 28 41 2b 31 29  20 8c 0d 4b a0 20 c8 94  |ME$(A+1) ..K. ..|
0000d900  20 53 55 52 4e 41 4d 45  24 28 41 2b 31 29 2c 53  | SURNAME$(A+1),S|
0000d910  55 52 4e 41 4d 45 24 28  41 29 0d 4b aa 1e c8 94  |URNAME$(A).K....|
0000d920  20 4f 54 48 45 52 53 24  28 41 2b 31 29 2c 4f 54  | OTHERS$(A+1),OT|
0000d930  48 45 52 53 24 28 41 29  0d 4b b4 1a c8 94 20 41  |HERS$(A).K.... A|
0000d940  44 44 31 24 28 41 2b 31  29 2c 41 44 44 31 24 28  |DD1$(A+1),ADD1$(|
0000d950  41 29 0d 4b be 1a c8 94  20 41 44 44 32 24 28 41  |A).K.... ADD2$(A|
0000d960  2b 31 29 2c 41 44 44 32  24 28 41 29 0d 4b c8 1a  |+1),ADD2$(A).K..|
0000d970  c8 94 20 41 44 44 33 24  28 41 2b 31 29 2c 41 44  |.. ADD3$(A+1),AD|
0000d980  44 33 24 28 41 29 0d 4b  d2 22 c8 94 20 50 4f 53  |D3$(A).K.".. POS|
0000d990  54 43 4f 44 45 24 28 41  2b 31 29 2c 50 4f 53 54  |TCODE$(A+1),POST|
0000d9a0  43 4f 44 45 24 28 41 29  0d 4b dc 1a c8 94 20 41  |CODE$(A).K.... A|
0000d9b0  52 45 41 24 28 41 2b 31  29 2c 41 52 45 41 24 28  |REA$(A+1),AREA$(|
0000d9c0  41 29 0d 4b e6 18 c8 94  20 54 45 4c 24 28 41 2b  |A).K.... TEL$(A+|
0000d9d0  31 29 2c 54 45 4c 24 28  41 29 0d 4b f0 18 c8 94  |1),TEL$(A).K....|
0000d9e0  20 4e 54 53 24 28 41 2b  31 29 2c 4e 54 53 24 28  | NTS$(A+1),NTS$(|
0000d9f0  41 29 0d 4b fa 05 cd 0d  4c 04 06 ed 41 0d 4c 0e  |A).K....L...A.L.|
0000da00  06 ed 42 0d 4c 18 05 e1  0d ff                    |..B.L.....|
0000da0a