有10个基数和10个步长和需要输出的N倍取出memo1包含的第一个%d用第1基数和步长,以此类推
memo1的内容以N的倍数输出到memo2例:
memo1的内容
abc%dcf%d
abc%d
参数1的基数为0,参数1的步长为1
参数2的基数为1,参数2的步长为2
参数3的基数为3,参数3的步长为3
输出为memo1的倍数5memo2的输出内容如下
abc0cf1
abc3abc1cf3
abc7abc2cf5
abc11abc3cf7
abc15abc4cf9
abc19有什么好的实现方法,如果大于100000倍的时候,就要考虑输出效率如果用多线程输出,应该怎么写.新手麻烦各位不吝赐教.
memo1的内容以N的倍数输出到memo2例:
memo1的内容
abc%dcf%d
abc%d
参数1的基数为0,参数1的步长为1
参数2的基数为1,参数2的步长为2
参数3的基数为3,参数3的步长为3
输出为memo1的倍数5memo2的输出内容如下
abc0cf1
abc3abc1cf3
abc7abc2cf5
abc11abc3cf7
abc15abc4cf9
abc19有什么好的实现方法,如果大于100000倍的时候,就要考虑输出效率如果用多线程输出,应该怎么写.新手麻烦各位不吝赐教.
没必要多线程
a1:=0; d1:=1;
a2:=1; d2:=2;
a3:=3; d3:=3;
memo2.lines.beginupdate;
for i:=1 to 10 do
begin
memo2.lines.add(format(memo1.lines.text,[a1,a2,a3]));
inc(a1,d1);
inc(a2,d2);
inc(a3,d3);
end;
memo2.lines.endupdate;
基数,步长个数固定的情况,如果包含的%d超过3个以后该什么判断?超过%d如何以原型%d输出
先s:=memo1.lines.text;
再循环用pos('%d',s1)再删除前面的方法找出第3个%d的位置x,
s1:=copy(s,x+2,1024*1000);
把s1里的%d替换为%%d
然后s:=copy(s,1,x+1)+s1;
a1:=0; d1:=1;
a2:=1; d2:=2;
a3:=3; d3:=3;
memo2.lines.beginupdate;
for i:=1 to 10 do
begin
memo2.lines.add(format(s,[a1,a2,a3]));
inc(a1,d……