# Modo de texto para los scripts

## Acerca del Modo de texto

Utilizando el modo de Texto, puede configurar los mismos scripts que los del modo de Bloque. Cualquier operación admitida por el software de edición de pantallas en los scripts del modo de Bloque también es compatible con los scripts del modo de Texto, como las operaciones matemáticas (seno, coseno, etc.), las operaciones lógicas (&&, ||, etc.) y las operaciones de comparación (==, !=, etc.). Los scripts que no figuran en la [Caja de herramientas] no se admiten.

### Editor de scripts

En el modo de Texto, el editor de scripts divide el script en secciones, y cada sección de script tiene un disparador y una o más operaciones.

Los disparadores, como Pulsación, Periódico/Programa, y Condicional adoptan la forma de una función. Si un disparador requiere parámetros, páselos como parámetros de la función.

Las operaciones toman la forma de una declaración con un punto y coma (;) para terminar la declaración.

El formato del modo de Texto es tal como se muestra en el siguiente ejemplo.

- 'onClick' es el controlador de un disparador de Clic.
- El primer parámetro '$GraphicObject' es el origen del disparador.
- El segundo parámetro '$Math.max(EXPRESSION1, EXPRESSION2);' es el conjunto de operaciones ejecutadas por el disparador. Las operaciones se identifican con la flecha "=>".

#### Objetos y variables

Agregue una palabra clave para identificar un objeto o una variable de referencia. Anteponga a la palabra clave el símbolo "$". (Consulte la siguiente tabla.)

Identificador del módulo

Palabra clave | Descripción | Ejemplo
$Alarm | Para acceder a una propiedad de la alarma. | $Alarm.AlarmGroup1.Var1_HiHi.Message
$AlarmGroup | Para acceder a la propiedad de un grupo de alarmas. | $AlarmGroup.AlarmGroup1.CurrentActiveCount
$AllAlarm | Para acceder a una propiedad de todas las alarmas. | $AllAlarm.MaxRecord
$SystemErrorGroup | Para identificar como grupo de error del sistema. |
$OperationLog | Para acceder a una propiedad del registro de operaciones. | $OperationLog.ExportData.FolderName
$RecipeControl | Para acceder a la propiedad de control de recetas. | $RecipeControl.RecipeControl1.RecipeID
$Ingredient | Para acceder a la propiedad de un ingrediente. | $Ingredient.RecipeFamily1.RecipeGroup1.Ingredient1.Value
$Local | Para acceder a la propiedad de la variable local. | $Local.Var1.Value
$GraphicObject | Para acceder a la propiedad de un objeto gráfico. | $GraphicObject.NumericDisplay1.CurrentValue
$Screen | Para acceder a una propiedad de la pantalla, o para acceder a una propiedad de un elemento en una pantalla específica. Utilice este identificador para evitar posibles conflictos de nombres de pantallas/contenidos y objetos. | $Screen.Screen1
$Device | Para acceder a la propiedad de un controlador o equipo. | $Device.Driver1.Equipment1.OnScanMode
$Target | Para acceder a una propiedad de destino. | $Target.Preferences.ColorSetID
$Math | Para acceder a las operaciones matemáticas. | $Math.abs(-100)
$Enums | Para acceder a las operaciones y valores que se pueden especificar con los scripts, como las operaciones de archivo y los formatos de datos. | $Enums.FileOperation.CopyPaste $Enums.DataFormat.Float

Al hacer referencia a objetos y variables en un script, puede trabajar con las propiedades de un objeto o variable. Por ejemplo, 'Var1.Quality', '$GraphicObject.Ellipse1.Thickness'.

Cuando se escribe el nombre de un objeto gráfico, una variable, un grupo de alarmas, un grupo de usuarios, un grupo de registro o una receta en un script, el nombre se resalta.

#### Cambiar el modo de script

En el editor de scripts, puede utilizar el modo de [Bloque] o el modo de [Texto]. No se pueden editar scripts en ambos modos al mismo tiempo.

El modo predeterminado es el de [Bloque].

Para cambiar el modo de script, vaya a [Proyecto] ➞ [Ajustes], luego en la ventana [Propiedades] ➞ [Básico] ➞ [Script] ➞ [Modo de Script], y seleccione [Bloque] o [Texto].

Nota: No se puede cambiar el Modo de script cualquiera de los scripts es inválido. Sin embargo, se puede cambiar el Modo de script, incluso si hay un error de datos.

## Trabajar con scripts en el Modo de texto

### Agregar funciones

Cuando se trabaja con scripts en el modo de Texto, la caja de herramientas muestra una lista de disparadores, operaciones, lógica y expresiones. Haga doble clic en un disparador y se creará una nueva sección de scripts en el editor de scripts junto con el código predeterminado para el disparador seleccionado.

También puede agregar funciones utilizando los siguientes métodos.
Puede agregar un disparador desde la barra de herramientas.

