初めまして。VBを使っていてわからないところがあるので、少しお聞きしてもよろしいでしょうか。
以前はC言語をやっていたので、ファイル処理の扱いの違いに戸惑っています。。
ID num name data[1-5]
20000 50 takahumi2100 0,00,2,3,5
20001 23 hayate2100 0,2,54,5,3
20002 40 ayaka2100 0,3,4,43,5
…
というデータベースがテキストファイル形式で保存されていたとしますね。
1レコードの書式としては
ID(TAB)num(TAB)name(TAB)data1,data2,data3,data4,data5(改行)
といった感じです。
nameとdataは可変長のデータです。
そこで、このデータの1レコードを
Type profile
id As Long
num As Integer
name As String
data1 As Integer
data2 As Integer
data3 As Integer
data4 As Integer
data5 As Integer
End Type
といった感じの構造体に格納したいのですが、どういった処理をすれば良いでしょうか?
Line Inputを使うにしても、使ったあとの文字列の扱い方が分からなくて。。
ご教授宜しくお願いします。
Line Inputで1行読み込んだ後、vbTabをデリミタにSplitすれば、
配列の第0要素〜第3要素にID〜data[1-5]が分離格納されます。
さらにできた配列の第3要素をカンマをデリミタにSplitすれば、
配列の第0要素〜第4要素にdata1〜data5が分離格納されます。
必要に応じてキャストしながら構造体(ユーザ定義型)に格納してください。
ま、VBの場合、この程度なら暗黙のキャストしてくれますから、
そのまま代入しても大丈夫ですが。
なお、VB6の Integer は signed short int に該当しますから、
IDが32767を超えるようなら、データ型を再考してください。
念のため。
ありがとうございます!
しっかりできました。
そんな便利な関数があったんですね。
全然調べ方不足でした。
まだまだ精進したいとおもいます。