先谢谢大家的关注!
问题:
将文件中含“N”和“ F”字符的行合并到下一行
......
N2 F1000.0000
N3 X29.31016 Y27.67405 Z-15.00000 I0.000000 J0.000000 K1.000000
N4 X29.86335 Y29.54488 Z-15.00000 I0.000000 J0.000000 K1.000000
N5 X29.65850 Y31.48499 Z-15.00000 I0.000000 J0.000000 K1.000000
N6 X28.72679 Y33.19903 Z-15.00000 I0.000000 J0.000000 K1.000000
N47 F1000.0000
N48 X-23.83488 Y20.89310 Z-5.00000 I0.000000 J0.000000 K1.000000
N49 X-26.27462 Y18.00000 Z-5.00000 I0.000000 J0.000000 K1.000000
......
N2 F1000.0000 N3 X29.31016 Y27.67405 Z-15.00000 I0.000000 J0.000000 K1.000000
如果包含“N”和“ F”字符,就不写文件,继续读原文件,把读到的和前面的内容拼接起来出力。
这样就可以:N2 F1000.0000 N3 X29.31016 Y27.67405 Z-15.00000 I0.000000 J0.000000 K1.000000谢谢!
连行=false
if instr(数据,"F") then
if instr(数据,"N") then
连行=true
endif
endif
if 连行 then
print #2,数据 ; '注意,这里有个分号
else
print #2,数据
endif
读下一行#2,是新生成的文件.
连行=false
if instr(数据,"F") and instr(数据,"N") then
连行=true
endif
if 连行 then
str = 数据
else
str = str + 数据 (或者str = 数据+str)
print #2,数据
str = "" '打印好后,清空
endif
读下一行#2,是新生成的文件
N3 X29.31016 Y27.67405 Z-15.00000 I0.000000 J0.000000 K1.000000 N2 F1000.0000
恐怕不是你的目的吧?因为行里包含有 ‘N2’,在加工程序中这就是多余字符串了。
==========
我猜你的原意是:将类似下面两行
N2 F1000.0000
N3 X29.31016 Y27.67405 Z-15.00000 I0.000000 J0.000000 K1.000000
转换成:
N3 F1000.0000 X29.31016 Y27.67405 Z-15.00000 I0.000000 J0.000000 K1.000000
或者转换成:
N3 X29.31016 Y27.67405 Z-15.00000 I0.000000 J0.000000 K1.000000 F1000.0000
均可
谢谢各位!刚开始学“软件程序开发”。mmyyxx88:
是的,是数控程序。我主要做数控加工编程及仿真软件应用的。现在有时间玩玩“真正的编程”。