Академический Документы
Профессиональный Документы
Культура Документы
com
29
2006-2029 aprenderaprogramar.com
End Sub
End Sub
End Sub
End Sub
El primer cdigo corresponde a un procedimiento conducido por eventos que se invoca cuando el texto
contenido en el TextBox Text1 cambia. En las versiones menos recientes de Visual Basic algunos
procedimientos conducidos por eventos no tienen parmetros de entrada. En las versiones ms
recientes siempre suelen aparecer unos parmetros de entrada.
El segundo cdigo sera el de un procedimiento conducido por eventos que se invoca cuando se
produce la pulsacin de una tecla en el TextBox1. En este caso, en las versiones menos recientes hay un
parmetro (podra haber varios) que es enviado al procedimiento cuando tiene lugar el evento: un valor
tipo Integer que se corresponde con el nmero asociado a la tecla pulsada segn el cdigo AscII. En las
versiones ms recientes esa informacin viene dentro del parmetro e que lleva distinta informacin
asociada relacionada con el evento. Crea un TextBox, un Label y prueba el siguiente cdigo:
2006-2029 aprenderaprogramar.com
Comprobars que cada vez que pulsas una tecla sobre el TextbBox aparece en pantalla un nmero: para
la A, el 65, y para la a, el 97. Ese nmero es informacin que se pasa automticamente al procedimiento
cuando tiene lugar el evento. De esta forma se obtiene informacin til sobre lo que est pasando (qu
tecla ha pulsado el usuario, por dnde ha movido el ratn, qu botn del ratn ha pulsado, etc.) y se
puede establecer un cdigo previsto a ejecutar ante determinadas circunstancias.
Una declaracin de procedimiento genrico que espera un parmetro de entrada podra ser esta:
Cdigo versiones menos recientes VB:
Private Sub Raz(Nmero As Single)
End Sub
End Sub
Dentro de los parntesis se indican los parmetros de entrada requeridos, y el tipo de dato que han de
ser (de momento no prestaremos atencin a cuestiones adicionales como la aparicin de la palabra
ByVal). Si existen varios parmetros se escriben separados por comas, por ejemplo: (Nmero As Single,
Valor As Double, Nombre As String). Si no se especifica tipo de dato para los parmetros sern del tipo
por defecto (Variant en versiones menos recientes de Visual Basic u Object en las versiones ms
recientes). Nosotros siempre declararemos el tipo de los parmetros porque es una buena prctica de
programacin y no hacerlo podra dar lugar a diferentes problemas. La llamada al procedimiento podra
hacerse con una de estas sintaxis:
Call Raz(dato)
Raz dato
2006-2029 aprenderaprogramar.com
Raz (dato)
Una declaracin de funcin genrica que espera un parmetro de entrada podra ser esta:
Cdigo versiones menos recientes VB:
Private Function Raz(Nmero As Single) As Single
End Sub
End Function
Las llamadas a funciones se realizan escribiendo el nombre de la funcin seguido de los parmetros
entre parntesis. Dado que devuelven un resultado, se pueden usar para asignar contenido a una
variable, para mostrar algo en pantalla, etc. Por ejemplo:
Resultado = Raz(dato)
Label1 = Raz(dato) Label1.Text = Raz(dato)
Si introducimos como nmero para calcular raz 64 el programa nos mostrar: Raz calculada: 3; Raz
calculada: 12; Raz calculada: 8, donde 3 es la raz de 9, 12 es la raz de 144 (valor absoluto de -144), y 8
es la raz de 64 (nmero que hemos introducido por teclado.
2006-2029 aprenderaprogramar.com
Si tratramos de realizar una llamada del tipo Raz("Nueva York") nos aparecera un mensaje de error
como: Error 13. No coinciden los tipos. La conversin de la cadena "Nueva york" en el tipo 'Single'
no es vlida.
El mismo "objetivo" cumplido utilizando funciones lo exponemos a continuacin. Recuerda que una
funcin, adems de ejecutar un cdigo, devuelve un valor.
Cdigo versiones menos recientes VB:
'Curso VB aprenderaprogramar.com
'Programa con function
Option Explicit
Dim Dato As Single
Dim Resultado As Single
Private Sub Form_Load()
Label1 =
Mostrar(Raz(9))
Mostrar(Raz(-144))
Dato = InputBox("Introduzca nmero
para calcular raz", "Dato")
Mostrar(Raz(Dato))
End Sub
Private Function Raz(Nmero As Single)
As Single
Nmero = Abs(Nmero)
Raz = Sqr(Nmero)
End Function
Private Sub Mostrar(valor As Single)
Label1 = Label1 & vbCrLf & "Raz
calculada: " & valor
End Sub
2006-2029 aprenderaprogramar.com