Seite 1 von 1
String Abfrage im Form Editor
Verfasst: Do Apr 28, 2011 5:14 pm
von jvoltenauer
Guten Tag,
ich versuche im Form Editor Quellcode bei einer Passworteingabe den PasswortString darauf zu untersuchen, ob er mindestens ein Großbuchstabe enthält und das Passwort 8 zeichen lang ist.
String-Länge ist kein Problem length(string), aber wie ermittle ich, dass z.B. mindesten ein Großbuchstaben eingeben wurde.
AnsiMatchStr(string,[...]) funktioniert nicht.
Bin für jeden Hinweis dankbar, da ich mich mit Delphi nicht auskenne.
Grüße
Jürgen V.
Re: String Abfrage im Form Editor
Verfasst: Fr Apr 29, 2011 9:15 am
von ulange
Sehr geehrter Herr Voltenauer,
dies läßt sich gut mit AnsiLowerCase realisieren.
Basteln Sie sich eine Function, z.B.
function IsAllLower(ansiStr: String): Boolean;
begin
result := (AnsiLowerCase(ansiStr) = ansiStr);
end;
und benutzen Sie diese z.B. so:
if IsAllLower('abcdÄefg') then
begin
...
end
else
begin
end;
Uwe Lange
Aagon Consulting
Re: String Abfrage im Form Editor
Verfasst: Fr Apr 29, 2011 10:22 am
von jvoltenauer
Hallo Hr. Lange,
vielen Dank, die Function habe ich ähnlich implementiert und funktioniert sehr gut.
Haben sie mir noch einen Tip, wie ich nun auch noch prüfen kann, ob zudem eine Zahl und ein Sonderzeichen (z.B. $,%,&) enthalten ist.
Viele Grüße
Jürgen V.
Re: String Abfrage im Form Editor
Verfasst: Fr Apr 29, 2011 1:11 pm
von ulange
Sehr geehrter Herr Voltenauer,
durchlaufen Sie den Passwortstring in einer Schleife und stellen Sie
fest ob eines der gefundenen Zeichen Ihren Anforderungen entspricht
z.B.
var HatZahl : boolean;
var HatSonderzeichen : boolean;
HatZahl := false;
HatSonderzeichen:=false;
for i := 1 to length(passwort) do
begin
if passwort in ['0'..'9'] then
HatZahl:=true;
if passwort in ['Sonderzeichen'..'Sonderzeichen'] then
HatSonderzeichen:=true;
end;
If HatZahl then ...
usw.
Mit freundlichen Grüßen
Uwe Lange
Re: String Abfrage im Form Editor
Verfasst: Mo Mai 02, 2011 11:32 am
von jvoltenauer
Hallo Hr. Lange,
ich bekomme aber im Form Editor bei der Zeile:
If sPasswort in ['A'..'Z'] Then
einen Syntax Error angezeigt, und zwar für das "in".
Gruß
Jürgen V.
Re: String Abfrage im Form Editor
Verfasst: Mo Mai 02, 2011 2:58 pm
von ulange
Sehr geehrte Herr Voltenauer,
die Angabe als Range ist Delphi pur, schade funktioniert im Formeditor nicht.
Müssen Sie dann leider jeden Wert einzeln eintragen.
If (pw = '0') or (pw = '1') or (pw = '2') usw. then ..
Re: String Abfrage im Form Editor
Verfasst: Mo Mai 02, 2011 3:58 pm
von jvoltenauer
Hallo Hr. Lange,
das hatte ich schon befürchtet
Vielen Dank für ihre Hilfe & Grüße
Jürgen V.