Guardian Programmer's Guide

Table Of Contents
Using DEFINEs
Guardian Programmer’s Guide 421922-014
7 - 38
Using DEFINEs: An Example
BEGIN
CALL DEFINE^ERRORS(ERROR);
GOTO DO^AGAIN;
END;
! Prompt the user for the DEFINE name:
REENTER^NAME:
PRINT^BLANK;
SBUFFER ':=' "Please Enter a Name for the DEFINE: "
->@S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,COUNT^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);
IF SBUFFER[0] <> "=" THEN
BEGIN
PRINT^STR("First Character Must Be '='");
GOTO REENTER^NAME;
END;
IF COUNT^READ > 24 THEN
BEGIN
PRINT^STR
("Maximum DEFINE name length 24 characters");
GOTO REENTER^NAME;
END;
DEFINE^NAME[0] ':=' " ";
DEFINE^NAME[1] ':=' DEFINE^NAME[0] FOR 23;
DEFINE^NAME[0] ':=' SBUFFER FOR COUNT^READ;
! Add the DEFINE to the PFS:
ERROR := DEFINEADD(DEFINE^NAME);
IF ERROR <> 0 THEN
BEGIN
CALL DEFINE^ERRORS(ERROR);
GOTO DO^AGAIN;
END;
! Prompt the user to enter more DEFINEs:
PRINT^BLANK;
SBUFFER ':=' "Do You Wish to Enter More DEFINEs (y/n)?"
-> @S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,COUNT^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);
END
UNTIL SBUFFER[0] <> "y" AND SBUFFER[0] <> "Y";
END;