VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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で一発でできると思われる。

あと、配列のレイアウトを変えてもいいならユーザ定義型にすると楽かと思われる。

※…多分。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -