String aus MessageBox in Textdatei darstellen

  • VB.NET

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von pindoyu.

    String aus MessageBox in Textdatei darstellen

    Hallo zusammen,

    trotz MSDN und anderen Informationsquellen komm ich leider nicht an mein Ziel und hoffe, Ihr könnt mir helfen.

    Ich hab ein Tool geschrieben, welches die IP-Adressen eines Rechners aus der System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName()) ausliest:

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IP_Button.Click
    2. For Each add As System.Net.IPAddress In System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName())
    3. MessageBox.Show("Die IP lautet: " & add.ToString, "IP Addresse für " & System.Net.Dns.GetHostName)
    4. Next
    5. End Sub



    Soweit funktioniert alles sehr gut.

    Nun möchte ich in einem weiteren Programmteil genau diesen String aus der Messagebox benutzen, um ihn in einer Textdatei darzustellen.
    Leider finde ich keine Möglichkeit dies funktionierend in meine WriteAllText einzufügen:

    VB.NET-Quellcode

    1. My.Computer.FileSystem.WriteAllText("C:\Rechner.txt", "Bericht von " & Environment.UserName & ":" & vbCrLf & vbCrLf & Problembeschreibung_input.Text & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "Daten zur verwendeten Hardware:" & vbCrLf & vbCrLf & "Computername / Hostname: " & Environment.MachineName & vbCrLf & "anderer Hostname: " & Hauptfenster.tcl_hostname.Text & vbCrLf & "Benutzername: " & Environment.UserName & vbCrLf & vbCrLf & "IP-Adresse: " & ????(Was muss hier nun hin?)????, True)



    Lieben Dank für eure Mühen,

    Matthias aka pindoyu
    ... Das was bei dir in der MSG Box Steht ...
    also : add.ToString oder System.Net.Dns.GetHostName
    MFG 0x426c61636b4e6574776f726b426974
    InOffical VB-Paradise IRC-Server
    webchat.freenode.net/
    Channel : ##vbparadise

    pindoyu schrieb:

    genau diesen String aus der Messagebox
    merkst Du Dir, bevor Du ihn in der MessageBox anzeigst.
    Die MessageBox dient nicht zum Halten von Informationen, sondern zum Anzeigen von Messages.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    pindoyu schrieb:

    genau diesen String aus der Messagebox
    merkst Du Dir, bevor Du ihn in der MessageBox anzeigst.
    Die MessageBox dient nicht zum Halten von Informationen, sondern zum Anzeigen von Messages.



    Ich meine den and.tostring.
    Ich habe versucht den in einen String zusetzen aber leider funktioniert dann nichts mehr. Dim kann ich dafür auch nicht benutzen. Ich habe halt Probleme mit der schleife. Und andere Wege zum String kenne ich nicht :S

    VB.NET-Quellcode

    1. Dim myString As String = "bla"
    2. Dim myString2 As String = myString & "blabla"
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    zeig doch bitte deinen code so das wir sehen können wie du es einsetzt :)
    MFG 0x426c61636b4e6574776f726b426974
    InOffical VB-Paradise IRC-Server
    webchat.freenode.net/
    Channel : ##vbparadise

    pindoyu schrieb:

    Die variable "add"
    kommt bei Dir 2 Mal vor, benenne eine davon um.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IP_Button.Click
    2. Dim add as String = "ipadresse_text"
    3. For Each add As System.Net.IPAddress In System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName())
    4. MessageBox.Show("Die IP lautet: " & add.ToString, "IP Addresse für " & System.Net.Dns.GetHostName)
    5. Next
    6. End Sub



    Hab jetzt eine variabel geändert:

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IP_Button.Click
    2. Dim addr as String = "ipadresse_text"
    3. For Each add As System.Net.IPAddress In System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName())
    4. MessageBox.Show("Die IP lautet: " & add.ToString, "IP Addresse für " & System.Net.Dns.GetHostName)
    5. Next
    6. End Sub


    Jetzt kann ich die aber immer noch nicht auslesen... Die variabel addr ist leer :s
    ... Vollkommen falscher Anfang ...
    so könntest du es machen :

    VB.NET-Quellcode

    1. Dim add As String = ""
    2. Dim d As System.Net.IPAddress() = System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName())
    3. For i = 0 To d.Count - 1
    4. add &= "Die IP lautet: " & d(i).ToString & "IP Addresse für " & System.Net.Dns.GetHostName & vbNewLine
    5. Next
    MFG 0x426c61636b4e6574776f726b426974
    InOffical VB-Paradise IRC-Server
    webchat.freenode.net/
    Channel : ##vbparadise
    @BlackNetworkBit: Dein Snippet habe ich verwendet:

    VB.NET-Quellcode

    1. Public Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IP_Button.Click
    2. Dim add As String = ""
    3. Dim d As System.Net.IPAddress() = System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName())
    4. For i = 0 To d.Count - 1
    5. add &= "Die IP lautet: " & d(i).ToString & "IP Adresse für " & System.Net.Dns.GetHostName & vbNewLine
    6. MessageBox.Show("Die IP lautet: " & d(i).ToString, "IP Addresse für " & System.Net.Dns.GetHostName)
    7. Next
    8. End Sub



    Nun versuche ich die add-Variabel im zweiten meiner Fenster auszulesen:

    VB.NET-Quellcode

    1. My.Computer.FileSystem.WriteAllText("C:\Inhalt.txt", "Bericht von " & Environment.UserName & ":" & vbCrLf & vbCrLf & Problembeschreibung_input.Text & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "Daten zur verwendeten Hardware:" & vbCrLf & vbCrLf & "Computername / Hostname: " & Environment.MachineName & vbCrLf & "ggf. anderer Hostname: " & Hauptfenster.tcl_hostname.Text & vbCrLf & "Benutzername: " & Environment.UserName & vbCrLf & vbCrLf & "IP-Adresse: " & Hauptfenster.add, True)



    Nur dann spuckt der mir die Meldung aus, dass "add" kein Member von "computertool.hauptfenster" ist.

    :wacko:

    pindoyu schrieb:

    dass "add" kein Member von "computertool.hauptfenster" ist.
    In diesem Context ist Hauptfenster.add ein String.
    Was soll denn das sein?
    Was glaubst Du, was es sei?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    pindoyu schrieb:

    Ich dachte, das wäre dann der Inhalt der Messagebox, oder?

    RodFromGermany schrieb:

    merkst Du Dir, bevor Du ihn in der MessageBox anzeigst.
    Da musst Du eine entsprechende Variable / Property anlegen bzw. nutzen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    pindoyu schrieb:

    die "add"`?
    Nö.

    VB.NET-Quellcode

    1. ListBox1.Items.Add("Bla")
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!