App Inventor指令说明Word文件下载.docx

上传人:b****5 文档编号:17632862 上传时间:2022-12-07 格式:DOCX 页数:21 大小:281.89KB
下载 相关 举报
App Inventor指令说明Word文件下载.docx_第1页
第1页 / 共21页
App Inventor指令说明Word文件下载.docx_第2页
第2页 / 共21页
App Inventor指令说明Word文件下载.docx_第3页
第3页 / 共21页
App Inventor指令说明Word文件下载.docx_第4页
第4页 / 共21页
App Inventor指令说明Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

App Inventor指令说明Word文件下载.docx

《App Inventor指令说明Word文件下载.docx》由会员分享,可在线阅读,更多相关《App Inventor指令说明Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

App Inventor指令说明Word文件下载.docx

有时候当我们建立一个具回传值的程序,但想要在背景呼叫它时(此时不能使用回传值),这个功能就很好用了。

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为常用颜色的颜色色表,欢迎多加利用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1