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');

大概就是这个意思,不知道表达清楚了没有。
展开
 我来答
Assemble_ho
2014-07-31 · 超过15用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:31.5万
展开全部

思路:

  1. 获取Edit.text 中的数字

  2. 循环组合字符串,8个数字算一组,前加上“+”,后加上回车

  3. 添加到memo1,一方面界面用于界面显示,另一方面保存文件。

匿名用户
推荐于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;
这样
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式