Veröffentlicht 11. August 201114 j Moin Ich habe im Forum schon die SuFu benutzt, aber ich habe nichts gefunden bzw. wusste nicht nach was ich suchen muss. Meine Probleme: ------------------------------ Ich möchte, dass ich den letzten angegeben Buchstaben aus einer Textbox löschen kann. Also 1234 -> 123 Mein Versuch: display = textBox1 private void back_Click(object sender, EventArgs e) { display.Text = display.Text.Length -1; } ------------------------------ Ähnliches Problem: Ich möchte ein +/- in der ersten Stelle der Textbox hinzufügen, ohne das erste Zeichen zu löschen. Das hier war am Ende ein verzweiflungsversuch... private void plusminus_Click(object sender, EventArgs e) { if (display.Text.Length(1) == "+") { pm = display.Text; display.Text = "-"; display.Text += pm; } else { pm = display.Text; display.Text = "+"; display.Text += pm; } } Wäre gut wenn ihr mir helfen könnt. MfG Fire
11. August 201114 j Hallo ich bin zwar nicht der geborene C# Programmierer aber habs trotzdem versucht 1. Problem: display.Text = display.Text.Substring(0, display.Text.Length - 1); 2. Problem: display.Text = string.Concat("+", display.Text); Gruß Hans-Jörg
11. August 201114 j Servus Danke für deine Antwort. Problem 1 ist gefixed. ----- Bei Problem 2 wird zwar ein Plus (bzw. Minus) an erster Stelle hinzugefügt, aber ich wollte es eigentlich so, dass wenn da ein Plus ist das es durch ein Minus ersetzt wird und andersrum. (Wie beim Windows-Taschenrechner) MfG Fire
11. August 201114 j ich meinte eigentlich deine Funktion. geht es dir um mathematische Funktionen oder um das Vorzeichen der Zahl?
11. August 201114 j Bei Problem 2 wird zwar ein Plus (bzw. Minus) an erster Stelle hinzugefügt, aber ich wollte es eigentlich so, dass wenn da ein Plus ist das es durch ein Minus ersetzt wird und andersrum. (Wie beim Windows-Taschenrechner) Na das sollte jetzt aber doch kein Problem mehr sein. Kleine Gedankenstütze: WENN erstes Zeichen = "+" ODER "-" DANN -->WENN erstes Zeichen ein "+" -->DANN concat("-", Substring (1, ...)) -->SONST concat("+", Substring (1, ...)) SONST Concat("+", display.Text) In code kannst es bestimmt selbst "umwandeln", sollst es ja lernen
11. August 201114 j joa hat geklappt, danke euch In C++ geht das einfacher Eigentlich will ich es lernen, "sollen" muss ich nichts^^
12. August 201114 j eine andere Möglichkeit, wie man das anstellen könnte, wäre: man wandelt die Zeichenkette in eine Zahl um (beispielsweise mit Convert.ToInt32(String)) multipliziert diese mit -1 und wandelt die Zahl wieder in eine Zeichenkette um Vorteil: man hat nicht dieses Konstrukt der Fallunterscheidung und (Schätzungsweise) weniger Code Nachteil: die Eingabe muss sich in eine Zahl umwandeln lassen -> es dürfen nur Ziffern vorhanden sein -> es dürfen ggf. keine führenden Nullen vorhanden sein -> es kann eventuell bei Dezimaltrennzeichen (ist das der richtige Begriff?) zu Problemen kommen die Eingabe muss mit dem gewählten Datentyp kompatibel sein - Ganzzahlen -> keine Kommazahlen -> eingeschränkter Wertebereich (beispielsweise Int32: -2^31 bis (2^31)-1 - Fließkommazahlen -> ungenau je nachdem, was der Taschenrechner später alles können soll, musst du abwägen, was du verwendest
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.