VB5をやってみた 
寄り道しながらもまた HSP のプログラミングに戻ってきたでる。
ご存じの通り,でるは TeraPad というエディタのヘルプを作っていて,
TeraPad ラブな人間だけど,そのツールの制作にも関わるようになった。
一発芸ツール量産(爆笑)
まぁ,ほんと,人様が使ってくれるツールを自分が作れるとは,
過去の自分には想像できなかった現在である(笑)

HSP と,コンソールアプリを作っていたときの C/C++ っていうのは,
ある部分 とても似ている。
つまり,自分でガシガシとコードを書いていくという点である。
自分の書いたものが全てであり,その通りに動いてくれる。
# ちゅか,動かない事の方が多かったりしたけど(爆笑)<思い通りに

そゆところ,すごく「自分で作ってる〜」っていう気持ちが大きい。
電卓片手に(Windows に付属の「電卓」でなく,本当の「電卓」),
HSP でウインドウ上のボタンの位置を計算したりしてるときも,
めんどくさくはあるんだけれど,0から作り上げているような気分が楽しい。
そういうところが,HSP にでるが馴染んだ理由なのかなぁと思ってみたりもする。
プログラミングっていうと,自分より遠いところのものだと思ってたけど,
HSP はミョーに近しい感覚なのだ(笑)

さてさて,そうして,HSP にまた没頭し始めた頃,
ひょんなことから,VB5を触れることになった。

VB は現在のところ6が最新バージョンであるから,5っちゅのは一世代前,
それも Windows95世代に活躍していたものである。
さて,新マシンと旧マシン,どっちにインストールしようか,と思った。
当然新マシンの方が頭の回転がいい。
しかし,まてよ。
VB5ってのは,新マシンに入れていいのか?という疑問がわく。
つまりは,Windows98が無かった時代に作られたものを,
Windows98の環境に放り込んで大丈夫なのかと。
いろいろネットで調べてみる。
すると,とんでもないこと発覚。
VB5というのは,Internet Explorer4.01が入っている環境ですら対象外なのだ。
もちろん,もともと,VB5が出た当初は Internet Explorer4.01なんて無かったから,
当たり前といっちゃ当たり前なんだけど,こういうアプリケーション開発ソフトの場合,
システムファイルが新しいものに置き換わっているとマズいらしい。
てなことで,一番いいのは「素」の Windows95環境をつくってやって,
そこに VB5を入れる,ということみたいだった。
うちの旧マシンは,Windows95である。
でも,その後 Internet Explorer5.5も入れているし,様々な Office ファミリーも入れている。
# 実は,Office ファミリーを入れても,システムファイルが変更されるので
# これまた VB5の環境としてはよろしくないらしい。

うーん,仕方がない,旧マシン,フォーマットするか(爆笑)
お仕事ファイルはほとんど入っていない旧マシンだし,データは D ドライブ以降に入っているから,
C ドライブだけのフォーマット,Windows95の再インストールは,すぐにできる。
手慣れたものです,ちょいちょい(笑)<再インストール
VB5も入れてみました。

早速起ち上げてみます。
おー,なんか,すごい。
# どんな感想や(笑)
いろいろサンプルを試してみます。
なるほどなー,しかし,HSP とは全然勝手が違う。

そう,書籍から入る でるふぃ,これまた書店を歩き回り,VB 関連の本を数冊買ってみた(爆笑)
そして,書籍片手に見てみるけれども,とにかく膨大なのである。設定箇所が。

とりあえず,何か一つ作ってみないと判らないので,
自分の作った HSP 製アプリの移植を試みてみた。
コマンドラインパラメータ一発作成ツールである「add_tpst」。
これを,VB5に移植しながら,勉強してみようと。

えーと,VB ってのはさすが Visual と名が付くだけあって,ヒジョーに Visual である(爆笑)
つまり,HSP のときには電卓片手でやっていた,ボタンやコンボボックスの配置が,
マウス一つで楽々可能なのである。
ぅわ〜。こりゃ楽だわ。
あっという間に「add_tpst」の外観が仕上がった。
さて,じゃぁ,一つ一つの項目について動作を書いていこう,
と思いきや,うー,やばい,なんだこれは。
いきなり壁だ(爆笑)

