Comandos de Sistema

Contenido

Ejecutar comando de sistema

Ejecutar documento

Emitir sonido

Get estado de la memoria física

Get información pantalla

Informe personalizable: editar informe

Lanzar aplicación

Reproducir sonido

Salir de la aplicación

Comandos de sistema

Conjunto de comandos de proceso de sistemas.

Ejecutar comando del sistema

Comando de instrucción del grupo sistema que permite ejecutar un comando del sistema operativo.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

Fórmula de comando

Expresión de tipo fórmula con el comando del sistema operativo a ejecutar.

Identificador de la variable local numérica de retorno

Variable local del proceso de tipo numérico donde se recogerá el retorno del comando ejecutado. Si el comando no retorna ningún valor la variable contendrá un 0.

Funcionalidad

Ejecuta el comando del sistema operativo especificado en el primer parámetro y si éste devuelve algún valor, lo atrapa en la variable local numérica de retorno.

Comentarios

La variable local podrá ser cualquiera de tipo numérico ya declarada en el proceso o podremos declarar una nueva.

Ejemplo

Ejecutamos el fichero por lotes fichero.bat para que se ejecuten las instrucciones que este contiene.

Ejecutar comando del sistema ( "c:/fichero.bat",  )

Ejecutar documento

Comando de instrucción del grupo sistema que permite ejecutar el documento o la url indicada en sus parámetros. El documento o la URL será abierto en la aplicación que esté asociada a ese tipo de documento en el sistema operativo.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

Fórmula de senda

Expresión de tipo fórmula con la senda del archivo a ejecutar. La senda del documento deberá ir precedida del esquema file: y si se trata de una url, del esquema http o https.

Identificador de variable local booleana de retorno de ok

Variable local.

Funcionalidad

Este comando permite ejecutar el documento indicado en sus parámetros. Dicho documento será abierto en la aplicación que esté asociada a ese tipo de documento en el sistema operativo. Retornará un 1 si el fichero ha sido ejecutado y 0 si no.

Comentarios

Para la especificación de la senda del documento podremos hacer uso del asistente para edición de fórmulas, separando cada parte de la misma por el carácter “/”. Ejemplo: “file:///c:/documentos/file.txt”.

Si necesitamos crear sendas relativas y no absolutas, podremos hacer uso de las funciones estándar.

Si es el usuario quien deba indicar el fichero a ejecutar, podremos facilitarle esta tarea mediante el uso del comando de instrucción de proceso Ventana de selección de fichero.

Este comando de instrucción de proceso no es funcional en tercer plano. En el caso de tener esta necesidad, hemos de sustituirlo por el comando de instrucción ejecutar comando del sistema indicando como parámetro el ejecutable y el fichero que ha de abrir.

La especificación de las sendas de disco han de seguir el esquema de fichero URI:

Para ficheros locales será:

file:///c:/path/file.txt

Para ubicaciones de red será:

file://nombrehost/path/file.txt

Esto es así porque para un fichero local se omite el nombre del host, pero no la barra oblicua (/):

file://nombrehost/c:/path/file.txt = file:///c:/path/file.txt

Ejemplo

Ejecutamos el documento de la caché del cliente que hemos adjuntado como objeto fichero adjunto en la solución.

Ejecutar documento ( "file:///"+sysCacheClientPath +"API Rest en tu aplicación.pdf",  )

Emitir sonido

Comando de instrucción del grupo Sistema que emite un pitido con el altavoz del sistema.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

No tiene.

Funcionalidad

Emite un pitido con el altavoz del sistema.

Ejemplo

Si el usuario es administrador emitimos un sonido

If ( sysIsAdministrator )
    Emitir sonido

Get estado de la memoria física

Comando de instrucción del grupo Sistema que permite conocer el estado de la memoria física del ordenador donde sea ejecutado el proceso.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

Identificador de variable local numérica de retorno del porcentaje de memoria ocupado

Declaración de una variable local donde retornará qué porcentaje de la memoria física está siendo utilizado.

Identificador de variable local numérica de retorno de bytes de memoria total

Declaración de una variable local donde retornará el número total de bytes de la memoria física.

Identificador de variable local numérica de retorno de bytes de memoria libre

Declaración de una variable local donde retornará el número total de bytes libres de la memoria física.

Funcionalidad

Permite conocer el estado de la memoria física del ordenador donde sea ejecutado el proceso.

Comentarios

Si el proceso es ejecutado en primer o segundo plano, la máquina sobre la que se ejecute será la estación cliente, si el proceso es ejecutado en tercer o cuarto plano, la máquina sobre la que se ejecute será el servidor.

Ejemplo

Guardamos en la variable local PORC_MEN_OCUPADO el porcentaje de memoria ocupado , la memoria total en MEM_BYTES_TOTAL y la memoria libre en MEM_BYTES_LIBRES

Get estado de la memoria física del sistema ( PORC_MEM_OCUPADO, MEM_BYTES_TOTAL, MEM_BYTES_LIBRES )

Get información pantalla

Comando de instrucción del grupo Sistema que nos devuelve información sobre la pantalla en la que se esté ejecutando la aplicación.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

Identificador de la variable local numérica de retorno de ratio

Identificador de una variable local:

Si retorna un 1 querrá decir que se trata de un dispositivo con resolución estándar si retorna un valor igual o mayor que 2 quiere decir que se trata de un dispositivo con resolución HighDpi.

Identificador de la variable local numérica de retorno de ancho (Opcional)

Identificador de una variable local de tipo numérico donde se retornará el ancho de la pantalla donde está siendo ejecutada la solución.

Identificador de la variable local numérica de retorno de alto (Opcional)

Identificador de una variable local de tipo numérico donde se retornará el alto de la pantalla donde está siendo ejecutada la solución.

Funcionalidad