- Para editar un nuevo script vacío en el modo de Texto, desde la barra de herramientas agregue [En blanco] o utilice el atajo de teclado Ctrl+Shift+N.

- Para crear un script que será activado por un objeto en una pantalla, abra la pantalla, seleccione el objeto y la ventana [Eventos] muestra los disparadores disponibles para el objeto. Haga clic en [+] para agregar el disparador asociado en una nueva sección de script.

### Agregar el origen y el destino

- En el modo de Texto, el editor de scripts está equipado con Intellisense. Al escribir en el editor de scripts, aparecen las opciones disponibles que coinciden, ya sea una palabra clave de script, un nombre de objeto o un nombre de función. Seleccione el elemento deseado para insertar la palabra clave, el nombre del objeto o la función.
  Después de escribir un nombre de objeto y un punto (.) aparecen las propiedades disponibles del objeto. Seleccione la propiedad deseada para insertarla en el script.

- En el modo de Texto, también puede crear variables locales y globales sobre la marcha. No se puede crear otros objetos en un script.

1. Cuando se utiliza una variable indefinida en un script, pase el cursor del ratón por encima de la variable.

   Nota: Al crear una variable local, anteponga el nombre de la variable con "$Local".

2. Haga clic en el icono y en el menú emergente seleccione [Crear variable] o [Crear variable local].

3. En el submenú seleccione el tipo de datos de la variable para crear la variable especificada.

### Caja de herramientas

- En la Caja de herramientas, haga clic en </> para ver la sintaxis del script asociado.

### Comentarios

En el modo de Texto, puede agregar comentarios a los scripts con doble barra "//" y puede agregar comentarios de varias líneas entre "/*" y "*/". Puede agregar comentarios al final de una instrucción o en su propia línea.

Nota:

- Cuando se cambia el [Modo de script] del modo de [Bloque] al modo de [Texto], los bloques de comentarios se convierten en comentarios "//".

- Cuando se cambia el [Modo de script] del modo de [Texto] al modo de [Bloque]:

- Los comentarios "//" y "/*" "*/" al nivel del Disparador se convierten en bloques de Comentarios.

- Otras instrucciones "//" o "/*" "*/" situadas fuera del nivel de Disparador no se convierten, ya que el modo de Bloque sólo admite bloques de [Comentario] en los Disparadores.

### Buscar y reemplazar

- Buscar: Utilice el atajo de teclado Ctrl+F para mostrar el control Buscar en la parte superior derecha del editor de scripts del modo de Texto. En el campo, escriba el texto a buscar. Haga clic en la flecha hacia abajo de o en la flecha hacia arriba de para encontrar la coincidencia siguiente o anterior. Seleccione el icono o para encontrar las mayúsculas y minúsculas o las palabras completas que coincidan.

- Reemplazar: Utilice el atajo de teclado Ctrl+H para mostrar el control Buscar y Reemplazar en la parte superior derecha del editor de scripts del modo de Texto. En los campos, escriba el texto a buscar y el texto de sustitución. Haga clic en la flecha hacia abajo de o en la flecha hacia arriba de para encontrar la coincidencia siguiente o anterior. Seleccione el icono o para encontrar las mayúsculas y minúsculas o las palabras completas que coincidan. Haga clic en el icono Reemplazar para sustituir la coincidencia actual. Haga clic en el icono Sustituir todo para sustituir todas las instancias del texto coincidente.

La siguiente tabla lista kas teclas de acceso directo para las operaciones de Buscar y reemplazar.

Icono de acceso directo | Teclas de acceso rápido | Descripción
– | Ctrl+F | Buscar
– | Ctrl+H | Buscar y reemplazar
| F3 | Buscar siguiente
| Mayús+F3 | Buscar anterior
| Alt+R | Sustituir
| Alt+A | Sustituir todo
| Alt+C | Coincidir mayúsculas/minúsculas
| Alt+W | Sólo palabras completas

Puede alternar entre Buscar y Reemplazar, ya sea usando los atajos de teclado, o haciendo clic en el icono hacia arriba o hacia abajo a la izquierda del campo [Buscar].

## Restricciones

#### Modo de script

- No se puede cambiar el Modo de script (modo de Bloque a modo de Texto o modo de texto a modo de bloque) si alguno de los scripts no es válido. Sin embargo, un error de datos no le impedirá cambiar el Modo de script.

- Los scripts en modo de Bloque sólo admiten comentarios en el bloque Comentario de un bloque de disparadores. Como resultado, en el modo de Texto, los comentarios agregados a cualquier área del script que no sea el Disparador no se guardan cuando se cambia el [Modo de script] al modo de [Bloque].

#### Nombres

- Si se elimina un objeto, o se le cambia de nombre en el proyecto, las referencias a ese objeto en los scripts aparecen como un error indefinido.