- Windows Script Host - VBScript - Subrutinas -

Para mejorar la lectura de los scripts y evitar la repetición de líneas de código, existe la posibilidad de encapsular segmentos del mismo, en una subrutina y en lugar del código, llamar dicha estructura. Esa porción de código realiza una tarea específica, relativamente independiente del resto.
El nombre de una subrutina puede ser escogido libremente como el nombre de una variable.
Hay subrutinas que no devuelven valor alguno, las que son designadas como procedimiento. En un procedimiento es posible integrar diversos comandos, además, es posible transferir parámetros.
Parámetros son valores, los cuales son transferidos a la subrutina con diversos objetivos (por ejemplo para cálculos). Los parámetros influyen el comportamiento de un procedimiento.
No hay límites en cuanto a la cantidad de parámetros a transferir a una subrutina. Estos, debe separarse con comas.
Para utilizar una subrutina en un script, basta con llamarla con su nombre y dado el caso, incorporar en esa llamada los parámetros que correspondan.
Ejemplo:

' surutina.vbs
' ============

Sub textosalida(stexto)
WScript.Echo("-------------------------")
WScript.Echo(stexto)
WScript.Echo("-------------------------")
End Sub
 
Sub dialogo(stexto)
MsgBox stexto, vbOkOnly + vbInformation, "Información"
End Sub
 
' inicio del script
 
Dim ejemplo
 
textosalida "Esto es solo un ejemplo"
dialogo "Este seria el segundo ejemplo"
textosalida "La tercera variable no tarda"
dialogo "Cuarta y ultima variante"

Subrutina con devolución de valor (función)

Dado el caso, en que se requiera realizar cálculos, los cuales se repitan, será necesario utilizar una subrutina que devuelva un valor. Una subrutina que devuelve un valor, es una función.
La llamada puede ser como sigue:

Function Subrutina(a, b)
instrucción1
instrucción2

instrucción
Subrutina = a + b
End Function

El valor a devolver de una subrutina se define a través de la asignación de una expresión al nombre de la subrutina. En el ejemplo anterior seria:

Subrutina = a + b

El siguiente ejemplo muestra una subrutina, la cual permite multiplicar dos valores.

' subrutina.vbs
' ============
 
Function Multi(valor1, valor2)
multi = valor1 * valor2
End Function
 
Dim cifra1, cifra2, resultado
 
cifra1 = CInt(InputBox("Por favor, teclee el primer número", "entrada", 10))
cifra2 = CInt(InputBox("Por favor, teclee el segundo número", "entrada", 25))
resultado = Multi(cifra1, cifra2)
 
MsgBox "El resultado de la multiplicación es: " + CStr(resultado), vbOkOnly, "Resultado"

previo
Imprimir!
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
próximo