掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBでのファイルデータ取得について (ID:110950)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
SKYさん、特攻隊長まるるうさん、化石さん、魔界の仮面弁士さん、アドバイスありがとうございます。 シーケンシャルによるデータ読込みは以下の内容で出来ました。 --- 外部ファイル(SampleData.Dat) --- 11111あああああ0000000001 --- 画面コントロール --- Text1, Text2, Text3 → 配列化(0〜2), 配列名→Text Command1 --- General領域 --- TYPE SAMPLE m_xxx As String m_yyy As String m_zzz As String END TYPE Sub Command1がクリック時 Dim 格納配列 As String Open "F:\SampleData.Dat" For Input As #ファイル番号 Line Input #ファイル番号, 格納配列 Call 表示関数(格納配列) End Sub Sub 表示関数(str As String) Dim sample As SAMPLE Dim i As Integer sample.m_xxx=Mid(str, 1, 5) sample.m_yyy=Mid(str, 6, 10) sample.m_zzz=Mid(str,16, 10) <中略> Text(0).Text=sample.m_xxx Text(1).Text=sample.m_yyy Text(2).Text=sample.m_zzz End Sub 上記で表示することができましたが 別のデータファイル(文字コードの複合)をバイナリーモードで (複合といっても上記のデータファイルで'あああああ'がUnicodeです) 取得しようとすると以下のエラーがでました。 Dim sz As Long Dim bstr() As Byte Open ファイル名 For Binary Access Read As #ファイル番号 sz=LOF(ファイル番号) ReDim bstr(sz-1) Get #ファイル番号, ,bstr Call 表示関数(bstr) ←ここで "ByRef引数の型が一致しません"と出てしまう ※構造体は上記と同じ構造を使用します(TYPE SAMPLE) ※構造体内の変数型も同様です Sub 表示関数(bstr() As Byte) Dim sample As SAMPLE sample.m_xxx=Mid(bstr, 1, 5) ←ここ以前でエラーなので自信なし sample.m_yyy=Mid(bstr, 6, 10) sample.m_zzz=Mid(bstr,16, 10) End Sub すいません、お気付きの点がありましたらご教授お願いします。 非常に長くなってしまい申し訳ありません。。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.