unit DnaCodeReedsGescandScherm; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, DrieKnoppenScherm, Vcl.ActnList, Vcl.StdCtrls, Vcl.ExtCtrls; type TfmDnaCodeReedsGescandScherm = class(TfmDrieKnoppenScherm) pnlWegnemen: TPanel; imgWegnemen: TImage; lblWegnemen: TLabel; pnlVerplaatsen: TPanel; imgVerplaatsen: TImage; lblVerplaatsen: TLabel; pnlAnnuleren: TPanel; imgAnnuleren: TImage; lblAnnuleren: TLabel; edtPallet: TEdit; lblScanPallet: TLabel; procedure FormShow(Sender: TObject); procedure imgAnnulerenClick(Sender: TObject); procedure pnlAnnulerenClick(Sender: TObject); procedure imgWegnemenClick(Sender: TObject); procedure pnlWegnemenClick(Sender: TObject); procedure edtPalletKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure pnlVerplaatsenClick(Sender: TObject); procedure imgVerplaatsenClick(Sender: TObject); private procedure Wegnemen; procedure Verplaatsen; procedure SetPalletControlsVisibility(IsVisible: boolean); public { Public declarations } end; var fmDnaCodeReedsGescandScherm: TfmDnaCodeReedsGescandScherm; implementation uses UiContext, DnaCodeService, Agent; {$R *.dfm} procedure TfmDnaCodeReedsGescandScherm.edtPalletKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin inherited; if Key = VK_RETURN then begin Verplaatsen; Key := 0; end; end; procedure TfmDnaCodeReedsGescandScherm.FormShow(Sender: TObject); begin inherited; edtPallet.Enabled := False; edtPallet.Visible := False; lblScanPallet.Visible := False; UiContext.ImagesScherm.ilAlgemeen128.GetIcon(11, imgWegnemen.Picture.Icon); UiContext.ImagesScherm.ilAlgemeen128.GetIcon(12, imgVerplaatsen.Picture.Icon); UiContext.ImagesScherm.ilAlgemeen128.GetIcon(2, imgAnnuleren.Picture.Icon); end; procedure TfmDnaCodeReedsGescandScherm.imgAnnulerenClick(Sender: TObject); begin inherited; Self.ModalResult := mrDnaCode; end; procedure TfmDnaCodeReedsGescandScherm.imgVerplaatsenClick(Sender: TObject); begin inherited; SetPalletControlsVisibility(true); end; procedure TfmDnaCodeReedsGescandScherm.imgWegnemenClick(Sender: TObject); begin inherited; SetPalletControlsVisibility(false); Wegnemen; end; procedure TfmDnaCodeReedsGescandScherm.pnlAnnulerenClick(Sender: TObject); begin inherited; Self.ModalResult := mrDnaCode; end; procedure TfmDnaCodeReedsGescandScherm.pnlVerplaatsenClick(Sender: TObject); begin inherited; SetPalletControlsVisibility(true); end; procedure TfmDnaCodeReedsGescandScherm.pnlWegnemenClick(Sender: TObject); begin inherited; SetPalletControlsVisibility(false); Wegnemen; end; procedure TfmDnaCodeReedsGescandScherm.SetPalletControlsVisibility( IsVisible: boolean); begin lblScanPallet.Visible := IsVisible; edtPallet.Visible := IsVisible; edtPallet.Enabled := IsVisible; if IsVisible then edtPallet.SetFocus; end; procedure TfmDnaCodeReedsGescandScherm.Verplaatsen; var Response: HernoemPalletResponse; begin Response := TAgent.Create(UiContext).HernoemPallet(UiContext.Pallet, edtPallet.Text, UiContext.LaatsteDnaCode); try if Response.Header.Status <> '200' then begin ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw','') end else begin ToonPopupScherm(Response.Header.Omschrijving, 'OK',''); Self.ModalResult := mrDnaCode; end; finally Response.Free; end; if Self.ModalResult = mrDnaCode then CloseModal; end; procedure TfmDnaCodeReedsGescandScherm.Wegnemen; var Response: DnaCodeAfmeldenResponse; begin Self.ModalResult := mrDnaCode; Response := TAgent.Create(UiContext).DnaCodeAfmelden(UiContext.LaatsteDnaCode,UiContext.Toelevering,UiContext.Pallet,-1); try if Response.Header.Status <> '200' then begin ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw','') end; finally Response.Free; end; end; end.