tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
条件に合った行の削除(CSV・TXTファイルで)(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2007/07/29 10:39
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[ファイル入出力][][]                                              *
* キーワード:テキストファイル,CSVファイル,読み込み,ファイル処理,行削除,          *
***********************************************************************************

元質問:条件に合った行の削除・・・ - ワタル  2003/11/14-18:08 No.6597

テキストファイル内で、行の先頭の文字列「xxx」を含んでいる行だけを削除したいのですが
色々調べてもどうしても分かりませんでした。

---------------------------------------------------------------------------
Re^3: 条件に合った行の削除・・・ - KG  2003/11/15-18:27 No.6608
---------------------------------------------------------------------------

行頭が「×××」となっているならば、下記のような方法もとれますね。

Private Sub Command1_Click()
    Dim fnoR   As integer
    Dim fnoW   As integer
    Dim ReadLine As String

    fnoR = FreeFile
    Open "c:\sampl.txt" For Input As #fnoR
    fnoW = FreeFile
    Open "c:\sampl_rslt.txt" For Output As #fnoW

    Do Until EOF(fnoR)
        Line Input #fnoR, ReadLine
        If Left$(ReadLine,3) <> "×××" Then
            Print #fnoW, ReadLine
        End If
    Loop

    Close #fnoR
    Close #fnoW
End Sub


-----------------------------------------------------------------
上記は、必要な行を新しいファイルに書き込んでおられるのでちょうどコピーをしているような感じでしょうか?

下記の私のオーソドックスな方法よりはかなり早いです。

Re: 条件に合った行の削除・・・ - 花ちゃん 2003/11/14-20:24 No.6598

Private Sub Command1_Click()
    Dim TxtLine   As String
    Dim MyString  As String
    Dim lngFileNo As Long
    lngFileNo = FreeFile
    Open "c:\sampl.txt" For Input As #lngFileNo
    Do Until EOF(lngFileNo)
        Line Input #lngFileNo, TxtLine
        If InStr(TxtLine, "xxx") <> 1 Then
            MyString = MyString & TxtLine & vbCrLf
        End If
    Loop
    Close #lngFileNo
        
    '保存処理
    lngFileNo = FreeFile
    Open "c:\sample1.txt" For Binary Access Write As #lngFileNo
    Put #lngFileNo, , MyString
    Close #lngFileNo
End Sub




 [スレッド一覧へ] [親スレッドへ]