|
| Remplacer la clé d’un tableau associatif |
| Iniciado por clement, 26,nov. 2018 19:14 - 4 respuestas |
| |
| | | |
|
| |
| Publicado el 26,noviembre 2018 - 19:14 |
Bonjour,
J’utilise un tableau associatif de structures pour lequel j’ai besoin de renommer une clé d’un élément.
Exemple : MonTableau[MaClé] = MaStructure
Ici je veux que MaClé qui vaut Windev23 soit renommée en Windev24.
Comment puis-je faire si ce n’est supprimé l’élément Windev23 et créer un nouveau Windev24 ?
Une fonction qui serait du genre MonTableau[Windev23]..Clé = Windev24 (qui ne marche pas).
Je vous remercie pour vos prochaines propositions.
Cordialement. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 27,noviembre 2018 - 07:21 |
Bonjour,
Ici je veux que MaClé qui vaut Windev23 soit renommée en Windev24. Je vous remercie pour vos prochaines propositions.
https://www.pcsoft.fr/pcsoft/BCMAJWX24.pdf ?
Je sais qu'elle va pas beaucoup t'aider ma réponse.... Mais c'était trop tentant!
 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 96 mensajes |
|
| Publicado el 27,noviembre 2018 - 08:59 |
Bonjour Clément,
Je ne vois pas d'autre solution que celle que tu donnes toi-même. En effet, dans les autres langages où l'on peut voir le code source, la clé est d'un tableau associatif (dictionnaire) est une valeur "immutable". Cela signifie qu'elle ne peut pas changer.
Pourquoi ? Tout simplement parce qu'en général, on calcule le hash de l'objet pour rechercher plus rapidement. On ne recherche pas sur Windev23 en premier lieu, mais sur une valeur hashée de Windev23. S'il y a ensuite des doublons (sur un hash, c'est rare), alors on vérifie ce qu'il reste.
Si tu veux faire ce genre d'opération, je te conseille de travailler avec un tableau de structure et la fonction cherche.
Mais l'idéal (et c'est une question que je pose assez régulièrement), ce serait de savoir ce que tu souhaites faire réellement. Quel est l'intérêt de modifier la clé d'un tableau associatif ? En fonction de ton besoin, nous pourrons peut-être te donner d'autres alternatives.
Bonne journée à toi.
-- Johjo aka Jonathan Laurent
Codez mieux ! Codez plus vite !
Mon blog sur WinDev : http://www.ytreza.org Me contacter sur slack (wx-community) : https://frama.link/BoBD0SY0 Faîtes moi un ping : http://www.ytreza.org/fr/services/ping-sur-forum |
| |
| |
| | | |
|
| | |
| |
| Publicado el 27,noviembre 2018 - 09:35 |
Bonjour
Renommer, ca peut très bien se faire aussi en copiant ton élément courant dans un nouvel élément et en supprimant l'ancien, en mémoire c'est pas de temps que ca va prendre qui va changer grand chose
Bon dev
Marc Fastré www.marc-fastre.be |
| |
| |
| | | |
|
| | |
| |
| Publicado el 30,noviembre 2018 - 08:28 |
Bonjour à tous,
Je vous remercie pour vos conseils.
J'ai effectivement mis en place une copie de l'élément + suppression de l'ancien. Le résultat est au rendez-vous.
Pour préciser mon cas comme sollicité, ma clé est constituée d'une information importante pour éviter d'avoir des doublons sous forme d'une chaine avec un booléen qui peut être amené à changer selon les manipulations de l'utilisateur (ex. : VILLE;0).
A bientôt ! |
| |
| |
| | | |
|
| | | | |
| | |
|