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
Kopieren des Arrays "in sich selbst", beginnend an der Position neben dem zu löschenden Array und schreibend ab dem zu löschenden Array. Und dann die Größe anpassen, wie Grigori.S.B vorgeschlagen hat
Interessanterweise, wenn ich Sie richtig verstanden habe, müssen Sie diese Funktion verwenden?
Guten Morgen, ich danke Ihnen für Ihre Antwort.
Ich schätze, Sie haben es nicht bemerkt, Sie können oben nachsehen, alle Fragen bezogen sich auf MQL5.
Ich verstehe, dass der Unterschied manchmal nicht entscheidend ist, aber trotzdem. Die von Ihnen zitierte Funktion ändert die Größe des Arrays und schneidet möglicherweise zusätzliche Elemente ab, wenn die Größe verringert wird.
Das ist nicht notwendig. Sie müssen ein Element entfernen, indem Sie es nach seinem Wert suchen. Ich habe diese Funktion auch ausprobiert, ich habe darüber in #23 geschrieben. Trotzdem vielen Dank.
Ich habe auch nicht darauf geachtet. mql5 hat die Funktion ArrayRemove und keine Probleme.
In diesem Fall istArrayRemove besser geeignet, es gibt ein Beispiel in der Anleitung, es funktioniert genau wie folgt
Das Problem ist nur, dass diese Beispiele und Funktionen für eindimensionale Arrays konzipiert sind und nicht mit zweidimensionalen Arrays arbeiten wollen.
Ich glaube, ich übersehe etwas sehr Wichtiges und Grundlegendes. Aber was ist das?
Ich sage Ihnen, ich habe das Nachschlagewerk bereits verloren.
In diesem Fall istArrayRemove besser geeignet, es gibt ein Beispiel in der Anleitung, es funktioniert genau wie folgt
Das Problem ist nur, dass diese Beispiele und Funktionen für eindimensionale Arrays konzipiert sind und nicht mit zweidimensionalen Arrays arbeiten wollen.
Ich glaube, ich übersehe etwas sehr Wichtiges und Grundlegendes. Aber was ist das?
Ich sage Ihnen, ich habe schon den Überblick verloren.
Bei einem zweidimensionalen Array müssen Sie die Zeilennummer für die Löschung mit 2 multiplizieren. Für ein 3-dimensionales Feld multiplizieren Sie mit 3...
Ich verstehe das nicht ganz, könnten Sie das bitte näher erläutern, oder besser noch, zeigen Sie mir die Bearbeitung eines Teils meines Codes, ich habe ihn oben gepostet. Wenn es unbequem ist, werde ich das schon irgendwie hinbekommen.
Nein, die Reihenfolge ist nicht wichtig, Sie müssen nur einen bekannten (durch Wissen gefundenen, Index ist bekannt) Eintrag löschen. Es kann überall im Array sein (am Anfang, in der Mitte, am Ende).ArrayRemove ist großartig, alles wäre in Ordnung, aber wie wendet man diese Funktion auf ein zweidimensionales Array an? das Handbuch schweigt dazu.
Nein, die Reihenfolge ist nicht wichtig, wir müssen nur einen bekannten (durch Erkennung gefundenen, Index ist bekannt) Datensatz löschen. Es kann überall im Array sein (am Anfang, in der Mitte, am Ende).ArrayRemove ist großartig, alles wäre in Ordnung, aber wie wendet man diese Funktion auf ein zweidimensionales Array an? Es gibt nichts im Handbuch darüber.
In diesem Fall istArrayRemove besser geeignet, es gibt ein Beispiel in der Anleitung, es funktioniert genau auf die gleiche Weise
Das einzige Problem ist, dass diese Beispiele und Funktionen für eindimensionale Arrays konzipiert sind und nicht mit zweidimensionalen Arrays arbeiten wollen.
Ich glaube, ich übersehe etwas sehr Wichtiges und Grundlegendes. Aber was ist das?
Ich sage Ihnen, ich habe das Nachschlagewerk verloren.
Das ist Blödsinn. Ich habe diese Funktion genutzt, ohne das Handbuch zu lesen. Im Debugger sah ich, wie das Element gelöscht wurde und die Array-Größe sofort reduziert wurde. Ich habe es überprüft, es funktioniert sogar mit einem Array von Strukturen ohne Probleme. Jetzt kann ich nicht mit dem Code arbeiten, sondern nur mit Worten: Ich möchte zum Beispiel den 3. Es stellt sich heraus, dass der fünfte und sechste Wert entfernt werden müssen. Beim Kopieren ordnet die Funktion jedoch alle Werte in einem eindimensionalen Array an, und es stellt sich heraus, dass das dritte Paar mit Index 5 beginnt. Dies wird in der Regel nach einigen Versuchen deutlich.
Wie für ArrayRemove, wenn ich kann, werde ich es auf 2-4 dimensionalen Arrays testen. Mangels Bedarf habe ich es nie getestet und hatte nicht den Verdacht, dass es nicht funktioniert.
Hinzugefügt:
Geprüft. Vergessen Sie nicht, dass Sie die Größe eines statischen Arrays nicht ändern können. Aus diesem Grund bleibt im Beispiel aus der Dokumentation die Größe des Arrays gleich und die letzten beiden Strings werden wiederholt. Wenn Sie Zeilen aus einem dynamischen Array löschen, ändert sich die Größe ohne Probleme.
Das Handbuch sollte bis zu den Löchern:)))) im Monitor geschrubbt werden.
Hier ist das 3-dimensionale Array und das Ergebnis:
Das ist Blödsinn. Ich habe diese Funktion genutzt, ohne das Handbuch zu lesen. Im Debugger habe ich gesehen, wie ein Element gelöscht und die Größe des Arrays sofort reduziert wird. Geprüft, auch auf ein Array von Strukturen funktioniert ohne Probleme. Jetzt kann ich nicht mit dem Code arbeiten, sondern nur mit Worten: Ich möchte zum Beispiel den 3. Es stellt sich heraus, dass der fünfte und sechste Wert entfernt werden müssen. Beim Kopieren ordnet die Funktion jedoch alle Werte in einem eindimensionalen Array an und es stellt sich heraus, dass das dritte Paar mit Index 5 beginnt. Dies wird in der Regel nach einigen Versuchen deutlich.
Wie für ArrayRemove, wenn ich kann, werde ich es auf 2-4 dimensionalen Arrays testen. Mangels Bedarf habe ich es nie getestet und hatte nicht den Verdacht, dass es nicht funktioniert.
Hinzugefügt:
Geprüft. Vergessen Sie nicht, dass Sie die Größe eines statischen Arrays nicht ändern können. Deshalb bleibt in dem Beispiel aus der Dokumentation die Größe des Arrays gleich und die letzten beiden Strings werden wiederholt. Wenn Sie Zeilen aus einem dynamischen Array löschen, ändert sich die Größe ohne Probleme.
Das Verzeichnis muss in die Löcher:)))) im Monitor geschrubbt werden.
Hier habe ich eine 3-dimensionale Anordnung und das Ergebnis erstellt:
Ihr Beispiel ist sehr langsam, was sich bei einer großen Anzahl von Werten bemerkbar machen wird.
Mit einer Menge was? Array-Elemente, die nicht einmal bei jedem Tick gefüllt werden? Wie wird es sich bemerkbar machen?