Zwischenspeichern von Variablen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Zwischenspeichern von Variablen

    Guten Morgen zusammen,

    in meiner Anwendung verwende ich zum Übergeben von Variablen von einem Sub zum anderen Textboxen auf meiner Form.
    Das funktioniert soweit ganz gut aber gibt es hier einen eleganteren Weg um Variablen zwischen zu speichern?

    Grüße
    VriL
    Wie meinst du das genau?
    Ich glaube was du suchst sind Parameter:


    VB.NET-Quellcode

    1. Private Sub ErsteMethode()
    2. Dim x as integer = 5
    3. Dim y as integer = 10
    4. ZweiteMethode(x,y)
    5. End Sub
    6. Private Sub ZweiteMethode(byval x as integer,byval y as integer)
    7. Messagebox.show(x.Tostring())
    8. Messagebox.show(y.ToString())
    9. End Sub
    Schau mal genau nach SUB und Funktionen nach:
    Du wirst es kaum glauben aber SUB's und Funktionen haben diese "Übergabe von Parametern/Argumenten" schon mit eingebaut.
    Einfach in Klammern dahinter die Namen angeben).
    Wenn du dich mehr damit beschäftigst, stellst du fest, das es da noch vieeel mehr hübsche Sache gibt, wie z.b.. Optional usw. :)


    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub IchBinNummer1()
    2. Dim VariableFürNummer2 As Integer = 55
    3. ' Sub 2 aufrufen und die zu übergebene Varialbe in Klammern mit angeben
    4. IchbinNummer2(VariableFürNummer2)
    5. ' du kannst auch mehr als eine Varaible mitgeben
    6. IchbinNummer3(VariableFürNummer2, "Ja", "Nein")
    7. End Sub
    8. Private Sub IchbinNummer2(Var1 As Integer)
    9. MsgBox("Diese Varialble habe ich mitgeschickt bekommen: " & Var1, ToString)
    10. End Sub
    11. Private Sub IchbinNummer3(Var1 As Integer, NocheineVar As String, UndNocheineExtraVariable As String) ' 3 Varialben übergeben
    12. MsgBox("Diese Varialblen habe ich mitgeschickt bekommen: " & Var1, ToString() & ":" & NocheineVar & ":" & UndNocheineExtraVariable)
    13. End Sub
    14. ' falls deine Sub auch Werte zurückliefern soll dann nimm eine FUNCTION
    15. Private Sub IchRufeWasAufUndBekommeEinErgebnisZurück()
    16. Dim Test As Integer = 10
    17. Dim FremdesErgebnis As Integer
    18. FremdesErgebnis = IchBineineFunktion(Test)
    19. MsgBox("Das kam zurück" & FremdesErgebnis)
    20. End Sub
    21. Private Function IchBineineFunktion(ÜbergebeneVariale As Integer) As Integer
    22. Dim Zurückvariable As Integer
    23. Zurückvariable = ÜbergebeneVariale * 5
    24. Return Zurückvariable ' hier zurückgeben
    25. End Function
    Guten Morgen zusammen,

    vielen Dank für eure Antworten.
    Es geht mir hauptsächlich darum, dass ein berechneter Wert aus dem Sub "Berechnen" später nachdem das Sub durch gelaufen ist weiterhin zur Verfügung steht, um mit diesem Wert weiter zu arbeiten.

    @RoulettePilot: Hast bitte kurz ein Beispiel? :)
    @VriL
    Oder Du übergibst diese Variable ByRef an die 2. Prozedur, dann steht sie nach dem Aufruf der 2. in der 1. Prozedur zur Verfügung, ohne in der Klasse aufzutauchen.

    VB.NET-Quellcode

    1. Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
    2. Dim x As Integer = 0
    3. Test(x)
    4. MessageBox.Show(x.ToString)
    5. End Sub
    6. Private Sub Test(ByRef value As Integer)
    7. value = 42
    8. End Sub

    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!