Lire un champ appartenant à une autre fenêtre

Demandé et répondu par R&B le 27-Sep-2004 12:14

Lire un champ appartenant à une autre fenêtre

Question récurente s'il en est.... et la solution est pourtant si simple
Prenons deux fenêtre (fen1 et fen2), la première contient un table dont je veux récupérer des valeur dans du code de la seconde.
Les deux fenêtres doivent évidement être ouvertes.

Pour utiliser des champs d'autres fenêtres actives il faut utiliser l'indirection (consulter l'aide sur le sujet, c'est une des notions puissantes de windev) :

// code dans FEN2
// syntaxe 1 : accès direct en utilisant le 'chemin' du champ
MaVal = fen1.table.colonne[indice]
// syntaxe 2 : on construit le nom du champ (son 'chemin') à partir d'une chaine, les signes {} activnt l'indirection
MaVal = {'fen1.table.colonne['+indice+']',indChamp}


nb, la seconde syntaxe interprète la chaine pour construire le nom du champ. on peut donc construire le nom d'un champs avec des variables... trés utile pour économiser du code .

Cette Q&R a été trouvée sur WDForge.org : http://old.wdforge.org/modules/smartfaq/faq.php?faqid=12