String d=1“
如果两台或两台以上的计算机或应用程序试图打开同一个文件,我会看到一个实时读写的问题。这可能有点乱。我会看到一个问题是,如果两台或两台以上的计算机或应用程序试图打开同一个文件,那么在实时读写中就会出现。这可能有点乱。好的,如果你真的想逐行读取你的文件,我会将你的日志文件更改一点String d=1“,string,vb6,line-by-line,String,Vb6,Line By Line,如果两台或两台以上的计算机或应用程序试图打开同一个文件,我会看到一个实时读写的问题。这可能有点乱。我会看到一个问题是,如果两台或两台以上的计算机或应用程序试图打开同一个文件,那么在实时读写中就会出现。这可能有点乱。好的,如果你真的想逐行读取你的文件,我会将你的日志文件更改一点 ****************** LANrealm Match Log ****************** Game: Call of Duty 4 Game Type: Team Deathmatch Dat
******************
LANrealm Match Log
******************
Game: Call of Duty 4
Game Type: Team Deathmatch
Date: 01-Jan-2013
Time:1 9:00:00
Players: Tramp, Roper, d00b, Pleb
Score Limit: 150
Event: Game Start
Event: Roper killed Pleb (M4A1) shots=5 Feet=2 Body=2 Head=1
Event: Tramp committed suicide (Fall damage)
Event: Tramp killed d00b (Grenade)
Event: Pleb said "I'm saying something"
Event: Pleb teamkilled d00b (G3) shots=3 Feet=0 Body=2 Head=1
Event: Game Finished
Winner: Roper
Stat: Roper Kills=1,Deaths=0,Suicides=0,Teamkills=0
Stat: Tramp Kills=1,Deaths=0,Suicides=1,Teamkills=0
Stat: Pleb Kills=0,Deaths=0,Suicides=0,Teamkills=1
Stat: d00b Kills=0,Deaths=0,Suicides=0,Teamkills=0
您可以使用它逐行读取文件
Dim FileNo As Integer
Dim TempData As String
Dim TempStr As String
FileNo = FreeFile
Open "c:\game.log" For Input As FileNo
Do
Line Input #FileNo, TempStr
TempData = TempData & TempStr or do what ever you want it to do with that line.
DoEvents
Loop Until EOF(FileNo)
Close #FileNo
MsgBox TempData
但是,我建议将整个文件读入字符串,然后解析出所需的信息。
如果你这样做了,你就可以选择你想要的信息,比如游戏名称等等
试试这个。
创建一个新模块,并将其粘贴到其中
Public Function ParseData(DataSTR As String, StartSTR As String, EndSTR As String) As String
Dim Split1
Dim Split2
Split1 = Split(DataSTR, StartSTR, , 1)
Split2 = Split(Split1(1), EndSTR, , 1)
SplitParse = Split2(0)
End Function
然后将其添加到命令按钮
Private Sub Command2_Click()
Dim FileNo As Integer
Dim TempData As String
FileNo = FreeFile
Open "c:\game.log" For Input As FileNo
TempData = Input(LOF(FileNo), FileNo)
Close
MsgBox TempData
MsgBox Trim(ParseData(TempData, "Game:", Chr(10)))
End Sub
现在,这只是您可以做的一个示例。好的,如果您真的想逐行读取您的文件,我会将您的日志文件更改一点
******************
LANrealm Match Log
******************
Game: Call of Duty 4
Game Type: Team Deathmatch
Date: 01-Jan-2013
Time:1 9:00:00
Players: Tramp, Roper, d00b, Pleb
Score Limit: 150
Event: Game Start
Event: Roper killed Pleb (M4A1) shots=5 Feet=2 Body=2 Head=1
Event: Tramp committed suicide (Fall damage)
Event: Tramp killed d00b (Grenade)
Event: Pleb said "I'm saying something"
Event: Pleb teamkilled d00b (G3) shots=3 Feet=0 Body=2 Head=1
Event: Game Finished
Winner: Roper
Stat: Roper Kills=1,Deaths=0,Suicides=0,Teamkills=0
Stat: Tramp Kills=1,Deaths=0,Suicides=1,Teamkills=0
Stat: Pleb Kills=0,Deaths=0,Suicides=0,Teamkills=1
Stat: d00b Kills=0,Deaths=0,Suicides=0,Teamkills=0
您可以使用它逐行读取文件
Dim FileNo As Integer
Dim TempData As String
Dim TempStr As String
FileNo = FreeFile
Open "c:\game.log" For Input As FileNo
Do
Line Input #FileNo, TempStr
TempData = TempData & TempStr or do what ever you want it to do with that line.
DoEvents
Loop Until EOF(FileNo)
Close #FileNo
MsgBox TempData
但是,我建议将整个文件读入字符串,然后解析出所需的信息。
如果你这样做了,你就可以选择你想要的信息,比如游戏名称等等
试试这个。
创建一个新模块,并将其粘贴到其中
Public Function ParseData(DataSTR As String, StartSTR As String, EndSTR As String) As String
Dim Split1
Dim Split2
Split1 = Split(DataSTR, StartSTR, , 1)
Split2 = Split(Split1(1), EndSTR, , 1)
SplitParse = Split2(0)
End Function
然后将其添加到命令按钮
Private Sub Command2_Click()
Dim FileNo As Integer
Dim TempData As String
FileNo = FreeFile
Open "c:\game.log" For Input As FileNo
TempData = Input(LOF(FileNo), FileNo)
Close
MsgBox TempData
MsgBox Trim(ParseData(TempData, "Game:", Chr(10)))
End Sub
这只是你能做的一个例子。对不起,我不太明白。。。你能帮我把它说得轻一点吗?我很奇怪,除非我知道我是怎么做到的,否则我一个概念都不懂。我确信这是对的,我只是不明白!你到底不明白什么?您是否尝试过在VB6项目中使用该代码?您应该尝试(尝试)的第一件事是
LoadFile
函数,看看它如何加载任何文本文件并返回其内容。然后,玩这个函数,看看它是如何生成一个包含文件中每一行的数组的。我不理解这些函数——你看,我以前从未使用过它们,所以我不知道它们的语法,也不知道如何正确地应用它们。如果你能给我一个快速的概述/解释,例如“split”、“vbCrLf”和“ubound”,那就太好了。如果我能知道他们是干什么的,我就能更好地破译其余的。再次感谢!我刚刚添加了一些关于如何测试它们的说明。。。试试看;你会发现它很简单,绝对理想。非常感谢。对不起,我不太明白。。。你能帮我把它说得轻一点吗?我很奇怪,除非我知道我是怎么做到的,否则我一个概念都不懂。我确信这是对的,我只是不明白!你到底不明白什么?您是否尝试过在VB6项目中使用该代码?您应该尝试(尝试)的第一件事是LoadFile
函数,看看它如何加载任何文本文件并返回其内容。然后,玩这个函数,看看它是如何生成一个包含文件中每一行的数组的。我不理解这些函数——你看,我以前从未使用过它们,所以我不知道它们的语法,也不知道如何正确地应用它们。如果你能给我一个快速的概述/解释,例如“split”、“vbCrLf”和“ubound”,那就太好了。如果我能知道他们是干什么的,我就能更好地破译其余的。再次感谢!我刚刚添加了一些关于如何测试它们的说明。。。试试看;你会发现它很简单,绝对理想。非常感谢。没关系,只是服务器在读/写文件。你是让你的前端在播放期间还是之后读取文件?您还说希望前端对事件做出反应。你能再详细一点吗?基本上是在后面。前端不会实时读取,它只是在查询时读取文件。哦,好吧,听起来容易多了。好吧,我发布了一个新的示例,希望能帮助您。没关系,它只是服务器从中读取/写入。您是让前端在播放期间还是之后读取文件?您还说希望前端对事件做出反应。你能再详细一点吗?基本上是在后面。前端不会实时读取,它只是在查询时读取文件。哦,好吧,听起来容易多了。好吧,我发布了一个新示例,希望能对您有所帮助。
Private Sub Command2_Click()
Dim FileNo As Integer
Dim TempData As String
FileNo = FreeFile
Open "c:\game.log" For Input As FileNo
TempData = Input(LOF(FileNo), FileNo)
Close
MsgBox TempData
MsgBox Trim(ParseData(TempData, "Game:", Chr(10)))
End Sub