tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^5: VB6.0でデータをバイナリ処理
投稿日: 2010/02/23(Tue) 15:18
投稿者あかちん
魔界の仮面弁士さん とても丁寧な解説をありがとうございます

以下の3点でとても参考になりました。
1 同時アクセスの可能性
> それは考慮済みという事であれば、Remote Desktop による複数人同時ログオンや
> アプリの同時起動などにより、同一ファイルへの同時アクセスが発生していないかを
> 確認してみてください。

 対策 ファイルは開いてすぐに閉じます。やはり不十分ですよね

2  Lock Writeについて
> > Open Datafile For Binary Access Read As #1
> > Open Datafile For Binary Access Write Lock Write As #2
> 書きこみ時には「Lock Write」していますが、その反面、
> 読み込み時には未指定ですが、それは意図的な物ですか?

 読込にはlockが必要無いと思っていたのですがどうも大きなミスらしい

3 末尾のゴミ
> > Get #1, 1, RW()
> > Put #2, 1, RW()
> この方法は、テキストファイルへの読み書きには使えませんが、その点は大丈夫ですか?
> また、各要素の文字列長が短くなった場合、末尾にごみデータが残る可能性があります

 この件については全く予想してませんでした。この場合書き込んだデータを読み込むとき書き込んだデータと異なるデータが返される事になるのでしょうか。
ちなみに書き込むデータは
join関数で普段使用しない"|"や"^"でテキストデータを結合(?)して
rw(0)="|ア行^あ^い^う^え^お|カ行^か^き^き^け^こ||||||"つぃます。
 このような文字列を書き込んで 読み込むときにsplit関数で分解(?)するようにしています。自己流も甚だしいと思いますが 学校現場にあったレベルだと思っています。
 
以上を参考にコード修正を検討していきたいと思っています。解決したらまたこの場をお借りして報告したいと思っています。すでにリタイヤしているがこのような作業は楽しみです。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。