Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String d=1“_String_Vb6_Line By Line - Fatal编程技术网

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