SORT ARRAY

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 3


SORT ARRAY (Array{; Array2; ...; ArrayN}{; orden})

ParámetroTipoDescripción
ArrayArrayArrays a ordenar
orden> o <> ordenar en orden ascendente, u
< ordenar en orden descendente, u
orden ascendente si se omite

Descripción

El comando SORT ARRAY ordena uno o más array en orden ascendente o descendente.

Nota: usted no puede ordenar arrays de tipo Puntero o Imagen. Puede ordenar los elementos de un array bidimensional (es decir, a2DArray{$vlEsteElem}) pero no puede ordenar el array bidimensional en sí mismo (es decir, a2DArray).

El último parámetro especifica si ordenar el array en orden ascendente o descendente. El símbolo "mayor que" (>) indica un orden ascendente; el símbolo "menor que" (<) indica un orden descendente. Si no especifica el orden, entonces la ordenación es ascendente.

Si se especifica más de un array, los arrays se ordenan siguiendo el definido para el primer array; las ordenaciones multiniveles no son posibles. Este funcionamiento es particularmente útil en áreas de desplazamiento agrupadas en un formulario; SORT ARRAY mantiene la sincronización de los array utilizados por las áreas de desplazamiento.

Ejemplos

1. El siguiente ejemplo crea dos arrays y luego los ordena en función del nombre de la empresa:

   ALL RECORDS ([Personas]) 
   SELECTION TO ARRAY ([Personas]Nombre;asNombres;[Personas]Empresa;asEmpresas) 
   SORT ARRAY (asEmpresas; asNombres;>)

Sin embargo, como SORT ARRAY no realiza ordenaciones multinivel, los nombres de las personas aparecen en desorden al interior de cada empresa. Para ordenar las personas por nombre para cada empresa, debe escribir:

   ALL RECORDS ([Personas])
   ORDER BY ([Personas];[Personas]Empresa;>;[Personas]Nombre;>)
   SELECTION TO ARRAY ([Personas]Nombre;asNombres;[Personas]Empresa;asEmpresas)

2. Usted visualiza los nombres de una tabla [Personas] en una ventana flotante. Cuando hace clic en los botones en la ventana, puede ordenar esta lista de nombres de A a Z o de Z a A. Como varias personas pueden tener el mismo nombre, también puede utilizar un campo [Personas]Numero ID, el cual es un campo indexado único. Cuando hace clic en un nombre de la lista, usted recupera el registro para el nombre correspondiente. Manteniendo un array sincronizado y oculto de números de identificación, se asegura de acceder al registro correspondiente al nombre seleccionado:


      ` Método de objeto del array asNombres
   Case of
      : (Form event=On Load)
         ALL RECORDS([Personas])
         SELECTION TO ARRAY([Personas]Nombre;asNombres;[Personas]Numero ID;todosIDs)
         SORT ARRAY(asNombres;todosIDs;>)
      : (Form event=On Unload)
         CLEAR VARIABLE(asNombres)
         CLEAR VARIABLE(todosiDs)
      : (Form event=On Clicked)
         If (asNombres#0)
               ` Utilice el array todoslDs obtener el registro correcto
            QUERY([Personas];[Personas]Numero ID=todosIDs{asNombres}) 
               ` Hacer algo con el registro
         End if
   End case

      ` Método de objeto del botón bA2Z 
      ` Ordenación de los arrays en orden creciente conservando la sincronización
   SORT ARRAY(asNombres;todosIDs;>)

      ` Método de objeto del botón bZ2A 
      ` Ordenación de los arrays en orden decreciente conservando la sincronización
   SORT ARRAY(asNombres;todosIDs;<)

Ver también

MULTI SORT ARRAY, ORDER BY, SELECTION TO ARRAY.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente