在LispWorks中进行编程12:创建对话框
Category:UI界面编写创建对话框
在本课中,您将学习如何使用Lisp创建Macintosh或Windows界面功能,如窗口和对话框。
执行此操作的过程都在名为CAPI的LispWorks库中提供,其名称以capi开头:。
显示消息:capi:display-message
要显示消息,请使用 capi:display-message 过程。接下来是格式字符串和参数列表,就像格式一样。例如:
(capi:display-message “The sum of ~a and ~a is ~a.” 3 4 (+ 3 4))
将显示:
提示输入字符串:capi:prompt-for-string
这要求用户输入一个字符串。例如:
(capi:prompt-for-string “Think of an animal:”)
将显示:
并将返回您键入的字符串。
提示一个数字:capi:提示号码
以类似的方式:
(capi:prompt-for-number “How many legs does it have:”)
将显示:
并返回您输入的号码。
询问是或否:capi:提示确认
程序 capi:prompt-for-confirmation询问问题,并让用户回答是或否:
(capi:prompt-for-confirmation “Are you hungry?”)
这显示:
如果用户单击是,则过程返回T(true)。如果用户单击否,则返回Nil(false)。
给用户一个选择:capi:prompt-with-list和capi:prompt-for-items-from-list
最后,函数capi:prompt-with-list获取列表和消息,并让用户选择其中一个项目。例如:
(capi:prompt-with-list
‘(“red” “blue” “green” “pink”)
“What’s your favourite colour?”)
将显示:
并返回您选择的项目的值。
程序 capi:prompt-for-items-from-list是相同的,除了它允许您选择任意数量的项目,并返回您选择的项目列表。
一个故事写作程序
最后,这是一个将所有这些程序放在一起的故事编写程序:
(defun story ()
(let ((name (capi:prompt-for-string “What is your name:”))
(food (capi:prompt-for-string “What is your favourite food:”))
(colour (capi:prompt-with-list
‘(“red” “blue” “green” “pink”)
“What’s your favourite colour?”)))
(capi:display-message
“There once was a witch called ~a who liked ~a.
One day ~a found some ~a ~a and ate so much that she died. The end.”
name food name colour food)))
运行故事程序评估:
(story)
因为没有参数。
演习
1.尝试改进程序以编写更长的故事,并使用capi:prompt-for-confirmation 和if语句在故事中添加分支; 例如:
(capi:prompt-for-confirmation “Should the witch die at the end?”)
http://mip.i3geek.com
6 Comments
Judd_Trump_01
25 8 月, 2021at 2:11 下午顶!
陆 志广
31 10 月, 2018at 10:25 上午网站要一直办下去,要有一个良性循环的方式,单靠我一个人的努力是不够的。
陆 志广
31 10 月, 2018at 10:24 上午已修复,网站时区忘了设置了,有问题及时提出评论。
HZ-陈创修
31 10 月, 2018at 12:11 上午网站的评论时间显示的不正确,现在是北京时间
8:10
HZ-陈创修
31 10 月, 2018at 12:11 上午好的cl网站,要一直办下去
HZ-陈创修
30 10 月, 2018at 11:59 下午simply and practical examples for learning Common Lisp