c--- c variable declarations integer*2 FirstFld, LastFld integer*2 Row, Col, CurField, TermKeys(30) integer*2 NumberOfFields integer*2 LastKey, FieldNumber logical*1 Next, Previous, Exit, Refresh, Valid character* 4 Version character* 9 Date character* 6 GroupID character* 3 Operator character* 65 Description( 3) integer*2 ScanRate character* 6 StageVelocity c--- c Normal termination on F1 key c immediate termination on F2 key data TermKeys/ 1, 141, 1, 142, 26*0 / c--- c Default variable initialization data Version /' '/ data Date /' '/ data GroupID /' '/ data Operator /' '/ data Description(1) /' '/ data Description(2) /' '/ data Description(3) /' '/ data ScanRate /0/ data StageVelocity /' '/ c--- c Screen origin data Row, Col / 1, 1 / c--- c TTY initialization call TTYinit call EchoOff call KpdOn c--- c Starting edit field CurField = 1 c--- c Total number of screen parameters NumberOfFields = 9 c--- c Default limits FirstFld = 1 LastFld = NumberOfFields c--- c Clear the screen region 10 call GROUPClear( Row, Col ) c--- c Display the Text fields call GROUPTextDsp( Row, Col ) c--- c Display the Data fields call GROUPDataDsp( Row, Col, FirstFld, LastFld 1, Version, Date, GroupID, Operator, Description, ScanRate 1, StageVelocity 1 ) c--- c Edit the Data fields 20 call GROUPEdit( Row, Col, FirstFld, LastFld, CurField, TermKeys 1, Version, Date, GroupID, Operator, Description, ScanRate 1, StageVelocity 1, Next, Previous, Exit, Refresh, LastKey ) if( Refresh ) then goto 10 else if( Next ) then CurField = 1 goto 20 else if( Previous ) then CurField = NumberOfFields goto 20 else if( .not. Exit ) then goto 20 end if c--- c Validate the Data fields call GROUPValidate( FirstFld, LastFld 1, Version, Date, GroupID, Operator, Description, ScanRate 1, StageVelocity 1, Valid, FieldNumber ) if( .not. Valid ) then CurField = FieldNumber goto 20 end if call TTYinit call EchoOn call KpdOff End