2010年09月30日

Windows 7 では16ビットソフトが使えない?

 最近、Windows Xp から Windows 7(Professional 32ビット版)に移行しようとして大きな問題になりました。
 オーツの場合、DOS のころから16ビットのコンパイラを使っており、それでコンパイルした大量の自作ソフトがあります。(普段使っている言語は、pascal と FORTRAN です。)
 メールの送信なども、自作ソフトを噛ませて、整形してから送信するようなことをしています。

 さて、Windows 7 に移行しようとしたら、これらのソフトのうち、pascal で書いたものがすべて使えなくなりました。
 chcp 932 というコマンドを入れて日本語環境にセットしても、コンパイル後の *.exe を起動すると、英語モード(?)に変わってしまって、プログラムからのメッセージがすべて読めなくなります。
 これも、厳密にいうと、メッセージを出すだけなら日本語が表示されますが、データをキーボードから読み込もうとすると、モードが変わるようです。実行が終わると 932(日本語モード)に戻ります。これでは事実上プログラムが使えません。
 仮の逃げ道としては、入力するべき文字列を temp というファイルに置いておいて、
プログラム名.exe < temp
という形で実行すればいいわけです。
 しかし、本来、プログラムの進行に合わせて、キーボードからパラメータなどを与えて実行させるのが目的ですから、このやり方では本質的な解決になりません。
 というわけで、今は Windows 7 に移行できていません。

 新しい環境に順応するには、今まで蓄えたプログラム言語(pascal)の知識を捨て、新しいプログラム言語(何がいいのでしょう)を覚え、その言語のコンパイラを購入し、すべての自作ソフトを書き直すのでしょうか。現実には仕事が忙しくて、とてもそんなことをしていられる余裕はなさそうです。
 オーツの年齢を考えると、あと十数年もすれば、今の仕事を辞めるので、その後はプログラミングはしなくてもいいのではないかと感じています。(趣味でするかもしれませんが。)
 何とか、10年くらい、今の Xp 環境でパソコンを使っていきたいと思うのですが、どうしたらいいでしょうか。
 当面は、古いパソコン(Windows Xp)を使っていますので、仕事に影響はなさそうです。とはいえ、ハード的に問題な部分もあって、新しいパソコンを買ったのですが、今はお手上げ状態です。
 パソコンのヘルプで「コンピューターの問題のトラブルシューティング」→「プログラムの互換性」からセットすると、動くように思えましたが、実際やってみた限りでは無効でした。
 ネットを探したら、同じような問題が起こっていることが報じられていました。
http://www.ciojp.com/contents/?id=00006234;t=0

 この問題は、まだまだ続きそうです。
posted by オーツ at 05:55| Comment(0) | TrackBack(0) | パソコンとIT | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック