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"フォルダー それぞれに、ドキュメントのオブジェクトが作成されます。
最近のコメント