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.
String Abfrage im Form Editor
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
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
-
- Beiträge: 10
- Registriert: Do Mär 31, 2011 2:15 pm
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.
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.
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
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
-
- Beiträge: 10
- Registriert: Do Mär 31, 2011 2:15 pm
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.
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.
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 ..
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 ..
-
- Beiträge: 10
- Registriert: Do Mär 31, 2011 2:15 pm
Hallo Hr. Lange,
das hatte ich schon befürchtet
Vielen Dank für ihre Hilfe & Grüße
Jürgen V.
das hatte ich schon befürchtet
Vielen Dank für ihre Hilfe & Grüße
Jürgen V.