Home » Archimedes archive » Archimedes World » AW-1993-03.adf » AWMar93 » !AWMar93/Goodies/Diary/!Diary/!RunImage
!AWMar93/Goodies/Diary/!Diary/!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-1993-03.adf » AWMar93 |
Filename: | !AWMar93/Goodies/Diary/!Diary/!RunImage |
Read OK: | ✔ |
File size: | 4B0B bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > <Diary$Dir>.!RunImage 20REM (c) Barry Wickett 1992 30REM of: 40REM 43 Almond Avenue 50REM Yew Tree 60REM Walsall 70REM WS5 4JU 80 90PROCinitiate 100ON ERROR exit=FNcheck(REPORT$+", EXIT?") 110 120WHILE NOTexit 130SYS"Wimp_Poll",1,blk% TO reason% 140CASE reason% OF 150WHEN 1:PROCredraw 160WHEN 2:PROCopenwindow 170WHEN 3:PROCclosewindow(!blk%) 180WHEN 6:PROCclick(!blk%,blk%!4,blk%!8,blk%!12,blk%!16) 190WHEN 7:PROCdecodedrag 200WHEN 8:PROCkey(!blk%,blk%!4,blk%!8,blk%!24) 210WHEN 9:PROCmenuselect 220WHEN 17,18:PROCmessage(blk%!4,blk%!8,blk%!16) 230ENDCASE 240ENDWHILE 250PROCclosedown 260 270DEF PROCinitiate 280mblen%=1000 290DIM blk% 2000, menubuffer% mblen%,q% 256 300DIM month$(12),ml%(12),sd%(12),day$(6),dc%(13) 310textsize%=21*5 320diarylen%=(1+textsize%)*372 330DIM diary% diarylen%,textbuff% textsize%+30 340text%=diary%+372 350month$()="","January","February","March","April","May","June","July","August","September","October","November","December" 360ml%()=0,31,28,31,30,31,30,31,31,30,31,30,31 370day$()="Sun","Mon","Tue","Wed","Thu","Fri","Sat" 380dc%()=0,1,2,3,4,5,8,9,10,11,12,13,14,15 390$blk%="TASK" 400program$="Diary" 410SYS"Wimp_Initialise",200,!blk%,program$ TO ,mytask% 420$q%="Diary$Dir" 430SYS"OS_ReadVarVal",q%,blk%,1000,0,3 TO ,,len% 440blk%?len%=13 450dir$=$blk% 460iconbar%=FNcricon(-1,0,0,68,68,&2002,"!diary") 470!blk%=1 480SYS"OS_Word",14,blk% 490thisyear%=VAL(STR$~(?blk%)) 500thismonth%=VAL(STR$~(blk%?1)) 510thisdate%=VAL(STR$~(blk%?2)) 520cdate%=0:cmonth%=0 530SYS"Wimp_OpenTemplate",,dir$+".Templates" 540main%=FNloadtemplate("main",128) 550savefff1%=FNsavewind("fff") 560savefff2%=FNsavewind("fff") 570saveaff%=FNsavewind("aff") 580info%=FNloadtemplate("info",256) 590edit%=FNloadtemplate("edit",512) 600filenamefff1%=FNgetfilename(savefff1%) 610filenamefff2%=FNgetfilename(savefff2%) 620filenameaff%=FNgetfilename(saveaff%) 630SYS"Wimp_CloseTemplate" 640menuptr%=menubuffer% 650menubar%=FNcrmenu("Diary,Info>,info%,Quit") 660barheight%=items%*44+96 670colmenu%=FNcrmenu("Column Width,Thin,Medium,Wide,Extra Wide,Full Width") 680yearmenu%=FNcrmenu("Year,"+STR$(thisyear%)+","+STR$(thisyear%+1)) 690mainmenu%=FNcrmenu("Diary,Year>,yearmenu%,Columns>-,colmenu%,Save,Load") 700monthmenu%=FNcrmenu("Month,Text file>,savefff2%,Draw file>,saveaff%") 710savemenu%=FNcrmenu("Save,Day>,savefff1%,Month>,monthmenu%") 720editmenu%=FNcrmenu("Diary,Export>-,savemenu%,Clear") 730year%=-1 740PROCnewmode 750exit=FALSE 760boxh%=48 770colwidth%=1 780PROCsetextent 790textoff%=(boxh%-32)/2+4 800tft%=&FFF 810dft%=&AFF 820PROCtick(colmenu%,colwidth%) 830PROCsetyear(thisyear%) 840IF FNload(thisyear%)=FALSE THEN PROCwarn("Cannot load Diary"):PROCclosedown 850active%=FALSE 860ENDPROC 870 880DEF FNsavewind(filetype$) 890DIM buff% 300 900SYS"Wimp_LoadTemplate",,blk%,buff%,buff%+300,-1,"save" 910$(blk%+88+20)="file_"+filetype$ 920SYS"Wimp_CreateWindow",,blk% TO wind% 930=wind% 940 950DEF FNgetfilename(!blk%) 960blk%!4=1 970SYS"Wimp_GetIconState",,blk% 980=blk%!28 990 1000DEF PROCwindowinfo(!blk%) 1010SYS"Wimp_GetWindowInfo",,blk% 1020wx%=blk%!4-blk%!20 1030wy%=blk%!16-blk%!24 1040ENDPROC 1050 1060DEF PROCnewedit(x%,y%) 1070PROCwindowinfo(main%) 1080x%-=wx% 1090y%-=wy% 1100PROCalter(x%,y%) 1110IF x%>=1 AND x%<=12 THEN 1120IF y%>=sd%(x%) AND y%<=sd%(x%)+ml%(x%)-1 THEN 1130d%=(y%-sd%(x%))+1 1140m%=x% 1150PROCedit(d%,m%) 1160ENDIF 1170ENDIF 1180ENDPROC 1190 1200DEF PROCedit(d%,m%) 1210IF cdate%>0 THEN PROCget 1220cdate%=d% 1230cmonth%=m% 1240PROCset 1250!blk%=edit% 1260SYS"Wimp_GetWindowInfo",,blk% 1270title$=day$((sd%(cmonth%)+cdate%-1)MOD7)+" "+STR$(cdate%)+" "+LEFT$(month$(cmonth%),3)+" "+STR$(year%) 1280$(blk%!76)=title$ 1290blk%!28=-1 1300SYS"Wimp_OpenWindow",,blk% 1310SYS"Wimp_SetCaretPosition",!blk%,0,-1,-1,-1,0 1320PROCnewtitle(!blk%) 1330ENDPROC 1340 1350DEF PROCset 1360FOR i%=0 TO 4 1370!blk%=edit% 1380blk%!4=i% 1390SYS"Wimp_GetIconState",,blk% 1400line$=FNline(cdate%,cmonth%,i%) 1410IF line$<>$(blk%!28) THEN 1420$(blk%!28)=line$ 1430blk%!8=0 1440blk%!12=0 1450SYS"Wimp_SetIconState",,blk% 1460ENDIF 1470NEXT i% 1480highcol%=FNflag(cdate%,cmonth%)AND15 1490FOR a%=0 TO 13 1500PROCsetfc(edit%,a%+9,1-(a%=highcol%)*6) 1510NEXT a% 1520thischanged%=FALSE 1530ENDPROC 1540 1550DEF PROCget 1560FOR i%=0 TO 4 1570!blk%=edit% 1580blk%!4=i% 1590SYS"Wimp_GetIconState",,blk% 1600IF FNline(cdate%,cmonth%,i%)<>$(blk%!28) THEN 1610changed%=TRUE 1620thischanged%=TRUE 1630PROCstore(cdate%,cmonth%,i%,$(blk%!28)) 1640ENDIF 1650NEXT i% 1660IF thischanged% THEN PROCupdate(cdate%,cmonth%) 1670thischanged%=FALSE 1680ENDPROC 1690 1700DEF PROCupdate(d%,m%) 1710wx%=0:wy%=0 1720miny%=FNy(d%-1+sd%(m%))-boxh% 1730SYS"Wimp_ForceRedraw",main%,FNx(m%)+2,miny%+4,FNx(m%)+boxw%-2,miny%+boxh% 1740ENDPROC 1750 1760DEF FNload(yr%) 1770load%=FALSE 1780SYS"OS_File",5,dir$+"."+STR$(yr%) TO exist%,,,,len% 1790IF exist%=1 THEN 1800IF len%<>diarylen% THEN 1810PROCerror("Cannot load diary") 1820ELSE 1830SYS"OS_File",255,dir$+"."+STR$(yr%),diary% 1840load%=TRUE 1850ENDIF 1860ELSE 1870IF FNcheck("Diary does not exist, create new one?") THEN 1880SYS"Hourglass_On" 1890PROCsetyear(yr%) 1900d%=1 1910m%=1 1920WHILE m%<13 1930t%=0 1940IF ((d%+sd%(m%)-1)MOD7)=0 OR ((d%+sd%(m%)-1)MOD7=6) THEN t%=1 1950IF (d%=25 OR d%=26) AND m%=12 THEN t%=2 1960IF d%=1 AND m%=1 THEN t%=2 1970PROCsetflag(d%,m%,t%) 1980FOR l%=0 TO 4 1990PROCstore(d%,m%,l%,"") 2000NEXT l% 2010d%+=1 2020IF d%>ml%(m%) THEN d%=1:m%+=1 2030ENDWHILE 2040PROCsave(yr%) 2050SYS"Hourglass_Off" 2060load%=TRUE 2070ENDIF 2080ENDIF 2090IF load% THEN changed%=FALSE 2100=load% 2110 2120DEF PROCsetflag(d%,m%,f%) 2130diary%?((d%-1)+(m%-1)*31)=f% 2140ENDPROC 2150 2160DEF FNflag(d%,m%) 2170=diary%?((d%-1)+(m%-1)*31) 2180 2190DEF PROCerror(error$) 2200d%=FNcheck(error$) 2210ENDPROC 2220 2230DEF PROCsave(year%) 2240PROCget 2250SYS"OS_File",0,dir$+"."+STR$(year%),0,0,diary%,diarylen%+diary% 2260changed%=FALSE 2270ENDPROC 2280 2290DEF PROCsetextent 2300CASE colwidth% OF 2310WHEN 0 : boxw%=64 2320WHEN 1 : boxw%=128 2330WHEN 2 : boxw%=176 2340WHEN 3 : boxw%=256 2350WHEN 4 : boxw%=384 2360ENDCASE 2370!blk%=boxw%-84 2380blk%!4=-(boxh%*38+12) 2390blk%!8=13*boxw%+82 2400blk%!12=boxh% 2410SYS"Wimp_SetExtent",main%,blk% 2420ENDPROC 2430 2440DEF PROCsetyear(ny%) 2450PROCtick(yearmenu%,ny%-thisyear%) 2460IF year%<>ny% THEN 2470year%=ny% 2480!blk%=main% 2490SYS"Wimp_GetWindowInfo",,blk% 2500$(blk%!76)="Year Plan "+STR$(year%) 2510IF (year% MOD 4)=0 THEN ml%(2)=29 ELSE ml%(2)=28 2520sd%(1)=((year%+((year%-1) DIV 4)+1)MOD7) 2530FOR m%=2 TO 12 2540sd%(m%)=(sd%(m%-1)+ml%(m%-1))MOD7 2550NEXT m% 2560ENDIF 2570ENDPROC 2580 2590DEF PROCdecodedrag 2600CASE dragwind% OF 2610WHEN savefff1% 2620PROCcreatetext 2630size%=FNsize 2640filetype%=tft% 2650filename%=filenamefff1% 2660WHEN savefff2% 2670size%=0 2680filetype%=tft% 2690filename%=filenamefff2% 2700WHEN saveaff% 2710size%=0 2720filetype%=dft% 2730filename%=filenameaff% 2740ENDCASE 2750SYS"Wimp_CreateMenu",,-1 2760SYS"Wimp_GetPointerInfo",,blk% 2770blk%!32=blk%!4 2780blk%!28=!blk% 2790blk%!24=blk%!16 2800blk%!20=blk%!12 2810blk%!16=1 2820blk%!12=0 2830blk%!36=size% 2840blk%!40=filetype% 2850$(blk%+44)=FNlastbit($filename%)+CHR$0 2860!blk%=60 2870SYS"Wimp_SendMessage",17,blk%,blk%!20,blk%!24 2880trans%=0 2890ENDPROC 2900 2910DEF FNsize 2920=textsize%+(LEN(title$)+1)*2 2930 2940DEF PROCcreatetext 2950off%=(LEN(title$)+1)*2 2960$textbuff%=title$+CHR$10 2970$(textbuff%+LEN(title$)+1)=STRING$(LEN(title$),"~")+CHR$10 2980FOR i%=0 TO 4 2990!blk%=edit% 3000blk%!4=i% 3010SYS"Wimp_GetIconState",,blk% 3020$(textbuff%+i%*21+off%)=$(blk%!28)+STRING$(20-LEN($(blk%!28))," ")+CHR$10 3030NEXT i% 3040ENDPROC 3050 3060DEF FNlastbit(file$) 3070WHILE INSTR(file$,".") 3080file$=MID$(file$,INSTR(file$,".")+1) 3090ENDWHILE 3100=file$ 3110 3120DEF PROCkey(wind%,icon%,xpos%,key%) 3130IF (wind%=savefff1% OR wind%=savefff2% OR wind%=saveaff%) AND key%=13 THEN 3140CASE wind% OF 3150WHEN savefff1% : PROCsavetext($filenamefff1%,0) 3160WHEN savefff2% : PROCsavemonthfff($filenamefff2%,0) 3170WHEN saveaff% : PROCsavemonthaff($filenameaff%,0) 3180ENDCASE 3190ELSE 3200IF wind%=edit% THEN 3210CASE key% OF 3220WHEN &18F : PROCmove(-1) 3230WHEN &18E,13 : PROCmove(1) 3240ENDCASE 3250ELSE 3260SYS"Wimp_ProcessKey",key% 3270ENDIF 3280ENDIF 3290ENDPROC 3300 3310DEF PROCmove(inc%) 3320IF icon%+inc%>=0 AND icon%+inc%<=4 THEN 3330icon%+=inc% 3340SYS"Wimp_SetCaretPosition",wind%,icon%,xpos%,0,-1,-1 3350ENDIF 3360PROCget 3370ENDPROC 3380 3390DEF PROCsavetext(file$,ok%) 3400saved%=FALSE 3410IF FNnameok THEN 3420PROCcreatetext 3430SYS"Wimp_CreateMenu",,-1 3440SYS"OS_File",10,file$,tft%,0,textbuff%,textbuff%+FNsize 3450IF INSTR(file$,"<")=0 THEN $filenamefff1%=file$ 3460saved%=TRUE 3470ENDIF 3480ENDPROC 3490 3500DEF PROCsavemonthaff(file$,ok%) 3510SYS"Hourglass_On" 3520ox%=128:oy%=64 3530saved%=FALSE 3540IF FNnameok THEN 3550SYS"Wimp_CreateMenu",,-1 3560file=OPENOUT(file$) 3570IF file=0 THEN 3580PROCreport("Can't open file") 3590ELSE 3600PROCheader 3610PROCfont 3620y%=5 3630x%=sd%(cmonth%) 3640xs%=256 3650ys%=200 3660PROCtext(month$(cmonth%),3.5*xs%+ox%,(y%+1)*ys%+96+oy%,32,32,1) 3670FOR d%=0 TO 6 3680 PROCtext(day$(d%),(d%+.5)*xs%+ox%,(y%+1)*ys%+16+oy%,32,16,1) 3690NEXT d% 3700FOR d%=1 TO ml%(cmonth%) 3710 PROCquad(x%*xs%+ox%,y%*ys%+oy%,xs%,ys%) 3720 PROCtext(STR$(d%),x%*xs%+8+ox%,(y%+1)*ys%-32+oy%,14,14,0) 3730 FOR i%=0 TO 4 3740 line$=FNline(d%,cmonth%,i%) 3750 IF LENline$ THEN PROCtext(line$,x%*xs%+8+ox%,(y%+1)*ys%-(i%*28+68)+oy%,10,10,0) 3760 NEXT i% 3770 x%+=1 3780 IF x%>6 THEN x%=0:y%-=1 3790NEXT d% 3800PROCtail 3810IF INSTR(file$,"<")=0 THEN $filenameaff%=file$ 3820EXT#file=PTR#file 3830size%=EXT#file 3840CLOSE#file 3850PROCsetfiletype(file$,dft%) 3860saved%=TRUE 3870ENDIF 3880ENDIF 3890SYS"Hourglass_Off" 3900ENDPROC 3910 3920DEF PROCfont 3930start%=PTR#file 3940PROCw(0) 3950PROCw(0) 3960BPUT#file,1 3970font$="Homerton.Medium" 3980PROCst0(font$) 3990PROCsetword(start%+4,(PTR#file)-start%) 4000ENDPROC 4010 4020DEF PROCtext(text$,x0%,y0%,sx%,sy%,type%) 4030SYS"Font_FindFont",,font$,sx%*16,sy%*16 TO hand% 4040SYS"Font_StringBBox",,text$ TO ,lx%,ly%,mx%,my% 4050SYS"Font_ConverttoOS",,lx%*256,ly%*256 TO ,lx%,ly% 4060SYS"Font_ConverttoOS",,mx%*256,my%*256 TO ,mx%,my% 4070x0%=x0%*256 4080y0%=y0%*256 4090IF type%=1 THEN x0%-=(mx%-lx%)/2 4100start%=PTR#file 4110PROCw(1) 4120PROCw(0) 4130PROCsetbounds(x0%+lx%,y0%+ly%,x0%+mx%,y0%+my%) 4140PROCw(0) 4150PROCw(&FFFFFF00) 4160PROCw(1) 4170PROCw(sx%*640) 4180PROCw(sy%*640) 4190PROCw(x0%) 4200PROCw(y0%) 4210PROCst0(text$) 4220PROCsetword(start%+4,(PTR#file)-start%) 4230ENDPROC 4240 4250DEF PROCquad(x0%,y0%,x1%,y1%) 4260x0%=x0%*256 4270x1%=x1%*256 4280y0%=y0%*256 4290y1%=y1%*256 4300start%=PTR#file 4310PROCw(2) 4320PROCw(0) 4330PROCsetbounds(x0%,y0%,x0%+x1%,y0%+y1%) 4340PROCw(-1):REM fill col 4350PROCw(0) :REM line col 4360PROCw(0) 4370PROCw(&20100040) 4380PROCw(2) 4390PROCplot(x0%,y0%,8) 4400PROCplot(x0%+x1%,y0%,8) 4410PROCplot(x0%+x1%,y0%+y1%,8) 4420PROCplot(x0%,y0%+y1%,8) 4430PROCplot(x0%,y0%,5) 4440PROCw(0) 4450PROCsetword(start%+4,(PTR#file)-start%) 4460ENDPROC 4470 4480DEF PROCst0(text$) 4490BPUT#file,text$; 4500BPUT#file,0 4510WHILE ((PTR#file)MOD4)>0 4520BPUT#file,0 4530ENDWHILE 4540ENDPROC 4550 4560DEF PROCsetword(p%,w%) 4570temp%=PTR#file 4580PTR#file=p% 4590PROCw(w%) 4600PTR#file=temp% 4610ENDPROC 4620 4630DEF PROCplot(x%,y%,t%) 4640PROCw(x%) 4650PROCw(y%) 4660PROCw(t%) 4670ENDPROC 4680 4690DEF PROCheader 4700BPUT#file,"Draw"; 4710PROCw(201) 4720PROCw(0) 4730BPUT#file,"ArcDraw "; 4740minx%=1<<30 4750miny%=1<<30 4760maxx%=1<<31 4770maxy%=1<<31 4780boundsptr%=PTR#file 4790PROCw(0) 4800PROCw(0) 4810PROCw(0) 4820PROCw(0) 4830ENDPROC 4840 4850DEF PROCtail 4860temp%=PTR#file 4870PTR#file=boundsptr% 4880PROCw(minx%) 4890PROCw(miny%) 4900PROCw(maxx%) 4910PROCw(maxy%) 4920PTR#file=temp% 4930ENDPROC 4940 4950DEF PROCsetbounds(x0%,y0%,x1%,y1%) 4960PROCw(x0%) 4970PROCw(y0%) 4980PROCw(x1%) 4990PROCw(y1%) 5000IF x0%<minx% THEN minx%=x0% 5010IF y0%<miny% THEN miny%=y0% 5020IF x1%>maxx% THEN maxx%=x1% 5030IF y1%>maxy% THEN maxy%=y1% 5040ENDPROC 5050 5060DEF PROCw(!blk%) 5070FOR a%=0 TO 3 5080 BPUT#file,blk%?a% 5090NEXT a% 5100ENDPROC 5110 5120DEF PROCsavemonthfff(file$,ok%) 5130saved%=FALSE 5140IF FNnameok THEN 5150SYS"Wimp_CreateMenu",,-1 5160file=OPENOUT(file$) 5170IF file=0 THEN 5180PROCreport("Cannot create textfile") 5190ELSE 5200BPUT#file,STRING$((27-LENmonth$(cmonth%))/2," "); 5210BPUT#file,month$(cmonth%) 5220BPUT#file,10 5230FOR d%=1 TO ml%(cmonth%) 5240BPUT#file,day$((d%+sd%(cmonth%)-1)MOD7); 5250IF d%<10 THEN BPUT#file,32 5260BPUT#file,32 5270BPUT#file,STR$(d%); 5280BPUT#file,32 5290s$="" 5300c%=FALSE 5310FOR a%=0 TO 4 5320l$=FNline(d%,cmonth%,a%) 5330IF LENl$ THEN 5340IF c% THEN s$+=", " 5350s$+=l$ 5360c%=TRUE 5370ENDIF 5380NEXT a% 5390BPUT#file,s$ 5400NEXT d% 5410CLOSE#file 5420PROCsetfiletype(file$,tft%) 5430IF INSTR(file$,"<")=0 THEN $filenamefff2%=file$ 5440saved%=TRUE 5450ENDIF 5460ENDIF 5470ENDPROC 5480 5490DEF FNnameok 5500result%=TRUE 5510IF INSTR(file$,":")+INSTR(file$,".")=0 AND NOTok% THEN 5520PROCreport("To save, drag icon to a directory viewer "+file$) 5530result%=FALSE 5540ENDIF 5550=result% 5560 5570DEF PROCredraw 5580PROCwindowinfo(main%) 5590SYS"Wimp_RedrawWindow",,blk% TO more% 5600WHILE more% 5610IF !blk%=main% THEN 5620minx%=blk%!28-wx% 5630miny%=blk%!40-wy% 5640maxx%=(blk%!36-wx%)+boxw%-1 5650maxy%=(blk%!32-wy%)-(boxh%+1) 5660top%=maxy% 5670PROCalter(minx%,miny%) 5680PROCalter(maxx%,maxy%) 5690SYS"Wimp_SetColour",7 5700FOR x%=minx% TO maxx% 5710IF (top%<0 OR maxy%>37) AND x%>=1 AND x%<=12 THEN 5720IF colwidth%<2 THEN c%=3 ELSE c%=LEN(month$(x%)) 5730MOVE FNx(x%)+(boxw%-c%*16)/2,FNy(-1-(maxy%>37)*38)-textoff% 5740PRINTLEFT$(month$(x%),c%) 5750ENDIF 5760FOR y%=miny% TO maxy% 5770IF x%>=1 AND x%<=12 THEN 5780IF y%>=sd%(x%) AND y%<=sd%(x%)+ml%(x%)-1 THEN 5790d%=(y%-sd%(x%))+1 5800m%=x% 5810flag%=FNflag(d%,m%) 5820col%=dc%(flag%AND15) 5830IF col%>0 THEN 5840SYS"Wimp_SetColour",col% 5850RECTANGLE FILL FNx(x%),FNy(y%),boxw%-2,-boxh% 5860IF col%<>7 THEN SYS"Wimp_SetColour",7 5870ENDIF 5880IF d%=thisdate% AND m%=thismonth% AND year%=thisyear% THEN 5890SYS"Wimp_SetColour",11 5900RECTANGLE FNx(x%)+2,FNy(y%)-4,boxw%-6,8-boxh% 5910SYS"Wimp_SetColour",7 5920ENDIF 5930RECTANGLE FNx(x%),FNy(y%),boxw%-2,-boxh% 5940MOVE FNx(x%)+4,FNy(y%)-textoff% 5950IF d%<10 THEN VDU 32 5960PRINTSTR$(d%); 5970text$=FNline(d%,m%,0) 5980IF text$<>"" THEN 5990IF colwidth%=0 THEN VDU 42 ELSE PRINT" ";LEFT$(text$,(boxw%>>4)-4) 6000ENDIF 6010ENDIF 6020ELSE 6030IF (x%=0 OR x%=13) AND y%>=0 AND y%<=36 THEN 6040MOVE FNx(x%)-(boxw%-68)*(x%=0)-(18*(x%=13)),FNy(y%)-textoff% 6050PRINTday$(y%MOD7) 6060ENDIF 6070ENDIF 6080NEXT y% 6090NEXT x% 6100ENDIF 6110SYS"Wimp_GetRectangle",,blk% TO more% 6120ENDWHILE 6130ENDPROC 6140 6150DEF FNline(d%,m%,l%) 6160=$(text%+((m%-1)*31+(d%-1))*textsize%+l%*21) 6170 6180DEF PROCstore(d%,m%,l%,text$) 6190$(text%+((m%-1)*31+(d%-1))*textsize%+l%*21)=text$ 6200ENDPROC 6210 6220DEF FNx(x%) 6230=x%*boxw%+wx% 6240 6250DEF FNy(y%) 6260=(wy%-y%*boxh%)-4 6270 6280DEF PROCalter(RETURN x%,RETURN y%) 6290x%=x% DIV boxw% 6300y%=-((y%+4) DIV boxh%) 6310ENDPROC 6320 6330DEF PROCclosewindow(!blk%) 6340IF !blk%=edit% THEN PROCget 6350SYS"Wimp_CloseWindow",,blk% 6360IF !blk%=main% THEN PROCclosewindow(edit%) 6370ENDPROC 6380 6390DEF PROCclosedown 6400SYS"Wimp_CloseDown",mytask% 6410END 6420 6430DEF PROCmouseinfo 6440SYS"Wimp_GetPointerInfo",,blk% 6450mx%=!blk% 6460my%=blk%!4 6470but%=blk%!8 6480wind%=blk%!12 6490icon%=blk%!16 6500ENDPROC 6510 6520DEF PROCmenuselect 6530CASE openmenu% OF 6540WHEN menubar% 6550CASE !blk% OF 6560WHEN 1 : PROCquit 6570ENDCASE 6580WHEN mainmenu% 6590CASE !blk% OF 6600WHEN 0 6610IF blk%!4>=0 AND blk%!4<>year%-thisyear% THEN 6620ny%=thisyear%+blk%!4 6630PROCsave(year%) 6640PROCsetyear(ny%) 6650dum%=FNload(year%) 6660PROCtick(yearmenu%,year%-thisyear%) 6670!blk%=edit% 6680SYS"Wimp_CloseWindow",,blk% 6690!blk%=main% 6700PROCredraw 6710ENDIF 6720WHEN 1 6730IF blk%!4>=0 AND blk%!4<>colwidth% THEN 6740PROCtick(colmenu%,blk%!4) 6750colwidth%=blk%!4 6760PROCsetextent 6770!blk%=main% 6780SYS"Wimp_GetWindowState",,blk% 6790SYS"Wimp_OpenWindow",,blk% 6800PROCredraw 6810ENDIF 6820WHEN 2 : PROCsave(year%) 6830WHEN 3 6840d%=FNload(year%) 6850!blk%=main% 6860PROCredraw 6870ENDCASE 6880WHEN editmenu% 6890CASE !blk% OF 6900WHEN 1 6910FOR i%=0 TO 4 6920!blk%=edit% 6930blk%!4=i% 6940SYS"Wimp_GetIconState",,blk% 6950blk%!8=0 6960blk%!12=0 6970$(blk%!28)="" 6980SYS"Wimp_SetIconState",,blk% 6990NEXT i% 7000PROCget 7010ENDCASE 7020ENDCASE 7030PROCmouseinfo 7040IF but%=1 THEN SYS"Wimp_CreateMenu",,openmenu%,menux%,menuy% 7050ENDPROC 7060 7070DEF PROCquit 7080IF changed% THEN IF FNcheck("Save diary first?") THEN PROCsave(year%) 7090PROCclosedown 7100ENDPROC 7110 7120DEF PROCclick(mx%,my%,but%,wind%,icon%) 7130CASE wind% OF 7140WHEN -2 7150CASE but% OF 7160WHEN 2 : PROCmenu(menubar%,mx%,barheight%) 7170WHEN 4 : PROCopen(main%) 7180ENDCASE 7190WHEN main% 7200CASE but% OF 7210WHEN 2 : PROCmenu(mainmenu%,mx%,my%) 7220WHEN 4 : PROCnewedit(mx%,my%) 7230ENDCASE 7240WHEN edit% 7250CASE but% OF 7260WHEN 4,1 7270IF icon%>=9 AND icon%<=22 THEN 7280col%=icon%-9 7290IF col%<>highcol% THEN 7300PROCsetflag(cdate%,cmonth%,col%) 7310PROCsetfc(edit%,highcol%+9,1) 7320highcol%=col% 7330PROCsetfc(edit%,highcol%+9,7) 7340PROCupdate(cdate%,cmonth%) 7350changed%=TRUE 7360ENDIF 7370ENDIF 7380WHEN 2 : PROCmenu(editmenu%,mx%,my%) 7390ENDCASE 7400WHEN savefff1%,savefff2%,saveaff% 7410CASE icon% OF 7420WHEN 2 7430CASE wind% OF 7440WHEN savefff1% : PROCsavetext($filenamefff1%,0) 7450WHEN savefff2% : PROCsavemonthfff($filenamefff2%,0) 7460WHEN saveaff% : PROCsavemonthaff($filenameaff%,0) 7470ENDCASE 7480WHEN 0 : PROCstartdrag(wind%,icon%) 7490ENDCASE 7500ENDCASE 7510ENDPROC 7520 7530DEF PROCstartdrag(wind%,icon%) 7540dragwind%=wind% 7550dragicon%=icon% 7560!blk%=wind% 7570SYS"Wimp_GetWindowState",,blk% 7580ys%=blk%!16-blk%!8 7590x%=blk%!4 7600y%=blk%!8 7610blk%!4=icon% 7620SYS"Wimp_GetIconState",,blk% 7630!blk%=0 7640blk%!4=5 7650blk%!8+=x% 7660blk%!12+=y%+ys% 7670blk%!16+=x% 7680blk%!20+=y%+ys% 7690blk%!24=0 7700blk%!28=0 7710blk%!32=scx% 7720blk%!36=scy% 7730SYS"Wimp_DragBox",,blk% 7740ENDPROC 7750 7760DEF PROCmenu(data%,x%,y%) 7770openmenu%=data% 7780x%=x%-(data%!16)/2-16 7790SYS"Wimp_CreateMenu",,data%,x%,y% 7800menux%=x% 7810menuy%=y% 7820ENDPROC 7830 7840DEF PROCmessage(task%,ref%,message%) 7850CASE message% OF 7860WHEN 0 : PROCquit 7870WHEN 2 7880CASE dragwind% OF 7890WHEN savefff1%:PROCsavetext(FNstring(blk%+44),TRUE) 7900WHEN savefff2%:PROCsavemonthfff(FNstring(blk%+44),TRUE) 7910WHEN saveaff%:PROCsavemonthaff(FNstring(blk%+44),TRUE) 7920ENDCASE 7930IF saved% THEN 7940SYS"Wimp_GetPointerInfo",,blk% 7950blk%!20=blk%!12 7960blk%!24=blk%!16 7970blk%!28=!blk% 7980blk%!32=blk%!4 7990blk%!36=size% 8000blk%!40=filetype% 8010!blk%=48+(LEN(FNstring(blk%+44))+3)ANDNOT3 8020PROCreply(17,3) 8030ENDIF 8040WHEN 6 8050IF dragwind%=savefff1% THEN 8060togo%=FNsize-trans% 8070IF togo%>blk%!24 THEN togo%=blk%!24 8080SYS"Wimp_TransferBlock",mytask%,textbuff%+trans%,task%,blk%!20,togo% 8090blk%!24=togo% 8100PROCreply(18,7) 8110trans%+=togo% 8120ENDIF 8130WHEN &400C1 : PROCnewmode 8140ENDCASE 8150ENDPROC 8160 8170DEF PROCreply(type%,reason%) 8180blk%!12=ref% 8190blk%!16=reason% 8200SYS"Wimp_SendMessage",type%,blk%,task% 8210ENDPROC 8220 8230DEF PROCnewmode 8240!blk%=11 8250blk%!4=12 8260blk%!8=-1 8270SYS"OS_ReadVduVariables",blk%,blk% 8280scx%=(!blk%+1)*2 8290scy%=(blk%!4+1)*4 8300ENDPROC 8310 8320DEF FNloadtemplate(title$,size%) 8330DIM buff% size% 8340SYS"Wimp_LoadTemplate",,blk%,buff%,buff%+size%,-1,title$ 8350SYS"Wimp_CreateWindow",,blk% TO wind% 8360=wind% 8370 8380DEF PROCtick(menu%,tick%) 8390p%=menu%+4 8400a%=-1 8410REPEAT 8420p%+=24 8430a%+=1 8440IF a%=tick% THEN !p%=!p% OR1 ELSE !p%=!p% ANDNOT1 8450UNTIL !p% AND &80 8460ENDPROC 8470 8480DEF FNcrmenu(text$) 8490oldptr%=menuptr% 8500items%=0 8510text$+="," 8520title$=FNnextword(text$) 8530$menuptr%=title$ 8540max%=LENtitle$ 8550menuptr%!12=&70207 8560menuptr%!20=44 8570menuptr%!24=0 8580menuptr%+=4 8590WHILE text$<>"" 8600items%+=1 8610menuptr%+=24 8620!menuptr%=0 8630menuptr%!4=0 8640word$=FNnextword(text$) 8650token$=FNtoken(word$) 8660WHILE token$<>"" 8670CASE token$ OF 8680WHEN ">" : menuptr%!4=EVAL(FNnextword(text$)) 8690WHEN "/" : !menuptr%=!menuptr% OR 1 8700WHEN "-" : !menuptr%=!menuptr% OR 2 8710WHEN "!" : !menuptr%=!menuptr% OR 4 8720ENDCASE 8730token$=FNtoken(word$) 8740ENDWHILE 8750menuptr%!8=(7<<24) OR %10001 8760IF !menuptr% AND 4 OR token$="#" THEN 8770menuptr%!8=menuptr%!8 OR 1<<8 8780menuptr%!12=EVAL(FNnextword(text$)) 8790menuptr%!16=-1 8800menuptr%!20=EVAL(word$) 8810IF menuptr%!20>max% AND (!menuptr% AND 4)=0 THEN max%=menuptr%!20 8820ELSE 8830$(menuptr%+12)=word$ 8840IF LENword$>max% THEN max%=LENword$ 8850ENDIF 8860ENDWHILE 8870!menuptr%=!menuptr% OR &80 8880menuptr%+=24 8890oldptr%!16=max%*16+8 8900=oldptr% 8910 8920DEF FNtoken(RETURN word$) 8930token$="" 8940IF INSTR(">/!#-",RIGHT$(word$)) THEN 8950token$=RIGHT$(word$,1) 8960word$=LEFT$(word$,LENword$-1) 8970ENDIF 8980=token$ 8990 9000DEF FNnextword(RETURN text$) 9010LOCAL word$,pos% 9020pos%=INSTR(text$,",") 9030word$=LEFT$(text$,pos%-1) 9040text$=MID$(text$,pos%+1) 9050=word$ 9060 9070DEF FNcricon(!blk%,blk%!4,blk%!8,blk%!12,blk%!16,blk%!20,$(blk%+24)) 9080SYS"Wimp_CreateIcon",,blk% TO icon% 9090=icon% 9100 9110DEF FNcheck(message$) 9120SYS"Wimp_DragBox",,0 9130!blk%=0 9140$(blk%+4)=message$ 9150SYS"Wimp_ReportError",blk%,19,"Message from "+program$ TO ,answer% 9160IF answer%=1 THEN =TRUE ELSE =FALSE 9170 9180DEF FNstring(b%) 9190LOCAL s$ 9200s$="" 9210WHILE ?b%>31 9220s$+=CHR$(?b%) 9230b%+=1 9240ENDWHILE 9250=s$ 9260 9270DEF PROCreport(message$) 9280SYS"Wimp_DragBox",,0 9290!blk%=0 9300$(blk%+4)=message$ 9310SYS"Wimp_ReportError",blk%,1,program$ 9320ENDPROC 9330 9340DEF PROCopen(wind%) 9350!blk%=wind% 9360SYS"Wimp_GetWindowState",,blk% 9370blk%!28=-1 9380PROCopenwindow 9390IF NOTactive% THEN 9400active%=TRUE 9410$filenamefff1%="TextFile" 9420$filenamefff2%="TextFile" 9430$filenameaff%="DrawFile" 9440ENDIF 9450ENDPROC 9460 9470DEF PROCopenwindow 9480SYS"Wimp_OpenWindow",,blk% 9490ENDPROC 9500 9510DEF PROCselecticon(!blk%,blk%!4,select%) 9520SYS"Wimp_GetIconState",,blk% 9530IF select% THEN blk%!8=1<<21 ELSE blk%!8=0 9540blk%!12=1<<21 9550IF (blk%!24 AND blk%!12)<>blk%!8 THEN SYS"Wimp_SetIconState",,blk% 9560ENDPROC 9570 9580DEF PROCsetfc(!blk%,blk%!4,col%) 9590SYS"Wimp_GetIconState",,blk% 9600blk%!8=col%<<24 9610blk%!12=15<<24 9620IF (blk%!24 AND blk%!12)<>blk%!8 THEN SYS"Wimp_SetIconState",,blk% 9630ENDPROC 9640 9650DEF PROCsetfiletype(file$,filetype%) 9660SYS"OS_File",&12,file$,filetype% 9670ENDPROC 9680 9690DEF PROCnewtitle(!blk%) 9700SYS"Wimp_GetWindowOutline",,blk% 9710SYS"Wimp_ForceRedraw",-1,blk%!4,blk%!16-44,blk%!12,blk%!16 9720ENDPROC 9730ENDPROC
� > <Diary$Dir>.!RunImage � (c) Barry Wickett 1992 � of: (� 43 Almond Avenue 2� Yew Tree < � Walsall F � WS5 4JU P Z �initiate d!� � exit=�check(�$+", EXIT?") n xȕ �exit �"ș"Wimp_Poll",1,blk% � reason% �Ȏ reason% � �� 1:�redraw �� 2:�openwindow �� 3:�closewindow(!blk%) �3� 6:�click(!blk%,blk%!4,blk%!8,blk%!12,blk%!16) �� 7:�decodedrag �)� 8:�key(!blk%,blk%!4,blk%!8,blk%!24) �� 9:�menuselect �+� 17,18:�message(blk%!4,blk%!8,blk%!16) �� �� ��closedown � �initiate mblen%=1000 "*� blk% 2000, menubuffer% mblen%,q% 256 ,0� month$(12),ml%(12),sd%(12),day$(6),dc%(13) 6textsize%=21*5 @diarylen%=(1+textsize%)*372 J-� diary% diarylen%,textbuff% textsize%+30 Ttext%=diary%+372 ^}month$()="","January","February","March","April","May","June","July","August","September","October","November","December" h/ml%()=0,31,28,31,30,31,30,31,31,30,31,30,31 r4day$()="Sun","Mon","Tue","Wed","Thu","Fri","Sat" |+dc%()=0,1,2,3,4,5,8,9,10,11,12,13,14,15 �$blk%="TASK" �program$="Diary" �5ș"Wimp_Initialise",200,!blk%,program$ � ,mytask% �$q%="Diary$Dir" �/ș"OS_ReadVarVal",q%,blk%,1000,0,3 � ,,len% �blk%?len%=13 �dir$=$blk% �1iconbar%=�cricon(-1,0,0,68,68,&2002,"!diary") �!blk%=1 �ș"OS_Word",14,blk% �thisyear%=�(�~(?blk%)) �thismonth%=�(�~(blk%?1)) �thisdate%=�(�~(blk%?2)) cdate%=0:cmonth%=0 ,ș"Wimp_OpenTemplate",,dir$+".Templates" #main%=�loadtemplate("main",128) &savefff1%=�savewind("fff") 0savefff2%=�savewind("fff") :saveaff%=�savewind("aff") D#info%=�loadtemplate("info",256) N#edit%=�loadtemplate("edit",512) X)filenamefff1%=�getfilename(savefff1%) b)filenamefff2%=�getfilename(savefff2%) l'filenameaff%=�getfilename(saveaff%) vș"Wimp_CloseTemplate" �menuptr%=menubuffer% �.menubar%=�crmenu("Diary,Info>,info%,Quit") �barheight%=items%*44+96 �Kcolmenu%=�crmenu("Column Width,Thin,Medium,Wide,Extra Wide,Full Width") �>yearmenu%=�crmenu("Year,"+�(thisyear%)+","+�(thisyear%+1)) �Kmainmenu%=�crmenu("Diary,Year>,yearmenu%,Columns>-,colmenu%,Save,Load") �Hmonthmenu%=�crmenu("Month,Text file>,savefff2%,Draw file>,saveaff%") �>savemenu%=�crmenu("Save,Day>,savefff1%,Month>,monthmenu%") �7editmenu%=�crmenu("Diary,Export>-,savemenu%,Clear") �year%=-1 ��newmode � exit=� �boxh%=48 colwidth%=1 �setextent textoff%=(boxh%-32)/2+4 tft%=&FFF * dft%=&AFF 4�tick(colmenu%,colwidth%) >�setyear(thisyear%) H@� �load(thisyear%)=� � �warn("Cannot load Diary"):�closedown R active%=� \� f p� �savewind(filetype$) z� buff% 300 �9ș"Wimp_LoadTemplate",,blk%,buff%,buff%+300,-1,"save" �#$(blk%+88+20)="file_"+filetype$ �'ș"Wimp_CreateWindow",,blk% � wind% � =wind% � �� �getfilename(!blk%) �blk%!4=1 �ș"Wimp_GetIconState",,blk% �=blk%!28 � �� �windowinfo(!blk%) � ș"Wimp_GetWindowInfo",,blk% �wx%=blk%!4-blk%!20 wy%=blk%!16-blk%!24 � $� �newedit(x%,y%) .�windowinfo(main%) 8x%-=wx% By%-=wy% L�alter(x%,y%) V� x%>=1 � x%<=12 � `+� y%>=sd%(x%) � y%<=sd%(x%)+ml%(x%)-1 � jd%=(y%-sd%(x%))+1 t m%=x% ~�edit(d%,m%) �� �� �� � �� �edit(d%,m%) �� cdate%>0 � �get � cdate%=d% �cmonth%=m% ��set �!blk%=edit% � ș"Wimp_GetWindowInfo",,blk% �]title$=day$((sd%(cmonth%)+cdate%-1)�7)+" "+�(cdate%)+" "+�month$(cmonth%),3)+" "+�(year%) $(blk%!76)=title$ blk%!28=-1 ș"Wimp_OpenWindow",,blk% 0ș"Wimp_SetCaretPosition",!blk%,0,-1,-1,-1,0 (�newtitle(!blk%) 2� < F � �set P� i%=0 � 4 Z!blk%=edit% d blk%!4=i% nș"Wimp_GetIconState",,blk% x"line$=�line(cdate%,cmonth%,i%) �� line$<>$(blk%!28) � �$(blk%!28)=line$ �blk%!8=0 � blk%!12=0 �ș"Wimp_SetIconState",,blk% �� �� i% �%highcol%=�flag(cdate%,cmonth%)�15 �� a%=0 � 13 �(�setfc(edit%,a%+9,1-(a%=highcol%)*6) �� a% �thischanged%=� �� � �get � i%=0 � 4 "!blk%=edit% , blk%!4=i% 6ș"Wimp_GetIconState",,blk% @,� �line(cdate%,cmonth%,i%)<>$(blk%!28) � Jchanged%=� Tthischanged%=� ^(�store(cdate%,cmonth%,i%,$(blk%!28)) h� r� i% |,� thischanged% � �update(cdate%,cmonth%) �thischanged%=� �� � �� �update(d%,m%) �wx%=0:wy%=0 � miny%=�y(d%-1+sd%(m%))-boxh% �Jș"Wimp_ForceRedraw",main%,�x(m%)+2,miny%+4,�x(m%)+boxw%-2,miny%+boxh% �� � �� �load(yr%) �load%=� �2ș"OS_File",5,dir$+"."+�(yr%) � exist%,,,,len% �� exist%=1 � � len%<>diarylen% � �error("Cannot load diary") � &*ș"OS_File",255,dir$+"."+�(yr%),diary% 0load%=� :� D� N7� �check("Diary does not exist, create new one?") � Xș"Hourglass_On" b�setyear(yr%) ld%=1 vm%=1 �ȕ m%<13 �t%=0 �8� ((d%+sd%(m%)-1)�7)=0 � ((d%+sd%(m%)-1)�7=6) � t%=1 �$� (d%=25 � d%=26) � m%=12 � t%=2 �� d%=1 � m%=1 � t%=2 ��setflag(d%,m%,t%) �� l%=0 � 4 ��store(d%,m%,l%,"") �� l% � d%+=1 �� d%>ml%(m%) � d%=1:m%+=1 �� ��save(yr%) ș"Hourglass_Off" load%=� � � *� load% � changed%=� 4 =load% > H� �setflag(d%,m%,f%) R diary%?((d%-1)+(m%-1)*31)=f% \� f p� �flag(d%,m%) z=diary%?((d%-1)+(m%-1)*31) � �� �error(error$) �d%=�check(error$) �� � �� �save(year%) ��get �?ș"OS_File",0,dir$+"."+�(year%),0,0,diary%,diarylen%+diary% �changed%=� �� � �� �setextent �Ȏ colwidth% � � 0 : boxw%=64 � 1 : boxw%=128 � 2 : boxw%=176 $� 3 : boxw%=256 .� 4 : boxw%=384 8� B!blk%=boxw%-84 Lblk%!4=-(boxh%*38+12) Vblk%!8=13*boxw%+82 `blk%!12=boxh% j!ș"Wimp_SetExtent",main%,blk% t� ~ �� �setyear(ny%) �"�tick(yearmenu%,ny%-thisyear%) �� year%<>ny% � � year%=ny% �!blk%=main% � ș"Wimp_GetWindowInfo",,blk% �$$(blk%!76)="Year Plan "+�(year%) �+� (year% � 4)=0 � ml%(2)=29 � ml%(2)=28 �(sd%(1)=((year%+((year%-1) � 4)+1)�7) �� m%=2 � 12 �#sd%(m%)=(sd%(m%-1)+ml%(m%-1))�7 �� m% � � � �decodedrag (Ȏ dragwind% � 2� savefff1% <�createtext Fsize%=�size Pfiletype%=tft% Zfilename%=filenamefff1% d� savefff2% nsize%=0 xfiletype%=tft% �filename%=filenamefff2% �� saveaff% �size%=0 �filetype%=dft% �filename%=filenameaff% �� �ș"Wimp_CreateMenu",,-1 �!ș"Wimp_GetPointerInfo",,blk% �blk%!32=blk%!4 �blk%!28=!blk% �blk%!24=blk%!16 �blk%!20=blk%!12 � blk%!16=1 blk%!12=0 blk%!36=size% blk%!40=filetype% "&$(blk%+44)=�lastbit($filename%)+�0 ,!blk%=60 60ș"Wimp_SendMessage",17,blk%,blk%!20,blk%!24 @trans%=0 J� T ^� �size h=textsize%+(�(title$)+1)*2 r |� �createtext �off%=(�(title$)+1)*2 �$textbuff%=title$+�10 �0$(textbuff%+�(title$)+1)=ĩ(title$),"~")+�10 �� i%=0 � 4 �!blk%=edit% � blk%!4=i% �ș"Wimp_GetIconState",,blk% �A$(textbuff%+i%*21+off%)=$(blk%!28)+�20-�($(blk%!28))," ")+�10 �� i% �� � �� �lastbit(file$) �ȕ �file$,".") file$=�file$,�file$,".")+1) � =file$ & 0"� �key(wind%,icon%,xpos%,key%) :F� (wind%=savefff1% � wind%=savefff2% � wind%=saveaff%) � key%=13 � DȎ wind% � N-� savefff1% : �savetext($filenamefff1%,0) X1� savefff2% : �savemonthfff($filenamefff2%,0) b/� saveaff% : �savemonthaff($filenameaff%,0) l� v� �� wind%=edit% � � Ȏ key% � �� &18F : �move(-1) �� &18E,13 : �move(1) �� �� �ș"Wimp_ProcessKey",key% �� �� �� � �� �move(inc%) �%� icon%+inc%>=0 � icon%+inc%<=4 � icon%+=inc% 7ș"Wimp_SetCaretPosition",wind%,icon%,xpos%,0,-1,-1 � �get *� 4 >� �savetext(file$,ok%) Hsaved%=� R� �nameok � \�createtext fș"Wimp_CreateMenu",,-1 p9ș"OS_File",10,file$,tft%,0,textbuff%,textbuff%+�size z*� �file$,"<")=0 � $filenamefff1%=file$ �saved%=� �� �� � �� �savemonthaff(file$,ok%) �ș"Hourglass_On" �ox%=128:oy%=64 �saved%=� �� �nameok � �ș"Wimp_CreateMenu",,-1 �file=�(file$) �� file=0 � ��report("Can't open file") � �header �font $y%=5 .x%=sd%(cmonth%) 8xs%=256 Bys%=200 L@�text(month$(cmonth%),3.5*xs%+ox%,(y%+1)*ys%+96+oy%,32,32,1) V� d%=0 � 6 `? �text(day$(d%),(d%+.5)*xs%+ox%,(y%+1)*ys%+16+oy%,32,16,1) j� d% t� d%=1 � ml%(cmonth%) ~* �quad(x%*xs%+ox%,y%*ys%+oy%,xs%,ys%) �9 �text(�(d%),x%*xs%+8+ox%,(y%+1)*ys%-32+oy%,14,14,0) � � i%=0 � 4 �" line$=�line(d%,cmonth%,i%) �N � �line$ � �text(line$,x%*xs%+8+ox%,(y%+1)*ys%-(i%*28+68)+oy%,10,10,0) � � i% � x%+=1 � � x%>6 � x%=0:y%-=1 �� d% � �tail �)� �file$,"<")=0 � $filenameaff%=file$ ��#file=�#file �size%=�#file �#file �setfiletype(file$,dft%) saved%=� � (� 2ș"Hourglass_Off" <� F P� �font Zstart%=�#file d �w(0) n �w(0) x�#file,1 �font$="Homerton.Medium" ��st0(font$) �&�setword(start%+4,(�#file)-start%) �� � �(� �text(text$,x0%,y0%,sx%,sy%,type%) �2ș"Font_FindFont",,font$,sx%*16,sy%*16 � hand% �1ș"Font_StringBBox",,text$ � ,lx%,ly%,mx%,my% �4ș"Font_ConverttoOS",,lx%*256,ly%*256 � ,lx%,ly% �4ș"Font_ConverttoOS",,mx%*256,my%*256 � ,mx%,my% �x0%=x0%*256 �y0%=y0%*256 � � type%=1 � x0%-=(mx%-lx%)/2 start%=�#file �w(1) �w(0) "/�setbounds(x0%+lx%,y0%+ly%,x0%+mx%,y0%+my%) , �w(0) 6�w(&FFFFFF00) @ �w(1) J�w(sx%*640) T�w(sy%*640) ^�w(x0%) h�w(y0%) r�st0(text$) |&�setword(start%+4,(�#file)-start%) �� � �� �quad(x0%,y0%,x1%,y1%) �x0%=x0%*256 �x1%=x1%*256 �y0%=y0%*256 �y1%=y1%*256 �start%=�#file � �w(2) � �w(0) �'�setbounds(x0%,y0%,x0%+x1%,y0%+y1%) ��w(-1):� fill col ��w(0) :� line col �w(0) �w(&20100040) �w(2) &�plot(x0%,y0%,8) 0�plot(x0%+x1%,y0%,8) :�plot(x0%+x1%,y0%+y1%,8) D�plot(x0%,y0%+y1%,8) N�plot(x0%,y0%,5) X �w(0) b&�setword(start%+4,(�#file)-start%) l� v �� �st0(text$) ��#file,text$; ��#file,0 �ȕ ((�#file)�4)>0 ��#file,0 �� �� � �� �setword(p%,w%) �temp%=�#file � �#file=p% � �w(w%) ��#file=temp% � � �plot(x%,y%,t%) �w(x%) * �w(y%) 4 �w(t%) >� H R � �header \�#file,"Draw"; f�w(201) p �w(0) z�#file,"ArcDraw "; �minx%=1<<30 �miny%=1<<30 �maxx%=1<<31 �maxy%=1<<31 �boundsptr%=�#file � �w(0) � �w(0) � �w(0) � �w(0) �� � �� �tail �temp%=�#file �#file=boundsptr% �w(minx%) �w(miny%) $ �w(maxx%) . �w(maxy%) 8�#file=temp% B� L V!� �setbounds(x0%,y0%,x1%,y1%) `�w(x0%) j�w(y0%) t�w(x1%) ~�w(y1%) �� x0%<minx% � minx%=x0% �� y0%<miny% � miny%=y0% �� x1%>maxx% � maxx%=x1% �� y1%>maxy% � maxy%=y1% �� � �� �w(!blk%) �� a%=0 � 3 � �#file,blk%?a% �� a% �� � � �savemonthfff(file$,ok%) saved%=� � �nameok � ș"Wimp_CreateMenu",,-1 (file=�(file$) 2� file=0 � <%�report("Cannot create textfile") F� P)�#file,�(27-�month$(cmonth%))/2," "); Z�#file,month$(cmonth%) d �#file,10 n� d%=1 � ml%(cmonth%) x'�#file,day$((d%+sd%(cmonth%)-1)�7); �� d%<10 � �#file,32 � �#file,32 ��#file,�(d%); � �#file,32 � s$="" �c%=� �� a%=0 � 4 �l$=�line(d%,cmonth%,a%) �� �l$ � �� c% � s$+=", " � s$+=l$ �c%=� �� � a% �#file,s$ � d% " �#file ,�setfiletype(file$,tft%) 6*� �file$,"<")=0 � $filenamefff2%=file$ @saved%=� J� T� ^� h r � �nameok | result%=� �(� �file$,":")+�file$,".")=0 � �ok% � �>�report("To save, drag icon to a directory viewer "+file$) � result%=� �� �=result% � � � �redraw ��windowinfo(main%) �'ș"Wimp_RedrawWindow",,blk% � more% �ȕ more% �� !blk%=main% � �minx%=blk%!28-wx% �miny%=blk%!40-wy% maxx%=(blk%!36-wx%)+boxw%-1 !maxy%=(blk%!32-wy%)-(boxh%+1) top%=maxy% &�alter(minx%,miny%) 0�alter(maxx%,maxy%) :ș"Wimp_SetColour",7 D� x%=minx% � maxx% N,� (top%<0 � maxy%>37) � x%>=1 � x%<=12 � X+� colwidth%<2 � c%=3 � c%=�(month$(x%)) b:� �x(x%)+(boxw%-c%*16)/2,�y(-1-(maxy%>37)*38)-textoff% l�month$(x%),c%) v� �� y%=miny% � maxy% �� x%>=1 � x%<=12 � �+� y%>=sd%(x%) � y%<=sd%(x%)+ml%(x%)-1 � �d%=(y%-sd%(x%))+1 � m%=x% �flag%=�flag(d%,m%) �col%=dc%(flag%�15) �� col%>0 � �ș"Wimp_SetColour",col% �&ȓ Ȑ �x(x%),�y(y%),boxw%-2,-boxh% �$� col%<>7 � ș"Wimp_SetColour",7 �� �6� d%=thisdate% � m%=thismonth% � year%=thisyear% � ș"Wimp_SetColour",11 (ȓ �x(x%)+2,�y(y%)-4,boxw%-6,8-boxh% ș"Wimp_SetColour",7 � *#ȓ �x(x%),�y(y%),boxw%-2,-boxh% 4� �x(x%)+4,�y(y%)-textoff% >� d%<10 � � 32 H��(d%); Rtext$=�line(d%,m%,0) \� text$<>"" � f4� colwidth%=0 � � 42 � �" ";�text$,(boxw%>>4)-4) p� z� �� �'� (x%=0 � x%=13) � y%>=0 � y%<=36 � �;� �x(x%)-(boxw%-68)*(x%=0)-(18*(x%=13)),�y(y%)-textoff% ��day$(y%�7) �� �� �� y% �� x% �� �'ș"Wimp_GetRectangle",,blk% � more% �� �� � � �line(d%,m%,l%) 0=$(text%+((m%-1)*31+(d%-1))*textsize%+l%*21) $� �store(d%,m%,l%,text$) .5$(text%+((m%-1)*31+(d%-1))*textsize%+l%*21)=text$ 8� B L� �x(x%) V=x%*boxw%+wx% ` j� �y(y%) t=(wy%-y%*boxh%)-4 ~ �� �alter(� x%,� y%) �x%=x% � boxw% �y%=-((y%+4) � boxh%) �� � �� �closewindow(!blk%) �� !blk%=edit% � �get �ș"Wimp_CloseWindow",,blk% �'� !blk%=main% � �closewindow(edit%) �� � �� �closedown ș"Wimp_CloseDown",mytask% � � �mouseinfo (!ș"Wimp_GetPointerInfo",,blk% 2 mx%=!blk% <my%=blk%!4 Fbut%=blk%!8 Pwind%=blk%!12 Zicon%=blk%!16 d� n x� �menuselect �Ȏ openmenu% � �� menubar% �Ȏ !blk% � �� 1 : �quit �� �� mainmenu% �Ȏ !blk% � �� 0 �+� blk%!4>=0 � blk%!4<>year%-thisyear% � �ny%=thisyear%+blk%!4 ��save(year%) ��setyear(ny%) �dum%=�load(year%) $�tick(yearmenu%,year%-thisyear%) !blk%=edit% ș"Wimp_CloseWindow",,blk% "!blk%=main% ,�redraw 6� @� 1 J%� blk%!4>=0 � blk%!4<>colwidth% � T�tick(colmenu%,blk%!4) ^colwidth%=blk%!4 h�setextent r!blk%=main% |!ș"Wimp_GetWindowState",,blk% �ș"Wimp_OpenWindow",,blk% ��redraw �� �� 2 : �save(year%) �� 3 �d%=�load(year%) �!blk%=main% ��redraw �� �� editmenu% �Ȏ !blk% � �� 1 �� i%=0 � 4 !blk%=edit% blk%!4=i% ș"Wimp_GetIconState",,blk% &blk%!8=0 0 blk%!12=0 :$(blk%!28)="" Dș"Wimp_SetIconState",,blk% N� i% X�get b� l� v�mouseinfo �;� but%=1 � ș"Wimp_CreateMenu",,openmenu%,menux%,menuy% �� � �� �quit �=� changed% � � �check("Save diary first?") � �save(year%) ��closedown �� � �&� �click(mx%,my%,but%,wind%,icon%) �Ȏ wind% � �� -2 � Ȏ but% � �(� 2 : �menu(menubar%,mx%,barheight%) � 4 : �open(main%) � � main% Ȏ but% � *"� 2 : �menu(mainmenu%,mx%,my%) 4� 4 : �newedit(mx%,my%) >� H� edit% R Ȏ but% � \ � 4,1 f� icon%>=9 � icon%<=22 � pcol%=icon%-9 z� col%<>highcol% � �!�setflag(cdate%,cmonth%,col%) ��setfc(edit%,highcol%+9,1) �highcol%=col% ��setfc(edit%,highcol%+9,7) ��update(cdate%,cmonth%) �changed%=� �� �� �"� 2 : �menu(editmenu%,mx%,my%) �� �"� savefff1%,savefff2%,saveaff% �Ȏ icon% � �� 2 Ȏ wind% � -� savefff1% : �savetext($filenamefff1%,0) 1� savefff2% : �savemonthfff($filenamefff2%,0) $/� saveaff% : �savemonthaff($filenameaff%,0) .� 8!� 0 : �startdrag(wind%,icon%) B� L� V� ` j� �startdrag(wind%,icon%) tdragwind%=wind% ~dragicon%=icon% �!blk%=wind% �!ș"Wimp_GetWindowState",,blk% �ys%=blk%!16-blk%!8 � x%=blk%!4 � y%=blk%!8 �blk%!4=icon% �ș"Wimp_GetIconState",,blk% �!blk%=0 �blk%!4=5 �blk%!8+=x% �blk%!12+=y%+ys% �blk%!16+=x% blk%!20+=y%+ys% blk%!24=0 blk%!28=0 blk%!32=scx% (blk%!36=scy% 2ș"Wimp_DragBox",,blk% <� F P� �menu(data%,x%,y%) Zopenmenu%=data% dx%=x%-(data%!16)/2-16 n$ș"Wimp_CreateMenu",,data%,x%,y% x menux%=x% � menuy%=y% �� � �#� �message(task%,ref%,message%) �Ȏ message% � �� 0 : �quit �� 2 �Ȏ dragwind% � �-� savefff1%:�savetext(�string(blk%+44),�) �1� savefff2%:�savemonthfff(�string(blk%+44),�) �0� saveaff%:�savemonthaff(�string(blk%+44),�) �� �� saved% � !ș"Wimp_GetPointerInfo",,blk% blk%!20=blk%!12 blk%!24=blk%!16 "blk%!28=!blk% ,blk%!32=blk%!4 6blk%!36=size% @blk%!40=filetype% J'!blk%=48+(�(�string(blk%+44))+3)��3 T�reply(17,3) ^� h� 6 r� dragwind%=savefff1% � |togo%=�size-trans% �#� togo%>blk%!24 � togo%=blk%!24 �Gș"Wimp_TransferBlock",mytask%,textbuff%+trans%,task%,blk%!20,togo% �blk%!24=togo% ��reply(18,7) �trans%+=togo% �� �� &400C1 : �newmode �� �� � �� �reply(type%,reason%) �blk%!12=ref% �blk%!16=reason% )ș"Wimp_SendMessage",type%,blk%,task% � &� �newmode 0!blk%=11 : blk%!4=12 D blk%!8=-1 N%ș"OS_ReadVduVariables",blk%,blk% Xscx%=(!blk%+1)*2 bscy%=(blk%!4+1)*4 l� v �!� �loadtemplate(title$,size%) �� buff% size% �;ș"Wimp_LoadTemplate",,blk%,buff%,buff%+size%,-1,title$ �'ș"Wimp_CreateWindow",,blk% � wind% � =wind% � �� �tick(menu%,tick%) �p%=menu%+4 � a%=-1 �� � p%+=24 � a%+=1 �)� a%=tick% � !p%=!p% �1 � !p%=!p% ��1 !� !p% � &80 !� ! ! � �crmenu(text$) !*oldptr%=menuptr% !4items%=0 !>text$+="," !Htitle$=�nextword(text$) !R$menuptr%=title$ !\max%=�title$ !fmenuptr%!12=&70207 !pmenuptr%!20=44 !zmenuptr%!24=0 !�menuptr%+=4 !�ȕ text$<>"" !� items%+=1 !�menuptr%+=24 !�!menuptr%=0 !�menuptr%!4=0 !�word$=�nextword(text$) !�token$=�token(word$) !�ȕ token$<>"" !�Ȏ token$ � !�*� ">" : menuptr%!4=�(�nextword(text$)) !�#� "/" : !menuptr%=!menuptr% � 1 !�#� "-" : !menuptr%=!menuptr% � 2 "#� "!" : !menuptr%=!menuptr% � 4 "� "token$=�token(word$) "$� ".menuptr%!8=(7<<24) � %10001 "8"� !menuptr% � 4 � token$="#" � "B menuptr%!8=menuptr%!8 � 1<<8 "L#menuptr%!12=�(�nextword(text$)) "Vmenuptr%!16=-1 "`menuptr%!20=�(word$) "j=� menuptr%!20>max% � (!menuptr% � 4)=0 � max%=menuptr%!20 "t� "~$(menuptr%+12)=word$ "�� �word$>max% � max%=�word$ "�� "�� "�!menuptr%=!menuptr% � &80 "�menuptr%+=24 "�oldptr%!16=max%*16+8 "�=oldptr% "� "�� �token(� word$) "� token$="" "�� �">/!#-",�word$)) � "�token$=�word$,1) # word$=�word$,�word$-1) # � #=token$ # #(� �nextword(� text$) #2� word$,pos% #<pos%=�text$,",") #Fword$=�text$,pos%-1) #Ptext$=�text$,pos%+1) #Z =word$ #d #nE� �cricon(!blk%,blk%!4,blk%!8,blk%!12,blk%!16,blk%!20,$(blk%+24)) #x%ș"Wimp_CreateIcon",,blk% � icon% #� =icon% #� #�� �check(message$) #�ș"Wimp_DragBox",,0 #�!blk%=0 #�$(blk%+4)=message$ #�Dș"Wimp_ReportError",blk%,19,"Message from "+program$ � ,answer% #�� answer%=1 � =� � =� #� #�� �string(b%) #�� s$ #� s$="" #� ȕ ?b%>31 $s$+=�(?b%) $ b%+=1 $� $"=s$ $, $6� �report(message$) $@ș"Wimp_DragBox",,0 $J!blk%=0 $T$(blk%+4)=message$ $^(ș"Wimp_ReportError",blk%,1,program$ $h� $r $|� �open(wind%) $�!blk%=wind% $�!ș"Wimp_GetWindowState",,blk% $�blk%!28=-1 $��openwindow $�� �active% � $� active%=� $�$filenamefff1%="TextFile" $�$filenamefff2%="TextFile" $�$filenameaff%="DrawFile" $�� $�� $� $�� �openwindow %ș"Wimp_OpenWindow",,blk% %� % %&'� �selecticon(!blk%,blk%!4,select%) %0ș"Wimp_GetIconState",,blk% %:'� select% � blk%!8=1<<21 � blk%!8=0 %Dblk%!12=1<<21 %N?� (blk%!24 � blk%!12)<>blk%!8 � ș"Wimp_SetIconState",,blk% %X� %b %l� �setfc(!blk%,blk%!4,col%) %vș"Wimp_GetIconState",,blk% %�blk%!8=col%<<24 %�blk%!12=15<<24 %�?� (blk%!24 � blk%!12)<>blk%!8 � ș"Wimp_SetIconState",,blk% %�� %� %�#� �setfiletype(file$,filetype%) %�#ș"OS_File",&12,file$,filetype% %�� %� %�� �newtitle(!blk%) %�#ș"Wimp_GetWindowOutline",,blk% %�=ș"Wimp_ForceRedraw",-1,blk%!4,blk%!16-44,blk%!12,blk%!16 %�� &� �
00000000 0d 00 0a 1d f4 20 3e 20 3c 44 69 61 72 79 24 44 |..... > <Diary$D| 00000010 69 72 3e 2e 21 52 75 6e 49 6d 61 67 65 0d 00 14 |ir>.!RunImage...| 00000020 1c f4 20 28 63 29 20 42 61 72 72 79 20 57 69 63 |.. (c) Barry Wic| 00000030 6b 65 74 74 20 31 39 39 32 0d 00 1e 09 f4 20 6f |kett 1992..... o| 00000040 66 3a 0d 00 28 16 f4 20 34 33 20 41 6c 6d 6f 6e |f:..(.. 43 Almon| 00000050 64 20 41 76 65 6e 75 65 0d 00 32 0e f4 20 59 65 |d Avenue..2.. Ye| 00000060 77 20 54 72 65 65 0d 00 3c 0d f4 20 57 61 6c 73 |w Tree..<.. Wals| 00000070 61 6c 6c 0d 00 46 0d f4 20 57 53 35 20 34 4a 55 |all..F.. WS5 4JU| 00000080 0d 00 50 04 0d 00 5a 0d f2 69 6e 69 74 69 61 74 |..P...Z..initiat| 00000090 65 0d 00 64 21 ee 20 85 20 65 78 69 74 3d a4 63 |e..d!. . exit=.c| 000000a0 68 65 63 6b 28 f6 24 2b 22 2c 20 45 58 49 54 3f |heck(.$+", EXIT?| 000000b0 22 29 0d 00 6e 04 0d 00 78 0c c8 95 20 ac 65 78 |")..n...x... .ex| 000000c0 69 74 0d 00 82 22 c8 99 22 57 69 6d 70 5f 50 6f |it...".."Wimp_Po| 000000d0 6c 6c 22 2c 31 2c 62 6c 6b 25 20 b8 20 72 65 61 |ll",1,blk% . rea| 000000e0 73 6f 6e 25 0d 00 8c 10 c8 8e 20 72 65 61 73 6f |son%...... reaso| 000000f0 6e 25 20 ca 0d 00 96 0f c9 20 31 3a f2 72 65 64 |n% ...... 1:.red| 00000100 72 61 77 0d 00 a0 13 c9 20 32 3a f2 6f 70 65 6e |raw..... 2:.open| 00000110 77 69 6e 64 6f 77 0d 00 aa 1b c9 20 33 3a f2 63 |window..... 3:.c| 00000120 6c 6f 73 65 77 69 6e 64 6f 77 28 21 62 6c 6b 25 |losewindow(!blk%| 00000130 29 0d 00 b4 33 c9 20 36 3a f2 63 6c 69 63 6b 28 |)...3. 6:.click(| 00000140 21 62 6c 6b 25 2c 62 6c 6b 25 21 34 2c 62 6c 6b |!blk%,blk%!4,blk| 00000150 25 21 38 2c 62 6c 6b 25 21 31 32 2c 62 6c 6b 25 |%!8,blk%!12,blk%| 00000160 21 31 36 29 0d 00 be 13 c9 20 37 3a f2 64 65 63 |!16)..... 7:.dec| 00000170 6f 64 65 64 72 61 67 0d 00 c8 29 c9 20 38 3a f2 |odedrag...). 8:.| 00000180 6b 65 79 28 21 62 6c 6b 25 2c 62 6c 6b 25 21 34 |key(!blk%,blk%!4| 00000190 2c 62 6c 6b 25 21 38 2c 62 6c 6b 25 21 32 34 29 |,blk%!8,blk%!24)| 000001a0 0d 00 d2 13 c9 20 39 3a f2 6d 65 6e 75 73 65 6c |..... 9:.menusel| 000001b0 65 63 74 0d 00 dc 2b c9 20 31 37 2c 31 38 3a f2 |ect...+. 17,18:.| 000001c0 6d 65 73 73 61 67 65 28 62 6c 6b 25 21 34 2c 62 |message(blk%!4,b| 000001d0 6c 6b 25 21 38 2c 62 6c 6b 25 21 31 36 29 0d 00 |lk%!8,blk%!16)..| 000001e0 e6 05 cb 0d 00 f0 05 ce 0d 00 fa 0e f2 63 6c 6f |.............clo| 000001f0 73 65 64 6f 77 6e 0d 01 04 04 0d 01 0e 0f dd 20 |sedown......... | 00000200 f2 69 6e 69 74 69 61 74 65 0d 01 18 0f 6d 62 6c |.initiate....mbl| 00000210 65 6e 25 3d 31 30 30 30 0d 01 22 2a de 20 62 6c |en%=1000.."*. bl| 00000220 6b 25 20 32 30 30 30 2c 20 6d 65 6e 75 62 75 66 |k% 2000, menubuf| 00000230 66 65 72 25 20 6d 62 6c 65 6e 25 2c 71 25 20 32 |fer% mblen%,q% 2| 00000240 35 36 0d 01 2c 30 de 20 6d 6f 6e 74 68 24 28 31 |56..,0. month$(1| 00000250 32 29 2c 6d 6c 25 28 31 32 29 2c 73 64 25 28 31 |2),ml%(12),sd%(1| 00000260 32 29 2c 64 61 79 24 28 36 29 2c 64 63 25 28 31 |2),day$(6),dc%(1| 00000270 33 29 0d 01 36 12 74 65 78 74 73 69 7a 65 25 3d |3)..6.textsize%=| 00000280 32 31 2a 35 0d 01 40 1f 64 69 61 72 79 6c 65 6e |21*5..@.diarylen| 00000290 25 3d 28 31 2b 74 65 78 74 73 69 7a 65 25 29 2a |%=(1+textsize%)*| 000002a0 33 37 32 0d 01 4a 2d de 20 64 69 61 72 79 25 20 |372..J-. diary% | 000002b0 64 69 61 72 79 6c 65 6e 25 2c 74 65 78 74 62 75 |diarylen%,textbu| 000002c0 66 66 25 20 74 65 78 74 73 69 7a 65 25 2b 33 30 |ff% textsize%+30| 000002d0 0d 01 54 14 74 65 78 74 25 3d 64 69 61 72 79 25 |..T.text%=diary%| 000002e0 2b 33 37 32 0d 01 5e 7d 6d 6f 6e 74 68 24 28 29 |+372..^}month$()| 000002f0 3d 22 22 2c 22 4a 61 6e 75 61 72 79 22 2c 22 46 |="","January","F| 00000300 65 62 72 75 61 72 79 22 2c 22 4d 61 72 63 68 22 |ebruary","March"| 00000310 2c 22 41 70 72 69 6c 22 2c 22 4d 61 79 22 2c 22 |,"April","May","| 00000320 4a 75 6e 65 22 2c 22 4a 75 6c 79 22 2c 22 41 75 |June","July","Au| 00000330 67 75 73 74 22 2c 22 53 65 70 74 65 6d 62 65 72 |gust","September| 00000340 22 2c 22 4f 63 74 6f 62 65 72 22 2c 22 4e 6f 76 |","October","Nov| 00000350 65 6d 62 65 72 22 2c 22 44 65 63 65 6d 62 65 72 |ember","December| 00000360 22 0d 01 68 2f 6d 6c 25 28 29 3d 30 2c 33 31 2c |"..h/ml%()=0,31,| 00000370 32 38 2c 33 31 2c 33 30 2c 33 31 2c 33 30 2c 33 |28,31,30,31,30,3| 00000380 31 2c 33 31 2c 33 30 2c 33 31 2c 33 30 2c 33 31 |1,31,30,31,30,31| 00000390 0d 01 72 34 64 61 79 24 28 29 3d 22 53 75 6e 22 |..r4day$()="Sun"| 000003a0 2c 22 4d 6f 6e 22 2c 22 54 75 65 22 2c 22 57 65 |,"Mon","Tue","We| 000003b0 64 22 2c 22 54 68 75 22 2c 22 46 72 69 22 2c 22 |d","Thu","Fri","| 000003c0 53 61 74 22 0d 01 7c 2b 64 63 25 28 29 3d 30 2c |Sat"..|+dc%()=0,| 000003d0 31 2c 32 2c 33 2c 34 2c 35 2c 38 2c 39 2c 31 30 |1,2,3,4,5,8,9,10| 000003e0 2c 31 31 2c 31 32 2c 31 33 2c 31 34 2c 31 35 0d |,11,12,13,14,15.| 000003f0 01 86 10 24 62 6c 6b 25 3d 22 54 41 53 4b 22 0d |...$blk%="TASK".| 00000400 01 90 14 70 72 6f 67 72 61 6d 24 3d 22 44 69 61 |...program$="Dia| 00000410 72 79 22 0d 01 9a 35 c8 99 22 57 69 6d 70 5f 49 |ry"...5.."Wimp_I| 00000420 6e 69 74 69 61 6c 69 73 65 22 2c 32 30 30 2c 21 |nitialise",200,!| 00000430 62 6c 6b 25 2c 70 72 6f 67 72 61 6d 24 20 b8 20 |blk%,program$ . | 00000440 2c 6d 79 74 61 73 6b 25 0d 01 a4 13 24 71 25 3d |,mytask%....$q%=| 00000450 22 44 69 61 72 79 24 44 69 72 22 0d 01 ae 2f c8 |"Diary$Dir".../.| 00000460 99 22 4f 53 5f 52 65 61 64 56 61 72 56 61 6c 22 |."OS_ReadVarVal"| 00000470 2c 71 25 2c 62 6c 6b 25 2c 31 30 30 30 2c 30 2c |,q%,blk%,1000,0,| 00000480 33 20 b8 20 2c 2c 6c 65 6e 25 0d 01 b8 10 62 6c |3 . ,,len%....bl| 00000490 6b 25 3f 6c 65 6e 25 3d 31 33 0d 01 c2 0e 64 69 |k%?len%=13....di| 000004a0 72 24 3d 24 62 6c 6b 25 0d 01 cc 31 69 63 6f 6e |r$=$blk%...1icon| 000004b0 62 61 72 25 3d a4 63 72 69 63 6f 6e 28 2d 31 2c |bar%=.cricon(-1,| 000004c0 30 2c 30 2c 36 38 2c 36 38 2c 26 32 30 30 32 2c |0,0,68,68,&2002,| 000004d0 22 21 64 69 61 72 79 22 29 0d 01 d6 0b 21 62 6c |"!diary")....!bl| 000004e0 6b 25 3d 31 0d 01 e0 17 c8 99 22 4f 53 5f 57 6f |k%=1......"OS_Wo| 000004f0 72 64 22 2c 31 34 2c 62 6c 6b 25 0d 01 ea 1a 74 |rd",14,blk%....t| 00000500 68 69 73 79 65 61 72 25 3d bb 28 c3 7e 28 3f 62 |hisyear%=.(.~(?b| 00000510 6c 6b 25 29 29 0d 01 f4 1c 74 68 69 73 6d 6f 6e |lk%))....thismon| 00000520 74 68 25 3d bb 28 c3 7e 28 62 6c 6b 25 3f 31 29 |th%=.(.~(blk%?1)| 00000530 29 0d 01 fe 1b 74 68 69 73 64 61 74 65 25 3d bb |)....thisdate%=.| 00000540 28 c3 7e 28 62 6c 6b 25 3f 32 29 29 0d 02 08 16 |(.~(blk%?2))....| 00000550 63 64 61 74 65 25 3d 30 3a 63 6d 6f 6e 74 68 25 |cdate%=0:cmonth%| 00000560 3d 30 0d 02 12 2c c8 99 22 57 69 6d 70 5f 4f 70 |=0...,.."Wimp_Op| 00000570 65 6e 54 65 6d 70 6c 61 74 65 22 2c 2c 64 69 72 |enTemplate",,dir| 00000580 24 2b 22 2e 54 65 6d 70 6c 61 74 65 73 22 0d 02 |$+".Templates"..| 00000590 1c 23 6d 61 69 6e 25 3d a4 6c 6f 61 64 74 65 6d |.#main%=.loadtem| 000005a0 70 6c 61 74 65 28 22 6d 61 69 6e 22 2c 31 32 38 |plate("main",128| 000005b0 29 0d 02 26 1e 73 61 76 65 66 66 66 31 25 3d a4 |)..&.savefff1%=.| 000005c0 73 61 76 65 77 69 6e 64 28 22 66 66 66 22 29 0d |savewind("fff").| 000005d0 02 30 1e 73 61 76 65 66 66 66 32 25 3d a4 73 61 |.0.savefff2%=.sa| 000005e0 76 65 77 69 6e 64 28 22 66 66 66 22 29 0d 02 3a |vewind("fff")..:| 000005f0 1d 73 61 76 65 61 66 66 25 3d a4 73 61 76 65 77 |.saveaff%=.savew| 00000600 69 6e 64 28 22 61 66 66 22 29 0d 02 44 23 69 6e |ind("aff")..D#in| 00000610 66 6f 25 3d a4 6c 6f 61 64 74 65 6d 70 6c 61 74 |fo%=.loadtemplat| 00000620 65 28 22 69 6e 66 6f 22 2c 32 35 36 29 0d 02 4e |e("info",256)..N| 00000630 23 65 64 69 74 25 3d a4 6c 6f 61 64 74 65 6d 70 |#edit%=.loadtemp| 00000640 6c 61 74 65 28 22 65 64 69 74 22 2c 35 31 32 29 |late("edit",512)| 00000650 0d 02 58 29 66 69 6c 65 6e 61 6d 65 66 66 66 31 |..X)filenamefff1| 00000660 25 3d a4 67 65 74 66 69 6c 65 6e 61 6d 65 28 73 |%=.getfilename(s| 00000670 61 76 65 66 66 66 31 25 29 0d 02 62 29 66 69 6c |avefff1%)..b)fil| 00000680 65 6e 61 6d 65 66 66 66 32 25 3d a4 67 65 74 66 |enamefff2%=.getf| 00000690 69 6c 65 6e 61 6d 65 28 73 61 76 65 66 66 66 32 |ilename(savefff2| 000006a0 25 29 0d 02 6c 27 66 69 6c 65 6e 61 6d 65 61 66 |%)..l'filenameaf| 000006b0 66 25 3d a4 67 65 74 66 69 6c 65 6e 61 6d 65 28 |f%=.getfilename(| 000006c0 73 61 76 65 61 66 66 25 29 0d 02 76 1a c8 99 22 |saveaff%)..v..."| 000006d0 57 69 6d 70 5f 43 6c 6f 73 65 54 65 6d 70 6c 61 |Wimp_CloseTempla| 000006e0 74 65 22 0d 02 80 18 6d 65 6e 75 70 74 72 25 3d |te"....menuptr%=| 000006f0 6d 65 6e 75 62 75 66 66 65 72 25 0d 02 8a 2e 6d |menubuffer%....m| 00000700 65 6e 75 62 61 72 25 3d a4 63 72 6d 65 6e 75 28 |enubar%=.crmenu(| 00000710 22 44 69 61 72 79 2c 49 6e 66 6f 3e 2c 69 6e 66 |"Diary,Info>,inf| 00000720 6f 25 2c 51 75 69 74 22 29 0d 02 94 1b 62 61 72 |o%,Quit")....bar| 00000730 68 65 69 67 68 74 25 3d 69 74 65 6d 73 25 2a 34 |height%=items%*4| 00000740 34 2b 39 36 0d 02 9e 4b 63 6f 6c 6d 65 6e 75 25 |4+96...Kcolmenu%| 00000750 3d a4 63 72 6d 65 6e 75 28 22 43 6f 6c 75 6d 6e |=.crmenu("Column| 00000760 20 57 69 64 74 68 2c 54 68 69 6e 2c 4d 65 64 69 | Width,Thin,Medi| 00000770 75 6d 2c 57 69 64 65 2c 45 78 74 72 61 20 57 69 |um,Wide,Extra Wi| 00000780 64 65 2c 46 75 6c 6c 20 57 69 64 74 68 22 29 0d |de,Full Width").| 00000790 02 a8 3e 79 65 61 72 6d 65 6e 75 25 3d a4 63 72 |..>yearmenu%=.cr| 000007a0 6d 65 6e 75 28 22 59 65 61 72 2c 22 2b c3 28 74 |menu("Year,"+.(t| 000007b0 68 69 73 79 65 61 72 25 29 2b 22 2c 22 2b c3 28 |hisyear%)+","+.(| 000007c0 74 68 69 73 79 65 61 72 25 2b 31 29 29 0d 02 b2 |thisyear%+1))...| 000007d0 4b 6d 61 69 6e 6d 65 6e 75 25 3d a4 63 72 6d 65 |Kmainmenu%=.crme| 000007e0 6e 75 28 22 44 69 61 72 79 2c 59 65 61 72 3e 2c |nu("Diary,Year>,| 000007f0 79 65 61 72 6d 65 6e 75 25 2c 43 6f 6c 75 6d 6e |yearmenu%,Column| 00000800 73 3e 2d 2c 63 6f 6c 6d 65 6e 75 25 2c 53 61 76 |s>-,colmenu%,Sav| 00000810 65 2c 4c 6f 61 64 22 29 0d 02 bc 48 6d 6f 6e 74 |e,Load")...Hmont| 00000820 68 6d 65 6e 75 25 3d a4 63 72 6d 65 6e 75 28 22 |hmenu%=.crmenu("| 00000830 4d 6f 6e 74 68 2c 54 65 78 74 20 66 69 6c 65 3e |Month,Text file>| 00000840 2c 73 61 76 65 66 66 66 32 25 2c 44 72 61 77 20 |,savefff2%,Draw | 00000850 66 69 6c 65 3e 2c 73 61 76 65 61 66 66 25 22 29 |file>,saveaff%")| 00000860 0d 02 c6 3e 73 61 76 65 6d 65 6e 75 25 3d a4 63 |...>savemenu%=.c| 00000870 72 6d 65 6e 75 28 22 53 61 76 65 2c 44 61 79 3e |rmenu("Save,Day>| 00000880 2c 73 61 76 65 66 66 66 31 25 2c 4d 6f 6e 74 68 |,savefff1%,Month| 00000890 3e 2c 6d 6f 6e 74 68 6d 65 6e 75 25 22 29 0d 02 |>,monthmenu%")..| 000008a0 d0 37 65 64 69 74 6d 65 6e 75 25 3d a4 63 72 6d |.7editmenu%=.crm| 000008b0 65 6e 75 28 22 44 69 61 72 79 2c 45 78 70 6f 72 |enu("Diary,Expor| 000008c0 74 3e 2d 2c 73 61 76 65 6d 65 6e 75 25 2c 43 6c |t>-,savemenu%,Cl| 000008d0 65 61 72 22 29 0d 02 da 0c 79 65 61 72 25 3d 2d |ear")....year%=-| 000008e0 31 0d 02 e4 0c f2 6e 65 77 6d 6f 64 65 0d 02 ee |1.....newmode...| 000008f0 0a 65 78 69 74 3d a3 0d 02 f8 0c 62 6f 78 68 25 |.exit=.....boxh%| 00000900 3d 34 38 0d 03 02 0f 63 6f 6c 77 69 64 74 68 25 |=48....colwidth%| 00000910 3d 31 0d 03 0c 0e f2 73 65 74 65 78 74 65 6e 74 |=1.....setextent| 00000920 0d 03 16 1b 74 65 78 74 6f 66 66 25 3d 28 62 6f |....textoff%=(bo| 00000930 78 68 25 2d 33 32 29 2f 32 2b 34 0d 03 20 0d 74 |xh%-32)/2+4.. .t| 00000940 66 74 25 3d 26 46 46 46 0d 03 2a 0d 64 66 74 25 |ft%=&FFF..*.dft%| 00000950 3d 26 41 46 46 0d 03 34 1d f2 74 69 63 6b 28 63 |=&AFF..4..tick(c| 00000960 6f 6c 6d 65 6e 75 25 2c 63 6f 6c 77 69 64 74 68 |olmenu%,colwidth| 00000970 25 29 0d 03 3e 17 f2 73 65 74 79 65 61 72 28 74 |%)..>..setyear(t| 00000980 68 69 73 79 65 61 72 25 29 0d 03 48 40 e7 20 a4 |hisyear%)..H@. .| 00000990 6c 6f 61 64 28 74 68 69 73 79 65 61 72 25 29 3d |load(thisyear%)=| 000009a0 a3 20 8c 20 f2 77 61 72 6e 28 22 43 61 6e 6e 6f |. . .warn("Canno| 000009b0 74 20 6c 6f 61 64 20 44 69 61 72 79 22 29 3a f2 |t load Diary"):.| 000009c0 63 6c 6f 73 65 64 6f 77 6e 0d 03 52 0d 61 63 74 |closedown..R.act| 000009d0 69 76 65 25 3d a3 0d 03 5c 05 e1 0d 03 66 04 0d |ive%=...\....f..| 000009e0 03 70 1a dd 20 a4 73 61 76 65 77 69 6e 64 28 66 |.p.. .savewind(f| 000009f0 69 6c 65 74 79 70 65 24 29 0d 03 7a 0f de 20 62 |iletype$)..z.. b| 00000a00 75 66 66 25 20 33 30 30 0d 03 84 39 c8 99 22 57 |uff% 300...9.."W| 00000a10 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 |imp_LoadTemplate| 00000a20 22 2c 2c 62 6c 6b 25 2c 62 75 66 66 25 2c 62 75 |",,blk%,buff%,bu| 00000a30 66 66 25 2b 33 30 30 2c 2d 31 2c 22 73 61 76 65 |ff%+300,-1,"save| 00000a40 22 0d 03 8e 23 24 28 62 6c 6b 25 2b 38 38 2b 32 |"...#$(blk%+88+2| 00000a50 30 29 3d 22 66 69 6c 65 5f 22 2b 66 69 6c 65 74 |0)="file_"+filet| 00000a60 79 70 65 24 0d 03 98 27 c8 99 22 57 69 6d 70 5f |ype$...'.."Wimp_| 00000a70 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 62 |CreateWindow",,b| 00000a80 6c 6b 25 20 b8 20 77 69 6e 64 25 0d 03 a2 0a 3d |lk% . wind%....=| 00000a90 77 69 6e 64 25 0d 03 ac 04 0d 03 b6 19 dd 20 a4 |wind%......... .| 00000aa0 67 65 74 66 69 6c 65 6e 61 6d 65 28 21 62 6c 6b |getfilename(!blk| 00000ab0 25 29 0d 03 c0 0c 62 6c 6b 25 21 34 3d 31 0d 03 |%)....blk%!4=1..| 00000ac0 ca 1f c8 99 22 57 69 6d 70 5f 47 65 74 49 63 6f |...."Wimp_GetIco| 00000ad0 6e 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 03 d4 |nState",,blk%...| 00000ae0 0c 3d 62 6c 6b 25 21 32 38 0d 03 de 04 0d 03 e8 |.=blk%!28.......| 00000af0 18 dd 20 f2 77 69 6e 64 6f 77 69 6e 66 6f 28 21 |.. .windowinfo(!| 00000b00 62 6c 6b 25 29 0d 03 f2 20 c8 99 22 57 69 6d 70 |blk%)... .."Wimp| 00000b10 5f 47 65 74 57 69 6e 64 6f 77 49 6e 66 6f 22 2c |_GetWindowInfo",| 00000b20 2c 62 6c 6b 25 0d 03 fc 16 77 78 25 3d 62 6c 6b |,blk%....wx%=blk| 00000b30 25 21 34 2d 62 6c 6b 25 21 32 30 0d 04 06 17 77 |%!4-blk%!20....w| 00000b40 79 25 3d 62 6c 6b 25 21 31 36 2d 62 6c 6b 25 21 |y%=blk%!16-blk%!| 00000b50 32 34 0d 04 10 05 e1 0d 04 1a 04 0d 04 24 15 dd |24...........$..| 00000b60 20 f2 6e 65 77 65 64 69 74 28 78 25 2c 79 25 29 | .newedit(x%,y%)| 00000b70 0d 04 2e 16 f2 77 69 6e 64 6f 77 69 6e 66 6f 28 |.....windowinfo(| 00000b80 6d 61 69 6e 25 29 0d 04 38 0b 78 25 2d 3d 77 78 |main%)..8.x%-=wx| 00000b90 25 0d 04 42 0b 79 25 2d 3d 77 79 25 0d 04 4c 11 |%..B.y%-=wy%..L.| 00000ba0 f2 61 6c 74 65 72 28 78 25 2c 79 25 29 0d 04 56 |.alter(x%,y%)..V| 00000bb0 16 e7 20 78 25 3e 3d 31 20 80 20 78 25 3c 3d 31 |.. x%>=1 . x%<=1| 00000bc0 32 20 8c 0d 04 60 2b e7 20 79 25 3e 3d 73 64 25 |2 ...`+. y%>=sd%| 00000bd0 28 78 25 29 20 80 20 79 25 3c 3d 73 64 25 28 78 |(x%) . y%<=sd%(x| 00000be0 25 29 2b 6d 6c 25 28 78 25 29 2d 31 20 8c 0d 04 |%)+ml%(x%)-1 ...| 00000bf0 6a 15 64 25 3d 28 79 25 2d 73 64 25 28 78 25 29 |j.d%=(y%-sd%(x%)| 00000c00 29 2b 31 0d 04 74 09 6d 25 3d 78 25 0d 04 7e 10 |)+1..t.m%=x%..~.| 00000c10 f2 65 64 69 74 28 64 25 2c 6d 25 29 0d 04 88 05 |.edit(d%,m%)....| 00000c20 cd 0d 04 92 05 cd 0d 04 9c 05 e1 0d 04 a6 04 0d |................| 00000c30 04 b0 12 dd 20 f2 65 64 69 74 28 64 25 2c 6d 25 |.... .edit(d%,m%| 00000c40 29 0d 04 ba 15 e7 20 63 64 61 74 65 25 3e 30 20 |)..... cdate%>0 | 00000c50 8c 20 f2 67 65 74 0d 04 c4 0d 63 64 61 74 65 25 |. .get....cdate%| 00000c60 3d 64 25 0d 04 ce 0e 63 6d 6f 6e 74 68 25 3d 6d |=d%....cmonth%=m| 00000c70 25 0d 04 d8 08 f2 73 65 74 0d 04 e2 0f 21 62 6c |%.....set....!bl| 00000c80 6b 25 3d 65 64 69 74 25 0d 04 ec 20 c8 99 22 57 |k%=edit%... .."W| 00000c90 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 49 6e 66 |imp_GetWindowInf| 00000ca0 6f 22 2c 2c 62 6c 6b 25 0d 04 f6 5d 74 69 74 6c |o",,blk%...]titl| 00000cb0 65 24 3d 64 61 79 24 28 28 73 64 25 28 63 6d 6f |e$=day$((sd%(cmo| 00000cc0 6e 74 68 25 29 2b 63 64 61 74 65 25 2d 31 29 83 |nth%)+cdate%-1).| 00000cd0 37 29 2b 22 20 22 2b c3 28 63 64 61 74 65 25 29 |7)+" "+.(cdate%)| 00000ce0 2b 22 20 22 2b c0 6d 6f 6e 74 68 24 28 63 6d 6f |+" "+.month$(cmo| 00000cf0 6e 74 68 25 29 2c 33 29 2b 22 20 22 2b c3 28 79 |nth%),3)+" "+.(y| 00000d00 65 61 72 25 29 0d 05 00 15 24 28 62 6c 6b 25 21 |ear%)....$(blk%!| 00000d10 37 36 29 3d 74 69 74 6c 65 24 0d 05 0a 0e 62 6c |76)=title$....bl| 00000d20 6b 25 21 32 38 3d 2d 31 0d 05 14 1d c8 99 22 57 |k%!28=-1......"W| 00000d30 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c |imp_OpenWindow",| 00000d40 2c 62 6c 6b 25 0d 05 1e 30 c8 99 22 57 69 6d 70 |,blk%...0.."Wimp| 00000d50 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f |_SetCaretPositio| 00000d60 6e 22 2c 21 62 6c 6b 25 2c 30 2c 2d 31 2c 2d 31 |n",!blk%,0,-1,-1| 00000d70 2c 2d 31 2c 30 0d 05 28 14 f2 6e 65 77 74 69 74 |,-1,0..(..newtit| 00000d80 6c 65 28 21 62 6c 6b 25 29 0d 05 32 05 e1 0d 05 |le(!blk%)..2....| 00000d90 3c 04 0d 05 46 0a dd 20 f2 73 65 74 0d 05 50 0e |<...F.. .set..P.| 00000da0 e3 20 69 25 3d 30 20 b8 20 34 0d 05 5a 0f 21 62 |. i%=0 . 4..Z.!b| 00000db0 6c 6b 25 3d 65 64 69 74 25 0d 05 64 0d 62 6c 6b |lk%=edit%..d.blk| 00000dc0 25 21 34 3d 69 25 0d 05 6e 1f c8 99 22 57 69 6d |%!4=i%..n..."Wim| 00000dd0 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c |p_GetIconState",| 00000de0 2c 62 6c 6b 25 0d 05 78 22 6c 69 6e 65 24 3d a4 |,blk%..x"line$=.| 00000df0 6c 69 6e 65 28 63 64 61 74 65 25 2c 63 6d 6f 6e |line(cdate%,cmon| 00000e00 74 68 25 2c 69 25 29 0d 05 82 19 e7 20 6c 69 6e |th%,i%)..... lin| 00000e10 65 24 3c 3e 24 28 62 6c 6b 25 21 32 38 29 20 8c |e$<>$(blk%!28) .| 00000e20 0d 05 8c 14 24 28 62 6c 6b 25 21 32 38 29 3d 6c |....$(blk%!28)=l| 00000e30 69 6e 65 24 0d 05 96 0c 62 6c 6b 25 21 38 3d 30 |ine$....blk%!8=0| 00000e40 0d 05 a0 0d 62 6c 6b 25 21 31 32 3d 30 0d 05 aa |....blk%!12=0...| 00000e50 1f c8 99 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e |..."Wimp_SetIcon| 00000e60 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 05 b4 05 |State",,blk%....| 00000e70 cd 0d 05 be 08 ed 20 69 25 0d 05 c8 25 68 69 67 |...... i%...%hig| 00000e80 68 63 6f 6c 25 3d a4 66 6c 61 67 28 63 64 61 74 |hcol%=.flag(cdat| 00000e90 65 25 2c 63 6d 6f 6e 74 68 25 29 80 31 35 0d 05 |e%,cmonth%).15..| 00000ea0 d2 0f e3 20 61 25 3d 30 20 b8 20 31 33 0d 05 dc |... a%=0 . 13...| 00000eb0 28 f2 73 65 74 66 63 28 65 64 69 74 25 2c 61 25 |(.setfc(edit%,a%| 00000ec0 2b 39 2c 31 2d 28 61 25 3d 68 69 67 68 63 6f 6c |+9,1-(a%=highcol| 00000ed0 25 29 2a 36 29 0d 05 e6 08 ed 20 61 25 0d 05 f0 |%)*6)..... a%...| 00000ee0 12 74 68 69 73 63 68 61 6e 67 65 64 25 3d a3 0d |.thischanged%=..| 00000ef0 05 fa 05 e1 0d 06 04 04 0d 06 0e 0a dd 20 f2 67 |............. .g| 00000f00 65 74 0d 06 18 0e e3 20 69 25 3d 30 20 b8 20 34 |et..... i%=0 . 4| 00000f10 0d 06 22 0f 21 62 6c 6b 25 3d 65 64 69 74 25 0d |..".!blk%=edit%.| 00000f20 06 2c 0d 62 6c 6b 25 21 34 3d 69 25 0d 06 36 1f |.,.blk%!4=i%..6.| 00000f30 c8 99 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 |.."Wimp_GetIconS| 00000f40 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 06 40 2c e7 |tate",,blk%..@,.| 00000f50 20 a4 6c 69 6e 65 28 63 64 61 74 65 25 2c 63 6d | .line(cdate%,cm| 00000f60 6f 6e 74 68 25 2c 69 25 29 3c 3e 24 28 62 6c 6b |onth%,i%)<>$(blk| 00000f70 25 21 32 38 29 20 8c 0d 06 4a 0e 63 68 61 6e 67 |%!28) ...J.chang| 00000f80 65 64 25 3d b9 0d 06 54 12 74 68 69 73 63 68 61 |ed%=...T.thischa| 00000f90 6e 67 65 64 25 3d b9 0d 06 5e 28 f2 73 74 6f 72 |nged%=...^(.stor| 00000fa0 65 28 63 64 61 74 65 25 2c 63 6d 6f 6e 74 68 25 |e(cdate%,cmonth%| 00000fb0 2c 69 25 2c 24 28 62 6c 6b 25 21 32 38 29 29 0d |,i%,$(blk%!28)).| 00000fc0 06 68 05 cd 0d 06 72 08 ed 20 69 25 0d 06 7c 2c |.h....r.. i%..|,| 00000fd0 e7 20 74 68 69 73 63 68 61 6e 67 65 64 25 20 8c |. thischanged% .| 00000fe0 20 f2 75 70 64 61 74 65 28 63 64 61 74 65 25 2c | .update(cdate%,| 00000ff0 63 6d 6f 6e 74 68 25 29 0d 06 86 12 74 68 69 73 |cmonth%)....this| 00001000 63 68 61 6e 67 65 64 25 3d a3 0d 06 90 05 e1 0d |changed%=.......| 00001010 06 9a 04 0d 06 a4 14 dd 20 f2 75 70 64 61 74 65 |........ .update| 00001020 28 64 25 2c 6d 25 29 0d 06 ae 0f 77 78 25 3d 30 |(d%,m%)....wx%=0| 00001030 3a 77 79 25 3d 30 0d 06 b8 20 6d 69 6e 79 25 3d |:wy%=0... miny%=| 00001040 a4 79 28 64 25 2d 31 2b 73 64 25 28 6d 25 29 29 |.y(d%-1+sd%(m%))| 00001050 2d 62 6f 78 68 25 0d 06 c2 4a c8 99 22 57 69 6d |-boxh%...J.."Wim| 00001060 70 5f 46 6f 72 63 65 52 65 64 72 61 77 22 2c 6d |p_ForceRedraw",m| 00001070 61 69 6e 25 2c a4 78 28 6d 25 29 2b 32 2c 6d 69 |ain%,.x(m%)+2,mi| 00001080 6e 79 25 2b 34 2c a4 78 28 6d 25 29 2b 62 6f 78 |ny%+4,.x(m%)+box| 00001090 77 25 2d 32 2c 6d 69 6e 79 25 2b 62 6f 78 68 25 |w%-2,miny%+boxh%| 000010a0 0d 06 cc 05 e1 0d 06 d6 04 0d 06 e0 10 dd 20 a4 |.............. .| 000010b0 6c 6f 61 64 28 79 72 25 29 0d 06 ea 0b 6c 6f 61 |load(yr%)....loa| 000010c0 64 25 3d a3 0d 06 f4 32 c8 99 22 4f 53 5f 46 69 |d%=....2.."OS_Fi| 000010d0 6c 65 22 2c 35 2c 64 69 72 24 2b 22 2e 22 2b c3 |le",5,dir$+"."+.| 000010e0 28 79 72 25 29 20 b8 20 65 78 69 73 74 25 2c 2c |(yr%) . exist%,,| 000010f0 2c 2c 6c 65 6e 25 0d 06 fe 10 e7 20 65 78 69 73 |,,len%..... exis| 00001100 74 25 3d 31 20 8c 0d 07 08 17 e7 20 6c 65 6e 25 |t%=1 ...... len%| 00001110 3c 3e 64 69 61 72 79 6c 65 6e 25 20 8c 0d 07 12 |<>diarylen% ....| 00001120 1f f2 65 72 72 6f 72 28 22 43 61 6e 6e 6f 74 20 |..error("Cannot | 00001130 6c 6f 61 64 20 64 69 61 72 79 22 29 0d 07 1c 05 |load diary")....| 00001140 cc 0d 07 26 2a c8 99 22 4f 53 5f 46 69 6c 65 22 |...&*.."OS_File"| 00001150 2c 32 35 35 2c 64 69 72 24 2b 22 2e 22 2b c3 28 |,255,dir$+"."+.(| 00001160 79 72 25 29 2c 64 69 61 72 79 25 0d 07 30 0b 6c |yr%),diary%..0.l| 00001170 6f 61 64 25 3d b9 0d 07 3a 05 cd 0d 07 44 05 cc |oad%=...:....D..| 00001180 0d 07 4e 37 e7 20 a4 63 68 65 63 6b 28 22 44 69 |..N7. .check("Di| 00001190 61 72 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 |ary does not exi| 000011a0 73 74 2c 20 63 72 65 61 74 65 20 6e 65 77 20 6f |st, create new o| 000011b0 6e 65 3f 22 29 20 8c 0d 07 58 14 c8 99 22 48 6f |ne?") ...X..."Ho| 000011c0 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 07 62 11 f2 |urglass_On"..b..| 000011d0 73 65 74 79 65 61 72 28 79 72 25 29 0d 07 6c 08 |setyear(yr%)..l.| 000011e0 64 25 3d 31 0d 07 76 08 6d 25 3d 31 0d 07 80 0c |d%=1..v.m%=1....| 000011f0 c8 95 20 6d 25 3c 31 33 0d 07 8a 08 74 25 3d 30 |.. m%<13....t%=0| 00001200 0d 07 94 38 e7 20 28 28 64 25 2b 73 64 25 28 6d |...8. ((d%+sd%(m| 00001210 25 29 2d 31 29 83 37 29 3d 30 20 84 20 28 28 64 |%)-1).7)=0 . ((d| 00001220 25 2b 73 64 25 28 6d 25 29 2d 31 29 83 37 3d 36 |%+sd%(m%)-1).7=6| 00001230 29 20 8c 20 74 25 3d 31 0d 07 9e 24 e7 20 28 64 |) . t%=1...$. (d| 00001240 25 3d 32 35 20 84 20 64 25 3d 32 36 29 20 80 20 |%=25 . d%=26) . | 00001250 6d 25 3d 31 32 20 8c 20 74 25 3d 32 0d 07 a8 18 |m%=12 . t%=2....| 00001260 e7 20 64 25 3d 31 20 80 20 6d 25 3d 31 20 8c 20 |. d%=1 . m%=1 . | 00001270 74 25 3d 32 0d 07 b2 16 f2 73 65 74 66 6c 61 67 |t%=2.....setflag| 00001280 28 64 25 2c 6d 25 2c 74 25 29 0d 07 bc 0e e3 20 |(d%,m%,t%)..... | 00001290 6c 25 3d 30 20 b8 20 34 0d 07 c6 17 f2 73 74 6f |l%=0 . 4.....sto| 000012a0 72 65 28 64 25 2c 6d 25 2c 6c 25 2c 22 22 29 0d |re(d%,m%,l%,"").| 000012b0 07 d0 08 ed 20 6c 25 0d 07 da 09 64 25 2b 3d 31 |.... l%....d%+=1| 000012c0 0d 07 e4 1d e7 20 64 25 3e 6d 6c 25 28 6d 25 29 |..... d%>ml%(m%)| 000012d0 20 8c 20 64 25 3d 31 3a 6d 25 2b 3d 31 0d 07 ee | . d%=1:m%+=1...| 000012e0 05 ce 0d 07 f8 0e f2 73 61 76 65 28 79 72 25 29 |.......save(yr%)| 000012f0 0d 08 02 15 c8 99 22 48 6f 75 72 67 6c 61 73 73 |......"Hourglass| 00001300 5f 4f 66 66 22 0d 08 0c 0b 6c 6f 61 64 25 3d b9 |_Off"....load%=.| 00001310 0d 08 16 05 cd 0d 08 20 05 cd 0d 08 2a 18 e7 20 |....... ....*.. | 00001320 6c 6f 61 64 25 20 8c 20 63 68 61 6e 67 65 64 25 |load% . changed%| 00001330 3d a3 0d 08 34 0a 3d 6c 6f 61 64 25 0d 08 3e 04 |=...4.=load%..>.| 00001340 0d 08 48 18 dd 20 f2 73 65 74 66 6c 61 67 28 64 |..H.. .setflag(d| 00001350 25 2c 6d 25 2c 66 25 29 0d 08 52 20 64 69 61 72 |%,m%,f%)..R diar| 00001360 79 25 3f 28 28 64 25 2d 31 29 2b 28 6d 25 2d 31 |y%?((d%-1)+(m%-1| 00001370 29 2a 33 31 29 3d 66 25 0d 08 5c 05 e1 0d 08 66 |)*31)=f%..\....f| 00001380 04 0d 08 70 12 dd 20 a4 66 6c 61 67 28 64 25 2c |...p.. .flag(d%,| 00001390 6d 25 29 0d 08 7a 1e 3d 64 69 61 72 79 25 3f 28 |m%)..z.=diary%?(| 000013a0 28 64 25 2d 31 29 2b 28 6d 25 2d 31 29 2a 33 31 |(d%-1)+(m%-1)*31| 000013b0 29 0d 08 84 04 0d 08 8e 14 dd 20 f2 65 72 72 6f |)......... .erro| 000013c0 72 28 65 72 72 6f 72 24 29 0d 08 98 15 64 25 3d |r(error$)....d%=| 000013d0 a4 63 68 65 63 6b 28 65 72 72 6f 72 24 29 0d 08 |.check(error$)..| 000013e0 a2 05 e1 0d 08 ac 04 0d 08 b6 12 dd 20 f2 73 61 |............ .sa| 000013f0 76 65 28 79 65 61 72 25 29 0d 08 c0 08 f2 67 65 |ve(year%).....ge| 00001400 74 0d 08 ca 3f c8 99 22 4f 53 5f 46 69 6c 65 22 |t...?.."OS_File"| 00001410 2c 30 2c 64 69 72 24 2b 22 2e 22 2b c3 28 79 65 |,0,dir$+"."+.(ye| 00001420 61 72 25 29 2c 30 2c 30 2c 64 69 61 72 79 25 2c |ar%),0,0,diary%,| 00001430 64 69 61 72 79 6c 65 6e 25 2b 64 69 61 72 79 25 |diarylen%+diary%| 00001440 0d 08 d4 0e 63 68 61 6e 67 65 64 25 3d a3 0d 08 |....changed%=...| 00001450 de 05 e1 0d 08 e8 04 0d 08 f2 10 dd 20 f2 73 65 |............ .se| 00001460 74 65 78 74 65 6e 74 0d 08 fc 12 c8 8e 20 63 6f |textent...... co| 00001470 6c 77 69 64 74 68 25 20 ca 0d 09 06 12 c9 20 30 |lwidth% ...... 0| 00001480 20 3a 20 62 6f 78 77 25 3d 36 34 0d 09 10 13 c9 | : boxw%=64.....| 00001490 20 31 20 3a 20 62 6f 78 77 25 3d 31 32 38 0d 09 | 1 : boxw%=128..| 000014a0 1a 13 c9 20 32 20 3a 20 62 6f 78 77 25 3d 31 37 |... 2 : boxw%=17| 000014b0 36 0d 09 24 13 c9 20 33 20 3a 20 62 6f 78 77 25 |6..$.. 3 : boxw%| 000014c0 3d 32 35 36 0d 09 2e 13 c9 20 34 20 3a 20 62 6f |=256..... 4 : bo| 000014d0 78 77 25 3d 33 38 34 0d 09 38 05 cb 0d 09 42 12 |xw%=384..8....B.| 000014e0 21 62 6c 6b 25 3d 62 6f 78 77 25 2d 38 34 0d 09 |!blk%=boxw%-84..| 000014f0 4c 19 62 6c 6b 25 21 34 3d 2d 28 62 6f 78 68 25 |L.blk%!4=-(boxh%| 00001500 2a 33 38 2b 31 32 29 0d 09 56 16 62 6c 6b 25 21 |*38+12)..V.blk%!| 00001510 38 3d 31 33 2a 62 6f 78 77 25 2b 38 32 0d 09 60 |8=13*boxw%+82..`| 00001520 11 62 6c 6b 25 21 31 32 3d 62 6f 78 68 25 0d 09 |.blk%!12=boxh%..| 00001530 6a 21 c8 99 22 57 69 6d 70 5f 53 65 74 45 78 74 |j!.."Wimp_SetExt| 00001540 65 6e 74 22 2c 6d 61 69 6e 25 2c 62 6c 6b 25 0d |ent",main%,blk%.| 00001550 09 74 05 e1 0d 09 7e 04 0d 09 88 13 dd 20 f2 73 |.t....~...... .s| 00001560 65 74 79 65 61 72 28 6e 79 25 29 0d 09 92 22 f2 |etyear(ny%)...".| 00001570 74 69 63 6b 28 79 65 61 72 6d 65 6e 75 25 2c 6e |tick(yearmenu%,n| 00001580 79 25 2d 74 68 69 73 79 65 61 72 25 29 0d 09 9c |y%-thisyear%)...| 00001590 12 e7 20 79 65 61 72 25 3c 3e 6e 79 25 20 8c 0d |.. year%<>ny% ..| 000015a0 09 a6 0d 79 65 61 72 25 3d 6e 79 25 0d 09 b0 0f |...year%=ny%....| 000015b0 21 62 6c 6b 25 3d 6d 61 69 6e 25 0d 09 ba 20 c8 |!blk%=main%... .| 000015c0 99 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 |."Wimp_GetWindow| 000015d0 49 6e 66 6f 22 2c 2c 62 6c 6b 25 0d 09 c4 24 24 |Info",,blk%...$$| 000015e0 28 62 6c 6b 25 21 37 36 29 3d 22 59 65 61 72 20 |(blk%!76)="Year | 000015f0 50 6c 61 6e 20 22 2b c3 28 79 65 61 72 25 29 0d |Plan "+.(year%).| 00001600 09 ce 2b e7 20 28 79 65 61 72 25 20 83 20 34 29 |..+. (year% . 4)| 00001610 3d 30 20 8c 20 6d 6c 25 28 32 29 3d 32 39 20 8b |=0 . ml%(2)=29 .| 00001620 20 6d 6c 25 28 32 29 3d 32 38 0d 09 d8 28 73 64 | ml%(2)=28...(sd| 00001630 25 28 31 29 3d 28 28 79 65 61 72 25 2b 28 28 79 |%(1)=((year%+((y| 00001640 65 61 72 25 2d 31 29 20 81 20 34 29 2b 31 29 83 |ear%-1) . 4)+1).| 00001650 37 29 0d 09 e2 0f e3 20 6d 25 3d 32 20 b8 20 31 |7)..... m%=2 . 1| 00001660 32 0d 09 ec 23 73 64 25 28 6d 25 29 3d 28 73 64 |2...#sd%(m%)=(sd| 00001670 25 28 6d 25 2d 31 29 2b 6d 6c 25 28 6d 25 2d 31 |%(m%-1)+ml%(m%-1| 00001680 29 29 83 37 0d 09 f6 08 ed 20 6d 25 0d 0a 00 05 |)).7..... m%....| 00001690 cd 0d 0a 0a 05 e1 0d 0a 14 04 0d 0a 1e 11 dd 20 |............... | 000016a0 f2 64 65 63 6f 64 65 64 72 61 67 0d 0a 28 12 c8 |.decodedrag..(..| 000016b0 8e 20 64 72 61 67 77 69 6e 64 25 20 ca 0d 0a 32 |. dragwind% ...2| 000016c0 0f c9 20 73 61 76 65 66 66 66 31 25 0d 0a 3c 0f |.. savefff1%..<.| 000016d0 f2 63 72 65 61 74 65 74 65 78 74 0d 0a 46 0f 73 |.createtext..F.s| 000016e0 69 7a 65 25 3d a4 73 69 7a 65 0d 0a 50 12 66 69 |ize%=.size..P.fi| 000016f0 6c 65 74 79 70 65 25 3d 74 66 74 25 0d 0a 5a 1b |letype%=tft%..Z.| 00001700 66 69 6c 65 6e 61 6d 65 25 3d 66 69 6c 65 6e 61 |filename%=filena| 00001710 6d 65 66 66 66 31 25 0d 0a 64 0f c9 20 73 61 76 |mefff1%..d.. sav| 00001720 65 66 66 66 32 25 0d 0a 6e 0b 73 69 7a 65 25 3d |efff2%..n.size%=| 00001730 30 0d 0a 78 12 66 69 6c 65 74 79 70 65 25 3d 74 |0..x.filetype%=t| 00001740 66 74 25 0d 0a 82 1b 66 69 6c 65 6e 61 6d 65 25 |ft%....filename%| 00001750 3d 66 69 6c 65 6e 61 6d 65 66 66 66 32 25 0d 0a |=filenamefff2%..| 00001760 8c 0e c9 20 73 61 76 65 61 66 66 25 0d 0a 96 0b |... saveaff%....| 00001770 73 69 7a 65 25 3d 30 0d 0a a0 12 66 69 6c 65 74 |size%=0....filet| 00001780 79 70 65 25 3d 64 66 74 25 0d 0a aa 1a 66 69 6c |ype%=dft%....fil| 00001790 65 6e 61 6d 65 25 3d 66 69 6c 65 6e 61 6d 65 61 |ename%=filenamea| 000017a0 66 66 25 0d 0a b4 05 cb 0d 0a be 1b c8 99 22 57 |ff%..........."W| 000017b0 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c |imp_CreateMenu",| 000017c0 2c 2d 31 0d 0a c8 21 c8 99 22 57 69 6d 70 5f 47 |,-1...!.."Wimp_G| 000017d0 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c |etPointerInfo",,| 000017e0 62 6c 6b 25 0d 0a d2 12 62 6c 6b 25 21 33 32 3d |blk%....blk%!32=| 000017f0 62 6c 6b 25 21 34 0d 0a dc 11 62 6c 6b 25 21 32 |blk%!4....blk%!2| 00001800 38 3d 21 62 6c 6b 25 0d 0a e6 13 62 6c 6b 25 21 |8=!blk%....blk%!| 00001810 32 34 3d 62 6c 6b 25 21 31 36 0d 0a f0 13 62 6c |24=blk%!16....bl| 00001820 6b 25 21 32 30 3d 62 6c 6b 25 21 31 32 0d 0a fa |k%!20=blk%!12...| 00001830 0d 62 6c 6b 25 21 31 36 3d 31 0d 0b 04 0d 62 6c |.blk%!16=1....bl| 00001840 6b 25 21 31 32 3d 30 0d 0b 0e 11 62 6c 6b 25 21 |k%!12=0....blk%!| 00001850 33 36 3d 73 69 7a 65 25 0d 0b 18 15 62 6c 6b 25 |36=size%....blk%| 00001860 21 34 30 3d 66 69 6c 65 74 79 70 65 25 0d 0b 22 |!40=filetype%.."| 00001870 26 24 28 62 6c 6b 25 2b 34 34 29 3d a4 6c 61 73 |&$(blk%+44)=.las| 00001880 74 62 69 74 28 24 66 69 6c 65 6e 61 6d 65 25 29 |tbit($filename%)| 00001890 2b bd 30 0d 0b 2c 0c 21 62 6c 6b 25 3d 36 30 0d |+.0..,.!blk%=60.| 000018a0 0b 36 30 c8 99 22 57 69 6d 70 5f 53 65 6e 64 4d |.60.."Wimp_SendM| 000018b0 65 73 73 61 67 65 22 2c 31 37 2c 62 6c 6b 25 2c |essage",17,blk%,| 000018c0 62 6c 6b 25 21 32 30 2c 62 6c 6b 25 21 32 34 0d |blk%!20,blk%!24.| 000018d0 0b 40 0c 74 72 61 6e 73 25 3d 30 0d 0b 4a 05 e1 |.@.trans%=0..J..| 000018e0 0d 0b 54 04 0d 0b 5e 0b dd 20 a4 73 69 7a 65 0d |..T...^.. .size.| 000018f0 0b 68 1e 3d 74 65 78 74 73 69 7a 65 25 2b 28 a9 |.h.=textsize%+(.| 00001900 28 74 69 74 6c 65 24 29 2b 31 29 2a 32 0d 0b 72 |(title$)+1)*2..r| 00001910 04 0d 0b 7c 11 dd 20 f2 63 72 65 61 74 65 74 65 |...|.. .createte| 00001920 78 74 0d 0b 86 18 6f 66 66 25 3d 28 a9 28 74 69 |xt....off%=(.(ti| 00001930 74 6c 65 24 29 2b 31 29 2a 32 0d 0b 90 19 24 74 |tle$)+1)*2....$t| 00001940 65 78 74 62 75 66 66 25 3d 74 69 74 6c 65 24 2b |extbuff%=title$+| 00001950 bd 31 30 0d 0b 9a 30 24 28 74 65 78 74 62 75 66 |.10...0$(textbuf| 00001960 66 25 2b a9 28 74 69 74 6c 65 24 29 2b 31 29 3d |f%+.(title$)+1)=| 00001970 c4 a9 28 74 69 74 6c 65 24 29 2c 22 7e 22 29 2b |..(title$),"~")+| 00001980 bd 31 30 0d 0b a4 0e e3 20 69 25 3d 30 20 b8 20 |.10..... i%=0 . | 00001990 34 0d 0b ae 0f 21 62 6c 6b 25 3d 65 64 69 74 25 |4....!blk%=edit%| 000019a0 0d 0b b8 0d 62 6c 6b 25 21 34 3d 69 25 0d 0b c2 |....blk%!4=i%...| 000019b0 1f c8 99 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e |..."Wimp_GetIcon| 000019c0 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 0b cc 41 |State",,blk%...A| 000019d0 24 28 74 65 78 74 62 75 66 66 25 2b 69 25 2a 32 |$(textbuff%+i%*2| 000019e0 31 2b 6f 66 66 25 29 3d 24 28 62 6c 6b 25 21 32 |1+off%)=$(blk%!2| 000019f0 38 29 2b c4 32 30 2d a9 28 24 28 62 6c 6b 25 21 |8)+.20-.($(blk%!| 00001a00 32 38 29 29 2c 22 20 22 29 2b bd 31 30 0d 0b d6 |28))," ")+.10...| 00001a10 08 ed 20 69 25 0d 0b e0 05 e1 0d 0b ea 04 0d 0b |.. i%...........| 00001a20 f4 15 dd 20 a4 6c 61 73 74 62 69 74 28 66 69 6c |... .lastbit(fil| 00001a30 65 24 29 0d 0b fe 12 c8 95 20 a7 66 69 6c 65 24 |e$)...... .file$| 00001a40 2c 22 2e 22 29 0d 0c 08 1f 66 69 6c 65 24 3d c1 |,".")....file$=.| 00001a50 66 69 6c 65 24 2c a7 66 69 6c 65 24 2c 22 2e 22 |file$,.file$,"."| 00001a60 29 2b 31 29 0d 0c 12 05 ce 0d 0c 1c 0a 3d 66 69 |)+1).........=fi| 00001a70 6c 65 24 0d 0c 26 04 0d 0c 30 22 dd 20 f2 6b 65 |le$..&...0". .ke| 00001a80 79 28 77 69 6e 64 25 2c 69 63 6f 6e 25 2c 78 70 |y(wind%,icon%,xp| 00001a90 6f 73 25 2c 6b 65 79 25 29 0d 0c 3a 46 e7 20 28 |os%,key%)..:F. (| 00001aa0 77 69 6e 64 25 3d 73 61 76 65 66 66 66 31 25 20 |wind%=savefff1% | 00001ab0 84 20 77 69 6e 64 25 3d 73 61 76 65 66 66 66 32 |. wind%=savefff2| 00001ac0 25 20 84 20 77 69 6e 64 25 3d 73 61 76 65 61 66 |% . wind%=saveaf| 00001ad0 66 25 29 20 80 20 6b 65 79 25 3d 31 33 20 8c 0d |f%) . key%=13 ..| 00001ae0 0c 44 0e c8 8e 20 77 69 6e 64 25 20 ca 0d 0c 4e |.D... wind% ...N| 00001af0 2d c9 20 73 61 76 65 66 66 66 31 25 20 3a 20 f2 |-. savefff1% : .| 00001b00 73 61 76 65 74 65 78 74 28 24 66 69 6c 65 6e 61 |savetext($filena| 00001b10 6d 65 66 66 66 31 25 2c 30 29 0d 0c 58 31 c9 20 |mefff1%,0)..X1. | 00001b20 73 61 76 65 66 66 66 32 25 20 3a 20 f2 73 61 76 |savefff2% : .sav| 00001b30 65 6d 6f 6e 74 68 66 66 66 28 24 66 69 6c 65 6e |emonthfff($filen| 00001b40 61 6d 65 66 66 66 32 25 2c 30 29 0d 0c 62 2f c9 |amefff2%,0)..b/.| 00001b50 20 73 61 76 65 61 66 66 25 20 3a 20 f2 73 61 76 | saveaff% : .sav| 00001b60 65 6d 6f 6e 74 68 61 66 66 28 24 66 69 6c 65 6e |emonthaff($filen| 00001b70 61 6d 65 61 66 66 25 2c 30 29 0d 0c 6c 05 cb 0d |ameaff%,0)..l...| 00001b80 0c 76 05 cc 0d 0c 80 13 e7 20 77 69 6e 64 25 3d |.v....... wind%=| 00001b90 65 64 69 74 25 20 8c 0d 0c 8a 0d c8 8e 20 6b 65 |edit% ....... ke| 00001ba0 79 25 20 ca 0d 0c 94 16 c9 20 26 31 38 46 20 3a |y% ...... &18F :| 00001bb0 20 f2 6d 6f 76 65 28 2d 31 29 0d 0c 9e 18 c9 20 | .move(-1)..... | 00001bc0 26 31 38 45 2c 31 33 20 3a 20 f2 6d 6f 76 65 28 |&18E,13 : .move(| 00001bd0 31 29 0d 0c a8 05 cb 0d 0c b2 05 cc 0d 0c bc 1c |1)..............| 00001be0 c8 99 22 57 69 6d 70 5f 50 72 6f 63 65 73 73 4b |.."Wimp_ProcessK| 00001bf0 65 79 22 2c 6b 65 79 25 0d 0c c6 05 cd 0d 0c d0 |ey",key%........| 00001c00 05 cd 0d 0c da 05 e1 0d 0c e4 04 0d 0c ee 11 dd |................| 00001c10 20 f2 6d 6f 76 65 28 69 6e 63 25 29 0d 0c f8 25 | .move(inc%)...%| 00001c20 e7 20 69 63 6f 6e 25 2b 69 6e 63 25 3e 3d 30 20 |. icon%+inc%>=0 | 00001c30 80 20 69 63 6f 6e 25 2b 69 6e 63 25 3c 3d 34 20 |. icon%+inc%<=4 | 00001c40 8c 0d 0d 02 0f 69 63 6f 6e 25 2b 3d 69 6e 63 25 |.....icon%+=inc%| 00001c50 0d 0d 0c 37 c8 99 22 57 69 6d 70 5f 53 65 74 43 |...7.."Wimp_SetC| 00001c60 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 2c 77 69 |aretPosition",wi| 00001c70 6e 64 25 2c 69 63 6f 6e 25 2c 78 70 6f 73 25 2c |nd%,icon%,xpos%,| 00001c80 30 2c 2d 31 2c 2d 31 0d 0d 16 05 cd 0d 0d 20 08 |0,-1,-1....... .| 00001c90 f2 67 65 74 0d 0d 2a 05 e1 0d 0d 34 04 0d 0d 3e |.get..*....4...>| 00001ca0 1a dd 20 f2 73 61 76 65 74 65 78 74 28 66 69 6c |.. .savetext(fil| 00001cb0 65 24 2c 6f 6b 25 29 0d 0d 48 0c 73 61 76 65 64 |e$,ok%)..H.saved| 00001cc0 25 3d a3 0d 0d 52 0f e7 20 a4 6e 61 6d 65 6f 6b |%=...R.. .nameok| 00001cd0 20 8c 0d 0d 5c 0f f2 63 72 65 61 74 65 74 65 78 | ...\..createtex| 00001ce0 74 0d 0d 66 1b c8 99 22 57 69 6d 70 5f 43 72 65 |t..f..."Wimp_Cre| 00001cf0 61 74 65 4d 65 6e 75 22 2c 2c 2d 31 0d 0d 70 39 |ateMenu",,-1..p9| 00001d00 c8 99 22 4f 53 5f 46 69 6c 65 22 2c 31 30 2c 66 |.."OS_File",10,f| 00001d10 69 6c 65 24 2c 74 66 74 25 2c 30 2c 74 65 78 74 |ile$,tft%,0,text| 00001d20 62 75 66 66 25 2c 74 65 78 74 62 75 66 66 25 2b |buff%,textbuff%+| 00001d30 a4 73 69 7a 65 0d 0d 7a 2a e7 20 a7 66 69 6c 65 |.size..z*. .file| 00001d40 24 2c 22 3c 22 29 3d 30 20 8c 20 24 66 69 6c 65 |$,"<")=0 . $file| 00001d50 6e 61 6d 65 66 66 66 31 25 3d 66 69 6c 65 24 0d |namefff1%=file$.| 00001d60 0d 84 0c 73 61 76 65 64 25 3d b9 0d 0d 8e 05 cd |...saved%=......| 00001d70 0d 0d 98 05 e1 0d 0d a2 04 0d 0d ac 1e dd 20 f2 |.............. .| 00001d80 73 61 76 65 6d 6f 6e 74 68 61 66 66 28 66 69 6c |savemonthaff(fil| 00001d90 65 24 2c 6f 6b 25 29 0d 0d b6 14 c8 99 22 48 6f |e$,ok%)......"Ho| 00001da0 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 0d c0 12 6f |urglass_On"....o| 00001db0 78 25 3d 31 32 38 3a 6f 79 25 3d 36 34 0d 0d ca |x%=128:oy%=64...| 00001dc0 0c 73 61 76 65 64 25 3d a3 0d 0d d4 0f e7 20 a4 |.saved%=...... .| 00001dd0 6e 61 6d 65 6f 6b 20 8c 0d 0d de 1b c8 99 22 57 |nameok ......."W| 00001de0 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c |imp_CreateMenu",| 00001df0 2c 2d 31 0d 0d e8 11 66 69 6c 65 3d ae 28 66 69 |,-1....file=.(fi| 00001e00 6c 65 24 29 0d 0d f2 0e e7 20 66 69 6c 65 3d 30 |le$)..... file=0| 00001e10 20 8c 0d 0d fc 1e f2 72 65 70 6f 72 74 28 22 43 | ......report("C| 00001e20 61 6e 27 74 20 6f 70 65 6e 20 66 69 6c 65 22 29 |an't open file")| 00001e30 0d 0e 06 05 cc 0d 0e 10 0b f2 68 65 61 64 65 72 |..........header| 00001e40 0d 0e 1a 09 f2 66 6f 6e 74 0d 0e 24 08 79 25 3d |.....font..$.y%=| 00001e50 35 0d 0e 2e 13 78 25 3d 73 64 25 28 63 6d 6f 6e |5....x%=sd%(cmon| 00001e60 74 68 25 29 0d 0e 38 0b 78 73 25 3d 32 35 36 0d |th%)..8.xs%=256.| 00001e70 0e 42 0b 79 73 25 3d 32 30 30 0d 0e 4c 40 f2 74 |.B.ys%=200..L@.t| 00001e80 65 78 74 28 6d 6f 6e 74 68 24 28 63 6d 6f 6e 74 |ext(month$(cmont| 00001e90 68 25 29 2c 33 2e 35 2a 78 73 25 2b 6f 78 25 2c |h%),3.5*xs%+ox%,| 00001ea0 28 79 25 2b 31 29 2a 79 73 25 2b 39 36 2b 6f 79 |(y%+1)*ys%+96+oy| 00001eb0 25 2c 33 32 2c 33 32 2c 31 29 0d 0e 56 0e e3 20 |%,32,32,1)..V.. | 00001ec0 64 25 3d 30 20 b8 20 36 0d 0e 60 3f 20 20 f2 74 |d%=0 . 6..`? .t| 00001ed0 65 78 74 28 64 61 79 24 28 64 25 29 2c 28 64 25 |ext(day$(d%),(d%| 00001ee0 2b 2e 35 29 2a 78 73 25 2b 6f 78 25 2c 28 79 25 |+.5)*xs%+ox%,(y%| 00001ef0 2b 31 29 2a 79 73 25 2b 31 36 2b 6f 79 25 2c 33 |+1)*ys%+16+oy%,3| 00001f00 32 2c 31 36 2c 31 29 0d 0e 6a 08 ed 20 64 25 0d |2,16,1)..j.. d%.| 00001f10 0e 74 19 e3 20 64 25 3d 31 20 b8 20 6d 6c 25 28 |.t.. d%=1 . ml%(| 00001f20 63 6d 6f 6e 74 68 25 29 0d 0e 7e 2a 20 20 f2 71 |cmonth%)..~* .q| 00001f30 75 61 64 28 78 25 2a 78 73 25 2b 6f 78 25 2c 79 |uad(x%*xs%+ox%,y| 00001f40 25 2a 79 73 25 2b 6f 79 25 2c 78 73 25 2c 79 73 |%*ys%+oy%,xs%,ys| 00001f50 25 29 0d 0e 88 39 20 20 f2 74 65 78 74 28 c3 28 |%)...9 .text(.(| 00001f60 64 25 29 2c 78 25 2a 78 73 25 2b 38 2b 6f 78 25 |d%),x%*xs%+8+ox%| 00001f70 2c 28 79 25 2b 31 29 2a 79 73 25 2d 33 32 2b 6f |,(y%+1)*ys%-32+o| 00001f80 79 25 2c 31 34 2c 31 34 2c 30 29 0d 0e 92 10 20 |y%,14,14,0).... | 00001f90 20 e3 20 69 25 3d 30 20 b8 20 34 0d 0e 9c 22 20 | . i%=0 . 4..." | 00001fa0 20 20 20 6c 69 6e 65 24 3d a4 6c 69 6e 65 28 64 | line$=.line(d| 00001fb0 25 2c 63 6d 6f 6e 74 68 25 2c 69 25 29 0d 0e a6 |%,cmonth%,i%)...| 00001fc0 4e 20 20 20 20 e7 20 a9 6c 69 6e 65 24 20 8c 20 |N . .line$ . | 00001fd0 f2 74 65 78 74 28 6c 69 6e 65 24 2c 78 25 2a 78 |.text(line$,x%*x| 00001fe0 73 25 2b 38 2b 6f 78 25 2c 28 79 25 2b 31 29 2a |s%+8+ox%,(y%+1)*| 00001ff0 79 73 25 2d 28 69 25 2a 32 38 2b 36 38 29 2b 6f |ys%-(i%*28+68)+o| 00002000 79 25 2c 31 30 2c 31 30 2c 30 29 0d 0e b0 0a 20 |y%,10,10,0).... | 00002010 20 ed 20 69 25 0d 0e ba 0b 20 20 78 25 2b 3d 31 | . i%.... x%+=1| 00002020 0d 0e c4 19 20 20 e7 20 78 25 3e 36 20 8c 20 78 |.... . x%>6 . x| 00002030 25 3d 30 3a 79 25 2d 3d 31 0d 0e ce 08 ed 20 64 |%=0:y%-=1..... d| 00002040 25 0d 0e d8 09 f2 74 61 69 6c 0d 0e e2 29 e7 20 |%.....tail...). | 00002050 a7 66 69 6c 65 24 2c 22 3c 22 29 3d 30 20 8c 20 |.file$,"<")=0 . | 00002060 24 66 69 6c 65 6e 61 6d 65 61 66 66 25 3d 66 69 |$filenameaff%=fi| 00002070 6c 65 24 0d 0e ec 11 a2 23 66 69 6c 65 3d 8f 23 |le$.....#file=.#| 00002080 66 69 6c 65 0d 0e f6 10 73 69 7a 65 25 3d a2 23 |file....size%=.#| 00002090 66 69 6c 65 0d 0f 00 0a d9 23 66 69 6c 65 0d 0f |file.....#file..| 000020a0 0a 1c f2 73 65 74 66 69 6c 65 74 79 70 65 28 66 |...setfiletype(f| 000020b0 69 6c 65 24 2c 64 66 74 25 29 0d 0f 14 0c 73 61 |ile$,dft%)....sa| 000020c0 76 65 64 25 3d b9 0d 0f 1e 05 cd 0d 0f 28 05 cd |ved%=........(..| 000020d0 0d 0f 32 15 c8 99 22 48 6f 75 72 67 6c 61 73 73 |..2..."Hourglass| 000020e0 5f 4f 66 66 22 0d 0f 3c 05 e1 0d 0f 46 04 0d 0f |_Off"..<....F...| 000020f0 50 0b dd 20 f2 66 6f 6e 74 0d 0f 5a 11 73 74 61 |P.. .font..Z.sta| 00002100 72 74 25 3d 8f 23 66 69 6c 65 0d 0f 64 09 f2 77 |rt%=.#file..d..w| 00002110 28 30 29 0d 0f 6e 09 f2 77 28 30 29 0d 0f 78 0c |(0)..n..w(0)..x.| 00002120 d5 23 66 69 6c 65 2c 31 0d 0f 82 1b 66 6f 6e 74 |.#file,1....font| 00002130 24 3d 22 48 6f 6d 65 72 74 6f 6e 2e 4d 65 64 69 |$="Homerton.Medi| 00002140 75 6d 22 0d 0f 8c 0f f2 73 74 30 28 66 6f 6e 74 |um".....st0(font| 00002150 24 29 0d 0f 96 26 f2 73 65 74 77 6f 72 64 28 73 |$)...&.setword(s| 00002160 74 61 72 74 25 2b 34 2c 28 8f 23 66 69 6c 65 29 |tart%+4,(.#file)| 00002170 2d 73 74 61 72 74 25 29 0d 0f a0 05 e1 0d 0f aa |-start%)........| 00002180 04 0d 0f b4 28 dd 20 f2 74 65 78 74 28 74 65 78 |....(. .text(tex| 00002190 74 24 2c 78 30 25 2c 79 30 25 2c 73 78 25 2c 73 |t$,x0%,y0%,sx%,s| 000021a0 79 25 2c 74 79 70 65 25 29 0d 0f be 32 c8 99 22 |y%,type%)...2.."| 000021b0 46 6f 6e 74 5f 46 69 6e 64 46 6f 6e 74 22 2c 2c |Font_FindFont",,| 000021c0 66 6f 6e 74 24 2c 73 78 25 2a 31 36 2c 73 79 25 |font$,sx%*16,sy%| 000021d0 2a 31 36 20 b8 20 68 61 6e 64 25 0d 0f c8 31 c8 |*16 . hand%...1.| 000021e0 99 22 46 6f 6e 74 5f 53 74 72 69 6e 67 42 42 6f |."Font_StringBBo| 000021f0 78 22 2c 2c 74 65 78 74 24 20 b8 20 2c 6c 78 25 |x",,text$ . ,lx%| 00002200 2c 6c 79 25 2c 6d 78 25 2c 6d 79 25 0d 0f d2 34 |,ly%,mx%,my%...4| 00002210 c8 99 22 46 6f 6e 74 5f 43 6f 6e 76 65 72 74 74 |.."Font_Convertt| 00002220 6f 4f 53 22 2c 2c 6c 78 25 2a 32 35 36 2c 6c 79 |oOS",,lx%*256,ly| 00002230 25 2a 32 35 36 20 b8 20 2c 6c 78 25 2c 6c 79 25 |%*256 . ,lx%,ly%| 00002240 0d 0f dc 34 c8 99 22 46 6f 6e 74 5f 43 6f 6e 76 |...4.."Font_Conv| 00002250 65 72 74 74 6f 4f 53 22 2c 2c 6d 78 25 2a 32 35 |erttoOS",,mx%*25| 00002260 36 2c 6d 79 25 2a 32 35 36 20 b8 20 2c 6d 78 25 |6,my%*256 . ,mx%| 00002270 2c 6d 79 25 0d 0f e6 0f 78 30 25 3d 78 30 25 2a |,my%....x0%=x0%*| 00002280 32 35 36 0d 0f f0 0f 79 30 25 3d 79 30 25 2a 32 |256....y0%=y0%*2| 00002290 35 36 0d 0f fa 20 e7 20 74 79 70 65 25 3d 31 20 |56... . type%=1 | 000022a0 8c 20 78 30 25 2d 3d 28 6d 78 25 2d 6c 78 25 29 |. x0%-=(mx%-lx%)| 000022b0 2f 32 0d 10 04 11 73 74 61 72 74 25 3d 8f 23 66 |/2....start%=.#f| 000022c0 69 6c 65 0d 10 0e 09 f2 77 28 31 29 0d 10 18 09 |ile.....w(1)....| 000022d0 f2 77 28 30 29 0d 10 22 2f f2 73 65 74 62 6f 75 |.w(0).."/.setbou| 000022e0 6e 64 73 28 78 30 25 2b 6c 78 25 2c 79 30 25 2b |nds(x0%+lx%,y0%+| 000022f0 6c 79 25 2c 78 30 25 2b 6d 78 25 2c 79 30 25 2b |ly%,x0%+mx%,y0%+| 00002300 6d 79 25 29 0d 10 2c 09 f2 77 28 30 29 0d 10 36 |my%)..,..w(0)..6| 00002310 11 f2 77 28 26 46 46 46 46 46 46 30 30 29 0d 10 |..w(&FFFFFF00)..| 00002320 40 09 f2 77 28 31 29 0d 10 4a 0f f2 77 28 73 78 |@..w(1)..J..w(sx| 00002330 25 2a 36 34 30 29 0d 10 54 0f f2 77 28 73 79 25 |%*640)..T..w(sy%| 00002340 2a 36 34 30 29 0d 10 5e 0b f2 77 28 78 30 25 29 |*640)..^..w(x0%)| 00002350 0d 10 68 0b f2 77 28 79 30 25 29 0d 10 72 0f f2 |..h..w(y0%)..r..| 00002360 73 74 30 28 74 65 78 74 24 29 0d 10 7c 26 f2 73 |st0(text$)..|&.s| 00002370 65 74 77 6f 72 64 28 73 74 61 72 74 25 2b 34 2c |etword(start%+4,| 00002380 28 8f 23 66 69 6c 65 29 2d 73 74 61 72 74 25 29 |(.#file)-start%)| 00002390 0d 10 86 05 e1 0d 10 90 04 0d 10 9a 1c dd 20 f2 |.............. .| 000023a0 71 75 61 64 28 78 30 25 2c 79 30 25 2c 78 31 25 |quad(x0%,y0%,x1%| 000023b0 2c 79 31 25 29 0d 10 a4 0f 78 30 25 3d 78 30 25 |,y1%)....x0%=x0%| 000023c0 2a 32 35 36 0d 10 ae 0f 78 31 25 3d 78 31 25 2a |*256....x1%=x1%*| 000023d0 32 35 36 0d 10 b8 0f 79 30 25 3d 79 30 25 2a 32 |256....y0%=y0%*2| 000023e0 35 36 0d 10 c2 0f 79 31 25 3d 79 31 25 2a 32 35 |56....y1%=y1%*25| 000023f0 36 0d 10 cc 11 73 74 61 72 74 25 3d 8f 23 66 69 |6....start%=.#fi| 00002400 6c 65 0d 10 d6 09 f2 77 28 32 29 0d 10 e0 09 f2 |le.....w(2).....| 00002410 77 28 30 29 0d 10 ea 27 f2 73 65 74 62 6f 75 6e |w(0)...'.setboun| 00002420 64 73 28 78 30 25 2c 79 30 25 2c 78 30 25 2b 78 |ds(x0%,y0%,x0%+x| 00002430 31 25 2c 79 30 25 2b 79 31 25 29 0d 10 f4 15 f2 |1%,y0%+y1%).....| 00002440 77 28 2d 31 29 3a f4 20 66 69 6c 6c 20 63 6f 6c |w(-1):. fill col| 00002450 0d 10 fe 15 f2 77 28 30 29 20 3a f4 20 6c 69 6e |.....w(0) :. lin| 00002460 65 20 63 6f 6c 0d 11 08 09 f2 77 28 30 29 0d 11 |e col.....w(0)..| 00002470 12 11 f2 77 28 26 32 30 31 30 30 30 34 30 29 0d |...w(&20100040).| 00002480 11 1c 09 f2 77 28 32 29 0d 11 26 14 f2 70 6c 6f |....w(2)..&..plo| 00002490 74 28 78 30 25 2c 79 30 25 2c 38 29 0d 11 30 18 |t(x0%,y0%,8)..0.| 000024a0 f2 70 6c 6f 74 28 78 30 25 2b 78 31 25 2c 79 30 |.plot(x0%+x1%,y0| 000024b0 25 2c 38 29 0d 11 3a 1c f2 70 6c 6f 74 28 78 30 |%,8)..:..plot(x0| 000024c0 25 2b 78 31 25 2c 79 30 25 2b 79 31 25 2c 38 29 |%+x1%,y0%+y1%,8)| 000024d0 0d 11 44 18 f2 70 6c 6f 74 28 78 30 25 2c 79 30 |..D..plot(x0%,y0| 000024e0 25 2b 79 31 25 2c 38 29 0d 11 4e 14 f2 70 6c 6f |%+y1%,8)..N..plo| 000024f0 74 28 78 30 25 2c 79 30 25 2c 35 29 0d 11 58 09 |t(x0%,y0%,5)..X.| 00002500 f2 77 28 30 29 0d 11 62 26 f2 73 65 74 77 6f 72 |.w(0)..b&.setwor| 00002510 64 28 73 74 61 72 74 25 2b 34 2c 28 8f 23 66 69 |d(start%+4,(.#fi| 00002520 6c 65 29 2d 73 74 61 72 74 25 29 0d 11 6c 05 e1 |le)-start%)..l..| 00002530 0d 11 76 04 0d 11 80 11 dd 20 f2 73 74 30 28 74 |..v...... .st0(t| 00002540 65 78 74 24 29 0d 11 8a 11 d5 23 66 69 6c 65 2c |ext$).....#file,| 00002550 74 65 78 74 24 3b 0d 11 94 0c d5 23 66 69 6c 65 |text$;.....#file| 00002560 2c 30 0d 11 9e 15 c8 95 20 28 28 8f 23 66 69 6c |,0...... ((.#fil| 00002570 65 29 83 34 29 3e 30 0d 11 a8 0c d5 23 66 69 6c |e).4)>0.....#fil| 00002580 65 2c 30 0d 11 b2 05 ce 0d 11 bc 05 e1 0d 11 c6 |e,0.............| 00002590 04 0d 11 d0 15 dd 20 f2 73 65 74 77 6f 72 64 28 |...... .setword(| 000025a0 70 25 2c 77 25 29 0d 11 da 10 74 65 6d 70 25 3d |p%,w%)....temp%=| 000025b0 8f 23 66 69 6c 65 0d 11 e4 0d cf 23 66 69 6c 65 |.#file.....#file| 000025c0 3d 70 25 0d 11 ee 0a f2 77 28 77 25 29 0d 11 f8 |=p%.....w(w%)...| 000025d0 10 cf 23 66 69 6c 65 3d 74 65 6d 70 25 0d 12 02 |..#file=temp%...| 000025e0 05 e1 0d 12 0c 04 0d 12 16 15 dd 20 f2 70 6c 6f |........... .plo| 000025f0 74 28 78 25 2c 79 25 2c 74 25 29 0d 12 20 0a f2 |t(x%,y%,t%).. ..| 00002600 77 28 78 25 29 0d 12 2a 0a f2 77 28 79 25 29 0d |w(x%)..*..w(y%).| 00002610 12 34 0a f2 77 28 74 25 29 0d 12 3e 05 e1 0d 12 |.4..w(t%)..>....| 00002620 48 04 0d 12 52 0d dd 20 f2 68 65 61 64 65 72 0d |H...R.. .header.| 00002630 12 5c 12 d5 23 66 69 6c 65 2c 22 44 72 61 77 22 |.\..#file,"Draw"| 00002640 3b 0d 12 66 0b f2 77 28 32 30 31 29 0d 12 70 09 |;..f..w(201)..p.| 00002650 f2 77 28 30 29 0d 12 7a 1a d5 23 66 69 6c 65 2c |.w(0)..z..#file,| 00002660 22 41 72 63 44 72 61 77 20 20 20 20 20 22 3b 0d |"ArcDraw ";.| 00002670 12 84 0f 6d 69 6e 78 25 3d 31 3c 3c 33 30 0d 12 |...minx%=1<<30..| 00002680 8e 0f 6d 69 6e 79 25 3d 31 3c 3c 33 30 0d 12 98 |..miny%=1<<30...| 00002690 0f 6d 61 78 78 25 3d 31 3c 3c 33 31 0d 12 a2 0f |.maxx%=1<<31....| 000026a0 6d 61 78 79 25 3d 31 3c 3c 33 31 0d 12 ac 15 62 |maxy%=1<<31....b| 000026b0 6f 75 6e 64 73 70 74 72 25 3d 8f 23 66 69 6c 65 |oundsptr%=.#file| 000026c0 0d 12 b6 09 f2 77 28 30 29 0d 12 c0 09 f2 77 28 |.....w(0).....w(| 000026d0 30 29 0d 12 ca 09 f2 77 28 30 29 0d 12 d4 09 f2 |0).....w(0).....| 000026e0 77 28 30 29 0d 12 de 05 e1 0d 12 e8 04 0d 12 f2 |w(0)............| 000026f0 0b dd 20 f2 74 61 69 6c 0d 12 fc 10 74 65 6d 70 |.. .tail....temp| 00002700 25 3d 8f 23 66 69 6c 65 0d 13 06 15 cf 23 66 69 |%=.#file.....#fi| 00002710 6c 65 3d 62 6f 75 6e 64 73 70 74 72 25 0d 13 10 |le=boundsptr%...| 00002720 0d f2 77 28 6d 69 6e 78 25 29 0d 13 1a 0d f2 77 |..w(minx%).....w| 00002730 28 6d 69 6e 79 25 29 0d 13 24 0d f2 77 28 6d 61 |(miny%)..$..w(ma| 00002740 78 78 25 29 0d 13 2e 0d f2 77 28 6d 61 78 79 25 |xx%).....w(maxy%| 00002750 29 0d 13 38 10 cf 23 66 69 6c 65 3d 74 65 6d 70 |)..8..#file=temp| 00002760 25 0d 13 42 05 e1 0d 13 4c 04 0d 13 56 21 dd 20 |%..B....L...V!. | 00002770 f2 73 65 74 62 6f 75 6e 64 73 28 78 30 25 2c 79 |.setbounds(x0%,y| 00002780 30 25 2c 78 31 25 2c 79 31 25 29 0d 13 60 0b f2 |0%,x1%,y1%)..`..| 00002790 77 28 78 30 25 29 0d 13 6a 0b f2 77 28 79 30 25 |w(x0%)..j..w(y0%| 000027a0 29 0d 13 74 0b f2 77 28 78 31 25 29 0d 13 7e 0b |)..t..w(x1%)..~.| 000027b0 f2 77 28 79 31 25 29 0d 13 88 1b e7 20 78 30 25 |.w(y1%)..... x0%| 000027c0 3c 6d 69 6e 78 25 20 8c 20 6d 69 6e 78 25 3d 78 |<minx% . minx%=x| 000027d0 30 25 0d 13 92 1b e7 20 79 30 25 3c 6d 69 6e 79 |0%..... y0%<miny| 000027e0 25 20 8c 20 6d 69 6e 79 25 3d 79 30 25 0d 13 9c |% . miny%=y0%...| 000027f0 1b e7 20 78 31 25 3e 6d 61 78 78 25 20 8c 20 6d |.. x1%>maxx% . m| 00002800 61 78 78 25 3d 78 31 25 0d 13 a6 1b e7 20 79 31 |axx%=x1%..... y1| 00002810 25 3e 6d 61 78 79 25 20 8c 20 6d 61 78 79 25 3d |%>maxy% . maxy%=| 00002820 79 31 25 0d 13 b0 05 e1 0d 13 ba 04 0d 13 c4 0f |y1%.............| 00002830 dd 20 f2 77 28 21 62 6c 6b 25 29 0d 13 ce 0e e3 |. .w(!blk%).....| 00002840 20 61 25 3d 30 20 b8 20 33 0d 13 d8 14 20 20 d5 | a%=0 . 3.... .| 00002850 23 66 69 6c 65 2c 62 6c 6b 25 3f 61 25 0d 13 e2 |#file,blk%?a%...| 00002860 08 ed 20 61 25 0d 13 ec 05 e1 0d 13 f6 04 0d 14 |.. a%...........| 00002870 00 1e dd 20 f2 73 61 76 65 6d 6f 6e 74 68 66 66 |... .savemonthff| 00002880 66 28 66 69 6c 65 24 2c 6f 6b 25 29 0d 14 0a 0c |f(file$,ok%)....| 00002890 73 61 76 65 64 25 3d a3 0d 14 14 0f e7 20 a4 6e |saved%=...... .n| 000028a0 61 6d 65 6f 6b 20 8c 0d 14 1e 1b c8 99 22 57 69 |ameok ......."Wi| 000028b0 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c |mp_CreateMenu",,| 000028c0 2d 31 0d 14 28 11 66 69 6c 65 3d ae 28 66 69 6c |-1..(.file=.(fil| 000028d0 65 24 29 0d 14 32 0e e7 20 66 69 6c 65 3d 30 20 |e$)..2.. file=0 | 000028e0 8c 0d 14 3c 25 f2 72 65 70 6f 72 74 28 22 43 61 |...<%.report("Ca| 000028f0 6e 6e 6f 74 20 63 72 65 61 74 65 20 74 65 78 74 |nnot create text| 00002900 66 69 6c 65 22 29 0d 14 46 05 cc 0d 14 50 29 d5 |file")..F....P).| 00002910 23 66 69 6c 65 2c c4 28 32 37 2d a9 6d 6f 6e 74 |#file,.(27-.mont| 00002920 68 24 28 63 6d 6f 6e 74 68 25 29 29 2f 32 2c 22 |h$(cmonth%))/2,"| 00002930 20 22 29 3b 0d 14 5a 1a d5 23 66 69 6c 65 2c 6d | ");..Z..#file,m| 00002940 6f 6e 74 68 24 28 63 6d 6f 6e 74 68 25 29 0d 14 |onth$(cmonth%)..| 00002950 64 0d d5 23 66 69 6c 65 2c 31 30 0d 14 6e 19 e3 |d..#file,10..n..| 00002960 20 64 25 3d 31 20 b8 20 6d 6c 25 28 63 6d 6f 6e | d%=1 . ml%(cmon| 00002970 74 68 25 29 0d 14 78 27 d5 23 66 69 6c 65 2c 64 |th%)..x'.#file,d| 00002980 61 79 24 28 28 64 25 2b 73 64 25 28 63 6d 6f 6e |ay$((d%+sd%(cmon| 00002990 74 68 25 29 2d 31 29 83 37 29 3b 0d 14 82 17 e7 |th%)-1).7);.....| 000029a0 20 64 25 3c 31 30 20 8c 20 d5 23 66 69 6c 65 2c | d%<10 . .#file,| 000029b0 33 32 0d 14 8c 0d d5 23 66 69 6c 65 2c 33 32 0d |32.....#file,32.| 000029c0 14 96 11 d5 23 66 69 6c 65 2c c3 28 64 25 29 3b |....#file,.(d%);| 000029d0 0d 14 a0 0d d5 23 66 69 6c 65 2c 33 32 0d 14 aa |.....#file,32...| 000029e0 09 73 24 3d 22 22 0d 14 b4 08 63 25 3d a3 0d 14 |.s$=""....c%=...| 000029f0 be 0e e3 20 61 25 3d 30 20 b8 20 34 0d 14 c8 1b |... a%=0 . 4....| 00002a00 6c 24 3d a4 6c 69 6e 65 28 64 25 2c 63 6d 6f 6e |l$=.line(d%,cmon| 00002a10 74 68 25 2c 61 25 29 0d 14 d2 0b e7 20 a9 6c 24 |th%,a%)..... .l$| 00002a20 20 8c 0d 14 dc 13 e7 20 63 25 20 8c 20 73 24 2b | ...... c% . s$+| 00002a30 3d 22 2c 20 22 0d 14 e6 0a 73 24 2b 3d 6c 24 0d |=", "....s$+=l$.| 00002a40 14 f0 08 63 25 3d b9 0d 14 fa 05 cd 0d 15 04 08 |...c%=..........| 00002a50 ed 20 61 25 0d 15 0e 0d d5 23 66 69 6c 65 2c 73 |. a%.....#file,s| 00002a60 24 0d 15 18 08 ed 20 64 25 0d 15 22 0a d9 23 66 |$..... d%.."..#f| 00002a70 69 6c 65 0d 15 2c 1c f2 73 65 74 66 69 6c 65 74 |ile..,..setfilet| 00002a80 79 70 65 28 66 69 6c 65 24 2c 74 66 74 25 29 0d |ype(file$,tft%).| 00002a90 15 36 2a e7 20 a7 66 69 6c 65 24 2c 22 3c 22 29 |.6*. .file$,"<")| 00002aa0 3d 30 20 8c 20 24 66 69 6c 65 6e 61 6d 65 66 66 |=0 . $filenameff| 00002ab0 66 32 25 3d 66 69 6c 65 24 0d 15 40 0c 73 61 76 |f2%=file$..@.sav| 00002ac0 65 64 25 3d b9 0d 15 4a 05 cd 0d 15 54 05 cd 0d |ed%=...J....T...| 00002ad0 15 5e 05 e1 0d 15 68 04 0d 15 72 0d dd 20 a4 6e |.^....h...r.. .n| 00002ae0 61 6d 65 6f 6b 0d 15 7c 0d 72 65 73 75 6c 74 25 |ameok..|.result%| 00002af0 3d b9 0d 15 86 28 e7 20 a7 66 69 6c 65 24 2c 22 |=....(. .file$,"| 00002b00 3a 22 29 2b a7 66 69 6c 65 24 2c 22 2e 22 29 3d |:")+.file$,".")=| 00002b10 30 20 80 20 ac 6f 6b 25 20 8c 0d 15 90 3e f2 72 |0 . .ok% ....>.r| 00002b20 65 70 6f 72 74 28 22 54 6f 20 73 61 76 65 2c 20 |eport("To save, | 00002b30 64 72 61 67 20 69 63 6f 6e 20 74 6f 20 61 20 64 |drag icon to a d| 00002b40 69 72 65 63 74 6f 72 79 20 76 69 65 77 65 72 20 |irectory viewer | 00002b50 22 2b 66 69 6c 65 24 29 0d 15 9a 0d 72 65 73 75 |"+file$)....resu| 00002b60 6c 74 25 3d a3 0d 15 a4 05 cd 0d 15 ae 0c 3d 72 |lt%=..........=r| 00002b70 65 73 75 6c 74 25 0d 15 b8 04 0d 15 c2 0d dd 20 |esult%......... | 00002b80 f2 72 65 64 72 61 77 0d 15 cc 16 f2 77 69 6e 64 |.redraw.....wind| 00002b90 6f 77 69 6e 66 6f 28 6d 61 69 6e 25 29 0d 15 d6 |owinfo(main%)...| 00002ba0 27 c8 99 22 57 69 6d 70 5f 52 65 64 72 61 77 57 |'.."Wimp_RedrawW| 00002bb0 69 6e 64 6f 77 22 2c 2c 62 6c 6b 25 20 b8 20 6d |indow",,blk% . m| 00002bc0 6f 72 65 25 0d 15 e0 0c c8 95 20 6d 6f 72 65 25 |ore%...... more%| 00002bd0 0d 15 ea 13 e7 20 21 62 6c 6b 25 3d 6d 61 69 6e |..... !blk%=main| 00002be0 25 20 8c 0d 15 f4 15 6d 69 6e 78 25 3d 62 6c 6b |% .....minx%=blk| 00002bf0 25 21 32 38 2d 77 78 25 0d 15 fe 15 6d 69 6e 79 |%!28-wx%....miny| 00002c00 25 3d 62 6c 6b 25 21 34 30 2d 77 79 25 0d 16 08 |%=blk%!40-wy%...| 00002c10 1f 6d 61 78 78 25 3d 28 62 6c 6b 25 21 33 36 2d |.maxx%=(blk%!36-| 00002c20 77 78 25 29 2b 62 6f 78 77 25 2d 31 0d 16 12 21 |wx%)+boxw%-1...!| 00002c30 6d 61 78 79 25 3d 28 62 6c 6b 25 21 33 32 2d 77 |maxy%=(blk%!32-w| 00002c40 79 25 29 2d 28 62 6f 78 68 25 2b 31 29 0d 16 1c |y%)-(boxh%+1)...| 00002c50 0e 74 6f 70 25 3d 6d 61 78 79 25 0d 16 26 17 f2 |.top%=maxy%..&..| 00002c60 61 6c 74 65 72 28 6d 69 6e 78 25 2c 6d 69 6e 79 |alter(minx%,miny| 00002c70 25 29 0d 16 30 17 f2 61 6c 74 65 72 28 6d 61 78 |%)..0..alter(max| 00002c80 78 25 2c 6d 61 78 79 25 29 0d 16 3a 18 c8 99 22 |x%,maxy%)..:..."| 00002c90 57 69 6d 70 5f 53 65 74 43 6f 6c 6f 75 72 22 2c |Wimp_SetColour",| 00002ca0 37 0d 16 44 16 e3 20 78 25 3d 6d 69 6e 78 25 20 |7..D.. x%=minx% | 00002cb0 b8 20 6d 61 78 78 25 0d 16 4e 2c e7 20 28 74 6f |. maxx%..N,. (to| 00002cc0 70 25 3c 30 20 84 20 6d 61 78 79 25 3e 33 37 29 |p%<0 . maxy%>37)| 00002cd0 20 80 20 78 25 3e 3d 31 20 80 20 78 25 3c 3d 31 | . x%>=1 . x%<=1| 00002ce0 32 20 8c 0d 16 58 2b e7 20 63 6f 6c 77 69 64 74 |2 ...X+. colwidt| 00002cf0 68 25 3c 32 20 8c 20 63 25 3d 33 20 8b 20 63 25 |h%<2 . c%=3 . c%| 00002d00 3d a9 28 6d 6f 6e 74 68 24 28 78 25 29 29 0d 16 |=.(month$(x%))..| 00002d10 62 3a ec 20 a4 78 28 78 25 29 2b 28 62 6f 78 77 |b:. .x(x%)+(boxw| 00002d20 25 2d 63 25 2a 31 36 29 2f 32 2c a4 79 28 2d 31 |%-c%*16)/2,.y(-1| 00002d30 2d 28 6d 61 78 79 25 3e 33 37 29 2a 33 38 29 2d |-(maxy%>37)*38)-| 00002d40 74 65 78 74 6f 66 66 25 0d 16 6c 14 f1 c0 6d 6f |textoff%..l...mo| 00002d50 6e 74 68 24 28 78 25 29 2c 63 25 29 0d 16 76 05 |nth$(x%),c%)..v.| 00002d60 cd 0d 16 80 16 e3 20 79 25 3d 6d 69 6e 79 25 20 |...... y%=miny% | 00002d70 b8 20 6d 61 78 79 25 0d 16 8a 16 e7 20 78 25 3e |. maxy%..... x%>| 00002d80 3d 31 20 80 20 78 25 3c 3d 31 32 20 8c 0d 16 94 |=1 . x%<=12 ....| 00002d90 2b e7 20 79 25 3e 3d 73 64 25 28 78 25 29 20 80 |+. y%>=sd%(x%) .| 00002da0 20 79 25 3c 3d 73 64 25 28 78 25 29 2b 6d 6c 25 | y%<=sd%(x%)+ml%| 00002db0 28 78 25 29 2d 31 20 8c 0d 16 9e 15 64 25 3d 28 |(x%)-1 .....d%=(| 00002dc0 79 25 2d 73 64 25 28 78 25 29 29 2b 31 0d 16 a8 |y%-sd%(x%))+1...| 00002dd0 09 6d 25 3d 78 25 0d 16 b2 16 66 6c 61 67 25 3d |.m%=x%....flag%=| 00002de0 a4 66 6c 61 67 28 64 25 2c 6d 25 29 0d 16 bc 16 |.flag(d%,m%)....| 00002df0 63 6f 6c 25 3d 64 63 25 28 66 6c 61 67 25 80 31 |col%=dc%(flag%.1| 00002e00 35 29 0d 16 c6 0e e7 20 63 6f 6c 25 3e 30 20 8c |5)..... col%>0 .| 00002e10 0d 16 d0 1b c8 99 22 57 69 6d 70 5f 53 65 74 43 |......"Wimp_SetC| 00002e20 6f 6c 6f 75 72 22 2c 63 6f 6c 25 0d 16 da 26 c8 |olour",col%...&.| 00002e30 93 20 c8 90 20 a4 78 28 78 25 29 2c a4 79 28 79 |. .. .x(x%),.y(y| 00002e40 25 29 2c 62 6f 78 77 25 2d 32 2c 2d 62 6f 78 68 |%),boxw%-2,-boxh| 00002e50 25 0d 16 e4 24 e7 20 63 6f 6c 25 3c 3e 37 20 8c |%...$. col%<>7 .| 00002e60 20 c8 99 22 57 69 6d 70 5f 53 65 74 43 6f 6c 6f | .."Wimp_SetColo| 00002e70 75 72 22 2c 37 0d 16 ee 05 cd 0d 16 f8 36 e7 20 |ur",7........6. | 00002e80 64 25 3d 74 68 69 73 64 61 74 65 25 20 80 20 6d |d%=thisdate% . m| 00002e90 25 3d 74 68 69 73 6d 6f 6e 74 68 25 20 80 20 79 |%=thismonth% . y| 00002ea0 65 61 72 25 3d 74 68 69 73 79 65 61 72 25 20 8c |ear%=thisyear% .| 00002eb0 0d 17 02 19 c8 99 22 57 69 6d 70 5f 53 65 74 43 |......"Wimp_SetC| 00002ec0 6f 6c 6f 75 72 22 2c 31 31 0d 17 0c 28 c8 93 20 |olour",11...(.. | 00002ed0 a4 78 28 78 25 29 2b 32 2c a4 79 28 79 25 29 2d |.x(x%)+2,.y(y%)-| 00002ee0 34 2c 62 6f 78 77 25 2d 36 2c 38 2d 62 6f 78 68 |4,boxw%-6,8-boxh| 00002ef0 25 0d 17 16 18 c8 99 22 57 69 6d 70 5f 53 65 74 |%......"Wimp_Set| 00002f00 43 6f 6c 6f 75 72 22 2c 37 0d 17 20 05 cd 0d 17 |Colour",7.. ....| 00002f10 2a 23 c8 93 20 a4 78 28 78 25 29 2c a4 79 28 79 |*#.. .x(x%),.y(y| 00002f20 25 29 2c 62 6f 78 77 25 2d 32 2c 2d 62 6f 78 68 |%),boxw%-2,-boxh| 00002f30 25 0d 17 34 1e ec 20 a4 78 28 78 25 29 2b 34 2c |%..4.. .x(x%)+4,| 00002f40 a4 79 28 79 25 29 2d 74 65 78 74 6f 66 66 25 0d |.y(y%)-textoff%.| 00002f50 17 3e 12 e7 20 64 25 3c 31 30 20 8c 20 ef 20 33 |.>.. d%<10 . . 3| 00002f60 32 0d 17 48 0b f1 c3 28 64 25 29 3b 0d 17 52 18 |2..H...(d%);..R.| 00002f70 74 65 78 74 24 3d a4 6c 69 6e 65 28 64 25 2c 6d |text$=.line(d%,m| 00002f80 25 2c 30 29 0d 17 5c 11 e7 20 74 65 78 74 24 3c |%,0)..\.. text$<| 00002f90 3e 22 22 20 8c 0d 17 66 34 e7 20 63 6f 6c 77 69 |>"" ...f4. colwi| 00002fa0 64 74 68 25 3d 30 20 8c 20 ef 20 34 32 20 8b 20 |dth%=0 . . 42 . | 00002fb0 f1 22 20 22 3b c0 74 65 78 74 24 2c 28 62 6f 78 |." ";.text$,(box| 00002fc0 77 25 3e 3e 34 29 2d 34 29 0d 17 70 05 cd 0d 17 |w%>>4)-4)..p....| 00002fd0 7a 05 cd 0d 17 84 05 cc 0d 17 8e 27 e7 20 28 78 |z..........'. (x| 00002fe0 25 3d 30 20 84 20 78 25 3d 31 33 29 20 80 20 79 |%=0 . x%=13) . y| 00002ff0 25 3e 3d 30 20 80 20 79 25 3c 3d 33 36 20 8c 0d |%>=0 . y%<=36 ..| 00003000 17 98 3b ec 20 a4 78 28 78 25 29 2d 28 62 6f 78 |..;. .x(x%)-(box| 00003010 77 25 2d 36 38 29 2a 28 78 25 3d 30 29 2d 28 31 |w%-68)*(x%=0)-(1| 00003020 38 2a 28 78 25 3d 31 33 29 29 2c a4 79 28 79 25 |8*(x%=13)),.y(y%| 00003030 29 2d 74 65 78 74 6f 66 66 25 0d 17 a2 0f f1 64 |)-textoff%.....d| 00003040 61 79 24 28 79 25 83 37 29 0d 17 ac 05 cd 0d 17 |ay$(y%.7).......| 00003050 b6 05 cd 0d 17 c0 08 ed 20 79 25 0d 17 ca 08 ed |........ y%.....| 00003060 20 78 25 0d 17 d4 05 cd 0d 17 de 27 c8 99 22 57 | x%........'.."W| 00003070 69 6d 70 5f 47 65 74 52 65 63 74 61 6e 67 6c 65 |imp_GetRectangle| 00003080 22 2c 2c 62 6c 6b 25 20 b8 20 6d 6f 72 65 25 0d |",,blk% . more%.| 00003090 17 e8 05 ce 0d 17 f2 05 e1 0d 17 fc 04 0d 18 06 |................| 000030a0 15 dd 20 a4 6c 69 6e 65 28 64 25 2c 6d 25 2c 6c |.. .line(d%,m%,l| 000030b0 25 29 0d 18 10 30 3d 24 28 74 65 78 74 25 2b 28 |%)...0=$(text%+(| 000030c0 28 6d 25 2d 31 29 2a 33 31 2b 28 64 25 2d 31 29 |(m%-1)*31+(d%-1)| 000030d0 29 2a 74 65 78 74 73 69 7a 65 25 2b 6c 25 2a 32 |)*textsize%+l%*2| 000030e0 31 29 0d 18 1a 04 0d 18 24 1c dd 20 f2 73 74 6f |1)......$.. .sto| 000030f0 72 65 28 64 25 2c 6d 25 2c 6c 25 2c 74 65 78 74 |re(d%,m%,l%,text| 00003100 24 29 0d 18 2e 35 24 28 74 65 78 74 25 2b 28 28 |$)...5$(text%+((| 00003110 6d 25 2d 31 29 2a 33 31 2b 28 64 25 2d 31 29 29 |m%-1)*31+(d%-1))| 00003120 2a 74 65 78 74 73 69 7a 65 25 2b 6c 25 2a 32 31 |*textsize%+l%*21| 00003130 29 3d 74 65 78 74 24 0d 18 38 05 e1 0d 18 42 04 |)=text$..8....B.| 00003140 0d 18 4c 0c dd 20 a4 78 28 78 25 29 0d 18 56 11 |..L.. .x(x%)..V.| 00003150 3d 78 25 2a 62 6f 78 77 25 2b 77 78 25 0d 18 60 |=x%*boxw%+wx%..`| 00003160 04 0d 18 6a 0c dd 20 a4 79 28 79 25 29 0d 18 74 |...j.. .y(y%)..t| 00003170 15 3d 28 77 79 25 2d 79 25 2a 62 6f 78 68 25 29 |.=(wy%-y%*boxh%)| 00003180 2d 34 0d 18 7e 04 0d 18 88 17 dd 20 f2 61 6c 74 |-4..~...... .alt| 00003190 65 72 28 f8 20 78 25 2c f8 20 79 25 29 0d 18 92 |er(. x%,. y%)...| 000031a0 11 78 25 3d 78 25 20 81 20 62 6f 78 77 25 0d 18 |.x%=x% . boxw%..| 000031b0 9c 18 79 25 3d 2d 28 28 79 25 2b 34 29 20 81 20 |..y%=-((y%+4) . | 000031c0 62 6f 78 68 25 29 0d 18 a6 05 e1 0d 18 b0 04 0d |boxh%)..........| 000031d0 18 ba 19 dd 20 f2 63 6c 6f 73 65 77 69 6e 64 6f |.... .closewindo| 000031e0 77 28 21 62 6c 6b 25 29 0d 18 c4 18 e7 20 21 62 |w(!blk%)..... !b| 000031f0 6c 6b 25 3d 65 64 69 74 25 20 8c 20 f2 67 65 74 |lk%=edit% . .get| 00003200 0d 18 ce 1e c8 99 22 57 69 6d 70 5f 43 6c 6f 73 |......"Wimp_Clos| 00003210 65 57 69 6e 64 6f 77 22 2c 2c 62 6c 6b 25 0d 18 |eWindow",,blk%..| 00003220 d8 27 e7 20 21 62 6c 6b 25 3d 6d 61 69 6e 25 20 |.'. !blk%=main% | 00003230 8c 20 f2 63 6c 6f 73 65 77 69 6e 64 6f 77 28 65 |. .closewindow(e| 00003240 64 69 74 25 29 0d 18 e2 05 e1 0d 18 ec 04 0d 18 |dit%)...........| 00003250 f6 10 dd 20 f2 63 6c 6f 73 65 64 6f 77 6e 0d 19 |... .closedown..| 00003260 00 1e c8 99 22 57 69 6d 70 5f 43 6c 6f 73 65 44 |...."Wimp_CloseD| 00003270 6f 77 6e 22 2c 6d 79 74 61 73 6b 25 0d 19 0a 05 |own",mytask%....| 00003280 e0 0d 19 14 04 0d 19 1e 10 dd 20 f2 6d 6f 75 73 |.......... .mous| 00003290 65 69 6e 66 6f 0d 19 28 21 c8 99 22 57 69 6d 70 |einfo..(!.."Wimp| 000032a0 5f 47 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 |_GetPointerInfo"| 000032b0 2c 2c 62 6c 6b 25 0d 19 32 0d 6d 78 25 3d 21 62 |,,blk%..2.mx%=!b| 000032c0 6c 6b 25 0d 19 3c 0e 6d 79 25 3d 62 6c 6b 25 21 |lk%..<.my%=blk%!| 000032d0 34 0d 19 46 0f 62 75 74 25 3d 62 6c 6b 25 21 38 |4..F.but%=blk%!8| 000032e0 0d 19 50 11 77 69 6e 64 25 3d 62 6c 6b 25 21 31 |..P.wind%=blk%!1| 000032f0 32 0d 19 5a 11 69 63 6f 6e 25 3d 62 6c 6b 25 21 |2..Z.icon%=blk%!| 00003300 31 36 0d 19 64 05 e1 0d 19 6e 04 0d 19 78 11 dd |16..d....n...x..| 00003310 20 f2 6d 65 6e 75 73 65 6c 65 63 74 0d 19 82 12 | .menuselect....| 00003320 c8 8e 20 6f 70 65 6e 6d 65 6e 75 25 20 ca 0d 19 |.. openmenu% ...| 00003330 8c 0e c9 20 6d 65 6e 75 62 61 72 25 0d 19 96 0e |... menubar%....| 00003340 c8 8e 20 21 62 6c 6b 25 20 ca 0d 19 a0 0f c9 20 |.. !blk% ...... | 00003350 31 20 3a 20 f2 71 75 69 74 0d 19 aa 05 cb 0d 19 |1 : .quit.......| 00003360 b4 0f c9 20 6d 61 69 6e 6d 65 6e 75 25 0d 19 be |... mainmenu%...| 00003370 0e c8 8e 20 21 62 6c 6b 25 20 ca 0d 19 c8 07 c9 |... !blk% ......| 00003380 20 30 0d 19 d2 2b e7 20 62 6c 6b 25 21 34 3e 3d | 0...+. blk%!4>=| 00003390 30 20 80 20 62 6c 6b 25 21 34 3c 3e 79 65 61 72 |0 . blk%!4<>year| 000033a0 25 2d 74 68 69 73 79 65 61 72 25 20 8c 0d 19 dc |%-thisyear% ....| 000033b0 18 6e 79 25 3d 74 68 69 73 79 65 61 72 25 2b 62 |.ny%=thisyear%+b| 000033c0 6c 6b 25 21 34 0d 19 e6 10 f2 73 61 76 65 28 79 |lk%!4.....save(y| 000033d0 65 61 72 25 29 0d 19 f0 11 f2 73 65 74 79 65 61 |ear%).....setyea| 000033e0 72 28 6e 79 25 29 0d 19 fa 15 64 75 6d 25 3d a4 |r(ny%)....dum%=.| 000033f0 6c 6f 61 64 28 79 65 61 72 25 29 0d 1a 04 24 f2 |load(year%)...$.| 00003400 74 69 63 6b 28 79 65 61 72 6d 65 6e 75 25 2c 79 |tick(yearmenu%,y| 00003410 65 61 72 25 2d 74 68 69 73 79 65 61 72 25 29 0d |ear%-thisyear%).| 00003420 1a 0e 0f 21 62 6c 6b 25 3d 65 64 69 74 25 0d 1a |...!blk%=edit%..| 00003430 18 1e c8 99 22 57 69 6d 70 5f 43 6c 6f 73 65 57 |...."Wimp_CloseW| 00003440 69 6e 64 6f 77 22 2c 2c 62 6c 6b 25 0d 1a 22 0f |indow",,blk%..".| 00003450 21 62 6c 6b 25 3d 6d 61 69 6e 25 0d 1a 2c 0b f2 |!blk%=main%..,..| 00003460 72 65 64 72 61 77 0d 1a 36 05 cd 0d 1a 40 07 c9 |redraw..6....@..| 00003470 20 31 0d 1a 4a 25 e7 20 62 6c 6b 25 21 34 3e 3d | 1..J%. blk%!4>=| 00003480 30 20 80 20 62 6c 6b 25 21 34 3c 3e 63 6f 6c 77 |0 . blk%!4<>colw| 00003490 69 64 74 68 25 20 8c 0d 1a 54 1a f2 74 69 63 6b |idth% ...T..tick| 000034a0 28 63 6f 6c 6d 65 6e 75 25 2c 62 6c 6b 25 21 34 |(colmenu%,blk%!4| 000034b0 29 0d 1a 5e 14 63 6f 6c 77 69 64 74 68 25 3d 62 |)..^.colwidth%=b| 000034c0 6c 6b 25 21 34 0d 1a 68 0e f2 73 65 74 65 78 74 |lk%!4..h..setext| 000034d0 65 6e 74 0d 1a 72 0f 21 62 6c 6b 25 3d 6d 61 69 |ent..r.!blk%=mai| 000034e0 6e 25 0d 1a 7c 21 c8 99 22 57 69 6d 70 5f 47 65 |n%..|!.."Wimp_Ge| 000034f0 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 62 |tWindowState",,b| 00003500 6c 6b 25 0d 1a 86 1d c8 99 22 57 69 6d 70 5f 4f |lk%......"Wimp_O| 00003510 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 6c 6b 25 |penWindow",,blk%| 00003520 0d 1a 90 0b f2 72 65 64 72 61 77 0d 1a 9a 05 cd |.....redraw.....| 00003530 0d 1a a4 16 c9 20 32 20 3a 20 f2 73 61 76 65 28 |..... 2 : .save(| 00003540 79 65 61 72 25 29 0d 1a ae 07 c9 20 33 0d 1a b8 |year%)..... 3...| 00003550 13 64 25 3d a4 6c 6f 61 64 28 79 65 61 72 25 29 |.d%=.load(year%)| 00003560 0d 1a c2 0f 21 62 6c 6b 25 3d 6d 61 69 6e 25 0d |....!blk%=main%.| 00003570 1a cc 0b f2 72 65 64 72 61 77 0d 1a d6 05 cb 0d |....redraw......| 00003580 1a e0 0f c9 20 65 64 69 74 6d 65 6e 75 25 0d 1a |.... editmenu%..| 00003590 ea 0e c8 8e 20 21 62 6c 6b 25 20 ca 0d 1a f4 07 |.... !blk% .....| 000035a0 c9 20 31 0d 1a fe 0e e3 20 69 25 3d 30 20 b8 20 |. 1..... i%=0 . | 000035b0 34 0d 1b 08 0f 21 62 6c 6b 25 3d 65 64 69 74 25 |4....!blk%=edit%| 000035c0 0d 1b 12 0d 62 6c 6b 25 21 34 3d 69 25 0d 1b 1c |....blk%!4=i%...| 000035d0 1f c8 99 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e |..."Wimp_GetIcon| 000035e0 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 1b 26 0c |State",,blk%..&.| 000035f0 62 6c 6b 25 21 38 3d 30 0d 1b 30 0d 62 6c 6b 25 |blk%!8=0..0.blk%| 00003600 21 31 32 3d 30 0d 1b 3a 11 24 28 62 6c 6b 25 21 |!12=0..:.$(blk%!| 00003610 32 38 29 3d 22 22 0d 1b 44 1f c8 99 22 57 69 6d |28)=""..D..."Wim| 00003620 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 2c |p_SetIconState",| 00003630 2c 62 6c 6b 25 0d 1b 4e 08 ed 20 69 25 0d 1b 58 |,blk%..N.. i%..X| 00003640 08 f2 67 65 74 0d 1b 62 05 cb 0d 1b 6c 05 cb 0d |..get..b....l...| 00003650 1b 76 0e f2 6d 6f 75 73 65 69 6e 66 6f 0d 1b 80 |.v..mouseinfo...| 00003660 3b e7 20 62 75 74 25 3d 31 20 8c 20 c8 99 22 57 |;. but%=1 . .."W| 00003670 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c |imp_CreateMenu",| 00003680 2c 6f 70 65 6e 6d 65 6e 75 25 2c 6d 65 6e 75 78 |,openmenu%,menux| 00003690 25 2c 6d 65 6e 75 79 25 0d 1b 8a 05 e1 0d 1b 94 |%,menuy%........| 000036a0 04 0d 1b 9e 0b dd 20 f2 71 75 69 74 0d 1b a8 3d |...... .quit...=| 000036b0 e7 20 63 68 61 6e 67 65 64 25 20 8c 20 e7 20 a4 |. changed% . . .| 000036c0 63 68 65 63 6b 28 22 53 61 76 65 20 64 69 61 72 |check("Save diar| 000036d0 79 20 66 69 72 73 74 3f 22 29 20 8c 20 f2 73 61 |y first?") . .sa| 000036e0 76 65 28 79 65 61 72 25 29 0d 1b b2 0e f2 63 6c |ve(year%).....cl| 000036f0 6f 73 65 64 6f 77 6e 0d 1b bc 05 e1 0d 1b c6 04 |osedown.........| 00003700 0d 1b d0 26 dd 20 f2 63 6c 69 63 6b 28 6d 78 25 |...&. .click(mx%| 00003710 2c 6d 79 25 2c 62 75 74 25 2c 77 69 6e 64 25 2c |,my%,but%,wind%,| 00003720 69 63 6f 6e 25 29 0d 1b da 0e c8 8e 20 77 69 6e |icon%)...... win| 00003730 64 25 20 ca 0d 1b e4 08 c9 20 2d 32 0d 1b ee 0d |d% ...... -2....| 00003740 c8 8e 20 62 75 74 25 20 ca 0d 1b f8 28 c9 20 32 |.. but% ....(. 2| 00003750 20 3a 20 f2 6d 65 6e 75 28 6d 65 6e 75 62 61 72 | : .menu(menubar| 00003760 25 2c 6d 78 25 2c 62 61 72 68 65 69 67 68 74 25 |%,mx%,barheight%| 00003770 29 0d 1c 02 16 c9 20 34 20 3a 20 f2 6f 70 65 6e |)..... 4 : .open| 00003780 28 6d 61 69 6e 25 29 0d 1c 0c 05 cb 0d 1c 16 0b |(main%).........| 00003790 c9 20 6d 61 69 6e 25 0d 1c 20 0d c8 8e 20 62 75 |. main%.. ... bu| 000037a0 74 25 20 ca 0d 1c 2a 22 c9 20 32 20 3a 20 f2 6d |t% ...*". 2 : .m| 000037b0 65 6e 75 28 6d 61 69 6e 6d 65 6e 75 25 2c 6d 78 |enu(mainmenu%,mx| 000037c0 25 2c 6d 79 25 29 0d 1c 34 1b c9 20 34 20 3a 20 |%,my%)..4.. 4 : | 000037d0 f2 6e 65 77 65 64 69 74 28 6d 78 25 2c 6d 79 25 |.newedit(mx%,my%| 000037e0 29 0d 1c 3e 05 cb 0d 1c 48 0b c9 20 65 64 69 74 |)..>....H.. edit| 000037f0 25 0d 1c 52 0d c8 8e 20 62 75 74 25 20 ca 0d 1c |%..R... but% ...| 00003800 5c 09 c9 20 34 2c 31 0d 1c 66 1c e7 20 69 63 6f |\.. 4,1..f.. ico| 00003810 6e 25 3e 3d 39 20 80 20 69 63 6f 6e 25 3c 3d 32 |n%>=9 . icon%<=2| 00003820 32 20 8c 0d 1c 70 10 63 6f 6c 25 3d 69 63 6f 6e |2 ...p.col%=icon| 00003830 25 2d 39 0d 1c 7a 16 e7 20 63 6f 6c 25 3c 3e 68 |%-9..z.. col%<>h| 00003840 69 67 68 63 6f 6c 25 20 8c 0d 1c 84 21 f2 73 65 |ighcol% ....!.se| 00003850 74 66 6c 61 67 28 63 64 61 74 65 25 2c 63 6d 6f |tflag(cdate%,cmo| 00003860 6e 74 68 25 2c 63 6f 6c 25 29 0d 1c 8e 1e f2 73 |nth%,col%).....s| 00003870 65 74 66 63 28 65 64 69 74 25 2c 68 69 67 68 63 |etfc(edit%,highc| 00003880 6f 6c 25 2b 39 2c 31 29 0d 1c 98 11 68 69 67 68 |ol%+9,1)....high| 00003890 63 6f 6c 25 3d 63 6f 6c 25 0d 1c a2 1e f2 73 65 |col%=col%.....se| 000038a0 74 66 63 28 65 64 69 74 25 2c 68 69 67 68 63 6f |tfc(edit%,highco| 000038b0 6c 25 2b 39 2c 37 29 0d 1c ac 1b f2 75 70 64 61 |l%+9,7).....upda| 000038c0 74 65 28 63 64 61 74 65 25 2c 63 6d 6f 6e 74 68 |te(cdate%,cmonth| 000038d0 25 29 0d 1c b6 0e 63 68 61 6e 67 65 64 25 3d b9 |%)....changed%=.| 000038e0 0d 1c c0 05 cd 0d 1c ca 05 cd 0d 1c d4 22 c9 20 |.............". | 000038f0 32 20 3a 20 f2 6d 65 6e 75 28 65 64 69 74 6d 65 |2 : .menu(editme| 00003900 6e 75 25 2c 6d 78 25 2c 6d 79 25 29 0d 1c de 05 |nu%,mx%,my%)....| 00003910 cb 0d 1c e8 22 c9 20 73 61 76 65 66 66 66 31 25 |....". savefff1%| 00003920 2c 73 61 76 65 66 66 66 32 25 2c 73 61 76 65 61 |,savefff2%,savea| 00003930 66 66 25 0d 1c f2 0e c8 8e 20 69 63 6f 6e 25 20 |ff%...... icon% | 00003940 ca 0d 1c fc 07 c9 20 32 0d 1d 06 0e c8 8e 20 77 |...... 2...... w| 00003950 69 6e 64 25 20 ca 0d 1d 10 2d c9 20 73 61 76 65 |ind% ....-. save| 00003960 66 66 66 31 25 20 3a 20 f2 73 61 76 65 74 65 78 |fff1% : .savetex| 00003970 74 28 24 66 69 6c 65 6e 61 6d 65 66 66 66 31 25 |t($filenamefff1%| 00003980 2c 30 29 0d 1d 1a 31 c9 20 73 61 76 65 66 66 66 |,0)...1. savefff| 00003990 32 25 20 3a 20 f2 73 61 76 65 6d 6f 6e 74 68 66 |2% : .savemonthf| 000039a0 66 66 28 24 66 69 6c 65 6e 61 6d 65 66 66 66 32 |ff($filenamefff2| 000039b0 25 2c 30 29 0d 1d 24 2f c9 20 73 61 76 65 61 66 |%,0)..$/. saveaf| 000039c0 66 25 20 3a 20 f2 73 61 76 65 6d 6f 6e 74 68 61 |f% : .savemontha| 000039d0 66 66 28 24 66 69 6c 65 6e 61 6d 65 61 66 66 25 |ff($filenameaff%| 000039e0 2c 30 29 0d 1d 2e 05 cb 0d 1d 38 21 c9 20 30 20 |,0).......8!. 0 | 000039f0 3a 20 f2 73 74 61 72 74 64 72 61 67 28 77 69 6e |: .startdrag(win| 00003a00 64 25 2c 69 63 6f 6e 25 29 0d 1d 42 05 cb 0d 1d |d%,icon%)..B....| 00003a10 4c 05 cb 0d 1d 56 05 e1 0d 1d 60 04 0d 1d 6a 1d |L....V....`...j.| 00003a20 dd 20 f2 73 74 61 72 74 64 72 61 67 28 77 69 6e |. .startdrag(win| 00003a30 64 25 2c 69 63 6f 6e 25 29 0d 1d 74 13 64 72 61 |d%,icon%)..t.dra| 00003a40 67 77 69 6e 64 25 3d 77 69 6e 64 25 0d 1d 7e 13 |gwind%=wind%..~.| 00003a50 64 72 61 67 69 63 6f 6e 25 3d 69 63 6f 6e 25 0d |dragicon%=icon%.| 00003a60 1d 88 0f 21 62 6c 6b 25 3d 77 69 6e 64 25 0d 1d |...!blk%=wind%..| 00003a70 92 21 c8 99 22 57 69 6d 70 5f 47 65 74 57 69 6e |.!.."Wimp_GetWin| 00003a80 64 6f 77 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d |dowState",,blk%.| 00003a90 1d 9c 16 79 73 25 3d 62 6c 6b 25 21 31 36 2d 62 |...ys%=blk%!16-b| 00003aa0 6c 6b 25 21 38 0d 1d a6 0d 78 25 3d 62 6c 6b 25 |lk%!8....x%=blk%| 00003ab0 21 34 0d 1d b0 0d 79 25 3d 62 6c 6b 25 21 38 0d |!4....y%=blk%!8.| 00003ac0 1d ba 10 62 6c 6b 25 21 34 3d 69 63 6f 6e 25 0d |...blk%!4=icon%.| 00003ad0 1d c4 1f c8 99 22 57 69 6d 70 5f 47 65 74 49 63 |....."Wimp_GetIc| 00003ae0 6f 6e 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 1d |onState",,blk%..| 00003af0 ce 0b 21 62 6c 6b 25 3d 30 0d 1d d8 0c 62 6c 6b |..!blk%=0....blk| 00003b00 25 21 34 3d 35 0d 1d e2 0e 62 6c 6b 25 21 38 2b |%!4=5....blk%!8+| 00003b10 3d 78 25 0d 1d ec 13 62 6c 6b 25 21 31 32 2b 3d |=x%....blk%!12+=| 00003b20 79 25 2b 79 73 25 0d 1d f6 0f 62 6c 6b 25 21 31 |y%+ys%....blk%!1| 00003b30 36 2b 3d 78 25 0d 1e 00 13 62 6c 6b 25 21 32 30 |6+=x%....blk%!20| 00003b40 2b 3d 79 25 2b 79 73 25 0d 1e 0a 0d 62 6c 6b 25 |+=y%+ys%....blk%| 00003b50 21 32 34 3d 30 0d 1e 14 0d 62 6c 6b 25 21 32 38 |!24=0....blk%!28| 00003b60 3d 30 0d 1e 1e 10 62 6c 6b 25 21 33 32 3d 73 63 |=0....blk%!32=sc| 00003b70 78 25 0d 1e 28 10 62 6c 6b 25 21 33 36 3d 73 63 |x%..(.blk%!36=sc| 00003b80 79 25 0d 1e 32 1a c8 99 22 57 69 6d 70 5f 44 72 |y%..2..."Wimp_Dr| 00003b90 61 67 42 6f 78 22 2c 2c 62 6c 6b 25 0d 1e 3c 05 |agBox",,blk%..<.| 00003ba0 e1 0d 1e 46 04 0d 1e 50 18 dd 20 f2 6d 65 6e 75 |...F...P.. .menu| 00003bb0 28 64 61 74 61 25 2c 78 25 2c 79 25 29 0d 1e 5a |(data%,x%,y%)..Z| 00003bc0 13 6f 70 65 6e 6d 65 6e 75 25 3d 64 61 74 61 25 |.openmenu%=data%| 00003bd0 0d 1e 64 19 78 25 3d 78 25 2d 28 64 61 74 61 25 |..d.x%=x%-(data%| 00003be0 21 31 36 29 2f 32 2d 31 36 0d 1e 6e 24 c8 99 22 |!16)/2-16..n$.."| 00003bf0 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 |Wimp_CreateMenu"| 00003c00 2c 2c 64 61 74 61 25 2c 78 25 2c 79 25 0d 1e 78 |,,data%,x%,y%..x| 00003c10 0d 6d 65 6e 75 78 25 3d 78 25 0d 1e 82 0d 6d 65 |.menux%=x%....me| 00003c20 6e 75 79 25 3d 79 25 0d 1e 8c 05 e1 0d 1e 96 04 |nuy%=y%.........| 00003c30 0d 1e a0 23 dd 20 f2 6d 65 73 73 61 67 65 28 74 |...#. .message(t| 00003c40 61 73 6b 25 2c 72 65 66 25 2c 6d 65 73 73 61 67 |ask%,ref%,messag| 00003c50 65 25 29 0d 1e aa 11 c8 8e 20 6d 65 73 73 61 67 |e%)...... messag| 00003c60 65 25 20 ca 0d 1e b4 0f c9 20 30 20 3a 20 f2 71 |e% ...... 0 : .q| 00003c70 75 69 74 0d 1e be 07 c9 20 32 0d 1e c8 12 c8 8e |uit..... 2......| 00003c80 20 64 72 61 67 77 69 6e 64 25 20 ca 0d 1e d2 2d | dragwind% ....-| 00003c90 c9 20 73 61 76 65 66 66 66 31 25 3a f2 73 61 76 |. savefff1%:.sav| 00003ca0 65 74 65 78 74 28 a4 73 74 72 69 6e 67 28 62 6c |etext(.string(bl| 00003cb0 6b 25 2b 34 34 29 2c b9 29 0d 1e dc 31 c9 20 73 |k%+44),.)...1. s| 00003cc0 61 76 65 66 66 66 32 25 3a f2 73 61 76 65 6d 6f |avefff2%:.savemo| 00003cd0 6e 74 68 66 66 66 28 a4 73 74 72 69 6e 67 28 62 |nthfff(.string(b| 00003ce0 6c 6b 25 2b 34 34 29 2c b9 29 0d 1e e6 30 c9 20 |lk%+44),.)...0. | 00003cf0 73 61 76 65 61 66 66 25 3a f2 73 61 76 65 6d 6f |saveaff%:.savemo| 00003d00 6e 74 68 61 66 66 28 a4 73 74 72 69 6e 67 28 62 |nthaff(.string(b| 00003d10 6c 6b 25 2b 34 34 29 2c b9 29 0d 1e f0 05 cb 0d |lk%+44),.)......| 00003d20 1e fa 0e e7 20 73 61 76 65 64 25 20 8c 0d 1f 04 |.... saved% ....| 00003d30 21 c8 99 22 57 69 6d 70 5f 47 65 74 50 6f 69 6e |!.."Wimp_GetPoin| 00003d40 74 65 72 49 6e 66 6f 22 2c 2c 62 6c 6b 25 0d 1f |terInfo",,blk%..| 00003d50 0e 13 62 6c 6b 25 21 32 30 3d 62 6c 6b 25 21 31 |..blk%!20=blk%!1| 00003d60 32 0d 1f 18 13 62 6c 6b 25 21 32 34 3d 62 6c 6b |2....blk%!24=blk| 00003d70 25 21 31 36 0d 1f 22 11 62 6c 6b 25 21 32 38 3d |%!16..".blk%!28=| 00003d80 21 62 6c 6b 25 0d 1f 2c 12 62 6c 6b 25 21 33 32 |!blk%..,.blk%!32| 00003d90 3d 62 6c 6b 25 21 34 0d 1f 36 11 62 6c 6b 25 21 |=blk%!4..6.blk%!| 00003da0 33 36 3d 73 69 7a 65 25 0d 1f 40 15 62 6c 6b 25 |36=size%..@.blk%| 00003db0 21 34 30 3d 66 69 6c 65 74 79 70 65 25 0d 1f 4a |!40=filetype%..J| 00003dc0 27 21 62 6c 6b 25 3d 34 38 2b 28 a9 28 a4 73 74 |'!blk%=48+(.(.st| 00003dd0 72 69 6e 67 28 62 6c 6b 25 2b 34 34 29 29 2b 33 |ring(blk%+44))+3| 00003de0 29 80 ac 33 0d 1f 54 10 f2 72 65 70 6c 79 28 31 |)..3..T..reply(1| 00003df0 37 2c 33 29 0d 1f 5e 05 cd 0d 1f 68 07 c9 20 36 |7,3)..^....h.. 6| 00003e00 0d 1f 72 1b e7 20 64 72 61 67 77 69 6e 64 25 3d |..r.. dragwind%=| 00003e10 73 61 76 65 66 66 66 31 25 20 8c 0d 1f 7c 16 74 |savefff1% ...|.t| 00003e20 6f 67 6f 25 3d a4 73 69 7a 65 2d 74 72 61 6e 73 |ogo%=.size-trans| 00003e30 25 0d 1f 86 23 e7 20 74 6f 67 6f 25 3e 62 6c 6b |%...#. togo%>blk| 00003e40 25 21 32 34 20 8c 20 74 6f 67 6f 25 3d 62 6c 6b |%!24 . togo%=blk| 00003e50 25 21 32 34 0d 1f 90 47 c8 99 22 57 69 6d 70 5f |%!24...G.."Wimp_| 00003e60 54 72 61 6e 73 66 65 72 42 6c 6f 63 6b 22 2c 6d |TransferBlock",m| 00003e70 79 74 61 73 6b 25 2c 74 65 78 74 62 75 66 66 25 |ytask%,textbuff%| 00003e80 2b 74 72 61 6e 73 25 2c 74 61 73 6b 25 2c 62 6c |+trans%,task%,bl| 00003e90 6b 25 21 32 30 2c 74 6f 67 6f 25 0d 1f 9a 11 62 |k%!20,togo%....b| 00003ea0 6c 6b 25 21 32 34 3d 74 6f 67 6f 25 0d 1f a4 10 |lk%!24=togo%....| 00003eb0 f2 72 65 70 6c 79 28 31 38 2c 37 29 0d 1f ae 11 |.reply(18,7)....| 00003ec0 74 72 61 6e 73 25 2b 3d 74 6f 67 6f 25 0d 1f b8 |trans%+=togo%...| 00003ed0 05 cd 0d 1f c2 17 c9 20 26 34 30 30 43 31 20 3a |....... &400C1 :| 00003ee0 20 f2 6e 65 77 6d 6f 64 65 0d 1f cc 05 cb 0d 1f | .newmode.......| 00003ef0 d6 05 e1 0d 1f e0 04 0d 1f ea 1b dd 20 f2 72 65 |............ .re| 00003f00 70 6c 79 28 74 79 70 65 25 2c 72 65 61 73 6f 6e |ply(type%,reason| 00003f10 25 29 0d 1f f4 10 62 6c 6b 25 21 31 32 3d 72 65 |%)....blk%!12=re| 00003f20 66 25 0d 1f fe 13 62 6c 6b 25 21 31 36 3d 72 65 |f%....blk%!16=re| 00003f30 61 73 6f 6e 25 0d 20 08 29 c8 99 22 57 69 6d 70 |ason%. .).."Wimp| 00003f40 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 74 79 |_SendMessage",ty| 00003f50 70 65 25 2c 62 6c 6b 25 2c 74 61 73 6b 25 0d 20 |pe%,blk%,task%. | 00003f60 12 05 e1 0d 20 1c 04 0d 20 26 0e dd 20 f2 6e 65 |.... ... &.. .ne| 00003f70 77 6d 6f 64 65 0d 20 30 0c 21 62 6c 6b 25 3d 31 |wmode. 0.!blk%=1| 00003f80 31 0d 20 3a 0d 62 6c 6b 25 21 34 3d 31 32 0d 20 |1. :.blk%!4=12. | 00003f90 44 0d 62 6c 6b 25 21 38 3d 2d 31 0d 20 4e 25 c8 |D.blk%!8=-1. N%.| 00003fa0 99 22 4f 53 5f 52 65 61 64 56 64 75 56 61 72 69 |."OS_ReadVduVari| 00003fb0 61 62 6c 65 73 22 2c 62 6c 6b 25 2c 62 6c 6b 25 |ables",blk%,blk%| 00003fc0 0d 20 58 14 73 63 78 25 3d 28 21 62 6c 6b 25 2b |. X.scx%=(!blk%+| 00003fd0 31 29 2a 32 0d 20 62 15 73 63 79 25 3d 28 62 6c |1)*2. b.scy%=(bl| 00003fe0 6b 25 21 34 2b 31 29 2a 34 0d 20 6c 05 e1 0d 20 |k%!4+1)*4. l... | 00003ff0 76 04 0d 20 80 21 dd 20 a4 6c 6f 61 64 74 65 6d |v.. .!. .loadtem| 00004000 70 6c 61 74 65 28 74 69 74 6c 65 24 2c 73 69 7a |plate(title$,siz| 00004010 65 25 29 0d 20 8a 11 de 20 62 75 66 66 25 20 73 |e%). ... buff% s| 00004020 69 7a 65 25 0d 20 94 3b c8 99 22 57 69 6d 70 5f |ize%. .;.."Wimp_| 00004030 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 62 |LoadTemplate",,b| 00004040 6c 6b 25 2c 62 75 66 66 25 2c 62 75 66 66 25 2b |lk%,buff%,buff%+| 00004050 73 69 7a 65 25 2c 2d 31 2c 74 69 74 6c 65 24 0d |size%,-1,title$.| 00004060 20 9e 27 c8 99 22 57 69 6d 70 5f 43 72 65 61 74 | .'.."Wimp_Creat| 00004070 65 57 69 6e 64 6f 77 22 2c 2c 62 6c 6b 25 20 b8 |eWindow",,blk% .| 00004080 20 77 69 6e 64 25 0d 20 a8 0a 3d 77 69 6e 64 25 | wind%. ..=wind%| 00004090 0d 20 b2 04 0d 20 bc 18 dd 20 f2 74 69 63 6b 28 |. ... ... .tick(| 000040a0 6d 65 6e 75 25 2c 74 69 63 6b 25 29 0d 20 c6 0e |menu%,tick%). ..| 000040b0 70 25 3d 6d 65 6e 75 25 2b 34 0d 20 d0 09 61 25 |p%=menu%+4. ..a%| 000040c0 3d 2d 31 0d 20 da 05 f5 0d 20 e4 0a 70 25 2b 3d |=-1. .... ..p%+=| 000040d0 32 34 0d 20 ee 09 61 25 2b 3d 31 0d 20 f8 29 e7 |24. ..a%+=1. .).| 000040e0 20 61 25 3d 74 69 63 6b 25 20 8c 20 21 70 25 3d | a%=tick% . !p%=| 000040f0 21 70 25 20 84 31 20 8b 20 21 70 25 3d 21 70 25 |!p% .1 . !p%=!p%| 00004100 20 80 ac 31 0d 21 02 0f fd 20 21 70 25 20 80 20 | ..1.!... !p% . | 00004110 26 38 30 0d 21 0c 05 e1 0d 21 16 04 0d 21 20 14 |&80.!....!...! .| 00004120 dd 20 a4 63 72 6d 65 6e 75 28 74 65 78 74 24 29 |. .crmenu(text$)| 00004130 0d 21 2a 14 6f 6c 64 70 74 72 25 3d 6d 65 6e 75 |.!*.oldptr%=menu| 00004140 70 74 72 25 0d 21 34 0c 69 74 65 6d 73 25 3d 30 |ptr%.!4.items%=0| 00004150 0d 21 3e 0e 74 65 78 74 24 2b 3d 22 2c 22 0d 21 |.!>.text$+=",".!| 00004160 48 1b 74 69 74 6c 65 24 3d a4 6e 65 78 74 77 6f |H.title$=.nextwo| 00004170 72 64 28 74 65 78 74 24 29 0d 21 52 14 24 6d 65 |rd(text$).!R.$me| 00004180 6e 75 70 74 72 25 3d 74 69 74 6c 65 24 0d 21 5c |nuptr%=title$.!\| 00004190 10 6d 61 78 25 3d a9 74 69 74 6c 65 24 0d 21 66 |.max%=.title$.!f| 000041a0 16 6d 65 6e 75 70 74 72 25 21 31 32 3d 26 37 30 |.menuptr%!12=&70| 000041b0 32 30 37 0d 21 70 12 6d 65 6e 75 70 74 72 25 21 |207.!p.menuptr%!| 000041c0 32 30 3d 34 34 0d 21 7a 11 6d 65 6e 75 70 74 72 |20=44.!z.menuptr| 000041d0 25 21 32 34 3d 30 0d 21 84 0f 6d 65 6e 75 70 74 |%!24=0.!..menupt| 000041e0 72 25 2b 3d 34 0d 21 8e 10 c8 95 20 74 65 78 74 |r%+=4.!.... text| 000041f0 24 3c 3e 22 22 0d 21 98 0d 69 74 65 6d 73 25 2b |$<>"".!..items%+| 00004200 3d 31 0d 21 a2 10 6d 65 6e 75 70 74 72 25 2b 3d |=1.!..menuptr%+=| 00004210 32 34 0d 21 ac 0f 21 6d 65 6e 75 70 74 72 25 3d |24.!..!menuptr%=| 00004220 30 0d 21 b6 10 6d 65 6e 75 70 74 72 25 21 34 3d |0.!..menuptr%!4=| 00004230 30 0d 21 c0 1a 77 6f 72 64 24 3d a4 6e 65 78 74 |0.!..word$=.next| 00004240 77 6f 72 64 28 74 65 78 74 24 29 0d 21 ca 18 74 |word(text$).!..t| 00004250 6f 6b 65 6e 24 3d a4 74 6f 6b 65 6e 28 77 6f 72 |oken$=.token(wor| 00004260 64 24 29 0d 21 d4 11 c8 95 20 74 6f 6b 65 6e 24 |d$).!.... token$| 00004270 3c 3e 22 22 0d 21 de 0f c8 8e 20 74 6f 6b 65 6e |<>"".!.... token| 00004280 24 20 ca 0d 21 e8 2a c9 20 22 3e 22 20 3a 20 6d |$ ..!.*. ">" : m| 00004290 65 6e 75 70 74 72 25 21 34 3d a0 28 a4 6e 65 78 |enuptr%!4=.(.nex| 000042a0 74 77 6f 72 64 28 74 65 78 74 24 29 29 0d 21 f2 |tword(text$)).!.| 000042b0 23 c9 20 22 2f 22 20 3a 20 21 6d 65 6e 75 70 74 |#. "/" : !menupt| 000042c0 72 25 3d 21 6d 65 6e 75 70 74 72 25 20 84 20 31 |r%=!menuptr% . 1| 000042d0 0d 21 fc 23 c9 20 22 2d 22 20 3a 20 21 6d 65 6e |.!.#. "-" : !men| 000042e0 75 70 74 72 25 3d 21 6d 65 6e 75 70 74 72 25 20 |uptr%=!menuptr% | 000042f0 84 20 32 0d 22 06 23 c9 20 22 21 22 20 3a 20 21 |. 2.".#. "!" : !| 00004300 6d 65 6e 75 70 74 72 25 3d 21 6d 65 6e 75 70 74 |menuptr%=!menupt| 00004310 72 25 20 84 20 34 0d 22 10 05 cb 0d 22 1a 18 74 |r% . 4."...."..t| 00004320 6f 6b 65 6e 24 3d a4 74 6f 6b 65 6e 28 77 6f 72 |oken$=.token(wor| 00004330 64 24 29 0d 22 24 05 ce 0d 22 2e 1f 6d 65 6e 75 |d$)."$..."..menu| 00004340 70 74 72 25 21 38 3d 28 37 3c 3c 32 34 29 20 84 |ptr%!8=(7<<24) .| 00004350 20 25 31 30 30 30 31 0d 22 38 22 e7 20 21 6d 65 | %10001."8". !me| 00004360 6e 75 70 74 72 25 20 80 20 34 20 84 20 74 6f 6b |nuptr% . 4 . tok| 00004370 65 6e 24 3d 22 23 22 20 8c 0d 22 42 20 6d 65 6e |en$="#" .."B men| 00004380 75 70 74 72 25 21 38 3d 6d 65 6e 75 70 74 72 25 |uptr%!8=menuptr%| 00004390 21 38 20 84 20 31 3c 3c 38 0d 22 4c 23 6d 65 6e |!8 . 1<<8."L#men| 000043a0 75 70 74 72 25 21 31 32 3d a0 28 a4 6e 65 78 74 |uptr%!12=.(.next| 000043b0 77 6f 72 64 28 74 65 78 74 24 29 29 0d 22 56 12 |word(text$))."V.| 000043c0 6d 65 6e 75 70 74 72 25 21 31 36 3d 2d 31 0d 22 |menuptr%!16=-1."| 000043d0 60 18 6d 65 6e 75 70 74 72 25 21 32 30 3d a0 28 |`.menuptr%!20=.(| 000043e0 77 6f 72 64 24 29 0d 22 6a 3d e7 20 6d 65 6e 75 |word$)."j=. menu| 000043f0 70 74 72 25 21 32 30 3e 6d 61 78 25 20 80 20 28 |ptr%!20>max% . (| 00004400 21 6d 65 6e 75 70 74 72 25 20 80 20 34 29 3d 30 |!menuptr% . 4)=0| 00004410 20 8c 20 6d 61 78 25 3d 6d 65 6e 75 70 74 72 25 | . max%=menuptr%| 00004420 21 32 30 0d 22 74 05 cc 0d 22 7e 18 24 28 6d 65 |!20."t..."~.$(me| 00004430 6e 75 70 74 72 25 2b 31 32 29 3d 77 6f 72 64 24 |nuptr%+12)=word$| 00004440 0d 22 88 1f e7 20 a9 77 6f 72 64 24 3e 6d 61 78 |."... .word$>max| 00004450 25 20 8c 20 6d 61 78 25 3d a9 77 6f 72 64 24 0d |% . max%=.word$.| 00004460 22 92 05 cd 0d 22 9c 05 ce 0d 22 a6 1d 21 6d 65 |"...."...."..!me| 00004470 6e 75 70 74 72 25 3d 21 6d 65 6e 75 70 74 72 25 |nuptr%=!menuptr%| 00004480 20 84 20 26 38 30 0d 22 b0 10 6d 65 6e 75 70 74 | . &80."..menupt| 00004490 72 25 2b 3d 32 34 0d 22 ba 18 6f 6c 64 70 74 72 |r%+=24."..oldptr| 000044a0 25 21 31 36 3d 6d 61 78 25 2a 31 36 2b 38 0d 22 |%!16=max%*16+8."| 000044b0 c4 0c 3d 6f 6c 64 70 74 72 25 0d 22 ce 04 0d 22 |..=oldptr%."..."| 000044c0 d8 15 dd 20 a4 74 6f 6b 65 6e 28 f8 20 77 6f 72 |... .token(. wor| 000044d0 64 24 29 0d 22 e2 0d 74 6f 6b 65 6e 24 3d 22 22 |d$)."..token$=""| 000044e0 0d 22 ec 19 e7 20 a7 22 3e 2f 21 23 2d 22 2c c2 |."... .">/!#-",.| 000044f0 77 6f 72 64 24 29 29 20 8c 0d 22 f6 14 74 6f 6b |word$)) .."..tok| 00004500 65 6e 24 3d c2 77 6f 72 64 24 2c 31 29 0d 23 00 |en$=.word$,1).#.| 00004510 1a 77 6f 72 64 24 3d c0 77 6f 72 64 24 2c a9 77 |.word$=.word$,.w| 00004520 6f 72 64 24 2d 31 29 0d 23 0a 05 cd 0d 23 14 0b |ord$-1).#....#..| 00004530 3d 74 6f 6b 65 6e 24 0d 23 1e 04 0d 23 28 18 dd |=token$.#...#(..| 00004540 20 a4 6e 65 78 74 77 6f 72 64 28 f8 20 74 65 78 | .nextword(. tex| 00004550 74 24 29 0d 23 32 10 ea 20 77 6f 72 64 24 2c 70 |t$).#2.. word$,p| 00004560 6f 73 25 0d 23 3c 14 70 6f 73 25 3d a7 74 65 78 |os%.#<.pos%=.tex| 00004570 74 24 2c 22 2c 22 29 0d 23 46 18 77 6f 72 64 24 |t$,",").#F.word$| 00004580 3d c0 74 65 78 74 24 2c 70 6f 73 25 2d 31 29 0d |=.text$,pos%-1).| 00004590 23 50 18 74 65 78 74 24 3d c1 74 65 78 74 24 2c |#P.text$=.text$,| 000045a0 70 6f 73 25 2b 31 29 0d 23 5a 0a 3d 77 6f 72 64 |pos%+1).#Z.=word| 000045b0 24 0d 23 64 04 0d 23 6e 45 dd 20 a4 63 72 69 63 |$.#d..#nE. .cric| 000045c0 6f 6e 28 21 62 6c 6b 25 2c 62 6c 6b 25 21 34 2c |on(!blk%,blk%!4,| 000045d0 62 6c 6b 25 21 38 2c 62 6c 6b 25 21 31 32 2c 62 |blk%!8,blk%!12,b| 000045e0 6c 6b 25 21 31 36 2c 62 6c 6b 25 21 32 30 2c 24 |lk%!16,blk%!20,$| 000045f0 28 62 6c 6b 25 2b 32 34 29 29 0d 23 78 25 c8 99 |(blk%+24)).#x%..| 00004600 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f 6e |"Wimp_CreateIcon| 00004610 22 2c 2c 62 6c 6b 25 20 b8 20 69 63 6f 6e 25 0d |",,blk% . icon%.| 00004620 23 82 0a 3d 69 63 6f 6e 25 0d 23 8c 04 0d 23 96 |#..=icon%.#...#.| 00004630 16 dd 20 a4 63 68 65 63 6b 28 6d 65 73 73 61 67 |.. .check(messag| 00004640 65 24 29 0d 23 a0 17 c8 99 22 57 69 6d 70 5f 44 |e$).#...."Wimp_D| 00004650 72 61 67 42 6f 78 22 2c 2c 30 0d 23 aa 0b 21 62 |ragBox",,0.#..!b| 00004660 6c 6b 25 3d 30 0d 23 b4 16 24 28 62 6c 6b 25 2b |lk%=0.#..$(blk%+| 00004670 34 29 3d 6d 65 73 73 61 67 65 24 0d 23 be 44 c8 |4)=message$.#.D.| 00004680 99 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 |."Wimp_ReportErr| 00004690 6f 72 22 2c 62 6c 6b 25 2c 31 39 2c 22 4d 65 73 |or",blk%,19,"Mes| 000046a0 73 61 67 65 20 66 72 6f 6d 20 22 2b 70 72 6f 67 |sage from "+prog| 000046b0 72 61 6d 24 20 b8 20 2c 61 6e 73 77 65 72 25 0d |ram$ . ,answer%.| 000046c0 23 c8 19 e7 20 61 6e 73 77 65 72 25 3d 31 20 8c |#... answer%=1 .| 000046d0 20 3d b9 20 8b 20 3d a3 0d 23 d2 04 0d 23 dc 11 | =. . =..#...#..| 000046e0 dd 20 a4 73 74 72 69 6e 67 28 62 25 29 0d 23 e6 |. .string(b%).#.| 000046f0 08 ea 20 73 24 0d 23 f0 09 73 24 3d 22 22 0d 23 |.. s$.#..s$="".#| 00004700 fa 0d c8 95 20 3f 62 25 3e 33 31 0d 24 04 0e 73 |.... ?b%>31.$..s| 00004710 24 2b 3d bd 28 3f 62 25 29 0d 24 0e 09 62 25 2b |$+=.(?b%).$..b%+| 00004720 3d 31 0d 24 18 05 ce 0d 24 22 07 3d 73 24 0d 24 |=1.$....$".=s$.$| 00004730 2c 04 0d 24 36 17 dd 20 f2 72 65 70 6f 72 74 28 |,..$6.. .report(| 00004740 6d 65 73 73 61 67 65 24 29 0d 24 40 17 c8 99 22 |message$).$@..."| 00004750 57 69 6d 70 5f 44 72 61 67 42 6f 78 22 2c 2c 30 |Wimp_DragBox",,0| 00004760 0d 24 4a 0b 21 62 6c 6b 25 3d 30 0d 24 54 16 24 |.$J.!blk%=0.$T.$| 00004770 28 62 6c 6b 25 2b 34 29 3d 6d 65 73 73 61 67 65 |(blk%+4)=message| 00004780 24 0d 24 5e 28 c8 99 22 57 69 6d 70 5f 52 65 70 |$.$^(.."Wimp_Rep| 00004790 6f 72 74 45 72 72 6f 72 22 2c 62 6c 6b 25 2c 31 |ortError",blk%,1| 000047a0 2c 70 72 6f 67 72 61 6d 24 0d 24 68 05 e1 0d 24 |,program$.$h...$| 000047b0 72 04 0d 24 7c 12 dd 20 f2 6f 70 65 6e 28 77 69 |r..$|.. .open(wi| 000047c0 6e 64 25 29 0d 24 86 0f 21 62 6c 6b 25 3d 77 69 |nd%).$..!blk%=wi| 000047d0 6e 64 25 0d 24 90 21 c8 99 22 57 69 6d 70 5f 47 |nd%.$.!.."Wimp_G| 000047e0 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c |etWindowState",,| 000047f0 62 6c 6b 25 0d 24 9a 0e 62 6c 6b 25 21 32 38 3d |blk%.$..blk%!28=| 00004800 2d 31 0d 24 a4 0f f2 6f 70 65 6e 77 69 6e 64 6f |-1.$...openwindo| 00004810 77 0d 24 ae 10 e7 20 ac 61 63 74 69 76 65 25 20 |w.$... .active% | 00004820 8c 0d 24 b8 0d 61 63 74 69 76 65 25 3d b9 0d 24 |..$..active%=..$| 00004830 c2 1d 24 66 69 6c 65 6e 61 6d 65 66 66 66 31 25 |..$filenamefff1%| 00004840 3d 22 54 65 78 74 46 69 6c 65 22 0d 24 cc 1d 24 |="TextFile".$..$| 00004850 66 69 6c 65 6e 61 6d 65 66 66 66 32 25 3d 22 54 |filenamefff2%="T| 00004860 65 78 74 46 69 6c 65 22 0d 24 d6 1c 24 66 69 6c |extFile".$..$fil| 00004870 65 6e 61 6d 65 61 66 66 25 3d 22 44 72 61 77 46 |enameaff%="DrawF| 00004880 69 6c 65 22 0d 24 e0 05 cd 0d 24 ea 05 e1 0d 24 |ile".$....$....$| 00004890 f4 04 0d 24 fe 11 dd 20 f2 6f 70 65 6e 77 69 6e |...$... .openwin| 000048a0 64 6f 77 0d 25 08 1d c8 99 22 57 69 6d 70 5f 4f |dow.%...."Wimp_O| 000048b0 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 6c 6b 25 |penWindow",,blk%| 000048c0 0d 25 12 05 e1 0d 25 1c 04 0d 25 26 27 dd 20 f2 |.%....%...%&'. .| 000048d0 73 65 6c 65 63 74 69 63 6f 6e 28 21 62 6c 6b 25 |selecticon(!blk%| 000048e0 2c 62 6c 6b 25 21 34 2c 73 65 6c 65 63 74 25 29 |,blk%!4,select%)| 000048f0 0d 25 30 1f c8 99 22 57 69 6d 70 5f 47 65 74 49 |.%0..."Wimp_GetI| 00004900 63 6f 6e 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d |conState",,blk%.| 00004910 25 3a 27 e7 20 73 65 6c 65 63 74 25 20 8c 20 62 |%:'. select% . b| 00004920 6c 6b 25 21 38 3d 31 3c 3c 32 31 20 8b 20 62 6c |lk%!8=1<<21 . bl| 00004930 6b 25 21 38 3d 30 0d 25 44 11 62 6c 6b 25 21 31 |k%!8=0.%D.blk%!1| 00004940 32 3d 31 3c 3c 32 31 0d 25 4e 3f e7 20 28 62 6c |2=1<<21.%N?. (bl| 00004950 6b 25 21 32 34 20 80 20 62 6c 6b 25 21 31 32 29 |k%!24 . blk%!12)| 00004960 3c 3e 62 6c 6b 25 21 38 20 8c 20 c8 99 22 57 69 |<>blk%!8 . .."Wi| 00004970 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 |mp_SetIconState"| 00004980 2c 2c 62 6c 6b 25 0d 25 58 05 e1 0d 25 62 04 0d |,,blk%.%X...%b..| 00004990 25 6c 1f dd 20 f2 73 65 74 66 63 28 21 62 6c 6b |%l.. .setfc(!blk| 000049a0 25 2c 62 6c 6b 25 21 34 2c 63 6f 6c 25 29 0d 25 |%,blk%!4,col%).%| 000049b0 76 1f c8 99 22 57 69 6d 70 5f 47 65 74 49 63 6f |v..."Wimp_GetIco| 000049c0 6e 53 74 61 74 65 22 2c 2c 62 6c 6b 25 0d 25 80 |nState",,blk%.%.| 000049d0 13 62 6c 6b 25 21 38 3d 63 6f 6c 25 3c 3c 32 34 |.blk%!8=col%<<24| 000049e0 0d 25 8a 12 62 6c 6b 25 21 31 32 3d 31 35 3c 3c |.%..blk%!12=15<<| 000049f0 32 34 0d 25 94 3f e7 20 28 62 6c 6b 25 21 32 34 |24.%.?. (blk%!24| 00004a00 20 80 20 62 6c 6b 25 21 31 32 29 3c 3e 62 6c 6b | . blk%!12)<>blk| 00004a10 25 21 38 20 8c 20 c8 99 22 57 69 6d 70 5f 53 65 |%!8 . .."Wimp_Se| 00004a20 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 6c 6b |tIconState",,blk| 00004a30 25 0d 25 9e 05 e1 0d 25 a8 04 0d 25 b2 23 dd 20 |%.%....%...%.#. | 00004a40 f2 73 65 74 66 69 6c 65 74 79 70 65 28 66 69 6c |.setfiletype(fil| 00004a50 65 24 2c 66 69 6c 65 74 79 70 65 25 29 0d 25 bc |e$,filetype%).%.| 00004a60 23 c8 99 22 4f 53 5f 46 69 6c 65 22 2c 26 31 32 |#.."OS_File",&12| 00004a70 2c 66 69 6c 65 24 2c 66 69 6c 65 74 79 70 65 25 |,file$,filetype%| 00004a80 0d 25 c6 05 e1 0d 25 d0 04 0d 25 da 16 dd 20 f2 |.%....%...%... .| 00004a90 6e 65 77 74 69 74 6c 65 28 21 62 6c 6b 25 29 0d |newtitle(!blk%).| 00004aa0 25 e4 23 c8 99 22 57 69 6d 70 5f 47 65 74 57 69 |%.#.."Wimp_GetWi| 00004ab0 6e 64 6f 77 4f 75 74 6c 69 6e 65 22 2c 2c 62 6c |ndowOutline",,bl| 00004ac0 6b 25 0d 25 ee 3d c8 99 22 57 69 6d 70 5f 46 6f |k%.%.=.."Wimp_Fo| 00004ad0 72 63 65 52 65 64 72 61 77 22 2c 2d 31 2c 62 6c |rceRedraw",-1,bl| 00004ae0 6b 25 21 34 2c 62 6c 6b 25 21 31 36 2d 34 34 2c |k%!4,blk%!16-44,| 00004af0 62 6c 6b 25 21 31 32 2c 62 6c 6b 25 21 31 36 0d |blk%!12,blk%!16.| 00004b00 25 f8 05 e1 0d 26 02 05 e1 0d ff |%....&.....| 00004b0b