ActiveServerPage(VBS)でAtEndOfLineを使ってファイルを1行づつ読み込む処理をしています。

Do Until objTS.AtEndOfLine
strLine = objTS.ReadLine
Loop
というような形でファイルを読み込んでいるのですが、ファイルの先頭に改行があった場合や、ファイルの途中に改行が2つ以上続いた場合、ファイル終端と判定されてしまいます。(この場合ループを抜けてしまいます)
改行のみの行の場合、その行を飛ばして読み込む等の処理をしたいのですが、この改行のみの行の判定はどのようにすればいいのでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/10/26 15:37:58
  • 終了:2010/10/26 16:57:21

回答(2件)

id:a-kuma3 No.1

a-kuma3回答回数4605ベストアンサー獲得回数19432010/10/26 15:54:50

ポイント35pt

ループの終了判定は、AtEndOfStream で判定して、改行のみの行の読み飛ばしは ReadLine した後に文字列の長さで判定する。


http://msdn.microsoft.com/ja-jp/library/cc364485.aspx

id:salvatore

ありがとうございます。

2010/10/26 16:57:17
id:van-dine No.2

van-dine回答回数108ベストアンサー獲得回数112010/10/26 16:21:39

ポイント35pt

ファイル末判定はAtEndOfLineプロパティではなく、

AtEndOfStreamプロパティです。

こうすれば、空行も正しく読み込まれます。

http://msdn.microsoft.com/ja-jp/library/cc428128.aspx

id:salvatore

ありがとうございます。

2010/10/26 16:57:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません