如何将文本文件分割成若干文本文件,每个文本文件为30条记录,并保存为file1,file2...fileN?
文件格式如下:
管辖机构: 4012345 报表编号 :C0000001
扣款通知书
机构: 4000000xx支行 $w 页号: 1
------------------------------------------------------------------------------
xx支行 $w
日期: 2002-01-01
邮编 : 123456
地址 : 九龙路63弄10号101室
姓名 : 郑一
xx银行消费信贷扣款通知书
扣款日期: 2002-01-01
尊敬的 郑一 先生/女士 :
我行已从您的帐户中支取以下金额作为本次供款额, 特此通知。
------------------------------------------------------------------------------
贷款帐号 : 400000000000000001 客户编号 : 00000001
楼盘名称 : xxxx建设发展有限公司 楼盘编号 : 000001
存款帐号 : 4000000000001234567 总期数 : 180
现用利率 : 0.00465000 罚息利率 : 0.00630000
期号 本金 利息 罚息 起息日期
------------------------------------------------------------------------------
20 4,670.04 5,185.98 0.00 2002-01-11
本次扣款金额为 : 9,856.02
阁下现时在我行的贷款余额为 : 1,110,594.20
------------------------------------------------------------------------------
说明:如有不符,请于扣款后20天内到经办 银行查询 ,过期则视阁下已认可。
...........
...........
...........
...........
...........
...........
管辖机构: 4012345 报表编号 :C0000001
扣款通知书
机构: 4000000xx支行 $w 页号: 2
------------------------------------------------------------------------------
xx支行 $w
日期: 2002-01-01
邮编 : 123456
地址 : 八龙路263弄1号1101室
姓名 : 郑一
xx银行消费信贷扣款通知书
扣款日期: 2002-01-01
尊敬的 王小一 先生/女士 :
我行已从您的帐户中支取以下金额作为本次供款额, 特此通知。
------------------------------------------------------------------------------
贷款帐号 : 400000000000000002 客户编号 : 00000007
楼盘名称 : xxxx建设发展有限公司 楼盘编号 : 000002
存款帐号 : 4000000000002222227 总期数 : 180
现用利率 : 0.00465000 罚息利率 : 0.00630000
期号 本金 利息 罚息 起息日期
------------------------------------------------------------------------------
3 407.72 1,420.40 1.00 2002-01-01
本次扣款金额为 : 1,828.12
阁下现时在我行的贷款余额为 : 337,781.94
------------------------------------------------------------------------------
说明:如有不符,请于扣款后20天内到经办 银行查询 ,过期则视阁下已认可。 有朋友写了如下程序:
var
i,j , x : integer;
list1 : Tstrings;
templist : Tstrings;
tempfilename : string;
begin
list1 := Tstringlist.create;
templist := Tstringlist.create;
list1.loadfromfile('filename');
x :=0;
j := 1;
for i:= 1 to list1.count do
begin
templist.add(list1[i-1]);
if length(trim(list1[i-1]))=0 then
inc(j); //如果出现空行,记录数增加1
if (j mod 30)=0 then //j记载当前正在处理记录的条数
begin
inc(x); //增加文件名序列号
tempfilename :='file'+ inttostr(x);//合成新文件名
templist.savetofile(tempfilename);//保存临时list
templist.clear;//清除临时list
end;
end;
end;
运行通过,但存在两个问题:
1.产生的file1,file2...fileN不是txt文件,且不能选择保存路径.
2.最后不足30条的记录被舍弃了,没有保存到fileN
文件格式如下:
管辖机构: 4012345 报表编号 :C0000001
扣款通知书
机构: 4000000xx支行 $w 页号: 1
------------------------------------------------------------------------------
xx支行 $w
日期: 2002-01-01
邮编 : 123456
地址 : 九龙路63弄10号101室
姓名 : 郑一
xx银行消费信贷扣款通知书
扣款日期: 2002-01-01
尊敬的 郑一 先生/女士 :
我行已从您的帐户中支取以下金额作为本次供款额, 特此通知。
------------------------------------------------------------------------------
贷款帐号 : 400000000000000001 客户编号 : 00000001
楼盘名称 : xxxx建设发展有限公司 楼盘编号 : 000001
存款帐号 : 4000000000001234567 总期数 : 180
现用利率 : 0.00465000 罚息利率 : 0.00630000
期号 本金 利息 罚息 起息日期
------------------------------------------------------------------------------
20 4,670.04 5,185.98 0.00 2002-01-11
本次扣款金额为 : 9,856.02
阁下现时在我行的贷款余额为 : 1,110,594.20
------------------------------------------------------------------------------
说明:如有不符,请于扣款后20天内到经办 银行查询 ,过期则视阁下已认可。
...........
...........
...........
...........
...........
...........
管辖机构: 4012345 报表编号 :C0000001
扣款通知书
机构: 4000000xx支行 $w 页号: 2
------------------------------------------------------------------------------
xx支行 $w
日期: 2002-01-01
邮编 : 123456
地址 : 八龙路263弄1号1101室
姓名 : 郑一
xx银行消费信贷扣款通知书
扣款日期: 2002-01-01
尊敬的 王小一 先生/女士 :
我行已从您的帐户中支取以下金额作为本次供款额, 特此通知。
------------------------------------------------------------------------------
贷款帐号 : 400000000000000002 客户编号 : 00000007
楼盘名称 : xxxx建设发展有限公司 楼盘编号 : 000002
存款帐号 : 4000000000002222227 总期数 : 180
现用利率 : 0.00465000 罚息利率 : 0.00630000
期号 本金 利息 罚息 起息日期
------------------------------------------------------------------------------
3 407.72 1,420.40 1.00 2002-01-01
本次扣款金额为 : 1,828.12
阁下现时在我行的贷款余额为 : 337,781.94
------------------------------------------------------------------------------
说明:如有不符,请于扣款后20天内到经办 银行查询 ,过期则视阁下已认可。 有朋友写了如下程序:
var
i,j , x : integer;
list1 : Tstrings;
templist : Tstrings;
tempfilename : string;
begin
list1 := Tstringlist.create;
templist := Tstringlist.create;
list1.loadfromfile('filename');
x :=0;
j := 1;
for i:= 1 to list1.count do
begin
templist.add(list1[i-1]);
if length(trim(list1[i-1]))=0 then
inc(j); //如果出现空行,记录数增加1
if (j mod 30)=0 then //j记载当前正在处理记录的条数
begin
inc(x); //增加文件名序列号
tempfilename :='file'+ inttostr(x);//合成新文件名
templist.savetofile(tempfilename);//保存临时list
templist.clear;//清除临时list
end;
end;
end;
运行通过,但存在两个问题:
1.产生的file1,file2...fileN不是txt文件,且不能选择保存路径.
2.最后不足30条的记录被舍弃了,没有保存到fileN
解决方案 »
- 请教:小数如何转化为百分比
- 哪位了解串行通信的文件传输协议,主要是ASCII协议?100分等你拿。
- delphi数据类型转换有哪些函数呢?
- 在combobox或dbcombobox 下拉的时候怎样分两列显示两字段的内容
- 在网页中如何通过JAVASCRIPTS调用ACTIVEX控件的方法?请大家指点,谢谢~~
- 7.28 女朋友生日,可是我......失败啊.........
- 我写了一个动态链接库, 用ADO访问数据库,考到别的终端不能用,为什么。
- dcp文件中包含什么内容?
- 请问DELPHI中有如VB中的split(),ubound()的函数吗?快答!
- ?(中卡之战意义不太大,我不想看了)正题:上哪找delphi5的install shileld
- "运行时错误'429':ActiveX部件不能创建对象"是怎么回事,谢谢.
- 请问怎样声明一个静态变量?急!!
我测试了,Tstrings.savetofile明明可以存成TXT文件。你把tempfilename加上.txt的扩展名就可以了。
----------------------------------------------
riff ur life
2.选择保存路径,加上一个SaveDialog
3.最后不足30条记录被舍弃,因为条件句有漏洞,改为
if ( (j mod 30)=0 ) or (i=list1.count)
then ........