Создать окно с двумя полями ввода.
Пользователь вводит числа в поля ввода.
При нажатии на кнопку в консоли выводится сумма введённых чисел.
w :- new(
Dialog, dialog("Find summa app")),
send_list(Dialog, append,
[
new(A, text_item(your_number_a)),
new(B, text_item(your_number_b)),
button(cancel, message(Dialog, destroy)),
button(enter, and(message(@prolog, myfunc, A?selection, B?selection)))
]),
send(Dialog, default_button, enter),
send(Dialog, open).
myfunc(A, B) :- atom_string(AA, A), atom_string(BB, B),
atom_number(AA, X), atom_number(BB, Y),
S is (X + Y),
format('A: ~w B: ~w S: ~w ~n', [A, B, S]).
Запускаем программу.
Создать окно с двумя полями ввода.
При нажатии на кнопку перед пользователем появляется всплывающее окно с суммой чисел.
true.
w :- new(
Dialog, dialog("Find summa app")),
send_list(Dialog, append,
[
new(A, text_item(your_number_a)),
new(B, text_item(your_number_b)),
button(cancel, message(Dialog, destroy)),
button(enter, and(message(@prolog, myfunc, A?selection, B?selection)))
]),
send(Dialog, default_button, enter),
send(Dialog, open).
alert(M) :- new(
Dialog, dialog("Message")),
send_list(Dialog, append,
[
new(T, text(M, center)),
button(ok, message(Dialog, destroy))
]),
send(Dialog, open).
myfunc(A, B) :- atom_string(AA, A), atom_string(BB, B),
atom_number(AA, X), atom_number(BB, Y),
S is (X + Y),
nl,
write("A: "), write(X), nl,
write("B: "), write(Y), nl,
write("S: "), write(S), nl,
nl,
alert(S),
true.
Запускаем программу.