Code für 2 Boxen die Multipliziert werden sollen :(

  • C#

Es gibt 28 Antworten in diesem Thema. Der letzte Beitrag () ist von Nico2110.

    Code für 2 Boxen die Multipliziert werden sollen :(

    Hey eine Frage und zwar Ich habe eine TextBox1 und ein Label20 in Label 20 wird durch ein skript ein bestimmter wert hinein geschrieben und in die textbox1 wird eine Anzahl (Nur Zahlen) angegeben
    Der wert in Textbox 1 soll mit dem wert in Label 2 Multipliziert werden und wieder in Label 20 eingetragen werden

    Grund dafür ist so eine art Ressourcenrechner wo die werte zb für ein auto in Label 1-20 von nem Skript eingetragen werden und die Textbox1 ist der Multiplikator falls die Person gleich mehrere der Fahrzeuge Herstellen will nur weiß ich den Code nicht btw hab nirgends was gefunden

    Im endefekt soll Lable20 * Textbox1 gerechnet werden und in Label20 wieder ausgegeben werden

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

    2 Sachen:

    1. Gib dem Thread einen Aussagekräftigen Titel
    2. Ich kann in deinem Post keine Frage erkennen, wie man dir weiterhelfen könnte..
    3. Gib zu deiner Frage auch deinen jetzigen Stand/Ansatz mit an.

    Bitte nochmal überarbeiten!

    LG, Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    *unnötiges Zitat entfernt*

    Stand ist derzeit folgender ich hab 2 drop down Menüs wählt man in dem einen zb Autofabrik aus und in dem anderen Das Fahrzeug so werden die benötigten Ressurcen um das Fahrzeug zu Craften in Label1 - Label20 geschrieben
    neben den 2 Drop Down ist eine Anzahl box dort gibt man an wie viele Fahrzeuge man von dieser Sorte Craften will dementsprechend soll sich der wert in Label 1-20 um die zahl Multiplizieren und angezeigt werden

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()

    @Nico2110 Willkommen im Forum. :thumbup:
    Bist Du sicher, dass Du mit C++ / CLI arbeitest? Ich denke eher VB.NET oder C#.

    Nico2110 schrieb:

    Im endefekt soll Lable20 * Textbox1 gerechnet werden und in Label20 wieder ausgegeben werden
    Was ist das Ergebnis solchen Multiplikation :?: Was, wenn im Label "Roulade mit Klößen" steht?
    Also:
    Trenne Daten und GUI.
    Gerechnet wird mit numerischen Werten, GUI-Conrols dienen dem Editieren und der Anzeige von (numerischen) Werten.
    Pack Deine numerischen Werte in Variablen vom entsprechenden Typ (Integer, Double, ...), konvertiere den (hoffentlich) numerischen Inhalt von TextBoxen mit Integer.Parse(), Integer.TryParse() bzw. Double.Parse(), Double.TryParse() in den entsprechenden numerischen Wert und verwende dafür eine separate Variable!
    Rechne mit den Variablen und weise das Ergebnis mit value.ToString() der .Text-Property Deines Labels zu.
    Feddich.
    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 schrieb:

    Was ist das Ergebnis solchen Multiplikation :?: Was, wenn im Label "Roulade mit Klößen" steht?


    Es handelt sich hierbei NUR um Zahlen was anderes kann in Textbox1 wegen einer Formel nicht eingegeben werden (Buchstaben werden Ignoriert)
    Also wie gesagt der Zahlenwert im Label20 wird durch nen skript festgelegt

    RodFromGermany schrieb:

    Bist Du sicher, dass Du mit C++ / CLI arbeitest? Ich denke eher VB.NET oder C#.

    oh ja falsche abteilung

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Nico2110“ ()

    @Nico2110 Bitte unterlass es, komplette Posts zu zitieren, die stören das Lesen arg und sind hier im Forum nicht erwünscht.
    =====
    OK.
    Dann fang bei meinem Post an mit
    Trenne Daten und GUI.

    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!
    @ErfinderDesRades Die Durchführungsbestimmungen dazu findest Du in Post #5.
    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!
    Also mit Textboxen und Labels kann man leider nicht rechnen. Was aber geht ist, die Werte der Controls raus zu holen und in Variablen zu stecken.

    Diese Variablen müssen, um damit rechnen zu können, einen entsprechenden Datentypen haben (Integer, Decimal, Double,...).

    Textboxen und Labels stellen deren Wert je als String dar. Dieser muss also in eine Zahl umgewandelt werden.
    -> mit Strings kann man nicht rechnen<-

    Hierzu gibt es verschiedene Möglichkeiten. Hier am Beispiel Decimal, gibts aber bei den anderen Datentypen auch:
    Decimal.Parse()
    Decimal.TryParse()
    ConvertTo.Decimal()
    CDec()
    ...

    Das konvertieren zu Strings ist immer gefährlich, weil da lautet Mist drin stehen kann. Daher nehm ich gerne TryParse().
    msdn.microsoft.com/de-de/library/ew0seb73(v=vs.110).aspx

    Habe ich alles als Zahl umgewandelt, kann ich damit wunderbar rechnen:

    ZahlErgebnis = ZahlWert1 * ZahlWert2
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Poste doch bitte deine Lösung, damit andere Hilfesuchende hier eine Lösung finden.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @'Nico2110
    Es wäre wirklich nett, wenn Du Deinen Code posten würdest. Ich selber befasse mich gerade mit Bass.dll und habe keine Probleme die Projektmappe hoch zu laden, obwohl ich weiss das es dort mit absoluter Sicherheit Fehler geben wird. Einige Codesnipsel habe ich dort von den Usern Rod, Mr.Moo oder auch z.B.: Erfinder des Rades übernommen. Suche hier mal nach dem Post in dem das Buch Gallileo oder so ähnlich heißt und ziehe Dir das bitte mal rein, oder schaue Dir einfach mal ein paar Videos von Erfinder des Rades an, die hier genannten Personen haben echt einen Plan.

    Was ich letztendlich sagen möchte ist, das andere User wie ich damals hier sicher Hilfe und "Mecker" bekommen haben, dennoch Learning by Doing. Und Variablen müssen einen Datentypen haben. Stell Dir vor, du hast als >Ergebnis die Zahl 1876543, möchtest diese aber mit Komma und Punkt darstellen, sowie mit zwei Nachkommastellen - wie geht das? Mr. Moo hat es mal wieder beschrieben... :)

    Also poste mal und ich wünsche Dir einen angenehmen Abend und Wochenende.

    Mütze
    "Das Jahresende ist kein Ende und kein Anfang, sondern ein Weiterleben mit der Weisheit, die uns die Erfahrung gelehrt hat".
    "Das Fortrücken in der Kalenderjahrzahl macht wohl den Menschen, aber nicht die Menschheit reifer". :)
    "Wer bin ich, wenn ich bin, was ich habe und dann verliere was ich habe ?"
    Wie man VisualStudio nutzt? => Visual Studio richtig nutzen
    Ich habe es einfach mit einem Button gelöst habe dem Button angewiesen Label20 mit TextBox1 zu Multiplizieren und dies wieder in Label20 auszugeben

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Try
    3. Dim intZahl As Integer = CInt(Me.Label20.Text)
    4. intZahl *= TextBox1.Text
    5. Me.Label20.Text = intZahl.ToString
    6. Catch ex As Exception
    7. End Try
    8. end sub


    Das einzige was mir jetzt noch fehlt ist das er komma zahlen nicht richtig rechnet, hat da jmd ne idee?
    Ja, schade. Da hab ich mir mühe gegeben ausführliche Hilfe zu geben, jedoch haste da nur recht wenig von beherzigt. Ich hab da nicht aus spaß vom Datentypen Decimal gesprochen...

    Also, hier nun eine kurze Hilfe:

    1. da haste den falschen Datentypen für Kommazahlen
    2. intZahl *= TextBox1.Text -> fehlende Konvertierung
    3. Try/catch ist hier völlig unnötig. Bau eine entsprechende Prüfung ein, damit es nicht knallt.
    4. Option Strict On schalten
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    mrMo schrieb:

    Hierzu gibt es verschiedene Möglichkeiten. Hier am Beispiel Decimal, gibts aber bei den anderen Datentypen auch:
    Decimal.Parse()
    Decimal.TryParse()
    ConvertTo.Decimal()
    CDec()


    kannst du das evt noch ein bissel mehr erläutern für leute die erst mit der materie angefangen haben?

    Also nochmal zur Beschreibun ich habe ein Ressourcenrechner in diesem kann man in den einem Dropdown die Fabrik auswählen und dafür in den anderen das was man bauen will wie zb bei einer Autofabrik ein Ford K.
    nachdem man diese ausgewählt hat erscheint in Label20 - Label50 vorgeschriebene Zahlenwerte die so fest stehen und nicht veränderbar sind (keine manuellen eingaben)
    nun ist es so das ich neben der Dropbox noch eine Textbox habe wo die leute dann die anzahl der zu bauenden Ressourcen sind.

    sry schonmal im vorraus wenn ich mich zu dumm anstelle :D vllt verdeutlicht das beispiel das


    Dropdown 1

    VB.NET-Quellcode

    1. if Fabrik.SelectedItem = "Apotheke" Then
    2. Produkt.Items.Clear()
    3. Produkt.Items.Add("Zigarette")
    4. Produkt.Items.Add("2 Joints")
    5. End If


    Dropdown 2 erscheint dann (In den Labels steht jeweils die erforderliche Menge)

    VB.NET-Quellcode

    1. If Produkt.SelectedItem = "Zigarette" Then
    2. 'Gewicht
    3. Label89.Text = "1"
    4. 'Grundressourcen
    5. Label20.Text = "1"
    6. Label21.Text = "1"
    7. Label22.Text = "1"
    8. Label23.Text = ""
    9. Label24.Text = ""
    10. Label25.Text = ""
    11. Label26.Text = ""
    12. Label27.Text = ""
    13. Label28.Text = ""
    14. Label29.Text = ""
    15. Label30.Text = ""
    16. Label31.Text = ""
    17. Label32.Text = ""
    18. 'Verarbeitete Ressourcen
    19. Label48.Text = ""
    20. Label49.Text = ""
    21. Label50.Text = ""
    22. Label51.Text = ""
    23. Label52.Text = ""
    24. Label53.Text = ""
    25. Label54.Text = ""
    26. Label55.Text = ""
    27. Label56.Text = ""
    28. Label57.Text = ""
    29. Label58.Text = ""
    30. Label59.Text = ""
    31. Label60.Text = ""
    32. ' End-Ressourcen
    33. Label76.Text = "1"
    34. Label77.Text = "1"
    35. Label78.Text = ""
    36. Label79.Text = ""
    37. Label80.Text = ""
    38. Label81.Text = ""
    39. Label82.Text = ""
    40. Label83.Text = ""
    41. Label84.Text = ""
    42. Label85.Text = ""
    43. Label86.Text = ""
    44. Label87.Text = ""
    45. Label88.Text = ""
    46. End If


    und in die Textbox kommt dann halt die zahl es gehen aber nur ganze zahlen doch in der Label box können auch komma zahlen rauskommen
    Waaas? :D

    Switche ich nur das Dropdown, und danach werden sich die Labels anpassen?
    Dann wäre ein Datentyp mit den jeweiligen Werten sinnvoll.

    Woher kommen die Daten mit den Ressourcen?

    Änderbare Werte sind nur Dropdown und ggf. Anzahl oder sind auch die Ressourcen Editierbar?


    LG, Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    @Nico2110 88 + Labels?
    Das ist doch das blanke Design-Chaos.
    Kannst Du uns mal eine etwas detailliertere Beschreibung zu Deinem Projekt geben?
    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!