第3节 搜寻关键字
此表单是一个关键字搜索器,使用者输入关键字然后按下查找按钮,马上就可以从上方的待查文本中找出所符合的关键字的数量,并显示在查找结果框里,表单界面如图3.1所示:
图3.1 表单界面
例如在左边的关键字文本框中输入要查找的关键字"the",则在右边的查找结果文本框中会显示文本中次关键字数目,如图3.2所示;
图3.2 查找结果
1.启动Flash,新建一个影片,设置影片舞台大小为500px*300px(单位为象素),影片背景色为浅绿色,颜色代码为#CCCCFF.
2.首先制作表单中的查找按钮,新建一个按钮元件,命名为search,进入按钮的编辑区后,使用矩形工具绘制一个圆角矩形,然后在上面输入文本:查找,同时设置好按钮的填充色和轮廓颜色,如图3.3所示;
图3.3 制作查找按钮
3.回到主场景中,使用文本工具依次在舞台上如图3.4所示绘制三个输入文本框:
图3.4 绘制3个输入文本框
4. 在属性面板中设置上面的文本框变量为text,用来输入待查文本,左下方的文本变量为keyword,用来输入要查找的关键字,右下方的文本变量为result,用来显示查找结果,最后给文本框添加上提示信息,再将查找按钮放置到舞台的合适位置,如图3.5所示;
图3.5 添加提示信息和按钮
5.在主场景中新增一个图层,命名为Action,给第1帧添加Action:stop();,给第2帧添加如下
Action;
total = 0;
n = length(text);
m = length(keyword);
while (Number(n)>0 and Number(m)>0) {
search = substring(text, n, m);
if (search eq keyword) {
total = Number(total)+1;
}
n = n-1;
}
if (Number(total)>0) {
result = "找到" add total add "个关键字";
} else {
result = "抱歉,找不到任何关键字";
}
此场景始终停留在第1个帧,并不会播放第2个帧,第2个影帧中的Actions由按钮来调用(用Call语句)。变量n是实体名为"text"的Text Field的字符数,变量m是实体名为"keyword"的Text Field的字符数,若两者都大于0,则执行Loop 语句。Loop语句的Actions表示为:从实体名称为"text "的大Text Field的最后一个字符开始取出m个字符来和keyword比较,若相同就将计数值"total"累加1。直到实体名称为"text"的Text Field的第1个字符才跳出Loop。最后判断计数值"total"的大小,如果变量"total"大于0,则在变量名为"result"的Text Field中显示"找到'total'个关键字",否则显示"抱歉,找不到任何关键字"
最后给查找按钮添加如下Action:
on (press) {
call("2");
}
//按下按钮后会调用第2个帧的Actions来执行