谁有操作TXT文件的类? 立即给分!!1

steper 2002-03-13 12:07:56
文件格式为:

时间 功率总计(MWh) 系统边际电价(元/MW)
00:00 120.00 80.00
00:15 120.00 80.00
00:30 120.00 80.00
......

如何读取指定单元的数据?
例如读 (1,2)= 120.00
只需调用
var
f:float;
begin
TText.Goto(1); //第一行
f:= StrToInt(TText.Column(2));
end
...全文
25 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoyyh9 2002-03-13
  • 打赏
  • 举报
回复
我已发到你的信箱里了 OK!
Janes001 2002-03-13
  • 打赏
  • 举报
回复
UP
milpas 2002-03-13
  • 打赏
  • 举报
回复
分析字符串不就完了,没有现成的类
Venne 2002-03-13
  • 打赏
  • 举报
回复
对不起,如果格式固定,我想我理解错一点,你一共有三列,第一列返回时间
第二列,三列返回实型数是吗?
可以再写个函数,以空格为分界符,将一行的文本写入到一个数组里
再根据column值取出,做适当的数据类型转换

function splitstr(str:string;column:integer):string;
var
Nowstr:string;
tempstr:string;
temparray:array of string;
iCount:integer;
NowPos:integer;
begin
iCount:=0;
NowStr:=trim(str);
NowPos:=Pos(' ',Nowstr);
while Nowpos<>0 do
begin
inc(iCount);
setlength(temparray,iCount);
tempArray[iCount-1]:=copy(Nowstr,1,NowPos-1);
NowStr:=copy(NowStr,nowpos+1,length(Nowstr)-nowpos);
NowPos:=pos(' ',Nowstr);
end;
inc(iCount);
setlength(temparray,icount);
temparray[Icount-1]:=NowStr;
result:=temparray[column-1];
end;
40Star 2002-03-13
  • 打赏
  • 举报
回复
同意楼上的
TStringlist是很好的操纵txt文件的对象
Venne 2002-03-13
  • 打赏
  • 举报
回复
其实使用TstringList可以很容易实现你的要求。而且仅仅是一个函数就可以了。我直接在这里输入的代码,所以可能有语法错,请注意检查一下,不好意思。另外,你使用strtoint只能返回整型数,不能返回浮点数
function GetValue(textfile:Tfilename;row,column:integer):float;
var
MystringList:TStringList;
str1,str2:string;
begin
try
MyStringList;=TStringList.create;
MyStringList.loadfromfile(textFile);
str1:=MystringList[row-1];
str2:=copy(str1,5,6)//这里根据你的文本格式自定
result:=strtofloat(str2);
finally
MyStringList.free;

end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