unit ZoekProductenScherm; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls, Subscherm, Main, ApplicationContext, ProductsAgent; type TFormZoekProducten = class(TFormSubscherm) PageControl1: TPageControl; TabSheetKortTekst: TTabSheet; TabSheetIdentificatieNr: TTabSheet; TabSheetLeveranciersRef: TTabSheet; TabSheetTekst: TTabSheet; TabSheetProductboom: TTabSheet; Label1: TLabel; EditZoek: TEdit; Label2: TLabel; ComboBoxAt: TComboBox; EditKlantNr: TEdit; ButtonZoekViaKortTekst: TButton; procedure FormCreate(Sender: TObject); procedure ButtonZoekViaKortTekstClick(Sender: TObject); procedure EditZoekChange(Sender: TObject); private FProductAgent: TProductsAgent; public Constructor Create(AOwner: TComponent; Navigator: TFormMain; ApplicationContext: TApplicationContext; ProductAgent: TProductsAgent); end; implementation {$R *.dfm} constructor TFormZoekProducten.Create(AOwner: TComponent; Navigator: TFormMain; ApplicationContext: TApplicationContext; ProductAgent: TProductsAgent); begin inherited Create(AOwner, Navigator, ApplicationContext); self.FProductAgent := ProductAgent; ButtonZoekViaKortTekst.Enabled := false; end; procedure TFormZoekProducten.EditZoekChange(Sender: TObject); begin // Opzoeken met lege tekst geeft problemen ButtonZoekViaKortTekst.Enabled := (Sender as TEdit).Text <> EmptyStr; end; procedure TFormZoekProducten.FormCreate(Sender: TObject); begin // COMBOBOXAT INSTELLEN ComboBoxAt.Style := csDropDownList; // Typen in combobox uitzetten // Waarden toevoegen aan combobox ComboBoxAt.AddItem('K', nil); ComboBoxAt.AddItem('L', nil); ComboBoxAt.AddItem('', nil); // Default value ComboBoxAt.ItemIndex := 0; // Vorige opzoeking is ongeldig self.ApplicationContext.ProductsContext.reset() end; procedure TFormZoekProducten.ButtonZoekViaKortTekstClick(Sender: TObject); var ErrorMessage: string; begin FProductAgent.ZoekOpMetKortTekst(EditZoek.Text, EditKlantNr.Text, ComboBoxAt.Text, self.ApplicationContext.UserContext, self.ApplicationContext.ProductsContext); if ApplicationContext.ProductsContext.IsOK = false then begin // Opzoeking gefaald ErrorMessage := ApplicationContext.ProductsContext.ErrorMessage; if ApplicationContext.ProductsContext.InternalErrorMessage <> '' then begin ErrorMessage := ErrorMessage + sLineBreak + ApplicationContext.ProductsContext.InternalErrorMessage; end; MessageDlg(ErrorMessage, TMsgDlgType.mtInformation, [mbOK], 0, mbCancel) end; end; end.