sitelogo
ToolkitからPrologへの変換
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

ToolkitからPrologへの変換は、xtGetValues/2を使用する場合にのみ必要となります。この述語は、各リソースに対する変換手続きを呼び出す手続きとして実現されています。これらのコンバータは、リソース名とその値が必要とされるwidgetを取得します。リソース値は、コンバータがXtのルーチンXtGetValues()を呼び出すことによってwidgetから直接取り出されます。そして、必要とされるProlog表現への変換が行なわれ、その結果が返されます。

void FromToolkitToPrologConverter(name, widget, value_ptr) char *name; Widget widget; TERM *value_ptr;

Prolog表現への変換では扱い易くするために、整数定数をアトムに置き換えることがあります。

例題: 型"Boolean"のリソースに対するコンバータ

void IFXtTPCvtBoolean(name, widget, value_ptr) char *name; Widget widget; TERM *value_ptr; { Arg arg 1 ; Boolean bool;

IFXtCvtError = NULL; XtSetArg(arg 0 , name, &bool ); XtGetValues(widget, arg, 1 ); *value_ptr = (bool ? StrAt("true") : StrAt("false")); }


戻る 続く..
冒頭へ managed with ubiCMS