
发表日期: 2021-04-10 10:09:50 浏览次数:173
石家庄400电话申请开通【石家庄企业网站建设】石家庄微信公众号小程序开发运营价格、石家庄微信公众号APP软件客户端设计运营、石家庄网页页面设计公司费用、石家庄公司网站制作方案流程改版维护大概需要多少钱
石家庄,简称“石”,旧称石门,是河北省省会,国务院批复确定的中国京津冀地区重要的中心城市之一 [1] 。截至2019年,全市下辖8个区、11个县,代管3个县级市,总面积14464平方千米(含辛集市),建成区面积338.16平方千米,常住总人口1039.42万人,城镇人口676.14万人,城镇化率65.05%。 [2]
石家庄地处中国华北地区、河北省中南部、环渤海湾经济区,是河北省的政治、经济、科技、金融、文化和信息中心,中部战区陆军机关驻地 [3] ,是国务院批准实行沿海开放政策和金融对外开放城市,也是全国重要的商品集散地和北方重要的大商埠 [4] 、全国性商贸会展中心城市之一 [4] 、中国国际数字经济博览会永久举办地 [5] 、中国(河北)自由贸易试验区组成部分。 [6]
石家庄于民国十四年(1925年)建市,时名“石家市”,1947年更名为石家庄市。1968年河北省会迁至石家庄市。京广、石太、石德、朔黄四条铁路干线交汇于此,是中国铁路运输的主要枢纽之一,被誉为“南北通衢,燕晋咽喉”。 [7-8] 石家庄是国家首批科技创新示范城市、国家半导体照明产业化基地、国家卫星导航产业基地、国家动漫产业发展基地、国家生物医药产业基地。 [7] [9]
石家庄是全国文明城市、国家森林城市、中国优秀旅游城市,旅游资源丰富,名胜古迹众多,有全国重点文物保护单位40处、国家历史文化名城1座。西柏坡是国家5A级景区,被称为“晋察冀边区的乌克兰”,是解放战争时期中国革命的领导中心。2019年,当选“中国十大夜经济影响力城市”。 [10-15] 2021年3月,被评为国家卫生城市。
关于过程displayList的可重用性,还有一个问题需要讨论——你能猜到是什么吗?如前所述,它可以显示任何数据列表,但也只能在标签NotesLabel中显示。如果你想用其他的界面元素(如另一个label)来显示列表(如userList),该如何是好呢?
一个方法就是重构过程——将它的功能从“用指定label显示列表”改为“只返回一个文本对象,它可以被显示在任何地方”。为此,需要使用“procedure result”块来取代“procedure”块,如图21-12所示。

图 21-12 “procedure result”块
你会发现与“procedure”块相比,“procedure result”块的底部有一个额外的插槽,将一个变量放入插槽,这个变量将被返回给调用者。因此,正如调用者可以向过程以参数的方式传入数据一样,过程也可以以值得方式将数据返回给调用者。
图21-13显示了上述过程的改写版本,现在使用的是“procedure result”块。注意,由于过程的作用变了,因此名称也由displayList改为convertListToText(将列表转换为文本)。

图 21-13 过程convertListToText返回一个文本对象,调用者可以将其放在任何一个label中
在图21-13所示的块中,变量text用来保存foreach循环中通过遍历列表而生成的文本。用text变量取代之前使用的过于具体的NotesLabel组件。在foreach执行完毕后,变量text包含了列表中的所有项,而且项之间以换行符“\n”分隔(即“item1\nitem2\nite3”)。最后,将变量text插入return插槽,返回给调用者。
在定义“procedure result”时,与“procedure”相比,对应的“call”块看起来略有不同,如图21-14中所做的比较。

图 21-14 下面的有返回值的“call”必须插入到某个插槽中
不同的是在“call convertListToText”块的左侧有一个插头,这是因为当“call”块运行时,过程在执行一系列指令后将向“call”块返回一个值,必须有某个插槽可以接收这个返回值。
在这种情况下,调用块“call convertListToText”的返回值可以插入到任何一个label的Text属性中,以notes列表为例,需要显示列表的三个事件处理程序都可以调用这一过程,如图21-15所示。

图 21-15 将列表notes的内容转换为文本,并用NotesLabel显示出来
更重要的是,由于过程的定义更具通用性,不需要引用任何特定list或label,因此应用中可以使用convertListToText在任何一个label蒸南瓜显示任何一个列表。像图21-16中的例子那样。

图 21-16 这一过程再也不必与一个特定的Label组件捆绑在一起
通过过程的方式实现代码的重用不必只限于单独的应用,有许多过程,如convertListToText,可以用在你创建的任何应用中。事实上,有许多组织和编程社区都在为他们感兴趣的领域创建过程代码库,例如动画过程的代码库。
通常编程语言会提供一个“import(导入)”功能,可以在任何应用中引入其他的代码库。App Inventor目前没有这项功能,不过正在开发之中。同时,也可以在一个特定的“库应用”中创建一些过程,并复制该应用的代码,作为一个新建项目的基础代码。
在displayList(convertListToText)例子中,我们将过程定义描述为一种消除冗余代码的方法:你开始写代码,随后发现代码存在冗余,于是整理代码消除冗余。无论如何,一个软件的开发人员或开发团队在应用开发的初期都会创建很多过程,同时也考虑到要重用部分代码。这样的规划可以在项目过程中节省大量时间。
考虑一项应用:确定离某人当前位置最近的本地医院,某些东西在紧急情况下会派上用场的。以下是这个应用的高层设计描述:
应用启动时,以英里为单位计算两点之间的距离,起点是当前所在位置,终点是发现的第一家医院。然后再寻找第二家医院,以此类推。在求得若干个距离后,判断最短距离的医院,并显示它所在位置的地址。
从以上描述中,你能断定应用中需要什么样的过程吗?
通常,一段描述中的动词提示了所需的过程。重读一遍描述,正如“等等”所提示的,这是另一个线索。这种情况下,“求出两点之间的距离”与“判断这些距离中最短的”成为两个必需的过程。
现在考虑设计一个过程distanceBetweenPoints(两点间距离)。在设计过程时,首先要确定过程的输入及输出:调用者需要向过程传递实现过程的功能所需的参数,而过程要向调用者返回执行结果。在这里,调用者需要向过程传递两个点的经度及纬度值,如图21-17所示;而过程的任务是以英里为单位返回两点之间的距离。

图 21-17 调用者想过程传递了4个参数,并收到一个距离
图21-18中显示了我们在本章开始时提到的那个过程,使用公式求得两个GPS坐标点之间的近似英里数。

图 21-18 过程distanceBetweenPoints
石家庄400电话申请开通【石家庄企业网站建设】石家庄微信公众号小程序开发运营价格、石家庄微信公众号APP软件客户端设计运营、石家庄网页页面设计公司费用、石家庄公司网站制作方案流程改版维护大概需要多少钱
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878