Diskussion zum Artikel "Die Arbeit mit ZIP-Archiven in MQL5 ohne Bibliotheken von Drittanbietern" - Seite 10
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
Und es gibt auch einen Link zu einer großen Datei, die sich nicht richtig entpacken lässt. Ich setze die Größe für sie auf 0, und dann versteht das aufrufende Programm durch diese 0, dass es einen Fehler gibt und es notwendig ist, ein anderes Archivierungsprogramm zu verwenden.
Vielleicht fällt Ihnen etwas Besseres anstelle von 0 ein.
https://quote-saver.bycsi.com/orderbook/linear/BTCUSDT/2025-05-09_BTCUSDT_ob500.data.zip
Ich habe die Dateien (entpackt) aussortiert, die ein bestimmtes Volumen überschreiten (für verschiedene Dateien von 1.7Gb bis 2136507776 - d.h. fast bis MAX_INT=2147483647, und Arrays können nicht mehr Elemente haben) und die bei der Ausgabe abgeschnitten werden. Es stellte sich heraus, dass alle von ihnen als fehlerhaft markiert wurden:
D.h. Ausgabewert = 0.
Aber CZIP kontrolliert das nicht. Ich habe die Größe des Ausgabe-Arrays auf Null gesetzt.
So kann ich in meinen Funktionen mit 100%iger Sicherheit feststellen, dass die Datei erfolgreich entpackt ist.
Vorher habe ich das korrekte Ende der JSON-Datei überprüft - aber diese Lösung ist nicht universell, und es scheint, dass mehrere Dateien von ~1000 versehentlich durch eine Zwischenzeile abgeschnitten wurden und als erfolgreich dekomprimiert akzeptiert wurden, aber die Daten in ihnen sind nicht vollständig.
Neue Version der Funktion:
Die neue istgelb hervorgehoben.
Vielleicht sollten die Entwickler auch das Array auf Null zurücksetzen, denn die abgeschnittenen Daten werden kaum von jemandem benötigt. Und sie können zu schwer erkennbaren Fehlern führen.
Und es gibt auch einen Link zu einer großen Datei, die sich nicht richtig entpacken lässt. Ich setze die Größe für sie auf 0, und dann versteht das aufrufende Programm durch diese 0, dass es einen Fehler gibt und es notwendig ist, einen anderen Archiver zu verwenden.
Vielleicht fällt Ihnen etwas Besseres anstelle von 0 ein.
https://quote-saver.bycsi.com/orderbook/linear/BTCUSDT/2025-05-09_BTCUSDT_ob500.data.zip