Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-08-2011
freddiaz07 freddiaz07 is offline
Miembro
 
Registrado: jun 2006
Posts: 18
Poder: 0
freddiaz07 Va por buen camino
Exclamation Consulta a traves de PHP

hola amigos(as), consegui un codigo en internet de como consultar
los datos de una persona o empresa en el seniat que es comprobar como esta registrado, http://contribuyente.seniat.gob.ve/B...f/BuscaRif.jsp

estoy realizando una aplicacion que me muestre los datos al colocar
el numero de Cedula o Rif, esto es solo para venezuela, quisiera saber como implemento este codigo en delphi 7. Saludos



Código PHP:
(001
<?php
002
/*************************************************************************
003
Clase de Validación del RIF (Registro de información fiscal) en Venezuela
004
Autor    : Gunther González
005
Empresa  : Igloo Web Studio
006
E-mail   : hide@address.com
007
Web      : http://www.igloo.com.ve
008
Fecha    : 28/09/2006
009
Versión  : 2.0
010
**************************************************************************/
011
 
012
//clase validarRIF
013
class vRIF
014
{
015
    
//**Atributos de la clase
016
    
var $URL;
017
    
var $pref;
018
    
var $mensaje;
019
    
var $RIF;
020
    
var $empresa;
021
     
022
    
//Constructor
023
    
function vRIF($RIF$empresa)
024
    
{
025
        $this
->URL "http://www.seniat.gov.ve/BuscaRif/BuscaRif.jsp?p_rif=";
026
        $this
->pref "J,V,P,E,G";
027
        $this
->RIF $RIF;
028
        $this
->empresa $empresa;
029
    
}
030
 
031
    
//Función consultarRIF
032
    
//Consulta con la base de datos del SENIAT si el RIF existe
033
    
//y si esta asignado a la empresa dada.
034
    
function consultarRIF()
035
    
{
036
        
//Si la función formatearRIF devuelve TRUE
037
        
//se ejecuta el codigo
038
        
if ($this->formatearRIF($this->RIF))
039
        
{
040
            
//Abre la conexión con la BD del SENIAT
041
            $file 
fopen ($this->URL.$this->RIF"r");
042
 
043
            
//Si no se puede establecer la conexión
044
            
//se emite un mensaje de error.
045
            
if (!$file)
046
            
{
047
                $this
->mensaje $this->mensajes(05);
048
                
return;
049
            
}
050
 
051
            
//Lee el resultado de la consulta a la BD del SENIAT
052
            
while (!feof($file)) {
053
                $consulta 
fread($file8192);
054
            
}
055
             
056
            
//Busca el nombre de la empresa en el resultado de
057
            
//la BD del SENIAT
058
            $consulta 
stristr(strip_tags($consulta), $this->empresa);
059
         
060
             
061
            
//Si el RIF no existe o no está asignado a la empresa dada
062
            
//se emite un mensaje de error.
063
            
if (!$consulta)
064
            
{
065
                $this
->mensaje $this->mensajes(06);
066
                
return;            
067
            
}
068
 
069
            
//Si el RIF existe y está asignado a la empresa dada
070
            
//se emite un mensaje de exito.
071
            
else
072
            
{
073
                $this
->mensaje $this->mensajes(07);
074
                
return;
075
            
}
076
 
077
            
//Cierra la conexión con la BD del SENIAT
078
            fclose
($file); 
079
        
}
080
    
}
081
 
082
    
//Función formatearRIF
083
    
//Da formato y valida la estructura del RIF recibido
084
    
function formatearRIF($RIF)
085
    
{
086
        
//Elimina espacios al comienzo y al final del RIF
087
        
//Convierte todos los caracteres del RIF a MAYUSCULAS
088
        
//Elimina el guión (-) del número de RIF
089
        $result 
trim(strtoupper(str_replace("-","",$RIF)));
090
 
091
        
//Comprueba la longitud del RIF
092
        
//este solo puede tener una longitud de 10 caracteres
093
        
if (strlen($result) != 10)
094
        
{
095
            $this
->mensaje $this->mensajes(01);
096
            
return false;
097
        
}
098
        
else
099
        
{
100
            
//Comprueba si el primer digito del RIF es un nmero
101
            
//este caracter solo puede ser una letra
102
            
if (is_numeric(substr($result,0,1)))
103
            
{
104
                $this
->mensaje $this->mensajes(02);
105
                
return false;
106
            
}
107
 
108
            
//Comprueba si el primer digito del RIF contiene
109
            
//un caracter vlido este solo puede ser:
110
            
// "V" (Venezolanos)
111
            
// "E" (Extranjeros
112
            
// "P" (Pasaporte)
113
            
// "J" (Persona jurÃ*dica)
114
            
// "G" (Ente gubernamental)
115
            
elseif (!strrchr($this->pref,substr($result,0,1)))
116
            
{
117
                $this
->mensaje $this->mensajes(03);
118
                
return false;
119
            
}
120
 
121
            
//Comprueba si los Ãºltimos 9 digitos del RIF son números
122
            
//estos no pueden contener letras
123
            
elseif (!is_numeric(substr($result,1)))
124
            
{
125
                $this
->mensaje $this->mensajes(04);
126
                
return false;
127
            
}
128
            
else
129
            
{
130
                
//Devuelve el RIF  una vez que ha sido formateado y validado
131
                $this
->RIF $result;
132
                
return true;
133
            
}
134
        
}
135
    
}
136
     
137
    
function mensajes($num)
138
    
{
139
        $msj
[01] = "Recuerde que el RIF debe poseer 10 digitos (12 con los guiones).";
140
        $msj
[02] = "El primer caracter del RIF no puede ser un número.";
141
        $msj
[03] = "El primer caracter del RIF solo puede ser 'J', 'V', 'P', 'E' o 'G'.";
142
        $msj
[04] = "Los Ãºltimos 9 digitos del RIF solo pueden ser números.";
143
        $msj
[05] = "No se puede acceder al servidor en este momento.";
144
        $msj
[06] = "El RIF (".$this->RIF.") no está asignado a ".strtoupper($this->empresa)." o no existe";
145
        $msj
[07] = "El RIF esta perfecto";
146
         
147
        
return $msj[$num];
148
    
}
149
}
150
?>
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como ejecutar un Consulta de SQL desde la app (conectada a la DB a traves de ADO) mibandeja MS SQL Server 9 10-09-2008 15:11:55
Intercambiar XML´s a través de una pág. ASP bataola Internet 0 13-09-2006 16:30:01
conectar a través de ssh barrauda Linux 2 29-05-2006 12:57:44
Conectarse en ADO a través de un DLL darkone2k3 Conexión con bases de datos 1 02-02-2004 20:12:53
No se ven los cambios a traves de la red?? Argaron Firebird e Interbase 7 22-05-2003 16:54:56


La franja horaria es GMT +2. Ahora son las 23:01:19.


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