2019年06月04日

「マウスのお供 v1.58.09」の機能強化ポイントについて

本日、「マウスのお供 v1.58.09」を公開しました。


昨日に引き続き、ポータブルモードの機能強化になります。特に、追記でも書いたとおり、これまでポータブルモードでは1行分しか保存できなかった「メモ」についても、通常(レジストリ保存)のモードと同じく、複数行保存できるようにしました。

コンボボックスで管理される編集ボックスの履歴(音声ファイルの指定履歴、時計の表示形式などの過去の指定履歴)を、ポータブルモードでも扱えるようにした件については、昨日までと同様です。

iniファイルへの文字列保存をするためのWindows API「WritePrivateProfileString()」に対して複数行の文字列を与えると、iniファイル内に改行を含んだ文字列が出力されますが、そもそも改行は、iniファイル内では設定の区切りとして扱われます。
(1行=1設定)

このため、そうやって保存したiniファイルをGetPrivateProfileString() APIで読み出しても、最初の1行しか読み取れません。
そのため、従来の「マウスのお供」では、iniファイルに書き込もうとする文字列に改行が含まれていたら、最初の1行しか書き込まないようにしておりました。

本バージョンからは、改行コード(C言語風に書くと \r \n)を見付けると、改行以外のコントロールコード \x01 に置き換えてからiniファイルへ保存します。iniファイルから文字列を読み込むときは \x01 を見付けると、 \r \n に書き換えてから読み込みます。


簡単なトリックみたいな感じですが、これで、iniファイルへの複数行の読み込みと書き込みを実現しました。
というわけで、もし、クリップボードを経由するなどして、「メモ」の中にムリヤリ \x01 に相当する文字を埋め込むと、保存したときに中途パンパな改行が書き込まれます。そういうことをやっちゃう場合は、面倒見ないです^^;


posted by ayacy at 00:00 | Comment(2) | TrackBack(0) | フリーソフト