我有一个包含多个文本项元素和一个按钮的对话框。我怎么能够 检索值并使用它们?
new(D, dialog('Add a recipe')),
send(D, append(new(NameItem, text_item('Name')))),
send(D, append(new(InstItem, text_item('Instruction')))),
send(D, append(new(IngrItem, text_item('Ingredients')))),
send(D, append(new(TimeItem, text_item('Time')))),
send(D, append(button('Store', message(D, return, '1')))),
get(D, confirm, Rvalue),
write(NameItem), nl,
write(InstItem), nl,
write(IngrItem), nl,
write(TimeItem), nl,
free(D),
答案 0 :(得分:1)
您必须通过
查询text_item的选择get(NameItem, selection, SelNameItem),
如果您使用 XPCE谓词,则可以使用 NameItem?选择。
答案 1 :(得分:1)
test :-
new(D, dialog('Add a recipe')),
send(D, append(new(NameItem, text_item('Name')))),
send(D, append(new(InstItem, text_item('Instruction')))),
send(D, append(new(IngrItem, text_item('Ingredients')))),
send(D, append(new(TimeItem, text_item('Time')))),
send(D, append(button('Store', message(D, return, '1')))),
send(D, show(true)),
get(D, confirm, _Rvalue),
maplist(getv, [NameItem, InstItem, IngrItem, TimeItem]),
free(D).
getv(T) :- get(T, selection, V), writeln(V).
你可以完全处理一个列表,应用于每个元素(一个textitem对象)一个“获取文本”。操作