というわけで、そんなタワシが作った REXX スクリプト/REXX用ライブラリを紹介しよう!なぜなら…
eff の1行入力ルーチン(クラスだけど)を、REXX で使用できるよう、DLL化したものです。あいにく、かんなが使えませんが、ヒストリやファイル名補完などの機能は eff 同様に使用できます。
call RxFuncAdd 'effinput','effinput','effinput'
answer = effinput('Prompt:','DefaultValue')
てな感じで、REXX から使ってください。
| DLLファイルのみ | 16,109 Jan 08 11:55 effinput.zip |
| ソース込み | 72,069 Jan 02 10:39 effinput-src.zip |
DLL は単独で配布するのも、他のソフトに添付するのも全くの自由です。作者(葉山)に連絡する必要もありませんし、effinput のソースやドキュメントを添付しなくても構いません。また、http://hp.vector.co.jp/authors/VA009797/rexx/effinput.zipに直接リンクを張っても構いません。
なお、使用には 例によって、0.9d FIX02 以降のemx.dll , emxlibcs.dll , emxwrap.dllの三点セットが必要です。
CDRecord/2で、CD-R を焼こうとする場合、「.」が複数ついていたり、日本語ファイル名が入っていたりして、意図通り焼けない場合が多々あります。で、本プログラムは
などして、CD-R に焼けるファイル名に改名するのを支援する REXX スクリプトです。EAs,I doがある場合、以前のファイル名を拡張属性 .HISTORY に「rename from 旧ファイル名」という形で保存できます。なお、ディレクトリ名がひっかかる場合はお手あげですので、手動でお願いします。
誰か CDRecord/2 を日本語対応にしてくれぇぇ!
使用には、effinput.dll ,0.9d FIX02以降のemx.dll,
OS/2 で普及しているフリーの開発環境として emx/gcc があり、利用している方も多いと思います。しかしながら、OS/2 magazine 休刊後、定期的に最新版をCD-ROMにて供給する媒体がなくなった為、プログラム開発側と利用側で、使用する DLL(ダイナミックリンクライブラリー)のバージョンが合致せず、動作しないというトラブルが見受けられるようになりました。
こういう場合、インストーラー等で、emx のバージョンが古いという旨の警告を出してやるのが親切というものでしょう。
そこで、emx 付属の emxrev.cmd を参考に、プログラム開発側の想定したバージョンの DLL が存在するかをチェックするスクリプトを REXX で作成しました。本プログラムはフリーウェア開発者がインストーラーなどに組み込むことを想定したものです。
など、本プログラムは karl 1.15 にも含まれています。(ドキュメントは入ってませんけど)
C言語のファイル中の不要な #include <〜>を列挙するREXXスクリプトです。emx/gcc専用で、かつ、grep が必要となります。内部で鬼のように gcc を呼び出します。
VFAT の LONGNAME を、EA の LONGNAME にコンバートします。
別に VFAT を解析するわけではなくて、Windows95 上で「dir /s \ >vfatdir」を実行して得られたリダイレクト出力を読んで、各ファイルの拡張属性に書き込むだけの単純なプログラムです。
さて、実際のところ、それほど嫌いなのに何で使っているかというと、
などの点が見過ごせないからである。(とは言いつつ、拙作のEAs,I doを用いれば、拡張属性の操作は perl でも awk でも出来るのだが…)
特に perl とか awk などはいくら慣れているといっても、配布する際、perl や awk がインストールされているのはまず期待できない。使用者に予備知識無しに使えるスクリプト言語は、悲しいかな、今のところ REXX だけなのである。
最近は Java でやろうかとも考えているが、Java は Warp 4 以降が標準なので、ちょっと使えない。OS/2 を使っている限りは、標準スクリプト言語たる REXX とつきあっていかねばならんのだろうなぁ〜。