Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - String (Editfeld) auf Sonderzeichen prüfen


alexschultze - Di 29.10.02 18:23
Titel: String (Editfeld) auf Sonderzeichen prüfen
hiho

ich habe einen Edit, und ich will sicherstellen das die Eingaben Alphanumerisch sind, evtl. mit den Zeichen @_- als Ausnahme noch möglich.

Ideen? Alex


alexschultze - Di 29.10.02 18:26

ach so, zusätzlich interessiert mich, wie ich prüfen kann ob eine Edit - Eingabe eine halbwegs gültige E-mail Adresse in der Form a@b.de ist

alex


Klabautermann - Di 29.10.02 19:43

Hallo,

soetwas kannst du recht einfach im OnKeyPress Ereignis des Edit Feldes überprügfen. Die Abfrage könnte dann so aussehen:

Quelltext
1:
2:
IF NOT (Key IN ['a'..'z', 'A'..'Z', '0'..'9', '@', '.']) THEN 
  Key := #0;


Beim überprüfen ob die Eingabe eine E-Mailadresse ist, musst du gucken ob sie ein @ und mindestens einen Punkt enthält. Der Punkt darf weder als erstes noch als letztes Zeichen vorkommen. Auch das @ darf an diesen Positionen nicht erscheinen und mindestens ein Punkt muss nach dem @ folgen.
Das ganze musst du jetzt nur noch deinem Delphi verklickern ;).

Gruß
Klabautermann

PS: Du solltest noch einmal überlegen, wenche Zeichen du noch zulassen musst, z.B. Bindestriche.


Delete - Di 29.10.02 20:40


Quelltext
1:
2:
3:
4:
uses
  Masks;

if(MatchesMask(Edit1.Text,'*@*.???')) then ;

ginge zur Not auch ohne große Verklickerungen ...


alexschultze - Di 29.10.02 20:47

beides genial. ich brauche für das erste noch ein kleinen Tipp:
Retourntaste geht nicht!


Delete - Di 29.10.02 21:10

alexschultze hat folgendes geschrieben:
beides genial.

Tja, nur dass dir zumindest eine Lösung bereits bekannt war ...

25.10.02, 23:05
alexschultze hat folgendes geschrieben:
sagt mal, gibt in Delphi überhaupt Wildcards?


26.10.02, 08:23
MathiasSimmack hat folgendes geschrieben:
Eine andere Möglichkeit (inkl. Wildcards) wäre die Unit "Masks" mit der Funktion "MatchesMask"


26.10.02, 11:22
alexschultze hat folgendes geschrieben:
dieses mask ist sehr interessant.


Zu finden hier [http://www.auq.de/viewtopic.php?t=3438], selbe Sparte, ein paar Zeilen tiefer ... Zumindest die Frage nach der "Syntaxprüfung" einer Mail-Adresse hättest du selbst beantworten können. :wink:


alexschultze - Di 29.10.02 22:15

*grins* ja, ich bin hyperaktiv ;) Zuviele Threads auf einmal, aber ich hab auch sooo viele Fragen und freue mich sehr über die rege Beteilgung ;)
Sobald ich die schlimmste Phase hinter mir hab bin ich den Usern hier schuldig, jede Menge Antworten auf Fragen zu schreiben *g*

Wie ist das jetzt noch mit der Retourntaste?


Anonymous - Mi 30.10.02 01:58

ich glaube #8

Guck dir Tipp 3 an:

http://mitglied.lycos.de/popov3/pub/topten/faq.txt


Delete - Mi 30.10.02 02:43

#8 ist Backspace. Return ist #13.