PDA

Ver la Versión Completa : Pasar Código VBSCRIPT a Delphi.net


mamen
02-06-2005, 13:32:52
Hola!!! Necesito pasar un código de VBSCRIPT a Delphi.NET, tengo el problema que hay variables que cambian de tipo varias veces en un fragmento de código(como en VBSCRIPT se definen como dim nomvariable) Cómo puedo hacerlo en delphi.net????He intentado definirlo con object y me dice que incompatibles tipos


Muchas gracias

mamen
02-06-2005, 14:58:06
Tengo este código en VBScript funcionando perfectamente en una página asp, necesito incluir este código en una página aspx. Para que compile en aspx unicamente hay que quitar el Set ya que con .NET no se permite. Pero no me funciona ?¿¿¿Qué puedo hacer??? Sabes si hay alguna incompatibilidad????


<%
Dim Objeto,valoresIniciados,ficheroIni,CertifBIN,ficheroCA
Dim validado,cargado, longitud
Dim emisor,titular,email,nserie,serialNumberHex,nombretit,apellido1tit,apellido2tit,niftit
dim handle
'Creamos la instancia del servidor COM mediante su identificador:
Set Objeto = Server.CreateObject ("FNMTFuncionesCOM.Funciones")
'Iniciamos la instancia para obtener un hadle para cada sesion:
handle = Objeto.Inicializar
'Iniciamos las variables a partir del fichero de Ini
'Ubicamos el fichero donde queramos y definimos aqui su ubicacion:
ficheroIni = "C:\\FnmtFunciones.ini"
valoresIniciados = objeto.IniciaValores(handle, ficheroIni, Len(ficheroIni))
'Cargamos el certificado X.509v3 en binario del cliente en la variable "CertifBIN"
'para extraer la informacion que necesitamos:
CertifBIN = Request.ClientCertificate("CERTIFICATE")
longitud = len(CertifBIN)
' Si el S.O. del Servidor Web es XP o superior convertimos en Ceritificado a Unicode
if Objeto.XPoSuperior then
CertifBIN = Objeto.Conv2Unicode (CertifBIN ,longitud)
end if
'Extraemos la información necesaria del certificado:
cargado = Objeto.CargaCertificado(handle, CertifBIN, longitud)
emisor = Objeto.ObtenerEmisor (handle)
titular = Objeto.ObtenerTitular (handle)
email = Objeto.ObtenerEmail (handle)
nserie = Objeto.ObtenerLongSerialNumber (handle)
serialNumberHex = Objeto.ObtenerStringSerialNumber (handle)
nombretit=Objeto.ObtenerNombre (handle)
apellido1tit=Objeto.ObtenerApell1 (handle)
apellido2tit=Objeto.ObtenerApell2 (handle)
niftit=Objeto.ObtenerNIF (handle)
ficheroCA = ""
'*****************************************************************************
'***********Indicamos la ruta o path del certificado raíz de la CA pertinente:
IF ((Instr(1,emisor,"OU=FNMT Clase 2 CA",1))>0) THEN
ficheroCA = "C:\\FNMT_CA.cer"
END IF
'******************************************************************************
'Procedemos a comprobar la validez del certificado:
validado = Objeto.CertificadoValidado(handle, ficheroCA)
'Liberamos la instacia:
Objeto.Finalizar (handle)
'Cuando terminamos con él lo desreferenciamos
Set Objeto = nothing
%>

__hector
03-06-2005, 14:52:43
En .NET los valores de los objetos son strongTypes, por lo que: salvo que uses un objeto que derive de Object y luego hagas un casting explicito del objeto al tipo con el que quieres trabajar; tendrás que especificar el tipo del objeto obligatoriamente para trabajar con sus metodos y propiedades.

Identifica bien que tipo de datos te representa cada variable en el script, y dimensionalas con el tipo de datos (o clase) real que maneja.