Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 183
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Liebe Kolleginnen und Kollegen, bitte helfen Sie mir, ein Makro zu erstellen, wenn das möglich ist.
Ich muss ein zweidimensionales Array dynamisch deklarieren. Und auch die zweite Dimension muss verändert werden. Das ist in etwa diese Schleife:
Natürlich wird sich der Compiler dagegen sträuben:
Ich würde gerne ein Makro wie das folgende sehen:
Statt einer Linie:
Ich danke Ihnen.
Ich verwende ein Strukturarray und alles funktioniert, einschließlich des Kopierens
https://www.mql5.com/ru/forum/85652/page46#comment_15990662
Das einzige Problem ist, dass man die Namen der Felder schreiben muss, wenn man auf sie zugreift, aber damit habe ich kein Problem.
Wenn es dringend notwendig ist, statische Variablen/Arrays (einschließlich const) in EAs zurückzusetzen, reicht eine Neuanmeldung aus.
Wenn Sie ALLE statischen Variablen zurücksetzen müssen (einschließlich derjenigen, die Sie selbst als Konstanten deklariert haben), müssen Sie die Projektarchitektur ändern.) IMHO natürlich.
Können Sie mir sagen, was ich anstelle von ???? angeben muss, damit es funktioniert? Dankeschön
Sie müssen der Funktion den Namen des Klassenmitglieds mitteilen, um das Array zu überprüfen
Können Sie mir sagen, was ich anstelle von ???? angeben muss, damit es funktioniert? Dankeschön
Der Funktion muss irgendwie der Name des Klassenmitglieds mitgeteilt werden, anhand dessen das Array überprüft werden soll
Diese Option:
Eine solche Option:
Danke, das ist eine interessante Option. Allerdings nicht ganz das, was ich suche. Wenn ich den Code richtig verstanden habe, übergibst du eine Sortierfunktion an die rechte Seite, aber du schreibst bereits die Strukturelemente hinein. Das heißt, wenn ich nach einem anderen Mitglied oder einem anderen Objekt mit einem anderen Mitgliedsnamen sortieren muss, muss ich für jeden Fall eine eigene Funktion erstellen. Leider ist sie nicht sehr optimistisch. Aber es könnte sein), dass ich meine Suche fortsetze.
In js gibt es etwas Ähnliches, aber die Funktion mit Mitgliedern wird innerhalb der Sortierzeile geschrieben und sieht eher wie eine einfache Parameterzuweisung aus, was nicht zu einer Unordnung im Code führt. Ich bin auf der Suche nach einer universellen Variante, aber es fehlt mir an Wissen. Vielleicht geschieht das über eine Art von Zeigern oder Mapping, bitte helfen Sie mir.
Können Sie mir sagen, was ich anstelle von ???? angeben muss, damit es funktioniert? Dankeschön
Sie müssen der Funktion den Namen des Klassenmitglieds mitteilen, das für die Überprüfung des Arrays verwendet werden soll.
Eine universelle Lösung wurde im Forum gepostet. Sie werden danach suchen müssen.
Im Forum wurde eine Einheitslösung gepostet. Sie müssen es nachschlagen.
Können Sie sich wenigstens an den Abschnitt erinnern? Es ist wie die Suche nach einer Nadel im Heuhaufen.)
Ich weiß nur noch, dass es zwei Monate her ist.
Danke, das ist eine interessante Option. Allerdings nicht ganz das, was ich suche. Wenn ich den Code richtig verstanden habe, übergeben Sie eine Sortierfunktion an die rechte Seite, aber Sie schreiben darin bereits die Strukturelemente vor. Das heißt, wenn ich nach einem anderen Mitglied oder einem anderen Objekt mit einem anderen Mitgliedsnamen sortieren muss, muss ich für jeden Fall eine eigene Funktion erstellen. Leider ist sie nicht sehr optimistisch. Aber es könnte sein), dass ich meine Suche fortsetze.
In js gibt es etwas Ähnliches, aber die Funktion mit Mitgliedern wird innerhalb der Sortierzeile geschrieben und sieht eher wie eine einfache Parameterzuweisung aus, was nicht zu einer Unordnung im Code führt. Ich bin auf der Suche nach einer universellen Variante, aber mir fehlen die Kenntnisse. Vielleicht ist dies durch eine Art von Zeigern oder Mapping getan, bitte helfen Sie.
Eigentlich ist das optimal. Außerdem können Sie damit komplexere Sortierbedingungen festlegen.
Zum Beispiel:
Und andere Lösungen gibt es sowieso nicht.