Delphi输出一段固定格式文本的写法
AnonymousSPCSETSPC12123456100001100000100002100003100004100005+1000061000071000081000...
Anonymous SPC SET
SPC1 2 123456 100001 100000 100002 100003 100004 100005
+ 100006 100007 100008 100009 100010 100011 100012 100013
+ 100014 100015 100016 100017 100018 100019 100020 100021
以上是我想输出的文本,保存为123.txt,于是写了下面的代码
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.add('$Anonymous SPC SET');
memo1.Lines.add('SPC1 2 123456 100001 100000 100002 100003 100004 100005');
memo1.Lines.add('+ 100006 100007 100008 100009 100010 100011 100012 100013');
memo1.Lines.add('+ 100014 100015 100016 100017 100018 100019 100020 100021');
memo1.Lines.savetofile('123.txt');
end;
现在的问题是,文本的前两行基本是固定的,但是后面是不固定的,这里是到100021结束,也可能是到100070或者到100090结束,甚至实际上是到100800左右才结束,那么如何能够按照这种格式继续往下写呢?用循环什么的怎样才能实现啊。
最后一个数可以在一个文本框:Edit1里输入
(固定格式是:算上“+”那列固定有9列,每组数都占8位,末端对齐不够8位前面补空格)
如果文本框里输入100070那最后两行就是:
memo1.Lines.add('+ 100062 100063 100064 100065 100066 100067 100068 100069');
memo1.Lines.add('+ 100070);
如果文本框里输入100090那最后两行就是:
memo1.Lines.add('+ 100078 100079 100080 100081 100082 100083 100084 100085');
memo1.Lines.add('+ 100086 100087 100088 100089 100090');
如果文本框里输入100800那最后两行就是:
memo1.Lines.add('+ 100790 100791 100792 100793 100794 100795 100796 100797);
memo1.Lines.add('+ 100798 100799 100800');
大概就是这个意思,不知道表达清楚了没有。 展开
SPC1 2 123456 100001 100000 100002 100003 100004 100005
+ 100006 100007 100008 100009 100010 100011 100012 100013
+ 100014 100015 100016 100017 100018 100019 100020 100021
以上是我想输出的文本,保存为123.txt,于是写了下面的代码
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.add('$Anonymous SPC SET');
memo1.Lines.add('SPC1 2 123456 100001 100000 100002 100003 100004 100005');
memo1.Lines.add('+ 100006 100007 100008 100009 100010 100011 100012 100013');
memo1.Lines.add('+ 100014 100015 100016 100017 100018 100019 100020 100021');
memo1.Lines.savetofile('123.txt');
end;
现在的问题是,文本的前两行基本是固定的,但是后面是不固定的,这里是到100021结束,也可能是到100070或者到100090结束,甚至实际上是到100800左右才结束,那么如何能够按照这种格式继续往下写呢?用循环什么的怎样才能实现啊。
最后一个数可以在一个文本框:Edit1里输入
(固定格式是:算上“+”那列固定有9列,每组数都占8位,末端对齐不够8位前面补空格)
如果文本框里输入100070那最后两行就是:
memo1.Lines.add('+ 100062 100063 100064 100065 100066 100067 100068 100069');
memo1.Lines.add('+ 100070);
如果文本框里输入100090那最后两行就是:
memo1.Lines.add('+ 100078 100079 100080 100081 100082 100083 100084 100085');
memo1.Lines.add('+ 100086 100087 100088 100089 100090');
如果文本框里输入100800那最后两行就是:
memo1.Lines.add('+ 100790 100791 100792 100793 100794 100795 100796 100797);
memo1.Lines.add('+ 100798 100799 100800');
大概就是这个意思,不知道表达清楚了没有。 展开
2个回答
推荐于2016-05-28
展开全部
你可以用循环,计算出一个 string 再写入
比如 for i:=1 to 200 do
begin
if i mod 8 = 0 then begin memo1.lines.add(s); s:='+ '; end
s:=s+' '+IntToStr(100+i);
end;
这样
比如 for i:=1 to 200 do
begin
if i mod 8 = 0 then begin memo1.lines.add(s); s:='+ '; end
s:=s+' '+IntToStr(100+i);
end;
这样
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询