4D v16 R6 offre des capacités avancées pour manipuler les collections, grâce à plus de 40 méthodes à utiliser avec la Notation Objet. En les utilisant, vous serez en mesure d’écrire votre code de manière plus efficace. Du nouveau code, c’est bien, mais nous avons aussi gardé à l’esprit que ce nouveau code doit s ‘intégrer facilement à votre code existant. C’est pourquoi nous avons introduit des commandes dédiées pour convertir les collections en tableaux ou en chaînes de caractères, et vice-versa.
Cet article est le deuxième d’une série d’articles sur la manipulation des collections avec les méthodes ajoutées dans 4D v16 R6. Pour aller plus loin, téléchargez notre exemple de base de données avec 12 exemples différents démontrant la myriade de possibilités offertes par les méthodes de collection !
Exemple de base de données : Gérer les collections
Maintenant, concentrons-nous sur la conversion des collections et sur quelques exemples de code.
Tableaux et collections
COLLECTION VERS TABLEAU
La commande COLLECTION TO ARRAY remplit un tableau avec les éléments d’une collection :
ARRAY TEXT($artFruits; 0 )
$fruits :=New collection("Orange" ; "Banane" ; "Pomme" ; "Raisin")
// Convert the $fruits collection to a text array
COLLECTION TO ARRAY (
$fruits;$artFruits)
//$artFruits{1}="Orange"
//$artFruits{2}="Banana"
//..
La même commande peut également être utilisée pour remplir plusieurs tableaux à partir d’une collection d’objets :
ARRAY TEXT($city; 0 )
$col :=New collection(New object("nom" ; "Cleveland" ; "zc";35049))
$col .push(New object("nom" ; "Blountsville" ; "zc";35031))
// Convert $col collection to 2 arrays
COLLECTION TO ARRAY ($col;$city; "nom" ;$zipCode; "zc")
//$city{1}="Cleveland"
//$city{2}="Blountsville"
//...
//$zipCode{1}="35049"
//$zipCode{2}="35031"
//...
DU TABLEAU À LA COLLECTION
De la même manière, vous pouvez convertir un tableau en une collection avec ARRAY TO COLLECTION:
$colFruits:=New collection
(
// Convert $artFruits array to a collection
ARRAY TO COLLECTION$colFruits;$artFruits)
//$colFruits=[Orange,Banana,Apple,Grape]
Ou remplir une collection d’objets à partir de plusieurs tableaux :
$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}
manipuler des chaînes de caractères avec des collections
La commande Split string divise une chaîne de caractères en une collection de sous-chaînes basées sur des caractères séparateurs :
$text:= "John;Doe;120 jefferson st.;Riverside;; ; NJ ; 08075"
$col :=Split string($text; " ;")
//$col:=["John","Doe","120 jefferson st.","Riverside",""," NJ"," 08075"]
Vous pouvez également modifier certains éléments de la collection et créer une nouvelle chaîne de caractères à l’aide de la méthode join méthode :
$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"
Il y a encore d’autres articles à venir sur la manipulation des collections, restez à l’écoute !