投稿日 | : 2005/02/17(Thu) 14:32 |
投稿者 | : ガッ |
Eメール | : |
URL | : |
タイトル | : Re: 2次元のバイト配列の途中に読み込ませる |
> Dim SBUF(2, 4095) As Byte
> ReadFile 1, 1, SBUF(1, *) … 文法に無いので当然コンパイルエラー
> ReadFile 1, 1, SBUF(1, 0) … 「次元が違う」
> ReadFile 1, 1, SBUF(1) … 「次元が違う」
> ReadFile 1, 1, SBUF() … コンパイルエラーにはならないが、配列の先頭に読み込まれる
>
> Private Sub ReadFile(FNUM As Integer, ROFFSET As Long, BUF() As Byte)
> Get FNUM, ROFFSET, BUF()
途中で切られた・・・?
ま、それはおいといて、
VBの配列(SafeArrayか…)がいかなるときでも、連続して配置されていれば、
ちょっとは楽できるかもしれない。
> SBUF(1,0)〜SBUF(1,4095)に読み込ませたい
仮の配列x(0 to 4095)を作成し、それに一旦読み込ませ、メモリ上のデータをコピーすればいい。
で
「VBの配列(SafeArrayか…)がいかなるときでも、連続して配置されていれば」
WinAPIのMoveMemoryで一発でできると思われる。
あと、配列のレイアウトを変えてもいいならユーザ定義型にすると楽かと思われる。
※…多分。