该程序主要实现对通讯录的浏览、增加和删除功能,实现是把保存在文本文件中的数据读取出来,依次存放在一个列表中,再对列表进行操作来实现相应的功能,.在用户退出时再把列表中的内容保存回文本文件中。
其中文本文件的最后部分内容如图14.14所示。
图 14.14 文本文件中的内容
下面是具体的实现过程:
1.进入authorware ,新建一个文件,保存为“对象_demo.a6p”。打开文件属性设置对话框,设置程序窗口大小为variable,选中center on screen,取消title bar和menu bar前的选择。
2.在程序开头拖入一个计算图标,命名为“读取文本”,在其中加入以下语句:
--设置窗口大小
resizewindow(320,240)
--定义一个空的列表
wen:=[]
tem:=[]
--创建一个fileio xtra的子对象
zil:=newobject("fileio")
--以只读方式打开文本文件
callobject(zil, "openfile", filelocation^"ziliao1.txt",1)
--依次读取该文本文件的行,存放到列表中
temp:=callobject(zil,"readline")
i:=1
repeat while temp<>-1
repeat with p:=1 to 4
tem[p]:=getword(p,temp)
end repeat
wen[i]:=[#name:tem[1],#sex:tem[2],#age:tem[3],#tel:tem[4]]
temp:=callobject(zil, "readline")
temp:=substr(temp,2,charcount(temp))
i:=i+1
end repeat
--关闭文本文件
callobject(zil, "closefile")
--初始化一个计数器
j:=1
--统计列表wen中元素的个数
geshu:=listcount(wen)
说明:虽然系统函数readextfile()也可以读取文本文件的内容,但当文本文件比较大时,所获得的字符串就比较大,对其进行处理就会影响程序的运行程序,且会受到authorware中字符串的最大字符数的影响。所以此处使用fileio xtra中的openfile函数来打开文件,此时实际上获得的是指向该文本文件的指针。另外打开一个文件用完后最好马上关闭它。
3.拖入一个显示图标到流程线上,命名为“显示记录”,双击打开该显示图标的展示窗口,用文字工具输入如图14.15所示的文字。
图 14.15 显示图标“显示记录”中的标签
然后在“姓名:”后输入语句:{wen[j][#name]};在“性别:”后输入语句:{wen[j][#sex]};在“年龄:”后输入语句:{wen[j][#age]};在“电话:”后输入语句:{wen[j][#tel]}。
选择菜单命令modify>icon>properties,.在弹出的显示图标属性对话框中选中update displayed variables,单击ok按钮关闭对话框。
[1] [2] [3] 下一页
新闻热点
疑难解答