这是一个用于若干存储单元重复输出的子程序,其存储的数据文件与其它相关子功能连用后还可扩大其应用。程序虽小,但很实用。现提供给我们TUTOR的用户。
procedure MEOUT (integer REF,STA,STB,TY;string PF[1])
!%par1 dyicon 1234
!%par1 dy 这是一个若干存储单元重复输出程序:
!%par1 prompt 请输入坐标系号: No.=?
!
!%par2 dyicon 1235
!%par2 dy 这是一个若干存储单元重复输出程序:
!%par2 prompt 请输入[MEMORY] 打印开始行=?
!
!%par3 dyicon 1235
!%par3 dy 这是一个若干存储单元重复输出程序:
!%par3 prompt 请输入[MEMORY] 打印结束行=?
!
!%par4 dyicon 1235
!%par4 dy 这是一个若干存储单元重复输出程序:
!%par4 prompt 元素类型 =? [全选=0 ][点=1 ][园=2 ][柱=3 ][线=4 ][面=5 ]
!
!%par5 dyicon 1235
!%par5 dy 这是一个若干存储单元重复输出程序:
!%par5 prompt 结果打印[P] / 结果存盘[F] ? [P/F]
!
integer EE
refsys REF
dy
prn
if (PF eq "F") or (PF eq "f") then
noprn
if TY eq 2 then
dy ("File name:[ c:\wtutor\meas\MJG.txt]")
prn ("File name:[ c:\wtutor\meas\MJG.txt]")
open ("c:\wtutor\meas\MJG.txt")
else
dy ("File name:[ c:\wtutor\meas\MJG0.txt]")
prn ("File name:[ c:\wtutor\meas\MJG0.txt]")
open ("c:\wtutor\meas\MJG0.txt")
end_if
file
format (circle,x=meas,y=meas,z=meas)
end_if
dy ("")
if STA eq 0 then
STA=1
end_if
if TY eq 0 then
for I=STA to STB by 1
EE=MEMO[I]|TYPE
if EE ne 0 then
blknb I
output MEMO[I]
end_if
end_for
elsif TY eq 1 then
for I=STA to STB by 1
EE=MEMO[I]|TYPE
if (EE eq 1) or (EE eq 10) then
blknb I
output MEMO[I]
end_if
end_for
elsif TY eq 2 then
for I=STA to STB by 1
EE=MEMO[I]|TYPE
if EE eq 2 then
blknb I
output MEMO[I]
end_if
end_for
elsif TY eq 3 then
for I=STA to STB by 1
EE=MEMO[I]|TYPE
if EE eq 4 then
blknb I
output MEMO[I]
end_if
end_for
elsif TY eq 4 then
for I=STA to STB by 1
EE=MEMO[I]|TYPE
if EE eq 6 then
blknb I
output MEMO[I]
end_if
end_for
elsif TY eq 5 then
for I=STA to STB by 1
EE=MEMO[I]|TYPE
if EE eq 7 then
blknb I
output MEMO[I]
end_if
end_for
end_if
if (PF eq "F") or (PF eq "f") then
close
nofile
end_if
end_procedure