■12327 / ) |
Re[7]: 添え字がInt64(long)の可変長リストが欲しい |
□投稿者/ Hirotow (124回)-(2008/01/08(Tue) 01:13:30)
|
かなり作り直さないといけなさそうですが、がんばってやってみます。
■No12317 (れい さん) に返信 > ■No12309 (Hirotow さん) に返信 >>いまいち理解できないのでもう少し具体的に教示してもらえると助かります。 > > むむ。 > 私の日本語能力だと「もう少し」具体的に書くのは難しいです。 > 説明が長大になるか、コードになってしまいます。 > > あんまり詳細に説明するのもめんどくさいですし > Hirotowさんのオリジナリティを損なう可能性がありますので、 > 適当に言いますが、 > > ・元ファイル上での開始位置と長さ > ・編集済みフラグ > ・実際のデータが保存される可変長のByte配列 > > の一連の情報をまとめてページとし、 > ページ単位でデータを管理するようにすると > 挿入・削除や大きいファイルの編集も比較的簡単にできます。 > > エディタは、表示されているページと編集済みページリストを保持します。 > カーソルが移動してあるページが表示されなくなった場合、 > 未編集であれば保持する必要がなくなります。 > 編集済みであれば編集済みページリストに追加しておく必要があります。 > > カーソルが移動して、新たにページを表示する場合、 > 編集済みページリストにあればそれを使えばいいですし、 > なければファイルから適当な量だけ読み込んでページを作成し、それを使います。 > > 挿入・削除操作が行われた場合は該当ページにだけ行えばよいので、 > 全データをシフトする必要もなくなります。 > たくさん行われた時はページの分割・統合が必要になります。 > > 編集されたデータをファイルに保存する時は > 編集済みページリストと元ファイルを突き合わせれば > 編集後のファイルを作成することができます。 > > このように、元ファイルの一部分だけをいじる方法は > 大きいファイルではよくやる手です。
|
|