ほわっと "time"? 
サンプルソースの切り貼りだけでなく,
ここらでちょっとこれからの方向性を決めて取り組もう,と考えた。
記念すべき第一号のアプリはどういうものにしよう。
最初「文法間違いって?」にも書いたサンプルは時計だったんだけど,
時計ってずっと動いているよね。
これはちょっと初めてにしては苦しいかもしれない。
もっと一発芸なアプリの方がいいなぁ,なんて思う。
そこで,時間を取得するという部分を そのまま利用できるものを考えた。
これで,コンセプトは決まったも同然(笑)
現在の日時分をクリップボードにセットする
という,今の「でるくりっぷ」の原型,である(笑)

命令の説明を見てたら,ラッキーなことに「clipset」という,
クリップボードに文字列を送るというものが用意されていた。
おっしゃー,時間を取得してそれを送ってやればOK〜♪
と,考えた でる。
んが,しかし(笑)
やっぱり事は そう簡単に運ばないのであった(爆笑)

ヘルプには,
clipset "strings"
"strings" : クリップボードに送る文字列
・説明--"strings"で指定した文字列を、クリップボードに送ります。
と書いてあったのだな。
でるが,今送りたいのは取得した時間の文字列。
あらかじめ
time=""+d2+"月"+d4+"日 "+t1+"時"+t2+"分"
という変数を作っておいたので,
上の説明でいくと,「strings」に,変数「time」を代入すればいいわけだ。
clipset "time"
これで決まり,である(笑)
てなわけで,出来上がったソースをコンパイル実行!

ふっふっふー。
これで,クリップボードには現在の日時分が入ってるはずさっ♪
どれどれ,エディタを起ち上げて貼り付けしてみましょー。
ってんで,TeraPad起ち上げ,おもむろにCtrl+V(貼り付け)。

ぉ?
ぉお?
ぉおお?(驚愕)

そこに出た文字は time であった(爆笑)
なんでやねん,どーゆーことやねん(笑)
確かに,timeが訊きたかったのだ。
だけど,timeは訊きたいけど,timeって文字をクリップボードに入れて
どないすんねん〜〜〜〜〜〜〜〜っ。
#自分の作ったアプリに,自分でツッコむ情けなさよ(涙)

や。もしかしたら,クリップボードの調子が悪いのかもしれない(笑)
気を取り直して,もう一度,コンパイル実行〜〜〜〜っ。
これでどうだ!
Ctrl+V!

ぉ?
ぉお?
ぉおお?(驚愕)

time!(爆笑)

だーかーらー,時間を教えろっちゅーねん〜〜〜〜〜〜〜〜〜〜〜っ。

とにかくエラーが出ないので,何を変えていいのか判らない。
"strings"で指定した文字列を、クリップボードに送ります,
って書いてあるから"time"って変数を指定してるんやろぉ。
変数ちゃんとひろってこんかぁあああ,だぁあほぉおおおっっ(絶叫)

何度も何度も試すけど,無情にも「time」としか返してこない。
あぅっ。
そうか,これはもしかするとclipsetの命令は,
固定の文字列をクリップボードには送れるけど,
毎回値が変わる変数は扱えないのだな…。

と,勝手に解釈した。←めちゃくちゃやん(汗)

クリップボードにセットできなければ,でるの作るアプリは成り立たない(笑)
これはなんとかせねばと,ネットを探してみたら,
クリップボードに文字列をセットすることが出来る
「Hot Soup Processor」用の とあるDLLを発見!
おぉ,こういうものがあるってことは,やっぱり,元からのclipset命令は,
変数は扱えないんだと(またもや勝手に)判断し,
さっそくそのDLLをダウンロード。

それを使うようにソースを書き換え,いざコンパイル実行。

ぉ?
ぉお?
ぉおお?(驚愕)

*月*日 **時**分

出ッたぁ♪
ばっちり,である(笑)

嬉しくて嬉しくて,さっそくEXEファイルを作ることに(笑)
でるふぃアプリ,第一号だ。
は〜,本文たった20行のソースだけれども,ちゃんとEXEファイルに出来る。
イラストも描いた,アイコンも描き替えた。
Readmeまでつけた(笑)

感動ぅ,なんであるけれども,
実は問題はまだまだ山積みだったんである(笑)

その問題については,次のエッセイに回すけれども,
結局何故clipsetの命令が使えなかったのか,
その説明を最後にしておかなければなるまい(笑)

でるがアプリを作ったのと同時に,実はSさんもアプリをつくってらした。
それで,そのアプリもクリップボードに日時分をセットということをしていたのだが
ちゃんとclipset命令で動いているようだ。
なーんで,でるは駄目なのに?
と,よぉく,みてみた。

わ(笑)

もう,話はものすごく簡単なことであったのだ。

でるは
clipset "time"
としていた。
でもtimeとしか出なかった。
それは,「"(ダブルクォーテーション)」で囲んでいたので,
timeを変数としてではなく,文字列として認識されてたかららしい(爆笑)
つまり,
clipset time
こうすれば良かったのだ(笑)
ぐぁー,こんな単純なことだっただなんてっっっっ。
#がしかし,単純なことでひっかかるのが初心者でぃっ(笑)

試しに
clipset time
で書き直してやってみる。
ダブルクリック,あーんど,Ctrl+V!

*月*日 **時**分

(爆笑)
いともあっさり出ました(笑)
なんだ,なんだ,なんだーっっ。
DLLまでダウンロードしてきたのに〜って(笑)

「"(ダブルクォーテーション)」
たったこれだけで,結果がこれほど変わるとは,
恐るべしプログラミング。
#ちゅーか,ほんま向いてないんちゃうんっ(笑)<でる

文字列,変数,
文字列型,数値型,

この辺りの区別の問題が,これから先もでるの前に立ちはだかるわけで,
初っぱなからここでつまずいているのが,ヒジョーに暗示的な出来事であった。
んーむ。
文系頭には,かなり辛いですよ?(笑)

ってことで次のエッセイに続くのである〜。

本日の教訓 あなどるまじ「"(ダブルクォーテーション)」(爆笑)

October 08, 2000