Eine Aufgabe mit Tasten! - Seite 8 12345678 Neuer Kommentar [Gelöscht] 2015.09.24 12:51 #71 Auch eine Option. Nur muss man sie nicht bei jedem Tick erstellen. Rorschach 2015.09.24 15:33 #72 static string name=NULL; for(int i=0;i<10;i++) { bool But=ObjectGetInteger(0,(string)i,OBJPROP_STATE); if(but && name!=(string)i) { ObjectSetInteger(0,name,OBJPROP_STATE,false); name=(string)i; } } Wenn die Namen der Schaltflächen keine Nummern sind, dann fügen Sie die Namen in ein Array ein. Vladimir Pastushak 2015.09.28 17:07 #73 Rorschach: Wenn die Namen der Schaltflächen keine Nummern sind, werden die Namen in einem Array gespeichert. Die vorherige Taste bleibt bis zum nächsten Zyklusaufruf gedrückt ... Vladimir Pastushak 2015.09.28 17:14 #74 Ich weiß nicht, ob das der richtige Ansatz ist, aber er löst das Problem. static string name=NULL; for(int i=0;i<10;i++) { bool But=ObjectGetInteger(0,(string)i,OBJPROP_STATE); if(but && name!=(string)i) { ObjectSetInteger(0,name,OBJPROP_STATE,false); name=(string)i; i=0; } } Rorschach 2015.09.30 22:07 #75 static string name=NULL; for(int i=0;i<10;i++) { bool But=ObjectGetInteger(0,(string)i,OBJPROP_STATE); if(But && name!=(string)i) { ObjectSetInteger(0,name,OBJPROP_STATE,false); name=(string)i; ChartRedraw(); break; } } Vielleicht, ich habe es nicht ausprobiert. Vladimir Pastushak 2015.09.30 22:15 #76 Rorschach: Vielleicht, ich habe es nicht ausprobiert.Ich habe ein wenig anders entschiedenstatic string name=NULL; for(int i=0;i<10;i++) { bool But=ObjectGetInteger(0,(string)i,OBJPROP_STATE); if(but && name!=(string)i) { ObjectSetInteger(0,name,OBJPROP_STATE,false); name=(string)i; i=0; } }Ich habe Ihre letzte Variante nicht überprüft, aber ich vermute, dass, wenn die Taste mit dem Index 10 gedrückt wird und dann der Index 9 gedrückt wird, dann wird der Index 10 nicht gedrückt, weil die Schleife bei Index 9 unterbrochen wird... Fehler, Irrtümer, Fragen Diskussion zum Artikel "Erzeugung GLUCK?! Mausklick-Ereignisbehandlung!!! 12345678 Neuer Kommentar
Wenn die Namen der Schaltflächen keine Nummern sind, werden die Namen in einem Array gespeichert.
Ich weiß nicht, ob das der richtige Ansatz ist, aber er löst das Problem.
Vielleicht, ich habe es nicht ausprobiert.
Ich habe ein wenig anders entschieden
Ich habe Ihre letzte Variante nicht überprüft, aber ich vermute, dass, wenn die Taste mit dem Index 10 gedrückt wird und dann der Index 9 gedrückt wird, dann wird der Index 10 nicht gedrückt, weil die Schleife bei Index 9 unterbrochen wird...