Gasboy Site Controller II Manual del usuario

Página 173

Advertising
background image

18-10

Archivos de comandos avanzados

SC II Manual del Administrador v2.2

Serie CFN Gasboy

procesador normal de comandos la ignorará.

Se puede usar GOTO para saltar a cualquier lugar en el archivo de comandos, hacia adelante o hacia

atrás. No hay límite para el número de etiquetas e instrucciones GOTO que se pueden usar en un archivo.
GOTO empieza su búsqueda de la etiqueta al comienzo del archivo de comandos, por lo tanto si se usan
subrutinas, éstas deben ponerse al comienzo del archivo de comandos para mejorar el rendimiento.

Siempre que se pueda, debe usarse LOOP y RETURN en lugar de GOTO. LOOP y RETURN son más

rápidos que GOTO porque se implementan directamente en el entorno.

El siguiente es un ejemplo de una subrutina que puede usarse con LOOP y RETURN.

El siguiente es un esquema de un programa más completo que usa subrutinas.

Cómo buscar una cadena en un archivo

A* TYPE TEST6.CMD

* short example of GOTO usage
* first go to main program
goto MAIN
* ----- CHECKPERM subroutine ----
* CHECKPERM is a subroutine to check user’s permission level
* %P is current user’s permission level
*CHECKPERM:

if - %P 4
BEGIN
echo Permission denied; has level %P, needs level 4
exit
END

goto -Rb
* ---- main program starts here ----
*MAIN:
echo Main program starting
* check permission level
goto -Sb CHECKPERM
* program returns to here after doing CHECKPERM subroutine
echo Main program continuing
A*

A* TYPE TESTGOTO.CMD

* uncomment this line for trace while debugging
* ================ TESTGOTO.CMD ===================
* Example of how to use goto for subroutines
*
* usage: TESTGOTO
*
* -------- jump to mainline ---------
goto MAIN
* ================ SUBROUTINES ====================
* ----- FIRST LEVEL A SUBROUTINES -----
* ------ your first subroutine -------
*SUBONE:
echo something
goto -Sb SUBSUB
echo something else
goto -Ra
* ------ your second subroutine -------
*SUBTWO:
echo do something new
goto -Sb SUBSUB
echo do something else new
goto -Ra
* ----- SECOND LEVEL B SUBROUTINES ----->
*SUBSUB:
echo do something again
goto -Rb
* ================= MAIN LINE =====================
*MAIN:
goto -Sa SUBONE
goto -Sa SUBTWO
* =============== END OF PROGRAM ==================

Advertising