Multiplizieren?!?

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von ThomasProj.

    Multiplizieren?!?

    Ich hätte die Frage wie es möglich ist, (im Bild zu sehen) das ich in TB1ct die Anzahl an CT Stücken ein trage und mir das Label (L1ct) die multiplizierte Anzahl ausgibt, warsch recht einfach, kriegs aber einfach nicht hin.
    besten dank alle
    Bilder
    • wasta.jpg

      7,67 kB, 376×86, 240 mal angesehen

    VB.NET-Quellcode

    1. Dim count As Integer
    2. If Integer.TryParse(TB1ct.Text, count)
    3. Dim value As Integer = 1 '1 Cent
    4. Dim total As Integer = value * count
    5. Label1.Text = total.ToString
    6. End If


    Zudem ist TB1ct kein vernünftiger Controlname.
    #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 :!:
    Multiplizieren geht mit *
    Wie das funktioniert sind jedoch absolute Grundlagen. Wie weit ist denn dein Wissensstand in Visual Basic?

    Als Anstoß:
    Wert der TextBox versuchen in einen Integer zu konvertieren, mit 0.01 (für 1 Cent Stücke) multiplizieren und mit diesen Wert dann der Text-Eigenschaft des Labels zuweisen

    Wichtig "Option Strict On" in die erste Zeile deines Codes schreiben (Ganz oben)

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    PS: dafür gibt's NumericUpDown als Control und keine TextBox...
    In ner TextBox kann dir der Anwender auch "HAHAHAH genatzt" rein schreiben... Und dann viel Spaß beim Konvertieren in ne Zahl ;)
    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
    Abgesehen davon, dass du recht hast mit dem NUD, @MemoAnMichSelbst:, für TextBoxen gäbe es hier dennoch TryParse :P
    Am schlausten ist es, man lässt zudem nur Zahlen zu, aber dann nimmt man gleich ein NumericUpDown ;)
    #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 :!:
    Danke für euere netten Antworten
    Ok zugegeben bin in VB noch etwas Anfänger
    Programmiert wird ein kinoreservierungssystem mit Reservierung und Verkauf ( mehr oder minder für den privat gebrUch im heimkino , allerdings interessiert mich diese Art von programmieren sehr .

    von-kirschner schrieb:

    kinoreservierungssystem mit Reservierung und Verkauf
    als Anfänger?
    Vielleicht fängst Du mit etwas kleineren Brötchen an. :D
    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!
    "Hallo Welt" in ner ConsoleApplication ist aber auch ein Einzeiler, kleinere Dinge sind sowas wie in dem Link von Rod, sprich TicTacToe, nen Wecker oder so.
    Wenn du dein Programm ordentlich (Strict On, OOP gerecht, performant und und und) gestalten willst, da brauchst du KnowHow über Klassensysteme, richtige Konvertierungen, ordentliches Arbeiten in der GUI (!), Events, und so weiter.

    Btw.: Mit den My.Settings arbeiten ist kein Meilenstein (Wert in der IDE reinschreiben -> zur Laufzeit mit My.Settings.XYZ auslesen wohooo :| )
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Oder vor allem sind die My.Settings nicht das goldene vom Ei um Werte zu speichern :)

    Ich empfehle dir ebenfalls zuerst mit etwas kleinem Anzufangen.. Sonst wirst du schnell die Lust am programmieren verlieren wenn du irgendwo nicht weiter kommst.

    lg.
    lg.

    LucaWelker
    Also My.Settings ist ne sehr sehr elegante Lösung!!!! ... um EINSTELLUNGEN zu speichern... Deshalb ja auch "Settings".
    Zur Datenhaltung ist es aber nur bedingt und mit viel Gefrickel geeignet.

    Wobei du anscheinend die einzelnen Controls und deren Sinn/Funktion noch nicht zu verstehen scheinst, ist so ein Vorhaben ohne "Leitung" keine gute Idee. Das endet in elendigem Gewurstel und irgendwann verrennst dich dann und verlierst die Lust.

    Ich würde wirklich mit was kleinerem anfangen, sodass du auch einige Erfolge hast.
    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
    Hallo leut
    Sry komm mit dem Code nicht klar , ja ich weis bin Anfänger aber Foren sind ja dazu da Fragen zu klären , muss der Wert von TB1ct nicht irgendwie mal (*) 0,01 genommen werden das das Label ( L1ct) dann den Wert 0,05 bei 5 ein Cent stücken zeigt ?
    Parse erstmal richtig den Wert der TextBox.

    Ne TextBox ist - wie der Name schon sagt - dazu da, Texte zu verarbeiten und keine Zahlen.
    Der Integer (Ganzzahl) Datentyp akzeptiert als Wert keine strings (Zeichenketten).

    Du musst also erstmal herausfinden, ob auch wirklich eine Zahl in die Textbox eingegeben wurde.
    Nun zum nächsten Problem. Selbst wenn eine Zahl drinsteht ist der Datentyp immernoch string.

    Für solche Probleme gibt es die Integer.Parse Methode.
    Diese Methode erlaubt es dir, ganz einfach Zeichenketten in einen Integer zu konvertieren,
    vorausgesetzt - Achtung - es ist auch wirklich ein numerischer string.

    Falls du nen string übergibst, der nicht nur aus Zahlen besteht, wirst du ne Exception bekommen.
    Diese kannst du mithilfe eines Try-Catch-Blocks umgehen.

    Das solltest du allerdings nicht tun. Ein Try-Catch-Block ist lediglich eine Hilfe, mit der du dir z.B.
    weitere Informationen zum Fehler ausgeben lassen kannst und sollte nicht als alternative zur
    Fehlerprävention genutzt werden.

    Was kann man also tun? Es gibt eine weitere nützliche Methode: Integer.TryParse.
    Mithilfe dieser Methode kannst du einen string und eine variable übergeben, in die das Ergebnis (falls es zu keinem Fehler kommt)
    reingeschrieben wird. Diese Methode liefert außerdem einen booleschen Wert zurück, anhand dessen du siehst,
    ob dein Vorhaben erfolgreich war, sprich, ob der String erfolgreich in nen Integer konvertiert wurde.

    Dann musst du nurnoch ein bisschen Mathematik beherrschen und das ausrechnen, was du brauchst.

    Grüße Splitty
    um nochmal auf post#7 zurückzukommen: Was du vorhast ist eine Datenbank-Anwendung, und typischer Fall, wo man sie ohne Datenbank programmieren sollte.
    Also alles zu Textboxen und Parsen und Zeugs gesagte ist richtig und notwendige Grundlage, aber zum Lösen des Problems muss man in Databinding und Datenbänkerei einsteigen: Datenbänkerei-Einstieg

    Du sagst, programmieren interessiert dich, da empfehle ich: Lerns richtig, etwa dieses Buch lesen (hingegen das Galileio-Openbook ist Mist)

    Und versuche nicht, Grundlagen zu überspringen, und versuche ebensowenig, komplexe Probleme mit unzureichenden Mitteln zu lösen.
    Also habe mich jetzt dazu entschlossen die TextBox (TB1ct ) auszutauschen in eine NumericUpDown (NUD1ct)
    könnt ihr mir hier den Code verraten das das Label (L1ct) nach Eingabe der Münzanzahl z.b. 5 Stück , 0,05 anzeigt?!?
    Besten Dank
    Du solltest vielleicht noch ein Feld in deine Applikation einbauen wo der Wert drinnen steht mit welchem die Anzahl multipliziert werden soll.

    EDIT://

    Habe ich richtig verstanden der TE möchte eine Anzahl Besucher eingeben können und diese mit dem Verkaufswert der Tickets multiplizieren und das Resultat in einem Label anzeigen?
    Wenn "JA" warum die komplizierten Antworten?^^