Guardian Programmer's Guide

Table Of Contents
Communicating With Magnetic Tape
Guardian Programmer’s Guide 421922-014
12 - 63
Writing the Program
!------------------------------------------------------------
! Procedure to append a record to the file
!------------------------------------------------------------
PROC APPEND^RECORD;
BEGIN
INT ERROR;
INT COUNT^READ;
INT SEQ^NUM := 0;
! Open the tape file and set buffered mode:
CALL OPEN^TAPE^FILE;
! Blank tape buffer:
TBUFFER[0] ':=' " ";
TBUFFER[1] ':=' TBUFFER[0] FOR 1023;
! Initialize the index into the tape buffer:
INDEX := 0;
! Write records to file. This loop prompts the user for
! each additional record to be written:
DO BEGIN
! Blank the log record structure:
RECORD^POINTER[0] ':=' " ";
RECORD^POINTER[1] ':=' RECORD^POINTER[0] FOR 255;
! Prompt user for date:
PROMPT^AGAIN:
PRINT^BLANK;
SBUFFER ':=' "Enter Today's Date (mmddyyyy): "
-> @S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,COUNT^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);
IF COUNT^READ <> 8 THEN GOTO PROMPT^AGAIN;
! Put date into record structure:
LOG^RECORD.DATE ':=' SBUFFER[0] FOR COUNT^READ;
! Prompt user for comments:
SBUFFER ':=' "Please Enter Your Comments: " -> @S^PTR;
CALL WRITEREADX(TERMNUM,SBUFFER,@S^PTR '-' @SBUFFER,
BUFSIZE,COUNT^READ);
IF <> THEN CALL FILE^ERRORS(TERMNUM);