新人求教:memo中的数据转换问题
学习delphi不久,控件属性操控能力不是很强,现在遇到一个很急 的问题,明天要给老师做汇报时需要演示一下;
主要作用就是在数控机床操控时 将xy的坐标数值 之前加上G01 x y ,单击 转换 按键后 memo1里的内容 就转换问了memo2 中的样子
新人 分不多啊,多谢帮助!
[解决办法]
var
i : integer;
s : string;
begin
memo2.clear;
for i := 0 to memo1.lines.count - 1 do
begin
s := memo1.lines.string[i];
if pos('交线数据', s) < 1 then
s := 'G01 X' + StringReplace(s, ' ', ' Y', [rfReplaceAll]); //此处的' '换成你memo1中的分隔符即可
memo2.lines.add(s);
end;
end;
[解决办法]
2# 的可能有问题哦, StringReplace(s, ' ', ' Y', [rfReplaceAll]) 万一有多个空格呢?
还是把两个值取出来把, 加一下就行了
s := 'G01 X' + str1 + ' Y' + str2;
[解决办法]
引用:
多谢楼上两位,功能已经实现,但是 s := memo1.lines.string[i]; 有错误
网上找的程序将string[i]改成了strings[i]
程序正常
但是出现一个问题memo1对应的 回车行 在memo2也出现了 G01 x
请问一下这个如何 解决啊
var
i : integer;
s : string;
begin
memo2.clear;
for i := 0 to memo1.lines.count - 1 do
begin
s := memo1.lines.string[i];
if (pos('交线数据', s) < 1) and (Trim(s) <> '') then
s := 'G01 X' + StringReplace(s, ' ', ' Y', [rfReplaceAll]); //此处的' '换成你memo1中的分隔符即可
memo2.lines.add(s);
end;
end;