掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイルから配列データを動的配列への一括読み込み (ID:151220)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
yTakeです。 ファイルから配列データを動的配列に一括して読み込みたいと思います。 例えば、ファイルに次元が100x100x100の配列データがあります。それを動的配列へ一括して読み込む場合、 wdata : Array of Array of Array of Word; fs : TFileStream; cnt : Integer; begin SetLength( wdata, 100, 100, 100 ); fs := TFileStream.Create( filename, fmOpenRead ); cnt := fs.Read( wdata[0][0][0], Sizeof(Word) * 100 * 100 * 100 ); fs.Free(); end; 実際には、ファイル内に配列サイズも格納されていて、ファイル毎に配列サイズは異なります。 読み取った配列サイズで、wdataのサイズを定義して、先頭の要素から配列サイズ分Readさせていると言う事になっています。 DELPHIの構文チェックでは特に問題はありません。 実行すると、wadataは全てゼロになっています。 読み込まれた数が返されるcntもゼロの為、何も読み込まれていないと言う事と思います。 多分、コードが間違っていると思いますが、ご教授願えるでしょうか? 因みに、 ptr2 : PWord; i, j, k : Word; begin GetMem( ptr, SIzeof(Word)*100*100*100); cnt := fs.Read( ptr^, SIzeof(Word)*100*100*100); end; では、データを読み出せていますが、この後、wdata配列へ要素ごとに代入するforループが必要となり、それは避けたいと思っています。 当方:DELPHI, XE6+FMX よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.