その2(日本のパソコンの歴史)その顧客のマシンはIBMのPC750というパソコンです。ここで日本のパソコンの推移を少し振り返ります。日本で最初に普及したパソコンは、NECのPC-9801シリーズで、アメリカのPCを基本にはしていますがNECの独自仕様のもので、他メーカーのPCとはソフトの互換性がありませんでした。これに対し、1983年に米マイクロソフトとアスキーが共同で発表したのが、「MSX」というパソコンの共通規格でした。それに基づき、80年代複数のメーカーからMSXの仕様に沿って作られたパソコンが発売されました。このMSXパソコンは、キーボード一体型をしており、任天堂初代ファミコンのように、ソフトカセットをガチャンと差し込むスロットがありました。ファミコンの場合はカセットは基本的にはゲームカセットだけでしたが、MSXのスロットはゲームカセットも使えますが、現在のPCの拡張スロットに相当し、フロッピーディスクドライブやその他の周辺機器を接続することもできるものでした。当時NECのPC-98は20万円以上もしましたが、MSXは2~3万円で購入できたので、私も手に入れることができました。一つの大きな特徴として、NEC等通常のPCは専用のディスプレイが必要で、これも結構高価でしたが、MSXは家庭のテレビに接続できたので、出費を節約できました。(その代り、画面解像度は低いものになりましたが)私はこのMSXで娘と一緒にゲームを楽しんだりしましたが、BASICやマシン語などプログラムの勉強もし、将棋ソフトも作りました。(実は、初代MSXは知人に譲りましたが、2台目のMSX2マシンは今でも棚の奥に眠っています。)MSXは個人ユーザーには結構普及しましたが、やはりゲーム機というとらえられ方が多く、企業で使われることは殆ど無く、本格PCの市場は依然としてNECの独占状態でした。そこで1990年に日本IBMが「DOS/V」(ドスブイ)という、パソコン用のOSを発表しました。当初私も含め多くの人はこのOS発売の重要性に気づかず、それまでにあったIBM版日本語PC-DOSの単なるバージョンアップ品だと思っていましたが、そうではなかったのです。PC互換機がパーソナルコンピュータ市場の標準機となっていました。PC互換機と相互に互換性が無い時代が続きました。(携帯電話と同じで、ガラパゴス状態でした。PC互換機を普及させることがIBMの狙いでした。PC互換機を次々と発売するようになったのです。DOS/Vマシンが日本市場をどんどん拡大していきました。NECは依然として独自路線で抵抗を続けましたが、世界標準の波には逆らえなくなり、PC-98仕様は消え去り、今日に至っています。PC互換機をどんどん発売しました。DESKPOWERシリーズがよく売れ、ついに私も妻の許しを得て、購入しました。OS/2が供給されていました。Ver.1.3からはMicrosoftが手を引き、IBM単独開発となりました。最終バージョンのWarp4は2002年まで出荷されていましたが、2005年7月にIBMは正式なサポート終了通告を発表し、2006年12月末をもって通常ルートのメンテナンスを完全に停止する事となりました。前回の記事にも書きましたが、OS/2は非常に安定したOSだったので、金融系などの基幹システムにも多く採用されていました。IBMがもしMicrosoftと仲良く続けられたならOS/2が今のPCの主流OSになっていたかもしれませんが、ハードウェアメーカーでしかも大きな企業しか相手にしない体質のIBMと、ソフトウェアメーカーでエンドユーザーを重視したふり?のずる賢くて無責任な体質のMicrosoftとは「水と油」であり、上手く行かないのは当然の結果でした。OS/2はMicrosoftに潰され、現在のようにWindowsによるMicrosoftの独占状態になりました。CADAMもこのシステムで多く稼働していました。PS/55の時代はまだCD-ROMが普及しておらず、搭載していたのはフロッピーディスクドライブだけでした。HDDは内蔵していましたが、1GBにも満たない容量でした。今回のPC750は、先述のDOS/VマシンとしてIBMから発売されたPCで、CD-ROMドライブを搭載しており、HDDの容量は1.6GBでした。本題に戻りますが、顧客によると、一部の表示が消えその機能が使えなくなったとのことだったので、おそらくOSの一部が壊れた、即ちHDDの一部が損傷していると予想し、代わりのHDDの準備をしようとしました。現在手に入る新品のHDDはS-ATAであり、最低でも500GBのものとなり、昔のPCでは使えない可能性が高いので、中古品を準備することにしました。当店でもたくさんの中古HDDを保管していたのですが、さすがに1GB・2GBのものは再利用することは無いと思い処分していました。店中探し周り、一番容量の少ないものが6.4GBでした。一応HDDのテストをし、使えることを確認しました。Warpのプログラム・ディスクは保管していました。先のHDDとOS/2を持参し、客先で再インストールすることになったのですが、やはり問題が発生しました。0Pagetopうん十年ぶりにOS/2をインストールした!(前置き)久しぶりの更新です。若い人はOS/2って知らないでしょうね~遡ること30年前に、MS-DOSの後継OSとしてOS/2は誕生しました。MS-DOSが文字ベースのシングルタスクのOSだったのに対し、OS/2はグラフィック・インターフェースのマルチタスクという、当時としては画期的なOSの誕生でした。私は、サラリーマンをしていた時、機械設計業務をしていて、最初の頃はドラフター(製図機)を使って手で図面を書いていましたが、その内CADシステムが登場し、コンピュータを使って製図するようになり、現在では殆どドラフターは使われなくなりました。そのCADシステムの走りがアメリカのロッキード社が開発した「CADAM」というシステムです。当時はパソコンというものがまだ無く、4畳半の部屋を占有するような、大きな汎用コンピュータで実行されるソフトで、CAD室という特別な部屋で製図をしていました。このCADAMが日本でも普及するようになりましたが、高価なシステムなので簡単に購入できるものではありませんでした。CADAMは、最初MS-DOS版(バージョン1)でしたが、OS/2の登場によりOS/2版(バージョン2)ができました。CADAMを使う目的でOS/2にも関わることになったのです。当時はまだ小さなコンピュータといっても、個人レベルで買えるような安価な「パソコン」ではなく、結構高価なものでした。CADAMは、基本的にはIBMの「パーソナル・システム」というコンピュータとセットで販売されていて、今のパソコンのように最初からOSもアプリも入っていて、すぐに使えるようなものではなく、ハードウェア本体とOSとCADシステムはそれぞれ別商品で、しかもOSやCADのインストールも専門技術者に依頼して、システムが使えるようになります。それぞれが結構高価なものでした。私は、日本で初めてパソコンが発売された時から興味を持っていましたが、当時は高価で買うことはできず、安いMSXというパソコンが発売され、初めて手にしました。MSXを使ってパソコンの勉強をし、プログラミングの勉強もしました。(全て独学ですが)会社にもパソコンが導入されるようになり(主にNECのPC-98でしたが)、MS-DOSの勉強をし、BASIC等でプログラムも書くようになりました。CADAMのインストールもできるようになり、CADシステムのインストールを販売店に依頼する必要もなくなり、会社の経費を節約できるようになりました。そこでOS/2の話に戻りますが、当時はOS/2のインストールを何度も行いました。当初は、OS本体はフロッピー・ベースで、10枚以上ありました。インストールするには、そのフロッピー・ディスクを次から次へと入れ替えねばならず、かなり時間のかかる作業でした。Warp」というバージョン3が出た頃には、CD-ROM版も発売され、だいぶ楽にはなりました。当初はMS-DOSの後継OSはOS/2という事でMicrosoftも同意していたのですが、OS/2を開発していたIBMとMicrosoftが決裂してしまい、Microsoftは「Windows」を出すことになるのです。商売の下手なIBMはMicrosoftに負け、OS/2は衰退の道をたどるのです。Windowsは今日でも不安定なOSで、すぐにフリーズするような不完全なOSですが、OS/2は動きも軽く、殆どフリーズしない非常に安定した優れたOSでした。世の中他の商品でもそうですが、優れたもの・良いものが勝ち残るとは限らないのです。OS/2がWindowsに勝ち残っていたら、現在のパソコン事情はかなり変わったものになっていたと思います。CADAMもWindows版へと移っていくのですが、Windows版は不安定で動きも遅く、OS/2版の方が早くて使いやすいものでした。多くの人は我慢してWindows版に移行していきましたが、それでも頑固にOS/2版を使い続けている人もまだおり、私の顧客でその人が久しぶりに連絡をしてきて、OS/2がおかしくなったということでした。それで、うん十年ぶりに、再度OS/2をインストールするという事態に至ったのです。先日パソコンのインターネット接続設定のご依頼があり、出張してきました。ノートPCで、Wi-Fi接続ですが、何時間かけても接続できないということでした。インターネット回線はドコモ光です。光端末にELECOMの無線ルーターが接続されており、無線ルーターとPCの無線LAN接続まではできていました。無線ルーターの設定画面を出し、接続IDとパスワードを入れれば終わりのはずですが、設定画面が出てきません。通常はルーターのIPアドレスをブラウザのアドレス欄に入力すればログイン画面が出てくるのですが、出てきません。「ルーターをリセットしてください」の表示が出たのでやってみましたが、やはりだめでした。有線LANで接続しようとしましたが、お客様のノートが小さい薄型のモバイルノートで、LAN端子がありませんでした。しかたがないので、持参した私のノートで繋いでみたところ、ブラウザを開いたら設定画面が出てきました。あとはIDとパスワードを入れ、設定および接続は完了しました。結果的に分かったのですが、どうもこのルーターは無線LAN接続では設定できない機種のようです。NTTのルーターでも同じ経験がありますが、私がPCを持参して正解でしたが、お客様のPCだけではいくらがんばっても設定できなかった訳です。0Pagetopタブコントロールでキー入力イベントが発生しない!?商品管理ソフトではタブコントールを使って、[商品検索]画面と[新規入力]画面を切り替えています。[商品検索]で検索キーワードを入力し[検索実行]ボタンをクリックすると検索結果を表示できます。ここでも、マウスを使わずキー入力で検索実行できた方が早いので、ショートカットキーを設定しようとしました。フォームの[キーボードイベント取得]を「はい」に設定してあるのですが、キー入力イベントが発生しないのです。見落としがないか何度もコードをチェックしましたが、ありません。そこでいつものようにWEBを探したところ、同じ問題を指摘している記事がひとつだけ見つかりました。2010ではこの問題が起こり、2007では起こらない模様です。私の開発環境も2010です。結局、解決方法は載っていませんでした。しかたがないので、他の方法で目的を達成することを考えることにしました。検索タブの中の一部のテキストボックスでは、数字しか入力を受け付けないようにKeyPressイベント・プロシージャを使っており、同じ機能を別モジュールでもよく使うので、標準モジュールに記述し呼び出していますが、ちゃんと機能していました。いうことは、標準モジュールを使い関数的に作ればうまくいくかもしれないと思い、やってみたら正解でした。0Pagetop開いたフォームがアクティブにならない現在運用中のPOSレジソフトを少し変更することにしました。従来は、販売処理完了後メッセージボックスを表示させ、確認後レジ画面を初期化していたのですが、メッセージボックスは小さくて目立たないので、新しくフォームを作りそこにお釣りを表示させることにしました。それ自体簡単なことなのですが、問題が発生しました。メッセージボックスの時はそれがアクティブになっていたのに、フォームに変えたらアクティブにならないのです。アクティブだとキー入力を受け付けますが、そうでないと受け付けず、マウス・クリックが必要となるのです。レジ処理はできるだけ迅速に行う必要があり、できるだけマウスを使わずにキー操作でできるように設計しています。VBAからではなく単純にフォームを開くと、当然ですがそのフォームがアクティブになります。メインフォームのVBAからそのフォームを開くとアクティブにはならないのです。試行錯誤し考えた結果、フォームを開く元のイベントがGotFocusだったからということに気づきました。メイン・フォームのコントロールがフォーカスを取得したときのイベント・プロシージャで他のフォームを開いてもフォーカスは移るはずがありません。いうことで、別のイベント(キー入力)プロシージャに処理を移し、そこから開くようにしたらアクティブになりました。私よりも上級のプログラマーなら当たり前の話かもしれませんが、意外な落とし穴でした。