Fehlermeldung programmieren C#
Hallo!
Ich würde gern ein Fenster programmieren mit einer Fehlermeldung, welches aufploppt, wenn der Anwender in die Eingabefelder Buchstaben, Sonderzeichen oder keien Zahl eingibt!
Wie mache ich das? Und was muss ich im Quellcode eingeben??
Ich bin Anfänger in C#!!
Habe Visual Studio 2010 Express!
Noch eine weitere Frage,wenn ich mein Programm fertig habe, würde ich da sgern als Setup.exe machen?! Wie? HAbe bei Google und CO gelesen, das das unter Datei... ist bei neues Projekt aber bei mir steht da nciht von! Da soll unter neues Projekt sowas stehen wie Andere und dazu Setup erstellen!!
Wieso ist das bei mir nicht? Und wie kann ich das machen??
Hilfe itte schnelle Antworten auf beide Fragen! Danke
3 Antworten
entweder über den _TextChanged-EventHandler regeln (per textBox1.Text.Substring(textBox1.Text.Length-1,1) prüfen, das gibt dir das letzte Zeichen aus )
Oder eine MaskedTextBox verwenden und als Maske 0000(so viele nullen wie Zahlen eingegeben werden sollen) einstellen.
Fehlermeldung machst du über MessageBox.Show("Ein Buchstabe oder Sonderzeichen wurde eingegeben", "Eingabefehler")
Für eine Setup.exe gehst du im Projektmappenexplorer auf Properties und dann unten links auf Veröffentlichen.
Also als ganz blutiger Anfänger empfehle ich dir erstmal ein gutes Buch mit Tutorial-Funktionalität um dich überhaupt mti der Sprache und dem Aufbau vertraut zu machen.
Galileocomputing hat ein gutes C# Buch zum kostenlosen Download im Angebot (http://openbook.galileocomputing.de/visual_csharp/).
Des weiteren solltest du dir ein passendes Forum suchen um dort deine Programmierfragen zu stellen. Für so etwas spezielles ist GF einfach nicht geeignet, da bist du unter gleichgesinnten einfach besser aufgehoben. Ich empfehle dabei ja immer stackoverflow.com, da dort auch der Schwerpunkt auf .NET-Entwicklung liegt - da die macher der Seite auch damit arbeiten und die Seite auf dem .NET-Framework aufgebaut wurde.
Fang bitte erst mit den Grundlagen-Tutorials an und frag nur nach, wenn etwas nicht so läuft, wie es in den Tutorials beschrieben ist. Sonst lernst du dabei nicht viel. Auch wenn es langweilig ist, Programmieren lernen beginnt man halt ganz ganz klein und nicht durch einen Seiteneinstieg.
Besser als eine Fehlermeldung auszugeben, das der Anwender etwas falsches eingegeben hat, ist es übrigends die falsche Eingabe direkt zu verhindern. Dafür kann man den Tastendruck über die KeyPress-Events der Textfelder abfangen, die gedrückte Taste überprüfen und nur zulassen was auch gültig ist.
Das findest du definitiv im Netz, dafür brauch ich dir keinen Code geben. Stichworte wären C#, TextBox, Validating, KeyPress, ErrorProvider
Mit diesen Stichworten kannst du suchen, solltest du sofort geeignete Tutorials finden. An Englisch solltest du dich gewöhnen, auch ein großteil der deutschen Entwickler schreibt im Internet eher in englischen Foren als auf deutsch.
Du kannst ne Exception erstellen, für alle Eingaben, die einen Fehler bei der Eingabe ins Feld ergeben. im try block verarbeitest du die eingabe, prüfst, ob es eine Zahl ist oder nicht, wenn ne exception geworfen wird, behandelst du diese eben mit der fehlermeldung, die du gerne hättest.
Was verstehst du unter Setup.exe ... willst du nur ne exe haben oder willst du, dass sich das Programm installiert ?
Exceptions für den Programmablauf zu verwenden ist eine Todsünde. Um eine Exception auszulösen verbraucht man unheimlich viel Prozessorzeit. Da man weis, welche Fehler auftreten können, kann man dieses Problem besser anders lösen.
Dann solltest du dich mal mit sämtlichen Dozenten meiner FH auseinandersetzen und ihnen erklären, dass DU es besser weißt ;)
Und naja, es gibt zu Hauf Programme, bei denen es vermutlich absolut nicht drauf ankommt, ob die Exception "viel" Prozessorzeit beansprucht... das kommt dann wieder auf den Einsatzzweck an..
Da sollten deine Dozenten vielleicht mal aus dem Lehrstuhl heraus gucken in die Realität. Ich arbeite seit 6 Jahren mit .NET und habe durch diese einfache Grundlage alleine massive Beschleunigungen in der Gesamtsoftware errreichen können, welche die Anwender sogar spüren.
Eine Exception zu werfen, weil man eine Eingabe prüft ist Sinnfrei, Zeitraubend und mit Kanonen auf Spatzen geschossen - kann dir jeder .NET-Entwickler sagen. Dafür gibt es die Validating-Events bei allen Eingabe-Controls, sowie die entsprechenden Routinen um das ganze ohne Exceptions zu lösen.
Exceptions sollten das bleiben was sie sind, unvorhergesehene Ausnahmen. Wenn ich eine Textbox habe ist es vorherzusehen, dass dort unzulässige Zeichen eingegeben wurden.
Das ist richtig und wollte ich vorhin noch anmerken, Exceptions machen durchaus Sinn, wenn man nicht alle Fehler im vornerein abfangen kann. Vermutlich sollte uns das beispiel mit der Textbox auch nur den Umgang mit Exceptions nahebringen. Dass das allerdings "Zeitraubend" sein soll/kann, kann ich mir nicht vorstellen, da die Prozesszeit in jedem Fall quasi während der Eingabe beendet ist, oder etwa nicht ?
ja das is nur ein Progamm für die schule!Und um da sgut zu machen, möchte ich entweder ne Fehlermeldung bringen wenn Buchstaben oder Sonderzeichen eingegeben werden oder diese abfangen!!!
Wie mache ich das???