UWSCの標準関数をオーバーロードする
MODULEを使う。
以上終了、、、なんだけど、一応例を。
例えば
MSGBOX("test!", BTN_IGNORE)
MSGBOXをオーバーロードして、全てのメッセージに時刻をつけたいとする。
最初に、MODULEとPROCEDURE(またはFUNCTION)で囲み関数にする
MODULE名/関数名は適当
MODULE Main PROCEDURE Run() MSGBOX("test!", BTN_IGNORE) FEND ENDMODULE
MODULEの前でその関数を呼び出す
Main.Run() MODULE Main PROCEDURE Run() MSGBOX("test!", BTN_IGNORE) FEND ENDMODULE
MODULEにオーバーライドする関数を書く
この関数内で期待動作に変更する。
Main.Run() MODULE Main PROCEDURE Run() MSGBOX("test!", BTN_IGNORE) FEND FUNCTION MSGBOX(msg, btn=BTN_OK) GETTIME() RESULT = Global.MSGBOX(G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2 + "<#CR><#CR>" + msg, btn) FEND ENDMODULE
なお、オーバーライドする関数内で元の関数を呼び出す場合は、「Global.」をつける。
以上である。