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; imgAfmelden: TImage; 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 imgAfmeldenClick(Sender: TObject); private procedure SetStatusLoginButton; procedure HuidigeGebruikerAfmelden; procedure SetContext; public { Public declarations } end; var fmLoginScherm2: TfmLoginScherm2; implementation uses GebruikerService, UiContext, Agent, ProScanMain; {$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; PostMessage(Self.Handle,WM_Close,0,0); (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(Self.ModalResult); 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.imgAfmeldenClick(Sender: TObject); begin inherited; HuidigeGebruikerAfmelden; (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(mrAbort); 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.