Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Passwort Eingabe (https://www.delphipraxis.net/190-passwort-eingabe.html)

Jonson 18. Jun 2002 10:47


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

jbg 18. Jun 2002 10:55

Auch schon so probiert:
Code:
function IsValidPassword(const Password, ConfirmPassword): Boolean;
begin
  Result := (Length(Password) >= 6) and (Password = ConfirmPassword);
end;
Oder habe ich dich jetzt komplett falsch verstanden?

Jonson 18. Jun 2002 12:33

@jbg: Danke!

Jonson

Jonson 18. Jun 2002 12:41

Hi jbg,

bei Length(Password) Fehler: Inkompatible Typen

Jonson

jbg 18. Jun 2002 12:43

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.

Luckie 18. Jun 2002 12:58

Zitat:

Zitat von jbg
Einfach Copy&Paste ist nicht. Dafür habe ich schon gesorgt. :roll:

:lol: Werde ich mir als Abwehrmaßnahme gegen Copy&Paste Programmierer merken. :mrgreen:

Jonson 18. Jun 2002 13:16

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

jbg 18. Jun 2002 13:26

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.

Luckie 18. Jun 2002 13:30

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.

sakura 18. Jun 2002 13:37

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 00:22 Uhr.
Seite 1 von 2  1 2      

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