Zahlen einer Textbox in Variabeln speichern?

  • VB.NET

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

    Zahlen einer Textbox in Variabeln speichern?

    Hallo liebe Community,

    wie setzte ich folgendes in einen Code um :
    Ich habe eine Textbox erstellt, welche nur Zahlen erlaubt. Das geht soweit auch ganz gut. Des Weiteren erlaubt er auch Kommas. Klappt alles ganz gut.
    Aber ich möchte, dass er ein Benutzer Zahlen eingibt und diese mit einem Komma trennt. Hier ein Beispiel:
    100, 200, 300, 400, 500 usw.
    Ich möchte, dass VB diese Textbox sozusagen ausliest, und alle diese Zahlen in ein Short speicher(ist für diese Zahlen so weit ich weiß der richtige Datentyp, wenn nicht verbessert mich bitte).
    Er soll also Shorts erstellen, der Name ist mir eigentlich egal.
    Tut mir wirklich leid, dass ich mich so ausdrücke, ich kann es scheinbar gar nicht anders :D
    Also er soll folgendes machen:
    Short1 = 100
    Short2 = 200
    ...
    Anschließend sollen diese Zahlen auch gezählt werden, es soll nämlich das arithmetische Mittel berechnet werden...
    Wie im Beispiel genannt.
    Danke für eure Hilfe :)
    Dazu muß man Arrays kennen, String.Split, List(of T) und Integer.Parse()

    VB.NET-Quellcode

    1. dim segments as String()=Textbox1.Text.Split(","c)'ein String-Array
    2. dim integers as new List(Of Integer)'eine Liste von Integern (deswegen heists "List(Of Integer)")
    3. for each segment in segments
    4. integers.add(Integer.Parse(segment)
    5. next
    6. msgbox(integers.Count.ToString())

    Ach, du wolltest ja datentyp Short. na, dann nimm Datentyp Short, also setze überall, wo Integer steht "Short" ein, einschließlich der VariablenNamen (dass sauber programmiert ist ;) )
    Hi.
    Am besten nimmst du dafür eine List(Of Short).
    So lange die Zahlen nicht unter ~-32.000 und über ~32.000 gehen, ist Short okay als Datentyp.

    VB.NET-Quellcode

    1. Dim Shorts As New List(Of Int16) ' Int16 == Short
    2. Dim Numbers As String = TextBox1.Text.Replace(" ", "") ' Leerzeichen löschen
    3. For Each Number As String In Numbers.Split(","c) ' Bei jedem , teilen
    4. Dim NewShort As Short
    5. If Short.TryParse(Number, NewShort) Then ' Wenn die Nummer auch sicherlich ein Short ist
    6. Shorts.Add(NewShot) ' Zur Liste hinzufügen
    7. End If
    8. Next


    Edit: Da war wohl wer viel schneller.

    Wildi schrieb:

    wie ich die in der Textbox eingegebenen Zahlen anzeigen lassen kann?
    Mir ist nicht ganz klar, was Du meinst.
    Wenn Du die gesplitteten Werte anzeigen lassen willst, mach es so:

    VB.NET-Quellcode

    1. Dim txt As String = String.Empty
    2. For Each value in Shorts
    3. txt &= String.Format("{0}{1}"), value, vbNewLine)
    4. Next
    5. MessageBox.Show(txt)
    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!