Guardian Programmer's Guide

Table Of Contents
Communicating With Printers
Guardian Programmer’s Guide 421922-014
11 - 38
Sample Program for Using a Printer
! Prompt for the name of the supplier:
SBUFFER ':=' "Enter Supplier Name: " -> @S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,COUNT^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);
IF TYPE = NEW OR COUNT^READ > 0 THEN
BEGIN
COUNT^READ := $MIN(COUNT^READ,SUPPSIZE);
BLANK^FILL(PART^RECORD.SUPPLIER);
PART^RECORD.SUPPLIER ':=' SBUFFER FOR COUNT^READ;
PART^RECORD.SUP^LEN := COUNT^READ;
END;
! Prompt for the quantity on hand:
PROMPT^AGAIN:
SBUFFER ':=' "Enter Quantity On Hand: " -> @S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,COUNT^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);
IF TYPE = NEW OR COUNT^READ > 0 THEN
BEGIN
SBUFFER[COUNT^READ] := 0;
@NEXT^ADDR := NUMIN(SBUFFER,PART^RECORD.ON^HAND,10,
STATUS);
IF STATUS OR @NEXT^ADDR <> @SBUFFER[COUNT^READ] THEN
BEGIN
PRINT^STR("Invalid number");
GOTO PROMPT^AGAIN;
END;
END;
! Prompt or unit price:
PROMPT^AGAIN1:
SBUFFER ':=' "Enter Unit Price: $" -> @S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,COUNT^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);
IF TYPE = NEW OR COUNT^READ > 0 THEN
BEGIN
SBUFFER[COUNT^READ] := 0;
@NEXT^ADDR := NUMIN(SBUFFER,PART^RECORD.UNIT^PRICE,10,
STATUS);
IF STATUS OR @NEXT^ADDR <> @SBUFFER[COUNT^READ] THEN
BEGIN
PRINT^STR("Invalid number");
GOTO PROMPT^AGAIN1;
END;
END;
END;