記事"MQL5でのZIPアーカイブの扱い"についてのディスカッション

 

新しい記事 MQL5でのZIPアーカイブの扱い はパブリッシュされました:

MQL5は常に進化しています。この度新しい機能が追加されました。この革新により、DLLなしでZIPアーカイブを標準MQL5ツールで実行できるようになりました。この記事ではCZipクラスの使い方と、ZIPアーカイブの読み込み・生成・修正を例として扱います。

かつてこの記事の著者はCryptDecode関数を添付しました。特にZIP配列をデコンプレスする方法は興味深いものでした。この修正はMetaTrader5の開発者によって、標準WebRequest関数を使っていくつかのサーバーからデータを抽出する方法として紹介されました。しかし、ZIPファイルのフォーマットの特性により、直接的に行うことは不可能でした。

さらなる情報が実現には必要でした。: アーカイブを開く以前にアーカイブを圧縮する方法を知る必要があり、 - Adler-32 そしてそれはかつて不可能でした。しかし、 この問題に関して議論し た際、CryptDecode と CryptEncodeをオーバーロードするリクエストにぶつかりました。転送データを開く際に、Adler32ハッシュを無視することができる特別なフ ラグです。技術的な経験がないユーザーのために、この技術革新は、簡単に説明することができます:それはZIPアーカイブの全機能を有効にします。この記 事では、ZIPファイル形式、データストレージのその詳細を記述し、アーカイブを操作するのに便利なオブジェクト指向のCZipクラスを提供しています。

各ZIPアーカイブバイトの順序付けられたシーケンスを含むバイナリファイルです。言い 変えれば、ZIPアーカイブのすべてのファイルは、名前、特性、プロパティがあります。(ファイルの修正時間)したがって、圧縮されたデータに加えて、そ の属性、およびその他のサービス情報の名前を格納します。サービス情報は、非常に特異的な様式で配置され、かつ、規則的な構造をしています。たとえば、 アーカイブに2つのファイルが含まれている場合 (File#1File#2), それは以下のスキームを有します:

作者: Vasiliy Sokolov

理由: