求一个delphi小程序
我有一个文本文档名X,保存如下所示数据N条,01200706261859E001016505901200706261859E0010173847……现要求将此格文件转换成...
我有一个文本文档名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急~~!
谢谢! 展开
保存如下所示数据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急~~!
谢谢! 展开
展开全部
procedure TForm1.Button1Click(Sender: TObject);
var
oritext,aimtext:TextFile;
s,str:string;
str1:string[5];
i,m,n:integer;
begin
i:=1;
assignfile(oritext,'D:\aa.txt');//源文件
reset(oritext);//只读方式打开
assignfile(aimtext,'D:\bb.txt');//目标文件
Rewrite(aimtext);{追加方式打开。也可以用Rewrite(aimtext),这是创建一个新文件(对于一个已存在的文件,此操作将使原文件被覆盖)。}
try
while not eof(oritext) do//循环读取文本
begin
readln(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 do
str1:=str1+'0';
str:=str+str1+inttostr(i);
str1:='';
i:=i+1;
writeln(aimtext,str);
end;
finally
closefile(oritext);
closefile(aimtext);
end;
end;
运行正常,结果为:
2007/06/26 18:59:00 0010165059 001 00 1 00001
2007/06/26 18:59:00 0010173847 001 00 1 00002
2007/06/26 18:59:00 0010185451 001 00 1 00003
2007/06/26 18:59:00 0010112243 001 00 1 00004
2007/06/26 18:59:00 0010165059 001 00 1 00005
2007/06/26 18:59:00 0010173847 001 00 1 00006
2007/06/26 18:59:00 0010185451 001 00 1 00007
2007/06/26 18:59:00 0010112243 001 00 1 00008
2007/06/26 18:59:00 0010165059 001 00 1 00009
2007/06/26 18:59:00 0010173847 001 00 1 00010
2007/06/26 18:59:00 0010185451 001 00 1 00011
2007/06/26 18:59:00 0010112243 001 00 1 00012
var
oritext,aimtext:TextFile;
s,str:string;
str1:string[5];
i,m,n:integer;
begin
i:=1;
assignfile(oritext,'D:\aa.txt');//源文件
reset(oritext);//只读方式打开
assignfile(aimtext,'D:\bb.txt');//目标文件
Rewrite(aimtext);{追加方式打开。也可以用Rewrite(aimtext),这是创建一个新文件(对于一个已存在的文件,此操作将使原文件被覆盖)。}
try
while not eof(oritext) do//循环读取文本
begin
readln(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 do
str1:=str1+'0';
str:=str+str1+inttostr(i);
str1:='';
i:=i+1;
writeln(aimtext,str);
end;
finally
closefile(oritext);
closefile(aimtext);
end;
end;
运行正常,结果为:
2007/06/26 18:59:00 0010165059 001 00 1 00001
2007/06/26 18:59:00 0010173847 001 00 1 00002
2007/06/26 18:59:00 0010185451 001 00 1 00003
2007/06/26 18:59:00 0010112243 001 00 1 00004
2007/06/26 18:59:00 0010165059 001 00 1 00005
2007/06/26 18:59:00 0010173847 001 00 1 00006
2007/06/26 18:59:00 0010185451 001 00 1 00007
2007/06/26 18:59:00 0010112243 001 00 1 00008
2007/06/26 18:59:00 0010165059 001 00 1 00009
2007/06/26 18:59:00 0010173847 001 00 1 00010
2007/06/26 18:59:00 0010185451 001 00 1 00011
2007/06/26 18:59:00 0010112243 001 00 1 00012
展开全部
对不起,语言代码我已经忘的差不多了,虽然我也学的Delphi7。
Delphi中有个函数是提取一个字符串中某几位字符串的,忘了叫什么了,好象是COPY(),参数忘了。
剩下的就是TXT文件的读和写过程了。
你看看教程上字符串操作部分和文件管理部分吧,帮不了你别的了,不好意思,有正在学习D语言的朋友给写个代码吧,也不难。
Delphi中有个函数是提取一个字符串中某几位字符串的,忘了叫什么了,好象是COPY(),参数忘了。
剩下的就是TXT文件的读和写过程了。
你看看教程上字符串操作部分和文件管理部分吧,帮不了你别的了,不好意思,有正在学习D语言的朋友给写个代码吧,也不难。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询