REXXの練習2017年11月15日 09:04

最近は、OS/2 Warpにはまってます。もちろん、Open WATCOMもインストールしてあります。 この、Open WATCOMにはインストーラーが付属していません。環境変数設定のREADMEがあるぐらいで、 ZIPファイルを展開したあとは、自力で環境整備をする必要があります。マニュアル類もファイルがあるだけで、 ファイル名から内容を想像しながら探す羽目になるでしょうから、REXXの練習をかねて、 マニュアルのオブジェクトを作成するプログラムを作ってみました。

まずは、フォルダーオブジェクトを作成する、CreateFolder.CMDです。

/* CreateFolder.CMD */
Call RxFuncADD "SysLoadFuncs","RexxUtil","SysLoadFuncs"
Call SysLoadFuncs
Options EXMOD

Class = "WPFolder"
SetupCommon = "OPEN=ICON;"
SetupCommon = SetupCommon || "ICONVIEW=NORMAL;"
SetupCommon = SetupCommon || "MINWIN=VIEWER;"
SetupCommon = SetupCommon || "TEMPLATE=NO;"
Objmode = "Update"
Parse Linein ParentObject MyObject Title
Do While (ParentObject \= "" & MyObject \= "" & Title \= "")
    Location = "<" || ParentObject || ">"
    SetupString = SetupCommon || "OBJECTID=<" || MyObject || ">;"
    Ret = SysCreateObject(Class,Title,Location,SetupString,Objmode)
    If Ret = 1 Then
        Say Title "Folder is created successfully"
    Else
        Say Title "Folder creation failed *" Ret
    Parse Linein ParentObject MyObject Title
End
Call SysDropFuncs
Exit

入力ファイルは下記のように、 親になるオブジェクト名、自身のオブジェクト名、フォルダーのタイトルを書いておきます。

WP_DESKTOP WP_WATCOM_FOLDER Open WATCOM
WP_WATCOM_FOLDER WP_WATCOM_C_FOLDER Open WATCOM C/C++ Documents
WP_WATCOM_FOLDER WP_WATCOM_F77_FOLDER Open WATCOM Fortran 77 Documents

これを

       E:WATCOM>CreateFolder < watcom.txt
などとすると、デスクトップ上に"Open WATCOM"フォルダーが作られ、その中に、 "Open WATCOM C/C++ Documents"フォルダーと"Open WATCOM Fortran 77 Documents"フォルダーが できます。

ドキュメントフォルダーに、マニュアルを登録するプログラムは、下記のようになりました。

/* CreateDocsObject.CMD */
Call RxFuncADD "SysLoadFuncs","RexxUtil","SysLoadFuncs"
Call SysLoadFuncs
Options EXMOD

/* Create INF File Object */
Class = "WPProgram"
SetupCommon = "OPEN=ICON;"
SetupCommon = SetupCommon || "EXENAME=D:\OS2\VIEW.EXE;"
SetupCommon = SetupCommon || "ICONVIEW=NORMAL;"
SetupCommon = SetupCommon || "MINWIN=VIEWER;"
SetupCommon = SetupCommon || "TEMPLATE=NO;"
Objmode = "Update"
Parse Linein ParentObject InfFileName ObjectTitle
Do While ParentObject \= "" & InfFileName \= "" & ObjectTitle \= ""
    ParentObject = "<" || ParentObject || ">"
    SetupString = SetupCommon || "PARAMETERS=" || InfFileName || ";"
    Ret = SysCreateObject(Class,ObjectTitle,ParentObject,SetupString,Objmode)
    If Ret = 1 Then
        Say ObjectTitle "Object is created successfully"
    Else
        Say ObjectTitle "Object creation failed *" Ret
    Parse Linein ParentObject InfFileName ObjectTitle
End
Call SysDropFuncs
Exit
これに、登録先のフォルダーオブジェクト名、ドキュメントのファイル名、タイトルを 書き連ねた、下記のようなファイルを読み込ませます
WP_WATCOM_C_FOLDER E:\watcom\c\binp\help\cguide.inf C/C++ User's Guide
WP_WATCOM_C_FOLDER E:\watcom\c\binp\help\clib.inf C Library Reference
                     :
                  途中省略
                     :
WP_WATCOM_C_FOLDER E:\watcom\c\binp\help\wpperrs.inf C++ Diagnostic Message
WP_WATCOM_C_FOLDER E:\watcom\c\binp\help\wprof.inf Profiler
WP_WATCOM_F77_FOLDER E:\watcom\f77\binp\help\clib.inf C Library Refernce
WF_WATCOM_F77_FOLDER E:\watcom\f77\binp\help\cw.inf CauseWay User's Guide
                     :
                  途中省略
                     :
WP_WATCOM_F77_FOLDER E:\watcom\f77\binp\help\wd.inf Debugger Guide
WP_WATCOM_F77_FOLDER E:\watcom\f77\binp\help\wprof.inf Profiler
これに、
       E:WATCOM>CreateFolder < watcomdocs.txt

とすると、"Open WATCOM C/C++ Documents"フォルダーと"Open WATCOM Fortran 77 Documents"フォルダー それぞれに、ドキュメントのオブジェクトが作成されます。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://kida.asablo.jp/blog/2017/11/15/8727903/tb