Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 3 mal falsches Passwort eingeben .... (https://www.delphipraxis.net/10543-3-mal-falsches-passwort-eingeben.html)

Trouble_Maker 20. Okt 2003 22:25


3 mal falsches Passwort eingeben ....
 
Hiho Leute
so hab mal wieder ne Frage...

und zwar will ich, dass sich Button1.enabled = false, wenn 3 mal das Falsche Passwort eingegeben wurde!
Diese gibt man in Edit1 ein! So nun weiss ich nich, wie ich das mit den 3 Versuchen anstellen soll.

Könnt ihr mir helfen ?


Thx


cu Trouble_Maker

neolithos 20. Okt 2003 22:31

Re: 3 mal falsches Passwort eingeben ....
 
Zähl die Falscheingabe in einer Variable!

Trouble_Maker 20. Okt 2003 22:35

Re: 3 mal falsches Passwort eingeben ....
 
:wiejetzt:

chris01 20. Okt 2003 22:40

Re: 3 mal falsches Passwort eingeben ....
 
Du erstellst eine Variable

Delphi-Quellcode:
var i:integer
danach musst du bei jeder abfrage schreiben

Delphi-Quellcode:
Inc(i);
und dabei fragen:

Delphi-Quellcode:
if i = 3 then Button1.enable := true;

so, das müsste es sein :mrgreen:

hm988 20. Okt 2003 22:43

Re: 3 mal falsches Passwort eingeben ....
 
hä wie, ist doch kein Problem oder? :roll:

du musst doch so irgenwie dein Passwort abfragen
Delphi-Quellcode:
"if Edit1.Text <> 'testpassword' then"
mach was
oder

jetzt nimmst eine Integer Variable z.B. Zaehler, also wenn jetzt ein falsches Password eingegeben wurde
Delphi-Quellcode:
"if Edit1.Text <> 'testpassword' then if
Zaehler < 3 then Zaehler :=Zaehler+1
else MessageDlg('3mal falsches Passwort .....');"
oder irgendwie wie dus eben baruchst, ider hab ich da was falsch verstanden ?? :gruebel:

hm988 20. Okt 2003 22:45

Re: 3 mal falsches Passwort eingeben ....
 
oder so ja, war wohl bisl zu langsam ist aber sicher die elegantere Lösung :thuimb:

Chris1986 20. Okt 2003 22:46

Re: 3 mal falsches Passwort eingeben ....
 
Hi
du prüfst doch das Passwort wahrscheinlich mit einer if-Bedingung, oder? Ist das Passwort falsch, wird eine Laufvariable "i" auf "i+1" gesetzt

Beispiel:
Delphi-Quellcode:
var i: integer;
    Passwort: string;
begin
  if i <= 3 //Es wird geprüft, wie oft bereits ein Passwort eingegeben wurde
    then begin
           //Noch wurde nicht 3mal versucht das Passwort einzugeben, ein weiterer Versuch wird zugelassen
           if edit1.text = Passwort
             then //das Passwort ist richtig, was soll jetzt passieren?
             else i:=i+1; //das Passwort ist falsch, die Laufvariable "i" zählt hoch
         end
   
    else showmessage('Das Passwort wurde 3mal falsch eingegeben'); //Das Passwort wurde 3mal falsch eingegeben
end;
MfG
Christian

Chris1986 20. Okt 2003 22:47

Re: 3 mal falsches Passwort eingeben ....
 
Zu spät :roll:

chris01 20. Okt 2003 22:48

Re: 3 mal falsches Passwort eingeben ....
 
Danke! Freue mich immer über Lob *freu*

Trouble_Maker 22. Okt 2003 12:44

Re: 3 mal falsches Passwort eingeben ....
 
Hiho

ah cool ... jap is eigentlich garnich so schwer! :-)

Danke


cu Trouble_Maker

Trouble_Maker 22. Okt 2003 13:45

Re: 3 mal falsches Passwort eingeben ....
 
Hmm hiho...

jap das hab ich so einfach geschrieben mit dem einfach, ohne es zu testen ^^

Folgendes Problem: (das hat alles nich bei mir geklappt, deshalb hab ich einfach mal folgendes "Programm" geschrieben:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  Inc(i);
  if (i>3) then
  begin
    showmessage('i= größer als 3');
    exit;
  end
  else showmessage('nicht größer als 3');
end;
So ... aber es kommt immer die Meldung, dass i größer als 3 ist!
Mach ich da was mit dem Incrementieren falsch ?!?

Helf mir ...


cu Trouble_Maker

Phoenix 22. Okt 2003 14:10

Re: 3 mal falsches Passwort eingeben ....
 
1.) Du initialisierst i nicht. Woher soll das Programm wissen, welchen Wert i am Anfang hat?

2.) Dein i 'lebt' nur solange, wie die Methode läuft.

Also jedesmal, wenn Du den Button drückst wird ein neues i erzeugt (an irgendeiner Stelle im Speicher), es wird kein Wert zugewiesen, d.H. i hat als Integer den Wert, der vorher zufällig mal auf dieser Speicheradresse stand. Beim Wertebereich von einem Integer ist es halt meist so, daß i nicht unbedingt 0 ist ;-)

Dann wird i um eins erhöht, da der Wert vorher unbekannt ist hilft das aber nicht viel.

Mach aus Deinem i also eine globale Variable (zumindest mal globaler als lokal, eine Membervariable auf dem Form bietet sich an, Du kannst aber auch die TAG - Eigenschaft des Buttons nehmen), und gaaanz wichtig: Weise der gewählten Variable beim Programmstart einen Wert zu (in dem Fall bietet sich 0 an).

Dann solltest Du damit keine Probleme haben.

Nimoee 22. Okt 2003 14:11

Re: 3 mal falsches Passwort eingeben ....
 
Hallo,

wo bitte schön setzt du deine Variable vor dem ersten Zugriff? Die hat jetzt irgendeinen Wert ( Zufall);

Nimoee

Trouble_Maker 22. Okt 2003 21:37

Re: 3 mal falsches Passwort eingeben ....
 
Hiho ...

ahh ... ich depp ^^

Danke @ Phoenix, hast mir gut geholfen ! Jetzt klappt alles !


cu Trouble_Maker


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 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 by Thomas Breitkreuz