App Inventor指令说明Word文件下载.docx
- 文档编号:17632862
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:21
- 大小:281.89KB
App Inventor指令说明Word文件下载.docx
《App Inventor指令说明Word文件下载.docx》由会员分享,可在线阅读,更多相关《App Inventor指令说明Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
有时候当我们建立一个具回传值的程序,但想要在背景呼叫它时(此时不能使用回传值),这个功能就很好用了。
2Text文字指令区
text
=
join
maketext
length
text<
text=
text>
trim
upcase
downcase
startsat
contains
splitatfirst
splitatfirstofany
split
splitatany
splitatspaces
segment
replaceall
text
指定一个字符串常数。
join
将两个指定字符串合成一个新字符串。
对于此指令,数字也被视为字符串。
例如:
用join指令来合成1+1及2×
3则回传26(2和6合成)。
maketext
将所有的指定值依序合成一个字符串。
Length
回传指定字符串的长度。
text<
回传第一个字符串text1是否在字母排列上比第二个字符串text2小。
若两者的第一个字母相同则比较字符串长度。
大写字母比小写字母优先。
text=
回传第一个字符串text1与第二个字符串text2是否相等。
请注意如果要比较的字符串中含有数字,则数学上的=与字符串上的text=结果是不一样的。
如果两个textbox,其中一个内容为123,另一个是0123,则数学上比较结果为相等,但字符串上比较则不相等。
text>
回传第一个字符串text1是否在字母排列上比第二个字符串text2大。
upcase
将指定字符串全部转为大写。
downcase
将指定字符串全部转为小写。
trim
删除指定字符串的头尾空格。
startsat
回传指定子字符串在指定字符串中的位置,找不到则回传0。
例如子字符串"
ana"
在"
Havana"
中的位置为4。
请注意!
在一般程序设计语言中,数组的第一个元素编号为0,但AppInventor中的第一个元素编号为1。
Contains
若指定子字符串出现在指定字符串中则回传真,反之则回传假。
splitatfirst
将字符串从指定分割点(at)第一次出现的地方分成两个子字符串,并回传一个包含这两个子字符串的列表,一个是从原字符串第一个字母到分割点前一个字母,另一个则是分割点后一个字母到原字符串结尾。
例如将字符串"
apple,banana,cherry,dogfood"
使用逗号"
"
来分割,回传结果会是两个子字符串:
第一个子字符串为"
apple"
,第二个子字符串为"
banana,cherry,dogfood"
。
请注意逗号"
这个分割点不包含在任何一个子字符串中。
splitatfirstofany
将字符串从指定分割点(at)分割成两个子字符串,并回传一个包含这两个子字符串的列表。
split
将字符串从指定分割点切割,并以清单回传切割结果。
one,two,three,four"
从逗号"
分割的结果是(onetwothreefour)这个清单。
将字符串"
one-potato,two-potato,three-potato,four"
从"
at-potato"
分割的结果是(onetwothreefour)这个清单。
splitatany
将字符串从列表项目(at)来切割,意即使用列表项目来切割字符串,并回传结果。
appleberry,banana,cherry,dogfoodwith"
以一个具有两个项目的列表来切割,第一个项目为逗号"
,第二个项目为"
rry"
,切割结果为(applebebananachedogfood)这个字符串。
splitatspaces
将指定字符串在所有空格处分开,以清单输出结果。
segment
将原字符串从指定位置start开始并指定长度length后产生子字符串。
replaceall
将原字符串以新的子字符串取代后回传新的字符串。
3List列表指令区
makealist
selectlistitem
replacelistitem
removelistitem
insertlistitem
lengthoflist
appendtolist
additemstolist
isinlist?
positioninlist
pickrandomitem
islistempty?
copylist
isalist?
listtocsvrowlisttocsvtablelistfromcsvrowlistfromcsvtable
AppInventor中的list就是一般程序中的数组,所以相关操作方法皆与数组非常相似。
但请注意AppInventor的List编号从1开始,数组编号则从0开始。
makealist
新增一个列表,并自行指定其元素(item)。
若您未指定任何元素,则此为一空清单,您可以之后再加入元素。
selectlistitem
取得列表list的指定位置index元素内容,第一个列表元素位置为1。
replacelistitem
将列表的指定位置元素以新的内容replacement取代。
removelistitem
从列表中删除指定位置的元素。
insertlistitem
将指定内容item插入列表的指定位置。
lengthoflist
回传列表的长度,也就是元素数目。
appendtolist
将第一个清单list1与第二个清单list2组成一个新的清单。
additemstolist
将指定内容item接在清单的后面。
本指令与appendtolist指令的差别在于appendtolist指令是将两个列表组起来,而additemstolist指令是将要新增的内容当作个别参数来操作,会自动产生新的插槽。
isinlist?
若指定内容thing存在于清单中回传true,反之回传false。
若一列表中含有子列表,则子列表的元素不包含在原列表中。
例如清单(12(34))的元素为1、2以及子清单(34);
单独3或4并非这个list的元素。
positioninlist
回传指定内容thing位于列表中的位置,回传0代表清单不包含指定内容。
pickrandomitem
从列表中随机取得任一项目。
islistempty?
如果清单为空,回传true;
反之回传false。
copylist
复制列表,如果列表包含子列表也会一并复制。
isalist?
如果指定内容格式为清单,回传true;
listtocsvrow
将列表转换为CSV表格中的列row,并以CSV(comma-separatedvalue)格式回传。
Row中的每一个项目就是一个字段(field)。
回传的文件结尾不会包含换行符号。
listtocsvtable
将列表以列优先的方式转换为CSV表格,并以CSV格式回传。
回传列表中的项目是另一个列表,代表CSV表格中的列,每列中的项目则是该列的字段。
列中的项目是以逗号分隔,列彼此之间则是以CRLF(\r\n)符号分隔。
listfromcsvrow
将CSV文件中的列解析并回传一个列表,列表内容就是该列的各个字段。
不同列将以\n或CRLF(\r\n)符号来区隔。
如果列中的文字是以新的一列或是CRLF符号结束,这样的语法是允许的。
listfromcsvtable
将CSV表格解析并回传一个列表,列表内容代表不同的列(再包含不同的字段)。
4Math数学指令区
number
>
<
=
equals
+
−
×
/
sqrt
randomfraction
randominteger
randomsetseed
negate
min
max
quotient
remainder
modulo
abs
round
floor
ceiling
expt
exp
log
sin
cos
tan
asin
acos
atan
atan2
formatasdecimal
isanumber?
指定一个数字常数。
>
比较两个指定数字。
如果前者大于后者时,回传true,否则回传false。
<
如果前者小于后者时,回传true,否则回传false。
≤
如果前者小于或等于后者时,回传true,否则回传false。
≥
如果前者大于或等于后者时,回传true,否则回传false。
equals
比较两个指定数字是否相等。
如果是的话,回传true,否则回传false。
此指令和在logic指令区中的指令功能相同,仅为了方便所以两边都放。
本指令的参数可为其他数据型态,而不仅仅是数字。
Not=?
比较两个指定数字是否不相等。
+
回传两个指定数字的和。
−
回传两个指定数字的差。
×
回传两个指定数字的积。
÷
回传前者除以后者的商。
例如,1除以3为0.3333。
sqrt
回传指定数字的平方根。
randomfraction
回传一个介于0和1之间的随机小数。
randominteger
回传一个介于指定数字之间的随机整数,包含上限(to)与下限(from)。
参数由小到大或由大到小不会影响计算结果。
negate
回传指定数字的相反数。
min
回传指定数字中最小者。
max
回传指定数字中最大者。
quotient
quotient(a,b)指令回传第一个数a除以第二个数b的商,但只取整数部分,小数点以后忽略不计。
remainder
remainder(a,b)指令可回传第一个数a除以第二个数b的余数(remainder)。
例如Forexample,remainder(11,5)为1;
remainder(-11,5)为-1;
remainder(11,-5)为1;
remainder(-11,-5)为-1。
modulo
当指定数字皆为正数时,Modulo(a,b)计算结果与remainder(a,b)相同。
一般公式如下:
对所有a与b而言,(floor(a/b)×
b)+modulo(a,b)=a。
例如modulo(11,5)为1;
modulo(-11,5)为4;
modulo(11,-5)为-4;
modulo(-11,-5)为-1。
Modulo(a,b)永远与b同号,但remainder(a,b)则永远与a同号。
abs
回传指定数字的绝对值。
round
回传指定数字四舍五入到整数字的运算结果。
floor
回传指定数字无条件舍去到整数字的运算结果。
ceiling
回传指定数字无条件进位到整数字的运算结果。
expt
回传指数的运算结果。
(base:
底;
exponent:
指数)。
exp
回传e(2.71828...)的指定次方运算结果。
log
回传指定数字的自然对数运算结果。
sin
回传指定数字的正弦函数值,单位:
度。
cos
回传指定数字的余弦函数值,单位:
tan
回传指定数字的正切函数值,单位:
asin
回传指定数字的反正弦函数值。
acos
回传指定数字的反余弦函数值。
atan
回传指定数字的反正切函数值。
atan2
回传y/x的反正切函数值。
convertradianstodegrees
将弧度转换为角度。
convertdegreestoradians
将角度转换为弧度。
formatasdecimal
将原数字转换为指定位数之小数。
指定小数位数不能为负数。
若原小数位数过多则四舍五入,反之则补0。
isanumber?
指定对象如果为数字,回传true,反之回传false。
5logic逻辑指令区
true
false
not
=
and
or
true
布尔常数的真(true)。
用来设定组件的布尔(boolean)属性值,或用来表示某种状况之变量值。
false
布尔常数的假(false)。
用来设定组件的布尔属性值,或用来表示某种状况之变量的值。
not
逻辑运算的not。
输入true或条件判断为true则回传false,反之回传true。
综合性的等于运算符
两个数字是否相等(例如:
1=1.0)
两个字符串是否相等,包括大小写。
例如banana不等于Banana。
若两个列表的长度相同且对应组件相等则相等。
and
测试是否所有的叙述皆为真。
当您插入第一个test项目时会自动跑出第二个插槽。
测试顺序由上到下,测试过程中若任一条件已知为假则停止测试。
若无任何叙述则回传true。
or
测试所有叙述中是否至少有一者为真。
测试顺序由上到下,测试过程中若任一条件已知为真则停止测试。
若无任何叙述则回传false。
6Control控制指令区
if
ifelse
choose
foreach
forrange
while
getstarttext
closescreen
closescreenwithresult
if
测试指定条件test。
若为true则执行以下动作,反之则跳过此段。
ifelse
测试指定叙述。
若为true则执行then-do以下区块,反之则则执行else-do以下区块。
choose
若为true则执行then-do以下区块并回传then-return之值,反之则则执行else-do以下区块并回传else-return之值。
foreach
根据指定列表的元素数目来决定do的执行次数。
您可使用该变量名称来取得它的值。
forrange
根据指定范围之整数个数来决定do的执行次数,可自由设定每次累加的数字step。
while
若为true则重复执行以下动作,反之则结束此段。
getstarttext
如果有本项设定,当程序启动时回传所接收到的字符串信息。
closescreen
关闭屏幕。
closescreenwithresult
关闭屏幕,并指定回传结果result。
closeapplication
结束程序。
7Color颜色指令区
TheBlocksEditorColorsdrawer包含了各种常用的颜色指令,您可将它们直接插入需要颜色设定的指令中,例如设定文字颜色或是某组件的背景颜色。
这些颜色也可以在Designer页面中的相关属性中来设定。
如何自定义颜色
AppInventor中的颜色是以数字进行编码,例如蓝色是由-16776961这个负数所代表。
如果您知道如何自定颜色色码,就不必受限于AppInventor那少少的内建颜色了,可以在您的app中自由创造各种色彩。
颜色是由4个数字所共同决定的,每个数字的范围都是0~255。
前三个数字代表红、绿、蓝三原色的强度。
您可以从网络上找到各种颜色的RGB色表,当然也可以自己实验一下来找到喜欢的颜色。
第4个数字则是「不透明度(opacity)」,代表多个组件迭在一起时的视觉效果。
Opacity255是完全不透明,该颜色会将其下层所有的东西都盖过去。
Opacity0则是完全透明,您在屏幕上甚至看不到这个颜色了。
介于两者中间的数值则决定该颜色底下东西的可视程度。
请依照下列步骤要求出某种颜色在AppInventor中的数字代码:
1.先设定不透明度(opacity)。
2.乘以256之后加上R(红色强度)。
3.第2步计算结果乘以256之后加上G(绿色强度)。
4.第3步计算结果乘以256之后加上B(蓝色强度)。
5.第4步计算结果减掉168(4294967296)。
6.计算结果(皆为负数)就是您之后要用在AppInventor中的颜色代码。
请看以下范例,deepshadeofpurple的RGB设定为R=160,G=32,B=240,.将这些数值代入以上的公式,并将opacity设为255,计算结果为-6283024。
如果您将画布的背景颜色设为这个数值,就可以看到屏幕变成漂亮的紫色了。
以下的范例程序说明了如何指定RGB值来得到特定的颜色,不透明度都固定为255,或者您也可以自由调整不透明度的设定值。
下表1为常用颜色的颜色色表,欢迎多加利用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- App Inventor指令说明 Inventor 指令 说明