Flash CS4设计天气预报程序Word格式文档下载.docx

上传人:b****5 文档编号:19421934 上传时间:2023-01-06 格式:DOCX 页数:31 大小:1.66MB
下载 相关 举报
Flash CS4设计天气预报程序Word格式文档下载.docx_第1页
第1页 / 共31页
Flash CS4设计天气预报程序Word格式文档下载.docx_第2页
第2页 / 共31页
Flash CS4设计天气预报程序Word格式文档下载.docx_第3页
第3页 / 共31页
Flash CS4设计天气预报程序Word格式文档下载.docx_第4页
第4页 / 共31页
Flash CS4设计天气预报程序Word格式文档下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

Flash CS4设计天气预报程序Word格式文档下载.docx

《Flash CS4设计天气预报程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Flash CS4设计天气预报程序Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。

Flash CS4设计天气预报程序Word格式文档下载.docx

图18-8命名数据表

(8)单击【确定】按钮后即可打开“weatherInfo”数据表,该表中默认存在“ID”字段,如图18-9所示。

图18-9打开数据表

(9)将光标放置在“ID”字段名称的下面的单元格中,然后输入新的字段名称“allInfo”,如图18-10所示。

图18-10创建新字段

(10)将光标放置在字段名称右侧的单元格中,在弹出的菜单中选择【文本】选项,即设置该字段中存储的数据为文本类型,如图18-11所示。

图18-11选择数据类型

(11)右击【weatherInfo】选项卡,在弹出的菜单中执行【数据表视图】命令,即可切换到数据表视图模式中,此时数据库就创建完成了,如图18-12所示。

图18-12数据表视图

18.1.2创建ASP页面

ASP是一种服务器端语言,它可以对文件和数据库进行操作。

本例将通过ASP页面实现获取网页中提供的天气预报信息、存储天气预报信息到数据库,以及为Flash提供信息源的功能。

(1)在电脑的【开始】菜单中,执行【所有程序】|【AdobeDreamweaverCS4】命令,打开DreamweaverCS4软件,该软件用于制作HTML、ASP、PHP等网页,如图18-13所示。

图18-13打开DreamweaverCS4

(2)单击该界面中【新建】列表的【ASPVBScript】选项,即可新建并打开一个ASP页面,如图18-14所示。

图18-14新建ASP页面

(3)选择文档中的所有代码并将其删除,然后输入以下代码。

该段代码通过创建XMLHTTP对象来获取指定网页中的源代码。

代码如下所示:

<

%@LANGUAGE="

VBSCRIPT"

CODEPAGE="

936"

%>

%

Response.Buffer=true

'

设置网页启动缓存

DimmyConnection,TheURL

声明变量

TheURL="

要获取源代码的网页URL

