Salut,
J'ai une table de données composée de coordonnées X, Y et une colonne nommée Bin.
Je voudrais conserver les colonnes initiales et les transformer en nouvelles colonnes avec des coordonnées appelées Xn et Yn.
Ensuite, j'ai une fenêtre avec une boîte à boutons qui appelle une fonction qui reflète les coordonnées Y. Lorsque j'appuie sur le bouton, la commande fonctionne, mais juste pendant une fraction de seconde, avant que les coordonnées ne reviennent à leurs valeurs initiales. Je vois juste un flash court avec le signe inversé.
Peux-tu m'aider?
Merci pour votre aide
dt = Current Data Table();
Try(dt << Delete column (:Xn)); //deletes existing Xn and Yn in case script is run several times
Try(dt << Delete column (:Yn));
dt << New Column ("Xn", Numeric, Continuous, Formula(:X));
dt << New Column ("Yn", Numeric, Continuous, Formula(:Y));
New Window("DS Map Alignment",
Button Box ("Mirror Y Axis",
MirrorFunction)
);
MirrorFunction = Function({},
NewX = :Xn << Get Values();
NewY = :Yn << Get Values();
dt:Xn << Set Values (NewX);
dt:Yn << Set Values (-NewY); //This is where I mirror the Y coordinates
);
Bon... encore une fois je réalise ce que j'avais fait quelques secondes après avoir posté. Les colonnes Xn et Yn sont définies via une formule dans les lignes 4 et 5. Cette formule remplace la commande "set values".
Si je n'utilise pas Formula(:X), mais que << get values et << set values à la place, cela fonctionne.