Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Diferenciar si un DNI/CIF es una persona física o jurídica
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Diferenciar si un DNI/CIF es una persona física o jurídica

Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Diferenciar si un DNI/CIF es una persona física o jurídica Responder citando

¿Cómo puedo diferenciar si un DNI o un CIF es de una persona física o jurídica (empresa)? me gustaría poder realizar una función en Delphi para este cometido.

Por ejemplo, si tengo los siguientes DNI/CIF:

33333405K -> Física
X1888866Q -> Física
X4334553X -> Física
34566666L -> Física
Z03354416 -> Física
E33334444 -> Física
A22222222 -> Jurídica
MensajePublicado:
Mar Oct 17, 2006 11:15 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Responder citando

Teniendo en cuenta que el CIF (Código de identificación fiscal) consta de 9 caracteres y el primero es una letra que sigue los siguientes criterios:

A -> Sociedades anónimas.
B -> Sociedades de responsabilidad limitada.
C -> Sociedades colectivas.
D -> Sociedades comanditarias.
E -> Comunidades de bienes.
F -> Sociedades cooperativas.
G -> Asociaciones y otros tipos no definidos.
H -> Comunidades de propietarios en régimen de propiedad horizontal.
N -> Entidades no residentes.
P -> Corporaciones locales.
Q -> Organismos autónomos, estatales o no, y asimilados, y congregaciones e instituciones religiosas.
S -> Órganos de la Administración del Estado y comunidades autónomas.

y teniendo en cuenta que los DNI no llevan letra al principio (salvo los de extranjeros, en los que no coincide la letra con las anteriores del CIF), podremos utilizar una función como esta:



Código:
function TformMenuPrincipal.obtenerTipoTercero (dni : string) : string;
var
  pCaracter : string;
begin
  result := '';
  if dni <> '' then
  begin
    pCaracter := AnsiUpperCase (dni [1]);
    if  (pCaracter = 'A') or  (pCaracter = 'B') or (pCaracter = 'C') or
        (pCaracter = 'D') or (pCaracter = 'E') or (pCaracter = 'F') or
        (pCaracter = 'G') or (pCaracter = 'H') or (pCaracter = 'N') or
        (pCaracter = 'P') or (pCaracter = 'Q') or (pCaracter = 'S') then
      result := 'J'
    else
      result := 'F';
  end
  else
    result := 'F';
end;


Devolverá "F" si es persona física y "J" si es jurídica.
MensajePublicado:
Mar Oct 17, 2006 11:28 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A