Chatlog auslesen mit VB

  • hi Leute,
    Ich will einen Anrufbeantworter in VB für einen GTA-Server machen. Dafür muss ich die Chatlog überprüfen,
    ob nach einem "/pickup" ein "/hangup" oder ein "Dein Gesprächspartner hat aufgelegt" kommt.
    Wie kann ich das alles aus der Chatlog auslesen?


    LG
    RaubEl

    Bitte schreibt nicht einmal was in ein Thread und lest dann nicht was geantwortet wird. Sonst bleiben die meisten Fragen ungeklärt. ;)

  • Code
    Dim Content As String = IO.File.ReadAllText(IO.Path.Combine(IO.Path.Combine(IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "GTA San Andreas Userfiles"), "SAMP"), "chatlog.txt"))
  • Wieso machst du dafür 2 Threads auf?


    Hol dir alle Zeilen in ein Stringarray und dann geh das Array mit ner ForEach-Schleife durch.
    Stringvergleiche wirst du sicher schon mal gemacht haben ...


    Code
    Dim lines() As String = IO.File.ReadAllLines("pfadzurdatei.txt")
    For Each line as String in lines
        If (line.Contains("/hangup")) Then
            [...]
        End If
    End For



    Gredsoft: Nicht sicher, ob trollierend ...

  • rinukkusu: Wieso trollierend?
    Er fragt, wie man den Chatlog auslesen kann.
    Ich zeige ihm, wie er in der Variable "Content" den Chatlog einliest.


    Du gehst jetzt noch einen Schritt weiter und gibst ihm den ganzen Quellcode, wie man das richtig mit dem Auslesen der Linie macht.


    Das habe ich nicht beachtet, da er seine Frage nicht richtig formuliert hat.


    Er: "Wie kann ich das alles aus der Chatlog auslesen?"
    Besser: "Wie kann ich Zeile für Zeile den Chatlog einlesen und prüfen, ob "Dein Gesprächspartner hat aufgelegt." kommt?"

  • Klar, aber ich bin es nun mal gewöhnt, Path.Combine mit Verzeichnissen und Dateien zu nutzen.
    Dies kam zu stande, weil damals bemängelt wurde, dass man bei absoluten Pfaden mit den "Windows-Backslashes" (\) die Programme nicht mit Wine unter Linux-Distributionen nutzen kann.
    (Habe damals Programme geschrieben, die nichts mit SA:MP zu tun hatten, und die meisten Endanwender nutzten Wine - Wenn ich nun "C:\Programme\XYZ" statt "Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Applications), "XYZ")" nutze, kamen immer Fehler, lt. Endanwendern)


    Also: (IO.)Path.Combine ist nicht notwendig für SA:MP-bezogene Programme á la Keybinder...