Variablen mehrfach trennen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von benya.

    Variablen mehrfach trennen

    Hallo Community,

    ich versuche mir gerade ein wenig Arbeit zu erleichtern mittels VB.. (Wäre allerdings nicht an VB gebunden, bin für Ratschläge offen)
    Vom Prinzip ganz einfach, aber doch irgendwie Tricky.. meine Grundkenntnis lässt mich da ein wenig im Stich..

    Folgendes, kleine Oberfläche mit Hilfe von Visual Studio, Textbox1 = Eingabe, Button1 = berechnen, Textbox2 = Ergebnis.

    Was soll passieren?
    Eingegeben wird eine 4-stellige Zahl, diese sollte am besten in 4 Variablen geteilt werden (Array / Split ?)
    Dann die erste und die zweite Zahl addiert werden, sowie die dritte und vierte.
    Zwischenergebnis: Ergebnis1 aus 1 & 2 und Ergebnis2 aus 3 & 4
    Abschließend müssten diese Ergebnisse wieder in Variablen geteilt werden und in Reihenfolge (4-stellig!) ausgegeben werden.

    konkretes Beispiel:
    Eingabe: 2648
    Variablen: 2, 6, 4, 8.
    Ergebnis1 = 8 (0,8 - weil ja 4-stellig am Ende); Ergebnis2 = 12 (1,2 - weil 4-stellig am Ende)
    ...
    Ausgabe: 0812

    Bekommt man das überhaupt irgendwie abgebildet in VB oder C#?!

    Vielen dank schon mal!! :)
    Also vom Prinziep kann man da nen Substring nehmen.
    Aber du hast am Anfang ne Zahl... Die musste erstmal auf 4-Stellen bringen (könnte ja auch ne 0 am Anfang sein).
    Dann mit Substring die Werte ermitteln und zusammenrechnen.

    Grob... so:

    VB.NET-Quellcode

    1. Dim eingabe As Integer = 468
    2. Dim ergebnis1 As Integer = CInt(eingabe.ToString("0000").Substring(0, 1)) + CInt(eingabe.ToString("0000").Substring(1, 1))
    3. Dim ergebnis2 As Integer = CInt(eingabe.ToString("0000").Substring(2, 1)) + CInt(eingabe.ToString("0000").Substring(3, 1))
    4. MessageBox.Show(ergebnis1.ToString("00") & ergebnis2.ToString("00"))​

    Ungeprüft.

    Aber kurze Frage... WARUM!?
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Wieder was gelernt. oO
    Dann eher so:

    VB.NET-Quellcode

    1. Dim eingabe As Integer = 468
    2. Dim ergebnis1 As Integer = Integer.Parse(eingabe.ToString("0000")(0)) + Integer.Parse(eingabe.ToString("0000")(1))
    3. Dim ergebnis2 As Integer = Integer.Parse(eingabe.ToString("0000")(2)) + Integer.Parse(eingabe.ToString("0000")(3))
    4. MessageBox.Show(ergebnis1.ToString("00") & ergebnis2.ToString("00"))


    EDIT: Die Frage des WARUM?! stellt sich aber noch immer.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MemoAnMichSelbst“ ()

    Willkommen im Forum. :thumbup:

    benya schrieb:

    Eingegeben wird eine 4-stellige Zahl
    Eingegeben wird ein String, der eine 4-stellige Zahl repräsentiert.
    Weiter wie oben.
    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!
    Wenn die Zahl mit ner Textbox eingegeben wird... würde ich sagen... für die Eingabe von Zahlen ist ein NUMERICupdown da. Ne Textbox ist für Text da. Heißt ja schließlich TEXTbox und nicht ZAHLbox.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    benya schrieb:

    Eingegeben wird eine 4-stellige Zahl, diese sollte am besten in 4 Variablen geteilt werden

    MemoAnMichSelbst schrieb:

    würde ich sagen
    Wir arbeiten mit einem String, der eine Zahl repräsentiert.
    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!
    Trotzdem sehr fehleranfällig. Wenn nachher mit dem String gerechnet werden soll.
    Da ist ein Numericupdown sehr elegant weil es schlicht keine "nicht-Zahlen-Eingaben" zulässt. Was bei dem Vorhaben auch sofort um die Ohren fliegen würde.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    MemoAnMichSelbst schrieb:


    EDIT: Die Frage des WARUM?! stellt sich aber noch immer.


    Wird sowas wie ein eigener kleiner Hashwert :)
    Vielen Dank für deinen Input!! Bin jetzt in etwa da, wo ich hinwollte....war ja doch ganz leicht ;)

    Jetzt stellt sich mir nur noch die Frage, wie ich das Ergebnis wieder sauber in die zweite Textbox bekomme, möchte kein Message Fenster ;)
    Bei der Eingabe übergebe ich den Wert ja einfach aus der TB, nur zurück will er nicht..

    Textbox = ausgabe

    ausgabe = Variable...
    ergebnis2.ToString("00")(1) ist ja aber keine Variable... sondern ein einfacher String?! Aber selbst einen String müsste ich doch, sogar noch leichter, in eine TB schreiben können?!

    Es ist schon echt lange her.... sorry :( *zum Horst mach*
    Textbox.text = ergebnis1.ToString("00") & ergebnis2.ToString("00")
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Guck dir das mal an...
    Dateien
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D