AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Quellcode Überprüfung (For Schleifen Fehler)
Thema durchsuchen
Ansicht
Themen-Optionen

Quellcode Überprüfung (For Schleifen Fehler)

Ein Thema von atzornf · begonnen am 6. Dez 2015 · letzter Beitrag vom 6. Dez 2015
Antwort Antwort
Seite 1 von 2  1 2      
atzornf

Registriert seit: 6. Dez 2015
Ort: Völklingen
11 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:00
@Luckie

Genau das will ich!

procedure Tform_benutzerlogin.anmelden_knopfClick(Sender: TObject);

var
benutzername : string;
passwort : string;
i : 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
form_hauptmenue.Show;
end
else begin
ausgabe_fehlermeldung.Caption := 'Falsche Eingabe';
s_benutzername.Clear;
s_passwort.Clear;
end;
end;
if i >= 3
then begin
form_benutzerlogin.Close;
end;
end;

Ich habe mal meinen Quellcode ein wenig abgeändert.
Weshalb muss ich den das ButtonClick: verwenden?
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#2

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:04
Zitat:
Genau das will ich!
...hast aber immer noch die Schleife drin...

ButtonClick ist deine procedure Tform_benutzerlogin.anmelden_knopfClick(Sender: TObject); Mit den Delphi Tags nerv ich dich heute noch...

Geändert von haentschman ( 6. Dez 2015 um 18:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:05
Benutz bitte die Delphi-Tags!

Mein Button_Click ist nur eine Pseudo-Bezeichnung. für irgendeine ButtonClick Routine.

Noch mal. Du hast nicht verstanden, warum deine Schleife überflüssig und nutzlos ist. Ich habe dir doch genau beschrieben, was deine Schleife macht, nämlich im Prinzip nichts, weil sich die Eingabe ja nicht ändert. Und wenn sie bei ersten Durchlauf falsch ist, wird es die Eingabe auch beim millionsten Durchlauf sein.

Und du hast meinen Pseudo-Code nicht umgesetzt. Das Denken habe ich dir schon abgenommen. Du musst es nur noch in Delphi formulieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
atzornf

Registriert seit: 6. Dez 2015
Ort: Völklingen
11 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:16
@Luckie

procedure Tform_benutzerlogin.anmelden_knopfClick(Sender: TObject);

var
benutzername : string;
passwort : string;
login_counter : integer;

begin

benutzername := 'root';
passwort := 'dHuz76Tr%4f1B';
login_counter := 0;

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;

Habe dies mal nach deiner Vorgabe gestaltet.
Scheint aber noch nicht zu funktionieren.
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#5

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:20
Zitat:
Scheint aber noch nicht zu funktionieren.
Jupp... mit jedem Button Klick setzt du den login_counter wieder auf 0. Diesen Wert mußt du dir "global" merken.

Delphi Tags... ich nerve dich bis es klappt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:21
Noch mal. Benutz bitte endlich die Delphi Codetags. Das ist der Helm oben bei den Schaltflächen!

Zitat:
Scheint aber noch nicht zu funktionieren.
OK. Gut. Du kannst dir vorstellen, was wir jetzt gerne wissen würden, um dir zu helfen?

Delphi-Quellcode:
login_counter := 0;

if login_counter < 3 then begin
Wird die if Abfrage jemals false werden?
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie ( 6. Dez 2015 um 18:23 Uhr)
  Mit Zitat antworten Zitat
atzornf

Registriert seit: 6. Dez 2015
Ort: Völklingen
11 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:32
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.
Fabian

Geändert von TBx ( 6. Dez 2015 um 18:33 Uhr) Grund: CODE-Tags sind nett, DELPHI-Tags sind netter ...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:34
Zitat:
Funktioniert aber immer noch nicht!
Wir sind keine Hellseher und sitzen nicht neben dir am Computer. WAS funktioniert nicht? Was soll passieren und was passiert?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.903 Beiträge
 
Delphi 12 Athens
 
#9

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:42
Wir sind keine Hellseher
Die einzigen Dinge, die ich Dir definitiv sagen kann, sind:
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.
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#10

AW: Quellcode Überprüfung (For Schleifen Fehler)

  Alt 6. Dez 2015, 18:40
Zitat:
Funktioniert aber immer noch nicht!
...was passiert deiner Meinung nach falsch?

Bitte Delphi Tags nicht Code Tags. Der Button mit dem Helm... wir lernen das noch...

ähhhmmmm....
s_benutzername: TEdit; s_benutzername.Caption = benutzername ...du mußt schon .Text auswerten sonst vergleichst du die Caption. Obwohl... im Delphi hat TEdit kein Caption. Im Lazarus?

auch im Lazarus gibt es kein Caption: http://lazarus-ccr.sourceforge.net/d...rls/tedit.html...compiliert das?

Geändert von haentschman ( 6. Dez 2015 um 18:42 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 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