Eine Aufgabe mit Tasten! - Seite 5

 
Dmitry Fedoseev:
Wo wird das alles gemacht? In der Funktion ontic by ticks oder in ontimer, oder wo? Wo rufen SieObjectGetInteger() auf, um zu erfahren, welche Taste gedrückt ist?


Merken Sie sich den vorherigen Zustand der Tasten, dann wissen Sie, welche Taste gerade gedrückt wurde und welche schon länger zurückliegt.

Und wo sparen Sie diese Zeit? In Variablen für jede Schaltfläche? Das ist keine Option.
 
Vladimir Pastushak:
Sie meinen mit Zeit? Und wo kann ich diese Zeit sparen? In Variablen für jede Schaltfläche? Dies ist keine Option.

Nein, nicht Zeit, sondern Zustand. Was ist keine Option? Variablen für die Schaltflächen erstellen? Warum nicht? Ohne zusätzliche Variablen (und vorzugsweise ein Array) ist das Problem nicht lösbar.

 
Dmitry Fedoseev:

Nein, nicht Zeit, sondern Zustand. Was ist keine Option? Variablen für die Schaltflächen erstellen? Warum nicht? Die Aufgabe kann nicht ohne zusätzliche Variablen (oder besser ein Array) gelöst werden.

Es kann ohne umständliche Konstruktionen gelöst werden... Ich habe bereits über den Zustand geschrieben. Sie sind wohl noch nicht auf dieses Problem gestoßen und können es nicht erkennen...

Versuchen Sie, 2-3 Knöpfe zu zeichnen und beim Drücken eines Knopfes den anderen zu deaktivieren ... Es scheint nur, dass alles einfach ist ...

 
Vladimir Pastushak:

Es kann ohne umständliche Konstruktion gelöst werden ... Ich habe bereits über die Bedingung geschrieben, Sie haben wahrscheinlich nicht ein ähnliches Problem konfrontiert und sehen nicht, was das Problem ist ...

Versuchen Sie, 2-3 Knöpfe zu zeichnen, und wenn Sie einen drücken, deaktivieren Sie den anderen ... Es scheint nur einfach ...

Nicht so sehr. Ich sehe das Problem hier überhaupt nicht. Es ist elementar, sogar 300 Tasten. Ich habe erklärt, wie man es macht. Erstellen Sie ein Array und speichern Sie die Zustände der Schaltflächen darin. Da der Zustand der Schaltfläche nicht mit dem Zustand im Array übereinstimmt, bedeutet dies, dass sie von einer Person gedrückt wurde.
 
Ich glaube auch, dass es Ihnen Spaß macht, durchzuhalten. Es ist, als hätte ich dieses unglaubliche Problem, das niemand verstehen kann, und als wäre ich deswegen einzigartig und großartig. Es ist ein 2x2=4 Problem.
 
Dmitry Fedoseev:
Das ist ein bisschen ein Problem. Ich sehe das Problem hier überhaupt nicht. Es ist elementar, sogar 300 Tasten. Ich habe erklärt, wie man es macht. Erstellen Sie ein Array und speichern Sie die Zustände der Schaltflächen darin. Da der Zustand der Schaltfläche nicht mit dem Zustand im Array übereinstimmt, bedeutet dies, dass sie von einer Person gedrückt wurde.

OK!

Array von 100 gedrückten Tasten, Taste Nummer 50 wird gedrückt und die anderen 99 werden in den gedrückten Zustand gebracht.

Der Benutzer drückt die Taste Nummer 53. Der Expert Advisor geht den Code von Anfang an durch, erreicht die Schaltfläche Nr. 50 und drückt die Schaltfläche Nr. 53 ... Was der Benutzer angeklickt hat, hatte also keine Wirkung ...

 

Vier Seiten, um eine einzige Frage zu stellen:

Wo wird das alles gemacht? In der Funktion ontic by tick oder im ontimer, oder wo? Wo rufen SieObjectGetInteger() auf, um zu erfahren, obeine Taste gedrückt ist?

 
Dmitry Fedoseev:
Ich glaube auch, dass es Ihnen Spaß macht, durchzuhalten. Es ist, als hätte ich dieses unglaubliche Problem, das niemand verstehen kann, und als wäre ich deswegen einzigartig und großartig. Es ist ein 2x2=4 Problem.
Wenn es notwendig zu sein scheint, getauft zu werden, suche ich nach einer Lösung für ein bestimmtes Problem, wenn es 2x2 ist, dann Ihre Version im Studio ...
 
Vladimir Pastushak:

OK!

Eine Reihe von 100 Tasten wird gedrückt, Taste Nummer 50 wird gedrückt und die restlichen 99 werden gedrückt.

Der Benutzer drückt die Taste Nummer 53. Der Berater geht den Code von Anfang an durch, erreicht die Schaltfläche Nummer 50 und drückt die Schaltfläche Nummer 53 ... Was der Benutzer angeklickt hat, hatte also keine Wirkung ...

Bei Erreichen von 50 erfolgt kein Push-Back, da diese Taste bereits im Array registriert ist. Die Taste 50 wird gedrückt und das Feld sagt gedrückt. Aber bei 53 wird die Taste gedrückt und das Feld sagt gedrückt.
 
Vladimir Pastushak:
Wenn es scheint zu kreuzen, ich bin für eine Lösung für ein bestimmtes Problem suchen, wenn es 2x2 dann Ihre Option im Studio ...
Es wurde bereits fünfmal im Studio aufgenommen.