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

 

 


Tema destacado: Estamos en la red social de Mastodon


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

Desconectado Desconectado

Mensajes: 73


Ver Perfil
Duda con EbExecuteLine.-
« en: 14 Agosto 2007, 06:22 am »

Buenas compañeros, nuevamente les consulto:

Tengo por un lado la siguiente funcion:

Public Function Suma(F1, F2)
Suma = F1 + F2
End Function

y en un boton de commando tengo:

Private Declare Function EbExecuteLine Lib "vba6.dll" _
(ByVal pStringToExec As Long, ByVal Foo1 As Long, _
ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long

Private Sub Command1_Click()
Dim cadena As String

cadena = "Form1.text1 =" & Suma(2,2)

code = EbExecuteLine(StrPtr(cadena), 0&, 0&, 0)

End Sub

Como resultado al presionar el boton, en el text1 obtengo el resultado esperado o sea 4, pero si en lugar de pre-escribir la funcion y sus paramentros en la linea:

cadena = "Form1.text1 =" & Suma(2,2)

escribo

 cadena = "Form1.text1 =" & txtformula

para poder yo escribir la funcion que deseo utilizar en determinado momento y los parametros que necesite como por ejemplo suma(222,333) no me devuelve ningun valor, o sea la consulta seria como consigo que me devuelva el valor de la ejecucion de la funcion que yo escribo en el txtformula ?, gracias de antemano por su ayuda.


En línea

Freeze.


Desconectado Desconectado

Mensajes: 2.732



Ver Perfil WWW
Re: Duda con EbExecuteLine.-
« Respuesta #1 en: 14 Agosto 2007, 06:32 am »

Si a esto te refieres a mi me funciona estupendamente

Código:
Public Function suma(v1 As Long, v2 As Long)
suma = v1 + v2
End Function
Private Sub Form_Load()
Text1.Text = suma(1, 2)
End Sub


En línea

mdg

Desconectado Desconectado

Mensajes: 73


Ver Perfil
Re: Duda con EbExecuteLine.-
« Respuesta #2 en: 14 Agosto 2007, 07:00 am »

En realidad no me refiero a eso, mas bien a esto:

Public Function suma(v1 As Long, v2 As Long)
suma = v1 + v2
End Function
Private Sub Form_Load()
Text1.Text = txtformula
End Sub

lo que contiene el txtformula por ejemplo: Multiplica(Suma(1, 2), 2), lo que funciona en el evento Load pero no en el evento de un boton de commando, en concreto lo que pretendo es:

'Api EbExecuteLine
Private Declare Function EbExecuteLine Lib "vba6.dll" _
(ByVal pStringToExec As Long, ByVal Foo1 As Long, _
ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long

Private Sub Command1_Click()

Dim cadena As String

cadena = "Form1.text1.text =" & txtformula
code = EbExecuteLine(StrPtr(cadena), 0&, 0&, 0)

End Sub

Como dije anteriormente, lo que contiene el txtformula por ejemplo: Multiplica(Suma(1, 2), 2) pero de esta forma no arroja los resultados en el text1, en cambio si en la linea: cadena = "Form1.text1.text =" & Multiplica(Suma(1, 2), 2) , esto si me devuelve los resultados pero es necesario que yo no tenga que escribir en la rutina la funcion y sus criterios mas si en el txtformula ya que es para un sistema de sueldos por lo que las formulas varian permanentemente, gracias por responder.

En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Duda con EbExecuteLine.-
« Respuesta #3 en: 14 Agosto 2007, 19:46 pm »

hola Debes poner la el nombre de la clase de donde probiene la funcion.

osea si vos en el form1 tenes la funcion Suma() para referirte a esta Debes llamarla con su clase osea form1


mira

linea a ejecutar en el txtformula
form1.text1 =  form1.suma(222,333)

Saludos
En línea

mdg

Desconectado Desconectado

Mensajes: 73


Ver Perfil
Re: Duda con EbExecuteLine.-
« Respuesta #4 en: 16 Agosto 2007, 04:18 am »

Leandro, No sabes lo agradecido que quedo con vos  :D :D, gracias a tu sugerencia pude solucionar el problema, gracias tambien a todos los que participaron en el debate, pueden cerrar el tema.-
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