2013年8月30日金曜日

Visual Basicはじめました

ひょんなことからその原型が1990年代後半につくられたVisual Basicプロジェクトをメンテナンスすることになりました。
Visual Basicははじめてですが、なかなかおもしろいです。
個人的に憧れの(?)Windowsアプリをちょっとしたものなら作れるようになってきていることはうれしいです。

Visual Basic6.0 -> Visual Basic2010への移行を行なっています。
ははは(笑)、これもう文法が全然違うものになってますね。
Visual Basic6.0 ⇒ Visual Basic .NETというのにあがったときに、だいぶ言語レベルでの変更がされているようです。

1. Visual Basic6.0 -> Visual Basic2008は移行ツールがあるので、それで一度あげます。Visual Basic2008を起動して、Visual Basic6.0のプロジェクトファイル(.vbp)を開きます。
2. ものにもよるのでしょうけど、コンパイル通りませんので、とりあえず無理やりにでもコンパイルを通します。
3. Visual Basic2008 -> Visual Basic2010に移行ツールであげます(No.1と似たような操作です)。ものにもよるのでしょうけど、No.2ほどはコンパイルエラーはでませんでした。
4. No.3までのものは全く動きませんでした。ひとつひとつ機能を動かしながら、ダメなところを特定して、Visual Basic2010で動くように修正していきます。
ふつうのデバッグ作業です。

おおよそ15年前の先輩方の苦労がしのばれる工夫が随所にみられます。
メモリサイズ、実行速度そういったことを気にされていたのでしょう。
(自分が作ったものもどこかで誰かが触っていることがあるかもしれないとおもうと、ちょっとゾッとしました。)

最後に、Labelの中央寄せについて書いておきます。
Visual Basic6.0は、中央寄せを指定すると、Labelを配置した位置を中心として、左右に文字列が広がっていく感じです。
Visual Basic2010では、TextAlignをMiddleCenter等にした場合、Labelが配置された領域のなかで文字を中央に寄せる感じになります。
AutoSizeはFalseにする必要があるようです。
画面の中央に揃うように表示したい場合は、上記に加えて、LocationとSizeで画面幅分の領域を指定すればよいです。

言葉だけじゃ伝わらないとおもうので、絵をかけばよいのでしょうけど、面倒なので、「中央寄せの定義が異なっています」がポイントです。
(というかこんなことブログに書かなくても周知の事実なのでしょうけど……)

0 件のコメント:

コメントを投稿