週末プログラマのすすめ

ここでのプログラムは、コンピュータのプログラムのことである。プログラムを作っていた頃が懐かしく思えるくらい、長い時間が過ぎてしまった。今となっては、プログラムを作れる気がしない。EXCELなどOffice系アプリケーションには、MacroやVisualBASICなど、プログラミング機能が搭載されているが、今一つ魅力を感じない。昨年のクリスマスイブ、那須のペンションに出かける直前何気なく見つけてダウンロードしたフリーのプログラム開発環境のことを思いだし、触ってみることにした(2000/3)。


HSP編・・スクリーンセーバを作ったり、MP3の再生プログラムも作れるらしい。ぼちぼち、はじめた。

CGI(Perl言語)編・・ホームページの方に、CGIスクリプトで機能実装中(アクセス統計、掲示板)

LSI C-86 Ver 3.30c 試食版・・200LXでプログラムを作ってみようかと思案中(DOS2.11以上で動作)

Cygwin・・Win32上でUNIX環境を実現?


HSP(Hot Soup Processor) ver2.5

onion softwareから提供されているフリーのプログラミング環境HSPを、1999年のクリスマスイブにダウンロードした。Windows95/98以降、または、WindowsNT3.51以降で動作するとのこと。GUIアプリケーションも容易に組めるとの説明に興味を覚えた。しかも、フリーの環境で、単独実行可能な、EXEファイルを生成できるとある。これが本当なら素晴らしいことではないか?

まずは、オンラインヘルプのメンテナンスから

昨年末にダウンロードしていながら、今頃(3月1日)になって、思い出して触ることになる。今まで、放っておいたのは、プログラムを組む必要性が無かったし、また、ホームページを作ることに比べて敷居が高かったこともある。いざ、触って見ると、HTML形式のヘルプがほとんど開けない。大文字・小文字が変わっていたり、長いファイル名のお尻が切れていたりでリンクが取れない状態になっていた。まずは、ヘルプを見る事ができるように、リンクのファイル名を実態に合わせて書き換えることからスタート。しかし、ファイル名を短かくする過程で、それ以上の長さで識別されていた複数のファイルは1ファイルしか残っていないことが判明。しかし、大勢に影響は無いだろうと、たかをくくる。

簡単なプログラム(らしきもの)を作ってみる

1)IEのキャッシュ領域に残るJPEG画像を次々表示するプログラム

何か簡単なプログラム(らしきもの)を作ってみたいのだが、何を作っていいのか思い当たらない。簡単なものしか作れないであろうし。少し考えたあと、目に見えた方が面白いので、画像を表示するものにトライする。とりあえず、Internet Explolerのキャッシュ領域に残る画像(JPEG)をサーチして表示するプログラムを作ってみよう・・。picloadという命令があり、画像ファイル名を指定するだけで、ウィンドウに表示させることができる。表示させる、ファイル名をサーチするところが、プログラムの大部分となる。

IEのインターネット一時ファイルの保存フォルダは”C:\WINDOWS\Temporary Internet Files”になっている。エクスプローラで開いて見ると、クッキーとおぼしきファイルに混じって、GIFやJPEGファイルが存在する。しかし、プログラムでいくら検索してもGIFやJPEGファイルが見つからない。ファイルの検索を実行してみて驚いた。エクスプローラでは、上記保存フォルダ直下に存在するように見せているが、実際は、そこのContent.IE5というフォルダ下に、さらにフォルダで分類されて保存されていることが判った。また、良く説明も見ないで作り始めたので、ディレクトリパスを指定する際の¥の記述方法でもしくる¥は制御文字として認識されるので、文字として¥を入力したい場合は、\\と二つ入力しなければならないのだ。

C:\\WINDOWS\\Temporary Internet Files\\Content.IE5\DIRxxx1\yyy.gif
                                \DIRxxx2\zzz.jpg

では、その恥ずかしいプログラム(らしきもの)を紹介しましょう。まず、Content.IE5下のディレクトリを探し、次に、各ディレクトリ下の画像ファイル(今回はJPEGファイル、*.jpg)を探し、次々と表示するというものです。GIFファイルも表示させようと手を加えたら、プログラムが落ちてしまいます。首をひねった挙句、オンラインヘルプを見ると、画像表示用のpicloadで表示できるファイルフォーマットは、JPEG、BMP、MAGの3種のみで、GIFには未対応だったのです。納得。

1)IE5のキャッシュエリアに残るJPEGファイルを次々と表示するプログラム
sdim ib,16000            ;ディレクトリ検索用バッファ
sdim fil,128               ;表示ファイル名格納用バッファ
sdim dnam,128,256    ;ディクトリ名取得用バッファ
sdim dirp,128
sdim ie5cdir,128
;
ie5cdir="C:\\WINDOWS\\Temporary Internet Files\\Content.IE5"
;
;------------------------------------------------------
; IE5のキャッシュエリアにあるディレクトリを検索する
;------------------------------------------------------
chdir ie5cdir
dirlist ib,"*.*",5              ;5はディレクトリのみ検索
if stat<3 {
    end
}
notesel ib
dn=0
repeat    stat
    noteget dnam.dn,cnt
    if dnam.dn!"." {
        if dnam.dn!".." {
            dn++
        }
    }
    if dn=255 {
        break
    }
loop
;--------------------------------------------------
; 各ディレクトリ毎に、JPEGファイルを検索し表示する
;--------------------------------------------------
if dn<1 {
    end    ;ディレクトリが1個も無いので終了
}
repeat dn
    dirp=ie5cdir+"\\"+dnam.cnt
    chdir dirp
    dirlist ib,"*.jpg",1    ;dir,sys,隠しを除く全てを検索
    fc=stat             ;fc にファイル数が返る
    repeat
        if fc<1 {
            break
        }
        fc--
        noteget fil,fc
        picload fil,0
    loop
loop
end

2)会社のメールサーバの転送設定のon/off環境を生成するプログラム

完成。転送設定は、出先や自宅などで会社のメールを読みたい時に、モバイルでアクセス可能は個人のメールアドレスへの転送設定を簡単に行う、または、転送設定を簡単に解除するための環境を各人のパソコン内に生成するプログラムである。プログラムでは、転送したいE-Mailアドレスと、会社のメールアカウント&パスワードを入力させ、それらの情報から、on/offを行うプログラムと設定ファイルを生成します。


Copyright(c) 1998-2000 Mujina All rights reserved.