Hallo MasterG,
Zitat:zu meiner zweiten Frage
Ein Graph zeigt genau die Daten an, die du per Draht hineinschiebst. THINK DATAFLOW!
Wenn du also in deinen Daten irgendwas löscht und dies auch im Graph darstellen willst, dann musst du die geänderten Daten auch in den Graph schreiben. Nachmals: THINK DATAFLOW!
(11.09.2013 12:53 )GerdW schrieb: [ -> ]Ein Graph zeigt genau die Daten an, die du per Draht hineinschiebst. THINK DATAFLOW!
Wenn du also in deinen Daten irgendwas löscht und dies auch im Graph darstellen willst, dann musst du die geänderten Daten auch in den Graph schreiben. Nachmals: THINK DATAFLOW!
Genau da sehe ich das Problem. Einmal kurz zum Messablauf:
Es wird ein Motor untersucht, bei dem die Spannung manuel geregelt wird und die aktuelle Cursorposition kontinuierlich sichtbar ist. Nun kann der Nutzer beliebig "Punkte" setzen, um einen Verlauf dar zu stellen. Wenn jetzt aber ein Punkt aus dem Array gelöscht wird, müsste ich ja den Graphen mit dem neuen Array füttern, um den neuen Graphen zu erhalten. Demnach hätte ich ja 2 Arrays, die der Graph bekommt und somit 2 Verläufe?!
Ich blicke da nicht durch. Bekomme nichtmal das neue "Array nach Löschung" geplottet, ich kriegs nicht konvertiert.
Tut mir leid, wenn ich mit so banalem Zeug nerve, aber jeder fängt mal klein an
Hallo MasterG,
Zitat:Wenn jetzt aber ein Punkt aus dem Array gelöscht wird, müsste ich ja den Graphen mit dem neuen Array füttern, um den neuen Graphen zu erhalten. Demnach hätte ich ja 2 Arrays, die der Graph bekommt und somit 2 Verläufe?!
Wieso 2 Arrays? Wo soll das zweite sein?
- Du hast ein Array mit den möglichen Punkten. Dieses wird auf dem Graph dargestellt.
- Wenn du Punkte löschen willst, machst du das in dem einen (!) Array.
- Wenn sich irgendwas ändert (Event-Struktur nutzen?), dann wird das eine (!) Array wieder in den Graph geschoben...
Ein Array mit Punkten. Ein Graph. Eine Drahtverbindung.
(11.09.2013 14:04 )GerdW schrieb: [ -> ]- Du hast ein Array mit den möglichen Punkten. Dieses wird auf dem Graph dargestellt.
- Wenn du Punkte löschen willst, machst du das in dem einen (!) Array.
- Wenn sich irgendwas ändert (Event-Struktur nutzen?), dann wird das eine (!) Array wieder in den Graph geschoben...
Super danke für den Anstoß! Jetzt habe ich es hinbekommen. Der einzige kleine "Fehler" ist, dass der Graph erst bei einem Mausklick gezeichnet wird (wegen der Ereignisstruktur). Aber das bekomme ich evtl. noch hin.
Vielen Dank für eure Hilfe.
LG
Hallo MasterG,
- TimeOut-Case der Eventstruktur nutzen, um den Graph regelmäßig neu zu zeichnen
- "default if unwired"-Ausgänge in der Eventstruktur sind (hier) ungünstig, das fällt dir früher oder später auf die Füße...
(12.09.2013 09:48 )GerdW schrieb: [ -> ]- TimeOut-Case der Eventstruktur nutzen, um den Graph regelmäßig neu zu zeichnen
Ja sowas hat mir noch gefehlt. Jetzt wird der Graph auch automatisch bei Programmstart gezeichnet, ohne die Maus vorher betätigen zu müssen (wie im letzten Programm).
Zitat:- "default if unwired"-Ausgänge in der Eventstruktur sind (hier) ungünstig, das fällt dir früher oder später auf die Füße...
Ich habe jetzt die Case-Stuktur außerhalb der Event-Struktur verlagert. Somit ist das "default if unwired" nicht mehr in der Event-Struktur drin.
Ist das so wie du es meintest? Warum war es vorher ungünstig? In welchem Zusammenhang könnte es dort Probleme geben?
LG
Hallo MasterG,
Zitat:Ich habe jetzt die Case-Stuktur außerhalb der Event-Struktur verlagert. Somit ist das "default if unwired" nicht mehr in der Event-Struktur drin.
Falsch, es ist immer noch drin. Im Stopp-Event...
Zitat:Ist das so wie du es meintest?
Nein. Das, was jetzt im Case ist, hätte in der Event-Struktur bleiben sollen...
Zitat:Warum war es vorher ungünstig? In welchem Zusammenhang könnte es dort Probleme geben?
Schau dir mal mit Highlight-Debugging an, was mit dem Graph passiert, wenn du Stopp drückst: deine Daten gehen "verloren".
Warum? Wegen "default if unwired"!
Warum ist das ungünstig? Weil man Daten manchmal noch speichern will, wenn man eine Schleife verlässt o.ä.
Quintessenz: Tunnel (von "wichtigen" Datenleitungen) immer durchverdrahten (wie im TimeOut-Event)...
Zitat:Schau dir mal mit Highlight-Debugging an, was mit dem Graph passiert, wenn du Stopp drückst: deine Daten gehen "verloren".
Warum? Wegen "default if unwired"!
Ja mein Fehler. Da habe ich garnicht drauf geachtet, weil ich zum testen des Programms einfach immer "Ausführen" und "Ausführung abbrechen" benutzt habe
Natürlich ist der Erhalt der Daten nach dem Stoppen wichtig/sinnvoll. Ich muss es ja in meinem richtigen Programm ebenso nutzen.
So dann mach ich mich mal ran und versuche dieses "Beispiel" bei mir im Programm ein zu pflegen. Wird bestimmt lustig
Danke nochmal für das feedback