| でるめも話 |
◆例えば,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