我想請問一下: 有沒有哪個函數可以知道一個文本文檔一共有多少行?? 多謝了!!!

Vicar2 2004-11-08 03:35:46
?
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vicar2 2004-11-08
  • 打赏
  • 举报
回复
to: masterjames(三月街)

delphi online help say:
Note: FileSize can't be used on a text file.

=======
可惜, 查出來的文件大小不對. :(
fbysss 2004-11-08
  • 打赏
  • 举报
回复
提供一个思路:
用流读取,累加回车符的个数,即是你要的答案
masterjames 2004-11-08
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);

var
f: file of Byte;
size: Longint;
S: string;
y: Integer;
begin
if OpenDialog1.Execute then
begin
AssignFile(f, OpenDialog1.FileName);
Reset(f);
try
size := FileSize(f);
S := 'File size in bytes: ' + IntToStr(size);
y := 10;
Canvas.TextOut(5, y, S);
y := y + Canvas.TextHeight(S) + 5;
S := 'Seeking halfway into file...';
Canvas.TextOut(5, y, S);

y := y + Canvas.TextHeight(S) + 5;
Seek(f, size div 2);
S := 'Position is now ' + IntToStr(FilePos(f));
Canvas.TextOut(5, y, S);
finally
CloseFile(f);
end;
end;
end;
Vicar2 2004-11-08
  • 打赏
  • 举报
回复
非常感謝樓上的仁兄的回答:可是實際情況是:

我的這個文本文檔 有幾十萬, 甚至是上100萬行的數據, 我需要把這個文本文檔中的數據一條條的

讀到數據庫中進行處理。 本來時間就已經很長了, 如果還要加一次load->stringlist,時間更長,

如果有一個函數能夠直接得到, 就好了。
====
譬如說某個函數能得到這個文本文檔的大小(100k?), 那麼, 我除以它每行的字節數量,也可以得到行數 . :)
budded 2004-11-08
  • 打赏
  • 举报
回复
up,楼上的已经回答了
jinjazz 2004-11-08
  • 打赏
  • 举报
回复
load到stringlist里面就知道了

5,388

社区成员

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

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