![]() |
Passwort Eingabe
Es wird ein Passwort eingegeben. Hat jemand vielleicht eine Funktion für Passwort Überprüfung? Passwort (wird 2 mal eingegeben) sollte min. 6 Zeichen haben. Ich weiß nicht was ich eigentlich prüfen sollte und wie? was ist Sinnvoll?
Mit freundlichen Grüßen Jonson |
Auch schon so probiert:
Code:
Oder habe ich dich jetzt komplett falsch verstanden?
function IsValidPassword(const Password, ConfirmPassword): Boolean;
begin Result := (Length(Password) >= 6) and (Password = ConfirmPassword); end; |
@jbg: Danke!
Jonson |
Hi jbg,
bei Length(Password) Fehler: Inkompatible Typen Jonson |
Einfach Copy&Paste ist nicht. Dafür habe ich schon gesorgt. :roll:
Ich habe vergessen beim Prozedurkopf : string mit anzugeben. Aber da hättest du auch selbst drauf kommen können. |
Zitat:
|
Hi jbq,
Ich will kein Pastaprogrammierer sein :oops: , darum sage mir bitte warum schreibt man hier const. Wozu ist das gut? Es funktioniert auch ohne const Jonson |
Wenn ein String an eine Prozedur/Funktion übergeben wird, dann wir er sozusagen kopiert. Dieses Kopieren ist wichtig, damit in der Funktion bei einer Änderung des Strings nicht gleich die übergebene Variable verändert wird. Wenn aber klar ist, dass dieser String gar nicht in der Funktion verändert werden soll, dann kann man mit der Angabe von const einen Geschwindigkeitsgewinn erziehlen, da der String nun nicht mehr kopiert werden muss, weil der Compiler schon verhindert, dass überhaupt in den String geschrieben werden kann.
|
Hm, ich hätte jetzt gesagt:
Wird der Parameter ohne const übergeben, dann wird eine Kopie angelegt von dem String auf dem Stack beim Aufruf. Wird der Parameter mit const übergeben, wird die Zeichenkette nicht kopiert sondern nur ein Zeiger auf die Zeichenkette auf dem Stack abgelegt., was Geschwindigkeitsvorteile bringt. |
Also, mal eine kurze Aufklärungsminute... :D
Parameter mit var Es wird genaugenommen ein Pointer auf die Originalvariable übergeben. Wenn die Methode die Variable ändert, dann ändert sich auch das Original. Parameter mit const Dem Compiler wird deutlich gemacht, wiederum einem Pointer zu überreichen. Der Programmierer verbietet sich selbst, den Inhalt der Variable zu ändern. Parameter ohne var/const Der Compiler legt eine Kopie der Variable an. Diese kann geändert werden. Sollte der Inhalt sich nicht ändern, dann arbeitet Delphi (ab Version 4 od. 5) intern genauso, als wäre die Variable mit const deklariert. Bei Pascal-Strings wird zusätzlich noch der Referenzcounter gesetzt/gelöscht. Ich hoffe, dass dieses ein wenig Aufschluss gibt. Tags gefixt - Luckie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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