AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Login auf form2

Ein Thema von MondoShiva · begonnen am 11. Sep 2007 · letzter Beitrag vom 11. Sep 2007
Antwort Antwort
MondoShiva

Registriert seit: 14. Aug 2007
Ort: Mönchengladbach
63 Beiträge
 
Delphi XE2 Professional
 
#1

Login auf form2

  Alt 11. Sep 2007, 09:24
Datenbank: keydb • Zugriff über: delphi
Hallo ich habe ein kleines problem welches sich in form eines logins darstellt....
ich versuche einen login auf ein programm zu setzten quasi der standart mit :

- Login Name
- Passwort
- Button OK
- Button Abbrechen

Jeodch steht zu zeit nur eine Tabelle in der datenbank welche die felder loginname und passowrt enthält
Ich weiss leider nicht wie ich es in delphi als code schreiben soll das er es tut!
Es soll erst die Form2 auf der sich der login befindet geöffnet werden und anschließend bei erfolgreichem login dann Form1.

Ich danke euch schonmal im vorraus
Veritas et Aequitas
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Login auf form2

  Alt 11. Sep 2007, 09:46
Hallo,

1. Nenne Form2 um ...
2. packe den Aufruf des Form2 in die dpr
vor dem Application.ExecuteForm (Form1).


Heiko
Heiko
  Mit Zitat antworten Zitat
SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#3

Re: Login auf form2

  Alt 11. Sep 2007, 10:28
Also das Umbenennen ist nicht zwingend notwendig.

ich selbst löse solche Anmeldefenster (oder auch Splash-Fenster), indem ich sie in der FormShow-Routine des Hauptformulars aufrufe:

Delphi-Quellcode:
procedure TForm1.FormShow;
begin
  if Form2.ShowModal <> mrOK then begin
    Application.Terminate; halt; exit;
  end;
  ...
end;
Wobei halt Form2 den Wert ModalResult auf mrOK setzen muss, wenn der Login geklappt hat und auf mrCancel, wenn der Login fehlgeschlagen ist bzw. der Anwender die Anmeldung abgebrochen hat.
  Mit Zitat antworten Zitat
MondoShiva

Registriert seit: 14. Aug 2007
Ort: Mönchengladbach
63 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Login auf form2

  Alt 11. Sep 2007, 13:05
ja wunderbar ich danke euch!
hatte es im oncreat von form1 schon ma reingehauen nur dumm das man halt immer auf form1 switchen konnte
thx
Veritas et Aequitas
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Login auf form2

  Alt 11. Sep 2007, 14:47
ich mache bei mir in aller Regel eine Execute-Methode. In dieser rufe ich FormShow auf und wenn das mit mrOk geschlossen wird liefert meine Execute-methode True zurück. Somit muss ich nicht mit Application Terminate arbeiten sondern handhabe es genau wie einen Aufruf eine OpenDialogs.Execute
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#6

Re: Login auf form2

  Alt 11. Sep 2007, 15:45
Zitat von SirThornberry:
ich mache bei mir in aller Regel eine Execute-Methode.
Hm, dann änderst Du aber auch das Programmgrundgerüst, oder? Weil normalerweise ja Form1 immer angezeigt wird, und das Program wird beendet, wenn Form1 geschlossen wird.

Vielleicht bin ich blind, aber ich sehe da keine andere Möglichkeit, außer im Form1.FormCreate/FormShow eine Login-Box darzustellen, und bei Falscheingaben halt mit Application.Terminate die Notbremse zu ziehen.

Dass man den Aufruf der Loginbox schöner gestalten kann, da gebe ich Dir recht. Normalerweise lasse ich diese Forms gar nicht erst automatisch erstellen, sondern habe eine function SqlLogin: Boolean, die die Form zur Laufzeit erzeugt und abschließend zerstört:

Delphi-Quellcode:
function SqlLogin: Boolean;
var dlg: TDlgSqlLogin;
begin
  dlg := TDlgSqlLogin.Create(nil);
  with dlg do begin
    result := (ShowModal = mrOK);
    Free;
  end;
end;
(so runtergetippt, ungetestet)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Login auf form2

  Alt 11. Sep 2007, 15:58
bei mir sieht es so aus:

unit2 (benennung sieht bei mir natürlich besser aus)
Delphi-Quellcode:
TForm2 = class(TForm)
[...]
public
  class function Execute(): Boolean;
end;
[...]
class function TForm2.Execute(): Boolean;
var
  lForm: TForm2;
begin
  lForm := TForm2.Create(nil);
  try
    result := lForm.ShowModal = mrOK;
  finally
    lForm.Free;
  end;
end;
[...]
procedure TForm2.ButtonOKClick(Sender: TObject);
begin
  if PasswortRichtig() then
    ModalResult := mrOK;
end;

Projektdatei
Delphi-Quellcode:
[...]
Application.Initialize;
if TForm2.Execute() then
begin
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end;
[...]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#8

Re: Login auf form2

  Alt 11. Sep 2007, 16:37
Ah, auch eine Möglichkeit. Aber ich bleib bei meiner Oder hat Application.Terminate irgendwelche Nachteile, von denen ich wissen sollte?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Login auf form2

  Alt 11. Sep 2007, 16:57
Der Vorteil ist, dass die ganzen weiteren Formulare bei einem fehlerhaften Login gar nicht erst erzeugt und somit nicht wieder freigegeben werden müssen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#10

Re: Login auf form2

  Alt 11. Sep 2007, 20:16
Deddy, wäre hier nicht Platz für deine Login-Kompo?
  Mit Zitat antworten Zitat
Antwort Antwort


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