unit uViewContactoDatosBancarios; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, dxLayoutControl, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, DB, uDADataTable, uDAInterfaces; type IViewDatosBancarios = interface(IViewBase) ['{2C3C0C39-F0AE-4FC2-A198-91D901890801}'] end; TfrViewClienteDatosBancarios = class(TfrViewBase, IViewDatosBancarios) dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1: TdxLayoutControl; dxLayoutControl1Item1: TdxLayoutItem; eEntidad: TcxDBTextEdit; dxLayoutControl1Item2: TdxLayoutItem; eSucursal: TcxDBTextEdit; dxLayoutControl1Item3: TdxLayoutItem; eCuenta: TcxDBTextEdit; dxLayoutControl1Item4: TdxLayoutItem; eDC: TcxDBTextEdit; dxLayoutControl1Item5: TdxLayoutItem; eTitular: TcxDBTextEdit; dxLayoutControl1Group2: TdxLayoutGroup; dxLayoutControl1Group3: TdxLayoutGroup; dxLayoutControl1Group4: TdxLayoutGroup; dxLayoutControl1Group1: TdxLayoutGroup; dsDatosBancarios: TDADataSource; dxLayoutControl1Item6: TdxLayoutItem; eIBAN: TcxDBTextEdit; dxLayoutControl1Item7: TdxLayoutItem; eSWIFT: TcxDBTextEdit; dxLayoutControl1Group5: TdxLayoutGroup; procedure eIBANPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); end; implementation {$R *.dfm} uses uIBANUtils, uStringsUtils; procedure TfrViewClienteDatosBancarios.eIBANPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); begin inherited; if not EsCadenaVacia(DisplayValue) then if not EsCodigoIBANValido(DisplayValue) then showmessage('Código IBAN incorrecto'); end; end.