Este comando de instrucción de proceso nos devuelve información sobre la pantalla en la que se esté ejecutando la aplicación.

Ejemplo

Obtenemos el RATIO, el ANCHO y el ALTO de la pantalla mostrando sus valores diferenciando entre resolución estándar y resolución HighDpi.

Get información pantalla ( RATIO, ANCHO, ALTO )
If ( RATIO = 1 )
    Mensaje ( "Dispositivo con resolución estandar con ancho " + ANCHO + " y alto " +ALTO, Información, ,  )
If ( RATIO > 1 )
    Mensaje ( "Dispositivo con resolución HighDpi con ancho " + ANCHO + " y alto " +ALTO, Información, ,  )

Informe personalizable: editar informe

Comando de instrucción del grupo Sistema que permite editar la configuración de un informe personalizable. Un informe personalizable es un archivo con formato XML generado con nuestro editor de informes personalizables y que puede ser editado en tiempo de ejecución.

Origen de la instrucción: Ninguno.

Destino del subproceso: Ninguno.

Parámetros

Fórmula de senda

En este parámetro indicaremos la senda del archivo XML a editar.

Funcionalidad

Este comando de instrucción permite editar la configuración de un informe personalizable.

Ejemplo

Editamos el informe que tenemos asignado en la variable local INF_XML.

Set ( INF_XML, “C:/INF_TMP.XML" )
Informe personalizable: Editar informe ( INF_XML )

Lanzar aplicación

Comando de instrucción del grupo Sistema que permite la ejecución de una aplicación externa.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

Modo de lanzar aplicación

Tiene dos valores posibles:

Esperar

Se ejecutará la aplicación especificada y el usuario no podrá volver a la aplicación Velneo hasta que no la haya cerrado.

No esperes

El usuario podrá trabajar con la aplicación Velneo y con la aplicación lanzada al mismo tiempo.

Fórmula de comando

Expresión de tipo fórmula con la senda de la aplicación a ejecutar.

Fórmula de parámetros (Opcional)

Expresión de tipo fórmula con la lista de parámetros de la aplicación, por ejemplo, la senda de un archivo que se desee abrir con la aplicación.

Identificador de la variable local numérica de retorno

Variable local del proceso, de tipo numérico, donde se atrapará el retorno de la aplicación. Si la aplicación no ha sido ejecutada, retornará un 0.

Funcionalidad

Ejecuta la aplicación pasada en sus parámetros.

Comentarios

La variable local numérica de retorno podremos usar tanto una ya declarada con anterioridad como declarar una nueva. Si el sistema operativo es Windows y hay espacios en blanco en la senda, será necesario entrecomillarla, para ello podemos usar la secuencia de escape \c. Ejemplo:

"\c" + SENDA + "\c", donde SENDA es la variable local que contiene la senda de la aplicación a ejecutar.

Ejemplo

Lanzamos el programa testing.exe y al cerrar la ejecución del mismo retornamos a Velneo.

Lanzar aplicación ( Esperar, "C:/testing.exe", , OK )

Reproducir sonido

Comando de instrucción del grupo Sistema que reproduce ficheros de sonido con extensión WAV.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

Fórmula de senda

Expresión de tipo fórmula con la senda del archivo a ejecutar.

Funcionalidad

Reproduce ficheros de sonido con extensión WAV especificado en su parámetro.

Comentarios

Para facilitar la especificación de la fórmula podremos hacer uso del asistente para edición de fórmulas.

Si se desea solicitar al usuario el archivo a reproducir, podremos hacer uso del comando Ventana de selección de fichero.

Si en la fórmula se va escribir una senda, se usará el carácter “/” para separar los distintos niveles de la misma. Ejemplo:

"c:/archivos de programa/archivo.wav"

Ejemplo

En el caso de que no existan registros en la tabla PERS_M se reproduce el sonido del fichero alerta.wav.

Cargar lista ( PERS_M@ejemplo, ID, , , ,  )
    If ( ! sysListSize )
        Reproducir sonido ( "c:/archivos/alerta.wav" )

Salir de la aplicación

Comando de instrucción del grupo Sistema que permite cerrar la aplicación en curso.

Origen de la instrucción: Cualquiera.

Destino del subproceso: Ninguno.

Parámetros

Fórmula valor de retorno de la aplicación (Opcional)

En este parámetro podemos establecer, mediante una fórmula, un valor de retorno. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Funcionalidad

Este comando de instrucción de proceso permite cerrar la aplicación en curso y retornar un valor.

Comentarios

El retornar un valor nos será de utilidad cuando la aplicación sea llamada desde otra mediante el comando de instrucción Lanzar aplicación. Supongamos que en el proceso donde cerramos aplicación evaluamos una serie de condiciones y, en función de las mismas, vamos a retornar distintos valores; en el proceso llamador o en el batch, por ejemplo, podremos evaluar el retorno obtenido y actuar en consecuencia.

Este comando solamente puede ser usado en manejadores de eventos de las señales pre-inicialización o post-inicializado del marco AUTOEXEC. Sin embargo, si desde esos manejadores lanzamos un proceso que ejecute el comando no se procesará, pues todavía la inicialización de la aplicación no ha finalizado, y no está disponible el gestor de cola de mensajes. En su lugar debemos podemos ejecutar set retorno = No.

En el caso de que queramos forzar el cierre desde cualquier otro punto de la aplicación, lo que haremos será crear una acción; no es necesario que la acción esté incluida en la interfaz de la aplicación, simplemente basta con que esté declarada.

Ejemplo

Cuando el año actual del sistema sea inferior al 2000 salimos de la aplicación.

If ( year(currentDate()) < 2000 )
    Mensaje ( "Se ha superado el año 2020", Información, ,  )
    Salir de la aplicación ()

Última actualización