こんにちは 初めて質問させていただきます。
よろしくお願いします。
使用ソフトはVB6.0です
以下のようなスペース区切りのテキストファイルがあります。
A-1、A-2、A-3というグループが一つのファイル(上)に存在し
A-1、A-2、A-3それぞれの行数が書いてあるファイル(下)が別にあります。
name number
A-1 123
A-1 560
A-1 121
A-2 650
A-2 320
A-2 250
A-2 120
A-3 450
A-3 230
------------
name 行数
A-1 3
A-2 4
A-3 2
これを1行目から順に読み込んでいってA-1すなわち1行目から3行目までを
抽出してファイルに出力、
続いてA-2、すなわち4行目から7行目までを
抽出してファイルに出力…という風に
上から順に個別に出力していきたいのですがなかなかうまくいきません。
下の行数のファイルから行数の値を変数に入れて
For Nextで回すのかな…とか考えてみましたが
自分では解決できずアドバイスよろしくお願い致します。
内容的には
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200406/04060051.txt
の応用です…
ファイル1のA-1、A-2、A-3がこの例のように混ざって無いなら
ファイル2は特に必要無いかと思いますが。
うまくいかないとは、どううまくいかないんですか?
どこが分からないんでしょうか?
今出来ているソースを提示していただければアドバイスしやすいと思います。
VB.NETのソースですがVB6では出来るか試してください。
Dim fileno As Integer
Dim s As String
fileno = FreeFile()
FileOpen(fileno, "c:\test.txt", OpenMode.Input)
While Not EOF(fileno)
s = LineInput(fileno)
End While
FileClose(fileno)
これで変数sに一行づつデータが取得出来ます。
順番に一行ずつです。
s = LineInput(fileno)の下に
Msgを使って確認して見ればどのように取得されているのか分かります。
あとは、indexOf関数で検索をかけて
switch構文で枝分かれにし、
つなげていけば何とかなると思います。
なんとか先ほど完成しました!
みなさまありがとうございました!
あなただけ解決しても良いのですが、
出来ばどのようにして解決したかを書いてあると
同じ悩みを持つ人にとって役に立つと思います。
情報の蓄積、そして”活用”という事を考えてください。