网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 图象图形-> Authorware-> 创建一个简单的通讯录程序

创建一个简单的通讯录程序
作者:佚名 来源:InterNet 加入时间:2005-1-11
相关文章 相关书籍:

该程序主要实现对通讯录的浏览、增加和删除功能,实现是把保存在文本文件中的数据读取出来,依次存放在一个列表中,再对列表进行操作来实现相应的功能,.在用户退出时再把列表中的内容保存回文本文件中。

其中文本文件的最后部分内容如图14.14所示。

14.14  文本文件中的内容

下面是具体的实现过程:

1.进入Authorware ,新建一个文件,保存为“对象_Demo.a6p”。打开文件属性设置对话框,设置程序窗口大小为Variable,选中Center on Screen,取消Title BarMenu 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按钮关闭对话框。

4.在显示图标“显示记录”的下方拖入一个交互图标,命名为“控制”。

⑴在交互图标“控制”的右边放置一个计算图标,命名为“上一个”,在弹出的对话框中选择Button,双击新加入的计算图标上方的响应图标,在弹出的按钮响应属性对话框中按图14.16所示进行设置。设置好后单击“OK”关闭对话框

14.16  按钮响应图标的属性设置对话框

在计算图标“上一个”中加入以下语句:

j:=j-1

⑵在计算图标“上一个”的右边加入一个计算图标,命名为“下一个”,双击其上方的响应图标,在弹出的如图14.16所示的对话框中把选项“ActiveX If”改为“j<geshu”。

在计算图标“下一个”中加入以下语句:

j:=j+1

⑶在计算图标“下一个”的右边加入一个计算图标,命名为“删除”。

在计算图标“删除”中加入以下语句:

--从列表中删除当前记录

xuan:=MessageBox(WindowHandle, "真的要删除当前记录吗?", "提醒", 292)

--6=Yes, 7=No

if xuan=6 then

--从列表中删除当前记录

    DeleteAtIndex(wen,j)

--如果当前记录是最后一个记录,更改计数器的值

    if j=geshu then

        j:=j-1

    end if

--更改列表的个数

    geshu:=geshu-1

end if

⑷在计算图标“下一个”的右边加入一个群组图标,.命名为“添加”。双击群组图标“添加”打开其流程窗口。

①拖入一个擦除图标,命名为Cha,在该擦除图标中要擦除的是按钮“上一个”、“下一个”、“删除”、“添加”。

②使用菜单命令Insert>Control>ActiveX…依次插入四个ActiveX控件,第一个是TextBox控件,第二个是ComboBox控件,第三、四个是TextBox控件,其中TextBox控件的属性中设置属性项Font为黑体12号,属性项ForeColor设置为蓝色;ComboBox控件的属性中属性项FontForeColor也同上设置,另设置属性项Style为“2-DropDownList”。

把这四个控件图标依次命名为xmxbnldh,然后运行程序单击“添加”按钮后再暂停调整这些控件的位置和大小。

具体的属性设置和调整可以参见ActiveX控件一章的介绍。

③拖入一个计算图标,命名为“给xb赋值”,在其中输入以下内容:

CallSprite(@"xb", #AddItem,"男")

CallSprite(@"xb", #AddItem,"女")

④拖入一个交互图标,命名为“选择”。拖一个群组图标到该交互图标的右边,命名为“确定”,在弹出的响应类型对话框中选择Button,单击“OK”关闭对话框,双击图标“确定”上方的响应图标,在弹出的按钮响应属性设置对话框中按图14.16所示进行设置。

双击“确定”群组图标打开其流程窗口。拖入一个计算图标,命名为“增加记录”,在其中输入以下内容:

--获得四个控件图标中的值

tem[1]:=GetSpriteProperty(@"xm", #text)

tem[2]:=GetSpriteProperty(@"xb", #text)

tem[3]:=GetSpriteProperty(@"nl", #text)

tem[4]:=GetSpriteProperty(@"dh", #text)

--判断xm图标中的值是否为空,即是否输入了姓名

if tem[1]<>"" then

    --如果输入了姓名就在列表最后增加一个元素

    geshu:=geshu+1

    wen[geshu]:=[#name:tem[1],#sex:tem[2],#age:tem[3],#tel:tem[4]]

    j:=geshu

else

    --否则就显示出错信息,并根据用户的选择给出不同的反应

    xuan:=MessageBox(WindowHandle, "没输入姓名,不能添加记录!", "出错", 21)

    -- 4=Retry, 2=Cancel

    if xuan=4 then GoTo(IconID@"xm")

end if

拖一个擦除图标到“增加记录”的下方,该图标要擦除的是四个控件图标和按钮“确定”以及将要增加的按钮“取消”。

再拖入一个计算图标,命名为“返回”,在其中输入以下内容:

GoTo(IconID@"显示记录")

关闭“确定”的流程窗口回到“添加”图标的流程窗口,选中图标“确定”,再按Ctrl+C键,然后在“确定”图标的右边单击鼠标,将粘贴指针移到此处,按Ctrl+V键。将新粘贴过来的图标改名为“取消”。

双击图标“取消”打开其流程窗口,删除计算图标“增加记录”。

⑸关闭群组图标“添加”的流程窗口回到主流程窗口,.拖一个计算图标到“添加”图标的右边,命名为“退出”,在其中输入以下内容:

--创建一个Fileio Xtra的子对象

zil:=NewObject("fileio")

--以只写方式打开文本文件

CallObject(zil, "openFile", FileLocation^"ziliao.txt",2)

--删除该文件

CallObject(zil, "delete")

--创建一个同名文件

CallObject(zil, "createFile", FileLocation^"ziliao.txt")

--关闭文本文件

CallObject(zil, "closeFile")

--依次把列表中的值添加到文本文件中

repeat with i:=1 to geshu

    str:=wen[i][#name]^" "^wen[i][#sex]^" "^wen[i][#age]^" "^wen[i][#tel]^"\r"

    AppendExtFile(FileLocation^"ziliao.txt",str)

end repeat

AppendExtFile(FileLocation^"ziliao.txt","-1")

Quit()

5.整个程序的流程如图14.17所示。

14.17  程序流程图

擦除图标通常可以在基本程序完成后再来设置,这样就容易设置有擦除的图标。


[文章录入员:tonny]

相关文章 相关书籍:
本站推荐内容

近期主机类热搜关键词:
美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

Authorware
PhotoShop
CorelDraw
3D-MAX
AutoCAD
FreeHand
Illustrator
Authorware
Director
Maya/Rhino
其它
电脑教程阅读排行
·Authorware实例教程(3...
·Authorware实例教程(1...
·Authorware实例教程(2...
·Authorware7.0十大新...
·AuthorWare操作技巧十二...
·Authorware制作古诗对句
·用Authorware制作简谐振...
·用Authorware制作自检测...
·仙乐飘飘——打造自己的音乐播放器
·Authorware在线教程(一...