Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
visualbasic6.0を2008で
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9645#CommentId14755
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2010/5/23 20:19:33
> アップグレードで変換してみました。
余裕ができたら、そうした VB6 互換命令でのファイル入出力ではなく、
VB.NET 時代のファイル入出力操作も覚えて下さいね。
> ファイルにこれ以上データがありません"となります。
> 原因はなんですか?
原因は、「ファイルにそれ以上データが無いから」です。
恐らく、問題ファイルを用意していなかった(0バイトだった?)のでは無いでしょうか。
今回使用した Input は、ファイルからデータを読み込む命令です。
読み込むべきデータが残っていれば、そのデータを変数に取り込み、
現在の読み込み位置をその分移動させます。
しかし、その読み込み位置がファイル終端にまで到達していた場合、
それ以上読み取れるデータが無いため、今回のエラーとなります。
そのため、ファイルが終端まで到達していたかどうかを調べるために、
読み込み前に EOF 関数でチェックしておく必要があります。
なお http://homepage1.nifty.com/rucio/main/shokyu/jugyou16.htm で紹介されているサンプルでは、
Do
'ファイル読み込み
Loop
Until EOF(1)
と書かれていましたが、ファイルの内容によっては、
Do
Until EOF(1)
'ファイル読み込み
Loop
の方が良いでしょう。その理由はあえて書きませんけれども。