Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - mdg

#61
Hola y gracias por tu respuesta, es que el problema lo tengo para que lo ejecute el scriptcontrol, como lo hago?, gracias.
#62
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..
#63
Gracias por sus respuestas, pueden cerrar el asunto.
#64
Programación Visual Basic / ScriptControl.
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.
#65
Programación Visual Basic / Re: Winsock
22 Enero 2007, 04:38 AM
Hola!

Bien no entiendo a que te referis, pero si buscas en esta pagina, encontras infinidad de codigos para utilizar el Wisock.
#66
Hola!

Lo que intento es que el Scriptcontrol me evalue tambien el resultado de la funcion Antiguedad pero no logro dar con la forma eh intentado Scriptcontrol1.AddCode "Antiguedad" pero me dice que se esperaba instruccion o algo asi  tambien probe: Scriptcontrol1.AddCode Antiguedad pero me dice que no coinciden los tipos , tambien quiero poder evaluar el resukltado de esta funcion combinada con otros calculos como ser antiguedad+10+20, etc, no se si me explico, gracias nuevamente...
#67
Hola! gracias a todos por responder:

Syphroot , me resulto mas practica tu solucion, solo me queda una pregunta, es posible de alguna manera pasar ese operador pero sin comillas solo >, de no ser posible, consideren el asunto re-suelto.
#68
Hola!

Eso es totalmente imposible, aun si fueras vos mismo quien creo el mde, solo podes tener acceso a las tablas.
#69
Buenas colegas nuevamente!

De que manera puedo crear una funcion en la que yo pueda pasarle un operador por ejemplo:


Txt= LogicaSI(10,>,9,1)

como Resultado 1

Me imagino que no debe ser de esta manera pero es como se me ocurre explicarles para que puedan ayudarme.

Gracias de antemano por su tiempo...
#70
Hola, gracias por responder, lo que tengo echo esta en vba en access que es donde realizo las pruevas pero el problema lo tengo en el script

Esta funcion me devuelve la antiguedad en años de un empleado, segun el numero de legajo ingresado en un txtbox

Public Function Antiguedad()
Dim sql As String
Dim rst As DAO.Recordset

sql = "SELECT * FROM tbl_Empleados WHERE Legajo='" & Forms!formulario3!txtlegajo & "'"
Set rst = CurrentDb.OpenRecordset(sql)

rst.Edit
Antiguedad = rst("anti")
rst.Close

End Function

'Este es el Script que me evalua los calculos.


Dim ObjetoScript As ScriptControl

Private Sub cmdeval_Click()
Dim vvalor As Variant


'vamos a jecutar Msgbox externo
Set ObjetoScript = New ScriptControl
   With ObjetoScript
      .Language = "VBScript"
     
      'Esta seria la funcion que me trae la antiguedad en años de un empleado
      .AddCode Antiguedad
     
      '.AddCode "Antiguedad"
     
      vvalor = .Eval(Me.Text2)

   End With
   Set ObjetoScript = Nothing
   Me.Text1 = vvalor
End Sub


El caso es que si yo en text2 ingreso (10+10+antiguedad) me larga error por la funcion, no se como puedo hacer para que interactue con los demas calculo, gracias por responder...