Hallo,
Ich habe eine Datentabelle, die aus den Koordinaten X, Y und einer Spalte namens Bin besteht.
Ich möchte die ursprünglichen Spalten beibehalten und diese in neue Spalten mit den Koordinaten Xn und Yn umwandeln.
Dann habe ich ein Fenster mit einer Schaltflächenbox, die eine Funktion aufruft, die die Y-Koordinaten widerspiegelt. Wenn ich den Knopf drücke, funktioniert der Befehl, aber nur für den Bruchteil einer Sekunde, bevor die Koordinaten wieder auf ihre Anfangswerte zurückgesetzt werden. Ich sehe nur einen kurzen Blitz mit umgekehrtem Vorzeichen.
Kannst du mir helfen?
Vielen Dank für Ihre Hilfe
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
);
Okay... wieder wird mir klar, was ich getan habe, Sekunden nachdem ich gepostet habe. Die Spalten Xn und Yn werden über eine Formel in den Zeilen 4 und 5 definiert. Diese Formel überschreibt den Befehl „Werte festlegen“.
Wenn ich nicht Formula(:X) verwende, sondern stattdessen << Werte abrufen und << Werte festlegen, funktioniert es.