Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
New collection

New collection 


 

New collection {( valor {; valor2 ; ... ; valorN} )} -> Resultado 
Parâmetro Tipo   Descrição
valor  Número, Texto, Data, Objeto, Collection, Ponteiro in Valores da Coleção
Resultado  Collection in Nova coleção

O comando New collectioncria uma nova coleção vazia ou pré-preenchida e retorna sua referência.

Se não passar nenhum parâmetro, New collection cria uma coleção vazia e devolve sua referência.

Deve atribuir a referência retornada a uma variável 4D declarada com _O_C_COLLECTION.

Nota: lembre que _O_C_COLLECTION declara uma variável de tipo Coleção mas não cria nenhuma coleção.

Opcionalmente, pode pré-preencher esta nova coleção passando um ou vários parâmetros value.

Também é possível adiconar ou modificar elementos subsequentemente através da atribuição de notação de objeto. Por exemplo:

 myCol[10]:="My new element"

Se o novo índice de elemento for além do último elemento existente da coleção, a coleção é automaticamente redimensionada e todos os novos elementos intermediários obtém o valor null.

Nota: Para mais informação sobre a notação de objeto, veja a seção Usar notação padrão objeto.

 Pode passar qualquer número de valores de todo tipo admitido (número, texto, data, ponteiro, objeto, coleção ...). Diferente dos arrays, as coleções podem combinar dados de diferentes tipos.

Deve prestar atenção aos problemas de conversão abaixo:

  • Se passar um ponteiro, ele se mantém como é; É avaliado mediante o comando JSON Stringify
  • As datas são armazenadas no formato "AAAA-MM-DDTHH:mm:ss.SSSZ".Ao converter datas 4D em texto antes de armazená-las na coleção, de forma pré-determinada o programa  leva em consideração a zona horária local. Pode modificar este comportamento utilizando o seletor JSON use local time do comando SET DATABASE PARAMETER.
  • Se passar um tempo, ele é armazenado como um número de milissegundos (Real).

Se quiser criar uma nova coleção vazia e a atribuir a uma variável coleção 4D:

 C_COLLECTION($myCol)
 $myCol:=New collection
  //$myCol=[]

Se quiser criar uma coleção pré-preenchida:

 C_COLLECTION($filledColl)
 $filledColl:=New collection(33;"mike";"november";->myPtr;Current date)
  //$filledColl=[33,"mike","november",->myPtr,2017-03-28T22:00:00.000Z]

Pode criar uma nova coleção e então adicionar um novo elemento:

 C_COLLECTION($coll)
 $coll:=New collection("a";"b";"c")
  //$coll=["a","b","c"]
 $coll[9]:="z" //adiciona um 10o  elemento com valor "z"
 $vcolSize:=$coll.length //10
  //$coll=["a","b","c",null,null,null,null,null,null,"z"]

Nota: Este exemplo exige que a notação de objeto esteja ativada no banco de dados (ver Notação de objeto).



Ver também 

C_COLLECTION
New shared collection
Type

 
PROPRIEDADES 

Produto: 4D
Tema: Coleções
Número 1472

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v16 R4

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20 R7)