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 0x002D - 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 0x00C7 Ç 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 0x004A J 024 0x004B K 025 0x004C L 026 0x004D M 027 0x004E N 028 0x00D1 Ñ 029 0x004F 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 0x005A Z |
Alfa 64 001 0×0020 espacio 002 0x002D - 003 0x002B + 004 0x00A1 ¡ 005 0×0021 ! 006 0×0022 ” 007 0x00BF ¿ 008 0x003F ? 009 0x002C , 010 0x002E . 011 0x003B ; 012 0x003A : 013 0x002A * 014 0x002F / 015 0×0025 % 016 0×0026 & 017 0×0028 ( 018 0×0029 ) 019 0x003C 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 0x00C7 Ç 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 0x004A J 046 0x004B K 047 0x004C L 048 0x004D M 049 0x004E N 050 0x00D1 Ñ 051 0x004F 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 0x005A Z 063 0x00BA º 064 0x00AA ª |
Alfa 128 001 0×0020 espacio 002 0x002D - 003 0x002B + 004 0x00A1 ¡ 005 0×0021 ! 006 0×0022 ” 007 0x00BF ¿ 008 0x003F ? 009 0x002C , 010 0x002E . 011 0x003B ; 012 0x003A : 013 0x002A * 014 0x002F / 015 0×0025 % 016 0×0026 & 017 0×0028 ( 018 0×0029 ) 019 0x003D = 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 0x00C1 Á 033 0x00C0 À 034 0x00C2 Â 035 0x00C4 Ä 036 0×0061 a 037 0x00E1 á 038 0x00E0 à 039 0x00E2 â 040 0x00E4 ä 041 0×0042 B 042 0×0062 b 043 0×0043 C 044 0×0063 c 045 0x00C7 Ç 046 0x00E7 ç 047 0×0044 D 048 0×0064 d 049 0×0045 E 050 0x00C9 É 051 0x00C8 È 052 0x00CA Ê 053 0x00CB Ë 054 0×0065 e 055 0x00E9 é 056 0x00E8 è 057 0x00EA ê 058 0x00EB ë 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 0x00CD Í 067 0x00CC Ì 068 0x00CE Î 069 0x00CF Ï 070 0×0069 i 071 0x00ED í 072 0x00EC ì 073 0x00EE î 074 0x00EF ï 075 0x004A J 076 0x006A j 077 0x004B K 078 0x006B k 079 0x004C L 080 0x006C l 081 0x004D M 082 0x006D m 083 0x004E N 084 0x006E n 085 0x00D1 Ñ 086 0x00F1 ñ 087 0x004F O 088 0x00D3 Ó 089 0x00D2 Ò 090 0x00D4 Ô 091 0x00D6 Ö 092 0x006F o 093 0x00F3 ó 094 0x00F2 ò 095 0x00F4 ô 096 0x00F6 ö 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 0x00DA Ú 109 0x00D9 Ù 110 0x00DB Û 111 0x00DC Ü 112 0×0075 u 113 0x00FA ú 114 0x00F9 ù 115 0x00FB û 116 0x00FC ü 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 0x005A Z 126 0x007A z 127 0x00BA º 128 0x00AA ª |
Alfa 256 001 0×0020 espacio 002 0x002D - 003 0x002B + 004 0x00A1 ¡ 005 0×0021 ! 006 0×0022 ” 007 0x00BF ¿ 008 0x003F ? 009 0x002C , 010 0x002E . 011 0x003B ; 012 0x003A : 013 0x002A * 014 0x002F / 015 0×0025 % 016 0×0026 & 017 0×0028 ( 018 0×0029 ) 019 0x003D = 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 0x00C1 Á 033 0x00C0 À 034 0x00C2 Â 035 0x00C3 Ã 036 0x00C4 Ä 037 0x00C5 Å 038 0x00C6 Æ 039 0×0061 a 040 0x00E1 á 041 0x00E0 à 042 0x00E2 â 043 0x00E3 ã 044 0x00E4 ä 045 0x00E5 å 046 0x00E6 æ 047 0×0042 B 048 0×0062 b 049 0×0043 C 050 0×0063 c 051 0x00C7 Ç 052 0x00E7 ç 053 0×0044 D 054 0×0064 d 055 0×0045 E 056 0x00C9 É 057 0x00C8 È 058 0x00CA Ê 059 0x00CB Ë 060 0×0065 e 061 0x00E9 é 062 0x00E8 è 063 0x00EA ê 064 0x00EB ë 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 0x00CD Í 073 0x00CC Ì 074 0x00CE Î 075 0x00CF Ï 076 0x00D0 Ð 077 0×0069 i 078 0x00ED í 079 0x00EC ì 080 0x00EE î 081 0x00EF ï 082 0x00F0 ð 083 0x004A J 084 0x006A j 085 0x004B K 086 0x006B k 087 0x004C L 088 0x006C l 089 0x004D M 090 0x006D m 091 0x004E N 092 0x006E n 093 0x00D1 Ñ 094 0x00F1 ñ 095 0x004F O 096 0x00D3 Ó 097 0x00D2 Ò 098 0x00D4 Ô 099 0x00D5 Õ 100 0x00D6 Ö 101 0x00D8 Ø 102 0x006F o 103 0x00F3 ó 104 0x00F2 ò 105 0x00F4 ô 106 0x00F5 õ 107 0x00F6 ö 108 0x00F8 ø 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 0x00DA Ú 121 0x00D9 Ù 122 0x00DB Û 123 0x00DC Ü 124 0×0075 u 125 0x00FA ú 126 0x00F9 ù 127 0x00FB û 128 0x00FC ü 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 0x00DD Ý 137 0×0079 y 138 0x00FD ý 139 0x005A Z 140 0x007A z 141 0x00DE Þ 142 0x00FE þ 143 0x00DF ß 144 0x00FF ÿ 145 0x00BA º 146 0x00AA ª 147 0×0023 # 148 0×0024 $ 149 0x003C 151 0×0040 @ 152 0x005B [ 153 0x005D ] 154 0x005C \ 155 0x005E ^ 156 0x005F _ 157 0×0060 ` 158 0x007B { 159 0x007D } 160 0x007C | 161 0x007E ~ 162 0x00A2 ¢ 163 0x00A3 £ 164 0x00A4 ¤ 165 0x00A5 ¥ 166 0x00A6 ¦ 167 0x00A7 § 168 0x00A8 ¨ 169 0x00A9 © 170 0x00AB « 171 0x00BB » 172 0x00AC ¬ 173 0x00AD 174 0x00AE ® 175 0x00AF ¯ 176 0x00B0 ° 177 0x00B1 ± 178 0x00B2 ² 179 0x00B3 ³ 180 0x00B4 ´ 181 0x00B5 µ 182 0x00B6 ¶ 183 0x00B7 · 184 0x00B8 ¸ 185 0x00B9 ¹ 186 0x00BC ¼ 187 0x00BD ½ 188 0x00BE ¾ 189 0x00D7 × 190 0x00F7 ÷ 191 0x0E3F Signo del Thai Baht 192 0x20A1 Signo del colón 193 0x20A2 Signo del cruzeiro 194 0x20A4 Signo de la lira 195 0x20A5 Signo de mil 196 0x20A6 Signo del naira 197 0x20A8 Signo de la rupia 198 0x20A9 Signo del won 199 0x20AA Signo de nuevo shequel 200 0x20AB Signo del dong 201 0x20AC Signo del euro 202 0×2202 Derivada parcial 203 0×2206 Incremento 204 0x220F 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 0x221A Raíz cuadrada 210 0x221E Infinito 211 0×2220 Angulo 212 0x222B 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 0x201C Comillas tipográficas de apertura 224 0x201D Comillas tipográficas de cierre 225 0×2022 Viñeta 226 0×2014 Guión largo o raya 227 0x201A Comilla tipográfica en forma de 9 simple y baja 228 0x201E 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 0x02C6 Acento circunflejo modificador de letra 234 0x02C7 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 0x017D Letra latina mayúscula Z con acento anticircunflejo 241 0×0392 Letra griega mayúscula alfa 242 0x03B1 Letra griega minuscula alfa 243 0×0392 Letra griega mayúscula beta 244 0x03B2 Letra griega minuscula beta 245 0×0393 Letra griega mayúscula gamma 246 0x03B3 Letra griega minuscula gamma 247 0×0394 Letra griega mayúscula delta 248 0x03B4 Letra griega minuscula delta 249 0×0395 Letra griega mayúscula epsilon 250 0x03B5 Letra griega minuscula epsilon 251 0×0396 Letra griega mayúscula zeta 252 0x03B6 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 0x000A 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. Pod
