现要求将此格文件转换成如下所示并保存至另一个文本中 ?咋整?

我有一个文本文档名X, 
保存如下所示数据N条, 
01200706261859E0010165059 
01200706261859E0010173847 
…… 
现要求将此格文件转换成如下所示并保存至另一个文本中 
2007/06/26 18:59:00 0010165059 001 00 1 00001 
2007/06/26 18:59:00 0010173847 001 00 1 00002 
…… 
即将前文本每行(01200706261859E0010165059)中第3至10位(20070626)取出保存为生成的文本中的(2007/06/26),11至14位取出加“:00”保存为(18:59:00),最后10位保持不变保存为(0010165059),第1,2位取出前加“0”保存001,生成文本中的00 1 00001自动生成,最后的00001为自动按行数累加; 
求高手帮个忙~~~~~~~!N急~~! 
谢谢!

交互式爱情
浏览 103回答 2
2回答

慕田峪7331174

procedure TForm1.Button1Click(Sender: TObject);varoritext,aimtext:TextFile;s,str:string;str1:string[5];i,m,n:integer;begini:=1;assignfile(oritext,'D:\aa.txt');//源文件reset(oritext);//只读方式打开assignfile(aimtext,'D:\bb.txt');//目标文件Rewrite(aimtext);{追加方式打开。也可以用Rewrite(aimtext),这是创建一个新文件(对于一个已存在的文件,此操作将使原文件被覆盖)。}trywhile not eof(oritext) do//循环读取文本beginreadln(oritext,s);str:=copy(s,3,4)+'/'+copy(s,7,2)+'/'+copy(s,9,2)+' '+copy(s,11,2)+':'+copy(s,13,2)+':00 '+copy(s,16,10)+' 001 00 1 ';m:=length(inttostr(i));//判断i为字符串时的长度,决定str1中0的个数for n:=1 to 5-m dostr1:=str1+'0';str:=str+str1+inttostr(i);str1:='';i:=i+1;writeln(aimtext,str);end;finallyclosefile(oritext);closefile(aimtext);end;end;运行正常,结果为:2007/06/26 18:59:00 0010165059 001 00 1 000012007/06/26 18:59:00 0010173847 001 00 1 000022007/06/26 18:59:00 0010185451 001 00 1 000032007/06/26 18:59:00 0010112243 001 00 1 000042007/06/26 18:59:00 0010165059 001 00 1 000052007/06/26 18:59:00 0010173847 001 00 1 000062007/06/26 18:59:00 0010185451 001 00 1 000072007/06/26 18:59:00 0010112243 001 00 1 000082007/06/26 18:59:00 0010165059 001 00 1 000092007/06/26 18:59:00 0010173847 001 00 1 000102007/06/26 18:59:00 0010185451 001 00 1 000112007/06/26 18:59:00 0010112243 001 00 1 00012

白猪掌柜的

对不起,语言代码我已经忘的差不多了,虽然我也学的Delphi7。Delphi中有个函数是提取一个字符串中某几位字符串的,忘了叫什么了,好象是COPY(),参数忘了。剩下的就是TXT文件的读和写过程了。你看看教程上字符串操作部分和文件管理部分吧,帮不了你别的了,不好意思。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java