Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi MatchesMask (https://www.delphipraxis.net/15547-matchesmask.html)

lkz633 30. Jan 2004 17:34


MatchesMask
 
Hallo,

kennt sich jemand gut mit MatchesMask aus? Ich möchte einen email check hinbekommen.

Habe folgende Funktion aus einem alten Posting von MathiasSimmack, leider funktioniert sie nicht richtig:
Code:
Result := MatchesMask(email,'[A-Z0-9]*[A-ZO-9)]@[A-Z0-9]*[A-Z0-9].[A-Z0-9]*');
Ich kann trotz des A-Z0-9 Sonderzeichen eingeben ohne das der Check meckert. Was ist daran falsch?

Kann mir jemand ausserdem erklären, wo und wann ich genau die gewschweiften Klammern setzten muss? Im obigen code ist es mal vor dem Platzhalter, mal sowohl vor als auch danach. Wäre über Hilfe sehr dankbar.

Gruss und Dank
lkz633

APP 30. Jan 2004 19:23

Re: MatchesMask
 
Hallo lkz633,
nachdem ich gerade herausgefunden habe, dass MatchesMask und Matches das gleiche TMask-Objekt benutzen,
kann ich Dir nun diese Erklärungen zu einer TMask-Implementierung aus Hagen's DoubleKiller-Framework anbieten:


Code:
//  CreateMask('[ABC]*.pas');             // Pascal Files mit A oder B oder C als ersten Buchstaben
//  CreateMask('[!ABC]*.pas');            // Pascal Files mit irgendeinem Buchstaben am Anfang AUSSER A,B,C
//  CreateMask('*[0-9]*.*;*.*[0-9]*');    // alle Ziffer im Namen oder Extension
//  CreateMask('*.[~]*');                 // alle mit Tilde als erstes Zeichen in Extension
//  CreateMask('', '*.[~]*');             // alle aber keine mit Tilde als erstes Zeichen in Extension
//  CreateMask('[!ABC]*.pas;[!ABC]*.dfm'); // Files mit irgendeinem Buchstaben am Anfang AUSSER A,B,C
//  CreateMask('', '', '[a-c]*;[r-t]*');  // Alle Dateien aber nur Ordner die mit A,B,C,R,S,T beginnen
//  CreateMask('', '', '[a-cr-t]*');      // Alle Dateien aber nur Ordner die mit A,B,C,R,S,T beginnen
//  CreateMask('*.skin*');                // Dateien mit Extension .skin
//  CreateMask('*.*.*');                  // Alle Dateien mit Punkt in Extension
Vielleicht hilft Dir das ja weiter...

p.s. Ich fand es auch schon sehr nützlich, da ich nirgendwo sonst so eine kompakte Erklärung zu den Delphi-Masken fand :mrgreen:.

Duffy 30. Jan 2004 20:31

Re: MatchesMask
 
Hallo lkz633,
einen völlig anderen Weg habe ich auf http://www.swissdelphicenter.ch/de gefunden.

...einen String auf eine gültige Email Adresse überprüfen?

bye
Claus

lkz633 30. Jan 2004 20:35

Re: MatchesMask
 
Hallo,

danke für die Erklärung von MatchesMask, habe so rausgefunden das es wohl nicht geht wie ich es wollte, benutzte jetzt eine Kombination aus MatchesMask und einer Überprüfung aller Zeichen, damit klappt es perfekt.

Und viel kürzerer Code als bei den Schweizern :-)

Dank und Gruss
lkz633


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz