unit uEditorElegirDomiciliacion; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, ExtCtrls, uEditorBasico, uIEditorElegirDomiciliacion, cxGraphics, DB, uDAInterfaces, uDADataTable, cxDBEdit, uEmpresasController; type TfEditorElegirDomiciliacion = class(TfEditorBasico, IEditorElegirDomiciliacion) Label1: TLabel; bAceptar: TButton; bCancelar: TButton; Label2: TLabel; Panel1: TPanel; cbCuentaBancaria: TcxComboBox; Label3: TLabel; procedure FormShow(Sender: TObject); private FCuentaBancaria: String; function GetCuentaBancaria: String; procedure SetCuentaBancaria(const Value: String); public property CuentaBancaria: String Read GetCuentaBancaria write SetCuentaBancaria; end; implementation {$R *.dfm} uses uFactuGES_App; procedure TfEditorElegirDomiciliacion.FormShow(Sender: TObject); var AController: IEmpresasController; AListaIBAN : TStringList; i : integer; begin AController := TEmpresasController.Create; try AListaIBAN := AController.DarListaCuentasBancariasIBAN(AppFactuGES.EmpresaActiva); try with cbCuentaBancaria.Properties.Items do begin BeginUpdate; try Clear; Add(''); if AListaIBAN.Count > 0 then begin for i := 0 to AListaIBAN.Count - 1 do Add(AListaIBAN.Names[i]); end; finally EndUpdate; end; end; finally FreeANDNIL(AListaIBAN); end; finally AController := NIL; end; cbCuentaBancaria.ItemIndex := 0; end; function TfEditorElegirDomiciliacion.GetCuentaBancaria: String; begin Result := cbCuentaBancaria.EditValue; end; procedure TfEditorElegirDomiciliacion.SetCuentaBancaria(const Value: String); begin cbCuentaBancaria.ItemIndex := cbCuentaBancaria.Properties.Items.IndexOfName(Value); end; end.