unit LoginScherm2; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.pngimage, Vcl.ExtCtrls, DrieKnoppenScherm, Images, Vcl.StdCtrls, Vcl.ActnList; type TfmLoginScherm2 = class(TfmDrieKnoppenScherm) Image1: TImage; btnLogin: TButton; edtPincode: TEdit; edtInitialen: TEdit; btnAfmelden: TButton; procedure FormShow(Sender: TObject); procedure edtInitialenKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure edtPincodeKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure actVolgendeExecute(Sender: TObject); procedure btnAfmeldenClick(Sender: TObject); private procedure SetStatusLoginButton; procedure HuidigeGebruikerAfmelden; procedure SetContext; public { Public declarations } end; var fmLoginScherm2: TfmLoginScherm2; implementation uses GebruikerService, UiContext, Agent; {$R *.dfm} procedure TfmLoginScherm2.actVolgendeExecute(Sender: TObject); var Response: GebruikerAanmeldenResponse; begin Response := TAgent.Create(UiContext).GebruikerAanmelden(edtInitialen.Text,edtPinCode.Text); try if Response.Header.Status <> '200' then begin Self.ModalResult := mrLogin; ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') end else begin SetContext; lblGebruiker.Caption := UiContext.Initialen; lblGebruiker.Visible := true; Self.ModalResult := mrHome; end; finally Response.Free; end; end; procedure TfmLoginScherm2.btnAfmeldenClick(Sender: TObject); begin Self.ModalResult := mrAbort; HuidigeGebruikerAfmelden; end; procedure TfmLoginScherm2.edtInitialenKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin SetStatusLoginButton; if Key = VK_RETURN then begin Perform(CM_DIALOGKEY, VK_TAB, 0); Key := 0; end; end; procedure TfmLoginScherm2.edtPincodeKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin SetStatusLoginButton; if Key = VK_RETURN then begin Perform(CM_DIALOGKEY, VK_TAB, 0); Key := 0; end; end; procedure TfmLoginScherm2.FormShow(Sender: TObject); begin HuidigeGebruikerAfmelden; pnlDrieKnoppen.Visible := False; pnlTop.Visible := False; SetStatusLoginButton; end; procedure TfmLoginScherm2.HuidigeGebruikerAfmelden; begin TAgent.Create(UiContext).GebruikerAfmelden(); end; procedure TfmLoginScherm2.SetContext; begin UiContext.Initialen := edtInitialen.Text; UiContext.LoginCode := edtPinCode.Text; end; procedure TfmLoginScherm2.SetStatusLoginButton; begin btnLogin.Enabled := ((edtPincode.Text <> '') and (edtInitialen.Text <> '')); end; end.