Bestimmten String/Integer aus Datei Filtern

  • VB6

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von singu.

    Bestimmten String/Integer aus Datei Filtern

    Hi Leute, ich möchte einen bestimmten wert einer datei herraus filtern und diesen wert in eine textbox schreiben, es handelt sich bei der datei um eine C++ definations Datei diese heist definations.cpp und ist wie folgt aufgebaut:

    Quellcode

    1. Item1= {
    2. cost = 2000
    3. time = 30; #time in days
    4. }
    5. Item2 = {
    6. cost = 4000
    7. time = 20
    8. power_x = 2; #increase power with 2
    9. }


    und von diesem code möchte ich die werte "cost" und "time" also nur die zahl hinten dran z.B. die 2000 von "cost = 2000" wenn in einer combobox das Item1 ausgewählt wird und wenn z.B. Item2 in der combobox ausgewählt wird das dann natürlich der "cost" wert von Item2 also 4000 in die TextBox eingefügt wird. Ich hab es schon mit der

    Visual Basic-Quellcode

    1. string.contains()
    ausprobiert und auch schon im ganzen netz gesucht aber es will nich funktionieren ich hoffe ihr könnt mir helfen. Danke schonmal :)

    singu schrieb:

    Du müsstest die Datei in ein Array einlesen, und dann prüfen wo Item2 steht und danach nach cost suchen

    Ja das hab ich schon probiert aber wenn ich dann Item2 gefinden hab schreibt er mir nur Item2 = { in die Textbox und nicht den wert von cost = 4000 also die 4000

    mein Code sieht so aus

    Visual Basic-Quellcode

    1. Dim suchwort As String
    2. suchwort = ComboBox1.SelectedItem.ToString
    3. Dim textoffile As List(Of String)
    4. textoffile.AddRange(System.IO.File.ReadAllLines(path & "definations.cpp"))
    5. If textoffile.Item(i).ToString.Contains(suchwort) = True Then
    6. If textoffile.Item(i).ToString.Contains("cost =") = False Then
    7. TextBox1.Text = textoffile.Item(i).ToString.Remove(0, textoffile.Item(i).ToString.LastIndexOf("=") + 1)
    8. End If
    9. End If
    Danke ist mir garnicht aufgefallen hab es in stücken kopiert und dabei das for ... next vergessen :) Das ist jetzt der richtige code wie ich es gemacht habe

    Visual Basic-Quellcode

    1. Dim suchwort As String
    2. suchwort = ComboBox1.SelectedItem.ToString
    3. Dim textoffile As List(Of String)
    4. textoffile.AddRange(System.IO.File.ReadAllLines(path & "definations.cpp"))
    5. For i = 0 To textoffile.Count - 1
    6. If textoffile.Item(i).ToString.Contains(suchwort) = True Then
    7. If textoffile.Item(i).ToString.Contains("cost =") = False Then
    8. TextBox1.Text = textoffile.Item(i).ToString.Remove(0, textoffile.Item(i).ToString.LastIndexOf("=") + 1)
    9. End If
    10. End If
    11. Next i