home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR22
/
MICROG1.ZIP
/
GOURMET.LOW
< prev
next >
Wrap
Text File
|
1983-08-22
|
33KB
|
1,757 lines
*Release 1.0
SET TALK OFF
SET COLO OFF
SET BELL OFF
SET CONF ON
SET EJEC OFF
STOR ' ' TO PR
STOR 'Invalid Input' TO INV
STOR 'Press return to continue ' TO PRC
IF .NOT.FILE("OPTION.MEM")
STOR 'B:GOURMET.DBF ' TO DATABASE
STOR 'B:TYPE.NDX ' TO TINDEX
STOR 'B:NUMBER.NDX ' TO RINDEX
STOR 'B:SHOP.DBF ' TO FSHOP
STOR 'B:TEMP.DBF ' TO FTEMP
STOR 0 TO Z
ERAS
DO WHILE Z=0
@ 1,0 SAY 'Change the Disk Drive Identifier'
@ 2,8 SAY 'and/or file name'
@ 3,0 SAY 'for the following files:'
@ 5,0 GET DATABASE
@ 6,0 GET TINDEX
@ 7,0 GET RINDEX
@ 8,0 GET FSHOP
@ 9,0 GET FTEMP
@ 5,15 SAY 'Recipe File'
@ 6,15 SAY 'Category Index'
@ 7,15 SAY 'Record Index'
@ 8,15 SAY 'Shopping List File'
@ 9,15 SAY 'Temporary File'
@ 12,0 SAY 'See Installation Section in the Manual'
READ
STOR !(DATABASE) TO DATABASE
STOR !(TINDEX) TO TINDEX
STOR !(RINDEX) TO RINDEX
STOR !(FSHOP) TO FSHOP
STOR !(FTEMP) TO FTEMP
STOR $(DATABASE,1,1) TO DRIVE
@ 20,0 SAY ' '
IF DRIVE<'A'.OR.DRIVE>'P'.OR..NOT.FILE(DATABASE)
@ 20,0 SAY 'Bad Recipe File'
LOOP
ENDI
STOR $(TINDEX,1,1) TO DRIVE
IF DRIVE<'A'.OR.DRIVE>'P'.OR..NOT.FILE(TINDEX)
@ 20,0 SAY 'Bad Category Index File'
LOOP
ENDI
STOR $(RINDEX,1,1) TO DRIVE
IF DRIVE<'A'.OR.DRIVE>'P'.OR..NOT.FILE(RINDEX)
@ 20,0 SAY 'Bad Record Index File'
LOOP
ENDI
STOR $(FSHOP,1,1) TO DRIVE
IF DRIVE<'A'.OR.DRIVE>'P'.OR..NOT.FILE(FSHOP)
@ 20,0 SAY 'Bad Shopping List File'
LOOP
ENDI
STOR $(FTEMP,1,1) TO DRIVE
IF DRIVE<'A'.OR.DRIVE>'P'
@ 20,0 SAY 'Bad Temporary File'
LOOP
ENDI
STOR 1 TO Z
ENDD
STOR 0 TO Z
STOR 80 TO C
DO WHILE Z=0
ERAS
@ 5,0 SAY 'Enter the number of columns ' GET C
@ 6,6 SAY 'on your terminal'
@ 7,4 SAY '(between 40 and 132)'
READ
IF C<40.OR.C>132
ERAS
@ 12,0 SAY INV
@ 13,0 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ELSE
STOR 1 TO Z
STOR (C-52)/2 TO A
USE &DATABASE INDEX &TINDEX,&RINDEX
SELE SECO
USE &FSHOP
SELE PRIM
SAVE TO OPTION
ENDI
ENDD
ELSE
REST FROM OPTION
USE &DATABASE INDEX &TINDEX,&RINDEX
SELE SECO
USE &FSHOP
SELE PRIM
ENDI
STOR 0 TO M1
STOR '1' TO M
STOR '1' TO D
STOR '1' TO FM
STOR '1' TO T
STOR ' Note: Category may be blank' TO CLB
STOR 'End of File' TO END
STOR 'End of Search' TO ENDS
STOR ' ' TO I1
STOR ' ' TO I2
STOR ' ' TO I3
STOR 'Select a number or ' TO SNC
STOR 'None found' TO NF
STOR 'Retrieve this recipe? (Y or N) ' TO WTE
STOR 'Add this recipe to shopping list? ' TO PRO
STOR 'N' TO SHOP
DO WHILE M1=0
STOR 0 TO M2
STOR 0 TO M3
STOR 0 TO M4
ERAS
@ 3,A+15 SAY 'microGOURMET Main Menu'
@ 5,A+15 SAY '1 Find Recipes'
@ 6,A+15 SAY '2 Prepare Shopping List'
@ 7,A+15 SAY '3 Perform Data Base Maintenance'
@ 8,A+15 SAY '4 Change to Another Recipe Disk'
@ 9,A+15 SAY '5 Exit to Operating System'
@ 10,A+15 SAY '6 Exit to dBASE'
@ 12,A+10 SAY 'Enter the number of your choice ' GET M
@ 13,A+10 SAY ' or enter ? for help'
READ
IF (M<'1'.OR.M>'6').AND.M<>'?'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF M='4'
ERAS
USE
@ 12,A+9 SAY 'Change Disk(s), then Press Return' GET PR
READ
STOR ' ' TO PR
ERAS
@ 12,A+10 SAY 'This will work only with CP/M'
@ 18,0 SAY ' '
QUIT TO 'DBASE GOURMET'
ENDI
IF M='5'
ERAS
QUIT
ENDI
IF M='6'
ERAS
USE
SET TALK ON
SET COLO ON
SET BELL ON
SET CONF OFF
SET EJEC ON
RETU
ENDI
IF M='?'
ERAS
@ 1,A+6 SAY ' microGOURMET Help'
@ 2,A+6 SAY 'This is the main menu. The choices here'
@ 3,A+6 SAY 'are as follows:'
@ 5,A+6 SAY '1 - Display the menu of recipe retrieval'
@ 6,A+6 SAY ' options (more help is available)'
@ 8,A+6 SAY '2 - Build a shopping list while browsing '
@ 9,A+6 SAY ' through the data base. You must use '
@ 10,A+6 SAY ' this option before using option 1.'
@ 12,A+6 SAY '3 - Add, change or delete recipes.'
@ 14,A+6 SAY '4 - Restart the program with another'
@ 15,A+6 SAY ' program and/or recipe disk. (Works'
@ 16,A+6 SAY ' dBASE II version 2.3 and CP/M only.)'
@ 18,A+6 SAY '5 - Exit the program and return to the'
@ 19,A+6 SAY ' operating system, for the > prompt.'
@ 21,A+6 SAY '6 - Exit the program and remain within'
@ 22,A+6 SAY ' dBASE II, for the . prompt.'
@ 23,A+6 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF M<>'2'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
ENDI
DO CASE
CASE M='2'
STOR '1' TO T
STOR 0 TO M9
DO WHILE M9=0
ERAS
@ 3,A+13 SAY 'microGOURMET Shopping List'
@ 5,A+18 SAY '1 Compile List'
@ 6,A+18 SAY '2 Print List'
@ 7,A+18 SAY '3 Display List'
@ 9,A+10 SAY 'Enter the number of your choice ' GET T
@ 10,A+10 SAY ' or enter ? for help'
@ 11,A+10 SAY ' or enter 0 for previous menu'
READ
IF (T<'0'.OR.T>'3').AND.T<>'?'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF T='0'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
STOR 1 TO M9
LOOP
ENDI
IF T='?'
ERAS
@ 1,A+6 SAY ' microGOURMET Help'
@ 2,A+6 SAY 'This is the shopping list menu. Choices'
@ 3,A+6 SAY 'are as follows:'
@ 5,A+6 SAY '1 - Compile a shopping list of recipe'
@ 6,A+6 SAY ' ingredients while browsing through'
@ 7,A+6 SAY ' the data base. Recipes you select'
@ 8,A+6 SAY ' will be added to the list. You must'
@ 9,A+6 SAY ' use this option before option 1 on'
@ 10,A+6 SAY ' on the main menu.'
@ 12,A+6 SAY '2 - Print the list after compiling it.'
@ 14,A+6 SAY '3 - Display the list after compiling it.'
@ 16,A+6 SAY 'After printing or displaying the list,'
@ 17,A+6 SAY 'you may delete it if you have no further'
@ 18,A+6 SAY 'need for it. Be careful - you may run'
@ 19,A+6 SAY 'out of space on the disk if you build a'
@ 20,A+6 SAY 'a big list, or if you have limited disk'
@ 21,A+6 SAY 'capacity.'
@ 23,A+6 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF T='1'
STOR 'Y' TO SHOP
LOOP
ELSE
SELE SECO
STOR 0 TO I
IF T='2'
ERASE
@ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
READ
STOR ' ' TO PR
SET PRINT ON
ENDI
GOTO TOP
DO WHILE .NOT.EOF
ERAS
IF T='2'
? '--------------------------------------'
ELSE
? ' '
ENDI
? 'Name-----',NAME
? ' '
? ITEM1
? ITEM2
? ITEM3
? ITEM4
? ITEM5
? ITEM6
? ITEM7
? ITEM8
? ITEM9
? ITEM10
? ITEM11
? ITEM12
? ITEM13
? ITEM14
? ITEM15
SKIP
STOR I+18 TO I
IF T='3'
@ 22,0 SAY PRC GET PR
READ
STOR ' ' TO PR
ELSE
IF I>53
EJEC
ERAS
IF .NOT.EOF
@ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
READ
STOR ' ' TO PR
STOR 0 TO I
ENDI
ENDI
ENDI
ENDD
IF I>0
EJEC
ENDI
SET PRINT OFF
ERAS
STOR 'Y' TO PR
@ 12,A+12 SAY 'Delete Shopping List File? ' GET PR
READ
IF !(PR)='Y'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
STOR 'N' TO SHOP
USE
USE &FSHOP
COPY STRU TO &FTEMP
USE &FTEMP
DELETE FILE &FSHOP
USE
RENA &FTEMP TO &FSHOP
*ACCOMMODATES DBASE BUG
USE
USE
USE
USE
USE
USE
USE
USE
USE
USE
ENDI
STOR ' ' TO PR
USE &DATABASE INDEX &TINDEX,&RINDEX
SELE SECO
USE &FSHOP
SELE PRIM
ENDI
ENDD
CASE M='1'
STOR 0 TO M2
DO WHILE M2=0
ERAS
@ 3,A+8 SAY 'microGOURMET Recipe Retrieval Menu'
@ 5,A+13 SAY 'Find Recipes by:'
@ 7,A+13 SAY '1 Category'
@ 8,A+13 SAY '2 Category & Name'
@ 9,A+13 SAY '3 Category & Ingredients'
@ 10,A+13 SAY '4 Category & Preparation Time'
@ 12,A+10 SAY 'Enter the number of your choice ' GET D
@ 13,A+10 SAY ' or enter ? for help'
@ 14,A+10 SAY ' or enter 0 for previous menu'
READ
IF (D<'0'.OR.D>'4').AND.D<>'?'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF D='?'
ERAS
@ 1,A+6 SAY ' microGOURMET Help'
@ 2,A+6 SAY 'This is the menu for recipe retrieval.'
@ 3,A+6 SAY 'Your choices are as follows: (see NOTE)'
@ 5,A+6 SAY '1 - Category retrieval only. You will'
@ 6,A+6 SAY ' pick a category by number and the'
@ 7,A+6 SAY ' text of recipe(s) will be retrieved.'
@ 8,A+6 SAY ' This continues until you stop it.'
@ 10,A+6 SAY '2 - Category and name retrieval. Only'
@ 11,A+6 SAY ' the recipe names and numbers will'
@ 12,A+6 SAY ' be displayed. You pick one to be'
@ 13,A+6 SAY ' be retrieved. (Faster than option 1)'
@ 15,A+6 SAY '3 - Category and ingedient retrieval. In'
@ 16,A+6 SAY ' addition to category, you may enter'
@ 17,A+6 SAY ' one to three ingredients. Recipe(s)'
@ 18,A+6 SAY ' which match will be retrieved.'
@ 20,A+6 SAY '<<<more on next page>>>'
@ 21,A+6 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
@ 1,A+6 SAY ' microGOURMET Help'
@ 3,A+6 SAY '4 - Category and preparation time'
@ 4,A+6 SAY ' retrieval. Recipes whose prep time'
@ 5,A+6 SAY ' (start to finish) is less than or'
@ 6,A+6 SAY ' equal to the number of minutes you'
@ 7,A+6 SAY ' enter will be retrieved.'
@ 9,A+6 SAY 'NOTE - After you pick a number on this'
@ 10,A+6 SAY 'menu, you will have a choice of printing'
@ 11,A+6 SAY 'or displaying recipe text (only). All'
@ 12,A+6 SAY 'menus which appear next will list the'
@ 13,A+6 SAY 'recipe categories.'
@ 15,A+6 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF D='0'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
STOR 1 TO M2
LOOP
ENDI
STOR 'D' TO O
STOR 0 TO O1
DO WHILE O1=0
ERAS
@ 12,A+17 SAY 'Display or Print ' GET O
@ 13,A+17 SAY 'Selected Recipes?'
@ 14,A+17 SAY ' (D or P)'
READ
STOR !(O) TO O
IF O='D'.OR.O='P'
STOR 1 TO O1
LOOP
ELSE
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
ENDD
ERAS
@ 12,A+16 SAY 'One Moment Please...'
IF D='1'
STOR 0 TO M3
DO WHILE M3=0
ERAS
@ 1,A+10 SAY ' Recipe Selection by Category'
@ 3,A+10 SAY 'microGOURMET Recipe Categories'
@ 5,A+18 SAY '1 Appetizers'
@ 6,A+18 SAY '2 Salads'
@ 7,A+18 SAY '3 Main Dishes'
@ 8,A+18 SAY '4 Vegetable Dishes'
@ 9,A+18 SAY '5 Breads'
@ 10,A+18 SAY '6 Desserts'
@ 11,A+18 SAY '7 Cookies'
@ 13,A+10 SAY 'Enter the number of your choice ' GET T
@ 14,A+10 SAY ' or enter 0 for previous menu'
@ 16,A+10 SAY CLB
READ
IF (T<'0'.OR.T>'7').AND.T<>' '
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF T='0'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
STOR 1 TO M3
LOOP
ENDI
IF T<>' '
FIND &T
STOR ' ' TO K
IF #=0
ERAS
@ 12,A+13 SAY NF GET K
@ 13,A+13 SAY PRC
READ
STOR ' ' TO K
LOOP
ENDI
ELSE
GOTO TOP
ENDI
STOR 'Y' TO C
DO WHILE !(C)='Y'
IF .NOT.EOF
STOR 'Y' TO PRA
ERAS
IF !(O) = 'D'
SET FORM TO SCRE
STOR -23 TO F
ELSE
STOR ' ' TO PR
@ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
READ
STOR ' ' TO PR
STOR 0 TO F
SET FORM TO PRIN
ENDI
@ 0,0 SAY 'Record #'
@ 0,10 SAY #
@ 1,0 SAY 'Category'
IF TYPE = 1
@ 1,10 SAY '1 Appetizers'
ENDI
IF TYPE = 2
@ 1,10 SAY '2 Salads'
ENDI
IF TYPE = 3
@ 1,10 SAY '3 Main Dishes'
ENDI
IF TYPE = 4
@ 1,10 SAY '4 Vegetable Dishes'
ENDI
IF TYPE = 5
@ 1,10 SAY '5 Breads'
ENDI
IF TYPE = 6
@ 1,10 SAY '6 Desserts'
ENDI
IF TYPE = 7
@ 1,10 SAY '7 Cookies'
ENDI
@ 2,0 SAY 'Name'
@ 2,10 SAY NAME
@ 3,0 SAY 'Remarks'
@ 3,10 SAY REMARKS
@ 5,0 SAY 'Ingredients'
@ 7,A+6 SAY ITEM1
@ 8,A+6 SAY ITEM2
@ 9,A+6 SAY ITEM3
@ 10,A+6 SAY ITEM4
@ 11,A+6 SAY ITEM5
@ 12,A+6 SAY ITEM6
@ 13,A+6 SAY ITEM7
@ 14,A+6 SAY ITEM8
@ 15,A+6 SAY ITEM9
@ 16,A+6 SAY ITEM10
@ 17,A+6 SAY ITEM11
@ 18,A+6 SAY ITEM12
@ 19,A+6 SAY ITEM13
@ 20,A+6 SAY ITEM14
@ 21,A+6 SAY ITEM15
IF !(O)='D'
@ 23,0 SAY PRC GET PR
READ
ERAS
ENDI
@ F+23,0 SAY 'Instructions'
@ F+25,A+6 SAY INSTRUCT1
@ F+26,A+6 SAY INSTRUCT2
@ F+27,A+6 SAY INSTRUCT3
@ F+28,A+6 SAY INSTRUCT4
@ F+29,A+6 SAY INSTRUCT5
@ F+30,A+6 SAY INSTRUCT6
@ F+31,A+6 SAY INSTRUCT7
@ F+32,A+6 SAY INSTRUCT8
@ F+33,A+6 SAY INSTRUCT9
@ F+34,A+6 SAY INSTRUCT10
@ F+36,0 SAY 'Preparation Time'
@ F+37,0 SAY '(Minutes)'
@ F+37,11 SAY PREPTIME
@ F+39,0 SAY 'Serving Hints'
@ F+40,A+6 SAY HINT1
@ F+41,A+6 SAY HINT2
IF !(O)='D'
IF SHOP='Y'
@ 23,0 SAY PRO GET PRA
ELSE
@ 23,0 SAY PRC GET PR
ENDI
READ
STOR ' ' TO PR
ENDI
IF !(O)='P'
EJECT
SET FORM TO SCRE
IF SHOP='Y'
ERAS
@ 12,A+9 SAY PRO GET PRA
READ
ENDI
ENDI
ERAS
IF !(SHOP)='Y'.AND.!(PRA)='Y'
SELE SECO
APPE BLANK
REPL S.NAME WITH P.NAME
REPL S.ITEM1 WITH P.ITEM1
REPL S.ITEM2 WITH P.ITEM2
REPL S.ITEM3 WITH P.ITEM3
REPL S.ITEM4 WITH P.ITEM4
REPL S.ITEM5 WITH P.ITEM5
REPL S.ITEM6 WITH P.ITEM6
REPL S.ITEM7 WITH P.ITEM7
REPL S.ITEM8 WITH P.ITEM8
REPL S.ITEM9 WITH P.ITEM9
REPL S.ITEM10 WITH P.ITEM10
REPL S.ITEM11 WITH P.ITEM11
REPL S.ITEM12 WITH P.ITEM12
REPL S.ITEM13 WITH P.ITEM13
REPL S.ITEM14 WITH P.ITEM14
REPL S.ITEM15 WITH P.ITEM15
SELE PRIM
ENDI
ENDI
SKIP
IF T<>' '
IF TYPE<>VAL(T).OR.EOF
ERAS
@ 12,A+13 SAY ENDS
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
STOR 'N' TO C
LOOP
ENDI
ELSE
IF EOF
ERAS
@ 12,A+13 SAY END
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
STOR 'N' TO C
LOOP
ENDI
ENDI
STOR 'Y' TO CS
STOR 0 TO O1
DO WHILE O1=0
ERAS
@ 12,A+15 SAY 'Continue Searching? ' GET CS
@ 13,A+15 SAY ' (Y or N)'
READ
ERAS
IF !(CS)<>'N'.AND.!(CS)<>'Y'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
LOOP
ELSE
STOR 1 TO O1
LOOP
ENDI
ENDD
IF !(CS)='N'
STOR 'N' TO C
ENDI
ENDD
ENDD
ENDI
IF D='2'
STOR 0 TO M5
DO WHILE M5=0
ERAS
@ 1,A+8 SAY 'Recipe Selection by Category & Name'
@ 3,A+10 SAY 'microGOURMET Recipe Categories'
@ 5,A+18 SAY '1 Appetizers'
@ 6,A+18 SAY '2 Salads'
@ 7,A+18 SAY '3 Main Dishes'
@ 8,A+18 SAY '4 Vegetable Dishes'
@ 9,A+18 SAY '5 Breads'
@ 10,A+18 SAY '6 Desserts'
@ 11,A+18 SAY '7 Cookies'
@ 13,A+10 SAY 'Enter the number of your choice ' GET T
@ 14,A+10 SAY ' or enter 0 for previous menu'
@ 17,A+10 SAY CLB
READ
IF (T<'0'.OR.T>'7').AND.T<>' '
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF T='0'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
STOR 1 TO M5
LOOP
ENDI
STOR 0 TO HIT
ERAS
STOR 'Y' TO C
IF T<>' '
FIND &T
STOR ' ' TO K
IF #=0
ERAS
@ 12,A+13 SAY NF GET K
@ 13,A+13 SAY PRC
READ
STOR ' ' TO K
LOOP
ENDI
ELSE
GOTO TOP
ENDI
DO WHILE !(C)='Y'
STOR 1 TO I
DO WHILE I<21.AND.(TYPE=VAL(T).OR.T=' ').AND..NOT.EOF
? STR(#,3),NAME
STOR 1 TO HIT
SKIP
STOR I+1 TO I
ENDD
STOR 1 TO I
STOR 0 TO K1
IF T<>' '.AND.TYPE<>VAL(T).AND.HIT=0
ERAS
@ 12,A+13 SAY ENDS
@ 13,A+13 SAY PRC GET PR
READ
STOR 'N' TO C
STOR ' ' TO PR
ERAS
ELSE
IF HIT=1
@ 22,0 SAY SNC GET K1
@ 23,0 SAY PRC
ELSE
ERAS
@ 12,A+13 SAY NF GET K
@ 13,A+13 SAY PRC
ENDI
READ
IF K1=0
IF HIT=1
ERAS
STOR 'Y' TO CS
STOR 0 TO O1
DO WHILE O1=0
ERAS
@ 12,A+15 SAY 'Continue Searching? ' GET CS
@ 13,A+15 SAY ' (Y or N)'
READ
ERAS
IF !(CS)<>'N'.AND !(CS)<>'Y'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
LOOP
ELSE
STOR 1 TO O1
ENDI
ENDD
IF !(CS)='N'
STOR 'N' TO C
ENDI
ENDI
ELSE
SET INDEX TO &RINDEX
STOR 0 TO Z
DO WHILE Z=0
STOR STR(K1,5) TO K2
FIND &K2
IF #=0
@ 21,0 SAY 'Recipe Not Found'
@ 22,0 SAY 'Select a number ' GET K1
@ 23,0 SAY ' '
READ
LOOP
ELSE
STOR 1 TO Z
LOOP
ENDI
ENDD
STOR 'Y' TO PRA
ERAS
IF !(O) = 'D'
SET FORM TO SCRE
STOR -23 TO F
ELSE
STOR ' ' TO PR
@ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
READ
STOR ' ' TO PR
STOR 0 TO F
SET FORM TO PRIN
ENDI
@ 0,0 SAY 'Record #'
@ 0,10 SAY #
@ 1,0 SAY 'Category'
IF TYPE = 1
@ 1,10 SAY '1 Appetizers'
ENDI
IF TYPE = 2
@ 1,10 SAY '2 Salads'
ENDI
IF TYPE = 3
@ 1,10 SAY '3 Main Dishes'
ENDI
IF TYPE = 4
@ 1,10 SAY '4 Vegetable Dishes'
ENDI
IF TYPE = 5
@ 1,10 SAY '5 Breads'
ENDI
IF TYPE = 6
@ 1,10 SAY '6 Desserts'
ENDI
IF TYPE = 7
@ 1,10 SAY '7 Cookies'
ENDI
@ 2,0 SAY 'Name'
@ 2,10 SAY NAME
@ 3,0 SAY 'Remarks'
@ 3,10 SAY REMARKS
@ 5,0 SAY 'Ingredients'
@ 7,A+6 SAY ITEM1
@ 8,A+6 SAY ITEM2
@ 9,A+6 SAY ITEM3
@ 10,A+6 SAY ITEM4
@ 11,A+6 SAY ITEM5
@ 12,A+6 SAY ITEM6
@ 13,A+6 SAY ITEM7
@ 14,A+6 SAY ITEM8
@ 15,A+6 SAY ITEM9
@ 16,A+6 SAY ITEM10
@ 17,A+6 SAY ITEM11
@ 18,A+6 SAY ITEM12
@ 19,A+6 SAY ITEM13
@ 20,A+6 SAY ITEM14
@ 21,A+6 SAY ITEM15
IF !(O)='D'
@ 23,0 SAY PRC GET PR
READ
ERAS
ENDI
@ F+23,0 SAY 'Instructions'
@ F+25,A+6 SAY INSTRUCT1
@ F+26,A+6 SAY INSTRUCT2
@ F+27,A+6 SAY INSTRUCT3
@ F+28,A+6 SAY INSTRUCT4
@ F+29,A+6 SAY INSTRUCT5
@ F+30,A+6 SAY INSTRUCT6
@ F+31,A+6 SAY INSTRUCT7
@ F+32,A+6 SAY INSTRUCT8
@ F+33,A+6 SAY INSTRUCT9
@ F+34,A+6 SAY INSTRUCT10
@ F+36,0 SAY 'Preparation Time'
@ F+37,0 SAY '(Minutes)'
@ F+37,11 SAY PREPTIME
@ F+39,0 SAY 'Serving Hints'
@ F+40,A+6 SAY HINT1
@ F+41,A+6 SAY HINT2
IF !(O)='D'
IF SHOP='Y'
@ 23,0 SAY PRO GET PRA
ELSE
@ 23,0 SAY PRC GET PR
ENDI
READ
STOR ' ' TO PR
ENDI
IF !(O)='P'
EJECT
SET FORM TO SCRE
IF SHOP='Y'
ERAS
@ 12,A+9 SAY PRO GET PRA
READ
ENDI
ENDI
ERAS
IF !(SHOP)='Y'.AND.!(PRA)='Y'
SELE SECO
APPE BLANK
REPL S.NAME WITH P.NAME
REPL S.ITEM1 WITH P.ITEM1
REPL S.ITEM2 WITH P.ITEM2
REPL S.ITEM3 WITH P.ITEM3
REPL S.ITEM4 WITH P.ITEM4
REPL S.ITEM5 WITH P.ITEM5
REPL S.ITEM6 WITH P.ITEM6
REPL S.ITEM7 WITH P.ITEM7
REPL S.ITEM8 WITH P.ITEM8
REPL S.ITEM9 WITH P.ITEM9
REPL S.ITEM10 WITH P.ITEM10
REPL S.ITEM11 WITH P.ITEM11
REPL S.ITEM12 WITH P.ITEM12
REPL S.ITEM13 WITH P.ITEM13
REPL S.ITEM14 WITH P.ITEM14
REPL S.ITEM15 WITH P.ITEM15
SELE PRIM
ENDI
SET INDEX TO &TINDEX
STOR 'Y' TO CS
STOR 0 TO O1
DO WHILE O1=0
ERAS
@ 12,A+15 SAY 'Continue Searching? ' GET CS
@ 13,A+15 SAY ' (Y or N)'
READ
ERAS
IF !(CS)<>'N'.AND !(CS)<>'Y'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
LOOP
ELSE
STOR 1 TO O1
LOOP
ENDI
ENDD
IF !(CS)='N'
STOR 'N' TO C
ELSE
IF T<>' '
FIND &T
ELSE
GOTO TOP
ENDI
ENDI
ENDI
IF EOF.AND.HIT=1
ERAS
@ 12,A+13 SAY END
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
STOR 'N' TO C
STOR '0' TO T
ENDI
IF HIT=0
STOR 'N' TO C
ENDI
STOR 0 TO HIT
ENDI
ENDD
ENDD
ENDI
IF D='3'
STOR 0 TO M6
DO WHILE M6=0
ERAS
@ 1,A+16 SAY 'Recipe Selection by'
@ 2,A+14 SAY 'Category & Ingredients'
@ 4,A+10 SAY 'microGOURMET Recipe Categories'
@ 6,A+18 SAY '1 Appetizers'
@ 7,A+18 SAY '2 Salads'
@ 8,A+18 SAY '3 Main Dishes'
@ 9,A+18 SAY '4 Vegetable Dishes'
@ 10,A+18 SAY '5 Breads'
@ 11,A+18 SAY '6 Desserts'
@ 12,A+18 SAY '7 Cookies'
@ 14,A+10 SAY 'Enter the number of your choice ' GET T
@ 15,A+10 SAY ' or enter 0 for previous menu'
@ 18,A+10 SAY CLB
READ
IF (T<'0'.OR.T>'7').AND.T<>' '
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF T='0'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
STOR 1 TO M6
LOOP
ENDI
IF T<>' '
FIND &T
STOR ' ' TO K
IF #=0
ERAS
@ 12,A+13 SAY NF GET K
@ 13,A+13 SAY PRC
READ
STOR ' ' TO K
LOOP
ENDI
ELSE
GOTO TOP
ENDI
ERAS
@ 8,A+13 SAY 'Enter 1 to 3 Ingredients'
@ 10,0 SAY 'First? ' GET I1
@ 14,A+12 SAY 'To return to previous menu'
@ 15,A+13 SAY 'blank the 1st ingredient'
READ
IF I1=' '
LOOP
ENDI
@ 11,0 SAY 'Second? ' GET I2
READ
@ 12,0 SAY 'Third? ' GET I3
READ
ERAS
STOR 0 TO HIT
ERAS
STOR 'Y' TO C
DO WHILE !(C)='Y'
STOR 1 TO I
DO WHILE I<21.AND.(TYPE=VAL(T).OR.T=' ').AND..NOT.EOF
@ 7,A+11 SAY 'This may take several minutes,'
@ 8,A+11 SAY ' depending on the number of'
@ 9,A+11 SAY ' ingredients entered'
@ 12,A+11 SAY ' Searching ...'
STOR 0 TO OK
STOR 0 TO F1
STOR 0 TO F2
STOR 0 TO F3
STOR !(TRIM(I1)) TO VAR
STOR 0 TO OK
IF !(ITEM1)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM2)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM3)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM4)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM5)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM6)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM7)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM8)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM9)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM10)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM11)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM12)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM13)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM14)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM15)=VAR
STOR 1 TO OK
ENDI
STOR OK TO F1
IF $(I2,1,1)=' '
STOR 1 TO F2
ELSE
STOR !(TRIM(I2)) TO VAR
STOR 0 TO OK
IF !(ITEM1)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM2)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM3)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM4)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM5)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM6)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM7)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM8)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM9)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM10)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM11)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM12)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM13)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM14)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM15)=VAR
STOR 1 TO OK
ENDI
STOR OK TO F2
ENDI
IF $(I3,1,1)=' '
STOR 1 TO F3
ELSE
STOR !(TRIM(I3)) TO VAR
STOR 0 TO OK
IF !(ITEM1)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM2)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM3)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM4)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM5)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM6)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM7)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM8)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM9)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM10)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM11)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM12)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM13)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM14)=VAR
STOR 1 TO OK
ENDI
IF !(ITEM15)=VAR
STOR 1 TO OK
ENDI
STOR OK TO F3
ENDI
IF F1=1.AND.F2=1.AND.F3=1
ERAS
? STR(#,3),NAME
STOR 1 TO HIT
STOR 'Y' TO Q
STOR 0 TO O1
DO WHILE O1=0
@ 22,0 SAY WTE GET Q
READ
IF !(Q)<>'Y'.AND.!(Q)<>'N'
@ 23,0 SAY INV
LOOP
ELSE
STOR 1 TO O1
ENDI
ENDD
IF !(Q)='Y'
STOR 'Y' TO PRA
ERAS
IF !(O) = 'D'
SET FORM TO SCRE
STOR -23 TO F
ELSE
STOR ' ' TO PR
@ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
READ
STOR ' ' TO PR
STOR 0 TO F
SET FORM TO PRIN
ENDI
@ 0,0 SAY 'Record #'
@ 0,10 SAY #
@ 1,0 SAY 'Category'
IF TYPE = 1
@ 1,10 SAY '1 Appetizers'
ENDI
IF TYPE = 2
@ 1,10 SAY '2 Salads'
ENDI
IF TYPE = 3
@ 1,10 SAY '3 Main Dishes'
ENDI
IF TYPE = 4
@ 1,10 SAY '4 Vegetable Dishes'
ENDI
IF TYPE = 5
@ 1,10 SAY '5 Breads'
ENDI
IF TYPE = 6
@ 1,10 SAY '6 Desserts'
ENDI
IF TYPE = 7
@ 1,10 SAY '7 Cookies'
ENDI
@ 2,0 SAY 'Name'
@ 2,10 SAY NAME
@ 3,0 SAY 'Remarks'
@ 3,10 SAY REMARKS
@ 5,0 SAY 'Ingredients'
@ 7,A+6 SAY ITEM1
@ 8,A+6 SAY ITEM2
@ 9,A+6 SAY ITEM3
@ 10,A+6 SAY ITEM4
@ 11,A+6 SAY ITEM5
@ 12,A+6 SAY ITEM6
@ 13,A+6 SAY ITEM7
@ 14,A+6 SAY ITEM8
@ 15,A+6 SAY ITEM9
@ 16,A+6 SAY ITEM10
@ 17,A+6 SAY ITEM11
@ 18,A+6 SAY ITEM12
@ 19,A+6 SAY ITEM13
@ 20,A+6 SAY ITEM14
@ 21,A+6 SAY ITEM15
IF !(O)='D'
@ 23,0 SAY PRC GET PR
READ
ERAS
ENDI
@ F+23,0 SAY 'Instructions'
@ F+25,A+6 SAY INSTRUCT1
@ F+26,A+6 SAY INSTRUCT2
@ F+27,A+6 SAY INSTRUCT3
@ F+28,A+6 SAY INSTRUCT4
@ F+29,A+6 SAY INSTRUCT5
@ F+30,A+6 SAY INSTRUCT6
@ F+31,A+6 SAY INSTRUCT7
@ F+32,A+6 SAY INSTRUCT8
@ F+33,A+6 SAY INSTRUCT9
@ F+34,A+6 SAY INSTRUCT10
@ F+36,0 SAY 'Preparation Time'
@ F+37,0 SAY '(Minutes)'
@ F+37,11 SAY PREPTIME
@ F+39,0 SAY 'Serving Hints'
@ F+40,A+6 SAY HINT1
@ F+41,A+6 SAY HINT2
IF !(O)='D'
IF SHOP='Y'
@ 23,0 SAY PRO GET PRA
ELSE
@ 23,0 SAY PRC GET PR
ENDI
READ
STOR ' ' TO PR
ENDI
IF !(O)='P'
EJECT
SET FORM TO SCRE
IF SHOP='Y'
ERAS
@ 12,A+9 SAY PRO GET PRA
READ
ENDI
ERAS
ENDI
IF !(SHOP)='Y'.AND.!(PRA)='Y'
SELE SECO
APPE BLANK
REPL S.NAME WITH P.NAME
REPL S.ITEM1 WITH P.ITEM1
REPL S.ITEM2 WITH P.ITEM2
REPL S.ITEM3 WITH P.ITEM3
REPL S.ITEM4 WITH P.ITEM4
REPL S.ITEM5 WITH P.ITEM5
REPL S.ITEM6 WITH P.ITEM6
REPL S.ITEM7 WITH P.ITEM7
REPL S.ITEM8 WITH P.ITEM8
REPL S.ITEM9 WITH P.ITEM9
REPL S.ITEM10 WITH P.ITEM10
REPL S.ITEM11 WITH P.ITEM11
REPL S.ITEM12 WITH P.ITEM12
REPL S.ITEM13 WITH P.ITEM13
REPL S.ITEM14 WITH P.ITEM14
REPL S.ITEM15 WITH P.ITEM15
SELE PRIM
ENDI
ENDI
ENDI
SKIP
STOR I+1 TO I
STOR 'Y' TO CS
IF HIT=1
ERAS
STOR 0 TO HIT
STOR 0 TO O1
DO WHILE O1=0
ERAS
@ 12,A+15 SAY 'Continue Searching? ' GET CS
@ 13,A+15 SAY ' (Y or N)'
READ
ERAS
IF !(CS)<>'N'.AND.!(CS)<>'Y'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
LOOP
ELSE
STOR 1 TO O1
LOOP
ENDI
ENDD
ENDI
IF !(CS)='N'
STOR '0' TO T
STOR 'N' TO C
ENDI
ENDD
STOR 1 TO I
IF T<>'0'
IF T<>' '.AND.TYPE<>VAL(T)
ERAS
@ 12,A+13 SAY ENDS
@ 13,A+13 SAY PRC GET PR
READ
STOR 'N' TO C
STOR ' ' TO PR
ERAS
ELSE
IF EOF
ERAS
@ 12,A+13 SAY END
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
STOR 'N' TO C
ENDI
ENDI
ENDI
ENDD
ENDD
ENDI
IF D='4'
STOR 0 TO M7
DO WHILE M7=0
ERAS
@ 1,A+11 SAY 'Recipe Selection by Category'
@ 2,A+16 SAY '& Preparation Time'
@ 4,A+10 SAY 'microGOURMET Recipe Categories'
@ 6,A+18 SAY '1 Appetizers'
@ 7,A+18 SAY '2 Salads'
@ 8,A+18 SAY '3 Main Dishes'
@ 9,A+18 SAY '4 Vegetable Dishes'
@ 10,A+18 SAY '5 Breads'
@ 11,A+18 SAY '6 Desserts'
@ 12,A+18 SAY '7 Cookies'
@ 14,A+10 SAY 'Enter the number of your choice ' GET T
@ 15,A+10 SAY ' or enter 0 for previous menu'
@ 17,A+10 SAY CLB
READ
IF (T<'0'.OR.T>'7').AND.T<>' '
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF T='0'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
STOR 1 TO M7
LOOP
ENDI
IF T<>' '
FIND &T
STOR ' ' TO K
IF #=0
ERAS
@ 12,A+13 SAY NF GET K
@ 13,A+13 SAY PRC
READ
STOR ' ' TO K
LOOP
ENDI
ELSE
GOTO TOP
ENDI
ERAS
STOR ' ' TO PREP
@ 12,A+10 SAY 'Maximum Preparation Time? ' GET PREP
@ 13,A+17 SAY '(in minutes)'
@ 15,A+11 SAY 'Recipes will be found which'
@ 16,A+11 SAY ' do not exceed this time'
READ
STORE VAL(PREP) TO PTIME
ERAS
ERAS
STOR 'Y' TO C
STOR 0 TO HIT
DO WHILE !(C)='Y'
STOR 1 TO I
DO WHILE I<21.AND.(TYPE=VAL(T).OR.T=' ').AND..NOT.EOF
IF PREPTIME <= PTIME
@ I,0 SAY STR(#,3)
@ I,4 SAY NAME
@ I,34 SAY PREPTIME
@ I,37 SAY 'min'
STOR 1 TO HIT
STOR I+1 TO I
ENDI
SKIP
ENDD
IF T<>' '.AND.TYPE<>VAL(T).AND.HIT=0
ERAS
@ 12,A+13 SAY ENDS
@ 13,A+13 SAY PRC GET PR
READ
STOR 'N' TO C
STOR ' ' TO PR
ERAS
ELSE
STOR 1 TO I
STOR 0 TO K1
IF HIT=1
@ 22,0 SAY SNC GET K1
@ 23,0 SAY PRC
ELSE
ERAS
@ 12,A+13 SAY NF GET K
@ 13,A+13 SAY PRC
ENDI
READ
IF K1=0
IF HIT=1
ERAS
STOR 'Y' TO CS
STOR 0 TO O1
DO WHILE O1=0
ERAS
@ 12,A+15 SAY 'Continue Searching? ' GET CS
@ 13,A+15 SAY ' (Y or N)'
READ
ERAS
IF !(CS)<>'N'.AND !(CS)<>'Y'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
ERAS
STOR ' ' TO PR
LOOP
ELSE
STOR 1 TO O1
ENDI
ENDD
IF !(CS)='N'
STOR 'N' TO C
ENDI
ENDI
ELSE
SET INDEX TO &RINDEX
STOR 0 TO Z
DO WHILE Z=0
STOR STR(K1,5) TO K2
FIND &K2
IF #=0
@ 21,0 SAY 'Recipe Not Found'
@ 22,0 SAY 'Select a number ' GET K1
@ 23,0 SAY ' '
READ
LOOP
ELSE
STOR 1 TO Z
LOOP
ENDI
ENDD
STOR 'Y' TO PRA
ERAS
IF !(O) = 'D'
SET FORM TO SCRE
STOR -23 TO F
ELSE
STOR ' ' TO PR
@ 12,A+12 SAY 'Ready Printer, Press Return' GET PR
READ
STOR ' ' TO PR
STOR 0 TO F
SET FORM TO PRIN
ENDI
@ 0,0 SAY 'Record #'
@ 0,10 SAY #
@ 1,0 SAY 'Category'
IF TYPE = 1
@ 1,10 SAY '1 Appetizers'
ENDI
IF TYPE = 2
@ 1,10 SAY '2 Salads'
ENDI
IF TYPE = 3
@ 1,10 SAY '3 Main Dishes'
ENDI
IF TYPE = 4
@ 1,10 SAY '4 Vegetable Dishes'
ENDI
IF TYPE = 5
@ 1,10 SAY '5 Breads'
ENDI
IF TYPE = 6
@ 1,10 SAY '6 Desserts'
ENDI
IF TYPE = 7
@ 1,10 SAY '7 Cookies'
ENDI
@ 2,0 SAY 'Name'
@ 2,10 SAY NAME
@ 3,0 SAY 'Remarks'
@ 3,10 SAY REMARKS
@ 5,0 SAY 'Ingredients'
@ 7,A+6 SAY ITEM1
@ 8,A+6 SAY ITEM2
@ 9,A+6 SAY ITEM3
@ 10,A+6 SAY ITEM4
@ 11,A+6 SAY ITEM5
@ 12,A+6 SAY ITEM6
@ 13,A+6 SAY ITEM7
@ 14,A+6 SAY ITEM8
@ 15,A+6 SAY ITEM9
@ 16,A+6 SAY ITEM10
@ 17,A+6 SAY ITEM11
@ 18,A+6 SAY ITEM12
@ 19,A+6 SAY ITEM13
@ 20,A+6 SAY ITEM14
@ 21,A+6 SAY ITEM15
IF !(O)='D'
@ 23,0 SAY PRC GET PR
READ
ERAS
ENDI
@ F+23,0 SAY 'Instructions'
@ F+25,A+6 SAY INSTRUCT1
@ F+26,A+6 SAY INSTRUCT2
@ F+27,A+6 SAY INSTRUCT3
@ F+28,A+6 SAY INSTRUCT4
@ F+29,A+6 SAY INSTRUCT5
@ F+30,A+6 SAY INSTRUCT6
@ F+31,A+6 SAY INSTRUCT7
@ F+32,A+6 SAY INSTRUCT8
@ F+33,A+6 SAY INSTRUCT9
@ F+34,A+6 SAY INSTRUCT10
@ F+36,0 SAY 'Preparation Time'
@ F+37,0 SAY '(Minutes)'
@ F+37,11 SAY PREPTIME
@ F+39,0 SAY 'Serving Hints'
@ F+40,A+6 SAY HINT1
@ F+41,A+6 SAY HINT2
IF !(O)='D'
IF SHOP='Y'
@ 23,0 SAY PRO GET PRA
ELSE
@ 23,0 SAY PRC GET PR
ENDI
READ
STOR ' ' TO PR
ENDI
IF !(O)='P'
EJECT
SET FORM TO SCRE
IF SHOP='Y'
ERAS
@ 12,A+9 SAY PRO GET PRA
READ
ENDI
ENDI
ERAS
IF !(SHOP)='Y'.AND.!(PRA)='Y'
SELE SECO
APPE BLANK
REPL S.NAME WITH P.NAME
REPL S.ITEM1 WITH P.ITEM1
REPL S.ITEM2 WITH P.ITEM2
REPL S.ITEM3 WITH P.ITEM3
REPL S.ITEM4 WITH P.ITEM4
REPL S.ITEM5 WITH P.ITEM5
REPL S.ITEM6 WITH P.ITEM6
REPL S.ITEM7 WITH P.ITEM7
REPL S.ITEM8 WITH P.ITEM8
REPL S.ITEM9 WITH P.ITEM9
REPL S.ITEM10 WITH P.ITEM10
REPL S.ITEM11 WITH P.ITEM11
REPL S.ITEM12 WITH P.ITEM12
REPL S.ITEM13 WITH P.ITEM13
REPL S.ITEM14 WITH P.ITEM14
REPL S.ITEM15 WITH P.ITEM15
SELE PRIM
ENDI
SET INDEX TO &TINDEX
STOR 'Y' TO CS
STOR 0 TO O1
DO WHILE O1=0
ERAS
@ 12,A+15 SAY 'Continue Searching? ' GET CS
@ 13,A+15 SAY ' (Y or N)'
READ
ERAS
IF !(CS)<>'N'.AND !(CS)<>'Y'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
ERAS
STOR ' ' TO PR
LOOP
ELSE
STOR 1 TO O1
ENDI
ENDD
IF !(CS)='N'
STOR 'N' TO C
ELSE
IF T<>' '
FIND &T
ELSE
GOTO TOP
ENDI
ENDI
ENDI
IF EOF.AND.HIT=1
ERAS
@ 12,A+13 SAY END
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
STOR 'N' TO C
ENDI
IF HIT=0
STOR 'N' TO C
ENDI
STOR 0 TO HIT
ENDI
ENDD
ENDD
ENDI
ENDD
CASE M='3'
STOR 0 TO M4
DO WHILE M4=0
ERAS
@ 3,A+15 SAY 'microGOURMET Data Base'
@ 4,A+18 SAY 'Maintenance Menu'
@ 6,A+17 SAY '1 Add Recipe(s)'
@ 7,A+17 SAY '2 Change Recipe(s)'
@ 8,A+17 SAY '3 Delete Recipe(s)'
@ 10,A+10 SAY 'Enter the number of your choice ' GET FM
@ 11,A+10 SAY ' or enter ? for help'
@ 12,A+10 SAY ' or enter 0 for previous menu'
READ
IF (FM<'0'.OR.FM>'3').AND.FM<>'?'
ERAS
@ 12,A+19 SAY INV
@ 13,A+13 SAY PRC GET PR
READ
STOR ' ' TO PR
LOOP
ENDI
IF FM='?'
ERAS
@ 1,A+6 SAY ' microGOURMET Help'
@ 2,A+6 SAY 'This menu is for data base maintenance.'
@ 3,A+6 SAY 'You can add, change or delete recipes.'
@ 4,A+6 SAY 'dBASE II commands APPEND and EDIT are'
@ 5,A+6 SAY 'are used here. You should be familiar'
@ 6,A+6 SAY 'with them before proceeding. You should'
@ 7,A+6 SAY 'also make sure to install dBASE II so'
@ 8,A+6 SAY 'that the number of columns matches the'
@ 9,A+6 SAY 'number which you have on the screen.'
@ 11,A+6 SAY 'Details of using these functions may be'
@ 12,A+6 SAY 'found in the manual under the heading'
@ 13,A+6 SAY 'Data Base Maintenance.'
@ 15,A+6 SAY PRC GET PR
READ
STOR ' ' TO PR
ERAS
LOOP
ENDI
IF FM='0'
ERAS
@ 12,A+16 SAY 'One Moment Please...'
STOR 1 TO M4
LOOP
ENDI
IF FM='1'
STOR 'Y' TO ADR
ERAS
@ 11,A+9 SAY 'You must have space on the disk'
@ 12,A+9 SAY 'drive which has the recipes on it'
@ 14,A+9 SAY 'Do you want to continue? ' GET ADR
READ
IF !(ADR)='N'
LOOP
ELSE
SET COLON ON
SET BELL ON
APPE
SET COLON OFF
SET BELL OFF
LOOP
ENDI
ENDI
IF FM='2'
SET COLON ON
SET BELL ON
ERAS
EDIT
SET COLON OFF
SET BELL OFF
LOOP
ENDI
IF FM='3'
SET COLON ON
SET BELL ON
ERAS
@ 1,0 SAY 'Press control-U to delete a record'
@ 2,0 SAY '(after entering the record number)'
@ 3,0 SAY ' '
EDIT
SET COLON OFF
SET BELL OFF
STOR 'N' TO DER
ERAS
@ 11,A+8 SAY 'Delete the record(s) permanently? ' GET DER
@ 12,A+21 SAY '(Y or N)'
READ
IF !(DER)='Y'
ERAS
@ 11,A+9 SAY 'Please wait while the'
@ 12,A+9 SAY 'data base is updated'
PACK
ENDI
ENDI
ENDD
ENDC
ENDD