Conversão de colecções

Tradução automática de Deepl

4D v16 R6 fornece capacidades avançadas de manipulação de colecções, graças a mais de 40 métodos a serem utilizados com Notação de Objectos. Ao utilizá-los, será capaz de escrever o seu código de uma forma mais eficiente. O novo código é excelente, mas também tivemos em mente que este novo código precisa de se integrar facilmente com o seu código existente. É por isso que introduzimos comandos dedicados para converter colecções em arrays ou strings, e vice-versa.

Este artigo é o segundo de uma série de posts sobre a manipulação de colecções com os métodos adicionados em 4D v16 R6. Para explorar mais, descarregue o nosso exemplo de base de dados com 12 exemplos diferentes demonstrando as inúmeras possibilidades com os métodos de colecções!

Exemplo de base de dados: Gerir colecções

Agora, concentremo-nos na conversão de colecções e em alguns exemplos de códigos.

Arrays e Colecções

COLECÇÃO PARA ARRAY

O [6]:=”CA”;”) COLLECTION TO ARRAY preenche uma matriz com elementos de uma colecção:

ARRAY TEXT($artFruits;0)
$fruits :=New collection("Laranja"; "Banana"; "Maçã"; "Uva")

// Convert the $fruits collection to a text array
COLLECTION TO ARRAY ($fruits;$artFruits)
//$artFruits{1}="Orange"
//$artFruits{2}="Banana"
//..

O mesmo comando também pode ser usado para preencher várias matrizes a partir de uma colecção de objectos:

ARRAY TEXT($city;0)
$col :=New collection(New object("nome"; "Cleveland"; "zc";35049))
$col .push(New object("name"; "Blountsville"; "zc";35031))

// Convert $col collection to 2 arrays
COLLECTION TO ARRAY ($col;$city; "name";$zipCode; "zc")
//$city{1}="Cleveland"
//$city{2}="Blountsville"
//...
//$zipCode{1}="35049"
//$zipCode{2}="35031"
//...

MATRIZ A RECOLHER

De forma correspondente, pode converter um array para uma colecção com ARRAY TO COLLECTION:

$colFruits:=New collection
// Convert $artFruits array to a collection
ARRAY TO COLLECTION ($colFruits;$artFruits)
//$colFruits=[Orange,Banana,Apple,Grape]

Ou encher uma colecção de objectos de várias matrizes:

$colCity:=New collection
// Convert $city and $zipCode arrays to a collection of objects
ARRAY TO COLLECTION ($colCity;$city; "cityName";$zipCode; "Zip")
//$colCity[0]={cityName:Cleveland,Zip:35049}

//$colCity[1]={cityName:Blountsville,Zip:35031}

manipular cordas com colecções

O Split string divide um cordão numa colecção de substratos com base em caracteres separadores:

$text:="John;Doe;120 jefferson st.;Riverside;; NJ; 08075"
$col :=Split string($text;";")
//$col:=["John","Doe","120 jefferson st.","Riverside",""," NJ"," 08075"]

Pode também modificar alguns elementos da colecção e criar uma nova corda usando o comando join método:

$col[2]:="95 S Market St #240"
$col [3]:="San Jose"
$col [5]:="CA"
$col [6]:="95113"
$text :=$col.join(";")
//$text="John;Doe;95 S Market St #240;San Jose;;CA;95113"

Ainda há mais posts para vir manipular colecções, fique atento!

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.