Iniciar Sesión

Ver la Versión Completa : [Sintaxis] Traducir código Visual Fox Pro a PowerCOBOL


Gatomalo
18 de octubre de 2017, 02:39
Estos codigos a powercobol
LOCAL lcDNI,lcToken

lcToken = "87290E49D50B519" &&SOLICITAR SU TOKEN PERSONALIZADO
lcDNI = "72398649" &&NUMERO DE DNI

IF !VFPs_Consultar_DNI(lcDNI,lcToken)
RETURN .F.
ENDIF

*!* CONSULTA REALIZADA CON EXITO
? _SCREEN.lcDni_lcNombres
? _SCREEN.lcDni_lcApe_Paterno
? _SCREEN.lcDni_lcApe_Materno
? _SCREEN.lcDni_lcNombres + " " + _SCREEN.lcDni_lcApe_Paterno + " " + _SCREEN.lcDni_lcApe_Materno
? _SCREEN.lcDni_lcCod_Verificacion
? _SCREEN.lcDni_lcTelefono
? _SCREEN.lcDni_lcDomicilio

*!* FUNCIÓNES
FUNCTION VFPs_Consultar_DNI (lcDNI,lcToken)

IF TYPE("lcDNI") = "L" .OR. TYPE("lcToken") = "L"
RETURN .F.
ENDIF

LOCAL lnEstado,lcURL,loHTTP,lcResult,laDatos,lnError,lcT oken,lcDNI
DIMENSION laDatos[1]

lnError = 0
lnEstado = -1
lcURL = "http://www.facturacionsunat.com/vfpsws/vfpscondni.php?dni=" + ALLTRIM(lcDNI) + "&token=" + ALLTRIM(lcToken)

TRY
loHTTP = CREATEOBJECT("MSXML2.XMLHTTP")
loHTTP.Open("GET", lcURL, .F.)
loHTTP.Send ()
lnEstado = loHTTP.Status
CATCH TO loError
TRY
loHTTP = CREATEOBJECT("Microsoft.XMLHTTP")
IF TYPE("loHTTP") <> "O"
RETURN .F.
ENDIF

loHTTP.Open("GET", lcURL, .F.)
loHTTP.Send ()
lnEstado = loHTTP.Status
CATCH TO loError
*!* ERROR NO EXISTEN LOS OBJETOS XML
lnEstado = -1
MESSAGEBOX("No se puede instanciar los objetos XMLHTTP. Verificar!!!",48,"VFPSTEAM BI")
ENDTRY
ENDTRY

IF lnEstado <> 200
RETURN .F.
ENDIF
_SCREEN.MousePointer = 0

lcResult = loHTTP.ResponseText
lcResult = ALLTRIM(STRTRAN(lcResult,"</br >",CHR(13) + CHR(10)))
lnLines = ALINES(laDatos,lcResult)
loHTTP = .F.

IF lnLines = 1
MESSAGEBOX(lcResult + ". Verificar!!!",48,"VFPSTEAM BI")
RETURN .F.
ENDIF

*!* LLENAMOS LOS RESULTADOS EN PROPIEDADES DEL _SCREEN
_SCREEN.AddProperty ("lcDni_lcNombres",ALLTRIM(STRTRAN(laDatos[2],"Nombres:","")))
_SCREEN.AddProperty ("lcDni_lcApe_Paterno",ALLTRIM(STRTRAN(laDatos[3],"Ape. Paterno:","")))
_SCREEN.AddProperty ("lcDni_lcApe_Materno",ALLTRIM(STRTRAN(laDatos[4],"Ape. Materno:","")))
_SCREEN.AddProperty ("lcDni_lcCod_Verificacion",ALLTRIM(STRTRAN(laDatos[5],"Verificacion:","")))
_SCREEN.AddProperty ("lcDni_lcTelefono",ALLTRIM(STRTRAN(laDatos[6],"telefono:","")))
_SCREEN.AddProperty ("lcDni_lcDomicilio",ALLTRIM(STRTRAN(laDatos[7],"domicilio:","")))

RETURN .T.
ENDIF

Kuk
18 de octubre de 2017, 09:49
Gatomalo, cual es la parte que no sabes traducir? Yo no conozco ese lenguaje pero entiendo casi todo.

Gatomalo
18 de octubre de 2017, 22:25
lcURL = "http://www.facturacionsunat.com/vfpsws/vfpscondni.php?dni=" + ALLTRIM(lcDNI) + "&token=" + ALLTRIM(lcToken)


el token donde lo pongo?

Kuk
2 de noviembre de 2017, 09:00
Gatomalo, en este código el token está definido en hardcode en la línea 3:

lcToken = "87290E49D50B519"

Puedes hacer un STRING igual que se hace en el código original.