タイトル : Re^3: VB6.0でデータをバイナリ処理 投稿日 : 2010/02/23(Tue) 07:35 投稿者 : あかちん
花ちゃんさん、魔界の仮面弁士さんありがとうございました。 おかげさまでFreeFile関数については解決です。何でもそうなんですがステートメントや関数などはそれを開発した意図をしっかりと理解して使用しないといけないですね。 > あれ、「256 〜 511 のファイル番号」じゃありませんでしたっけ。 その通りです。失礼しました。 > MSDN の解説には、VB6 には該当していない内容も時折混じっているので、 > それと同じような物では無いですかね。 そうなんですか、プログラマーに時間の無駄をさせますね。 ところで本題は以下のコード(バイナリファイルに文字列配列を読み書き)は正常でしょうかということでした。ごくまれにファイルの配列の要素が結合したりとかファイルが大きくなったりします。再現できません。 この手法にたどり着いた理由は 1) Split、Join関数を使ってデータを処理するためランダムファイルに適さない。 2) 心ないユーザーがファイルをノートパッドなどで書き換えた場合にエラーを発生させる。 3) VerUpが容易 などです。 Public RW(0 To 367) As String Public Datafile As String 'データファイルパス名 Sub RWdata(Md As String) ' Select Case Md Case "Read" Open Datafile For Binary Access Read As #1 'If RWOkFlg = True Then Get #1, 1, RW() 'End If Close #1 Case "Write" Open Datafile For Binary Access Write Lock Write As #2 'If RWOkFlg = True Then Put #2, 1, RW() 'End If Close #2 End Select End Sub ご教示願います(確かに「御教授」はおかしいですね。お恥ずかしい次第です) |