![]() |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Noch mal. Benutz bitte endlich die Delphi Codetags. Das ist der Helm oben bei den Schaltflächen!
Zitat:
Delphi-Quellcode:
Wird die if Abfrage jemals false werden?
login_counter := 0;
if login_counter < 3 then begin |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Habe die Variable login_counter nun im public Bereich global definiert...
Funktioniert aber immer noch nicht!
Delphi-Quellcode:
unit Unit1;
{$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Unit2; type { Tform_benutzerlogin } Tform_benutzerlogin = class(TForm) anmelden_knopf: TButton; beenden_knopf: TButton; ausgabe_fehlermeldung: TLabel; s_benutzername: TEdit; s_passwort: TEdit; Label1: TLabel; Label2: TLabel; procedure anmelden_knopfClick(Sender: TObject); procedure beenden_knopfClick(Sender: TObject); procedure FormShow(Sender: TObject); private { private declarations } public login_counter : integer; end; var form_benutzerlogin: Tform_benutzerlogin; implementation {$R *.lfm} { Tform_benutzerlogin } procedure Tform_benutzerlogin.FormShow(Sender: TObject); begin form_benutzerlogin.Caption := 'Scylla V.1.0 - Login'; s_benutzername.Caption := ''; s_passwort.Caption := ''; ausgabe_fehlermeldung.Caption := ''; anmelden_knopf.Caption := 'Anmelden'; beenden_knopf.Caption := 'Beenden'; end; procedure Tform_benutzerlogin.beenden_knopfClick(Sender: TObject); begin close; end; procedure Tform_benutzerlogin.anmelden_knopfClick(Sender: TObject); var benutzername : string; passwort : string; begin benutzername := 'root'; passwort := 'dHuz76Tr%4f1B'; if login_counter < 3 then begin if (s_benutzername.Caption = benutzername) and (s_passwort.Caption = passwort) then begin form_hauptmenue.Show; end else begin ausgabe_fehlermeldung.Caption := 'Falsche Eingabe'; s_benutzername.Clear; s_passwort.Clear; login_counter := login_counter + 1; end; end; end; end. |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Zitat:
|
AW: Quellcode Überprüfung (For Schleifen Fehler)
Zitat:
Bitte Delphi Tags nicht Code Tags. Der Button mit dem Helm... wir lernen das noch... :roll: ähhhmmmm....
Delphi-Quellcode:
s_benutzername: TEdit;
Delphi-Quellcode:
...du mußt schon .Text auswerten sonst vergleichst du die Caption. Obwohl... im Delphi hat TEdit kein Caption. Im Lazarus? :gruebel:
s_benutzername.Caption = benutzername
auch im Lazarus gibt es kein Caption: ![]() |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Zitat:
1. Du initialisierst den Counter immer noch nicht 2. Du vergleichst Username und Password nicht mit den Usereingaben, da müßtest Du mit der Property Text und nicht mit Caption vergleichen. |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
Vielen Dank für eure Hilfe!
unit Unit1;
{$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Unit2; type { Tform_benutzerlogin } Tform_benutzerlogin = class(TForm) anmelden_knopf: TButton; beenden_knopf: TButton; ausgabe_fehlermeldung: TLabel; s_benutzername: TEdit; s_passwort: TEdit; Label1: TLabel; Label2: TLabel; procedure anmelden_knopfClick(Sender: TObject); procedure beenden_knopfClick(Sender: TObject); procedure FormShow(Sender: TObject); private { private declarations } public login_counter : integer; end; var form_benutzerlogin: Tform_benutzerlogin; implementation {$R *.lfm} { Tform_benutzerlogin } procedure Tform_benutzerlogin.FormShow(Sender: TObject); begin form_benutzerlogin.Caption := 'Scylla V.1.0 - Login'; s_benutzername.Caption := ''; s_passwort.Caption := ''; ausgabe_fehlermeldung.Caption := ''; anmelden_knopf.Caption := 'Anmelden'; beenden_knopf.Caption := 'Beenden'; end; procedure Tform_benutzerlogin.beenden_knopfClick(Sender: TObject); begin close; end; procedure Tform_benutzerlogin.anmelden_knopfClick(Sender: TObject); var benutzername : string; passwort : string; begin benutzername := 'root'; passwort := 'dHuz76Tr%4f1B'; if login_counter < 3 then begin if (s_benutzername.Caption = benutzername) and (s_passwort.Caption = passwort) then begin form_hauptmenue.Show; end else begin ausgabe_fehlermeldung.Caption := 'Falsche Eingabe'; s_benutzername.Clear; s_passwort.Clear; login_counter := login_counter + 1; end; end; if login_counter >= 3 then begin form_benutzerlogin.Close; end; end; end. Benutzerkontrolle funktioniert! Eventuell könnt Ihr mir noch bei einem Thema helfen: Ich habe zwei Formulare. Sofern ein Benutzer auf der zweiten Form auf Beenden drückt soll sich auch ebenfalls Form1 schließen. Mein Quellcode:
Delphi-Quellcode:
Fehlercode im Anhang!
procedure Tform_hauptmenue.beenden_knopfClick(Sender: TObject);
begin close; form_benutzerlogin.Close; end; |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Neues Thema --> neuer Thread!
|
AW: Quellcode Überprüfung (For Schleifen Fehler)
Zitat:
Zitat:
|
AW: Quellcode Überprüfung (For Schleifen Fehler)
@Luckie
Programm funktioniert wie es soll! Mache einen neuen Thread auf... |
AW: Quellcode Überprüfung (For Schleifen Fehler)
Mich wundert das das mit .Caption compiliert. Auch bei Lazarus hat lt. Doku TEdit diese Property nicht... magic Compiler der das umbiegt? :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 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