Funciones y procedimientos de VBScript con ejemplo

โšก Resumen inteligente

Las funciones y procedimientos de VBScript organizan el cรณdigo en bloques reutilizables. Un procedimiento Sub ejecuta instrucciones sin devolver ningรบn valor, mientras que un procedimiento Function devuelve un valor asignรกndolo al nombre de la funciรณn, y los argumentos se pasan mediante ByRef o ByVal.

  • ๐Ÿงฑ Code Reutilizar: Los procedimientos modularizan el cรณdigo para que sea mรกs fรกcil escribirlo, depurarlo y mantenerlo en scripts extensos.
  • ๐Ÿ“ค Subprocedimiento: Una subrutina ejecuta un bloque de instrucciones entre Sub y End Sub, pero no devuelve ningรบn valor.
  • ๐Ÿ“ฅ Procedimiento de funcionamiento: Una funciรณn devuelve un valor asignรกndolo al nombre de la funciรณn entre Function y End Function.
  • ๐Ÿ“ž Vocaciรณn: Utilice la palabra clave `call` para ejecutar una subrutina y el nombre de una funciรณn en una expresiรณn para obtener su resultado.
  • ๐Ÿ” Por referencia vs. Por valor: ByRef permite que los cambios persistan despuรฉs de la llamada; ByVal trabaja sobre una copia, por lo que los cambios no persisten.
  • โš™๏ธ Paso predeterminado: VBScript pasa los argumentos por referencia de forma predeterminada, a menos que se especifique ByVal.

Funciones y procedimientos de VBScript

Procedimientos de VBScript

Los procedimientos de VBScript se utilizan principalmente para la organizaciรณn y reutilizaciรณn de cรณdigo. Hasta ahora hemos utilizado ejemplos sencillos, ya que el objetivo es aprender VBScript. Pero en un escenario del mundo real, el cรณdigo no es tan simple. Cuando intentas implementar algo que es รบtil, el cรณdigo puede volverse mรกs complejo. Puede haber cientos de lรญneas que se extiendan a lo largo de muchas pรกginas.

Si no organizas el cรณdigo correctamente, todo el proceso de codificaciรณn, depuraciรณn y gestiรณn del cรณdigo se volverรก muy complejo. Por lo tanto, debes organizar o modularizar el cรณdigo con cuidado para que sea fรกcil de manejar.

Ademรกs, suponga que tiene un conjunto de declaraciones que realizan una acciรณn particular. Quieres que la misma acciรณn se repita varias veces. Entonces, ยฟpor quรฉ deberรญas escribir el mismo cรณdigo una y otra vez? Al utilizar tรฉcnicas efectivas, puede hacer que su cรณdigo sea reutilizable. Esto ayudarรก a los desarrolladores a organizar el cรณdigo de manera hermosa y a los evaluadores a identificar errores fรกcilmente. En resumen, la modularizaciรณn y reutilizaciรณn del cรณdigo es muy importante para hacer que el cรณdigo sea mรกs potente, confiable y mรกs fรกcil de mantener. Aquรญ vienen los procedimientos en una imagen.

Tipos de procedimientos en VBScript

Un procedimiento es un bloque de cรณdigo que idealmente realiza una รบnica funciรณn. Un bloque de cรณdigo que procesa una entrada o maneja un archivo es un buen ejemplo de funciรณn. Hay dos tipos de procedimientos en VBScript.

  1. Subprocedimiento: El subprocedimiento no devuelve un valor.
  2. Procedimiento de funciรณn: el procedimiento de funciรณn se utiliza si desea devolver un valor.

Subprocedimientos

Si desea ejecutar una serie de declaraciones sin devolver ningรบn valor, puede utilizar subprocedimientos.

Los procedimientos Sub comienzan y terminan con declaraciones Sub y End Sub respectivamente. Los subprocedimientos pueden aceptar argumentos, pero no pueden devolver un valor. Los subprocedimientos pueden o no recibir informaciรณn.

