Erreurs, bugs, questions - page 2730

 
fxsaber:

C'est la première fois que j'entends parler d'un renversement dans le Tester sur le symbole forex. Quel est le type de serveur ?

VTB

 
Veuillez expliquer pourquoi c'est le cas.
void OnChartEvent( const int id, const long &lparam, const double&, const string& ) 
{         
  if ((id == CHARTEVENT_KEYDOWN) && (lparam != 16) && (lparam != 17)) 
    Print(lparam);
}

Ce conseiller imprime les codes des touches enfoncées (sauf CTRL et SHIFT).


Si j'appuie sur NumLock_0, ça donne 96.

Si j'appuie sur CTRL+NumLock_0, cela donne 96.

SHIFT+NumLock_0 me donne 45. Pourquoi 45 ?


Avec d'autres touches (pas NumLock), je n'ai pas vu une telle différence.


ZZY Il semble qu'appuyer sur SHIFT désactive NumLock. Il est intéressant de noter que TERMINAL_KEYSTATE_SHIFT ne fonctionne pas lorsque SHIFT est enfoncé, si vous appuyez sur INSERT avec, par exemple.

 
fxsaber:

Si j'appuie sur SHIFT+NumLock_0, cela donne 45. Pourquoi 45 ?

Il est écrit sur la clé elle-même pourquoi elle est de 45. Si ce n'est pas le cas, cela signifie que le clavier est obsolète ou hors norme.

 
A100:

Il est écrit sur la clé elle-même pourquoi elle est de 45. Si ce n'est pas le cas, cela signifie que le clavier est obsolète ou non standardisé.

Il est écrit là au cas où NumLock ne serait pas actif.

 
fxsaber:

C'est écrit "au cas où NumLock n'est pas actif".

SHIFT+NumLock_0 -donne 45.

Qu'est-ce qui était attendu ?

 
A100:

SHIFT+NumLock_0 -donne 45.

Qu'est-ce qui était attendu ?

96, comme avec CTRL.

 
fxsaber:

96, comme avec CTRL.

Sur mon clavier numérique, le bouton 0 indique

0

ins

le code ins est exactement de 45

 
Igor Makanu:

ins code est exactement 45

La confusion vient du fait que lorsque NumLock est activé, l'appui sur 0 entraîne 96 et lorsque CTRL est appuyé. Mais avec SHIFT enfoncé, c'est 45.

 
Comment puis-je savoir par MQL que l'EX5 est protégé ?
protecting finished successfully                1       1
0 errors, 0 warnings, 19307 msec elapsed                1       1
 
fxsaber:

La confusion vient du fait que lorsque NumLock est activé, l'appui sur 0 entraîne 96 et lorsque CTRL est appuyé. Mais avec la touche SHIFT enfoncée, cela donne 45.

Eh bien, il y a un scan des codes du clavier

et il y a des codes clés

La première est reçue par le pilote du clavier et la seconde est reçue par le système d'exploitation qui "génère" toutes les lettres minuscules et majuscules, toutes les lettres russes et anglaises et les combinaisons de touches de service - dont nous discutons actuellement.

je n'ai pas regardé comment les codes clavier sont transmis à OnChartEvent (), mais sous Windows, il y aura généralement un message indiquant d'abord que la touche est enfoncée + le code de la touche, puis que la touche est relâchée + le code de la touche - et le crochet clavier devrait évaluer ce qui a été enfoncé précédemment et quelle touche est maintenant relâchée par l'utilisateur