unit DnaCodeScherm; 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 TfmDnaCodeScherm = class(TfmDrieKnoppenScherm) lblToelevering: TLabel; lblScancode: TLabel; edtDnaCode: TEdit; lblPalletCode: TLabel; lblLaatstGescand: TLabel; lblLaatstGescandData: TLabel; lblAantalGescand: TLabel; lblTotaalAantal: TLabel; lblSlash: TLabel; imgGls: TImage; btnInfo: TButton; procedure FormShow(Sender: TObject); procedure actPalletExecute(Sender: TObject); procedure actHomeExecute(Sender: TObject); procedure actVolgendeExecute(Sender: TObject); private { Private declarations } public function GeefToelevering: String; end; var fmDnaCodeScherm: TfmDnaCodeScherm; implementation uses DnaCodeService; {$R *.dfm} procedure TfmDnaCodeScherm.actHomeExecute(Sender: TObject); begin inherited; // end; procedure TfmDnaCodeScherm.actPalletExecute(Sender: TObject); begin inherited; // end; procedure TfmDnaCodeScherm.actVolgendeExecute(Sender: TObject); var Service: DnaCodeServiceSoap; Request: DnaCodeAfmeldenRequest; Response: DnaCodeAfmeldenResponse; Header: RequestHeader; begin Service := DnaCodeService.GetDnaCodeServiceSoap(); // request opbouwen Request := DnaCodeAfmeldenRequest.Create; Header := RequestHeader.Create; try Header.Initialen := UiContext.Initialen; Header.ComputerNaam := ComputerName(); Request.Header := Header; Request.DnaCode := edtDnaCode.Text; Request.Aantal := 1; Request.Toelevering := lblToelevering.Caption; Request.PalletCode := UiContext.Pallet; Response := Service.DnaCodeAfmelden(Request); try if Response.Header.Status <> '200' then begin Self.ModalResult := mrRetry; ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw') end else begin lblToelevering.Caption := Response.DnaCodes[0].Toelevering; lblAantalGescand.Caption := IntToStr(Response.AantalReedsGescand); lblTotaalAantal.Caption := IntToStr(Response.AantalInToelevering); if Response.DnaCodes[0].IsGlsDirect then begin ToonPopupScherm('GLS DIRECT', 'OK'); imgGls.Visible := Response.DnaCodes[0].IsGlsDirect; end; lblLaatstGescandData.Caption := Request.DnaCode; Self.ModalResult := mrIgnore; end; finally Response.Free; end; finally Request.Free; end; end; procedure TfmDnaCodeScherm.FormShow(Sender: TObject); begin btnLinksOnder.Action := actPallet; btnCentraalOnder.Action := actHome; btnRechtsOnder.Action := actVolgende; edtDnaCode.Text := ''; ActiveControl := edtDnaCode; lblPalletCode.Caption := UiContext.Pallet; inherited; end; function TfmDnaCodeScherm.GeefToelevering: String; begin result := lblToelevering.Caption; end; end.