"エラー59:レコード長が一致しません"を消すには?


えいじ  2003-07-28 16:53:24  No: 107892  IP: [192.*.*.*]

始めまして。VBを触り初めて1ヶ月ほどの初心者です。
環境は  VB6.0  です。
教えていただきたい内容は、

全角(2バイト)文字が入っている、テキストファイルを

get関数で読み込む際に、"レコード長が一致しません"という
エラーが発生します。

*Aモジュール
Open Full_Pass For Random As File_No Len = W_len

*Bモジュール
W_len = LenB(StrConv(w_Str, vbFromUnicode))


上記が、open命令の一文です。
ヘルプで調べた結果、オープンの際に読み込んだ
レコード長と一致いていないのが原因ということなのですが、
なぜ、エラーが出るがつきとめられません。

エラーの原因になっているかは  わかりませんが、
このプログラムはVB4.0から6.0に移行したものです。
移行の際に施した作業は4.0のソースを6.0上で開いただけです。
(自動で変換がかかりました。)

読み込むテキストファイルの2byte文字を削除してみると
正常に動作します。


また、open命令時のrandomモードをbinaryモードにて実行してみたところ、
一件は正常に読めるのですが、
2件以降が正常に読めません。

以上が、大体の現在の現状です。

みなさんのアドバイス、原因追及の手段等、お待ちしています。
宜しくお願いします。

編集 削除
さわ  2003-07-28 17:44:23  No: 107893  IP: [192.*.*.*]

改行分のバイト数が不足してるんじゃないでしょうか?
ファイルレコードのレイアウトにこだわりが無ければLineで読んでみてはどうでしょう。
勘ですいませんけど

編集 削除
えいじ  2003-07-28 18:12:36  No: 107894  IP: [192.*.*.*]

>さわさん。

さっそくやってみます。

編集 削除
えいじ  2003-07-29 09:31:54  No: 107895  IP: [192.*.*.*]

すみません。
私のこだわりではないのですが、

やはり、getで読むのがベストのようです。

Unicodeではなく、ANSIコードを使用しているのが
関係してくるのでしょうか?

だいぶ頭がこんがらがってきた、、、(ううっ)

編集 削除