Fehler, Irrtümer, Fragen - Seite 2169

 
Sergey Dzyublik:

Wenn mein Beitrag mit dem Versprechen, alten Code zu finden, gelöscht wurde, bedeutet das, dass ich nichts versprochen habe...
Nur ein Scherz.


Sie wurde in jenen dunklen Tagen (vor über 3 Jahren) geschrieben, als die Tastaturfunktionalität noch klein und, gelinde gesagt, unscheinbar war.
Heutzutage gibt es jedoch, soweit ich mich erinnere, Standardfunktionen zur Verfolgung des Status eines bestimmten Schlüssels.
Der nachstehende Codeschnipsel wird daher wahrscheinlich nicht von Nutzen sein:

wo:
lparam - Code der gedrückten Taste im aktuellen Ereignis;
last_key_code - Code der gedrückten Taste im vorherigen Ereignis;
g_first_key - Code des ersten Schlüssels der Kombination;
g_second_key - Code des zweiten Schlüssels der Kombination;
time - Zeit des aktuellen Ereignisses des Tastendrucks;
last_time_code - Zeitpunkt des letzten Tastendrucks;
g_time_limit - maximale Zeit zwischen dem ersten und zweiten Tastendruck, die als Tastenkombination gilt;

mein Handler reagiert nicht auf andere Tasten, wenn die Strg-Taste gedrückt wird, wie konnte dies umgangen werden?

Es ist Zeit, hier zu gehen:https://www.mql5.com/ru/forum/231958

 
Ich weiß nicht, wohin mit diesem Problem, aber in letzter Zeit beim Öffnen oder Erstellen einer neuen Datei Metaeditor hängt fest, muss ich die Aufgabe zu entfernen und von vorne anfangen, kann jemand kommen und wissen, was zu tun ist?
Dateien:
err.png  132 kb
 
Andrii Djola:
Ich weiß nicht, wie ich mit diesem Problem umgehen soll, aber in letzter Zeit hängt sich Metaeditor beim Öffnen oder Erstellen einer neuen Datei fest, ich muss die Aufgabe entfernen und von vorne beginnen.

Guten Tag!

Welche Version des Terminals und welches Betriebssystem haben Sie installiert?

 
Evgeny Chernyshev:

Guten Tag!

Welche Version des Terminals und welches Betriebssystem haben Sie installiert?

Win 10 x64

MT5 Build 1755 vom 29.01.2018

 
Gibt es eine Möglichkeit, die ausgewählte Quelldatei separat zu kompilieren (wie bisher) und nicht das Projekt?
 

Trainiere ich oder soll es so sein ?????

   double t   = 280/60;
   string rez = DoubleToString(t,16);
   Print (rez); //  2018.03.18 01:20:57.117	Test (EURUSD_i,H1)	4.0000000000000000

и

   double t   = (double)280/60;
   string rez = DoubleToString(t,16);
   Print (rez); // 2018.03.18 01:21:51.881	Test (EURUSD_i,H1)	4.6666666666666670
 
Vladimir Pastushak:

Arbeite ich zu hart oder soll es so sein ?????

Dies ist korrekt (int dividiert durch int, int ergibt double):

 double t   = 280/60;
 
Sergey Dzyublik:

Das ist richtig (int geteilt durch int, int Ergebnis in double umgewandelt):

Ich danke Ihnen!

 
 

Verstehe ich das richtig, dass dieses Beispiel in der Hilfe nicht funktioniert?

//+------------------------------------------------------------------+ 
//| Expert initialization function                                   | 
//+------------------------------------------------------------------+ 
int OnInit() 
  { 
//--- включение сообщений о прокрутке колесика мышки 
   ChartSetInteger(0,CHART_EVENT_MOUSE_WHEEL,1); 
   return(INIT_SUCCEEDED); 
  } 
//+------------------------------------------------------------------+ 
//| ChartEvent function                                              | 
//+------------------------------------------------------------------+ 
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) 
  { 
   if(id==CHARTEVENT_MOUSE_WHEEL) 
     { 
      //--- разберем состояние кнопок и колесика мышки для этого события  
      int flg_keys = (int)(lparam>>32);          // флаг состояний клавиш Ctrl, Shift и кнопок мышки 
      int x_cursor = (int)(short)lparam;         // X-координата, в которой произошло событие колесика мышки 
      int y_cursor = (int)(short)(lparam>>16);   // Y-координата, в которой произошло событие колесика мышки 
      int delta    = (int)dparam;                // суммарное значение прокрутки колесика, срабатывает при достижении +120 или -120 
      //--- обработаем флаг  
      string str_keys=""; 
      if((flg_keys&0x0001)!=0) str_keys+="LMOUSE "; 
      if((flg_keys&0x0002)!=0) str_keys+="RMOUSE "; 
      if((flg_keys&0x0004)!=0) str_keys+="SHIFT "; 
      if((flg_keys&0x0008)!=0) str_keys+="CTRL "; 
      if((flg_keys&0x0010)!=0) str_keys+="MMOUSE "; 
      if((flg_keys&0x0020)!=0) str_keys+="X1MOUSE "; 
      if((flg_keys&0x0040)!=0) str_keys+="X2MOUSE "; 
       
      if(str_keys!="") 
         str_keys=", keys='"+StringSubstr(str_keys,0,StringLen(str_keys)-1) + "'"; 
      PrintFormat("%s: X=%d, Y=%d, delta=%d%s",EnumToString(CHARTEVENT_MOUSE_WHEEL),x_cursor,y_cursor,delta,str_keys); 
     } 
  } 

Außer Strg und Umschalttaste und Scrollen funktionieren keine anderen Tasten .....