問題タブ [carchive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - ファイル内で CArchive が現在ポイントしている場所
CArchive を使用して読み取りと書き込みとファイルを作成するコードがあります。調査の結果、ファイルのさまざまな部分からデータを読み取るときに、CArchive オブジェクトがその場所を変更することがわかりました。たとえば、ファイル構造がヘッダー、ボディ、フッターの順にあるような場合。誰かがフッターを読みたい場合、CArchive はファイル内の特定の場所に移動することによってのみフッターを読み取ります。これはこれによって行われます。
ここで知りたいのは、CArchive が読み取りまたは書き込みを行う場所です。バイト インデックス、ファイルの場所など。
c# - C# での COleStreamFile::OpenStream の置き換え
ファイルの読み取りと書き込み用に MFC で記述されたコードがあります。C#用に書き直しています。
私のファイルは、Header * Body * とFooterの 3 つの部分で構成されています。現在、MFC コードでは、CArchive はこれらの部分の書き込み/読み取りを行うことができます。これはCOleStreamFile::OpenStreamによって行われます。このメソッドでは、読み取る部分を指定すると、ファイル内のその場所を指すストリームが返されます。次に、CArchive はストリームを使用し、ファイルの読み取り/書き込みを行います。
このコードの後、ar >>またはar <<を実行すると、ファイルを最初から読み取れませんでした。途中または最後から読み込んでいます (ストリームによって異なります)。今私が欲しいのは、このコードを C# に変換することです。C#のCOleStreamFile::OpenStreamに代わるものは何ですか。
これが私がこれまでに行ったことです。
ここで、ストリームが開始点を指しています。特定のバイトから読み取ることができると思います。しかし、私はそのバイトの場所を知りません。私が知っているのは、MFC コードで使用されているHeader、Body、およびFooterの名前です。
または、読み取りまたは書き込み中に CArchive の現在の場所を見つける方法はありますか。そこからバイト位置を取得すると、それも使用できます。
c# - CArchiveで保存したバイナリデータから構造体の配列を読み込む
CArchive によって書き込まれているファイルからデータを読み込もうとしています。CArchiveを使用して読み書きするために使用されている元のソースがあります。しかし、私はこれを C# コードで読み取ろうとしています。ファイルの大部分は読めるのですが、ファイルに書かれている構造体の配列を読まないといけなくなって行き詰まりました。
stackoverflow に関する他の質問を見たことがありますが、うまくいきませんでした。
彼らが提案したのは、この機能を使用することです。
しかし、これは私にとってはうまくいきません。
だからここに私のC++コードがあります:
構造:
CArchive 読み取りコード:
今C#コード:
私の構造体
この呼び出しの後、structureCollection を確認すると、ノード データが正しくありません。コレクションの 6 番目の構造体の 2 つのフィールドの値は 256 で、7 番目または 8 番目の構造体以降はすべてのフィールドが 256 です。これは間違ったデータです。これを C++ コードで読みましたが、問題なく動作しました。フィールド値は 1 または 0 ですが、256 データは完全に無効です。
serialization - シリアル化を使用して、ダイアログ ベースの MFC アプリケーションでスクロール バーの状態を保存して読み込む。
チェック ボックス、スクロール バー、ボタン、編集コントロールなどで構成されるダイアログ ベースの MFC アプリケーションで作業しています。アプリケーションの現在の状態を .txt ファイルに保存し、アプリケーションの再起動時にそれをロードしようとしています。CArchive クラスを使用してデータをシリアル化します。
// アプリケーション設定の保存
}
//ファイルから設定を読み込む
{
}
チェック ボックス、テキスト ボックスのデータ、およびラジオ ボタンの状態を保存して読み込むことはできますが、スクロール バーを最後に保存した位置に戻すのは難しいと感じています。
//スクロール バー コントロールのコード
{
}
また、静的テキストをスクロール バーにリンクする方法もわかりません。つまり、スライダーが真ん中にある場合、「Slider at 50 (Range: 0-100)」のように表示されるはずです。これを行う方法について誰かが私に指示できますか?
c# - C# での MFC オブジェクトのシリアル化
実際に CArchive を使用して記述された C# のバイナリ ファイルを読み込もうとしています。私はほとんどの部分を完了しましたが、オブジェクトの読み取りに行き詰まりました。bool, int, double オブジェクトを書く代わりにバイナリに書き込んでいます。
というわけで元のコードはこんな感じ。
問題は、このコードを C# でどのように翻訳できるかということです。
php - CArchive (MFC) から JSON へ?
サーバーからデータを受信する必要があります。サーバーのアプリケーションは VS2008 (MFC) で書かれています。このデータをサーバーから送信する方法は 1 つしかありません -> CArchive オブジェクトとして。サーバーソースを変更できません。
このデータを PHP で (tcp で) 受け取り、JSON に変換したいと考えています。CArchive を JSON に変換するスマートな方法はありますか?
c# - CArchive Ar(&SaveDataStoreDetail, CArchive::store); で保存されたデータを読み取ります。
を使用して値を保存したdatファイルがあります
このファイルからデータを読み取る方法
opencv - cv::Mat を CArchive に書き込むには? (MFC 関数で Serialize(CArchive& ar))
私はmatImageを書こうとしています
MFC アプリケーションで Serialize(CArchive& ar) を介して bmp ファイル (「test.bmp」など) に変換します。
このコードは機能しません
これを正しく行う方法は?
アップデート
このコードは十分ではありませんが、機能します