Page 1 sur 1

Pipe & Listview

Posté : jeu. 04 janv. 2018 17:32
par danylarson
Bonjour,

je suis capable d'alimenter une listview a l aide de la fonction GUICtrlCreateListViewItem(<chaine delimité par un pipe>, <controlId>)

Or j ai besoin d afficher dans mon tableau des valeurs qui contiennent le caractere pipe.

Y aurait il une technique pour exclusre les pipe qui font partie des valeurs de mon tableau de ceux qui ont le role de separateur?

Merci de votre aide

Re: Pipe & Listview

Posté : jeu. 04 janv. 2018 17:52
par orax
Je ne sais pas si c'est possible, mais on peut changer le séparateur.
Dans l'aide il est dit que le séparateur est défini par Opt("GUIDataSeparatorChar"), par défaut c'est "|".
Pour le changer...

Code : Tout sélectionner

Opt("GUIDataSeparatorChar", "+") ; le séparateur est maintenant le caractère "+"

Re: Pipe & Listview

Posté : ven. 05 janv. 2018 13:51
par danylarson
Merci Orax pour ta reponse

J'avais vu cette instruction mais le soucis est que si je l'appelle cela va impacter les autres objets qui utilisent le pipe en tant que séparateur...

L'ideal serait une expression qui me permettrais d'encadrer mon pipe et faire comprendre autoit que le pipe que je designe n'est pas un separateur

Re: Pipe & Listview

Posté : ven. 05 janv. 2018 16:08
par jchd
Opt("GUIDataSeparatorChar", "+")
GUICtrlCreateListViewItem(<chaine delimité par un pipe>, <controlId>)
Opt("GUIDataSeparatorChar", "|")

Re: Pipe & Listview

Posté : mar. 23 janv. 2018 15:05
par danylarson
Bonjour tout le monde,
Voici une solution moin impactante :

La fonction _guictrllistview_setitem permet de changer la valeur d'une cellule de la listview qu'on lui passe en parametre.

En bouclant sur la ListView a la colonne selectionnée le tour est joué à l'aide de la fonction StringReplace

Merci pour votre aide !