Si usted está pensando en desarrollar una aplicación de Visual Basic, una de las primeras cosas que hay que saber es la diferencia entre las funciones y subrutinas , también conocidos como procedimientos de sub . Usted puede pensar en subrutinas y funciones que los programas en miniatura. A diferencia de las variables , subrutinas y funciones no tienen ningún dato , sino que poseen código de VB . Si desea devolver los datos , a continuación, utilizar una función - de lo contrario , utilice un subprograma. Usted puede llamar a las funciones de las subrutinas y viceversa . Definición
Una subrutina se compone de una serie de instrucciones de Visual Basic , delimitada por las declaraciones " End Sub " "Sub " y . Un procedimiento de función también se compone de una serie de instrucciones de Visual Basic , pero debe estar entre la " función " y declaraciones " End Function " . Todo el código ejecutable debe estar en el interior tanto un subprograma y un procedimiento de función. Ambos pueden ser definidos en los módulos , clases y estructuras.
Declaración
declarar una subrutina de una manera similar a cómo se declara una variable, por especificando el nombre del parámetro y el tipo de datos. Puede especificar el parámetro mecanismo como " ByVal " o pasando " ByRef ". Cada parámetro es tratado como una variable local a la subrutina , lo que significa que la vida útil del parámetro es el mismo que el del procedimiento . En una función , se puede declarar el tipo de datos del valor que devuelve como " entero " o " Doble ". Si no se especifica el " returntype ", la función devuelve un tipo de datos "Object" .
Devolver datos
VB , puede pasar un argumento a un procedimiento ( subrutina o función) por valor o por referencia al especificar las palabras clave " ByRef " " ByVal " o . De forma predeterminada una subrutina y una función de tratar a sus argumentos por valor, lo que significa que el procedimiento no puede modificar el contenido del elemento variable en el código de llamada. Una función devolverá un valor asignando el valor al nombre de la función , o incluirlo en la declaración " Return" . Una subrutina normalmente no devuelve un valor , pero se puede definir un argumento como " ByRef " para devolver un valor como parámetro.
Ejemplo
La siguiente es un ejemplo de una subrutina :
Sub tellOperator (tarea ByVal como secuencia)
sello Dim como fecha
sello = TimeOfDay ()
MsgBox ( " a partir " & task &" en "& CStr (sello ))
End Sub
El siguiente es un ejemplo de una función :
función myFunction ( ByVal j As Integer ) As Double
Regresar 3.87 * j
End Function