Saltar para o conteúdo principal
Versão: Próximo

ARRAY TO COLLECTION

ARRAY TO COLLECTION ( coleçãlo ; array {; nomProp}{; array2 ; nomProp2 ; ... ; arrayN ; nomPropN} )

ParâmetroTipoDescrição
coleçãloCollection🡘Coleção a receber o array de dados
arrayArray🡒Array a copiar para a coleção, se nomeProp for passado, array a copiar aos valores da arrayProp na coleção
nomPropTexto🡒Nome de propriedade objeto cujmo valor a preencher com elementos do array

Descrição

O comando ARRAY TO COLLECTION [#descv]copia um ou mais array(s) nos elementos ou os valores de nomeProp da coleção[#/descv].

Este comando pode funcionar com uma coleção que contém valores ou uma coleção que contenha objetos, em cujo caso os parâmetros nomeProp são obligatórios.

  • Se omitir o parâmetro nomeProp, o comando copia todos os elementos de array a coleção. Se a coleção não estiver vazia, os elementos existentes são substituídos e são agregados novos elementos se o tamanho de array for maior que a longitude da coleção. Depois de que se executa o comando, a longitude da coleção for idêntica ao tamanho de array.
  • Se passar um ou mais parâmetros nomeProp, o comando cria ou substitui objetos como elementos de coleção. Cada objeto se completa com uma propriedade cujo nomee se oferece no parâmetro nomeProp, e cujo valor é o elemento de array correspondente. Se a coleção não estava vazia, os elementos existentes são substituidos e se agregam novos elementos se o tamanho do array for maior que a coleção. Depois de que se executar o comando, a longitude da coleção for a mesma que o tamanho do maior array.

Exemplo 1

Deseja copiar um array de texto em uma coleção:

 var $colFruits : Collection
 $colFruits:=New collection
 ARRAY TEXT($artFruits;4)
 $artFruits{1}:="Orange"
 $artFruits{2}:="Banana"
 $artFruits{3}:="Apple"
 $artFruits{4}:="Grape"
 ARRAY TO COLLECTION($colFruits;$artFruits)
  //$colFruits[0]="Orange"
  //$colFruits[1]="Banana"
  //...

Exemplo 2

Se quiser copiar valores de campo em uma coleção de objetos por meio de arrays:

 var $col : Collection
 $col:=New collection
 ARRAY TEXT($artCity;0)
 ARRAY LONGINT($arLZipCode;0)
 SELECTION TO ARRAY([Customer]City;$artCity)
 SELECTION TO ARRAY([Customer]Zipcode;$arLZipCode)
 ARRAY TO COLLECTION($col;$artCity;"cityName";$arLZipCode;"Zip")
  //$col[0]={"cityName":"Cleveland","Zip":35049}
  //$col[1]={"cityName":"Blountsville","Zip":35031}
  //...

Exemplo 3

Se quiser copiar um array de texto em uma coleção compartilhada:

 ARRAY TEXT($at;1)
 
 APPEND TO ARRAY($at;"Apple")
 APPEND TO ARRAY($at;"Orange")
 APPEND TO ARRAY($at;"Grape")
 
 var $sharedCol : Collection
 $sharedCol:=New shared collection
 
 Use($sharedCol)
    ARRAY TO COLLECTION($sharedCol;$at)
 End use

Ver também

COLLECTION TO ARRAY
Conversões de Tipo entre coleções e arrays 4D