elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ScriptControl.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ScriptControl.  (Leído 1,067 veces)
mdg

Desconectado Desconectado

Mensajes: 73


Ver Perfil
ScriptControl.
« en: 23 Enero 2007, 05:48 am »

Buenas colegas.

De antemano mil gracias por su tiempo y por su ayuda

mi consulta es la siguiente, tengo un ejemplo que encontre en una web sobre como evaluar el resultado de una funcion, aqui la pego:

'Prueba 2 de ScriptControl
Dim sCodigo As String
Dim vValor As Variant

sCodigo = "Function Multiplica(a, b)" & vbCrLf & _
" Multiplica = a * b" & vbCrLf & _
"End Function"

'Añadimos el código, especificamos el lenguaje y ejecutamos
With ScriptControl1
.Language = "VBScript"
.AddCode sCodigo

'Usamos Run para obtener el resultado
'vValor = .Run("Multiplica", "2", "5")

'Usando Eval, nos permite que la expresión esté en
'una variable... además de hacerlo directamente,
'pero se usa de la misma forma que lo haríamos desde VB
vValor = .Eval("Multiplica(2,5)")

'Mostramos el valor devuelto
MsgBox "El valor devuelto es: " & vValor
End With


El asunto es que la funcion esta encapsulada dentro de una variable como ven:

sCodigo = "Function Multiplica(a, b)" & vbCrLf & _
" Multiplica = a * b" & vbCrLf & _
"End Function"

Pero como puedo evaluar el resultado de una funcion cualquiera que se encuentra en otro modulo como ser

Function Valor()
Valor=10
End Function

Pero sin declararla ni meterla dentro del procedimiento que la evalua ni con las "", no se si soy lo suficientemente claro , de todas maneras gracias por todo.


En línea

Sancho.Mazorka


Desconectado Desconectado

Mensajes: 480


Gamer & Programador


Ver Perfil WWW
Re: ScriptControl.
« Respuesta #1 en: 23 Enero 2007, 08:37 am »

Man el ScriptControl1 es un OCX o que es ? y no pudes agregar en una variable una operacion de este modo :
Código:
Valor = "suma 5+10"

Por favor cuando postees codigo usa la el boton de codigo asi es mas facil leer la programacion ;)

Disculpa que no te pueda ayudar  :(

Sancho.Mazorka  :P


En línea

Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html


mdg

Desconectado Desconectado

Mensajes: 73


Ver Perfil
Re: ScriptControl.
« Respuesta #2 en: 23 Enero 2007, 15:00 pm »

Hola!

Si, es una ocx, msscript.ocx y no, y no, no me sirve:

valor="suma +10+20"

Sino:
valor=suma(10,10) + 10+10

No se si me explico.

Pd.: Cual es el boton de codigo?, perdon..
En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: ScriptControl.
« Respuesta #3 en: 23 Enero 2007, 21:36 pm »

Intente correr el código pero me da error  :huh:

"Error '308' en tiempo de ejecución"
"A script engine for the spceified languaje can not be created"

y a tu pregunta, para poder usar funciones que esten en otros módulos declaralas como "Public", de esa manera las podrás usar...

En un módulo
Código:
Public Function Sumar(a as integer, b as integer) as Integer
       sumar = a + b
end function

y desde cualquier parte de tu proyecto

Código:
dim z as integer
z = sumar(5,9)
« Última modificación: 23 Enero 2007, 21:55 pm por CeLaYa » En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
mdg

Desconectado Desconectado

Mensajes: 73


Ver Perfil
Re: ScriptControl.
« Respuesta #4 en: 24 Enero 2007, 01:36 am »

Hola y gracias por tu respuesta, es que el problema lo tengo para que lo ejecute el scriptcontrol, como lo hago?, gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines