String in RichTextBox "streamen"

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Linkai.

    String in RichTextBox "streamen"

    Hallo,

    ich bin zurzeit dabei einen SSH Client zu programmieren. Mein Problem ist im Moment, dass ich in einem eigenen Thread den Inhalt des SSH Streams abfrage und in einen String schreibe. Nun möchte ich aber, dass dieser String in eine RichTextBox kopiert wird, undzwar nicht indem ich auf einen Button klicke. Wie schaffe ich das, da ich aus einem anderen Thread ja nicht auf die Form zugreifen kann?
    Mein Programm bis jetzt:
    Spoiler anzeigen

    Quellcode

    1. Option Strict On
    2. Imports Tamir.SharpSsh
    3. Public Class Form1
    4. Dim ssh As SshStream
    5. Dim stream As String
    6. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    7. ssh.Close()
    8. End Sub
    9. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    10. Dim readthread As System.Threading.Thread
    11. readthread = New System.Threading.Thread(AddressOf Me.readStream)
    12. readthread.Start()
    13. End Sub
    14. Private Sub btn_connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_connect.Click
    15. Try
    16. ssh = New SshStream(tb_adress.Text, tb_username.Text, tb_password.Text)
    17. Catch ex As Exception
    18. MsgBox(ex.Message)
    19. End Try
    20. End Sub
    21. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    22. RichTextBox1.Text = stream
    23. End Sub
    24. Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_cmd.KeyUp
    25. If e.KeyCode = Keys.Enter Then
    26. ssh.Write(tb_cmd.Text)
    27. End If
    28. End Sub
    29. Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    30. If ssh.CanRead = True Then
    31. RichTextBox1.Text = ssh.ReadResponse
    32. End If
    33. End Sub
    34. Private Sub readStream()
    35. While True
    36. Try
    37. stream = ssh.ReadResponse
    38. Catch
    39. End Try
    40. End While
    41. End Sub
    42. End Class


    Vielen Dank schonmal im Voraus!
    Invoken, am Besten mit dem Action-Delegaten.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    VB.NET-Quellcode

    1. Me.Invoke(Sub()
    2. RichTextBox1.Text = "Hallo"
    3. End Sub)
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Sry wenn ich da grade das ältere Thema wieder aufwühle.
    Ich dachte mir nur, bevor ich einen neuen Thread öffne schreib ich es hier rein:

    Ich habe mir den Code von German mal Kopiert da ich zurzeit ein bisschen rumspiele. Nun habe ich 2 Probleme:
    Der Text wird mit sonderzeichen in der Richbox ausgegeben.. und wie kann ich damit Tastenkombinationen an den Server senden (beim befehl TOP beispielsweise strg+c zum verlassen der Ansicht).

    XML-Quellcode

    1. 7dtd.conf [0m[01;32mbootstrap.sh[0m [01;31mmanagement_scripts.tar.gz[0m [01;34msteamcmd[0m
    2. [01;34mMcMyAdmin[0m bootstrap.sh.1 minecraft
    3. **@v39246:~$

    Nach dem Befehl LS
    Lg
    Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love: