条件のレコードを削除するには?

解決


稲兎  2003-04-15 09:44:47  No: 106693  IP: [192.*.*.*]

大変お世話になっております。
txtファイル内に下記のようなデータがあり、先頭の文字がアスタリスク(*)だったら行全体を削除したいのですがどのようにすれば良いのでしょうか?

例)
20030415  11111
*         *  
*         *
20030515  222222

良き処理方法がありましたら、ご指導お願い致します。

編集 削除
名前なし  2003-04-15 09:48:34  No: 106694  IP: [192.*.*.*]

1行ずつ読み込んで、
読み込んだ行の先頭がアスタリスクでなければ、
別のファイルに書き込んでいきましょう。

編集 削除
稲兎  2003-04-15 10:53:31  No: 106695  IP: [192.*.*.*]

回答ありがとうございます。

Line Inputを使い1行ずつ読み込もうと思ったのですが、アスタリスクじゃない行には最後にスペースがランダムに入っています。
Line Inputを使うと空白が削除されるのでは無いかと思って、コレを使わないで済む方法があればと思うのですが・・・。
最初の文字だけを条件として行を削除するというような事は無理なのでしょうか?
面倒な事を言ってしまって申し訳ありません。

編集 削除
名前なし  2003-04-15 11:29:41  No: 106696  IP: [192.*.*.*]

Line Input で読み込めば、1行全体(改行まで)を取得します。
行の最後(改行の前)にスペースがあれば、それも取得してきます。

編集 削除
名前なし  2003-04-15 11:43:45  No: 106697  IP: [192.*.*.*]

Input と Line Input は全く別物ですよ。
# 念のため。

編集 削除
稲兎  2003-04-15 11:47:50  No: 106698  IP: [192.*.*.*]

早い回答ありがとうございます!本当に助かります!

回答に従って、Line Inputを使って変数に格納し、Doステートメントを使用すればイイと思うのですが、条件に読み込んだ先頭がアスタリスクでなければ・・・と言う条件は(行を格納した)変数で出来るのでしょうか?
それとも、更にLeft関数等を使って先頭文字を指定しなくてはいけないのでしょうか?

初歩的な質問を繰り返してスイマセン。宜しくお願い致します。

編集 削除
名前なし  2003-04-15 12:42:42  No: 106699  IP: [192.*.*.*]

次のような感じでは?

Do While EOF(1) = False
  Line Input #1, s
  If Left(s, 1) <> "*" Then
    Print #2, s
  End If
Loop

編集 削除
稲兎  2003-04-15 12:59:42  No: 106700  IP: [192.*.*.*]

ご指導通りにやってみたら思ってた通りの事が出来ました!
最後までご指導頂き、本当にありがとうございました。

編集 削除