2016-06-17 18 views
0
VB.net

Ich habe eine Textdatei wie diese bekommt:Lesen Sie Textdatei, bestimmte Zeile.

EntityList = 0x04A4BA64 
LocalPlayer = 0x00A30504 
FlashDuration = 0x0000A2F8 
RadarBase = 0x04E807BC 
ScoreBoardBase/GameResources = 0x04A6BCBC 
ServerBase = 0x04E92A10 
EnginePointer = 0x005B6314 
SetViewAngles = 0x00004D0C 
CrosshairIndex = 0x0000AA44 
GlowObjectBase = 0x00000000 
ViewMatrix1 = 0x04A3D604 
ViewMatrix2 = 0x04A3D714 

Und ich mag die Text-Datei von meinem vb.net Programm zum Lesen und zum Beispiel in der ersten Zeile, wo es heißt EntityList = 0x04A4BA64, ich würde gerne die 0x04A4BA64 daraus holen und sie als Integer speichern.

Ich habe versucht, so etwas zu tun, aber das ist nicht das, was ich wirklich will und es funktioniert auch nicht.

Public Sub Test() 
     Dim reader As New System.IO.StreamReader("C:\test.txt") 
     Dim allLines As List(Of String) = New List(Of String) 
     Do While Not reader.EndOfStream 
      allLines.Add(reader.ReadLine()) 
     Loop 
     reader.Close() 
    End Sub 

    Public oEntityList As Integer = ReadLine(1, allLines) 
+0

Haben Sie den Code aus dieser kopieren [link] (http://stackoverflow.com/questions/15708368/how-to-read-a-specific-line-from-a-text-file-in-vb)? – Han

Antwort

2

Sie müssen die Datei öffnen und nur die Zeilen aus, die Ihr Muster enthält dann den zweiten Teil der Zeile gegeben in einer ganzen Zahl konvertiert eine Basis 16

Dim values = new List(Of Integer)() 
For Each line in File.ReadLines("C:\test.txt") _ 
        .Where(Function(x) x.Trim().StartsWith("EntityList")) 

    Dim parts = line.Split("="c) 
    if parts.Length > 1 Then 
     values.Add(Convert.ToInt32(parts(1).Trim(), 16) 
    End If 
Next 
Verwandte Themen