でるめも話 
例えば,Windowsってのが,すっごく出来たOSで,使いやすいもので言うこと無し,
であったとするならば,今みたいに,フリーウェアや,シェアウェアなんて,
これほど増えてなかったんじゃないかと思う。
メモ帳,--32KBの制限がある,--だから32KB以上を扱えるエディタがたくさんある。
アイコン変えたい,--レジストリをいじるのはコワい,--だから,簡単に変更できるユーティリティがある。
ペイント,--扱える画像タイプが少ない,--だから,各種画像コンバータやペイントソフトがある。
ま,挙げればキリがないけれど,こういうところが不便だ,だから…っていうのが,
ソフトを作るときのきっかけになるんじゃないかと思うのだな。

で。今回でるが作った,一発芸アプリである「でるめも」。
これは,どういうところから生まれたかってゆっと,
あれこれ,Web Pageを見ていて,ちょっとこれはメモっておこうだとか,
メルマガやMLのメールを見て,あ,これは後でチェックしようかなとか,
なんか,「ネタ」を思いついたときとか(笑),
とにかくわざわざエディタを開いて書き留め,名前を付けて保存することもないけど,
ちょっと書き留めておきたい時に,使えるようなものが欲しかった,というのが発端。
コンセプトは「電話横のメモ帳」(爆笑)。
ちょこちょこっと書き留めて,用が無くなったらポイって感じっすね(笑)
そゆのって,探せばあるのかもしれないけれど,どうせなら作っちゃえってことで,
作り始めた「でるめも」。名前からして既に手抜き(爆笑)

さて,じゃ,どんな感じで作ろうか,と考えて,まず,メモった日付ってのが,
自動で入るもの
にしようと思った。
いつメモったのか,っての判った方が便利っしょ?
でも,自分で入れるの面倒じゃん(爆笑)
そーゆーことは,PCにおまかせね。ってことで,これを取り入れる,と。--1つ目。
次に考えたこと。名前を付けて保存するのなら,普通のエディタと一緒だから,
終了させたら,自動で保存するようにしよう。
どうせ,メモなんだから,書き足していって,不要になったらデリートすればよいのだし。
うん,じゃ,終了時に自動保存,っと。--これが2つ目。
これでいいや(爆笑)
かくして,この2つをとりいれて,出来上がったのが「でるめも プロトタイプ」(笑)。
起動する,メモる,「×」を押して終了する。おしまい(笑)
ほんと,コンセプト通り「電話横のメモ帳」感覚で使える。
めでたしめでたし。
…で,終われば簡単な話だったんだけど,せっかく作ったし,こんなのでも,
もしかしたら,使いたい人がいるかもしんない,なんて思ったので,じゃ,ちょっと改造して,
もう少し使えるようにしようって,思ったのだ(笑)
#この辺りからのめり込む羽目になる(爆笑)

メモ帳を使っている人は判ると思うけれど,32KBのファイルは扱えない。
これは,いちおWindowsの制限らしい。(もちろん,技を使えば制限は とっぱらえる(笑))。
ってことで,HSPで作った「でるめも」も,32KBのファイルは読み込めないし,
保存できないのだな。
でるひとりが使っている分には,何も考えなくてOK。
だって,自分で判っているので,32KB超えそうになったら,適当に対処できるものね(笑)
だけど,みんなに使ってもらうとなると話は別。
もしも,そういうのを読み込もうとしたり,保存したりしようとしたら,警告しないといけない。
判定を付け足さないとあかんなぁ,ってんで,いろいろ判定をつける。
しかし,この判定たるや,めちゃくちゃ大変だったりする(笑)
読み込んだときは大丈夫だったけど,保存するとき超えたらどうするかとか,
保存までは大丈夫だったけど,文頭に年月日が入ったときに超えたら?とか,
考え始めると,いろいろ可能性が(笑)
ぅがー。
なんか,一挙にソースがややこしくなってきました(汗)。

