OS/2の小道具

 OS/2 Warpのプログラミング言語REXXを使い、いくつかプログラムを作成して使用しています。本当に小さなプログラムばかりですが、結構便利に使っています。
お断り
 以下のプログラムの営利目的以外の使用にあたっては使用制限を設けませんが、使用者自身の責任の下に行ってください。私(kyo)はいかなる保証も致しません。また、プログラムを使用したことによって生じた損害を補償する義務も負いません。ソースを改変しない限り、転載は自由に行ってください(誰もしないと思いますが(^^;)。

  1. 作成・動作環境
  2. インストール
  3. 始動フォルダーで使うREXX
  4. フォルダーのメニューで使うREXX
  5. Drag & Dropで使うREXX 1999.5.16
  6. 算術関数
  7. 計算関連1:多倍長計算
  8. 計算関連2:その他
  9. コマンドラインから使用するREXX 2000.12.17
  10. 文字列関数 1999.10.9
  11. REXXのTRACEコマンドをパラメータで指定
  12. 参考文献

作成・動作環境

 自分のパソコンのOS/2 Warp4JのClassic REXXで作成・動作確認しました。Object REXXでは確認してません。m(..)m その他の動作条件は、個々のプログラムを参照してください。
なお、ファイル分割については、PC-DOS 7.0/VのREXXでも動作可能なようにコーディングし、動作確認しました。

ページの先頭

インストール

 基本的に、ソースを適当なディレクトリにデータファイルとしてコピーして、プログラムオブジェクトを手動で作成してください(テンプレートのOS/2コマンドファイルの存在を忘れてました(^^;)。パラメータの説明は各プログラムで行っています。
 時間が空けば、インストーラを作成する予定です。

ページの先頭

始動フォルダーで使うREXX

 始動フォルダーにプログラムオブジェクトを入れて使用するREXXです。

  1. ランダム壁紙:デスクトップの壁紙をランダムに変更します。
  2. ランダム壁紙ループ:一定時間毎にデスクトップの壁紙をランダムに変更します。
ページの先頭

フォルダーのメニューで使うREXX

 フォルダーのプロパティのメニューで指定して使用するREXXです。

  1. フォルダーのランダム壁紙:フォルダーを開く時に壁紙をランダムに変更します。
ページの先頭

Drag & Dropで使うREXX

 デスクトップ、あるいはフォルダーにプログラムオブジェクトを置き、オブジェクトのアイコンをその上にDrag & Dropして使用するREXXです。OS/2では、アイコンをDrag & Dropするとそのオブジェクトのファイル名が最初のパラメータとして渡されます。

  1. Attrib -r:ファイルの読み取り専用属性をオフに変更します。
  2. Archive list:圧縮ファイルのファイル名一覧を表示するプログラムを起動します。
  3. Extract:圧縮ファイルを解凍するプログラムを起動します。
  4. フォルダーのランダム壁紙(再):フォルダーを開く時に壁紙をランダムに変更します。Drag & Dropでも使えます。フォルダーアイコンを、プログラムオブジェクトにドラッグ&ドロップしてください。
  5. Browsing archived image files:圧縮ファイル内の画像のサムネイル付きビューアです。 1999.1.30
  6. ファイル名小文字化:ファイル名中のアルファベットの大文字を小文字に変換します。 1999.5.16
ページの先頭

算術関数

 REXXにはあまり算術関数がありません。そこで、平方根、対数、三角関数を作成してみました。近似ですので正確な訳ではありませんが、そこそこ使えると思います。
 実はこのソースは、元々IBMの大型計算機環境で開発したものです。それがそのままパソコンでも動いている訳ですから、REXXの移植性はすばらしいです。

  1. 算術関数群:算術関数をまとめてあります。
ページの先頭

計算関連1:多倍長計算

 REXXでの多倍長計算のプログラムです。

  1. e:自然対数の底eを計算します。
  2. 階乗:階乗を計算します。
  3. 平方根:平方根を計算します。
ページの先頭

計算関連2:その他

 その他計算関連のプログラムです。

  1. 10進→n進変換:10進数をn進数に変換します。
  2. 素因数分解:素数の積に分解します。
  3. コマンドライングラフ:キャラクタでグラフを描きます。
ページの先頭

コマンドラインから使用するREXX

 コマンドラインで使用するREXXです。

  1. ファイル分割:ファイルを指定されたサイズに分割します。元通り結合するバッチファイルも生成します。
  2. HTMLサムネイル作成:カレントディレクトリ中のファイル(画像など)について、サムネイルのHTMLファイルを作成します。
  3. 圧縮ファイル内検索:指定されたファイル名を指定のディレクトリや圧縮ファイル内で検索します。 2000.12.17
ページの先頭

文字列関数

 文字列を処理する関数です。

  1. 文字列置換:文字列中の指定された文字列を置換します。 1999.10.9
ページの先頭

REXXのTRACEコマンドをパラメータで指定

 REXXプログラムのデバッグには、TRACEコマンドが便利です。私は以下のソースを使うことで、パラメータからTRACEコマンドを指定しています。
 TRACEコマンドを有効にしたい場合、コマンドラインあるいはプログラムオブジェクトのパラメータで、他のパラメータp1、p2、p3の後ろに'@'とTRACEコマンドのパラメータ'A'、'I'などを指定します。他のパラメータを省略しても、認識されます。
例:[F:\]rexx1.cmd parameter1 parameter2 @i
 制限として、他のパラメータに'@'は指定できません。使いたい場合はソースのarg文で区切りとして指定している'@'を別の文字に変更してください。

arg p1 p2 p3 '@' tr
trace value tr;

ページの先頭

参考文献

  1. OS/2 プロシージャー言語 2/REXX(オンラインマニュアル)
  2. OS/2 magazine「夜更けのREXXプログラミング」。特に、No.10の特別資料編は役立ちました。
 また、sukisuki-OS/2メーリングリストの皆さんにも色々教えていただきました。m(__)m

ページの先頭

戻る ホーム


(C) Copyright 1997-2000 kyo
ご意見・ご感想お聞かせください。 kyo@mue.biglobe.ne.jp
Last modified: Sun Dec 17 16:43:54 2000