先に書いたとおり HSP っていうのは,自分でコードを書いていくので,
原則的には上から下への流れである。
なので,最初からコードを辿っていけば,何をやっているのか,というのは判りやすい。
でるが,いつもやっている「紙とボールペン」でのルーチン書きも,
それ故に可能になっていることである。
ところが。
VB ってのは,どーもコードが(ある程度)自動で生成されるらしい。
でもって,そのコードってのが,かならずしも上から下へという流れではないのだ。

VB は例えば「マウスでボタンが押された」というイベントに対して,
「ダイアログを出す」というように,イベントごとにプログラム処理を実行するらしい。
# こゆのをイベントドリブン型というそうだ。
つまり,コードの前後関係(流れ)というのは関係無く,
・ボタンが押されたとき
・ A のリストから1つ選ばれたとき
・ B のチェックが入ったとき
などという「イベント」のl一つ一つに対して,その時にどう処理させるかを書いていけばよいことになる。
要するに,A というイベントが起きたら○○,B というイベントが起きたら△△,
C というイベントが起きたら××,という「イベント」と「処理」の一対一の関係が決まっていれば,
A → B → C の順にコードを書こうが,C → B → A であろうが,はたまた,B → A → C であろうが,
なんだっていいんである(笑)

んで,ここが問題なのだけれども,思いつくままやっていくと,
あとで,自分のコードを見たときに,どこにどの処理があるのかが
判らなくなってしまうのだ(爆笑)

なまじ自動生成されていくので,HSP のように自分で0から書き始めるものと違い,
流れが掴みにくい。
仕方ないので,一度自動生成されて,それに書き加えていったコードを,
エディタで開き直して,もう一度全体の流れに沿って順番を変えてみた(爆笑)
# なんだか,これじゃ,意味がない。

まぁ,そんなこんなで,途中やっぱりいろいろなことにひっかかり,
友達の助けを借りつつも,無事,自分の「add_tpst」の移植完了。
慣れると,ボタンの配置などに時間を取られない分早いと思う。
あと,相手の PC に run time が入っているのを前提とするならば,
HSP よりも,配布時のファイルサイズは画期的に小さくできる。
run time 同梱だと,VB で配布よりも,HSP での配布の方が楽だろう(笑)

さて。
VB を真剣に勉強するかどうか。ちょち悩みどころである。
HSP と違った魅力はある。
ただ,今のままで VB5だと,新マシンに入れられないので,これはネックだ。
VB6を買わないといけないだろう。
ところが新規で買うとするならば,もう一つ選択肢がある。
そう,Delphi だ。
# このころ,まだ Delphi 6 Personal の無償配布の情報は無かった。

VB 人口が多いと言われる中で,何故だかでるの友達には,実は Delphi な人が多い。
だから,もしも,でるが Delphi を始めたとしたら,相談に乗ってくれる人が多いので心強い。
TeraPad も Delphi 製だ。
だとしたら,TeraPad のツールを作るなら,Delphi を勉強するのが確実だろうし,
Team-TeraPad-ML へのサンプルプログラムも Delphi で作られたものがあがってくる。
うーん。
VB6を買う魅力ってのが無いなぁ,それならいっそのこと Delphi 買おうかなぁ。
てな感じで考えてた。

そんなある日。
Delphi 6 Personal の無償配布のお知らせが耳に届く。
なんですとーっ !?

Personal 版は,Professional 版以上に比べると入っていない機能も多いし,
シェアウェアも含めて商用アプリが作れない。
んが,しかし,そもそも商用アプリを作る気なんて毛頭無いし,
Professional 版以上にしか無い機能だって,でるが使いこなせるとは思えない(笑)
だったら,Personal 版で充分じゃん。
ということで,VB6を買うのに待ったがかかり,Delphi の無償配布待ちとなったのであった。

今日のことわざ 待てば海路の日和あり

19 October, 2001