Un componente de formulario se declara en un archivo EGL, como se describe en el apartado Formato fuente EGL. Si sólo un grupo de formularios accede a un componente de formulario, es aconsejable que éste esté incorporado al componente FormGroup. Si varios grupos grupo de formularios acceden a un componente de formulario, es necesario especificar el componente de formulario en el nivel superior de un archivo EGL.
Form myTextForm type textForm { formsize= [24, 80], position= [1, 1], validationBypassKeys=[pf3, pf4], helpKey="pf1", helpForm="myHelpForm", msgField="myMsg", alias = "form1" } * { position=[1, 31], value="Sample Menu" } ; * { position=[3, 18], value="Activity:" } ; * { position=[3, 61], value="Command Code:" } ; activity char(42)[5] { position=[4,18], protect=skip } ; commandCode char(10)[5] { position=[4,61], protect=skip } ; * { position=[10, 1], value="Response:" } ; response char(228) { position=[10, 12], protect=skip } ; * { position=[13, 1], value="Command:" } ; myCommand char(70) { position=[13,10] } ; * { position=[14, 1], value="Enter=Run F3=Exit"} ; myMsg char(70) { position=[20,4] }; end
Form myPrintForm type printForm { formsize= [48, 80], position= [1, 1], msgField="myMsg", alias = "form2" } * { position=[1, 10], value="Your ID: " } ; ID char(70) { position=[1, 30] }; myMsg char(70) { position=[20, 4] }; end
El valor de columna es equivalente al número de caracteres de un solo byte que pueden visualizarse en el área de presentación.
validationBypassKeys = [pf3, pf4]
El valor de columna es equivalente al número de caracteres de un solo byte que pueden visualizarse en el área de presentación.
El diagrama de un campo de formulario es el siguiente:
El código puede acceder al valor de un campo con nombre, también llamado campo de variable.
Si un formulario de texto contiene un campo de variable que empieza en una línea y finaliza en otra, el formulario de texto sólo podrá visualizarse en pantallas cuya anchura sea igual a la del formulario.
Los formularios que contienen campos de tipo DBCHAR sólo pueden utilizarse en sistemas y dispositivos que den soporte a juegos de caracteres de doble byte. De forma similar, los formularios que contienen campos de tipo MBCHAR sólo pueden utilizarse en sistemas y dispositivos que den soporte a juegos de caracteres multibyte.
Los tipos primitivos FLOAT, SMALLFLOAT y UNICODE no están soportados para formularios de texto ni de impresión.
Esta propiedad puede especificarse para cualquier elemento; por ejemplo, en una declaración de componente dataItem.
El valor de fieldLen para campos numéricos debe ser lo suficientemente grande para visualizar el número mayor que el campo pueda contener, además de una coma decimal (si el número tiene posiciones decimales). El valor de fieldLen para un campo de tipo CHAR, DBCHAR, MBCHAR o UNICODE debe ser lo suficientemente grande para contener los caracteres de doble byte, así como los caracteres de desplazamiento a teclado ideográfico y a teclado estándar.
El valor por omisión de fieldLen es el número de bytes necesario para visualizar el mayor número posible para el tipo primitivo, incluidos todos los caracteres de formato.
El valor por omisión es no.
myArray char(1)[3];
Los elementos de la matriz se colocan en relación a la situación especificada para el primer elemento de la matriz. El comportamiento por omisión es colocar los elementos verticalmente en filas consecutivas.
myArray char(10)[5] {position=[4,61], protect=skip, myArray[2] { cursor = yes} };