Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 181

 
Bitte sagen Sie mir, ob Sie die Breite des Etiketts in Pixeln angeben können. Die Länge des Textes erlaubt es nicht, dass die Buchstaben unterschiedlich breit sind.
 
Money_Maker:
Sagen Sie mir bitte, können Sie die Breite des Labels in Pixeln herausfinden? die Länge des Textes funktioniert nicht Buchstaben haben unterschiedliche Breiten

Vielleicht... Wir müssen es hier herausfinden.

  • Breite/Höhe- Objekte haben eine Breite und eine Höhe. Wenn "schreibgeschützt" angegeben ist, bedeutet dies, dass die Werte für Breite und Höhe erst berechnet werden, nachdem das Objekt im Diagramm gezeichnet wurde;


und dann

OBJPROP_XSIZE

Breite eines Objekts entlang der X-Achse in Pixeln. Angegeben für OBJ_LABEL (schreibgeschützt), OBJ_BUTTON, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL.

int

OBJPROP_YSIZE

Höhe eines Objekts entlang der Y-Achse in Pixeln. Angegeben für OBJ_LABEL (schreibgeschützt), OBJ_BUTTON, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL.

int

Способы привязки объектов - Константы объектов - Стандартные константы, перечисления и структуры - Справочник MQL4
Способы привязки объектов - Константы объектов - Стандартные константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Способы привязки объектов - Константы объектов - Стандартные константы, перечисления и структуры - Справочник MQL4
 
Alexey Viktorov:
Vielleicht... Wir müssen das hier klären.

es stellte sich als einfacher heraus als geplant) ObjectGetInteger(0, "name",OBJPROP_YSIZE)

Danke)
 
string Label_name[2] = 
{ 
"jnfvin", 
"12358"
};

Eine weitere Frage im globalen Bereich ich deklarieren und initialisieren solche Arrays, ist es möglich, dies in einer separaten Funktion zu tun, aber für es in einer anderen Funktion sichtbar sein, ich weiß, dass Sie nicht ein Array aus einer Funktion zurückgeben können, gibt es eine andere Möglichkeit ...?

 
Money_Maker:

Eine weitere Frage im globalen Bereich ich deklarieren und initialisieren solche Arrays, kann es in einer separaten Funktion getan werden, aber dass es in einer anderen Funktion sichtbar sein würde, ich weiß, dass das Array nicht von der Funktion zurückgegeben werden kann, vielleicht gibt es einen anderen Weg ...?

Sie können ein Array per Referenz an eine Funktion übergeben. Dann werden alle Änderungen in der Funktion mit der Array-Referenz vorgenommen, die übergeben wurde.

void OnTick()
 {
  string Label_name[2] = 
  {
   "jnfvin",
   "12358"
  };
   f1(Label_name);
    Print(Label_name[0], "  ", Label_name[1]);
 }

void f1(string & l[])
 {
  l[0] = "Новая строка";
   l[1] = "85321";
 }
 
Alexey Viktorov:

Sie können ein Array per Referenz an eine Funktion übergeben. Dann werden alle Änderungen in der Funktion mit dem referenzierten Array durchgeführt.


Nicht ganz so, andersherum wäre es(
Idealerweise erhalten Sie ein Array von einer Funktion, oder deklarieren und initialisieren Sie es dort, aber dass es global sichtbar wäre, oder ein Zeiger auf ein Array...
in diese Richtung denken, um OnInit nicht zu belasten
 
Money_Maker:

nicht wirklich, andersherum wäre es(
Idealerweise erhalten Sie ein Array von einer Funktion oder deklarieren und initialisieren es dort, aber dass es global sichtbar wäre, oder ein Zeiger auf ein Array...
Ich denke, in diese Richtung, um nicht zu laden OnInit
Aber warum eine solche Perversion?
 
Money_Maker: aus einer Funktion, um ein Array zu erhalten oder zu deklarieren und es dort zu initialisieren, sondern um es global sichtbar zu machen, oder einen Zeiger auf ein Array...
Ich denke in diese Richtung, um das Laden von OnInit zu vermeiden
Sie deklarieren ein globales Array ohne Angabe der Größe. Ihre Funktion setzt ihre Größe mit ArrayResize. Und es ist global sichtbar, und OnInit ist freigegeben...
 
Artyom Trishkin:
Da das Objekt nicht mehr benötigt wird, warum sollte es in die Liste der Objekte aufgenommen werden? Wenn Sie es löschen, bleibt die Liste der gewünschten Objekte in ihrer Reihenfolge erhalten.

Gibt es Beispiele dafür, wie man dies tun kann?
 
Evgenii:

Gibt es Beispiele dafür, wie man dies tun kann?
Und Sie haben nicht ein einziges Stück Ihres Codes gezeigt - es ist nicht klar, warum Sie ein Beispiel zeigen sollten.