Eine Aufgabe mit Tasten! - Seite 3

 
Vladimir Pastushak:

Nein, so einfach ist das nicht. Die Schaltfläche, deren Code oben steht, wird immer die Schaltflächen drücken, deren Code unten steht...

Das heißt, wenn wir die Taste drücken, deren Code oben steht, und dann die Taste drücken, deren Code unten steht, wird der Zustand der ersten Taste immer die letzte drücken ...

Es ist wirklich viel einfacher. Ich sehe da überhaupt keine Probleme oder Schwierigkeiten.

Was sind die Schaltflächen oben?

 
Vladimir Pastushak:
Wenn Sie OnChartEvent() verwenden, können Sie die gedrückten Schaltflächen anhand des Schaltflächennamens bestimmen und dann wie oben vorgeschlagen vorgehen und Schaltflächen mit anderen Namen drücken, aber das funktioniert nicht im Testprogramm...
Was meinen Sie mit Name? Wie wäre es damit? Es ist kein Anstoß, es ist ein Ereignis. Und der Zustand wird durchObjectGetInteger() definiert.
 
Dmitry Fedoseev:
Wie schaffen Sie es,ObjectGetInteger() aufzurufen, um zu wissen, ob die Taste gedrückt ist?

Wie diese

bool tmp=false;

ObjectGetInteger(0, "name",OBJPROP_STATE,0,tmp);
 
Dmitry Fedoseev:
Was ist das für ein Name? Wie wäre es damit? Es ist kein Klick, es ist ein Ereignis. Und der Status wird durchObjectGetInteger() bestimmt.
Soll das ein Scherz sein oder meinen Sie das ernst?
 
Sie haben dort Ihre eigene Schleife. Sie benötigen also ein Array von Schaltflächenzuständen. Wir gehen das alles ständig durch, und wenn der Zustand der Schaltfläche nicht mit dem Zustand aus dem Array übereinstimmt, ist das unser Ereignis. Jetzt tun wir, was wir wollen, wir haben beide Schaltflächen und Array.
 
Vladimir Pastushak:
Wollen Sie mich auf den Arm nehmen oder ist das Ihr Ernst?
Nein, ich habe wirklich Angst.
 
Dmitry Fedoseev:
Sie haben dort Ihren eigenen Zyklus. Sie benötigen also ein Array von Schaltflächenzuständen. Wir gehen das alles ständig durch, und wenn der Zustand der Schaltfläche nicht mit dem Zustand aus dem Array übereinstimmt, ist das unser Ereignis. Jetzt tun wir, was wir wollen, wir haben beide Schaltflächen und das Array.
Es gibt keine Schleifen, wir haben nur 10 Knöpfe gezeichnet. Keine Schleifen, keine Arrays, keine Strukturen... Alles im prozeduralen Stil...
 
Dmitry Fedoseev:
Nein, ich bin sogar entsetzt.
Wovon?
 
Vladimir Pastushak:
Es gibt keine Schleifen, nur 10 gezeichnete Tasten... Keine Schleifen, keine Arrays, keine Strukturen... Es ist alles verfahrenstechnisch...
Ja? Aber irgendwo rufen SieObjectGetInteger() auf, um herauszufinden, ob die Taste gedrückt ist?
 
Dmitry Fedoseev:
Wie ist das mit dem Namen? Wie steht es damit? Es ist kein Klick, es ist ein Ereignis. Und der Zustand wird überObjectGetInteger() definiert.

Mausklick-Ereignis auf grafisches Objekt

CHARTEVENT_OBJECT_CLICK

X-Koordinate

Y-Koordinate

Name des grafischen Objekts, in dem das Ereignis aufgetreten ist