文本文件内容为: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
…… ……
每一行中,第一个是时间,剩下的是数据,每个数据之间是以空格分开的,我想分别得到这些数据,怎么实现?谢谢!
解决方案 »
- 怎样往数据库的一个Blob字段中追加数据?
- 用Select * into qq in "c:\" "dbase 5.0;"导出至DBF时,中文的内容变问号(?),为什么呀!!!
- 异步方式读取网络文件的问题
- 第三方控件TOLEEdit(能插入图象)为何不支持自定义的弹出菜单?郁闷!
- 关于InstallShield 打包中的问题(数据库为SQL SERVER) 急
- 急求DSpack安装问题
- 关于GetActiveOleObject(ClassName)方法的问题,各位请帮帮忙!
- 如何实现屏幕有提示,但程序仍旧正常运行,使原操作界面的键均失效......在线等待!
- 如何中止Timer组件正在执行的OnTimer事件!
- 使用SQL将2表关联后怎样才能生成一个新的表?
- 那位朋友知那里有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;