Ein sehr seltsamer Eintrag. Warum wird die Größe des Post-Arrays auf so seltsame Weise angegeben? Die FunktionStringToCharArray setzt die richtige Größe für das dynamische Array selbst.ArrayResize scheint hier überflüssig zu sein.
Die Klemme 0 wird ebenfalls in das Ziel-Array kopiert, und die Größe des dynamischen Arrays kann nach Bedarf erhöht werden, um die Größe der Zeichenkette anzupassen.
Das Terminal 0 wird ebenfalls in das Empfänger-Array kopiert, und die Größe des dynamischen Arrays kann bei Bedarf an die Größe der Zeichenkette angepasst werden.
Ich bin sicherlich kein Programmier-Pedant, aber ändern Sie die Größe des Arrays durch wiederholtes Aufrufen der Funktion, die Zeichenfolge-zu-Zeichen-Konvertierung durchführt?)))
Das könnten Sie tun:
int q = StringToCharArray(jsonbody,post,0,-1,CP_UTF8);
ArrayResize(post, q - 1);
Andernfalls rufen wir die Umwandlung derselben Zeichenkette zweimal auf. Außerdem hebt das zweite Mal das erste Mal auf.
Beachten Sie auch das Wort "oder" in der Dokumentation:
[in] Anzahl der zu kopierenden Array-Elemente. Bestimmt die Länge der Ergebniszeichenkette. Die Voreinstellung ist -1, was bedeutet, dass bis zum Ende des Arrays kopiert wird oder die Klemme 0 getroffen wird. Die Klemme 0 wird auch in das Zielarray kopiert und die Größe des dynamischen Arrays kann bei Bedarf erhöht werden, um der Stringgröße zu entsprechen. Wenn die Größe des dynamischen Arrays größer ist als die Länge der Zeichenkette, wird die Größe des Arrays nicht verringert.
Wir wissen nicht, ob diese Terminalnull vorhanden ist oder nicht, aber wir reduzieren die Größe des Arrays post, so dass wir die schließende Klammer verlieren können, wenn keine Terminalnull vorhanden ist.
Es lohnt sich, die Integrität der in Zeichen umgewandelten Zeichenfolge durch Rückumwandlung zu überprüfen.
Jetzt schlage ich vor, STT (Speach to Text) zu beherrschen, um eine Sprachsteuerung für den EA zu erstellen. Das Schema ist dasselbe: Wir stellen eine Verbindung zu einem Cloud-Dienst (z. B. Google) her und verwenden WebRequest, um einen "Live"-Textstrom aus der konvertierten Sprache anzufordern, den wir dann analysieren und an die Funktionalität senden. Das Ergebnis ist sehr innovativ.
ForecastOscilator_HTF The ForecastOscilator indicator with the timeframe selection option available in the input parameters. Flat_HTF The Flat indicator with the timeframe selection option available in the input parameters. FX5_SelfAdjustingRSI_HTF The...
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Ich will damit sagen, dass es keine Rolle spielt.
Ihr Code funktioniert (fast) für Russisch).
Die Aufmerksamkeitsspanne ist anscheinend eingeschlafen ))
Bitte sehr!
Übrigens, ich muss TC sagen, dass dieser:
Ein sehr seltsamer Eintrag. Warum wird die Größe des Post-Arrays auf so seltsame Weise angegeben? Die FunktionStringToCharArray setzt die richtige Größe für das dynamische Array selbst.ArrayResize scheint hier überflüssig zu sein.
Das ist genau das, was ich verstehe.
MQL5 Referenz / Datenumwandlung / StringToCharArray
Die Klemme 0 wird ebenfalls in das Ziel-Array kopiert, und die Größe des dynamischen Arrays kann nach Bedarf erhöht werden, um die Größe der Zeichenkette anzupassen.
das ist genau das, was klar ist.
MQL5 Referenz / Datenumwandlung / StringToCharArray
Das Terminal 0 wird ebenfalls in das Empfänger-Array kopiert, und die Größe des dynamischen Arrays kann bei Bedarf an die Größe der Zeichenkette angepasst werden.
Ich bin sicherlich kein Programmier-Pedant, aber ändern Sie die Größe des Arrays durch wiederholtes Aufrufen der Funktion, die Zeichenfolge-zu-Zeichen-Konvertierung durchführt?)))
Das könnten Sie tun:
Andernfalls rufen wir die Umwandlung derselben Zeichenkette zweimal auf. Außerdem hebt das zweite Mal das erste Mal auf.
Beachten Sie auch das Wort "oder" in der Dokumentation:
[in] Anzahl der zu kopierenden Array-Elemente. Bestimmt die Länge der Ergebniszeichenkette. Die Voreinstellung ist -1, was bedeutet, dass bis zum Ende des Arrays kopiert wird oder die Klemme 0 getroffen wird. Die Klemme 0 wird auch in das Zielarray kopiert und die Größe des dynamischen Arrays kann bei Bedarf erhöht werden, um der Stringgröße zu entsprechen. Wenn die Größe des dynamischen Arrays größer ist als die Länge der Zeichenkette, wird die Größe des Arrays nicht verringert.
Wir wissen nicht, ob diese Terminalnull vorhanden ist oder nicht, aber wir reduzieren die Größe des Arrays post, so dass wir die schließende Klammer verlieren können, wenn keine Terminalnull vorhanden ist.
Es lohnt sich, die Integrität der in Zeichen umgewandelten Zeichenfolge durch Rückumwandlung zu überprüfen.
Eins, zwei, drei, vier, fünf, der Hase ging spazieren! ))))
Ja! Es funktioniert!!! cool
Wir brauchen einfach mehr davonJasop.mqh