Trailing-Edge
-
PDP-10 Archives
-
decuslib10-13
-
profil.for
There are 2 other files named profil.for in the archive. Click here to see a list.
program Profilometer
c---
c variable declarations ( Group screen )
Integer GRow, GCol, GCurField, GTermKeys(30)
Integer GNumberOfFields, GLastKey
Logical GNext, GPrevious, GExit, GRefresh
character* 4 Version
character* 9 Date
character* 6 GroupID
character* 3 Operator
character*65 Description
integer ScanRate
character* 6 StageVelocity
c---
c variable declarations ( Specimen screen )
Integer SRow, SCol, SCurField, STermKeys(30)
Integer SNumberOfFields, SLastKey
Logical SNext, SPrevious, SExit, SRefresh
character* 6 SpecimenID
character*12 Orientation
c---
c Misc variables
integer Abort
logical More
c---
c Variable initialization
data Abort /141/
data GRow /1/ , GCol /1/ , SRow /11/ , SCol /39/
c---
c immediate termination on F1 key
data GTermKeys/ 0, 1, 141, 27*0 /
data STermKeys/ 30*0 /
Version = '1.00'
call Today( Date )
GroupID = ' '
Operator = ' '
Description = ' '
ScanRate = -1
StageVelocity = '1.0'
SpecimenID = ' '
Orientation = 'Transverse'
c---
c Total number of screen parameters
GNumberOfFields = 7
SNumberOfFields = 2
c-- Initialize Terminal Routines
call TTYinit
call EchoOff
call KpdOn
c-- Display Specimen Group Information
GCurField = 3
100 call GroupClear( GRow, GCol )
call GroupTextDsp( GRow, GCol )
call GroupDataDsp( GRow, GCol
1 , Version, Date, GroupID, Operator, Description, ScanRate
1 , StageVelocity
1 )
c-- repeat
200 continue
c-- Get Specimen Group Information
300 call GroupEdit( GRow, GCol, GCurField, GTermKeys
1 , Version, Date, GroupID, Operator, Description, ScanRate
1 , StageVelocity
1 , GNext, GPrevious, GExit, GRefresh, GLastKey )
if( GLastKey .eq. Abort ) then
call KpdOff
call ClrScr
stop '[Program Aborted]'
else if( GNext ) then
GCurField = 3
else if( GPrevious ) then
GCurField = GNumberOfFields
else if( GRefresh ) then
goto 100
end if
if( .not. GExit ) goto 300
390 SCurField = 1
c-- repeat
400 continue
c-- Display and get Specimen Information
call SpecClear( SRow, SCol )
call SpecTextDsp( SRow, SCol )
call SpecDataDsp( SRow, SCol
1 , SpecimenID, Orientation
1 )
500 call SpecEdit( SRow, SCol, SCurField, STermKeys
1 , SpecimenID, Orientation
1 , SNext, SPrevious, SExit, SRefresh, SLastKey )
if( SNext ) then
SCurField = 1
else if( SPrevious ) then
SCurField = SNumberOfFields
else if( SRefresh ) then
call GroupClear( GRow, GCol )
call GroupTextDsp( GRow, GCol )
call GroupDataDsp( GRow, GCol
1 , Version, Date, GroupID, Operator, Description, ScanRate
1 , StageVelocity
1 )
goto 400
end if
if( .not. SExit ) goto 500
c-- Collect and Plot Test Data
call DoTest
c-- More Specimens?
call MoreSpecs( More )
c-- if Yes then Display Specimen Group Information
if( More ) then
call GroupClear( GRow, GCol )
call GroupTextDsp( GRow, GCol )
call GroupDataDsp( GRow, GCol
1 , Version, Date, GroupID, Operator, Description, ScanRate
1 , StageVelocity
1 )
end if
c-- until no more specimens
if( More ) goto 390
c-- Another Specimen Group?
call MoreGroups( More )
c-- until no more specimen groups
if( More ) goto 100
call KpdOff
call ClrScr
stop '[Normal Program Termination]'
c-- program end
end