![]() |
Quellcode Überprüfung (For Schleifen Fehler)
Hallo Leute,
habe ein Problem mit meinem Quellcode. Habe einen Fehler drin, den ich leider nicht erkenne. Hier mein Quellcode:
Delphi-Quellcode:
Bei mir springt der Zähler aus irgend einem Grund direkt von 0 auf 6.
procedure Tform_benutzerlogin.anmelden_knopfClick(Sender: TObject);
var benutzername : string; passwort : string; i : integer; zaehler : integer; begin benutzername := 'root'; passwort := 'dHuz76Tr%4f1B'; i := 0; zaehler := 1; for i := 1 to 5 do begin if (s_benutzername.Caption = benutzername) and (s_passwort.Caption = passwort) then begin s_benutzername.Clear; s_passwort.Clear; ausgabe_fehlermeldung.Caption := ''; form_hauptmenue.Show; form_benutzerlogin.Visible := False end else begin s_benutzername.Clear; s_passwort.Clear; end; zaehler := zaehler + 1; ausgabe_fehlermeldung.Caption := Inttostr(zaehler); end; end; Wäre super, wenn Ihr mir helfen würdet. |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Hallo und willkommen hier...8-)
Bitte verpacke bitte den Delphi Code formatiert in Delphi Code Tags. Das ist der Button mit dem Helm... Zum Thema: Direkt auf 6 bedeutet
Delphi-Quellcode:
ist nicht True. Dadurch wird 5 mal s_benutzername leergemacht und der Zähler steht auf 6... logisch oder? :zwinker: Beim ersten Mal könntest du ja noch Glück haben das Benutzername und Paßwort paßt um in die erste Bedingung reinzukommen. Aber spätestens mit dem 1. Leeren wird die Bedingung nie wieder True sein können.
if (s_benutzername.Caption = benutzername) and (s_passwort.Caption = passwort) then
Erkläre mal den Ablauf den du vorhast... :P Das kann so vom logischen Ablauf nicht funktionieren. Wo für ist dieses Programm? Für externe Kunden? Dann solltest du dich mit "nicht einkompilieren" von Benutzernamen und Passwörtern beschäftigen. |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Wenn
Delphi-Quellcode:
false ist, müssten auch die Eingabefelder geleert werden. Trifft das zu?
(s_benutzername.Caption = benutzername) and (s_passwort.Caption = passwort)
Ansonsten, dass eine Schleife rückwärts läuft ist normal. Siehe dazu: ![]() |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Zitat:
|
AW: Quellcode Überprüfung (For Schleifen Fehler)
Muss nicht. Nach verlassen der Schleife ist der Wert der Zählvariablen unbestimmt. Stellt sich die Frage, wo er feststellt, dass die Zählvariable 6 ist.
Außerdem wollte ich mal wieder einen Link zu meiner Homepage unterbringen. :mrgreen: |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Zitat:
Zitat:
|
AW: Quellcode Überprüfung (For Schleifen Fehler)
Er kann nur exakt sein. Da es sich um einen Integer handelt. :P
Und wie so sollte er nicht (zufällig) 6 sein? Wenn der Ablauf im Code immer gleich ist, sind auch die Speicheradressen um Adressraum des Prozesses wohl gleich. Und wie oft hatten wir schon die Situation, dass es zufällig bisher immer funktioniert hat, aber eben nur zufällig. Eine kleine Änderung und der Code, der zufällig funktioniert hat, funktioniert nicht mehr. |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Habe meinen Quellcode mal überarbeitet:
Delphi-Quellcode:
Ich würde gerne eine Benutzerabfrage schreiben, welche die vorgegebenen Variablen benutzername/passwort überprüft.
procedure Tform_benutzerlogin.anmelden_knopfClick(Sender: TObject);
var benutzername : string; passwort : string; i : integer; zaehler : integer; begin benutzername := 'root'; passwort := 'dHuz76Tr%4f1B'; for i := 1 to 3 do begin if (s_benutzername.Caption = benutzername) and (s_passwort.Caption = passwort) then begin s_benutzername.Clear; s_passwort.Clear; form_hauptmenue.Show; end else begin s_benutzername.Clear; s_passwort.Clear; ausgabe_fehlermeldung.Caption := 'Falsche Eingabe'; zaehler := i + 1; end; if zaehler >= 6 then begin form_benutzerlogin.Close; end; end; end; Sofern die Eingabe des Benutzers korrekt ist, soll sich ein weiteres Fenster öffnen. Sofern die Benutzereingabe falsch ist, sollen sich die Eingabefelder leeren und eine Labelbeschriftung mit Falscher Eingabe erzeugen.--> das ganze soll 3 mal von statten gehen, ansonsten soll sich die Anwendung schließen. |
AW: Quellcode Überprüfung (For Schleifen Fehler)
@atzornf: Die Delphi Tags üben wir noch... :zwinker:
Zitat:
|
AW: Quellcode Überprüfung (For Schleifen Fehler)
@haentschman
Programmiere heute zum ersten mal mit Delphi. Wäre super, wenn du mir helfen würdest. Wäre auch mal interessant zu wissen, was ich falsch gemacht habe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 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