ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Queue, stack, list and array functions / Array functions
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Remplit un tableau de classes ou de structures avec le contenu d'un fichier de données ou d'une requête HFSQL. Les valeurs des membres des instances de structures ou de classes sont remplies avec les valeurs des rubriques des enregistrements du fichier de données ou de la requête.
Exemple
// Déclaration d'une classe MesContacts
MesContacts est une Classe
NomDeFamille est une chaîne
Prénom est une chaîne
AdresseEmail est une chaîne
FIN
 
// Chargement des enregistrements d'un fichier de données Contacts.fic
// dans un tableau d'objet de la classe MesContacts
tabContact est un tableau de MesContacts
 
HOuvre(Contacts)
FichierVersTableau(tabContact, Contacts)
Syntaxe
FichierVersTableau(<Tableau> [, <Fichier de données> [, <Clé de parcours>]])
<Tableau> : Tableau de structures ou d'objets
Nom du tableau à 1 dimension dans lequel les éléments contenus dans le fichier de données ou dans la requête doivent être ajoutés. Ce tableau doit être alloué dans un type structure ou classe.
<Fichier de données> : Chaîne de caractères
Nom du fichier de données HFSQL ou de la requête manipulé.
<Clé de parcours> : Chaîne de caractères
Nom de la rubrique de parcours utilisée. Ce paramètre est utilisé lorsqu'un filtre est défini avec la fonction HFiltre. Ce paramètre correspond à la clé de parcours optimale à utiliser, renvoyée par la fonction HFiltre.
PHP Ce paramètre n'est pas pris en compte.
Remarques
  • Le tableau est entièrement vidé par la fonction FichierVersTableau.
  • Les tableaux automatiques sont automatiquement redimensionnés en fonction des besoins.
  • Le parcours du fichier est effectué en respectant le filtre courant sur le fichier de données.
  • La position et les valeurs de l'enregistrement courant ne sont pas modifiés par la fonction FichierVersTableau.
  • Pour chaque enregistrement du fichier de données ou de la requête :
    • pour chaque membre de la structure ou de la classe ayant le même nom, ou le même attribut "mapping", qu'une rubrique du fichier de données, la valeur de la rubrique est recopiée dans la valeur du membre.
    • si un membre de la structure ou de la classe n'a pas de rubrique de même nom dans le fichier de données, sa valeur n'est pas modifiée.
    • si une rubrique du fichier de données n'a pas de membre de même nom dans la classe, aucune recopie de valeur n'a lieu.
  • Attention : La fonction FichierVersTableau est bloquante pour tous les threads.
Composante : wd290vm.dll
Minimum version required
  • Version 15
Comments
LIMITATION: Missing auto assignment on subclass members
This function works great but is missing one neat feature, the assignment towards members of subclasses (Typically useful when implementing a Model-View-Controller architecture).

Here's a simplified example:
1) Classes used
Class CustomerClass
CustomerID is int
Name is string
CityID is int
City is a CityClass
END

Class CityClass
CityID is int
CityName is string
PostalCode is string
CountryID is int
Country is CountryClass
END

Class CountryClass
CountryID is int
CountryISOCode is string
CountryName is string
END

2) Query used to assign to class members
Assume we have a query that joins customers with the city table and the country table resulting in a data source with the format:
CustomerID | Name | CityID | CityName | PostalCode | CountryID | CountryISOCode | CountryName

3) Array used
MyArray is array of 0 CustomerClass

4) Now we assign this query result to the array of CustomerClass objects using the FichierVersTableau(MyArray, MyQuery) function. This would unfortunately only assign the members at the level of the Customer Class instance and not the members of the subclass City instance and the subsubclass Country instance limitating this feature in real life OO scenario's.
PeHoBe
18 Aug. 2010

Last update: 07/04/2023

Send a report | Local help