4D v14

Arrays, pop-ups, list boxes

Inicio

 
4D v14
Arrays, pop-ups, list boxes

Arrays, pop-ups, list boxes    


 

 

Además de las manipulaciones explicadas en el vídeo, también debe tener en cuenta que:

Los arrays son una de las características indispensables en 4D.

Prácticos, ilimitados, dinámicos, de una o dos dimensiones, son un espacio en memoria que se puede mostrar en los formularios por intermedio de objetos (pop-ups, combo boxes, list boxes, áreas de desplazamiento, etc.)

Ya hemos tratado el concepto y el uso de variables con un solo valor. Un array es una variable con varios valores donde se puede leer o escribir cada uno de sus elementos.

Definimos un array por el número de líneas que contiene y su tipo. Este gráfico muestra las diferentes etapas de una variable y el ciclo de la vida de un array:

EtapaVariable simpleVariable array
InicializaciónC_TEXT(vText)ARRAY TEXT(ArrayText;10) `10 líneas
ValorizaciónvText:="Tascher de la Pagerie"ArrayText{1}:="De Beauharnais" `línea 1
ArrayText{2}:="Barras" `línea 2
ArrayText{3}:="Bonaparte" `línea 3
...
Uso$NumChar:=Length(vText)$Amant:=ArrayText{1}
Borrar el contenidoCLEAR VARIABLE(vText)ARRAY TEXT(ArrayText;0)
(el comportamiento es diferente entre una aplicación interpretada y compilada,
ver la documentación 4D)
Visualización en un formularioDa el nombre de la variable a un objeto de tipo área de desplazamiento,Dar el nombre de la variable a un objeto de tipo área de desplazamiento/menú pop-up
TiposEntero, Entero largo, Numérico, Alfa, Texto, Booleano, Fecha, Hora, Imagen, BLOB, punterosIdénticos a los tipos de variables excepto Hora y BLOB

Como puede ver, hay un número de similaridades entre las dos.

El nombre del array se utiliza a veces con llaves {}, a veces solo. En este caso, se trata de una variable (entero largo) creada automáticamente por 4D.

Esta variable, asociada al array, sirve como un índice (número de línea) de array. Es a través de esta variable que podemos saber que línea fue seleccionada por el usuario o forzar las selección de una línea específica en el menú pop-up.

Esta es razón por la que verá a menudo esta sintaxis concisa escrita en la base de datos:

 [INTERVENTIONS]Object:=ObjectsArr{ObjectsArr}

que podemos descifrar de la siguiente manera: "Object := contenido del array {en la línea seleccionada}"
También encontrará, aunque más concisa y mucho más genérica, esta sintaxis que utiliza el comando Self (puntero al objeto cuyo método se está ejecutando):

 [INTERVENTIONS]Object:=Self->{Self->}

Independientemente de la sintaxis utilizada, el funcionamiento es el mismo.

En 4D, una pestaña es un objeto único, con varios títulos (valores). Este es un ejemplo de un objeto de interfaz que puede representar un array.

Por lo general, ponemos las pestañas en la página 0 del formulario (ver la sección cubre este punto).

Notará que los arrays se vuelven muy útiles rápidamente, de hecho, pronto se convierten en una necesidad.

Un array sólo contiene elementos del mismo tipo. No puede tener un array con un elemento Alfa, un elemento Fecha y un tercer elemento Hora.En este caso, puede utilizar un array de punteros que apunten a variables de diferentes tipos.

Como se mencionó en la lección sobre los punteros, se pueden combinar punteros y arrays para obtener "arrays de punteros".

También puede considerar que un list box es una serie de arrays conectados (de la misma dimensión X).

Es un objeto que agrupa y sincroniza uno o más arrays.

En un list box, puede configurar:

  • el list box mismo
  • cada encabezado de columna
  • y cada columna

En total, si el list box tiene X columnas, usted tiene 2X+1 objetos (X columnas, X encabezados + 1 list box).

Los list boxes permiten:

  • introducir datos
  • ordenar y mover líneas y columnas
  • mostrar colores alternos
  • la visualización jerárquica
  • añadir totales a los pies de página
  • Un list box se puede sincronizar con arrays como lo hicimos aquí o con campos de la selección actual (o una selección temporal) de una tabla
  • ...

Tenga en cuenta que el list box sincroniza sus columnas, toma el menor número de líneass de los arrays que lo componen.

Este punto es importante de recordar, ya que podría tener arrays que están llenos de datos y aún así terminar con un list box vacío si uno de sus arrays está vacío.

 
 

 
PROPIEDADES 

Producto: 4D
Tema: Arrays, pop-ups, list boxes

 
ARTICLE USAGE

Autoformación ( 4D v13)
Autoformación ( 4D v14)