Home » Archimedes archive » Archimedes World » AW-1994-11-Disc1.adf » Disk1Nov94 » !AWNov94/Goodies/Orders/!Orders/!RunImage

!AWNov94/Goodies/Orders/!Orders/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1994-11-Disc1.adf » Disk1Nov94
Filename: !AWNov94/Goodies/Orders/!Orders/!RunImage
Read OK:
File size: 78CD bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Program:      Order System
   20REM Author:       Mark Andrew Colman
   30REM Copyright:    Archimedes World
   40REM Version:      1.02 (Completed AUGUST 6TH 1994)
   50
   60version$="1.02 (06-Aug-94)"
   70
   80ON ERROR PROCerror:END
   90SYS"Hourglass_On"
  100
  110user_ok=FALSE
  120PROCinitialise_task
  130PROCload_user_sprites
  140PROCload_templates
  150PROCload_fonts
  160
  170X=OPENIN("<Order$Dir>.Personal")
  180FOR i=1 TO 22
  190 INPUT #X,temp$
  200 PROCicon_putdata(q%,user%,i,temp$,0)
  210NEXT i
  220CLOSE #X
  230
  240payment$(4)=FNicon_getdata(q%,user%,8)
  250payment$(5)=FNicon_getdata(q%,user%,13)
  260payment$(6)=FNicon_getdata(q%,user%,18)
  270comp=OPENUP("<Order$Dir>.Companies")
  280
  290SYS"Hourglass_Off"
  300
  310tries=0
  320PROCopenwindow(titlepage%,FALSE,-1)
  330PROCcaret_setposition(titlepage%,4,-1,-1,-1,-1)
  340
  350ON ERROR PROCerror
  360
  370REPEAT
  380 PROCaction(FNpoll(0))
  390UNTIL closedown
  400
  410CLOSE #comp
  420
  430@%=&0000090A
  440PROClose_fonts
  450
  460X=OPENOUT("<Order$Dir>.Personal")
  470FOR i=1 TO 22
  480 temp$=FNicon_getdata(q%,user%,i)
  490 PRINT #X,temp$
  500NEXT i
  510CLOSE #X
  520
  530$q%="TASK"
  540SYS "Wimp_CloseDown",task%,q%!0
  550END
  560
  570REM ----------------------------------------------------------------------
  580REM Error Handler, Message Reporting and Action Confirmation procedures
  590REM ----------------------------------------------------------------------
  600
  610DEF PROCerror
  620SYS "Wimp_DragBox",,-1
  630!q%=ERR:$(q%+4)=REPORT$+" at line "+STR$ERL+CHR$(0)
  640IF printing THEN SYS"PDriver_AbortJob",pf%:CLOSE #pf%
  650REM closedown=TRUE
  660SYS "Wimp_ReportError",q%,1,"Order System"
  670ENDPROC
  680
  690DEF PROCsay(message$)
  700message$=STRING$(4,CHR$(0))+message$+CHR$(0)
  710SYS"Wimp_ReportError",message$,17,"Order System"
  720ENDPROC
  730
  740DEF FNquery(text$)
  750response=0:REPEAT
  760 message$=STRING$(4,CHR$(0))+text$+CHR$(0)
  770 title$="Query from Order System"+CHR$(0)
  780 SYS"Wimp_ReportError",message$,59,title$ TO ,response
  790UNTIL response<>0
  800=response
  810
  820REM ----------------------------------------------------------------------
  830REM WIMP Initialisation Routines
  840REM ----------------------------------------------------------------------
  850
  860DEF PROCinitialise_task
  870@%=&0102020A
  880DIM q% 10000:$q%="TASK"
  890DIM trans% 16,rec% 16,plotat% 8,rectin% 16
  900SYS "Wimp_Initialise",200,!q%,"Order System" TO ,task%
  910closedown=FALSE:printing=FALSE:searching=FALSE:ordering=FALSE
  920claimmenu$="":DIM payment$(7),card$(6,2),order$(10,4)
  930card$(1,1)="Access":card$(1,2)="access"
  940card$(2,1)="Switch":card$(2,2)="switch"
  950card$(3,1)="MasterCard":card$(3,2)="mastercard"
  960card$(4,1)="Visa":card$(4,2)="visa"
  970card$(5,1)="Delta":card$(5,2)="delta"
  980card$(6,1)="American Express":card$(6,2)="amerexp"
  990DIM text$(250),setting(250),flags(250),submenu(250),ref(250),menupos(250)
 1000DIM menu% 4096,indirect% &20000,msgblk% 512,sprite% 15*16,text% 15*16
 1010baricon=FNcreate_icon("!Orders",0,"Log On")
 1020iptr%=indirect%:iend%=iptr%+&15000
 1030ENDPROC
 1040
 1050DEF PROCload_user_sprites
 1060S%=OPENIN "<Order$Dir>.Sprites":T%=EXT#S%+16:CLOSE#S%
 1070DIM sp T%:!sp=T%:sp!4=0:sp!8=16:sp!12=16
 1080SYS "OS_SpriteOp",&209,sp
 1090SYS "OS_SpriteOp",&20A,sp,"<Order$Dir>.Sprites"
 1100ENDPROC
 1110
 1120DEF PROCload_templates
 1130PROCopentemplatefile("<Order$Dir>.Templates")
 1140PROCloadtemplate("search")
 1150SYS"Wimp_CreateWindow",,q% TO search%
 1160PROCloadtemplate("vat")
 1170SYS"Wimp_CreateWindow",,q% TO vat%
 1180PROCloadtemplate("titlepage")
 1190SYS"Wimp_CreateWindow",,q% TO titlepage%
 1200PROCloadtemplate("ProgInfo")
 1210SYS"Wimp_CreateWindow",,q% TO info%
 1220PROCloadtemplate("Company")
 1230SYS"Wimp_CreateWindow",,q% TO company%
 1240PROCloadtemplate("User")
 1250SYS"Wimp_CreateWindow",,q% TO user%
 1260PROCloadtemplate("OrderForm")
 1270SYS"Wimp_CreateWindow",,q% TO order%
 1280PROCclosetemplatefile
 1290payment$(1)="Cheque"
 1300payment$(2)="Postal Order"
 1310payment$(3)="Account"
 1320payment$(7)="Invoice"
 1330PROCicon_putdata(q%,info%,0,version$,0)
 1340PROCicon_putdata(q%,vat%,0,"17.5",0)
 1350ENDPROC
 1360
 1370REM ----------------------------------------------------------------------
 1380REM Action Handling Routines
 1390REM ----------------------------------------------------------------------
 1400
 1410DEF PROCaction(evnt%)
 1420CASE evnt% OF
 1430 WHEN 1:PROCredrawwindow(q%!0)
 1440 WHEN 2:PROCopenwindow(q%!0,TRUE,0)
 1450 WHEN 3:PROCclosewindow(q%!0)
 1460 WHEN 6:PROCclickwindow(!q%,q%!4,q%!8,q%!12,q%!16,q%!20)
 1470 WHEN 7:PROCdrag
 1480 WHEN 8:PROCkeypress
 1490 WHEN 9:IF claimmenu$<>"" THEN PROCwhichmenu(claimmenu$)
 1500 WHEN 17,18:PROCreceive(q%)
 1510ENDCASE
 1520ENDPROC
 1530
 1540DEF FNpoll(mask%)
 1550SYS "Wimp_Poll",mask%,q% TO a%
 1560=a%
 1570
 1580DEF PROCclickwindow(mousex%,mousey%,button%,handle%,icon%,ob%)
 1590IF user_ok=FALSE THEN ENDPROC
 1600CASE handle% OF
 1610 WHEN -2          :PROCclickiconbar(button%,icon%)
 1620 WHEN order%      :PROCclickorder(button%,icon%)
 1630 WHEN user%       :PROCclickuser(button%,icon%)
 1640 WHEN vat%        :PROCclickvat(button%,icon%)
 1650 WHEN search%     :PROCclicksearch(button%,icon%)
 1660ENDCASE
 1670ENDPROC
 1680
 1690DEF PROCkeypress
 1700LOCAL ic%
 1710IF q%!4<>-1 THEN
 1720 SYS "Wimp_GetCaretPosition",,msgblk%
 1730 ic%=msgblk%!4
 1740 CASE q%!24 OF
 1750  WHEN 27:SYS "Wimp_CreateMenu",,-1
 1760  OTHERWISE
 1770  CASE q%!0 OF
 1780   WHEN user%         : PROCkeypress_user(ic%,q%!24)
 1790   WHEN order%        : PROCkeypress_order(ic%,q%!24)
 1800   WHEN company%      : PROCkeypress_company(ic%,q%!24)
 1810   WHEN titlepage%    : PROCkeypress_titlepage(ic%,q%!24)
 1820   WHEN vat%          : PROCkeypress_vat(ic%,q%!24)
 1830   WHEN search%       : PROCkeypress_search(ic%,q%!24)
 1840  ENDCASE
 1850 ENDCASE
 1860ENDIF
 1870ENDPROC
 1880
 1890DEF PROCwhichmenu(menu$)
 1900LOCAL void%
 1910CASE menu$ OF
 1920 WHEN "baricon"  :void%=FNmenuselect_baricon
 1930 WHEN "cards"    :void%=FNmenuselect_cards
 1940 WHEN "order"    :void%=FNmenuselect_order
 1950ENDCASE
 1960MOUSE x,y,b:IF b=1 THEN
 1970 CASE menu$ OF
 1980  WHEN "baricon"   : PROCmenu_baricon
 1990  WHEN "order"     : PROCmenu_order
 2000 ENDCASE
 2010ENDIF
 2020ENDPROC
 2030
 2040DEF PROCreceive(q%)
 2050CASE q%!16 OF
 2060 WHEN 0:$q%="TASK":SYS "Wimp_CloseDown",task%,q%!0:END
 2070ENDCASE
 2080ENDPROC
 2090
 2100REM ----------------------------------------------------------------------
 2110REM MOUSE CLICK, KEYPRESS AND MENU SELECTION HANDLERS
 2120REM ----------------------------------------------------------------------
 2130
 2140REM ----------------------------------------------------------------------
 2150REM VAT CALCULATION WINDOW
 2160REM ----------------------------------------------------------------------
 2170
 2180DEF PROCclickvat(button%,icon%)
 2190LOCAL cost,vatcost
 2200IF icon%<>3 THEN ENDPROC
 2210total=0
 2220FOR i=1 TO 10
 2230 cost=VAL(FNicon_getdata(q%,order%,10+(i-1)*5))
 2240 IF cost<>0 THEN
 2250  @%=&0000090A
 2260  vatcost=FNround(cost*(1+(VAL(FNicon_getdata(q%,vat%,0))/100)))
 2270  @%=&0102020A
 2280  PROCicon_putdata(q%,order%,10+(i-1)*5,STR$vatcost,-1)
 2290  quan=VAL(FNicon_getdata(q%,order%,9+(i-1)*5))
 2300  PROCicon_putdata(q%,order%,11+(i-1)*5,STR$(vatcost*quan),-1)
 2310  total+=VAL(FNicon_getdata(q%,order%,11+(i-1)*5))
 2320 ENDIF
 2330NEXT i
 2340IF total>0 THEN PROCicon_putdata(q%,order%,58,STR$total,-1)
 2350PROCclosewindow(vat%)
 2360PROCcaret_setposition(order%,7,-1,-1,-1,-1)
 2370ENDPROC
 2380
 2390DEF PROCkeypress_vat(icon%,key%)
 2400IF icon%=0 AND key%=13 THEN PROCclickvat(4,3)
 2410ENDPROC
 2420
 2430REM ----------------------------------------------------------------------
 2440REM TITLE PAGE
 2450REM ----------------------------------------------------------------------
 2460
 2470DEF PROCkeypress_titlepage(ic%,key%)
 2480IF key%=13 THEN
 2490 password$=FNicon_getdata(q%,titlepage%,4)
 2500 boot=OPENIN("<Order$Dir>.!Boot")
 2510 FOR n=1 TO 2:temp$=FNfile_getline(boot):NEXT n
 2520 pw$=FNfile_getline(boot):CLOSE #boot
 2530 pw$=RIGHT$(pw$,LEN(pw$)-2)
 2540 IF pw$=password$ THEN
 2550  user_ok=TRUE
 2560  PROCclosewindow(titlepage%)
 2570  PROCicon_delete(q%,-2,baricon)
 2580  baricon=FNcreate_icon("!Orders",0,"Orders")
 2590 ELSE
 2600  tries+=1:IF tries=3 THEN closedown=TRUE
 2610  PROCcaret_setposition(titlepage%,ic%,-1,-1,-1,-1)
 2620 ENDIF
 2630ENDIF
 2640ENDPROC
 2650
 2660DEF FNfile_getline(channel)
 2670LOCAL string$
 2680REPEAT
 2690 a=BGET#channel
 2700 string$=string$+CHR$a
 2710UNTIL a=10
 2720string$=LEFT$(string$,(LEN(string$))-1)
 2730=string$
 2740
 2750REM ----------------------------------------------------------------------
 2760REM COMPANY WINDOW
 2770REM ----------------------------------------------------------------------
 2780
 2790DEF PROCkeypress_company(ic%,key%)
 2800CASE key% OF
 2810 WHEN 13:ic%+=1
 2820 IF ic%=9 THEN
 2830  PROCclosewindow(company%)
 2840  PROCcaret_setposition(order%,7,-1,-1,-1,-1)
 2850  SYS"Wimp_CreateMenu",,-1
 2860 ELSE
 2870  PROCcaret_setposition(company%,ic%,-1,-1,-1,-1)
 2880 ENDIF
 2890 WHEN &18E:ic%+=1:IF ic%=9 THEN ic%=0
 2900 PROCcaret_setposition(company%,ic%,-1,-1,-1,-1)
 2910 WHEN &18F:ic%-=1:IF ic%=-1 THEN ic%=8
 2920 PROCcaret_setposition(company%,ic%,-1,-1,-1,-1)
 2930ENDCASE
 2940ENDPROC
 2950
 2960REM ----------------------------------------------------------------------
 2970REM USER WINDOW
 2980REM ----------------------------------------------------------------------
 2990
 3000DEF PROCclickuser(button%,icon%)
 3010IF icon%<>8 AND icon%<>13 AND icon%<>18 THEN ENDPROC
 3020IF button%<>2 THEN ENDPROC
 3030card_type_icon=icon%
 3040PROCmenu_cards
 3050ENDPROC
 3060
 3070DEF PROCkeypress_user(ic%,key%)
 3080CASE key% OF
 3090 WHEN 13,&18E:ic%+=1:IF ic%=23 THEN ic%=1
 3100 WHEN &18F:ic%-=1:IF ic%=0 THEN ic%=22
 3110ENDCASE
 3120IF ic%=9 OR ic%=14 OR ic%=19 THEN
 3130 temp$=FNicon_getdata(q%,user%,ic%-1):found=FALSE
 3140 IF temp$="" THEN
 3150  pict_icon=((ic%-9)/5)+23:found=TRUE
 3160  null%=FNnewsprite(q%,user%,pict_icon,"blank",-1)
 3170 ELSE
 3180  payment$((ic%-4)/5)=FNicon_getdata(q%,user%,ic%-1)
 3190  FOR c=1 TO 6
 3200   IF card$(c,1)=temp$ THEN
 3210    pict_icon=((ic%-9)/5)+23:found=TRUE
 3220    null%=FNnewsprite(q%,user%,pict_icon,card$(c,2),-1)
 3230   ENDIF
 3240  NEXT c
 3250  IF NOT found THEN
 3260   pict_icon=((ic%-9)/5)+23:found=TRUE
 3270   null%=FNnewsprite(q%,user%,pict_icon,"creditcard",-1)
 3280  ENDIF
 3290 ENDIF
 3300ENDIF
 3310PROCcaret_setposition(user%,ic%,-1,-1,-1,-1)
 3320ENDPROC
 3330
 3340DEF PROCmenu_cards
 3350no=0:MOUSE x,y,b
 3360FOR c=1 TO 6
 3370 IF c=6 THEN last=-1 ELSE last=0
 3380 PROCmenu_opt(card$(c,1),no,0,0,0,0,&10021,0,last):no+=1
 3390NEXT c
 3400PROCcreate_menu("Card Types",no,200,x,y)
 3410claimmenu$="cards"
 3420ENDPROC
 3430
 3440DEF FNmenuselect_cards
 3450LOCAL level0
 3460level0=q%!0
 3470PROCicon_putdata(q%,user%,card_type_icon,card$(level0+1,1),-1)
 3480PROCcaret_setposition(user%,card_type_icon,-1,-1,-1,-1)
 3490=0
 3500
 3510REM ----------------------------------------------------------------------
 3520REM SEARCH WINDOW
 3530REM ----------------------------------------------------------------------
 3540
 3550DEF PROCclicksearch(button%,icon%)
 3560CASE icon% OF
 3570 WHEN 2,3:csen=NOTcsen
 3580 IF csen THEN
 3590  null%=FNnewsprite(q%,search%,2,"Yes",-1)
 3600 ELSE
 3610  null%=FNnewsprite(q%,search%,2,"No",-1)
 3620 ENDIF
 3630 WHEN 4,5:exct=NOTexct
 3640 IF exct THEN
 3650  null%=FNnewsprite(q%,search%,4,"Yes",-1)
 3660 ELSE
 3670  null%=FNnewsprite(q%,search%,4,"No",-1)
 3680 ENDIF
 3690ENDCASE
 3700ENDPROC
 3710
 3720DEF PROCkeypress_search(icon%,key%)
 3730IF EXT#comp=0 THEN
 3740 SYS"Wimp_CreateMenu",,-1
 3750 ENDPROC
 3760ENDIF
 3770text$=FNicon_getdata(q%,search%,1):REM IF text$<>"" THEN
 3780 searching=TRUE:record=0:found=FALSE:pay1=pay
 3790 REPEAT
 3800  record+=1:PROCload_order_details(record,comp):found=FALSE
 3810  IF NOT csen THEN
 3820   text1$=FNupper(text$):text2$=FNupper(c_name$)
 3830  ELSE
 3840   text1$=text$:text2$=c_name$
 3850  ENDIF
 3860  CASE exct OF
 3870   WHEN TRUE : IF text1$=text2$ THEN found=TRUE
 3880   WHEN FALSE: IF INSTR(text2$,text1$)<>0 THEN found=TRUE
 3890  ENDCASE
 3900 UNTIL found OR record=(EXT#comp)/1144
 3910 IF NOT found THEN
 3920  SYS"Wimp_CreateMenu",,-1
 3930  PROCclosewindow(order%)
 3940 ELSE
 3950  PROCdisplay_order
 3960  pay-=1:PROCicon_putdata(q%,order%,59,payment$(pay),-1)
 3970  PROCclickorder(4,59)
 3980  SYS"Wimp_CreateMenu",,-1
 3990  PROCcaret_setposition(order%,7,-1,-1,-1,-1)
 4000 ENDIF
 4010REM ENDIF
 4020ENDPROC
 4030
 4040REM ----------------------------------------------------------------------
 4050REM ORDER WINDOW
 4060REM ----------------------------------------------------------------------
 4070
 4080DEF PROCclickorder(button%,icon%)
 4090IF button%=2 THEN PROCmenu_orderwindow:ENDPROC
 4100CASE icon% OF
 4110 WHEN 59:pay+=1
 4120 IF pay=8 THEN pay=1
 4130 IF payment$(pay)="" THEN
 4140  REPEAT
 4150   pay+=1
 4160  UNTIL payment$(pay)<>""
 4170 ENDIF
 4180 IF pay>3 AND pay<7 THEN
 4190  found=FALSE
 4200  FOR c=1 TO 6
 4210   IF payment$(pay)=card$(c,1) AND NOT found THEN
 4220    null%=FNnewsprite(q%,order%,62,card$(c,2),-1):found=TRUE
 4230   ENDIF
 4240  NEXT c
 4250  IF NOT found THEN
 4260   null%=FNnewsprite(q%,order%,62,"creditcard",-1)
 4270  ENDIF
 4280 ELSE
 4290  null%=FNnewsprite(q%,order%,62,"blank",-1)
 4300 ENDIF
 4310 PROCicon_putdata(q%,order%,59,payment$(pay),-1)
 4320 WHEN 61:IF searching THEN
 4330  old_rec=record
 4340  IF EXT#comp=0 THEN ENDPROC
 4350  text$=FNicon_getdata(q%,search%,1)
 4360REM  IF text$="" THEN searching=FALSE:ENDPROC
 4370  REPEAT
 4380   found=FALSE:record-=1
 4390   IF record=0 THEN record=old_rec:ENDPROC
 4400   PROCload_order_details(record,comp)
 4410   IF csen THEN
 4420    text1$=text$:text2$=c_name$
 4430   ELSE
 4440    text1$=FNupper(text$):text2$=FNupper(c_name$)
 4450   ENDIF
 4460   CASE exct OF
 4470    WHEN TRUE :IF text1$=text2$ THEN found=TRUE
 4480    WHEN FALSE:IF INSTR(text2$,text1$)<>0 THEN found=TRUE
 4490   ENDCASE
 4500  UNTIL found
 4510  PROCdisplay_order
 4520  pay-=1:PROCicon_putdata(q%,order%,59,payment$(pay),-1)
 4530  PROCclickorder(4,59)
 4540  SYS"Wimp_CreateMenu",,-1
 4550  PROCcaret_setposition(order%,7,-1,-1,-1,-1)
 4560 ENDIF
 4570 WHEN 60:IF searching THEN
 4580  old_rec=record
 4590  IF EXT#comp=0 THEN ENDPROC
 4600  text$=FNicon_getdata(q%,search%,1)
 4610REM  IF text$="" THEN searching=FALSE:ENDPROC
 4620  REPEAT
 4630   found=FALSE:record+=1
 4640   IF record=1+(EXT#comp)/1144 THEN record=old_rec:ENDPROC
 4650   PROCload_order_details(record,comp)
 4660   IF csen THEN
 4670    text1$=text$:text2$=c_name$
 4680   ELSE
 4690    text1$=FNupper(text$):text2$=FNupper(c_name$)
 4700   ENDIF
 4710   CASE exct OF
 4720    WHEN TRUE :IF text1$=text2$ THEN found=TRUE
 4730    WHEN FALSE:IF INSTR(text2$,text1$)<>0 THEN found=TRUE
 4740   ENDCASE
 4750  UNTIL found
 4760  PROCdisplay_order
 4770  pay-=1:PROCicon_putdata(q%,order%,59,payment$(pay),-1)
 4780  PROCclickorder(4,59)
 4790  SYS"Wimp_CreateMenu",,-1
 4800  PROCcaret_setposition(order%,7,-1,-1,-1,-1)
 4810 ENDIF
 4820 WHEN 63:PROCopenwindow(vat%,FALSE,-1)
 4830 PROCcaret_setposition(vat%,0,-1,-1,-1,-1)
 4840ENDCASE
 4850ENDPROC
 4860
 4870DEF PROCmenu_orderwindow
 4880no=0:MOUSE x,y,b
 4890PROCmenu_opt("Print",no,0,0,0,0,&10021,0,0):no+=1
 4900PROCmenu_opt("Clear",no,0,0,0,0,&10021,0,0):no+=1
 4910PROCmenu_opt("Address",no,0,0,-1,0,&10021,company%,0):no+=1
 4920PROCmenu_opt("Save",no,0,0,0,0,&10021,0,0):no+=1
 4930PROCmenu_opt("Delete",no,0,0,0,0,&10021,0,0):no+=1
 4940PROCmenu_opt("Search",no,0,0,0,0,&10021,search%,-1):no+=1
 4950PROCcreate_menu("Order",no,150,x,y)
 4960claimmenu$="order"
 4970exct=TRUE:null%=FNnewsprite(q%,search%,2,"Yes",-1)
 4980csen=TRUE:null%=FNnewsprite(q%,search%,4,"Yes",-1)
 4990ENDPROC
 5000
 5010DEF FNmenuselect_order
 5020LOCAL level0
 5030level0=q%!0
 5040CASE level0 OF
 5050 WHEN 0:PROCprint_order
 5060 WHEN 1:PROCclear_order
 5070 WHEN 3:c_name$=FNicon_getdata(q%,order%,1)
 5080 c_sale$=FNicon_getdata(q%,company%,0)
 5090 c_adr1$=FNicon_getdata(q%,company%,1)
 5100 c_adr2$=FNicon_getdata(q%,company%,2)
 5110 c_adr3$=FNicon_getdata(q%,company%,3)
 5120 c_adr4$=FNicon_getdata(q%,company%,4)
 5130 c_post$=FNicon_getdata(q%,company%,5)
 5140 c_tele$=FNicon_getdata(q%,company%,6)
 5150 c_fax$=FNicon_getdata(q%,company%,7)
 5160 c_accn$=FNicon_getdata(q%,company%,8)
 5170 FOR o=1 TO 10
 5180  order$(o,1)=FNicon_getdata(q%,order%,(5*(o-1))+7)
 5190  order$(o,2)=FNicon_getdata(q%,order%,(5*(o-1))+8)
 5200  order$(o,3)=FNicon_getdata(q%,order%,(5*(o-1))+9)
 5210  order$(o,4)=FNicon_getdata(q%,order%,(5*(o-1))+10)
 5220 NEXT o
 5230 date$=MID$(TIME$,5,11)
 5240 PROCsave_order_details(record,comp)
 5250 WHEN 4:IF record<>(((EXT#comp)/1144)+1) AND EXT#comp<>0 THEN
 5260  PROCicon_putdata(q%,order%,1,"",-1)
 5270  FOR i=7 TO 56:PROCicon_putdata(q%,order%,i,"",-1):NEXT i
 5280  PROCicon_putdata(q%,order%,58,"",-1)
 5290  pay=0:PROCclickorder(4,59)
 5300  FOR i=0 TO 8:PROCicon_putdata(q%,company%,i,"",-1):NEXT i
 5310  PROCclosewindow(order%)
 5320  newc=OPENOUT("<Order$Dir>.NewComp"):recs=0
 5330  FOR r=1 TO (EXT#comp)/1144
 5340   IF r<>record THEN
 5350    recs+=1
 5360    PROCload_order_details(r,comp)
 5370    PROCsave_order_details(recs,newc)
 5380   ENDIF
 5390  NEXT r
 5400  CLOSE #comp
 5410  CLOSE #newc
 5420  OSCLI("Delete <Order$Dir>.Companies")
 5430  OSCLI("Rename <Order$Dir>.NewComp <Order$Dir>.Companies")
 5440  comp=OPENUP("<Order$Dir>.Companies")
 5450 ENDIF
 5460 WHEN 5:REM Search window
 5470ENDCASE
 5480=0
 5490
 5500DEF PROCkeypress_order(ic%,key%)
 5510CASE key% OF
 5520 WHEN 13,&18E:ic%+=1:IF ic%=57 THEN ic%=7
 5530 IF ic%=2 THEN
 5540  recs=(EXT#comp)/1144
 5550  IF recs>0 THEN
 5560   found=FALSE:pay1=pay
 5570   FOR r=1 TO recs:PROCload_order_details(r,comp)
 5580    IF c_name$=FNicon_getdata(q%,order%,1) AND NOT found THEN
 5590     resp=FNquery("There is already an order with this company.  Do you wish to use the address etc. from this order?")
 5600     IF resp=1 THEN
 5610      PROCicon_putdata(q%,company%,0,c_sale$,-1)
 5620      PROCicon_putdata(q%,company%,1,c_adr1$,-1)
 5630      PROCicon_putdata(q%,company%,2,c_adr2$,-1)
 5640      PROCicon_putdata(q%,company%,3,c_adr3$,-1)
 5650      PROCicon_putdata(q%,company%,4,c_adr4$,-1)
 5660      PROCicon_putdata(q%,company%,5,c_post$,-1)
 5670      PROCicon_putdata(q%,company%,6,c_tele$,-1)
 5680      PROCicon_putdata(q%,company%,7,c_fax$,-1)
 5690      PROCicon_putdata(q%,company%,8,c_accn$,-1)
 5700      found=TRUE
 5710     ENDIF
 5720    ENDIF
 5730   NEXT r
 5740   pay=pay1
 5750  ENDIF
 5760  ic%=7
 5770 ENDIF
 5780 IF (ic%-6) MOD 5 = 0 AND ic%<>1 THEN
 5790  t1=VAL(FNicon_getdata(q%,order%,ic%-1))
 5800  t2=VAL(FNicon_getdata(q%,order%,ic%-2))
 5810  PROCicon_putdata(q%,order%,ic%,STR$(t1*t2),-1)
 5820  total=0
 5830  FOR ord=1 TO 10:total+=VAL(FNicon_getdata(q%,order%,6+(5*ord))):NEXT ord
 5840  PROCicon_putdata(q%,order%,58,STR$total,-1)
 5850  ic%+=1:IF ic%=57 THEN ic%=7
 5860 ENDIF
 5870 WHEN &18F:ic%-=1:IF ic%=6 THEN ic%=56
 5880 IF (ic%-6) MOD 5 = 0 THEN ic%-=1
 5890ENDCASE
 5900PROCcaret_setposition(order%,ic%,-1,-1,-1,-1)
 5910ENDPROC
 5920
 5930REM ----------------------------------------------------------------------
 5940REM ICON BAR
 5950REM ----------------------------------------------------------------------
 5960
 5970DEF PROCclickiconbar(button%,icon%)
 5980IF icon%<0 THEN ENDPROC
 5990CASE button% OF
 6000 WHEN 2:IF icon%=baricon THEN PROCmenu_baricon
 6010 WHEN 4:IF NOT ordering THEN
 6020  PROCicon_putdata(q%,order%,1,"",-1)
 6030  FOR i=7 TO 56:PROCicon_putdata(q%,order%,i,"",-1):NEXT i
 6040  PROCicon_putdata(q%,order%,58,"",-1)
 6050  null%=FNnewsprite(q%,order%,62,"blank",-1)
 6060  pay=1:PROCicon_putdata(q%,order%,59,payment$(pay),-1)
 6070  PROCopenwindow(order%,FALSE,-1):record=((EXT#comp)/1144)+1
 6080  FOR i=0 TO 8:PROCicon_putdata(q%,company%,i,"",-1):NEXT i
 6090  PROCcaret_setposition(order%,1,-1,-1,-1,-1)
 6100  ordering=TRUE
 6110 ENDIF
 6120 WHEN 1:PROCopenwindow(user%,FALSE,-1)
 6130 PROCcaret_setposition(user%,1,-1,-1,-1,-1)
 6140 FOR card=1 TO 3
 6150  temp$=FNicon_getdata(q%,user%,((card-1)*5)+8):found=FALSE
 6160  IF temp$="" THEN
 6170   null%=FNnewsprite(q%,user%,card+22,"blank",-1):found=TRUE
 6180  ENDIF
 6190  FOR c=1 TO 6
 6200   IF card$(c,1)=temp$ AND NOT found THEN
 6210    pict_icon=(card+22):found=TRUE
 6220    null%=FNnewsprite(q%,user%,pict_icon,card$(c,2),-1)
 6230   ENDIF
 6240  NEXT c
 6250  IF NOT found THEN
 6260   pict_icon=(card+22):found=TRUE
 6270   null%=FNnewsprite(q%,user%,pict_icon,"creditcard",-1)
 6280  ENDIF
 6290 NEXT card
 6300ENDCASE
 6310ENDPROC
 6320
 6330DEF PROCmenu_baricon
 6340no=0:MOUSE x,y,b
 6350PROCmenu_opt("Info",no,0,0,0,0,&10021,info%,0):no+=1
 6360PROCmenu_opt("Quit",no,0,0,0,0,&10021,0,-1):no+=1:main=no
 6370PROCcreate_menu("Orders",no,200,x-64,116+(main*40))
 6380claimmenu$="baricon"
 6390ENDPROC
 6400
 6410DEF FNmenuselect_baricon
 6420LOCAL level0,level1
 6430level0=q%!0:level1=q%!4
 6440CASE level0 OF
 6450 WHEN 1:closedown=TRUE
 6460ENDCASE
 6470=0
 6480
 6490REM ----------------------------------------------------------------------
 6500REM GENERAL PURPOSE ROUTINES - DO NOT ALTER ANYTHING IN THIS SECTION !!!!!
 6510REM ----------------------------------------------------------------------
 6520
 6530REM ----------------------------------------------------------------------
 6540REM TEMPLATE FILE AND WINDOW HANDLING ROUTINES
 6550REM ----------------------------------------------------------------------
 6560
 6570DEF PROCopentemplatefile(file$)
 6580SYS "Wimp_OpenTemplate",,file$
 6590ENDPROC
 6600
 6610DEF PROCloadtemplate(name$)
 6620LOCAL type%,pos%,x%
 6630SYS "Wimp_LoadTemplate",,q%,iptr%,iend%,-1,name$,0 TO type%,,iptr%,,,,pos%
 6640q%!64=sp
 6650ENDPROC
 6660
 6670DEF PROCclosetemplatefile
 6680SYS "Wimp_CloseTemplate"
 6690ENDPROC
 6700
 6710DEF PROCredrawwindow(handle%)
 6720LOCAL void%
 6730q%!0=handle%
 6740SYS "Wimp_RedrawWindow",0,q% TO more%
 6750PROClwaorigin(q%+4,x0%,y0%)
 6760WHILE more%
 6770 SYS "Wimp_BorderWindow",,q%
 6780 SYS "Wimp_GetRectangle",0,q% TO more%
 6790ENDWHILE
 6800ENDPROC
 6810
 6820DEF PROClwaorigin(b,RETURN x%,RETURN y%)
 6830x%=b!0-b!16:y%=b!12-b!20
 6840ENDPROC
 6850
 6860DEF PROCopenwindow(handle%,full%,front%)
 6870q%!0=handle%
 6880IF NOT full% THEN SYS "Wimp_GetWindowState",0,q%
 6890IF front% THEN q%!28=-1
 6900SYS "Wimp_OpenWindow",0,q%
 6910ENDPROC
 6920
 6930DEF PROCclosewindow(handle%)
 6940IF handle%=order% THEN ordering=FALSE:searching=FALSE
 6950q%!0=handle%
 6960SYS "Wimp_CloseWindow",0,q%
 6970ENDPROC
 6980
 6990DEF PROCwindow_retitle(b,whandle%,title$)
 7000LOCAL woblk
 7010DIM woblk 5
 7020b!0=whandle%
 7030SYS "Wimp_GetWindowInfo",,b
 7040$(!(b+76))=title$
 7050woblk!0=whandle%
 7060SYS "Wimp_GetWindowOutline",,woblk
 7070SYS "Wimp_ForceRedraw",-1,woblk!4,(woblk!16)-40,woblk!12,woblk!16
 7080ENDPROC
 7090
 7100REM ----------------------------------------------------------------------
 7110REM ICON HANDLING ROUTINES
 7120REM ----------------------------------------------------------------------
 7130
 7140DEF FNcreate_icon(s$,n%,t$)
 7150LOCAL ic%
 7160LOCALsx%,sy%,sm%,px%,py%
 7170SYS"Wimp_SpriteOp",40,,s$ TO ,,,sx%,sy%,,sm%
 7180SYS"OS_ReadModeVariable",sm%,4 TO ,,px%:sx%=sx%<<px%
 7190SYS"OS_ReadModeVariable",sm%,5 TO ,,py%:sy%=sy%<<py%
 7200IF LENt$*16>sx% THEN sx%=LENt$*16
 7210$(sprite%+15*n%)="S"+s$
 7220$(text%+15*n%)=t$
 7230!q%=-1:q%!4=0:q%!8=-16:q%!12=q%!4+sx%:q%!16=20+sy%:q%!20=&1700310B
 7240q%!24=text%+15*n%:q%!28=sprite%+15*n%:q%!32=LENt$
 7250SYS"Wimp_CreateIcon",,q% TO ic%
 7260=ic%
 7270
 7280DEF FNnewsprite(b,whandle%,ihandle%,newname$,redraw)
 7290b!0=whandle%:b!4=ihandle%
 7300SYS "Wimp_GetIconState",,b
 7310SYS "Wimp_DeleteIcon",,b
 7320b!4=b!8:b!8=b!12:b!12=b!16:b!16=b!20:b!20=b!24:$(b+24)=newname$
 7330SYS "Wimp_CreateIcon",,b TO ihandle%
 7340IF redraw THEN SYS "Wimp_ForceRedraw",b!0,b!4,b!8,b!12,b!16
 7350=ihandle%
 7360
 7370DEF PROCicon_putdata(b,wh%,ih%,text$,rd)
 7380b!0=wh%:b!4=ih%
 7390SYS "Wimp_GetIconState",,b
 7400SYS "Wimp_DeleteIcon",,b
 7410b!4=wh%:$(b!28)=text$:b+=4
 7420SYS "Wimp_CreateIcon",,b
 7430IF rd THEN SYS "Wimp_ForceRedraw",b!0,b!4,b!8,b!12,b!16
 7440b-=4
 7450ENDPROC
 7460
 7470DEF PROCicon_delete(b,wh%,ih%)
 7480b!0=wh%:b!4=ih%
 7490SYS "Wimp_GetIconState",,b
 7500SYS "Wimp_DeleteIcon",,b
 7510SYS "Wimp_ForceRedraw",b!0,b!4,b!8,b!12,b!16
 7520b-=4
 7530ENDPROC
 7540
 7550DEF FNicon_getdata(q%,whandle%,ihandle%)
 7560q%!0=whandle%
 7570q%!4=ihandle%
 7580SYS "Wimp_GetIconState",,q%
 7590=$(q%!28)
 7600
 7610DEF PROCcaret_setposition(whandle%,ihandle%,xoff%,yoff%,height%,index%)
 7620IF index%=-1 THEN index%=LEN(FNicon_getdata(q%,whandle%,ihandle%))
 7630SYS "Wimp_SetCaretPosition",whandle%,ihandle%,xoff%,yoff%,height%,index%
 7640ENDPROC
 7650
 7660REM ----------------------------------------------------------------------
 7670REM MENU CREATION PROCEDURES
 7680REM ----------------------------------------------------------------------
 7690
 7700DEF PROCmenu_opt(text$,n,w,t,d,s,flags,sm,l)
 7710text$(n)=text$
 7720setting(n)=0
 7730IF w THEN setting(n)=setting(n) OR &04:flags=flags OR &100
 7740IF t THEN setting(n)=setting(n) OR &01
 7750IF d THEN setting(n)=setting(n) OR &02
 7760IF l THEN setting(n)=setting(n) OR &80
 7770IF s THEN flags=flags OR &400000
 7780flags(n)=flags
 7790submenu(n)=sm
 7800ENDPROC
 7810
 7820DEF PROCcreate_menu(title$,n,width%,x,y)
 7830mb%=menu%
 7840menus=0:q=0
 7850REPEAT
 7860 menupos(menus)=mb%:menus+=1
 7870 $mb%=title$
 7880 mb%?12=7
 7890 mb%?13=2
 7900 mb%?14=7
 7910 mb%?15=0
 7920 mb%!16=width%
 7930 mb%!20=40
 7940 mb%!24=0
 7950 itemptr=mb%+28
 7960 REPEAT
 7970  itemptr!0=setting(q)
 7980  ref(q)=itemptr+4
 7990  itemptr!8=flags(q) OR 0<<28 OR 7<<24
 8000  IF (flags(q) AND &100)=0 THEN
 8010   $(itemptr+12)=text$(q)
 8020  ELSE
 8030   pos=INSTR(text$(q),"(")
 8040   itemptr!12=EVAL(LEFT$(text$(q),pos-1))
 8050   itemptr!16=-1
 8060   itemptr!20=EVAL(RIGHT$(text$(q),LEN(text$(q))-pos))
 8070  ENDIF
 8080  itemptr+=24:q+=1
 8090 UNTIL (setting(q-1) AND &80)>0
 8100 mb%=itemptr
 8110 IF q<>n THEN title$=text$(q):q+=1
 8120UNTIL q=n
 8130FOR q=0 TO n-1
 8140 IF submenu(q)>0 AND submenu(q)<menus THEN
 8150  !ref(q)=menupos(submenu(q))
 8160 ELSE
 8170  !ref(q)=submenu(q)
 8180 ENDIF
 8190NEXT q
 8200SYS "Wimp_CreateMenu",,menu%,x,y
 8210ENDPROC
 8220
 8230REM ----------------------------------------------------------------------
 8240REM FILE HANDLING ROUTINES
 8250REM ----------------------------------------------------------------------
 8260
 8270DEF PROCload_order_details(rec,chn)
 8280b=(rec-1)*1144
 8290PTR#chn=b      : INPUT #chn,c_name$
 8300PTR#chn=b+32   : INPUT #chn,c_sale$
 8310PTR#chn=b+64   : INPUT #chn,c_adr1$
 8320PTR#chn=b+96   : INPUT #chn,c_adr2$
 8330PTR#chn=b+128  : INPUT #chn,c_adr3$
 8340PTR#chn=b+160  : INPUT #chn,c_adr4$
 8350PTR#chn=b+192  : INPUT #chn,c_post$
 8360PTR#chn=b+204  : INPUT #chn,c_tele$
 8370PTR#chn=b+226  : INPUT #chn,c_fax$
 8380PTR#chn=b+248  : INPUT #chn,c_accn$
 8390FOR ord=1 TO 10
 8400 PTR#chn=b+270+(ord-1)*78       : INPUT #chn,order$(ord,1)
 8410 PTR#chn=b+282+(ord-1)*78       : INPUT #chn,order$(ord,2)
 8420 PTR#chn=b+324+(ord-1)*78       : INPUT #chn,order$(ord,3)
 8430 PTR#chn=b+336+(ord-1)*78       : INPUT #chn,order$(ord,4)
 8440NEXT ord
 8450pay$=STR$pay
 8460PTR#chn=b+1128 : INPUT #chn,pay$
 8470pay=VALpay$
 8480PTR#chn=b+1131 : INPUT #chn,date$
 8490ENDPROC
 8500
 8510DEF PROCsave_order_details(rec,chn)
 8520b=(rec-1)*1144
 8530PTR#chn=b      : PRINT #chn,c_name$
 8540PTR#chn=b+32   : PRINT #chn,c_sale$
 8550PTR#chn=b+64   : PRINT #chn,c_adr1$
 8560PTR#chn=b+96   : PRINT #chn,c_adr2$
 8570PTR#chn=b+128  : PRINT #chn,c_adr3$
 8580PTR#chn=b+160  : PRINT #chn,c_adr4$
 8590PTR#chn=b+192  : PRINT #chn,c_post$
 8600PTR#chn=b+204  : PRINT #chn,c_tele$
 8610PTR#chn=b+226  : PRINT #chn,c_fax$
 8620PTR#chn=b+248  : PRINT #chn,c_accn$
 8630FOR ord=1 TO 10
 8640 PTR#chn=b+270+(ord-1)*78       : PRINT #chn,order$(ord,1)
 8650 PTR#chn=b+282+(ord-1)*78       : PRINT #chn,order$(ord,2)
 8660 PTR#chn=b+324+(ord-1)*78       : PRINT #chn,order$(ord,3)
 8670 PTR#chn=b+336+(ord-1)*78       : PRINT #chn,order$(ord,4)
 8680NEXT ord
 8690@%=&0000090A
 8700pay$=STR$pay
 8710PTR#chn=b+1128 : PRINT #chn,pay$
 8720@%=&0102020A
 8730PTR#chn=b+1131 : PRINT #chn,date$
 8740ENDPROC
 8750
 8760REM ----------------------------------------------------------------------
 8770REM FONT HANDLING ROUTINES
 8780REM ----------------------------------------------------------------------
 8790
 8800DEF FNget_font(name$,xs%,ys%)
 8810SYS"Font_FindFont",,name$,16*xs%,16*ys% TO handle%
 8820=handle%
 8830
 8840DEF PROCload_fonts
 8850f1%=FNget_font("Trinity.Medium",12,12)
 8860f2%=FNget_font("Trinity.Bold",12,12)
 8870ENDPROC
 8880
 8890DEF PROClose_fonts
 8900SYS"Font_LoseFont",f1%
 8910SYS"Font_LoseFont",f2%
 8920ENDPROC
 8930
 8940DEF PROCdeclare_fonts
 8950SYS"PDriver_DeclareFont",f1%, "Trinity.Bold",0
 8960SYS"PDriver_DeclareFont",f2%, "Homerton.Bold",0
 8970SYS"PDriver_DeclareFont",f3%, "Homerton.Medium",0
 8980SYS"PDriver_DeclareFont",f5%, "Corpus.Bold",0
 8990ENDPROC
 9000
 9010REM ----------------------------------------------------------------------
 9020REM PRINTOUT ROUTINES
 9030REM ----------------------------------------------------------------------
 9040
 9050DEF PROCprint(font%,text$,x,y)
 9060SYS"Font_SetFont",font%
 9070SYS"Font_Paint",,text$,&10,x,y
 9080ENDPROC
 9090
 9100DEF PROCinitialise_printer
 9110printing=TRUE
 9120pf%=OPENOUT("printer:")
 9130SYS"PDriver_SelectJob",pf%,"Test job"
 9140PROCload_fonts
 9150rec%!0=0:rec%!4=0:rec%!8=1200:rec%!12=1900
 9160trans%!0=1<<16:trans%!4=0<<16:trans%!8=0<<16:trans%!12=1<<16
 9170plotat%!0=1*72000:plotat%!4=1.25*72000
 9180SYS"PDriver_GiveRectangle",0,rec%,trans%,plotat%,&FFFFFF00
 9190SYS"PDriver_DrawPage",1,rectin%,0,0 TO more%
 9200ENDPROC
 9210
 9220DEF PROCprint_order
 9230IF FNget_system_variable("printer$")="" THEN
 9240 PROCsay("Please load a RISC OS printer driver before printing")
 9250 ENDPROC
 9260ENDIF
 9270SYS"Hourglass_On"
 9280PROCinitialise_printer
 9290WHILE more%
 9300 SYS"ColourTrans_SetGCOL",0
 9310 RECTANGLE 0,630,150,470
 9320 RECTANGLE 150,630,450,470
 9330 RECTANGLE 600,630,150,470
 9340 RECTANGLE 750,630,150,470
 9350 RECTANGLE 900,630,150,470
 9360 RECTANGLE 0,1050,1050,50
 9370 SYS"ColourTrans_SetFontColours",,&FFFFFF00,0,6
 9380 PROCprint(f2%,"Item Code",5,1055)
 9390 PROCprint(f2%,"Description",155,1055)
 9400 PROCprint(f2%,"Quantity",605,1055)
 9410 PROCprint(f2%,"Unit �",755,1055)
 9420 PROCprint(f2%,"Total �",905,1055)
 9430 PROCprint(f1%,FNicon_getdata(q%,user%,2),550,1800)
 9440 PROCprint(f1%,FNicon_getdata(q%,user%,3),550,1765)
 9450 PROCprint(f1%,FNicon_getdata(q%,user%,4),550,1730)
 9460 PROCprint(f1%,FNicon_getdata(q%,user%,5),550,1695)
 9470 PROCprint(f1%,FNicon_getdata(q%,user%,6),550,1660)
 9480 IF FNicon_getdata(q%,user%,7)<>"" THEN
 9490  PROCprint(f1%,"Telephone "+FNicon_getdata(q%,user%,7),550,1625)
 9500 ENDIF
 9510 PROCprint(f1%,FNicon_getdata(q%,order%,1),0,1660)
 9520 PROCprint(f1%,FNicon_getdata(q%,company%,1),0,1625)
 9530 PROCprint(f1%,FNicon_getdata(q%,company%,2),0,1590)
 9540 PROCprint(f1%,FNicon_getdata(q%,company%,3),0,1555)
 9550 PROCprint(f1%,FNicon_getdata(q%,company%,4),0,1520)
 9560 PROCprint(f1%,FNicon_getdata(q%,company%,5),0,1485)
 9570 cont$=FNicon_getdata(q%,company%,0)
 9580 accn$=FNicon_getdata(q%,company%,8)
 9590 IF cont$<>"" THEN PROCprint(f1%,"For attention of "+cont$,0,1450)
 9600 IF accn$<>"" THEN PROCprint(f1%,"Customer/Account number "+accn$,0,1415)
 9610 PROCprint(f1%,MID$(TIME$,5,11),0,1380)
 9620 IF cont$<>"" THEN
 9630  PROCprint(f1%,"Dear "+cont$,0,1200)
 9640 ELSE
 9650  PROCprint(f1%,"Dear Sir/Madam",0,1200)
 9660 ENDIF
 9670 PROCprint(f1%,"Please supply the following goods to me at the above address",0,1130)
 9680 total=0
 9690 FOR ord=1 TO 10
 9700  PROCprint(f1%,FNicon_getdata(q%,order%,(6+((ord-1)*5))+1),5,1055-(35*ord))
 9710  PROCprint(f1%,FNicon_getdata(q%,order%,(6+((ord-1)*5))+2),155,1055-(35*ord))
 9720  PROCprint(f1%,FNicon_getdata(q%,order%,(6+((ord-1)*5))+3),605,1055-(35*ord))
 9730  PROCprint(f1%,FNicon_getdata(q%,order%,(6+((ord-1)*5))+4),755,1055-(35*ord))
 9740  PROCprint(f1%,FNicon_getdata(q%,order%,(6+((ord-1)*5))+5),905,1055-(35*ord))
 9750  t1=VAL(FNicon_getdata(q%,order%,(6+((ord-1)*5))+3))
 9760  t2=VAL(FNicon_getdata(q%,order%,(6+((ord-1)*5))+4))
 9770  total+=t1*t2
 9780 NEXT ord
 9790 PROCprint(f2%,"Total amount payable:",155,595)
 9800 PROCprint(f1%,"� "+STR$total,905,595)
 9810 CASE pay OF
 9820  WHEN 1 : PROCprint(f1%,"I wish to pay by cheque.",0,550)
 9830  WHEN 2 : PROCprint(f1%,"I wish to pay be postal order.",0,550)
 9840  WHEN 3 : PROCprint(f1%,"Please charge this purchase to my account.",0,550)
 9850  WHEN 4,5,6 : card=(pay-3)
 9860  PROCprint(f1%,"I wish to pay by "+payment$(pay),0,550)
 9870  PROCprint(f2%,"Card Issuer:",25,515)
 9880  PROCprint(f1%,FNicon_getdata(q%,user%,9+(card-1)*5),500,515)
 9890  PROCprint(f2%,"Card number:",25,480)
 9900  PROCprint(f1%,FNicon_getdata(q%,user%,10+(card-1)*5),500,480)
 9910  PROCprint(f2%,"Expiry Date:",25,445)
 9920  PROCprint(f1%,FNicon_getdata(q%,user%,11+(card-1)*5),500,445)
 9930  IF payment$(pay)="Switch" THEN
 9940   PROCprint(f2%,"Issue no   :",25,410)
 9950   PROCprint(f1%,FNicon_getdata(q%,user%,12+(card-1)*5),500,410)
 9960  ENDIF
 9970  PROCprint(f1%,"I hereby authorise the above transaction",25,375)
 9980  PROCprint(f1%,"Signed"+STRING$(60,".")+"Date"+STRING$(20,"."),500,305)
 9990  WHEN 7:PROCprint(f1%,"Please invoice me for the above purchase.",0,550)
10000 ENDCASE
10010 IF cont$<>"" THEN
10020  PROCprint(f1%,"Yours Sincerely",0,240)
10030 ELSE
10040  PROCprint(f1%,"Yours Faithfully",0,240)
10050 ENDIF
10060 PROCprint(f1%,FNicon_getdata(q%,user%,1),0,0)
10070 SYS"PDriver_GetRectangle",,rectin% TO more%
10080ENDWHILE
10090SYS"PDriver_EndJob",pf%
10100CLOSE #pf%
10110printing=FALSE
10120SYS"Hourglass_Off"
10130ENDPROC
10140
10150REM ----------------------------------------------------------------------
10160REM APPLICATION-SPECIFIC MISCELLANEOUS ROUTINES
10170REM ----------------------------------------------------------------------
10180
10190DEF FNround(price)
10200price=price*100
10210IF (INT(price)-price)<>0 THEN price=INT(price)+1 ELSE price=INT(price)
10220=price/100
10230
10240DEF FNupper(text$)
10250LOCAL temp$,n
10260IF text$="" THEN =""
10270FOR n=1 TO LEN(text$)
10280 IF ASC(MID$(text$,n,1))<123 AND ASC(MID$(text$,n,1))>96 THEN
10290  temp$+=CHR$(ASC(MID$(text$,n,1))-32)
10300 ELSE
10310  temp$+=MID$(text$,n,1)
10320 ENDIF
10330NEXT n
10340=temp$
10350
10360DEF FNget_system_variable(name$)
10370LOCAL length%
10380SYS"XOS_ReadVarVal",name$+CHR$(0),q%,-1 TO ,,length%
10390IF length%=0 THEN =""
10400SYS"XOS_ReadVarVal",name$+CHR$(0),q%,255,,3 TO ,,length%
10410?(q%+length%)=13
10420=$q%
10430
10440DEF PROCdisplay_order
10450PROCicon_putdata(q%,order%,1,c_name$,-1)
10460PROCicon_putdata(q%,company%,0,c_sale$,-1)
10470PROCicon_putdata(q%,company%,1,c_adr1$,-1)
10480PROCicon_putdata(q%,company%,2,c_adr2$,-1)
10490PROCicon_putdata(q%,company%,3,c_adr3$,-1)
10500PROCicon_putdata(q%,company%,4,c_adr4$,-1)
10510PROCicon_putdata(q%,company%,5,c_post$,-1)
10520PROCicon_putdata(q%,company%,6,c_tele$,-1)
10530PROCicon_putdata(q%,company%,7,c_fax$,-1)
10540PROCicon_putdata(q%,company%,8,c_accn$,-1)
10550total=0
10560FOR o=1 TO 10
10570 PROCicon_putdata(q%,order%, 7+((o-1)*5),order$(o,1),-1)
10580 PROCicon_putdata(q%,order%, 8+((o-1)*5),order$(o,2),-1)
10590 PROCicon_putdata(q%,order%, 9+((o-1)*5),order$(o,3),-1)
10600 PROCicon_putdata(q%,order%,10+((o-1)*5),order$(o,4),-1)
10610 PROCicon_putdata(q%,order%,11+((o-1)*5),order$(o,4),-1)
10620 temp=VAL(order$(o,3))*VAL(order$(o,4))
10630 IF temp<>0 THEN PROCicon_putdata(q%,order%,11+((o-1)*5),STR$temp,-1)
10640 total+=temp
10650NEXT o
10660PROCicon_putdata(q%,order%,58,STR$total,-1)
10670ENDPROC
10680
10690DEF PROCclear_order
10700PROCicon_putdata(q%,order%,1,"",-1)
10710FOR i=7 TO 56:PROCicon_putdata(q%,order%,i,"",-1):NEXT i
10720PROCicon_putdata(q%,order%,58,"",-1)
10730pay=0:PROCclickorder(4,59)
10740FOR i=0 TO 8:PROCicon_putdata(q%,company%,i,"",-1):NEXT i
10750PROCcaret_setposition(order%,1,-1,-1,-1,-1)
10760ENDPROC

 � Program:      Order System
&� Author:       Mark Andrew Colman
$� Copyright:    Archimedes World
(4� Version:      1.02 (Completed AUGUST 6TH 1994)
2
<version$="1.02 (06-Aug-94)"
F
P� � �error:�
Zș"Hourglass_On"
d
n
user_ok=�
x�initialise_task
��load_user_sprites
��load_templates
��load_fonts
�
�X=�("<Order$Dir>.Personal")
�� i=1 � 22
� � #X,temp$
�& �icon_putdata(q%,user%,i,temp$,0)
�� i
�� #X
�
�)payment$(4)=�icon_getdata(q%,user%,8)
�*payment$(5)=�icon_getdata(q%,user%,13)
*payment$(6)=�icon_getdata(q%,user%,18)
#comp=�("<Order$Dir>.Companies")

"ș"Hourglass_Off"
,
6tries=0
@ �openwindow(titlepage%,�,-1)
J0�caret_setposition(titlepage%,4,-1,-1,-1,-1)
T
^� � �error
h
r�
| �action(�poll(0))
�� closedown
�
�� #comp
�
�@%=&0000090A
��lose_fonts
�
�X=�("<Order$Dir>.Personal")
�� i=1 � 22
�$ temp$=�icon_getdata(q%,user%,i)
� � #X,temp$
�� i
�� #X

$q%="TASK"
"ș "Wimp_CloseDown",task%,q%!0
&�
0
:L� ----------------------------------------------------------------------
DI� Error Handler, Message Reporting and Action Confirmation procedures
NL� ----------------------------------------------------------------------
X
b� �error
lș "Wimp_DragBox",,-1
v(!q%=�:$(q%+4)=�$+" at line "+Þ+�(0)
�0� printing � ș"PDriver_AbortJob",pf%:� #pf%
�� closedown=TRUE
�-ș "Wimp_ReportError",q%,1,"Order System"
��
�
�� �say(message$)
�#message$=�4,�(0))+message$+�(0)
�3ș"Wimp_ReportError",message$,17,"Order System"
��
�
�� �query(text$)
�response=0:�
�! message$=�4,�(0))+text$+�(0)
* title$="Query from Order System"+�(0)
8 ș"Wimp_ReportError",message$,59,title$ � ,response
� response<>0
 
=response
*
4L� ----------------------------------------------------------------------
>"� WIMP Initialisation Routines
HL� ----------------------------------------------------------------------
R
\� �initialise_task
f@%=&0102020A
p� q% 10000:$q%="TASK"
z,� trans% 16,rec% 16,plotat% 8,rectin% 16
�8ș "Wimp_Initialise",200,!q%,"Order System" � ,task%
�1closedown=�:printing=�:searching=�:ordering=�
�7claimmenu$="":� payment$(7),card$(6,2),order$(10,4)
�+card$(1,1)="Access":card$(1,2)="access"
�+card$(2,1)="Switch":card$(2,2)="switch"
�3card$(3,1)="MasterCard":card$(3,2)="mastercard"
�'card$(4,1)="Visa":card$(4,2)="visa"
�)card$(5,1)="Delta":card$(5,2)="delta"
�6card$(6,1)="American Express":card$(6,2)="amerexp"
�K� text$(250),setting(250),flags(250),submenu(250),ref(250),menupos(250)
�G� menu% 4096,indirect% &20000,msgblk% 512,sprite% 15*16,text% 15*16
�.baricon=�create_icon("!Orders",0,"Log On")
�&iptr%=indirect%:iend%=iptr%+&15000
�

� �load_user_sprites
$.S%=� "<Order$Dir>.Sprites":T%=�#S%+16:�#S%
.*� sp T%:!sp=T%:sp!4=0:sp!8=16:sp!12=16
8ș "OS_SpriteOp",&209,sp
B2ș "OS_SpriteOp",&20A,sp,"<Order$Dir>.Sprites"
L�
V
`� �load_templates
j.�opentemplatefile("<Order$Dir>.Templates")
t�loadtemplate("search")
~'ș"Wimp_CreateWindow",,q% � search%
��loadtemplate("vat")
�$ș"Wimp_CreateWindow",,q% � vat%
��loadtemplate("titlepage")
�*ș"Wimp_CreateWindow",,q% � titlepage%
��loadtemplate("ProgInfo")
�%ș"Wimp_CreateWindow",,q% � info%
��loadtemplate("Company")
�(ș"Wimp_CreateWindow",,q% � company%
��loadtemplate("User")
�%ș"Wimp_CreateWindow",,q% � user%
��loadtemplate("OrderForm")
�&ș"Wimp_CreateWindow",,q% � order%
�closetemplatefile

payment$(1)="Cheque"
payment$(2)="Postal Order"
payment$(3)="Account"
(payment$(7)="Invoice"
2(�icon_putdata(q%,info%,0,version$,0)
<%�icon_putdata(q%,vat%,0,"17.5",0)
F�
P
ZL� ----------------------------------------------------------------------
d� Action Handling Routines
nL� ----------------------------------------------------------------------
x
�� �action(evnt%)
�Ȏ evnt% �
� � 1:�redrawwindow(q%!0)
� � 2:�openwindow(q%!0,�,0)
� � 3:�closewindow(q%!0)
�6 � 6:�clickwindow(!q%,q%!4,q%!8,q%!12,q%!16,q%!20)
� � 7:�drag
� � 8:�keypress
�2 � 9:� claimmenu$<>"" � �whichmenu(claimmenu$)
� � 17,18:�receive(q%)
��
��
�
� �poll(mask%)
 ș "Wimp_Poll",mask%,q% � a%
=a%
"
,=� �clickwindow(mousex%,mousey%,button%,handle%,icon%,ob%)
6� user_ok=� � �
@Ȏ handle% �
J0 � -2          :�clickiconbar(button%,icon%)
T. � order%      :�clickorder(button%,icon%)
^- � user%       :�clickuser(button%,icon%)
h, � vat%        :�clickvat(button%,icon%)
r/ � search%     :�clicksearch(button%,icon%)
|�
��
�
�� �keypress
�	� ic%
�� q%!4<>-1 �
�( ș "Wimp_GetCaretPosition",,msgblk%
� ic%=msgblk%!4
� Ȏ q%!24 �
�#  � 27:ș "Wimp_CreateMenu",,-1
�  
�  Ȏ q%!0 �
�2   � user%         : �keypress_user(ic%,q%!24)
�3   � order%        : �keypress_order(ic%,q%!24)
5   � company%      : �keypress_company(ic%,q%!24)
7   � titlepage%    : �keypress_titlepage(ic%,q%!24)
1   � vat%          : �keypress_vat(ic%,q%!24)
&4   � search%       : �keypress_search(ic%,q%!24)
0  �
: �
D�
N�
X
b� �whichmenu(menu$)
l� void%
vȎ menu$ �
�, � "baricon"  :void%=�menuselect_baricon
�* � "cards"    :void%=�menuselect_cards
�* � "order"    :void%=�menuselect_order
��
�ȗ x,y,b:� b=1 �
� Ȏ menu$ �
�#  � "baricon"   : �menu_baricon
�!  � "order"     : �menu_order
� �
��
��
�
�� �receive(q%)
Ȏ q%!16 �
4 � 0:$q%="TASK":ș "Wimp_CloseDown",task%,q%!0:�
�
 �
*
4L� ----------------------------------------------------------------------
>7� MOUSE CLICK, KEYPRESS AND MENU SELECTION HANDLERS
HL� ----------------------------------------------------------------------
R
\L� ----------------------------------------------------------------------
f� VAT CALCULATION WINDOW
pL� ----------------------------------------------------------------------
z
�� �clickvat(button%,icon%)
�� cost,vatcost
�� icon%<>3 � �
�total=0
�� i=1 � 10
�0 cost=�(�icon_getdata(q%,order%,10+(i-1)*5))
� � cost<>0 �
�  @%=&0000090A
�@  vatcost=�round(cost*(1+(�(�icon_getdata(q%,vat%,0))/100)))
�  @%=&0102020A
�5  �icon_putdata(q%,order%,10+(i-1)*5,�vatcost,-1)
�0  quan=�(�icon_getdata(q%,order%,9+(i-1)*5))
�<  �icon_putdata(q%,order%,11+(i-1)*5,�(vatcost*quan),-1)
	3  total+=�(�icon_getdata(q%,order%,11+(i-1)*5))
	 �
	� i
	$5� total>0 � �icon_putdata(q%,order%,58,�total,-1)
	.�closewindow(vat%)
	8,�caret_setposition(order%,7,-1,-1,-1,-1)
	B�
	L
	V� �keypress_vat(icon%,key%)
	`(� icon%=0 � key%=13 � �clickvat(4,3)
	j�
	t
	~L� ----------------------------------------------------------------------
	�� TITLE PAGE
	�L� ----------------------------------------------------------------------
	�
	�#� �keypress_titlepage(ic%,key%)
	�� key%=13 �
	�- password$=�icon_getdata(q%,titlepage%,4)
	�  boot=�("<Order$Dir>.!Boot")
	�, � n=1 � 2:temp$=�file_getline(boot):� n
	�$ pw$=�file_getline(boot):� #boot
	� pw$=�pw$,�(pw$)-2)
	� � pw$=password$ �
	�  user_ok=�
  �closewindow(titlepage%)

!  �icon_delete(q%,-2,baricon)
0  baricon=�create_icon("!Orders",0,"Orders")
 �
(&  tries+=1:� tries=3 � closedown=�
24  �caret_setposition(titlepage%,ic%,-1,-1,-1,-1)
< �
F�
P�
Z
d� �file_getline(channel)
n
� string$
x�
� a=�#channel
� string$=string$+�a
�
� a=10
�$string$=�string$,(�(string$))-1)
�=string$
�
�L� ----------------------------------------------------------------------
�� COMPANY WINDOW
�L� ----------------------------------------------------------------------
�
�!� �keypress_company(ic%,key%)
�
Ȏ key% �
� � 13:ic%+=1
 � ic%=9 �
  �closewindow(company%)
.  �caret_setposition(order%,7,-1,-1,-1,-1)
"  ș"Wimp_CreateMenu",,-1
, �
62  �caret_setposition(company%,ic%,-1,-1,-1,-1)
@ �
J" � &18E:ic%+=1:� ic%=9 � ic%=0
T1 �caret_setposition(company%,ic%,-1,-1,-1,-1)
^# � &18F:ic%-=1:� ic%=-1 � ic%=8
h1 �caret_setposition(company%,ic%,-1,-1,-1,-1)
r�
|�
�
�L� ----------------------------------------------------------------------
�� USER WINDOW
�L� ----------------------------------------------------------------------
�
�� �clickuser(button%,icon%)
�*� icon%<>8 � icon%<>13 � icon%<>18 � �
�� button%<>2 � �
�card_type_icon=icon%
��menu_cards
��
�
�� �keypress_user(ic%,key%)

Ȏ key% �
& � 13,&18E:ic%+=1:� ic%=23 � ic%=1
# � &18F:ic%-=1:� ic%=0 � ic%=22
&�
0� ic%=9 � ic%=14 � ic%=19 �
:0 temp$=�icon_getdata(q%,user%,ic%-1):found=�
D � temp$="" �
N&  pict_icon=((ic%-9)/5)+23:found=�
X5  null%=�newsprite(q%,user%,pict_icon,"blank",-1)
b �
l7  payment$((ic%-4)/5)=�icon_getdata(q%,user%,ic%-1)
v  � c=1 � 6
�   � card$(c,1)=temp$ �
�(    pict_icon=((ic%-9)/5)+23:found=�
�:    null%=�newsprite(q%,user%,pict_icon,card$(c,2),-1)
�   �
�	  � c
�  � � found �
�'   pict_icon=((ic%-9)/5)+23:found=�
�;   null%=�newsprite(q%,user%,pict_icon,"creditcard",-1)
�  �
� �
��
�-�caret_setposition(user%,ic%,-1,-1,-1,-1)
��



� �menu_cards

no=0:ȗ x,y,b

 
� c=1 � 6

* � c=6 � last=-1 � last=0

49 �menu_opt(card$(c,1),no,0,0,0,0,&10021,0,last):no+=1

>� c

H)�create_menu("Card Types",no,200,x,y)

Rclaimmenu$="cards"

\�

f

p� �menuselect_cards

z� level0

�level0=q%!0

�?�icon_putdata(q%,user%,card_type_icon,card$(level0+1,1),-1)

�8�caret_setposition(user%,card_type_icon,-1,-1,-1,-1)

�=0

�

�L� ----------------------------------------------------------------------

�� SEARCH WINDOW

�L� ----------------------------------------------------------------------

�

�!� �clicksearch(button%,icon%)

�Ȏ icon% �

� � 2,3:csen=�csen

�
 � csen �
-  null%=�newsprite(q%,search%,2,"Yes",-1)
 �
,  null%=�newsprite(q%,search%,2,"No",-1)
$ �
. � 4,5:exct=�exct
8
 � exct �
B-  null%=�newsprite(q%,search%,4,"Yes",-1)
L �
V,  null%=�newsprite(q%,search%,4,"No",-1)
` �
j�
t�
~
�"� �keypress_search(icon%,key%)
�� �#comp=0 �
� ș"Wimp_CreateMenu",,-1
� �
��
�9text$=�icon_getdata(q%,search%,1):� IF text$<>"" THEN
�* searching=�:record=0:found=�:pay1=pay
� �
�8  record+=1:�load_order_details(record,comp):found=�
�  � � csen �
�2   text1$=�upper(text$):text2$=�upper(c_name$)
�  �
"   text1$=text$:text2$=c_name$

  �
  Ȏ exct �
&   � � : � text1$=text2$ � found=�
(*   � �: � �text2$,text1$)<>0 � found=�
2  �
<# � found � record=(�#comp)/1144
F � � found �
P  ș"Wimp_CreateMenu",,-1
Z  �closewindow(order%)
d �
n  �display_order
x9  pay-=1:�icon_putdata(q%,order%,59,payment$(pay),-1)
�  �clickorder(4,59)
�  ș"Wimp_CreateMenu",,-1
�.  �caret_setposition(order%,7,-1,-1,-1,-1)
� �
�� ENDIF
��
�
�L� ----------------------------------------------------------------------
�� ORDER WINDOW
�L� ----------------------------------------------------------------------
�
� � �clickorder(button%,icon%)
�%� button%=2 � �menu_orderwindow:�
Ȏ icon% �
 � 59:pay+=1
 � pay=8 � pay=1
" � payment$(pay)="" �
,  �
6
   pay+=1
@  � payment$(pay)<>""
J �
T � pay>3 � pay<7 �
^
  found=�
h  � c=1 � 6
r-   � payment$(pay)=card$(c,1) � � found �
|<    null%=�newsprite(q%,order%,62,card$(c,2),-1):found=�
�   �
�	  � c
�  � � found �
�5   null%=�newsprite(q%,order%,62,"creditcard",-1)
�  �
� �
�/  null%=�newsprite(q%,order%,62,"blank",-1)
� �
�1 �icon_putdata(q%,order%,59,payment$(pay),-1)
� � 61:� searching �
�  old_rec=record
�  � �#comp=0 � �
�'  text$=�icon_getdata(q%,search%,1)
/�  IF text$="" THEN searching=FALSE:ENDPROC
  �
   found=�:record-=1
&$   � record=0 � record=old_rec:�
0'   �load_order_details(record,comp)
:   � csen �
D#    text1$=text$:text2$=c_name$
N   �
X3    text1$=�upper(text$):text2$=�upper(c_name$)
b   �
l   Ȏ exct �
v&    � � :� text1$=text2$ � found=�
�*    � �:� �text2$,text1$)<>0 � found=�
�   �
�
  � found
�  �display_order
�9  pay-=1:�icon_putdata(q%,order%,59,payment$(pay),-1)
�  �clickorder(4,59)
�  ș"Wimp_CreateMenu",,-1
�.  �caret_setposition(order%,7,-1,-1,-1,-1)
� �
� � 60:� searching �
�  old_rec=record
�  � �#comp=0 � �
�'  text$=�icon_getdata(q%,search%,1)
/�  IF text$="" THEN searching=FALSE:ENDPROC
  �
   found=�:record+=1
 2   � record=1+(�#comp)/1144 � record=old_rec:�
*'   �load_order_details(record,comp)
4   � csen �
>#    text1$=text$:text2$=c_name$
H   �
R3    text1$=�upper(text$):text2$=�upper(c_name$)
\   �
f   Ȏ exct �
p&    � � :� text1$=text2$ � found=�
z*    � �:� �text2$,text1$)<>0 � found=�
�   �
�
  � found
�  �display_order
�9  pay-=1:�icon_putdata(q%,order%,59,payment$(pay),-1)
�  �clickorder(4,59)
�  ș"Wimp_CreateMenu",,-1
�.  �caret_setposition(order%,7,-1,-1,-1,-1)
� �
�  � 63:�openwindow(vat%,�,-1)
�+ �caret_setposition(vat%,0,-1,-1,-1,-1)
��
��
�
� �menu_orderwindow
no=0:ȗ x,y,b
2�menu_opt("Print",no,0,0,0,0,&10021,0,0):no+=1
$2�menu_opt("Clear",no,0,0,0,0,&10021,0,0):no+=1
.<�menu_opt("Address",no,0,0,-1,0,&10021,company%,0):no+=1
81�menu_opt("Save",no,0,0,0,0,&10021,0,0):no+=1
B3�menu_opt("Delete",no,0,0,0,0,&10021,0,0):no+=1
L:�menu_opt("Search",no,0,0,0,0,&10021,search%,-1):no+=1
V$�create_menu("Order",no,150,x,y)
`claimmenu$="order"
j2exct=�:null%=�newsprite(q%,search%,2,"Yes",-1)
t2csen=�:null%=�newsprite(q%,search%,4,"Yes",-1)
~�
�
�� �menuselect_order
�� level0
�level0=q%!0
�Ȏ level0 �
� � 0:�print_order
� � 1:�clear_order
�+ � 3:c_name$=�icon_getdata(q%,order%,1)
�) c_sale$=�icon_getdata(q%,company%,0)
�) c_adr1$=�icon_getdata(q%,company%,1)
�) c_adr2$=�icon_getdata(q%,company%,2)
�) c_adr3$=�icon_getdata(q%,company%,3)
) c_adr4$=�icon_getdata(q%,company%,4)

) c_post$=�icon_getdata(q%,company%,5)
) c_tele$=�icon_getdata(q%,company%,6)
( c_fax$=�icon_getdata(q%,company%,7)
() c_accn$=�icon_getdata(q%,company%,8)
2 � o=1 � 10
<6  order$(o,1)=�icon_getdata(q%,order%,(5*(o-1))+7)
F6  order$(o,2)=�icon_getdata(q%,order%,(5*(o-1))+8)
P6  order$(o,3)=�icon_getdata(q%,order%,(5*(o-1))+9)
Z7  order$(o,4)=�icon_getdata(q%,order%,(5*(o-1))+10)
d � o
n date$=��$,5,11)
x% �save_order_details(record,comp)
�4 � 4:� record<>(((�#comp)/1144)+1) � �#comp<>0 �
�&  �icon_putdata(q%,order%,1,"",-1)
�5  � i=7 � 56:�icon_putdata(q%,order%,i,"",-1):� i
�'  �icon_putdata(q%,order%,58,"",-1)
�  pay=0:�clickorder(4,59)
�6  � i=0 � 8:�icon_putdata(q%,company%,i,"",-1):� i
�  �closewindow(order%)
�*  newc=�("<Order$Dir>.NewComp"):recs=0
�  � r=1 � (�#comp)/1144
�   � r<>record �
�    recs+=1
�#    �load_order_details(r,comp)
�&    �save_order_details(recs,newc)
   �
	  � r

  � #comp
"
  � #newc
,'  �("Delete <Order$Dir>.Companies")
6;  �("Rename <Order$Dir>.NewComp <Order$Dir>.Companies")
@%  comp=�("<Order$Dir>.Companies")
J �
T � 5:� Search window
^�
h=0
r
|� �keypress_order(ic%,key%)
�
Ȏ key% �
�& � 13,&18E:ic%+=1:� ic%=57 � ic%=7
� � ic%=2 �
�  recs=(�#comp)/1144
�  � recs>0 �
�   found=�:pay1=pay
�/   � r=1 � recs:�load_order_details(r,comp)
�8    � c_name$=�icon_getdata(q%,order%,1) � � found �
�z     resp=�query("There is already an order with this company.  Do you wish to use the address etc. from this order?")
�     � resp=1 �
�1      �icon_putdata(q%,company%,0,c_sale$,-1)
�1      �icon_putdata(q%,company%,1,c_adr1$,-1)
�1      �icon_putdata(q%,company%,2,c_adr2$,-1)
1      �icon_putdata(q%,company%,3,c_adr3$,-1)
1      �icon_putdata(q%,company%,4,c_adr4$,-1)
1      �icon_putdata(q%,company%,5,c_post$,-1)
&1      �icon_putdata(q%,company%,6,c_tele$,-1)
00      �icon_putdata(q%,company%,7,c_fax$,-1)
:1      �icon_putdata(q%,company%,8,c_accn$,-1)
D      found=�
N
     �
X	    �
b
   � r
l   pay=pay1
v  �
�  ic%=7
� �
�! � (ic%-6) � 5 = 0 � ic%<>1 �
�*  t1=�(�icon_getdata(q%,order%,ic%-1))
�*  t2=�(�icon_getdata(q%,order%,ic%-2))
�.  �icon_putdata(q%,order%,ic%,�(t1*t2),-1)
�
  total=0
�E  � ord=1 � 10:total+=�(�icon_getdata(q%,order%,6+(5*ord))):� ord
�+  �icon_putdata(q%,order%,58,�total,-1)
�  ic%+=1:� ic%=57 � ic%=7
� �
�# � &18F:ic%-=1:� ic%=6 � ic%=56
� � (ic%-6) � 5 = 0 � ic%-=1
�
.�caret_setposition(order%,ic%,-1,-1,-1,-1)
�
 
*L� ----------------------------------------------------------------------
4� ICON BAR
>L� ----------------------------------------------------------------------
H
R"� �clickiconbar(button%,icon%)
\� icon%<0 � �
fȎ button% �
p( � 2:� icon%=baricon � �menu_baricon
z � 4:� � ordering �
�&  �icon_putdata(q%,order%,1,"",-1)
�5  � i=7 � 56:�icon_putdata(q%,order%,i,"",-1):� i
�'  �icon_putdata(q%,order%,58,"",-1)
�/  null%=�newsprite(q%,order%,62,"blank",-1)
�8  pay=1:�icon_putdata(q%,order%,59,payment$(pay),-1)
�7  �openwindow(order%,�,-1):record=((�#comp)/1144)+1
�6  � i=0 � 8:�icon_putdata(q%,company%,i,"",-1):� i
�.  �caret_setposition(order%,1,-1,-1,-1,-1)
�  ordering=�
� �
�  � 1:�openwindow(user%,�,-1)
�, �caret_setposition(user%,1,-1,-1,-1,-1)
� � card=1 � 3
:  temp$=�icon_getdata(q%,user%,((card-1)*5)+8):found=�
  � temp$="" �
<   null%=�newsprite(q%,user%,card+22,"blank",-1):found=�
$  �
.  � c=1 � 6
8%   � card$(c,1)=temp$ � � found �
B#    pict_icon=(card+22):found=�
L:    null%=�newsprite(q%,user%,pict_icon,card$(c,2),-1)
V   �
`	  � c
j  � � found �
t"   pict_icon=(card+22):found=�
~;   null%=�newsprite(q%,user%,pict_icon,"creditcard",-1)
�  �
� � card
��
��
�
�� �menu_baricon
�no=0:ȗ x,y,b
�5�menu_opt("Info",no,0,0,0,0,&10021,info%,0):no+=1
�:�menu_opt("Quit",no,0,0,0,0,&10021,0,-1):no+=1:main=no
�4�create_menu("Orders",no,200,x-64,116+(main*40))
�claimmenu$="baricon"
��


� �menuselect_baricon
� level0,level1
level0=q%!0:level1=q%!4
(Ȏ level0 �
2 � 1:closedown=�
<�
F=0
P
ZL� ----------------------------------------------------------------------
dL� GENERAL PURPOSE ROUTINES - DO NOT ALTER ANYTHING IN THIS SECTION !!!!!
nL� ----------------------------------------------------------------------
x
�L� ----------------------------------------------------------------------
�0� TEMPLATE FILE AND WINDOW HANDLING ROUTINES
�L� ----------------------------------------------------------------------
�
�� �opentemplatefile(file$)
�!ș "Wimp_OpenTemplate",,file$
��
�
�� �loadtemplate(name$)
�� type%,pos%,x%
�Lș "Wimp_LoadTemplate",,q%,iptr%,iend%,-1,name$,0 � type%,,iptr%,,,,pos%
�q%!64=sp
��

� �closetemplatefile
ș "Wimp_CloseTemplate"
"�
,
6� �redrawwindow(handle%)
@� void%
Jq%!0=handle%
T'ș "Wimp_RedrawWindow",0,q% � more%
^�lwaorigin(q%+4,x0%,y0%)
hȕ more%
r ș "Wimp_BorderWindow",,q%
|( ș "Wimp_GetRectangle",0,q% � more%
��
��
�
�� �lwaorigin(b,� x%,� y%)
�x%=b!0-b!16:y%=b!12-b!20
��
�
�'� �openwindow(handle%,full%,front%)
�q%!0=handle%
�-� � full% � ș "Wimp_GetWindowState",0,q%
�� front% � q%!28=-1
�ș "Wimp_OpenWindow",0,q%
��

� �closewindow(handle%)
-� handle%=order% � ordering=�:searching=�
&q%!0=handle%
0ș "Wimp_CloseWindow",0,q%
:�
D
N(� �window_retitle(b,whandle%,title$)
X� woblk
b
� woblk 5
lb!0=whandle%
vș "Wimp_GetWindowInfo",,b
�$(!(b+76))=title$
�woblk!0=whandle%
�%ș "Wimp_GetWindowOutline",,woblk
�Dș "Wimp_ForceRedraw",-1,woblk!4,(woblk!16)-40,woblk!12,woblk!16
��
�
�L� ----------------------------------------------------------------------
�� ICON HANDLING ROUTINES
�L� ----------------------------------------------------------------------
�
�� �create_icon(s$,n%,t$)
�	� ic%
��sx%,sy%,sm%,px%,py%
.ș"Wimp_SpriteOp",40,,s$ � ,,,sx%,sy%,,sm%
6ș"OS_ReadModeVariable",sm%,4 � ,,px%:sx%=sx%<<px%
6ș"OS_ReadModeVariable",sm%,5 � ,,py%:sy%=sy%<<py%
 � �t$*16>sx% � sx%=�t$*16
*$(sprite%+15*n%)="S"+s$
4$(text%+15*n%)=t$
>F!q%=-1:q%!4=0:q%!8=-16:q%!12=q%!4+sx%:q%!16=20+sy%:q%!20=&1700310B
H3q%!24=text%+15*n%:q%!28=sprite%+15*n%:q%!32=�t$
R!ș"Wimp_CreateIcon",,q% � ic%
\=ic%
f
p5� �newsprite(b,whandle%,ihandle%,newname$,redraw)
zb!0=whandle%:b!4=ihandle%
�ș "Wimp_GetIconState",,b
�ș "Wimp_DeleteIcon",,b
�Cb!4=b!8:b!8=b!12:b!12=b!16:b!16=b!20:b!20=b!24:$(b+24)=newname$
�&ș "Wimp_CreateIcon",,b � ihandle%
�:� redraw � ș "Wimp_ForceRedraw",b!0,b!4,b!8,b!12,b!16
�
=ihandle%
�
�'� �icon_putdata(b,wh%,ih%,text$,rd)
�b!0=wh%:b!4=ih%
�ș "Wimp_GetIconState",,b
�ș "Wimp_DeleteIcon",,b
�b!4=wh%:$(b!28)=text$:b+=4
�ș "Wimp_CreateIcon",,b
6� rd � ș "Wimp_ForceRedraw",b!0,b!4,b!8,b!12,b!16
b-=4
�
$
.� �icon_delete(b,wh%,ih%)
8b!0=wh%:b!4=ih%
Bș "Wimp_GetIconState",,b
Lș "Wimp_DeleteIcon",,b
V/ș "Wimp_ForceRedraw",b!0,b!4,b!8,b!12,b!16
`b-=4
j�
t
~)� �icon_getdata(q%,whandle%,ihandle%)
�q%!0=whandle%
�q%!4=ihandle%
�ș "Wimp_GetIconState",,q%
�
=$(q%!28)
�
�F� �caret_setposition(whandle%,ihandle%,xoff%,yoff%,height%,index%)
�?� index%=-1 � index%=�(�icon_getdata(q%,whandle%,ihandle%))
�Kș "Wimp_SetCaretPosition",whandle%,ihandle%,xoff%,yoff%,height%,index%
��
�
�L� ----------------------------------------------------------------------
�� MENU CREATION PROCEDURES
L� ----------------------------------------------------------------------


+� �menu_opt(text$,n,w,t,d,s,flags,sm,l)
text$(n)=text$
(setting(n)=0
28� w � setting(n)=setting(n) � &04:flags=flags � &100
<%� t � setting(n)=setting(n) � &01
F%� d � setting(n)=setting(n) � &02
P%� l � setting(n)=setting(n) � &80
Z� s � flags=flags � &400000
dflags(n)=flags
nsubmenu(n)=sm
x�
�
�'� �create_menu(title$,n,width%,x,y)
�
mb%=menu%
�menus=0:q=0
��
�  menupos(menus)=mb%:menus+=1
� $mb%=title$
�
 mb%?12=7
�
 mb%?13=2
�
 mb%?14=7
�
 mb%?15=0
� mb%!16=width%
� mb%!20=40

 mb%!24=0
 itemptr=mb%+28
 �
"  itemptr!0=setting(q)
,  ref(q)=itemptr+4
6(  itemptr!8=flags(q) � 0<<28 � 7<<24
@  � (flags(q) � &100)=0 �
J   $(itemptr+12)=text$(q)
T  �
^   pos=�text$(q),"(")
h%   itemptr!12=�(�text$(q),pos-1))
r   itemptr!16=-1
|/   itemptr!20=�(�text$(q),�(text$(q))-pos))
�  �
�  itemptr+=24:q+=1
� � (setting(q-1) � &80)>0
� mb%=itemptr
�" � q<>n � title$=text$(q):q+=1
�	� q=n
�� q=0 � n-1
�( � submenu(q)>0 � submenu(q)<menus �
�!  !ref(q)=menupos(submenu(q))
� �
�  !ref(q)=submenu(q)
� �
�� q
 #ș "Wimp_CreateMenu",,menu%,x,y
 �
 
 &L� ----------------------------------------------------------------------
 0� FILE HANDLING ROUTINES
 :L� ----------------------------------------------------------------------
 D
 N"� �load_order_details(rec,chn)
 Xb=(rec-1)*1144
 b!�#chn=b      : � #chn,c_name$
 l!�#chn=b+32   : � #chn,c_sale$
 v!�#chn=b+64   : � #chn,c_adr1$
 �!�#chn=b+96   : � #chn,c_adr2$
 �!�#chn=b+128  : � #chn,c_adr3$
 �!�#chn=b+160  : � #chn,c_adr4$
 �!�#chn=b+192  : � #chn,c_post$
 �!�#chn=b+204  : � #chn,c_tele$
 � �#chn=b+226  : � #chn,c_fax$
 �!�#chn=b+248  : � #chn,c_accn$
 �� ord=1 � 10
 �8 �#chn=b+270+(ord-1)*78       : � #chn,order$(ord,1)
 �8 �#chn=b+282+(ord-1)*78       : � #chn,order$(ord,2)
 �8 �#chn=b+324+(ord-1)*78       : � #chn,order$(ord,3)
 �8 �#chn=b+336+(ord-1)*78       : � #chn,order$(ord,4)
 �	� ord
!
pay$=�pay
!�#chn=b+1128 : � #chn,pay$
!
pay=�pay$
! �#chn=b+1131 : � #chn,date$
!*�
!4
!>"� �save_order_details(rec,chn)
!Hb=(rec-1)*1144
!R!�#chn=b      : � #chn,c_name$
!\!�#chn=b+32   : � #chn,c_sale$
!f!�#chn=b+64   : � #chn,c_adr1$
!p!�#chn=b+96   : � #chn,c_adr2$
!z!�#chn=b+128  : � #chn,c_adr3$
!�!�#chn=b+160  : � #chn,c_adr4$
!�!�#chn=b+192  : � #chn,c_post$
!�!�#chn=b+204  : � #chn,c_tele$
!� �#chn=b+226  : � #chn,c_fax$
!�!�#chn=b+248  : � #chn,c_accn$
!�� ord=1 � 10
!�8 �#chn=b+270+(ord-1)*78       : � #chn,order$(ord,1)
!�8 �#chn=b+282+(ord-1)*78       : � #chn,order$(ord,2)
!�8 �#chn=b+324+(ord-1)*78       : � #chn,order$(ord,3)
!�8 �#chn=b+336+(ord-1)*78       : � #chn,order$(ord,4)
!�	� ord
!�@%=&0000090A
!�
pay$=�pay
"�#chn=b+1128 : � #chn,pay$
"@%=&0102020A
"�#chn=b+1131 : � #chn,date$
"$�
".
"8L� ----------------------------------------------------------------------
"B� FONT HANDLING ROUTINES
"LL� ----------------------------------------------------------------------
"V
"`� �get_font(name$,xs%,ys%)
"j4ș"Font_FindFont",,name$,16*xs%,16*ys% � handle%
"t=handle%
"~
"�� �load_fonts
"�)f1%=�get_font("Trinity.Medium",12,12)
"�'f2%=�get_font("Trinity.Bold",12,12)
"��
"�
"�� �lose_fonts
"�ș"Font_LoseFont",f1%
"�ș"Font_LoseFont",f2%
"��
"�
"�� �declare_fonts
"�1ș"PDriver_DeclareFont",f1%, "Trinity.Bold",0
#2ș"PDriver_DeclareFont",f2%, "Homerton.Bold",0
#
4ș"PDriver_DeclareFont",f3%, "Homerton.Medium",0
#0ș"PDriver_DeclareFont",f5%, "Corpus.Bold",0
#�
#(
#2L� ----------------------------------------------------------------------
#<� PRINTOUT ROUTINES
#FL� ----------------------------------------------------------------------
#P
#Z� �print(font%,text$,x,y)
#dș"Font_SetFont",font%
#n!ș"Font_Paint",,text$,&10,x,y
#x�
#�
#�� �initialise_printer
#�printing=�
#�pf%=�("printer:")
#�(ș"PDriver_SelectJob",pf%,"Test job"
#��load_fonts
#�.rec%!0=0:rec%!4=0:rec%!8=1200:rec%!12=1900
#�@trans%!0=1<<16:trans%!4=0<<16:trans%!8=0<<16:trans%!12=1<<16
#�*plotat%!0=1*72000:plotat%!4=1.25*72000
#�=ș"PDriver_GiveRectangle",0,rec%,trans%,plotat%,&FFFFFF00
#�.ș"PDriver_DrawPage",1,rectin%,0,0 � more%
#��
#�
$� �print_order
$+� �get_system_variable("printer$")="" �
$A �say("Please load a RISC OS printer driver before printing")
$" �
$,�
$6ș"Hourglass_On"
$@�initialise_printer
$Jȕ more%
$T ș"ColourTrans_SetGCOL",0
$^ ȓ 0,630,150,470
$h ȓ 150,630,450,470
$r ȓ 600,630,150,470
$| ȓ 750,630,150,470
$� ȓ 900,630,150,470
$� ȓ 0,1050,1050,50
$�2 ș"ColourTrans_SetFontColours",,&FFFFFF00,0,6
$�# �print(f2%,"Item Code",5,1055)
$�' �print(f2%,"Description",155,1055)
$�$ �print(f2%,"Quantity",605,1055)
$�" �print(f2%,"Unit �",755,1055)
$�# �print(f2%,"Total �",905,1055)
$�3 �print(f1%,�icon_getdata(q%,user%,2),550,1800)
$�3 �print(f1%,�icon_getdata(q%,user%,3),550,1765)
$�3 �print(f1%,�icon_getdata(q%,user%,4),550,1730)
$�3 �print(f1%,�icon_getdata(q%,user%,5),550,1695)
$�3 �print(f1%,�icon_getdata(q%,user%,6),550,1660)
%& � �icon_getdata(q%,user%,7)<>"" �
%A  �print(f1%,"Telephone "+�icon_getdata(q%,user%,7),550,1625)
% �
%&2 �print(f1%,�icon_getdata(q%,order%,1),0,1660)
%04 �print(f1%,�icon_getdata(q%,company%,1),0,1625)
%:4 �print(f1%,�icon_getdata(q%,company%,2),0,1590)
%D4 �print(f1%,�icon_getdata(q%,company%,3),0,1555)
%N4 �print(f1%,�icon_getdata(q%,company%,4),0,1520)
%X4 �print(f1%,�icon_getdata(q%,company%,5),0,1485)
%b' cont$=�icon_getdata(q%,company%,0)
%l' accn$=�icon_getdata(q%,company%,8)
%v? � cont$<>"" � �print(f1%,"For attention of "+cont$,0,1450)
%�F � accn$<>"" � �print(f1%,"Customer/Account number "+accn$,0,1415)
%�! �print(f1%,��$,5,11),0,1380)
%� � cont$<>"" �
%�&  �print(f1%,"Dear "+cont$,0,1200)
%� �
%�)  �print(f1%,"Dear Sir/Madam",0,1200)
%� �
%�V �print(f1%,"Please supply the following goods to me at the above address",0,1130)
%� total=0
%� � ord=1 � 10
%�L  �print(f1%,�icon_getdata(q%,order%,(6+((ord-1)*5))+1),5,1055-(35*ord))
%�N  �print(f1%,�icon_getdata(q%,order%,(6+((ord-1)*5))+2),155,1055-(35*ord))
%�N  �print(f1%,�icon_getdata(q%,order%,(6+((ord-1)*5))+3),605,1055-(35*ord))
&N  �print(f1%,�icon_getdata(q%,order%,(6+((ord-1)*5))+4),755,1055-(35*ord))
&N  �print(f1%,�icon_getdata(q%,order%,(6+((ord-1)*5))+5),905,1055-(35*ord))
&6  t1=�(�icon_getdata(q%,order%,(6+((ord-1)*5))+3))
& 6  t2=�(�icon_getdata(q%,order%,(6+((ord-1)*5))+4))
&*  total+=t1*t2
&4
 � ord
&>0 �print(f2%,"Total amount payable:",155,595)
&H$ �print(f1%,"� "+�total,905,595)
&R
 Ȏ pay �
&\8  � 1 : �print(f1%,"I wish to pay by cheque.",0,550)
&f>  � 2 : �print(f1%,"I wish to pay be postal order.",0,550)
&pJ  � 3 : �print(f1%,"Please charge this purchase to my account.",0,550)
&z  � 4,5,6 : card=(pay-3)
&�9  �print(f1%,"I wish to pay by "+payment$(pay),0,550)
&�'  �print(f2%,"Card Issuer:",25,515)
&�>  �print(f1%,�icon_getdata(q%,user%,9+(card-1)*5),500,515)
&�'  �print(f2%,"Card number:",25,480)
&�?  �print(f1%,�icon_getdata(q%,user%,10+(card-1)*5),500,480)
&�'  �print(f2%,"Expiry Date:",25,445)
&�?  �print(f1%,�icon_getdata(q%,user%,11+(card-1)*5),500,445)
&�   � payment$(pay)="Switch" �
&�(   �print(f2%,"Issue no   :",25,410)
&�@   �print(f1%,�icon_getdata(q%,user%,12+(card-1)*5),500,410)
&�  �
&�C  �print(f1%,"I hereby authorise the above transaction",25,375)
&�;  �print(f1%,"Signed"+�60,".")+"Date"+�20,"."),500,305)
'G  � 7:�print(f1%,"Please invoice me for the above purchase.",0,550)
' �
' � cont$<>"" �
'$)  �print(f1%,"Yours Sincerely",0,240)
'. �
'8*  �print(f1%,"Yours Faithfully",0,240)
'B �
'L. �print(f1%,�icon_getdata(q%,user%,1),0,0)
'V. ș"PDriver_GetRectangle",,rectin% � more%
'`�
'jș"PDriver_EndJob",pf%
't
� #pf%
'~printing=�
'�ș"Hourglass_Off"
'��
'�
'�L� ----------------------------------------------------------------------
'�1� APPLICATION-SPECIFIC MISCELLANEOUS ROUTINES
'�L� ----------------------------------------------------------------------
'�
'�� �round(price)
'�price=price*100
'�=� (�(price)-price)<>0 � price=�(price)+1 � price=�(price)
'�=price/100
'�
(� �upper(text$)
(

� temp$,n
(� text$="" � =""
(� n=1 � �(text$)
((/ � �(�text$,n,1))<123 � �(�text$,n,1))>96 �
(2!  temp$+=�(�(�text$,n,1))-32)
(< �
(F  temp$+=�text$,n,1)
(P �
(Z� n
(d
=temp$
(n
(x!� �get_system_variable(name$)
(�
� length%
(�3ș"XOS_ReadVarVal",name$+�(0),q%,-1 � ,,length%
(�� length%=0 � =""
(�7ș"XOS_ReadVarVal",name$+�(0),q%,255,,3 � ,,length%
(�?(q%+length%)=13
(�=$q%
(�
(�� �display_order
(�)�icon_putdata(q%,order%,1,c_name$,-1)
(�+�icon_putdata(q%,company%,0,c_sale$,-1)
(�+�icon_putdata(q%,company%,1,c_adr1$,-1)
(�+�icon_putdata(q%,company%,2,c_adr2$,-1)
(�+�icon_putdata(q%,company%,3,c_adr3$,-1)
)+�icon_putdata(q%,company%,4,c_adr4$,-1)
)+�icon_putdata(q%,company%,5,c_post$,-1)
)+�icon_putdata(q%,company%,6,c_tele$,-1)
)"*�icon_putdata(q%,company%,7,c_fax$,-1)
),+�icon_putdata(q%,company%,8,c_accn$,-1)
)6total=0
)@� o=1 � 10
)J9 �icon_putdata(q%,order%, 7+((o-1)*5),order$(o,1),-1)
)T9 �icon_putdata(q%,order%, 8+((o-1)*5),order$(o,2),-1)
)^9 �icon_putdata(q%,order%, 9+((o-1)*5),order$(o,3),-1)
)h9 �icon_putdata(q%,order%,10+((o-1)*5),order$(o,4),-1)
)r9 �icon_putdata(q%,order%,11+((o-1)*5),order$(o,4),-1)
)|' temp=�(order$(o,3))*�(order$(o,4))
)�? � temp<>0 � �icon_putdata(q%,order%,11+((o-1)*5),�temp,-1)
)� total+=temp
)�� o
)�)�icon_putdata(q%,order%,58,�total,-1)
)��
)�
)�� �clear_order
)�$�icon_putdata(q%,order%,1,"",-1)
)�3� i=7 � 56:�icon_putdata(q%,order%,i,"",-1):� i
)�%�icon_putdata(q%,order%,58,"",-1)
)�pay=0:�clickorder(4,59)
)�4� i=0 � 8:�icon_putdata(q%,company%,i,"",-1):� i
)�,�caret_setposition(order%,1,-1,-1,-1,-1)
*�
�
00000000  0d 00 0a 20 f4 20 50 72  6f 67 72 61 6d 3a 20 20  |... . Program:  |
00000010  20 20 20 20 4f 72 64 65  72 20 53 79 73 74 65 6d  |    Order System|
00000020  0d 00 14 26 f4 20 41 75  74 68 6f 72 3a 20 20 20  |...&. Author:   |
00000030  20 20 20 20 4d 61 72 6b  20 41 6e 64 72 65 77 20  |    Mark Andrew |
00000040  43 6f 6c 6d 61 6e 0d 00  1e 24 f4 20 43 6f 70 79  |Colman...$. Copy|
00000050  72 69 67 68 74 3a 20 20  20 20 41 72 63 68 69 6d  |right:    Archim|
00000060  65 64 65 73 20 57 6f 72  6c 64 0d 00 28 34 f4 20  |edes World..(4. |
00000070  56 65 72 73 69 6f 6e 3a  20 20 20 20 20 20 31 2e  |Version:      1.|
00000080  30 32 20 28 43 6f 6d 70  6c 65 74 65 64 20 41 55  |02 (Completed AU|
00000090  47 55 53 54 20 36 54 48  20 31 39 39 34 29 0d 00  |GUST 6TH 1994)..|
000000a0  32 04 0d 00 3c 1f 76 65  72 73 69 6f 6e 24 3d 22  |2...<.version$="|
000000b0  31 2e 30 32 20 28 30 36  2d 41 75 67 2d 39 34 29  |1.02 (06-Aug-94)|
000000c0  22 0d 00 46 04 0d 00 50  10 ee 20 85 20 f2 65 72  |"..F...P.. . .er|
000000d0  72 6f 72 3a e0 0d 00 5a  14 c8 99 22 48 6f 75 72  |ror:...Z..."Hour|
000000e0  67 6c 61 73 73 5f 4f 6e  22 0d 00 64 04 0d 00 6e  |glass_On"..d...n|
000000f0  0d 75 73 65 72 5f 6f 6b  3d a3 0d 00 78 14 f2 69  |.user_ok=...x..i|
00000100  6e 69 74 69 61 6c 69 73  65 5f 74 61 73 6b 0d 00  |nitialise_task..|
00000110  82 16 f2 6c 6f 61 64 5f  75 73 65 72 5f 73 70 72  |...load_user_spr|
00000120  69 74 65 73 0d 00 8c 13  f2 6c 6f 61 64 5f 74 65  |ites.....load_te|
00000130  6d 70 6c 61 74 65 73 0d  00 96 0f f2 6c 6f 61 64  |mplates.....load|
00000140  5f 66 6f 6e 74 73 0d 00  a0 04 0d 00 aa 1f 58 3d  |_fonts........X=|
00000150  8e 28 22 3c 4f 72 64 65  72 24 44 69 72 3e 2e 50  |.("<Order$Dir>.P|
00000160  65 72 73 6f 6e 61 6c 22  29 0d 00 b4 0e e3 20 69  |ersonal")..... i|
00000170  3d 31 20 b8 20 32 32 0d  00 be 0f 20 e8 20 23 58  |=1 . 22.... . #X|
00000180  2c 74 65 6d 70 24 0d 00  c8 26 20 f2 69 63 6f 6e  |,temp$...& .icon|
00000190  5f 70 75 74 64 61 74 61  28 71 25 2c 75 73 65 72  |_putdata(q%,user|
000001a0  25 2c 69 2c 74 65 6d 70  24 2c 30 29 0d 00 d2 07  |%,i,temp$,0)....|
000001b0  ed 20 69 0d 00 dc 08 d9  20 23 58 0d 00 e6 04 0d  |. i..... #X.....|
000001c0  00 f0 29 70 61 79 6d 65  6e 74 24 28 34 29 3d a4  |..)payment$(4)=.|
000001d0  69 63 6f 6e 5f 67 65 74  64 61 74 61 28 71 25 2c  |icon_getdata(q%,|
000001e0  75 73 65 72 25 2c 38 29  0d 00 fa 2a 70 61 79 6d  |user%,8)...*paym|
000001f0  65 6e 74 24 28 35 29 3d  a4 69 63 6f 6e 5f 67 65  |ent$(5)=.icon_ge|
00000200  74 64 61 74 61 28 71 25  2c 75 73 65 72 25 2c 31  |tdata(q%,user%,1|
00000210  33 29 0d 01 04 2a 70 61  79 6d 65 6e 74 24 28 36  |3)...*payment$(6|
00000220  29 3d a4 69 63 6f 6e 5f  67 65 74 64 61 74 61 28  |)=.icon_getdata(|
00000230  71 25 2c 75 73 65 72 25  2c 31 38 29 0d 01 0e 23  |q%,user%,18)...#|
00000240  63 6f 6d 70 3d ad 28 22  3c 4f 72 64 65 72 24 44  |comp=.("<Order$D|
00000250  69 72 3e 2e 43 6f 6d 70  61 6e 69 65 73 22 29 0d  |ir>.Companies").|
00000260  01 18 04 0d 01 22 15 c8  99 22 48 6f 75 72 67 6c  |....."..."Hourgl|
00000270  61 73 73 5f 4f 66 66 22  0d 01 2c 04 0d 01 36 0b  |ass_Off"..,...6.|
00000280  74 72 69 65 73 3d 30 0d  01 40 20 f2 6f 70 65 6e  |tries=0..@ .open|
00000290  77 69 6e 64 6f 77 28 74  69 74 6c 65 70 61 67 65  |window(titlepage|
000002a0  25 2c a3 2c 2d 31 29 0d  01 4a 30 f2 63 61 72 65  |%,.,-1)..J0.care|
000002b0  74 5f 73 65 74 70 6f 73  69 74 69 6f 6e 28 74 69  |t_setposition(ti|
000002c0  74 6c 65 70 61 67 65 25  2c 34 2c 2d 31 2c 2d 31  |tlepage%,4,-1,-1|
000002d0  2c 2d 31 2c 2d 31 29 0d  01 54 04 0d 01 5e 0e ee  |,-1,-1)..T...^..|
000002e0  20 85 20 f2 65 72 72 6f  72 0d 01 68 04 0d 01 72  | . .error..h...r|
000002f0  05 f5 0d 01 7c 16 20 f2  61 63 74 69 6f 6e 28 a4  |....|. .action(.|
00000300  70 6f 6c 6c 28 30 29 29  0d 01 86 0f fd 20 63 6c  |poll(0))..... cl|
00000310  6f 73 65 64 6f 77 6e 0d  01 90 04 0d 01 9a 0b d9  |osedown.........|
00000320  20 23 63 6f 6d 70 0d 01  a4 04 0d 01 ae 10 40 25  | #comp........@%|
00000330  3d 26 30 30 30 30 30 39  30 41 0d 01 b8 0f f2 6c  |=&0000090A.....l|
00000340  6f 73 65 5f 66 6f 6e 74  73 0d 01 c2 04 0d 01 cc  |ose_fonts.......|
00000350  1f 58 3d ae 28 22 3c 4f  72 64 65 72 24 44 69 72  |.X=.("<Order$Dir|
00000360  3e 2e 50 65 72 73 6f 6e  61 6c 22 29 0d 01 d6 0e  |>.Personal")....|
00000370  e3 20 69 3d 31 20 b8 20  32 32 0d 01 e0 24 20 74  |. i=1 . 22...$ t|
00000380  65 6d 70 24 3d a4 69 63  6f 6e 5f 67 65 74 64 61  |emp$=.icon_getda|
00000390  74 61 28 71 25 2c 75 73  65 72 25 2c 69 29 0d 01  |ta(q%,user%,i)..|
000003a0  ea 0f 20 f1 20 23 58 2c  74 65 6d 70 24 0d 01 f4  |.. . #X,temp$...|
000003b0  07 ed 20 69 0d 01 fe 08  d9 20 23 58 0d 02 08 04  |.. i..... #X....|
000003c0  0d 02 12 0e 24 71 25 3d  22 54 41 53 4b 22 0d 02  |....$q%="TASK"..|
000003d0  1c 22 c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |.".. "Wimp_Close|
000003e0  44 6f 77 6e 22 2c 74 61  73 6b 25 2c 71 25 21 30  |Down",task%,q%!0|
000003f0  0d 02 26 05 e0 0d 02 30  04 0d 02 3a 4c f4 20 2d  |..&....0...:L. -|
00000400  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000440  2d 2d 2d 2d 2d 0d 02 44  49 f4 20 45 72 72 6f 72  |-----..DI. Error|
00000450  20 48 61 6e 64 6c 65 72  2c 20 4d 65 73 73 61 67  | Handler, Messag|
00000460  65 20 52 65 70 6f 72 74  69 6e 67 20 61 6e 64 20  |e Reporting and |
00000470  41 63 74 69 6f 6e 20 43  6f 6e 66 69 72 6d 61 74  |Action Confirmat|
00000480  69 6f 6e 20 70 72 6f 63  65 64 75 72 65 73 0d 02  |ion procedures..|
00000490  4e 4c f4 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |NL. ------------|
000004a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000004d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 02 58 04 0d 02  |----------..X...|
000004e0  62 0c dd 20 f2 65 72 72  6f 72 0d 02 6c 19 c8 99  |b.. .error..l...|
000004f0  20 22 57 69 6d 70 5f 44  72 61 67 42 6f 78 22 2c  | "Wimp_DragBox",|
00000500  2c 2d 31 0d 02 76 28 21  71 25 3d 9f 3a 24 28 71  |,-1..v(!q%=.:$(q|
00000510  25 2b 34 29 3d f6 24 2b  22 20 61 74 20 6c 69 6e  |%+4)=.$+" at lin|
00000520  65 20 22 2b c3 9e 2b bd  28 30 29 0d 02 80 30 e7  |e "+..+.(0)...0.|
00000530  20 70 72 69 6e 74 69 6e  67 20 8c 20 c8 99 22 50  | printing . .."P|
00000540  44 72 69 76 65 72 5f 41  62 6f 72 74 4a 6f 62 22  |Driver_AbortJob"|
00000550  2c 70 66 25 3a d9 20 23  70 66 25 0d 02 8a 14 f4  |,pf%:. #pf%.....|
00000560  20 63 6c 6f 73 65 64 6f  77 6e 3d 54 52 55 45 0d  | closedown=TRUE.|
00000570  02 94 2d c8 99 20 22 57  69 6d 70 5f 52 65 70 6f  |..-.. "Wimp_Repo|
00000580  72 74 45 72 72 6f 72 22  2c 71 25 2c 31 2c 22 4f  |rtError",q%,1,"O|
00000590  72 64 65 72 20 53 79 73  74 65 6d 22 0d 02 9e 05  |rder System"....|
000005a0  e1 0d 02 a8 04 0d 02 b2  14 dd 20 f2 73 61 79 28  |.......... .say(|
000005b0  6d 65 73 73 61 67 65 24  29 0d 02 bc 23 6d 65 73  |message$)...#mes|
000005c0  73 61 67 65 24 3d c4 34  2c bd 28 30 29 29 2b 6d  |sage$=.4,.(0))+m|
000005d0  65 73 73 61 67 65 24 2b  bd 28 30 29 0d 02 c6 33  |essage$+.(0)...3|
000005e0  c8 99 22 57 69 6d 70 5f  52 65 70 6f 72 74 45 72  |.."Wimp_ReportEr|
000005f0  72 6f 72 22 2c 6d 65 73  73 61 67 65 24 2c 31 37  |ror",message$,17|
00000600  2c 22 4f 72 64 65 72 20  53 79 73 74 65 6d 22 0d  |,"Order System".|
00000610  02 d0 05 e1 0d 02 da 04  0d 02 e4 13 dd 20 a4 71  |............. .q|
00000620  75 65 72 79 28 74 65 78  74 24 29 0d 02 ee 10 72  |uery(text$)....r|
00000630  65 73 70 6f 6e 73 65 3d  30 3a f5 0d 02 f8 21 20  |esponse=0:....! |
00000640  6d 65 73 73 61 67 65 24  3d c4 34 2c bd 28 30 29  |message$=.4,.(0)|
00000650  29 2b 74 65 78 74 24 2b  bd 28 30 29 0d 03 02 2a  |)+text$+.(0)...*|
00000660  20 74 69 74 6c 65 24 3d  22 51 75 65 72 79 20 66  | title$="Query f|
00000670  72 6f 6d 20 4f 72 64 65  72 20 53 79 73 74 65 6d  |rom Order System|
00000680  22 2b bd 28 30 29 0d 03  0c 38 20 c8 99 22 57 69  |"+.(0)...8 .."Wi|
00000690  6d 70 5f 52 65 70 6f 72  74 45 72 72 6f 72 22 2c  |mp_ReportError",|
000006a0  6d 65 73 73 61 67 65 24  2c 35 39 2c 74 69 74 6c  |message$,59,titl|
000006b0  65 24 20 b8 20 2c 72 65  73 70 6f 6e 73 65 0d 03  |e$ . ,response..|
000006c0  16 11 fd 20 72 65 73 70  6f 6e 73 65 3c 3e 30 0d  |... response<>0.|
000006d0  03 20 0d 3d 72 65 73 70  6f 6e 73 65 0d 03 2a 04  |. .=response..*.|
000006e0  0d 03 34 4c f4 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..4L. ----------|
000006f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000720  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0d 03 3e 22  |------------..>"|
00000730  f4 20 57 49 4d 50 20 49  6e 69 74 69 61 6c 69 73  |. WIMP Initialis|
00000740  61 74 69 6f 6e 20 52 6f  75 74 69 6e 65 73 0d 03  |ation Routines..|
00000750  48 4c f4 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |HL. ------------|
00000760  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000790  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 03 52 04 0d 03  |----------..R...|
000007a0  5c 16 dd 20 f2 69 6e 69  74 69 61 6c 69 73 65 5f  |\.. .initialise_|
000007b0  74 61 73 6b 0d 03 66 10  40 25 3d 26 30 31 30 32  |task..f.@%=&0102|
000007c0  30 32 30 41 0d 03 70 19  de 20 71 25 20 31 30 30  |020A..p.. q% 100|
000007d0  30 30 3a 24 71 25 3d 22  54 41 53 4b 22 0d 03 7a  |00:$q%="TASK"..z|
000007e0  2c de 20 74 72 61 6e 73  25 20 31 36 2c 72 65 63  |,. trans% 16,rec|
000007f0  25 20 31 36 2c 70 6c 6f  74 61 74 25 20 38 2c 72  |% 16,plotat% 8,r|
00000800  65 63 74 69 6e 25 20 31  36 0d 03 84 38 c8 99 20  |ectin% 16...8.. |
00000810  22 57 69 6d 70 5f 49 6e  69 74 69 61 6c 69 73 65  |"Wimp_Initialise|
00000820  22 2c 32 30 30 2c 21 71  25 2c 22 4f 72 64 65 72  |",200,!q%,"Order|
00000830  20 53 79 73 74 65 6d 22  20 b8 20 2c 74 61 73 6b  | System" . ,task|
00000840  25 0d 03 8e 31 63 6c 6f  73 65 64 6f 77 6e 3d a3  |%...1closedown=.|
00000850  3a 70 72 69 6e 74 69 6e  67 3d a3 3a 73 65 61 72  |:printing=.:sear|
00000860  63 68 69 6e 67 3d a3 3a  6f 72 64 65 72 69 6e 67  |ching=.:ordering|
00000870  3d a3 0d 03 98 37 63 6c  61 69 6d 6d 65 6e 75 24  |=....7claimmenu$|
00000880  3d 22 22 3a de 20 70 61  79 6d 65 6e 74 24 28 37  |="":. payment$(7|
00000890  29 2c 63 61 72 64 24 28  36 2c 32 29 2c 6f 72 64  |),card$(6,2),ord|
000008a0  65 72 24 28 31 30 2c 34  29 0d 03 a2 2b 63 61 72  |er$(10,4)...+car|
000008b0  64 24 28 31 2c 31 29 3d  22 41 63 63 65 73 73 22  |d$(1,1)="Access"|
000008c0  3a 63 61 72 64 24 28 31  2c 32 29 3d 22 61 63 63  |:card$(1,2)="acc|
000008d0  65 73 73 22 0d 03 ac 2b  63 61 72 64 24 28 32 2c  |ess"...+card$(2,|
000008e0  31 29 3d 22 53 77 69 74  63 68 22 3a 63 61 72 64  |1)="Switch":card|
000008f0  24 28 32 2c 32 29 3d 22  73 77 69 74 63 68 22 0d  |$(2,2)="switch".|
00000900  03 b6 33 63 61 72 64 24  28 33 2c 31 29 3d 22 4d  |..3card$(3,1)="M|
00000910  61 73 74 65 72 43 61 72  64 22 3a 63 61 72 64 24  |asterCard":card$|
00000920  28 33 2c 32 29 3d 22 6d  61 73 74 65 72 63 61 72  |(3,2)="mastercar|
00000930  64 22 0d 03 c0 27 63 61  72 64 24 28 34 2c 31 29  |d"...'card$(4,1)|
00000940  3d 22 56 69 73 61 22 3a  63 61 72 64 24 28 34 2c  |="Visa":card$(4,|
00000950  32 29 3d 22 76 69 73 61  22 0d 03 ca 29 63 61 72  |2)="visa"...)car|
00000960  64 24 28 35 2c 31 29 3d  22 44 65 6c 74 61 22 3a  |d$(5,1)="Delta":|
00000970  63 61 72 64 24 28 35 2c  32 29 3d 22 64 65 6c 74  |card$(5,2)="delt|
00000980  61 22 0d 03 d4 36 63 61  72 64 24 28 36 2c 31 29  |a"...6card$(6,1)|
00000990  3d 22 41 6d 65 72 69 63  61 6e 20 45 78 70 72 65  |="American Expre|
000009a0  73 73 22 3a 63 61 72 64  24 28 36 2c 32 29 3d 22  |ss":card$(6,2)="|
000009b0  61 6d 65 72 65 78 70 22  0d 03 de 4b de 20 74 65  |amerexp"...K. te|
000009c0  78 74 24 28 32 35 30 29  2c 73 65 74 74 69 6e 67  |xt$(250),setting|
000009d0  28 32 35 30 29 2c 66 6c  61 67 73 28 32 35 30 29  |(250),flags(250)|
000009e0  2c 73 75 62 6d 65 6e 75  28 32 35 30 29 2c 72 65  |,submenu(250),re|
000009f0  66 28 32 35 30 29 2c 6d  65 6e 75 70 6f 73 28 32  |f(250),menupos(2|
00000a00  35 30 29 0d 03 e8 47 de  20 6d 65 6e 75 25 20 34  |50)...G. menu% 4|
00000a10  30 39 36 2c 69 6e 64 69  72 65 63 74 25 20 26 32  |096,indirect% &2|
00000a20  30 30 30 30 2c 6d 73 67  62 6c 6b 25 20 35 31 32  |0000,msgblk% 512|
00000a30  2c 73 70 72 69 74 65 25  20 31 35 2a 31 36 2c 74  |,sprite% 15*16,t|
00000a40  65 78 74 25 20 31 35 2a  31 36 0d 03 f2 2e 62 61  |ext% 15*16....ba|
00000a50  72 69 63 6f 6e 3d a4 63  72 65 61 74 65 5f 69 63  |ricon=.create_ic|
00000a60  6f 6e 28 22 21 4f 72 64  65 72 73 22 2c 30 2c 22  |on("!Orders",0,"|
00000a70  4c 6f 67 20 4f 6e 22 29  0d 03 fc 26 69 70 74 72  |Log On")...&iptr|
00000a80  25 3d 69 6e 64 69 72 65  63 74 25 3a 69 65 6e 64  |%=indirect%:iend|
00000a90  25 3d 69 70 74 72 25 2b  26 31 35 30 30 30 0d 04  |%=iptr%+&15000..|
00000aa0  06 05 e1 0d 04 10 04 0d  04 1a 18 dd 20 f2 6c 6f  |............ .lo|
00000ab0  61 64 5f 75 73 65 72 5f  73 70 72 69 74 65 73 0d  |ad_user_sprites.|
00000ac0  04 24 2e 53 25 3d 8e 20  22 3c 4f 72 64 65 72 24  |.$.S%=. "<Order$|
00000ad0  44 69 72 3e 2e 53 70 72  69 74 65 73 22 3a 54 25  |Dir>.Sprites":T%|
00000ae0  3d a2 23 53 25 2b 31 36  3a d9 23 53 25 0d 04 2e  |=.#S%+16:.#S%...|
00000af0  2a de 20 73 70 20 54 25  3a 21 73 70 3d 54 25 3a  |*. sp T%:!sp=T%:|
00000b00  73 70 21 34 3d 30 3a 73  70 21 38 3d 31 36 3a 73  |sp!4=0:sp!8=16:s|
00000b10  70 21 31 32 3d 31 36 0d  04 38 1c c8 99 20 22 4f  |p!12=16..8... "O|
00000b20  53 5f 53 70 72 69 74 65  4f 70 22 2c 26 32 30 39  |S_SpriteOp",&209|
00000b30  2c 73 70 0d 04 42 32 c8  99 20 22 4f 53 5f 53 70  |,sp..B2.. "OS_Sp|
00000b40  72 69 74 65 4f 70 22 2c  26 32 30 41 2c 73 70 2c  |riteOp",&20A,sp,|
00000b50  22 3c 4f 72 64 65 72 24  44 69 72 3e 2e 53 70 72  |"<Order$Dir>.Spr|
00000b60  69 74 65 73 22 0d 04 4c  05 e1 0d 04 56 04 0d 04  |ites"..L....V...|
00000b70  60 15 dd 20 f2 6c 6f 61  64 5f 74 65 6d 70 6c 61  |`.. .load_templa|
00000b80  74 65 73 0d 04 6a 2e f2  6f 70 65 6e 74 65 6d 70  |tes..j..opentemp|
00000b90  6c 61 74 65 66 69 6c 65  28 22 3c 4f 72 64 65 72  |latefile("<Order|
00000ba0  24 44 69 72 3e 2e 54 65  6d 70 6c 61 74 65 73 22  |$Dir>.Templates"|
00000bb0  29 0d 04 74 1b f2 6c 6f  61 64 74 65 6d 70 6c 61  |)..t..loadtempla|
00000bc0  74 65 28 22 73 65 61 72  63 68 22 29 0d 04 7e 27  |te("search")..~'|
00000bd0  c8 99 22 57 69 6d 70 5f  43 72 65 61 74 65 57 69  |.."Wimp_CreateWi|
00000be0  6e 64 6f 77 22 2c 2c 71  25 20 b8 20 73 65 61 72  |ndow",,q% . sear|
00000bf0  63 68 25 0d 04 88 18 f2  6c 6f 61 64 74 65 6d 70  |ch%.....loadtemp|
00000c00  6c 61 74 65 28 22 76 61  74 22 29 0d 04 92 24 c8  |late("vat")...$.|
00000c10  99 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  |."Wimp_CreateWin|
00000c20  64 6f 77 22 2c 2c 71 25  20 b8 20 76 61 74 25 0d  |dow",,q% . vat%.|
00000c30  04 9c 1e f2 6c 6f 61 64  74 65 6d 70 6c 61 74 65  |....loadtemplate|
00000c40  28 22 74 69 74 6c 65 70  61 67 65 22 29 0d 04 a6  |("titlepage")...|
00000c50  2a c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |*.."Wimp_CreateW|
00000c60  69 6e 64 6f 77 22 2c 2c  71 25 20 b8 20 74 69 74  |indow",,q% . tit|
00000c70  6c 65 70 61 67 65 25 0d  04 b0 1d f2 6c 6f 61 64  |lepage%.....load|
00000c80  74 65 6d 70 6c 61 74 65  28 22 50 72 6f 67 49 6e  |template("ProgIn|
00000c90  66 6f 22 29 0d 04 ba 25  c8 99 22 57 69 6d 70 5f  |fo")...%.."Wimp_|
00000ca0  43 72 65 61 74 65 57 69  6e 64 6f 77 22 2c 2c 71  |CreateWindow",,q|
00000cb0  25 20 b8 20 69 6e 66 6f  25 0d 04 c4 1c f2 6c 6f  |% . info%.....lo|
00000cc0  61 64 74 65 6d 70 6c 61  74 65 28 22 43 6f 6d 70  |adtemplate("Comp|
00000cd0  61 6e 79 22 29 0d 04 ce  28 c8 99 22 57 69 6d 70  |any")...(.."Wimp|
00000ce0  5f 43 72 65 61 74 65 57  69 6e 64 6f 77 22 2c 2c  |_CreateWindow",,|
00000cf0  71 25 20 b8 20 63 6f 6d  70 61 6e 79 25 0d 04 d8  |q% . company%...|
00000d00  19 f2 6c 6f 61 64 74 65  6d 70 6c 61 74 65 28 22  |..loadtemplate("|
00000d10  55 73 65 72 22 29 0d 04  e2 25 c8 99 22 57 69 6d  |User")...%.."Wim|
00000d20  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
00000d30  2c 71 25 20 b8 20 75 73  65 72 25 0d 04 ec 1e f2  |,q% . user%.....|
00000d40  6c 6f 61 64 74 65 6d 70  6c 61 74 65 28 22 4f 72  |loadtemplate("Or|
00000d50  64 65 72 46 6f 72 6d 22  29 0d 04 f6 26 c8 99 22  |derForm")...&.."|
00000d60  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
00000d70  77 22 2c 2c 71 25 20 b8  20 6f 72 64 65 72 25 0d  |w",,q% . order%.|
00000d80  05 00 16 f2 63 6c 6f 73  65 74 65 6d 70 6c 61 74  |....closetemplat|
00000d90  65 66 69 6c 65 0d 05 0a  18 70 61 79 6d 65 6e 74  |efile....payment|
00000da0  24 28 31 29 3d 22 43 68  65 71 75 65 22 0d 05 14  |$(1)="Cheque"...|
00000db0  1e 70 61 79 6d 65 6e 74  24 28 32 29 3d 22 50 6f  |.payment$(2)="Po|
00000dc0  73 74 61 6c 20 4f 72 64  65 72 22 0d 05 1e 19 70  |stal Order"....p|
00000dd0  61 79 6d 65 6e 74 24 28  33 29 3d 22 41 63 63 6f  |ayment$(3)="Acco|
00000de0  75 6e 74 22 0d 05 28 19  70 61 79 6d 65 6e 74 24  |unt"..(.payment$|
00000df0  28 37 29 3d 22 49 6e 76  6f 69 63 65 22 0d 05 32  |(7)="Invoice"..2|
00000e00  28 f2 69 63 6f 6e 5f 70  75 74 64 61 74 61 28 71  |(.icon_putdata(q|
00000e10  25 2c 69 6e 66 6f 25 2c  30 2c 76 65 72 73 69 6f  |%,info%,0,versio|
00000e20  6e 24 2c 30 29 0d 05 3c  25 f2 69 63 6f 6e 5f 70  |n$,0)..<%.icon_p|
00000e30  75 74 64 61 74 61 28 71  25 2c 76 61 74 25 2c 30  |utdata(q%,vat%,0|
00000e40  2c 22 31 37 2e 35 22 2c  30 29 0d 05 46 05 e1 0d  |,"17.5",0)..F...|
00000e50  05 50 04 0d 05 5a 4c f4  20 2d 2d 2d 2d 2d 2d 2d  |.P...ZL. -------|
00000e60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000e90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0d  |---------------.|
00000ea0  05 64 1e f4 20 41 63 74  69 6f 6e 20 48 61 6e 64  |.d.. Action Hand|
00000eb0  6c 69 6e 67 20 52 6f 75  74 69 6e 65 73 0d 05 6e  |ling Routines..n|
00000ec0  4c f4 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |L. -------------|
00000ed0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000f00  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 05 78 04 0d 05 82  |---------..x....|
00000f10  14 dd 20 f2 61 63 74 69  6f 6e 28 65 76 6e 74 25  |.. .action(evnt%|
00000f20  29 0d 05 8c 0e c8 8e 20  65 76 6e 74 25 20 ca 0d  |)...... evnt% ..|
00000f30  05 96 1c 20 c9 20 31 3a  f2 72 65 64 72 61 77 77  |... . 1:.redraww|
00000f40  69 6e 64 6f 77 28 71 25  21 30 29 0d 05 a0 1e 20  |indow(q%!0).... |
00000f50  c9 20 32 3a f2 6f 70 65  6e 77 69 6e 64 6f 77 28  |. 2:.openwindow(|
00000f60  71 25 21 30 2c b9 2c 30  29 0d 05 aa 1b 20 c9 20  |q%!0,.,0).... . |
00000f70  33 3a f2 63 6c 6f 73 65  77 69 6e 64 6f 77 28 71  |3:.closewindow(q|
00000f80  25 21 30 29 0d 05 b4 36  20 c9 20 36 3a f2 63 6c  |%!0)...6 . 6:.cl|
00000f90  69 63 6b 77 69 6e 64 6f  77 28 21 71 25 2c 71 25  |ickwindow(!q%,q%|
00000fa0  21 34 2c 71 25 21 38 2c  71 25 21 31 32 2c 71 25  |!4,q%!8,q%!12,q%|
00000fb0  21 31 36 2c 71 25 21 32  30 29 0d 05 be 0e 20 c9  |!16,q%!20).... .|
00000fc0  20 37 3a f2 64 72 61 67  0d 05 c8 12 20 c9 20 38  | 7:.drag.... . 8|
00000fd0  3a f2 6b 65 79 70 72 65  73 73 0d 05 d2 32 20 c9  |:.keypress...2 .|
00000fe0  20 39 3a e7 20 63 6c 61  69 6d 6d 65 6e 75 24 3c  | 9:. claimmenu$<|
00000ff0  3e 22 22 20 8c 20 f2 77  68 69 63 68 6d 65 6e 75  |>"" . .whichmenu|
00001000  28 63 6c 61 69 6d 6d 65  6e 75 24 29 0d 05 dc 19  |(claimmenu$)....|
00001010  20 c9 20 31 37 2c 31 38  3a f2 72 65 63 65 69 76  | . 17,18:.receiv|
00001020  65 28 71 25 29 0d 05 e6  05 cb 0d 05 f0 05 e1 0d  |e(q%)...........|
00001030  05 fa 04 0d 06 04 12 dd  20 a4 70 6f 6c 6c 28 6d  |........ .poll(m|
00001040  61 73 6b 25 29 0d 06 0e  20 c8 99 20 22 57 69 6d  |ask%)... .. "Wim|
00001050  70 5f 50 6f 6c 6c 22 2c  6d 61 73 6b 25 2c 71 25  |p_Poll",mask%,q%|
00001060  20 b8 20 61 25 0d 06 18  07 3d 61 25 0d 06 22 04  | . a%....=a%..".|
00001070  0d 06 2c 3d dd 20 f2 63  6c 69 63 6b 77 69 6e 64  |..,=. .clickwind|
00001080  6f 77 28 6d 6f 75 73 65  78 25 2c 6d 6f 75 73 65  |ow(mousex%,mouse|
00001090  79 25 2c 62 75 74 74 6f  6e 25 2c 68 61 6e 64 6c  |y%,button%,handl|
000010a0  65 25 2c 69 63 6f 6e 25  2c 6f 62 25 29 0d 06 36  |e%,icon%,ob%)..6|
000010b0  13 e7 20 75 73 65 72 5f  6f 6b 3d a3 20 8c 20 e1  |.. user_ok=. . .|
000010c0  0d 06 40 10 c8 8e 20 68  61 6e 64 6c 65 25 20 ca  |..@... handle% .|
000010d0  0d 06 4a 30 20 c9 20 2d  32 20 20 20 20 20 20 20  |..J0 . -2       |
000010e0  20 20 20 3a f2 63 6c 69  63 6b 69 63 6f 6e 62 61  |   :.clickiconba|
000010f0  72 28 62 75 74 74 6f 6e  25 2c 69 63 6f 6e 25 29  |r(button%,icon%)|
00001100  0d 06 54 2e 20 c9 20 6f  72 64 65 72 25 20 20 20  |..T. . order%   |
00001110  20 20 20 3a f2 63 6c 69  63 6b 6f 72 64 65 72 28  |   :.clickorder(|
00001120  62 75 74 74 6f 6e 25 2c  69 63 6f 6e 25 29 0d 06  |button%,icon%)..|
00001130  5e 2d 20 c9 20 75 73 65  72 25 20 20 20 20 20 20  |^- . user%      |
00001140  20 3a f2 63 6c 69 63 6b  75 73 65 72 28 62 75 74  | :.clickuser(but|
00001150  74 6f 6e 25 2c 69 63 6f  6e 25 29 0d 06 68 2c 20  |ton%,icon%)..h, |
00001160  c9 20 76 61 74 25 20 20  20 20 20 20 20 20 3a f2  |. vat%        :.|
00001170  63 6c 69 63 6b 76 61 74  28 62 75 74 74 6f 6e 25  |clickvat(button%|
00001180  2c 69 63 6f 6e 25 29 0d  06 72 2f 20 c9 20 73 65  |,icon%)..r/ . se|
00001190  61 72 63 68 25 20 20 20  20 20 3a f2 63 6c 69 63  |arch%     :.clic|
000011a0  6b 73 65 61 72 63 68 28  62 75 74 74 6f 6e 25 2c  |ksearch(button%,|
000011b0  69 63 6f 6e 25 29 0d 06  7c 05 cb 0d 06 86 05 e1  |icon%)..|.......|
000011c0  0d 06 90 04 0d 06 9a 0f  dd 20 f2 6b 65 79 70 72  |......... .keypr|
000011d0  65 73 73 0d 06 a4 09 ea  20 69 63 25 0d 06 ae 10  |ess..... ic%....|
000011e0  e7 20 71 25 21 34 3c 3e  2d 31 20 8c 0d 06 b8 28  |. q%!4<>-1 ....(|
000011f0  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 43 61 72  | .. "Wimp_GetCar|
00001200  65 74 50 6f 73 69 74 69  6f 6e 22 2c 2c 6d 73 67  |etPosition",,msg|
00001210  62 6c 6b 25 0d 06 c2 12  20 69 63 25 3d 6d 73 67  |blk%.... ic%=msg|
00001220  62 6c 6b 25 21 34 0d 06  cc 0f 20 c8 8e 20 71 25  |blk%!4.... .. q%|
00001230  21 32 34 20 ca 0d 06 d6  23 20 20 c9 20 32 37 3a  |!24 ....#  . 27:|
00001240  c8 99 20 22 57 69 6d 70  5f 43 72 65 61 74 65 4d  |.. "Wimp_CreateM|
00001250  65 6e 75 22 2c 2c 2d 31  0d 06 e0 07 20 20 7f 0d  |enu",,-1....  ..|
00001260  06 ea 0f 20 20 c8 8e 20  71 25 21 30 20 ca 0d 06  |...  .. q%!0 ...|
00001270  f4 32 20 20 20 c9 20 75  73 65 72 25 20 20 20 20  |.2   . user%    |
00001280  20 20 20 20 20 3a 20 f2  6b 65 79 70 72 65 73 73  |     : .keypress|
00001290  5f 75 73 65 72 28 69 63  25 2c 71 25 21 32 34 29  |_user(ic%,q%!24)|
000012a0  0d 06 fe 33 20 20 20 c9  20 6f 72 64 65 72 25 20  |...3   . order% |
000012b0  20 20 20 20 20 20 20 3a  20 f2 6b 65 79 70 72 65  |       : .keypre|
000012c0  73 73 5f 6f 72 64 65 72  28 69 63 25 2c 71 25 21  |ss_order(ic%,q%!|
000012d0  32 34 29 0d 07 08 35 20  20 20 c9 20 63 6f 6d 70  |24)...5   . comp|
000012e0  61 6e 79 25 20 20 20 20  20 20 3a 20 f2 6b 65 79  |any%      : .key|
000012f0  70 72 65 73 73 5f 63 6f  6d 70 61 6e 79 28 69 63  |press_company(ic|
00001300  25 2c 71 25 21 32 34 29  0d 07 12 37 20 20 20 c9  |%,q%!24)...7   .|
00001310  20 74 69 74 6c 65 70 61  67 65 25 20 20 20 20 3a  | titlepage%    :|
00001320  20 f2 6b 65 79 70 72 65  73 73 5f 74 69 74 6c 65  | .keypress_title|
00001330  70 61 67 65 28 69 63 25  2c 71 25 21 32 34 29 0d  |page(ic%,q%!24).|
00001340  07 1c 31 20 20 20 c9 20  76 61 74 25 20 20 20 20  |..1   . vat%    |
00001350  20 20 20 20 20 20 3a 20  f2 6b 65 79 70 72 65 73  |      : .keypres|
00001360  73 5f 76 61 74 28 69 63  25 2c 71 25 21 32 34 29  |s_vat(ic%,q%!24)|
00001370  0d 07 26 34 20 20 20 c9  20 73 65 61 72 63 68 25  |..&4   . search%|
00001380  20 20 20 20 20 20 20 3a  20 f2 6b 65 79 70 72 65  |       : .keypre|
00001390  73 73 5f 73 65 61 72 63  68 28 69 63 25 2c 71 25  |ss_search(ic%,q%|
000013a0  21 32 34 29 0d 07 30 07  20 20 cb 0d 07 3a 06 20  |!24)..0.  ...:. |
000013b0  cb 0d 07 44 05 cd 0d 07  4e 05 e1 0d 07 58 04 0d  |...D....N....X..|
000013c0  07 62 17 dd 20 f2 77 68  69 63 68 6d 65 6e 75 28  |.b.. .whichmenu(|
000013d0  6d 65 6e 75 24 29 0d 07  6c 0b ea 20 76 6f 69 64  |menu$)..l.. void|
000013e0  25 0d 07 76 0e c8 8e 20  6d 65 6e 75 24 20 ca 0d  |%..v... menu$ ..|
000013f0  07 80 2c 20 c9 20 22 62  61 72 69 63 6f 6e 22 20  |.., . "baricon" |
00001400  20 3a 76 6f 69 64 25 3d  a4 6d 65 6e 75 73 65 6c  | :void%=.menusel|
00001410  65 63 74 5f 62 61 72 69  63 6f 6e 0d 07 8a 2a 20  |ect_baricon...* |
00001420  c9 20 22 63 61 72 64 73  22 20 20 20 20 3a 76 6f  |. "cards"    :vo|
00001430  69 64 25 3d a4 6d 65 6e  75 73 65 6c 65 63 74 5f  |id%=.menuselect_|
00001440  63 61 72 64 73 0d 07 94  2a 20 c9 20 22 6f 72 64  |cards...* . "ord|
00001450  65 72 22 20 20 20 20 3a  76 6f 69 64 25 3d a4 6d  |er"    :void%=.m|
00001460  65 6e 75 73 65 6c 65 63  74 5f 6f 72 64 65 72 0d  |enuselect_order.|
00001470  07 9e 05 cb 0d 07 a8 14  c8 97 20 78 2c 79 2c 62  |.......... x,y,b|
00001480  3a e7 20 62 3d 31 20 8c  0d 07 b2 0f 20 c8 8e 20  |:. b=1 ..... .. |
00001490  6d 65 6e 75 24 20 ca 0d  07 bc 23 20 20 c9 20 22  |menu$ ....#  . "|
000014a0  62 61 72 69 63 6f 6e 22  20 20 20 3a 20 f2 6d 65  |baricon"   : .me|
000014b0  6e 75 5f 62 61 72 69 63  6f 6e 0d 07 c6 21 20 20  |nu_baricon...!  |
000014c0  c9 20 22 6f 72 64 65 72  22 20 20 20 20 20 3a 20  |. "order"     : |
000014d0  f2 6d 65 6e 75 5f 6f 72  64 65 72 0d 07 d0 06 20  |.menu_order.... |
000014e0  cb 0d 07 da 05 cd 0d 07  e4 05 e1 0d 07 ee 04 0d  |................|
000014f0  07 f8 12 dd 20 f2 72 65  63 65 69 76 65 28 71 25  |.... .receive(q%|
00001500  29 0d 08 02 0e c8 8e 20  71 25 21 31 36 20 ca 0d  |)...... q%!16 ..|
00001510  08 0c 34 20 c9 20 30 3a  24 71 25 3d 22 54 41 53  |..4 . 0:$q%="TAS|
00001520  4b 22 3a c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |K":.. "Wimp_Clos|
00001530  65 44 6f 77 6e 22 2c 74  61 73 6b 25 2c 71 25 21  |eDown",task%,q%!|
00001540  30 3a e0 0d 08 16 05 cb  0d 08 20 05 e1 0d 08 2a  |0:........ ....*|
00001550  04 0d 08 34 4c f4 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |...4L. ---------|
00001560  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001590  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0d 08 3e  |-------------..>|
000015a0  37 f4 20 4d 4f 55 53 45  20 43 4c 49 43 4b 2c 20  |7. MOUSE CLICK, |
000015b0  4b 45 59 50 52 45 53 53  20 41 4e 44 20 4d 45 4e  |KEYPRESS AND MEN|
000015c0  55 20 53 45 4c 45 43 54  49 4f 4e 20 48 41 4e 44  |U SELECTION HAND|
000015d0  4c 45 52 53 0d 08 48 4c  f4 20 2d 2d 2d 2d 2d 2d  |LERS..HL. ------|
000015e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001620  0d 08 52 04 0d 08 5c 4c  f4 20 2d 2d 2d 2d 2d 2d  |..R...\L. ------|
00001630  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001670  0d 08 66 1c f4 20 56 41  54 20 43 41 4c 43 55 4c  |..f.. VAT CALCUL|
00001680  41 54 49 4f 4e 20 57 49  4e 44 4f 57 0d 08 70 4c  |ATION WINDOW..pL|
00001690  f4 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |. --------------|
000016a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000016d0  2d 2d 2d 2d 2d 2d 2d 2d  0d 08 7a 04 0d 08 84 1e  |--------..z.....|
000016e0  dd 20 f2 63 6c 69 63 6b  76 61 74 28 62 75 74 74  |. .clickvat(butt|
000016f0  6f 6e 25 2c 69 63 6f 6e  25 29 0d 08 8e 12 ea 20  |on%,icon%)..... |
00001700  63 6f 73 74 2c 76 61 74  63 6f 73 74 0d 08 98 12  |cost,vatcost....|
00001710  e7 20 69 63 6f 6e 25 3c  3e 33 20 8c 20 e1 0d 08  |. icon%<>3 . ...|
00001720  a2 0b 74 6f 74 61 6c 3d  30 0d 08 ac 0e e3 20 69  |..total=0..... i|
00001730  3d 31 20 b8 20 31 30 0d  08 b6 30 20 63 6f 73 74  |=1 . 10...0 cost|
00001740  3d bb 28 a4 69 63 6f 6e  5f 67 65 74 64 61 74 61  |=.(.icon_getdata|
00001750  28 71 25 2c 6f 72 64 65  72 25 2c 31 30 2b 28 69  |(q%,order%,10+(i|
00001760  2d 31 29 2a 35 29 29 0d  08 c0 10 20 e7 20 63 6f  |-1)*5)).... . co|
00001770  73 74 3c 3e 30 20 8c 0d  08 ca 12 20 20 40 25 3d  |st<>0 .....  @%=|
00001780  26 30 30 30 30 30 39 30  41 0d 08 d4 40 20 20 76  |&0000090A...@  v|
00001790  61 74 63 6f 73 74 3d a4  72 6f 75 6e 64 28 63 6f  |atcost=.round(co|
000017a0  73 74 2a 28 31 2b 28 bb  28 a4 69 63 6f 6e 5f 67  |st*(1+(.(.icon_g|
000017b0  65 74 64 61 74 61 28 71  25 2c 76 61 74 25 2c 30  |etdata(q%,vat%,0|
000017c0  29 29 2f 31 30 30 29 29  29 0d 08 de 12 20 20 40  |))/100)))....  @|
000017d0  25 3d 26 30 31 30 32 30  32 30 41 0d 08 e8 35 20  |%=&0102020A...5 |
000017e0  20 f2 69 63 6f 6e 5f 70  75 74 64 61 74 61 28 71  | .icon_putdata(q|
000017f0  25 2c 6f 72 64 65 72 25  2c 31 30 2b 28 69 2d 31  |%,order%,10+(i-1|
00001800  29 2a 35 2c c3 76 61 74  63 6f 73 74 2c 2d 31 29  |)*5,.vatcost,-1)|
00001810  0d 08 f2 30 20 20 71 75  61 6e 3d bb 28 a4 69 63  |...0  quan=.(.ic|
00001820  6f 6e 5f 67 65 74 64 61  74 61 28 71 25 2c 6f 72  |on_getdata(q%,or|
00001830  64 65 72 25 2c 39 2b 28  69 2d 31 29 2a 35 29 29  |der%,9+(i-1)*5))|
00001840  0d 08 fc 3c 20 20 f2 69  63 6f 6e 5f 70 75 74 64  |...<  .icon_putd|
00001850  61 74 61 28 71 25 2c 6f  72 64 65 72 25 2c 31 31  |ata(q%,order%,11|
00001860  2b 28 69 2d 31 29 2a 35  2c c3 28 76 61 74 63 6f  |+(i-1)*5,.(vatco|
00001870  73 74 2a 71 75 61 6e 29  2c 2d 31 29 0d 09 06 33  |st*quan),-1)...3|
00001880  20 20 74 6f 74 61 6c 2b  3d bb 28 a4 69 63 6f 6e  |  total+=.(.icon|
00001890  5f 67 65 74 64 61 74 61  28 71 25 2c 6f 72 64 65  |_getdata(q%,orde|
000018a0  72 25 2c 31 31 2b 28 69  2d 31 29 2a 35 29 29 0d  |r%,11+(i-1)*5)).|
000018b0  09 10 06 20 cd 0d 09 1a  07 ed 20 69 0d 09 24 35  |... ...... i..$5|
000018c0  e7 20 74 6f 74 61 6c 3e  30 20 8c 20 f2 69 63 6f  |. total>0 . .ico|
000018d0  6e 5f 70 75 74 64 61 74  61 28 71 25 2c 6f 72 64  |n_putdata(q%,ord|
000018e0  65 72 25 2c 35 38 2c c3  74 6f 74 61 6c 2c 2d 31  |er%,58,.total,-1|
000018f0  29 0d 09 2e 16 f2 63 6c  6f 73 65 77 69 6e 64 6f  |).....closewindo|
00001900  77 28 76 61 74 25 29 0d  09 38 2c f2 63 61 72 65  |w(vat%)..8,.care|
00001910  74 5f 73 65 74 70 6f 73  69 74 69 6f 6e 28 6f 72  |t_setposition(or|
00001920  64 65 72 25 2c 37 2c 2d  31 2c 2d 31 2c 2d 31 2c  |der%,7,-1,-1,-1,|
00001930  2d 31 29 0d 09 42 05 e1  0d 09 4c 04 0d 09 56 1f  |-1)..B....L...V.|
00001940  dd 20 f2 6b 65 79 70 72  65 73 73 5f 76 61 74 28  |. .keypress_vat(|
00001950  69 63 6f 6e 25 2c 6b 65  79 25 29 0d 09 60 28 e7  |icon%,key%)..`(.|
00001960  20 69 63 6f 6e 25 3d 30  20 80 20 6b 65 79 25 3d  | icon%=0 . key%=|
00001970  31 33 20 8c 20 f2 63 6c  69 63 6b 76 61 74 28 34  |13 . .clickvat(4|
00001980  2c 33 29 0d 09 6a 05 e1  0d 09 74 04 0d 09 7e 4c  |,3)..j....t...~L|
00001990  f4 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |. --------------|
000019a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000019d0  2d 2d 2d 2d 2d 2d 2d 2d  0d 09 88 10 f4 20 54 49  |--------..... TI|
000019e0  54 4c 45 20 50 41 47 45  0d 09 92 4c f4 20 2d 2d  |TLE PAGE...L. --|
000019f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001a30  2d 2d 2d 2d 0d 09 9c 04  0d 09 a6 23 dd 20 f2 6b  |----.......#. .k|
00001a40  65 79 70 72 65 73 73 5f  74 69 74 6c 65 70 61 67  |eypress_titlepag|
00001a50  65 28 69 63 25 2c 6b 65  79 25 29 0d 09 b0 0f e7  |e(ic%,key%).....|
00001a60  20 6b 65 79 25 3d 31 33  20 8c 0d 09 ba 2d 20 70  | key%=13 ....- p|
00001a70  61 73 73 77 6f 72 64 24  3d a4 69 63 6f 6e 5f 67  |assword$=.icon_g|
00001a80  65 74 64 61 74 61 28 71  25 2c 74 69 74 6c 65 70  |etdata(q%,titlep|
00001a90  61 67 65 25 2c 34 29 0d  09 c4 20 20 62 6f 6f 74  |age%,4)...  boot|
00001aa0  3d 8e 28 22 3c 4f 72 64  65 72 24 44 69 72 3e 2e  |=.("<Order$Dir>.|
00001ab0  21 42 6f 6f 74 22 29 0d  09 ce 2c 20 e3 20 6e 3d  |!Boot")..., . n=|
00001ac0  31 20 b8 20 32 3a 74 65  6d 70 24 3d a4 66 69 6c  |1 . 2:temp$=.fil|
00001ad0  65 5f 67 65 74 6c 69 6e  65 28 62 6f 6f 74 29 3a  |e_getline(boot):|
00001ae0  ed 20 6e 0d 09 d8 24 20  70 77 24 3d a4 66 69 6c  |. n...$ pw$=.fil|
00001af0  65 5f 67 65 74 6c 69 6e  65 28 62 6f 6f 74 29 3a  |e_getline(boot):|
00001b00  d9 20 23 62 6f 6f 74 0d  09 e2 17 20 70 77 24 3d  |. #boot.... pw$=|
00001b10  c2 70 77 24 2c a9 28 70  77 24 29 2d 32 29 0d 09  |.pw$,.(pw$)-2)..|
00001b20  ec 16 20 e7 20 70 77 24  3d 70 61 73 73 77 6f 72  |.. . pw$=passwor|
00001b30  64 24 20 8c 0d 09 f6 0f  20 20 75 73 65 72 5f 6f  |d$ .....  user_o|
00001b40  6b 3d b9 0d 0a 00 1e 20  20 f2 63 6c 6f 73 65 77  |k=.....  .closew|
00001b50  69 6e 64 6f 77 28 74 69  74 6c 65 70 61 67 65 25  |indow(titlepage%|
00001b60  29 0d 0a 0a 21 20 20 f2  69 63 6f 6e 5f 64 65 6c  |)...!  .icon_del|
00001b70  65 74 65 28 71 25 2c 2d  32 2c 62 61 72 69 63 6f  |ete(q%,-2,barico|
00001b80  6e 29 0d 0a 14 30 20 20  62 61 72 69 63 6f 6e 3d  |n)...0  baricon=|
00001b90  a4 63 72 65 61 74 65 5f  69 63 6f 6e 28 22 21 4f  |.create_icon("!O|
00001ba0  72 64 65 72 73 22 2c 30  2c 22 4f 72 64 65 72 73  |rders",0,"Orders|
00001bb0  22 29 0d 0a 1e 06 20 cc  0d 0a 28 26 20 20 74 72  |").... ...(&  tr|
00001bc0  69 65 73 2b 3d 31 3a e7  20 74 72 69 65 73 3d 33  |ies+=1:. tries=3|
00001bd0  20 8c 20 63 6c 6f 73 65  64 6f 77 6e 3d b9 0d 0a  | . closedown=...|
00001be0  32 34 20 20 f2 63 61 72  65 74 5f 73 65 74 70 6f  |24  .caret_setpo|
00001bf0  73 69 74 69 6f 6e 28 74  69 74 6c 65 70 61 67 65  |sition(titlepage|
00001c00  25 2c 69 63 25 2c 2d 31  2c 2d 31 2c 2d 31 2c 2d  |%,ic%,-1,-1,-1,-|
00001c10  31 29 0d 0a 3c 06 20 cd  0d 0a 46 05 cd 0d 0a 50  |1)..<. ...F....P|
00001c20  05 e1 0d 0a 5a 04 0d 0a  64 1c dd 20 a4 66 69 6c  |....Z...d.. .fil|
00001c30  65 5f 67 65 74 6c 69 6e  65 28 63 68 61 6e 6e 65  |e_getline(channe|
00001c40  6c 29 0d 0a 6e 0d ea 20  73 74 72 69 6e 67 24 0d  |l)..n.. string$.|
00001c50  0a 78 05 f5 0d 0a 82 10  20 61 3d 9a 23 63 68 61  |.x...... a=.#cha|
00001c60  6e 6e 65 6c 0d 0a 8c 17  20 73 74 72 69 6e 67 24  |nnel.... string$|
00001c70  3d 73 74 72 69 6e 67 24  2b bd 61 0d 0a 96 0a fd  |=string$+.a.....|
00001c80  20 61 3d 31 30 0d 0a a0  24 73 74 72 69 6e 67 24  | a=10...$string$|
00001c90  3d c0 73 74 72 69 6e 67  24 2c 28 a9 28 73 74 72  |=.string$,(.(str|
00001ca0  69 6e 67 24 29 29 2d 31  29 0d 0a aa 0c 3d 73 74  |ing$))-1)....=st|
00001cb0  72 69 6e 67 24 0d 0a b4  04 0d 0a be 4c f4 20 2d  |ring$.......L. -|
00001cc0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001d00  2d 2d 2d 2d 2d 0d 0a c8  14 f4 20 43 4f 4d 50 41  |-----..... COMPA|
00001d10  4e 59 20 57 49 4e 44 4f  57 0d 0a d2 4c f4 20 2d  |NY WINDOW...L. -|
00001d20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001d60  2d 2d 2d 2d 2d 0d 0a dc  04 0d 0a e6 21 dd 20 f2  |-----.......!. .|
00001d70  6b 65 79 70 72 65 73 73  5f 63 6f 6d 70 61 6e 79  |keypress_company|
00001d80  28 69 63 25 2c 6b 65 79  25 29 0d 0a f0 0d c8 8e  |(ic%,key%)......|
00001d90  20 6b 65 79 25 20 ca 0d  0a fa 10 20 c9 20 31 33  | key% ..... . 13|
00001da0  3a 69 63 25 2b 3d 31 0d  0b 04 0e 20 e7 20 69 63  |:ic%+=1.... . ic|
00001db0  25 3d 39 20 8c 0d 0b 0e  1c 20 20 f2 63 6c 6f 73  |%=9 .....  .clos|
00001dc0  65 77 69 6e 64 6f 77 28  63 6f 6d 70 61 6e 79 25  |ewindow(company%|
00001dd0  29 0d 0b 18 2e 20 20 f2  63 61 72 65 74 5f 73 65  |)....  .caret_se|
00001de0  74 70 6f 73 69 74 69 6f  6e 28 6f 72 64 65 72 25  |tposition(order%|
00001df0  2c 37 2c 2d 31 2c 2d 31  2c 2d 31 2c 2d 31 29 0d  |,7,-1,-1,-1,-1).|
00001e00  0b 22 1d 20 20 c8 99 22  57 69 6d 70 5f 43 72 65  |.".  .."Wimp_Cre|
00001e10  61 74 65 4d 65 6e 75 22  2c 2c 2d 31 0d 0b 2c 06  |ateMenu",,-1..,.|
00001e20  20 cc 0d 0b 36 32 20 20  f2 63 61 72 65 74 5f 73  | ...62  .caret_s|
00001e30  65 74 70 6f 73 69 74 69  6f 6e 28 63 6f 6d 70 61  |etposition(compa|
00001e40  6e 79 25 2c 69 63 25 2c  2d 31 2c 2d 31 2c 2d 31  |ny%,ic%,-1,-1,-1|
00001e50  2c 2d 31 29 0d 0b 40 06  20 cd 0d 0b 4a 22 20 c9  |,-1)..@. ...J" .|
00001e60  20 26 31 38 45 3a 69 63  25 2b 3d 31 3a e7 20 69  | &18E:ic%+=1:. i|
00001e70  63 25 3d 39 20 8c 20 69  63 25 3d 30 0d 0b 54 31  |c%=9 . ic%=0..T1|
00001e80  20 f2 63 61 72 65 74 5f  73 65 74 70 6f 73 69 74  | .caret_setposit|
00001e90  69 6f 6e 28 63 6f 6d 70  61 6e 79 25 2c 69 63 25  |ion(company%,ic%|
00001ea0  2c 2d 31 2c 2d 31 2c 2d  31 2c 2d 31 29 0d 0b 5e  |,-1,-1,-1,-1)..^|
00001eb0  23 20 c9 20 26 31 38 46  3a 69 63 25 2d 3d 31 3a  |# . &18F:ic%-=1:|
00001ec0  e7 20 69 63 25 3d 2d 31  20 8c 20 69 63 25 3d 38  |. ic%=-1 . ic%=8|
00001ed0  0d 0b 68 31 20 f2 63 61  72 65 74 5f 73 65 74 70  |..h1 .caret_setp|
00001ee0  6f 73 69 74 69 6f 6e 28  63 6f 6d 70 61 6e 79 25  |osition(company%|
00001ef0  2c 69 63 25 2c 2d 31 2c  2d 31 2c 2d 31 2c 2d 31  |,ic%,-1,-1,-1,-1|
00001f00  29 0d 0b 72 05 cb 0d 0b  7c 05 e1 0d 0b 86 04 0d  |)..r....|.......|
00001f10  0b 90 4c f4 20 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..L. -----------|
00001f20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001f50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0d 0b 9a 11 f4  |-----------.....|
00001f60  20 55 53 45 52 20 57 49  4e 44 4f 57 0d 0b a4 4c  | USER WINDOW...L|
00001f70  f4 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |. --------------|
00001f80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001fb0  2d 2d 2d 2d 2d 2d 2d 2d  0d 0b ae 04 0d 0b b8 1f  |--------........|
00001fc0  dd 20 f2 63 6c 69 63 6b  75 73 65 72 28 62 75 74  |. .clickuser(but|
00001fd0  74 6f 6e 25 2c 69 63 6f  6e 25 29 0d 0b c2 2a e7  |ton%,icon%)...*.|
00001fe0  20 69 63 6f 6e 25 3c 3e  38 20 80 20 69 63 6f 6e  | icon%<>8 . icon|
00001ff0  25 3c 3e 31 33 20 80 20  69 63 6f 6e 25 3c 3e 31  |%<>13 . icon%<>1|
00002000  38 20 8c 20 e1 0d 0b cc  14 e7 20 62 75 74 74 6f  |8 . ...... butto|
00002010  6e 25 3c 3e 32 20 8c 20  e1 0d 0b d6 18 63 61 72  |n%<>2 . .....car|
00002020  64 5f 74 79 70 65 5f 69  63 6f 6e 3d 69 63 6f 6e  |d_type_icon=icon|
00002030  25 0d 0b e0 0f f2 6d 65  6e 75 5f 63 61 72 64 73  |%.....menu_cards|
00002040  0d 0b ea 05 e1 0d 0b f4  04 0d 0b fe 1e dd 20 f2  |.............. .|
00002050  6b 65 79 70 72 65 73 73  5f 75 73 65 72 28 69 63  |keypress_user(ic|
00002060  25 2c 6b 65 79 25 29 0d  0c 08 0d c8 8e 20 6b 65  |%,key%)...... ke|
00002070  79 25 20 ca 0d 0c 12 26  20 c9 20 31 33 2c 26 31  |y% ....& . 13,&1|
00002080  38 45 3a 69 63 25 2b 3d  31 3a e7 20 69 63 25 3d  |8E:ic%+=1:. ic%=|
00002090  32 33 20 8c 20 69 63 25  3d 31 0d 0c 1c 23 20 c9  |23 . ic%=1...# .|
000020a0  20 26 31 38 46 3a 69 63  25 2d 3d 31 3a e7 20 69  | &18F:ic%-=1:. i|
000020b0  63 25 3d 30 20 8c 20 69  63 25 3d 32 32 0d 0c 26  |c%=0 . ic%=22..&|
000020c0  05 cb 0d 0c 30 1f e7 20  69 63 25 3d 39 20 84 20  |....0.. ic%=9 . |
000020d0  69 63 25 3d 31 34 20 84  20 69 63 25 3d 31 39 20  |ic%=14 . ic%=19 |
000020e0  8c 0d 0c 3a 30 20 74 65  6d 70 24 3d a4 69 63 6f  |...:0 temp$=.ico|
000020f0  6e 5f 67 65 74 64 61 74  61 28 71 25 2c 75 73 65  |n_getdata(q%,use|
00002100  72 25 2c 69 63 25 2d 31  29 3a 66 6f 75 6e 64 3d  |r%,ic%-1):found=|
00002110  a3 0d 0c 44 11 20 e7 20  74 65 6d 70 24 3d 22 22  |...D. . temp$=""|
00002120  20 8c 0d 0c 4e 26 20 20  70 69 63 74 5f 69 63 6f  | ...N&  pict_ico|
00002130  6e 3d 28 28 69 63 25 2d  39 29 2f 35 29 2b 32 33  |n=((ic%-9)/5)+23|
00002140  3a 66 6f 75 6e 64 3d b9  0d 0c 58 35 20 20 6e 75  |:found=...X5  nu|
00002150  6c 6c 25 3d a4 6e 65 77  73 70 72 69 74 65 28 71  |ll%=.newsprite(q|
00002160  25 2c 75 73 65 72 25 2c  70 69 63 74 5f 69 63 6f  |%,user%,pict_ico|
00002170  6e 2c 22 62 6c 61 6e 6b  22 2c 2d 31 29 0d 0c 62  |n,"blank",-1)..b|
00002180  06 20 cc 0d 0c 6c 37 20  20 70 61 79 6d 65 6e 74  |. ...l7  payment|
00002190  24 28 28 69 63 25 2d 34  29 2f 35 29 3d a4 69 63  |$((ic%-4)/5)=.ic|
000021a0  6f 6e 5f 67 65 74 64 61  74 61 28 71 25 2c 75 73  |on_getdata(q%,us|
000021b0  65 72 25 2c 69 63 25 2d  31 29 0d 0c 76 0f 20 20  |er%,ic%-1)..v.  |
000021c0  e3 20 63 3d 31 20 b8 20  36 0d 0c 80 1b 20 20 20  |. c=1 . 6....   |
000021d0  e7 20 63 61 72 64 24 28  63 2c 31 29 3d 74 65 6d  |. card$(c,1)=tem|
000021e0  70 24 20 8c 0d 0c 8a 28  20 20 20 20 70 69 63 74  |p$ ....(    pict|
000021f0  5f 69 63 6f 6e 3d 28 28  69 63 25 2d 39 29 2f 35  |_icon=((ic%-9)/5|
00002200  29 2b 32 33 3a 66 6f 75  6e 64 3d b9 0d 0c 94 3a  |)+23:found=....:|
00002210  20 20 20 20 6e 75 6c 6c  25 3d a4 6e 65 77 73 70  |    null%=.newsp|
00002220  72 69 74 65 28 71 25 2c  75 73 65 72 25 2c 70 69  |rite(q%,user%,pi|
00002230  63 74 5f 69 63 6f 6e 2c  63 61 72 64 24 28 63 2c  |ct_icon,card$(c,|
00002240  32 29 2c 2d 31 29 0d 0c  9e 08 20 20 20 cd 0d 0c  |2),-1)....   ...|
00002250  a8 09 20 20 ed 20 63 0d  0c b2 11 20 20 e7 20 ac  |..  . c....  . .|
00002260  20 66 6f 75 6e 64 20 8c  0d 0c bc 27 20 20 20 70  | found ....'   p|
00002270  69 63 74 5f 69 63 6f 6e  3d 28 28 69 63 25 2d 39  |ict_icon=((ic%-9|
00002280  29 2f 35 29 2b 32 33 3a  66 6f 75 6e 64 3d b9 0d  |)/5)+23:found=..|
00002290  0c c6 3b 20 20 20 6e 75  6c 6c 25 3d a4 6e 65 77  |..;   null%=.new|
000022a0  73 70 72 69 74 65 28 71  25 2c 75 73 65 72 25 2c  |sprite(q%,user%,|
000022b0  70 69 63 74 5f 69 63 6f  6e 2c 22 63 72 65 64 69  |pict_icon,"credi|
000022c0  74 63 61 72 64 22 2c 2d  31 29 0d 0c d0 07 20 20  |tcard",-1)....  |
000022d0  cd 0d 0c da 06 20 cd 0d  0c e4 05 cd 0d 0c ee 2d  |..... .........-|
000022e0  f2 63 61 72 65 74 5f 73  65 74 70 6f 73 69 74 69  |.caret_setpositi|
000022f0  6f 6e 28 75 73 65 72 25  2c 69 63 25 2c 2d 31 2c  |on(user%,ic%,-1,|
00002300  2d 31 2c 2d 31 2c 2d 31  29 0d 0c f8 05 e1 0d 0d  |-1,-1,-1).......|
00002310  02 04 0d 0d 0c 11 dd 20  f2 6d 65 6e 75 5f 63 61  |....... .menu_ca|
00002320  72 64 73 0d 0d 16 11 6e  6f 3d 30 3a c8 97 20 78  |rds....no=0:.. x|
00002330  2c 79 2c 62 0d 0d 20 0d  e3 20 63 3d 31 20 b8 20  |,y,b.. .. c=1 . |
00002340  36 0d 0d 2a 1d 20 e7 20  63 3d 36 20 8c 20 6c 61  |6..*. . c=6 . la|
00002350  73 74 3d 2d 31 20 8b 20  6c 61 73 74 3d 30 0d 0d  |st=-1 . last=0..|
00002360  34 39 20 f2 6d 65 6e 75  5f 6f 70 74 28 63 61 72  |49 .menu_opt(car|
00002370  64 24 28 63 2c 31 29 2c  6e 6f 2c 30 2c 30 2c 30  |d$(c,1),no,0,0,0|
00002380  2c 30 2c 26 31 30 30 32  31 2c 30 2c 6c 61 73 74  |,0,&10021,0,last|
00002390  29 3a 6e 6f 2b 3d 31 0d  0d 3e 07 ed 20 63 0d 0d  |):no+=1..>.. c..|
000023a0  48 29 f2 63 72 65 61 74  65 5f 6d 65 6e 75 28 22  |H).create_menu("|
000023b0  43 61 72 64 20 54 79 70  65 73 22 2c 6e 6f 2c 32  |Card Types",no,2|
000023c0  30 30 2c 78 2c 79 29 0d  0d 52 16 63 6c 61 69 6d  |00,x,y)..R.claim|
000023d0  6d 65 6e 75 24 3d 22 63  61 72 64 73 22 0d 0d 5c  |menu$="cards"..\|
000023e0  05 e1 0d 0d 66 04 0d 0d  70 17 dd 20 a4 6d 65 6e  |....f...p.. .men|
000023f0  75 73 65 6c 65 63 74 5f  63 61 72 64 73 0d 0d 7a  |uselect_cards..z|
00002400  0c ea 20 6c 65 76 65 6c  30 0d 0d 84 0f 6c 65 76  |.. level0....lev|
00002410  65 6c 30 3d 71 25 21 30  0d 0d 8e 3f f2 69 63 6f  |el0=q%!0...?.ico|
00002420  6e 5f 70 75 74 64 61 74  61 28 71 25 2c 75 73 65  |n_putdata(q%,use|
00002430  72 25 2c 63 61 72 64 5f  74 79 70 65 5f 69 63 6f  |r%,card_type_ico|
00002440  6e 2c 63 61 72 64 24 28  6c 65 76 65 6c 30 2b 31  |n,card$(level0+1|
00002450  2c 31 29 2c 2d 31 29 0d  0d 98 38 f2 63 61 72 65  |,1),-1)...8.care|
00002460  74 5f 73 65 74 70 6f 73  69 74 69 6f 6e 28 75 73  |t_setposition(us|
00002470  65 72 25 2c 63 61 72 64  5f 74 79 70 65 5f 69 63  |er%,card_type_ic|
00002480  6f 6e 2c 2d 31 2c 2d 31  2c 2d 31 2c 2d 31 29 0d  |on,-1,-1,-1,-1).|
00002490  0d a2 06 3d 30 0d 0d ac  04 0d 0d b6 4c f4 20 2d  |...=0.......L. -|
000024a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000024e0  2d 2d 2d 2d 2d 0d 0d c0  13 f4 20 53 45 41 52 43  |-----..... SEARC|
000024f0  48 20 57 49 4e 44 4f 57  0d 0d ca 4c f4 20 2d 2d  |H WINDOW...L. --|
00002500  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002540  2d 2d 2d 2d 0d 0d d4 04  0d 0d de 21 dd 20 f2 63  |----.......!. .c|
00002550  6c 69 63 6b 73 65 61 72  63 68 28 62 75 74 74 6f  |licksearch(butto|
00002560  6e 25 2c 69 63 6f 6e 25  29 0d 0d e8 0e c8 8e 20  |n%,icon%)...... |
00002570  69 63 6f 6e 25 20 ca 0d  0d f2 15 20 c9 20 32 2c  |icon% ..... . 2,|
00002580  33 3a 63 73 65 6e 3d ac  63 73 65 6e 0d 0d fc 0d  |3:csen=.csen....|
00002590  20 e7 20 63 73 65 6e 20  8c 0d 0e 06 2d 20 20 6e  | . csen ....-  n|
000025a0  75 6c 6c 25 3d a4 6e 65  77 73 70 72 69 74 65 28  |ull%=.newsprite(|
000025b0  71 25 2c 73 65 61 72 63  68 25 2c 32 2c 22 59 65  |q%,search%,2,"Ye|
000025c0  73 22 2c 2d 31 29 0d 0e  10 06 20 cc 0d 0e 1a 2c  |s",-1).... ....,|
000025d0  20 20 6e 75 6c 6c 25 3d  a4 6e 65 77 73 70 72 69  |  null%=.newspri|
000025e0  74 65 28 71 25 2c 73 65  61 72 63 68 25 2c 32 2c  |te(q%,search%,2,|
000025f0  22 4e 6f 22 2c 2d 31 29  0d 0e 24 06 20 cd 0d 0e  |"No",-1)..$. ...|
00002600  2e 15 20 c9 20 34 2c 35  3a 65 78 63 74 3d ac 65  |.. . 4,5:exct=.e|
00002610  78 63 74 0d 0e 38 0d 20  e7 20 65 78 63 74 20 8c  |xct..8. . exct .|
00002620  0d 0e 42 2d 20 20 6e 75  6c 6c 25 3d a4 6e 65 77  |..B-  null%=.new|
00002630  73 70 72 69 74 65 28 71  25 2c 73 65 61 72 63 68  |sprite(q%,search|
00002640  25 2c 34 2c 22 59 65 73  22 2c 2d 31 29 0d 0e 4c  |%,4,"Yes",-1)..L|
00002650  06 20 cc 0d 0e 56 2c 20  20 6e 75 6c 6c 25 3d a4  |. ...V,  null%=.|
00002660  6e 65 77 73 70 72 69 74  65 28 71 25 2c 73 65 61  |newsprite(q%,sea|
00002670  72 63 68 25 2c 34 2c 22  4e 6f 22 2c 2d 31 29 0d  |rch%,4,"No",-1).|
00002680  0e 60 06 20 cd 0d 0e 6a  05 cb 0d 0e 74 05 e1 0d  |.`. ...j....t...|
00002690  0e 7e 04 0d 0e 88 22 dd  20 f2 6b 65 79 70 72 65  |.~....". .keypre|
000026a0  73 73 5f 73 65 61 72 63  68 28 69 63 6f 6e 25 2c  |ss_search(icon%,|
000026b0  6b 65 79 25 29 0d 0e 92  10 e7 20 a2 23 63 6f 6d  |key%)..... .#com|
000026c0  70 3d 30 20 8c 0d 0e 9c  1c 20 c8 99 22 57 69 6d  |p=0 ..... .."Wim|
000026d0  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 2c 2c 2d  |p_CreateMenu",,-|
000026e0  31 0d 0e a6 06 20 e1 0d  0e b0 05 cd 0d 0e ba 39  |1.... .........9|
000026f0  74 65 78 74 24 3d a4 69  63 6f 6e 5f 67 65 74 64  |text$=.icon_getd|
00002700  61 74 61 28 71 25 2c 73  65 61 72 63 68 25 2c 31  |ata(q%,search%,1|
00002710  29 3a f4 20 49 46 20 74  65 78 74 24 3c 3e 22 22  |):. IF text$<>""|
00002720  20 54 48 45 4e 0d 0e c4  2a 20 73 65 61 72 63 68  | THEN...* search|
00002730  69 6e 67 3d b9 3a 72 65  63 6f 72 64 3d 30 3a 66  |ing=.:record=0:f|
00002740  6f 75 6e 64 3d a3 3a 70  61 79 31 3d 70 61 79 0d  |ound=.:pay1=pay.|
00002750  0e ce 06 20 f5 0d 0e d8  38 20 20 72 65 63 6f 72  |... ....8  recor|
00002760  64 2b 3d 31 3a f2 6c 6f  61 64 5f 6f 72 64 65 72  |d+=1:.load_order|
00002770  5f 64 65 74 61 69 6c 73  28 72 65 63 6f 72 64 2c  |_details(record,|
00002780  63 6f 6d 70 29 3a 66 6f  75 6e 64 3d a3 0d 0e e2  |comp):found=....|
00002790  10 20 20 e7 20 ac 20 63  73 65 6e 20 8c 0d 0e ec  |.  . . csen ....|
000027a0  32 20 20 20 74 65 78 74  31 24 3d a4 75 70 70 65  |2   text1$=.uppe|
000027b0  72 28 74 65 78 74 24 29  3a 74 65 78 74 32 24 3d  |r(text$):text2$=|
000027c0  a4 75 70 70 65 72 28 63  5f 6e 61 6d 65 24 29 0d  |.upper(c_name$).|
000027d0  0e f6 07 20 20 cc 0d 0f  00 22 20 20 20 74 65 78  |...  ...."   tex|
000027e0  74 31 24 3d 74 65 78 74  24 3a 74 65 78 74 32 24  |t1$=text$:text2$|
000027f0  3d 63 5f 6e 61 6d 65 24  0d 0f 0a 07 20 20 cd 0d  |=c_name$....  ..|
00002800  0f 14 0f 20 20 c8 8e 20  65 78 63 74 20 ca 0d 0f  |...  .. exct ...|
00002810  1e 26 20 20 20 c9 20 b9  20 3a 20 e7 20 74 65 78  |.&   . . : . tex|
00002820  74 31 24 3d 74 65 78 74  32 24 20 8c 20 66 6f 75  |t1$=text2$ . fou|
00002830  6e 64 3d b9 0d 0f 28 2a  20 20 20 c9 20 a3 3a 20  |nd=...(*   . .: |
00002840  e7 20 a7 74 65 78 74 32  24 2c 74 65 78 74 31 24  |. .text2$,text1$|
00002850  29 3c 3e 30 20 8c 20 66  6f 75 6e 64 3d b9 0d 0f  |)<>0 . found=...|
00002860  32 07 20 20 cb 0d 0f 3c  23 20 fd 20 66 6f 75 6e  |2.  ...<# . foun|
00002870  64 20 84 20 72 65 63 6f  72 64 3d 28 a2 23 63 6f  |d . record=(.#co|
00002880  6d 70 29 2f 31 31 34 34  0d 0f 46 10 20 e7 20 ac  |mp)/1144..F. . .|
00002890  20 66 6f 75 6e 64 20 8c  0d 0f 50 1d 20 20 c8 99  | found ...P.  ..|
000028a0  22 57 69 6d 70 5f 43 72  65 61 74 65 4d 65 6e 75  |"Wimp_CreateMenu|
000028b0  22 2c 2c 2d 31 0d 0f 5a  1a 20 20 f2 63 6c 6f 73  |",,-1..Z.  .clos|
000028c0  65 77 69 6e 64 6f 77 28  6f 72 64 65 72 25 29 0d  |ewindow(order%).|
000028d0  0f 64 06 20 cc 0d 0f 6e  14 20 20 f2 64 69 73 70  |.d. ...n.  .disp|
000028e0  6c 61 79 5f 6f 72 64 65  72 0d 0f 78 39 20 20 70  |lay_order..x9  p|
000028f0  61 79 2d 3d 31 3a f2 69  63 6f 6e 5f 70 75 74 64  |ay-=1:.icon_putd|
00002900  61 74 61 28 71 25 2c 6f  72 64 65 72 25 2c 35 39  |ata(q%,order%,59|
00002910  2c 70 61 79 6d 65 6e 74  24 28 70 61 79 29 2c 2d  |,payment$(pay),-|
00002920  31 29 0d 0f 82 17 20 20  f2 63 6c 69 63 6b 6f 72  |1)....  .clickor|
00002930  64 65 72 28 34 2c 35 39  29 0d 0f 8c 1d 20 20 c8  |der(4,59)....  .|
00002940  99 22 57 69 6d 70 5f 43  72 65 61 74 65 4d 65 6e  |."Wimp_CreateMen|
00002950  75 22 2c 2c 2d 31 0d 0f  96 2e 20 20 f2 63 61 72  |u",,-1....  .car|
00002960  65 74 5f 73 65 74 70 6f  73 69 74 69 6f 6e 28 6f  |et_setposition(o|
00002970  72 64 65 72 25 2c 37 2c  2d 31 2c 2d 31 2c 2d 31  |rder%,7,-1,-1,-1|
00002980  2c 2d 31 29 0d 0f a0 06  20 cd 0d 0f aa 0b f4 20  |,-1).... ...... |
00002990  45 4e 44 49 46 0d 0f b4  05 e1 0d 0f be 04 0d 0f  |ENDIF...........|
000029a0  c8 4c f4 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.L. ------------|
000029b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000029e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 0f d2 12 f4 20  |----------..... |
000029f0  4f 52 44 45 52 20 57 49  4e 44 4f 57 0d 0f dc 4c  |ORDER WINDOW...L|
00002a00  f4 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |. --------------|
00002a10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002a40  2d 2d 2d 2d 2d 2d 2d 2d  0d 0f e6 04 0d 0f f0 20  |--------....... |
00002a50  dd 20 f2 63 6c 69 63 6b  6f 72 64 65 72 28 62 75  |. .clickorder(bu|
00002a60  74 74 6f 6e 25 2c 69 63  6f 6e 25 29 0d 0f fa 25  |tton%,icon%)...%|
00002a70  e7 20 62 75 74 74 6f 6e  25 3d 32 20 8c 20 f2 6d  |. button%=2 . .m|
00002a80  65 6e 75 5f 6f 72 64 65  72 77 69 6e 64 6f 77 3a  |enu_orderwindow:|
00002a90  e1 0d 10 04 0e c8 8e 20  69 63 6f 6e 25 20 ca 0d  |....... icon% ..|
00002aa0  10 0e 10 20 c9 20 35 39  3a 70 61 79 2b 3d 31 0d  |... . 59:pay+=1.|
00002ab0  10 18 14 20 e7 20 70 61  79 3d 38 20 8c 20 70 61  |... . pay=8 . pa|
00002ac0  79 3d 31 0d 10 22 19 20  e7 20 70 61 79 6d 65 6e  |y=1..". . paymen|
00002ad0  74 24 28 70 61 79 29 3d  22 22 20 8c 0d 10 2c 07  |t$(pay)="" ...,.|
00002ae0  20 20 f5 0d 10 36 0d 20  20 20 70 61 79 2b 3d 31  |  ...6.   pay+=1|
00002af0  0d 10 40 19 20 20 fd 20  70 61 79 6d 65 6e 74 24  |..@.  . payment$|
00002b00  28 70 61 79 29 3c 3e 22  22 0d 10 4a 06 20 cd 0d  |(pay)<>""..J. ..|
00002b10  10 54 16 20 e7 20 70 61  79 3e 33 20 80 20 70 61  |.T. . pay>3 . pa|
00002b20  79 3c 37 20 8c 0d 10 5e  0d 20 20 66 6f 75 6e 64  |y<7 ...^.  found|
00002b30  3d a3 0d 10 68 0f 20 20  e3 20 63 3d 31 20 b8 20  |=...h.  . c=1 . |
00002b40  36 0d 10 72 2d 20 20 20  e7 20 70 61 79 6d 65 6e  |6..r-   . paymen|
00002b50  74 24 28 70 61 79 29 3d  63 61 72 64 24 28 63 2c  |t$(pay)=card$(c,|
00002b60  31 29 20 80 20 ac 20 66  6f 75 6e 64 20 8c 0d 10  |1) . . found ...|
00002b70  7c 3c 20 20 20 20 6e 75  6c 6c 25 3d a4 6e 65 77  ||<    null%=.new|
00002b80  73 70 72 69 74 65 28 71  25 2c 6f 72 64 65 72 25  |sprite(q%,order%|
00002b90  2c 36 32 2c 63 61 72 64  24 28 63 2c 32 29 2c 2d  |,62,card$(c,2),-|
00002ba0  31 29 3a 66 6f 75 6e 64  3d b9 0d 10 86 08 20 20  |1):found=.....  |
00002bb0  20 cd 0d 10 90 09 20 20  ed 20 63 0d 10 9a 11 20  | .....  . c.... |
00002bc0  20 e7 20 ac 20 66 6f 75  6e 64 20 8c 0d 10 a4 35  | . . found ....5|
00002bd0  20 20 20 6e 75 6c 6c 25  3d a4 6e 65 77 73 70 72  |   null%=.newspr|
00002be0  69 74 65 28 71 25 2c 6f  72 64 65 72 25 2c 36 32  |ite(q%,order%,62|
00002bf0  2c 22 63 72 65 64 69 74  63 61 72 64 22 2c 2d 31  |,"creditcard",-1|
00002c00  29 0d 10 ae 07 20 20 cd  0d 10 b8 06 20 cc 0d 10  |)....  ..... ...|
00002c10  c2 2f 20 20 6e 75 6c 6c  25 3d a4 6e 65 77 73 70  |./  null%=.newsp|
00002c20  72 69 74 65 28 71 25 2c  6f 72 64 65 72 25 2c 36  |rite(q%,order%,6|
00002c30  32 2c 22 62 6c 61 6e 6b  22 2c 2d 31 29 0d 10 cc  |2,"blank",-1)...|
00002c40  06 20 cd 0d 10 d6 31 20  f2 69 63 6f 6e 5f 70 75  |. ....1 .icon_pu|
00002c50  74 64 61 74 61 28 71 25  2c 6f 72 64 65 72 25 2c  |tdata(q%,order%,|
00002c60  35 39 2c 70 61 79 6d 65  6e 74 24 28 70 61 79 29  |59,payment$(pay)|
00002c70  2c 2d 31 29 0d 10 e0 17  20 c9 20 36 31 3a e7 20  |,-1).... . 61:. |
00002c80  73 65 61 72 63 68 69 6e  67 20 8c 0d 10 ea 14 20  |searching ..... |
00002c90  20 6f 6c 64 5f 72 65 63  3d 72 65 63 6f 72 64 0d  | old_rec=record.|
00002ca0  10 f4 14 20 20 e7 20 a2  23 63 6f 6d 70 3d 30 20  |...  . .#comp=0 |
00002cb0  8c 20 e1 0d 10 fe 27 20  20 74 65 78 74 24 3d a4  |. ....'  text$=.|
00002cc0  69 63 6f 6e 5f 67 65 74  64 61 74 61 28 71 25 2c  |icon_getdata(q%,|
00002cd0  73 65 61 72 63 68 25 2c  31 29 0d 11 08 2f f4 20  |search%,1).../. |
00002ce0  20 49 46 20 74 65 78 74  24 3d 22 22 20 54 48 45  | IF text$="" THE|
00002cf0  4e 20 73 65 61 72 63 68  69 6e 67 3d 46 41 4c 53  |N searching=FALS|
00002d00  45 3a 45 4e 44 50 52 4f  43 0d 11 12 07 20 20 f5  |E:ENDPROC....  .|
00002d10  0d 11 1c 18 20 20 20 66  6f 75 6e 64 3d a3 3a 72  |....   found=.:r|
00002d20  65 63 6f 72 64 2d 3d 31  0d 11 26 24 20 20 20 e7  |ecord-=1..&$   .|
00002d30  20 72 65 63 6f 72 64 3d  30 20 8c 20 72 65 63 6f  | record=0 . reco|
00002d40  72 64 3d 6f 6c 64 5f 72  65 63 3a e1 0d 11 30 27  |rd=old_rec:...0'|
00002d50  20 20 20 f2 6c 6f 61 64  5f 6f 72 64 65 72 5f 64  |   .load_order_d|
00002d60  65 74 61 69 6c 73 28 72  65 63 6f 72 64 2c 63 6f  |etails(record,co|
00002d70  6d 70 29 0d 11 3a 0f 20  20 20 e7 20 63 73 65 6e  |mp)..:.   . csen|
00002d80  20 8c 0d 11 44 23 20 20  20 20 74 65 78 74 31 24  | ...D#    text1$|
00002d90  3d 74 65 78 74 24 3a 74  65 78 74 32 24 3d 63 5f  |=text$:text2$=c_|
00002da0  6e 61 6d 65 24 0d 11 4e  08 20 20 20 cc 0d 11 58  |name$..N.   ...X|
00002db0  33 20 20 20 20 74 65 78  74 31 24 3d a4 75 70 70  |3    text1$=.upp|
00002dc0  65 72 28 74 65 78 74 24  29 3a 74 65 78 74 32 24  |er(text$):text2$|
00002dd0  3d a4 75 70 70 65 72 28  63 5f 6e 61 6d 65 24 29  |=.upper(c_name$)|
00002de0  0d 11 62 08 20 20 20 cd  0d 11 6c 10 20 20 20 c8  |..b.   ...l.   .|
00002df0  8e 20 65 78 63 74 20 ca  0d 11 76 26 20 20 20 20  |. exct ...v&    |
00002e00  c9 20 b9 20 3a e7 20 74  65 78 74 31 24 3d 74 65  |. . :. text1$=te|
00002e10  78 74 32 24 20 8c 20 66  6f 75 6e 64 3d b9 0d 11  |xt2$ . found=...|
00002e20  80 2a 20 20 20 20 c9 20  a3 3a e7 20 a7 74 65 78  |.*    . .:. .tex|
00002e30  74 32 24 2c 74 65 78 74  31 24 29 3c 3e 30 20 8c  |t2$,text1$)<>0 .|
00002e40  20 66 6f 75 6e 64 3d b9  0d 11 8a 08 20 20 20 cb  | found=.....   .|
00002e50  0d 11 94 0d 20 20 fd 20  66 6f 75 6e 64 0d 11 9e  |....  . found...|
00002e60  14 20 20 f2 64 69 73 70  6c 61 79 5f 6f 72 64 65  |.  .display_orde|
00002e70  72 0d 11 a8 39 20 20 70  61 79 2d 3d 31 3a f2 69  |r...9  pay-=1:.i|
00002e80  63 6f 6e 5f 70 75 74 64  61 74 61 28 71 25 2c 6f  |con_putdata(q%,o|
00002e90  72 64 65 72 25 2c 35 39  2c 70 61 79 6d 65 6e 74  |rder%,59,payment|
00002ea0  24 28 70 61 79 29 2c 2d  31 29 0d 11 b2 17 20 20  |$(pay),-1)....  |
00002eb0  f2 63 6c 69 63 6b 6f 72  64 65 72 28 34 2c 35 39  |.clickorder(4,59|
00002ec0  29 0d 11 bc 1d 20 20 c8  99 22 57 69 6d 70 5f 43  |)....  .."Wimp_C|
00002ed0  72 65 61 74 65 4d 65 6e  75 22 2c 2c 2d 31 0d 11  |reateMenu",,-1..|
00002ee0  c6 2e 20 20 f2 63 61 72  65 74 5f 73 65 74 70 6f  |..  .caret_setpo|
00002ef0  73 69 74 69 6f 6e 28 6f  72 64 65 72 25 2c 37 2c  |sition(order%,7,|
00002f00  2d 31 2c 2d 31 2c 2d 31  2c 2d 31 29 0d 11 d0 06  |-1,-1,-1,-1)....|
00002f10  20 cd 0d 11 da 17 20 c9  20 36 30 3a e7 20 73 65  | ..... . 60:. se|
00002f20  61 72 63 68 69 6e 67 20  8c 0d 11 e4 14 20 20 6f  |arching .....  o|
00002f30  6c 64 5f 72 65 63 3d 72  65 63 6f 72 64 0d 11 ee  |ld_rec=record...|
00002f40  14 20 20 e7 20 a2 23 63  6f 6d 70 3d 30 20 8c 20  |.  . .#comp=0 . |
00002f50  e1 0d 11 f8 27 20 20 74  65 78 74 24 3d a4 69 63  |....'  text$=.ic|
00002f60  6f 6e 5f 67 65 74 64 61  74 61 28 71 25 2c 73 65  |on_getdata(q%,se|
00002f70  61 72 63 68 25 2c 31 29  0d 12 02 2f f4 20 20 49  |arch%,1).../.  I|
00002f80  46 20 74 65 78 74 24 3d  22 22 20 54 48 45 4e 20  |F text$="" THEN |
00002f90  73 65 61 72 63 68 69 6e  67 3d 46 41 4c 53 45 3a  |searching=FALSE:|
00002fa0  45 4e 44 50 52 4f 43 0d  12 0c 07 20 20 f5 0d 12  |ENDPROC....  ...|
00002fb0  16 18 20 20 20 66 6f 75  6e 64 3d a3 3a 72 65 63  |..   found=.:rec|
00002fc0  6f 72 64 2b 3d 31 0d 12  20 32 20 20 20 e7 20 72  |ord+=1.. 2   . r|
00002fd0  65 63 6f 72 64 3d 31 2b  28 a2 23 63 6f 6d 70 29  |ecord=1+(.#comp)|
00002fe0  2f 31 31 34 34 20 8c 20  72 65 63 6f 72 64 3d 6f  |/1144 . record=o|
00002ff0  6c 64 5f 72 65 63 3a e1  0d 12 2a 27 20 20 20 f2  |ld_rec:...*'   .|
00003000  6c 6f 61 64 5f 6f 72 64  65 72 5f 64 65 74 61 69  |load_order_detai|
00003010  6c 73 28 72 65 63 6f 72  64 2c 63 6f 6d 70 29 0d  |ls(record,comp).|
00003020  12 34 0f 20 20 20 e7 20  63 73 65 6e 20 8c 0d 12  |.4.   . csen ...|
00003030  3e 23 20 20 20 20 74 65  78 74 31 24 3d 74 65 78  |>#    text1$=tex|
00003040  74 24 3a 74 65 78 74 32  24 3d 63 5f 6e 61 6d 65  |t$:text2$=c_name|
00003050  24 0d 12 48 08 20 20 20  cc 0d 12 52 33 20 20 20  |$..H.   ...R3   |
00003060  20 74 65 78 74 31 24 3d  a4 75 70 70 65 72 28 74  | text1$=.upper(t|
00003070  65 78 74 24 29 3a 74 65  78 74 32 24 3d a4 75 70  |ext$):text2$=.up|
00003080  70 65 72 28 63 5f 6e 61  6d 65 24 29 0d 12 5c 08  |per(c_name$)..\.|
00003090  20 20 20 cd 0d 12 66 10  20 20 20 c8 8e 20 65 78  |   ...f.   .. ex|
000030a0  63 74 20 ca 0d 12 70 26  20 20 20 20 c9 20 b9 20  |ct ...p&    . . |
000030b0  3a e7 20 74 65 78 74 31  24 3d 74 65 78 74 32 24  |:. text1$=text2$|
000030c0  20 8c 20 66 6f 75 6e 64  3d b9 0d 12 7a 2a 20 20  | . found=...z*  |
000030d0  20 20 c9 20 a3 3a e7 20  a7 74 65 78 74 32 24 2c  |  . .:. .text2$,|
000030e0  74 65 78 74 31 24 29 3c  3e 30 20 8c 20 66 6f 75  |text1$)<>0 . fou|
000030f0  6e 64 3d b9 0d 12 84 08  20 20 20 cb 0d 12 8e 0d  |nd=.....   .....|
00003100  20 20 fd 20 66 6f 75 6e  64 0d 12 98 14 20 20 f2  |  . found....  .|
00003110  64 69 73 70 6c 61 79 5f  6f 72 64 65 72 0d 12 a2  |display_order...|
00003120  39 20 20 70 61 79 2d 3d  31 3a f2 69 63 6f 6e 5f  |9  pay-=1:.icon_|
00003130  70 75 74 64 61 74 61 28  71 25 2c 6f 72 64 65 72  |putdata(q%,order|
00003140  25 2c 35 39 2c 70 61 79  6d 65 6e 74 24 28 70 61  |%,59,payment$(pa|
00003150  79 29 2c 2d 31 29 0d 12  ac 17 20 20 f2 63 6c 69  |y),-1)....  .cli|
00003160  63 6b 6f 72 64 65 72 28  34 2c 35 39 29 0d 12 b6  |ckorder(4,59)...|
00003170  1d 20 20 c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |.  .."Wimp_Creat|
00003180  65 4d 65 6e 75 22 2c 2c  2d 31 0d 12 c0 2e 20 20  |eMenu",,-1....  |
00003190  f2 63 61 72 65 74 5f 73  65 74 70 6f 73 69 74 69  |.caret_setpositi|
000031a0  6f 6e 28 6f 72 64 65 72  25 2c 37 2c 2d 31 2c 2d  |on(order%,7,-1,-|
000031b0  31 2c 2d 31 2c 2d 31 29  0d 12 ca 06 20 cd 0d 12  |1,-1,-1).... ...|
000031c0  d4 20 20 c9 20 36 33 3a  f2 6f 70 65 6e 77 69 6e  |.  . 63:.openwin|
000031d0  64 6f 77 28 76 61 74 25  2c a3 2c 2d 31 29 0d 12  |dow(vat%,.,-1)..|
000031e0  de 2b 20 f2 63 61 72 65  74 5f 73 65 74 70 6f 73  |.+ .caret_setpos|
000031f0  69 74 69 6f 6e 28 76 61  74 25 2c 30 2c 2d 31 2c  |ition(vat%,0,-1,|
00003200  2d 31 2c 2d 31 2c 2d 31  29 0d 12 e8 05 cb 0d 12  |-1,-1,-1).......|
00003210  f2 05 e1 0d 12 fc 04 0d  13 06 17 dd 20 f2 6d 65  |............ .me|
00003220  6e 75 5f 6f 72 64 65 72  77 69 6e 64 6f 77 0d 13  |nu_orderwindow..|
00003230  10 11 6e 6f 3d 30 3a c8  97 20 78 2c 79 2c 62 0d  |..no=0:.. x,y,b.|
00003240  13 1a 32 f2 6d 65 6e 75  5f 6f 70 74 28 22 50 72  |..2.menu_opt("Pr|
00003250  69 6e 74 22 2c 6e 6f 2c  30 2c 30 2c 30 2c 30 2c  |int",no,0,0,0,0,|
00003260  26 31 30 30 32 31 2c 30  2c 30 29 3a 6e 6f 2b 3d  |&10021,0,0):no+=|
00003270  31 0d 13 24 32 f2 6d 65  6e 75 5f 6f 70 74 28 22  |1..$2.menu_opt("|
00003280  43 6c 65 61 72 22 2c 6e  6f 2c 30 2c 30 2c 30 2c  |Clear",no,0,0,0,|
00003290  30 2c 26 31 30 30 32 31  2c 30 2c 30 29 3a 6e 6f  |0,&10021,0,0):no|
000032a0  2b 3d 31 0d 13 2e 3c f2  6d 65 6e 75 5f 6f 70 74  |+=1...<.menu_opt|
000032b0  28 22 41 64 64 72 65 73  73 22 2c 6e 6f 2c 30 2c  |("Address",no,0,|
000032c0  30 2c 2d 31 2c 30 2c 26  31 30 30 32 31 2c 63 6f  |0,-1,0,&10021,co|
000032d0  6d 70 61 6e 79 25 2c 30  29 3a 6e 6f 2b 3d 31 0d  |mpany%,0):no+=1.|
000032e0  13 38 31 f2 6d 65 6e 75  5f 6f 70 74 28 22 53 61  |.81.menu_opt("Sa|
000032f0  76 65 22 2c 6e 6f 2c 30  2c 30 2c 30 2c 30 2c 26  |ve",no,0,0,0,0,&|
00003300  31 30 30 32 31 2c 30 2c  30 29 3a 6e 6f 2b 3d 31  |10021,0,0):no+=1|
00003310  0d 13 42 33 f2 6d 65 6e  75 5f 6f 70 74 28 22 44  |..B3.menu_opt("D|
00003320  65 6c 65 74 65 22 2c 6e  6f 2c 30 2c 30 2c 30 2c  |elete",no,0,0,0,|
00003330  30 2c 26 31 30 30 32 31  2c 30 2c 30 29 3a 6e 6f  |0,&10021,0,0):no|
00003340  2b 3d 31 0d 13 4c 3a f2  6d 65 6e 75 5f 6f 70 74  |+=1..L:.menu_opt|
00003350  28 22 53 65 61 72 63 68  22 2c 6e 6f 2c 30 2c 30  |("Search",no,0,0|
00003360  2c 30 2c 30 2c 26 31 30  30 32 31 2c 73 65 61 72  |,0,0,&10021,sear|
00003370  63 68 25 2c 2d 31 29 3a  6e 6f 2b 3d 31 0d 13 56  |ch%,-1):no+=1..V|
00003380  24 f2 63 72 65 61 74 65  5f 6d 65 6e 75 28 22 4f  |$.create_menu("O|
00003390  72 64 65 72 22 2c 6e 6f  2c 31 35 30 2c 78 2c 79  |rder",no,150,x,y|
000033a0  29 0d 13 60 16 63 6c 61  69 6d 6d 65 6e 75 24 3d  |)..`.claimmenu$=|
000033b0  22 6f 72 64 65 72 22 0d  13 6a 32 65 78 63 74 3d  |"order"..j2exct=|
000033c0  b9 3a 6e 75 6c 6c 25 3d  a4 6e 65 77 73 70 72 69  |.:null%=.newspri|
000033d0  74 65 28 71 25 2c 73 65  61 72 63 68 25 2c 32 2c  |te(q%,search%,2,|
000033e0  22 59 65 73 22 2c 2d 31  29 0d 13 74 32 63 73 65  |"Yes",-1)..t2cse|
000033f0  6e 3d b9 3a 6e 75 6c 6c  25 3d a4 6e 65 77 73 70  |n=.:null%=.newsp|
00003400  72 69 74 65 28 71 25 2c  73 65 61 72 63 68 25 2c  |rite(q%,search%,|
00003410  34 2c 22 59 65 73 22 2c  2d 31 29 0d 13 7e 05 e1  |4,"Yes",-1)..~..|
00003420  0d 13 88 04 0d 13 92 17  dd 20 a4 6d 65 6e 75 73  |......... .menus|
00003430  65 6c 65 63 74 5f 6f 72  64 65 72 0d 13 9c 0c ea  |elect_order.....|
00003440  20 6c 65 76 65 6c 30 0d  13 a6 0f 6c 65 76 65 6c  | level0....level|
00003450  30 3d 71 25 21 30 0d 13  b0 0f c8 8e 20 6c 65 76  |0=q%!0...... lev|
00003460  65 6c 30 20 ca 0d 13 ba  15 20 c9 20 30 3a f2 70  |el0 ..... . 0:.p|
00003470  72 69 6e 74 5f 6f 72 64  65 72 0d 13 c4 15 20 c9  |rint_order.... .|
00003480  20 31 3a f2 63 6c 65 61  72 5f 6f 72 64 65 72 0d  | 1:.clear_order.|
00003490  13 ce 2b 20 c9 20 33 3a  63 5f 6e 61 6d 65 24 3d  |..+ . 3:c_name$=|
000034a0  a4 69 63 6f 6e 5f 67 65  74 64 61 74 61 28 71 25  |.icon_getdata(q%|
000034b0  2c 6f 72 64 65 72 25 2c  31 29 0d 13 d8 29 20 63  |,order%,1)...) c|
000034c0  5f 73 61 6c 65 24 3d a4  69 63 6f 6e 5f 67 65 74  |_sale$=.icon_get|
000034d0  64 61 74 61 28 71 25 2c  63 6f 6d 70 61 6e 79 25  |data(q%,company%|
000034e0  2c 30 29 0d 13 e2 29 20  63 5f 61 64 72 31 24 3d  |,0)...) c_adr1$=|
000034f0  a4 69 63 6f 6e 5f 67 65  74 64 61 74 61 28 71 25  |.icon_getdata(q%|
00003500  2c 63 6f 6d 70 61 6e 79  25 2c 31 29 0d 13 ec 29  |,company%,1)...)|
00003510  20 63 5f 61 64 72 32 24  3d a4 69 63 6f 6e 5f 67  | c_adr2$=.icon_g|
00003520  65 74 64 61 74 61 28 71  25 2c 63 6f 6d 70 61 6e  |etdata(q%,compan|
00003530  79 25 2c 32 29 0d 13 f6  29 20 63 5f 61 64 72 33  |y%,2)...) c_adr3|
00003540  24 3d a4 69 63 6f 6e 5f  67 65 74 64 61 74 61 28  |$=.icon_getdata(|
00003550  71 25 2c 63 6f 6d 70 61  6e 79 25 2c 33 29 0d 14  |q%,company%,3)..|
00003560  00 29 20 63 5f 61 64 72  34 24 3d a4 69 63 6f 6e  |.) c_adr4$=.icon|
00003570  5f 67 65 74 64 61 74 61  28 71 25 2c 63 6f 6d 70  |_getdata(q%,comp|
00003580  61 6e 79 25 2c 34 29 0d  14 0a 29 20 63 5f 70 6f  |any%,4)...) c_po|
00003590  73 74 24 3d a4 69 63 6f  6e 5f 67 65 74 64 61 74  |st$=.icon_getdat|
000035a0  61 28 71 25 2c 63 6f 6d  70 61 6e 79 25 2c 35 29  |a(q%,company%,5)|
000035b0  0d 14 14 29 20 63 5f 74  65 6c 65 24 3d a4 69 63  |...) c_tele$=.ic|
000035c0  6f 6e 5f 67 65 74 64 61  74 61 28 71 25 2c 63 6f  |on_getdata(q%,co|
000035d0  6d 70 61 6e 79 25 2c 36  29 0d 14 1e 28 20 63 5f  |mpany%,6)...( c_|
000035e0  66 61 78 24 3d a4 69 63  6f 6e 5f 67 65 74 64 61  |fax$=.icon_getda|
000035f0  74 61 28 71 25 2c 63 6f  6d 70 61 6e 79 25 2c 37  |ta(q%,company%,7|
00003600  29 0d 14 28 29 20 63 5f  61 63 63 6e 24 3d a4 69  |)..() c_accn$=.i|
00003610  63 6f 6e 5f 67 65 74 64  61 74 61 28 71 25 2c 63  |con_getdata(q%,c|
00003620  6f 6d 70 61 6e 79 25 2c  38 29 0d 14 32 0f 20 e3  |ompany%,8)..2. .|
00003630  20 6f 3d 31 20 b8 20 31  30 0d 14 3c 36 20 20 6f  | o=1 . 10..<6  o|
00003640  72 64 65 72 24 28 6f 2c  31 29 3d a4 69 63 6f 6e  |rder$(o,1)=.icon|
00003650  5f 67 65 74 64 61 74 61  28 71 25 2c 6f 72 64 65  |_getdata(q%,orde|
00003660  72 25 2c 28 35 2a 28 6f  2d 31 29 29 2b 37 29 0d  |r%,(5*(o-1))+7).|
00003670  14 46 36 20 20 6f 72 64  65 72 24 28 6f 2c 32 29  |.F6  order$(o,2)|
00003680  3d a4 69 63 6f 6e 5f 67  65 74 64 61 74 61 28 71  |=.icon_getdata(q|
00003690  25 2c 6f 72 64 65 72 25  2c 28 35 2a 28 6f 2d 31  |%,order%,(5*(o-1|
000036a0  29 29 2b 38 29 0d 14 50  36 20 20 6f 72 64 65 72  |))+8)..P6  order|
000036b0  24 28 6f 2c 33 29 3d a4  69 63 6f 6e 5f 67 65 74  |$(o,3)=.icon_get|
000036c0  64 61 74 61 28 71 25 2c  6f 72 64 65 72 25 2c 28  |data(q%,order%,(|
000036d0  35 2a 28 6f 2d 31 29 29  2b 39 29 0d 14 5a 37 20  |5*(o-1))+9)..Z7 |
000036e0  20 6f 72 64 65 72 24 28  6f 2c 34 29 3d a4 69 63  | order$(o,4)=.ic|
000036f0  6f 6e 5f 67 65 74 64 61  74 61 28 71 25 2c 6f 72  |on_getdata(q%,or|
00003700  64 65 72 25 2c 28 35 2a  28 6f 2d 31 29 29 2b 31  |der%,(5*(o-1))+1|
00003710  30 29 0d 14 64 08 20 ed  20 6f 0d 14 6e 14 20 64  |0)..d. . o..n. d|
00003720  61 74 65 24 3d c1 91 24  2c 35 2c 31 31 29 0d 14  |ate$=..$,5,11)..|
00003730  78 25 20 f2 73 61 76 65  5f 6f 72 64 65 72 5f 64  |x% .save_order_d|
00003740  65 74 61 69 6c 73 28 72  65 63 6f 72 64 2c 63 6f  |etails(record,co|
00003750  6d 70 29 0d 14 82 34 20  c9 20 34 3a e7 20 72 65  |mp)...4 . 4:. re|
00003760  63 6f 72 64 3c 3e 28 28  28 a2 23 63 6f 6d 70 29  |cord<>(((.#comp)|
00003770  2f 31 31 34 34 29 2b 31  29 20 80 20 a2 23 63 6f  |/1144)+1) . .#co|
00003780  6d 70 3c 3e 30 20 8c 0d  14 8c 26 20 20 f2 69 63  |mp<>0 ....&  .ic|
00003790  6f 6e 5f 70 75 74 64 61  74 61 28 71 25 2c 6f 72  |on_putdata(q%,or|
000037a0  64 65 72 25 2c 31 2c 22  22 2c 2d 31 29 0d 14 96  |der%,1,"",-1)...|
000037b0  35 20 20 e3 20 69 3d 37  20 b8 20 35 36 3a f2 69  |5  . i=7 . 56:.i|
000037c0  63 6f 6e 5f 70 75 74 64  61 74 61 28 71 25 2c 6f  |con_putdata(q%,o|
000037d0  72 64 65 72 25 2c 69 2c  22 22 2c 2d 31 29 3a ed  |rder%,i,"",-1):.|
000037e0  20 69 0d 14 a0 27 20 20  f2 69 63 6f 6e 5f 70 75  | i...'  .icon_pu|
000037f0  74 64 61 74 61 28 71 25  2c 6f 72 64 65 72 25 2c  |tdata(q%,order%,|
00003800  35 38 2c 22 22 2c 2d 31  29 0d 14 aa 1d 20 20 70  |58,"",-1)....  p|
00003810  61 79 3d 30 3a f2 63 6c  69 63 6b 6f 72 64 65 72  |ay=0:.clickorder|
00003820  28 34 2c 35 39 29 0d 14  b4 36 20 20 e3 20 69 3d  |(4,59)...6  . i=|
00003830  30 20 b8 20 38 3a f2 69  63 6f 6e 5f 70 75 74 64  |0 . 8:.icon_putd|
00003840  61 74 61 28 71 25 2c 63  6f 6d 70 61 6e 79 25 2c  |ata(q%,company%,|
00003850  69 2c 22 22 2c 2d 31 29  3a ed 20 69 0d 14 be 1a  |i,"",-1):. i....|
00003860  20 20 f2 63 6c 6f 73 65  77 69 6e 64 6f 77 28 6f  |  .closewindow(o|
00003870  72 64 65 72 25 29 0d 14  c8 2a 20 20 6e 65 77 63  |rder%)...*  newc|
00003880  3d ae 28 22 3c 4f 72 64  65 72 24 44 69 72 3e 2e  |=.("<Order$Dir>.|
00003890  4e 65 77 43 6f 6d 70 22  29 3a 72 65 63 73 3d 30  |NewComp"):recs=0|
000038a0  0d 14 d2 1b 20 20 e3 20  72 3d 31 20 b8 20 28 a2  |....  . r=1 . (.|
000038b0  23 63 6f 6d 70 29 2f 31  31 34 34 0d 14 dc 14 20  |#comp)/1144.... |
000038c0  20 20 e7 20 72 3c 3e 72  65 63 6f 72 64 20 8c 0d  |  . r<>record ..|
000038d0  14 e6 0f 20 20 20 20 72  65 63 73 2b 3d 31 0d 14  |...    recs+=1..|
000038e0  f0 23 20 20 20 20 f2 6c  6f 61 64 5f 6f 72 64 65  |.#    .load_orde|
000038f0  72 5f 64 65 74 61 69 6c  73 28 72 2c 63 6f 6d 70  |r_details(r,comp|
00003900  29 0d 14 fa 26 20 20 20  20 f2 73 61 76 65 5f 6f  |)...&    .save_o|
00003910  72 64 65 72 5f 64 65 74  61 69 6c 73 28 72 65 63  |rder_details(rec|
00003920  73 2c 6e 65 77 63 29 0d  15 04 08 20 20 20 cd 0d  |s,newc)....   ..|
00003930  15 0e 09 20 20 ed 20 72  0d 15 18 0d 20 20 d9 20  |...  . r....  . |
00003940  23 63 6f 6d 70 0d 15 22  0d 20 20 d9 20 23 6e 65  |#comp..".  . #ne|
00003950  77 63 0d 15 2c 27 20 20  ff 28 22 44 65 6c 65 74  |wc..,'  .("Delet|
00003960  65 20 3c 4f 72 64 65 72  24 44 69 72 3e 2e 43 6f  |e <Order$Dir>.Co|
00003970  6d 70 61 6e 69 65 73 22  29 0d 15 36 3b 20 20 ff  |mpanies")..6;  .|
00003980  28 22 52 65 6e 61 6d 65  20 3c 4f 72 64 65 72 24  |("Rename <Order$|
00003990  44 69 72 3e 2e 4e 65 77  43 6f 6d 70 20 3c 4f 72  |Dir>.NewComp <Or|
000039a0  64 65 72 24 44 69 72 3e  2e 43 6f 6d 70 61 6e 69  |der$Dir>.Compani|
000039b0  65 73 22 29 0d 15 40 25  20 20 63 6f 6d 70 3d ad  |es")..@%  comp=.|
000039c0  28 22 3c 4f 72 64 65 72  24 44 69 72 3e 2e 43 6f  |("<Order$Dir>.Co|
000039d0  6d 70 61 6e 69 65 73 22  29 0d 15 4a 06 20 cd 0d  |mpanies")..J. ..|
000039e0  15 54 18 20 c9 20 35 3a  f4 20 53 65 61 72 63 68  |.T. . 5:. Search|
000039f0  20 77 69 6e 64 6f 77 0d  15 5e 05 cb 0d 15 68 06  | window..^....h.|
00003a00  3d 30 0d 15 72 04 0d 15  7c 1f dd 20 f2 6b 65 79  |=0..r...|.. .key|
00003a10  70 72 65 73 73 5f 6f 72  64 65 72 28 69 63 25 2c  |press_order(ic%,|
00003a20  6b 65 79 25 29 0d 15 86  0d c8 8e 20 6b 65 79 25  |key%)...... key%|
00003a30  20 ca 0d 15 90 26 20 c9  20 31 33 2c 26 31 38 45  | ....& . 13,&18E|
00003a40  3a 69 63 25 2b 3d 31 3a  e7 20 69 63 25 3d 35 37  |:ic%+=1:. ic%=57|
00003a50  20 8c 20 69 63 25 3d 37  0d 15 9a 0e 20 e7 20 69  | . ic%=7.... . i|
00003a60  63 25 3d 32 20 8c 0d 15  a4 18 20 20 72 65 63 73  |c%=2 .....  recs|
00003a70  3d 28 a2 23 63 6f 6d 70  29 2f 31 31 34 34 0d 15  |=(.#comp)/1144..|
00003a80  ae 10 20 20 e7 20 72 65  63 73 3e 30 20 8c 0d 15  |..  . recs>0 ...|
00003a90  b8 17 20 20 20 66 6f 75  6e 64 3d a3 3a 70 61 79  |..   found=.:pay|
00003aa0  31 3d 70 61 79 0d 15 c2  2f 20 20 20 e3 20 72 3d  |1=pay.../   . r=|
00003ab0  31 20 b8 20 72 65 63 73  3a f2 6c 6f 61 64 5f 6f  |1 . recs:.load_o|
00003ac0  72 64 65 72 5f 64 65 74  61 69 6c 73 28 72 2c 63  |rder_details(r,c|
00003ad0  6f 6d 70 29 0d 15 cc 38  20 20 20 20 e7 20 63 5f  |omp)...8    . c_|
00003ae0  6e 61 6d 65 24 3d a4 69  63 6f 6e 5f 67 65 74 64  |name$=.icon_getd|
00003af0  61 74 61 28 71 25 2c 6f  72 64 65 72 25 2c 31 29  |ata(q%,order%,1)|
00003b00  20 80 20 ac 20 66 6f 75  6e 64 20 8c 0d 15 d6 7a  | . . found ....z|
00003b10  20 20 20 20 20 72 65 73  70 3d a4 71 75 65 72 79  |     resp=.query|
00003b20  28 22 54 68 65 72 65 20  69 73 20 61 6c 72 65 61  |("There is alrea|
00003b30  64 79 20 61 6e 20 6f 72  64 65 72 20 77 69 74 68  |dy an order with|
00003b40  20 74 68 69 73 20 63 6f  6d 70 61 6e 79 2e 20 20  | this company.  |
00003b50  44 6f 20 79 6f 75 20 77  69 73 68 20 74 6f 20 75  |Do you wish to u|
00003b60  73 65 20 74 68 65 20 61  64 64 72 65 73 73 20 65  |se the address e|
00003b70  74 63 2e 20 66 72 6f 6d  20 74 68 69 73 20 6f 72  |tc. from this or|
00003b80  64 65 72 3f 22 29 0d 15  e0 13 20 20 20 20 20 e7  |der?")....     .|
00003b90  20 72 65 73 70 3d 31 20  8c 0d 15 ea 31 20 20 20  | resp=1 ....1   |
00003ba0  20 20 20 f2 69 63 6f 6e  5f 70 75 74 64 61 74 61  |   .icon_putdata|
00003bb0  28 71 25 2c 63 6f 6d 70  61 6e 79 25 2c 30 2c 63  |(q%,company%,0,c|
00003bc0  5f 73 61 6c 65 24 2c 2d  31 29 0d 15 f4 31 20 20  |_sale$,-1)...1  |
00003bd0  20 20 20 20 f2 69 63 6f  6e 5f 70 75 74 64 61 74  |    .icon_putdat|
00003be0  61 28 71 25 2c 63 6f 6d  70 61 6e 79 25 2c 31 2c  |a(q%,company%,1,|
00003bf0  63 5f 61 64 72 31 24 2c  2d 31 29 0d 15 fe 31 20  |c_adr1$,-1)...1 |
00003c00  20 20 20 20 20 f2 69 63  6f 6e 5f 70 75 74 64 61  |     .icon_putda|
00003c10  74 61 28 71 25 2c 63 6f  6d 70 61 6e 79 25 2c 32  |ta(q%,company%,2|
00003c20  2c 63 5f 61 64 72 32 24  2c 2d 31 29 0d 16 08 31  |,c_adr2$,-1)...1|
00003c30  20 20 20 20 20 20 f2 69  63 6f 6e 5f 70 75 74 64  |      .icon_putd|
00003c40  61 74 61 28 71 25 2c 63  6f 6d 70 61 6e 79 25 2c  |ata(q%,company%,|
00003c50  33 2c 63 5f 61 64 72 33  24 2c 2d 31 29 0d 16 12  |3,c_adr3$,-1)...|
00003c60  31 20 20 20 20 20 20 f2  69 63 6f 6e 5f 70 75 74  |1      .icon_put|
00003c70  64 61 74 61 28 71 25 2c  63 6f 6d 70 61 6e 79 25  |data(q%,company%|
00003c80  2c 34 2c 63 5f 61 64 72  34 24 2c 2d 31 29 0d 16  |,4,c_adr4$,-1)..|
00003c90  1c 31 20 20 20 20 20 20  f2 69 63 6f 6e 5f 70 75  |.1      .icon_pu|
00003ca0  74 64 61 74 61 28 71 25  2c 63 6f 6d 70 61 6e 79  |tdata(q%,company|
00003cb0  25 2c 35 2c 63 5f 70 6f  73 74 24 2c 2d 31 29 0d  |%,5,c_post$,-1).|
00003cc0  16 26 31 20 20 20 20 20  20 f2 69 63 6f 6e 5f 70  |.&1      .icon_p|
00003cd0  75 74 64 61 74 61 28 71  25 2c 63 6f 6d 70 61 6e  |utdata(q%,compan|
00003ce0  79 25 2c 36 2c 63 5f 74  65 6c 65 24 2c 2d 31 29  |y%,6,c_tele$,-1)|
00003cf0  0d 16 30 30 20 20 20 20  20 20 f2 69 63 6f 6e 5f  |..00      .icon_|
00003d00  70 75 74 64 61 74 61 28  71 25 2c 63 6f 6d 70 61  |putdata(q%,compa|
00003d10  6e 79 25 2c 37 2c 63 5f  66 61 78 24 2c 2d 31 29  |ny%,7,c_fax$,-1)|
00003d20  0d 16 3a 31 20 20 20 20  20 20 f2 69 63 6f 6e 5f  |..:1      .icon_|
00003d30  70 75 74 64 61 74 61 28  71 25 2c 63 6f 6d 70 61  |putdata(q%,compa|
00003d40  6e 79 25 2c 38 2c 63 5f  61 63 63 6e 24 2c 2d 31  |ny%,8,c_accn$,-1|
00003d50  29 0d 16 44 11 20 20 20  20 20 20 66 6f 75 6e 64  |)..D.      found|
00003d60  3d b9 0d 16 4e 0a 20 20  20 20 20 cd 0d 16 58 09  |=...N.     ...X.|
00003d70  20 20 20 20 cd 0d 16 62  0a 20 20 20 ed 20 72 0d  |    ...b.   . r.|
00003d80  16 6c 0f 20 20 20 70 61  79 3d 70 61 79 31 0d 16  |.l.   pay=pay1..|
00003d90  76 07 20 20 cd 0d 16 80  0b 20 20 69 63 25 3d 37  |v.  .....  ic%=7|
00003da0  0d 16 8a 06 20 cd 0d 16  94 21 20 e7 20 28 69 63  |.... ....! . (ic|
00003db0  25 2d 36 29 20 83 20 35  20 3d 20 30 20 80 20 69  |%-6) . 5 = 0 . i|
00003dc0  63 25 3c 3e 31 20 8c 0d  16 9e 2a 20 20 74 31 3d  |c%<>1 ....*  t1=|
00003dd0  bb 28 a4 69 63 6f 6e 5f  67 65 74 64 61 74 61 28  |.(.icon_getdata(|
00003de0  71 25 2c 6f 72 64 65 72  25 2c 69 63 25 2d 31 29  |q%,order%,ic%-1)|
00003df0  29 0d 16 a8 2a 20 20 74  32 3d bb 28 a4 69 63 6f  |)...*  t2=.(.ico|
00003e00  6e 5f 67 65 74 64 61 74  61 28 71 25 2c 6f 72 64  |n_getdata(q%,ord|
00003e10  65 72 25 2c 69 63 25 2d  32 29 29 0d 16 b2 2e 20  |er%,ic%-2)).... |
00003e20  20 f2 69 63 6f 6e 5f 70  75 74 64 61 74 61 28 71  | .icon_putdata(q|
00003e30  25 2c 6f 72 64 65 72 25  2c 69 63 25 2c c3 28 74  |%,order%,ic%,.(t|
00003e40  31 2a 74 32 29 2c 2d 31  29 0d 16 bc 0d 20 20 74  |1*t2),-1)....  t|
00003e50  6f 74 61 6c 3d 30 0d 16  c6 45 20 20 e3 20 6f 72  |otal=0...E  . or|
00003e60  64 3d 31 20 b8 20 31 30  3a 74 6f 74 61 6c 2b 3d  |d=1 . 10:total+=|
00003e70  bb 28 a4 69 63 6f 6e 5f  67 65 74 64 61 74 61 28  |.(.icon_getdata(|
00003e80  71 25 2c 6f 72 64 65 72  25 2c 36 2b 28 35 2a 6f  |q%,order%,6+(5*o|
00003e90  72 64 29 29 29 3a ed 20  6f 72 64 0d 16 d0 2b 20  |rd))):. ord...+ |
00003ea0  20 f2 69 63 6f 6e 5f 70  75 74 64 61 74 61 28 71  | .icon_putdata(q|
00003eb0  25 2c 6f 72 64 65 72 25  2c 35 38 2c c3 74 6f 74  |%,order%,58,.tot|
00003ec0  61 6c 2c 2d 31 29 0d 16  da 1d 20 20 69 63 25 2b  |al,-1)....  ic%+|
00003ed0  3d 31 3a e7 20 69 63 25  3d 35 37 20 8c 20 69 63  |=1:. ic%=57 . ic|
00003ee0  25 3d 37 0d 16 e4 06 20  cd 0d 16 ee 23 20 c9 20  |%=7.... ....# . |
00003ef0  26 31 38 46 3a 69 63 25  2d 3d 31 3a e7 20 69 63  |&18F:ic%-=1:. ic|
00003f00  25 3d 36 20 8c 20 69 63  25 3d 35 36 0d 16 f8 1f  |%=6 . ic%=56....|
00003f10  20 e7 20 28 69 63 25 2d  36 29 20 83 20 35 20 3d  | . (ic%-6) . 5 =|
00003f20  20 30 20 8c 20 69 63 25  2d 3d 31 0d 17 02 05 cb  | 0 . ic%-=1.....|
00003f30  0d 17 0c 2e f2 63 61 72  65 74 5f 73 65 74 70 6f  |.....caret_setpo|
00003f40  73 69 74 69 6f 6e 28 6f  72 64 65 72 25 2c 69 63  |sition(order%,ic|
00003f50  25 2c 2d 31 2c 2d 31 2c  2d 31 2c 2d 31 29 0d 17  |%,-1,-1,-1,-1)..|
00003f60  16 05 e1 0d 17 20 04 0d  17 2a 4c f4 20 2d 2d 2d  |..... ...*L. ---|
00003f70  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003fb0  2d 2d 2d 0d 17 34 0e f4  20 49 43 4f 4e 20 42 41  |---..4.. ICON BA|
00003fc0  52 0d 17 3e 4c f4 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |R..>L. ---------|
00003fd0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004000  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0d 17 48  |-------------..H|
00004010  04 0d 17 52 22 dd 20 f2  63 6c 69 63 6b 69 63 6f  |...R". .clickico|
00004020  6e 62 61 72 28 62 75 74  74 6f 6e 25 2c 69 63 6f  |nbar(button%,ico|
00004030  6e 25 29 0d 17 5c 11 e7  20 69 63 6f 6e 25 3c 30  |n%)..\.. icon%<0|
00004040  20 8c 20 e1 0d 17 66 10  c8 8e 20 62 75 74 74 6f  | . ...f... butto|
00004050  6e 25 20 ca 0d 17 70 28  20 c9 20 32 3a e7 20 69  |n% ...p( . 2:. i|
00004060  63 6f 6e 25 3d 62 61 72  69 63 6f 6e 20 8c 20 f2  |con%=baricon . .|
00004070  6d 65 6e 75 5f 62 61 72  69 63 6f 6e 0d 17 7a 17  |menu_baricon..z.|
00004080  20 c9 20 34 3a e7 20 ac  20 6f 72 64 65 72 69 6e  | . 4:. . orderin|
00004090  67 20 8c 0d 17 84 26 20  20 f2 69 63 6f 6e 5f 70  |g ....&  .icon_p|
000040a0  75 74 64 61 74 61 28 71  25 2c 6f 72 64 65 72 25  |utdata(q%,order%|
000040b0  2c 31 2c 22 22 2c 2d 31  29 0d 17 8e 35 20 20 e3  |,1,"",-1)...5  .|
000040c0  20 69 3d 37 20 b8 20 35  36 3a f2 69 63 6f 6e 5f  | i=7 . 56:.icon_|
000040d0  70 75 74 64 61 74 61 28  71 25 2c 6f 72 64 65 72  |putdata(q%,order|
000040e0  25 2c 69 2c 22 22 2c 2d  31 29 3a ed 20 69 0d 17  |%,i,"",-1):. i..|
000040f0  98 27 20 20 f2 69 63 6f  6e 5f 70 75 74 64 61 74  |.'  .icon_putdat|
00004100  61 28 71 25 2c 6f 72 64  65 72 25 2c 35 38 2c 22  |a(q%,order%,58,"|
00004110  22 2c 2d 31 29 0d 17 a2  2f 20 20 6e 75 6c 6c 25  |",-1).../  null%|
00004120  3d a4 6e 65 77 73 70 72  69 74 65 28 71 25 2c 6f  |=.newsprite(q%,o|
00004130  72 64 65 72 25 2c 36 32  2c 22 62 6c 61 6e 6b 22  |rder%,62,"blank"|
00004140  2c 2d 31 29 0d 17 ac 38  20 20 70 61 79 3d 31 3a  |,-1)...8  pay=1:|
00004150  f2 69 63 6f 6e 5f 70 75  74 64 61 74 61 28 71 25  |.icon_putdata(q%|
00004160  2c 6f 72 64 65 72 25 2c  35 39 2c 70 61 79 6d 65  |,order%,59,payme|
00004170  6e 74 24 28 70 61 79 29  2c 2d 31 29 0d 17 b6 37  |nt$(pay),-1)...7|
00004180  20 20 f2 6f 70 65 6e 77  69 6e 64 6f 77 28 6f 72  |  .openwindow(or|
00004190  64 65 72 25 2c a3 2c 2d  31 29 3a 72 65 63 6f 72  |der%,.,-1):recor|
000041a0  64 3d 28 28 a2 23 63 6f  6d 70 29 2f 31 31 34 34  |d=((.#comp)/1144|
000041b0  29 2b 31 0d 17 c0 36 20  20 e3 20 69 3d 30 20 b8  |)+1...6  . i=0 .|
000041c0  20 38 3a f2 69 63 6f 6e  5f 70 75 74 64 61 74 61  | 8:.icon_putdata|
000041d0  28 71 25 2c 63 6f 6d 70  61 6e 79 25 2c 69 2c 22  |(q%,company%,i,"|
000041e0  22 2c 2d 31 29 3a ed 20  69 0d 17 ca 2e 20 20 f2  |",-1):. i....  .|
000041f0  63 61 72 65 74 5f 73 65  74 70 6f 73 69 74 69 6f  |caret_setpositio|
00004200  6e 28 6f 72 64 65 72 25  2c 31 2c 2d 31 2c 2d 31  |n(order%,1,-1,-1|
00004210  2c 2d 31 2c 2d 31 29 0d  17 d4 10 20 20 6f 72 64  |,-1,-1)....  ord|
00004220  65 72 69 6e 67 3d b9 0d  17 de 06 20 cd 0d 17 e8  |ering=..... ....|
00004230  20 20 c9 20 31 3a f2 6f  70 65 6e 77 69 6e 64 6f  |  . 1:.openwindo|
00004240  77 28 75 73 65 72 25 2c  a3 2c 2d 31 29 0d 17 f2  |w(user%,.,-1)...|
00004250  2c 20 f2 63 61 72 65 74  5f 73 65 74 70 6f 73 69  |, .caret_setposi|
00004260  74 69 6f 6e 28 75 73 65  72 25 2c 31 2c 2d 31 2c  |tion(user%,1,-1,|
00004270  2d 31 2c 2d 31 2c 2d 31  29 0d 17 fc 11 20 e3 20  |-1,-1,-1).... . |
00004280  63 61 72 64 3d 31 20 b8  20 33 0d 18 06 3a 20 20  |card=1 . 3...:  |
00004290  74 65 6d 70 24 3d a4 69  63 6f 6e 5f 67 65 74 64  |temp$=.icon_getd|
000042a0  61 74 61 28 71 25 2c 75  73 65 72 25 2c 28 28 63  |ata(q%,user%,((c|
000042b0  61 72 64 2d 31 29 2a 35  29 2b 38 29 3a 66 6f 75  |ard-1)*5)+8):fou|
000042c0  6e 64 3d a3 0d 18 10 12  20 20 e7 20 74 65 6d 70  |nd=.....  . temp|
000042d0  24 3d 22 22 20 8c 0d 18  1a 3c 20 20 20 6e 75 6c  |$="" ....<   nul|
000042e0  6c 25 3d a4 6e 65 77 73  70 72 69 74 65 28 71 25  |l%=.newsprite(q%|
000042f0  2c 75 73 65 72 25 2c 63  61 72 64 2b 32 32 2c 22  |,user%,card+22,"|
00004300  62 6c 61 6e 6b 22 2c 2d  31 29 3a 66 6f 75 6e 64  |blank",-1):found|
00004310  3d b9 0d 18 24 07 20 20  cd 0d 18 2e 0f 20 20 e3  |=...$.  .....  .|
00004320  20 63 3d 31 20 b8 20 36  0d 18 38 25 20 20 20 e7  | c=1 . 6..8%   .|
00004330  20 63 61 72 64 24 28 63  2c 31 29 3d 74 65 6d 70  | card$(c,1)=temp|
00004340  24 20 80 20 ac 20 66 6f  75 6e 64 20 8c 0d 18 42  |$ . . found ...B|
00004350  23 20 20 20 20 70 69 63  74 5f 69 63 6f 6e 3d 28  |#    pict_icon=(|
00004360  63 61 72 64 2b 32 32 29  3a 66 6f 75 6e 64 3d b9  |card+22):found=.|
00004370  0d 18 4c 3a 20 20 20 20  6e 75 6c 6c 25 3d a4 6e  |..L:    null%=.n|
00004380  65 77 73 70 72 69 74 65  28 71 25 2c 75 73 65 72  |ewsprite(q%,user|
00004390  25 2c 70 69 63 74 5f 69  63 6f 6e 2c 63 61 72 64  |%,pict_icon,card|
000043a0  24 28 63 2c 32 29 2c 2d  31 29 0d 18 56 08 20 20  |$(c,2),-1)..V.  |
000043b0  20 cd 0d 18 60 09 20 20  ed 20 63 0d 18 6a 11 20  | ...`.  . c..j. |
000043c0  20 e7 20 ac 20 66 6f 75  6e 64 20 8c 0d 18 74 22  | . . found ...t"|
000043d0  20 20 20 70 69 63 74 5f  69 63 6f 6e 3d 28 63 61  |   pict_icon=(ca|
000043e0  72 64 2b 32 32 29 3a 66  6f 75 6e 64 3d b9 0d 18  |rd+22):found=...|
000043f0  7e 3b 20 20 20 6e 75 6c  6c 25 3d a4 6e 65 77 73  |~;   null%=.news|
00004400  70 72 69 74 65 28 71 25  2c 75 73 65 72 25 2c 70  |prite(q%,user%,p|
00004410  69 63 74 5f 69 63 6f 6e  2c 22 63 72 65 64 69 74  |ict_icon,"credit|
00004420  63 61 72 64 22 2c 2d 31  29 0d 18 88 07 20 20 cd  |card",-1)....  .|
00004430  0d 18 92 0b 20 ed 20 63  61 72 64 0d 18 9c 05 cb  |.... . card.....|
00004440  0d 18 a6 05 e1 0d 18 b0  04 0d 18 ba 13 dd 20 f2  |.............. .|
00004450  6d 65 6e 75 5f 62 61 72  69 63 6f 6e 0d 18 c4 11  |menu_baricon....|
00004460  6e 6f 3d 30 3a c8 97 20  78 2c 79 2c 62 0d 18 ce  |no=0:.. x,y,b...|
00004470  35 f2 6d 65 6e 75 5f 6f  70 74 28 22 49 6e 66 6f  |5.menu_opt("Info|
00004480  22 2c 6e 6f 2c 30 2c 30  2c 30 2c 30 2c 26 31 30  |",no,0,0,0,0,&10|
00004490  30 32 31 2c 69 6e 66 6f  25 2c 30 29 3a 6e 6f 2b  |021,info%,0):no+|
000044a0  3d 31 0d 18 d8 3a f2 6d  65 6e 75 5f 6f 70 74 28  |=1...:.menu_opt(|
000044b0  22 51 75 69 74 22 2c 6e  6f 2c 30 2c 30 2c 30 2c  |"Quit",no,0,0,0,|
000044c0  30 2c 26 31 30 30 32 31  2c 30 2c 2d 31 29 3a 6e  |0,&10021,0,-1):n|
000044d0  6f 2b 3d 31 3a 6d 61 69  6e 3d 6e 6f 0d 18 e2 34  |o+=1:main=no...4|
000044e0  f2 63 72 65 61 74 65 5f  6d 65 6e 75 28 22 4f 72  |.create_menu("Or|
000044f0  64 65 72 73 22 2c 6e 6f  2c 32 30 30 2c 78 2d 36  |ders",no,200,x-6|
00004500  34 2c 31 31 36 2b 28 6d  61 69 6e 2a 34 30 29 29  |4,116+(main*40))|
00004510  0d 18 ec 18 63 6c 61 69  6d 6d 65 6e 75 24 3d 22  |....claimmenu$="|
00004520  62 61 72 69 63 6f 6e 22  0d 18 f6 05 e1 0d 19 00  |baricon"........|
00004530  04 0d 19 0a 19 dd 20 a4  6d 65 6e 75 73 65 6c 65  |...... .menusele|
00004540  63 74 5f 62 61 72 69 63  6f 6e 0d 19 14 13 ea 20  |ct_baricon..... |
00004550  6c 65 76 65 6c 30 2c 6c  65 76 65 6c 31 0d 19 1e  |level0,level1...|
00004560  1b 6c 65 76 65 6c 30 3d  71 25 21 30 3a 6c 65 76  |.level0=q%!0:lev|
00004570  65 6c 31 3d 71 25 21 34  0d 19 28 0f c8 8e 20 6c  |el1=q%!4..(... l|
00004580  65 76 65 6c 30 20 ca 0d  19 32 14 20 c9 20 31 3a  |evel0 ...2. . 1:|
00004590  63 6c 6f 73 65 64 6f 77  6e 3d b9 0d 19 3c 05 cb  |closedown=...<..|
000045a0  0d 19 46 06 3d 30 0d 19  50 04 0d 19 5a 4c f4 20  |..F.=0..P...ZL. |
000045b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000045f0  2d 2d 2d 2d 2d 2d 0d 19  64 4c f4 20 47 45 4e 45  |------..dL. GENE|
00004600  52 41 4c 20 50 55 52 50  4f 53 45 20 52 4f 55 54  |RAL PURPOSE ROUT|
00004610  49 4e 45 53 20 2d 20 44  4f 20 4e 4f 54 20 41 4c  |INES - DO NOT AL|
00004620  54 45 52 20 41 4e 59 54  48 49 4e 47 20 49 4e 20  |TER ANYTHING IN |
00004630  54 48 49 53 20 53 45 43  54 49 4f 4e 20 21 21 21  |THIS SECTION !!!|
00004640  21 21 0d 19 6e 4c f4 20  2d 2d 2d 2d 2d 2d 2d 2d  |!!..nL. --------|
00004650  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004680  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0d 19  |--------------..|
00004690  78 04 0d 19 82 4c f4 20  2d 2d 2d 2d 2d 2d 2d 2d  |x....L. --------|
000046a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000046d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0d 19  |--------------..|
000046e0  8c 30 f4 20 54 45 4d 50  4c 41 54 45 20 46 49 4c  |.0. TEMPLATE FIL|
000046f0  45 20 41 4e 44 20 57 49  4e 44 4f 57 20 48 41 4e  |E AND WINDOW HAN|
00004700  44 4c 49 4e 47 20 52 4f  55 54 49 4e 45 53 0d 19  |DLING ROUTINES..|
00004710  96 4c f4 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.L. ------------|
00004720  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004750  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 19 a0 04 0d 19  |----------......|
00004760  aa 1e dd 20 f2 6f 70 65  6e 74 65 6d 70 6c 61 74  |... .opentemplat|
00004770  65 66 69 6c 65 28 66 69  6c 65 24 29 0d 19 b4 21  |efile(file$)...!|
00004780  c8 99 20 22 57 69 6d 70  5f 4f 70 65 6e 54 65 6d  |.. "Wimp_OpenTem|
00004790  70 6c 61 74 65 22 2c 2c  66 69 6c 65 24 0d 19 be  |plate",,file$...|
000047a0  05 e1 0d 19 c8 04 0d 19  d2 1a dd 20 f2 6c 6f 61  |........... .loa|
000047b0  64 74 65 6d 70 6c 61 74  65 28 6e 61 6d 65 24 29  |dtemplate(name$)|
000047c0  0d 19 dc 13 ea 20 74 79  70 65 25 2c 70 6f 73 25  |..... type%,pos%|
000047d0  2c 78 25 0d 19 e6 4c c8  99 20 22 57 69 6d 70 5f  |,x%...L.. "Wimp_|
000047e0  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 71  |LoadTemplate",,q|
000047f0  25 2c 69 70 74 72 25 2c  69 65 6e 64 25 2c 2d 31  |%,iptr%,iend%,-1|
00004800  2c 6e 61 6d 65 24 2c 30  20 b8 20 74 79 70 65 25  |,name$,0 . type%|
00004810  2c 2c 69 70 74 72 25 2c  2c 2c 2c 70 6f 73 25 0d  |,,iptr%,,,,pos%.|
00004820  19 f0 0c 71 25 21 36 34  3d 73 70 0d 19 fa 05 e1  |...q%!64=sp.....|
00004830  0d 1a 04 04 0d 1a 0e 18  dd 20 f2 63 6c 6f 73 65  |......... .close|
00004840  74 65 6d 70 6c 61 74 65  66 69 6c 65 0d 1a 18 1b  |templatefile....|
00004850  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 54 65  |.. "Wimp_CloseTe|
00004860  6d 70 6c 61 74 65 22 0d  1a 22 05 e1 0d 1a 2c 04  |mplate".."....,.|
00004870  0d 1a 36 1c dd 20 f2 72  65 64 72 61 77 77 69 6e  |..6.. .redrawwin|
00004880  64 6f 77 28 68 61 6e 64  6c 65 25 29 0d 1a 40 0b  |dow(handle%)..@.|
00004890  ea 20 76 6f 69 64 25 0d  1a 4a 10 71 25 21 30 3d  |. void%..J.q%!0=|
000048a0  68 61 6e 64 6c 65 25 0d  1a 54 27 c8 99 20 22 57  |handle%..T'.. "W|
000048b0  69 6d 70 5f 52 65 64 72  61 77 57 69 6e 64 6f 77  |imp_RedrawWindow|
000048c0  22 2c 30 2c 71 25 20 b8  20 6d 6f 72 65 25 0d 1a  |",0,q% . more%..|
000048d0  5e 1c f2 6c 77 61 6f 72  69 67 69 6e 28 71 25 2b  |^..lwaorigin(q%+|
000048e0  34 2c 78 30 25 2c 79 30  25 29 0d 1a 68 0c c8 95  |4,x0%,y0%)..h...|
000048f0  20 6d 6f 72 65 25 0d 1a  72 1f 20 c8 99 20 22 57  | more%..r. .. "W|
00004900  69 6d 70 5f 42 6f 72 64  65 72 57 69 6e 64 6f 77  |imp_BorderWindow|
00004910  22 2c 2c 71 25 0d 1a 7c  28 20 c8 99 20 22 57 69  |",,q%..|( .. "Wi|
00004920  6d 70 5f 47 65 74 52 65  63 74 61 6e 67 6c 65 22  |mp_GetRectangle"|
00004930  2c 30 2c 71 25 20 b8 20  6d 6f 72 65 25 0d 1a 86  |,0,q% . more%...|
00004940  05 ce 0d 1a 90 05 e1 0d  1a 9a 04 0d 1a a4 1d dd  |................|
00004950  20 f2 6c 77 61 6f 72 69  67 69 6e 28 62 2c f8 20  | .lwaorigin(b,. |
00004960  78 25 2c f8 20 79 25 29  0d 1a ae 1c 78 25 3d 62  |x%,. y%)....x%=b|
00004970  21 30 2d 62 21 31 36 3a  79 25 3d 62 21 31 32 2d  |!0-b!16:y%=b!12-|
00004980  62 21 32 30 0d 1a b8 05  e1 0d 1a c2 04 0d 1a cc  |b!20............|
00004990  27 dd 20 f2 6f 70 65 6e  77 69 6e 64 6f 77 28 68  |'. .openwindow(h|
000049a0  61 6e 64 6c 65 25 2c 66  75 6c 6c 25 2c 66 72 6f  |andle%,full%,fro|
000049b0  6e 74 25 29 0d 1a d6 10  71 25 21 30 3d 68 61 6e  |nt%)....q%!0=han|
000049c0  64 6c 65 25 0d 1a e0 2d  e7 20 ac 20 66 75 6c 6c  |dle%...-. . full|
000049d0  25 20 8c 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |% . .. "Wimp_Get|
000049e0  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 30 2c 71  |WindowState",0,q|
000049f0  25 0d 1a ea 17 e7 20 66  72 6f 6e 74 25 20 8c 20  |%..... front% . |
00004a00  71 25 21 32 38 3d 2d 31  0d 1a f4 1d c8 99 20 22  |q%!28=-1...... "|
00004a10  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
00004a20  2c 30 2c 71 25 0d 1a fe  05 e1 0d 1b 08 04 0d 1b  |,0,q%...........|
00004a30  12 1b dd 20 f2 63 6c 6f  73 65 77 69 6e 64 6f 77  |... .closewindow|
00004a40  28 68 61 6e 64 6c 65 25  29 0d 1b 1c 2d e7 20 68  |(handle%)...-. h|
00004a50  61 6e 64 6c 65 25 3d 6f  72 64 65 72 25 20 8c 20  |andle%=order% . |
00004a60  6f 72 64 65 72 69 6e 67  3d a3 3a 73 65 61 72 63  |ordering=.:searc|
00004a70  68 69 6e 67 3d a3 0d 1b  26 10 71 25 21 30 3d 68  |hing=...&.q%!0=h|
00004a80  61 6e 64 6c 65 25 0d 1b  30 1e c8 99 20 22 57 69  |andle%..0... "Wi|
00004a90  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
00004aa0  30 2c 71 25 0d 1b 3a 05  e1 0d 1b 44 04 0d 1b 4e  |0,q%..:....D...N|
00004ab0  28 dd 20 f2 77 69 6e 64  6f 77 5f 72 65 74 69 74  |(. .window_retit|
00004ac0  6c 65 28 62 2c 77 68 61  6e 64 6c 65 25 2c 74 69  |le(b,whandle%,ti|
00004ad0  74 6c 65 24 29 0d 1b 58  0b ea 20 77 6f 62 6c 6b  |tle$)..X.. woblk|
00004ae0  0d 1b 62 0d de 20 77 6f  62 6c 6b 20 35 0d 1b 6c  |..b.. woblk 5..l|
00004af0  10 62 21 30 3d 77 68 61  6e 64 6c 65 25 0d 1b 76  |.b!0=whandle%..v|
00004b00  1e c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  |... "Wimp_GetWin|
00004b10  64 6f 77 49 6e 66 6f 22  2c 2c 62 0d 1b 80 15 24  |dowInfo",,b....$|
00004b20  28 21 28 62 2b 37 36 29  29 3d 74 69 74 6c 65 24  |(!(b+76))=title$|
00004b30  0d 1b 8a 14 77 6f 62 6c  6b 21 30 3d 77 68 61 6e  |....woblk!0=whan|
00004b40  64 6c 65 25 0d 1b 94 25  c8 99 20 22 57 69 6d 70  |dle%...%.. "Wimp|
00004b50  5f 47 65 74 57 69 6e 64  6f 77 4f 75 74 6c 69 6e  |_GetWindowOutlin|
00004b60  65 22 2c 2c 77 6f 62 6c  6b 0d 1b 9e 44 c8 99 20  |e",,woblk...D.. |
00004b70  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
00004b80  77 22 2c 2d 31 2c 77 6f  62 6c 6b 21 34 2c 28 77  |w",-1,woblk!4,(w|
00004b90  6f 62 6c 6b 21 31 36 29  2d 34 30 2c 77 6f 62 6c  |oblk!16)-40,wobl|
00004ba0  6b 21 31 32 2c 77 6f 62  6c 6b 21 31 36 0d 1b a8  |k!12,woblk!16...|
00004bb0  05 e1 0d 1b b2 04 0d 1b  bc 4c f4 20 2d 2d 2d 2d  |.........L. ----|
00004bc0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004c00  2d 2d 0d 1b c6 1c f4 20  49 43 4f 4e 20 48 41 4e  |--..... ICON HAN|
00004c10  44 4c 49 4e 47 20 52 4f  55 54 49 4e 45 53 0d 1b  |DLING ROUTINES..|
00004c20  d0 4c f4 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.L. ------------|
00004c30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004c60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 1b da 04 0d 1b  |----------......|
00004c70  e4 1c dd 20 a4 63 72 65  61 74 65 5f 69 63 6f 6e  |... .create_icon|
00004c80  28 73 24 2c 6e 25 2c 74  24 29 0d 1b ee 09 ea 20  |(s$,n%,t$)..... |
00004c90  69 63 25 0d 1b f8 18 ea  73 78 25 2c 73 79 25 2c  |ic%.....sx%,sy%,|
00004ca0  73 6d 25 2c 70 78 25 2c  70 79 25 0d 1c 02 2e c8  |sm%,px%,py%.....|
00004cb0  99 22 57 69 6d 70 5f 53  70 72 69 74 65 4f 70 22  |."Wimp_SpriteOp"|
00004cc0  2c 34 30 2c 2c 73 24 20  b8 20 2c 2c 2c 73 78 25  |,40,,s$ . ,,,sx%|
00004cd0  2c 73 79 25 2c 2c 73 6d  25 0d 1c 0c 36 c8 99 22  |,sy%,,sm%...6.."|
00004ce0  4f 53 5f 52 65 61 64 4d  6f 64 65 56 61 72 69 61  |OS_ReadModeVaria|
00004cf0  62 6c 65 22 2c 73 6d 25  2c 34 20 b8 20 2c 2c 70  |ble",sm%,4 . ,,p|
00004d00  78 25 3a 73 78 25 3d 73  78 25 3c 3c 70 78 25 0d  |x%:sx%=sx%<<px%.|
00004d10  1c 16 36 c8 99 22 4f 53  5f 52 65 61 64 4d 6f 64  |..6.."OS_ReadMod|
00004d20  65 56 61 72 69 61 62 6c  65 22 2c 73 6d 25 2c 35  |eVariable",sm%,5|
00004d30  20 b8 20 2c 2c 70 79 25  3a 73 79 25 3d 73 79 25  | . ,,py%:sy%=sy%|
00004d40  3c 3c 70 79 25 0d 1c 20  1d e7 20 a9 74 24 2a 31  |<<py%.. .. .t$*1|
00004d50  36 3e 73 78 25 20 8c 20  73 78 25 3d a9 74 24 2a  |6>sx% . sx%=.t$*|
00004d60  31 36 0d 1c 2a 1b 24 28  73 70 72 69 74 65 25 2b  |16..*.$(sprite%+|
00004d70  31 35 2a 6e 25 29 3d 22  53 22 2b 73 24 0d 1c 34  |15*n%)="S"+s$..4|
00004d80  15 24 28 74 65 78 74 25  2b 31 35 2a 6e 25 29 3d  |.$(text%+15*n%)=|
00004d90  74 24 0d 1c 3e 46 21 71  25 3d 2d 31 3a 71 25 21  |t$..>F!q%=-1:q%!|
00004da0  34 3d 30 3a 71 25 21 38  3d 2d 31 36 3a 71 25 21  |4=0:q%!8=-16:q%!|
00004db0  31 32 3d 71 25 21 34 2b  73 78 25 3a 71 25 21 31  |12=q%!4+sx%:q%!1|
00004dc0  36 3d 32 30 2b 73 79 25  3a 71 25 21 32 30 3d 26  |6=20+sy%:q%!20=&|
00004dd0  31 37 30 30 33 31 30 42  0d 1c 48 33 71 25 21 32  |1700310B..H3q%!2|
00004de0  34 3d 74 65 78 74 25 2b  31 35 2a 6e 25 3a 71 25  |4=text%+15*n%:q%|
00004df0  21 32 38 3d 73 70 72 69  74 65 25 2b 31 35 2a 6e  |!28=sprite%+15*n|
00004e00  25 3a 71 25 21 33 32 3d  a9 74 24 0d 1c 52 21 c8  |%:q%!32=.t$..R!.|
00004e10  99 22 57 69 6d 70 5f 43  72 65 61 74 65 49 63 6f  |."Wimp_CreateIco|
00004e20  6e 22 2c 2c 71 25 20 b8  20 69 63 25 0d 1c 5c 08  |n",,q% . ic%..\.|
00004e30  3d 69 63 25 0d 1c 66 04  0d 1c 70 35 dd 20 a4 6e  |=ic%..f...p5. .n|
00004e40  65 77 73 70 72 69 74 65  28 62 2c 77 68 61 6e 64  |ewsprite(b,whand|
00004e50  6c 65 25 2c 69 68 61 6e  64 6c 65 25 2c 6e 65 77  |le%,ihandle%,new|
00004e60  6e 61 6d 65 24 2c 72 65  64 72 61 77 29 0d 1c 7a  |name$,redraw)..z|
00004e70  1d 62 21 30 3d 77 68 61  6e 64 6c 65 25 3a 62 21  |.b!0=whandle%:b!|
00004e80  34 3d 69 68 61 6e 64 6c  65 25 0d 1c 84 1d c8 99  |4=ihandle%......|
00004e90  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
00004ea0  61 74 65 22 2c 2c 62 0d  1c 8e 1b c8 99 20 22 57  |ate",,b...... "W|
00004eb0  69 6d 70 5f 44 65 6c 65  74 65 49 63 6f 6e 22 2c  |imp_DeleteIcon",|
00004ec0  2c 62 0d 1c 98 43 62 21  34 3d 62 21 38 3a 62 21  |,b...Cb!4=b!8:b!|
00004ed0  38 3d 62 21 31 32 3a 62  21 31 32 3d 62 21 31 36  |8=b!12:b!12=b!16|
00004ee0  3a 62 21 31 36 3d 62 21  32 30 3a 62 21 32 30 3d  |:b!16=b!20:b!20=|
00004ef0  62 21 32 34 3a 24 28 62  2b 32 34 29 3d 6e 65 77  |b!24:$(b+24)=new|
00004f00  6e 61 6d 65 24 0d 1c a2  26 c8 99 20 22 57 69 6d  |name$...&.. "Wim|
00004f10  70 5f 43 72 65 61 74 65  49 63 6f 6e 22 2c 2c 62  |p_CreateIcon",,b|
00004f20  20 b8 20 69 68 61 6e 64  6c 65 25 0d 1c ac 3a e7  | . ihandle%...:.|
00004f30  20 72 65 64 72 61 77 20  8c 20 c8 99 20 22 57 69  | redraw . .. "Wi|
00004f40  6d 70 5f 46 6f 72 63 65  52 65 64 72 61 77 22 2c  |mp_ForceRedraw",|
00004f50  62 21 30 2c 62 21 34 2c  62 21 38 2c 62 21 31 32  |b!0,b!4,b!8,b!12|
00004f60  2c 62 21 31 36 0d 1c b6  0d 3d 69 68 61 6e 64 6c  |,b!16....=ihandl|
00004f70  65 25 0d 1c c0 04 0d 1c  ca 27 dd 20 f2 69 63 6f  |e%.......'. .ico|
00004f80  6e 5f 70 75 74 64 61 74  61 28 62 2c 77 68 25 2c  |n_putdata(b,wh%,|
00004f90  69 68 25 2c 74 65 78 74  24 2c 72 64 29 0d 1c d4  |ih%,text$,rd)...|
00004fa0  13 62 21 30 3d 77 68 25  3a 62 21 34 3d 69 68 25  |.b!0=wh%:b!4=ih%|
00004fb0  0d 1c de 1d c8 99 20 22  57 69 6d 70 5f 47 65 74  |...... "Wimp_Get|
00004fc0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 62 0d 1c e8  |IconState",,b...|
00004fd0  1b c8 99 20 22 57 69 6d  70 5f 44 65 6c 65 74 65  |... "Wimp_Delete|
00004fe0  49 63 6f 6e 22 2c 2c 62  0d 1c f2 1e 62 21 34 3d  |Icon",,b....b!4=|
00004ff0  77 68 25 3a 24 28 62 21  32 38 29 3d 74 65 78 74  |wh%:$(b!28)=text|
00005000  24 3a 62 2b 3d 34 0d 1c  fc 1b c8 99 20 22 57 69  |$:b+=4...... "Wi|
00005010  6d 70 5f 43 72 65 61 74  65 49 63 6f 6e 22 2c 2c  |mp_CreateIcon",,|
00005020  62 0d 1d 06 36 e7 20 72  64 20 8c 20 c8 99 20 22  |b...6. rd . .. "|
00005030  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00005040  22 2c 62 21 30 2c 62 21  34 2c 62 21 38 2c 62 21  |",b!0,b!4,b!8,b!|
00005050  31 32 2c 62 21 31 36 0d  1d 10 08 62 2d 3d 34 0d  |12,b!16....b-=4.|
00005060  1d 1a 05 e1 0d 1d 24 04  0d 1d 2e 1d dd 20 f2 69  |......$...... .i|
00005070  63 6f 6e 5f 64 65 6c 65  74 65 28 62 2c 77 68 25  |con_delete(b,wh%|
00005080  2c 69 68 25 29 0d 1d 38  13 62 21 30 3d 77 68 25  |,ih%)..8.b!0=wh%|
00005090  3a 62 21 34 3d 69 68 25  0d 1d 42 1d c8 99 20 22  |:b!4=ih%..B... "|
000050a0  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
000050b0  65 22 2c 2c 62 0d 1d 4c  1b c8 99 20 22 57 69 6d  |e",,b..L... "Wim|
000050c0  70 5f 44 65 6c 65 74 65  49 63 6f 6e 22 2c 2c 62  |p_DeleteIcon",,b|
000050d0  0d 1d 56 2f c8 99 20 22  57 69 6d 70 5f 46 6f 72  |..V/.. "Wimp_For|
000050e0  63 65 52 65 64 72 61 77  22 2c 62 21 30 2c 62 21  |ceRedraw",b!0,b!|
000050f0  34 2c 62 21 38 2c 62 21  31 32 2c 62 21 31 36 0d  |4,b!8,b!12,b!16.|
00005100  1d 60 08 62 2d 3d 34 0d  1d 6a 05 e1 0d 1d 74 04  |.`.b-=4..j....t.|
00005110  0d 1d 7e 29 dd 20 a4 69  63 6f 6e 5f 67 65 74 64  |..~). .icon_getd|
00005120  61 74 61 28 71 25 2c 77  68 61 6e 64 6c 65 25 2c  |ata(q%,whandle%,|
00005130  69 68 61 6e 64 6c 65 25  29 0d 1d 88 11 71 25 21  |ihandle%)....q%!|
00005140  30 3d 77 68 61 6e 64 6c  65 25 0d 1d 92 11 71 25  |0=whandle%....q%|
00005150  21 34 3d 69 68 61 6e 64  6c 65 25 0d 1d 9c 1e c8  |!4=ihandle%.....|
00005160  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00005170  74 61 74 65 22 2c 2c 71  25 0d 1d a6 0d 3d 24 28  |tate",,q%....=$(|
00005180  71 25 21 32 38 29 0d 1d  b0 04 0d 1d ba 46 dd 20  |q%!28).......F. |
00005190  f2 63 61 72 65 74 5f 73  65 74 70 6f 73 69 74 69  |.caret_setpositi|
000051a0  6f 6e 28 77 68 61 6e 64  6c 65 25 2c 69 68 61 6e  |on(whandle%,ihan|
000051b0  64 6c 65 25 2c 78 6f 66  66 25 2c 79 6f 66 66 25  |dle%,xoff%,yoff%|
000051c0  2c 68 65 69 67 68 74 25  2c 69 6e 64 65 78 25 29  |,height%,index%)|
000051d0  0d 1d c4 3f e7 20 69 6e  64 65 78 25 3d 2d 31 20  |...?. index%=-1 |
000051e0  8c 20 69 6e 64 65 78 25  3d a9 28 a4 69 63 6f 6e  |. index%=.(.icon|
000051f0  5f 67 65 74 64 61 74 61  28 71 25 2c 77 68 61 6e  |_getdata(q%,whan|
00005200  64 6c 65 25 2c 69 68 61  6e 64 6c 65 25 29 29 0d  |dle%,ihandle%)).|
00005210  1d ce 4b c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |..K.. "Wimp_SetC|
00005220  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 77 68  |aretPosition",wh|
00005230  61 6e 64 6c 65 25 2c 69  68 61 6e 64 6c 65 25 2c  |andle%,ihandle%,|
00005240  78 6f 66 66 25 2c 79 6f  66 66 25 2c 68 65 69 67  |xoff%,yoff%,heig|
00005250  68 74 25 2c 69 6e 64 65  78 25 0d 1d d8 05 e1 0d  |ht%,index%......|
00005260  1d e2 04 0d 1d ec 4c f4  20 2d 2d 2d 2d 2d 2d 2d  |......L. -------|
00005270  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000052a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0d  |---------------.|
000052b0  1d f6 1e f4 20 4d 45 4e  55 20 43 52 45 41 54 49  |.... MENU CREATI|
000052c0  4f 4e 20 50 52 4f 43 45  44 55 52 45 53 0d 1e 00  |ON PROCEDURES...|
000052d0  4c f4 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |L. -------------|
000052e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005310  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 1e 0a 04 0d 1e 14  |---------.......|
00005320  2b dd 20 f2 6d 65 6e 75  5f 6f 70 74 28 74 65 78  |+. .menu_opt(tex|
00005330  74 24 2c 6e 2c 77 2c 74  2c 64 2c 73 2c 66 6c 61  |t$,n,w,t,d,s,fla|
00005340  67 73 2c 73 6d 2c 6c 29  0d 1e 1e 12 74 65 78 74  |gs,sm,l)....text|
00005350  24 28 6e 29 3d 74 65 78  74 24 0d 1e 28 10 73 65  |$(n)=text$..(.se|
00005360  74 74 69 6e 67 28 6e 29  3d 30 0d 1e 32 38 e7 20  |tting(n)=0..28. |
00005370  77 20 8c 20 73 65 74 74  69 6e 67 28 6e 29 3d 73  |w . setting(n)=s|
00005380  65 74 74 69 6e 67 28 6e  29 20 84 20 26 30 34 3a  |etting(n) . &04:|
00005390  66 6c 61 67 73 3d 66 6c  61 67 73 20 84 20 26 31  |flags=flags . &1|
000053a0  30 30 0d 1e 3c 25 e7 20  74 20 8c 20 73 65 74 74  |00..<%. t . sett|
000053b0  69 6e 67 28 6e 29 3d 73  65 74 74 69 6e 67 28 6e  |ing(n)=setting(n|
000053c0  29 20 84 20 26 30 31 0d  1e 46 25 e7 20 64 20 8c  |) . &01..F%. d .|
000053d0  20 73 65 74 74 69 6e 67  28 6e 29 3d 73 65 74 74  | setting(n)=sett|
000053e0  69 6e 67 28 6e 29 20 84  20 26 30 32 0d 1e 50 25  |ing(n) . &02..P%|
000053f0  e7 20 6c 20 8c 20 73 65  74 74 69 6e 67 28 6e 29  |. l . setting(n)|
00005400  3d 73 65 74 74 69 6e 67  28 6e 29 20 84 20 26 38  |=setting(n) . &8|
00005410  30 0d 1e 5a 1f e7 20 73  20 8c 20 66 6c 61 67 73  |0..Z.. s . flags|
00005420  3d 66 6c 61 67 73 20 84  20 26 34 30 30 30 30 30  |=flags . &400000|
00005430  0d 1e 64 12 66 6c 61 67  73 28 6e 29 3d 66 6c 61  |..d.flags(n)=fla|
00005440  67 73 0d 1e 6e 11 73 75  62 6d 65 6e 75 28 6e 29  |gs..n.submenu(n)|
00005450  3d 73 6d 0d 1e 78 05 e1  0d 1e 82 04 0d 1e 8c 27  |=sm..x.........'|
00005460  dd 20 f2 63 72 65 61 74  65 5f 6d 65 6e 75 28 74  |. .create_menu(t|
00005470  69 74 6c 65 24 2c 6e 2c  77 69 64 74 68 25 2c 78  |itle$,n,width%,x|
00005480  2c 79 29 0d 1e 96 0d 6d  62 25 3d 6d 65 6e 75 25  |,y)....mb%=menu%|
00005490  0d 1e a0 0f 6d 65 6e 75  73 3d 30 3a 71 3d 30 0d  |....menus=0:q=0.|
000054a0  1e aa 05 f5 0d 1e b4 20  20 6d 65 6e 75 70 6f 73  |.......  menupos|
000054b0  28 6d 65 6e 75 73 29 3d  6d 62 25 3a 6d 65 6e 75  |(menus)=mb%:menu|
000054c0  73 2b 3d 31 0d 1e be 10  20 24 6d 62 25 3d 74 69  |s+=1.... $mb%=ti|
000054d0  74 6c 65 24 0d 1e c8 0d  20 6d 62 25 3f 31 32 3d  |tle$.... mb%?12=|
000054e0  37 0d 1e d2 0d 20 6d 62  25 3f 31 33 3d 32 0d 1e  |7.... mb%?13=2..|
000054f0  dc 0d 20 6d 62 25 3f 31  34 3d 37 0d 1e e6 0d 20  |.. mb%?14=7.... |
00005500  6d 62 25 3f 31 35 3d 30  0d 1e f0 12 20 6d 62 25  |mb%?15=0.... mb%|
00005510  21 31 36 3d 77 69 64 74  68 25 0d 1e fa 0e 20 6d  |!16=width%.... m|
00005520  62 25 21 32 30 3d 34 30  0d 1f 04 0d 20 6d 62 25  |b%!20=40.... mb%|
00005530  21 32 34 3d 30 0d 1f 0e  13 20 69 74 65 6d 70 74  |!24=0.... itempt|
00005540  72 3d 6d 62 25 2b 32 38  0d 1f 18 06 20 f5 0d 1f  |r=mb%+28.... ...|
00005550  22 1a 20 20 69 74 65 6d  70 74 72 21 30 3d 73 65  |".  itemptr!0=se|
00005560  74 74 69 6e 67 28 71 29  0d 1f 2c 16 20 20 72 65  |tting(q)..,.  re|
00005570  66 28 71 29 3d 69 74 65  6d 70 74 72 2b 34 0d 1f  |f(q)=itemptr+4..|
00005580  36 28 20 20 69 74 65 6d  70 74 72 21 38 3d 66 6c  |6(  itemptr!8=fl|
00005590  61 67 73 28 71 29 20 84  20 30 3c 3c 32 38 20 84  |ags(q) . 0<<28 .|
000055a0  20 37 3c 3c 32 34 0d 1f  40 1d 20 20 e7 20 28 66  | 7<<24..@.  . (f|
000055b0  6c 61 67 73 28 71 29 20  80 20 26 31 30 30 29 3d  |lags(q) . &100)=|
000055c0  30 20 8c 0d 1f 4a 1d 20  20 20 24 28 69 74 65 6d  |0 ...J.   $(item|
000055d0  70 74 72 2b 31 32 29 3d  74 65 78 74 24 28 71 29  |ptr+12)=text$(q)|
000055e0  0d 1f 54 07 20 20 cc 0d  1f 5e 19 20 20 20 70 6f  |..T.  ...^.   po|
000055f0  73 3d a7 74 65 78 74 24  28 71 29 2c 22 28 22 29  |s=.text$(q),"(")|
00005600  0d 1f 68 25 20 20 20 69  74 65 6d 70 74 72 21 31  |..h%   itemptr!1|
00005610  32 3d a0 28 c0 74 65 78  74 24 28 71 29 2c 70 6f  |2=.(.text$(q),po|
00005620  73 2d 31 29 29 0d 1f 72  14 20 20 20 69 74 65 6d  |s-1))..r.   item|
00005630  70 74 72 21 31 36 3d 2d  31 0d 1f 7c 2f 20 20 20  |ptr!16=-1..|/   |
00005640  69 74 65 6d 70 74 72 21  32 30 3d a0 28 c2 74 65  |itemptr!20=.(.te|
00005650  78 74 24 28 71 29 2c a9  28 74 65 78 74 24 28 71  |xt$(q),.(text$(q|
00005660  29 29 2d 70 6f 73 29 29  0d 1f 86 07 20 20 cd 0d  |))-pos))....  ..|
00005670  1f 90 16 20 20 69 74 65  6d 70 74 72 2b 3d 32 34  |...  itemptr+=24|
00005680  3a 71 2b 3d 31 0d 1f 9a  1d 20 fd 20 28 73 65 74  |:q+=1.... . (set|
00005690  74 69 6e 67 28 71 2d 31  29 20 80 20 26 38 30 29  |ting(q-1) . &80)|
000056a0  3e 30 0d 1f a4 10 20 6d  62 25 3d 69 74 65 6d 70  |>0.... mb%=itemp|
000056b0  74 72 0d 1f ae 22 20 e7  20 71 3c 3e 6e 20 8c 20  |tr..." . q<>n . |
000056c0  74 69 74 6c 65 24 3d 74  65 78 74 24 28 71 29 3a  |title$=text$(q):|
000056d0  71 2b 3d 31 0d 1f b8 09  fd 20 71 3d 6e 0d 1f c2  |q+=1..... q=n...|
000056e0  0f e3 20 71 3d 30 20 b8  20 6e 2d 31 0d 1f cc 28  |.. q=0 . n-1...(|
000056f0  20 e7 20 73 75 62 6d 65  6e 75 28 71 29 3e 30 20  | . submenu(q)>0 |
00005700  80 20 73 75 62 6d 65 6e  75 28 71 29 3c 6d 65 6e  |. submenu(q)<men|
00005710  75 73 20 8c 0d 1f d6 21  20 20 21 72 65 66 28 71  |us ....!  !ref(q|
00005720  29 3d 6d 65 6e 75 70 6f  73 28 73 75 62 6d 65 6e  |)=menupos(submen|
00005730  75 28 71 29 29 0d 1f e0  06 20 cc 0d 1f ea 18 20  |u(q)).... ..... |
00005740  20 21 72 65 66 28 71 29  3d 73 75 62 6d 65 6e 75  | !ref(q)=submenu|
00005750  28 71 29 0d 1f f4 06 20  cd 0d 1f fe 07 ed 20 71  |(q).... ...... q|
00005760  0d 20 08 23 c8 99 20 22  57 69 6d 70 5f 43 72 65  |. .#.. "Wimp_Cre|
00005770  61 74 65 4d 65 6e 75 22  2c 2c 6d 65 6e 75 25 2c  |ateMenu",,menu%,|
00005780  78 2c 79 0d 20 12 05 e1  0d 20 1c 04 0d 20 26 4c  |x,y. .... ... &L|
00005790  f4 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |. --------------|
000057a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000057d0  2d 2d 2d 2d 2d 2d 2d 2d  0d 20 30 1c f4 20 46 49  |--------. 0.. FI|
000057e0  4c 45 20 48 41 4e 44 4c  49 4e 47 20 52 4f 55 54  |LE HANDLING ROUT|
000057f0  49 4e 45 53 0d 20 3a 4c  f4 20 2d 2d 2d 2d 2d 2d  |INES. :L. ------|
00005800  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005840  0d 20 44 04 0d 20 4e 22  dd 20 f2 6c 6f 61 64 5f  |. D.. N". .load_|
00005850  6f 72 64 65 72 5f 64 65  74 61 69 6c 73 28 72 65  |order_details(re|
00005860  63 2c 63 68 6e 29 0d 20  58 12 62 3d 28 72 65 63  |c,chn). X.b=(rec|
00005870  2d 31 29 2a 31 31 34 34  0d 20 62 21 cf 23 63 68  |-1)*1144. b!.#ch|
00005880  6e 3d 62 20 20 20 20 20  20 3a 20 e8 20 23 63 68  |n=b      : . #ch|
00005890  6e 2c 63 5f 6e 61 6d 65  24 0d 20 6c 21 cf 23 63  |n,c_name$. l!.#c|
000058a0  68 6e 3d 62 2b 33 32 20  20 20 3a 20 e8 20 23 63  |hn=b+32   : . #c|
000058b0  68 6e 2c 63 5f 73 61 6c  65 24 0d 20 76 21 cf 23  |hn,c_sale$. v!.#|
000058c0  63 68 6e 3d 62 2b 36 34  20 20 20 3a 20 e8 20 23  |chn=b+64   : . #|
000058d0  63 68 6e 2c 63 5f 61 64  72 31 24 0d 20 80 21 cf  |chn,c_adr1$. .!.|
000058e0  23 63 68 6e 3d 62 2b 39  36 20 20 20 3a 20 e8 20  |#chn=b+96   : . |
000058f0  23 63 68 6e 2c 63 5f 61  64 72 32 24 0d 20 8a 21  |#chn,c_adr2$. .!|
00005900  cf 23 63 68 6e 3d 62 2b  31 32 38 20 20 3a 20 e8  |.#chn=b+128  : .|
00005910  20 23 63 68 6e 2c 63 5f  61 64 72 33 24 0d 20 94  | #chn,c_adr3$. .|
00005920  21 cf 23 63 68 6e 3d 62  2b 31 36 30 20 20 3a 20  |!.#chn=b+160  : |
00005930  e8 20 23 63 68 6e 2c 63  5f 61 64 72 34 24 0d 20  |. #chn,c_adr4$. |
00005940  9e 21 cf 23 63 68 6e 3d  62 2b 31 39 32 20 20 3a  |.!.#chn=b+192  :|
00005950  20 e8 20 23 63 68 6e 2c  63 5f 70 6f 73 74 24 0d  | . #chn,c_post$.|
00005960  20 a8 21 cf 23 63 68 6e  3d 62 2b 32 30 34 20 20  | .!.#chn=b+204  |
00005970  3a 20 e8 20 23 63 68 6e  2c 63 5f 74 65 6c 65 24  |: . #chn,c_tele$|
00005980  0d 20 b2 20 cf 23 63 68  6e 3d 62 2b 32 32 36 20  |. . .#chn=b+226 |
00005990  20 3a 20 e8 20 23 63 68  6e 2c 63 5f 66 61 78 24  | : . #chn,c_fax$|
000059a0  0d 20 bc 21 cf 23 63 68  6e 3d 62 2b 32 34 38 20  |. .!.#chn=b+248 |
000059b0  20 3a 20 e8 20 23 63 68  6e 2c 63 5f 61 63 63 6e  | : . #chn,c_accn|
000059c0  24 0d 20 c6 10 e3 20 6f  72 64 3d 31 20 b8 20 31  |$. ... ord=1 . 1|
000059d0  30 0d 20 d0 38 20 cf 23  63 68 6e 3d 62 2b 32 37  |0. .8 .#chn=b+27|
000059e0  30 2b 28 6f 72 64 2d 31  29 2a 37 38 20 20 20 20  |0+(ord-1)*78    |
000059f0  20 20 20 3a 20 e8 20 23  63 68 6e 2c 6f 72 64 65  |   : . #chn,orde|
00005a00  72 24 28 6f 72 64 2c 31  29 0d 20 da 38 20 cf 23  |r$(ord,1). .8 .#|
00005a10  63 68 6e 3d 62 2b 32 38  32 2b 28 6f 72 64 2d 31  |chn=b+282+(ord-1|
00005a20  29 2a 37 38 20 20 20 20  20 20 20 3a 20 e8 20 23  |)*78       : . #|
00005a30  63 68 6e 2c 6f 72 64 65  72 24 28 6f 72 64 2c 32  |chn,order$(ord,2|
00005a40  29 0d 20 e4 38 20 cf 23  63 68 6e 3d 62 2b 33 32  |). .8 .#chn=b+32|
00005a50  34 2b 28 6f 72 64 2d 31  29 2a 37 38 20 20 20 20  |4+(ord-1)*78    |
00005a60  20 20 20 3a 20 e8 20 23  63 68 6e 2c 6f 72 64 65  |   : . #chn,orde|
00005a70  72 24 28 6f 72 64 2c 33  29 0d 20 ee 38 20 cf 23  |r$(ord,3). .8 .#|
00005a80  63 68 6e 3d 62 2b 33 33  36 2b 28 6f 72 64 2d 31  |chn=b+336+(ord-1|
00005a90  29 2a 37 38 20 20 20 20  20 20 20 3a 20 e8 20 23  |)*78       : . #|
00005aa0  63 68 6e 2c 6f 72 64 65  72 24 28 6f 72 64 2c 34  |chn,order$(ord,4|
00005ab0  29 0d 20 f8 09 ed 20 6f  72 64 0d 21 02 0d 70 61  |). ... ord.!..pa|
00005ac0  79 24 3d c3 70 61 79 0d  21 0c 1e cf 23 63 68 6e  |y$=.pay.!...#chn|
00005ad0  3d 62 2b 31 31 32 38 20  3a 20 e8 20 23 63 68 6e  |=b+1128 : . #chn|
00005ae0  2c 70 61 79 24 0d 21 16  0d 70 61 79 3d bb 70 61  |,pay$.!..pay=.pa|
00005af0  79 24 0d 21 20 1f cf 23  63 68 6e 3d 62 2b 31 31  |y$.! ..#chn=b+11|
00005b00  33 31 20 3a 20 e8 20 23  63 68 6e 2c 64 61 74 65  |31 : . #chn,date|
00005b10  24 0d 21 2a 05 e1 0d 21  34 04 0d 21 3e 22 dd 20  |$.!*...!4..!>". |
00005b20  f2 73 61 76 65 5f 6f 72  64 65 72 5f 64 65 74 61  |.save_order_deta|
00005b30  69 6c 73 28 72 65 63 2c  63 68 6e 29 0d 21 48 12  |ils(rec,chn).!H.|
00005b40  62 3d 28 72 65 63 2d 31  29 2a 31 31 34 34 0d 21  |b=(rec-1)*1144.!|
00005b50  52 21 cf 23 63 68 6e 3d  62 20 20 20 20 20 20 3a  |R!.#chn=b      :|
00005b60  20 f1 20 23 63 68 6e 2c  63 5f 6e 61 6d 65 24 0d  | . #chn,c_name$.|
00005b70  21 5c 21 cf 23 63 68 6e  3d 62 2b 33 32 20 20 20  |!\!.#chn=b+32   |
00005b80  3a 20 f1 20 23 63 68 6e  2c 63 5f 73 61 6c 65 24  |: . #chn,c_sale$|
00005b90  0d 21 66 21 cf 23 63 68  6e 3d 62 2b 36 34 20 20  |.!f!.#chn=b+64  |
00005ba0  20 3a 20 f1 20 23 63 68  6e 2c 63 5f 61 64 72 31  | : . #chn,c_adr1|
00005bb0  24 0d 21 70 21 cf 23 63  68 6e 3d 62 2b 39 36 20  |$.!p!.#chn=b+96 |
00005bc0  20 20 3a 20 f1 20 23 63  68 6e 2c 63 5f 61 64 72  |  : . #chn,c_adr|
00005bd0  32 24 0d 21 7a 21 cf 23  63 68 6e 3d 62 2b 31 32  |2$.!z!.#chn=b+12|
00005be0  38 20 20 3a 20 f1 20 23  63 68 6e 2c 63 5f 61 64  |8  : . #chn,c_ad|
00005bf0  72 33 24 0d 21 84 21 cf  23 63 68 6e 3d 62 2b 31  |r3$.!.!.#chn=b+1|
00005c00  36 30 20 20 3a 20 f1 20  23 63 68 6e 2c 63 5f 61  |60  : . #chn,c_a|
00005c10  64 72 34 24 0d 21 8e 21  cf 23 63 68 6e 3d 62 2b  |dr4$.!.!.#chn=b+|
00005c20  31 39 32 20 20 3a 20 f1  20 23 63 68 6e 2c 63 5f  |192  : . #chn,c_|
00005c30  70 6f 73 74 24 0d 21 98  21 cf 23 63 68 6e 3d 62  |post$.!.!.#chn=b|
00005c40  2b 32 30 34 20 20 3a 20  f1 20 23 63 68 6e 2c 63  |+204  : . #chn,c|
00005c50  5f 74 65 6c 65 24 0d 21  a2 20 cf 23 63 68 6e 3d  |_tele$.!. .#chn=|
00005c60  62 2b 32 32 36 20 20 3a  20 f1 20 23 63 68 6e 2c  |b+226  : . #chn,|
00005c70  63 5f 66 61 78 24 0d 21  ac 21 cf 23 63 68 6e 3d  |c_fax$.!.!.#chn=|
00005c80  62 2b 32 34 38 20 20 3a  20 f1 20 23 63 68 6e 2c  |b+248  : . #chn,|
00005c90  63 5f 61 63 63 6e 24 0d  21 b6 10 e3 20 6f 72 64  |c_accn$.!... ord|
00005ca0  3d 31 20 b8 20 31 30 0d  21 c0 38 20 cf 23 63 68  |=1 . 10.!.8 .#ch|
00005cb0  6e 3d 62 2b 32 37 30 2b  28 6f 72 64 2d 31 29 2a  |n=b+270+(ord-1)*|
00005cc0  37 38 20 20 20 20 20 20  20 3a 20 f1 20 23 63 68  |78       : . #ch|
00005cd0  6e 2c 6f 72 64 65 72 24  28 6f 72 64 2c 31 29 0d  |n,order$(ord,1).|
00005ce0  21 ca 38 20 cf 23 63 68  6e 3d 62 2b 32 38 32 2b  |!.8 .#chn=b+282+|
00005cf0  28 6f 72 64 2d 31 29 2a  37 38 20 20 20 20 20 20  |(ord-1)*78      |
00005d00  20 3a 20 f1 20 23 63 68  6e 2c 6f 72 64 65 72 24  | : . #chn,order$|
00005d10  28 6f 72 64 2c 32 29 0d  21 d4 38 20 cf 23 63 68  |(ord,2).!.8 .#ch|
00005d20  6e 3d 62 2b 33 32 34 2b  28 6f 72 64 2d 31 29 2a  |n=b+324+(ord-1)*|
00005d30  37 38 20 20 20 20 20 20  20 3a 20 f1 20 23 63 68  |78       : . #ch|
00005d40  6e 2c 6f 72 64 65 72 24  28 6f 72 64 2c 33 29 0d  |n,order$(ord,3).|
00005d50  21 de 38 20 cf 23 63 68  6e 3d 62 2b 33 33 36 2b  |!.8 .#chn=b+336+|
00005d60  28 6f 72 64 2d 31 29 2a  37 38 20 20 20 20 20 20  |(ord-1)*78      |
00005d70  20 3a 20 f1 20 23 63 68  6e 2c 6f 72 64 65 72 24  | : . #chn,order$|
00005d80  28 6f 72 64 2c 34 29 0d  21 e8 09 ed 20 6f 72 64  |(ord,4).!... ord|
00005d90  0d 21 f2 10 40 25 3d 26  30 30 30 30 30 39 30 41  |.!..@%=&0000090A|
00005da0  0d 21 fc 0d 70 61 79 24  3d c3 70 61 79 0d 22 06  |.!..pay$=.pay.".|
00005db0  1e cf 23 63 68 6e 3d 62  2b 31 31 32 38 20 3a 20  |..#chn=b+1128 : |
00005dc0  f1 20 23 63 68 6e 2c 70  61 79 24 0d 22 10 10 40  |. #chn,pay$."..@|
00005dd0  25 3d 26 30 31 30 32 30  32 30 41 0d 22 1a 1f cf  |%=&0102020A."...|
00005de0  23 63 68 6e 3d 62 2b 31  31 33 31 20 3a 20 f1 20  |#chn=b+1131 : . |
00005df0  23 63 68 6e 2c 64 61 74  65 24 0d 22 24 05 e1 0d  |#chn,date$."$...|
00005e00  22 2e 04 0d 22 38 4c f4  20 2d 2d 2d 2d 2d 2d 2d  |"..."8L. -------|
00005e10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005e40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0d  |---------------.|
00005e50  22 42 1c f4 20 46 4f 4e  54 20 48 41 4e 44 4c 49  |"B.. FONT HANDLI|
00005e60  4e 47 20 52 4f 55 54 49  4e 45 53 0d 22 4c 4c f4  |NG ROUTINES."LL.|
00005e70  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
00005e80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005eb0  2d 2d 2d 2d 2d 2d 2d 0d  22 56 04 0d 22 60 1e dd  |-------."V.."`..|
00005ec0  20 a4 67 65 74 5f 66 6f  6e 74 28 6e 61 6d 65 24  | .get_font(name$|
00005ed0  2c 78 73 25 2c 79 73 25  29 0d 22 6a 34 c8 99 22  |,xs%,ys%)."j4.."|
00005ee0  46 6f 6e 74 5f 46 69 6e  64 46 6f 6e 74 22 2c 2c  |Font_FindFont",,|
00005ef0  6e 61 6d 65 24 2c 31 36  2a 78 73 25 2c 31 36 2a  |name$,16*xs%,16*|
00005f00  79 73 25 20 b8 20 68 61  6e 64 6c 65 25 0d 22 74  |ys% . handle%."t|
00005f10  0c 3d 68 61 6e 64 6c 65  25 0d 22 7e 04 0d 22 88  |.=handle%."~..".|
00005f20  11 dd 20 f2 6c 6f 61 64  5f 66 6f 6e 74 73 0d 22  |.. .load_fonts."|
00005f30  92 29 66 31 25 3d a4 67  65 74 5f 66 6f 6e 74 28  |.)f1%=.get_font(|
00005f40  22 54 72 69 6e 69 74 79  2e 4d 65 64 69 75 6d 22  |"Trinity.Medium"|
00005f50  2c 31 32 2c 31 32 29 0d  22 9c 27 66 32 25 3d a4  |,12,12).".'f2%=.|
00005f60  67 65 74 5f 66 6f 6e 74  28 22 54 72 69 6e 69 74  |get_font("Trinit|
00005f70  79 2e 42 6f 6c 64 22 2c  31 32 2c 31 32 29 0d 22  |y.Bold",12,12)."|
00005f80  a6 05 e1 0d 22 b0 04 0d  22 ba 11 dd 20 f2 6c 6f  |...."..."... .lo|
00005f90  73 65 5f 66 6f 6e 74 73  0d 22 c4 19 c8 99 22 46  |se_fonts."...."F|
00005fa0  6f 6e 74 5f 4c 6f 73 65  46 6f 6e 74 22 2c 66 31  |ont_LoseFont",f1|
00005fb0  25 0d 22 ce 19 c8 99 22  46 6f 6e 74 5f 4c 6f 73  |%."...."Font_Los|
00005fc0  65 46 6f 6e 74 22 2c 66  32 25 0d 22 d8 05 e1 0d  |eFont",f2%."....|
00005fd0  22 e2 04 0d 22 ec 14 dd  20 f2 64 65 63 6c 61 72  |"..."... .declar|
00005fe0  65 5f 66 6f 6e 74 73 0d  22 f6 31 c8 99 22 50 44  |e_fonts.".1.."PD|
00005ff0  72 69 76 65 72 5f 44 65  63 6c 61 72 65 46 6f 6e  |river_DeclareFon|
00006000  74 22 2c 66 31 25 2c 20  22 54 72 69 6e 69 74 79  |t",f1%, "Trinity|
00006010  2e 42 6f 6c 64 22 2c 30  0d 23 00 32 c8 99 22 50  |.Bold",0.#.2.."P|
00006020  44 72 69 76 65 72 5f 44  65 63 6c 61 72 65 46 6f  |Driver_DeclareFo|
00006030  6e 74 22 2c 66 32 25 2c  20 22 48 6f 6d 65 72 74  |nt",f2%, "Homert|
00006040  6f 6e 2e 42 6f 6c 64 22  2c 30 0d 23 0a 34 c8 99  |on.Bold",0.#.4..|
00006050  22 50 44 72 69 76 65 72  5f 44 65 63 6c 61 72 65  |"PDriver_Declare|
00006060  46 6f 6e 74 22 2c 66 33  25 2c 20 22 48 6f 6d 65  |Font",f3%, "Home|
00006070  72 74 6f 6e 2e 4d 65 64  69 75 6d 22 2c 30 0d 23  |rton.Medium",0.#|
00006080  14 30 c8 99 22 50 44 72  69 76 65 72 5f 44 65 63  |.0.."PDriver_Dec|
00006090  6c 61 72 65 46 6f 6e 74  22 2c 66 35 25 2c 20 22  |lareFont",f5%, "|
000060a0  43 6f 72 70 75 73 2e 42  6f 6c 64 22 2c 30 0d 23  |Corpus.Bold",0.#|
000060b0  1e 05 e1 0d 23 28 04 0d  23 32 4c f4 20 2d 2d 2d  |....#(..#2L. ---|
000060c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006100  2d 2d 2d 0d 23 3c 17 f4  20 50 52 49 4e 54 4f 55  |---.#<.. PRINTOU|
00006110  54 20 52 4f 55 54 49 4e  45 53 0d 23 46 4c f4 20  |T ROUTINES.#FL. |
00006120  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006160  2d 2d 2d 2d 2d 2d 0d 23  50 04 0d 23 5a 1d dd 20  |------.#P..#Z.. |
00006170  f2 70 72 69 6e 74 28 66  6f 6e 74 25 2c 74 65 78  |.print(font%,tex|
00006180  74 24 2c 78 2c 79 29 0d  23 64 1a c8 99 22 46 6f  |t$,x,y).#d..."Fo|
00006190  6e 74 5f 53 65 74 46 6f  6e 74 22 2c 66 6f 6e 74  |nt_SetFont",font|
000061a0  25 0d 23 6e 21 c8 99 22  46 6f 6e 74 5f 50 61 69  |%.#n!.."Font_Pai|
000061b0  6e 74 22 2c 2c 74 65 78  74 24 2c 26 31 30 2c 78  |nt",,text$,&10,x|
000061c0  2c 79 0d 23 78 05 e1 0d  23 82 04 0d 23 8c 19 dd  |,y.#x...#...#...|
000061d0  20 f2 69 6e 69 74 69 61  6c 69 73 65 5f 70 72 69  | .initialise_pri|
000061e0  6e 74 65 72 0d 23 96 0e  70 72 69 6e 74 69 6e 67  |nter.#..printing|
000061f0  3d b9 0d 23 a0 15 70 66  25 3d ae 28 22 70 72 69  |=..#..pf%=.("pri|
00006200  6e 74 65 72 3a 22 29 0d  23 aa 28 c8 99 22 50 44  |nter:").#.(.."PD|
00006210  72 69 76 65 72 5f 53 65  6c 65 63 74 4a 6f 62 22  |river_SelectJob"|
00006220  2c 70 66 25 2c 22 54 65  73 74 20 6a 6f 62 22 0d  |,pf%,"Test job".|
00006230  23 b4 0f f2 6c 6f 61 64  5f 66 6f 6e 74 73 0d 23  |#...load_fonts.#|
00006240  be 2e 72 65 63 25 21 30  3d 30 3a 72 65 63 25 21  |..rec%!0=0:rec%!|
00006250  34 3d 30 3a 72 65 63 25  21 38 3d 31 32 30 30 3a  |4=0:rec%!8=1200:|
00006260  72 65 63 25 21 31 32 3d  31 39 30 30 0d 23 c8 40  |rec%!12=1900.#.@|
00006270  74 72 61 6e 73 25 21 30  3d 31 3c 3c 31 36 3a 74  |trans%!0=1<<16:t|
00006280  72 61 6e 73 25 21 34 3d  30 3c 3c 31 36 3a 74 72  |rans%!4=0<<16:tr|
00006290  61 6e 73 25 21 38 3d 30  3c 3c 31 36 3a 74 72 61  |ans%!8=0<<16:tra|
000062a0  6e 73 25 21 31 32 3d 31  3c 3c 31 36 0d 23 d2 2a  |ns%!12=1<<16.#.*|
000062b0  70 6c 6f 74 61 74 25 21  30 3d 31 2a 37 32 30 30  |plotat%!0=1*7200|
000062c0  30 3a 70 6c 6f 74 61 74  25 21 34 3d 31 2e 32 35  |0:plotat%!4=1.25|
000062d0  2a 37 32 30 30 30 0d 23  dc 3d c8 99 22 50 44 72  |*72000.#.=.."PDr|
000062e0  69 76 65 72 5f 47 69 76  65 52 65 63 74 61 6e 67  |iver_GiveRectang|
000062f0  6c 65 22 2c 30 2c 72 65  63 25 2c 74 72 61 6e 73  |le",0,rec%,trans|
00006300  25 2c 70 6c 6f 74 61 74  25 2c 26 46 46 46 46 46  |%,plotat%,&FFFFF|
00006310  46 30 30 0d 23 e6 2e c8  99 22 50 44 72 69 76 65  |F00.#...."PDrive|
00006320  72 5f 44 72 61 77 50 61  67 65 22 2c 31 2c 72 65  |r_DrawPage",1,re|
00006330  63 74 69 6e 25 2c 30 2c  30 20 b8 20 6d 6f 72 65  |ctin%,0,0 . more|
00006340  25 0d 23 f0 05 e1 0d 23  fa 04 0d 24 04 12 dd 20  |%.#....#...$... |
00006350  f2 70 72 69 6e 74 5f 6f  72 64 65 72 0d 24 0e 2b  |.print_order.$.+|
00006360  e7 20 a4 67 65 74 5f 73  79 73 74 65 6d 5f 76 61  |. .get_system_va|
00006370  72 69 61 62 6c 65 28 22  70 72 69 6e 74 65 72 24  |riable("printer$|
00006380  22 29 3d 22 22 20 8c 0d  24 18 41 20 f2 73 61 79  |")="" ..$.A .say|
00006390  28 22 50 6c 65 61 73 65  20 6c 6f 61 64 20 61 20  |("Please load a |
000063a0  52 49 53 43 20 4f 53 20  70 72 69 6e 74 65 72 20  |RISC OS printer |
000063b0  64 72 69 76 65 72 20 62  65 66 6f 72 65 20 70 72  |driver before pr|
000063c0  69 6e 74 69 6e 67 22 29  0d 24 22 06 20 e1 0d 24  |inting").$". ..$|
000063d0  2c 05 cd 0d 24 36 14 c8  99 22 48 6f 75 72 67 6c  |,...$6..."Hourgl|
000063e0  61 73 73 5f 4f 6e 22 0d  24 40 17 f2 69 6e 69 74  |ass_On".$@..init|
000063f0  69 61 6c 69 73 65 5f 70  72 69 6e 74 65 72 0d 24  |ialise_printer.$|
00006400  4a 0c c8 95 20 6d 6f 72  65 25 0d 24 54 1e 20 c8  |J... more%.$T. .|
00006410  99 22 43 6f 6c 6f 75 72  54 72 61 6e 73 5f 53 65  |."ColourTrans_Se|
00006420  74 47 43 4f 4c 22 2c 30  0d 24 5e 15 20 c8 93 20  |tGCOL",0.$^. .. |
00006430  30 2c 36 33 30 2c 31 35  30 2c 34 37 30 0d 24 68  |0,630,150,470.$h|
00006440  17 20 c8 93 20 31 35 30  2c 36 33 30 2c 34 35 30  |. .. 150,630,450|
00006450  2c 34 37 30 0d 24 72 17  20 c8 93 20 36 30 30 2c  |,470.$r. .. 600,|
00006460  36 33 30 2c 31 35 30 2c  34 37 30 0d 24 7c 17 20  |630,150,470.$|. |
00006470  c8 93 20 37 35 30 2c 36  33 30 2c 31 35 30 2c 34  |.. 750,630,150,4|
00006480  37 30 0d 24 86 17 20 c8  93 20 39 30 30 2c 36 33  |70.$.. .. 900,63|
00006490  30 2c 31 35 30 2c 34 37  30 0d 24 90 16 20 c8 93  |0,150,470.$.. ..|
000064a0  20 30 2c 31 30 35 30 2c  31 30 35 30 2c 35 30 0d  | 0,1050,1050,50.|
000064b0  24 9a 32 20 c8 99 22 43  6f 6c 6f 75 72 54 72 61  |$.2 .."ColourTra|
000064c0  6e 73 5f 53 65 74 46 6f  6e 74 43 6f 6c 6f 75 72  |ns_SetFontColour|
000064d0  73 22 2c 2c 26 46 46 46  46 46 46 30 30 2c 30 2c  |s",,&FFFFFF00,0,|
000064e0  36 0d 24 a4 23 20 f2 70  72 69 6e 74 28 66 32 25  |6.$.# .print(f2%|
000064f0  2c 22 49 74 65 6d 20 43  6f 64 65 22 2c 35 2c 31  |,"Item Code",5,1|
00006500  30 35 35 29 0d 24 ae 27  20 f2 70 72 69 6e 74 28  |055).$.' .print(|
00006510  66 32 25 2c 22 44 65 73  63 72 69 70 74 69 6f 6e  |f2%,"Description|
00006520  22 2c 31 35 35 2c 31 30  35 35 29 0d 24 b8 24 20  |",155,1055).$.$ |
00006530  f2 70 72 69 6e 74 28 66  32 25 2c 22 51 75 61 6e  |.print(f2%,"Quan|
00006540  74 69 74 79 22 2c 36 30  35 2c 31 30 35 35 29 0d  |tity",605,1055).|
00006550  24 c2 22 20 f2 70 72 69  6e 74 28 66 32 25 2c 22  |$." .print(f2%,"|
00006560  55 6e 69 74 20 a3 22 2c  37 35 35 2c 31 30 35 35  |Unit .",755,1055|
00006570  29 0d 24 cc 23 20 f2 70  72 69 6e 74 28 66 32 25  |).$.# .print(f2%|
00006580  2c 22 54 6f 74 61 6c 20  a3 22 2c 39 30 35 2c 31  |,"Total .",905,1|
00006590  30 35 35 29 0d 24 d6 33  20 f2 70 72 69 6e 74 28  |055).$.3 .print(|
000065a0  66 31 25 2c a4 69 63 6f  6e 5f 67 65 74 64 61 74  |f1%,.icon_getdat|
000065b0  61 28 71 25 2c 75 73 65  72 25 2c 32 29 2c 35 35  |a(q%,user%,2),55|
000065c0  30 2c 31 38 30 30 29 0d  24 e0 33 20 f2 70 72 69  |0,1800).$.3 .pri|
000065d0  6e 74 28 66 31 25 2c a4  69 63 6f 6e 5f 67 65 74  |nt(f1%,.icon_get|
000065e0  64 61 74 61 28 71 25 2c  75 73 65 72 25 2c 33 29  |data(q%,user%,3)|
000065f0  2c 35 35 30 2c 31 37 36  35 29 0d 24 ea 33 20 f2  |,550,1765).$.3 .|
00006600  70 72 69 6e 74 28 66 31  25 2c a4 69 63 6f 6e 5f  |print(f1%,.icon_|
00006610  67 65 74 64 61 74 61 28  71 25 2c 75 73 65 72 25  |getdata(q%,user%|
00006620  2c 34 29 2c 35 35 30 2c  31 37 33 30 29 0d 24 f4  |,4),550,1730).$.|
00006630  33 20 f2 70 72 69 6e 74  28 66 31 25 2c a4 69 63  |3 .print(f1%,.ic|
00006640  6f 6e 5f 67 65 74 64 61  74 61 28 71 25 2c 75 73  |on_getdata(q%,us|
00006650  65 72 25 2c 35 29 2c 35  35 30 2c 31 36 39 35 29  |er%,5),550,1695)|
00006660  0d 24 fe 33 20 f2 70 72  69 6e 74 28 66 31 25 2c  |.$.3 .print(f1%,|
00006670  a4 69 63 6f 6e 5f 67 65  74 64 61 74 61 28 71 25  |.icon_getdata(q%|
00006680  2c 75 73 65 72 25 2c 36  29 2c 35 35 30 2c 31 36  |,user%,6),550,16|
00006690  36 30 29 0d 25 08 26 20  e7 20 a4 69 63 6f 6e 5f  |60).%.& . .icon_|
000066a0  67 65 74 64 61 74 61 28  71 25 2c 75 73 65 72 25  |getdata(q%,user%|
000066b0  2c 37 29 3c 3e 22 22 20  8c 0d 25 12 41 20 20 f2  |,7)<>"" ..%.A  .|
000066c0  70 72 69 6e 74 28 66 31  25 2c 22 54 65 6c 65 70  |print(f1%,"Telep|
000066d0  68 6f 6e 65 20 22 2b a4  69 63 6f 6e 5f 67 65 74  |hone "+.icon_get|
000066e0  64 61 74 61 28 71 25 2c  75 73 65 72 25 2c 37 29  |data(q%,user%,7)|
000066f0  2c 35 35 30 2c 31 36 32  35 29 0d 25 1c 06 20 cd  |,550,1625).%.. .|
00006700  0d 25 26 32 20 f2 70 72  69 6e 74 28 66 31 25 2c  |.%&2 .print(f1%,|
00006710  a4 69 63 6f 6e 5f 67 65  74 64 61 74 61 28 71 25  |.icon_getdata(q%|
00006720  2c 6f 72 64 65 72 25 2c  31 29 2c 30 2c 31 36 36  |,order%,1),0,166|
00006730  30 29 0d 25 30 34 20 f2  70 72 69 6e 74 28 66 31  |0).%04 .print(f1|
00006740  25 2c a4 69 63 6f 6e 5f  67 65 74 64 61 74 61 28  |%,.icon_getdata(|
00006750  71 25 2c 63 6f 6d 70 61  6e 79 25 2c 31 29 2c 30  |q%,company%,1),0|
00006760  2c 31 36 32 35 29 0d 25  3a 34 20 f2 70 72 69 6e  |,1625).%:4 .prin|
00006770  74 28 66 31 25 2c a4 69  63 6f 6e 5f 67 65 74 64  |t(f1%,.icon_getd|
00006780  61 74 61 28 71 25 2c 63  6f 6d 70 61 6e 79 25 2c  |ata(q%,company%,|
00006790  32 29 2c 30 2c 31 35 39  30 29 0d 25 44 34 20 f2  |2),0,1590).%D4 .|
000067a0  70 72 69 6e 74 28 66 31  25 2c a4 69 63 6f 6e 5f  |print(f1%,.icon_|
000067b0  67 65 74 64 61 74 61 28  71 25 2c 63 6f 6d 70 61  |getdata(q%,compa|
000067c0  6e 79 25 2c 33 29 2c 30  2c 31 35 35 35 29 0d 25  |ny%,3),0,1555).%|
000067d0  4e 34 20 f2 70 72 69 6e  74 28 66 31 25 2c a4 69  |N4 .print(f1%,.i|
000067e0  63 6f 6e 5f 67 65 74 64  61 74 61 28 71 25 2c 63  |con_getdata(q%,c|
000067f0  6f 6d 70 61 6e 79 25 2c  34 29 2c 30 2c 31 35 32  |ompany%,4),0,152|
00006800  30 29 0d 25 58 34 20 f2  70 72 69 6e 74 28 66 31  |0).%X4 .print(f1|
00006810  25 2c a4 69 63 6f 6e 5f  67 65 74 64 61 74 61 28  |%,.icon_getdata(|
00006820  71 25 2c 63 6f 6d 70 61  6e 79 25 2c 35 29 2c 30  |q%,company%,5),0|
00006830  2c 31 34 38 35 29 0d 25  62 27 20 63 6f 6e 74 24  |,1485).%b' cont$|
00006840  3d a4 69 63 6f 6e 5f 67  65 74 64 61 74 61 28 71  |=.icon_getdata(q|
00006850  25 2c 63 6f 6d 70 61 6e  79 25 2c 30 29 0d 25 6c  |%,company%,0).%l|
00006860  27 20 61 63 63 6e 24 3d  a4 69 63 6f 6e 5f 67 65  |' accn$=.icon_ge|
00006870  74 64 61 74 61 28 71 25  2c 63 6f 6d 70 61 6e 79  |tdata(q%,company|
00006880  25 2c 38 29 0d 25 76 3f  20 e7 20 63 6f 6e 74 24  |%,8).%v? . cont$|
00006890  3c 3e 22 22 20 8c 20 f2  70 72 69 6e 74 28 66 31  |<>"" . .print(f1|
000068a0  25 2c 22 46 6f 72 20 61  74 74 65 6e 74 69 6f 6e  |%,"For attention|
000068b0  20 6f 66 20 22 2b 63 6f  6e 74 24 2c 30 2c 31 34  | of "+cont$,0,14|
000068c0  35 30 29 0d 25 80 46 20  e7 20 61 63 63 6e 24 3c  |50).%.F . accn$<|
000068d0  3e 22 22 20 8c 20 f2 70  72 69 6e 74 28 66 31 25  |>"" . .print(f1%|
000068e0  2c 22 43 75 73 74 6f 6d  65 72 2f 41 63 63 6f 75  |,"Customer/Accou|
000068f0  6e 74 20 6e 75 6d 62 65  72 20 22 2b 61 63 63 6e  |nt number "+accn|
00006900  24 2c 30 2c 31 34 31 35  29 0d 25 8a 21 20 f2 70  |$,0,1415).%.! .p|
00006910  72 69 6e 74 28 66 31 25  2c c1 91 24 2c 35 2c 31  |rint(f1%,..$,5,1|
00006920  31 29 2c 30 2c 31 33 38  30 29 0d 25 94 12 20 e7  |1),0,1380).%.. .|
00006930  20 63 6f 6e 74 24 3c 3e  22 22 20 8c 0d 25 9e 26  | cont$<>"" ..%.&|
00006940  20 20 f2 70 72 69 6e 74  28 66 31 25 2c 22 44 65  |  .print(f1%,"De|
00006950  61 72 20 22 2b 63 6f 6e  74 24 2c 30 2c 31 32 30  |ar "+cont$,0,120|
00006960  30 29 0d 25 a8 06 20 cc  0d 25 b2 29 20 20 f2 70  |0).%.. ..%.)  .p|
00006970  72 69 6e 74 28 66 31 25  2c 22 44 65 61 72 20 53  |rint(f1%,"Dear S|
00006980  69 72 2f 4d 61 64 61 6d  22 2c 30 2c 31 32 30 30  |ir/Madam",0,1200|
00006990  29 0d 25 bc 06 20 cd 0d  25 c6 56 20 f2 70 72 69  |).%.. ..%.V .pri|
000069a0  6e 74 28 66 31 25 2c 22  50 6c 65 61 73 65 20 73  |nt(f1%,"Please s|
000069b0  75 70 70 6c 79 20 74 68  65 20 66 6f 6c 6c 6f 77  |upply the follow|
000069c0  69 6e 67 20 67 6f 6f 64  73 20 74 6f 20 6d 65 20  |ing goods to me |
000069d0  61 74 20 74 68 65 20 61  62 6f 76 65 20 61 64 64  |at the above add|
000069e0  72 65 73 73 22 2c 30 2c  31 31 33 30 29 0d 25 d0  |ress",0,1130).%.|
000069f0  0c 20 74 6f 74 61 6c 3d  30 0d 25 da 11 20 e3 20  |. total=0.%.. . |
00006a00  6f 72 64 3d 31 20 b8 20  31 30 0d 25 e4 4c 20 20  |ord=1 . 10.%.L  |
00006a10  f2 70 72 69 6e 74 28 66  31 25 2c a4 69 63 6f 6e  |.print(f1%,.icon|
00006a20  5f 67 65 74 64 61 74 61  28 71 25 2c 6f 72 64 65  |_getdata(q%,orde|
00006a30  72 25 2c 28 36 2b 28 28  6f 72 64 2d 31 29 2a 35  |r%,(6+((ord-1)*5|
00006a40  29 29 2b 31 29 2c 35 2c  31 30 35 35 2d 28 33 35  |))+1),5,1055-(35|
00006a50  2a 6f 72 64 29 29 0d 25  ee 4e 20 20 f2 70 72 69  |*ord)).%.N  .pri|
00006a60  6e 74 28 66 31 25 2c a4  69 63 6f 6e 5f 67 65 74  |nt(f1%,.icon_get|
00006a70  64 61 74 61 28 71 25 2c  6f 72 64 65 72 25 2c 28  |data(q%,order%,(|
00006a80  36 2b 28 28 6f 72 64 2d  31 29 2a 35 29 29 2b 32  |6+((ord-1)*5))+2|
00006a90  29 2c 31 35 35 2c 31 30  35 35 2d 28 33 35 2a 6f  |),155,1055-(35*o|
00006aa0  72 64 29 29 0d 25 f8 4e  20 20 f2 70 72 69 6e 74  |rd)).%.N  .print|
00006ab0  28 66 31 25 2c a4 69 63  6f 6e 5f 67 65 74 64 61  |(f1%,.icon_getda|
00006ac0  74 61 28 71 25 2c 6f 72  64 65 72 25 2c 28 36 2b  |ta(q%,order%,(6+|
00006ad0  28 28 6f 72 64 2d 31 29  2a 35 29 29 2b 33 29 2c  |((ord-1)*5))+3),|
00006ae0  36 30 35 2c 31 30 35 35  2d 28 33 35 2a 6f 72 64  |605,1055-(35*ord|
00006af0  29 29 0d 26 02 4e 20 20  f2 70 72 69 6e 74 28 66  |)).&.N  .print(f|
00006b00  31 25 2c a4 69 63 6f 6e  5f 67 65 74 64 61 74 61  |1%,.icon_getdata|
00006b10  28 71 25 2c 6f 72 64 65  72 25 2c 28 36 2b 28 28  |(q%,order%,(6+((|
00006b20  6f 72 64 2d 31 29 2a 35  29 29 2b 34 29 2c 37 35  |ord-1)*5))+4),75|
00006b30  35 2c 31 30 35 35 2d 28  33 35 2a 6f 72 64 29 29  |5,1055-(35*ord))|
00006b40  0d 26 0c 4e 20 20 f2 70  72 69 6e 74 28 66 31 25  |.&.N  .print(f1%|
00006b50  2c a4 69 63 6f 6e 5f 67  65 74 64 61 74 61 28 71  |,.icon_getdata(q|
00006b60  25 2c 6f 72 64 65 72 25  2c 28 36 2b 28 28 6f 72  |%,order%,(6+((or|
00006b70  64 2d 31 29 2a 35 29 29  2b 35 29 2c 39 30 35 2c  |d-1)*5))+5),905,|
00006b80  31 30 35 35 2d 28 33 35  2a 6f 72 64 29 29 0d 26  |1055-(35*ord)).&|
00006b90  16 36 20 20 74 31 3d bb  28 a4 69 63 6f 6e 5f 67  |.6  t1=.(.icon_g|
00006ba0  65 74 64 61 74 61 28 71  25 2c 6f 72 64 65 72 25  |etdata(q%,order%|
00006bb0  2c 28 36 2b 28 28 6f 72  64 2d 31 29 2a 35 29 29  |,(6+((ord-1)*5))|
00006bc0  2b 33 29 29 0d 26 20 36  20 20 74 32 3d bb 28 a4  |+3)).& 6  t2=.(.|
00006bd0  69 63 6f 6e 5f 67 65 74  64 61 74 61 28 71 25 2c  |icon_getdata(q%,|
00006be0  6f 72 64 65 72 25 2c 28  36 2b 28 28 6f 72 64 2d  |order%,(6+((ord-|
00006bf0  31 29 2a 35 29 29 2b 34  29 29 0d 26 2a 12 20 20  |1)*5))+4)).&*.  |
00006c00  74 6f 74 61 6c 2b 3d 74  31 2a 74 32 0d 26 34 0a  |total+=t1*t2.&4.|
00006c10  20 ed 20 6f 72 64 0d 26  3e 30 20 f2 70 72 69 6e  | . ord.&>0 .prin|
00006c20  74 28 66 32 25 2c 22 54  6f 74 61 6c 20 61 6d 6f  |t(f2%,"Total amo|
00006c30  75 6e 74 20 70 61 79 61  62 6c 65 3a 22 2c 31 35  |unt payable:",15|
00006c40  35 2c 35 39 35 29 0d 26  48 24 20 f2 70 72 69 6e  |5,595).&H$ .prin|
00006c50  74 28 66 31 25 2c 22 a3  20 22 2b c3 74 6f 74 61  |t(f1%,". "+.tota|
00006c60  6c 2c 39 30 35 2c 35 39  35 29 0d 26 52 0d 20 c8  |l,905,595).&R. .|
00006c70  8e 20 70 61 79 20 ca 0d  26 5c 38 20 20 c9 20 31  |. pay ..&\8  . 1|
00006c80  20 3a 20 f2 70 72 69 6e  74 28 66 31 25 2c 22 49  | : .print(f1%,"I|
00006c90  20 77 69 73 68 20 74 6f  20 70 61 79 20 62 79 20  | wish to pay by |
00006ca0  63 68 65 71 75 65 2e 22  2c 30 2c 35 35 30 29 0d  |cheque.",0,550).|
00006cb0  26 66 3e 20 20 c9 20 32  20 3a 20 f2 70 72 69 6e  |&f>  . 2 : .prin|
00006cc0  74 28 66 31 25 2c 22 49  20 77 69 73 68 20 74 6f  |t(f1%,"I wish to|
00006cd0  20 70 61 79 20 62 65 20  70 6f 73 74 61 6c 20 6f  | pay be postal o|
00006ce0  72 64 65 72 2e 22 2c 30  2c 35 35 30 29 0d 26 70  |rder.",0,550).&p|
00006cf0  4a 20 20 c9 20 33 20 3a  20 f2 70 72 69 6e 74 28  |J  . 3 : .print(|
00006d00  66 31 25 2c 22 50 6c 65  61 73 65 20 63 68 61 72  |f1%,"Please char|
00006d10  67 65 20 74 68 69 73 20  70 75 72 63 68 61 73 65  |ge this purchase|
00006d20  20 74 6f 20 6d 79 20 61  63 63 6f 75 6e 74 2e 22  | to my account."|
00006d30  2c 30 2c 35 35 30 29 0d  26 7a 1c 20 20 c9 20 34  |,0,550).&z.  . 4|
00006d40  2c 35 2c 36 20 3a 20 63  61 72 64 3d 28 70 61 79  |,5,6 : card=(pay|
00006d50  2d 33 29 0d 26 84 39 20  20 f2 70 72 69 6e 74 28  |-3).&.9  .print(|
00006d60  66 31 25 2c 22 49 20 77  69 73 68 20 74 6f 20 70  |f1%,"I wish to p|
00006d70  61 79 20 62 79 20 22 2b  70 61 79 6d 65 6e 74 24  |ay by "+payment$|
00006d80  28 70 61 79 29 2c 30 2c  35 35 30 29 0d 26 8e 27  |(pay),0,550).&.'|
00006d90  20 20 f2 70 72 69 6e 74  28 66 32 25 2c 22 43 61  |  .print(f2%,"Ca|
00006da0  72 64 20 49 73 73 75 65  72 3a 22 2c 32 35 2c 35  |rd Issuer:",25,5|
00006db0  31 35 29 0d 26 98 3e 20  20 f2 70 72 69 6e 74 28  |15).&.>  .print(|
00006dc0  66 31 25 2c a4 69 63 6f  6e 5f 67 65 74 64 61 74  |f1%,.icon_getdat|
00006dd0  61 28 71 25 2c 75 73 65  72 25 2c 39 2b 28 63 61  |a(q%,user%,9+(ca|
00006de0  72 64 2d 31 29 2a 35 29  2c 35 30 30 2c 35 31 35  |rd-1)*5),500,515|
00006df0  29 0d 26 a2 27 20 20 f2  70 72 69 6e 74 28 66 32  |).&.'  .print(f2|
00006e00  25 2c 22 43 61 72 64 20  6e 75 6d 62 65 72 3a 22  |%,"Card number:"|
00006e10  2c 32 35 2c 34 38 30 29  0d 26 ac 3f 20 20 f2 70  |,25,480).&.?  .p|
00006e20  72 69 6e 74 28 66 31 25  2c a4 69 63 6f 6e 5f 67  |rint(f1%,.icon_g|
00006e30  65 74 64 61 74 61 28 71  25 2c 75 73 65 72 25 2c  |etdata(q%,user%,|
00006e40  31 30 2b 28 63 61 72 64  2d 31 29 2a 35 29 2c 35  |10+(card-1)*5),5|
00006e50  30 30 2c 34 38 30 29 0d  26 b6 27 20 20 f2 70 72  |00,480).&.'  .pr|
00006e60  69 6e 74 28 66 32 25 2c  22 45 78 70 69 72 79 20  |int(f2%,"Expiry |
00006e70  44 61 74 65 3a 22 2c 32  35 2c 34 34 35 29 0d 26  |Date:",25,445).&|
00006e80  c0 3f 20 20 f2 70 72 69  6e 74 28 66 31 25 2c a4  |.?  .print(f1%,.|
00006e90  69 63 6f 6e 5f 67 65 74  64 61 74 61 28 71 25 2c  |icon_getdata(q%,|
00006ea0  75 73 65 72 25 2c 31 31  2b 28 63 61 72 64 2d 31  |user%,11+(card-1|
00006eb0  29 2a 35 29 2c 35 30 30  2c 34 34 35 29 0d 26 ca  |)*5),500,445).&.|
00006ec0  20 20 20 e7 20 70 61 79  6d 65 6e 74 24 28 70 61  |   . payment$(pa|
00006ed0  79 29 3d 22 53 77 69 74  63 68 22 20 8c 0d 26 d4  |y)="Switch" ..&.|
00006ee0  28 20 20 20 f2 70 72 69  6e 74 28 66 32 25 2c 22  |(   .print(f2%,"|
00006ef0  49 73 73 75 65 20 6e 6f  20 20 20 3a 22 2c 32 35  |Issue no   :",25|
00006f00  2c 34 31 30 29 0d 26 de  40 20 20 20 f2 70 72 69  |,410).&.@   .pri|
00006f10  6e 74 28 66 31 25 2c a4  69 63 6f 6e 5f 67 65 74  |nt(f1%,.icon_get|
00006f20  64 61 74 61 28 71 25 2c  75 73 65 72 25 2c 31 32  |data(q%,user%,12|
00006f30  2b 28 63 61 72 64 2d 31  29 2a 35 29 2c 35 30 30  |+(card-1)*5),500|
00006f40  2c 34 31 30 29 0d 26 e8  07 20 20 cd 0d 26 f2 43  |,410).&..  ..&.C|
00006f50  20 20 f2 70 72 69 6e 74  28 66 31 25 2c 22 49 20  |  .print(f1%,"I |
00006f60  68 65 72 65 62 79 20 61  75 74 68 6f 72 69 73 65  |hereby authorise|
00006f70  20 74 68 65 20 61 62 6f  76 65 20 74 72 61 6e 73  | the above trans|
00006f80  61 63 74 69 6f 6e 22 2c  32 35 2c 33 37 35 29 0d  |action",25,375).|
00006f90  26 fc 3b 20 20 f2 70 72  69 6e 74 28 66 31 25 2c  |&.;  .print(f1%,|
00006fa0  22 53 69 67 6e 65 64 22  2b c4 36 30 2c 22 2e 22  |"Signed"+.60,"."|
00006fb0  29 2b 22 44 61 74 65 22  2b c4 32 30 2c 22 2e 22  |)+"Date"+.20,"."|
00006fc0  29 2c 35 30 30 2c 33 30  35 29 0d 27 06 47 20 20  |),500,305).'.G  |
00006fd0  c9 20 37 3a f2 70 72 69  6e 74 28 66 31 25 2c 22  |. 7:.print(f1%,"|
00006fe0  50 6c 65 61 73 65 20 69  6e 76 6f 69 63 65 20 6d  |Please invoice m|
00006ff0  65 20 66 6f 72 20 74 68  65 20 61 62 6f 76 65 20  |e for the above |
00007000  70 75 72 63 68 61 73 65  2e 22 2c 30 2c 35 35 30  |purchase.",0,550|
00007010  29 0d 27 10 06 20 cb 0d  27 1a 12 20 e7 20 63 6f  |).'.. ..'.. . co|
00007020  6e 74 24 3c 3e 22 22 20  8c 0d 27 24 29 20 20 f2  |nt$<>"" ..'$)  .|
00007030  70 72 69 6e 74 28 66 31  25 2c 22 59 6f 75 72 73  |print(f1%,"Yours|
00007040  20 53 69 6e 63 65 72 65  6c 79 22 2c 30 2c 32 34  | Sincerely",0,24|
00007050  30 29 0d 27 2e 06 20 cc  0d 27 38 2a 20 20 f2 70  |0).'.. ..'8*  .p|
00007060  72 69 6e 74 28 66 31 25  2c 22 59 6f 75 72 73 20  |rint(f1%,"Yours |
00007070  46 61 69 74 68 66 75 6c  6c 79 22 2c 30 2c 32 34  |Faithfully",0,24|
00007080  30 29 0d 27 42 06 20 cd  0d 27 4c 2e 20 f2 70 72  |0).'B. ..'L. .pr|
00007090  69 6e 74 28 66 31 25 2c  a4 69 63 6f 6e 5f 67 65  |int(f1%,.icon_ge|
000070a0  74 64 61 74 61 28 71 25  2c 75 73 65 72 25 2c 31  |tdata(q%,user%,1|
000070b0  29 2c 30 2c 30 29 0d 27  56 2e 20 c8 99 22 50 44  |),0,0).'V. .."PD|
000070c0  72 69 76 65 72 5f 47 65  74 52 65 63 74 61 6e 67  |river_GetRectang|
000070d0  6c 65 22 2c 2c 72 65 63  74 69 6e 25 20 b8 20 6d  |le",,rectin% . m|
000070e0  6f 72 65 25 0d 27 60 05  ce 0d 27 6a 1a c8 99 22  |ore%.'`...'j..."|
000070f0  50 44 72 69 76 65 72 5f  45 6e 64 4a 6f 62 22 2c  |PDriver_EndJob",|
00007100  70 66 25 0d 27 74 0a d9  20 23 70 66 25 0d 27 7e  |pf%.'t.. #pf%.'~|
00007110  0e 70 72 69 6e 74 69 6e  67 3d a3 0d 27 88 15 c8  |.printing=..'...|
00007120  99 22 48 6f 75 72 67 6c  61 73 73 5f 4f 66 66 22  |."Hourglass_Off"|
00007130  0d 27 92 05 e1 0d 27 9c  04 0d 27 a6 4c f4 20 2d  |.'....'...'.L. -|
00007140  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007180  2d 2d 2d 2d 2d 0d 27 b0  31 f4 20 41 50 50 4c 49  |-----.'.1. APPLI|
00007190  43 41 54 49 4f 4e 2d 53  50 45 43 49 46 49 43 20  |CATION-SPECIFIC |
000071a0  4d 49 53 43 45 4c 4c 41  4e 45 4f 55 53 20 52 4f  |MISCELLANEOUS RO|
000071b0  55 54 49 4e 45 53 0d 27  ba 4c f4 20 2d 2d 2d 2d  |UTINES.'.L. ----|
000071c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007200  2d 2d 0d 27 c4 04 0d 27  ce 13 dd 20 a4 72 6f 75  |--.'...'... .rou|
00007210  6e 64 28 70 72 69 63 65  29 0d 27 d8 13 70 72 69  |nd(price).'..pri|
00007220  63 65 3d 70 72 69 63 65  2a 31 30 30 0d 27 e2 3d  |ce=price*100.'.=|
00007230  e7 20 28 a8 28 70 72 69  63 65 29 2d 70 72 69 63  |. (.(price)-pric|
00007240  65 29 3c 3e 30 20 8c 20  70 72 69 63 65 3d a8 28  |e)<>0 . price=.(|
00007250  70 72 69 63 65 29 2b 31  20 8b 20 70 72 69 63 65  |price)+1 . price|
00007260  3d a8 28 70 72 69 63 65  29 0d 27 ec 0e 3d 70 72  |=.(price).'..=pr|
00007270  69 63 65 2f 31 30 30 0d  27 f6 04 0d 28 00 13 dd  |ice/100.'...(...|
00007280  20 a4 75 70 70 65 72 28  74 65 78 74 24 29 0d 28  | .upper(text$).(|
00007290  0a 0d ea 20 74 65 6d 70  24 2c 6e 0d 28 14 14 e7  |... temp$,n.(...|
000072a0  20 74 65 78 74 24 3d 22  22 20 8c 20 3d 22 22 0d  | text$="" . ="".|
000072b0  28 1e 14 e3 20 6e 3d 31  20 b8 20 a9 28 74 65 78  |(... n=1 . .(tex|
000072c0  74 24 29 0d 28 28 2f 20  e7 20 97 28 c1 74 65 78  |t$).((/ . .(.tex|
000072d0  74 24 2c 6e 2c 31 29 29  3c 31 32 33 20 80 20 97  |t$,n,1))<123 . .|
000072e0  28 c1 74 65 78 74 24 2c  6e 2c 31 29 29 3e 39 36  |(.text$,n,1))>96|
000072f0  20 8c 0d 28 32 21 20 20  74 65 6d 70 24 2b 3d bd  | ..(2!  temp$+=.|
00007300  28 97 28 c1 74 65 78 74  24 2c 6e 2c 31 29 29 2d  |(.(.text$,n,1))-|
00007310  33 32 29 0d 28 3c 06 20  cc 0d 28 46 18 20 20 74  |32).(<. ..(F.  t|
00007320  65 6d 70 24 2b 3d c1 74  65 78 74 24 2c 6e 2c 31  |emp$+=.text$,n,1|
00007330  29 0d 28 50 06 20 cd 0d  28 5a 07 ed 20 6e 0d 28  |).(P. ..(Z.. n.(|
00007340  64 0a 3d 74 65 6d 70 24  0d 28 6e 04 0d 28 78 21  |d.=temp$.(n..(x!|
00007350  dd 20 a4 67 65 74 5f 73  79 73 74 65 6d 5f 76 61  |. .get_system_va|
00007360  72 69 61 62 6c 65 28 6e  61 6d 65 24 29 0d 28 82  |riable(name$).(.|
00007370  0d ea 20 6c 65 6e 67 74  68 25 0d 28 8c 33 c8 99  |.. length%.(.3..|
00007380  22 58 4f 53 5f 52 65 61  64 56 61 72 56 61 6c 22  |"XOS_ReadVarVal"|
00007390  2c 6e 61 6d 65 24 2b bd  28 30 29 2c 71 25 2c 2d  |,name$+.(0),q%,-|
000073a0  31 20 b8 20 2c 2c 6c 65  6e 67 74 68 25 0d 28 96  |1 . ,,length%.(.|
000073b0  15 e7 20 6c 65 6e 67 74  68 25 3d 30 20 8c 20 3d  |.. length%=0 . =|
000073c0  22 22 0d 28 a0 37 c8 99  22 58 4f 53 5f 52 65 61  |"".(.7.."XOS_Rea|
000073d0  64 56 61 72 56 61 6c 22  2c 6e 61 6d 65 24 2b bd  |dVarVal",name$+.|
000073e0  28 30 29 2c 71 25 2c 32  35 35 2c 2c 33 20 b8 20  |(0),q%,255,,3 . |
000073f0  2c 2c 6c 65 6e 67 74 68  25 0d 28 aa 14 3f 28 71  |,,length%.(..?(q|
00007400  25 2b 6c 65 6e 67 74 68  25 29 3d 31 33 0d 28 b4  |%+length%)=13.(.|
00007410  08 3d 24 71 25 0d 28 be  04 0d 28 c8 14 dd 20 f2  |.=$q%.(...(... .|
00007420  64 69 73 70 6c 61 79 5f  6f 72 64 65 72 0d 28 d2  |display_order.(.|
00007430  29 f2 69 63 6f 6e 5f 70  75 74 64 61 74 61 28 71  |).icon_putdata(q|
00007440  25 2c 6f 72 64 65 72 25  2c 31 2c 63 5f 6e 61 6d  |%,order%,1,c_nam|
00007450  65 24 2c 2d 31 29 0d 28  dc 2b f2 69 63 6f 6e 5f  |e$,-1).(.+.icon_|
00007460  70 75 74 64 61 74 61 28  71 25 2c 63 6f 6d 70 61  |putdata(q%,compa|
00007470  6e 79 25 2c 30 2c 63 5f  73 61 6c 65 24 2c 2d 31  |ny%,0,c_sale$,-1|
00007480  29 0d 28 e6 2b f2 69 63  6f 6e 5f 70 75 74 64 61  |).(.+.icon_putda|
00007490  74 61 28 71 25 2c 63 6f  6d 70 61 6e 79 25 2c 31  |ta(q%,company%,1|
000074a0  2c 63 5f 61 64 72 31 24  2c 2d 31 29 0d 28 f0 2b  |,c_adr1$,-1).(.+|
000074b0  f2 69 63 6f 6e 5f 70 75  74 64 61 74 61 28 71 25  |.icon_putdata(q%|
000074c0  2c 63 6f 6d 70 61 6e 79  25 2c 32 2c 63 5f 61 64  |,company%,2,c_ad|
000074d0  72 32 24 2c 2d 31 29 0d  28 fa 2b f2 69 63 6f 6e  |r2$,-1).(.+.icon|
000074e0  5f 70 75 74 64 61 74 61  28 71 25 2c 63 6f 6d 70  |_putdata(q%,comp|
000074f0  61 6e 79 25 2c 33 2c 63  5f 61 64 72 33 24 2c 2d  |any%,3,c_adr3$,-|
00007500  31 29 0d 29 04 2b f2 69  63 6f 6e 5f 70 75 74 64  |1).).+.icon_putd|
00007510  61 74 61 28 71 25 2c 63  6f 6d 70 61 6e 79 25 2c  |ata(q%,company%,|
00007520  34 2c 63 5f 61 64 72 34  24 2c 2d 31 29 0d 29 0e  |4,c_adr4$,-1).).|
00007530  2b f2 69 63 6f 6e 5f 70  75 74 64 61 74 61 28 71  |+.icon_putdata(q|
00007540  25 2c 63 6f 6d 70 61 6e  79 25 2c 35 2c 63 5f 70  |%,company%,5,c_p|
00007550  6f 73 74 24 2c 2d 31 29  0d 29 18 2b f2 69 63 6f  |ost$,-1).).+.ico|
00007560  6e 5f 70 75 74 64 61 74  61 28 71 25 2c 63 6f 6d  |n_putdata(q%,com|
00007570  70 61 6e 79 25 2c 36 2c  63 5f 74 65 6c 65 24 2c  |pany%,6,c_tele$,|
00007580  2d 31 29 0d 29 22 2a f2  69 63 6f 6e 5f 70 75 74  |-1).)"*.icon_put|
00007590  64 61 74 61 28 71 25 2c  63 6f 6d 70 61 6e 79 25  |data(q%,company%|
000075a0  2c 37 2c 63 5f 66 61 78  24 2c 2d 31 29 0d 29 2c  |,7,c_fax$,-1).),|
000075b0  2b f2 69 63 6f 6e 5f 70  75 74 64 61 74 61 28 71  |+.icon_putdata(q|
000075c0  25 2c 63 6f 6d 70 61 6e  79 25 2c 38 2c 63 5f 61  |%,company%,8,c_a|
000075d0  63 63 6e 24 2c 2d 31 29  0d 29 36 0b 74 6f 74 61  |ccn$,-1).)6.tota|
000075e0  6c 3d 30 0d 29 40 0e e3  20 6f 3d 31 20 b8 20 31  |l=0.)@.. o=1 . 1|
000075f0  30 0d 29 4a 39 20 f2 69  63 6f 6e 5f 70 75 74 64  |0.)J9 .icon_putd|
00007600  61 74 61 28 71 25 2c 6f  72 64 65 72 25 2c 20 37  |ata(q%,order%, 7|
00007610  2b 28 28 6f 2d 31 29 2a  35 29 2c 6f 72 64 65 72  |+((o-1)*5),order|
00007620  24 28 6f 2c 31 29 2c 2d  31 29 0d 29 54 39 20 f2  |$(o,1),-1).)T9 .|
00007630  69 63 6f 6e 5f 70 75 74  64 61 74 61 28 71 25 2c  |icon_putdata(q%,|
00007640  6f 72 64 65 72 25 2c 20  38 2b 28 28 6f 2d 31 29  |order%, 8+((o-1)|
00007650  2a 35 29 2c 6f 72 64 65  72 24 28 6f 2c 32 29 2c  |*5),order$(o,2),|
00007660  2d 31 29 0d 29 5e 39 20  f2 69 63 6f 6e 5f 70 75  |-1).)^9 .icon_pu|
00007670  74 64 61 74 61 28 71 25  2c 6f 72 64 65 72 25 2c  |tdata(q%,order%,|
00007680  20 39 2b 28 28 6f 2d 31  29 2a 35 29 2c 6f 72 64  | 9+((o-1)*5),ord|
00007690  65 72 24 28 6f 2c 33 29  2c 2d 31 29 0d 29 68 39  |er$(o,3),-1).)h9|
000076a0  20 f2 69 63 6f 6e 5f 70  75 74 64 61 74 61 28 71  | .icon_putdata(q|
000076b0  25 2c 6f 72 64 65 72 25  2c 31 30 2b 28 28 6f 2d  |%,order%,10+((o-|
000076c0  31 29 2a 35 29 2c 6f 72  64 65 72 24 28 6f 2c 34  |1)*5),order$(o,4|
000076d0  29 2c 2d 31 29 0d 29 72  39 20 f2 69 63 6f 6e 5f  |),-1).)r9 .icon_|
000076e0  70 75 74 64 61 74 61 28  71 25 2c 6f 72 64 65 72  |putdata(q%,order|
000076f0  25 2c 31 31 2b 28 28 6f  2d 31 29 2a 35 29 2c 6f  |%,11+((o-1)*5),o|
00007700  72 64 65 72 24 28 6f 2c  34 29 2c 2d 31 29 0d 29  |rder$(o,4),-1).)|
00007710  7c 27 20 74 65 6d 70 3d  bb 28 6f 72 64 65 72 24  ||' temp=.(order$|
00007720  28 6f 2c 33 29 29 2a bb  28 6f 72 64 65 72 24 28  |(o,3))*.(order$(|
00007730  6f 2c 34 29 29 0d 29 86  3f 20 e7 20 74 65 6d 70  |o,4)).).? . temp|
00007740  3c 3e 30 20 8c 20 f2 69  63 6f 6e 5f 70 75 74 64  |<>0 . .icon_putd|
00007750  61 74 61 28 71 25 2c 6f  72 64 65 72 25 2c 31 31  |ata(q%,order%,11|
00007760  2b 28 28 6f 2d 31 29 2a  35 29 2c c3 74 65 6d 70  |+((o-1)*5),.temp|
00007770  2c 2d 31 29 0d 29 90 10  20 74 6f 74 61 6c 2b 3d  |,-1).).. total+=|
00007780  74 65 6d 70 0d 29 9a 07  ed 20 6f 0d 29 a4 29 f2  |temp.)... o.).).|
00007790  69 63 6f 6e 5f 70 75 74  64 61 74 61 28 71 25 2c  |icon_putdata(q%,|
000077a0  6f 72 64 65 72 25 2c 35  38 2c c3 74 6f 74 61 6c  |order%,58,.total|
000077b0  2c 2d 31 29 0d 29 ae 05  e1 0d 29 b8 04 0d 29 c2  |,-1).)....)...).|
000077c0  12 dd 20 f2 63 6c 65 61  72 5f 6f 72 64 65 72 0d  |.. .clear_order.|
000077d0  29 cc 24 f2 69 63 6f 6e  5f 70 75 74 64 61 74 61  |).$.icon_putdata|
000077e0  28 71 25 2c 6f 72 64 65  72 25 2c 31 2c 22 22 2c  |(q%,order%,1,"",|
000077f0  2d 31 29 0d 29 d6 33 e3  20 69 3d 37 20 b8 20 35  |-1).).3. i=7 . 5|
00007800  36 3a f2 69 63 6f 6e 5f  70 75 74 64 61 74 61 28  |6:.icon_putdata(|
00007810  71 25 2c 6f 72 64 65 72  25 2c 69 2c 22 22 2c 2d  |q%,order%,i,"",-|
00007820  31 29 3a ed 20 69 0d 29  e0 25 f2 69 63 6f 6e 5f  |1):. i.).%.icon_|
00007830  70 75 74 64 61 74 61 28  71 25 2c 6f 72 64 65 72  |putdata(q%,order|
00007840  25 2c 35 38 2c 22 22 2c  2d 31 29 0d 29 ea 1b 70  |%,58,"",-1).)..p|
00007850  61 79 3d 30 3a f2 63 6c  69 63 6b 6f 72 64 65 72  |ay=0:.clickorder|
00007860  28 34 2c 35 39 29 0d 29  f4 34 e3 20 69 3d 30 20  |(4,59).).4. i=0 |
00007870  b8 20 38 3a f2 69 63 6f  6e 5f 70 75 74 64 61 74  |. 8:.icon_putdat|
00007880  61 28 71 25 2c 63 6f 6d  70 61 6e 79 25 2c 69 2c  |a(q%,company%,i,|
00007890  22 22 2c 2d 31 29 3a ed  20 69 0d 29 fe 2c f2 63  |"",-1):. i.).,.c|
000078a0  61 72 65 74 5f 73 65 74  70 6f 73 69 74 69 6f 6e  |aret_setposition|
000078b0  28 6f 72 64 65 72 25 2c  31 2c 2d 31 2c 2d 31 2c  |(order%,1,-1,-1,|
000078c0  2d 31 2c 2d 31 29 0d 2a  08 05 e1 0d ff           |-1,-1).*.....|
000078cd