テキストファイルから特定の文字で始まる行だけ抜き出すには

解決


じゅうろく  2006-09-16 01:26:11  No: 133292

テキストファイル(またはテキストボックス)から特定の文字列で始まる行だけを抜き出したいのですが、下のようにしてもすべて読み込まれてしまいます。
ものすごく初心者です。言語は.NETです。よろしくお願いします。

        Dim Txt As String
        Dim Sta As String

        Try         
            FileOpen(1, myFile, OpenMode.Input)
            TextBox1.Text = ""

            Do Until EOF(1)           
                Txt = LineInput(1)
                Sta = Microsoft.VisualBasic.Left(Txt, 2)
                If Sta = "ss" Then
                    TextBox1.Text = TextBox1.Text & LineInput(1) & vbCrLf
                End If
            Loop                        
            Me.Text = myFile            
        Catch                           
            MsgBox("エラー
        Finally
            FileClose(1)
        End Try


Blue  2006-09-16 02:06:19  No: 133293

やっていることにコメントをつけると、

' 一行読み込む
>                Txt = LineInput(1)
' 読み込んだ行の先頭2文字をStaに入れる
>                Sta = Microsoft.VisualBasic.Left(Txt, 2)
' Sta が ss のとき
>                If Sta = "ss" Then
' 次の行を読み込んでテキストに追加する
>                    TextBox1.Text = TextBox1.Text & LineInput(1) & vbCrLf
>                End If

となっています。
ということで、If文のあたりがおかしいです。
Sta が ss のものだけ読みたいのであれば、次の行を読むというのは間違っているようです。

Txt = LineInput(1)
If Microsoft.VisualBasic.Left(Txt, 2) = "ss" Then
    TextBox1.Text = TextBox1.Text & Txt & vbCrLf
End If


じゅうろく  2006-09-16 23:02:02  No: 133294

ありがとうございます!
今は試せないので後で報告します。


じゅうろく  2006-09-19 23:22:12  No: 133295

できました!
Blueさんどうもありがとうございます!


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加