PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → FichierVersMémoire et tableau associatif
FichierVersMémoire et tableau associatif
Iniciado por François C., 25,may. 2018 12:30 - 3 respuestas
Miembro registrado
1.640 mensajes
Publicado el 25,mayo 2018 - 12:30
Bonjour,

On peut utiliser FichierVersMémoire() pour remplir un tableau d'objet correspondant au fichier ou a la requete concernée.

Exemple :
Liste est un tableau MClients //Mclients étant une classe générée correspondant au modèle de données du fichier Client.
HLitPremier(Clients)
FichierVersMémoire(Liste,Clients)

// ce code va générer un tableau de X Mclients

Par contre pour rechercher un client dans le tableau c'est un peu pénible du coup... il serait plus simple d'utiliser un tableau associatif par exemple ou l'index d'appel serait la clé unique du fichier client .. Comme si il suffit de faire :
Liste[<IdDuClient>] pour acceder à l'objet en question.

Comment le faire avec le code plus haut ?

Merci ;)
Miembro registrado
953 mensajes
Publicado el 25,mayo 2018 - 13:27
bonjour,

Avec TableauCherche(), mais peu générer des erreurs si la clé n'existe pas... il faudrait rajouter un test en plus...

du genre
Liste[TableauCherche(Liste,tcLinéaire,"NomRubriqueCleDeVotreClasse",ValeurRubriqueCle)] // pour l'objet


_id_tbl est un entier=TableauCherche(Liste,tcLinéaire,"NomRubriqueCle",ValeurRubriqueCle)
SI _id_tbl>0 ALORS Liste[_id_tbl] // pour l'objet
Miembro registrado
1.640 mensajes
Publicado el 25,mayo 2018 - 14:20
Oui voila mais c'est pénible.. enfin c'est moins pratique en tout cas.
Du coup ce tableau étant lui même contenu dans une classe.. j'ai ajouté une méthode RechercheClient() qui renvoi l'indice ...
Publicado el 03,octubre 2019 - 10:31
Me réponse et un peut tardif, mes tu peut aussi utiliser la cette fonction

FichierVersTableau(m_tabClients, REQ_Clients)