保存した時にファイルの上部に追記するには?

解決


くれいぬ  2004-12-20 10:43:48  No: 118385  IP: [192.*.*.*]

VBでのテキストファイル出力時に、追加分を上に出力させるというのは可能でしょうか?
もし、可能ならば方法もよかったら教えてくださいー

Appendだと、既存の文字の下に追加されてしまうんです…

編集 削除
030  2004-12-20 12:09:49  No: 118386  IP: [192.*.*.*]

追記の仕方が分かっているんだったら、それを応用して下さい。
例えば

1.先に追記する部分を別のファイルに保存して、それに元のファイルから読み込んだ内容を追加する
2.元のファイルを削除して新しく作ったファイルの名前を元のファイル名
に変更する。

編集 削除
まーくん  2004-12-20 13:13:40  No: 118387  IP: [192.*.*.*]

seekステートメントを使用すればいいと思いますよ。

Seek [#]filenumber, position

上記を基本として、「position」に『1』を設定してあげれば、
ファイルポインタが先頭に位置づけられます。
あとはいつもどおり、putステートメントなりWriteステートメントで
書き込み処理を行えば、Appendモードのファイルに対して
先頭から書き込みされます。
しかし、質問の内容には「上に出力」とありましたので、私としては
オープンしたファイルの先頭と捕らえましたが、中間の位置にとなれば、
別の話ですね。
いづれにしてもseekステートメントで解決できるはず。

編集 削除
くれいぬ  2004-12-20 13:50:21  No: 118388  IP: [192.*.*.*]

まず、Seekを試した後に、ファイルを二つ使う操作を参考にしてやってみようと思います。
ご教授ありがとうございました!

編集 削除
くれいぬ  2004-12-21 10:32:43  No: 118389  IP: [192.*.*.*]

Seekでやっていた所、微妙な位置(上から350バイトほど後)だったためか、
追加というより上書きされてしまいました…

編集 削除
まーくん  2004-12-21 14:55:11  No: 118390  IP: [192.*.*.*]

それはおそらく、改行コードをファイルポインタとしてカウントし忘れていることだと思いますよ。
改行コード「CRLF」の2バイトを考慮して考えてみてください。

編集 削除