[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 3785] BOARD: スクリプトのファイル書き込み他



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい
http://www.imasy.org/~mone/osask/index.cgi?REFER=3d01fe47_847c

2002/06/08 21:53
Gaku

こんちは。Gaku です。

[OSASK 3780] [OSASK 3783] へのレスです。

何だか話題がごちゃ混ぜですけれど。

/////
[OSASK 3780] へのレスです。

> 場合わけを何十にしてますけどね…
> 一応、簡単な文字列を入れると、日本語は出しますが
> 促音、撥音が出てくると死にそうです。
> もう10KBなんてもんじゃないですし

状況を想像してみました。
なるべく楽してください。
やはりスクリプトですし。

> 今日編集中 3,4度、編集中に原因不明のバグに見まわれました。
> Scriptでモジュール読みこみどうたら

それは宜しくないです。
ファイル書き込み関係でしょうか。
モジュール読み込み何某が出ると続けて読み込み不能に陥ると思います。

/////
[OSASK 3783] へのレスです。

> どのくらいの容量が余計に必要なのでしょうか?

4096byte です。
正確には元のファイルを 4096byte アラインしたサイズです。

> リサイズが失敗した場合にファイルが壊れてしまうのは少し困るのですが、
> これは大変な修正でしょうか?

それほど大変ではないと思うのですが・・。

/////
スクリプトのファイル読み書き関係の動作です。

機能限定ですが fopen, fclose, fread, fwrite 辺りを用意して使ってます。
モジュールのマップは 4096byte づつです。
書き込みモードで fopen されたときは、まず 4096byte にリサイズします。
書き込み領域が足りなくなると 4096byte づつサイズを増やします。
最後に fclose か fflush された時点でファイルサイズを合わせます。

ところで、[OSASK 3779] のその2の操作ですが
32x32 のビットマップに対しては期待通りの動作に見えます。
最初のリサイズが失敗したので書き込み操作をしなかったのだと思います。

lib_resizemodule の競合時の動作は
ファイルのより大きいサイズへの変更は失敗する。
ファイルのより小さいサイズへの変更は成功する。
なのでしょうか?

/////
書き込み動作は最初に 4096byte アラインしたサイズに変更してみる。
という変更が簡単そうです。
が、サイズが足りなくなってからリサイズする方が良いようにも思います。
気が向いたら次でそうします。

話題とは関係ないですがスクリプトで使った stdio 回りを公開してないです。
忘れてました。

/////
ついでに、[OSASK 3784] の壁紙の件です。

http://eieweb.yz.yamagata-u.ac.jp/~m01873/data/kabe.lzh

[OSASK 3695] のパレットに合わせました。

スクリプトのビットマップ操作部分を流用したのですが、
こちらもパレットの設定が違っていました。
ペイントで書いた16色ビットマップのヘッダを流用したのですが。
てことはスクリプトで書いたビットマップもヘッダが違ってます。

それでは、また。