Sub outputMessage()
document.write("Welcome")
End Sub

Simplemente escribir este cรณdigo no generarรก nada. Aquรญ ha creado un procedimiento secundario denominado mensaje de salida. A continuaciรณn, debes llamarlo.

llamar mensaje de salida()

Combine ambos conjuntos de cรณdigos dentro de la etiqueta de esta manera.

<script type="text/vbscript">

Sub outputMessage()
document.write("Welcome")
End Sub
call outputMessage()
</script>

La salida de este cรณdigo serรก

Subprocedimientos

Funciones de VBScript

Si desea ejecutar una serie de declaraciones y devolver un valor, debe utilizar procedimientos de funciรณn, comรบnmente conocidos como funciรณn.

Los procedimientos de funciรณn comienzan y terminan con declaraciones de funciรณn y funciรณn final respectivamente.

Un procedimiento de funciรณn puede o no recibir informaciรณn.

Los procedimientos de funciรณn devuelven un valor asignando el valor a su nombre.

<script type="text/vbscript">
Function findArea(radius)
   const pi=3.14
   area = pi*radius*radius
   findArea = area
End Function
document.write("The area of the circle when the radius is 20 is " & findArea(20) &"<br/>")
document.write("The area of the circle when the radius is 10 is " & findArea(10))

</script>

La salida de este cรณdigo serรก

Funciones de VBScript

Parรกmetros ByRef y ByVal

Puede pasar argumentos de VBScript a los procedimientos por referencia o por valor.

Si no especifica nada cuando llama a un procedimiento, entonces el argumento o argumentos se pasan por referencia de forma predeterminada.

Si los cambios realizados en los argumentos persisten incluso despuรฉs de llamar al procedimiento, entonces deberรก pasar los argumentos de VBScript por referencia.

Cuando un argumento se pasa por valor, cualquier cambio que el procedimiento llamado realice en el valor del variable no persista despuรฉs de llamar al procedimiento.

Las palabras clave ByRef y ByVal se utilizan para pasar argumentos por referencia y por valor respectivamente.

Para comprender la diferencia, primero ejecute el cรณdigo que se proporciona a continuaciรณn y vea el resultado.

Paso 1) Copia el cรณdigo en tu editor.

<script type="text/vbscript">
Function returnResult(ByRef value)
   value = value +1
   returnResult = value
End Function
Dim x
x=5
call returnResult(x)
document.write(x)
</script>

Paso 2) la salida es 6.

Paso 3) Cambie la funciรณn returnResult (valor ByRef) a la funciรณn returnResult (valor ByVal)

Paso 4) Ahora tu salida serรก 5.

Preguntas Frecuentes

Utilice Exit Sub dentro de una subrutina, o Exit Function dentro de una funciรณn, para salir del procedimiento justo antes de su finalizaciรณn. La ejecuciรณn regresa entonces a la lรญnea que lo llamรณ.

Si utiliza la palabra clave `call`, encierre los argumentos entre parรฉntesis. Si omite `call`, no utilice parรฉntesis para los argumentos mรบltiples. Este es un error de sintaxis comรบn en VBScript.

Sรญ. Una subrutina o funciรณn de VBScript puede llamarse a sรญ misma, lo que se conoce como recursiรณn. Siempre incluya una condiciรณn base que detenga las llamadas, de lo contrario, el script entrarรก en un bucle infinito hasta que se agote el espacio de la pila.

Sรญ. La IA puede detectar declaraciones duplicadas, por ejemplotracIntrodรบzcalas en una subrutina o funciรณn con los parรกmetros adecuados y actualice las llamadas. Esto hace que los scripts sean mรกs cortos y fรกciles de mantener.

Sรญ. La IA puede. tracExplique cรณmo cambia un valor con ByRef frente a ByVal, muestre la salida para cada uno y recomiende cuรกl usar segรบn si quien realiza la llamada debe ver el cambio.

Resumir este post con: