文本文件内容为:20030714.15:45:36,111111 222222 333 545555 7777 7788
20030714.18:15:20,33441 457822 3546 3453555 866 2235
…… ……
每一行中,第一个是时间,剩下的是数据,每个数据之间是以空格分开的,我想分别得到这些数据,怎么实现?谢谢!
20030714.18:15:20,33441 457822 3546 3453555 866 2235
…… ……
每一行中,第一个是时间,剩下的是数据,每个数据之间是以空格分开的,我想分别得到这些数据,怎么实现?谢谢!
解决方案 »
- 求助:提示: JPEG ERROR #41 怎么解?
- 如何监测TStringGrid退出编辑状态?
- 请问我用SPCOMM如何检测串口的CTS状态?
- 进度条如何同步显示?
- 关于使用代码安装控件的问题
- 在delphi中如何调用sql server2000数据库(mymis)中的表(mytabl)?
- 求算法
- 客户端电脑如何通过三层交换机访问到服务器的SQLSERVER2005的数据库?
- 富翁又可以上了,感覺速度還不錯。 DELPHI 用戶有福了 wwww.delphibbs.com(內空)
- MATLAB小球动画问题
- 那位朋友知那里有delphi可以下载的,说一声好吗
- 请问如何在用installshield制作了安装程序后能够生成一个单独的可执行反安装文件?
Function GetStrForSpace(SourceStr :String ; JGZF:char ; Index:integer):String;
var
Pchar1 : pchar;
i , count : integer;
cStr : string;
begin
Count := 0;
Pchar1 := pchar(SourceStr);
cStr := '';
for i:=0 to length(Pchar1)-1 do begin
if pchar1[i] = JGZF then
begin
Count := Count + 1;
if Count = Index then begin
break;
end;
end
else if Count = Index -1 then cStr := cStr + pchar1[i];
end;
Result := cStr;
end;
然后再来.
var
str: string;
datestr : string;//日期字符
datastr : string;//数据字符
begin
str:='20030714.15:45:36,111111 222222 333 545555 7777 7788';
datestr:=copy(str,1,pos(',',str)-1);//得到日期字符.
datastr:=Copy(str,pos(',',str)+1,length(str));//得到数据字符. GetStrForSpace(datastr,' ',1);//这是取第一个有空格的前面的数字.结果为11111;
GetStrForSpace(datastr,' ',2);//这是取第2个有空格的前面的数字.结果为222222; GetStrForSpace(datastr,' ',3);//这是取第3个有空格的前面的数字.结果为333;
GetStrForSpace(datastr,' ',4);//这是取第4个有空格的前面的数字.结果为515555;
.................
明白了?
Readln(TF,str1,str2,str3,str4,str5,str6,str7,...);
{e.g : sMsg='*value#value#value#value#value#value#'
rcvtemp:=smsg;
for i:=1 to 6 do
begin
p1:=pos('*',rcvtemp);p2:=pos('#',rcvtemp);
str[i]:=copy(rcvtemp,p1+1,p2-p1-1);
rcvtemp[p1]:='!';rcvtemp[p2]:='*';
end;
我觉得代码简短些,我喜欢。
var
num :Tstrings;
begin
str:=trim(str);
num:=tstringlist.Create;
while pos(' ',str)>0 do
begin
trim(str);
num.Add(copy(str,1,pos(' ',str)));
delete(str,1,pos(' ',str));
pos(' ',str);
end ;
num.Add(str);
Result:=num;
end;