そんなわけで,いろんな判定つけたして,なんとか出来上がった「でるめも Ver.1.0」。
とりあえず,普通に使えるようになりましたぁ☆
…で終わってれば良かったんだけど(爆笑)
なんか,そうなってくると,もう少し便利にしたいなぁって思ってしまうのが世の常,人の常ですね(笑)
この「でるめも」は,「×」を押さないと終わらないけど,「×」を押すってのは,マウスを持たないとダメってこと。
(Alt+F4でもいいんだけど)
うーん,こりゃ不便っす。せめて「Esc」キーで終わるようにしよう(笑)
てなわけで,「Esc」キーで終わるようにソース改造。
またまたこの辺から,ソースがややこしく(爆笑)

ところが,そこまで来ると,どうせなら自動で終わったら,便利じゃない?
なんて思ってしまって(爆笑)
よし,時間が来たら,勝手に保存して終了するようにしちゃいましょう,なんて思いました(爆笑)
ただし,起動してから5分,なんて決め方だと,メモってる最中に終わることも考えられる。
そりゃ,だめだめすぎ(笑)
んじゃ,どうしようかなぁ。そっかぁ,「でるめも」のウインドウが非アクティブになってから,
一定の時間が来たら自動保存で終了ってのが,ベストか(笑)
んだけど,「でるめも」と他のアプリとを交互にアクティブにして,コピー&ペーストなんて
するときもあるよなぁ,だったら,一概に,非アクティブからカウントして,ってのも,
マズいなぁ。うーん。
あー,じゃぁ,非アクティブの状態が連続で何分かしたら,終わらせるってのは,どうだ?
うん,それがいい!
とまぁ,自問自答を繰り返し(笑),そういう風なものにしようと思ったのである。
さて。これ,言葉にすると簡単だけども,実際そういう「判定」をさせようとしたら,実は
とても大変なことに気づいた(爆笑)
慣れた人なら,こんなのは簡単なのかもしれない。
けど,でるが今まで作ったアプリって,そんな複雑なことしてなかったじゃん(笑)
#「でるくりっぷ」は,単純に起動から5秒で消えるとかだったし(笑)
ぅがー。

ということで,そこから本格的にソースとの格闘になった(笑)
非アクティブになる,--でも,またアクティブになったら,そこで時間カウントをやめなければならない。
まてよ…でも,そういう機能は欲しくないって人もいるかも知れないよね。
選べるようにしなきゃならないか…。ぐあぁあああっ。
じゃ,チェックボックスを付けて,その機能を使うかどうかって判定して。
あああああああああああ,でも,非アクティブかどうかの判定をしている最中に,
そのチェックをはずしたりなんかしたら??????
ぐぉー(笑)
「もしも---たら」「もし---たら」「でも---たら」…複雑に絡み合う判定要素。
ちょっと順番をミスったら,上手くゆかない(涙)
ここで,カウントを増やして,チェックがついてなければリセットかけて,
いやまて,これじゃ,このパターンには対応できない,えー,だめだー(以下エンドレス)。

いっそのこと,自動保存終了の機能のオン/オフは,次回から有効ってことにしちゃうか。
いや,だめだめだめ,今はメモに時間がかかるから,オフにしたいって,そゆの,
絶対にある(笑)
くー。やっぱりリアルタイムにチェックするしかない。

ここで,ふと気が付いた。
そっかー,実際アプリを使ったときに楽をしようと思ったら,そのアプリを作る段階で,
苦労しなきゃならないのだ
な(爆笑)
よし,ここはなんとしてでも,この機能を上手く働かせるぞー(気合い),ってなもんである(笑)
なんとか,問題はクリアできて,「でるめも Ver.1.2」となった。
完成〜。
と,ここで,またもや終わらせておけばいいものを(爆笑)
懲りない でるふぃは,またまた,ふと思ってしまう。
「でるめもには検索や置換なんかの機能は付けられない。
 でも,せっかく日付が入るんだし,そのメモを活用出来るといいよなぁ。
 いちいちフォルダからエディタで開いたり面倒だし…。
 あー,そっか。『でるめも』から,エディタに編集中のファイルを渡してやればいいんだ」
(爆笑)

