Diskussion zum Artikel "Die Arbeit mit ZIP-Archiven in MQL5 ohne Bibliotheken von Drittanbietern" - Seite 10

 

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

 
Forester #:

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

 
Ich danke Ihnen. Ich habe die Datei hochgeladen, ich werde sie mir ansehen.