VB6 Open〜Close で行数を取得するには?

解決


あsd  2005-08-18 00:31:42  No: 91509

VB6の一般的なファイル処理の Open〜Close を使って、
ファイルの行数を取得するにはどうすればいいでしょうか?
FSOをつかえば簡単らしいですが、参照設定をしたくないので。。


ぶぶ  2005-08-18 01:50:33  No: 91510

ただよみこんでDo Loop間でカウントすればいいのでは?


あsd  2005-08-18 02:26:12  No: 91511

ファイルの行数だけを読み込むのに

Do Until EOF(intFileNo)
    i = i + 1
Loop

で、ただカウントをとっても無限ループ入るのですが、なにか処理を書かなくてはいけないのでしょうか?なにかやり方がまちがっているのでしょうか?


Blue  2005-08-18 02:30:52  No: 91512

> ただカウントをとっても無限ループ入るのですが、
> なにか処理を書かなくてはいけないのでしょうか?
書かなくてはいけないです。ずっとファイルの位置が変わらないですから。
Line Input # ステートメントでも調べ見てください。


123  2005-08-18 02:32:35  No: 91513

EOFでなにを調べているのかが分かれば何が足りないか分かるでしょう。
>読み込んで
の処理はどこ?


豚猫  2005-08-18 02:34:05  No: 91514

>Do Until EOF(intFileNo)
>    i = i + 1
>Loop

【Line Input】で、一行のデータを取得することで
次の行へ、という意味もあるようです。
今、同じソースにて試したところ、無限ループしましたが
【Line Input】を入れることで回避できました。
以下にソースを記述します。

dim sDATA as string

do until eof(iFileNo)
  Line Input #iFileNo,sDATA
  i = i + 1
Loop

以上です。


KG  2005-08-18 02:58:06  No: 91515

参照設定をしなくともCreateObjectを使えばできますよ。

既にご存知で、それがメンドクサイと思ってらっしゃるなら
すみません。|=x=;


あsd  2005-08-18 19:45:54  No: 91516

Line Input
の処理を書かないとだめなんですね。
ありがとうございました。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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