|
You last visited: Today at 23:45
Advertisement
[C#]Nach einem bestimmten Zeichen...
Discussion on [C#]Nach einem bestimmten Zeichen... within the .NET Languages forum part of the Coders Den category.
11/21/2012, 19:59
|
#1
|
elite*gold: 0
Join Date: Dec 2010
Posts: 459
Received Thanks: 259
|
[C#]Nach einem bestimmten Zeichen...
HeyHo,
eine kurze Frage, wie kann ich schreiben, dass nach dem Exponenten nur noch eine Zahl beispielweise unter der 19 erlaubt wird.
Sprich das man nicht mehr 19,20 etc. schreiben kann, nachdem man "E" geschrieben hat.
|
|
|
11/21/2012, 21:25
|
#2
|
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
|
C# ist eine .NET-Sprache, also bitte bei den  .
Zu deiner Frage: was willst du erreichen? Was ist die Eingabe, und was soll die Ausgabe sein? Möchtest du eine Funktion, die etwa wie folgt aussieht?
Code:
bool akzeptieren (string Text) { /* ... */ }
Sollte dem so sein, kannst du dir ja mal eine .NET-Version von Lex und Yacc ansehen. Wenn du dich aber nicht so sehr damit beschäftigen möchtest (was wohl leider so ist), würde ich vorschlagen, dass du deine Eingabe zeichenweise einliest und dann überprüfst.
|
|
|
11/22/2012, 15:45
|
#3
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,909
Received Thanks: 25,409
|
C/C++ -> .NET Languages
#moved
|
|
|
11/24/2012, 11:39
|
#4
|
elite*gold: 0
Join Date: Jun 2009
Posts: 132
Received Thanks: 37
|
Einfach bei OnKeyPress einen Eventhandler hinzufügen oder eine Custom Textbox class machen und die Funktion mit override überschreiben. Dann nimmst du eine bool. Bei jedem Keypress checkst du erstmal ob ein Komma dabei ist. Wenn es dabei war setzt du die bool true und wenn es entfernt wird einfach nach del oder backwardspace checken setzt du die bool false. Dann brauchst du nur noch den string nach dem komma in einen substring zu formen und gucken ob die zahlen im bereich sind.
|
|
|
11/24/2012, 14:25
|
#5
|
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
|
Ein eigenes Steuerelement nur dafür? Unnötig.
Du nähmest OnKeyPress? Dann nähme ich das Kontextmenü und wähle dort Einfügen und entfernte den Text erst, wenn ich mehrere Zeichen markiert habe. Es gibt aber ein Ereignis namens TextChanged, wie wäre es damit? Dann kannst du deine Validierungsfunktion den Text untersuchen lassen, soviel du willst.
|
|
|
11/24/2012, 19:03
|
#6
|
elite*gold: 0
Join Date: Jun 2009
Posts: 132
Received Thanks: 37
|
Quote:
Originally Posted by Tasiro
Ein eigenes Steuerelement nur dafür? Unnötig.
Du nähmest OnKeyPress? Dann nähme ich das Kontextmenü und wähle dort Einfügen und entfernte den Text erst, wenn ich mehrere Zeichen markiert habe. Es gibt aber ein Ereignis namens TextChanged, wie wäre es damit? Dann kannst du deine Validierungsfunktion den Text untersuchen lassen, soviel du willst.
|
Bei TextChanged musst du jedes mal den ganzen Text durchsuchen! Das wird ineffiktiv!
|
|
|
11/25/2012, 11:20
|
#7
|
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
|
Nicht bei der Rechenleistung der heutigen PC's
|
|
|
11/26/2012, 14:44
|
#8
|
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
|
seit .net 2.0 gibts dafür MaskedTextbox
die mask wäre dann wohl in etwa sowas
Code:
this.maskedTextBox1.Mask = "0.0E0";
|
|
|
11/26/2012, 23:55
|
#9
|
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
|
Ineffektiv? In Ordnung, immerhin kommt es nicht zu inkorrektem Verhalten, der Nutzer ist schließlich äußerst kreativ und nutzt seine Anwendungen gerne unvorhergesehen. Aber Fehler möchte er trotzdem nicht.
Und wie lang, meinst du, muss die Eingabe sein, dass das Prüfen der gesamten Eingabe so lange dauert, dass der Nutzer überhaupt etwas davon merkt?
So, wie das Problem geschildert wurde, ist eine beliebige Zahl nicht akzeptabel. So muss die erste Nachkommastelle im Beispiel kleiner als zwei sein. Das ist bei deinem Beispiel nicht gewährleistet. Mit regulären Ausdrücken (siehe dazu bei weiterem Interesse auch reguläre Sprachen - deren Syntax lässt sich mit solchen vollständig beschreiben) ist dem leider nur in begrenztem Maße beizukommen, besonders dann, wenn die Größe des Maximums (hier 19) zur Compilierzeit unbekannt ist.
|
|
|
11/27/2012, 13:57
|
#10
|
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
|
@Tasiro stimmt
Ich habe die Fragestellung anders verstanden.
|
|
|
 |
Similar Threads
|
Wlan Disconnects bei einem bestimmten Spiel
08/04/2012 - Technical Support - 9 Replies
Ahoi ^.^
Ich habe schon in der Alliance of Valiant Arms Sektion gefragt da konnte mir aber auch keiner helfen und es wurde hierher verwiesen.
Wie ihr lesen könnt geht es um das Online FPS AvA.
Zu meinem Problem ich bekomme alle paar Spiele, meiner Statistik zu folge 1 Disconnect in 3 Spielen einen Connection Lost... Ingame wird dann runter gezählt (Lost Connection 20 sec....) und es schließt sich. Dann sieht man das meine Internet Verbindung getrennt ist. Das ist aber nur in AvA so....
|
Frage zu einem bestimmten Hack
11/03/2011 - S4 League - 1 Replies
Ich wollte mal was fragen unzwar gabs mal früher ein Bin Hack wenn mann einmal gebindet hat das der jenige dauer gebind war ganze zeit bis eine neue runde begonnen hatte ich wollte mal fragen muss mann dazu sich speziell was downloaden oder kann mann das bei nem hack anmachen ich habe Cybers on und off hack muss ich dann dort was bestimmtes anmachen und dann binden oder wie geht das ?
|
Suche nach einem APB Tutorial wo alles erklärt wird, Zeichen,Level usw...
10/01/2011 - All Points Bulletin - 1 Replies
Mein acc hat so 26 stunden spielzeit und ich hab 43 R ( ka was das ist) und suche nach nem tutorial wo mir alles erklärt wird, was z.B dieses R bringt oder welches level man ist.
|
Attacke ab einem bestimmten Level erhöhen
09/24/2011 - Flyff Private Server - 8 Replies
Hi E*Pvpers,
ich wollte mal fragen, ob es normal ist, dass ein lvl 150-H Arcanist (mit ca. 800 INT und behe staff) in Bahara Desert nur ca. 23k dmg macht!
Und wenn nicht, kann man irgendwo einstellen, dass die Attacke ab einem bestimmten Level erhöht wird? Oder hat jemand eine andere Lösung?
Lg
|
alle zeichen BIS zu einem bestimmten löschen ?!
08/01/2011 - General Coding - 9 Replies
hey com :)
wie der titel schon sagt, such ich den code, wo ich alle zeichen von rechts nach links bis zu einem bestimmten zeichen löschen kann
hab schon mit der split methode probiert, aber da kommt was anderes dabei raus.
zb.
gewähltes zeichen: v
www.elitepvpers.com
|
All times are GMT +1. The time now is 23:49.
|
|