Proyectos: Objetos y editores
- Proyectos: Objetos y editores
- Objeto
- Proyecto de datos
- Proyecto de aplicación
- Rejilla
- Formulario
- Asistente para la creación de formularios
- Editor de formularios
- Dibujo (control)
- Caja de grupo
- Texto estático
- Nombre de campo
- Edición
- MicroScrollers
- Calendario
- Edición fecha/hora
- Edición fecha
- Edición hora
- Reloj
- Manómetro
- Termómetro
- Botón
- Botón de radio
- Botón de check
- ComboBox
- ListBox
- Control objeto
- Barra de progreso
- Deslizador
- Rueda
- Dial
- Objeto dibujo
- Caja de texto
- Caja de texto enriquecido
- Visor HTML
- Película
- Separador formularios
- Caja de formularios
- Pila de formularios
- Layout
- Espaciador
- Búsqueda
- Localizador
- Lupa
- Árbol visor de tablas
- Casillero
- Multivista
- Bloc de formularios
- Informe
- Multipanel
- Acción
- Menú
- Toolbar
- Marco
- Dibujo
- Constante
- Variable
- Proceso
- Editor de procesos
- Planos de ejecución
- Comandos
- Comandos API de Velneo
- Comandos de Arrays
- Comandos Básicos
- Comandos de Cestas
- Comandos de Configuración del sistema
- Comandos de Ficha y campos
- Alta de ficha
- Alta de ficha de maestro con formulario
- Comprobar fórmula dinámica
- ¿Ya existe en el índice?
- ¿Ya existe en alguno de sus índices de clave única?
- Exportar binario
- Exportar dibujo
- Exportar texto
- Get campo
- ¿Ha cambiado el campo?
- ¿Ha cambiado la ficha?
- Importar binario
- Importar dibujo
- Importar texto
- Leer ficha de maestro
- Limpiar campo objeto
- Modificar campo
- Modificar ficha de maestro
- Pedir formulario
- Crear copia de ficha en memoria
- Crear nueva ficha en memoria
- Procesar ficha en memoria
- Get atributos de dibujo
- Editor de dibujos
- Comandos de Ficheros y directorios
- Cambiar directorio por defecto
- Copiar fichero
- Crear directorio
- Eliminar directorio
- Renombrar directorio
- Eliminar fichero de disco
- Renombrar o mover fichero
- ¿Existe fichero?
- Fichero: Abrir
- Fichero: Grabar línea
- Fichero: Leer línea
- Get atributos fichero
- Recorrer directorio
- Ventana de selección de fichero
- Ventana de selección de directorio
- Get fichero de URL
- Comandos de Listas
- Comandos de Listas: Ficha seleccionada
- Comandos de Navegante y búsquedas
- Comandos de Procesos
- Comandos de Retornos
- Comandos de SDV
- Comandos de Sistema
- Comandos de Tubos
- Comandos de Scripts
- Comandos de Interfaz
- Interfaz: Mostrar objeto
- Interfaz: Ocultar objeto
- Interfaz: Activar objeto
- Interfaz: Desactivar objeto
- Interfaz: Activar foco objeto
- Interfaz: Set Paleta
- Interfaz: Set Fuente
- Interfaz: Quitar foco
- Interfaz: Está activo
- Interfaz: Es visible
- Interfaz: Tiene foco
- Interfaz: Recalcular control
- Interfaz: Procesar control
- Interfaz: Aceptar
- Interfaz: Cancelar
- Interfaz: Activar subcontrol
- Interfaz: Está activo el subcontrol
- Comandos de objetos
- Cola
- Función
- Tubo de ficha
- Tubo de lista
- Subobjeto
- Esquema de tablas
Proyectos
Un proyecto es un contenedor de objetos visuales. Los objetos visuales nos permiten definir la base de datos, operar con ésta y definir el interfaz de nuestra aplicación.
Existen dos tipos de proyectos: Proyecto de datos y Proyecto de aplicación. Además de tener una función específica cada tipo de proyecto, los objetos que pueden incluir vienen determinados por el tipo y la función que realizan.
El proyecto de datos define una base de datos por medio de objetos tales como Tablas, Variables globales, Procesos y otros objetos, que nos permiten programar el funcionamiento de nuestra base datos, los datos que se almacenarán y cómo.
El proyecto de aplicación define cómo operar con la base de datos y cómo será el interfaz de la aplicación, medio de objetos tales como Rejillas, Formularios, Búsquedas, Marcos, y otros objetos, que nos permiten programar la forma en que se presentan y se opera con los datos.
Una propiedad muy importante de los proyectos es la herencia. Un Proyecto de datos puede heredar de otros proyectos de datos, de tal manera que las tablas de cada uno de los proyectos puedan hacer uso de las tablas de los proyectos heredados.
De igual manera, el proyecto de aplicación puede heredar de otros proyectos de aplicación haciendo uso de los objetos que contengan. Pero además puede heredar de proyectos de datos, siendo esta la manera de que un proyecto de aplicación opere con una base de datos.
Los proyectos de datos no heredan de proyectos de aplicación, ya que han de ser independientes del interfaz gráfico y por tanto de la interacción directa con el usuario.
Objeto
Un objeto es un elemento definible dentro de un proyecto que, en tiempo de ejecución, realiza las tareas de un programa.
Los objetos nos permiten definir la base de datos, operar con ésta y definir el interfaz de nuestra aplicación. Estos objetos son creados de forma visual y únicamente tendremos que definir sus propiedades.
Para desarrollar todas estas funcionalidades los objetos pueden interactuar unos con otros.
Las funcionalidades de los objetos están definidas por el tipo de objeto y en ejecución se realizan en función de las propiedades definidas en cada objeto. Por ejemplo, un objeto de tipo rejilla muestra listas de registros, uno de tipo formulario servirá para editar, uno de tipo tabla define una relación de datos, es decir, una estructura de datos, etc.
Un objeto, además, puede ser un elemento único, por ejemplo, un dibujo, o estar a su vez compuesto por sub-objetos, por ejemplo, un objeto tabla de datos está compuesta por sub-objetos de tipo campo, índice, etc.
Los objetos podrían clasificarse según el tipo de proyecto donde pueden ser creados. Así tendríamos:
Objetos de proyecto de datos:
Objetos de proyecto de aplicación:
Rejilla
Formulario
Búsqueda
Localizador
Lupa
Árbol
Casillero
Multivista
Informe
Impresora lógica
Acción
Menú
Toolbar
Marco
Bloc de formularios
Además, hay objetos que pueden residr tanto en un proyecto de datos como en un proyecto de aplicación. Estos son:
Dibujo
Constante
Variable
Proceso
Tubo de ficha
Tubo de lista
Cola de procesos
Otro concepto importante referente a los objetos es que éstos pueden tener una entrada y/o una salida. Las entradas y salidas posibles son, o bien ninguna, o bien una ficha o una lista de una tabla.
Las propiedades principales comunes a todos los objetos y subobjetos son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un objeto de un tipo de objeto o un subobjeto dentro de un objeto. Este identificador será el que usemos para referenciarlo en otras propiedades y en fórmulas.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto o un subobjeto de un objeto no puede haber duplicidad. Puede haber objetos de distinto tipo con el mismo identificador, pero nunca objetos del mismo tipo con el mismo identificador. Así mismo, puede haber subobjetos con el mismo identificador pero de objetos distintos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto o subobjeto en otros objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre ese objeto o subobjeto y Heredable, que permite que el objeto o subobjeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto o subobjeto en nuestro proyecto.
Galería de objetos
Se trata de una funcionalidad de Velneo vDevelop V7 que nos permite añadir objetos a nuestros proyectos.
Para abrir la galería pulsaremos la tecla Insert. Ésta será abierta en el panel central de Velneo vDevelop V7.
Si ya tenemos abierta la galería y hay otras ventanas abiertas encima de ellas, podremos volver a la mismoa pulsando nuevamente la tecla Insert.
Si estamos editando un proyecto de datos, los objetos disponibles en la galería serán:

Si estamos editando un proyecto de aplicación, los objetos disponibles en la galería serán:

Para añadir un objeto a nuestro proyecto haremos doble clic sobre el icono que se corresponda con el objeto que queremos crear.
Mover objeto
Es posible mover un objeto del proyecto en curso a un proyecto heredado. Podremos mover tanto objetos de proyecto de datos como de proyecto de aplicación.
Para ello seleccionaremos el objeto a mover o bien en el explorador de proyectos o bien en el panel del proyecto y ejecutaremos la opción Mover de proyecto del menú de Velneo vDevelop V7.
Una vez hecho esto el sistema pedirá que seleccionemos el proyecto al que queremos mover el objeto seleccionado, solamente nos dará opción a elegir entre los proyectos heredados por el proyecto en curso que sean del mismo tipo, es decir, si se trata de un objeto de proyecto de datos nos mostrará la lista de proyectos de datos heredados y si se trata de un objeto de proyecto de aplicación lo que nos mostrará será la lista de proyectos de aplicación heredados:

Seleccionaremos el proyecto deseado y pulsaremos el botón
para continuar o el botón
para cancelar la operación.
El siguiente paso será seleccionar la carpeta del proyecto de destino en el que se desea incluir el objeto:

Seleccionaremos el proyecto deseado y pulsaremos el botón
para continuar o el botón
para cancelar la operación.
Si aceptamos, el objeto habrá sido movido al proyecto de destino y quitado del proyecto en curso:

Proyecto de datos
El Proyecto de datos define una base de datos por medio de objetos tales como Tablas, Variables globales, Procesos y otros objetos, que nos permiten configurar el funcionamiento de nuestra base datos, los valores que se almacenarán y cómo.
Para crear un proyecto de datos hemos usar la opción Nuevo proyecto de datos del menú de o bien usar la opción de la barra de herramientas
correspondiente. Para ello, previamente, habremos de tener definida una solución en la que se creará el proyecto, si no, no nos permitirá la creación del proyecto.
En la pestaña General nos presentará la información sobre la solución y el dominio de Velneo vServer V7 en el que se creará el proyecto. Hemos de completar el Nombre del proyecto que luego servirá de referencia en la instanciación del proyecto. También hemos de definir la Versión que mostrará el proyecto al ser presentado.

En la pestaña Herencia definiremos la herencia correspondiente al proyecto, escogiendo de entre los proyectos de datos cargados aquellos cuyos objetos queramos heredar. De esta forma, desde el proyecto de datos que hemos creado accederemos a reutilizar los objetos de los proyectos heredados. Debemos hacer doble clic sobre las Proyectos heredables para establecer una herencia del proyecto seleccionado y doble clic en los Proyectos heredados para anular la herencia establecida.

En la pestaña Colores definiremos las paletas de colores que aplicaremos en las propiedades de los objetos de nuestro proyecto. Esta opción nos permite modificar la paleta de colores de tal manera que se actualice en todas las propiedades de los objetos donde se use.

Pulsando la opción Añadir paleta nos mostrará el cuadro de diálogo de Selección de un color que nos permite seleccionar el color base de la paleta.

Una vez aceptamos, nos genera la paleta de forma automática a partir del color base, pudiendo asignar el nombre a la paleta rellenando el control de edición de Paleta. Este nombre será el que referenciaremos en las propiedades de los objetos de tal forma que se asignarán de forma automática los colores según la propiedad que estemos definiendo y en el caso de modificar la paleta, los colores usados serán actualizados en las propiedades que hagan uso de la paleta.

Haciendo doble clic sobre un color de la paleta podemos modificar el color seleccionado, apareciendo para ello de nuevo el cuadro de diálogo de Selección de un color.
En la pestaña Fuentes definiremos los tipos de letra que aplicaremos en las propiedades de los objetos de nuestro proyecto. Esto nos permitirá, al igual que sucede con la las paletas de colores, modificar en esta opción un tipo de letra que usemos en nuestro proyecto, actualizándolo en todos las propiedades de los objetos donde se use.

En la pestaña Idiomas configuraremos los idiomas que podremos definir en el proyecto y que se podrán seleccionar en ejecución para mostrar la información de los objetos. Debemos seleccionar un Idioma y un País al que se aplica el idioma. Usando las opciones Subir y Bajar podremos ordenar los idiomas del proyecto. El primero de la lista será el idioma por defecto del proyecto. Los países se presentan en función del idioma seleccionado.

Los idiomas de los proyectos tienen un orden de carga en ejecución. Primero será el que coincida con la selección de Idioma y País. Si seleccionamos el valor Default para País, el idioma será aplicarable para cualquier selección de país. En el caso de que el país del sistema no esté representado y de que haya de un idioma varias opciones de país, se tomará primero el definido como Default, si no, el primero del proyecto que coincida con el idioma. Si no existe el idioma del sistema se tomará el idioma por defecto del proyecto que es el primero que esté definido en el proyecto.
En cualquier caso, podemos dar opción al usario para que seleccione de entre los idiomas del proyecto aquél que desee usar.
Listado de países disponibles según ISO 3166-1:
Afghanistan
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua And Barbuda
Argentina
Armenia
Aruba
Australia
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia
Bosnia And Herzegowina
Botswana
Bouvet Island
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos Islands
Colombia
Comoros
Democratic Republic Of Congo
Peoples Republic Of Congo
Cook Islands
Costa Rica
Ivory Coast
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
East Timor
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands
Faroe Islands
Fiji Country
Finland
France
Metropolitan France
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Germany
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guinea
Guinea Bissau
Guyana
Haiti
Heard And McDonald Islands
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran
Iraq
Ireland
Israel
Italy
Jamaica
Japan
Jordan
Kazakhstan
Kenya
Kiribati
Democratic Republic Of Korea
Republic Of Korea
Kuwait
Kyrgyzstan
Lao
Latvia
Lebanon
Lesotho
Liberia
Libyan Arab Jamahiriya
Liechtenstein
Lithuania
Luxembourg
Macau
Macedonia
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
MarshallIslands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia
Moldova
Monaco
Mongolia
Montserrat
Morocco
Mozambique
Myanmar
Namibia
NauruCountry
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Reunion
Romania
Russian Federation
Rwanda
Saint Kitts And Nevis
St Lucia
St Vincent And The Grenadines
Samoa
San Marino
Sao Tome And Principe
Saudi Arabia
Senegal
Serbia And Montenegro
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia And The South Sandwich Islands
Spain
SriLanka
St Helena
St Pierre And Miquelon
Sudan
Suriname
Svalbard And Jan Mayen Islands
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan
Tajikistan
Tanzania
Thailand
Togo
Tokelau
Tonga Country
Trinidad And Tobago
Tunisia
Turkey
Turkmenistan
Turks And Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United Kingdom
United States
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
VaticanCityState
Venezuela
Viet Nam
British Virgin Islands
US Virgin Islands
Wallis And Futuna Islands
Western Sahara
Yemen
Yugoslavia
Zambia
Zimbabwe
Listado de idiomas seleccionables según ISO 639-1:
C
Abkhazian
Afan
Afar
Afrikaans
Albanian
Amharic
Arabic
Armenian
Assamese
Aymara
Azerbaijani
Bashkir
Basque
Bengali
Bhutani
Bihari
Bislama
Bosnian
Breton
Bulgarian
Burmese
Byelorussian
Cambodian
Catalan
Chinese
Cornish
Corsican
Croatian
Czech
Danish
Divehi
Dutch
English
Esperanto
Estonian
Faroese
FijiLanguage
Finnish
French
Frisian
Gaelic
Galician
Georgian
German
Greek
Greenlandic
Guarani
Gujarati
Hausa
Hebrew
Hindi
Hungarian
Icelandic
Indonesian
Interlingua
Interlingue
Inuktitut
Inupiak
Irish
Italian
Japanese
Javanese
Kannada
Kashmiri
Kazakh
Kinyarwanda
Kirghiz
Korean
Kurdish
Kurundi
Laothian
Latin
Latvian
Lingala
Lithuanian
Macedonian
Malagasy
Malay
Malayalam
Maltese
Manx
Maori
Marathi
Moldavian
Mongolian
NauruLanguage
Nepali
Norwegian
NorwegianBokmal
NorwegianNynorsk
Occitan
Oriya
Pashto
Persian
Polish
Portuguese
Punjabi
Quechua
RhaetoRomance
Romanian
Russian
Samoan
Sangho
Sanskrit
Serbian
SerboCroatian
Sesotho
Setswana
Shona
Sindhi
Singhalese
Siswati
Slovak
Slovenian
Somali
Spanish
Sundanese
Swahili
Swedish
Tagalog
Tajik
Tamil
Tatar
Telugu
Thai
Tibetan
Tigrinya
TongaLanguage
Tsonga
Turkish
Turkmen
Twi
Uigur
Ukrainian
Urdu
Uzbek
Vietnamese
Volapuk
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zhuang
Zulu
Bosnian
Divehi
Manx
Cornish
Akan
Konkani
Ga
Igbo
Kamba
Syriac
Blin
Geez
Koro
Sidamo
Atsam
Tigre
Jju
Friulian
Venda
Ewe
Walamo
Hawaiian
Tyap
Chewa
En la pestaña Comentarios podremos incluir todos aquellos datos que veamos necesarios para documentar nuestra aplicación.

Tabla
Es el objeto de proyecto de datos que sirve para almacenar la información de manera organizada. En cada una de ellas se guarda la información sobre un tema particular, pudiendo relacionarse unas con otras para formar una superestructura de información.
Una tabla organiza la información en fichas o registros que contienen los mismos campos o datos individuales. Por ejemplo, en una tabla de datos de clientes, tendremos una ficha o registro por cada cliente, con su nombre, dirección, teléfono y otros datos necesarios.
Las propiedades de una tabla son las siguientes:

Identificador: Nombre interno de la tabla que será usado para referenciarla a nivel de programación.
Nombre: Nombre plural de la tabla.
Ejemplo: Artículos
Si en el proyecto de datos hemos declarado más de un idioma, si editamos esta propiedad, podremos establecer el nombre en todos los idiomas declarados pulsando sobre el botón que aparece a la derecha del control o pulsando la tecla F4:

Estilos:
Privado: Para restringir el acceso tanto a los datos como a la estructura de la tabla a usuarios finales.
Heredable: Si esta opción está desactivada, esta tabla no será heredable por los proyectos que hereden el proyecto actual.
Comentarios: En esta propiedad escribiremos cualquier comentario sobre la tabla que pueda servir de ayuda a los programadores.
Nombre singular: Nombre singular de la tabla.
Ejemplo: Artículo
Tipo: Tipo de tabla. Puede ser:
Maestro.
Histórico.
Sub-Maestro.
Maestro con clave arbolada.
Tabla de datos padre: Si la tabla es de tipo submaestro, en esta propiedad se mostrará el identificador de la tabla padre.
Reside en: Puede residir en disco o en memoria. Las tablas en disco son compartidas por todos los usuarios de la aplicación y las tablas en memoria son de carácter local. Estas últimas son útiles para crear tablas temporales.
A tener en cuenta sobre las tablas en memoria:
Dado el carácter volátil de estas tablas, no cruce nunca actualizaciones entre tablas en memoria y tablas en disco.
No utilice campos de tipo objeto en este tipo de tablas. Los objetos son almacenados en un fichero independiente al de datos, llamado Contenedor de Objetos, y no existe un contenedor de objetos en memoria; por tanto, si crea una tabla en memoria con campos objeto, éstos los estará generando en disco, y si con posterioridad ejecuta un tubo de ficha o lista para crear registros en una tabla en disco desde la tabla en memoria, el objeto es duplicado dentro del contenedor, el de la tabla en memoria es borrado al cerrar la aplicación, pero el espacio en disco que éste ocupaba no es liberado (será ocupado cuando se den de alta nuevos objetos).
Longitud de registro: Muestra el tamaño en bytes de un registro de la tabla.
Número de campos: Muestra el número de campos declarados en la tabla.
Número de índices: Muestra el número de índices declarados en la tabla.
Desde el árbol de propiedades de una tabla tendremos acceso a todos sus subobjetos con sus correspondientes propiedades.
Tipos de tabla
Hay cinco tipos de tabla que determinan las características de los registros que contienen. Son los siguientes:
- Maestro normal con clave numérica
- Maestro con clave arbolada
- Submaestro
- Histórico
- Estática
Los cuatro primeros tipos son modificables en edición, es decir, podemos cambiar el tipo de una tabla para que sea uno de los cuatro. Sin embargo, una vez que hayamos ejecutado la aplicación con datos debemos controlar el cambio de tipo de la tabla puesto que las características concretas de cada tipo dependientes de los contenidos iniciales no se dispararán. Las tablas estáticas se crean en un grupo aparte y no es posible cambiar su tipo.
Maestro normal con clave numérica: La tabla tiene un campo ID de tipo numérico que puede ir de 1 a 4 bytes, y un índice correspondiente ID de clave única, además de un campo NAME de tipo Alfa-128 de longitud 35 bytes.
De esta manera, todos los registros de la tabla se encuentran identificados de forma unívoca por medio del campo ID que tiene un valor que no se repite y cuyo límite máximo puede ir desde 1 a 4 bytes, pudiendo de esta forma referenciar hasta 4.294.967.295 registros.
Tanto el nombre del campo ID como del campo NAME son personalizables, aunque los identificadores no pueden ser modificados. Podemos hacer además que el contenido del campo ID se genere de forma automática controlando que no se produzca la duplicidad de valores.
Se trata del tipo de tabla más habitual en una estructura de datos y su uso viene determinado por su capacidad de establecer una relación de maestro con tablas que serán plurales de ésta, aunque también es posible establecer relaciones de plural con otras tablas que serán a su vez maestras de ésta.
Maestro normal con clave arbolada: La tabla tiene por defecto un campo ID de tipo Alfa-40 de 2 a 8 bytes (3 a 12 caracteres máximo), pero puede tener definido cualquier tipo de campo alfanumérico, y un índice correspondiente ID de clave única, además de un campo NAME de tipo Alfa-128 de longitud 35 bytes.
Así, todos los registros de la tabla se encuentran identificados de forma unívoca por medio del campo ID que tiene un valor que no se repite y cuyo límite máximo puede ir desde 3 a 12 caracteres, pudiendo de esta forma referenciar hasta 2.676.111.755.885.568.000 registros.
Las tablas maestras con clave arbolada son maestras de sí mismas enlazando por su campo ID que se abre en nuevas ramas por cada carácter.
Tanto el nombre del campo ID como del campo NAME son personalizables, aunque los identificadores no pueden ser modificados. No podemos hacer que el contenido del campo ID se genere de forma automática ya que se trata de un campo alfabético.
Su uso viene determinado por su capacidad de establecer una relación de maestro con tablas que serán plurales de ésta, aunque también es posible establecer relaciones de plural con otras tablas que a su vez serán maestras de ésta.
Submaestro: La tabla tiene un campo ID de tipo numérico que puede ir de 1 a 4 bytes, y un índice correspondiente ID de clave única que tiene por primer componente el campo enlazado al maestro y como segundo componente el campo ID de la propia tabla. Además tiene campo NAME de tipo Alfa-128 de longitud 35 bytes.
Al contrario que en los casos anteriores, todos los registros de la tabla se encuentran identificados de forma unívoca por los dos campos componentes del índice, por medio del campo ID que tiene un valor que no se repite y cuyo límite máximo puede ir desde 1 a 4 bytes, y por el campo enlazado a maestro, que se puede repetir para los distintos registros de la tabla, pudiendo de esta forma referenciar hasta 18.446.744.065.119.617.025 registros si la tabla maestra es normal con clave numérica o 11.493.812.469.293.538.322.498.560.000 registros si se trata de una tabla maestra con clave arbolada.
De esta manera, el valor del campo ID es único para cada maestro enlazado de la tabla, pero se puede repetir para distintos registros en la misma tabla si el maestro es distinto. Se trata de una subnumeración unívoca para cada maestro. La tabla submaestra puede tener tantas tablas padre como sea necesario.
Tanto el nombre del campo ID como del campo NAME son personalizables, aunque los identificadores no pueden ser modificados. Podemos hacer además que el contenido del campo ID se genere de forma automática controlando que no se produzca la duplicidad de valores.
Su uso viene determinado por su capacidad de establecer una relación de plural con tablas maestras, aunque también es posible establecer relaciones de maestro con otras tablas que serán a su vez plurales de ésta.
Histórico: Este tipo de tabla no tiene campos ni índices iniciales, se componen únicamente por campos enlazados que se pueden definir en el momento de la creación y los registros se referencian únicamente por los índices correspondientes a los campos, no teniendo ninguna condición de tipo de indexación.
Su uso viene determinado por su capacidad de establecer una relación de plural con tablas maestras ya que no puede establecer relaciones de maestro con otras tablas al carecer de campo ID.
Estática: Los elementos de la tabla estática se definen en edición, no siendo posible crear, modificar o eliminar estos registros en ejecución. Constan de un identificador referencia de forma unívoca los registros que componen la tabla estática y un nombre. El identificador tiene un byte por lo que podemos crear hasta 256 elementos. Además podemos asociar a cada elemento un objeto dibujo que podremos mostrar cuando presentemos el registro.
Su uso viene determinado por su capacidad de establecer una relación de maestro con tablas que serán plurales de ésta. No pueden establecer una relación de plural con ninguna tabla.
El carácter limitado en cuanto al número de registros se debe a su definición como elemento estático, definible en edición y no modificable en ejecución, usándose por tanto para listas de registros de número reducido y concreto que no suelen modificarse ni alterarse en el uso de la base de datos.
Asistente para la creación de tablas
Para facitiltar tanto la creación de tablas como la creación de campos y enlaces entre las mismas Velneo vDevelop V7 incorpora un asistente.
Para crear una tabla en Velneo vDevelop V7 hacer doble clic sobre el icono
de la galería de objetos (Control + Ins) o la opción Nuevo objeto / Tabla del menú . Esto hará que se nos presente un asistente para su creación:

PASO 1: En el primer paso del mismo tendremos que darle un nombre y definir su tipo:
Nombre plural: Nombre plural de la tabla de datos.
Ejemplo: Entidades
Nombre singular: Nombre singular de la tabla de datos.
Ejemplo: Entidad
Tipo de tabla: Los tipos de tabla posibles son:
Maestro normal con clave numérica.
Submaestro.
Maestro con clave arbolada.
Histórico
Una vez seleccionado el tipo, pulsar el botón
para ir al paso siguiente o
para cancelar el asistente. En función del tipo que seleccionemos, los pasos del asistente y los subobjetos de la tabla resultante (campos e índices), por tanto, a continuación explicaremos los pasos siguientes del asistente en función del tipo de tabla seleccionado.
Maestro normal con clave numérica:

PASO 2: Datos de la clave. En esta fase del asistente debemos especificar los datos de la clave (el código de la tabla), que son:
Nombre del campo: Descriptor que tendrá el campo clave en la aplicación. Si en el proyecto de datos hemos declarado más de un idioma, si editamos esta propiedad, podremos establecer el nombre en todos los idiomas declarados pulsando sobre el botón que aparece a la derecha del control o pulsando la tecla F4:

El programa por defecto propone el valor Código. Este campo será creado con el identificador ID. Este identificador no podrá ser modificado dado que es usado a nivel interno para las relaciones entre tablas.
Nombre del índice: Descriptor que tendrá el índice de campo clave en la aplicación. El programa por defecto propone el valor Código. Este identificador no podrá ser modificado dado que este campo es usado a nivel interno para las relaciones entre tablas.
Numeración automática: Si se activa esta propiedad será el sistema quien se encargue de codificar el campo clave de forma automática, liberando al programador de esta tarea. Si no se activa, deberá ser, o bien el programador, o bien el usuario final, quien deba codificar cada registro de la tabla.
Longitud/Rango: Número de bytes del campo código y número máximo de registros que la tabla podrá contener. Los valores posibles son:
1 bytes – 255
2 bytes – 65.535
3 bytes – 16,7 millones
4 bytes – 4.000 millones
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 3: Datos de la descripción. En esta fase del asistente debemos especificar los datos de la descripción (el campo nombre de la tabla). Que son:

Nombre del campo: Descriptor que tendrá el campo nombre en la aplicación. El programa por defecto propone el valor Nombre. El campo será generado con el el identificador NAME. Este identificador no podrá ser modificado dado que el sistema lo usa para mostrar información del registro en ciertos objetos y/o controles.
Índice alfabético: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe el campo nombre alfabéticamente.
Nombre del índice: Descriptor que tendrá el índice alfabético. El programa por defecto propone el valor Alfabético. Este índice será generado con el el identificador NAME. Este identificador no podrá ser modificado dado que el sistema lo usa para mostrar información del registro en ciertos objetos y/o controles.
Índice de palabras: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe todas las palabras del campo nombre.
Nombre del índice: Descriptor que tendrá el índice de palabras. El programa por defecto propone el valor Palabras.
Índice de trozos palabras: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe trozos de todas las palabras del campo nombre.
Nombre del índice: Descriptor que tendrá el índice de trozos palabras. El programa por defecto propone el valor Trozos de palabras.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 4: Campos adicionales. En esta fase del asistente nos permitirá crear una serie de campos adicionales, que son:

Fecha: Si activamos esta propiedad se creará en la tabla un campo de tipo fecha. Si activamos la propiedad Índice situada junto a esta, también se generará un índice por este campo.
Observaciones: Si activamos esta propiedad, se creará en la tabla un campo de tipo objeto texto.
Foto: Si activamos esta propiedad, se creará en la tabla un campo de tipo objeto dibujo.
Teléfono: Si activamos esta propiedad, se creará en la tabla un campo de tipo alfa40. Si activamos la propiedad Índice situada junto a esta, también se generará un índice por este campo.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 5: Selección de maestros. Este paso solamente se seguirá si en el proyecto ya existe alguna tabla de tipo maestro, maestro con clave arbolada o submaestra; de lo contrario será obviado.

De la lista de tablas que se presentan marcar aquella o aquellas que vayan a ser maestras de la nueva tabla que estamos creando; en caso de que ninguna vaya a ser maestra de la nueva, no marcaremos ninguna.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 6: Confirmación.

pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente o el botón
para proceder a la creación de la tabla.
Si no se ha cancelado el asistente, la tabla y los objetos correspondientes serán añadidos al proyecto:

Submaestro:
PASO 2: Datos de la clave En esta fase del asistente debemos especificar los datos de la clave (el código de la tabla), que son:

Tabla de datos padre: Desplegar el control y seleccionar la tabla padre del submaestro que vamos a crear.
Nombre del campo: Descriptor que tendrá el campo clave en la aplicación. Si en el proyecto de datos hemos declarado más de un idioma, si editamos esta propiedad, podremos establecer el nombre en todos los idiomas declarados pulsando sobre el botón que aparece a la derecha del control o pulsando la tecla F4:

El programa por defecto propone el valor Código. Este campo será creado con el identificador ID. Este identificador no podrá ser modificado dado que este campo es usado a nivel interno para las relaciones entre tablas.
Nombre del índice: Descriptor que tendrá el índice de campo clave en la aplicación. El programa por defecto propone el valor Código. Este índice será creado con el identificador ID. Este identificador no podrá ser modificado dado que este campo es usado a nivel interno para las relaciones entre tablas.
Numeración automática: Si se activa esta propiedad será el sistema quien se encargue de codificar el campo clave de forma automática, liberando al programador de esta tarea. Si no se activa, deberá ser, o bien el programador, o bien el usuario final, quien deba codificar cada registro de la tabla.
Longitud/Rango: Número de bytes del campo código y número máximo de registros que la tabla podrá contener. Los valores posibles son:
1 bytes – 255
2 bytes – 65.535
3 bytes – 16,7 millones
4 bytes – 4.000 millones
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 3: Datos de la descripción. En esta fase del asistente debemos especificar los datos de la descripción (el campo nombre de la tabla). Que son:

Nombre del campo: Descriptor que tendrá el campo nombre en la aplicación. El programa por defecto propone el valor Nombre. El campo será generado con el el identificador NAME. Este identificador no podrá ser modificado dado que el sistema lo usa para mostrar información del registro en ciertos objetos y/o controles.
Índice alfabético: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe el campo nombre alfabéticamente.
Nombre del índice: Descriptor que tendrá el índice alfabético. El programa por defecto propone el valor Alfabético. El índice será generado con el el identificador NAME. Este identificador no podrá ser modificado dado que el sistema lo usa para mostrar información del registro en ciertos objetos y/o controles.
Índice de palabras: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe todas las palabras del campo nombre.
Nombre del índice: Descriptor que tendrá el índice de palabras. El programa por defecto propone el valor Palabras.
Índice de trozos palabras: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe trozos de todas las palabras del campo nombre.
Nombre del índice: Descriptor que tendrá el índice de trozos palabras. El programa por defecto propone el valor Trozos de palabras.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 4: Campos adicionales. En esta fase del asistente nos permitirá crear una serie de campos adicionales, que son:

Fecha: Si activamos esta propiedad se creará en la tabla un campo de tipo fecha. Si activamos la propiedad Índice situada junto a esta, también se generará un índice por este campo.
Observaciones: Si activamos esta propiedad, se creará en la tabla un campo de tipo objeto texto.
Foto: Si activamos esta propiedad, se creará en la tabla un campo de tipo objeto dibujo.
Teléfono: Si activamos esta propiedad, se creará en la tabla un campo de tipo alfa40. Si activamos la propiedad Índice situada junto a esta, también se generará un índice por este campo.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 5: Selección de maestros. Este paso solamente se seguirá si en el proyecto ya existe alguna tabla de tipo maestro, maestro con clave arbolada o submaestra; de lo contrario será obviado.

De la lista de tablas que se presentan marcar aquella o aquellas que vayan a ser maestras de la nueva tabla que estamos creando; en caso de que ninguna vaya a ser maestra de la nueva, no marcaremos ninguna.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 6: Confirmación.

pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente o el botón
para proceder a la creación de la tabla.
Si no se ha cancelado el asistente, la tabla y los objetos correspondientes serán añadidos al proyecto.
Maestro con clave arbolada:
PASO 2: Datos de la clave. En esta fase del asistente debemos especificar los datos de la clave (el código de la tabla), que son:

Nombre del campo: Descriptor que tendrá el campo clave en la aplicación. Si en el proyecto de datos hemos declarado más de un idioma, si editamos esta propiedad, podremos establecer el nombre en todos los idiomas declarados pulsando sobre el botón que aparece a la derecha del control o pulsando la tecla F4:

El programa por defecto propone el valor Código. El campo será creado con el identificador ID. Este identificador no podrá ser modificado dado que este campo es usado a nivel interno para las relaciones entre tablas.
El campo código que se creará será de tipo ALFA40.
Nombre del índice: Descriptor que tendrá el índice de campo clave en la aplicación. El programa por defecto propone el valor Código. El índice será creado con el identificador ID. Este identificador no podrá ser modificado dado que este campo es usado a nivel interno para las relaciones entre tablas.
Longitud/Rango: Número de bytes del campo código y número máximo de registros que la tabla podrá contener. Los valores posibles son:
1 bytes – 255
2 bytes – 65.535
3 bytes – 16,7 millones
4 bytes – 4.000 millones
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 3: Datos de la descripción. En esta fase del asistente debemos especificar los datos de la descripción (el campo nombre de la tabla). Que son:

Nombre del campo: Descriptor que tendrá el campo nombre en la aplicación. El programa por defecto propone el valor Nombre. El campo será generado con el el identificador NAME. Este identificador no podrá ser modificado dado que el sistema lo usa para mostrar información del registro en ciertos objetos y/o controles.
Índice alfabético: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe el campo nombre alfabéticamente.
Nombre del índice: Descriptor que tendrá el índice alfabético. El programa por defecto propone el valor Alfabético. El índice será generado con el el identificador NAME. Este identificador no podrá ser modificado dado que el sistema lo usa para mostrar información del registro en ciertos objetos y/o controles.
Índice de palabras: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe todas las palabras del campo nombre.
Nombre del índice: Descriptor que tendrá el índice de palabras. El programa por defecto propone el valor Palabras.
Índice de trozos palabras: Activaremos esta opción si queremos que en la tabla se genere un índice que indexe trozos de todas las palabras del campo nombre.
Nombre del índice: Descriptor que tendrá el índice de trozos palabras. El programa por defecto propone el valor Trozos de palabras.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 4: Campos adicionales. En esta fase del asistente nos permitirá crear una serie de campos adicionales, que son:

Fecha: Si activamos esta propiedad se creará en la tabla un campo de tipo fecha. Si activamos la propiedad Índice situada junto a esta, también se generará un índice por este campo.
Observaciones: Si activamos esta propiedad, se creará en la tabla un campo de tipo objeto texto.
Foto: Si activamos esta propiedad, se creará en la tabla un campo de tipo objeto dibujo.
Teléfono: Si activamos esta propiedad, se creará en la tabla un campo de tipo alfa40. Si activamos la propiedad Índice situada junto a esta, también se generará un índice por este campo.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 5: Selección de maestros. Este paso solamente se seguirá si en el proyecto ya existe alguna tabla de tipo maestro, maestro con clave arbolada o submaestra; de lo contrario será obviado.

De la lista de tablas que se presentan marcar aquella o aquellas que vayan a ser maestras de la nueva tabla que estamos creando; en caso de que ninguna vaya a ser maestra de la nueva, no marcaremos ninguna.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 6: Confirmación.

pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente o el botón
para proceder a la creación de la tabla.
Si no se ha cancelado el asistente, la tabla y los objetos correspondientes serán añadidos al proyecto.
Histórico:
PASO 2: Campos adicionales. En esta fase del asistente nos permitirá crear una serie de campos adicionales, que son:

Fecha: Si activamos esta propiedad se creará en la tabla un campo de tipo fecha. Si activamos la propiedad Índice situada junto a esta, también se generará un índice por este campo.
Observaciones: Si activamos esta propiedad, se creará en la tabla un campo de tipo objeto texto.
Foto: Si activamos esta propiedad, se creará en la tabla un campo de tipo objeto dibujo.
Teléfono: Si activamos esta propiedad, se creará en la tabla un campo de tipo alfa40. Si activamos la propiedad Índice situada junto a esta, también se generará un índice por este campo.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 5: Selección de maestros. Este paso solamente se seguirá si en el proyecto ya existe alguna tabla de tipo maestro, maestro con clave arbolada o submaestra; de lo contrario será obviado.

De la lista de tablas que se presentan marcar aquella o aquellas que vayan a ser maestras de la nueva tabla que estamos creando; en caso de que ninguna vaya a ser maestra de la nueva, no marcaremos ninguna.
pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente.
PASO 6: Confirmación.

pulsar el botón
para ir al paso siguiente o el botón
para regresar al paso anterior o
para cancelar el asistente o el botón
para proceder a la creación de la tabla.
Si no se ha cancelado el asistente, la tabla y los objetos correspondientes serán añadidos al proyecto.
Campo
Un
campo es un subobjeto del objeto Tabla que define la mínima unidad de información dentro de un registro a la que podemos acceder.
Un
campo se crea pulsando la opción
.
Para crear un campo enlazado a maestro pulsaremos la opción
. Para crear un campo enlazado a tabla estática pulsaremos la opción
.
Las propiedades de un campo son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un campo dentro de una tabla. Este identificador será el que usemos en fórmulas y para referenciarlo en otras propiedades.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un campo de una tabla no puede haber duplicidad.
Para evitar pérdidas de información como resultado de cambiar el identificador de un campo se guarda el identificador antiguo del campo. De esta forma, al ejecutar la aplicación de nuevo, se reconstruirá la tabla sin perder ningún dato.
Los identificadores ID y NAME son palabras reservadas. El identificador ID referencia el campo que es clave primaria de la tabla e identifica unívocamente cada registro. El identificador NAME referencia el campo principal de una tabla y que es usado por el sistema para presentar información de un registro. No debemos alterar ninguno de los dos identificadores si no queremos perder la funcionalidad implícita, aunque si podemos modificar sus descriptores, la propiedad Nombre.
Nombre: Etiqueta alfanumérica que servirá como descriptor del campo. Se usará para presentar información del campo en objetos e inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre ese campo, y Heredable, que permite que el campo sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del campo.
Tipo de enlace: Los campos pueden estar enlazados o no a otra tabla. En el caso de que no se encuentren enlazados hemos de definir las propiedades según el tipo de campo. Si está enlazado, asumirá las propiedades del campo ID de la tabla enlazada.
Los tipos de enlace disponibles son:
Maestro
Estática
Indirecto real
Indirecto virtual
Singular de plural por posición
Singular de plural por índice
Hermano contiguo
Tabla enlazada: Si hemos definido que el campo es enlazado debemos definir cuál es la tabla enlazada por el campo. Nos mostrará todas las tablas disponibles del proyecto y de los proyecto heredados.
Campo padre: Si hemos definido que el campo es enlazado y la tabla enlazada es de tipo submaestro, mostrará el campo padre de la tabla.
Tabla estática: Si hemos definido que el campo es enlazado y la tabla enlazada es de tipo tabla estática, seleccionaremos la tabla estática enlazada.
Dar de alta si no existe: Si hemos definido que el campo es enlazado y el tipo de enlace es Puntero indirecto real podremos activar esta propiedad para permitir crear un registro en la tabla enlazada si no existe. Esta opción no estará disponible para los enlaces virtuales. Esta opción no funcionará si alguno de los campos a resolver en el índice tiene valor 0 (por ejemplo, un campo booleano cuyos valores posibles son 0 ó 1); el motivo radica en que si el campo tiene valor 0, se toma como campo vacío y, por tanto, no es resuelto.
Pedir confirmación de alta: Si hemos definido que el campo es enlazado y el tipo de enlace es Puntero indirecto real podremos activar esta propiedad para que solicite permiso a la hora de crear el registro.
Tubo de ficha para alta: Si hemos definido que el campo es enlazado y el tipo de enlace es Puntero indirecto real podremos activar esta propiedad para ejecute un tubo de ficha desde la tabla en curso a la tabla enlazada.
Índice: Si hemos definido que el campo es enlazado y el tipo de enlace es Puntero indirecto real o Puntero indirecto virtual se seleccionará un índice de clave única por el que se buscará en la tabla enlazada.
Resolución: Si hemos definido que el campo es enlazado y el tipo de enlace es Puntero indirecto real, Puntero indirecto virtual o Puntero singular de plural por índice debemos resolver los valores para cada uno de los campos que componen el índice de clave única por el que buscamos en la tabla enlazada usando los datos del registro en curso usando fórmulas para ello.
Enlace plural: Si hemos definido que el campo es enlazado y el tipo de enlace es Singular de plural por posición o Singular de plural por índice debemos seleccionar el enlace plural por el que se buscará.
Fórmula: Si hemos definido que el campo es enlazado y el tipo de enlace es Singular de plural por posición o Singular de plural por índice debemos definir la expresión fórmula que permite calcular la posición del registro que queremos apuntar.
Modo de buscar: Si hemos definido que el campo es enlazado y el tipo de enlace es Singular de plural por índice debemos definir el modo de búsqueda del registro plural, que podrá ser: Igual, es decir, con el mismo valor que el definido en la resolución para ese componente, Igual o mayor con un valor mayor o igual que el definido en la resolución, Igual o menor con un valor igual o menor que el definido en la resolución, Mayor con un valor mayor que el definido, Menor con un valor menor que el definido, Primero con el valor que se encuentre en la primera posición del índice y Último con un valor que se encuentre en la última posición del índice.
Partes comunes: Si hemos definido que el campo es enlazado y el tipo de enlace es Hermano contiguo debemos definir las partes comunes que componen el índice por el que nos movemos al hermano contiguo.
Dirección: Si hemos definido que el campo es enlazado y el tipo de enlace es Hermano contiguo debemos definir la dirección por la que nos movemos al hermano contiguo, bien al registro Anterior, bien al Siguiente.
Tipo de campo: En el caso de que no hayamos definido el campo como enlazado, debemos definir el tipo de campo y sus propiedades.
Los tipos de campo disponibles son:
Alfabéticos: Hay varios tipos de campos de campos alfabéticos. Los tipos Alfa 128, Alfa 64 y Alfa 40 están optimizados en su uso del espacio en disco. Los tipos Alfa 256, Alfa Latin1 tienen tablas de 256 caracteres estándar y Alfa UTF-16 se corresponde con el estándar Unicode. Para campos que vayan a contener una dirección de correo electrónico o una senda Windows, deberá utilizar un campo Alfa 256, Alfa Latin1 o Alfa UTF-16, pues los Alfa 128, Alfa 64 y Alfa40 no soportan en su tabla de caracteres ni la arroba (@) ni la barra de directorios (\).
Alfa 256: Tipo alfabético estándar que incluye todos los caracteres de la tabla ANSI. Se recomienda usar los tipos Alfa indicados más adelante para optimizar el uso del espacio en disco. El rango máximo del campo es 65535 bytes (65535 caracteres).
Alfa 128: Es un tipo alfanumérico que incluye letras mayúsculas, minúsculas, acentos, signos de puntuación y números. Este tipo de campo es empaquetado y cada 8 caracteres que el usuario introduzca se comprimen en 7 para grabarlos al disco. El rango máximo del campo es 65534 bytes (74896 caracteres).
Alfa 64: Es un tipo alfanumérico que incluye letras mayúsculas, signos de puntuación y números. Este tipo de campo es empaquetado y cada 4 caracteres que el usuario introduzca se comprimen en 3 que serán grabados al disco. El rango máximo del campo es 65532 bytes (87376 caracteres).
Alfa 40: Es un tipo alfanumérico que incluye letras mayúsculas, números, guión y espacio. Este tipo de campo es empaquetado y cada 3 caracteres que el usuario introduzca se comprimen en 2 que serán grabados al disco. El rango máximo del campo es 65534 bytes (98301 caracteres).
Alfa Latin1: Es un tipo alfanumérico que incluye los 256 caracteres correspondientes a Unicode Latin 1 (ISO 8859-1). Se recomienda usar los tipos Alfa indicados anteriormente para optimizar el uso del espacio en disco. El rango máximo del campo es 65535 bytes (65535 caracteres).
Alfa UTF-16: Es un tipo alfanumérico que incluye todos los caracteres correspondientes a la tabla de caracteres Unicode (ISO 10646). Este tipo de campo al comprender toda la tabla Unicode requiere de dos bytes para prepresentar cada caracter. Se recomienda usar los tipos Alfa indicados anteriormente para optimizar el uso del espacio en disco. El rango máximo del campo es 65534 bytes (32767 caracteres)
Numérico: Usado para datos numéricos. Se mantiene la precisión numérica hasta el quinto decimal. El rango máximo del campo es 6 bytes (Del 0 al 281474976710655, o con signo del -140737488355327 al 140737488355327, con 6 decimales del 0,000000 to 2814749767,10655). De esta configuración se ha de excluir el campo ID que tiene como rango máximo 4 bytes (Del 0 al 4294967295).
Fecha: Permite introducir fechas. Por defecto admite el formato de fecha ISO 8601 (aaaammdd).
Hora: Permite introducir horas en formato HH:MM:SS. No almacena milisegundos.
Tiempo
ermite introducir tiempos que son la unión de una fecha y una hora con el formato DD:MM:AA HH:MM:SS.sss
Booleano: Es un campo lógico que permite definir el contenido como 1 ó 0 (Sí o No).
Objeto: Campo con contenido variable que se almacena en un contenedor aparte de los datos, por lo que el tamaño del registro no aumenta con su uso, si no que este se contabiliza en su contenedor. El nombre de este fichero será el mismo de la tabla y con la extensión CND. El fichero de índices del contenedor tiene la extensión CNI. En el fichero de datos lo que se guarda es la dirección donde está el objeto en el contenedor.
Dibujo: Su contenido es un gráfico con cualquier resolución y número de colores. Se admite cualquier formato en la importación pero se almacena con compresión JPG o PNG dependiendo del formato de entrada. El rango máximo del campo es 8 GBytes.
Texto: Su contenido es un texto de longitud variable. Se almacena en bloques de 512 bytes por lo que la unidad mínima de contenido es de ese tamaño. El rango máximo del campo es 8 GBytes.
Texto enriquecido: Su contenido es un documento con formato que permite seleccionar fuentes, estilos, alineación, etc. El formato se define mediante tags. El rango máximo del campo es 8 GBytes.
Fórmula: Campos virtuales que no ocupan espacio en disco ni modifican la estructura de la base de datos. Se calculan con la expresión de tipo fórmula que define el campo en tiempo real, en cada instante que se hace uso del valor del campo. Al ser un cálculo en memoria y no guardarse en disco, no tiene las limitaciones de los tipos de campo correspondientes. No es posible su uso como componente de índices. El tipo de campo fórmula a utilizar depende del resultado buscado, no de los tipos de parámetros utilizados en el cálculo.
Fórmula Numérica: Fórmula cuyo resultado será un dato numérico.
Fórmula Alfabética: Fórmula cuyo resultado será una cadena alfabética Unicode
Fórmula Fecha: Fórmula cuyo resultado será un dato tipo fecha
Fórmula Tiempo: Fórmula cuyo resultado será un dato tipo tiempo (fecha y hora con milisegundos).
Fórmula Plural: Fórmula cuyo resultado será un dato numérico y que se calcula en base a los registros de un enlace plural. Este tipo de campo recorre todo registros del plural y efectúa la fórmula por cada registro encontrado para determinar el valor de la misma. Debido a esto, no utilice un campo de este tipo cuando prevea que los registros de la tabla van a tener un gran número de históricos, pues se ralentizaría la presentación de datos en pantalla en tiempo de ejecución. Se recomienda el uso de Actualizaciones para resolver la problemática que resuelve la Fórmula Plural.
Fórmula Dinámica: Su contenido es una fórmula que se define en tiempo de ejecución, y por tanto puede ser definida por el usuario final. Se trata de la definición de la fórmula y no del cálculo de su valor efectivo, para el que existen diferentes herramientas, entre ellas obtener su valor a través de otra fórmula o contenido inicial. Hemos de definir la tabla enlazada de la que se alimentará la fórmula. Puede ser la tabla en curso u otra tabla. En tiempo de ejecución dispondremos del Asistente de fórmulas para su definición. El rango máximo del campo es 65535 bytes (65535 caracteres).
Puntero Virtual: Su contenido es virtual ya que se trata de punteros de caracter virtual que no guardan información en disco. Se asigna de forma automática cuando se selecciona un enlace virtual.
Las propiedades comunes de los campos son las siguientes:
Longitud: Número de bytes que define el rango del campo.
Decimales: Número de decimales para el campo de tipo númerico. Podrá especificar hasta 6 decimales que son los que se garantiza su precisión.
Signo: Define si el campo de tipo numérico tiene signo.
Mínimo: Rango límite mínimo válido para la entrada de valores.
Máximo: Rango límite máximo válido para la entrada de valores.
Contenido inicial: Expresión fórmula que será el contenido inicial del campo. La fórmula puede contener cualquier elemento que podamos incluir a través del Asistente de fórmulas. Puede ser una constante, el identificador de un campo, una variable global o una variable del sistema. El contenido inicial es la fórmula y no el valor obtenido de su cálculo, por lo que si modificamos la ficha y alguno de los campos que intervienen en la fórmula es modificado, se actualizará el contenido inicial del campo.
En el campo que es clave primaria denotado con el identificador ID sólo se permiten tres opciones:
Ninguno: El valor ha de introducirse en tiempo de ejecución.
Siguiente al último: El valor es autonumérico y se genera de forma automática en ejecución.
Contador en variable: El valor lo controlamos en edición por medio de una variable global que debemos procesar.
En los campos alfabéticos también debe introducirse el contenido inicial de los mismos como fórmula.
Fórmula: Expresión fórmula usada para calcular los campos de tipo fórmula.
Las tablas de caracteres para los distintos tipos de campo alfabéticos propios son:
| Alfa 40 | (Espacio) - 0123456789 ABCÇDEFGHIJKLMNÑOPQRSTUVWXYZ |
| Alfa 64 | (Espacio) -+!¡”¿?,.;:*/%&()’$#ºª 0123456789 ABCÇDEFGHIJKLMNÑOPQRSTUVWXYZ |
| Alfa 128 | (Espacio) -+!¡”¿?,.;:*/%&()=’ºª 0123456789 ABCÇDEFGHIJKLMNÑOPQRSTUVWXYZ abcçdefghijklmnñopqrstuvwxyz ÁÀÂÄáàâä ÉÈÊËéèêë ÍÌÎÏíìîï ÓÒÔÖóòôö ÚÙÛÜúùûü |
| Alfa 256 | (Espacio) -+!¡”¿?,.;:*/%&()=’ºª 0123456789 ABCÇDEFGHIJKLMNÑOPQRSTUVWXYZ abcçdefghijklmnñopqrstuvwxyz ÁÀÂÄÃÅÆáàâäãåæ ÉÈÊËéèêë ÍÌÎÏÐíìîïð ÓÒÔÖÕØóòôöõø ÚÙÛÜúùûü Ýý Þþßÿ#$@[]\^_`{}|~¢£¤¥¦§¨©«»¬®¯°±²³´µ¶·¸¹¼½¾×÷ ![]() |
Los códigos Unicode de los caracteres de las distintas tablas de caracteres propias son:
| Alfa 40 001 0×0020 espacio 002 0×002D - 003 0×0030 0 004 0×0031 1 005 0×0032 2 006 0×0033 3 007 0×0034 4 008 0×0035 5 009 0×0036 6 010 0×0037 7 011 0×0038 8 012 0×0039 9 013 0×0041 A 014 0×0042 B 015 0×0043 C 016 0×00C7 Ç 017 0×0044 D 018 0×0045 E 019 0×0046 F 020 0×0047 G 021 0×0048 H 022 0×0049 I 023 0×004A J 024 0×004B K 025 0×004C L 026 0×004D M 027 0×004E N 028 0×00D1 Ñ 029 0×004F O 030 0×0050 P 031 0×0051 Q 032 0×0052 R 033 0×0053 S 034 0×0054 T 035 0×0055 U 036 0×0056 V 037 0×0057 W 038 0×0058 X 039 0×0059 Y 040 0×005A Z |
Alfa 64 001 0×0020 espacio 002 0×002D - 003 0×002B + 004 0×00A1 ¡ 005 0×0021 ! 006 0×0022 ” 007 0×00BF ¿ 008 0×003F ? 009 0×002C , 010 0×002E . 011 0×003B ; 012 0×003A : 013 0×002A * 014 0×002F / 015 0×0025 % 016 0×0026 & 017 0×0028 ( 018 0×0029 ) 019 0×003C 022 0×0027 ‘ 023 0×0024 $ 024 0×0023 # 025 0×0030 0 026 0×0031 1 027 0×0032 2 028 0×0033 3 029 0×0034 4 030 0×0035 5 031 0×0036 6 032 0×0037 7 033 0×0038 8 034 0×0039 9 035 0×0041 A 036 0×0042 B 037 0×0043 C 038 0×00C7 Ç 039 0×0044 D 040 0×0045 E 041 0×0046 F 042 0×0047 G 043 0×0048 H 044 0×0049 I 045 0×004A J 046 0×004B K 047 0×004C L 048 0×004D M 049 0×004E N 050 0×00D1 Ñ 051 0×004F O 052 0×0050 P 053 0×0051 Q 054 0×0052 R 055 0×0053 S 056 0×0054 T 057 0×0055 U 058 0×0056 V 059 0×0057 W 060 0×0058 X 061 0×0059 Y 062 0×005A Z 063 0×00BA º 064 0×00AA ª |
Alfa 128 001 0×0020 espacio 002 0×002D - 003 0×002B + 004 0×00A1 ¡ 005 0×0021 ! 006 0×0022 ” 007 0×00BF ¿ 008 0×003F ? 009 0×002C , 010 0×002E . 011 0×003B ; 012 0×003A : 013 0×002A * 014 0×002F / 015 0×0025 % 016 0×0026 & 017 0×0028 ( 018 0×0029 ) 019 0×003D = 020 0×0027 ‘ 021 0×0030 0 022 0×0031 1 023 0×0032 2 024 0×0033 3 025 0×0034 4 026 0×0035 5 027 0×0036 6 028 0×0037 7 029 0×0038 8 030 0×0039 9 031 0×0041 A 032 0×00C1 Á 033 0×00C0 À 034 0×00C2 Â 035 0×00C4 Ä 036 0×0061 a 037 0×00E1 á 038 0×00E0 à 039 0×00E2 â 040 0×00E4 ä 041 0×0042 B 042 0×0062 b 043 0×0043 C 044 0×0063 c 045 0×00C7 Ç 046 0×00E7 ç 047 0×0044 D 048 0×0064 d 049 0×0045 E 050 0×00C9 É 051 0×00C8 È 052 0×00CA Ê 053 0×00CB Ë 054 0×0065 e 055 0×00E9 é 056 0×00E8 è 057 0×00EA ê 058 0×00EB ë 059 0×0046 F 060 0×0066 f 061 0×0047 G 062 0×0067 g 063 0×0048 H 064 0×0068 h 065 0×0049 I 066 0×00CD Í 067 0×00CC Ì 068 0×00CE Î 069 0×00CF Ï 070 0×0069 i 071 0×00ED í 072 0×00EC ì 073 0×00EE î 074 0×00EF ï 075 0×004A J 076 0×006A j 077 0×004B K 078 0×006B k 079 0×004C L 080 0×006C l 081 0×004D M 082 0×006D m 083 0×004E N 084 0×006E n 085 0×00D1 Ñ 086 0×00F1 ñ 087 0×004F O 088 0×00D3 Ó 089 0×00D2 Ò 090 0×00D4 Ô 091 0×00D6 Ö 092 0×006F o 093 0×00F3 ó 094 0×00F2 ò 095 0×00F4 ô 096 0×00F6 ö 097 0×0050 P 098 0×0070 p 099 0×0051 Q 100 0×0071 q 101 0×0052 R 102 0×0072 r 103 0×0053 S 104 0×0073 s 105 0×0054 T 106 0×0074 t 107 0×0055 U 108 0×00DA Ú 109 0×00D9 Ù 110 0×00DB Û 111 0×00DC Ü 112 0×0075 u 113 0×00FA ú 114 0×00F9 ù 115 0×00FB û 116 0×00FC ü 117 0×0056 V 118 0×0076 v 119 0×0057 W 120 0×0077 w 121 0×0058 X 122 0×0078 x 123 0×0059 Y 124 0×0079 y 125 0×005A Z 126 0×007A z 127 0×00BA º 128 0×00AA ª |
Alfa 256 001 0×0020 espacio 002 0×002D - 003 0×002B + 004 0×00A1 ¡ 005 0×0021 ! 006 0×0022 ” 007 0×00BF ¿ 008 0×003F ? 009 0×002C , 010 0×002E . 011 0×003B ; 012 0×003A : 013 0×002A * 014 0×002F / 015 0×0025 % 016 0×0026 & 017 0×0028 ( 018 0×0029 ) 019 0×003D = 020 0×0027 ‘ 021 0×0030 0 022 0×0031 1 023 0×0032 2 024 0×0033 3 025 0×0034 4 026 0×0035 5 027 0×0036 6 028 0×0037 7 029 0×0038 8 030 0×0039 9 031 0×0041 A 032 0×00C1 Á 033 0×00C0 À 034 0×00C2 Â 035 0×00C3 Ã 036 0×00C4 Ä 037 0×00C5 Å 038 0×00C6 Æ 039 0×0061 a 040 0×00E1 á 041 0×00E0 à 042 0×00E2 â 043 0×00E3 ã 044 0×00E4 ä 045 0×00E5 å 046 0×00E6 æ 047 0×0042 B 048 0×0062 b 049 0×0043 C 050 0×0063 c 051 0×00C7 Ç 052 0×00E7 ç 053 0×0044 D 054 0×0064 d 055 0×0045 E 056 0×00C9 É 057 0×00C8 È 058 0×00CA Ê 059 0×00CB Ë 060 0×0065 e 061 0×00E9 é 062 0×00E8 è 063 0×00EA ê 064 0×00EB ë 065 0×0046 F 066 0×0066 f 067 0×0047 G 068 0×0067 g 069 0×0048 H 070 0×0068 h 071 0×0049 I 072 0×00CD Í 073 0×00CC Ì 074 0×00CE Î 075 0×00CF Ï 076 0×00D0 Ð 077 0×0069 i 078 0×00ED í 079 0×00EC ì 080 0×00EE î 081 0×00EF ï 082 0×00F0 ð 083 0×004A J 084 0×006A j 085 0×004B K 086 0×006B k 087 0×004C L 088 0×006C l 089 0×004D M 090 0×006D m 091 0×004E N 092 0×006E n 093 0×00D1 Ñ 094 0×00F1 ñ 095 0×004F O 096 0×00D3 Ó 097 0×00D2 Ò 098 0×00D4 Ô 099 0×00D5 Õ 100 0×00D6 Ö 101 0×00D8 Ø 102 0×006F o 103 0×00F3 ó 104 0×00F2 ò 105 0×00F4 ô 106 0×00F5 õ 107 0×00F6 ö 108 0×00F8 ø 109 0×0050 P 110 0×0070 p 111 0×0051 Q 112 0×0071 q 113 0×0052 R 114 0×0072 r 115 0×0053 S 116 0×0073 s 117 0×0054 T 118 0×0074 t 119 0×0055 U 120 0×00DA Ú 121 0×00D9 Ù 122 0×00DB Û 123 0×00DC Ü 124 0×0075 u 125 0×00FA ú 126 0×00F9 ù 127 0×00FB û 128 0×00FC ü 129 0×0056 V 130 0×0076 v 131 0×0057 W 132 0×0077 w 133 0×0058 X 134 0×0078 x 135 0×0059 Y 136 0×00DD Ý 137 0×0079 y 138 0×00FD ý 139 0×005A Z 140 0×007A z 141 0×00DE Þ 142 0×00FE þ 143 0×00DF ß 144 0×00FF ÿ 145 0×00BA º 146 0×00AA ª 147 0×0023 # 148 0×0024 $ 149 0×003C 151 0×0040 @ 152 0×005B [ 153 0x005D ] 154 0×005C \ 155 0×005E ^ 156 0×005F _ 157 0×0060 ` 158 0×007B { 159 0×007D } 160 0×007C | 161 0×007E ~ 162 0×00A2 ¢ 163 0×00A3 £ 164 0×00A4 ¤ 165 0×00A5 ¥ 166 0×00A6 ¦ 167 0×00A7 § 168 0×00A8 ¨ 169 0×00A9 © 170 0×00AB « 171 0×00BB » 172 0×00AC ¬ 173 0×00AD 174 0×00AE ® 175 0×00AF ¯ 176 0×00B0 ° 177 0×00B1 ± 178 0×00B2 ² 179 0×00B3 ³ 180 0×00B4 ´ 181 0×00B5 µ 182 0×00B6 ¶ 183 0×00B7 · 184 0×00B8 ¸ 185 0×00B9 ¹ 186 0×00BC ¼ 187 0×00BD ½ 188 0×00BE ¾ 189 0×00D7 × 190 0×00F7 ÷ 191 0×0E3F Signo del Thai Baht 192 0×20A1 Signo del colón 193 0×20A2 Signo del cruzeiro 194 0×20A4 Signo de la lira 195 0×20A5 Signo de mil 196 0×20A6 Signo del naira 197 0×20A8 Signo de la rupia 198 0×20A9 Signo del won 199 0×20AA Signo de nuevo shequel 200 0×20AB Signo del dong 201 0×20AC Signo del euro 202 0×2202 Derivada parcial 203 0×2206 Incremento 204 0×220F Productorio 205 0×2211 Sumatoria 206 0×2212 Signo menos 207 0×2215 Barra (oblicua) de división 208 0×2219 Operador de viñeta 209 0×221A Raíz cuadrada 210 0×221E Infinito 211 0×2220 Angulo 212 0×222B Integral 213 0×2248 Casi igual a 214 0×2260 Distinto 215 0×2261 Idéntico 216 0×2264 Menor que o igual a 217 0×2265 Mayor que o igual a 218 0×0192 Letra latina minúscula f con gancho 219 0×2310 Signo de negación invertido 220 0×2122 Signo inglés de marca comercial 221 0×2018 Comilla tipográfica de apertura 222 0×2019 Comilla tipográfica de cierre 223 0×201C Comillas tipográficas de apertura 224 0×201D Comillas tipográficas de cierre 225 0×2022 Viñeta 226 0×2014 Guión largo o raya 227 0×201A Comilla tipográfica en forma de 9 simple y baja 228 0×201E Comilla tipográfica en forma de 9 doble y baja 229 0×2020 Cruz 230 0×2021 Cruz doble 231 0×2026 Elipsis horizontal 232 0×2032 Prima 233 0×02C6 Acento circunflejo modificador de letra 234 0×02C7 Acento circunflejo 235 0×2030 Signo de por mil 236 0×0160 Letra latina mayúscula S con acento anticircunflejo 237 0×0161 Letra latina minúscula s con acento anticircunflejo 238 0×2039 Comilla tipográfica simple angular de apertura 239 0×0152 Ligadura latina mayúscula OE 240 0×017D Letra latina mayúscula Z con acento anticircunflejo 241 0×0392 Letra griega mayúscula alfa 242 0×03B1 Letra griega minuscula alfa 243 0×0392 Letra griega mayúscula beta 244 0×03B2 Letra griega minuscula beta 245 0×0393 Letra griega mayúscula gamma 246 0×03B3 Letra griega minuscula gamma 247 0×0394 Letra griega mayúscula delta 248 0×03B4 Letra griega minuscula delta 249 0×0395 Letra griega mayúscula epsilon 250 0×03B5 Letra griega minuscula epsilon 251 0×0396 Letra griega mayúscula zeta 252 0×03B6 Letra griega minuscula zeta 253 0×2640 Signo de la mujer 254 0×2642 Signo del hombre 255 0×0009 Caracter de tabulación 256 0×000A Nueva linea |
Para más información sobre los tipos de campo estándar Latin1 (ISO 8859-1) y UTF-16 (ISO 10646) ver: http://www.unicode.org
Enlace
Es el elemento que nos permite establecer una relación entre dos registros de distintas tablas por medio de un campo y un índice de clave única de la tabla enlazada.
Un enlace se establece a nivel de campo en el panel de propiedades de Velneo vDevelop V7, en la propiedad Tipo de enlace:

Los tipos de enlace que se contemplan son:
Ninguno: El campo no estará enlazado con ninguna tabla.
Maestro: Enlaza la tabla de datos actual mediante el campo a la tabla de datos maestra elegida en la propiedad Tabla enlazada en la Lista desplegable Identificador. Este enlace es resuelto automáticamente por Velneo vDevelop V7 mediante el campo Código de la tabla de datos enlazada. Una tabla puede apuntarse a sí misma a través de un enlace de este tipo.

Estática: Enlaza la tabla de datos actual mediante el campo a la tabla estática elegida en la propiedad Tabla estática.

Indirecto real:

Este enlace se utiliza para relacionar la tabla de datos actual con otra tabla que no es maestra de la actual y que se elige en la propiedad Tabla enlazada. Este enlace necesita ser resuelto manualmente por el diseñador; para ello se ha de usar un índice de clave única de la tabla a enlazar. Tiene persistencia en disco. El resto de las propiedades a cumplimentar son:
Dar de alta si no existe: Permite que, si el registro con el que se ha de enlazar el registro actual no existe en la tabla indirecta, sea dado de alta. Los valores posibles son:
Verdadero: Dará de alta el registro en la tabla indirecta si no existe.
Falso: No dará de alta el registro en la tabla indirecta si no existe.
Pedir confirmación de alta: En el caso de que el valor de la propiedad Dar de alta si no existe sea Verdadero, esta propiedad permite solicitar una confirmación del alta por parte del usuario que esté ejecutando la aplicación. Los valores posibles son:
Verdadero: Solicitará confirmación al usuario.
Falso: Dará de alta el registro indirecto automáticamente.
Tubo de ficha para alta: En el caso de que el valor de la propiedad Dar de alta si no existe sea Verdadero en esta propiedad tendremos que seleccionar el tubo de ficha que se usará para generar el registro en la tabla indirecto.
Índice: En esta propiedad tendremos que seleccionar, de la lista de índices que se muestran de la tabla enlazada, el índice de clave única que queramos usar para resolver el enlace.
Resolución: Una vez seleccionado el índice en la propiedad anterior en ésta aparecerá la lista de campos que lo componen:

En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar el botón
que aparece a la derecha. Al pulsarlo se desplegará una ventana en la que cada fila se corresponderá con un componente del índice seleccionado:

Cada componente del índice ha de ser resuelto de manera individual, es decir, debemos indicar al sistema qué dato resuelve cada campo componente del índice de la tabla indirecta. Dicha resolución será definida mediante una fórmula. Para la introducción de la misma se dispone del asistente para edición de fórmulas, para abrirlo pulsar el botón
. Una vez resueltos todos los componentes del índice, pulsar el botón
.
Indirecto virtual:

Este enlace se utiliza para relacionar la tabla de datos actual con otra tabla que no es maestra de la actual y que se elige en la propiedad Tabla enlazada. Este enlace necesita ser resuelto manualmente por el diseñador; para ello se ha de usar un índice de clave única de la tabla a enlazar. Este enlace tiene persistencia en memoria. El resto de las propiedades a cumplimentar son:
Índice: En esta propiedad tendremos que seleccionar, de la lista de índices que se muestran de la tabla enlazada, el índice de clave única que queramos usar para resolver el enlace.
Resolución: Una vez seleccionado el índice en la propiedad anterior en ésta aparecerá la lista de campos que lo componen:

En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar el botón
que aparece a la derecha. Al pulsarlo se desplegará una ventana en la que cada fila se corresponderá con un componente del índice seleccionado:

Cada componente del índice ha de ser resuelto de manera individual, es decir, debemos indicar al sistema qué dato resuelve cada campo componente del índice de la tabla indirecta. Dicha resolución será definida mediante una fórmula. Para la introducción de la misma se dispone del asistente para edición de fórmulas, para abrirlo pulsar el botón
. Una vez resueltos todos los componentes del índice, pulsar el botón
.
NOTA: Para que en en ejecución se genere en enlace, es necesario que se resuelvan todos los componentes del mismo, es decir, que no esté vacío ninguno de los campos usados en su resolución.
La diferencia entre un enlace indirecto real y uno indirecto virtual radica en que el primero ocupa espacio en disco y el segundo no, es decir, el real tiene persistencia en disco y el virtual en memoria. Además, tampoco podrán dispararse actualizaciones desde una tabla cuando el enlace indirecto es virtual.
Singular de plural por posición: Permite crear un enlace singular a una tabla histórica de la tabla actual, usando para ello uno de los enlaces plurales definidos en la tabla maestra y se resolverá la posición fija del histórico con el que se desea establecer dicho enlace. Los parámetros a cumplimentar son:

Histórico: En esta propiedad tendremos que seleccionar, de la lista de enlaces plurales plural que se muestra, el plural que queramos usar para resolver el enlace.
Fórmula: Debemos resolver el enlace indicando al sistema con qué posición, dentro del histórico del registro, queremos enlazar. Dicha resolución será definida mediante una fórmula. Para la introducción de la misma se dispone del asistente para edición de fórmulas, para abrirlo pulsar el botón
.
Ejemplo: Si en la fórmula escribimos un 1 enlazaremos con el primer registro del histórico, si usamos la variable del sistema sysListSize enlazaremos con el último registro del histórico.
El orden de los registros históricos vendrá determinado por los componentes que se añadan en el histórico al índice del campo enlazado con la tabla actual.
Singular de plural por índice: Permite crear un enlace singular a una tabla histórica de la tabla actual, utilizando para su resolución el índice usado en el enlace plural que se seleccione. El programador únicamente tendrá que resolver aquellas partes del índice usado en enlace plural que no sean el campo enlazado a la tabla actual.
El índice usado para resolver este tipo de enlace deberá ser de clave única.
Las propiedades a cumplimentar son:

Histórico: En esta propiedad tendremos que seleccionar, de la lista de enlaces plurales que se muestra, el que queramos usar para resolver el enlace.
Modo de buscar: En esta propiedad se indicará de qué forma se va a realizar la búsqueda del registro a enlazar. Los valores posibles son:
Igual: Se buscará el registro que tenga el mismo valor.
Igual o mayor: Se buscará el registro que tenga el mismo valor o el posterior más próximo.
Igual o menor: Se buscará el registro que tenga el mismo valor o el anterior más próximo.
Mayor: Se busacará el registro con el valor mayor.
Menor: Se busacará el registro con el valor menor.
Primero: Se buscará el primer registro.
Último: Se buscará el último registro.
Resolución: Una vez seleccionado el enlace plural en esta propiedad aparecerá la lista de campos que componen el índice usado en el mismo, a excepción del campo que se corresponde con en elnace a la tabla actual.
En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar el botón
que aparece a la derecha. Al pulsarlo se desplegará una ventana en la que cada fila se corresponderá con un componente del índice del enlace plural seleccionado:

Cada componente del índice ha de ser resuelto de manera individual, es decir, debemos indicar al sistema qué dato resuelve cada campo componente del mismo. Dicha resolución será definida mediante una fórmula. Para la introducción de la misma se dispone del asistente para edición de fórmulas, para abrirlo pulsar el botón
. Una vez resueltos todos los componentes del índice, pulsar el botón
.
Hermano contiguo: Permite crear un enlace singular a un registro de la misma tabla. Este tipo de enlace es virtual, no ocupa espacio en disco. Los parámetros a cumplimentar son:

Índice de la tabla actual por el cual se va a realizar el enlace. Debe tratarse de un índice de clave única.
Partes comunes: Número de partes del índice que tendrán en común los registros a enlazar; es decir, el número de campos comunes en los registros a enlazar.
Dirección en la que se buscará el registro a enlazar. Los valores posibles son:
Anterior: Se enlazará con el registro anterior por el índice seleccionado.
Siguiente: Se enlazará con el registro siguiente por el índice seleccionado.
Índice
Se trata de una estructura de datos que mejora la velocidad de las operaciones, permitiendo un rápido acceso a los registros de una tabla.
Un índice puede estar compuesto por uno o varios campos, por fórmulas o por una combinación de ellos. A cada uno de estos componentes del índice se le llama parte.

Las propiedades de un índice son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un índice dentro de una tabla. Este identificador será el que usemos en fórmulas y para referenciarlo en otras propiedades.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un campo de una tabla no puede haber duplicidad.
Para evitar pérdidas de información como resultado de cambiar el identificador de un índice se guarda el identificador antiguo del mismo. De esta forma, al ejecutar la aplicación de nuevo, se reconstruirá la tabla sin perder ningún dato.
Los identificadores ID y NAME son palabras reservadas. El identificador ID referencia el índice que es clave primaria de la tabla e identifica unívocamente cada registro. No debemos alterar este identificador si no queremos perder la funcionalidad implícita, aunque si podemos modificar sus descriptores, la propiedad Nombre.
Nombre: Etiqueta alfanumérica que servirá como descriptor del índice.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre ese índice, y Heredable, que permite que el índice sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del índice.
Tipo de índice: Esta propiedad nos permite definir de qué forma van a ser indexados los datos. Los tipos existentes son:
Clave única: No admite más que un registro con la misma clave.
Palabras: El registro es indexado por cada palabra encontrada en las partes que forman la clave.
Múltiples claves: El registro es indexado desde cero claves hasta el número que el programador declare en la propiedad Número de claves.El índice deberá estar compuesto por tantos componentes como número de claves hayan sido declaradas. Si el campo o la fórmula de una clave está vacío, esa clave no será indexada.
Acepta repetidas: La ficha es indexada sólo una vez pero, al contrario que la clave única, se admiten repeticiones. El sistema le añade 4 bytes a la clave para diferenciar las repetidas.
Trozos de palabras: El registro es indexado por cada grupo de 3 ó más caracteres de cada una de las partes que forman la clave.
Condición para indexar: Esta propiedad permite establecer una condición para indexar el registro. Si la condición no se cumple, el registro no será indexado por ese índice. Si pulsamos el botón
se abrirá el asistente para edición de fórmulas. En esta fórmula solamente se permite usar campos de la tabla actual, no se permite usar campos de tablas enlazadas ni tampoco llamar a funciones, dado que ambas cosas mermarían el rendimiento.
Lista negra: Esta propiedad aparecerá en el caso de que el índice sea de tipo Palabras. Permite establecer una lista de las palabras que no serán indexadas por ese índice. Para escribir la lista pulsar el botón
que aparece al editar el valor.
Número de claves: Esta propiedad aparecerá en el caso de que el índice sea de tipo Múltiples claves. En ella se indicarán el número de claves que conforman el índice.
Número de partes: Indica el número de campos o fórmulas (partes) que componen la clave.
Longitud de la clave: Indica la longitud total, en bytes, del índice.
Partes índice
Un índice estará compuesto por una o más partes. Para crear una parte de un índice pulsar el botón
de la barra de herramientas o abrir el menú , submenú , opción Parte índice. Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al componente índice. Este identificador será el que usemos para referenciarlo en otras propiedades.
Nombre: Etiqueta alfanumérica que servirá como descriptor del componente.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre esa parte del índice, y Heredable, que permite que esa parte del índice sea usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del componente del índice.
Modo: Permite establecer de qué forma se indexará la parte. Los valores posibles son:
Campo completo: La parte a indexar va a ser un campo y se indexará completo.
Campo porción: La parte a indexar va a ser un campo pero va a indexarse solamente una porción del mismo.
Fórmula: La parte a indexar va a ser una fórmula definible por el programador.
Campo: Esta propiedad solamente estará disponible en el caso de que el Modo sea Campo completo o Campo porción. Solamente podremos seleccionar campos de la tabla actual que tengan persistencia en disco; es decir, no es posible ni indexar campos de tablas enlazadas ni indexar campos de tipo fórmula.
Fórmula:: Esta propiedad solamente estará disponible en el caso de que el Modo sea Fórmula. Esta propiedad permite establecer una fórmula, cuyo resultado será indexado. Si pulsamos el botón
se abrirá el asistente para edición de fórmulas. En esta fórmula solamente se permite usar campos de la tabla actual, no se permite usar campos de tablas enlazadas ni tampoco llamar a funciones, dado que ambas cosas mermarían el rendimiento.
Longitud: Longitud, en bytes, que tendrá la parte a indexar.
Si el modo es Campo completo, este valor no podrá ser modificado.
Si el modo es Campo porción, en esta propiedad indicaremos el número de caracteres a indexar del campo. Ejemplo: Si el campo es alfabético de 35 bytes y esta valor lo establecemos a 12, esta parte indexará solamente los 12 primeros caracteres del mismo.
Si el modo es Fórmula, en esta propiedad indicaremos 0 si queremos indexar la totalidad del resultado de la fórmula; en caso contrario indicaremos el número de caracteres a indexar del campo.
Conversión: Si el modo es Campo completo o Campo porción y el campo es de tipo alfabético (Alfa Latin-1, alfa UTF-16, alfa 256, alfa 128 o alfa 64); en esta propiedad podremos hacer una conversión de la parte a una tabla de caracteres inferior. Ejemplo: un campo de tipo alfa256 indexarlo convertido a alfa 64.
Si el modo es Fórmula en esta propiedad podremos indicar al sistema de qué tipo será el dato resultante de la fórmula. Los tipos posibles son:
Número: La parte del índice a indexar será un número.
Fecha: La parte del índice a indexar será una fecha. En este caso la propiedad del componente Longitud automáticamente será establecida a 3 y no podrá ser modificada; pues es la longitud que tiene un dato de tipo fecha.
Hora: La parte del índice a indexar será una hora. En este caso la propiedad del componente Longitud automáticamente será establecida a 3 y no podrá ser modificada; pues es la longitud que tiene un dato de tipo hora.
Tiempo: La parte del índice a indexar será un dato de tipo tiempo. En este caso la propiedad del componente Longitud automáticamente será establecida a 4 y no podrá ser modificada; pues es la longitud que tiene un dato de tipo tiempo.
Alfa 126: La parte del índice a indexar será una cadena de tipo alfa 256.
Alfa 128: La parte del índice a indexar será una cadena de tipo alfa 128.
Alfa 64: La parte del índice a indexar será una cadena de tipo alfa 64.
Alfa 40: La parte del índice a indexar será una cadena de tipo alfa 40.
Decimales: Esta propiedad solamente es visible cuando el modo es Fórmula y el valor de la Conversión es Número. Permite establecer el número de decimales que tendrá el número a indexar.
Signo: Esta propiedad solamente es visible cuando el modo es Fórmula y el valor de la Conversión es Número. Permite establecer si se va a contemplar o no el signo (positvo o negativo) del número a indexar.
Plural
Un
enlace plural relaciona los registros de la tabla maestra con sus registros en la tabla plural
Los enlaces plurales se crean de forma automática, por lo que no es necesario crear los subobjetos correspondientes.
Las relaciones son de uno a n, es decir, de un registro de la tabla de datos maestra a varios registros de la tabla plural apuntada por el enlace plural. Estas relaciones se establecen tanto entre tablas del mismo proyecto de datos como con tablas de proyectos de datos heredados.
Para que se establezca un enlace plural basta que exista un campo enlazado a una tabla maestra y el índice correspondiente en la tabla plural.
Se establecerán tantas relaciones, tantos enlaces de plural, como campos enlazados tenga la tabla plural con sus índices correspondientes. En el caso de que haya varios índices en la tabla plural cuya primer componente sea el campo enlazado, se establecerán tantos enlaces de plural como índices para ese campo.
El identificador del enlace plural se forma con el identificador de la tabla maestra y el identificador del índice del campo enlazado en la tabla plural separados por un guión bajo (_).
Actualización
Una
actualización es un subobjeto de tabla que permite actualizar el valor de los campos de un registro de una tabla enlazada cada vez que se produce un alta, una modificación o una baja en la tabla origen en la que definimos las actualizaciones.
Para crear una
actualización hemos de pulsar la opción
del panel de subobjetos.
Las propiedades de una actualización son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca una actualización. Este identificador será el que usemos para referenciarlo en otras propiedades.
El identificador constará de mayúsculas y números exclusivamente.
Nombre: Etiqueta alfanumérica que servirá como descriptor de la actualización. Se usará para presentar información del objeto en otros objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre este objeto y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del objeto en nuestro proyecto.
Campo enlazado: Debemos establecer el campo enlazado a través del que se realizará la actualización. El campo enlazado puede ser de cualquier tipo.
Las Actualizaciones están compuestas por Componentes de actualización que definen los campos que se actualizarán de la tabla enlazada y cómo se realizará la actualización. En el componente hemos de establecer la acción positiva, es decir, cómo debe actualizar el valor del campo en el caso de alta de ficha, ya que en ejecución determinará de forma automática cuál ha de ser la forma de actualizar el campo en los otros dos casos: modificación y baja de la ficha.
Un componente de actualización se crea pulsando la opción
.
Las propiedades de un Componente de actualización son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un componente de actualización. Este identificador será el que usemos para referenciarlo en otras propiedades.
El identificador constará de mayúsculas y números exclusivamente.
Nombre: Etiqueta alfanumérica que servirá como descriptor del componente de actualización. Se usará para presentar información del subobjeto en otros objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre este subobjeto y Heredable, que permite que el subobjeto sea usado cuando el proyecto sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del objeto en nuestro proyecto.
Condición para modificar: Fórmula lógica condicional que define si se produce la actualización o no por medio del componente en curso.
Campo: Campo de la tabla enlazada que será modificado por el componente de la actualización.
Modo: Tenemos dos posibles formas en las que el componente modifique el campo, en ambos casos, siempre que se cumpla la condición para modificar:
Acumulado: El componente acumula en el campo destino el valor resuelto en la fórmula.
Absoluto: El componente sustituye en el campo destino el valor original por el calculado en la fórmula
Fórmula: Fórmula cuyo cálculo define el valor que se actualizará en el campo.
Evento
Un evento es un proceso definido por el programador que es ejecutado automáticamente al producirse el evento al que hace referencia.
Los eventos posibles son:
Alta:
Anterior a un alta de ficha: El proceso es disparado antes de que la ficha sea guardada en disco.
Interno a un alta de ficha: El proceso es disparado después de que la ficha haya sido guardada en disco y antes de disparar las actualizaciones.
Posterior a un alta de ficha: El proceso es disparado después de que la ficha haya sido guardada en disco y después de disparar las actualizaciones.
Modificación:
Anterior a una modificación de ficha: El proceso es disparado antes de que los cambios en la ficha sean guardados en disco.
Interno a una modificación de ficha: El proceso es disparado después de que los cambios en la ficha hayan sido guardados en disco y antes de disparar las actualizaciones.
Posterior a una modificación de ficha: El proceso es disparado después de que los cambios en la ficha hayan sido guardados en disco y después de disparar las actualizaciones.
Baja:
Anterior a una baja de ficha: El proceso es disparado antes de producirse el borrado de la ficha.
Interno a una baja de ficha: El proceso es disparado después de producirse el borrado de la ficha y antes de disparar las actualizaciones.
Posterior a una baja de ficha: El proceso es disparado después de producirse el borrado de la ficha y después de disparar las actualizaciones.
Los eventos son ejecutados en el servidor por lo que no se debe incluir en ellos ninguna instrucción que requiera la intervención del usuario.
Cualquier cambio que se desee realizar en la ficha, siempre deberá ser hecho antes de su grabación, es decir, en el evento anterior.
La ficha permanecerá bloqueada por el sistema mientras los procesos de los eventos estén siendo ejecutados.
Para crear un evento de una tabla pulsar el botón
de la barra de herramientas de sub-objetos de una tabla.
Tabla estática
La
tabla estática es un objeto de proyecto de datos que define una tabla y sus fichas en tiempo de edición, que en tiempo de ejecución no se pueden modificar por el usuario.
Para crear una tabla estática hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
En el objeto tabla estática se define tanto las propiedades de la tabla como los registros que contiene, ya que únicamente se pueden definir los registros en tiempo de edición. En ejecución, el usuario no puede hacer alta, modificación o baja de los registros, debiendo trabajar con aquellos que haya definido el programador.
La tabla estática se crea pulsando el botón
, o la opción de Objetos/Nuevo objeto/Tabla estática.
Las propiedades de una tabla estática son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca una tabla estática dentro del proyecto de datos. Este identificador será el que usemos en fórmulas y para referenciarlo en otras propiedades.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca una tabla estática no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor de la tabla estática. Se usará para presentar información de la tabla estática en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre la tabla estátia, y Heredable, que permite que la tabla estática sea usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso de la tabla estática.
La tabla estática contiene un subobjeto denominado Ítem. El ítem de tabla estática se crea pulsando el botón
, o la opción de Objetos/Nuevo sub-objeto/Ítem de tabla estática.
El ítem de tabla estática tiene las siguientes propiedades:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un ítem dentro de la tabla estática. Este identificador será el que usemos en fórmulas y para referenciarlo en otras propiedades.
El identificador constará un único carácter alfanumérico de un byte, por lo que tendrá hasta 256 posibilidades, que es el número límite de ítems que podemos definir en una tabla estática. Al identificar de forma unívoca un ítem de tabla estática no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del ítem de tabla estática. Se usará para presentar información del ítem en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre él ítem de la tabla estática, y Heredable, que permite que el ítem de la tabla estática sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del ítem de la tabla estática.
Dibujo: Esta propiedad nos permite seleccionar un objeto Dibujo del proyecto de datos en curso o de un proyectoheredado que servirá para representar el ítem de tabla estática en otros objetos.
Si enlazamos un campo de una tabla de datos a una tabla estática, los identificadores de los ítems serán los distintos valores posibles del campo.
Proyecto de aplicación
Un proyecto de aplicación contendrá los objetos visuales de una aplicación, o de un módulo de la misma.
Para crear un proyecto de datos hemos usar la opción Nuevo proyecto de aplicación del menú de o bien usar la opción de la barra de herramientas
correspondiente. Para ello, previamente, habremos de tener definida una solución en la que se creará la proyecto, si no, no nos permitirá la creación del mismo.
En la pestaña General nos presentará la información sobre la solución y el dominio del Velneo vServer V7 en el que se creará el proyecto. Hemos de completar el Nombre del proyecto que luego servirá de referencia en la instanciación de la misma. También hemos de definir la Versión que mostrará el proyecto al ser presentado.

En la pestaña Herencia definiremos la herencia correspondiente al proyecto, escogiendo de entre los proyecto de datos o de aplicación cargados aquellos cuyos objetos queramos heredar. De esta forma, desde el proyecto de aplicación que hemos creado accederemos a reutilizar los objetos de los proyectos heredados. Debemos hacer doble clic sobre los Proyectos heredables para establecer una herencia del proyecto seleccionado y doble clic en los Proyectos heredadas para anular la herencia establecida.

En la pestaña Colores definiremos las paletas de colores que aplicaremos en las propiedades de los objetos de nuestro proyecto. Esta opción nos permite modificar la paleta de colores de tal manera que se actualice en todas las propiedades de los objetos donde se use.

Pulsando la opción Añadir paleta nos mostrará el cuadro de diálogo de Selección de un color que nos permite seleccionar el color base de la paleta.

Una vez aceptamos, nos genera la paleta de forma automática a partir del color base, pudiendo asignar el nombre a la paleta rellenando el control de edición de Paleta. Este nombre será el que referenciaremos en las propiedades de los objetos de tal forma que se asignarán de forma automática los colores según la propiedad que estemos definiendo y en el caso de modificar la paleta, los colores usados serán actualizados en las propiedades que hagan uso de la paleta.

Haciendo doble clic sobre un color de la paleta podemos modificar el color seleccionado, apareciendo para ello de nuevo el cuadro de diálogo de Selección de un color.
En la pestaña Fuentes definiremos los tipos de letra que aplicaremos en las propiedades de los objetos de nuestro proyecto. Esto nos permitirá, al igual que sucede con la las paletas de colores, modificar en esta opción un tipo de letra que usemos en nuestro proyecto, actualizándolo en todos las propiedades de los objetos donde se use.

En la pestaña Idiomas configuraremos los idiomas que podremos definir en el proyecto y que se podrán seleccionar en ejecución para mostrar la información de los objetos. Debemos seleccionar un Idioma y un País al que se aplica el idioma. Usando las opciones Subir y Bajar podremos ordenar los idiomas del proyecto. El primero de la lista será el idioma por defecto del proyecto. Los países se presentan en función del idioma seleccionado.

Los idiomas de los proyectos tienen un orden de carga en ejecución. Primero será el que coincida con la selección de Idioma y País. Si seleccionamos el valor Default para País, el idioma será aplicarable para cualquier selección de país. En el caso de que el país del sistema no esté representado y de que haya de un idioma varias opciones de país, se tomará primero el definido como Default, si no, el primero del proyecto que coincida con el idioma. Si no existe el idioma del sistema se tomará el idioma por defecto del proyecto que es el primero que esté definido en el proyecto.
En cualquier caso, podemos dar opción al usario para que seleccione de entre los idiomas del proyecto aquél que desee usar.
Listado de países disponibles según ISO 3166-1:
Afghanistan
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua And Barbuda
Argentina
Armenia
Aruba
Australia
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia
Bosnia And Herzegowina
Botswana
Bouvet Island
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos Islands
Colombia
Comoros
Democratic Republic Of Congo
Peoples Republic Of Congo
Cook Islands
Costa Rica
Ivory Coast
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
East Timor
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands
Faroe Islands
Fiji Country
Finland
France
Metropolitan France
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Germany
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guinea
Guinea Bissau
Guyana
Haiti
Heard And McDonald Islands
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran
Iraq
Ireland
Israel
Italy
Jamaica
Japan
Jordan
Kazakhstan
Kenya
Kiribati
Democratic Republic Of Korea
Republic Of Korea
Kuwait
Kyrgyzstan
Lao
Latvia
Lebanon
Lesotho
Liberia
Libyan Arab Jamahiriya
Liechtenstein
Lithuania
Luxembourg
Macau
Macedonia
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
MarshallIslands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia
Moldova
Monaco
Mongolia
Montserrat
Morocco
Mozambique
Myanmar
Namibia
NauruCountry
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Reunion
Romania
Russian Federation
Rwanda
Saint Kitts And Nevis
St Lucia
St Vincent And The Grenadines
Samoa
San Marino
Sao Tome And Principe
Saudi Arabia
Senegal
Serbia And Montenegro
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia And The South Sandwich Islands
Spain
SriLanka
St Helena
St Pierre And Miquelon
Sudan
Suriname
Svalbard And Jan Mayen Islands
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan
Tajikistan
Tanzania
Thailand
Togo
Tokelau
Tonga Country
Trinidad And Tobago
Tunisia
Turkey
Turkmenistan
Turks And Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United Kingdom
United States
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
VaticanCityState
Venezuela
Viet Nam
British Virgin Islands
US Virgin Islands
Wallis And Futuna Islands
Western Sahara
Yemen
Yugoslavia
Zambia
Zimbabwe
Listado de idiomas seleccionables según ISO 639-1:
C
Abkhazian
Afan
Afar
Afrikaans
Albanian
Amharic
Arabic
Armenian
Assamese
Aymara
Azerbaijani
Bashkir
Basque
Bengali
Bhutani
Bihari
Bislama
Bosnian
Breton
Bulgarian
Burmese
Byelorussian
Cambodian
Catalan
Chinese
Cornish
Corsican
Croatian
Czech
Danish
Divehi
Dutch
English
Esperanto
Estonian
Faroese
FijiLanguage
Finnish
French
Frisian
Gaelic
Galician
Georgian
German
Greek
Greenlandic
Guarani
Gujarati
Hausa
Hebrew
Hindi
Hungarian
Icelandic
Indonesian
Interlingua
Interlingue
Inuktitut
Inupiak
Irish
Italian
Japanese
Javanese
Kannada
Kashmiri
Kazakh
Kinyarwanda
Kirghiz
Korean
Kurdish
Kurundi
Laothian
Latin
Latvian
Lingala
Lithuanian
Macedonian
Malagasy
Malay
Malayalam
Maltese
Manx
Maori
Marathi
Moldavian
Mongolian
NauruLanguage
Nepali
Norwegian
NorwegianBokmal
NorwegianNynorsk
Occitan
Oriya
Pashto
Persian
Polish
Portuguese
Punjabi
Quechua
RhaetoRomance
Romanian
Russian
Samoan
Sangho
Sanskrit
Serbian
SerboCroatian
Sesotho
Setswana
Shona
Sindhi
Singhalese
Siswati
Slovak
Slovenian
Somali
Spanish
Sundanese
Swahili
Swedish
Tagalog
Tajik
Tamil
Tatar
Telugu
Thai
Tibetan
Tigrinya
TongaLanguage
Tsonga
Turkish
Turkmen
Twi
Uigur
Ukrainian
Urdu
Uzbek
Vietnamese
Volapuk
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zhuang
Zulu
Bosnian
Divehi
Manx
Cornish
Akan
Konkani
Ga
Igbo
Kamba
Syriac
Blin
Geez
Koro
Sidamo
Atsam
Tigre
Jju
Friulian
Venda
Ewe
Walamo
Hawaiian
Tyap
Chewa
En la pestaña Comentarios podremos incluir todos aquellos datos que veamos necesarios para documentar nuestra aplicación.

Rejilla
La rejilla es un objeto que sirve para presentar listas de registros de las tablas.

La rejilla siempre va asociada a una tabla de un proyecto de datos heredado. El flujo es Lista de la tabla asociada tanto para la entrada como para la salida.
La rejilla está compuesta por una serie de celdas distribuidas en forma de filas y colulmnas. Una fila se corresponde con un registro de una tabla y una columna con un campo de la tabla. Una celda, por tanto, permitirá mostrar un dato concreto de un registro concreto de la tabla.
Para crear una rejilla hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert) de Velneo vDevelop V7.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor de la rejilla. Es el texto que se presentará al usuario final de la aplicación para referenciar la rejilla.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos siguientes:
Privado que limita el acceso del usuario final a la rejilla.
Heredable, que permite que la rejilla pueda ser usada cuando el proyecto sea heredado.
Arrastrable para copiar: Cuando la rejilla va a ser el origen en un evento de drag and drop, si está activado este estilo, en ejecución los items arrastrados no serán quitados de la misma tras ejecutar el evento de drop.
Arrastrable para mover: Cuando la rejilla va a ser el origen en un evento de drag and drop, si está activado este estilo, en ejecución los items arrastrados serán quitados de la misma tras ejecutar el evento de drop.
Comentarios: Esta propiedad nos permite documentar el uso de la rejilla.
Tabla asociada: Tabla de un proyecto de datos heredado cuyos registros van a ser visualizados en la rejilla.
Formulario de alta: Formulario del proyecto en curso o de un proyecto heredado que será usado para dar de alta una ficha desde la rejilla.
Formulario de modificación: Formulario del proyecto en curso o de un proyecto heredado que será para editar una ficha desde la rejilla.
Formulario de baja: Formulario del proyecto en curso o de un proyecto heredado que será para eliminar una ficha desde la rejilla.
Tipo de menú de contexto: El menú de contexto es el que aparece cuando el usuario final hace clic con el botón derecho del ratón. Los valores posibles son:
Ninguno: La rejilla carecerá de menú de contexto.
Por defecto: La rejilla dispondrá de un menú de contexto creado automáticamente por el sistema.
Personalizado: El menú de contexto de la rejilla será un objeto menú contenido en el proyecto.
Menú de contexto: Esta propiedad solamente estará disponible cuando el valor de la propiedad Tipo de menú de contexto sea Personalizado. Nos permitirá seleccionar el objeto menú que queramos usar como menú de contexto de la rejilla.
Multiselección: Esta propiedad tiene dos valores posibles: Falso y Verdadero. Permitirá que en tiempo de ejecución se pueda realizar una selección múltiple de registros en la rejilla.
Modo ver cabeceras: Permite configurar qué cabeceras de la rejilla serán visualizadas. Los valores posibles son:
Horizontal y vertical: Se mostrará horizontalmente, en la parte superior de la rejilla, un encabezado con los títulos de cada columna y verticalmente, en la parte izquierda de la rejilla, un encabezado que mostrará el valor del campo ID de cada registro:

Horizontal: Se mostrará horizontalmente, en la parte superior de la rejilla, un encabezado con los títulos de cada columna:

Vertical: Se mostrará verticalmente, en la parte izquierda de la rejilla, un encabezado que mostrará el valor del campo ID de cada registro:

Ninguna: No se mostrará ningún encabezado:

Alto de cabecera: Altura, en píxels, que tendrá la sección de la cabecera de la rejilla.
Color de cara de cabecera: La cabecera de una rejilla es creada a modo de botón tridimensional. En esta propiedad seleccionaremos el color de la cara de la cabecera. Por defecto, se tomará el color para ventana de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de luz de cabecera: La cabecera de una rejilla es creada a modo de botón tridimensional. En esta propiedad seleccionaremos el color de luz de la cabecera. Por defecto, se tomará el color para luz de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de sombra de cabecera: La cabecera de una rejilla es creada a modo de botón tridimensional. En esta propiedad seleccionaremos el color de la cara de la cabecera. Por defecto, se tomará el color para sombra de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Alto de cuerpo: Altura, en píxels, que tendrá la sección del cuerpo de la rejilla.
Color de fondo de cuerpo: En esta propiedad seleccionaremos el color de fondo del cuerpo. Por defecto, se tomará el color base de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de fondo par de cuerpo: En esta propiedad seleccionaremos el color de fondo para las líneas pares del cuerpo. El color seleccionado en la propiedad anterior será el que se use para las líneas impares. Por defecto, se tomará el color base alternativo de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de rejilla de cuerpo: En esta propiedad seleccionaremos el color que se usará para pintar las líneas que delimitan cada celda de la rejilla. Por defecto, se tomará el color para texto ventana de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Pie activo: Esta propiedad tiene dos valores posibles: Falso y Verdadero. Permitirá mostrar un pie para presentar, por ejemplo, un texto o la suma acumulada de una columna.
Alto de pie: Esta propiedad solamente estará disponible cuando el valor de la propiedad Pie activo sea Verdadero. Nos permitirá definir la altura, en píxels, que tendrá la sección del pie de la rejilla.
Color de fondo de pie: Esta propiedad solamente estará disponible cuando el valor de la propiedad Pie activo sea Verdadero. Seleccionaremos el color de fondo para el pie. Por defecto, se tomará el color base de la paleta asociada a la rejilla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Toolbar: Si seleccionamos una toolbar en este parámetro, cada vez que usemos esta rejilla, ésta llevará embebida la toolbar seleccionada, que podrá situarse, o bien encima o bien debajo de la rejilla.
Longitud de columnas: Se trata de una propiedad de carácter informativo, no puede ser modificada. Muestra el ancho total de la rejilla.
Asistente
Para crear una rejilla pulsaremos el botón
de la barra de herramientas de Velneo vDevelop V7. Esto hará que se abra el asistente para su creación:

En este paso tendremos que establecer las propiedades siguientes:
Tabla: Habrá que seleccionar una tabla de un proyecto de datos heredado en la lista que se presenta.
Nombre: Etiqueta alfanumérica que servirá como descriptor del campo. Se usará para presentar información del campo en objetos. El programa propone por defecto el nombre plural de la tabla.
Formularios:
Alta: Formulario asociado para dar altas en la tabla.
Modificación: Formulario asociado para modificar un registro de la tabla.
Baja: Formulario asociado para borrar un registro de la tabla.
Pulsar el botón
para ir al siguiente paso o el botón
para cancelar la creación de la rejilla.
El sigiuente paso es la selección de campos a presentar en la rejilla:

Para añadir un campo hacer doble clic sobre el mismo en la lista del campos seleccionables que se presenta en la parte superior del asistente o pulsar el botón
.
Para añadir todos los campos de la tabla pulsar el botón 
Los campos seleccionados aparecerán en la lista de campos seleccionados del asistente y se verán desactivados en la lista de campos seleccionables:

Para quitar un campo de la lista de campos seleccionados tendremos que seleccionarlo y pulsar el botón
.
Para quitar todos los campos de la lista de campos seleccionados pulsar el botón
.
Las columnas de la rejilla serán creadas siguiendo el mismo orden que tengan los campos en el panel de campos seleccionados.
Para subir una posición un campo en el panel de campos seleccionados tendremos que seleccionarlo y pulsar el botón
.
Para bajar una posición un campo en el panel de campos seleccionados tendremos que seleccionarlo y pulsar el botón
.
Pulsar el botón
para ir al siguiente paso o el botón
para volver al paso anterior o el botón
para cancelar la creación de la rejilla.
El siguiente paso es la configuración del aspecto visual de la rejilla:

Las propiedades a cumplimentar son:
Colores: Selección de la paleta de colores que usará la rejilla. Podremos elegir entre cualquiera de las paletas del sistema o las paletas declaradas en el proyecto.
Fuentes: Selección de las fuentes que usará la rejilla. Podremos elegir entre cualquiera de las declaradas en el proyecto.
En la parte inferior del asistente se muestra una vista previa de la rejilla, según los valores seleccionados en ambas propiedades.
Pulsar el botón
para ir al siguiente paso o el botón
para volver al paso anterior o el botón
para cancelar la creación de la rejilla.
En el último paso del asistente se muestra el identificador con el que la rejilla será creada. Usará el nombre dado a la rejilla en el primer paso del asistente:

Pulsar el botón
para proceder a la creación de la rejilla o el botón
para volver al paso anterior o el botón
para cancelar el asistente.
La rejilla será añadida a la lista de objetos del proyecto.
Propiedades columna
Identificador: Etiqueta alfanumérica que identifica la columna de la rejilla. Este identificador será el que se usa para referenciarla en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor de la columna. Es el texto que se presentará al usuario final de la aplicación como título de la columna en el caso de que no se haya establecido valor alguno en la propiedad Contenido cabecera. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a la columna, y Heredable, que permite que la columna de la rejilla pueda ser usada cuando el proyecto sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso de la columna de la rejilla.
Ancho: Anchura, en píxels, de la columna.
Tipo de ancho: Permite configurar si el ancho de la columna va a ser fijo o variable. Los valores posibles son:
Interactivo: En ejecución, la columna se presentará con el ancho dado en el parámetro anterior pero el usuario podrá modificarlo.
Fijo: En ejecución, la columna se presentará con el ancho dado en el parámetro anterior y el usuario no podrá modificarlo.
Máximo disponible En ejecución, la columna se expandirá o contrarerá según la anchura de la ventana o el control donde la rejilla esté situada. Este tipo permitirá que la rejilla ocupe el ancho máximo disponible.
Ancho redimiensionable: Para permitir o no que el usuario final pueda cambiar el ancho de la columna.
Condición visible: Permite condicionar la visibilidad de la columna en base a una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido cabecera: Permite establecer como título de la cabecera un texto dinámico. Para ello podremos usar el asistente para edición de fórmulas. Pulsar el botón
que aparece al editar esta propiedad para abrirlo.
Fuente texto cabecera: En esta propiedad seleccionaremos la fuente que se usará para el texto de la cabecera de la columna. Pulsar el botón
para editarla y/o modificarla.
Color texto cabecera: En esta propiedad seleccionaremos el color del texto de la cabecera de la columna. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Alineamiento horizontal texto cabecera: Permite configurar la forma en la que el texto de la cabecera será alineado entre los márgenes izquierdo y derecho de la celda. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical texto cabecera: Permite configurar la forma en la que el texto de la cabecera será alineado entre los los márgenes superior e inferior de la celda. Los valores posibles son:
Arriba
Abajo
Centrado
Contenido cuerpo: En esta propiedad indicaremos qué es lo que va a mostrarse en esa columna mediante una fórmula, que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Icono cuerpo: En esta propiedad permite presentar, junto al campo editado en la columna, un campo de tipo objeto dibujo a modo de icono.
Fuente texto cuerpo: En esta propiedad seleccionaremos la fuente que se usará para el texto del cuerpo de la columna. Pulsar el botón
para editarla y/o modificarla.
Color texto cuerpo: En esta propiedad seleccionaremos el color del texto del cuerpo de la columna. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Alineamiento horizontal texto cuerpo: Permite configurar la forma en la que el texto del cuerpo será alineado entre los márgenes izquierdo y derecho de la celda. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical texto cuerpo: Permite configurar la forma en la que el texto del cuerpo será alineado entre los los márgenes superior e inferior de la celda. Los valores posibles son:
Arriba
Abajo
Centrado
Multilíneas cuerpo: Esta propiedad permite que el texto contenido en cada celda de la columna se muestre en varias líneas. Un control multilíneas deberá tener un alineamiento horizontal a la Izquierda y un alineamiento vertical Superior.
Acumulador cuerpo: Esta propiedad solamente es válida para datos de tipo numérico. Permite realizar la acumulación parcial de la columna. En cada fila aparecerá la suma de si misma con todas las anteriores.
Editable cuerpo: Si la rejilla ha sido definida como editable, en esta propiedad podremos activar o desactivar la edición de la columna.
Separador de miles cuerpo: Si el dato a presentar es numérico, esta propiedad nos permitirá que se muestre el separador de miles.
Editor de rejillas
Velneo vDevelop V7 incorpora un editor para facilitar la modificación de las propiedades de una rejilla. Para abrirlo bastará con hacer doble clic sobre un objeto de tipo rejilla y será mostrado en el panel central de Velneo vDevelop V7.

Como puede observarse en la imagen anterior, se muestra una previsualización de la misma en el dock central y sus propiedades en el panel de propiedades de Velneo vDevelop V7.
Para editar las propiedades de una columna, simplemente bastará con hacer un clic sobre la cabecera de la misma en el editor de rejillas.
La columna que se encuentre editada se diferenciará del resto de las columnas en el editor por aparecer un triángulo en la cabecera y un área de selección dentro de la primera línea del cuerpo de la misma:

En la primera fila se muestra el ancho, en píxels, de cada columna.
Podremos cambiar el acho de una columna haciendo clic con el puntero del ratón sobre el margen derecho de una celda y, sin soltar el botón del ratón, desplazándolo a ¡zquierda o derecha:

Además, el editor de rejillas incluye una toolbar que incluye los comandos siguientes:
Mostrar las propiedades de la rejilla: Cuando estamos visualizando las propiedades de una columna pulsaremos este comando para cambiar a la visualización de las propiedades de la rejilla.
Procesos: (no funcional en la versión actual).
Añadir columna: Añade una columna al final de la rejilla.
Insertar columna: Inserta una columna en la rejilla, a la derecha de la columna seleccionada.
Borrar columna: Elimina la columna seleccionada.
Mostrar/ocultar: Muestra/oculta una columna en el editor desde la que se podrá modificar la altura de las filas de la rejilla.
Ancho de título: Redimensiona el ancho de una columna en función del tamaño del texto contenido en su cabecera.
Ancho de contenido: Redimensiona el ancho de una columna en función del tamaño del contenido del cuerpo.
Mover izquierda: Mueve la columna seleccionada una posición a la izquierda.
Mover derecha: Mueve la columna seleccionada una posición a la derecha.
Formulario
Un
formulario es el objeto de proyecto de aplicación que permite introducir, modificar y ver los distintos campos de una ficha o registro de una tabla por medio de subobjetos denominados controles. Para ello debe tener una tabla asociada de la que podrá presentar los registros.

Como entrada y salida el formulario tiene Ficha de la tabla asociada.
También puede ser usado para incializar valores que se usarán como contenidos iniciales en búsquedas.
Sin origen, es decir, sin tabla asociada podemos usar el formulario como tipo formulario pudiendo usar controles con contenido, lanzar opciones o editar variables globales, mostrar dibujos, etc.
Para crear un formulario hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).

Las propiedades de un formulario son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un formulario dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un formulario no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del formulario. Se usará para presentar información del formulario en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el formulario, y Heredable, que permite que el formulario sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del formulario.
Tabla asociada: Tabla de un proyecto de datos heredado cuyos registros van a ser creados, modificados o visualizados en el formulario.
Alto: Longitud vertical en píxeles del formulario. Es la longitud con la que se presenta en edición y con la que por defecto se presente en ejecución, pudiendo el usuario redimensionar el formulario si así lo especificamos.
Ancho: Longitud horizontal en píxeles del formulario. Es la longitud con la que se presenta en edición y con la que por defecto se presente en ejecución, pudiendo el usuario redimensionar el formulario si así lo especificamos.
Siempre cuadro de diálogo: Los valores posibles son:
Verdadero: El formulario se presentará en forma modal, bloqueando el interfaz en primer plano.
Falso: El formulario se presentará en forma de vista, como una ventana más del interfaz, en función del sistema de ventanas seleccionado.
Especial para búsquedas: Configura el formulario para usarlo en una búsqueda. Los valores posibles son:
Verdadero: El formulario se presentará en forma modal, bloqueando el interfaz en primer plano.
Falso: El formulario se presentará en forma de vista, como una ventana más del interfaz, en función del sistema de ventanas seleccionado.
Condición de activo: Permite condicionar que el formulario esté activo en base a una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello debemos pulsar el botón
que nos abre el asistente.
Título opcional: Permite definir el título del formulario por medio de una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello debemos pulsar el botón
que nos abre el asistente.
Icono: Permite definir el dibujo que se mostrará a modo de icono en la barra de título del formulario.
Centrar: Los valores posibles son:
Verdadero: El formulario se presentará en el centro de la ventana.
Falso: El formulario se presentará en función de la llamada al formulario.
Color de fondo: Color que presenta el fondo del formulario. En caso de que hayamos escogido una paleta de colores, el color asignado será el de Ventana.
Dibujo de fondo: Objeto Dibujo se presenta en el fondo del formulario.
Aspecto de dibujo: En el caso de que hayamos seleccionado un Objeto Dibujo para que se presente como Dibujo de fondo, podremos especificar la forma en que se presente:
Original centrado: El dibujo se muestra con el tamaño original centrado en el formulario.
Estirar/encoger: El dibujo se muestra ajustado al tamaño del formulario. Si el ancho y alto del dibujo no son proporcionales el dibujo se verá deformado si el tamaño del formulario no tiene la misma relación de aspecto.
Proporcionar sin ampliar: El dibujo se mostrará en su tamaño original o se reducirá de forma proporcionada para adaptarse al tamaño del control, en el caso que éste sea menor que el tamaño de la imagen.
Proporcionar: El dibujo se muestra a escala proporcional ajustado al tamaño del formulario, sin superar el tamaño de éste. Si el dibujo es pequeño y el formulario es grande se hará un zoom sobre el tamaño original de la imagen para adptarla al formulario.
Mosaico: El dibujo se muestra con el tamaño original repetido horizontal y verticalmente las veces necesarias para rellenar por completo el fondo del formulario.
Original: El dibujo se muestra con el tamaño original, alineado en la parte superior izquierda del formulario.
Timer (Milisegundos): Es un reloj que permitirá ejecutar automáticamente uno o varios eventos declarados en el formulario de forma periódica. En este parámetro se indicará el tiempo, en milisegundos, para cada iteración del timer. Si el valor es 0, querrá decir que no se activará el timer.
Tipo de layout: Permite configurar el uso de layouts para la distribución, organización y gestión del tamaño de los controles.
Ninguno: Está desactivada la distribución por medio de layouts.
Horizontal: Los layouts y controles que contiene el formulario se distribuyen horizontalmente.
Vertical: Los layouts y controles que contiene el formulario se distribuyen verticalmente.
Grid: Los layouts y controles que contiene el formulario se distribuyen como celdas en una rejilla.
Alineamiento horizontal: Los layouts y controles que contiene el formulario se distribuyen horizontalmente en función de los valores posibles:
Izquierda: Los layouts y controles se distribuyen horizontalmente alineados hacia la izquierda.
Derecha: Los layouts y controles se distribuyen horizontalmente alineados hacia la derecha.
Centrado: Los layouts y controles se distribuyen horizontalmente centrados.
Justificado: Los layouts y controles se distribuyen horizontalmente justificados.
Alineamiento vertical: Los layouts y controles que contiene el formulario se distribuyen verticalmente en función de los valores posibles:
Arriba: Los layouts y controles se distribuyen verticalmente alineados hacia arriba.
Abajo: Los layouts y controles se distribuyen verticalmente alineados hacia abajo.
Centrado: Los layouts y controles se distribuyen verticalmente centrados.
Espaciado: Espacio de separación en píxeles entre los layouts y controles que se distribuyen en el formulario.
Margen izquierdo: Espacio de separación en píxeles, en el margen izquierdo, de los controles incluidos en el formulario.
Margen derecho: Espacio de separación en píxeles, en el margen derecho, de los controles incluidos en el formulario.
Margen superior: Espacio de separación en píxeles, en el margen superior, de los controles incluidos en el formulario.
Margen inferior: Espacio de separación en píxeles, en el margen inferior, de los controles incluidos en el formulario.
Asistente para la creación de formularios
Cuando en un proyecto de aplicación creamos un formulario, se abrirá un asistente que nos facilitará su creación:

Las propiedades de este primer paso del asistente son:
Tabla asociada: Podremos tanto seleccionar una Tabla de un proyecto de datos heredado cuyos registros van a ser creados, modificados o visualizados en el formulario como seleccionar el Ninguna, si no queremos asociar el formulario a tabla alguna.
Nombre (requerido): Etiqueta alfanumérica que servirá como descriptor del formulario. Se usará para presentar información del formulario en objetos y en los inspectores. Podemos definir una etiqueta por cada idioma presente en el proyecto. Este dato será también usado para generar el identificador del objeto que va a ser creado.
En la parte central de este formulario podremos seleccionar una plantilla para distribuir los distintos controles que contendrá nuestro formulario. Si no queremos aplicar ningún tipo de plantilla seleccionaremos la llamada Vacía (esto desactivará las propiedades siguientes); en caso contrario, seleccionaremos con un clic la deseada. Ésta será destacada sobre el resto:

Los controles podrán ser distribuidos en los distintos bloques indicados en la plantilla seleccionada.
Generar layouts: Activaremos esta opción si queremos que el formulario a crear contemple layouts.
Bloque de botones: Activaremos esta opción si queremos que el formulario a crear contenga un bloque para situar botones.
Posición: Si la opción anterior está activada, en esta indicaremos en qué posición será situado el bloque de botones. Los valores posibles son:
Abajo: El bloque de botones será creado en la parte inferior del formulario.
Derecha: El bloque de botones será creado en la parte derecha del formulario.
Izquerda: El bloque de botones será creado en la parte izquierda del formulario.
Arriba: El bloque de botones será creado en la parte superior del formulario.
Si hemos seleccionado la plantilla Vacía el asistente finalizará, se creará el formulario vacío y será editado en el editor de formularios.
Si hemos seleccionado cualquier otro tipo de plantilla, pulsaremos el botón
para ir al siguiente paso del asistente; donde tendremos que seleccionar los campos que irán en cada bloque que va a generarse en el formulario. Por cada bloque existirá una pestaña y en ella se indicarán los campos a incluir en el mismo. Además, si en el paso anterior del asistente hemos activado la propiedad Bloque de botones aparecerá también la pestaña correspondiente al mismo:

Para añadir un campo o una selección de campos en un bloque seleccionaremos la pestaña correspondiente al bloque deseado y pulsaremos el botón
. Para añadir todos los campos de la tabla en una pestaña pulsaremos el botón
. En el primer caso se abrirá una ventana con la lista de campos de la tabla, con una casilla de verificación a la izquierda de cada uno. Activar la casilla de cada uno de los campos que queramos incluir en el bloque y pulsar el botón “Aceptar” de dicha ventana:

El orden en que se muestran los campos seleccionados será el orden en el que serán creados en el formulario. Podemos cambiar la posición de un campo usando los botones
de la toolbar incluida en la pestaña.
Podremos borrar un campo pulsando el botón
.
A continuación podemos definir las siguientes propiedades:
Distribución: En esta propiedad seleccionaremos cuál va a ser la posición de las etiquetas con respecto a los controles de edición correspondientes. Los valores posibles son:

Estirar controles: Si esta propiedad está activa, todos los controles de un bloque serán creados con la misma longitud; si está inactiva serán creados según el tipo y longitud del campo que editen:

Una vez establecido el contenido de cada bloque, si en el paso anterior del asistente hemos activado la propiedad Bloque de botones, accederemos a la pestaña Botones para configurar su apariencia:

El sistema por defecto asume la creación de dos botones, “Aceptar” y “Cancelar”, ambos ya programados con las funciones de grabación y cancelación de ficha, respectivamente. Si quieremos añadir más botones, pulsaremos el botón
de la barra de herramientas incluida dentro de esta pestaña. Al hacerlo, nos ofrecerá dos posibilidades:
Sin especificar: Añadirá un botón genérico, es decir, sin ninguna función programada. Ese mismo tipo de botón también podremos obtenerlo pulsando directamente el botón
de la toolbar incluida en esta pestaña.
Eliminar: Añadirá un botón ya programado con la función que elimina la ficha editada.
El orden en que se muestran los botones será el orden en el que serán creados en el formulario. Podemos cambiar la posición de un botón usando los botones
de la toolbar incluida en la pestaña.
Podremos borrar un botón pulsando el botón
.
Finalmente, seleccionaremos el modo en que el los botones serán alineados con respecto al formulario en la propiedad Alineamiento horizontal:
Izquierda: Los botones sean alineados a la izquierda del bloque.
Derecha: Los botones sean alineados a la derecha del bloque.
Centrado: Los botones sean centrados dentro del bloque.
Justificado: Los botones sean justificados dentro del bloque.
Pulsar el botón “Finalizar” para terminar el asistente. Una vez hecho esto el formulario será añadido a nuestro proyecto y editado:

Editor de formularios
Velneo vDevelop V7 incorpora un editor visual para facilitar la creación de un formulario. Para abrirlo bastará con hacer doble clic sobre un objeto de tipo formulario y será mostrado en el panel central de Velneo vDevelop V7.
En la parte izquierda del editor de formularios se incluye la barra de controles. Permite crear los distintos controles que formarán parte del formulario. Los comandos que incluye son:
Modo de edición: Este comando se usa para mover controles o para cambiar su tamaño.
Dibujo: Permite incluir un objeto de tipo dibujo en un formulario.
Caja de grupo: Permite incluir una caja cuya finalidad es la de agrupar controles dentro de la misma.
Texto estático: Permite incluir una etiqueta de texto.
Nombre de campo: Permite visualizar la descripción de un campo en un formulario.
Edición: Permite editar del contenido de un campo o de una variable.
MicroScrollers: Permite incluir en un formulario un control de edición con unos microescrollers (botones arriba y abajo) embembidos, que permitirán modificar el contenido del objeto o sub-objeto asociado, incrementando/decrementando su valor, por cada pulsación, en una unidad.
Calendario: Permite incluir un calendario gráfico para la selección de fechas.
Edición fecha/hora: Permite editar el contenido de un campo o de una variable de tipo fecha y el de otro de tipo hora.
Edición fecha: Permite editar el contenido de un campo o de una variable de tipo fecha.
Edición hora: Permite editar el contenido de un campo o de una variable de tipo hora.
Botón: Permite incluir botón para disparar una acción o un comando predefinido.
Botón de radio: Permite incluir un tipo de control de interfaz que permite al usuario elegir una de un conjunto predefinido de opciones.
Botón de check: Permite incluir un control específico para la edición de campos o variables de tipo booleano.
Combo box: Permite insertar un control que muestra los registros de una tabla estática a través de una lista desplegable.
ListBox: Permite incluir un control que muestra en una caja una lista de los registros de una tabla estática.
Control objeto: Permite incluir una acción, desde la que podremos disparar tanto objetos aparcables como no aparcables. Un objeto aparcable es aquel que genera una vista (Rejilla, formulario, multivista, etc.).
Barra de progreso: Permite incluir un control que visualiza gráficamente el valor numérico de un campo o de una variable en tantos por ciento.
Deslizador: Permite incluir un control para alterar el valor de un campo o de una variable de tipo numérico, mediante el botón de control de un deslizador.
Dial: Permite incluir un control para alterar el valor de un campo o de una variable de tipo numérico, mediante un dial.
Objeto dibujo: Edita el contenido de un campo de tipo objeto dibujo de la ficha en curso o de cualquier tabla enlazada.
Caja de texto: Permite editar el contenido de un campo de tipo objeto texto de la ficha en curso.
Caja de texto enriquecido: Permite editar el contenido de un campo de tipo objeto texto enriquecido de la ficha en curso.
Visor HTML: Permite incrustar una URL dentro de un formulario.
Película: Este control permite incluir un fichero AVI de audio y vídeo externo a la aplicación en un formulario.
Separador formularios: Permite incluir un control que visualiza varios formularios en el mismo área.
Caja de formularios: Permite incluir un control que visualiza varios formularios dentro de una caja. Cada formulario estará incluido en un separador o pestaña del control.
Pila de formularios: Permite incluir un control que visualiza varios formularios en el mismo área.
Layout horizontal: Permite distribuir horizontalmente controles dentro del formulario.
Layout vertical: Permite distribuir verticalmente controles dentro del formulario.
Layout grid: Permite distribuir en filas y columnas controles dentro del formulario.
Para crear un control en un formulario seleccionar el comando adecuado de la barra de controles del editor de formularios o seleccionar la opción adecuada dentro del menú , sub-menú . Una vez seleccionado el control, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Para cambiar el tamaño de un control dentro de un formulario hacer un clic con el botón izquierdo del ratón sobre el mismo, esto hará que el control aparezca seleccionado y rodeado por una serie de cuadraditos rojos, llamados trackers, hacer clic sobre uno de ellos y, sin soltar el botón, arrastrarlo hasta la posición deseada y soltar:

También podremos modificar directamente el valor numérico de su tamaño (ancho/alto) en las propiedades del mismo.
Para eliminar un control en el formulario seleccionarlo con un clic del ratón dentro del editor del formulario y pulsar la tecla Supr.
Para mover un control dentro de un formulario hacer un clic con el botón izquierdo del ratón sobre el mismo y, sin soltar el botón, arrastrar hasta la posición deseada y soltar. También podremos modificar directamente el valor numérico de su posición X e Y en las propiedades del mismo.
En la parte superior del editor de formularios se incluye la barra de maquetación. Nos permite maquetar los distintos controles que se incluyan en el formulario. Los comandos que contiene son:
Alinea izquierda: Alinea los controles seleccionados por el borde izquierdo del control seleccionado en último lugar.
Alinea derecha: Alinea los controles seleccionados por el borde derecho del control seleccionado en último lugar.
Alinea arriba: Alinea los controles seleccionados por el borde superior del control seleccionado en último lugar.
Alinea abajo: Alinea los controles seleccionados por el borde inferior del control seleccionado en último lugar.
Reparto horizontal: Distribuye horizontalmente los controles seleccionados dejando la misma separación entre ellos.
Reparto vertical: Distribuye verticalmente los controles seleccionados dejando la misma separación entre ellos.
Adjuntar horizontal: Alinea los botones seleccionados horizontalmente con respecto al que haya sido seleccionado en último lugar.
Adjuntar vertical: Alinea los botones seleccionados verticalmente con respecto al que haya sido seleccionado en último lugar.
Centrar horizontal: Centra horizontalmente el control o los controles seleccionados con el formulario.
Centrar vertical: Centra verticalmente el control o los controles seleccionados con el formulario.
Mismo ancho: Da el mismo ancho a los controles seleccionados de aquel que ha sido seleccionado en último lugar.
Mismo alto: Da la misma altura a los controles seleccionados de aquel que ha sido seleccionado en último lugar.
Mismo tamaño: Da el mismo tamaño a los controles seleccionados de aquel que ha sido seleccionado en último lugar.
Cuadrícula: Permite activar o desactivar una rejilla de puntos en el formulario para facilitar la maquetación de controles. Los puntos que componen la rejilla están situados cada 1o píxels se podrán tomar como referencia para la maquetación controles. Si la rejilla de puntos está activa, los controles que creemos en el formulario serán automáticamente ajustados a los puntos más próximos al área del formulario donde hayan sido creados. Lo mismo ocurrirá cuando los cambiemos de posción o los redimensionemos.
Mostrar dimensiones controles: Permite activar o desactivar la visualización de los límites de los controles.
Aplicar layouts: Reorganiza el contenido del formulario en función de los layouts. A continuación vemos dos capturas de pantalla, la primera muestra el diseño del formulario en el editor antes de aplicar el layout y el segundo el diseño del formulario una vez aplicado:

Para seleccionar un control hacer un clic sobre él con el botón izquierdo del ratón. Una vez hecho esto, podremos editar sus propiedades en el panel de propiedades de Velneo vDevelop V7.
Para seleccionar dos o más controles mientras se mantiene pulsada la tecla Shift o Control hacer un clic sobre cada uno de los controles con el botón izquierdo del ratón. El último control seleccionado será el que se tome como referencia a la hora de ejecutar comandos de maquetación. Éste será destacado de forma diferente al resto de los controles seleccionados:

Para cambiar el control de referencia en una selección múltiple de controles bastará con hacer un clic con el botón izquierdo del ratón sobre el mismo mientras se mantiene pulsada la tecla Alt.
Dibujo
Permite incluir un objeto de tipo dibujo en un formulario.
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación para referenciar el control. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Dibujo.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Para imágenes que tengan color transparente. Esta propiedad permite aplicar un color opaco al color transparente del dibujo. Se tomará el color establecido en la propiedad Color de fondo.
Dibujo: Este control despliega una lista en la que se muestran todos los dibujos, tanto del proyecto actual como de los proyectos heredados. Seleccionaremos el que deseamos incluir en el formulario.
Aspecto dibujo: Permite definir de qué forma será visualizado el dibujo dentro del área del control. Los valores posibles son:
Normal: El dibujo se presentará en su tamaño original, empezando a pintarse desde el borde superior izquierdo del control. Si éste es mayor que el tamaño del control, se verá truncado.
Escala: Cambiará el ancho y el alto del dibujo para adaptarlo la altura y anchura del control. Si no es proporcional el alto y el ancho del dibujo a la altura y la anchura del control, el dibujo se verá deformado.
Escala proporcionado: El dibujo se ampliará o reducirá para adaptarse al tamaño del control, pero conservando siempre la proporción alto/ancho. Si el tamaño del control es mayor que el tamaño del dibujo, es posible que éste se vea distorsionado al estirarse para adaptarse al tamaño del control.
Escala proporcionado expandiendo: El dibujo se ampliará o reducirá para adaptarse al tamaño del contro pero no de forma proporcional. Si el control no es redimensionado de forma proporcional al tamaño original del dibujo, su contenido quedará truncado.
Mosaico: El dibujo se presentará en su tamaño original pero repitiéndose horizontal y verticalmente a modo de mosaico hasta ocupartodo el área del control.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los dibujos, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del dibujo será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los dibujos, por defecto, crecerán en altura proporcionalmente a la altura del formulario.
Fijo: La altura del dibujo será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Caja de grupo
Este control crea una caja cuya finalidad es la de agrupar controles dentro de la misma. La caja además puede tener una etiqueta de texto para informar sobre el contenido de la misma.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación para referenciar el control. Podemos definir una etiqueta por cada idioma presente en el proyecto. Si no se ha establecido ningún valor en la propiedad Contenido se usará como título del control el indicado en esta propiedad.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Caja de grupo.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el título que tendrá la caja de cara al usuario final, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Si no se especificada nada en esta propiedad, se usará como título de la caja el dato introducido en la propiedad Nombre
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Plano: Permite configurar el control para que sea mostrado como una caja (Falso) o solamente como una línea horizontal (Verdadero).

Tipo de layout: Dado que una caja de grupo es un control que suele ser usado para enmarcar uno o varios controle dentro de la misma, ésta puede actuar también como si de un layout se tratase. En este parámetro, por tanto, podremos indicar si la caja de grupo va a ser o no un layout, en caso afirmativo, tendremos que especifiar el tipo de layout a aplicar (horizontal, vertical o grid).
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Las cajas de grupo, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Las cajas de grupo, por defecto, crecerán en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Texto estático
Este control permite incluir una etiqueta de texto en un formulario.
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Texto estático.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Condición de visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer el título que tendrá el control de cara al usuario final, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Si no se especificada nada en esta propiedad, se usará como título de la caja el dato introducido en la propiedad Nombre.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Multilíneas: Esta propiedad permite que el texto contenido en el control se muestre en varias líneas en caso de que no quepa en una sola. Un control multilíneas deberá tener un alineamiento horizontal a la Izquierda y un alineamiento vertical Superior.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los textos estáticos, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los textos estáticos, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Proporcional: La altura del control crecerá para adaptarse a la altura del formulario.
Nombre de campo
Sirve para visualizar la descripción de un campo en un formulario. Si se modifica la descripción del campo de la tabla asociada al formulario, este control cambia automáticamente el texto para visualizar la nueva descripción.
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Nombre de campo.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario. Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario. Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del control será alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Multilíneas: Permite hacer que el contenido sea visualizado en varias líneas en el caso de que la anchura del control sea insuficiente.
Campo: Permite seleccionar el campo cuya descripción queremos mostrar en el control.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de nombre de campo, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Máscara: Permite aplicar una máscara para formatear el texto.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de nombre de campo, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Edición
Este control se usará principalmente para la edición del contenido de un campo o de una variable.

Este control no sirve para editar campos de tipo Objeto; existen controles específicos para ese tipo de campos.
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Edición.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Sólo lectura: Permite hacer que el contenido del control pueda ser visualizado pero no modificado.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Contraseña: Permite hacer que el contenido de este control sea visualizado con asteriscos (*).
Máscara: Permite aplicar una máscara para formatear el texto. Las máscaras disponibles son:
Espacio en blanco: Cualquier caracter
A: Carácter ASCII requerido. A-Z, a-z.
a: Carácter ASCII alfabético permitido pero no requerido.
N: Carácter ASCII alphanumeric character required. A-Z, a-z, 0-9.
n: Carácter ASCII alfanumérico permitod pero no requerido.
X: Requerido cualquier carácter.
x: Cualquier carácter permitido pero no requerido.
9: Dígito ASCII requerido. 0-9.
0: Dígito ASCII permitido pero no requerido.
D: Dígito ASCII requerido. 1-9.
d: Dígito ASCII permitido pero no requerido. 1-9.
#: Signo más o menos permitido pero no requerido.
H: Carácter hexadecimal requerido. A-F, a-f, 0-9.
h: Carácter hexadecimal permitdo pero no requerido.
B: Carácter binario requerido. 0-1.
b: Carácter binario permitido pero no requerido.
>: Los siguientes caracteres irán en mayúsculas.
<: Los siguientes caracteres irán en minúsculas.
!: Finaliza la conversión a mayúsculas o minúsculas.
\: Usar el caracter \ con algún símbolo de los anteriores para ser usado como separador.
Máscaras para horas:
Horas:
h: (0-23, 1-12 AM/PM)
hh: (00-23, 01-12 AM/PM)
H: (0-23)
HH: (00-23)
Minutos:
m: (0-59)
mm: (00-59)
Segundos:
s: (0-59)
ss: (00-59)
z: (0-999) zzz (000-999)
Periodos:
AP: (AM/PM)
ap: (am/pm)
Máscaras para fechas:
Día:
d: (1-31)
dd: (01-31)
ddd: (Lun-Dom)
:dddd: (Lunes-Domingo)
Mes:
M: (1-12)
MM: (01-12)
MMM: (Ene-Dic)
MMMM: (Enero-Diciembre)
Año:
yy: (00-99)
yyyy: (0000-9999)
El resto de caracteres en la cadena de formato serán tratados como texto. También los caracteres que estén entre comillas simples (‘) en la cadena de formato serán tratados como texto, lo que nos permite tratar los caracteres específicos de formato (d, dd, M, MM, etc.) como texto.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
MicroScrollers
Permite incluir en un formulario un control de edición con unos microescrollers (botones arriba y abajo) embembidos, que permitirán modificar el contenido del objeto o sub-objeto asociado, incrementando/decrementando su valor, por cada pulsación, en una unidad.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se mostrará en el botón al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es MicroScrollers.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Sólo lectura: Permite hacer que el contenido del control pueda ser visualizado pero no modificado.
Contenido: Especificación del objeto o sub-objeto que vaya a recibir el dato. Se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente, la fórmula contendrá un campo o una variable.
Color de base: En esta propiedad seleccionaremos el color de base del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color texto: En esta propiedad seleccionaremos el color que tendrá el texto que se presentará en la parte editable del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color que tendrán los microscrollers. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color texto de botón: En esta propiedad seleccionaremos el color que tendrá el texto incluido en los microscrollers. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el color del control o aplicar un color opaco al mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los microscrollers, por defecto, crecen en anchura.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los microscrollers, por defecto, no crecen en altura.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Calendario
Visualiza un calendario gráfico para la selección de fechas.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Calendario.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Lo habitual será editar un campo o una variable de tipo fecha.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color que tendrán los botones incrustados en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color texto de botón: En esta propiedad seleccionaremos el color que tendrá el texto de los botones incrustados en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Dibujo: Esta propiedad despliega una lista en la que se muestran todos los dibujos, tanto del proyecto actual como de los proyectos heredados. Seleccionaremos el que deseamos incluir como dibujo de fondo del control.
Aspecto dibujo: Permite definir de qué forma será visualizado el dibujo dentro del área del control. Los valores posibles son:
Normal: El dibujo se presentará en su tamaño original, empezando a pintarse desde el borde superior izquierdo del control. Si éste es mayor que el tamaño del control, se verá truncado.
Escala: Cambiará el ancho y el alto del dibujo para adaptarlo la altura y anchura del control. Si no es proporcional el alto y el ancho del dibujo a la altura y la anchura del control, el dibujo se verá deformado.
Escala proporcionado: El dibujo se ampliará o reducirá para adaptarse al tamaño del control, pero conservando siempre la proporción alto/ancho. Si el tamaño del control es mayor que el tamaño del dibujo, es posible que éste se vea distorsionado al estirarse para adaptarse al tamaño del control.
Escala proporcionado expandiendo: El dibujo se ampliará o reducirá para adaptarse al tamaño del contro pero no de forma proporcional. Si el control no es redimensionado de forma proporcional al tamaño original del dibujo, su contenido quedará truncado.
Mosaico: El dibujo se presentará en su tamaño original pero repitiéndose horizontal y verticalmente a modo de mosaico hasta ocupartodo el área del control.
Inicio semana: Permite especificar cuál será el primer día de la semana (Lunes o Domingo.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los calendarios, por defecto, no crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los calendarios, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Edición fecha/hora
Este control se usará principalmente para la edición del contenido de un campo o de una variable de tipo fecha y otro de tipo hora.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Edición Fecha/Hora.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Sólo lectura: Permite hacer que el contenido del control pueda ser visualizado pero no modificado.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Opciones: Permite definir si el control incluirá o no un botón para desplegar un calendaro desde el que el usuario podrá seleccionar una fecha.

Máscara: Permite aplicar una máscara para formatear el texto. Las máscaras disponibles son:
Máscaras para horas:
Horas:
h: (0-23, 1-12 AM/PM)
hh: (00-23, 01-12 AM/PM)
H: (0-23)
HH: (00-23)
Minutos:
m: (0-59)
mm: (00-59)
Segundos:
s: (0-59)
ss: (00-59)
z: (0-999) zzz (000-999)
Periodos:
AP: (AM/PM)
ap: (am/pm)
Máscaras para fechas:
Día:
d: (1-31)
dd: (01-31)
ddd: (Lun-Dom)
:dddd: (Lunes-Domingo)
Mes:
M: (1-12)
MM: (01-12)
MMM: (Ene-Dic)
MMMM: (Enero-Diciembre)
Año:
yy: (00-99)
yyyy: (0000-9999)
El resto de caracteres en la cadena de formato serán tratados como texto. También los caracteres que estén entre comillas simples (‘) en la cadena de formato serán tratados como texto, lo que nos permite tratar los caracteres específicos de formato (d, dd, M, MM, etc.) como texto.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición fecha/hora, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición fecha/hora, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Edición fecha
Este control se usará para la edición del contenido de un campo o de una variable de tipo fecha.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Edición Fecha.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Sólo lectura: Permite hacer que el contenido del control pueda ser visualizado pero no modificado.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Opciones: Permite definir si el control incluirá o no un botón para desplegar un calendaro desde el que el usuario podrá seleccionar la fecha.

Máscara: Permite aplicar una máscara para formatear el texto. Las máscaras posibles son:
Día:
d: (1-31)
dd: (01-31)
ddd: (Lun-Dom)
:dddd: (Lunes-Domingo)
Mes:
M: (1-12)
MM: (01-12)
MMM: (Ene-Dic)
MMMM: (Enero-Diciembre)
Año:
yy: (00-99)
yyyy: (0000-9999)
El resto de caracteres en la cadena de formato serán tratados como texto. También los caracteres que estén entre comillas simples (‘) en la cadena de formato serán tratados como texto, lo que nos permite tratar los caracteres específicos de formato (d, dd, M, MM, etc.) como texto.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición fecha, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición fecha, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Edición hora
Este control se usará para la edición del contenido de un campo o de una variable de tipo hora.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Edición Hora.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Sólo lectura: Permite hacer que el contenido del control pueda ser visualizado pero no modificado.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Máscara: Permite aplicar una máscara para formatear el texto. Las máscaras posibles son:
Horas:
h: (0-23, 1-12 AM/PM)
hh: (00-23, 01-12 AM/PM)
H: (0-23)
HH: (00-23)
Minutos:
m: (0-59)
mm: (00-59)
Segundos:
s: (0-59)
ss: (00-59)
z: (0-999) zzz (000-999)
Periodos:
AP: (AM/PM)
ap: (am/pm)
El resto de caracteres en la cadena de formato serán tratados como texto. También los caracteres que estén entre comillas simples (‘) en la cadena de formato serán tratados como texto, lo que nos permite tratar los caracteres específicos de formato (d, dd, M, MM, etc.) como texto.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición fecha, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición fecha, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Reloj
Permite visualzar la hora del sistema en un reloj. Es un control de sólo lectura.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Reloj.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Este control toma como referencia la hora del sistema, si deseamos presentar la hora de una zona horaria diferente a la del sistema, en esta propiedad indicaremos, en horas, la diferencia horaria con respecto a la del sistema. Si la diferencia horaria es de 3 horas más, por ejemplo, el valor de esta propiedad será 3, si la diferencia horaria es de 2 horas menos con respecto a la del sistema, por ejemplo, el valor de esta propiedad será -2. Éste podremos establecerlo mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente el contenido será un campo o una variable de tipo numérico.
Color de base: En esta propiedad seleccionaremos el color de base del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color del texto del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Este control, por defecto, crece en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Este control, por defecto, crece en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Manómetro
Permite visualzar gráficamente el valor numérico de un campo o de una variable de tipo numérico. Es un control de sólo lectura.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Manómetro.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente el contenido será un campo o una variable de tipo numérico.
Color de base: En esta propiedad seleccionaremos el color de base del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Mínimo y Máximo: Permite establecer los valores mínimo y máximo del manómetro.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los manómetros, por defecto, crecen en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los manómetros, por defecto, crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Termómetro
Permite visualzar gráficamente el valor numérico de un campo o de una variable de tipo numérico. Es un control de sólo lectura.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Termómetro.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente el contenido será un campo o una variable de tipo numérico.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Mínimo y Máximo: Permite establecer los valores mínimo y máximo del termómetro.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Este control, por defecto, crece en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Este control, por defecto, crece en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Botón
Botón en el que se visualiza un texto y que permite disparar, en tiempo de ejecución, una acción o un comando predefinido.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se mostrará en el botón al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Botón.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el título que tendrá el control de cara al usuario final, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Si no se especificada nada en esta propiedad, se usará como título del control el dato introducido en la propiedad Nombre.
Color de botón: En esta propiedad seleccionaremos el color del botón. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color texto de botón: En esta propiedad seleccionaremos el color que tendrá el texto del botón. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el color del control o aplicar un color opaco al mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Tecla aceleradora: Permite declarar una tecla que al pulsarla en tiempo de ejecución,disparará la acción o el comando asociada al control. Las teclas posibles son:
Ninguna: No se usará tecla aceleradora.
Retroceso.
Tabulador.
Return (Intro).
Escape.
Espacio.
Teclas de función: Desde F1 a F12.
Números: Del 0 al 9.
Letras: De la A a la Z, excepto Ñ y Ç.
Combinación de la tecla aceleradora: Esta propiedad nos permite establecer una tecla o combinación de teclas que, pulsadas simultáneamente junto con la declarada en la propiedad Tecla aceleradora dispararán la acción o el comando asociado al control. Los valores posibles son:
Tecla: No se usará combinación de teclas.
Shift + Tecla: Para disparar la acción asociada al control se deberán pulsar simultáneamente la tecla Shift y la especificada en la propiedad Tecla aceleradora.
Control + Tecla: Para disparar la acción asociada al control se deberán pulsar simultáneamente la tecla Control y la especificada en la propiedad Tecla aceleradora.
Control + Shift + Tecla: Para disparar la acción asociada al control se deberán pulsar simultáneamente la combinación de las teclas Control, Shift y la especificada en la propiedad Tecla aceleradora.
Plano: Permite activar/desactivar el efecto 3D del botón.
Icono: Permite incluir dentro del botón un dibujo declarado en el proyecto o de un proyecto heredado.
Tamaño del icono: Permite establecer cuál será el tamaño del dibujo dentro del botón. Los valores posibles son:
Pequeño: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con un tamaño de 16×16 píxels.
Grande: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con un tamaño de 32×32 píxels.
Original: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con su tamaño original.
Botón por defecto: Si se activa esta opción, el botón atrapará la pulsación de la tecla intro en el formulario.
Comando: Permite establecer el comando o la acción que disparará el botón. Los valores posibles son:
Aceptar: Guarda la ficha en disco y cierra el formulario.
Cancelar: Cancela los cambios realizados en el formulario y lo cierra.
Eliminar: Borra del disco la ficha editada y cierra el formulario.
Alta de maestro: Permite dar un alta en una tabla maestra de la actual. Al seleccionar este comando aparecerán las propiedades siguientes:
Campo: Permite seleccionar el campo enlazado a la tabla en la que queremos crear el registro.
Objeto: Permite seleccionar el formulario asociado a esa tabla de datos a utilizar para crear el registro.
Edición de maestro: Permite modificar una ficha de una tabla maestra de la actual. Al seleccionar este comando aparecerán las propiedades siguientes:
Campo: Permite seleccionar el campo enlazado a la tabla en la que queremos modificar el registro.
Objeto: Permite seleccionar el formulario asociado a esa tabla de datos a utilizar para editar el registro.
Localizar maestro: Permite disparar un localizador de una tabla maestra de la actual. Al seleccionar este comando aparecerán las propiedades siguientes:
Campo: Permite seleccionar el campo enlazado a la tabla en la que queremos localizar el registro.
Objeto: Permite seleccionar el localizador asociado a esa tabla de datos a utilizar para buscar el registro.
Si el usuario final selecciona un registro en el localizador disparado, el registro será capturado en la ficha de origen, con lo que el campo enlazado apuntará al registro seleccionado.
Acción: Permite disparar una acción acción declarada en el proyecto actual o en un proyecto heredado.
La acción a disparar deberá ser seleccionada en la propiedad Objeto.
Menú: Permite disparar un menú declarado en el proyecto actual o en un proyecto heredado.
El menú a disparar deberá ser seleccionado en la propiedad Objeto.
Ejecutar proceso: Permite disparar un proceso declarado en el proyecto actual o en un proyecto heredado.
El proceso a disparar deberá ser seleccionado en la propiedad Objeto.
Podremos disparar cualquier proceso sin origen, además, si el formulario está asociado a una tabla, podremos disparar procesos cuyo origen sea una ficha de la tabla asociada al formulario.
Ejecutar evento: Permite disparar un evento declarado en el formulario en curso.
El evento a disparar deberá ser seleccionado en la propiedad Objeto.
Moverse a hermano: Permite visualizar en el mismo formulario un registro anterior o un registro siguiente al actual. Para ello es necesario que en la tabla asociada al formulario exista un campo enlazado a hermano contiguo.
El campo enlazado deberá ser seleccionado en la propiedad Campo.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones , por defecto, no crecen en anchura.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones, por defecto, no crecen en altura.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Botón de radio
es un tipo de control de interfaz que permite al usuario elegir una de un conjunto predefinido de opciones.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se mostrará al usuario final de la aplicación junto al botón de radio. Podemos definir un texto por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Botón de radio.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Especificación del objeto o sub-objeto que vaya a recibir el dato. Se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente, la fórmula contendrá el campo o la variable que vaya a recibir el dato.
Valor: Permite establecer el valor que será asignado al dato declarado en la propiedad Contenido si el usuario seleciona el botón de radio en ejecución. Éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de primer plano: En esta propiedad seleccionaremos el color del primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de base: En esta propiedad seleccionaremos el color de base del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color que tendrá el botón. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el color del control o aplicar un color opaco al mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Icono: Permite incluir dentro del control un dibujo declarado en el proyecto o de un proyecto heredado.
Tamaño del icono: Permite establecer cuál será el tamaño del dibujo dentro del control. Los valores posibles son:
Pequeño: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con un tamaño de 16×16 píxels.
Grande: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con un tamaño de 32×32 píxels.
Original: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con su tamaño original.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones de radio , por defecto, no crecen en anchura.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones de radio, por defecto, no crecen en altura.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Botón de check
Control específico para la edición de campos o variables de tipo booleano.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se mostrará al usuario final de la aplicación junto al botón de radio. Podemos definir un texto por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Botón de check.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Especificación del objeto o sub-objeto que vaya a recibir el dato. Se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente, la fórmula contendrá un campo o una variable de tipo booleano.
Color de primer plano: En esta propiedad seleccionaremos el color del primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de base: En esta propiedad seleccionaremos el color de base del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color que tendrá el botón. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el color del control o aplicar un color opaco al mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Icono: Permite incluir dentro del control un dibujo declarado en el proyecto o de un proyecto heredado.
Tamaño del icono: Permite establecer cuál será el tamaño del dibujo dentro del control. Los valores posibles son:
Pequeño: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con un tamaño de 16×16 píxels.
Grande: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con un tamaño de 32×32 píxels.
Original: El dibujo seleccionado será mostrado dentro del botón, guardando la proporción alto/ancho original, con su tamaño original.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones de check, por defecto, no crecen en anchura.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones de check, por defecto, no crecen en altura.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
ComboBox
Permite ver los registros de una tabla estática a través de una lista desplegable y seleccionar uno.

El registro seleccionado será el que se muestre en primer lugar.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Podemos definir un texto por cada idioma presente en el proyecto
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Combo box.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Deberá ser un campo enlazado a una tabla estática.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color que tendrá el botón que despliega la lista. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color texto de botón: En esta propiedad seleccionaremos el color del texto del botón embebido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
ListBox
Permite mostrar en una caja una lista de los registros de una tabla estática y seleccionar uno. El registro seleccionado será el que se muestra destacado.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Podemos definir un texto por cada idioma presente en el proyecto
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es List box.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Deberá ser un campo enlazado a una tabla estática.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color que tendrán los botones que permiten recorrer la lista contenida en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color texto de botón: En esta propiedad seleccionaremos el color que tendrá el texto incluido en los botones que permiten recorrer la lista contenida en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Barras de scroll: Esta propiedad permite configurar la visualización de las barras de scroll o de desplazamiento embebidas en el control. Los valores posibles son:
Automático: Las barras de scroll solamente se verán en el caso de que el tamaño del control no permita ver la totalidad de su contenido.
Nunca: Las barras de scroll nunca serán mostradas.
Siempre: Las barras de scroll aparecerán siempre.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los list boxes, por defecto, no crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los list boxes, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Control objeto
Este control permite incluir dentro de un formulario una acción, desde la que podremos disparar tanto objetos aparcables como no aparcable. Un objeto aparcable es aquel que genera una vista (Rejilla, formulario, multivista, etc.).
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Control Objeto.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Fondo opaco: Esta propiedad permite hacer transparente el color del control o aplicar un color opaco al mismo.
Barras de scroll: Esta propiedad permite configurar la visualización de las barras de scroll o de desplazamiento embebidas en el control. Los valores posibles son:
Automático: Las barras de scroll solamente se verán en el caso de que el tamaño del control no permita ver la totalidad de su contenido.
Nunca: Las barras de scroll nunca serán mostradas.
Siempre: Las barras de scroll aparecerán siempre.
Objeto n: Permite seleccionar el objeto o la secuencia de objetos a incrustar en el control, mostrando como contenido del control el último objeto, que ha de ser aparcable. Podremos seleccionar cualquier objeto disparable declarado tanto en el proyecto actual como en un proyecto heredado; podremos encadenar varios objetos del mismo modo que se hace en una acción. Si queremos mostrar un contenido en el control, el último objeto disparado ha de ser un objeto aparcable (rejilla, formulario, casillero, multivista, etc.), en caso contrario, se ejecutará pero no se mostrará nada.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones , por defecto, no crecen en anchura.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones, por defecto, no crecen en altura.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Barra de progreso
Permite visualizar gráficamente el valor numérico de un campo o de una variable en tantos por ciento.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Barra de progreso.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente el contenido será un campo o una variable de tipo numérico.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Orientación: Para definir la disposición de la barra de progreso, que podrá ser horizontal o vertical.
Texto visible: Permite hacer que en el control se visualice, además de la barra de progreso, el porcentaje en cifras.
Mínimo y Máximo: Para que el sistema pueda calcular el porcentaje será necesario indicar cuáles serán los rangos mínimo y máximo que podrá tener el Contenido.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Las barras de progreso, por defecto, no crecen en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Las barras de progreso, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Deslizador
Permite alterar el valor numérico de un campo o de una variable de tipo numérico, mediante el botón de control de un deslizador.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Deslizador.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente el contenido será un campo o una variable de tipo numérico.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color del botón del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Orientación: Permite establecer la orientación del control, que podrá ser Horizontal o Vertical.
Mínimo y Máximo: Permite establecer los valores mínimo y máximo del deslizador.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los deslizadores, por defecto, no crecen en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los deslizadores, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Rueda
Permite editar de forma gráfica mediante el uso de una rueda, el valor numérico de un campo o de una variable de tipo numérico.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Rueda.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente el contenido será un campo o una variable de tipo numérico.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Orientación: La rueda podrá orientarse tanto horizontal:
como verticalmente:
.
Mínimo y Máximo: Permite establecer los valores mínimo y máximo del manómetro.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Este control, por defecto, crece en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Este control, por defecto, no crece en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Dial
Permite alterar el valor numérico de un campo o de una variable de tipo numérico, mediante un dial.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Dial.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Contenido: Permite establecer el contenido a editar en el control, éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Habitualmente el contenido será un campo o una variable de tipo numérico.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color del botón del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Mínimo y Máximo: Permite establecer los valores mínimo y máximo del deslizador.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los deslizadores, por defecto, no crecen en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los deslizadores, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Objeto dibujo
Edita el contenido de un campo de tipo objeto dibujo de la ficha en curso.
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Objeto dibujo.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Sólo lectura: Permite hacer que el contenido del control pueda ser visualizado pero no modificado.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Aspecto dibujo: Permite definir de qué forma será visualizado el dibujo dentro del área del control. Los valores posibles son:
Normal: El dibujo se presentará en su tamaño original, empezando a pintarse desde el borde superior izquierdo del control. Si éste es mayor que el tamaño del control, se verá truncado.
Escala: Cambiará el ancho y el alto del dibujo para adaptarlo la altura y anchura del control. Si no es proporcional el alto y el ancho del dibujo a la altura y la anchura del control, el dibujo se verá deformado.
Escala proporcionado: El dibujo se ampliará o reducirá para adaptarse al tamaño del control, pero conservando siempre la proporción alto/ancho. Si el tamaño del control es mayor que el tamaño del dibujo, es posible que éste se vea distorsionado al estirarse para adaptarse al tamaño del control.
Escala proporcionado expandiendo: El dibujo se ampliará o reducirá para adaptarse al tamaño del contro pero no de forma proporcional. Si el control no es redimensionado de forma proporcional al tamaño original del dibujo, su contenido quedará truncado.
Mosaico: El dibujo se presentará en su tamaño original pero repitiéndose horizontal y verticalmente a modo de mosaico hasta ocupartodo el área del control.
Campo objeto: Permite establecer el contenido a editar en el control, en este caso deberá ser un campo de tipo objeto dibujo.
Menú de contexto: Esta propiedad permite habilitar un menú de contexto con una serie de comandos para la edición de la imagen contenida en el control.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición, por defecto, crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Caja de texto
Permite editar el contenido de un campo de tipo objeto texto de la ficha en curso.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Caja de texto.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Sólo lectura: Permite hacer que el contenido del control pueda ser visualizado pero no modificado.
Contenido: Permite establecer el contenido a editar en el control, en este caso podrá ser tanto un campo de tipo objeto texto como cualquier fórmula que devuelva una cadena alfanumérica. Éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color que tendrán los botones contenidos en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Barras de scroll: Esta propiedad permite configurar la visualización de las barras de scroll o de desplazamiento embebidas en el control. Los valores posibles son:
Automático: Las barras de scroll solamente se verán en el caso de que el tamaño del control no permita ver la totalidad de su contenido.
Nunca: Las barras de scroll nunca serán mostradas.
Siempre: Las barras de scroll aparecerán siempre.
Menú de contexto: Esta propiedad permite habilitar un menú de contexto con una serie de comandos para la edición del texto contenido en el control.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de caja de texto, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de caja de texto, por defecto, crecerán en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Caja de texto enriquecido
Permite editar el contenido de un campo de tipo objeto texto enriquecido de la ficha en curso.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Caja de texto enriquecido.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Sólo lectura: Permite hacer que el contenido del control pueda ser visualizado pero no modificado.
Contenido: Permite establecer el contenido a editar en el control, en este caso podrá ser tanto un campo de tipo objeto texto enriquecido como cualquier fórmula que devuelva una cadena alfanumérica. Éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de base: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y/o seleccionar otro color.
Color de texto: En esta propiedad seleccionaremos el color que tendrá el texto contenido en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color que tendrán los botones contenidos en el control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de base.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Barras de scroll: Esta propiedad permite configurar la visualización de las barras de scroll o de desplazamiento embebidas en el control. Los valores posibles son:
Automático: Las barras de scroll solamente se verán en el caso de que el tamaño del control no permita ver la totalidad de su contenido.
Nunca: Las barras de scroll nunca serán mostradas.
Siempre: Las barras de scroll aparecerán siempre.
Barra de herramientas: Esta propiedad permite configurar la visualización de la barra de herramientas para la edición de texto embebida en el control. Los valores posibles son:
Ninguna: No se incluirá ninguna barra de herramientas.
Texto: Se incluirá la barra de herramientas y todos sus botones contendrán texto únicamente.
Iconos: Se incluirá la barra de herramientas y todos sus botones contendrán iconos únicamente.
Texto e iconos: Se incluirá la barra de herramientas y todos sus botones contendrán texto e iconos.
Menú de contexto: Esta propiedad permite habilitar un menú de contexto con una serie de comandos para la edición del texto contenido en el control.
Estilos de texto: Esta propiedad permite habilitar en la Barra de herramientas los comandos de estilos de texto.
Formato: Esta propiedad permite habilitar en la Barra de herramientas los comandos de formato de texto.
Alineación: Esta propiedad permite habilitar en la Barra de herramientas los comandos de alineamiento de texto.
Numeración y viñetas: Esta propiedad permite habilitar en la Barra de herramientas los comandos para la creación de numeración y viñetas en el texto a editar.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de texto enriquecido, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de texto enriquecido, por defecto, crecerán en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Visor HTML
Permite incrustar una URL dentro de un formulario.
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Visor HTML.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer el contenido a editar en el control, en este caso deberá ser la URL a incrustar en el formulario (Ejemplo: http://www.velneo.com). Ésta se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo.
Barras de scroll: Esta propiedad permite configurar la visualización de las barras de scroll o de desplazamiento embebidas en el control. Los valores posibles son:
Automático: Las barras de scroll solamente se verán en el caso de que el tamaño del control no permita ver la totalidad de su contenido.
Nunca: Las barras de scroll nunca serán mostradas.
Siempre: Las barras de scroll aparecerán siempre.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición, por defecto, crecerán en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los controles de edición, por defecto, no crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Película
Este control permite incluir un fichero AVI de audio y vídeo externo a la aplicación en un formulario.
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Película.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en la proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer el contenido a editar en el control, en este caso deberá ser la senda en disco del fichero AVI a visualizar. Ésta se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Fondo opaco: Esta propiedad permite hacer transparente el color del control o aplicar un color opaco al mismo.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones , por defecto, no crecen en anchura.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los botones, por defecto, no crecen en altura.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Separador formularios
Permite visualizar varios formularios en el mismo área. Cada formulario estará incluido en un separador o pestaña del control.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Deslizador.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color de las pestañas del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color texto de botón: En esta propiedad seleccionaremos el color del texto de las pestañas del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Posición de pestañas: Permite establecer la posición de las pestañas del control. Los valores posibles son:
Arriba.
Abajo.
Izquierda.
Derecha.
Tamaño del icono: Permite establecer cuál será el tamaño de los iconos que se asocien a cada pestaña que se declare en este control. Los valores posibles son:
Pequeño: Los dibujos declarados en cada pestaña del control serán serán mostrados guardando la proporción alto/ancho original, con un tamaño de 16×16 píxels.
Grande: Los dibujos declarados en cada pestaña del control serán serán mostrados guardando la proporción alto/ancho original, con un tamaño de 32×32 píxels.
Original: Los dibujos declarados en cada pestaña del control serán serán mostrados guardando la proporción alto/ancho original, con su tamaño original.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los separadores, por defecto, crecen en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Los separadores, por defecto, crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Subcontroles
Es necesario crear un subcontrol por cada pestaña que se desee incluir dentro del separador. Para añadir uno pulsaremos el botón
de la barra de objetos del vDevelop o a través del menú , opción Nuevo sub-objeto, opción Subcontrol.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del subcontrol. Es el texto que se presentará al usuario final de la aplicación como título de la pestaña. Podemos definir un texto por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Formulario: Esta propiedad nos permite seleccionar el formulario que será contenido dentro de la pestaña. Solamente estarán disponibles los formularios que tengan el mismo origen que el actual.
Icono: Permite incluir en la pestaña del separador un dibujo declarado en el proyecto o de un proyecto heredado.
Condición visible: Permite especificar una condición para que la pestaña sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Caja de formularios
Permite visualizar varios formularios dentro de una caja. Cada formulario estará incluido en un separador o pestaña del control.

Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Caja de formularios.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Borde: Permite establecer el tipo de borde del control. Los valores posibles son:
Ninguno.
Caja a nivel.
Caja hundido.
Caja a elevado.
Panel a nivel.
Panel hundido.
Panel elevado.
Con estilo a nivel.
Con estilo hundido.
Con estilo elevado.
Tamaño del borde: Permite establecer el grosor en píxels del borde del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de base: En esta propiedad seleccionaremos el color de base del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color de las pestañas del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color texto de botón: En esta propiedad seleccionaremos el color del texto de las pestañas del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Las cajas de formularios, por defecto, crecen en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Las cajas de formularios, por defecto, crecen en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Subcontroles
Es necesario crear un subcontrol por cada pestaña que se desee incluir dentro de la caja de formularios. Para añadir uno pulsaremos el botón
de la barra de objetos del vDevelop o a través del menú , opción Nuevo sub-objeto, opción Subcontrol.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al subcontrol. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del subcontrol. Es el texto que se presentará al usuario final de la aplicación como título de la pestaña. Podemos definir un texto por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Formulario: Esta propiedad nos permite seleccionar el formulario que será contenido dentro de la pestaña. Solamente estarán disponibles los formularios que tengan el mismo origen que el actual.
Icono: Permite incluir en la pestaña del separador un dibujo declarado en el proyecto o de un proyecto heredada.
Condición visible: Permite especificar una condición para que la pestaña sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Pila de formularios
Permite visualizar varios formularios en el mismo área. La diferencia con respecto a los controles separador de subformularios y caja de formularios es que éste control carece de separadores que permitan al usuario final acceder a un suformulario concreto.
Los subformularios contenidos en este control solamente podrán ser activados mediante el uso de comandos de procesos de Interfaz en eventos y conexiones de evento en el formulario que los contenga.
Este control podríamos usarlo, por ejemplo, para crear una estructura de formularios a modo de asistente.
Para crearlo pulsar el botón
de la barra de controles del editor de formularios, hacer un clic con el botón izquierdo del ratón dentro del área del formulario y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Pila de formularios.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tooltip: Permite especificar un texto que se presentará al usuario final de la aplicación cuando pase el cursor del ratón sobre el control. Podemos definir un texto por cada idioma presente en el proyecto.
Seleccionable con Tab: Permite que el control sea accesible cuando use el tabulador o el Intro para moverse de un control a otro dentro del formulario.
Condición visible: Permite especificar una condición para que el control sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición activo: Permite especificar una condición para que el control sea funcional. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de botón: En esta propiedad seleccionaremos el color de las pestañas del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color texto de botón: En esta propiedad seleccionaremos el color del texto de las pestañas del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Ancho en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Este control, por defecto, crece en anchura proporcionalmente a la anchura del formulario.
Fijo: El ancho del control será fijo, no variará para adaptarse a la anchura del formulario.
Proporcional: El ancho del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Alto en layout: Permite establecer cómo se comportará el control dentro del layout. Los valores posibles son:
Por defecto: Asume el comportamiento que tiene establecido el tipo de control en el sistema. Este control, por defecto, crece en altura proporcionalmente a la altura del formulario.
Fijo: La altura del control será fija, no variará para adaptarse a la altura del formulario.
Proporcional: La altura del control crecerá con el formulario siguiendo las mismas proporciones establecidas en el editor con respecto al resto de los controles del layout.
Subcontroles
Es necesario crear un subcontrol por cada subformulario que se desee incluir dentro de la pila de formularios. Para añadir uno pulsaremos el botón
de la barra de objetos del vDevelop o a través del menú , opción Nuevo sub-objeto, opción Subcontrol.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del subcontrol.Podemos definir un texto por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del subcontrol.
Formulario: Esta propiedad nos permite seleccionar el formulario que será contenido dentro de la pestaña. Solamente estarán disponibles los formularios que tengan el mismo origen que el actual.
Icono: Esta propiedad no es aplicable para este control.
Condición visible: Permite especificar una condición para que el sub-formulario sea visible. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Layout
Los controles de layout del objeto Formulario permiten distribuir, ajustar el tamaño y alinear, de manera organizada y automática, los controles que contienen, permitiendo además organizar otros controles de layout contenidos. Facilitan el ajuste de los controles al contenido, adaptándose a los nombres y contenidos, incluyendo multi-idioma, ajustándose los tamaños en función de la traducción correspondiente, además de ajustar el alto y ancho en función del tamaño del formulario, según la pantalla o el tamaño a que se redimensione éste en modal.
También distribuyen los controles en el formulario teniendo en cuenta condiciones de visibilidad, haciendo que unos controles ganen el espacio de los controles que no se visualizan.
Las propiedades de un control de tipo layout son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación para referenciar el control. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Layout.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en píxeles, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en píxeles, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tipo de layout: Permite configurar el tipo de layout para la distribución, organización y gestión del tamaño de los layouts y controles que contenga.
Horizontal: Los layouts y controles que contiene el layout se distribuyen horizontalmente.
Vertical: Los layouts y controles que contiene el layout se distribuyen verticalmente.
Grid: Los layouts y controles que contiene el layout se distribuyen como celdas en una rejilla.
Alineamiento horizontal: Los layouts y controles que contiene el layout se distribuyen horizontalmente en función de los valores posibles:
Izquierda: Los layouts y controles se distribuyen horizontalmente alineados hacia la izquierda.
Derecha: Los layouts y controles se distribuyen horizontalmente alineados hacia la derecha.
Centrado: Los layouts y controles se distribuyen horizontalmente centrados.
Justificado: Los layouts y controles se distribuyen horizontalmente justificados.
Alineamiento vertical: Los layouts y controles que contiene el layout se distribuyen verticalmente en función de los valores posibles:
Arriba: Los layouts y controles se distribuyen verticalmente alineados hacia arriba.
Abajo: Los layouts y controles se distribuyen verticalmente alineados hacia abajo.
Centrado: Los layouts y controles se distribuyen verticalmente centrados.
Espaciado: Espacio de separación en píxeles entre los layouts y controles que se distribuyen en el layout.
Margen izquierdo: Espacio de separación en píxeles entre el borde izquierdo del formulario y los layouts y controles que se distribuyen en el layout.
Margen derecho: Espacio de separación en píxeles entre el borde derecho del formulario y los layouts y controles que se distribuyen en el layout.
Margen superior: Espacio de separación en píxeles entre el borde superior del formulario y los layouts y controles que se distribuyen en el layout.
Margen inferior: Espacio de separación en píxeles entre el borde inferior del formulario y los layouts y controles que se distribuyen en el layout .
Uso de layouts

Hay dos tipos de controles de layout. Por un lado el control específico de layout, que permite tres opciones agrupadoras: Layout horizontal, layout vertical, layout rejilla, y por otro lado un control de espaciado que permite dos opciones: espaciador fijo, espaciador expandible.
Cada una de las tres opciones de layout distribuye los controles que contienen bien en horizontal, bien en vertical, bien en cuadrícula, pudiendo cambiar el tipo de layout en cualquier momento.
La opción de espaciador fijo permite generar un espacio de tamaño fijo, mientras que el espaciador expandible genera un espacio que crecerá con el formulario.
El anidamiento de controles de layout permite organizar los controles de forma más eficiente, ya que un control de layout también organiza los controles de layout que contiene.

El formulario y los controles de formulario, además de los layouts, tienen propiedades de layout. En el formulario podemos configurar si la agrupación generada por éste será vertical, horizontal o grid.
Cómo se comportarán los controles dentro de un layout lo podemos configurar en el propio layout, usando para ello las propiedades ancho en layout y alto en layout, siendo fijo, por defecto o proporcional las opciones disponibles, bien para horizontal o bien para vertical.
Así, por defecto los controles se comportarán de acuerdo al tipo: los editores de campo crecerán a lo ancho y no a lo alto de forma proporcional, mientras que las cajas de texto lo harán tanto a lo ancho como a lo alto. Pero podremos asignarles las opciones fijo o proporcional según queramos modificar el comportamiento por defecto del control.
Tanto el formulario como los layouts indican por medio de una flecha la dirección en la que distribuyen los elementos que están incluidos. Para alinear los elementos dentro de un layout debemos definir la propiedad alineamiento vertical y horizontal, que nos permite organizar los controles hacia la izquierda, hacia la derecha, centrado o justificado. Esta opción está disponible tanto para los controles de layout como para el formulario.
La opción de aplicar layout
de la barra de herramientas nos permite ver cómo se organizará el formulario en ejecución. Pulsando en el fondo del formulario y usando la tecla Fin podremos ver también cómo se adaptarán los controles del formulario en ejecución tanto al tamaño como a las etiquetas, incluyendo multi-idioma, pudiendo modificar el tamaño del formulario para ver cómo se adaptan los controles al nuevo tamaño.

En el formulario de ejemplo el tipo de layout es vertical, para que distribuya en esa dirección los controles que contiene. El primer layaout es de tipo grid, para que organice los controles en forma de rejilla.

El segundo layout tiene otros dos layouts que organiza de forma horizontal y que contienen a su vez controles que distribuye de forma vertical, de forma que la imagen quedará en paralelo con las dos cajas de texto, estando estas últimas una encima de la otra.

El último de los layout agrupa los botones, alineándolos a la derecha con ayuda de la propiedad alineamiento horizontal.

Todos los controles tienen ancho y alto en layout por defecto.
Aplicando el layout o pulsando fin sobre el fondo del formulario nos permitirá ver el resultado.

Si cambiamos el tamaño del formulario o lo visualizamos en un idioma distinto, los controles se ajustarán a la nueva configuración.

Y en ejecución, teniendo en cuenta incluso las condiciones de visibilidad de los distintos controles y ganando el resto de los controles el espacio que ocupen los que no son visibles.
Espaciador
El Espaciador gestiona el espacio que ocupa en los layouts permitiendo o no que crezca o disminuya en función de las necesidades del resto de controles para adaptarse al tamaño del formulario.
Las propiedades de un control de tipo espaciador son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al usuario final de la aplicación para referenciar el control. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Espaciador.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en píxeles, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en píxeles, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Tipo de espaciador: El espacio que ocupa el espaciador se gestiona en función de los valores posibles:
Espaciador fijo: El espacio es fijo y no permite ni crecer ni que se haga más pequeño como consecuencia de la modificación de tamaño del formulario.
Espaciador expandible: El espacio es modificable, permitiendo crecer o hacerse más pequeño de acuerdo a las necesidades del resto de controles cuando se modifica el tamaño del formulario.
Nota: Los espaciadores no son funcionales dentro de layouts de tipo grid.
Búsqueda
Es el objeto que sirve para realizar consultas en las tablas de datos.
Para crear una búsqueda hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de una búsqueda son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca una búsqueda dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarla en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca una búsqueda no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor de la búsqueda. Se usará para presentar información de la búsqueda en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre la búsqueda, y Heredable, que permite que la búsqueda sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso de la búsqueda.
Tabla asociada: Tabla de un proyecto de datos heredado sobre la que se va a realizar la búsqueda.
Formulairo: Si hemos diseñado un formulario para petición de datos a buscar, lo seleccionaremos en esta propiedad. El formulario deberá tener su origen en la misma tabla que la búsqueda.
Invertir lista: Permite hacer que se muestre el resultado de la búsqueda en orden inverso.
Fórmula filtro: Permite especificar una condición de filtrado secuencial, una fórmula condicional que deberá cumplir cada registro para ser incluido en la lista final de registros. El filtro se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Las búsquedas están compuestas por Componentes de búsqueda que permiten definir tanto el índice o índices por los que se realizará la búsqueda como el modo en el que ésta será realizada.
Un componente de búsqueda se crea pulsando la opción
. Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un componente de búsqueda dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarla en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un componente búsqueda no puede haber duplicidad dentro de la misma búsqueda.
Nombre: Etiqueta alfanumérica que servirá como descriptor del componente de búsqueda. Se usará para presentar información del mismo en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el componente, y Heredable, que permite que el componente de búsqueda sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del componente.
Mezcla: En búsquedas en las que se declare más de un componente, en este parámetro especificaremos la forma de combinar la lista resultante de la ejecución del componente en curso con la del anterior. Hay tres formas de combinar:
Cruzar: La lista final estará compuesta por los registros que se repiten en las dos listas.
Añadir: El resultado es una lista con los registros que pertenecen al primer componente o al segundo. Si un registro pertenece a los dos componentes, sólo aparecerá una vez en la lista final.
Quitar: El resultado es una lista con los registros que pertenecen al primer componente quitando los que también pertenecen al segundo.
Condición activo: Permite especificar una condición para que el componente sea ejecutado. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Índice: Esta propiedad nos permite seleccionar el índice de la tabla asociada a la búsqueda por el que se buscará en ese componente.
Modo: Permite definir el modo en el que se realizará la búsqueda por el índice seleccionado en el componente. Hay tres modos posibles:
Todo el fichero: El resultado de la búsqueda serán todos los registros de la tabla (exceptuando los excluidos debido al filtro secuencial establecido en la propiedad Fórmula filtro de la búsqueda, si está definido). En este caso, como es lógico, no es necesario especificar un formulario para pedir datos ni declarar los datos iniciales de búsqueda.
Parte izquierda de la clave: Realiza la búsqueda de los registros cuya parte izquierda de la clave coincida con la introducida por el usuario en el Formulario para pedir datos. Se pueden especificar tantos campos (partes) de la clave como sean necesarios. Es posible establecer un valor inicial para ese modo de búsqueda en la propiedad Límite inicial que se muestra al seleccionar este modo de búsqueda.
Entre límites: Realiza la búsqueda de los registros cuya clave esté comprendida entre dos límites, inicial y final. Estos límites podrán ser establecidos o bien en el formulario para pedir datos de la búsqueda o bien de forma directa en las propiedades Límite inicial y Límite final que se muestran al seleccionar este modo de búsqueda.
Es posible declarar variables locales en la búsqueda. Para ello, estando activo el panel de propiedades de la búsqueda, pulsar el botón
de la barra de objetos de Velneo vDevelop V7.
Localizador
Un
localizador es el objeto de proyecto de aplicación que permite localizar registroshaciendo uso de los índices existentes en la tabla, de acuerdo a los caracteres introducidos, y retornando la ficha seleccionada por el usuario de entre los registros encontrados. Para ello debe tener una tabla asociada de la que podrá presentar los registros.

Podemos hacer que un localizador use todos los índices o bien definir qué índices de entre los disponibles usar, creando los subobjetos Índices de localizador. En este último caso, además, podremos seleccionar el formulario de entrada de los datos y definir el orden en que se presentarán los índices.
Como entrada tiene origen ninguno y salida el localizador tiene Ficha de la tabla asociada.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de un localizador son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un localizador dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un localizador no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del localizador. Se usará para presentar información del localizador en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al localizador, y Heredable, que permite que el localizador sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del localizador.
Tabla asociada: Tabla de un proyecto de datos heredado cuyos registros van a ser localizados.
Rejilla: Rejilla que será usada para presentar el listado de registros resultante.
Todos los índices:
Falso: Debemos definir qué índices existentes en la tabla usaremos en el localizador. Para ello debemos crear subobjetos del localizador.
Verdadero: Se usarán todos los índices existentes en la tabla en el localizador. No necesitaremos crear subobjetos.
Para crear un subobjeto Índice de localizador pulsaremos el botón de Nuevo sub-objeto
de la barra de herramientas de objetos.
El subobjeto Índice de localizador tiene las siguientes propiedades:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un índice de localizador dentro del localizador. Este identificador será el que usemos para referenciarlo en otras propiedades.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un índice de localizador no puede haber duplicidad dentro del localizador.
Nombre: Etiqueta alfanumérica que servirá como descriptor del índice del localizador. Se usará para presentar información del índice del localizador en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al índice del localizador, y Heredable, que permite que el índice del localizador sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del índice del localizador.
Índice: Índice de la tabla asociada del localizador que será usado para resolver.
Formulario: Formulario de la tabla asociada del localizador que será usado para la introducción de los datos.
Lupa
Este objeto se utiliza para crear condiciones de filtrado de listas.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de una lupa son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca una lupa dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarla en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca una lupa no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor de la lupa. Se usará para presentar información de la lupa en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre la lupa, y Heredable, que permite que la lupa sea usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso de la lupa.
Tabla asociada: Tabla de un proyecto de datos heredado sobre la que se va a realizar el filtro.
Formulario: Si hemos diseñado un formulario para petición de datos para el filtrado, lo seleccionaremos en esta propiedad. El formulario deberá tener su origen en la misma tabla que la lupa.
Fórmula filtro: Permite especificar la condición del filtrado secuencial. El filtro se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Árbol visor de tablas
El árbol visor de tablas arboladas es un objeto que sirve para presentar, en distintos niveles, la información de una tabla de datos Maestra con clave arbolada. Los árboles presentan la información de este tipo de tablas de una forma gráfica (se incluyen líneas, imágenes…), visualizando de forma clara los niveles en los que se encuentra estructurada la información.

El árbol siempre va asociado a una tabla de un proyecto de datos heredado. El flujo es Lista de la tabla asociada tanto para la entrada como para la salida.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del árbol. Es el texto que se presentará al usuario final de la aplicación para referenciar al árbol. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos siguientes:
Privado que limita el acceso del usuario final a la rejilla.
Heredable, que permite que la rejilla pueda ser usada cuando el proyecto sea heredado.
Arrastrable para copiar: Cuando la rejilla va a ser el origen en un evento de drag and drop, si está activado este estilo, en ejecución los items arrastrados no serán quitados de la misma tras ejecutar el evento de drop.
Arrastrable para mover: Cuando la rejilla va a ser el origen en un evento de drag and drop, si está activado este estilo, en ejecución los items arrastrados serán quitados de la misma tras ejecutar el evento de drop.
Comentarios: Esta propiedad nos permite documentar el uso del árbol.
Tabla asociada: Tabla de un proyecto de datos heredado cuyos registros van a ser visualizados en el árbol.
Ver botones +-: Esta propiedad nos permite visualizar u ocultar los botones + – que aparecen en cada nodo del árbol y que permite desplegar y plegar una rama del árbol, respectivamente.
Ver imágnes: Esta propiedad nos permite mostrar u ocultar un icono en cada rama del árbol.
Ver campo código: Esta propiedad nos permite mostrar u ocultar el campo código de cada registro visualizado en cada rama del árbol.
Orden alfabético: Esta propiedad nos permite ordenar el contenido del árbol alfabéticamente.
Formulario de alta: Formulario del proyecto en curso o de un proyecto heredado que será usado para dar de alta una ficha desde el árbol.
Formulario de modificación: Formulario del proyecto en curso o de un proyecto heredado que será para editar una ficha desde el árbol.
Formulario de baja: Formulario del proyecto en curso o de un proyecto heredado que será para eliminar una ficha desde el árbol.
Tipo de menú de contexto: El menú de contexto es el que aparece cuando el usuario final hace clic con el botón derecho del ratón. Los valores posibles son:
Ninguno: El árbol carecerá de menú de contexto.
Por defecto: El árbol dispondrá de un menú de contexto creado automáticamente por el sistema.
Personalizado: El menú de contexto del árbol será un objeto menú contenido en el proyecto.
Menú de contexto: Esta propiedad solamente estará disponible cuando el valor de la propiedad Tipo de menú de contexto sea Personalizado. Nos permitirá seleccionar el objeto menú que queramos usar como menú de contexto del árbol.
Toolbar: Esta propiedad permite asociar una toolbar al árbol.
Posición de la toolbar: Esta propiedad permite indicar la posición donde se mostrará la toolbar seleccionada en la propiedad anterior. Los valores posibles son:
Arriba: La toolbar será mostrada en la parte superior del árbol.
Abajo: La toolbar será mostrada en la parte inferior del árbol.
Casillero
El casillero es un objeto que sirve para presentar listas de registros de las tablas.

El casillero siempre va asociado a una tabla de un proyecto de datos heredado. El flujo es Lista de la tabla asociada tanto para la entrada como para la salida.
El casillero esta compuesto por una serie de celdas (casillas) distribuidas en forma de filas y columnas. Una celda se corresponde con un registro de una tabla. Una celda permitirá mostrar un formulario concreto de un registro concreto de la tabla a la que pertenece el casillero. Cada celda a su vez es un botón que permite disparar un comando al hacer clic sobre él.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del casillero. Es el texto que se presentará al usuario final de la aplicación para referenciar el casillero.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos siguientes:
Privado que limita el acceso del usuario final a la rejilla.
Heredable, que permite que la rejilla pueda ser usada cuando el proyecto sea heredado.
Arrastrable para copiar: Cuando la rejilla va a ser el origen en un evento de drag and drop, si está activado este estilo, en ejecución los items arrastrados no serán quitados de la misma tras ejecutar el evento de drop.
Arrastrable para mover: Cuando la rejilla va a ser el origen en un evento de drag and drop, si está activado este estilo, en ejecución los items arrastrados serán quitados de la misma tras ejecutar el evento de drop.
Comentarios: Esta propiedad nos permite documentar el uso del casillero.
Tabla asociada: Tabla de un proyecto de datos heredado cuyos registros van a ser visualizados en el casillero.
Formulario: Formulario del proyecto en curso o de un proyecto heredado que será usado para mostrar cada ficha en cada celda del casillero.
Columnas: Esta propiedad nos permite definir el número de colunmas de tendrá cada fila del casillero.
Tipo de menú de contexto: El menú de contexto es el que aparece cuando el usuario final hace clic con el botón derecho del ratón. Los valores posibles son:
Ninguno: El casillero carecerá de menú de contexto.
Por defecto: El casillero dispondrá de un menú de contexto creado automáticamente por el sistema.
Personalizado: El menú de contexto del casillero será un objeto menú contenido en el proyecto.
Menú de contexto: Esta propiedad solamente estará disponible cuando el valor de la propiedad Tipo de menú de contexto sea Personalizado. Nos permitirá seleccionar el objeto menú que queramos usar como menú de contexto del casillero.
Comando: El comando es la instrucción que se ejecuta cuando el usuario final hace clic con el botón izquierdo del ratón sobre una celda del casillero. Los valores posibles son:
Ninguno: No hará nada.
Editar formulario: Se eidtará el formulario asignado al casillero para la modificación de la ficha correspondiente a la celda pulsada. La edición del formulario se hará en la propia celda.
Ejecutar proceso: Se ejecutará un objeto proceso contenido en el proyecto.
Proceso: Esta propiedad solamente estará disponible cuando el valor de la propiedad Comando sea Ejecutar proceso. Nos permitirá seleccionar el objeto proceso que queramos usar como acción al pulsar sobre una celda del casillero. Este objeto proceso deberá tener como origen ficha de la Tabla origen del casillero.
Toolbar: Esta propiedad nos permitirá seleccionar el objeto toolbar que queramos adjuntar al casillero.
Posición de la toolbar: Esta propiedad solamente estará disponible cuando se haya seleccionado un objeto toolbar en la propiedad Toolbar. Nos permitirá seleccionar la posición donde se aparcará el objeto toolbarLos valores posibles son:
Arriba: Se aparcará en la parte superior del casillero.
Abajo: Se aparcará en la parte inferior del casillero.
Multivista
Un
multivista es el objeto de proyecto de aplicación que permite presentar varios objetos sincronizados en función de su entrada y salida. Los objetos pueden presentarse de forma sincronizada, en forma de asistente o como árbol en el que cada nivel contendrá los elementos de cada objeto. La sincronización entre objetos se realiza por medio de procesos con entrada y salida correspondientes.
Como entrada tiene origen lista y una tabla asociada y como salida la misma lista que como entrada.

De esta manera, permite la navegación entre registros, administrando el flujo mediante procesos que son los encargados de sincronizar los objetos.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de un multivista son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un objeto dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al objeto y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tabla asociada: Tabla de un proyecto de datos que define la entrada del multivista (y por ende la salida).
Modo: Forma en que se presentará el multivista.
Multiobjeto: Presentará los objetos sincronizados en paralelo.
Árbol: Los registros se presentarán en forma de árbol, siendo cada nivel de las ramas del árbolo los registros pertenecientes a cada objeto.
Wizard: Los objetos se presentarán en forma de asistente, y en cada paso de este se realizará la sincronización del objeto anterior con el siguiente.
Objeto: Objeto que se presentará. En el caso del modo árbol no se presentará el objeto si no los elementos que contiene en el nivel correspondiente de la rama del árbol. Se presentará una nueva propiedad Objeto cada vez que se defina un nuevo proceso sincronizador.
Proceso sincronizador: Proceso que determinará la sincronización de un objeto con el siguiente. Deberá tener como entrada la salida del anterior objeto, y como salida, la entrada del siguiente. De esta forma el objeto anterior alimenta la entrada del proceso, y a su vez el proceso alimenta la entrada del siguiente proceso con su salida. Se presentará una nueva propiedad Proceso sincronizador cada vez que se defina un nuevo objeto.
Toolbar: Toolbar asociada al objeto multivista que se adjuntará en su visualización.
Posición de la toolbar: Posición que ocupará la toolbar en el objeto multivista.
Arriba: La toolbar se presentará en la parte superior del multivista.
Abajo: La toolbar se presentará en la parte inferior del multivista.
Bloc de formularios
Se trata de un objeto que nos permite editar en un formulario, una a una, una lista de registros de una tabla.

El bloc de formularios siempre va asociada a una tabla de un proyecto de datos heredado. El flujo es Lista de la tabla asociada tanto para la entrada como para la salida.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Es el texto que se presentará al usuario final de la aplicación para referenciar al objeto. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al objeto, y Heredable, que permite que el objeto pueda ser usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del bloc de formularios.
Tabla asociada: Tabla de un proyecto de datos heredado que alimentará al bloc de formularios.
Formulario: En esta propiedad especificaremos el formulario que será usado en el bloc de formularios. El origen del mismo ha de ser la tabla seleccionada en la propiedad anterior.
Tipo de menú de contexto: El menú de contexto es el que aparece cuando el usuario final hace clic con el botón derecho del ratón. Los valores posibles son:
Ninguno: El bloc de formularios carecerá de menú de contexto.
Por defecto: El bloc de formularios dispondrá de un menú de contexto creado automáticamente por el sistema.
Personalizado: El menú de contexto del bloc de formularios será un objeto menú contenido en el proyecto.
Cambios en ficha: En esta propiedad indicaremos cómo se ha de comportar el progarma si el usuairo realiza modificaciones en una ficha y se mueve a otra. Los valores posibles son:
Pregunta: El sistema preguntará al usuario si quiere guardar los cambios de la ficha modificada.
Acepta: El sistema guardará automáticamente los cambios efectuados en la ficha.
Cancela: El sistema cancelará automáticamente los cambios efectuados en la ficha.
Toolbar: Este parámetro nos permite asociar un objeto toolbar al bloc de formularios.
Informe
Los informes se utilizan habitualmente para enviar información de tablas de datos a una impresora o a un documento de disco.
Los informes pueden estructurarse en varias partes o secciones. Una sección es una división dentro de un informe que define un área independiente y programable de éste.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de este objeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tabla asociada: Tabla de un proyecto de datos heredado cuyos registros van a ser creados, modificados o visualizados en el formulario. Un informe siempre ha de estar asociado a una tabla de datos y para poder ser impreso siempre deberá estar alimentado por una lista de registros.
Salida por defecto: Configura cuál va a ser la salida por defecto del ojeto. Los valores posibles son:
Cuadro de selección de impresora: Siempre que se ejecute el informe se presentará la ventana de selección de impresora del sistema operativo para que el usuario pueda seleccionar la impresora por la que imprimirlo.
Impresora por defecto: Siempre que se ejecute el informe será enviado a la impresora por defecto del sistema operativo.
Impresora lógica: Siempre que se ejecute el informe será enviado la impresora del sistema que el usuario haya asociado a una impresora lógica definida en el proyecto en curso o en los proyectos heredados.
Presentación preliminar: Siempre que se ejecute el informe no será enviado directamente a una impresora sino que se hará una previsualización del mismo.
Fichero: Siempre que se ejecute el informe será guardado en disco en un archivo con formato PDF (Portable Document Format) o PS (Postscript).
Impresora lógica: Permite seleccionar una de las impresoras lógicas definidas en el proyecto en curso o en los proyectos heredados para que el informe siempre sea lanzado a la impresora física que el usuario final conecte a esa impresora lógica en tiempo de ejecución.
Ruta del fichero: Esta propiedad nos permite establecer la senda -directorio, nombre y extensión- donde se guardará el archivo cuando la salida sea a un fichero. Si se deja vacío este parámetro, el sistema solicitará al usuario la senda cada vez que se genere el fichero.
Resolución PDF/PS: Esta propiedad nos permite establecer la resolución del archivo cuando la salida sea a un fichero. Los valores posibles son Pantalla o Alta.
Orientación: Esta propiedad nos permite establecer la orientación del informe, que podrá ser Horizontal o vertical.
Tamaño de papel: Esta propiedad especificaremos el tipo de papel para que el vamos a diseñar el informe. Los valores posibles son:
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
C5E
Comm10E
DLE
Executive
Folio
Ledger
Legal
Letter
Tabloid
Margen: Permite configurar los márgenes del informe. Los valores posibles son:
Ninguno: Al informe sólo se le aplicarán los márgenes mínimos de la impresora. Estos márgenes son invariables y el usuario final no podrá modificarlos.
Por defecto: Al informe que se le haya aplicado esta propiedad, se le aplicarán los márgenes que el usuario haya definido como márgenes por defecto en Velneo vClient.
Fijo: Al informe se le aplicarán los márgenes que definamos en el informe. Son invariables y el usuario final no podrá modificarlos.
Margen izquierdo: Esta propiedad solamente estará disponible sin en la propiedad Margen hemos declarado el valorFijo. Nos permite establecer, en píxels, el margen izquierdo del informe.
Margen derecho: Esta propiedad solamente estará disponible sin en la propiedad Margen hemos declarado el valorFijo. Nos permite establecer, en píxels, el margen derecho del informe.
Margen superior: Esta propiedad solamente estará disponible sin en la propiedad Margen hemos declarado el valorFijo. Nos permite establecer, en píxels, el margen superior del informe.
Margen inferior: Esta propiedad solamente estará disponible sin en la propiedad Margen hemos declarado el valorFijo. Nos permite establecer, en píxels, el margen inferior del informe.
Columnas de detalle: El detalle es la sección de un informe que se repetirá por cada ficha de la lista que alimente al informe. Esta propiedad permite especificar el número de columnas que tendrá la sección de detalle. El valor por defecto es 1. Esta propiedad es muy útil para crear informes de etiquetas; por ejemplo, si se va a crear etiquetas de tres columnas, especificará 3 en esta propiedad.
Dibujo de fondo: (no funcional en la versión actual) Objeto Dibujo que se usará como fondo del informe a modo de marca de agua.
Aspecto de dibujo: En el caso de que hayamos seleccionado un Objeto Dibujo para que se presente como Dibujo de fondo, podremos especificar la forma en que se presente:
Normal: El dibujo se muestra con el tamaño original.
Escala: El dibujo se muestra ajustado al tamaño del papel. Si el ancho y alto del dibujo no son proporcionales el dibujo se verá deformado si el tamaño del papel no tiene la misma relación de aspecto.
Escala proporcionado: El dibujo se muestra a escala proporcional ajustado al tamaño del papel, sin superar el tamaño de éste. Si el dibujo es pequeño y el papel es grande se verá distorsionado al estirarse para adaptarse al tamaño del mismo.
Escala proporcionado expandiendo: El dibujo se muestra a escala proporcional ajustado al tamaño del papel, superando el tamaño del mismo si es necesario para rellenar el papel por completo. Si el dibujo es pequeño y el papel es grande se verá distorsionado al estirarse para adaptarse al tamaño del mismo.
Mosaico: El dibujo se muestra con el tamaño original repetido horizontal y verticalmente las veces necesarias para rellenar por completo el fondo del informe.
Modo de presentación preliminar: Permite configurar de qué forma se iniciará la presentación preliminar del informe:
Una página: Se previsualizará una única página.
Dos páginas: Se previsualizarán dos páginas al mismo tiempo.
Todas las páginas: Se previsualizarán todas las páginas del informe al mismo tiempo.
Zoom presentación preliminar: Permite configurar el zoom que se aplicará por defecto en la presentación preliminar de una página:
Página completa: Se presentará la página completa.
Ancho de página: Se ampliará el informe según la anchura de pantalla disponible, mostrando siempre el ancho del mismo en su totalidad.
Agrupamiento
Los agrupamientos fuerzan rupturas en el informe por el cambio del contenido de un campo. campo.
Un agrupamiento implica la ordenación de los registros a imprimir en el informe por dicho campo.
Para añadir una sección a un informe pulsaremos el botón
de la barra de herramientas de Velneo vDevelop V7 o del panel de subobjetos.
Las propiedades de este subobjeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al subobjeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del subobjeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del subobjeto.
Campo: Esta propiedad nos permite establecer cuál será el campo que usaremos para agrupar el informe. Podrá tratarse tanto de un campo de la tabla asociada al informe como de sus tablas maestras.
Orden: Esta propiedad nos permite definir si los registros a imprimir serán ordenados por dicho campo de forma ascendente (de menor a mayor) o Descendente (de mayor a menor).
En un informe podremos crear más de un agrupamiento. Si creamos más de uno, la lista será ordenada en primera instancia por el el primer agrupamiento de la lista de agrupamientos del informe. O dicho de otra forma, los agrupamientos seguirán el orden que tengan establecido éstos en el informe. El primero será el agrupamiento principal, el segundo un subagrupamiento del anterior y así sucesivamente. Si, por ejemplo, en un informe creamos dos agrupamientos (por este mismo orden): Fecha y Hora, todos los registros serán ordenados por la fecha en primera instancia y subagrupados, dentro de la fecha, por hora.
Sección
Una sección es una división dentro de un informe que define un área independiente y programable de éste. Cuando creamos un nuevo informe Velneo siempre lo crea con una única sección de tipo Detalle.
Para añadir una sección a un informe pulsaremos el botón
de la barra de herramientas de Velneo vDevelop o del panel de subobjetos.
Las propiedades de este subobjeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al subobjeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del subobjeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tipo de sección: Esta propiedad nos permite establecer qué tipo de divisón que vamos a crear. Los tipos posibles son:
Cabecera de informe: Lo contenido en esta sección será impreso una única vez al comienzo del informe.
Cabecera de página: Lo contenido en esta sección será impreso al comienzo de cada página del informe. Si en el informe hemos declarado una cabecera de informe, la cabecera de página será impresa inmediatamente detrás de la anterior y antes de la sección de detalle.
Cabecera de agrupamiento: Lo contenido en esta sección será impreso cada vez que cambie el valor del campo por el que se haya declarado un agrupamiento y antes de la sección de detalle. En esta sección podríamos incluir, por ejemplo, los datos del campo por el que hacemos el agrupamiento.
Detalle: En esta sección se especifica la manera de presentar la información de un único registro de la tabla de origen. En ejecución se imprimirán tantas líneas de detalle como registros contenga la lista que alimente al informe. Si el total de las líneas de detalle a imprimir es mayor que el tamaño del papel, se forzará un salto de página continuando en la hoja siguiente.
Pie de agrupamiento: Lo contenido en esta sección será impreso inmediatamente depués de haberse impreso la última línea de detalle de un agrupamiento. En esta sección podríamos, por ejemplo, totalizar los acumulados del agrupamiento.
Pie de página: Lo contenido en esta sección será impreso al final de cada página del informe.
Pie de informe: Lo contenido en esta sección será impreso una única vez tras la impresión de la última línea de datelle del informe. Si se ha declarado alguna sección de pie de agrupamiento ésta será impresa antes que el pie del informe.
Ancho: Esta propiedad nos permite estabecer la anchura de la sección en píxels.
Alto: Esta propiedad nos permite estabecer la altura de la sección en píxels.
Condición visible: Permite especificar una condición para que la sección sea visible en el informe. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Salto de página: Permite especificar una condición para que la sección fuerce un salto de página tras su impresión. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Si se ha establecido una condición visible en la sección, si ésta no se cumple, no será evaluada la fórmula de éste parámetro, o dicho de otra forma, no se ejecutará el salto de página.
Puede partirse: Si esta propiedad está activada, si la sección completa no cabe en la página, se imprimirá lo que quepa en la página en curso y el resto será impreso en la siguiente; si la propiedad no está activada, se truncará el contenido de la misma, solamente se imprimirá lo que quepa en la página en curso.
Para saber cómo incluir la información a imprimir en cada sección, consultar el capítulo dedicado al editor de informes.
Editor de informes
Velneo vDevelop V7 incorpora un editor visual para facilitar la creación de un informe. Para abrirlo bastará con hacer doble clic sobre un objeto de tipo informe y será mostrado en el panel central de Velneo vDevelop V7.
El informe será creado inicialmente con una única Sección de tipo detalle.

Como puede observarse, tanto a la derecha como en la parte inferior de la sección se muestras una línea de puntos. La que se encuentra a la derecha de una sección nos permitirá modificar el ancho del informe. La de la parte inferior nos permitirá tanto aumentar como reducir la altura de la sección. El editor incluye dos reglas una horizontal y otra vertical que muestran, en centímetros, la anchura y la altura del informe.
Las secciones de un informe son independientes entre sí a nivel de edición, esto quiere decir, que si queremos hacer una selección múltiple de controles, por ejemplo, no podremos seleccionar controles de distintas secciones, todos deben pertencer a la misma sección.
Cuando en un informe hemos declarado más de una sección, la que se encuentre activa en ese momento se distinguirá del resto por mostrar el fondo del título de la sección en azul:

El editor incluye una barra desde la que se podrán crear los distintos controles que formarán parte del informe. Los controles posibles son:
Modo de edición: Este comando se usa para mover controles o para cambiar su tamaño.
Texto: Permite incluir una etiqueta de texto estático o el contenido de un campo, variable, etc.
Caja de texto enriquecido: Permite visualizar el contenido de un campo de tipo objeto texto enriquecido de la ficha en curso o de cualquier tabla enlazada. (no funcional en la versión actual)
Dibujo: Permite incluir un objeto de tipo dibujo en un informe.
Objeto dibujo: Edita el contenido de un campo de tipo objeto dibujo de la ficha en curso o de cualquier tabla enlazada.
Figura: Permite insertar figuras en un informe.
Subinforme: Permite insertar otro objeto informe en un informe. (no funcional en la versión actual)
Código de barras: Permite insertar un código de barras en un informe.
Secuencias de escape: Este control permite enviar secuencias de escape directamente a la impresora. (no funcional en la versión actual)
Para crear un control en una sección seleccionar el comando adecuado de la barra de controles del editor de informes. Una vez seleccionado el control, hacer un clic con el botón izquierdo del ratón dentro del área de la sección y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Para cambiar el tamaño de un control hacer un clic con el botón izquierdo del ratón sobre el mismo, esto hará que el control aparezca seleccionado y rodeado por una serie de cuadraditos rojos, llamados trackers, hacer clic sobre uno de ellos y, sin soltar el botón, arrastrarlo hasta la posición deseada y soltar:

También podremos modificar directamente el valor numérico de su tamaño (ancho/alto) en las propiedades del mismo.
Para eliminar un control seleccionarlo con un clic del ratón dentro del editor de informes y pulsar la tecla Supr.
Para mover un control dentro de una sección de un informe hacer un clic con el botón izquierdo del ratón sobre el mismo y, sin soltar el botón, arrastrar hasta la posición deseada y soltar. También podremos modificar directamente el valor numérico de su posición X e Y en las propiedades del mismo.
El editor de informes también incluye una barra de maquetación. Nos permite maquetar los distintos controles que se incluyan en una sección del informe. Los comandos que contiene son:
Alinea izquierda: Alinea los controles seleccionados por el borde izquierdo del control seleccionado en último lugar.
Alinea derecha: Alinea los controles seleccionados por el borde derecho del control seleccionado en último lugar.
Alinea arriba: Alinea los controles seleccionados por el borde superior del control seleccionado en último lugar.
Alinea abajo: Alinea los controles seleccionados por el borde inferior del control seleccionado en último lugar.
Reparto horizontal: Distribuye horizontalmente los controles seleccionados dejando la misma separación entre ellos.
Reparto vertical: Distribuye verticalmente los controles seleccionados dejando la misma separación entre ellos.
Adjuntar horizontal: Alinea los botones seleccionados horizontalmente con respecto al que haya sido seleccionado en último lugar.
Adjuntar vertical: Alinea los botones seleccionados verticalmente con respecto al que haya sido seleccionado en último lugar.
Centrar horizontal: Centra horizontalmente el control o los controles seleccionados con el formulario.
Centrar vertical: Centra verticalmente el control o los controles seleccionados con el formulario.
Mismo ancho: Da el mismo ancho a los controles seleccionados de aquel que ha sido seleccionado en último lugar.
Mismo alto: Da la misma altura a los controles seleccionados de aquel que ha sido seleccionado en último lugar.
Mismo tamaño: Da el mismo tamaño a los controles seleccionados de aquel que ha sido seleccionado en último lugar.
Cuadrícula: Permite activar o desactivar una rejilla de puntos en el formulario para facilitar la maquetación de controles. Los puntos que componen la rejilla están situados cada 1o píxels se podrán tomar como referencia para la maquetación controles. Si la rejilla de puntos está activa, los controles que creemos en el informe serán automáticamente ajustados a los puntos más próximos al área del informe donde hayan sido creados. Lo mismo ocurrirá cuando los cambiemos de posción o los redimensionemos.
Para seleccionar un control hacer un clic sobre él con el botón izquierdo del ratón. Una vez hecho esto, podremos editar sus propiedades en el panel de propiedades de Velneo vDevelop.
Para seleccionar dos o más controles mientras se mantiene pulsada la tecla Shift o Control hacer un clic sobre cada uno de los controles con el botón izquierdo del ratón. El último control seleccionado será el que se tome como referencia a la hora de ejecutar comandos de maquetación. Éste será destacado de forma diferente al resto de los controles seleccionados:

Para cambiar el control de referencia en una selección múltiple de controles bastará con hacer un clic con el botón izquierdo del ratón sobre el mismo mientras se mantiene pulsada la tecla Alt.
Texto
Este control permite incluir en un informe una etiqueta de texto estático o presentar el contenido de un campo campo o variable.
Para crearlo pulsar el botón
de la barra de controles del editor de informes, hacer un clic con el botón izquierdo del ratón dentro del área de la sección donde queramos incluirlo y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control. Es el texto que se presentará al imprimir el informe si no se ha establecido ningún valor en la propiedad Contenido.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Texto.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) de la sección.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro de la sección. Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer el texto a imprimir éste podrá ser tanto un dato constante como variable (un campo o una variable global, por ejemplo). Éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad. Si no se especificada nada en esta propiedad, se imprimirá el texto introducido en la propiedad Nombre.
Condición de visible: Permite especificar una condición para que el control sea visible al imprimir el informe. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Atención: Si la condición establecida no se cumple no se imprimirá el contenido del control pero aparecerá en blanco que éste ocupa.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Tamaño del borde: Permite establecer el grosor en píxels del los bordes del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Borde izquierdo: Permite establecer si se pintará o no el borde izquierdo del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde derecho: Permite establecer si se pintará o no el borde derecho del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde arriba: Permite establecer si se pintará o no el borde superior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde abajo: Permite establecer si se pintará o no el borde inferior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Alineamiento horizontal: Permite configurar la forma en la que el texto del control entre los márgenes izquierdo y derecho del mismo. Los valores posibles son:
Izquierda
Derecha
Centrado
Justificado
Alineamiento vertical: Permite configurar la forma en la que el texto del controlserá alineado entre los los márgenes superior e inferior del mismo. Los valores posibles son:
Arriba
Abajo
Centrado
Multilíneas: Esta propiedad permite que el texto contenido en el control se muestre en varias líneas en caso de que no quepa en una sola y tenga altura suficiente. Un control multilíneas deberá tener un alineamiento horizontal a la izquierda o justificado y un alineamiento vertical Superior.
Altura variable: Si esta opción está inactiva el contenido del control control ocupará el tamaño que se le haya establecido en edición, es decir, si el texto contenido en el mismo no cabe en ese espacio declarado, será truncado. Si la activamos, nos aseguraremos de que el conteido del control será impreso al completo independientemente del tamaño declarado en edición.
Truco: Tal y como indicamos al hablar de la propiedad Condición visible si ésta no se cumple no se imprimirá el contenido del control pero en el informe se verá en blanco el espacio que éste ocupa. Si al control que le establecemos la condición de visibilidad le reducimos su altura al mínimo y le activamos la propiedad Altura variable evitaremos ese efecto.
Puede partirse: Si activamos esta propiedad, si la altura del control es mayor que el espacio disponible en la página, éste será “partido” al finalizar la página y su impresión continuará en la página siguiente. Muy útil para controles con altura variable.
Evitar ser el último al partir sección: Si activamos esta propiedad, a la hora de imprimir una sección, si ésta ocupa más de una página y coincide que este control va a ser el último que cabe en la página, será impreso en la siguiente.
Dibujo estático
Este control permite incluir en un informe un dibujo declarado en el proyecto en curso o en cualquiera de los proyectos heredados.
Para crearlo pulsar el botón
de la barra de controles del editor de informes, hacer un clic con el botón izquierdo del ratón dentro del área de la sección donde queramos incluirlo y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Dibujo estático.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) de la sección.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro de la sección. Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Dibujo: Este control despliega una lista en la que se muestran todos los dibujos, tanto del proyecto actual como de los proyectos heredados. Seleccionaremos el que deseamos incluir en el informe.
Condición de visible: Permite especificar una condición para que el control sea visible al imprimir el informe. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Atención: Si la condición establecida no se cumple no se imprimirá el contenido del control pero aparecerá en blanco que éste ocupa.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Tamaño del borde: Permite establecer el grosor en píxels del los bordes del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Borde izquierdo: Permite establecer si se pintará o no el borde izquierdo del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde derecho: Permite establecer si se pintará o no el borde derecho del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde arriba: Permite establecer si se pintará o no el borde superior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde abajo: Permite establecer si se pintará o no el borde inferior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Aspecto dibujo: Permite definir de qué forma será visualizado el dibujo dentro del área del control. Los valores posibles son:
Normal: El dibujo se presentará en su tamaño original, empezando a pintarse desde el borde superior izquierdo del control. Si éste es mayor que el tamaño del control, se verá truncado.
Escala: Cambiará el ancho y el alto del dibujo para adaptarlo la altura y anchura del control. Si no es proporcional el alto y el ancho del dibujo a la altura y la anchura del control, el dibujo se verá deformado.
Escala proporcionado: El dibujo se ampliará o reducirá para adaptarse al tamaño del control, pero conservando siempre la proporción alto/ancho. Si el tamaño del control es mayor que el tamaño del dibujo, es posible que éste se vea distorsionado al estirarse para adaptarse al tamaño del control.
Escala proporcionado expandiendo: El dibujo se ampliará o reducirá para adaptarse al tamaño del contro pero no de forma proporcional. Si el control no es redimensionado de forma proporcional al tamaño original del dibujo, su contenido quedará truncado.
Mosaico: El dibujo se presentará en su tamaño original pero repitiéndose horizontal y verticalmente a modo de mosaico hasta ocupartodo el área del control.
Campo objeto dibujo
Permite imprimir el contenido de un campo de tipo objeto dibujo de la tabla asociada al informe o de sus tablas enlazadas.
Para crearlo pulsar el botón
de la barra de controles del editor de informes, hacer un clic con el botón izquierdo del ratón dentro del área de la sección informe y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Campo objeto dibujo.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Campo objeto dibujo: Permite establecer el contenido del control, en este caso deberá ser un campo de tipo objeto dibujo.
Condición de visible: Permite especificar una condición para que el control sea visible al imprimir el informe. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Atención: Si la condición establecida no se cumple no se imprimirá el contenido del control pero aparecerá en blanco que éste ocupa.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Tamaño del borde: Permite establecer el grosor en píxels del los bordes del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Borde izquierdo: Permite establecer si se pintará o no el borde izquierdo del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde derecho: Permite establecer si se pintará o no el borde derecho del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde arriba: Permite establecer si se pintará o no el borde superior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde abajo: Permite establecer si se pintará o no el borde inferior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Altura variable: Si esta opción está inactiva el contenido del control control ocupará el tamaño que se le haya establecido en edición, es decir, si el dibujo contenido en el mismo no cabe en ese espacio declarado, será truncado. Si la activamos, nos aseguraremos de que el conteido del control será impreso al completo independientemente del tamaño declarado en edición.
Truco: Tal y como indicamos al hablar de la propiedad Condición visible si ésta no se cumple no se imprimirá el contenido del control pero en el informe se verá en blanco el espacio que éste ocupa. Si al control que le establecemos la condición de visibilidad le reducimos su altura al mínimo y le activamos la propiedad Altura variable evitaremos ese efecto.
Puede partirse: Si activamos esta propiedad, si la altura del control es mayor que el espacio disponible en la página, éste será “partido” al finalizar la página y su impresión continuará en la página siguiente. Muy útil para controles con altura variable.
Evitar ser el último al partir sección: Si activamos esta propiedad, a la hora de imprimir una sección, si ésta ocupa más de una página y coincide que este control va a ser el último que cabe en la página, será impreso en la siguiente.
Aspecto dibujo: Permite definir de qué forma será visualizado el dibujo dentro del área del control. Los valores posibles son:
Normal: El dibujo se presentará en su tamaño original, empezando a pintarse desde el borde superior izquierdo del control. Si éste es mayor que el tamaño del control, se verá truncado.
Escala: Cambiará el ancho y el alto del dibujo para adaptarlo la altura y anchura del control. Si no es proporcional el alto y el ancho del dibujo a la altura y la anchura del control, el dibujo se verá deformado.
Escala proporcionado: El dibujo se ampliará o reducirá para adaptarse al tamaño del control, pero conservando siempre la proporción alto/ancho. Si el tamaño del control es mayor que el tamaño del dibujo, es posible que éste se vea distorsionado al estirarse para adaptarse al tamaño del control.
Escala proporcionado expandiendo: El dibujo se ampliará o reducirá para adaptarse al tamaño del contro pero no de forma proporcional. Si el control no es redimensionado de forma proporcional al tamaño original del dibujo, su contenido quedará truncado.
Mosaico: El dibujo se presentará en su tamaño original pero repitiéndose horizontal y verticalmente a modo de mosaico hasta ocupartodo el área del control.
Figura
Permite imprimir figuras en un informe.
Para crearlo pulsar el botón
de la barra de controles del editor de informes, hacer un clic con el botón izquierdo del ratón dentro del área de la sección informe y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Figura.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Condición de visible: Permite especificar una condición para que el control sea visible al imprimir el informe. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Atención: Si la condición establecida no se cumple no se imprimirá el contenido del control pero aparecerá en blanco que éste ocupa.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Tamaño del borde: Permite establecer el grosor en píxels del los bordes del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Borde izquierdo: Permite establecer si se pintará o no el borde izquierdo del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde derecho: Permite establecer si se pintará o no el borde derecho del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde arriba: Permite establecer si se pintará o no el borde superior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde abajo: Permite establecer si se pintará o no el borde inferior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Tipo de figura: Permite definir el tipo de figura a imprimir. Los valores posibles son:
Línea horizontal.
Línea vertical.
Rectángulo.
Rectángulo redondeado.
Elipse.
Tamaño de línea: Permite establecer el grosor en píxels de las líneas de la figura. Ees posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual. El valor por defecto es 1.
Código de barras
Permite imprimir un código de barras en un informe.
Para crearlo pulsar el botón
de la barra de controles del editor de informes, hacer un clic con el botón izquierdo del ratón dentro del área de la sección informe y, sin soltar el botón del ratón, arrastrarlo hacia abajo y hacia la derecha hasta obtener el tamaño deseado. Soltar el botón del ratón para finalizar la creación del control.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al control. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del control.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al control, y Heredable, que permite que el control pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del control.
Tipo: Es un valor fijo que no puede ser modificado; muestra el tipo de control de que se trata. En este caso es Código de barras.
Ancho: Muestra la anchura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Alto: Muestra la altura en píxels del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición X: Muestra la posición del control, en pixels, en el eje X (horizontal) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Posición Y: Muestra la posición del control, en pixels, en el eje Y (vertical) dentro del formulario.Es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Contenido: Permite establecer la cadena alfanumérica que se corresponda con el tipo de código de barras a imprimir. Éste podrá ser tanto un dato constante como variable (un campo o una variable global, por ejemplo). Éste se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Condición de visible: Permite especificar una condición para que el control sea visible al imprimir el informe. La condición se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Atención: Si la condición establecida no se cumple no se imprimirá el contenido del control pero aparecerá en blanco que éste ocupa.
Color de fondo: En esta propiedad seleccionaremos el color de fondo del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de primer plano: En esta propiedad seleccionaremos el color de primer plano del control. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Fondo opaco: Esta propiedad permite hacer transparente el fondo del control o aplicar un color opaco al fondo del mismo. Se tomará el color establecido en la propiedad Color de fondo.
Tamaño del borde: Permite establecer el grosor en píxels del los bordes del control; es posible modificar su contenido o bien escribiendo directamente un número o bien usando los microscrollers:
, que permiten aumentar/disminuir en una unidad el valor actual.
Borde izquierdo: Permite establecer si se pintará o no el borde izquierdo del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde derecho: Permite establecer si se pintará o no el borde derecho del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde arriba: Permite establecer si se pintará o no el borde superior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Borde abajo: Permite establecer si se pintará o no el borde inferior del control en el caso de que hayamos establecido un valor distinto de 0 en la propiedad Tamaño del borde.
Tipo de código de barras: Permite definir el tipo de código de barras a imprimir. Los valores posibles son:
Ean13.
Ean8.
UPC.
Code39.
Code39Ext.
Interleaved25.
Codabar.
Code128.
Code11.
Zoom: Permite establecer el tamaño con el que se imprimirá el código de barras. Dicho tamaño será indicado en tanto por ciento. El valor por defecto es 100 (tamaño real).
Atención: La cadena a escribir en la propiedad Contenido ha de cumplir las especificaciones del tipo código de barras a imprimir; si el código no es impreso, será indicativo de que la cadena no cumple las especificaciones requeridas.
Cálculo
Un cálculo es un sub-objeto en el que podemos declarar una expresión de tipo fórmula que nos permite realizar cálculos en un informe.
Esta expresión puede incluir campos de la tabla de datos asociada al informe o de cualquiera de las enlazadas con ésta.
El cálculo será efectuado por cada registro de la lista de origen del informe.
Para añadir un cálculo a un informe pulsaremos el botón
de la barra de herramientas de Velneo vDevelop V7 o del panel de subobjetos.
Las propiedades de este subobjeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al subobjeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del subobjeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Fórmula: Esta propiedad nos permite declarar la fórmula del cálculo. Para facilitar su creación hacer uso del asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editar esta propiedad.
Variable: En esta propiedad seleccionaremos la variable local del informe del tipo numérico donde se guardará el resultado del cálculo.
Reiniciar en: Esta propiedad especificaremos dónde se debe inicializar el cálculo. Puede ser inicializado o bien al principio del informe (el cálculo se podrá a 0 solamente al principio del informe) o, si hemos definido agrupamiento al principio de un agrupamiento. Por ejemplo, en un informe de líneas de facturas podemos crear un cálculo que se inicialice al comienzo del informe para acumular los importes de todas las facturas y otro que se inicialice en un agrupamiento por en enlace a facturas para calcular el total de cada factura.
Modo: En esta propiedad indicaremos el modo en el que se efectuará el cálculo establecido. Puede ser Absoluto o Acumulado. Si es absoluto, el cálculo tomará el resultado de la fórmula con respecto al último registro impreso, si no lo es, el cálculo se hará en base a las operaciones de la fórmula con todos los registros.
Para incluir un cálculo en un informe usaremos un control de tipo texto estático y en su Contenido seleccionaremos la variable local de retorno del cálculo.
Multipanel
Un
multipanel es el objeto de proyecto de aplicación que permite visualizar tantos paneles diferentes como registros lo alimentan. Al pasar por encima de cada uno de los paneles resultantes, se hará un zoom automático del mismo.
Como entrada tiene origen lista y una tabla asociada y como salida ficha/lista de esa o de cualquier otra tabla.

Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Control + Ins) de Velneo vDevelop.
Las propiedades de este objeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro de la caja. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en la caja.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando la caja sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tabla asociada: Tabla de un proyecto de datos heredado cuyos registros van a alimentar el multipanel.
Modo: Permite definir de qué modo se van a obtener cada uno de los paneles del objeto. Los modos posibles son:
Normal: Cada registro de la lista de origen del multipanel generará un panel, siendo necesario un proceso para determinar el contenido del mismo.
Multipartir: El número de paneles a generar dependerá del número de valores diferentes que tenga un campo cocreto en los registros de la lista de origen del multipanel.
Proceso: Esta propiedad solamente estará disponible si en la propiedad Modo hemos seleccionado el valor Normal. El proceso deberá tener como entrada una ficha de la tabla asociada al multipanel, y como salida una ficha o una lista de esa o de cualquier la tabla cuyo contenido queramos presentar en cada panel a generar; esta tabla podrá ser tanto la misma tabla de origen del proceso como cualquier otra tabla heredada.
Objeto: Esta propiedad nos permite especificar cuál será el objeto a usar para presentar la información de cada panel a generar. Si el Modo seleccionado es Multipartir, tendrá que tratarse de un objeto cuyo origen sea una lista de la tabla de origen del multipanel rejilla, árbol visor de tablas arboladas, casillero, bloc de formularios, informe, multivista u otro multipanel. Si el Modo seleccionado es Normal, el objeto podrá ser tanto de ficha (formulario) como de lista, dependerá de la salida del proceso declarado en la propiedad Proceso.
Campo: Esta propiedad solamente estará disponible si en la propiedad Modo hemos seleccionado el valor Multipartir. En ella seleccionaremos qué campo de la tabla de origen del multipanel queremos usar como elemento para generar los paneles. En ejecución se generarán tantos paneles como valores diferentes tenga dicho campo en la lista que alimente al multipanel.
Columnas: Los paneles serán dispuestos en filas y columnas. En esta propiedad podremos indicar el número máximo de columnas que se generará en la vista. No se trata de un dato constante sino variable, por tanto, para su resolución podemos hacer uso del asistente para edición de fórmulas, para abrirlo pusar el botón
que aparece al situar el foco en esta propiedad.
Alto del ítem: En esta propiedad podremos indicaremos qué altura, en tiempo de ejecución, tendrá cada panel del objeto. Este dato es constante, no variable.
Color de fondo: Color que presenta el fondo del multipanel.
Imagen de fondo: Objeto Dibujo se presentará en el fondo del multipanel.
Estilos: (no funcional en la versión actual).
Zoom inicial: Permite configurar qué porcentaje de zoom será aplicado inicialmente al visualizar el objeto. Al tratarse de un valor porcentual éste deebrá estar comprendido entre 0 y 100. El valor por defecto es 50.
Toolbar: Si seleccionamos una toolbar en este parámetro, cada vez que usemos este multipanel, llevará embebida la toolbar seleccionada, que podrá situarse, o bien encima o bien debajo del objeto.
Acción
Una
acción es el objeto de proyecto de aplicación que permite disparar un comando. Éste puede ser un comando en stock (preprogramado) o un comando programado que, en general, disparará objetos.
Como entrada puede no tener origen u origen lista y una tabla asociada.
La acción puede ser usada en opciones de , toolbars, botones en formularios, etc.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de una acción son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un objeto dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al objeto y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tabla asociada: Tabla de un proyecto de datos que define la entrada de la acción.
Texto de estado: Texto que se presentará en la barra de estado cuando estemos sobre la acción o seleccionemos ésta.
Texto de tooltip: Texto que se presentará sobre la acción cuando estemos sobre ella con el ratón.
Texto de ayuda: Texto que se presentará al solicitar ayuda sobre la acción.
Texto de icono: Texto que se presentará al lado de la acción. En caso de no estar definido se presentará el nombre de la acción.
Icono: Objeto Dibujo que se presentará como representación de la acción junto al texto de icono.
Texto de ayuda: Texto que se presentará al solicitar ayuda sobre la acción.
Tecla aceleradora: Tecla que hace que se ejecute la acción.
Combinación de la tecla aceleradora: Combinación de teclas para que la tecla aceleradora ejecute la acción.
Comando: Comando que se disparará al ejecutar la acción. Los comandos posibles son:
Disparar objetos: Ejecuta una serie de objetos presentando el último en pantalla.
Disparar señal: Dispara una señal que puede ser usada en una conexión de evento para ejecutar un evento.
Ejecutar proceso 2º plano: Ejecuta un proceso declarado en el proyecto actual o en un proyecto heredado en 2º plano o multitarea.
Ficha: Formulario de alta: Presenta el formulario de alta seleccionado (no necesita origen).
Ficha: Formulario de modificación: Presenta el formulario de modificación de la tabla a la que está asociada la acción.
Ficha: Formulario de baja: Presenta el formulario de baja de la tabla a la que está asociada la acción.
Ficha: Fundir ficha: Funde la ficha seleccionada.
Ficha: Alta de maestro: Alta del maestro seleccionado de la tabla a la que está asociada la acción.
Ficha: Edición de maestro: Edición del maestro seleccionado de la tabla a la que está asociada la acción.
Ficha: Localizar maestro: Localizar maestro seleccionado de la tabla a la que está asociada la acción.
Lista: Filtrar: Solicita la fórmula con que se filtrará la lista seleccionada.
Lista: Rebuscar: Lanza la búsqueda cuyo resultado se cruzará con la lista activa.
Lista: Modificar campo: Modificará el campo seleccionado con el dato que suministremos.
Lista: Modificar campo condicionado: Modificará el campo seleccionado con el dato que suministremos si se da la condición.
Lista: Multipartir: Multipartirá la lista según el campo seleccionado.
Lista: Partir: Partir la lista por el elemento seleccionado.
Lista: Reordenar: Reordenar la lista según el campo seleccionado.
Lista: Invertir: Invertir el orden de la lista.
Lista: Generar lista con seleccionados: Genera una nueva vista con los registros seleccionados.
Lista: Quitar de la lista los seleccionados: Quita de la lista los elementos seleccionados.
Lista: Campos duplicados: Devuelve una lista con los elementos con campos con valores duplicados.
Lista: Combinar: Combina dos listas de registros.
Navegante: Navegar a plurales de uno: Navega a los plurales del registro seleccionado solicitando el plural y el objeto con que se quiere mostrar.
Navegante: Navegar a plurales de todos: Navega a los plurales de todos los registros de la lista solicitando el plural y el objeto con que se quiere mostrar.
Navegante: Navegar a maestros: Navega a los maestros de los registros solicitando el campo enlazado a maestro y el objeto con que se quiere mostrar.
Archivo: Procesos en 2º plano: Presenta los procesos que se están ejecutando en segundo plano.
Archivo: Cachés de fichas: Presenta una ventana que muestra la lista de tabla del proyecto junto con el número de fichas de las mismas que se encuentran en la caché local.
Archivo: Salir: Cierra la aplicación.
Editar: Cortar: Corta el texto u objeto y lo deja en el portapapeles.
Editar: Copiar: Copia el texto u objeto y lo deja en el portapapeles.
Editar: Pegar: Pega el texto u objeto.
Ventana: Cerrar: Cierra la ventana en curso.
Ventana: Cerrar todas: Cierra todas las ventanas.
Ventana: Cascada: Visualiza todas las ventanas en cascada.
Ventana: Mosaico: Visualiza todas las ventanas en mosaico.
Ventana: Panel anterior: Visualiza el siguiente panel.
Ventana: Panel siguiente: Visualiza el panel anterior.
Ver: Pantalla completa: Presenta la ventana en pantalla completa.
Página web: Presenta una página web en un explorador web propio del sistema. La URL a ejecutar será resuelta por medio de una constante.
Ayuda: Ayuda: Presenta la ayuda de la aplicación.
Ayuda: Acerca de…: Presenta el cuadro de diálogo sobre la aplicación.
Los comandos hacen uso de las siguientes propiedades para configurarlos:
Objeto 1…n: Objetos que se dispararán con el comando Disparar objeto. El primer elemento tiene la misma entrada que la acción (Ninguno o Lista de la tabla asociada) y los siguientes se encadenarán con la salida del objeto anterior, presentándose el último objeto de la lista.
Formulario: Formulario que se presentará al hacer uso del comando Ficha: Formulario de alta
Campo: Campo que se editará al hacer uso de los comandos:
Ficha: Alta de maestro
Ficha: Edición de maestro
Ficha: Localizar maestro
Objeto: Objeto que se dispara al hacer uso de los comandos:
Ficha: Alta de maestro
Ficha: Edición de maestro
Ficha: Localizar maestro
Menú
Una
menú es el objeto de proyecto de aplicación que permite agrupar acciones y otros menús y presentarlos como un menú desplegable. El menú puede ser usado en el marco de la aplicación, en otros menús o en botones de formulario.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de un menú son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca un objeto dentro del proyecto de aplicación. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al objeto y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Estilo: Esta propiedad nos permite definir cómo se presentarán las acciones y menús incluidas en el menú:
Icono y texto: Presentará el icono definido en la acción y el texto de icono configurado.
Icono: Presentará el icono definido en la acción.
Texto: Presentará el texto de icono.
Icono: Objeto dibujo que se presentará como icono del menú.
El menú está compuesto por los subobjetos Lanzadores de acción, que nos permiten seleccionar qué acciones y menús se lanzarán en el menú. Esto lo haremos a través del editor de menús.

En el menú también podremos incluir separadores que nos permitirán dividir las opciones en grupos.
Toolbar
Una toolbar o barra de herramientas es un objeto de interfaz gráfica que contiene botones que al ser presionados activan ciertas funciones de una aplicación.
Cada botón de la toolbar disparará un objeto (acción o menú) declarado en el proyecto en curso o en los proyectos heredados o un menú en stock.

Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Es el texto que se presentará al usuario final de la aplicación para referenciar al objeto. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a la toolbar, y Heredable, que permite que la toolbar pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso de la toolbar.
Estilo: Podemos definir la forma en la que se visualizará cada botón de la toolbar. Los valores posibles son:
Icono y texto debajo: El botón contendrá un icono y un texto debajo.
Icono y texto al lado: El botón contendrá un icono y un texto a la derecha.
Icono: El botón contendrá solamente un icono.
Texto: El menú de contexto del árbol será un objeto menú contenido en el proyecto.
Tanto el icono como el texto serán extraídos del objeto a disparar en cada botón de la toolbar.
Comentarios: Esta propiedad nos permite documentar el uso de la toolbar.
Tamaño del icono: En el caso de que hayamos seleccionado un valor que requiera icono en la propiedad anterior, especificaremos en ésta cuál será el tamaño de los iconos de la toolbar. Los valores posibles son:
Pequeño: El icono tendrá un tamaño de 16×16 píxels.
Pequeño: El icono tendrá un tamaño de 32×32 píxels.
Pequeño: El icono tendrá un tamaño de 64×64 píxels.
Lanzadores de acción
Son las acciones, menús y/o menús en stock que serán disparados desde la toolbar. Para establecerlos seleccionaremos el objeto toolbar creado en el panel del proyecto o en el panel de objetos dentro del explorador de proyectos y pulsaremos la tecla Intro, o bien, haremos doble clic sobre él con el botón izquierdo del ratón. Una vez hecho esto, el editor de toolbars se abrirá en el panel central:

En la parte superior del mismo se muestra una previsualización de la toolbar y en la parte inferior se muestran dos paneles. En el izquierdo se muestra la lista de acciones disponibles y en el derecho la lista de acciones que seleccionemos.
Para añadir una acción a una toolbar hacer doble clic sobre ella en el panel de acciones disponibles o seleccionarla y pulsar el botón
. Esta será añadida al fina de la lista de acciones del panel de acciones seleccionadas y el botón será añadido a la previsualización de la toolbar.
Para quitar una acción de una toolbar seleccionarla en el panel de acciones seleccionadas y pulsar el botón
.
Para cambiar el orden de una acción de una toolbar seleccionarla en el panel de acciones seleccionadas y pulsar el botón
o el botón
para subirla o bajarla una posición respectivamente.
En el panel de acciones disponibles, además de aparecer las acciones y menús declarados en el proyecto en curso o en las proyectos heredados, siempre aparecerán las siguientes menús en stock:
Separador: Inserta un separador entre acciones seleccionadas de la toolbar.
Ficha: Inserta un menú con los comandos de ficha de Velneo.
Lista: Inserta un menú con los comandos de lista de Velneo.
Navegante: Inserta un menú con los comandos del navegante de Velneo.
Ventana: Inserta un menú con comandos que permitirán al usuario final cambiar el aspecto de las ventanas de la aplicación.
Ver: Inserta un menú con comandos que permitirán al usuario final cambiar el estilo visual de la aplicación.
Personalizar: Inserta un menú con parte de los comandos incluidos en el menú .
Estilo: Inserta un menú con parte de los comandos incluidos en el menú .
Idioma: Inserta un menú con comandos que permitirán al usuario final cambiar el idioma de la aplicación.
Barra de herramientas: Inserta un menú con comandos que permitirán al usuario final ver u ocultar las barras de herramientas de la aplicación.
Marco
El objeto Marco es el que nos permite definir cómo será el interfaz del usuario cuando ejecuta el proyecto de aplicación con Velneo vClient V7. Nos permite definir cuál es el formulario de fondo de nuestra aplicación, el menú principal del marco y los docks que compondrán el interfaz, que podrán contener toolbars u otros formularios.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos. El marco por defecto, que usará Velneo vClient V7 en la ejecución del proyecto de aplicación, debe llevar el identificador AUTOEXEC.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un marco no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del marco. Se usará para presentar información del marco en objetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el marco, y Heredable, que permite que el marco sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del marco.
Icono: Objeto Dibujo que será usado como icono en la barra de título de la ventana que contendrá al marco.
Título: Permite definir el título del marco por medio de una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello debemos pulsar el botón
que nos abre el asistente.
Formulario principal: Esta propiedad nos permite declarar el formulario que usará dentro del marco. Podremos seleccionar cualquier formulario sin origen declarado tanto en el proyecto de aplicación como en cualquera de los proyectos heredados. Si no queremos usar ningún formulario seleccionaremos el valor ninguno.
Modo de arranque: Esta propiedad nos permite declarar de qué forma se presentará las ventanas contenidas en el marco. Los valores posibles son:
Tab: Cada ventana abierta en la aplicación será abierta en una nueva pestaña. Esto permitirá al usuario final navegar por distintas abiertas:

MDI: (Multiple Document Interface/Interfaz de múltiples documentos. Cada ventana abierta en la aplicación será abierta dentro de una ventana padre (normalmente con la excepción de las ventanas modales):

SDI: (Single Document Interface/Interfaz de documento único). Cada ventana abierta en la aplicación será abierta sobre la anterior, dando siempre la impresión de que solamente hay abierta única ventana:

Dock
El
Dock es un subobjeto del objeto Marco que representa un área de éste. Contiene un objeto formulario sin origen, sin tabla asociada o una toolbar que se presentarán en la posición configurada en el subobjeto dentro del l marco.
Para crear un dock hemos de seleccionar el marco y pulsar el botón
de la barra de herramientas.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del subobjeto. Es el texto que se presentará al usuario final de la aplicación para referenciar el subobjeto.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al subobjeto y Heredable, que permite que el subobjeto pueda ser usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Objeto: Seleccionaremos un formulario sin origen o una toolbar que se presentará en el área correspondiente al dock.
Posición: Esta propiedad nos permite seleccionar dónde se presentará el dock.
Arriba: El dock se presentará en la parte superior del marco
Abajo: El dock se presentará en la parte inferior del marco
Izquierda: El dock se presentará en la parte izquierda del marco
Derecha: El dock se presentará en la parte derecha del marco
Modo de aparcar: Esta propiedad nos permite seleccionar cómo se presentará el dock. Siguiendo el orden físico, permite añadir una nuevo área o incluir el dock en una ya existente.
Añadir: El dock se presentará en nuevo área en la posición indicada.
Incluir: El dock se incluirá en un área ya existente en la posición indicada.
Condición de visible: Fórmula que determina si el dock será visible o no en el marco.
Dibujo
Se trata de un objeto que contendrá un dibujo estático. “Estático” quiere decir que se trata de un dibujo declarado por el programador y que el usuario final no podrá modificar.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Es el texto que se presentará al usuario final de la aplicación para referenciar al objeto. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al dibujo, y Heredable, que permite que el dibujo pueda ser usado cuando el proyecto sea heredado.
Para editar el dibujo hacer doble clic sobre su identificador en el panel de objetos del explorador de proyectos o en el panel del proyecto.
Constante
Una constante es un tipo de dato que no puede cambiar su valor. Las constantes podrán ser usadas en fórmulas
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: En este parámetro escribiremos el valor de la constante. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a la constante, y Heredable, que permite que la constante pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso de la constante.
Variable
Se trata de un objeto cuya finalidad es la de almacenar datos individuales en disco o en memoria. Son datos globales a la aplicación y comunes, en el ámbito de red, para todos los usuarios si son en disco, y de carácter local si son en memoria. Si un usuario modifica una variable global en disco, ésta será modificada para el resto de los usuarios, si modifica una variable global en memoria, el cambio sólo le afectará a él.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de este objeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Persistencia: Esta propiedad nos permite definir la persistencia de la variable. Los valores posibles son:
Disco: El valor de la variable será común para todos los usuarios de la aplicación; si un usuario modifica su valor, este cambio afectará al resto de los usuarios.
Memoria: El valor de la variable tiene carácter local, es decir, si un usuario modifica su valor el cambio solamente le afectará a él
Tipo: Permite definir el tipo de dato que va a manejar la variable. Los tipos disponibles son:
Alfabético: Usado para datos alfanuméricos.
Numérico: Usado para datos numéricos. Se mantiene la precisión numérica hasta el quinto decimal.
Fecha: Usado para datos de tipo fecha. Por defecto admite el formato de fecha ISO 8601. El carácter de separación puede ser el guión o la barra.
Hora: Usado para introducir horas en formato HH:MM:SS. No almacena milisegundos.
Tiempo: Usado para introducir tiempos que son la unión de una fecha y una hora con el formato DD:MM:AA HH:MM:SS.sss
Booleano: Es un tipo lógico que permite definir el contenido como 1 ó 0 (Sí o No).
Array: Esta propiedad nos permite hacer que la variable sea un array unidimensional.
Dimensiones: Esta propiedad solamente estará activa cuando el valor de la propiedad Array sea Verdadero. Nos permite declarar el número de ítems que tendrá el array.
Decimales: Esta propiedad solamente estará activa cuando el valor de la propiedad Tipo sea Numérico. Nos permite declarar el número de decimales de la variable. Podrá especificar hasta 6 decimales que son los que se garantiza su precisión.
Signo: Esta propiedad solamente estará activa cuando el valor de la propiedad Tipo sea Numérico. Define si la variable de tipo numérico tiene signo.
Mínimo: Esta propiedad solamente estará activa cuando el valor de la propiedad Tipo sea Numérico. Permite establecer el rango límite mínimo válido para la entrada de valores.
Máximo: Esta propiedad solamente estará activa cuando el valor de la propiedad Tipo sea Numérico. Permite establecer el rango límite máximo válido para la entrada de valores.
Proceso
El proceso es un objeto contenedor de instrucciones definible por el programador. Las intrucciones se ejecutarán de forma secuencial y harán uso de comandos de instrucción de proceso que pueden acceder a otros objetos de las proyectos incluyendo otros procesos.
El proceso tiene una entrada y una salida, es decir, un origen ficha, lista o ninguno y una tabla asociada, y un destino ficha, lista o ninguno y una tabla asociada. Esto permite trabajar con uno o varios registros de entrada y que el proceso devuelva un o varios registros como salida. Cada una de las intrucciones tiene un origen y un destino condicionados por el origen y el comando anterior, el primero de ellos determinado por la entrada del proceso. De esta forma el flujo de datos es gestionado por el proceso, permitiendo una salida programada en función de la entrada.
Los procesos se pueden ejecutar en distintos planos, lo que permite que sean ejecutados en local o el servidor, en multi-tarea en local, y esperando respuesta o no por parte del proceso llamado.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Es el texto que se presentará al usuario final de la aplicación para referenciar al objeto. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al proceso, y Heredable, que permite que el proceso pueda ser usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del proceso.
Tabla asociada: Esta propiedad nos permite establecer el origen del proceso. Podremos, o bien seleccionar una tabla de un proyecto de datos heredado, o bien seleccionar el valor .Ninguna en el caso de que el origen del proceso no tenga origen.
Origen: Esta propiedad aparecerá solamente en el caso de que en la propiedad Tabla asociada hayamos seleccionado una tabla. Los valores posibles son:
Ficha: El origen del proceso será una ficha (registro) de la tabla seleccionada en la propiedad Tabla asociada.
Listas: El origen del proceso será una lista de registros de la tabla seleccionada en la propiedad Tabla asociada.
Tabla destino: Esta propiedad nos permite establecer la salida del proceso. Podremos, o bien seleccionar una tabla de un proyecto de datos heredado, o bien seleccionar el valor .Ninguna en el caso de que el proceso no tenga salida.
Destino: Esta propiedad aparecerá solamente en el caso de que en la propiedad Tabla destino hayamos seleccionado una tabla. Los valores posibles son:
Ficha: La salida del proceso será una ficha (registro) de la tabla seleccionada en la propiedad Tabla destino.
Listas: La salida del proceso será una lista de registros de la tabla seleccionada en la propiedad Tabla destino.
Una vez establecidas las propiedades podremos pasar a crear las instrucciones que lo conformarán, para ello disponemos de un editor. Para abrirlo bastará con pulsar intro o hacer doble clic sobre el identificador del proceso que acabamos de crear en el panel de objetos de Velneo vDevelop.
Editor de procesos
El editor de procesos es el objeto que nos permite definir el conjunto de instrucciones que formarán parte del mismo.
Las instrucciones de un proceso serán subobjetos del mismo y obtendrán su origen del propio proceso, pero, más importante aún, las variables locales del proceso también son subobjetos del mismo. Se crearán automáticamente cuando las usemos en las instrucciones, pero podremos acudir al proceso, haciendo doble clic, para poder cambiar su configuración.

En la barra de herramientas tenemos las opciones para añadir una línea de instrucción
, insertar una línea
o borrar la seleccionada
. También podremos comentar una línea para que no se ejecute
. Por otro lado, podremos manejar las ramas del árbol de instrucciones
, además de seleccionar todas las instrucciones
para copiar y pegar.
El editor de procesos dispone de un asistente para la creación de cada línea:

En la parte superior de dicho asistente se informa sobre el origen de la línea del proceso seleccionada, que podrá ser:
Ninguno.
Ficha de una tabla concreta.
Lista de registros de una tabla concreta.
Los comandos disponibles en una línea dependerá del origen de la misma, que en primer lugar viene determinado por el origen del proceso y que podemos ir variando dependiendo de los comandos que empleemos. Algunos comandos generarán subramas cuyo origen vendrá determinado por el comando y se ejecutarán las instrucciones que cuelguen de la subrama en función de éste.
El comando será especificado en el primer control. Para seleccionarlo podremos, o bien escribiéndolo diractamente, o bien desplegando dicho control y seleccionándolo, o bien pulsando el botón
para abrir la lista de comandos de proceso agrupados por tipo:

Y seleccionando el deseado. Los comandos que no puedan ser usados en la línea debido a su origen serán mostrados en un color gris:

Si el comando seleccionado requiere parámetros, éstos serán mostrados a continuación.
La especificación de los parámetros de un comando será asistida. En unos casos el parámetro deplegará una lista con los valores posibles que pueden ser seleccionados y en otros casos se presentará el asistente para edición de fórmulas. Tal y como hemos dicho al comienzo del artículo, en aquellos parámetros cuyo contenido sea una Variable local podremos, o bien, seleccionar una declarada previamente en el proceso, o bien crearla nueva.
Qué registros componen la salida del proceso vienen determinados por las instrucciones Añadir ficha a la salida y Añadir lista a la salida. La primera podemos usarla para generar la salida ficha de un proceso y la segunda para generar como salida una lista de registros, y ambas son válidas para generar la salida de un proceso.
En ambos casos, los comandos generan la salida a partir de la ficha o lista en cuyo origen esté situado el comando, que tiene que corresponder con el seleccionado en el proceso. En el caso de la lista, además de permitir generar la lista a partir de una ficha, permite hacerlo a partir de varias fichas y listas.

Planos de ejecución
Los procesos se dividen en cuatro planos de ejecución según el lugar y el modo en que se ejecutan:
1º Plano: Local
2º Plano: Local multitarea (no espera retorno)
3º plano: Servidor
4º plano: Servidor (no espera retorno)
Los procesos en 1º plano se ejecutan de forma local, bien sea en el cliente, bien sea en el servidor, y devuelven un retorno por el que espera el proceso llamador, hasta que finaliza el proceso llamado, o la acción que ha lanzado el proceso. Por tanto, son bloqueantes del proceso llamador o de la actividad del usuario que no puede seguir interaccionando con el interfaz de la aplicación hasta que éste haya finalizado.
De igual forma, los procesos en 2º plano se ejecutan de forma local en el cliente, pero el proceso llamador no espera retorno, por lo que pueden ejecutarse en paralelo con otros procesos multitarea. Estos procesos, por tanto, no bloquean el proceso llamador o la actividad del usuario que sí puede seguir interaccionando con el interfaz de la aplicación.
Para conocer el estado de estos procesos que se están ejecutando en segundo plano existe el Panel de procesos en 2º plano que nos muestra todos los procesos en segundo plano que se están ejecutando, indicando la cola a la que han sido asignados y que se encarga de gestionar el cliente. A este panel se puede acceder mediante el comando de acción Archivo: Procesos en 2º plano.
En la información sobre los procesos se especifica el título de la transacción y el porcentaje del proceso realizado, datos que podemos definir en el proceso con los comandos de instrucción Cambiar título de la transacción y Cambiar porcentaje realizado del proceso. Además, podemos configurar un punto de aborto del proceso con ayuda del comando de instrucción Punto donde se puede abortar, que nos permitirá parar en ese punto un proceso que se esté ejecutando en segundo plano.
La información relativa a los registros manejados en los procesos en 1º y 2º plano viaja entre el cliente y el servidor, por lo que debemos tener en cuenta este dato cuando trabajemos con rangos amplios de registros. De todos modos, debemos tener en cuenta que mientras trabajemos con listas y no con registros concretos, la información que viaja entre ambos no se trata del registro entero si no de la necesaria para apuntar al registro, por lo que el efecto en el tráfico es moderado.
Los procesos en 3º plano se ejecutan en el servidor, devolviendo un retorno por el que espera el proceso llamador. Por tanto bloquean la actividad del proceso llamador, que esperará el retorno para seguir con las operaciones programadas. Esto no implica en ningún momento un bloqueo en la actividad del usuario o del servidor. Todos los procesos ejecutados en el servidor son multitarea, y en el cliente tenemos la opción de lanzar el proceso desde otro proceso multitarea.
También los procesos en 4º plano se ejecutan en el servidor, pero el proceso llamador no espera retorno, por lo que se ejecutarán en paralelo con otros procesos. Estos procesos, por tanto, no bloquean la actividad del proceso llamador. También pueden tener colas asignadas que se encargará el servidor de gestionar.
Los procesos en el servidor, 3º y 4º plano, frente a los procesos en 1º ó 2º plano, optimizan el tráfico de información entre cliente y servidor. Esto es porque no viaja entre uno y otro información alguna sobre los registros manejados en el proceso, ni siquiera de las listas manejadas, sino que únicamente se retorna el resultado del proceso. Sin embargo, debemos tener en cuenta que esto hace que sea el servidor el que tenga que atender todas las operaciones que se realice el proceso, por lo que debemos tener en cuenta el balance de la carga.
Comandos
Los comandos son las instrucciones con las que se construyen los procesos, eventos, funciones, demonios, etc. Pueden tener uno o varios parámetros dependiendo de cada comando.
Los comandos pueden ser de lista, de ficha o de ambas. Al seleccionar una línea, aparece en la parte inferior la ventana Instrucción donde nos informa del origen del subproceso actual y de los comandos disponibles, los cuales dependen de que el origen sea ficha o lista.
Comandos propios de lista:
Como su nombre indica son comandos aplicables a las listas. En la descripción de los parámetros se indica si los mismos son obligatorios u opcionales.
Comandos propios de ficha:
Como su nombre indica son comandos aplicables a las fichas. En la descripción de los parámetros se indica si los mismos son obligatorios u opcionales.
Comandos sin origen:
Como su nombre indica son los comandos que no están asociados a un origen fijo, pueden tener su origen tanto en una ficha, en una lista como “Ninguno”. En la descripción de los parámetros se indica si los mismos son obligatorios u opcionales.
En capítulos siguientes se explican los comandos agrupadas por tipo.
API de Velneo
API es el acrónico del inglés “Application Programming Interface” (Interfaz de Programación de Aplicaciones).
Se trata de un conjunto de comandos que nos permiten interactuar con las tablas contenidas en el proyecto de datos en curso o en un proyecto de datos heredado.
APIVEL: Get nombre de campo por identificador
Comando de instrucción del grupo API de Velneo que devuelve el nombre de un campo en función del identificador.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de tabla: Identificador de la tabla de la que queremos obtener la información. Para facilitra su especificación, este parámetro desplegará la lista de tablas de los proyectos de datos heredados.
Identificador de campo de la tabla seleccionada: Identificador del campo de la tabla seleccionada en el parámetro anterior cuyo nombre queremos obtener. Para facilitra su especificación, este parámetro desplegará la lista de campos de la misma.
Identificador de variable local alfabética de retorno: Identificador de la variable local del proceso que recogerá el nombre del campo.
Funcionalidad:
Este comando devuelve la etiqueta Nombre del campo de la tabla pasados como parámetros, y la guarda en la variable local declarda en el último parámetro.
Comentarios:
La variable local podrá ser tanto una de las locales al proceso o una nueva.
APIVEL: Get nombre de campo por número
Comando de instrucción del grupo API de Velneo que devuelve el nombre de un campo en función de la posición.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de tabla: Identificador de la tabla de la que queremos obtener la información. Para facilitra su especificación, este parámetro desplegará la lista de tablas de los proyectos de datos heredados.
Fórmula de número de campo: Expresión fórmula que contendrá el número (la posición) del campo de la tabla seleccionada en el parámetro anterior cuyo nombre queremos obtener.
Identificador de variable local alfabética de retorno: Identificador de la variable local del proceso que recogerá el nombre del campo.
Funcionalidad:
Este comando devuelve la etiqueta Nombre del campo de la tabla pasada como parámetro, correspondiente a la posición indicada en el segundo parámetro y la guarda en la variable local declarda en el último parámetro.
Comentarios:
La variable local podrá ser tanto una de las locales al proceso o una nueva.
El orden que se sigue es el orden que tengan los campos de la tabla dentro del proyecto de datos.
El primer campo se corresponderá con la posición 0.
APIVEL: Get campo por número
Comando de instrucción del grupo API de Velneo que devuelve el contenido de un campo en función de la posición.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de número de campo: Expresión fórmula que contendrá el número (la posición) del campo cuyo valor queremos obtener.
Identificador de variable local alfabética de retorno: Identificador de la variable local del proceso que recogerá el contenido del campo.
Funcionalidad:
Este comando devuelve el valor del campo que se corresponde con la posición indicada en el primer parámetro y lo guarda en la variable local declarda en el último parámetro.
Comentarios:
La variable local podrá ser tanto una de las locales al proceso o una nueva.
El orden que se sigue es el orden que tengan los campos de la tabla dentro del proyecto de datos.
El primer campo se corresponderá con la posición 0.
APIVEL: Get número de campo por identificador
Comando de instrucción del grupo API de Velneo que devuelve el número de un campo en función del identificador.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de tabla: Identificador de la tabla de la que queremos obtener la información. Para facilitra su especificación, este parámetro desplegará la lista de tablas de los proyectos de datos heredados.
Identificador de campo de la tabla seleccionada:: Identificador del campo del que queremos obtener el número. Para facilitra su especificación, este parámetro desplegará la lista de campos de la tabla seleccionada en el parámetro anterior.
Identificador de variable local numérica de retorno: Identificador de la variable local del proceso que recogerá el número del campo.
Funcionalidad:
Este comando devuelve el número del campo de la tabla pasados como parámetros y lo guarda en la variable local declarda en el último parámetro.
Comentarios:
La variable local podrá ser tanto una de las locales al proceso como una nueva.
El número se corresponderá con el orden que tengan los campos de la tabla dentro del proyecto de datos.
El primer campo se corresponderá con el número 0.
APIVEL: Get número de campos
Comando de instrucción del grupo API de Velneo que devuelve el número de campos de una tabla.
Contenido:
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de tabla: Identificador de la tabla de la que queremos obtener la información. Para facilitra su especificación, este parámetro desplegará la lista de tablas de los proyectos de datos heredados.
Identificador de variable local numérica de retorno: Identificador de la variable local del proceso que recogerá el número de campos de la tabla.
Funcionalidad:
Este comando devuelve el número de campos de la tabla que se pasa en el parámetro y lo guarda en la variable local declarada en el segundo parámetro.
Comentarios:
La variable local podrá ser tanto una de las locales al proceso o una nueva.
APIVEL: Modificar campo por número
Comando de instrucción del grupo API de Velneo que modifica el contenido de un campo en función de la posición.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de número de campo: Expresión fórmula que contendrá el número (la posición) del campo cuyo valor queremos modificar.
Fórmula de dato: Expresión fórmula que resuelve el valor a asignar al campo.
Funcionalidad:
Este comando modifica el valor del campo que se corresponde con la posición indicada en el primer parámetro con el resultado de la fórmula establecido en el segundo parámetro.
Comentarios:
El orden que se sigue es el orden que tengan los campos de la tabla dentro del proyecto de datos.
El primer campo se corresponderá con la posición 0.
Podemos ayudarnos de asistente para edición de fórmulas para crear la fórmula del segundo parámetro.
Este comando no genera transacción por sí mismo; esto quiere decir que el uso de este comando modifica el contenido del campo pero no graba el cambio en disco.
En un proceso, para que el nuevo valor del campo sea guardado en disco, la ficha deberá haber sido abierta previamente en modo lectura/escritura, por ejemplo, mediante el uso de comandos del tipo Modificar ficha seleccionada, Recorrer lista lectura/escritura, etc.
Arrays
Conjunto de comandos de proceso para el manejo de variables locales de tipo array.
Array: Set
Comando de instrucción del grupo Arrays que permite asignar valor a un item del array.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local array: Identificador de la Variable local en la que queremos dar valor a un item. Para facilitar su especificación, este parámetro desplegará la lista de Variable local del objeto.
Fórmula de posición: Posición del array donde está el item. En este parámetro podrá especificar tanto una constante como una expresión fórmula. La primera posición es la número 0.
Fórmula de dato: Valor a establecer al item indicado en el parámetro posición. En este parámetro podrá especificar tanto una constante como una expresión fórmula.
Identificador de variable local booleana de retorno de ok: Aquí se declara una variable que retornará 1 si se modifica el item seleccionado. Si no lo modificase devolverá 0.
Funcionalidad:
Esta instrucción permite establecer el valor de un item de una Variable local array declarada en el objeto.
Array: Insertar item
Comando de instrucción del grupo Arrays que permite insertar un item en el array.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local array: Identificador de la Variable local en la que queremos insertar un item. Para facilitar su especificación, este parámetro desplegará la lista de Variable local del objeto.
Fórmula de posición: Posición del array donde insertar el item. En este parámetro podrá especificar tanto una constante como una expresión fórmula. La primera posición es la número 0.
Fórmula de dato: Valor a establecer al item indicado en el parámetro posición. En este parámetro podrá especificar tanto una constante como una expresión fórmula.
Identificador de variable local booleana de retorno de ok: Aquí se declara una variable que retornará 1 si se inserta el item. Si no lo inserta devolverá 0.
Funcionalidad:
Esta instrucción permite insertar y establecer el valor de un item de una Variable local array declarada en el objeto.
Array: Ordenar
Comando de instrucción del grupo Arrays que permite ordenar los items del array.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local array: Identificador de la Variable local que queremos ordenar. Para facilitar su especificación, este parámetro desplegará la lista de Variable local del objeto.
Orden: Podrá optan entre dos modos: Ascendente o Descendente.
Funcionalidad:
Esta instrucción ordena los ítems de un array definido en el objeto.
Comentarios:
La ordenación se realizará en función del tipo de contenido de la Variable local. Si es de tipo alfabético el orden será alfabético, si es de tipo numérico la ordenación será numérica y así con todos los tipos.
Array: Eliminar item
Comando de instrucción del grupo Arrays que permite eliminar un item del array.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local array: Identificador de la Variable local de la que queremos eliminar un item. Para facilitar su especificación, este parámetro desplegará la lista de Variables locales del objeto.
Fórmula de posición: Posición del item a eliminar en el array. En este parámetro podrá especificar tanto una constante como una expresión fórmula. La primera posición es la número 0.
Identificador de variable local booleana de retorno de ok: Aquí se declara una variable que retornará 1 si se elimina el item. Si no lo elimina devolverá 0.
Funcionalidad:
Esta instrucción permite eliminar un item de una Variable local array declarada en el objeto.
Array: Eliminar todos
Comando de instrucción del grupo Arrays que permite eliminar todos los items del array.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local array: Identificador de la Variable local de la que queremos eliminar todos los items. Para facilitar su especificación, este parámetro desplegará la lista de Variables locales del objeto.
Funcionalidad:
Esta instrucción permite eliminar todos los items de una Variable local array declarada en el objeto.
Array: Get tamaño
Comando de instrucción del grupo Arrays que permite conocer el número de items del array.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local array: Identificador de la Variable local de la que queremos conocer el tamaño. Para facilitar su especificación, este parámetro desplegará la lista de Variables locales del objeto.
Identificador de variable local numérica de retorno de ok: Aquí se declara una variable que retornará el número de items del array.
Funcionalidad:
Esta instrucción permite obtener el número de items de una Variable local array declarada en el objeto.
Básicas
Conjunto de comandos básicos para instrucciones de procesos.
Libre
Comando de instrucción del grupo Básicas que permite convertir la línea seleccionada en una línea libre.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Funcionalidad:
Convierte la línea seleccionada en el editor de procesos en una línea libre.
Comentarios:
Las líneas libres en un proceso nunca son ejecutadas.
For
Comando de instrucción del grupo Básicas que genera un bucle mientras se cumpla una condición.
Origen de la instrucción: Cualquiera.
Destino del subproceso: El mismo de la entrada.
Parámetros:
Identificador de variable numérica para bucle: En este parámetro indicaremos la Variable local que se usará como contador de las iteraciones del bucle.
Fórmula de valor inicial: Expresión fórmula que contendrá el valor inicial de la variable local especificada en el parámetro anterior.
Fórmula de condición: Expresión fórmula que contendrá la condición que se ha de cumplir para continuar con las iteraciones del bucle.
Fórmula de valor de incremento: Expresión fórmula que contendrá el valor en el que se incrementará la variable del bucle en cada iteración.
Funcionalidad:
Esta función genera un subproceso. Repite las líneas contenidas en dicho subproceso mientras se cumpla la condición declarada, usando como contador del bucle la variable local especificada en el primer parámetro, incrementándose ésta en tantas unidades por iteración según el valor especificado en la fórmula de valor de incremento.
Comentarios:
Para facilitar la especificación de las expresiones fórmula podremos hacer uso del asistente para edición de fórmulas.
Si comentemos algún error en la declaración de la condición podremos hacer que el proceso entre en un bucle infinito al ejecutar el for.
Rem
Comando de instrucción del grupo Básicas que permite incluir comentarios en un proceso.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Comentario: Texto descriptivo del comentario a incluir en esa línea del proceso.
Funcionalidad:
Incluye un comentario en una línea de proceso. Será de utilidad para documentar nuestros procesos y así facilitar su revisión.
Comentarios:
El comentario no tiene que estar entrecomillado, pues no se trata de una fórmula. Estas instrucciones no son procesadas al ejecutar el proceso.
If
Comando de instrucción del grupo Básicas que permite crear una sentencia condicional.
Origen de la instrucción: Ficha/Lista de la tabla en curso/Cualquiera.
Destino del subproceso: El mismo que el origen.
Parámetros:
Fórmula de condición: Expresión fórmula algebraica o booleana (lógica binaria) a evaluar.
Funcionalidad:
Este comando de instrucción permite evaluar una condición.
Comentarios:
Este comando de instrucción genera un subproceso que se será ejecutado solamente en el caso de cumplirse la condición establecida en el parámetro. Si no se cumple, se ejecutará el comando de la siguiente línea del proceso situada al mismo nivel que el if.
Para facilitar la escritura de la condición podemos hacer uso del asistente para edición de fórmulas.
Else
Comando de instrucción del grupo Básicas que permite ejecutar un grupo de comandos de instrucción en caso de no cumplirse una condición previa establecida por un comando If o Else if.
Origen de la instrucción: Cualquiera.
Destino del subproceso: El mismo que el origen.
Parámetros:
No tiene
Funcionalidad:
Este comando genera un subproceso y permite ejecutar las líneas contenidas en el mismo en caso de no cumplirse una condición previa establecida por un comando If o Else if.
Comentarios:
El comando de instrucción Else siempre ha de estar inmediatamente precedido de un comando If o de un comando Else if, ambas líneas han de estar situadas al mismo nivel y no puede haber ninguna otra línea al mismo nivel entre ambas.
Else if
Comando de instrucción del grupo Básicas que permite evaluar una condición si no se cumple una condición previa establecida mediante un comando de instrucción If u otro Else if.
Origen de la instrucción: Cualquiera.
Destino del subproceso: El mismo que el origen.
Parámetros:
Parámetros:
Fórmula de condición: Expresión fórmula algebraica o booleana (lógica binaria) a evaluar.
Funcionalidad:
Permite evaluar una condición si no se cumple una condición previa establecida mediante un comando de instrucción If u otro Else if. Genera un subproceso que será ejecutado si se cumple la condición establecida como parámetro. Si no se cumple, se ejecutará el comando de la siguiente línea del proceso situada al mismo nivel que el Else if.
Comentarios:
Para facilitar la escritura de la condición podemos hacer uso del asistente para edición de fórmulas.
El comando de instrucción Else if siempre ha de estar inmediatamente precedido de un comando If o de otro Else if, ambas líneas han de estar situadas al mismo nivel y no puede haber ninguna otra línea al mismo nivel entre ambas.
Mensaje
Comando de instrucción del grupo Básicas que presenta una ventana con un mensaje.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de mensaje: Expresión fórmula con el mensaje que será mostrado en la ventana.
Icono: Tipo de icono que se mostrará junto con el mensaje. Los iconos disponibles son:
Exclamación: 
Información: 
Stop: 
Fórmula de tiempo de espera en segundos: Segundos transcurridos los cuales la ventana será cerrada automáticamente. Si este parámetro es 0, la ventana permanecerá abierta hasta que intervenga el usuario.
Fórmual título opcional: Expresión de tipo fórmula que permite establecer un título opcional de la ventana. Si no se especifica título alguno, se usará como título el nombre del ejecutable. Ejemplo:vClient
Funcionalidad:
Comando de instrucción que presenta una ventana con un mensaje que podrá ser cerrada automáticamente o no en función de si se ha establecido un valor en el parámetro Fórmula de tiempo de espera en segundos o no. La ventana, incluirá un botón que permitirá al usuario cerrarla.
Comentarios:
Hay que tener en cuenta que este comando paralizará el proceso mientras la ventana esté abierta; por tanto, si se trata de un proceso transaccional, paralizará la ejecución de la transacción mientras la ventana permanezca abierta.
Modificar variable global
Comando de instrucción del grupo Básicas que modifica el valor de una variable global.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador variable global: Variable global a modificar. En este parámetro se desplegará una lista con todas las variables globales disponibles.
Fórmula dato: Expresión de tipo fórmula para calcular el nuevo contenido de la variable.
Identificador de la variable local de retorno (Opcional): Permite guardar en una variable local del proceso el valor asignado a la variable global.
Funcionalidad:
Permite modificar, por medio de una expresión de tipo fórmula, el valor de una variable global del proyecto de datos en curso o de un proyecto de datos heredado
Comentarios:
Para facilitar la creación de la fórmula podremos usar el asistente para edición de fórmulas.
Como variable local del retorno podremos tanto usar tanto una ya existente como crearla nueva.
Pedir dato
Comando de instrucción del grupo Básicas que pide un dato al usuario y lo almacena en una variable local.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula descripción: Expresión de tipo fórmula con texto al presentar en la ventana de solicitud del dato.
Identificador de variable local de retorno: Variable local en la que se guardará el dato escrito por el usuario.
Tipo de dato: Permite especificar de qué tipo será el dato guardado en la variable local del parámetro anterior. Los tipos de dato posibles son:
Fecha: El dato será una fecha.
Hora: El dato será una hora (de reloj).
Número: El dato será un número.
Texto: El dato será una cadena, una expresión alfabética.
Fórmual título opcional: Expresión de tipo fórmula que permite establecer un título opcional de la ventana. Si no se especifica título alguno, se usará como título el nombre del ejecutable. Ejemplo:vClient
Identificador de variable local booleana de retorno de ok: Variable local de tipo booleano en la que se guardará el dato escrito por el usuario.
Funcionalidad:
Comando de instrucción que muestra una ventana solicitando un dato al usuario y lo almacena una variable local. Dicha ventana contedrá dos botones (Aceptar y Cancelar) y en la variable local booleana de retorno de ok se recogerá si el usuario ha aceptado la ventana (1) o no (0).
Comentarios:
Como variable local de los retornos podremos tanto usar tanto una ya existente como crearla nueva.
La variable local booleana de retorno de ok podremos evaluarla a posteriori con un comando de instrucción If en el caso de que queramos que el proceso siga caminos diferentes en función de si el usuario ha aceptado o no la ventana.
Recorrer buffer
Comando de instrucción del grupo Básicas que recorre el contenido de una cadena y ejecuta un subproceso por cada carácter de la misma.
Origen de la instrucción: Cualquiera.
Destino del subproceso: El mismo que el origen.
Parámetros:
Fórmula de cadena: Expresión de tipo fórmula con la cadena que se desea recorrer. Para facilitar su introducción podrá hacer uso del asistente para edición de fórmulas.
Identificador de variable local alfabética: Variable local del proceso de tipo alfabético donde se retorna el carácter de la cadena que está siendo procesado.
Funcionalidad:
Este comando de instrucción recorre el contenido de una cadena y ejecuta un subproceso por cada carácter de la misma. Guarda en una variable local del proceso el carácter que en curso.
Comentarios:
Este comando de instrucción, por tanto, genera un bucle que se repetirá por cada carécter de la cadena y que terminará una vez finalice el contenido de la misma. En el subproceso que genera tendemos que incluir los comandos a ejecutar por cada carécter extraído de la cadena.
La variable local de retorno podrá ser tanto una variable local ya declarada en el proceso o una nueva que declaremos.
Set
Comando de instrucción del grupo Básicas que asigna un valor a una variable local del proceso.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local: Identificador variable local cuyo valor queremos asignar.
Fórmula de dato: Expresión fórmula con el valor a asignar a la variable local.
Funcionalidad:
Asigna un valor a una variable variable local del proceso. La variable puede ser cualquiera de las ya declaradas previamente o puede ser creada nueva.
Comentarios:
Para la especificación del contenido de la variable podemos hacer uso del asistente para edición de fórmulas.
Si el proceso es un evento y la variable es una variable heredada del objeto al que pertenece el evento, el valor de la variable será modifcado tanto dentro del proceso como en el propio objeto padre.
Cestas
Conjunto de comandos de proceso que permite interactuar con cestas de listas de registros de una tabla.
Este conjunto de comandos de proceso permite tanto el manejo de Cestas locales al proceso como globales.
Cesta: Agregar ficha
Comando de instrucción del grupo Cestas que permite añadir un registro concreto a una cesta.
Origen de la instrucción: Ficha.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de cesta: Identificador de la Cestas en la que queremos añadir la ficha en curso. Para facilitar su especificación, este parámetro desplegará la lista de Cestas de los proyectos de datos heredados.
Funcionalidad:
Esta función guarda la ficha procesada en la cesta de la compra especificada en su parámetro.
Comentarios:
Puede especificarse o bien un objeto Cesta de la compra o una cesta local del proceso.
Cesta: Agregar lista
Comando de instrucción del grupo Cestas que permite añadir una lista de registros concretos a una cesta.
Origen de la instrucción: Lista.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de cesta: Identificador de la Cestas en la que queremos añadir la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de Cestas de los proyectos de datos heredados.
Funcionalidad:
Esta función guarda la lista procesada en la cesta de la compra especificada en su parámetro.
Comentarios:
Puede especificarse o bien un objeto Cesta de la compra o una cesta local del proceso.
Cesta: Crear cesta local
Comando de instrucción del grupo Cestas que permite crear una cesta de la compra local de un proceso.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de tabla: Identificador de la tabla para la que se desea crear la cesta. Para facilitar su especificación, este parámetro desplegará la lista de tablas de los proyectos de datos heredados.
Nombre de cesta: Nombre que se le vaya a dar a laCesta que se utilizará a nivel local en el proceso.
Funcionalidad:
Esta función permite crear una cesta de la compra local de un proceso.
Comentarios:
Si va a crear cestas en un proceso, éstas deben ser declaradas al principio del mismo.
Cesta: ¿Está la ficha en la cesta?
Comando de instrucción del grupo Cestas que permite localizar una ficha dentro de una cesta de la compra.
Origen de la instrucción: Ficha.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de cesta: Identificador de la Cestas en la que queremos añadir la ficha en curso. Para facilitar su especificación, este parámetro desplegará la lista de Cestas de los proyectos de datos heredados.
Identificador de variable local numérica de retorno posición de la ficha: Aquí se declara una variable que retornará la posición de la ficha actual dentro de la cesta. Si no la contuviese devolverá 0
Funcionalidad:
Esta función devuelve la posición de la ficha actual dentro de la cesta de la compra especificada como parámetro.
Comentarios:
Puede especificarse o bien un objeto Cesta de la compra o una cesta local del proceso.
Cesta: Limpiar
Comando de instrucción del grupo Cestas que permite vaciar el contenido de una cesta.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de cesta: Identificador de la Cestas que queremos limpiar. Para facilitar su especificación, este parámetro desplegará la lista de Cestas de los proyectos de datos heredados.
Funcionalidad:
Esta función vacia el contenido en la cesta de la compra especificada en su parámetro.
Comentarios:
Los registros eliminados se quitan unicamente de la cesta, permaneciendo igual que antes en la base de datos.
Cesta: Procesar
Comando de instrucción del grupo Cestas que permite trabajar sobre una cesta.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Lista.
Parámetros:
Identificador de cesta: Identificador de la Cestas en la que queremos trabajar. Para facilitar su especificación, este parámetro desplegará la lista de Cestas de los proyectos de datos heredados.
Funcionalidad:
Esta función genera un subproceso. Todas las funciones que se incluyan dentro de dicho subproceso se ejecutarán sobre la lista de registros contenidos en la cesta. El origen del subproceso, lógicamente, será una lista de la tabla de datos de la cesta.
Comentarios:
Puede especificarse o bien un objeto Cesta de la compra o una cesta local del proceso.
Cesta: Quitar ficha
Comando de instrucción del grupo Cestas que permite quitar un registro concreto a una cesta.
Origen de la instrucción: Ficha.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de cesta: Identificador de la Cestas en la que queremos elimiar la ficha en curso. Para facilitar su especificación, este parámetro desplegará la lista de Cestas de los proyectos de datos heredados.
Funcionalidad:
Esta función quita la ficha procesada de la cesta de la compra especificada en su parámetro.
Comentarios:
Puede especificarse o bien un objeto Cesta de la compra creado en el panel derecho del vDevelop o una cesta local del proceso.
El registro eliminado se quita unicamente de la cesta, permaneciendo igual que antes en la base de datos.
Cesta: Quitar lista
Comando de instrucción del grupo Cestas que permite quitar una lista de registros concretos a una cesta.
Origen de la instrucción: Lista.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de cesta: Identificador de la Cestas a la que queremos quitar la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de Cestas de los proyectos de datos heredados.
Funcionalidad:
Esta función elimina la lista procesada de la cesta de la compra especificada en su parámetro.
Comentarios:
Puede especificarse o bien un objeto Cesta de la compra o una cesta local del proceso.
Los registros eliminados se quitan unicamente de la cesta, permaneciendo igual que antes en la base de datos.
Cesta: Cruzar lista
Comando de instrucción del grupo Cestas que permite cruzar una lista de registros concretos con los de una cesta.
Origen de la instrucción: Lista.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de cesta: Identificador de la Cestas con la que queremos curzar la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de Cestas de los proyectos de datos heredados.
Funcionalidad:
Esta función Cruza la lista actual con los registros contenidos en una cesta. El resultado será que deja en la cesta los registros que coincidan en ambas listas.
Comentarios:
Puede especificarse o bien un objeto Cesta de la compra o una cesta local del proceso.
Los registros se quitan unicamente de la cesta, permaneciendo igual que antes en la base de datos.
Configuración del sistema
Conjunto de comandos que permite escribir y leer entradas en el fichero de configuración del sistema operativo de una máquina (archivo INI en Linux y Mac y Regedit.exe en Windows).
Configuración del sistema: Eliminar entrada
Comando de instrucción del grupo Configuración del sistema que elimina una entrada en el fichero de configuración del sistema.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de clave raíz: Expresión fórmula que resuelva el nombre de la clave raíz dentro del fichero de configuración.
Fórmula de senda de sección: Expresión fórmula que resuelva la senda de la sección dentro de la clave raíz anterior.
Fórmula de entrada: Expresión fórmula que resuelva la entrada a eliminar dentro de senda de la sección anterior.
Funcionalidad:
Elimina una entrada concreta dentro del fichero de configuración del sistema, para ello es necesario resolver tanto su nombre como la senda completa de la misma dentro de dicho fichero de configuración.
Comentarios:
Para facilitar la especificación de las fórmulas de los parámetros podremos hacer uso del asistente para edición de fórmulas.
Configuración del sistema: Leer número entero
Comando de instrucción del grupo Configuración del sistema que permite leer un valor numérico de una entrada del fichero de configuración del sistema.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de clave raíz: Expresión fórmula que resuelva el nombre de la clave raíz dentro del fichero de configuración.
Fórmula de senda de sección: Expresión fórmula que resuelva la senda de la sección dentro de la clave raíz anterior.
Fórmula de entrada: Expresión fórmula que resuelva la entrada dentro de senda de la sección anterior cuyo contenido queremos leer.
Identificador de variable local numérica de retorno: Identificador de una Variable local del proceso, de tipo numérico, donde se retornará el número leído.
Funcionalidad:
Permite leer un valor numérico de una entrada del fichero de configuración del sistema, para ello es necesario resolver tanto su nombre como la senda completa de la misma dentro de dicho fichero de configuración.
Comentarios:
Para facilitar la especificación de las fórmulas de los parámetros podremos hacer uso del asistente para edición de fórmulas.
La variable local del último parámetro podrá ser una declarada previamente del proceso o podremos declarar una nueva.
Configuración del sistema: Leer cadena de texto
Comando de instrucción del grupo Configuración del sistema que permite leer una cadena de una entrada del fichero de configuración del sistema.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de clave raíz: Expresión fórmula que resuelva el nombre de la clave raíz dentro del fichero de configuración.
Fórmula de senda de sección: Expresión fórmula que resuelva la senda de la sección dentro de la clave raíz anterior.
Fórmula de entrada: Expresión fórmula que resuelva la entrada dentro de senda de la sección anterior cuyo contenido queremos leer.
Identificador de variable local alfabética de retorno: Identificador de una variable local del proceso, de tipo alfabético, donde se retornará la cadena leída.
Funcionalidad:
Permite leer un valor alfabético de una entrada del fichero de configuración del sistema, para ello es necesario resolver tanto su nombre como la senda completa de la misma dentro de dicho fichero de configuración.
Comentarios:
Para facilitar la especificación de las fórmulas de los parámetros podremos hacer uso del asistente para edición de fórmulas.
La variable local del último parámetro podrá ser una declarada previamente del proceso o podremos declarar una nueva.
Configuración del sistema: Escribir número entero
Comando de instrucción del grupo Configuración del sistema que permite escribir un número entero en una entrada del fichero de configuración del sistema.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de clave raíz: Expresión fórmula que resuelva el nombre de la clave raíz dentro del fichero de configuración.
Fórmula de senda de sección: Expresión fórmula que resuelva la senda de la sección dentro de la clave raíz anterior.
Fórmula de entrada: Expresión fórmula que resuelva la entrada dentro de senda de la sección anterior cuyo contenido queremos leer.
Fórmula de dato: Expresión de tipo fórmula que resuelva el número entero a grabar.
Funcionalidad:
Permite escribir un valor numérico de una entrada del fichero de configuración del sistema, para ello es necesario resolver tanto su nombre como la senda completa de la misma dentro de dicho fichero de configuración. En el caso de que la entrada no exista, será creada.
Comentarios:
Para facilitar la especificación de las fórmulas de los parámetros podremos hacer uso del asistente para edición de fórmulas.
Configuración del sistema: Escribir cadena texto
Comando de instrucción del grupo Configuración del sistema que permite escribir una cadena en una entrada del fichero de configuración del sistema.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de clave raíz: Expresión fórmula que resuelva el nombre de la clave raíz dentro del fichero de configuración.
Fórmula de senda de sección: Expresión fórmula que resuelva la senda de la sección dentro de la clave raíz anterior.
Fórmula de entrada: Expresión fórmula que resuelva la entrada dentro de senda de la sección anterior cuyo contenido queremos leer.
Fórmula de dato: Expresión de tipo fórmula que resuelva la cadena a grabar en la entrada.
Funcionalidad:
Permite escribir un valor alfabético en una entrada del fichero de configuración del sistema, para ello es necesario resolver tanto su nombre como la senda completa de la misma dentro de dicho fichero de configuración. En el caso de que la entrada no exista, será creada.
Comentarios:
Para facilitar la especificación de las fórmulas de los parámetros podremos hacer uso del asistente para edición de fórmulas.
Ficha y campos
Conjunto de comandos de proceso que permite interactuar con una ficha de una tablasy sus campos.
Este tipo de comandos solamente estarán accesibles en aquellas líneas de proceso cuyo origen sea una ficha de una tabla.
Alta de ficha
Comando de instrucción del grupo Ficha y campos que crea un nuevo registro en una tabla.
Origen de la instrucción: Cualquiera.
Destino del subproceso: La ficha creada.
Parámetros:
Manejador de ficha: Manejador de la ficha a crear.
Funcionalidad:
Este comando de instrucción añade una nueva ficha a una tabla. El contenido de la misma ha de ser establecido previamente con el comando de instrucción Crear nueva ficha en memoria o el comando Crear copia de ficha en memoria, que es donde se habrá declarado el manejador usado como parámetro. Este comando de instrucción genera un subproceso cuyo origen será la ficha generada.
Comentarios:
Requerimiento fundamental es que la ficha a grabar haya sido inicializada previamente dentro del mismo proceso mediante el comando Crear nueva ficha en memoria o el comando Crear copia de ficha en memoria.
El subproceso de este comando es ejecutado una vez la ficha haya sido guardada en disco. Si por el motivo que sea la ficha no ha podido se grabada, el subpoceso no será ejecutado.
Alta de ficha de maestro con formulario
Comando de instrucción del grupo Ficha y campos que permite dar de alta una ficha de una tabla maestra de la ficha en curso, usando para ello un formulario.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ficha de la tabla maestra creada.
Parámetros:
Identificador de campo: Campo enlazado a la tabla de datos maestra en la que queremos crear la ficha.
Identificador de formulario: Tendrá que ser un formulario asociado a la tabla elegida en el parámetro anterior.
Funcionalidad:
Este comando permite dar de alta una ficha de una tabla maestra de la ficha en curso, usando para ello un formulario para que el usuario pueda cumplimentar los campos. La ficha quedará automáticamente enlazada con el registro creado. Este comando de instrucción genera un subproceso cuyo origen será la ficha generada.
Comentarios:
El subproceso es ejecutado una vez la ficha haya sido guardada en disco. Si por el motivo que sea la ficha no ha podido se grabada, el subpoceso no será ejecutado.
Comprobar fórmula dinámica
Comando de instrucción del grupo Ficha y campos que permite verificar si la fórmula escrita por un usuario en un campo de tipo fórmula dinámica tiene o no errores de sintaxis.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Campo de tipo fórmula dinámica que se desea verificar.
Identificador de variable local booleana de retorno ok: Variable local del proceso, de tipo booelano, donde se retornará si la fórmula contiene o no errores.
Identificador de variable local alfabética de retorno de mensaje de error: Variable local del proceso, de tipo alfabético, donde se atrapará el mensaje de error.
Funcionalidad:
Verificar si la fórmula escrita por un usuario en un campo de tipo fórmula dinámica tiene o no errores de sintaxis y, en caso de tenerlos, captura el mensaje descriptivo del error.
Comentarios:
Si la variable de retorno ok devuelve un 1 querrá decir que la fórmula no contiene errores de sintaxis y un 0 si los contiene. En caso de contener errores de sintaxis, el mensaje del error será almacenado en la variable local alfabética de retorno de mensaje de error.
Las variables podrán ser variables locales del proceso declaradas previamente o pueden ser nuevas.
Si en un proceso queremos tener acceso a la fórmula contenida en un campo de tipo fórmula dinámica y no al resultado de la misma usaremos el comando de instrucción de proceso Get campo.
¿Ya existe en el índice?
Comando de instrucción del grupo Ficha y campos que permite comprobar si en un índice de clave única existe una clave concreta.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de índice: Identificador del índice de clave única a consultar.
Identificador de variable local booleana de retorno de ok: Variable local de tipo booleano en la que se guardará si la clave ya existe (1) o no (0).
Funcionalidad:
Esta comando de instrucción devuelve, en una variable local del proceso, el resultado de comprobar si en el índice de clave única identificado ya existe la clave actual.
Comentarios:
El comando compondrá la clave adecuada al índice en el que se realiza la consulta en base al contenido de la ficha en curso. El programador no tiene que ocuparse de ello.
Cuando se da de alta o se modifica un registro a través de un formulario el sistema, antes de grabar la ficha,comprobará que no se produzca duplicidad de clave en todos los índices de clave única de la tabla; pero en altas a través de proceso el sistema solamente comprueba la clave primaria, es decir, el ID, el campo clave de la tabla. En ese caso, sería recomendable para evitar errores de integridad, comprobar el resto de los índices de clave única en los eventos de tabla previos al alta y a la modificación de la ficha por medio de este comando. En los eventos, para cancelar el alta o la modificación de la ficha en caso de producirse una duplicidad de clave se usará el comando de instrucción Set retorno proceso = NO.
La variable local de retorno deberá ser de tipo booleano y podrá ser tanto una declarada previamente como una nueva.
Ya existe en alguno de sus índices de clave única
Comando de instrucción del grupo Ficha y campos, que partiendo de una ficha de una tabla comprueba si existe alguna duplicidad en cualquier índice de clave única declarado en la misma.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local booleana de retorno de ok: Variable local de tipo booleano en la que se rertornará si hay duplicidad por algún índice de clave única (1) o no (0).
Identificador de variable local alfabética de retorno del mensaje: Variable local de tipo alfabético donde se retornará, en caso de existir duplicidad, la lista de índices por los que existe.
Funcionalidad:
Partiendo de una ficha de una tabla comprueba si existe alguna duplicidad en cualquier índice de clave única declarado en la misma, devolviendo en una Variable local si se ha econtrado o no duplicidad y devolviendo en otra la lista de los índices de clave única por los que se ha detectado duplicidad.
Comentarios:
Las variables locales de retorno podrán ser tanto unas declaradas previamente como nuevas.
Será el propio sistema quien se encargue de componer la clave adecuada a cada índice de clave única de la tabla en base al contenido de la ficha en curso.
Debemos saber que cuando se da de alta o se modifica un registro a través de un formulario el sistema, antes de grabar la ficha,comprobará que no se produzca duplicidad de clave en todos los índices de clave única de la tabla; pero en altas realizadas a través de proceso el sistema solamente comprobará la clave primaria, es decir, el ID, el campo clave de la tabla. En ese caso, sería recomendable para evitar errores de integridad, comprobar el resto de los índices de clave única en los eventos de tabla previos al alta y a la modificación de la ficha por medio de este comando.
En los eventos, para cancelar el alta o la modificación de la ficha en caso de producirse una duplicidad de clave se usará el comando de instrucción Set retorno proceso = NO.
Exportar binario
Comando de instrucción del grupo Ficha y campos que extrae un archivo almacenado en un campo de tipo objeto binario y lo exporta a disco.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Campo de la tabla en curso de tipo objeto binario que se desea exportar.
Fórmula senda: Expresión de tipo fórmula con la especificación de la vía de acceso al fichero donde se va a exportar el contenido del campo.
Identificador de variable local booleana de retorno ok: Variable local del proceso donde se retornará si el campo ha sido exportado (1) o no (0).
Funcionalidad:
Extrae un archivo almacenado en un campo de tipo objeto binario y lo exporta a disco.
Comentarios:
Para facilitar la especificación de la fórmula de la senda podremos hacer uso del asistente para edición de fórmulas.
La senda deberá ser completa (unidad, estructura de directorios, nombre del archivo y extensión).
Cada elemento de la senda irá separado por el carácter “/”. Ejemplo: “c:/Archivos/documentos/documento.doc”.
Para la especificación de la senda podremos hacer uso de funciones de fórmula de de directorios tales como homePath, rootPath o tempPath.
La variable local de retorno ok podrá ser tanto una local al proceso declarada previamente como una nueva.
Exportar dibujo
Comando de instrucción del grupo Ficha y campos que exporta a disco una imagen almacenada en un campo de tipo objeto dibujo.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Campo de la tabla en curso de tipo objeto dibujo que se desea exportar.
Fórmula senda: Expresión de tipo fórmula con la especificación de la vía de acceso al fichero donde se va a exportar el contenido del campo.
Identificador de variable local booleana de retorno ok: Variable local del proceso donde se retornará si el campo ha sido exportado (1) o no (0).
Funcionalidad:
Extrae una imagen almacenada en un campo de tipo objeto dibujo y la exporta a disco, retornando en una variable local del proceso si el archivo ha sido o no generado.
Comentarios:
Para facilitar la especificación de la fórmula de la senda podremos hacer uso del asistente para edición de fórmulas.
La senda deberá ser completa (unidad, estructura de directorios, nombre del archivo y extensión).
Cada elemento de la senda irá separado por el carácter “/”. Ejemplo: “c:/Archivos/documentos/img.png”.
Para la especificación de la senda podremos hacer uso de funciones de fórmula de de directorios tales como homePath, rootPath o tempPath.
Si bien en Velneo las imágenes internamente son guardadas en formato jpg, se podrá exportar en los formatos siguientes:
bmp (Windows bitmap)
jpeg/jpg (Joint Photographic Experts Group)
pbm (Portable Bitmap Format)
pgm (Portable Graymap Format)
png (Portable Network Graphics)
ppm (Portable Pixmap Format)
La variable local de retorno ok podrá ser tanto una local al proceso declarada previamente como una nueva.
Exportar texto
Comando de instrucción del grupo Ficha y campos que exporta a disco el contenido de un campo de tipo objeto texto u objeto texto enriquecido.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Campo de la tabla en curso campo de tipo objeto texto u objeto texto enriquecido que se desea exportar.
Fórmula senda: Expresión de tipo fórmula con la especificación de la vía de acceso al fichero donde se va a exportar el contenido del campo.
Identificador de variable local booleana de retorno ok: Variable local del proceso donde se retornará si el campo ha sido exportado (1) o no (0).
Funcionalidad:
Genera un fichero en disco a partir del contenido de un campo de tipo objeto texto u objeto texto enriquecido, retornando en una variable local del proceso si el archivo ha sido o no generado.
Comentarios:
Para facilitar la especificación de la fórmula de la senda podremos hacer uso del asistente para edición de fórmulas.
La senda deberá ser completa (unidad, estructura de directorios, nombre del archivo y extensión).
Cada elemento de la senda irá separado por el carácter “/”. Ejemplo: “c:/Archivos/documentos/texto.txt”.
Para la especificación de la senda podremos hacer uso de funciones de fórmula de de directorios tales como homePath, rootPath o tempPath.
Si el campo a exportar es de tipo texto el contenido del campo será exportado como texto plano; si es de tipo texto enriquecido, lo exportará a html.
La variable local de retorno ok podrá ser tanto una local al proceso declarada previamente como una nueva.
Get campo
Comando de instrucción del grupo Ficha y campos que permite obtener el contenido de un campo de la ficha en curso y guardarlo en una variable local del proceso.
Origen de la instrucción: Fichade la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Identificador del campo cuyo contenido queremos obtener.
Identificador de variable local de retorno: Identificador de la variable donde se retornará el contenido del campo.
Funcionalidad:
Permite obtener el contenido de un campo de la ficha en curso y guardarlo en una variable local del proceso.
Comentarios:
La variable de retorno podrá ser tanto una declarada previamente en el proceso como una nueva. Si la creamos nueva el sistema la creará de tipo alfabético.
Para leer el contenido de un campo también podríamos usar el comando Set, la diferencia entre usar uno y otro radica solamente en el caso de que el campo a leer sea de tipo fórmula dinámica; Set devolverá el resultado de la fórmula y Get campo devolverá la fórmula.
¿Ha cambiado el campo?
Comando de instrucción del grupo Ficha y campos que comprueba si ha cambiado o no un campo determinado de una ficha de una tabla.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador del campo: Identificador del campo a comprobar.
Identificador de variable local booelana de retorno de ok: variable local de tipo booleano que recogerá si el campo ha cambiado (1) o no (0).
Funcionalidad:
Este comando devuelve en una variable local booleana si el campo seleccionado ha cambiado (1) o no (0).
Comentarios:
La variable local booleana de retorno podrá ser tanto una ya existente como una nueva.
Este comando compara el contenido que tiene el campo en memoria con contenido que tenía al abrir la ficha.
Si se trata de un alta de ficha, detectará que ha habido cambios si el campo a evaluar no está vacío.
Si se trata de una modificación, la comparación se hará con el valor que tenga ese campo en disco.
Si se desea utilizar este comando en un evento de tabla debería ser usando en el evento previo y no en el posterior. El motivo es que en el evento posterior la ficha ya ha sido guardada en disco, por lo que el valor del campo en memoria y el valor guardado en disco ya será el mismo.
¿Ha cambiado la ficha?
Comando de instrucción del grupo Ficha y campos que comprueba si ha cambiado o no cualquier campo de una ficha de una tabla.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local booelana de retorno de ok: variable local de tipo booleano que recogerá si el registro ha cambiado (1) o no (0).
Funcionalidad:
Este comando devuelve en una variable local booleana si la ficha acual ha cambiado (1) o no (0).
Comentarios:
La variable local booleana de retorno podrá ser tanto una ya existente como una nueva.
Este comando compara el contenido que tiene el registro en memoria con contenido que tenía al abrir la ficha.
Si se trata de un alta de ficha, detectará que ha habido cambios si algún campo no está vacío.
Si se trata de una modificación, la comparación se hará con el valor que tenga esa ficha en disco.
Si se desea utilizar este comando en un evento de tabla debería ser usando en el evento previo y no en el posterior. El motivo es que en el evento posterior la ficha ya ha sido guardada en disco, por lo que el valor de la misma en memoria y el valor guardado en disco ya será el mismo.
Importar binario
Comando de instrucción del grupo Ficha y campos que permite importar cualquier tipo de archivo en un campo de tipo objeto binario.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Campo de la tabla en curso de tipo objeto binario en el que se desea importar el fichero.
Fórmula senda: Expresión de tipo fórmula con la especificación de la vía de acceso al fichero a importar.
Identificador de variable local booleana de retorno ok: Variable local del proceso donde se retornará si el campo ha sido importado (1) o no (0).
Funcionalidad:
Importa un archivo indicado en sus parámetros en un campo de tipo objeto binario de la tabla en curso.
Comentarios:
Para facilitar la especificación de la fórmula de la senda podremos hacer uso del asistente para edición de fórmulas.
La senda deberá ser completa (unidad, estructura de directorios, nombre del archivo y extensión).
Cada elemento de la senda irá separado por el carácter “/”. Ejemplo: “c:/Archivos/documentos/documento.doc”.
Para la especificación de la senda podremos hacer uso de funciones de fórmula de de directorios tales como homePath, rootPath o tempPath.
Si es el usuario final quien ha de seleccionar el fichero a importar, podremos hacer uso del comando de instrucción Ventana de selección de fichero.
La variable local de retorno ok podrá ser tanto una local al proceso declarada previamente como una nueva.
Importar dibujo
Comando de instrucción del grupo Ficha y campos que importa un archivo de tipo imagen en un campo de tipo objeto dibujo.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Campo de la tabla en curso de tipo objeto dibujo en el que se desea importar la imagen.
Fórmula senda: Expresión de tipo fórmula con la especificación de la vía de acceso al fichero a importar.
Identificador de variable local booleana de retorno ok: Variable local del proceso donde se retornará si el fichero ha sido importado (1) o no (0).
Funcionalidad:
Importa un fichero de tipo imagen en disco en un campo de tipo objeto dibujo, retornando en una variable local del proceso si el archivo ha sido o no importado.
Comentarios:
Para facilitar la especificación de la fórmula de la senda podremos hacer uso del asistente para edición de fórmulas.
La senda deberá ser completa (unidad, estructura de directorios, nombre del archivo y extensión).
Cada elemento de la senda irá separado por el carácter “/”. Ejemplo: “c:/Archivos/documentos/img.png”.
Para la especificación de la senda podremos hacer uso de funciones de fórmula de de directorios tales como homePath, rootPath o tempPath.
Si es el usuario quien ha de indicar el archivo a importar podremos hacer uso del comando Ventana de selección de fichero.
La imagen importada, sea del tipo que sea, internamente será guardada como jpg. Se podrán importar imágenes de los formatos siguientes:
bmp (Windows bitmap)
gif (Graphics Interchange Format)
jpeg/jpg (Joint Photographic Experts Group)
pbm (Portable Bitmap Format)
pgm (Portable Graymap Format)
png (Portable Network Graphics)
ppm (Portable Pixmap Format)
La variable local de retorno ok podrá ser tanto una local al proceso declarada previamente como una nueva.
Importar texto
Comando de instrucción del grupo Ficha y campos que importa el contenido de un fichero de texto en un campo de tipo objeto texto u objeto texto enriquecido.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Campo de la tabla en curso de tipo objeto texto u objeto texto enriquecido en el que se desea importar el archivo de texto.
Fórmula senda: Expresión de tipo fórmula con la especificación de la vía de acceso al fichero a importar.
Identificador de variable local booleana de retorno ok: Variable local del proceso donde se retornará si el archivo ha sido importado (1) o no (0).
Funcionalidad:
Importa un archivo de texto en un campo de tipo objeto texto u objeto texto enriquecido, retornando en una variable local del proceso si el archivo ha sido o no importado.
Comentarios:
Para facilitar la especificación de la fórmula de la senda podremos hacer uso del asistente para edición de fórmulas.
La senda deberá ser completa (unidad, estructura de directorios, nombre del archivo y extensión).
Cada elemento de la senda irá separado por el carácter “/”. Ejemplo: “c:/Archivos/documentos/texto.txt”.
Para la especificación de la senda podremos hacer uso de funciones de fórmula de de directorios tales como homePath, rootPath o tempPath.
Si el campo de destino es de tipo texto el fichero de texto a importar deberá ser contener texto plano; si es de tipo texto enriquecido, el arhivo de texto a importar podrá tener tanto formato de texto plano como formato html.
Si ha de ser el usuario final quien deba indicar el fichero a importar, podremos hacer uso del comando Ventana de selección de fichero.
La variable local de retorno ok podrá ser tanto una local al proceso declarada previamente como una nueva.
Leer ficha de maestro
Comando de instrucción del grupo Ficha y campos que permite leer la ficha de un maestro de la ficha en curso.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ficha del maestro de la ficha de origen.
Parámetros:
Identificador de campo: Identificador de un campo de la tabla en curso enlazado a maestro.
Funcionalidad:
Lee la ficha del maestro del campo enlazado seleccionado y crea un subproceso cuyo origen es la ficha del maestro editado.
Comentarios:
El subproceso generado es de sólo lectura, por lo tanto, ningún cambio que se haga en el mismo será guardado en la base de datos.
Si se quiere editar el maestro para su modificación habrá que usar el comando de instrucción Modificar ficha de maestro.
Limpiar campo objeto
Comando de instrucción del grupo Ficha y campos que limpia el contenido de un campo de tipo objeto.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo objeto: Identificador del campo de tipo objeto a limpiar.
Funcionalidad:
Este comando de instrucción limpia el contenido de un campo de tipo objeto, es decir, lo borra del contenedor y en el campo elimina la referencia al mismo.
Comentarios:
Hay que tener en cuenta que los campos de tipo objeto son almacenandos en un contenedor aparte de los datos. El nombre de este fichero será el mismo de la tabla y con la extensión CND. En el fichero de datos lo que se guarda es la dirección donde está el objeto en el contenedor.
Modificar campo
Comando de instrucción del grupo Ficha y campos que modifica el contenido de un campo.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo: Identificador del campo cuyo contenido se desea modificar.
Fórmula de dato: Establece el nuevo contenido del campo. Se trata de una expresión de tipo fórmula.
Funcionalidad:
Modifica el contenido del campo indicado en el primer parámetro, con el resultado de la fórmula establecida en el segundo parámetro.
Comentarios:
Este comando no genera transacción por sí mismo; esto quiere decir que el uso de este comando modifica el contenido del campo pero no graba el cambio en disco.
En un proceso, para que el nuevo valor del campo sea guardado en disco, la ficha deberá haber sido abierta previamente en modo lectura/escritura, por ejemplo, mediante el uso de comandos del tipo Modificar ficha seleccionada, Recorrer lista lectura/escritura, etc.
Para facilitar la creación de la fórmula del segundo parámetro podremos hacer uso del asistente para edición de fórmulas.
Modificar ficha de maestro
Comando de instrucción del grupo Ficha y campos que permite acceder a la ficha de un maestro de la ficha en curso en modo lectura/escritura.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ficha del maestro de la ficha de origen.
Parámetros:
Identificador de campo: Identificador de un campo de la tabla en curso enlazado a maestro.
Funcionalidad:
Accede a la ficha del maestro del campo enlazado seleccionado y crea un subproceso cuyo origen es la ficha del maestro editado.
Comentarios:
El subproceso generado es de lectura/escritura, por lo tanto, todas las modificaciones realizadas en la ficha serán guardadas en disco.
Si el subproceso no es ejecutado será indicativo de que la ficha está siendo bloqueada en modo lectura/escritura por otra tarea.
Si se quiere editar el maestro en modo de sólo lectura habrá que usar el comando de instrucción Leer ficha de maestro.
Pedir formulario
Comando de instrucción del grupo Ficha y campos que edita una ficha en un formulario.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de formulario: Identificador de un formulario asociado a la misma tabla de origen de la línea del proceso.
Identificador de variable local booleana de retorno de ok: Variable local del proceso, de tipo boolenao, donde se recogerá si el usuario ha aceptado (1) o cancelado (0) el formulario.
Funcionalidad:
Visualiza el formulario dado en el parámetro y recoge en la variable local de retorno si el usuario ha aceptado (1) o cancelado (0) dicho formulario.
Comentarios:
El formulario se rellena con el contenido de la ficha en curso, pudiendo el usuario modificar los datos antes de aceptar. Esta función no puede ser utilizada para dar altas, sino para realizar modificaciones.
El proceso queda paralizado mientras el formulario permanezca abierto en pantalla.
La variable local booleana de retorno de ok podrá ser tanto una declarada previamente en el proceso como una nueva.
Este comando de instrucción, dado que requiere de la intervención del usuario, solamente debe ser usado en procesos que sean ejecuados en primer o en segundo plano.
Crear copia de ficha en memoria
Comando de instrucción del grupo Ficha y campos que crea una copia en memoria de una ficha de la tabla en curso.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Manejador de ficha: Identificador o manejador que queremos dar a la ficha para poder referenciarla a lo largo del proceso.
Funcionalidad:
Crea una copia en memoria de una ficha de la tabla en curso. Esta copia será local al proceso.
Comentarios:
Las modificaciones que se realicen en la ficha copiada en memoria afectarán solamente a ésta, no a la ficha de origen.
Podremos procesar y/o modificar la copia generada en memoria mediante el comando des instrucción Procesar ficha en memoria, en el que la ficha será identificada con el manejador declarado en su parámetro.
Podremos crear una nueva ficha a partir de la copia creada en memoria mediante el comando de Alta de ficha, al igual que en caso anterior, en este comando la ficha será referenciada con el manejador declarado en su parámetro.
Crear nueva ficha en memoria
Comando de instrucción del grupo Ficha y campos que crea en memoria una ficha de una tabla concreta.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ficha de la tabla indicada en sus parámetros.
Parámetros:
Manejador de ficha: Identificador o manejador que queremos dar a la ficha para poder referenciarla a lo largo del proceso.
Identificador de tabla: Identificador de la tabla en la que se desea crear la ficha en memoria.
Funcionalidad:
Crea memoria una ficha de la tabla especificada en los parámetros. Esta copia será local al proceso. Este comando genera un subproceso cuyo origen será la ficha creada. En él podremos editar su contenido.
Comentarios:
Podremos procesar la ficha generada en memoria a lo largo del proceso mediante el comando des instrucción Procesar ficha en memoria, en el que la ficha será identificada con el manejador declarado en su parámetro.
Esta ficha será local al proceso, por lo que será destruida al finalizar el mismo.
Si queremos crear una ficha en la misma tabla a partir de la ficha generada en memoria usaremos el comando de Alta de ficha, al igual que en caso anterior, en este comando la ficha será referenciada con el manejador declarado en su parámetro.
Procesar ficha en memoria
Comando de instrucción del grupo Ficha y campos que permite procesar una ficha local al proceso creada previamente mediante un comando Crear nueva ficha en memoria o el comando Crear copia de ficha en memoria.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ficha a editar.
Parámetros:
Manejador de ficha: Identificador o manejador dado a la ficha mediante la ejecución previa de los comandos Crear nueva ficha en memoria o Crear copia de ficha en memoria.
Funcionalidad:
Permite procesar una ficha local al proceso creada previamente mediante los comandos Crear nueva ficha en memoria o Crear copia de ficha en memoria. Este comando genera un subproceso cuyo origen será la ficha asociada al manejador indicado en sus parámetros.
Comentarios:
Esta ficha en memoria será local al proceso, por lo que será destruida al finalizar el mismo.
Si queremos crear una ficha en la misma tabla a partir de la ficha generada en memoria usaremos el comando de Alta de ficha, en este comando la ficha será referenciada con el manejador declarado en su parámetro.
Get atributos de dibujo
Comando de instrucción del grupo Ficha y campos que permite obtener los atributos de una imagen almacenada en un
campo de tipo objeto dibujo de un registro de una tabla.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo objeto dibujo: Identificador de un campo de tipo objeto dibujo de la tabla de origen de la línea del proceso. Se abrirá una lista desplegable que solamente mostrará los campos de este tipo que existan en la tabla origen de la línea del proceso.
Identificador de variable local numérica de retorno de dimensión x en píxels: Variable local del proceso, de tipo numérico, donde se retornará el ancho de la imagen en píxels.
Identificador de variable local numérica de retorno de dimensión y en píxels: Variable local del proceso, de tipo numérico, donde se retornará la altura de la imagen en píxels.
Identificador de variable local numérica de retorno de tamaño en bytes: Variable local del proceso, de tipo numérico, donde se retornará el tamaño de la imagen en bytes.
Funcionalidad:
Este comando devuelve los atributos (alto, ancho y tamaño) de una imagen almacenada en un
campo de tipo objeto dibujo de un registro de una tabla.
Comentarios:
Las variables locales de retorno de sus parámetros podrán ser tanto variables ya declaradas previamente como nuevas.
Las imágenes internamente son almacenadas como mapas de bits (bmp).
Editor de dibujos
Comando de instrucción del grupo Ficha y campos que edita la imagen contenida en un campo de tipo objeto dibujo de la ficha en curso en el editor de dibujos de Velneo.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de campo objeto dibujo: Identificador de un campo de tipo objeto dibujo de la tabla en curso.
Título opcional ventana (opcional): Expresión de tipo fórmula con el título a presentar en la venta del editor de dibujos.
Funcionalidad:
edita la imagen contenida en un campo de tipo objeto dibujo de la ficha en curso en el editor de dibujos de Velneo.
Comentarios:
Este comando no genera transacción por sí mismo; esto quiere decir que el uso de este comando modifica el contenido del campo pero no graba el cambio en disco.
En un proceso, para que las modificaciones realizadas en la imagen sean guardadas en disco, la ficha deberá haber sido abierta previamente en modo lectura/escritura, por ejemplo, mediante el uso de comandos del tipo Modificar ficha seleccionada, Recorrer lista lectura/escritura, etc.
El editor de dibujos de Velneo incluye dos botones: “Aceptar” y “Cancelar”, si el usuario modifica la imagen si pulsa “Aceptar” se guardarán los cambios, si pulsa “Cancelar”, no.
Para facilitar la creación de la fórmula del segundo parámetro podremos hacer uso del asistente para edición de fórmulas.
Ficheros y directorios
Grupo de comandos de instrucción que nos permiten operar con ficheros en disco y las carpetas del sistema operativo.
Cambiar directorio por defecto
Comando de instrucción del grupo Ficheros y directorios que establece la senda del directorio o carpeta por defecto que será usado por la instancia en ejecución.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda: Senda que define qué directorio por defecto queremos establecer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Establece la senda por defecto por lo que en el uso de otros comandos posteriores del grupo Ficheros y directorios podremos obviar el uso de directorios y hacer uso únicamente de nombres de fichero ya que se asumirá la senda por defecto establecida con este comando.
Comentarios:
Debemos tener en cuenta que el cambio del directorio por defecto afecta en el cliente a todos los procesos de la instancia, y de igual forma sucede en el servidor, por lo que si no queremos esta funcionalidad, debemos hacer uso de la senda completa en los comandos que lo necesiten.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Copiar fichero
Comando de instrucción del grupo Ficheros y directorios que copia un fichero en disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda de origen: Senda del fichero que queremos copiar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda de destino: Senda del fichero copia que ha de incluir el nombre del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Copia el fichero de origen en la senda de destino.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa del fichero de origen (y destino si queremos la copia en la misma carpeta).
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Crear directorio
Comando de instrucción del grupo Ficheros y directorios que crea un directorio o carpeta.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda: Senda del directorio que queremos crear. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Senda completa: Este parámetro determina si la senda que hemos pasado como parámetro es una senda con la carpeta a crear como último elemento (No), o ha de crearse la senda completa en el caso de que no exista (Sí).
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Crea una carpeta en disco. Si hemos configurado Senda completa con el valor Sí se creará toda la senda si no existe.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Eliminar directorio
Comando de instrucción del grupo Ficheros y directorios que elimina un directorio del disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda: Senda del directorio que queremos eliminar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Senda completa: Este parámetro determina si la senda que hemos pasado como parámetro es una senda con la carpeta a eliminar como último elemento (No), o ha de eliminarse la senda completa (Sí).
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Elimina una carpeta en disco. Si hemos configurado Senda completa con el valor Sí se eliminará toda la senda. Los directorios no han de contener ficheros y han de estar vacíos para poder ser eliminados.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Renombrar directorio
Comando de instrucción del grupo Ficheros y directorios que renombra un directorio del disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda de origen: Senda del directorio que queremos renombrar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda de destino: Nueva senda de destino del directorio. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Renombra una carpeta en disco.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Eliminar fichero de disco
Comando de instrucción del grupo Ficheros y directorios que elimina un fichero del disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda: Senda del fichero que queremos eliminar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Elimina un fichero en disco.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Renombrar o mover fichero
Comando de instrucción del grupo Ficheros y directorios que renombra o mueve un fichero del disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda de origen: Senda del fichero que queremos renombrar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda de destino: Nueva senda de destino del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Renombra o mueve un fichero en disco. El fichero será movido si la senda de destino es distinta a la senda de origen.
Comentarios:
En ambas sendas se ha de definir el nombre del fichero.
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
¿Existe fichero?
Comando de instrucción del grupo Ficheros y directorios que informa de la existencia de un fichero del disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda: Senda del fichero cuya existencia queremos determinar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si el fichero existe o false (0) si no existe en disco.
Identificador de variable local numérica de retorno de tamaño en bytes (Opcional): Variable local en la que el comando retornará el tamaño del fichero (bytes) si éste existe.
Funcionalidad:
Comprueba la existencia de un fichero en disco, devolviendo el tamaño de éste en bytes.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Fichero: Abrir
Comando de instrucción del grupo Ficheros y directorios que abre un fichero para lectura o escritura.
Origen de la instrucción: Cualquiera.
Destino del subproceso: El mismo que el origen.
Parámetros:
Manejador de fichero: Identificador del fichero. Nos permite referenciarlo a la hora de realizar operaciones de lectura o escritura.
Fórmula de senda: Senda del fichero que queremos leer o escribir. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Modo de apertura: Indicaremos qué operaciones realizaremos con el fichero abierto:
Lectura y escritura: Realizaremos operaciones de lectura y escritura en un fichero ya existente.
Lectura y escritura (Crea o agrega): Realizaremos operaciones de lectura y escritura en un fichero. Si existe el fichero previamente añade la información a la existente, si no existe crea el fichero.
Lectura y escritura (Crea o limpia): Realizaremos operaciones de lectura y escritura en un fichero. Si existe el fichero previamente lo sobreescribe borrando la información previa, si no existe crea el fichero.
Sólo lectura: Realizaremos únicamente operaciones de lectura en un fichero ya existente.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Abre un fichero en disco para realizar operaciones de lectura o escritura según lo hayamos configurado. Si el fichero existe podremos agregar la información o sobreescribir el fichero borrando la información previa. Si no existe podemos crearlo.
Las operaciones de lectura y escritura han de realizarse en el subproceso generado por la apertura del fichero.
Los comandos que realizan las operaciones de lectura y escritura son: Fichero: Grabar línea y Fichero: Leer línea, que hacen uso del manejador para indicar en qué fichero se realizará la operación. De esta forma podemos anidar operaciones de lectura y escritura en distintos ficheros.
Las operaciones de lectura y escritura son secuenciales y se realizan línea a línea. Por tanto debemos hacer uso de un bucle por medio del comando For condicionado a la realización de la operación de lectura o escritura, para leer o escribir varias líneas. Las operaciones de escritura, sin embargo, admiten la introducción de caracteres de retorno de carro (\r) y salto de línea (\n) por lo que es posible componer el texto completo que se escribirá en el fichero y realizar la operación con una única ejecución del comando.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Fichero: Grabar línea
Comando de instrucción del grupo Ficheros y directorios que escribe una línea en el fichero seleccionado.
Origen de la instrucción: Cualquiera.
Destino del subproceso: El mismo que el origen.
Parámetros:
Manejador de fichero: Identificador del fichero que queremos escribir.
Fórmula de dato: Dato que queremos escribir en la línea del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Escribe una línea en el fichero abierto. Las operaciones de escritura han de realizarse en el subproceso generado por la apertura del fichero.
Comentarios:
Las operaciones de lectura y escritura son secuenciales y se realizan línea a línea. Por tanto debemos hacer uso de un bucle por medio del comando For condicionado a la realización de la operación de lectura o escritura, para leer o escribir varias líneas. Las operaciones de escritura, sin embargo, admiten la introducción de caracteres de retorno de carro (\r) y salto de línea (\n) por lo que es posible componer el texto completo que se escribirá en el fichero y realizar la operación con una única ejecución del comando.
Es posible anidar operaciones de escritura en distintos ficheros, haciendo uso del manejador del fichero para seleccionar en aquél en el que queremos escribir.
Fichero: Leer línea
Comando de instrucción del grupo Ficheros y directorios que lee una línea en el fichero seleccionado.
Origen de la instrucción: Cualquiera.
Destino del subproceso: El mismo que el origen.
Parámetros:
Manejador de fichero: Identificador del fichero que queremos leer.
Identificador de variable local alfabética de retorno (Opcional): El comando retornará en esta variable local el dato leído en la línea.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
Lee una línea del fichero abierto. Las operaciones de lectura han de realizarse en el subproceso generado por la apertura del fichero.
Comentarios:
Las operaciones de lectura y escritura son secuenciales y se realizan línea a línea. Por tanto debemos hacer uso de un bucle por medio del comando For condicionado a la realización de la operación de lectura o escritura, para leer o escribir varias líneas.
Es posible anidar operaciones de lectura en distintos ficheros, haciendo uso del manejador del fichero para seleccionar aquél del que queremos leer.
Get atributos fichero
Comando de instrucción del grupo Ficheros y directorios que informa de los atributos básicos de un fichero en disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda: Senda del fichero cuyos atributos básicos queremos conocer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local fecha de retorno: Variable local en la que el comando retornará la fecha de última modificaciónl fichero.
Identificador de variable local hora de retorno (Opcional): Variable local en la que el comando retornará la hora de última modificación del fichero.
Identificador de variable local numérica de retorno de tamaño en bytes (Opcional): Variable local en la que el comando retornará el tamaño del fichero (bytes).
Funcionalidad:
Informa de los atributos básicos de un fichero en disco: fecha y hora de última modificación del fichero y el tamaño en bytes.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Recorrer directorio
Comando de instrucción del grupo Ficheros y directorios que recorre un directorio devolviendo la senda de los ficheros y directorios encontrados y generando un subproceso por cada uno de ellos.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda: Senda que define qué directorio queremos recorrer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de filtro de archivos: Filtro de archivos que será tomados en cuenta cuando se recorre el directorio. Han de ir separados por comas. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Recursivo: Indicaremos si cuando encuentre directorio también lo recorrerá de forma recursiva (Sí) o la evaluará como si se tratara de un fichero (No)
Identificador de variable local alfabética de retorno de senda: El comando retornará en esta variable la senda completa del fichero o directorio encontrado y para el cuál se genera un subproceso.
Identificador de variable local booleana de retorno que indica si es directorio (Opcional): El comando retornará true (1) en esta variable local si se trata de un directorio o false (0) si es un fichero.
Identificador de variable local booleana de retorno que indica si es sólo lectura (Opcional): El comando retornará true (1) en esta variable local si se trata de un fichero con el atributo de sólo lectura false (0) si podemos escribir en él.
Funcionalidad:
Recorre un directorio generando un subproceso por cada fichero o directorio encontrado. Sin configuramos que sea recursivo, además entrará en los directorios para recorrerlos también de forma recursiva.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto no es necesario definir la senda completa.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Ventana de selección de fichero
Comando de instrucción del grupo Ficheros y directorios que muestra al usuario un cuadro de diálogo de selección de fichero del sistema y retorna la senda del fichero seleccionado por el usuario.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local alfabética de retorno de senda: El comando retornará en esta variable local la senda del fichero seleccionado por el usuario.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si el usuario ha aceptado el cuadro de diálogo de selección de fichero o false (0) si lo ha cancelado.
Fórmula de filtro de archivos (Opcional): Filtro de archivos que limitará las posibilidades de selección de fichero del usuario. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc. La sintaxis que se ha de seguir en este parámetro es:
[Exp1 (*.ext1 [*.ext2 *.ext3...)];;[Exp2 (*.ext4 [*.ext5 *.ext6...])]]
“Imagenes (*.png *.bmp *. jpg);;Ficheros de texto (*.txt);;Ficheros XML (*.xml)”
Si no se especifica nada en este parámetro, será lo mismo que especificar “Todos los archivos (*.*)”.
Fórmula de senda por defecto (Opcional): Senda por defecto en la que mostrará el cuadro de diálogo de seleccion de fichero al usuario. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Funcionalidad:
Muestra al usuario un cuadro de diálogo de selección de fichero del sistema, permitiendo seleccionar ficheros de acuerdo al filtro de archivos definido y en la senda por defecto establecida.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto el cuadro de diálogo de selección de fichero mostrará ésta si no hemos definido otra.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Ventana de selección de directorio
Comando de instrucción del grupo Ficheros y directorios que informa de la existencia de un directorio o carpeta del disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de variable local alfabética de retorno de senda: El comando retornará en esta variable local la senda del directorio seleccionado por el usuario.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si el usuario ha aceptado el cuadro de diálogo de selección de directorio o false (0) si lo ha cancelado.
Fórmula de senda por defecto (Opcional): Senda por defecto en la que mostrará el cuadro de diálogo de seleccion de directorio al usuario. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Funcionalidad:
Muestra al usuario un cuadro de diálogo de selección de directorio del sistema, mostrando la senda establecida por defecto.
Comentarios:
Si tenemos establecido un directorio por defecto con el comando de instrucción Cambiar directorio por defecto el cuadro de diálogo de selección de directorio mostrará ésta si no hemos definido otra.
Las sendas pueden estar definidas según el estilo de cualquiera de los sistemas operativos pero se han de tener en cuenta las diferencias en cuanto a la definición de la raíz del sistema.
Get fichero de URL
Comando de instrucción del grupo Internet que descarga un enlace definido por una URL y lo guarda en disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Formula de URL: URL de enlace a página web, fichero, etc. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Formula de URL: Senda en disco, incluyendo el nombre del fichero, en la que se guardará la URL descargada. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Funcionalidad:
Descarga la página web o fichero cuya URL especifiquemos, guardando el resultado en un fichero en disco cuya senda especificamos, incluyendo el nombre del fichero con que queremos guardarlo.
Comentarios:
Debemos tener en cuenta que la descarga se realice en una carpeta con permisos para el usuario si se decarga en el cliente o para el servidor si realiza la descarga en 3º ó 4º plano.
Listas
Conjunto de comandos de proceso que permite interactuar con una lista de registros de una tabla.
Este tipo de comandos solamente estarán accesibles en aquellas líneas de proceso cuyo origen sea una lista de de registros de una tabla.
Cortar lista
Comando de instrucción del grupo Listas que recorta el número de elementos de una la lista a partir de una posición determinada.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de tamaño: Tamaño o número de elementos de la nueva lista.
Fórmula de posición: Posición a partir de la cual se quiere cortar la lista. La primera posición de la lista será la 1.
Funcionalidad:
Este comando de instrucción recorta el número de elementos de la la lista de origen de la línea del proceso al tamaño dado en el primer parámetro desde la posición especificada en el segundo parámetro.
El resto de los elementos no son borrados de la tabla de datos, sólo son quitados de la lista de origen.
Este comando no crea ningún tipo de subproceso, es simplemente un paso que altera el contenido de la lista de origen. La siguiente línea del proceso al mismo nivel que ésta partirá de la lista obtenida.
Comentarios:
Los dos parámetros son expresiones de tipo fórmula por lo que podremos hacer uso del asistente para edición de fórmulas para facilitar su especificación.
Filtrar lista
Comando de instrucción del grupo Listas que quita de la lista de origen los elementos que no cumplan una determinada condición.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula filtro:: Espresión de tipo fórmula en la que se establecerá el filtro a realizar. En la misma podremos usar campos de la tabla en curso.
Funcionalidad:
Quita de la lista los elementos que no cumplan la condición especificada en sus parámetros. Los elementos filtrados no son borrados en la tabla de datos, sólo son quitados de la lista.
Este comando no crea ningún tipo de subproceso, es simplemente un paso que altera el contenido de la lista en curso. La siguiente función del proceso al mismo nivel tendrá como origen la lista filtrada.
Comentarios:
Para facilitar la especificación de la fórmula podremos hacer uso del asistente para edición de fórmulas.
Invertir lista
Comando de instrucción del grupo Listas que invierte el orden de la lista de origen.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Funcionalidad:
Invierte el orden de la lista de origen, tomando como campo de referencia aquel por el que la lista haya sido ordenada previamente.
Este comando no crea ningún tipo de subproceso. La siguiente línea del proceso al mismo nivel tendrá como origen la lista filtrada.
Multipartir lista
Comando de instrucción del grupo Listas que parte la lista actual por cada ficha encontrada en la que el valor del campo de partición sea diferente al anterior.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Lista de la tabla en curso.
Parámetros:
Identificador de campo: En este parámetro se especificará el campo de la tabla el curso por el que la lista será multipartida.
Funcionalidad:
Por cada valor diferente que tenga el campo seleccionado se originará una nueva sub-lista que agrupará los registros correspondientes a ese valor. El subproceso que este comando genera será ejecutado por cada sub-lista obtenida.
Comentarios:
Este comando requiere que la lista haya sido ordenada previamente por el campo a multipartir. Para ello podría usarse, por ejemplo, el comando Ordenar lista, o que la lista haya sido obtenida por una Búsqueda o un Cargar lista usando un índice cuyo primer componente sea el campo por el que se desea multipartir.
Ordenar lista
Comando de instrucción del grupo Listas que permite ordenar la lista en curso por uno o varios campos.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Campo de resolución: Primer campo de ordenación. Podrá tratarse de un campo de la tabla de origen o de un campo de cualquiera de sus tablas enlazadas.
Campo de resolución (Opcional): Segundo campo de ordenación.
Campo de resolución (Opcional): Tercer campo de ordenación.
Campo de resolución (Opcional): Cuarto campo de ordenación.
Campo de resolución (Opcional): Quinto campo de ordenación.
Campo de resolución (Opcional): Sexto campo de ordenación.
Funcionalidad:
Este comando de instrucción permite ordenar la lista en curso por el campo o campos especificados en sus parámetros. La lista será ordenada en primera instancia por el campo seleccionado en el primer parámetro y si se especifica más de un campo de ordenación, la lista ordenará por el segundo cuando haya valores coincidentes en el primero, por el tercero cuando haya valores coincidentes en el segundo y así sucesivamente.
ordenada.
Ejemplo: Si ordenamos una lista de artículos por los campo FAMILIA, MARCA y NOMBRE, ésta será ordenada por FAMILIA dentro de cada familia por MARCA y dentro de cada MARCA por orden alfabético.
Comentarios:
Esta función no crea ningún subproceso, es un simple paso. La siguiente línea del proceso que se cree al nivel de ésta, tendrá como origen la lista ordenada.
Quitar ficha de la lista
Comando de instrucción del grupo Listas que permite quitar un elemento de la lista de origen pero sin borrarlo de la base de datos.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula posición: Expresión fórmula que resuelva la posición del elemento a quitar de la lista. La primera posición será 1.
Funcionalidad:
Comando de instrucción que permite quitar el elemento especificado en el parámetro Fórmula posición de la lista de origen pero sin borrarlo de la base de datos.
Comentarios:
Para facilitar la especificación del elemento a quitar podremos hacer uso del asistente para edición de fórmulas. Al tratarse de una fórmula podrá ser tanto un dato constante como uno variable.
La última posición de la lista podremos obtenerla por medio de la variable del sistema sysListSize.
Recorrer lista eliminando fichas
Comando de instrucción del grupo Listas que recorre la lista de origen borrando los registros de la misma, disparando, por cada ficha borrada, las actualizaciones declaradas en la tabla asociada a la lista.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ficha a eliminar de la tabla en curso.
Parámetros:
No tiene.
Funcionalidad:
Recorre la lista de origen borrando los registros de la misma, disparando, por cada ficha borrada, las actualizaciones declaradas en la tabla asociada a la lista.
Este comando genera un subproceso que será ejecutado por cada ficha a borrar; el origen de dicho subproceso, por tanto, será ficha de la tabla en curso. Las intrucciones que se incluyan dentro del subproceso serán ejecutadas por cada registro de la lista. Este subproceso será ejecutado antes del borrado de la ficha.
Comentarios:
Este comando, dado que implica escritura en disco, genera transacción.
El borrado de un registro implicará la ejecución de los eventos de tabla de baja de ficha.
Si queremos borrar las fichas sin que se disparen las actualizaciones tendremos que usar el comando de instrucción Recorrer lista eliminando fichas sin desactualizar.
Recorrer lista eliminando fichas sin desactualizar
Comando de instrucción del grupo Listas que recorre la lista de origen borrando los registros de la misma sin disparar, por cada ficha borrada, las actualizaciones declaradas en la tabla asociada a la lista.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ficha a eliminar de la tabla en curso.
Parámetros:
No tiene.
Funcionalidad:
Recorre la lista de origen borrando los registros de la misma pero no disparará, por cada ficha borrada, las actualizaciones declaradas en la tabla asociada a la lista.
Este comando genera un subproceso que será ejecutado por cada ficha a borrar; el origen de dicho subproceso, por tanto, será ficha de la tabla en curso. Las intrucciones que se incluyan dentro del subproceso serán ejecutadas por cada registro de la lista. Este subproceso será ejecutado antes del borrado de la ficha.
Comentarios:
Este comando, dado que implica escritura en disco, genera transacción.
El borrado de un registro implicará la ejecución de los eventos de tabla de baja de ficha.
Si queremos borrar las fichas y que se disparen las actualizaciones tendremos que usar el comando de instrucción Recorrer lista eliminando fichas.
Recorrer lista lectura/escritura
Comando de instrucción del grupo Listas que recorre la lista de origen y modifica los registros de la misma.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ficha a eliminar de la tabla en curso.
Parámetros:
No tiene.
Funcionalidad:
Recorre la lista de origen y ejecuta las instrucciones que cuelgan en el subproceso con cada registro de la misma. Este comando genera un subproceso que será ejecutado por cada ficha a modificar; el origen de dicho subproceso, por tanto, será ficha de la tabla en curso.
Las intrucciones que se incluyan dentro del subproceso serán ejecutadas por cada registro de la lista. Este subproceso será en el que se incluyan las insturcciones que modifiquen los campos de la ficha.
Comentarios:
Este comando, dado que implica escritura en disco, genera transacción.
La modificación de un registro implicará la ejecución de los eventos de tabla de modificación de ficha y el disparo de las actualizaciones en las que intervengan los campos modificados en el proceso.
Cada ficha procesada permanecerá bloqueada mientras dure el subproceso que este comando genera; esto quiere decir que la ficha podrá ser leída pero no bloqueada en modo lectura-escritura desde otros procesos o por otros usuarios.
Para modificar el contenido de un campo usaremos el comando de proceso Modificar campo.
Recorrer lista solo lectura
Comando de instrucción del grupo Listas que recorre la lista de origen y permite leer uno a uno los registros de la misma.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ficha a eliminar de la tabla en curso.
Parámetros:
No tiene.
Funcionalidad:
Recorre la lista de origen y ejecuta las instrucciones que cuelgan en el subproceso con cada registro de la misma. Este comando genera un subproceso que será ejecutado por cada ficha a leer; el origen de dicho subproceso, por tanto, será ficha de la tabla en curso.
Las intrucciones que se incluyan dentro del subproceso serán ejecutadas por cada registro de la lista.
Comentarios:
Este comando abre las fichas en modo de sólo lectura, por tanto, no genera transacción y no es posible modificar las fichas procesadas en el subproceso que genera.
En el caso de que se desee recorrer la lista de origen para modificar los registros contenidos en la misma, tendremos que usar el comando de instrucción Recorrer lista lectura/escritura.
Imprimir informe
Comando de instrucción del grupo Listas que permite imprimir un informe.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Identificador del informe (Obligatorio): Objeto informe cuya tabla asociada es la misma que la del origen de la línea del proceso donde estamos incluyendo este comando de instrucción.
Identificador de impresora lógica (Opcional): Objeto impresora lógica en la que se desea imprimir el informe.
Funcionalidad:
Comando de instrucción de proceso que permite imprimir un informe en la impresora lógica que seleccionemos en sus parámetros.
Comentarios:
El proceso se paralizará durante la generación del informe y, una vez generado, continuará la ejecución secuencial del proceso.
Listas: Ficha seleccionada
El grupo de comandos de Lista: Ficha seleccionada comprende comandos de origen lista que permiten trabajar con una ficha seleccionada.
Eliminar ficha seleccionada
Comando de instrucción del grupo Listas: Ficha seleccionada que permite eliminar la ficha seleccionada de la lista en curso.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ficha seleccionada de la tabla en curso.
Parámetros:
No tiene.
Funcionalidad:
Elimina la ficha seleccionada de la lista en curso.
Este comando permite eliminar la ficha seleccionada mediante los comandos de instrucción Seleccionar ficha por posición o Seleccionar ficha de la lista o las fichas seleccionadas mediante la selección en los objetos de lista realizada por el usuario.
Crea un subproceso de ficha con la ficha seleccionada. Dicho subproceso se ejecuta después de haber sido borrada la ficha. El subproceso es de lectura/escritura, por lo que cualquier cambio realizado será guardado.
Comentarios:
Si la tabla tiene declarada alguna actualización será ejecutada.
Si no está seleccionada una ficha, el subproceso no será ejecutado.
Esta función debe utilizarse en la misma lista de la selección.
Eliminar la ficha seleccionada sin desactualizar
Comando de instrucción del grupo Listas: Ficha seleccionada que permite eliminar la ficha seleccionada de la lista en curso sin desactualizar.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ficha seleccionada de la tabla en curso.
Parámetros:
No tiene.
Funcionalidad:
Elimina la ficha seleccionada de la lista en curso.
Este comando permite eliminar la ficha seleccionada mediante los comandos de instrucción Seleccionar ficha por posición o Seleccionar ficha de la lista o las fichas seleccionadas mediante la selección en los objetos de lista realizada por el usuario.
Crea un subproceso de ficha con la ficha seleccionada. Dicho subproceso se ejecuta después de haber sido borrada la ficha. El subproceso es de lectura/escritura, por lo que cualquier cambio realizado será guardado.
Comentarios:
Si la tabla tiene declarada alguna actualización esta no será ejecutada.
Si no está seleccionada una ficha, el subproceso no será ejecutado.
Esta función debe utilizarse en la misma lista de la selección.
Leer ficha seleccionada
Comando de instrucción del grupo Listas: Ficha seleccionada que permite leer la ficha seleccionada de la lista en curso.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ficha seleccionada de la tabla en curso.
Parámetros:
No tiene.
Funcionalidad:
Permite leer la ficha seleccionada de la lista en curso.
Este comando permite leer la ficha seleccionada mediante los comandos de instrucción Seleccionar ficha por posición o Seleccionar ficha de la lista o las fichas seleccionadas mediante la selección en los objetos de lista realizada por el usuario.
Crea un subproceso de ficha con la ficha seleccionada. El subproceso es de sólo lectura, por lo que cualquier cambio realizado no será guardado.
Comentarios:
Si no está seleccionada una ficha, el subproceso no será ejecutado.
Esta función debe utilizarse en la misma lista de la selección.
Modificar ficha seleccionada
Comando de instrucción del grupo Listas: Ficha seleccionada que permite modificar la ficha seleccionada de la lista en curso.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ficha seleccionada de la tabla en curso.
Parámetros:
No tiene.
Funcionalidad:
Modificar la ficha seleccionada de la lista en curso.
Este comando permite modificar la ficha seleccionada mediante los comandos de instrucción Seleccionar ficha por posición o Seleccionar ficha de la lista o las fichas seleccionadas mediante la selección en los objetos de lista realizada por el usuario.
Crea un subproceso de ficha con la ficha seleccionada. Dicho subproceso se ejecuta después de haber sido borrada la ficha. El subproceso es de lectura/escritura, por lo que cualquier cambio realizado será guardado.
Comentarios:
Si la tabla tiene declarada alguna actualización será ejecutada.
Si no está seleccionada una ficha, el subproceso no será ejecutado.
Esta función debe utilizarse en la misma lista de la selección.
Modificar ficha seleccionada con formulario
Comando de instrucción del grupo Listas: Ficha seleccionada que permite modificar la ficha seleccionada de la lista en curso con un formulario.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Rejilla: Formulario de la tabla en curso con el que el usuario seleccionará modificará el registro.
Identificador de variable local booleana de retorno de ok: Variable local de tipo booleano en la que se recibirá la confirmación de la modificación (1) o que el usuario ha cancelado (0).
Funcionalidad:
Modificar la ficha seleccionada de la lista en curso con un formulario de la tabla.
Este comando permite modificar la ficha seleccionada mediante los comandos de instrucción Seleccionar ficha por posición o Seleccionar ficha de la lista o las fichas seleccionadas mediante la selección en los objetos de lista realizada por el usuario.
Crea un subproceso de ficha con la ficha seleccionada. Dicho subproceso se ejecuta después de haber sido borrada la ficha. El subproceso es de lectura/escritura, por lo que cualquier cambio realizado será guardado.
Comentarios:
Si la tabla tiene declarada alguna actualización será ejecutada.
Si no está seleccionada una ficha, el subproceso no será ejecutado.
Esta función debe utilizarse en la misma lista de la selección.
Seleccionar ficha de la lista
Comando de instrucción del grupo Listas: Ficha seleccionada que permite seleccionar una ficha de la lista en curso.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Rejilla: Rejilla de la tabla en curso en la que el usuario seleccionará el registro.
Identificador de variable local booleana de retorno de ok: Variable local de tipo booleano en la que se recibirá la confirmación de la selección (1) o que el usuario ha cancelado (0).
Funcionalidad:
Seleccionar una ficha de la lista en curso mediante una rejilla de la misma tabla que el usuario mediante doble clic en una fila.
Este comando permite seleccionar una ficha que podrá ser luego manejada con los comandos de instrucción Leer ficha seleccionada, Modificar ficha seleccionada, Modificar ficha seleccionada con fo, Eliminar la ficha seleccionada y Eliminar la ficha seleccionada sin .
Comentarios:
Esta función debe utilizarse en la misma lista de la selección.
Seleccionar ficha por posición
Comando de instrucción del grupo Listas: Ficha seleccionada que permite seleccionar una ficha de la lista en curso según la posición.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Posición: Fórmula numérica que determina la posición en la lista en curso de la ficha que queremos seleccionar.
Funcionalidad:
Seleccionar una ficha de la lista en curso mediante la posición de la ficha en la lista.
Este comando permite seleccionar una ficha que podrá ser luego manejada con los comandos de instrucción Leer ficha seleccionada, Modificar ficha seleccionada, Modificar ficha seleccionada con fo, Eliminar la ficha seleccionada y Eliminar la ficha seleccionada sin .
Comentarios:
Esta función debe utilizarse en la misma lista de la selección.
Navegante y búsquedas
Conjunto de comandos de proceso que permiten navegar por la información contenida en las distintas tablas de datos de los proyectos de datos ejecutados a través los enlaces declarados. Permite tambien hacer uso a traves de comandos de proceso de los objetos visuales Búsqueda y Localizador.
Búsqueda
Comando de instrucción del grupo Navegante y búsquedas que permite ejecutar un objeto búsqueda contenido en un proyecto de aplicación, incluyendo los heredados.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Lista de la tabla origen de la Búsqueda.
Parámetros:
Identificador de Búqueda: Identificador de la Búsqueda que queremos ejecutar. Para facilitar su especificación, este parámetro desplegará la lista de Búsquedas incluyendo los proyectos de aplicación heredados.
Funcionalidad:
Este comando permite ejecutar cualquiera de las búsquedas que tenga declaradas en el proyecto de aplicación, incluyendo los heredados.
Crea un subproceso de lista, cuyo origen será la lista resultante de la ejecución de la Búsquedas.
Comentarios:
La búsqueda siempre será realizada sobre todos los registros de la tabla de datos.
Cargar lista
Comando de instrucción del grupo Navegante y búsquedas que permite carga una lista de registros de una tabla de datos.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Lista.
Parámetros:
Identificador de tabla: Identificador de la tabla que queremos ejecutar. Para facilitar su especificación, este parámetro desplegará la lista de tablas incluyendo los proyectos de datos heredados.
Identificador de índice: Identificador del índice que queremos utilizar para cargar la lista. Para facilitar su especificación, este parámetro desplegará la lista de índices de la tabla seleccionada en el parámetro anterior.
Formula de resolución: Fórmula para resolver la primera parte de la clave del índice.
Formula de resolución: Fórmula para resolver la segunda parte de la clave del índice.
Formula de resolución: Fórmula para resolver la tercera parte de la clave del índice.
Formula de resolución: Fórmula para resolver la cuarta parte de la clave del índice.
Funcionalidad:
Carga una lista de registros de la tabla de datos dada. Esta función crea un subproceso de lista con los registros encontrados.
Comentarios:
Si no se resuelve ninguna de las partes del índice, es cargada la tabla de datos completa. Si no se resuelven todas las partes del índice, son leídas todas las fichas que tengan las partes resueltas en su clave, despreciando el resto.
Cargar maestros
Comando de instrucción del grupo Navegante y búsquedas que permite obtener una lista con las fichas maestras.
Origen de la instrucción: Lista.
Destino del subproceso: Lista de la tabla apuntada por el campo cargado.
Parámetros:
Identificador de campo: Identificador del campo enlazado. Para facilitar su especificación, este parámetro desplegará la lista de campos enlazados de la tabla.
Funcionalidad:
Esta función carga cada una de las fichas del archivo maestro que están siendo apuntadas por las fichas de la lista en curso a través del campo enlazado. De esta forma, se obtiene una lista, sin repeticiones, con las fichas maestras apuntadas.
Comentarios:
Esta función genera un subproceso, cuyo origen será la lista obtenida.
Cargar plurales
Comando de instrucción del grupo Navegante y búsquedas que permite obtener una lista con las fichas históricas.
Origen de la instrucción: Lista y ficha.
Destino del subproceso: Lista de la tabla histórica.
Parámetros:
Identificador de plural: Identificador del plural enlazado. Para facilitar su especificación, este parámetro desplegará la lista de plurales enlazados de la tabla.
Funcionalidad:
Si el origen es ficha, lee los plurales del registro actual de la tabla de datos en curso. Si es lista, lee los plurales de todos los registros la lista.
Comentarios:
Esta función crea un subproceso de lista con todos los registros históricos cargados.
Localizador
Comando de instrucción del grupo Navegante y búsquedas que permite ejecutar un objeto localizador contenido en un proyecto de aplicación, incluyendo los proyectos heredados.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ficha de la tabla origen del localizador.
Parámetros:
Identificador de localizador: Identificador del objeto localizador que queremos ejecutar. Para facilitar su especificación, este parámetro desplegará la lista de todos los localizadores incluyendo los proyectos de aplicación heredados.
Funcionalidad:
Este comando permite ejecutar cualquiera de los objetos localizador que tenga declarados en el proyecto de aplicación, incluyendo los heredados.
Comentarios:
Crea un subproceso de ficha, cuyo origen será el registro resultante de la selección del usuario, pudiendo, por ejemplo, leer o modificar la ficha seleccionada.
Procesos
Conjunto de comandos de proceso relativos a la ejecución de procesos.
Este tipo de comandos no está asociados a un origen concreto, por lo que estarán accesibles desde cualquier línea de un proceso, independientemente de si su origen es ficha, lista o ninguno.
Deshacer transacción
Comando de instrucción del grupo Procesos que deshace una transacción dentro de un proceso que escriba en disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
No tiene
Funcionalidad:
Comando que permite deshacer una transacción dentro de un proceso que escriba en disco. Conviene ser muy cuidadoso a la hora de utilizar este comando, pues deshará toda la transacción donde sea utilizado.
Comentarios:
Si desde un proceso que transacciona disparamos un subproceso y en éste deshacemos transacción, serán deshechas todas las transacciones realizadas tanto en el proceso principal como en el subproceso.
Si desde un proceso que no transacciona disparamos varios subprocesos que transaccionan y en uno de ellos deshacemos transacción, solamente serán deshechas la transacciones de ese subproceso, no las del resto.
Ejecutar proceso
Comando de instrucción del grupo Procesos que ejecuta el proceso especidifcado en el parámetro.
Origen de la instrucción: Cualquiera.
Destino del subproceso: La salida de subproceso llamado; si éste no tiene salida, el destino será el del origen de la línea de proceso donde se ha usado este comando.
Parámetros:
Identificador del proceso: Proceso a ejecutar. Podremos elegir entre los procesos cuyo origen coincida con el origen de la línea y aquellos que no tengan origen.
Modo de ejecución: En este parámetro seleccionaremos en qué plano será ejecutado el proceso a ejecutar. Las opciones posibles son:
1º plano: Local: El subproceso será ejecutando en la misma máquina y en el mismo plano que el proceso principal. Es decir, si el proceso llamador es en 1º plano, el subproceso será ejecutado también en 1º plano, si el proceso principal es multitarea, el subproceso será también ejecutado en multi-tarea. El proceso principal se detendrá mientras el que subproceso no haya terminado, no continuará el proceso principal.
2º plano: Local multitarea (no espera retorno): El subproceso será ejecutando en multitarea, es decir, el subproceso será lanzado y su ejecución será paralela a la del proceso principal pues éste no esperará a que el subproceso finalice.
3º plano: Servidor: El subproceso será ejecutando en el servidor. El proceso principal se detendrá mientras el que subproceso no haya terminado, no continuará el proceso principal.
4º plano: Servidor (no espera retorno): El subproceso será ejecutando en el servidor y su ejecución será paralela a la del proceso principal pues éste no esperará a que el subproceso finalice.
Funcionalidad:
Comando de instrucción del grupo Procesos que ejecuta el proceso especificado en el parámetro. Si no vamos a necesitar procesar nada de lo realizado por el subproceso entonces éste podrá ser llamado en cualquiera de los modos que no esperan retorno.
Comentarios:
Este comando de instrucción genera un subproceso. El origen de dicho subproceso de la salida definida en el proceso ejecutado. En el caso de que el proceso ejecutado no tenga declarada salida alguna, el origen del subproceso será el mismo que el de la línea donde se ha usado este comando.
Esperar
Comando de instrucción del grupo Procesos que pausa la ejecución de un proceso.
Origen de la instrucción:Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de tiempo de espera en milisegundos: Expresión de tipo fórmula con el tiempo, en milisegundos, durante el cual se desea pausar el proceso.
Funcionalidad:
Este comando permite pausar la ejecución de un proceso. El proceso se pausará en el punto en el que se incluya este comando el tiempo indicado en sus parámetros. Una vez transcurrido ese tiempo, el proceso continuará su ejecución.
Finalizar proceso
Comando de instrucción del grupo Procesos que permite al programador abortar la ejecución del proceso en un punto determinado.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Funcionalidad:
Este comando permite abortar la ejecución de un proceso en un punto determinado. El proceso finalizará al ejecutarse la línea en la que se incluya este comando de instrucción, y no ejecutará las líneas posteriores a la misma.
Formulario con subproceso
(no funcional en la versión actual)
Punto donde se puede abortar
(no funcional en la versión actual)
Cambiar porcentaje realizado del proceso
Comando de instrucción del grupo Procesos que permite pasar el dato del porcentaje de registros procesados a las barras de progreso del panel de tareas en segundo plano de Velneo vClient.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de porcentaje que realiza del proceso:: Expresión de tipo fórmula que resuelva el valor del porcentaje realizado del proceso. Dicho valor deberá estar comprendido entre 0 y 100.
Funcionalidad:
Permite pasar el dato del porcentaje de registros procesados a las barras de progreso del panel de tareas en segundo plano de Velneo vClient.
Comentarios:
Este comando habitualmente será usado dentro de un bucle (For, BD: Recorrer lista, etc.). Una forma de calcular el porcentaje realizado del proceso será conociendo el número total de ítems a procesar o iteraciones del bucle y el número de elementos procesados o iteraciones realizadas. La fórmula sería:
round( 100 * elemenos_procesados / total_elementos, 0 )
Cambiar título de la transacción
Comando de instrucción del grupo Procesos que permite modificar el nombre del proceso que se muestra en el panel de transacciones de Velneo vAdmin y en el panel de procesos en 2º plano de Velneo vClient.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de texto: Expresión de tipo fórmula que resuelva el título de la transacción.
Funcionalidad:
Este comando de instrucción permite cambiar a lo largo de la ejecución de un proceso transaccional. Este comando de instrucción tiene que preceder a los comandos que realicen operaciones de escritura en disco.
Comentarios:
Para la especificación de su parámetro podemos hacer uso del asistente para edición de fórmulas.
Si usamos este comando dentro de un bucle generado por un comando Recorrer lista lectura/escritura, por ejemplo, podremos usar en la fórmula del título el campo ID o el campo NAME del registro en curso.
Forzar transacción
Comando de instrucción del grupo Procesos que hace que el proceso se ejecute de modo transaccional.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Comando de instrucción del grupo Procesos que hace que el proceso se ejecute de modo transaccional.
Comentarios:
Si ejecutamos un proceso que no transacciona, es decir, que no incluye ningún comando que implique escritura en disco, y desde éste llamamos a varios subproceso que sí transaccionan, puede tener sentido el querer englobarlo todo en una única transacción para que, en el caso que suceda algún problema que provoque una interrupción anómala del proceso, se deshaga todo y no solamente el subproceso transaccional que haya quedado pendiente de finalizar. El uso de este comando en el proceso principal haría que éste fuese transaccional y, por tanto, que todo quedase englobado en una única transacción.
Retornos
Conjunto de comandos de proceso cuya ejecución implica una devolución o retorno de información.
El retorno de un comando de este tipo no se produce en el momento en el que esa línea del proceso es procesada sino que es almacenado en memoria y es retornado una vez el proceso ha finalizado.
Algunos de los comando de retornos requieren un origen concreto, otros no.
Añadir ficha a la salida
Comando de instrucción del grupo Retornos que retorna una ficha. Este tipo de proceso se utiliza para alimientar la entrada de otros objetos o sub-objetos.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Funcionalidad:
Cuando en un proceso indicamos que tiene una tabla de destino con destino ficha estamos indicando que ese proceso retornará una ficha. Este comando de instrucción envía a la salida del proceso una ficha de una tabla. La tabla deberá ser la declarada como salida del proceso.
El proceso que use este comando de instrucción podrá lanzarse siempre que coincida su tabla y origen de entrada (ficha, lista o ninguno) y su salida podrá enlazarse con cualquier objeto cuyo origen coincida con la tabla de destino y destino (ficha) del proceso.
Este tipo de procesos es usado, por tanto, como entrada de otros objetos o como elemento sincronizador entre objetos que compongan un objeto multivista o una acción.
Comentarios:
Si en un mismo proceso se ejecuta varias veces este comando, el proceso devolverá únicamente la última ficha añadida.
Añadir lista a la salida
Comando de instrucción del grupo Retornos que retorna una lista de registros de una misma tabla. Este tipo de proceso se utiliza para alimientar la entrada de otros objetos o sub-objetos.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Funcionalidad:
Cuando en un proceso indicamos que tiene una tabla de destino con destino lista estamos indicando que ese proceso retornará una lista de registros de esa tabla. Este comando de instrucción envía a la salida del proceso una lista de una tabla. La tabla deberá ser la declarada como salida del proceso.
El proceso que use este comando de instrucción podrá lanzarse siempre que coincida su tabla y origen de entrada (ficha, lista o ninguno) y su salida podrá enlazarse con cualquier objeto cuyo origen coincida con la tabla de destino y destino (lista) del proceso.
Este tipo de procesos es usado, por tanto, como entrada de otros objetos o como elemento sincronizador entre objetos que compongan un objeto multivista o una acción.
Set dato de retorno del proceso
Comando de instrucción del grupo Retornos que retorna un valor desde un proceso que ha sido ejecutado desde otro mediante el comando de instrucción Ejecutar proceso .
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de dato: Expresión de tipo fórmula con el dato a retornar.
Funcionalidad:
Cuando desde un proceso ejecutamos otro mediante el comando de instrucción Ejecutar proceso podremos retornar el valor que especifiquemos en el parámetro al proceso principal. Este valor será recogido en el proceso principal en el parámtro Identificador de variable local de retorno del comando de instrucción Ejecutar proceso.
Comentarios:
Para facilitar la creación de la fórmula podremos hacer uso del asistente para edición de fórmulas.
Set retorno proceso = NO
Comando de instrucción del grupo Retornos que permite cambiar el valor de retorno de un proceso (por defecto será True). Cuando se ejecuta este comando el objeto llamador recibe un FALSE.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Funcionalidad:
Un proceso por defecto tiene el valor True como valor de retorno. Este comando de instrucción permite cambiar dicho valor de retorno por False.
Comentarios:
Si desde un proceso llamamos a otro mediante el comando Ejecutar proceso, el retorno True o False del sub-proceso ejecutado será recogido en el parámetro Identificador de variable local booleana de retorno de OK.
Si retornamos no en un evento de tabla previo a un alta, baja o modificación de ficha, se cancelará el alta, baja o modificación, respectivamente. Por tanto, este comando de instrucción nos será de gran utilidad para cancelar modificaciones en las tabla si se cumplen las condiciones que estimemos oportunas.
Si el proceso es el origen de otro objeto o de un subojeto, este comando cancelará su creación.
SDV
Grupo de comandos de instrucción que nos permite operar con ficheros y directorios del Servidor de disco de Velneo vServer.
SDV: Conectar
Comando de instrucción del grupo SDV: Servidor de disco de Velneo que permite conectarnos con el Servidor de disco de Velneo vServer V7.
Origen de la instrucción: Cualquiera.
Destino del subproceso: El mismo que el origen.
Parámetros:
Fórmula de dominio o IP del servidor: Dominio o IP del servidor que nos permite acceder al Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de usuario: Usuario con permiso de acceso al Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de contraseña: Contraseña del usuario con permiso de acceso al Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Funcionalidad:
El comando conecta con el Servidor de disco de Velneo vServer V7 autenticando el usuario y contraseña. Una vez ejecutado el subproceso cierra la conexión con el servidor.
En la conexión se podrá acceder a las carpetas compartidas declaradas para el usuario con el que se ha iniciado la conexión. Las operaciones con ficheros del Servidor de disco Velneo vServer V7 han de realizarse en el subproceso generado por el comando.
Comentarios:
El usuario de conexión con el Servidor de disco de Velneo vServer V7 no tiene por qué ser necesariamente el mismo que con el que nos hemos conectado a la aplicación.
SDV: Actualizar fichero en local
Comando de instrucción del grupo SDV: Servidor de disco de Velneo que permite descargar un fichero del Servidor de disco de Velneo vServer V7 y actualizar el fichero en disco.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda VRL de origen: Senda VRL del fichero que queremos descargar a disco desde el Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda de destino: Senda del fichero en disco que queremos actualizar. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación de conexión y comparación de ficheros o false (0) si no ha podido hacerlo.
Identificador de variable local booleana de retorno que indica si ha actualizado (Opcional): El comando retornará true (1) en esta variable local si se ha realizado la actualización, o false (0) si no ha sido así.
Funcionalidad:
El comando comprueba si el fichero alojado en el el Servidor de disco de Velneo vServer V7 es distinto al existente en disco. Si es así, lo descarga y actualiza el fichero existente en disco. Si el fichero existe es igual al fichero que se encuentra en el servidor, no realiza su descarga.
Comentarios:
En la conexión con el comando SDV: Conectar se podrá acceder a las carpetas compartidas declaradas para el usuario con el que se ha iniciado la conexión. Las operaciones con ficheros del Servidor de disco Velneo vServer V7 han de realizarse en el subproceso generado por el comando.
El usuario de conexión con el Servidor de disco de Velneo vServer V7 no tiene por qué ser necesariamente el mismo que con el que nos hemos conectado a la aplicación.
SDV: Eliminar fichero en el servidor
Comando de instrucción del grupo SDV: Servidor de disco de Velneo que permite eliminar un fichero del Servidor de disco de Velneo vServer V7.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda VRL de origen: Senda VRL del fichero que queremos eliminar en el Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
El comando elimina un fichero alojado en el el Servidor de disco de Velneo vServer V7.
Comentarios:
En la conexión con el comando SDV: Conectar se podrá acceder a las carpetas compartidas declaradas para el usuario con el que se ha iniciado la conexión. Las operaciones con ficheros del Servidor de disco Velneo vServer V7 han de realizarse en el subproceso generado por el comando.
El usuario de conexión con el Servidor de disco de Velneo vServer V7 no tiene por qué ser necesariamente el mismo que con el que nos hemos conectado a la aplicación.
SDV: Subir fichero al servidor
Comando de instrucción del grupo SDV: Servidor de disco de Velneo que permite subir un fichero al Servidor de disco de Velneo vServer V7.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda de origen: Senda del fichero en disco que queremos subir. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda VRL de destino: Senda VRL del fichero de destino en el Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
El comando sube un fichero en disco al Servidor de disco de Velneo vServer V7.
Comentarios:
En la conexión con el comando SDV: Conectar se podrá acceder a las carpetas compartidas declaradas para el usuario con el que se ha iniciado la conexión. Las operaciones con ficheros del Servidor de disco Velneo vServer V7 han de realizarse en el subproceso generado por el comando.
El usuario de conexión con el Servidor de disco de Velneo vServer V7 no tiene por qué ser necesariamente el mismo que con el que nos hemos conectado a la aplicación.
SDV: Descargar fichero a local
Comando de instrucción del grupo SDV: Servidor de disco de Velneo que permite descargar un fichero del Servidor de disco de Velneo vServer V7.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda VRL de origen: Senda VRL del fichero que queremos descargar a disco desde el Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda de destino: Senda del fichero de destino en disco. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
El comando descarga el fichero alojado en el el Servidor de disco de Velneo vServer V7.
Comentarios:
En la conexión con el comando SDV: Conectar se podrá acceder a las carpetas compartidas declaradas para el usuario con el que se ha iniciado la conexión. Las operaciones con ficheros del Servidor de disco Velneo vServer V7 han de realizarse en el subproceso generado por el comando.
El usuario de conexión con el Servidor de disco de Velneo vServer V7 no tiene por qué ser necesariamente el mismo que con el que nos hemos conectado a la aplicación.
SDV: Renombrar o mover fichero en el servidor
Comando de instrucción del grupo SDV: Servidor de disco de Velneo que permite renombrar un fichero del Servidor de disco de Velneo vServer V7.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda VRL de origen: Senda VRL del fichero que queremos renombrar en el Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Fórmula de senda VRL de destino: Senda VRL de destino del fichero en el Servidor de disco de Velneo vServer V7. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
El comando renombra un fichero alojado en el el Servidor de disco de Velneo vServer V7.
Comentarios:
En la conexión con el comando SDV: Conectar se podrá acceder a las carpetas compartidas declaradas para el usuario con el que se ha iniciado la conexión. Las operaciones con ficheros del Servidor de disco Velneo vServer V7 han de realizarse en el subproceso generado por el comando.
El usuario de conexión con el Servidor de disco de Velneo vServer V7 no tiene por qué ser necesariamente el mismo que con el que nos hemos conectado a la aplicación.
SDV: Get atributos de fichero en el servidor
Comando de instrucción del grupo SDV: Servidor de disco de Velneo que nos devuelve los atributos de un fichero del Servidor de disco de Velneo vServer V7.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Fórmula de senda VRL: Senda VRL del fichero del Servidor de disco de Velneo vServer V7 cuyos atributos queremos conocer. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc.
Identificador de variable local fecha de retorno: El comando retorna la fecha de última modificación del fichero en esta variable local.
Identificador de variable local hora de retorno: El comando retorna la hora de última modificación del fichero en esta variable local.
Identificador de variable numérica de retorno de bytes: El comando retorna el tamaño (bytes) del fichero en esta variable local.
Identificador de variable booleana que indica si es directorio: El comando retornará true (1) en esta variable local si se trata de un directorio o false (0) si no lo es así.
Identificador de variable local booleana de retorno de ok (Opcional): El comando retornará true (1) en esta variable local si ha podido realizar la operación o false (0) si no ha podido hacerlo.
Funcionalidad:
El comando devuelve información de los atributos del fichero alojado en el el Servidor de disco de Velneo vServer V7.
Comentarios:
En la conexión con el comando SDV: Conectar se podrá acceder a las carpetas compartidas declaradas para el usuario con el que se ha iniciado la conexión. Las operaciones con ficheros del Servidor de disco Velneo vServer V7 han de realizarse en el subproceso generado por el comando.
El usuario de conexión con el Servidor de disco de Velneo vServer V7 no tiene por qué ser necesariamente el mismo que con el que nos hemos conectado a la aplicación.
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.
Ejecutar documento
Comando de instrucción del grupo Sistema que permite ejecutar el documento indicado en sus parámetros. El documento 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:///.
Identificador de variable local booelana de retorno de ok: Variable local del proceso del tipo booelano donde se retornará si el fichereo ha sido ejecutado (1) o no (0).
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 de directorios homePath, rootPath, setCurrentDir y tempPath.
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.
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.
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 utlizado.
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 ejecuado en tercer o cuarto plano, la máquina sobre la que se ejecute será la servidora.
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.
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 ditintos niveles de la misma. Ejemplo: “c:/archivos de programa/archivo.wav”
Set fecha y hora del sistema
(no funcional en la versión actual)
Tubos
Conjunto de comandos de proceso que permiten hacer uso en los procesos de los objetos tubo (tubo de ficha y tubo de lista).
Tubo de ficha
Comando de instrucción del grupo Tubos que permite el uso de un objeto tubo de ficha.
Origen de la instrucción: Ficha.
Destino del subproceso: Ficha.
Parámetros:
Identificador del tubo: Identificador del tubo de ficha que queremos ejecutar a partir de la ficha en curso. Para facilitar su especificación, este parámetro desplegará la lista de tubos de ficha disponibles, incluyendo los proyectos de aplicación heredados.
Funcionalidad:
Esta función realiza el tubo de ficha declarado en el parámetro.
Comentarios:
Si el tubo de ficha tiene asignado formulario de confirmación de alta, pedirá validación por parte del usuario, mediante el formulario declarado en el tubo, antes de realizar el alta de la ficha.
Esta función crea dos subprocesos de ficha:
Pre: Este subproceso se ejecuta antes de presentar el formulario de la ficha de destino en la pantalla. Este subproceso es de lectura / escritura, por lo tanto, todas las modificaciones realizadas en la ficha de destino serán grabadas en el disco.
Post: Este subproceso se ejecuta después de Aceptar el formulario de la ficha de destino. Si se pulsa el botón Cancelar, el subproceso Post no será ejecutado. Este subproceso es de solo lectura, por lo tanto, ningún cambio realizado en la ficha de destino será guardado en el disco.
Tubo de lista
Comando de instrucción del grupo Tubos que permite el uso de un objeto tubo de lista.
Origen de la instrucción: Lista.
Destino del subproceso: Lista.
Parámetros:
Identificador del tubo: Identificador del tubo de lista que queremos ejecutar a partir de la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de tubos de lista disponibles, incluyendo los proyectos de aplicación heredados.
Funcionalidad:
Esta función realiza el tubo de lista declarado en el parámetro.
Comentarios:
Si el tubo de lista tiene asignado formulario de petición de datos en destino, los pedirá mediante el formulario declarado en el tubo, antes de realizar el alta de las fichas.
Esta función crea un subproceso de lista con los registros dados de alta en la tabla de destino. Estos registros son de sólo lectura, no pudiendo modificarlos.
Tubo de lista inducido
Comando de instrucción del grupo Tubos que permite el uso de un objeto tubo de lista, induciendo el valor de un maestro enlazado en la lista generada.
Origen de la instrucción: Lista.
Destino del subproceso: Lista.
Parámetros:
Identificador del tubo: Identificador del tubo de lista que queremos ejecutar a partir de la lista en curso. Para facilitar su especificación, este parámetro desplegará la lista de tubos de lista disponibles, incluyendo los proyectos de aplicación heredados.
Manejador de ficha: Identificador de una ficha guardada.
Funcionalidad:
Esta función realiza el tubo de lista declarado y le induce la ficha guardada de una tabla maestra a cada elemento de la lista a crear. La inducción consiste en que a cada una de las fichas de la lista de destino se les introduce el código de su ficha de maestro.
Comentarios:
La ficha inductora ha tenido que ser guardada previamente con la instrucción Crear copia de ficha en memoria.
Si el tubo de lista tiene asignado formulario de petición de datos en destino, los pedirá mediante el formulario declarado en el tubo, antes de realizar el alta de las fichas.
Esta función crea un subproceso de lista con los registros dados de alta en la tabla de destino. Estos registros son de sólo lectura, no pudiendo modificarlos.
Scripts
El grupo de comandos de Scripts comprende comandos que permiten ejecutar scripts en lenguaje ECMAScript (JavaScript, JScript, etc.) según el estándar ECMA-262:
http://www.ecma-international.org/publications/standards/Ecma-262.htm
Script: Crear intérprete
Comando de instrucción del grupo Scripts que permite crear un intérprete que ejecutará código ECMAScript (JavaScript, JScript)
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Manejador de intérprete: Nombre del intérprete.
Funcionalidad:
Crea un intérprete asígnandole el manejador que hemos definido y que podremos usar para referenciar desde el resto de comandos de Scripts.
Script: Set property
Comando de instrucción del grupo Scripts que permite crear variables y darles valor para un intérprete que ejecutará código ECMAScript (JavaScript, JScript)
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Manejador de intérprete: Nombre del intérprete.
Fórmula nombre de la propiedad: Fórmula alfabética que define el nombre de la variable que estará accesible en intérprete.
Fórmula dato de la propiedad: Fórmula que define el valor de la variable que estará accesible en intérprete.
Funcionalidad:
Asigna una variable al intérprete que referenciamos mediante el manejador, asignándole el valor que definamos.
Comentarios:
Hemos de definir previamente el manejador de intérprete por medio del comando Script: Crear intérprete.
Script: Evaluar intérprete
Comando de instrucción del grupo Scripts que permite evaluar el código ECMAScript (JavaScript, JScript) definido para el intérprete.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Manejador de intérprete: Nombre del intérprete.
Identificador de variable local de retorno del script: Variable local en la que se guardará el retorno proveniente de la evaluación del script (sentencia return).
Identificador de variable local booleana de retorno de ok: Variable local booleana en la que se guardará si ha podido evaluarse el código (1) o ha habido algún error (0).
Identificador de variable local alfabética de error del script: Variable local alfabética en la que se guardará, en caso de error, el código de éste y su descripción (en inglés).
Funcionalidad:
Evalúa el código ECMAScript (JavaScript, JScript) que definamos, haciendo uso de las variables que hayamos definido con anterioridad por medio del comando Script: Set property, retornando el resultado de la evaluación. En caso de error, devuelve el código y su descripción en inglés.
Comentarios:
Hemos de definir previamente el manejador de intérprete por medio del comando Script: Crear intérprete y las variables en caso de que sea necesario por medio del comando Script: Set property.
Interfaz
Se trata de un conjunto de comandos que nos permiten interactuar con los objetos de interfaz de un proyecto de aplicación
Interfaz: Mostrar objeto
Comando de instrucción del grupo Interfaz que permite hacer visible un subobjeto de un objeto. Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto a mostrar.
Funcionalidad:
Este comando de instrucción permite hacer visible un subobjeto de un objeto.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Ejemplo: En un formulario podremos ejecutar eventos para que, en función de una condición, mediante el uso de este comando y del comando Interfaz: Ocultar objeto, un subcontrol del formulario sea mostrado u ocultado.
También podremos mostrar u ocultar subobjetos de un objeto declarando una condición en la propiedad Condición visible del propio subobjeto.
Interfaz: Ocultar objeto
Comando de instrucción del grupo Interfaz que permite ocultar un subobjeto de un objeto. Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto que se desea ocultar.
Funcionalidad:
Este comando de instrucción permite ocultar un subobjeto de un objeto.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Ejemplo: En una rejilla podremos ejecutar eventos para que, en función de una condición, mediante el uso de este comando y del comando Interfaz: Mostrar objeto, una columna de la rejilla sea mostrada u ocultada.
También podremos mostrar u ocultar subobjetos de un objeto declarando una condición en la propiedadCondición visible del propio subobjeto.
Interfaz: Activar objeto
Comando de instrucción del grupo Interfaz que permite activar un subobjeto de un objeto. Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto a activar.
Funcionalidad:
Este comando de instrucción permite activar un subobjeto de un objeto. Cuando un objeto está activo, el usuario final podrá interactuar con él, si no está activo, no.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Ejemplo: En un formulario podremos ejecutar eventos para que, en función de una condición, mediante el uso de este comando y del comando Interfaz: Desactivar objeto, un subcontrol del formulario esté activo o no.
También podremos activar o desactivar subobjetos de un objeto declarando una condición en la propiedad Condición de activo del propio subobjeto.
Interfaz: Desactivar objeto
Comando de instrucción del grupo Interfaz que permite desactivar un subobjeto de un objeto. Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto que se desea desactivar.
Funcionalidad:
Este comando de instrucción permite desactivar un subobjeto de un objeto. Cuando un objeto está inactivo, el usuario final no podrá interactuar con él.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Ejemplo: En un formulario podremos ejecutar eventos para que, en función de una condición, mediante el uso de este comando y del comando Interfaz: Activar objeto, un subcontrol del formulario esté activo o no.
También podremos activar o desactivar subobjetos de un objeto declarando una condición en la propiedad Condición de activo del propio subobjeto.
Interfaz: Activar foco objeto
Comando de instrucción del grupo Interfaz que permite fijar el foco en un subobjeto de un objeto. Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto en el que se desea fijar el foco.
Funcionalidad:
Este comando de instrucción permite fijar el foco en un subobjeto de un objeto.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Ejemplo: Este comando nos permitirá fijar, desde un evento, el foco en un control concreto del mismo.
Interfaz: Set paleta
Comando de instrucción del grupo Interfaz que permite aplicar una paleta de colores declarada en la caja de aplicación o en una caja de aplicación heredada a un subobjeto de un objeto de interfaz.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos de interfaz disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto al que se desea aplicar la paleta.
Nombre de paleta: Nombre de la paleta de colores a aplicar al subobjeto.
Funcionalidad:
permite aplicar una paleta de colores declarada en una caja de aplicación heredada a un subobjeto de un objeto de interfaz.
Comentarios:
En las propiedades de una caja de aplicación, podemos definir paletas de colores y asignarles un nombre. Con este comando y el nombre que se le ha dado a la paleta podemos fijar a un objeto dicho estilo de elementos. Un ejemplo útil sería, si el usuario no ha rellenado un dato obligatorio en un formulario, lo detectamos y aplicamos con “set paleta” un color rojo a la fuente de la etiqueta del campo sin rellenar, con lo que el usuario lo localizará rápidamente.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Interfaz: Set Fuente
Comando de instrucción del grupo Interfaz que permite aplicar una fuente declarada en la caja de aplicación o en una caja de aplicación heredada a un subobjeto de un objeto de interfaz.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos de interfaz disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto al que se desea aplicar la fuente.
Nombre de fuente: Nombre de la fuente a aplicar al subobjeto.
Funcionalidad:
permite aplicar una fuente declarada en una caja de aplicación heredada a un subobjeto de un objeto de interfaz.
Comentarios:
En las propiedades de una caja de aplicación, podemos definir fuentes y asignarles un nombre. Con este comando y el nombre que se le ha dado a la fuente podemos fijar a un objeto dicho estilo de elementos. Un ejemplo útil sería, si el usuario no ha rellenado un dato obligatorio en un formulario, lo detectamos y aplicamos con “set fuente” una fuente negrita a la fuente de la etiqueta del campo sin rellenar, con lo que el usuario lo localizará rápidamente.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Interfaz: Quitar foco
Comando de instrucción del grupo Interfaz que permite quitar el foco de un subobjeto de un objeto. Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto al que se le desea quitar el foco.
Funcionalidad:
Este comando de instrucción permite quitar el foco de un subobjeto de un objeto.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Ejemplo: Este comando nos permitirá quita, desde un evento, el foco a un control concreto del mismo y llevarlo, mediante el comando Interfaz: Activar foco objeto, a otro control.
Interfaz: Está activo
Comando de instrucción del grupo Interfaz que permite conocer si un subobjeto de un objeto está o no activo.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto cuya actividad se desea comprobar.
Funcionalidad:
Este comando de instrucción permite conocer si un subobjeto de un objeto está o no activo. Si está activo devolverá un 1 y si está inactivo devolverá un 0.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos. Además de comprobar la actividad de un control, también podremos activarlo o desactivarlo.
Interfaz: Es visible
Comando de instrucción del grupo Interfaz que permite conocer si un subobjeto de un objeto está o no visible.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto a evaular.
Funcionalidad:
Este comando de instrucción permite conocer si un subobjeto de un objeto está o no visible. Si está visible devolverá un 1 y si está oculto devolverá un 0.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos. Además de comprobar la visibilidad de un control, también podremos mostrarlo u ocultarlo.
Interfaz: Tiene foco
Comando de instrucción del grupo Interfaz que permite conocer si un subobjeto de un objeto tiene o no el foco.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos declarados en el objeto. Seleccionar el objeto a evaular.
Funcionalidad:
Este comando de instrucción permite conocer si un subobjeto de un objeto tiene o no el foco. Si lo tiene devolverá un 1 y si no lo tiene devolverá un 0.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos. Además de comprobar si un control tiene o no el foco, también podremos dárselo o quitárselo.
Interfaz: Recalcular control
Comando de instrucción del grupo Interfaz que permite refrescar o actualizar el contenido de un control de tipo objeto en un formulario.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los controles de tipo objeto declarados en el formulario. Seleccionar el objeto a recalcular.
Funcionalidad:
Este comando de instrucción permite refrescar o actualizar el contenido de un control de tipo objeto en un formulario.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Ejemplo: Si un control está alimentado de forma que muestra una lista de fichas en base a unos parámetros, y necesitamos que se refresque porque existen cambios que hacen que su contenido ya no sea el correcto, llamaremos a esta instrucción de modo que “recalculará” el contenido.
Interfaz: Procesar control
Comando de instrucción del grupo Interfaz que permite acceder a los datos de un control de tipo objeto usado en un formulario.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Si el contenido del control objeto es una ficha, el origen del subproceso será esa ficha, si es una lista, será esa lista.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los controles de tipo objeto declarados en el formulario. Seleccionar el objeto a procesar.
Funcionalidad:
Este comando de instrucción permite acceder a los datos de un control de tipo objeto usado en un formulario. En un control de tipo objeto podremos presentar una ficha o una lista de registros de una tabla; mediante este comando podremos acceder a los datos de dicho control e interactuar con ellos, ya sea para leerlos, modificarlos, borrarlos, etc.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Si se trata de una ficha, el subproceso que genera este comando tendrá su origen en la propia ficha, si es una lista, el subproceso tendrá su origen en esa lista.
Si se trata de una lista, podremos acceder directamente a la ficha que el usuario ha seleccionado en la misma si en el subproceso que genera este comando usamos el comando Leer ficha seleccionada.
Interfaz: Aceptar
Comando de instrucción del grupo Interfaz que cierra formulario guardando los cambios realizados en la ficha.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Funcionalidad:
Este comando de instrucción permite cerrar formulario guardando los cambios realizados en la ficha.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Interfaz: Cancelar
Comando de instrucción del grupo Interfaz que cierra formulario sin guardar los cambios realizados en la ficha.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
No tiene.
Funcionalidad:
Este comando de instrucción permite cerrar formulario sin guardar los cambios realizados en la ficha.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Interfaz: Activar subcontrol
Comando de instrucción del grupo Interfaz de uso exclusivo para los siguientes controles de formulario: Separador de formularios, caja de formularios y pila de formularios. Permite activar un subformulario concreto de los mismos.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos de tipo separador, caja y pila de formularios declarados en el formulario. Seleccionar el objeto en el que se desea fijar el foco.
Identificador de subcontrol de formulario: Este parámetro desplegará la lista de los subformularios declarados en el control seleccionado en el parámetro anterior. Seleccionar el que se desea activar.
Funcionalidad:
Este comando de instrucción permite activar un subformulario concreto de un control de tipo separador, caja o pila de formularios incrustado en un formulario.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Interfaz: Está activo el subcontrol
Comando de instrucción del grupo Interfaz de uso exclusivo para los siguientes controles de formulario: Separador de formularios, caja de formularios y pila de formularios. Permite conocer si está activo un subformulario concreto de los mismos.
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos disparados desde una conexión de evento.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Identificador de control: Este parámetro desplegará la lista de los subobjetos de tipo separador, caja y pila de formularios declarados en el formulario. Seleccionar el objeto a evaluar
Identificador de subcontrol de formulario: Este parámetro desplegará la lista de los subformularios declarados en el control seleccionado en el parámetro anterior. Seleccionar el que se desea evaluar.
Identificador de variable local booleana de retorno de ok: Variable local del proceso, de tipo booleano, donde se retornará si el subformulario evaluado está activo (1) o no (0).
Funcionalidad:
Este comando de instrucción permite conocer si está activo o no un subformulario concreto de un control de tipo separador, caja o pila de formularios incrustado en un formulario.
Comentarios:
Este comando, al igual que el resto de los comandos de interfaz, solamente puede ser usado en eventos de objetos.
Comandos de objetos
Se trata de un conjunto de comandos que nos permiten manipular determinados objetos de un proyecto de aplicación
Los objetos que podemos manipular mediante este grupo de comandos de instrucción son:
Rejilla
Árbol
Formulario
Multivista
Informe
Búsqueda
Lupa
Localizador
Proceso
Tubo de ficha
Tubo de lista
Bloc de formularios
Crear manejador de objeto
Comando de instrucción del grupo comandos de objeto que genera un manejador del objeto que seleccionemos en sus parámetros. El resto de los comandos de objeto han de usar este manejador como referencia para la acción que realizan.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Manejador de objeto: Etiqueta alfanumérica que servirá para referenciar el objeto en el ersto de los comandos de objeto que vayan a hacer uso del mismo.
Identificador de objeto: Objeto que se desea manipular. Se desplegará una lista de todos los objetos disponibles, agrupados por tipo. Seleccionaremos el deseado.
Funcionalidad:
Genera un manejador del objeto que seleccionemos en sus parámetro para su posterior manipulación dentro del proceso. El resto de los comandos de objeto han de usar este manejador como referencia para la acción que realizan.
Comentarios:
Es posible instanciar un mismo objeto varias veces en un mismo proceso, o manejar distintos objetos al mismo tiempo.
El objeto no tendrá referencia alguna a registros, hasta que se los asignemos con el comando adecuado.
Disparar objeto
Comando de instrucción del grupo Comandos de objetos que permite hacer uso de un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ficha/Lista de la tabla asociada al objeto o Ninguno, depende de si el objeto tiene o no salida.
Parámetros:
Manejador del objeto: Identificador o manejador dado al objeto previamente en el proceso por medio del comando de insturcción Crear manejador de objeto.
Modo de ejecución: En este parámetros especificaremos dónde y de qué modo va a ser disparado el objeto. Los valores posibles son:
1º plano: Local: El objeto es disparado de forma local, bien sea en el cliente, bien sea en el servidor, y devuelve un retorno por el que espera el proceso. Por tanto, este parámetro es bloqueante del proceso llamador hasta que éste haya finalizado.
2º plano: Local multitarea (no espera retorno): El objeto es disparado de forma local, pero el proceso no espera retorno, por lo que pueden ejecutarse en paralelo con otros procesos multitarea. No bloquean el proceso.
3º plano: Servidor: El objeto es disparado en el servidor y devuelve un retorno por el que espera el proceso. Por tanto, este parámetro es bloqueante del rpceso llamador hasta que la ejecución del objeto haya finalizado. Dado que el objeto será disparado en el servidor no podremos disparar objetos de interfaz en los que deba intervenir el usuario, como por ejemplo, formularios o rejillas, pues éstos serían presentados en el servidor, no en el cliente.
4º plano: servidor (no espera retorno): El objeto será disparado en el servidor, pero el proceso no espera retorno, por lo que pueden ejecutarse en paralelo con otros procesos multitarea. No bloquean el proceso.
Identificador de variable local booleana de retorno de ok: Variable local del proceso, de tipo booleano, donde se retornará si el objeto ha sido disparado (1) o no (0).
Identificador de variable local de retorno: Variable local del proceso donde se atrapará el retorno del objeto disparado.
Funcionalidad:
Permite hacer uso de un objeto instanciado previamente en el mismo proceso por medio del comando de insturcción Crear manejador de objeto y atrapar su retorno. Pudiendo disparar el objeto tanto en local como en el servidor.
Comentarios:
Si el objeto a disparar requiere de la intervención del usuario no podremos dispararlo en el servidor (en tercer o cuarto plano) ya que de lo contrario el objeto sería presentado en el servidor y no en la estación cliente en la que el proceso esté siendo ejecutado.
Get variable local de objeto
Comando de instrucción del grupo de Comandos de objetos que permite leer el valor de una variable local declarada en un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Manejador del objeto: Identificador o manejador dado al objeto previamente en el proceso por medio del comando de insturcción Crear manejador de objeto.
Identificador de la variable local del objeto: En este parámetro se deplegará una lista que contendrá todas las variables locales del objeto; seleccionaremos aquella cuyo valor queramos obtener.
Identificador de variable local de retorno: En este parámetro se seleccionará o se creará la variable local del proceso donde se retornará el dato leído.
Funcionalidad:
Este comando de instrucción permite leer el valor de una variable local declarada en un objeto instanciado previamente en el mismo proceso por medio del comando de insturcción Crear manejador de objeto.
Comentarios:
El objeto tendrá que haber sido instanciado con anterioridada a la lectura de sus variables, dentro del mismo proceso.
Set variable local del objeto
Comando de instrucción del grupo de Comandos de objetos que permite modificar el valor de una variable local declarada en un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: Cualquiera.
Destino del subproceso: Ninguno.
Parámetros:
Manejador del objeto: Identificador o manejador dado al objeto previamente en el proceso por medio del comando de insturcción Crear manejador de objeto.
Identificador de la variable local del objeto: En este parámetro se deplegará una lista que contendrá todas las variables locales del objeto; seleccionaremos aquella cuyo valor queramos modificar.
Fórmula de dato: En este parámetro se establecerá, por medio de una fórmula, el valor de la variable. Para facilitar su escritura podemos hacer uso del asistente para la edición de fórmulas.
Funcionalidad:
Este comando de instrucción permite asignar un valor a una variable local declarada en un objeto instanciado previamente en el mismo proceso por medio del comando de insturcción Crear manejador de objeto.
Comentarios:
El objeto tendrá que haber sido instanciado con anterioridada a la modificación de sus variables, dentro del mismo proceso.
Añadir ficha al objeto
Comando de instrucción del grupo de Comandos de objetos que permite añadir un registro a un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: Ficha de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Manejador del objeto: Identificador o manejador dado al objeto previamente en el proceso por medio del comando de insturcción Crear manejador de objeto.
Funcionalidad:
Permite añadir un registro a un objeto instanciado previamente en el mismo proceso por medio del comando de instrucción Crear manejador de objeto.
El objeto tendrá que ser uno que maneje registros, como por ejemplo, un formulario o una rejilla.
Comentarios:
El objeto tendrá que haber sido instanciado con anterioridada dentro del mismo proceso y el registro tendrá que ser de la misma tabla asociada al objeto.
Añadir lista al objeto
Comando de instrucción del grupo de Comandos de objetos que permite añadir una lista de registros a un objeto instanciado previamente en el mismo proceso.
Origen de la instrucción: Lista de la tabla en curso.
Destino del subproceso: Ninguno.
Parámetros:
Manejador del objeto: Identificador o manejador dado al objeto previamente en el proceso por medio del comando de insturcción Crear manejador de objeto.
Funcionalidad:
Permite añadir una lista de registros registro a un objeto instanciado previamente en el mismo proceso por medio del comando de instrucción Crear manejador de objeto.
El objeto tendrá que ser uno que maneje registros, como por ejemplo, unarejilla o un bloc de formularios.
Comentarios:
El objeto tendrá que haber sido instanciado con anterioridada dentro del mismo proceso y la lista de registros tendrá que ser de la misma tabla asociada al objeto.
Cola
Este objeto permite ejecutar de forma secuencial los procesos ejecutados en 2º, 3er o 4º plano que hayan sido enviados a la misma y con una prioridad dada.
Las colas actúan a modo de semáforo y ejecutan los procesos de la misma de forma secuencial, es decir, cuando termina uno de los procesos se ejecutará el siguiente proceso de la cola. En cualquier caso, la ejecución en distintas colas será simultánea, pero el acceso al uso del procesador estará determinado por la prioridad que hayamos asignado a la cola.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Las propiedades de este objeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Prioridad: Esta propiedad nos permite establecer la prioridad con la que se ejecutarán los procesos de la cola, pudiendo elegir uno de los valores siguientes:
Normal.
Baja.
Muy baja.
Ninguna.
Las colas actúan a modo de semáforo y ejecutan los procesos de la misma de forma secuencia, es decir, cuando termina uno de los procesos se ejecutará el siguiente proceso de la cola. En cualquier caso, la ejecución en distintas colas será simultánea, pero el acceso al uso del procesador estará determinado por la prioridad que hayamos asignado a la cola.
Las formas posibles de enviar un proceso a una cola son:
Creando una acción que dispare el comando Ejecutar proceso 2º Plano, se seleccionará como Objeto el proceso y como Objeto1 la cola.
Función
La función es un objeto contenedor de instrucciones definible por el programador. Las intrucciones se ejecutarán de forma secuencial y harán uso de comandos de instrucción de proceso que pueden acceder a otros objetos de las proyectos incluyendo otros procesos.
Es similar al objeto proceso, pero con unas características especiales:
Solamente pueden ser ejecutados en primer plano.
Puede recibir parámetros.
No tiene origen, es decir, el origen de la función siempre es “Ninguno”.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Control + Ins) de Velneo vDevelop.
Las propiedades de este objeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando la caja sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Parámetro 1 a n: Si la función va a recibir parámetros tendremos que crear en la misma tantas variables locales (del tipo que corresponda) como parámetros necesite:

Una vez establecidas las propiedades podremos pasar a crear las instrucciones que la conformarán, para ello disponemos de un editor que se abre en el panel central de Velneo vDevelop. Si no se encuentra abierto, haremos doble clic sobre la función creada para abrirlo. Los parámetros de la función serán accesibles desde cualquier fórmula de los comandos de instrucción de la misma, en la lista de variables locales del asistente para edición de fórmulas:

Podremos hacer llamadas a funciones declaradas tanto en el proyecto en curso como en proyectos heredados (funciones locales) como llamadas a funciones declaradas en otros proyectos, tanto instanciados en el mismo Velneo vServer V7 como en Velneo vServers V7 remotos (funciones remotas).
En ambos casos, podremos hacer la llamada desde cualquier objeto o subbojeto donde pueda declararse una fórmula.
Para conocer cómo hacer llamadas a funciones locales consultar el punto Funciones de proceso del capítulo dedicado al asistente para edición de fórmulas.
Para hacer llamadas a funciones remotas tendremos que escribirlo directamente en la fórmula, siguiendo la sintaxis siguiente:
rfc:idFuncion(dominioIP, idInstancia, usuario, contraseña, parametros)
Donde:
rfc: Acrónimo de Remote Function Call. Es un dato fijo. Es un prefijo que indica al calculador de fórmulas que se trata de una llamada a una función remota.
idFuncion: Identificador de la función a ejecutar.

dominioIP: Dominio o IP de la máquina donde está instalado el Velneo vServer V7 donde se encuentra instanciado el proyecto donde la función ha sido declarada. Debe ir precedido del esquema vatp:// y, si el puerto es distinto del 690, seguido de dos puntos (:) y el número de puerto.
idInstancia: Identificador de la instancia a la que queremos acceder. Para conocer el identificador de la instancia usaremos Velneo vAdmin V7 haciendo doble clic sobre la definición de instancia:

usuario: Nombre de un usuario declarado en Velneo vServer V7 que tenga permisos de acceso a la
instancia.
contraseña: Del usuario anterior. Si ese usuario no tiene contraseña este parámetro será resuelto con “”.
parametros: Si la función tiene declarado más de un parámetro, éstos irán separados por comas.
rfc:GET_USER_SESION_NUMBER(“vatp://localhost:85″, “GESTION”, “velneo”, “”, “carlos@gmail.com”, “ib3zax1″)
Tubo de ficha
Se trata de un objeto cuya finalidad es la de transferir información de un origen a un destino. Partiendo de un registro de una tabla crea un registro en una tabla de destino. Por tanto, tanto la entrada como la salida del objeto es unaficha.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Es el texto que se presentará al usuario final de la aplicación para referenciar al objeto. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al objeto, y Heredable, que permite que el objeto pueda ser usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del tubo de ficha.
Tabla asociada: Esta propiedad nos permite establecer cuál será la tabla de origen del tubo de ficha. Podremos seleccionar una tabla de un proyecto de datos heredado
Tabla destino: Esta propiedad nos permite establecer cuál será la tabla de destino del tubo de ficha; es decir, en qué tabla se creará el nuevo registro. Podremos seleccionar una tabla de un proyecto de datos heredado
Formulario confirmación del alta: Esta propiedad nos permite especificar un formulario, asociado a la tabla de destino del tubo de ficha, que será presentando al final de su ejecución. El usuario podrá realizar cambios y validar o cancelar el alta del registro como en cualquier formulario. Si no especificamos ningún formulario, cuando ejecutemos el tubo el registro será generado directamente en la tabla de destino.
Resolución de campos en destino: Esta propiedad nos sirve para calcular los campos de destino en base a la información del origen. Para ello pulsaremos el botón
que aparece al editar esta propiedad. Al hacerlo se nos desplegará una ventana que contendrá la lista de campos de la tabla de destino del tubo de ficha y junto a cada uno un control de edición para resolver su contenido:

La resolución del contenido de cada campo se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editarlo.
Tubo de lista
Se trata de un objeto cuya finalidad es la de transferir listas de información de un origen a un destino. Partiendo de una lista de una tabla crea otra lista en una tabla de destino. Por tanto, la entrada como la salida del objeto es una lista.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Tecla Insert).
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Es el texto que se presentará al usuario final de la aplicación para referenciar al objeto. Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al objeto, y Heredable, que permite que el objeto pueda ser usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del tubo de lista.
Tabla asociada: Esta propiedad nos permite establecer cuál será la tabla de origen del tubo de lista. Podremos seleccionar una tabla de unproyecto de datos heredado
Tabla destino: Esta propiedad nos permite establecer cuál será la tabla de destino del tubo de lista; es decir, en qué tabla se crearán los nuevos registros. Podremos seleccionar una tabla de un proyecto de datos heredado
Usar contenido inicial en campos destino: Esta propiedad nos permite establecer si se dispararán los contenidos iniciales definidos en los registros de la tabla de destino al dar las altas.
Usar actualizaciones destino: Esta propiedad nos permite establecer si se dispararán las actualizaciones definidas en los registros de la tabla de destino al dar las altas.
Formulario de petición de datos destino: Esta propiedad nos permite especificar un formulario, asociado a la tabla de destino del tubo de lista, que será presentando al inicio de su ejecución. El usuario podrá realizar cambios y contenidos iniciales el alta de los registros. Este formulario se mostrará una sola vez para todos los registros. Si no especificamos ningún formulario, cuando ejecutemos el tubo los registros serán generados directamente en la tabla de destino.
Resolución de campos en destino: Esta propiedad nos sirve para calcular los campos de destino en base a la información del origen. Para ello pulsaremos el botón
que aparece al editar esta propiedad. Al hacerlo se nos desplegará una ventana que contendrá la lista de campos de la tabla de destino del tubo de lista y junto a cada uno un control de edición para resolver su contenido:

La resolución del contenido de cada campo se establecerá mediante una fórmula que podremos escribir usando el asistente para edición de fórmulas. Para ello pulsar el botón
que aparece al editarlo.
Alta de maestro en destino: Esta propiedad nos permite establecer si se dispararán las altas en las tablas enlazadas en los registros de destino. Los posbles valores son:
Falso: No se producirá el alta del registro enlazado si este no existe.
Verdadero: Se realizará el alta del registro enlazado.
Campo enlazado a tabla maestra en destino: Esta propiedad nos permite seleccionar uno de los campos punteros a tablas en la tabla de destino, para su alta.
Formulario de tabla maestra: Esta propiedad nos permite especificar un formulario, asociado a la tabla maestra de la tabla de destino del tubo de lista, que será presentando al inicio de su ejecución. El usuario podrá validar el alta del maestro. Esta propiedad estará disponible solo si se selecciona Verdadero en la propiedad Alta de maestro en destino
Subobjeto
Se trata un objeto que está contenido en otro objeto y que no tiene ninguna entidad por sí mismo, ya que depende totalmente del objeto contenedor.
Los subobjetos de proyecto de datos pueden ser heredados y usados en otros objetos.
Ejemplo: Los campos y los índices son subobjetos de tabla.
Los subobjetos de proyecto de aplicación no pueden ser ni heredados ni usados en otros objetos.
Ejemplo: Los eventos y las conexiones de evento son subobjetos de formulario.
Variable local
La Variable local es un subobjeto definible dentro de un objeto. Se trata de una variable local al objeto en el que ha sido declarada, y solamente será accesible desde ese objeto o desde otros sub-objetos del mismo. La persistencia de este tipo de variables es en memoria.
Identificador: Etiqueta alfanumérica que identifica de forma unívoca a la variable. Este identificador será el que usemos en fórmulas y para referenciarlo en otras propiedades.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca una variable no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor de la variable. Se usará para presentar información de la misma en objetos e inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre esa variable, y Heredable, que permite que la variable sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso de la variable local.
Tipo: Permite definir el tipo de dato que va a manejar la variable local. Los tipos disponibles son:
Alfabético: Usado para datos alfanuméricos.
Numérico: Usado para datos numéricos. Se mantiene la precisión numérica hasta el quinto decimal.
Fecha: Usado para datos de tipo fecha. Por defecto admite el formato de fecha ISO 8601. El carácter de separación puede ser el guión o la barra.
Hora: Usado para introducir horas en formato HH:MM:SS. No almacena milisegundos.
Tiempo: Usado para introducir tiempos que son la unión de una fecha y una hora con el formato DD:MM:AA HH:MM:SS.sss
Booleano: Es un tipo lógico que permite definir el contenido como 1 ó 0 (Sí o No).
Array: Esta propiedad nos permite hacer que la variable local sea un array unidimensional.
Dimensiones: Esta propiedad solamente estará activa cuando el valor de la propiedad Array sea Verdadero. Nos permite declarar el número de ítems que tendrá el array.
Decimales: Esta propiedad solamente estará activa cuando el valor de la propiedad Tipo sea Numérico. Nos permite declarar el número de decimales de la variable. Podrá especificar hasta 6 decimales que son los que se garantiza su precisión.
Signo: Esta propiedad solamente estará activa cuando el valor de la propiedad Tipo sea Numérico. Define si la variable de tipo numérico tiene signo.
Mínimo: Esta propiedad solamente estará activa cuando el valor de la propiedad Tipo sea Numérico. Permite establecer el rango límite mínimo válido para la entrada de valores.
Máximo: Esta propiedad solamente estará activa cuando el valor de la propiedad Tipo sea Numérico. Permite establecer el rango límite máximo válido para la entrada de valores.
Conexión de evento
El subobjeto
Conexión de evento permite conectar un evento que contiene líneas de instrucción con una señal que provoca el disparo de dicho evento. Este subobjeto puede ser usado en Rejillas, Árboles, Formularios, Bloc de formularios, Casilleros, Multivista y Marco.
Para crear una conexión de evento hemos de pulsar el botón 
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al objeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor de la conexión de evento. Es el texto que se presentará al usuario final de la aplicación para referenciar la conexión de evento.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a la conexión de evento y Heredable, que permite que la conexión de evento pueda ser usada cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso de la conexión de evento.
Control: Define bien el objeto principal o bien un subobjeto como origen de la señal que dispara el evento.
Señal: Esta propiedad nos permite seleccionar qué suceso es el que desencadena el disparo del evento. Según el tipo de objeto o subobjeto estarán disponibles unas señales u otras. Las señales disponibles son:
Gana foco
Pierde foco
Tecla pulsada
Tecla soltada
Ratón: botón doble-click
Ratón: botón pulsado
Ratón: botón soltado
Ratón: movimiento
Ventana movida
Ventana redimensionada
Item: cambio de seleccionado
Inicializado
Timer
Botón pulsado
Acción disparada
Item: activado
Item: simple-click
Item: doble-click
Slot: Seleccionaremos el objeto evento que se ejecutará cuando se dispare la señal en el objeto o subobjeto seleccionados.
Las señales pueden ser leídas en los eventos que éstas disparen. Para ello será necesario crear una variable local al objeto (formulario, rejilla, marco, etc.) cuyo identificador sea EVENT_PARAMS, ésta tendrá que ser de tipo alfabético y tener activada la propiedad array. En el cuadro siguiente se muestran las distintas señales y qué es lo que devuelven en cada posición del array:
| Señal/Parámetros devueltos | Posición array | ||||||||
| Posición array-> | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| Nº de comando | Dato 1 | Dato 2 | Dato 3 | Dato 4 | Dato 5 | Dato 6 | Dato 7 | Dato 8 | |
| Gana foco | 0 | - | - | - | - | - | - | - | - |
| Pierde foco | 1 | - | - | - | - | - | - | - | - |
| Tecla pulsada | 2 | Tecla | Shift? | Control? | Alt? | Texto | - | - | - |
| Tecla soltada | 3 | Tecla | Shift? | Control? | Alt? | Texto | - | - | - |
| Ratón: Botón doble-click | 4 | Botón | Shift? | Control? | Alt? | Pos x | Pos y | Pos x global | Pos y global |
| Ratón: Botón pulsado | 5 | Botón | Shift? | Control? | Alt? | Pos x | Pos y | Pos x global | Pos y global |
| Ratón: Botón soltado | 6 | Botón | Shift? | Control? | Alt? | Pos x | Pos y | Pos x global | Pos y global |
| Ratón: Movimiento | 7 | Botón | Shift? | Control? | Alt? | Pos x | Pos y | Pos x global | Pos y global |
| Ventana movida | 8 | Old pos x | Old pos y | Pos x | Pos y | - | - | - | - |
| Ventana redimensionada | 9 | Old ancho | Old alto | New ancho | New alto | - | - | - | - |
| Item: Cambio de seleccionado | 10 | Pundir select | - | - | - | - | - | - | - |
| Inicializado | 11 | - | - | - | - | - | - | - | - |
| Timer | 12 | - | - | - | - | - | - | - | - |
| Botón pulsado | 13 | - | - | - | - | - | - | - | - |
| Acción disparada | 14 | - | - | - | - | - | - | - | - |
| Item: Activado | 15 | Index: Fila | Index: Columna | - | - | - | - | - | - |
| Item: Simple-click | 16 | Index: Fila | Index: Columna | - | - | - | - | - | - |
| Item: Doble-click | 16 | Index: Fila | Index: Columna | - | - | - | - | - | - |
Para poder atrapar la señal es necesario declarar en el objeto una variable local alfabética con la propiedad array a True cuyo identificador sea EVENT_PARAMS.
Podremos leer el contenido del array desede cualquier fórmula, siguiendo la siguiente sintaxis: EVENT_PARAMS[posicion], donde el parámetro posicion identifica la posición del array que se desee leer. Este dato podrá ser tanto una constante como una variable. Como puede verse en el esquema anterior, en un array la primera posición es la 0.
Es conveniente saber que los códigos de las teclas de control y de función multiplataforma devuelven números bastante elevados que provoca un formateo de la cadena devuelta si la imprimimos, y dará la impresión de ser el mismo, aunque realmente no sea así. Si al dato devuelto le aplicamos un formato mediante el uso de la función numberToString. Es decir, si en un evento disparado por una señal de tecla pulsada visualizamos el código de la misma (EVENT_PARAMS[1]), y pulsamos distintas teclas de función, veremos que siempre nos visualizará el valor 1.67773e+07, sin embargo, si usamos la función numberToString -Ejemplo: numberToString(EVENT_PARAMS[1], “f”, “g”)-, si se pulsa F1 devolverá el valor 16777264, si se pulsa F2 devolverá el valor el valor 16777265 y así sucesivamente.
Evento
El subobjeto
Evento es un contenedor de instrucciones de proceso que puede ser ejecutado desde una Conexión de evento cuando la señal sea disparada.
El evento también puede ser disparado desde un botón de un formulario.
Para crear un evento hemos pulsar el botón
de la barra de herramientas de objetos.
Sus propiedades son:
Identificador: Etiqueta alfanumérica que identifica al subobjeto. Este identificador será el que se usa para referenciarlo en los inspectores y en las propiedades de otros objetos.
Nombre: Etiqueta alfanumérica que servirá como descriptor del evento. Es el texto que se presentará al usuario final de la aplicación para referenciar el evento.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final al evento y Heredable, que permite que el evento pueda ser usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del evento.
Además de los comandos estándar para procesos, en los eventos disponemos del grupo de comandos denominado Comandos de interfaz que permite gestionar el interfaz asociado a la conexión de evento que dispara el evento.
Drop
Subobjeto de objetos origen lista que determina el proceso que se ejecutará según el origen de los datos que se sueltan sobre el objeto en el drag&drop.
Para configurar que un objeto de lista admite drag, es decir, que podemos seleccionar registros del objeto para moverlos a otro objeto de lista, hemos configurar en los estilos las opciones Copiar para arrastrar o Mover para arrastrar. Copiar para arrastrar no quita el elemento del objeto de origen en el proceso de drag&drop. Mover para arrastrarquitará el registro del objeto origen.
En el subobjeto Drop se define qué proceso de origen lista se ejecutará según la tabla asociada que determinemos. De esta forma el objeto admite diferentes entradas, y éstas serán procesadas en función de la tabla asociada.
En el proceso asociado al drop, tendremos acceso a la ficha sobre la que se realiza el drop en el objeto destino. La ficha está accesible en memoria con el identificador drop y la podremos procesar con el comando Procesar ficha en memoria. Así podemos leer los datos necesarios de la ficha para realizar operaciones que requieran de estos. De esta forma tenemos información tanto de los registros soltados del objeto de origen, como del registro sobre el que soltamos estos registros en el objeto de destino.
Si el proceso de drop crea registros o genera modificaciones en los registros, estos se reflejarán en el objeto destino que mostrará los nuevos registros o las modificaciones efectuadas.
Para crear un objeto de este tipo pulsaremos sobre el botón
de la barra de herramientas del panel de subobjetos de Velneo vDevelop.
Las propiedades de este subobjeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al subbjeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en el proyecto.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando el proyecto sea heredado.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tabla origen: Tabla de origen para los registros que serán procesados en el drop sobre el objeto.
Proceso: Objeto proceso de origen lista y con tabla asociada la misma que hemos definido en la propiedad Tabla origen del objeto Drop. Define cómo se procesarán los registros soltados en el drop y tiene acceso al registro sobre el que lo hemos soltado.
Con el drag&drop es posible arrastrar desde una aplicación y soltar en otra, siempre y cuando la tabla de origen la hereden las dos aplicaciones.
Esquema de tablas
Este objeto permite tanto crear como mostrar de forma gráfica la estructura de tablas de nuestros proyectos, así como crear enlaces entre las mismas.
Se trata de un objeto tanto de proyecto de datos como de proyecto de aplicación. En un proyecto de datos tendrá las dos funcionalidades indicadas y en una proyecto de aplicación solamente la visualización, no la de edición.
Dentro de un mismo proyecto podremos crear tantos esquemas como consideremos necesario, esto nos permitirá, en aplicaciones con estructuras de datos muy complejas, el crear diferentes esquemas para módulos diferentes de las mismas.
Para crear un objeto de este tipo hacer doble clic sobre el icono
de la galería de objetos (Control + Ins) de Velneo vDevelop.
Las propiedades de este objeto son:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro de la caja. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en la caja.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando la caja sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Icono: Permite definir el dibujo que se mostrará a modo de icono en el esquema.
Ancho: Esta propiedad nos permite establecer el ancho, en píxels, del esquema.
Alto: Esta propiedad nos permite establecer la altura, en píxels, del esquema.
Color de fondo: Color que presenta el fondo del esquema.
Imagen de fondo: Objeto Dibujo que se usará como fondo del esquema.
Estilos: (no funcional en la versión actual).
Editor de esquemas

A través del editor de esquemas podremos tanto visualizar como crear la estructura de tablas de un proyecto de aplicación de forma visual. Esto último solamente será posible en esquemas incluidos dentro de proyectos de datos, no en proyectos de aplicación.
Este editor incluye dos barras de herramientas, una para la edición de esquemas (disponible tanto en esquemas de proyecto de datos como de proyecto de aplicación) y otra para la edición de tablas (disponible solamente en esquemas de proyecto de datos).
Barra de edición de esquemas
Los comandos que incluye la barra de herramientas para la edición de esquemas son:
Añadir tabla: Este comando permite añadir al esquema una tabla, tanto del proyecto de datos en curso como de cualquiera de sus proyectos heredados. Al pulsarlo se desplegará una lista con las tablas disponibles, es decir, aquellas que no se encuentren incluidas en el esquema:

Una vez seleccionada una tabla, ésta será mostrada en el editor de esquemas. Si ésta tabla tiene está enlazada con alguna tabla ya incluida en el esquema, dicho enlace será mostrado gráficamente:

En la captura de pantalla anterior La flecha roja indica un enlace plural, y la azul un enlace a maestro.
Si deseamos editar el contenido de la tabla (campos, índices, etc.) bastará con hacer doble clic sobre la misma en el editor de esquemas. En el caso de que la tabla pertenzca a un proyecto de datos heredado, solamente podremos editarla si dicho proyecto lo tenemos cargado en Velneo vDevelop.
Si deseamos mover la tabla creada, no tendremos más que hacer clic sobre ella con el botón izquierdo del ratón y, sin sontarlo, arrastrarla hasta la posición deseada.
Al control de tipo tabla podemos establecerle las propiedades siguientes:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en la caja.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando la caja sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tipo: Esta propiedad indica el tipo de objeto de que se trata. En este caso el valor es Tabla.
Posición X: Esta propiedad permite editar la posición de la tabla en el eje x del esquema.
Posición Y: Esta propiedad permite editar la posición de la tabla en el eje y del esquema.
Tabla: Esta propiedad permite seleccionar la tabla a mostrar en este control. Por defecto será la tabla seleccionada al crearlo.
Dibujo: En esta propiedad podremos seleccionar el dibujo que queramos que sea usado como icono de la tabla. Este será mostrado junto al nombre de la misma y será mostrado con su dimensiones reales.
Objeto:
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Color de fuente: En esta propiedad seleccionaremos el color que tendrá el texto de la tabla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de fondo: En esta propiedad seleccionaremos el color que tendrá el fondo de la caja que representa la tabla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color línea: En esta propiedad seleccionaremos el color que tendrá el borde de la caja que representa la tabla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Grosor de línea: En esta propiedad seleccionaremos el grosor, en píxels, que tendrá el borde de la caja que representa la tabla.El valor por defecto es 1.
Añadir texto: Este comando permite añadir un texto al esquema. Al pulsar este botón se añadirá en el esquema una caja de texto vacía y lista para su edición:

En ese momento ya podremos escribir directamente su contenido:

Al control de tipo texto podemos establecerle las propiedades siguientes:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Texto mostrar en el control. Podemos definir el texto por cada idioma presente en la caja.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando la caja sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tipo: Esta propiedad indica el tipo de objeto de que se trata. En este caso el valor ha de ser Texto.
Posición X: Esta propiedad permite editar la posición del texto en el eje x del esquema.
Posición Y: Esta propiedad permite editar la posición del texto en el eje y del esquema.
También podemos modificar estas coordenadas pinchando sobre el control en el editor y, sin soltar el botón del ratón, arrastrarlo y soltarlo en la posición deseada.
Fuente: Esta propiedad permite establecer la fuente que usará el control. Podremos editarla pulsando el botón
que se muestra al seleccionar esta propiedad.
Color de fuente: En esta propiedad seleccionaremos el color que tendrá el texto. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Color de fondo: En esta propiedad seleccionaremos el color que tendrá el fondo de la caja que contiene el texto. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.
Añadir dibujo: Este comando permite incluir un dibujo en el esquema. Al pulsar este botón se desplegará una lista de los dibujos disponibles para que seleccionemos el deseado. Una vez hecho esto el dibujo será añadido al esquema. Al control de tipo texto podemos establecerle las propiedades siguientes:
Identificador: Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.
El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.
Nombre: Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otrosobjetos y en los inspectores.
Podemos definir una etiqueta por cada idioma presente en la caja.
Estilos: Podemos definir los estilos Privado que limita el acceso del usuario final a cierta información sobre el objeto, y Heredable, que permite que el objeto sea usado cuando la caja sea heredada.
Comentarios: Esta propiedad nos permite documentar el uso del objeto.
Tipo: Esta propiedad indica el tipo de objeto de que se trata. En este caso el valor ha de ser Dibujo.
Posición X: Esta propiedad permite editar la posición del dibujo en el eje x del esquema.
Posición Y: Esta propiedad permite editar la posición del dibujo en el eje y del esquema.
También podemos modificar estas coordenadas pinchando sobre el control en el editor y, sin soltar el botón del ratón, arrastrarlo y soltarlo en la posición deseada.
Dibujo: Esta propiedad permite seleccionar el dibujo que será mostrado en el control.
El dibujo será mostrado al 100% de su tamaño y no podrá ser redimensionado.
Añadir proceso: (no funcional en la versión actual).
Eliminar ítem: Quita del esquema el ítem o grupo de ítems seleccionados. Para seleccionar un ítem bastará con hacer un clic sobre él con el botón izquierdo del ratón en el editor de equemas. Para seleccionar más de uno, mantendremos pulsada la tecla Control. También podremos borrar un ítem del esquema a través del panel de subobjetos.
Levantar al frente: Si tenemos varios ítems superpuestos, podremos llevar al frente el ítem o los ítems seleccionados.
Hundir al fondo: Si tenemos varios ítems superpuestos, podremos llevar al fondo el ítem o los ítems seleccionados.
Fuente: Nos permite establecer la fuente. Si tenemos uno o varios ítems seleccionados, la fuente definida será aplicada a todos ellos. Si no hay ítems seleccionados, la fuente establecida será aplicada a los ítems que se añadan al esquema a partir de ese momento.
Color fuente/fondo: Permite establecer el color de la fuente y de fondo, respectivamente. Si tenemos uno o varios ítems seleccionados, el color de fuente/y de fondo establecidos serán aplicados a todos ellos. Si no hay ítems seleccionados, los colores de fuente y de fondo establecidos serán aplicadoa a los ítems que se añadan al esquema a partir de ese momento y el de fondo, además, será aplicado al fondo del esquema.
Zoom: Nos permite aplicar un zoom a la vista del esquema. Podremos seleccionar un valor comprendido entre 50% y 200%. El valor por defecto es 100%.
Aplicar estilos al imprimir: Si esta opción está activada, cuando imprimamos el esquema éste será impreso al tanto por ciento de tamaño que tengamos establecido en la opción Zoom. Si está desactivada, el esquema será impreso al 100% de su tamaño.
Imprimir: Imprime el esquema.
Imprimir a fichero: Imprime el esquema en unarchivo pdf o post script (ps).
Barra de edición de tablas
Esta barra de herramientas solamente estará disponible en el editor de esquemas de proyectos de datos, que es donde podemos crear las tablas,
Los comandos que incluye la barra de herramientas para la edición de tablas son:
Crear tabla: Este comando permite crear una nueva tabla en el proyecto de datos actual usando asistente para la creación de tablas. La tabla creada será añadida al esquema.
Puntero del ratón: Normal: Estando activada esta opción, el puntero del ratón estará en modo normal, es decir, nos permitirá seleccionar ítems del esquema, arrastrarlos, etc.
Puntero del ratón: Mano: Estando activada esta opción, el puntero del ratón se convertirá en una mano con la que podremos mover el esquema completo dentro del editor cuando éste tenga partes que queden fuera del área del editor de esquemas.
Puntero del ratón: Crear enlace plural: Estando activada esta opción podremos enlazar dos tablas. El enlace se hará desde la tabla maestra hacia el plural. Esto provocará la creación de un campo enlazado a tabla de datos maestra en la tabla de destino -con su índice correspondiente- y en la tabla de origen en enlace plural correspondiente.
Para llevarlo a cabo haremos un clic con el botón izquierdo del ratón sobre la tabla de datos de origen, que será la maestra, y sin soltar el botón, arrastraremos y soltaremos en la tabla de destino:

Una vez hecho esto se generarán en las tablas implicadas los subobjetos indicados anteriormente :


Visualmente los enlaces serán mostrados de la forma siguiente:

La flecha azul representa enlace a maestro (singular) y la roja enlace plural.
Puntero del ratón: Crear enlace singular: Estando activada esta opción podremos enlazar dos tablas. El enlace se hará, al contrario que en la opción anteirorr, desde la tabla plural hacia la maestra. Esto provocará la creación de un campo enlazado a tabla de datos maestra en la tabla de destino -con su índice correspondiente- y en la tabla de origen en enlace plural correspondiente.
Para llevarlo a cabo haremos un clic con el botón izquierdo del ratón sobre la tabla de datos de origen, que será la plural, y sin soltar el botón, arrastraremos y soltaremos en la tabla de destino, que será la maestra:

Una vez hecho esto se generarán en las tablas implicadas los subobjetos indicados anteriormente :


Visualmente los enlaces serán mostrados de la forma siguiente:

La flecha azul representa enlace al maestro (singular) y la roja enlace plural.
En un esquema, los distintos tipos de enlace se representan de la forma siguiente:
: Representa a los enlaces de tipo singular: A tabla de datos maestra, singular de plural e indirecto.
: Representa a los enlaces plurales.
: Representa a los enlaces de una tabla consigo misma: A tabla de datos maestra y a hermano contiguo.
Si situamos el cursor del ratón sobre un enlace, se nos mostrará un tooltip informativo sobre el mismo:



