Fehlermeldung programmieren C#

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Charlymeinwelli 
Fragesteller
 08.04.2011, 14:06

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???

0
Beowulfof  08.04.2011, 17:19
@Charlymeinwelli

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.

0

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 ?

Beowulfof  08.04.2011, 13:45

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.

0
bloodsplash  08.04.2011, 13:49
@Beowulfof

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..

0
Beowulfof  08.04.2011, 15:06
@bloodsplash

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.

0
bloodsplash  08.04.2011, 20:29
@Beowulfof

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 ?

0