Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Reconocer el código de una entidad a través de una BBDD de Entidades Bancarias (https://www.clubdelphi.com/foros/showthread.php?t=87235)

Delphitest 02-12-2014 20:38:08

Reconocer el código de una entidad a través de una BBDD de Entidades Bancarias
 
Ahora que he conseguido con vuestra ayuda obtener el formato deseado del IBAN en un Edit, algo como esto:

ES99 1111 9999 9999 9999 9999

Me gustaría que al salir de ese Edit, se extrajera a una variable los 4 dígitos que identifican la entidad bancaria, es decir el segundo grupo de 4 donde he puesto 1111 y a través de una base de datos de entidades bancarias se supiese qué entidad es.

Lo primero será tener la base de datos donde aparezcan los códigos y las entidades... recuerdo hace tiempo que tuve algo de eso pero no lo encuentro. He buscado en la red y tampoco doy con ello aunque sigo buscando.

Una vez que la tenga, y teniendo en cuenta que uso ADO y Access

¿Como extraigo esos 4 dígitos y qué debo hacer para localizar la entidad bancaria?

Gracias

Delphitest 02-12-2014 20:48:23

Me voy contestando...

Para extraer los 4 digitos lo he solucionado con :

Código Delphi [-]
Entidad := Copy(DBIBAN.Text,6,4);

Sigo investigando para el resto

Casimiro Noteví 02-12-2014 20:49:49

La pregunta es ¿cómo extraer los 4 caracteres de la cadena de texto?
Hombre, yo creo que con lo que se ha comentado en el anterior hilo, deberías de tenerlo más que fácil.
Usa las funciones Pos y Copy

Casimiro Noteví 02-12-2014 20:50:35

Cita:

Empezado por Delphitest (Mensaje 485996)
Me voy contestando...

Sabía que podías ;)

mamcx 02-12-2014 20:55:01

Una forma mas robusta es usar una expresion regular, a menos que puedas garantizar que SIEMPRE estan entre esas posiciones. Pero si es algo que el usuario puede cambiar, es mejor testear contra una exp. regular.

Delphitest 02-12-2014 21:13:29

Gracias por vuestra ayuda,

el dato del IBAN aparece en un BDEdit que tiene una máscara y posiciones concretas, también pensé en lo que comentas por si las posiciones pudiesen cambiar pero creo que con Copy lo apaño.

Estoy buscando una base de datos con los códigos de la entidades y su nombre (Solo para España), sin sucursales ni direcciones, algo básico con esos dos campos.

Espero que sea algo público y no esté metiendo la pata :(

¿Sabéis donde puedo encontrar algo de eso?

Delphitest 02-12-2014 21:19:39

Vaya, pues sí que es público, lo facilita el banco de España

Aquí está, solo hay que sanearlo un poco...

http://www.bde.es/f/webbde/IFI/servi...CONESTAB_A.XLS

Pero muy completito

pacopenin 03-12-2014 15:50:21

Pasito a pasito, ^\||/ :)

Delphitest 03-12-2014 19:32:08

Lo tengo :)

Ya prepare la tabla de entidades en base a la excel encontrada en el Banco de España

Y a través de una cuantas vueltas he llegado a obtener el resultado con este código:

Código Delphi [-]
procedure TFCuentasBancarias.DBIBANExit(Sender: TObject);
var entidad :String;
begin
  if DBIBAN.Text <> '' then
    Begin
      Entidad := Copy(DBIBAN.Text,6,4);  // Asigno a la la variable entidad el código de la entidad bancaria
  If not TEntidades.Locate('Codigo',Entidad,[]) then  // Busco en la tabla Entidades ese codigo
     Begin
         Mensaje ('Entidad no encontrada');
         DBEntidad.Text := '';
         DBSwift.Text := '';
     End
    else
         Begin
            DBEntidad.Text := TEntidadesNombre_Entidad.Value; // Relleno el nombre la entidad
            DBSwift.Text := TEntidadesSwift.Value; // Relleno el swift
         End;
    end;
end;

Quedo satisfecho, aunque supongo que se puede mejorar, al menos hace lo que quiero


La franja horaria es GMT +2. Ahora son las 21:05:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi