• Jueves 14 de Noviembre de 2024, 04:01

Autor Tema:  Re: funciones en visual basic  (Leído 1283 veces)

epetao

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: funciones en visual basic
« en: Viernes 3 de Enero de 2003, 00:41 »
0
Funciones en Visual Basic
Feliz Año Nuevo a todos: está es mi primera vez en este foro y comenzaré con una pregunta:
Estoy aprendiendo Visual Basic desde un Libro. El libro pone una función que calcula la raíz cuadrada, pero no sé a que control asignarsela. Para probarla puse en un formulario lo sgte:
- un command button
- un text box
- un label box
Entonces en el label box pongo lo sgte.: Calcular raíz cuadrada
- El text box lo dejo para que el usuario escriba su numero
- El command button es para que cuando el usuario haga clic en él se cambie el número del text box a su raíz cuadrada.
La codificación que entrega el libro es la siguiente:
"
Function dblSqrt(dblParameter As Double) As Double
If dblParameter < 0 Then
dblSqrt = -1
Else
dblSqrt = Sqr(dblParameter)
End If
End Function
"
Sin embargo, no sé realmente donde poner este codigo, ni como relacionar los controles para que esto funcione. Lo único que se me ocurre es llamar la función desde el command button pero así parece que no se hace porque tengo qque relacionar la función con el número que escriban en el text box. Si alguien en este foro me pudiera ayudar se lo agradecería muchísimo. Tal vez es muy básico lo que pregunto, pero siempre se empieza por lo básico...jejeje

Jaume

  • Miembro MUY activo
  • ***
  • Mensajes: 151
    • Ver Perfil
Re: funciones en visual basic
« Respuesta #1 en: Viernes 3 de Enero de 2003, 07:59 »
0
Hola y bienvenido.

La función la puedes escribir en el formulario, o en un módulo (si no has llegado a esa parte, hazlo en el formulario)

Lo que debes poner en el commandbuton es la llamada a la función

CommandButton_Click()
    Text1.Text=dblSqrt(cDbl(Text1.Text))
End Sub

Con esto consigues varias cosas:
1º llamar a la función dblSqrt
2º pasarle un parámetro en formado Double. La función cDbl convierte un texto a Double. Además ese parámetro es el texto que ha escrito el usuario.
3º y último, estás poniendo el resultado en el mismo textbox

Espero que haya sido lo suficientemente claro.

Un Saludo y feliz 2003

epetao

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: funciones en visual basic
« Respuesta #2 en: Viernes 3 de Enero de 2003, 19:42 »
0
Feliz Año amigo: tuve un problemilla.  Primeramente puse la función dentro del form_load() y me aparece un mensaje como qque me falta el end sub, siendo que está.
Luego lo pongo fuera de todo y al ejecutarlo, me aparece una ventana con lo sgte:
runtime error '424'
object required
todo el código que tengo es el sgte:


Function dblSqrt(dblParameter As Double) As Double
  If dblParameter < 0 Then
    dblSqrt = -1
  Else
 
    dblSqrt = Sqr(dblParameter)
  End If
 End Function

Private Sub Command1_Click()
 Text1.Text = dblSqrt(CDbl(text11.Text))
End Sub

si hay alguna forma de mandarte las imagenes capturadas de los dos intentos te los mando y ahí ves que es lo que pasó. ok?

epetao

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
funciones en visual basic
« Respuesta #3 en: Sábado 4 de Enero de 2003, 01:20 »
0
Uuuuuuf! que volao que ando. Muchas Gracias, pude al fín conseguir el efecto deseado, es decir me da la raíz cuadrada... yo el muy jil!! no me dí cuenta qque le había puesto text11.text en vez de text1.text. Gracias nuevamente.:D:D