Hallo zusammen,
ich hab' da mal eine Frage zur Endlosschleife. Ich beschäftige mich momentan mit der Fernsteuerung von Scilab.
Der Befehl:
lässt ein Scilab-Plotfenster erscheinen.
mit ScilabHaveAGraph() bekommt man heraus, ob ein Plotfenster geöffnet ist oder nicht. Es wird ein Integer zurückgegeben. Hier 1.
http://help.scilab.org/docs/5.5.0/en_US ... Graph.html
Mit einer while-Schleife wird das Plotfenster offen gehalten. while(ScilabHaveAGraph()) Ich komme aber aus der while-Schleife nicht heraus, wenn ich das Plotfenster
mit der Maus schließe. ScilabHaveAGraph() müsste dann eigentlich von 1 auf 0 gehen, die Bedingung für die while-Schleife wäre nunmehr nicht mehr WAHR und somit sollte doch der Abbruch der Schleife gegeben sein.
Wieso ist das nicht so?
Wenn man Schleifen bastelt, bei denen aus dem Schleifen-Rumpf irgendwelche Zahlen oder Buchstaben eingelesen werden, dann kann man einen Abbuch generieren. Aber Selbst wenn ich im Schleifenrumpf die Abfrage nach ScilabHaveAGraph() mache, dann fliege ich nicht aus der Schleife raus, wenn ich das Fenster schließe. Irgendwie bekommt die while-Schleife nicht mit, dass meine Integer-Variable Graph eigentlich 0 sein müsste.
Code: Alles auswählen
SendScilabJob("plot([1,2,3,4,5],[1,4,9,16,25]);");
do{
Graph=ScilabHaveAGraph();
}
while (Graph);
Was habe ich für einen Denkfehler?
Viele Grüße und vielen Dank