tagCANDY CGI VBレスキュー(花ちゃん) - 条件に合った行の削除(CSV・TXTファイルで)(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
条件に合った行の削除(CSV・TXTファイルで)(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

条件に合った行の削除(CSV・TXTファイルで)(VB6.0) [No.73の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.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

メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