如何获取文本文件的行数?

Penn945 2003-11-22 02:58:53
请问有没有什么函数可以直接获取一个文件的行数?!
...全文
362 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
海牛 2003-11-22
  • 打赏
  • 举报
回复
最快的还是northwolves(野性的呼唤) 的,只是比较费空间哈^_^!
海牛 2003-11-22
  • 打赏
  • 举报
回复
用二进制读取方式速度较快!^_^

Private Function GetTextFileLineNum(ByVal strFile As String) As Long
Dim lFN As Long
Dim chrTmp1 As Byte, chrTmp2 As Byte
Dim lLC As Long

lFN = FreeFile
lLC = 0
Open strFile For Binary As #lFN
Do Until EOF(lFN)
Get #lFN, , chrTmp2
If chrTmp1 = 13 And chrTmp2 = 10 Then
lLC = lLC + 1
End If
chrTmp1 = chrTmp2
Loop
GetTextFileLineNum = lLC + 1
Close #lFN
End Function
CHKK 2003-11-22
  • 打赏
  • 举报
回复
应该是没有现成的函数,
可以自己写一个
方法很多
可以看看有几个回车换行符,或者是每次读一行然后记录读取的行数
northwolves 2003-11-22
  • 打赏
  • 举报
回复
不知有无现成的,自己可以写一个:


Function getlinescount(txtpath As String) As Long
Dim filetxt As String, x As Variant, i As Integer
filetxt = String(FileLen(txtpath), " ")
Open txtpath For Binary As 1
Get #1, , filetxt
Close 1
x = Split(filetxt, vbCrLf)
getlinescount = UBound(x) + 1
Set x = Nothing
End Function

Private Sub Form_Click()
MsgBox getlinescount("c:\windows\win.ini")
End Sub
FSoft 2003-11-22
  • 打赏
  • 举报
回复
首先要先打开文件
FSoft 2003-11-22
  • 打赏
  • 举报
回复
使用SendMessage函数向文本框发送一个 EM_GETLINECOUNT消息即可.如:
Dim a as long
a=sendmessage(text1.hwnd,EM_GETLINECOUNT,0,0)

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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