Cluster Zeile löschen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Cluster Zeile löschen (/Thread-Cluster-Zeile-loeschen) Seiten: 1 2 |
Cluster Zeile löschen - Masterg4941 - 10.09.2013 08:17 Hallo Leute, wie kann ich es realisieren einzelne Zeilen aus einem Cluster zu löschen? Bei mir wird das Cluster mit den Cursorwerten (x,y) gefüllt. Nun möchte ich aber z.B. Fehlmessungen löschen können. Mit löschen meine ich, dass der geplottete Punkt verschwindent sowie die dazu gehörige Zeile im Cluster (und die nächste Zeile rückt nach). Ist das Überhaupt möglich? Ich habe schon versucht über einen Eigenschaftsknoten den Cursorindex zu ermitteln, was leider nicht funktioniert hat. habt ihr einen Tipp für mich? Lg RE: Cluster Zeile löschen - Clyde - 10.09.2013 08:29 Hallo Masterg4941, Gegenfrage: Warum benutzt du einen Cluster um zwei 1D-Arrays of Double zusammenzufassen? Mach doch einfach ein 2D-Array draus. In dem 2D-Array kann man dann auch einfach Zeilen löschen. Beim Cluster geht das so ohne Weiteres glaube ich nicht. Wenn doch, wäre ich daran aber auch interessiert, wie das geht Ach und noch was: Dein Programm besteht aus einer ungebremsten While-Schleife. Hast du schon einmal deinen Task-Manager aufgemacht und geguckt, wie der Prozessor von deinem Programm beansprucht wird? Ein Kern wird voll ausgelastet. Ein Einfügen einer kurzen Wartezeit würde das "Problem" beheben. Gruß Clyde RE: Cluster Zeile löschen - Masterg4941 - 10.09.2013 09:05 (10.09.2013 08:29 )Clyde schrieb: Gegenfrage: Warum benutzt du einen Cluster um zwei 1D-Arrays of Double zusammenzufassen? Mach doch einfach ein 2D-Array draus. In dem 2D-Array kann man dann auch einfach Zeilen löschen.Ja danke für den Tipp. Habs jetzt in ein Array geschrieben. Zitat:Ach und noch was: Dein Programm besteht aus einer ungebremsten While-Schleife. Hast du schon einmal deinen Task-Manager aufgemacht und geguckt, wie der Prozessor von deinem Programm beansprucht wird? Ein Kern wird voll ausgelastet. Ein Einfügen einer kurzen Wartezeit würde das "Problem" beheben.Dies ist mir bewusst. Es ist nur eine abgespeckte Version meines Programms, nur zur Demonstration. Aber hab die Wartezeit jetzt trotzdem eingefügt Ich habe das Programm jetzt dahingehend verändert, dass es funktionieren könnte/sollte. Tut es aber nicht. Ich möchte mir einen Punkt (Cursor) im Graph mit einem Doppelklick anwählen und somit löschen + die dazu gehörige Zeile im Array. Die Indexanzeige ist aber immer 0 Was mach ich falsch? Lg RE: Cluster Zeile löschen - Trinitatis - 10.09.2013 18:20 Hallo MasterG, so recht schlau werde ich irgendwie nicht aus deinem Tun. Willst du nun nacheinander mehrere Punkte in einen XY-Graph plotten und von denen ausgewählte löschen (erscheint mir als plausibelstes Vorhaben), oder willst du mehrere Cursor erstellen (was du aber nicht tust) und von denen dann ausgewählte löschen, oderwieoderwas? Du schreibst in der einen Schleife immer irgendwelche Punkte in den Graphen und fragst im parallelen Event, welcher Cursor-Index denn der gewählte ist und bekommst immer die ANtwort "0", da es schließlich nur einen Cursor gibt. Gruß, Marko RE: Cluster Zeile löschen - Masterg4941 - 11.09.2013 06:26 (10.09.2013 18:20 )Trinitatis schrieb: so recht schlau werde ich irgendwie nicht aus deinem Tun. Willst du nun nacheinander mehrere Punkte in einen XY-Graph plotten und von denen ausgewählte löschen (erscheint mir als plausibelstes Vorhaben)Ja ich habe es eigentlich so vor wie du es meinst. Ich will dann aus dem Graph einen Punkt anwählen können (z.B Maus Doppelklick) und diesen löschen + dem richtigen Eintrag aus dem Array. Mit meinem Programm (nicht dieses Beispiel) werden ca. 5-6 Punkte pro Messung gemacht, also recht übersichtlich. Zitat:Du schreibst in der einen Schleife immer irgendwelche Punkte in den Graphen und fragst im parallelen Event, welcher Cursor-Index denn der gewählte ist und bekommst immer die ANtwort "0", da es schließlich nur einen Cursor gibt.Ach ok dann würde es im Prinzip gehen, wenn ich für jeden "Punkt" einen Cursor erstelle!? Ich hoffe jetzt ist klar was ich erreichen möchte. Wie setze ich es am besten um? Muss ich tatsächlich für jeden Mespunkt einen Cursor erstellen, oder geht es auch anders? lg RE: Cluster Zeile löschen - GerdW - 11.09.2013 08:07 Hallo MasterG, wenn man eine neue Funktionalität testen oder sich einarbeiten möchte, macht man sich ein einfaches Beispiel - und spielt damit! Ich habe mal dein VI entsprechend verschlankt. Außerdem habe ich den vorhandenen Cursor gelöscht und einen neuen, an den Plot gekoppelten, erstellt. Nun kann man sich angucken, was einem der Cursor so alles verrät und darauf aufbauend seine Funktionalitäten weiter programmieren... P.S.: Der Titel deines Beitrags ist ziemlich irreführend: Warum soll in einem Cluster eine Zeile gelöscht werden? Zeilen hat man in Tabellen oder Texten, aber in einem Cluster? RE: Cluster Zeile löschen - Masterg4941 - 11.09.2013 10:28 (11.09.2013 08:07 )GerdW schrieb: wenn man eine neue Funktionalität testen oder sich einarbeiten möchte, macht man sich ein einfaches Beispiel - und spielt damit!Danke! In deinem Beispiel blicke ich auch besser durch als bei meinem Zitat:Ich habe mal dein VI entsprechend verschlankt. Außerdem habe ich den vorhandenen Cursor gelöscht und einen neuen, an den Plot gekoppelten, erstellt. Nun kann man sich angucken, was einem der Cursor so alles verrät und darauf aufbauend seine Funktionalitäten weiter programmieren...Ich habe das Programm jetzt dahingehend erweitert, dass ich einen geplotteten Punkt mit dem Cursor anwählen kann und diesen per "mouse double click" löschen kann (im Array). Das klappt an sich schon wie gewollt, aber mir fehlt der Ansatz, um das alte array durch das neue zu ersetzen. Es wird zwar immer ein Punkt gelöscht, aber nach entfernen von einem anderen Punkt ist der alte wieder da. Irgendwie müssen die 2 Array ja jetzt zusammengeführt werden!? Wäre schön, wenn mir jemand an diesem Beispiel zeigen könnte, wie es geht. Und kann man jetzt auch im Graph den passenden Punkt zum Arrayeintrag löschen? lg RE: Cluster Zeile löschen - GerdW - 11.09.2013 10:37 Hallo MasterG, hatte dir schon mal jemand das mit dem DATAFLOW erläutert? THINK DATAFLOW! - Du löscht zwar einen Punkt aus dem Array - bei der nächsten Iteration verwendest du aber wieder die Originaldaten und nicht die schon bearbeiteten. THINK DATAFLOW! - Daten speichert man nicht in Anzeigelementen, sondern in Drähten und Schieberegistern! THINK DATAFLOW! Deine Frage ist der typische Anwendungsfall fürs Debugging mit Sonden. Hast du das schon mal probiert? RE: Cluster Zeile löschen - Trinitatis - 11.09.2013 10:38 Hallo MasterG, du beziehst dich in deinem Eingangstunnel immer auf dasselbe Eingangsarray. Hier wäre ein Schieberegister angebracht. Gruß, Marko Edit: ...bzw. s. Gerd RE: Cluster Zeile löschen - Masterg4941 - 11.09.2013 12:51 Danke Leute! Jetzt funktioniert das löschen auch Zitat:- Du löscht zwar einen Punkt aus dem Array - bei der nächsten Iteration verwendest du aber wieder die Originaldaten und nicht die schon bearbeiteten. THINK DATAFLOW!Ja das war mir bewusst! Nur bin ich nicht auf die simple Idee gekommen ein Schieberegister zu benutzen *schäm* Aber um noch mal zu meiner zweiten Frage zurück zu kommen: "Und kann man jetzt auch im Graph den passenden Punkt zum Arrayeintrag löschen?" Da bin leider noch nicht weiter. Ich kann zwar per Methodenknoten den Graphen auf default zurücksetzen, aber dies ist nicht erwünscht. Ich stelle mir mein Vorhaben recht kompliziert vor, da man nach einem Löschvorgang den Graph wieder neu "beschreiben" müsste, oder? Demnach müsste ich die Messung wieder von Vorne beginnen, womit ich den Löschvorgang aus dem Graphen gleich weglassen kann. Jemand Vorschläge? Im Anhang noch mal das aktuelle Programm lg |