Inhalt
Aktueller Ordner:
duesseldorfer-schuelerinventar-freepascal-clientu_login.pas
unit u_login;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
u_api, u_profilelist;
type
{ TLoginForm }
TLoginForm = class(TForm)
btnLogin: TButton;
edtUsername: TEdit;
edtPassword: TEdit;
Label1: TLabel;
Label2: TLabel;
lblTitle: TLabel;
lblInfo: TLabel;
procedure btnLoginClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure DoLogin;
public
end;
var
LoginForm: TLoginForm;
implementation
{$R *.lfm}
procedure TLoginForm.FormCreate(Sender: TObject);
begin
btnLogin.OnClick := @btnLoginClick;
ShowMessage('Formular wurde erstellt!');
end;
procedure TLoginForm.btnLoginClick(Sender: TObject);
begin
ShowMessage('Button wurde geklickt!');
DoLogin;
end;
procedure TLoginForm.DoLogin;
var
Response: TLoginResponse;
begin
ShowMessage('DoLogin gestartet mit: ' + edtUsername.Text);
btnLogin.Enabled := False;
Screen.Cursor := crHourGlass;
try
ShowMessage('Rufe Login API auf...');
Response := Login(edtUsername.Text, edtPassword.Text);
ShowMessage('Login API zurückgekehrt');
ShowMessage('Success: ' + BoolToStr(Response.Success, True) + sLineBreak +
'UserID: ' + Response.UserID + sLineBreak +
'Session: ' + Copy(Response.Session, 1, 20) + sLineBreak +
'Error: ' + Response.Error);
if Response.Success then
begin
ShowMessage('Login erfolgreich! Öffne Profilliste...');
ShowMessage('Rufe TProfileListForm.Create auf...');
with TProfileListForm.Create(Self, Response.UserID, Response.Session) do
begin
ShowMessage('TProfileListForm wurde erstellt, zeige es an...');
Show;
ShowMessage('LoginForm wird versteckt...');
LoginForm.Hide;
ShowMessage('Alles erledigt');
end;
end
else
begin
ShowMessage('Anmeldung fehlgeschlagen: ' + Response.Error);
btnLogin.Enabled := True;
Screen.Cursor := crDefault;
end;
except
on E: Exception do
begin
ShowMessage('Exception: ' + E.Message);
btnLogin.Enabled := True;
Screen.Cursor := crDefault;
end;
end;
end;
end.