SetMyConnection=Server.CreateObject("

Microsoft.XMLHTTP"

创建XMLHTTP对象

MyConnection.Open"

GET"

TheURL,False

通过GET方法打开指定网页

MyConnection.Send

TheData=MyConnection.responseText

获取网页源代码中的所有文本信息

Response.ContentType=MyConnection.getResponseHeader("

Content-Type"

获取网页的内容格式

Response.Write(TheData)

输出网页中的源代码

SetMyConnection=Nothing

关闭XMLHTTP对象,以释放资源

新建文本文档,将上面的代码复制到文档中,将其保存为后缀名为“.asp”的文件也可。

(4)输入完代码后,按Ctrl+S组合键,在弹出的【另存为】对话框中选择网页要保存的路径和名称(本例将网页保存在“weatherReport”文件夹内并命名为“proxy”),如图18-15所示。

图18-15保存ASP页面

对于没有安装Dreamweaver软件的用户来说,可以将代码输入到记事本中,然后再转换为asp格式的网页。

(5)使用相同的方法,在“weatherReport”文件夹内新建“process”ASP页面。

然后,在代码中通过创建Connection对象连接数据库;

创建Recordset对象将获取的信息存储到数据表中。

allInfo=Request("

info"

Setconn=Server.CreateObject("

Adodb.Connection"

创建Connection对象

tmpPD="

Provider=Microsoft.ACE.OLEDB.12.0"

设置数据库驱动

tmpDS="

DataSource="

&

Server.MapPath("

weather.accdb"

指定数据库的路径

tmpSTR=tmpPD&

"

;

tmpDS

构造打开数据库的字符串

conn.OpentmpSTR

利用Connection对象的Open方法打开数据库

Setrs=Server.CreateObject("

Adodb.Recordset"

创建Recordset对象

rs.open"

weatherInfo"

conn,1,3

打开从数据库中读出的记录集

rs("

allInfo"

)=allInfo

将新的天气信息写入数据库

rs.update

更新数据库

rs.Close

利用Connection对象的Close方法关闭连接

Setrs=Nothing

Setconn=Nothing

将Connection对象从内存中删除,以释放资源

(6)在“weatherReport”文件夹内新建“getInfo”ASP页面。

创建Recordset对象输出“allInfo”字段中存储的数据。

response.writers("

输出allInfo字段中的数据

18.2服务器端的功能设计和实现

服务器端程序用于从获取的网页源代码中提取天气预报信息,并将其显示在可视化的界面中。

而为了方便简化操作,本例利用ActionScript语言定时从网页中获取天气预报信息,以快速为用户提供天气预报信息。

18.2.1获取天气预报信息界面

为了方便获取天气预报信息,可以让服务器端的Flash每到晚上8:

00自动从“中国气象局”网站获取新的数据,并更新到本地服务器中的数据库,从而可以大大减少劳动力。

获取天气预报信息的界面如图18-16所示。

图18-16自动获取天气预报信息界面

设计过程:

(1)在FlashCS4中,执行【文件】|【新建】命令,在打开的【新建文档】对话框中选择文档【类型】为“Flash文件(AdobeAIR)”,如图18-17所示。

图18-17新建Flash文件

(2)在【文档属性】面板中,设置文档的【尺寸】为600×

340像素。

然后,在舞台中绘制一个绿色的渐变背景,如图18-18所示。

图18-18绘制背景

(3)将导入的“阴影”图像拖入到舞台中,并在上面绘制两个不同颜色和大小的矩形,以构成一个带边框的显示区域,然后将其转换为影片剪辑,如图18-19所示。

图18-19绘制显示区域

(4)新建图层,在显示区域的顶部输入标题文字,并在【属性】面板中设置其字符【系列】为“迷你简综艺”;

【大小】为“37点”,如图18-20所示。

图18-20输入标题文字

(5)打开【组件】面板,将“GataGrid”组件拖入到标题文字的下面,并缩放其至适当的尺寸。

然后,在【属性】面板中设置其【实例名称】为“myDataGrid”,该组件用来显示天气预报信息,如图18-21所示。

图18-21拖入“DataGrid”组件

(6)在显示区域的左下角插入一个动态文本,并调整其大小。

然后,在【属性】面板中设置其【实例名称】为“mess”,该动态文本用来显示加载天气预报信息的状态,如图18-22所示。

图18-22插入动态文本

(7)在该动态文本的右侧再插入一个动态文本,调整其大小并设置【实例名称】为“mess”;

字符【系列】为“迷你简综艺”;

【大小】为“20点”,如图18-22所示。

图18-23插入动态文本

(8)此时,获取天气预报信息的界面就制作完成了,按Ctrl+Enter组合键可预览效果。

18.2.2获取天气预报信息程序

获取天气预报信息程序通过调用ASP页面,可以从指定网页中的获取源代码。

然后,利用ActionScript语言将源代码中的天气预报信息分离出来,最后再通过调用ASP页面将天气预报信息存储到数据库中。

获取天气预报信息程序如图18-24所法。

图18-24获取天气预报信息

制作过程:

(1)在“weatherReport”文件夹内新建名称为“countDown”的ActionScript文件。

然后,在该文件中创建pack包、“countDown”自定义类和主函数。

package{

publicclasscountDown{

//countDown自定义类

publicvarnow_millisecondsFrom1970:

Number;

publicvarnow_secondsFrom1970:

publicvarto_millisecondsFrom1970:

publicvarto_secondsFrom1970:

publicvarremainSeconds_Total:

publicvarremainDays:

String;

publicvarremainHours:

publicvarremainMinutes:

publicvarremainSeconds:

publicvaroutputMess:

//声明变量

publicfunctioncountDown(fromYear,fromMonth,fromDay,fromHour,fromMinute,fromSecond,toYear,toMonth,toDay,toHour,toMinute,toSecond){

//countDown主函数

}

}

}

(2)在countDown()函数体中,通过创建Date对象初始化起始时间和目标时间,并获取自1970年1月1日午夜(通用时间)以来的毫秒数,然后计算它们之间相距的秒数。

varfromDate:

Date=newDate(fromYear,fromMonth,fromDay,fromHour,fromMinute,fromSecond);

//初始化起始时间

now_millisecondsFrom1970=fromDate.getTime();

//获取起始时间自1970年1月1日午夜(通用时间)以来的毫秒数

now_secondsFrom1970=int(now_millisecondsFrom1970/1000);

//将毫秒数转换为秒数

vartoDate:

Date=newDate(toYear,toMonth,toDay,toHour,toMinute,toSecond);

//初始化目标时间

to_millisecondsFrom1970=toDate.getTime();

to_secondsFrom1970=int(to_millisecondsFrom1970/1000);

//获取目标时间自1970年1月1日午夜(通用时间)以来的秒数

remainSeconds_Total=to_secondsFrom1970-now_secondsFrom1970;

//计算起始时间与目标时间相距的秒数

(3)通过If语句判断目标时间是否落后于起始时间。

如果是,则自动将起始时间延后到第二天。

if(toHour<

fromDate.getHours()){

//如果目标时间的小时数落后于起始时间的小时数

toDay+=1;

//时间延后到第二天

if(toHour==fromDate.getHours()&

toMinute<

fromDate.getMinutes()){

//如果目标时间的分钟数落后于起始时间的分钟数

toMinute==fromDate.getMinutes()&

toSecond<

fromDate.getSeconds()){

//如果目标时间的秒数落后于起始时间的秒数

(4)计算起始时间和目标时间之间相距的天数、小时数、分钟数和秒数,并将它们存储到outputMess变量中。

vartmpRemainDays:

tmpRemainDays=int(int(remainSeconds_Total/3600)/24);

//将相距的秒数转换为天数

remainDays=String(tmpRemainDays);

//将天数转换为字符串值

vartmpRemainHours:

tmpRemainHours=int((remainSeconds_Total-tmpRemainDays*24*3600)/3600);

//计算剩余的小时数

if(tmpRemainHours<

10){

//如果小时数小于10

remainHours="

0"

+tmpRemainHours;

//则在小时数前面加上“0”字符串

}else{

remainHours=String(tmpRemainHours);

//将小时数转换为转换字符串值

vartmpRemainMinutes:

tmpRemainMinutes=int((remainSeconds_Total-tmpRemainDays*24*3600-tmpRemainHours*3600)/60);

//计算剩余的分钟数

if(tmpRemainMinutes<

remainMinutes="

+tmpRemainMinutes;

remainMinutes=String(tmpRemainMinutes);

vartmpRemainSeconds:

tmpRemainSeconds=int(remainSeconds_Total%60);

//计算剩余的秒数

if(tmpRemainSeconds<

remainSeconds="

+tmpRemainSeconds;

remainSeconds=String(tmpRemainSeconds);

outputMess=remainHours+"

:

+remainMinutes+"

+remainSeconds;

//将剩余的小时数、分钟数和秒数存储到outputMess变量中

(5)在“weatherReport”文件夹内新建名称为“weatherInfo”的ActionScript文件。

然后,在该文件中创建pack包、“weatherInfo”自定义类和主函数。

//导入文件运行所需的类

importflash.display.*;

import.*;

importflash.events.*;

importflash.errors.*;

importflash.system.*;

importflash.text.*;

importflash.utils.*;

importfl.controls.DataGrid;

//导入DataGrid组件

importfl.controls.dataGridClasses.DataGridColumn;

//导入DataGridColumn类

importfl.managers.StyleManager;

importfl.data.DataProvider;

//导入DataProvider类

publicclassweatherInfoextendsSprite{

privatevarIP:

privatevariisPath:

privatevarproxyPath:

privatevarprocessPath:

//定义ASP文件路径

privatevaraspRequest:

URLRequest;

privatevaraspLoader:

URLLoader;

privatevartmpString:

//定义URLRequest和URLLoader对象

privatevarmainArray:

Array;

privatevartmpArray:

privatevarstrToSend:

privatevarCITY:

privatevarDATE:

privatevarWEAT:

privatevarTEMP:

privatevarWIND:

privatevarULTR:

privatevarAIR:

//定义天气预报参数

privatevartmpOutputMess:

privatevartmpArrayForCountDown:

privatevarcountDownInterval:

uint;

privatevargetInfoInterval:

privatevarstartCountInterval:

//定义倒计时

privatevartryGetInfoTimes:

privatevartryWriteInfoTimes:

//定义尝试调用次数

publicfunctionweatherInfo(){

init();

//初始化设置

startLoad();

//获取天气预报信息

startInterval();

(6)创建init()函数,该函数用来初始化天气预报程序中的设置,包括编码、服务器IP、程序位置等。

privatefunctioninit(){

System.useCodePage=true;

//设置编码,使Flash和操作系统使用的语言保持一致

IP="

127.0.0.1"

//定义服务器IP

iisPath="

http:

//

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

当前位置:首页 > 工程科技 > 能源化工

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

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