えぇ,自分で自分の首を絞めるような考えばっかりしてますわ(笑)
ということで,今「でるめも」で読み込んでいるファイルを,普段使っているエディタに渡す。
というのが新しい課題(笑)
特に難しくないように思える。
んがっっ。
普通の時はいいけれど,32KB超えてしまいそうなときには,リネームするから
渡すファイル名が一定じゃない。
また「判定」かいな‥とほほ。
「自動でウインドウを閉じるチェックの判定」,「Escが押されたときの判定」,
「非アクティブかどうかの判定」,「連続して非アクティブかの判定」,
んでもって,「ファイルの受け渡しボタンが押されたのかの判定」,でもそこに,
「32KB超えそうじゃないかの判定」に「リネームされたかどうかの判定」????(涙)
ふぇえええっっ,めちゃくちゃ複雑になってきたやんっっっ(爆笑)

条件を変えてひたすら試す(笑)
ここで,チェックを外したら?とか,ここでアクティブにしたら,とか,
ここでボタンを押してみたらとか(笑)
これね,でるめもの場合,○○分経ったらって判定は,実は時計と連動してないのだ。
もしも時計と連動しているなら,Windowsの時計を進ませるなりなんなりして,
設定通りにウインドウが閉じるかどうか試せるのだけれど,時計とは関係なく,内部でカウントしてるのね(笑)←詳しくはソースを見てもらうと判るかも。すっげー力業っす(笑)
なので,実際に例えば10分経ったら消える,と設定した場合,ひたすら10分待たないといけない(爆笑)
面倒だぞ,おい(笑)<検証

ま,そうこうして,頑張って検証して,よっしゃぁ〜☆
問題なく動くことを確認。
やっとこ「でるめも Ver.1.3」が完成(爆笑)

「でるめも」プレビュー画面












ここにチェックが入っていると
  時間が来れば自動で保存終了。

こんな感じで出来上がりました。
うんうん,なんとなくウインドウズアプリケーションって感じじゃないですか(笑)

さて公開しようかと思ったけれど,有ることに気づく。
これ,mesboxという命令を使っているのだけれど,何故だかウインドウズショートカットである
Ctrl+A(つまり全部選択)ってのが効かないのよ。
だけど,全部選択って結構頻繁に使う。
うーん。なんとかしたいなぁ。でも,ウインドウズショートカットを有効にさせる方法ってどうするんだろう。
そこで,プログラマである,でるの師匠のYくんに訊いてみた。
Yくんは,でるよりあとにHSPを始めたにも関わらず,今やモジュールなども使いこなせるという人である。
「Ctrl+Aで全部選択が出来ないんだけど,どうしたら出来る様になるかなぁ?」って,
Emailを送ったら,さっそく改造したソースが送られてきた。
何とびっくり(爆笑)
Ctrl+Aの判定をしてるじゃないか(笑)
ゃ。でるが訊きたかったのは「ウインドウズショートカットを有効にさせる方法」という意味で,
Ctrl+Aが効くようにならないかなってことだったんだけど,Yくんは,HSPそのものでCtrl+Aで全選択をするプログラムを考えてくれたのであった(笑)
おー,そうか(笑)何もウインドウズショートカットに頼る必要なんてなかったんだ。
いやはや,恐れ入りました(笑)
ってなわけで,無事この問題もクリア。
ついでにプログラミング友達のGさんから頂いたリクエストEmailの中の,
「ユーザーがウインドウを閉じる時間を設定できるように」というのも取り入れてしまえってなことで,
ようやく1.4が完成。
もう,これで皆さんにお目にかけてもOKだろうということで公開となりました(笑)

なんか,ちょっとだけメモるというコンセプトで作ったのに,一番手間暇かかったような気がする(爆笑)
ぱっとみてやってることってそんなに難しそうじゃないのに,こういうものって,いろいろ大変なんだなと改めて思った。
まだまだ改良の余地はたくさんあるけど,あまりに複雑なことが出来る様になったらそれはもう「めも」ではなく,「エディタ」の領域に踏み込んでしまう。
だから,あとアップデートすることがあるとしたら,今は設定を変えるのに直接INIファイルを書き換えないといけないけれど,それを設定画面を出して簡単にするくらい,かなぁ。
とりあえず,こんなもんで,いかがっしょ?(笑)
使ってみた感想など,また教えていただけると嬉しいです。
もちろんソースつけてますから,HSPが判る人は,自分に使いやすいものに改良してくれても良いし,どんどん流用してくださいませ。

本日の感想 手のかかるアプリほど可愛い(笑)

November 25, 2000