LOADMSG " Loading Script. Please wait..." ; Background (first digit) Foreground (second digit) ; ------------------------ ------------------------- ; Black = 0 Black = 0 ; Blue = 1 Blue = 1 ; Green = 2 Green = 2 ; Cyan = 3 Cyan = 3 ; Red = 4 Red = 4 ; Magenta = 5 Magenta = 5 ; Yellow = 6 Yellow = 6 ; White = 7 White = 7 ; ; Background w/Blinking High Intensity Foregounds ; ------------------------ ------------------------- ; Black = 8 Black = 8 ; Blue = 9 Blue = 9 ; Green = A Green = A ; Cyan = B Cyan = B ; Red = C Red = C ; Magenta = D Magenta = D ; Yellow = E Yellow = E ; White = F White = F ; FLUSH_KB BEEPS OFF MIN_ATTR BRIGHT RED BLACK MAX_ATTR BRIGHT BLUE BLACK ANS_ATTR BRIGHT YELLOW BLACK FIELDS YesOrNo _ L Op _ C Go . C INum .......... C IDesc .............................. C IPrice ......... N OKey ........................................ C OName ........................................ C ODate ........ C OTime ........ C OPhone ................. C OQty .... N ItemLun . N 0 OrderLun . N 1 Row .......... N Total .......... N FIELDS ; ;---------------------------------------------------------------------- ; Inventory file format ; FORMAT ItemFmt INum IDesc IPrice FORMAT ; ;---------------------------------------------------------------------- ; Order file format ; FORMAT OrderFmt OKey OName OPhone ODate OTime OQty INum IDesc IPrice FORMAT ; ;---------------------------------------------------------------------- ; Open data files ; OPENFILE ItemLun J:\PCB\DOOR\ITEM.DAT OPENFILE OrderLun J:\PCB\DOOR\ORDER.DAT ; ;---------------------------------------------------------------------- ; Prompt user for option ; :GetOp SET Op CLEARLINES 1 23 COLOR BRIGHT WHITE BLUE REPEAT 2 1 " " 80 DISPLAYC 2 "Order Main Menu" COLOR BRIGHT WHITE BLACK REPEAT 1 1 "Ä" 80 REPEAT 3 1 "Ä" 80 REPEAT 22 1 "Ä" 80 DISPLAY 8 32 "@X0FL@X08...@X0EList Items" DISPLAY 9 32 "@X0FO@X08...@X0EOrder Item" DISPLAY 10 32 "@X0FE@X08...@X0EExit" COLOR BRIGHT YELLOW BLACK ACCEPT 13 32 "@X0BSelect Option: " Op UCASE Op SWITCH Op CASE "E" GOTO Done BREAK CASE "L" GOTO List BREAK CASE "O" GOTO Order BREAK SWITCH END GOTO GetOp TOP ; ;---------------------------------------------------------------------- ; list items in ITEM.DAT file ; :List CLEARLINES 1 23 COLOR BRIGHT WHITE BLUE REPEAT 2 1 " " 80 REPEAT 4 1 " " 80 DISPLAYC 2 "Item List" DISPLAY 4 15 "Item" DISPLAY 4 22 "Description" DISPLAY 4 60 "Price" COLOR BRIGHT WHITE BLACK REPEAT 1 1 "Ä" 80 REPEAT 3 1 "Ä" 80 REPEAT 5 1 "Ä" 80 REPEAT 22 1 "Ä" 80 COLOR BRIGHT YELLOW BLACK MAX_ATTR BLACK BLACK ANS_ATTR BLACK BLACK GOTORC 7 1 SET Row 7 READFILE ItemLun ItemFmt "*BOF*" ;pos to bof :List1 READFILE ItemLun ItemFmt ;read next seq rec IF @file_stat@ != "*OK*" ;chk for err GOTO List9 ;exit list if err (eof) ENDIF ; DISPLAY Row 15 INum DISPLAY Row 22 IDesc DISPLAY Row 60 IPrice INC Row IF Row > 18 ACCEPT 20 28 "Press ENTER to continue" Go CLEARLINES 6 20 SET Row 7 ENDIF GOTO List1 TOP :List9 ACCEPT 20 28 "Press ENTER to continue" Go ANS_ATTR BRIGHT YELLOW BLACK MAX_ATTR BRIGHT BLUE BLACK GOTO GetOp ; ;---------------------------------------------------------------------- ; Place an order ; :Order CLEARLINES 6 21 COLOR BRIGHT WHITE BLUE REPEAT 2 1 " " 80 DISPLAYC 2 "Order Entry" COLOR BRIGHT WHITE BLACK REPEAT 1 1 "Ä" 80 REPEAT 3 1 "Ä" 80 REPEAT 22 1 "Ä" 80 :GetItem SET INum COLOR BRIGHT YELLOW BLACK ACCEPT 7 10 "Item Number to order: " INum REPEAT 7 45 " " 30 NULL_ENTRY Order9 READFILE ItemLun ItemFmt INum IF @file_stat@ != "*OK*" ;chk for err DISPLAY 7 45 "Item not on file : " INum GOTO GetItem TOP ENDIF DISPLAY 8 10 " Description: " IDesc DISPLAY 9 10 " Unit Price: " IPrice SET OQty 1 ACCEPT 10 10 " Quantity to order: " OQty IF OQty == 0 CLEARLINES 8 21 GOTO GetItem TOP ENDIF MUL Total OQty IPrice REPEAT 11 31 "-" 10 DISPLAY 12 31 Total SET YesOrNo ACCEPT 15 28 "Is this correct? " YesOrNo IF YesOrNo == "N" CLEARLINES 8 21 GOTO GetItem TOP ENDIF SET OKey @sysdate@ @systime@ SET OName @user@ SET OPhone @homephone@ SET ODate @sysdate@ SET OTime @systime@ WRITEFILE OrderLun OrderFmt CLEARLINES 6 21 GOTO GetItem TOP :Order9 GOTO GetOp ; ;---------------------------------------------------------------------- ; all done. return to bbs........ ; :Done CLOSEFILE ItemLun CLOSEFILE OrderLun CLEARCRT EXIT