Return in TextBox ausgeben

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von samson.

    Return in TextBox ausgeben

    Moin Moin zusammen,

    ich brauche mal einen Tritt, ich denke ich bin einfach überarbeitet... 8| :sleeping:
    Ich bin gerade zu blöd aus einer Funktion die Daten über GET an eine URL übergibt das Return in eine Textbox auszugeben.

    VB.NET-Quellcode

    1. Private Function send_info(str_request)
    2. ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf AcceptCert)
    3. ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
    4. Dim obj_WebClient As New WebClient()
    5. Dim obj_Stream As Stream = obj_WebClient.OpenRead(str_request)
    6. Dim obj_Reader As New StreamReader(obj_Stream)
    7. Dim str_Ergebnis As String = obj_Reader.ReadToEnd()
    8. Return str_Ergebnis
    9. obj_Stream.Close()
    10. obj_Reader.Close()
    11. Application.Exit()
    12. End Function
    13. Private Function AcceptCert(ByVal sender As Object, ByVal cert As System.Security.Cryptography.X509Certificates.X509Certificate,
    14. ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain,
    15. ByVal errors As System.Net.Security.SslPolicyErrors) As Boolean
    16. Return True
    17. End Function


    Kann mir bitte jemand erklären wie ich "str_Ergebnis" in eine Textbox bekomme?

    Vielen Dank,

    Stefan
    Nein! Doch! OHH!
    Danke @BitBrösel
    Habe es nun doch noch entdeckt.
    Mein Fehler lag daran das ich e abgefragt habe, kann ja nicht funktionieren.
    Korrekt war tb_log.Text = send_info(full_string)

    Was meinst du mit Zeile 10 bis 12 kann nicht erreicht werden?
    Der Stream muss / sollte ja wieder geschlossen werden?!
    Hab ich da einen Denkfehler drin?

    Grüße Stefan
    Nein! Doch! OHH!

    VB.NET-Quellcode

    1. Private Function send_info(ByVal str_request As String) As String
    2. ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf AcceptCert)
    3. ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
    4. Dim obj_WebClient As New WebClient()
    5. Dim obj_Stream As Stream = obj_WebClient.OpenRead(str_request)
    6. Dim obj_Reader As New StreamReader(obj_Stream)
    7. Dim str_Ergebnis As String = obj_Reader.ReadToEnd()
    8. obj_Stream.Close()
    9. obj_Reader.Close()
    10. Return str_Ergebnis
    11. End Function


    VB.NET-Quellcode

    1. ​TextBox1.Text = send_info("www.test.de")


    Sowas vielleicht


    Meine Website:
    www.renebischof.de

    Meine erste App (Android):
    PartyPalooza
    @samson Arbeite mit Using und Deine Objekte werden ordentlich zerstört.
    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
    meinst du das Using so?

    VB.NET-Quellcode

    1. Private Function send_info(str_request)
    2. ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf AcceptCert)
    3. ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
    4. Using obj_WebClient As New WebClient()
    5. Using obj_Stream As Stream = obj_WebClient.OpenRead(str_request)
    6. Using obj_Reader As New StreamReader(obj_Stream)
    7. Dim str_Ergebnis As String = obj_Reader.ReadToEnd()
    8. obj_Stream.Close()
    9. obj_Reader.Close()
    10. Return str_Ergebnis
    11. End Using
    12. End Using
    13. End Using
    14. End Function


    @BitBrösel
    sorry, war durch meine unachtsamkeit entstanden, habe das Return nun an das Ende der Funktion gesetzt, danke für den Hinweis.

    Nein! Doch! OHH!

    samson schrieb:

    meinst du das Using so?
    Jetzt kannst Du die beiden .Close()-Zeilen raus nehmen.
    Ich glaube, dass obj_Stream mit dem obj_Reader gs-closed wird, müsstest Du mal nachlesen.
    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!
    Für die Function musst du noch einen Rückgabewert deklarieren.

    VB.NET-Quellcode

    1. Private Function send_info(str_request) As String '<--- Rückgabewert
    2. Dim str_Ergebnis As String
    3. ' ...
    4. Return str_Ergebnis
    5. End Function


    Und den Parameter musst du ebenfalls deklarieren (Datentyp explizit angeben).

    Du solltest unbedingt, Option Strict On in der IDE aktivieren.
    @RodFromGermany @FormFollowsFunction
    Vielen Dank ihr beiden. Habe das ganze jetzt umgesetzt und es läuft!

    RodFromGermany schrieb:

    Ich glaube, dass obj_Stream mit dem obj_Reader gs-closed wird, müsstest Du mal nachlesen.
    Schau ich mir an.

    OSO hatte ich tatsächlich vergessen einzuschalten, danke für den Hinweis. Aus dem "As String" hatte ich sonst keinen Fehler im Code ;)
    Nein! Doch! OHH!