DFens Geschrieben 4. August 2010 Geschrieben 4. August 2010 Hi, bin seit Gestern von VB auf C# umgestiegen, allerdings mit relativ mäßigem Erfolg (bin auch in VB Anfänger ) ... Im Moment scheitert es an der Umsetzung einer einfachen Funktion: Der VB-Quellcode: Private Sub txtBis_Exit() Dim a As Single, b As Single a=txtZahl1 b=txtZahl2 txtErgebnis = Berechne(a, End Sub Function Berechne(x As Single, y As Single) As Single Berechne = x - y End Function [/code] Mein C# [b]Versuch [/b]war: [code] private void txtBis1_Leave(object sender, EventArgs e) { Single a = txtZahl1.Text; Single b = txtZahl2.Text; txtErgebnis.Text = Berechne(a, ; } private Single Berechne(String x, String y) { Berechne = x - y } Kann mir da jemand beim C#-Code helfen? Danke! Zitieren
BlackyEXT Geschrieben 4. August 2010 Geschrieben 4. August 2010 private void txtBis1_Leave(object sender, EventArgs e) { try { int a = Convert.ToInt32(txtZahl1.Text); } catch { MessageBox.Show("Der Text in txtZahl1 ist keine Zahl!"); } try { int b = Convert.ToInt32(txtZahl2.Text); } catch { MessageBox.Show("Der Text in txtZahl2 ist keine Zahl!"); } txtErgebnis.Text = Berechne(a, .ToString(); } private int Berechne(int x, int y) { return x - y; } Der Text einer Textbox ist vom Typ string. Als erstes wandle ich diesen in eine Zahl (int) um. Sollte dies nicht möglich sein wird eine Meldung ausgegeben. Nachdem die Funktion Berechne die berrechnung durchgeführt hat wird das ergebniss zurückgegeben. Und da der Text der Textbox string sein muss wandlen wir die Zahl nun zurück nach string (mit ToString). Code Ungetestet. Möchtest du dem Nutzer noch die Möglichkeit geben, andere Zahlen als Ganzzahlen eingeben zu können? Zitieren
DFens Geschrieben 4. August 2010 Autor Geschrieben 4. August 2010 Ok, vielen Dank damit komm ich schon mal weiter. Zitieren
TDM Geschrieben 5. August 2010 Geschrieben 5. August 2010 Single ist meines Wissensnach kein int. Folglich float. Außerdem ist das try-parse-catch-Konstrukt nicht gerade ... stilvoll. Single.TryParse Method Zitieren
pintman Geschrieben 5. August 2010 Geschrieben 5. August 2010 Sehe ich das richtig, dass TryParse im Falle eines Fehlers eine 0 liefert? Wie kann ich dann eine geparste 0 von einem Fehler unterscheiden? Zitieren
Gateway_man Geschrieben 5. August 2010 Geschrieben 5. August 2010 Ganz einfach in dem du auf den Rückgabewert achtest. Dieser Rückgabewert (nebenbei vom Typ Boolean) sagt aus ob das parsen geklappt hat oder nicht.... Zitieren
pintman Geschrieben 5. August 2010 Geschrieben 5. August 2010 Oh ja, stimmt. Da hatte ich den result-Parameter mit dem Rückgabewert verwechselt. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.