データをストリームにアウトパスするDLLがあります。しかし、それは私が望まない接尾辞と接頭辞を追加します。MemoryStreamを作成し、DLLにデータを出力させてからトリミングすることはできますが、数GBのデータが存在する可能性があるため、ファイル(FileStream)に直接保存するだけです。最善の解決策は、独自のStreamクラスを作成することだと思います。だから私は作った:
function TFileStream2.Write(const Buffer; Count: Integer): Longint;
ここで、Positionをチェックし、それが0の場合、バッファから最初の数バイトを破棄します。このようにして、ファイルの先頭をトリミングできます。しかし、ストリームの終わりを検出して、最後から数バイトを破棄するにはどうすればよいですか?