Page History
[ |../../index.htm#lansa/ov_system_service.htm]
現在地:
| Anchor | ||||
|---|---|---|---|---|
|
| Anchor | ||||
|---|---|---|---|---|
|
注:&<a href="bif_rules.htm"&>組み込み関数の規則&</a&> 組み込み関数の規則
基本的なシステム・サービスを実行します。
この組み込み関数は、アプリケーションへの影響を考慮した上でユーザーの責任において使用してください。明示的か暗黙的かを問わず、いかなる保証もありません。「免責事項 この組み込み関数は、アプリケーションへの影響を考慮した上でユーザーの責任において使用してください。明示的か暗黙的かを問わず、いかなる保証もありません。「免責事項 」全文を参照してください。
ファンクション番号: | 991 |
必要なDLL: | U_BIF991.DLL |
...
例
以下のRDMLファンクションの例(L4Wの自由形式のファンクション・エディタにコピー/貼り付け可能)は、プログラム(EXE)名とそのプログラムに渡すパラメータを指定するよう要求します。その後、指定されたプログラムの実行開始が試行されます。
FUNCTION OPTIONS(*DIRECT); DEFINE FIELD(#OV_PGM) TYPE(*CHAR) LENGTH(50) LABEL('Program'); DEFINE FIELD(#OV_PARMS) TYPE(*CHAR) LENGTH(50) LABEL('Parameters') INPUT_ATR(LC); DEFINE FIELD(#OV_RETC) TYPE(*CHAR) LENGTH(2) LABEL('Return Code'); DEFINE FIELD(#OV_ERRN) TYPE(*DEC) LENGTH(7) DECIMALS(0) LABEL('Error Code'); **********; BEGIN_LOOP; REQUEST FIELDS(#OV_PGM #OV_PARMS (#OV_RETC *OUT) (#OV_ERRN *OUT)); USE BUILTIN(OV_SYSTEM_SERVICE) WITH_ARGS(START #OV_PGM #OV_PARMS) TO_GET(#OV_RETC #OV_ERRN); IF COND('#OV_RETC = OK'); MESSAGE MSGTXT('Program started'); ELSE; MESSAGE MSGTXT('Error detected when attempting to start program'); ENDIF; END_LOOP;
以下のRDMLファンクションの例は、最大100行のテキストを指定するよう要求します。指定された行はファイルに転送され、作成されたファイルに対してEPM (OS/2)またはノートパッド(Windows)ソース行エディターが開始されます。
FUNCTION OPTIONS(*DIRECT); DEFINE FIELD(#OV_TEMP) TYPE(*CHAR) LENGTH(20) LABEL('Temp File Name') DEFAULT('C:\TEMP.TXT'); DEFINE FIELD(#OV_EDITOR) TYPE(*CHAR) LENGTH(20) LABEL('Editor Name'); IF COND('*CPUTYPE = OS2'); CHANGE FIELD(#OV_EDITOR) TO(EPM); ELSE; CHANGE FIELD(#OV_EDITOR) TO(NOTEPAD); ENDIF; DEFINE FIELD(#OV_RETC) TYPE(*CHAR) LENGTH(2) LABEL('Return Code'); DEFINE FIELD(#OV_TEXT) TYPE(*CHAR) LENGTH(70) COLHDG('Text Details'); DEF_LIST NAME(#OV_LISTD) FIELDS(#OV_TEXT); DEF_LIST NAME(#OV_LISTW) FIELDS(#OV_TEXT) TYPE(*WORKING) ENTRYS(100); **********; INZ_LIST NAMED(#OV_LISTD) NUM_ENTRYS(100) WITH_MODE(*CHANGE); MESSAGE MSGTXT('Type in lines of text to be edited'); REQUEST BROWSELIST(#OV_LISTD); SELECTLIST NAMED(#OV_LISTD) GET_ENTRYS(*NOTNULL); ADD_ENTRY TO_LIST(#OV_LISTW); ENDSELECT; USE BUILTIN(TRANSFORM_LIST) WITH_ARGS(#OV_LISTW #OV_TEMP C B Y) TO_GET(#OV_RETC); USE BUILTIN(OV_SYSTEM_SERVICE) WITH_ARGS(START #OV_EDITOR #OV_TEMP);
以下のRDMLファンクションの例は、プログラム(.EXE)名とそのプログラムに渡すパラメータを指定するよう要求します。その後、指定されたプログラムの実行開始が試行されます。アプリケーションは、STARTまたはSTART_UNIQUEオプションを使用して開始できます。これにより、すでにアクティブになっているプログラムを開始するときに、これらのオプションの違いを確認できます。
FUNCTION OPTIONS(*DIRECT); DEFINE FIELD(#OV_PGM) TYPE(*CHAR) LENGTH(50) LABEL('Program') DEFAULT('NOTEPAD.EXE'); DEFINE FIELD(#OV_PARMS) TYPE(*CHAR) LENGTH(50) LABEL('Parameters') INPUT_ATR(LC); DEFINE FIELD(#OV_RETC) TYPE(*CHAR) LENGTH(2) LABEL('Return Code'); DEFINE FIELD(#OV_ERRN) TYPE(*DEC) LENGTH(7) DECIMALS(0) LABEL('Error Code'); DEFINE FIELD(#OV_REQUST) TYPE(*CHAR) LENGTH(20) LABEL('Start Type') DEFAULT(START_UNIQUE); **********; BEGIN_LOOP; REQUEST FIELDS(#OV_REQUST #OV_PGM #OV_PARMS (#OV_RETC *OUT) (#OV_ERRN *OUT)); BEGINCHECK; VALUECHECK FIELD(#OV_REQUST) WITH_LIST(START START_UNIQUE) MSGTXT('Request value must be START or START_UNIQUE'); ENDCHECK; USE BUILTIN(OV_SYSTEM_SERVICE) WITH_ARGS(#OV_REQUST #OV_PGM #OV_PARMS) TO_GET(#OV_RETC #OV_ERRN); IF COND('#OV_RETC = OK'); MESSAGE MSGTXT('Program started or it is already started'); ELSE; MESSAGE MSGTXT('Error detected when attempting to start program'); ENDIF; END_LOOP;
[ |../../index.htm#lansa/ov_system_service.htm]