Fehler, Irrtümer, Fragen - Seite 715

 
Yedelkin:

Würden diese Konstanten nicht funktionieren?

Dort ist ein weiterer Wert hinzugefügt worden:

Kennung

Beschreibung

Art der Immobilie

MQL5_PROGRAMM_TYPE

mql5programm_type

ENUM_PROGRAMM_TYPE

MQL5_DLLS_ALLOWED

Erlaubnis zur Verwendung der DLL für dasaktuell laufende Programm

bool

MQL5_TRADE_ALLOWED

Erlaubniszum Handel für dieses laufende Programm

bool

MQL5_DEBUGGING

Zeichen eines laufenden Programms, das im Debug-Modus arbeitet

bool

MQL5_TESTING

Zeichen der Ausführung eines Programms im Tester

bool

MQL5_OPTIMIERUNG

Zeichen der Ausführung eines Programms während der Optimierung

bool

MQL5_VISUAL_MODE

Zeichen der Ausführung eines Programms im visuellen Testmodus

bool

MQL5_LICENSE_TYPE

Ein Lizenztyp für ein EX5-Modul. Die Lizenz bezieht sich auf das EX5-Modul, von dem eine Anfrage mit Mql5InfoInteger(MQL5_LICENSE_TYPE)gestellt wird.

ENUM_LICENSE_TYPE

 
Rosh:

Dort ist ein weiterer Wert hinzugefügt worden:

Ja, ich habe das Januar-Handbuch.
 
Yedelkin:

Würden diese Konstanten funktionieren?

Ja, das ist es! Danke schön!
 
mql5:
Ja, Sie haben recht, es ist ein Compilerfehler, wir werden ihn beheben.

Wow! // Ich dachte schon, der Compiler würde einen Fehler auslösen.

Danke, wenn diese Syntax funktioniert, wäre das gut.

--

Ich danke Ihnen allen vielmals. Die Sprache steht in voller Blüte. Die kleinen Fehler und Leckerbissen sind meiner Meinung nach nur vorübergehend.

 
void der()
{
  int app;
  for(int i=0;i<100;i++)
  {app++;}
  Print("app=",app);
}
void OnInit()
{
EventKillTimer();
EventSetTimer(1000);
}
void OnTick()
{
}
void OnTimer()
{
der();
}

Auf dem Weg nach draußen

2011.07.28 19:53:20 app=2439.

2011.07.28 20:10:00 app=2139.

2011.07.28 20:26:40 app=2239.

int app; - sollte nicht automatisch 0 zugewiesen werden?

 
sion:

int app; - sollte es nicht automatisch 0 zuweisen?

Nein. Sie müssen es selbst initialisieren.
 
joo:
Nein. Sie müssen es selbst initialisieren.
Es ist schwer für Anfänger, wenn unbekannte Zahlen auftauchen. Aber es macht Sinn, wenn die App in globalen Variablen kein Problem ist.
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
sion:
Es ist schwer für Anfänger, wenn unbekannte Ziffern auftauchen) Aber es hat einen Sinn, wenn man die App in globalen Variablen ausgeben will, scheint es kein Problem zu sein.

Auch globale Variablen müssen nicht automatisch initialisiert werden. Wahrscheinlich haben Sie einfach nur "Glück". Glücklich in Anführungszeichen, denn ein solches Glück ist mit einem späteren Einsturz des Daches durch linke Behauptungen gegenüber den Entwicklern verbunden, wie z. B. "Gestern hat es funktioniert und heute nicht mehr. Ihre Plattform ist instabil...!".

;-)

Das hat einen Sinn - es braucht Zeit für die Initialisierung.

Wenn der Benutzer sich um die Zeit kümmert und es keine Notwendigkeit gibt, während der Deklaration zu initialisieren (der erforderliche Wert wird sowieso zum richtigen Zeitpunkt zugewiesen), dann kann ein super-sorgender Compiler Zeit für die Initialisierung umsonst verschwenden. Deshalb ist es eine gängige Praxis in allen ernsthaften Sprachen - die Initialisierung ist Sache des Programmierers, was gut und richtig ist. Gewöhnen Sie sich einfach daran.

Garantierte Nullen gibt es nur in den Köpfen von Anfängern :) // Ich mag sinnvolle Zweideutigkeiten.

;)

 
Warum wird bei Print(1/2); 0 geschrieben? Wird auf eine ganze Zahl aufgerundet?
 
fellow:
Warum wird bei Print(1/2); 0 geschrieben?

Weil!

Sie sollten dies tun, wenn Sie echte Zahlen hassen:

Print((double)1/(double)2);