AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Problem bei meinem Loginsystem & der Hauptunit

Problem bei meinem Loginsystem & der Hauptunit

Ein Thema von Back2Code · begonnen am 24. Feb 2012 · letzter Beitrag vom 24. Feb 2012
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#1

Problem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 07:20
Delphi-Version: XE2
Hallo DP,

bei meiner neusten Übung ist ein kleines Loginsystem herausgekommen. (Unit3.pas). Der Code sieht wie folgt aus :

Delphi-Quellcode:
unit Unit3;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Imaging.pngimage,
  Vcl.ExtCtrls, Vcl.ComCtrls, Unit1;

type
  TForm3 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Image1: TImage;
    Image2: TImage;
    procedure Button1Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;
  trys: integer = 3;

const
    pwd = 'password';
    usr = 'admin';


implementation


{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
begin
  if (edit1.Text= pwd) and (edit2.Text= usr) then
  Form3.Caption:=('Correct password')
else
  Form3.Caption:=('Wrong password');
  trys := trys-1;
  if trys=0 then close();
end;

end.
Jetzt habe ich noch eine neue Unit hinzugefügt (VCL Anwendungsform Unit1.pas) und würde diese gerne nach erfolgreichem einloggen öffnen lassen und das Loginfenster sollte sich schließen. Wie verwirkliche ich das in der Praxis?


Geändert von Back2Code (24. Feb 2012 um 07:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.164 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: Ptroblem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 07:24
Moin...
beim Ablauf der Versuche machst du es doch auch. Warum nicht auch bei richtigem Paßwort ?
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
begin
  if (edit1.Text= pwd) and (edit2.Text= usr) then
  Caption:=('Correct password');
  Close;
else
  Caption:=('Wrong password');
  trys := trys-1;
  if trys=0 then Close;
end;
- "Form3" entfernt
- Close hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Ptroblem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 07:31
Moin...
beim Ablauf der Versuche machst du es doch auch. Warum nicht auch bei richtigem Paßwort ?
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
begin
  if (edit1.Text= pwd) and (edit2.Text= usr) then
  Caption:=('Correct password');
  Close;
else
  Caption:=('Wrong password');
  trys := trys-1;
  if trys=0 then Close;
end;
- "Form3" entfernt
- Close hinzugefügt
Versteh nicht so wirklich was du mir damit sagen willst...
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.164 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: Problem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 07:40
Um eine Form zu schließen benutzt man den Befehl "Close". In deiner Anweisung if trys=0 then Close; hattest du ihn schon drin. Nur in der Abfrage ob Paßwort korrekt fehlte er.
...Ich sehe grade daß begin/end noch fehlt. (Koffeinmangel )
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
begin
  if (edit1.Text= pwd) and (edit2.Text= usr) then
  begin
    Caption:=('Correct password');
    Close;
  end
  else
  begin
    Caption:=('Wrong password');
    trys := trys-1;
    if trys=0 then Close;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#5

AW: Problem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 07:51
Um eine Form zu schließen benutzt man den Befehl "Close". In deiner Anweisung if trys=0 then Close; hattest du ihn schon drin. Nur in der Abfrage ob Paßwort korrekt fehlte er.
...Ich sehe grade daß begin/end noch fehlt. (Koffeinmangel )
Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
begin
  if (edit1.Text= pwd) and (edit2.Text= usr) then
  begin
    Caption:=('Correct password');
    Close;
  end
  else
  begin
    Caption:=('Wrong password');
    trys := trys-1;
    if trys=0 then Close;
  end;
end;
Soweit war ich ja schon die ganze Zeit... Ich möchte nach erfolgreichem eingeben des Passworts die neue Form öffnen lassen...
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.164 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Problem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 07:53
Zitat:
und das Loginfenster sollte sich schließen
...Form3 ist doch das LoginFenster ? Welche neue Form ? Schreibe mal die Formnamen und die Verwendung dazu. Ein kleiner Ablauf (wie du dir das vorstellst) wäre auch nicht verkehrt.
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Problem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 07:54
War es nicht so, dass wenn Form3 das Hauptformular der Anwendung ist und man close aufruft, dass sich die Anwendung dann schliesst?

Ich mach sowas immer über modale Fenster:

Delphi-Quellcode:

function TLoginForm.TryLogin:Boolean;
begin
Result := ShowModal = mrYes;
end;

function TLoginForm.LoginClick(Sender: TObject);
begin
  if (edit1.Text= pwd) and (edit2.Text= usr) then
  begin
    Caption:=('Correct password');
    ModalResult:=mrYes;
  end
  else
  begin
    Caption:=('Wrong password');
    trys := trys-1;
    if trys=0 then ModalResult:=mrNo;
  end;
end;
Dann kann ich die Loginform an anderer Stelle schön verwenden:
Delphi-Quellcode:
with TLoginForm.Create() do
  try
    if TryLogin then
      begin
      //Show other Form
      NewForm.Show; // Falls noch nicht erzeugt erst NewForm := TNewForm.Create() aufrufen
      end
    else
      begin
      //Go back or close App
      end;
  finally
    Free;
  end;
Alternativ kann man TryLogin auch statisch machen und TLoginForm dort drin erzeugen.

P.S.: Hab den Code jetz nirgends rauskopiert sondern wollte nur das Prinzip darstellen
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#8

AW: Problem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 07:56
Hier ein Screenshot
Miniaturansicht angehängter Grafiken
unbenannt.jpg  
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#9

AW: Problem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 08:03
Kann es sein, dass du nur den Befehl "Form1.Show;" suchst? Einfach nach "Caption:=('Correct Password');"
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#10

AW: Problem bei meinem Loginsystem & der Hauptunit

  Alt 24. Feb 2012, 08:06
Kann es sein, dass du nur den Befehl "Form1.Show;" suchst? Einfach nach "Caption:=('Correct Password');"
Jap.

Jetzt gehts

Delphi-Quellcode:
    Caption:=('Correct password');
    Form1.Show;
    Form3.Hide;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf