marquee 语法
基本语法
移动属性的设置 ,这种移动不仅仅局限于文字,也可以应用于图片,表格等等
方向
方式
循环
速度
延时
外观(Layout)设置
对齐方式(Align)
底色
Black, Olive, Teal, Red, Blue, Maroon, Navy, Gray, Lime,
Fuchsia, White, Green, Purple, Silver, Yellow, Aqua
面积
空白
(Margins)
方向
方式
循环
速度
延时
外观(Layout)设置
对齐方式(Align)
底色
Black, Olive, Teal, Red, Blue, Maroon, Navy, Gray, Lime,
Fuchsia, White, Green, Purple, Silver, Yellow, Aqua
面积
空白
(Margins)
电影“无极”

主演:张东健 真田广之 张柏芝 谢霆锋 刘烨 陈红
导演:陈凯歌;
影片简介:作为2004年最值得期待的一部华语片,投资超过3000万美元的史诗巨作,《无极》是中国电影历史上最大的投资、陈凯歌最具个人风格的史诗巨作、全亚洲最重量级的明星阵容。该剧主创个个是电影界顶尖高手,导演是享誉国际影坛的陈凯歌,摄影是凭借《卧虎藏龙》获得奥斯卡最佳摄影奖的鲍德熹,动作设计是曾为《黑客帝国》、《蜘蛛侠》等好莱坞大片担任动作设计的香港著名武术指导林迪安。而剧中除了韩国张东健扮演昆仑奴、日本真田广之扮演大将军光明外,还有中国的刘烨扮演鬼郎、张柏芝扮演王妃、谢霆锋扮演北宫爵吴欢、陈红演女巫。 ;《无极》模糊了时代背景,只剩下历史中的人物,张柏芝扮演的王妃、张东健扮演的昆仑奴和刘烨扮演的鬼郎将上演一出关于承诺和背叛、家国与爱情的史诗。
陈凯歌自己对《无极》的评价是探讨自由、爱情和命运以及充满想像力的史诗。一个小女孩在战场上横七竖八的尸体间寻找食物。一个身份尊贵的男孩说,如果她同意做他的奴隶,那么他将给她一点吃的。小女孩接受了,但很快违背了承诺并带着食物逃跑,去寻找她的母亲。跑到黑暗中时,小女孩遇到了一位漂亮的女巫。女巫问:“你想成为全世界男人都想要追求的公主吗?但代价是你将永远无法体验到真爱和快乐。你接受吗?”“我愿意。”女孩回答。;其间,大将军穿上了他那闪亮的、绣满花纹的红色盔甲,正准备一场可能会成为有生以来第一次失败的壮烈战斗。难以置信的是,最近刚纳入麾下的年轻奴隶对于战斗的结果具有决定作用。由于年轻奴隶超凡的才能——“超越风的速度”;大将军再次体验了胜利的滋味。在部队庆功时,皇城中却传出了公爵叛乱的消息。光明大将军必须立刻班师回朝从敌方入侵者手中救出国王。他命令年轻的奴隶随他一起,但在经过一片黑暗森林时,这两人却被神秘的分开了。这时女巫出现在大将军面前,打开命运之图,图上显示一个穿着将军盔甲的人杀了国王。大将军不相信命运的力量,仰天长笑后他拔剑指向女巫,这时女巫不见了;就在这一非常时刻,一个神秘的穿着黑色披风的杀手突然残酷的向大将军进行攻击。年轻的奴隶从敌人手中救下了严重受伤的大将军,尽管杀手的面部轮廓看不太清,但他的身体特征却相当熟悉。
黑色披风杀手凝视了年轻奴隶许久之后,象旋风般走了。 ;受伤的大将军命令年轻的奴隶,“穿上我这件绣花盔甲,赶快到皇城与救国王。”年轻奴隶来到了被北方公爵带领的部队所围困的皇城。;站在狂风吹过的屋顶上,真的变成美女公主的小女孩被仰慕她那美貌的士兵所保卫。国王出卖了公主,在北方公爵的要求下,将小女孩献给了公爵。但公主不从,国王拔出长剑威胁她。这时穿着将军战甲的年轻奴隶来了,看到公主受难,没有意识到主谋是谁就本能的拔剑刺入国王胸膛。正如女巫的预言,年轻奴隶在不知明的情况下杀了国王,与命运之图的预兆完全吻合。;年轻奴隶抓着公主的手,开始了惊心动魄的逃亡,但在他们戏剧性飞行的最后,北方公爵把他们困在了死角。
公爵承诺,如果大将军同意跳入大瀑布的话,可以放公主走。“挺住,一定要活下去,”这就是奴隶在飞身跳入瀑布前跟公主说的最后一句话。 ;国王死于一位穿着绣花盔甲人之手的传言传开,光明大将军的手下都开始相信他们的领袖杀了国王并纷纷厌恶的离开了他。年轻奴隶大难不死,居然在瀑布那冰冷的水中活了下来,他仍保持对大将军的忠诚,将军命令他去从北方公爵手中营救公主,公主被关在一个巨大的金色笼子中;在公爵的宫殿,奴隶从金笼子顶部骤然降落,抱住了被惊呆了的公主。大将军也杀到了宫殿帮助公主逃跑,与公主同乘一骑最终逃脱;然而,奴隶被擒,在严刑拷问后,公爵命令蒙面刺客去杀了他。刺客不是年轻奴隶的对手,两人于是休战。获得自由后,奴隶又回到了他的主人、大将军身边,但发现他和将军都已爱上了公主。由于无法控制自己的感情,奴隶最终选择离开。这时奴隶和刺客再次不期而遇,但这次刺客带着奴隶来到了过去,向他表明他们来自同一个种族,都是冰雪之地(Snowland)人,这个种族的特点就是具有超越风的速度。在公爵对整个种族进行屠杀后,作为最后一个活着的部落成员的刺客成了北方公爵的仆人。 ;其间,公爵设法把大将军从公主身边诱拐出来并将其关押。奴隶再次回到主人驻地时,发现只剩下公主一个人。公主派奴隶去找大将军,自己又成了孤身一人,公爵的手下又一次将她抓住。在审讯室,长老会一起对大将军弑主的罪行进行审判。
公主和奴隶商量着承担奴隶杀死国王的罪责,不过,在审判过程中,公主意识到,他们的“故事”就是真实,最后她明白了是地位低下的奴隶冒死救了她的命。随着朝廷宣布大将军无罪并判奴隶死刑,公主意识到她自始至终一直爱着这个犯了罪的人。;公爵亲眼看到审判室内种种戏剧性的场面后,向他的手下命令道,“把他们全部抓起来!”然而在最后决战时刻即将到来时,足智多谋的大将军骗取了公爵的信任。从镣铐中解脱后,大将军开始了最后的战役,解救公主和奴隶。;被彻底击溃的公爵自我表明身份说,他自己就是当年公主违背诺言时的那个小男孩。受到了致命性伤害,大将军临死前恳请公主“挺住,一定要活下去。”奴隶也承认他深深爱上了公主,随着他揽公主入怀,开始了未来的——也许是过去的旅程,命运的符咒也最终被打破。
电影无极简介:
一个小女孩在战场上横七竖八的尸体间寻找食物。一个身份尊贵的男孩说,如果她同意做他的奴隶,那么他将给她一点吃的。小女孩接受了,但很快违背了承诺并带着食物逃跑,去寻找她的母亲。跑到黑暗中时,小女孩遇到了一位漂亮的女巫。女巫问:“你想成为全世界男人都想要追求的公主吗?但代价是你将永远无法体验到真爱和快乐。你接受吗?”“我愿意。”女孩回答。 其间,大将军穿上了他那闪亮的、绣满花纹的红色盔甲,正准备一场可能会成为有生以来第一次失败的壮烈战斗。难以置信的是,最近刚纳入麾下的年轻奴隶对于战斗的结果具有决定作用。由于年轻奴隶超凡的才能――“超越风的速度”;大将军再次体验了胜利的滋味。在部队庆功时,皇城中却传出了公爵叛乱的消息。光明大将军必须立刻班师回朝从敌方入侵者手中救出国王。他命令年轻的奴隶随他一起,但在经过一片黑暗森林时,这两人却被神秘的分开了。这时女巫出现在大将军面前,打开命运之图,图上显示一个穿着将军盔甲的人杀了国王。大将军不相信命运的力量,仰天长笑后他拔剑指向女巫,这时女巫不见了……
CD1:
http://www.dmqc.cn/wuji1.rmvb
CD2:
FSO组件操作
1– 关于FSO组件
关于FSO组件不能使用的问题
1、首先在系统盘中查找scrrun.dll,如果存在这个文件,请跳到第三步,如果没有,请执行第二步。
2、在安装文件目录i386中找到scrrun.dl_,用winrar解压缩,得scrrun.dll,然后复制到x(你的系统盘):\\\\windows\\\\system32\\\\目录中。
3、运行regsvr32 scrrun.dll即可。
win2000系统:
在CMD命令行状态输入以下命令:
关闭命令:RegSvr32 /u C:\\WINNT\\SYSTEM32\\scrrun.dll
打开命令:RegSvr32 C:\\WINNT\\SYSTEM32\\scrrun.dll
开启/关闭系统FSO支持方法
windows98系统
在DOS命令行状态输入以下命令:
关闭命令:RegSvr32 /u C:\\WINDOWS\\SYSTEM\\scrrun.dll
打开命令:RegSvr32 C:\\WINDOWS\\SYSTEM\\scrrun.dll
win2000系统:
在CMD命令行状态输入以下命令:
关闭命令:RegSvr32 /u C:\\WINNT\\SYSTEM32\\scrrun.dll
打开命令:RegSvr32 C:\\WINNT\\SYSTEM32\\scrrun.dll
win2003:
运行regsvr32 scrrun.dll即可。
如果想关闭FSO组件,请运行 regsvr32 /u scrrun.dll即可。
2.FSO组件操作:
本人收集的一段代码 ,希望对各大站长有用,前提是服务器要支持fso
(只能选择其中一段哦,自己分析。。。)
代码段一:
Sub CreateFolder(strFolder)
'首选判断要建立的文件夹是否已经存在
Dim strTestFolder, objFSO
strTestFolder = Server.Mappath(strFolder)
Set objFSO = CreateObject("Scripting.FileSystemObject")
' 检查文件夹是否存在
If objFSO.FolderExists(strTestFolder) Then
response.write "该文件夹已经存在!"
Else
Dim strTestFolder, objFSO
strTestFolder = Server.Mappath(strFolder)
Set objFSO = CreateObject("Scripting.FileSystemObject")
' 建立文件夹
objFSO.CreateFolder(strTestFolder)
Set objFSO = Nothing
End If
End Sub
————————————————————
代码段二:
<%
Dim objFSO '声明一个名称为 objFSO 的变量以存放对象实例
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(Server.MapPath("\\NewFolder")) Then
Response.Write Server.MapPath("\\NewFolder")&"文件夹是存在的,不需要新建!"
Else
objFSO.CreateFolder(Server.MapPath("\\NewFolder"))
Response.Write "新建文件夹的位置为"&Server.MapPath("\\NewFolder")
End If
Set objFSO = Nothing '释放 FileSystemObject 对象实例内存空间
%>
——————————
以下是fso组件操作精解:
FSO,正如UFO般令人激动、令人神往,当然更多的亦是让人欢喜让人忧。君不见某空间服务商广告:100MB空间只要60RMB/年,支持数据库,支持什么什么……一问不支持FSO,立马泄气。那FSO究竟是什么东西,它的力量又是如何巨大,其操作的原理又是怎的怎的呢?这次来个彻底的理解。
首先,FSO是FileSystemObject的简称。当然也就是我们的俗称FSO组件了,该组件可以用来处理驱动器、文件夹以及文件。
它可以检测并显示出系统驱动器的信息分配情况;还能够创建、改变、移动和删除文件夹,并能探测一些给定的文件夹是否存在,若存在,还能提取出该文件夹的信息,如名称、被创建或最后一次修改的日期,等等。FSO还使得对文件的处理变得很容易。
一、fso.GetDrive
正如其它组件的建立一样,FSO的引用也必须建立连接。
程序代码
Set fso=Server.CreateObject("Scripting.FileSystemObject")
注意CreateObject的内部再也不是MSWC了,而是Scripting。
那下面就可以通过fso来处理驱动器了。比如fso.GetDriveName提取驱动器名,fso.GetDrive同样提取标准驱动器名。比如:
1,fso.asp
程序代码
<%Set fso=Server.CreateObject("Scripting.FileSystemObject")%>
<%=fso.GetDriveName("d:")%>
<%=fso.GetDrive("d:")%>
你会发现GetDriveName("d:")就是“d:”,而GetDrive("d:")则为标准的“D:”,所以我们一般这样写fso.GetDrive(fso.GetDriveName(drvPath))来提取某个具体的驱动盘。
二、drv.GetInfo
上面已经把某个特定的驱动器提取了,那接着是不是提取该驱动盘的具体信息。
2,drv.asp
程序代码
<%Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set drv=fso.GetDrive(fso.GetDriveName("d:"))%>
该盘的空间大小:<%=drv.TotalSize%>
该盘的剩余空间大小:<%=drv.FreeSpace%>
以上只是提取的D盘驱动器的信息,来个通用的函数,继续分别测试自己的驱动吧。
3,drvinfo.asp
程序代码
<%Function ShowDriveInfo(drvPath)
Dim fso, drv, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
s = "驱动盘" & drv & "的卷标是:"
s = s & drv.VolumeName & "
"
s = s & "总计空间:" & drv.TotalSize & "
"
s = s & "剩余空间:" & drv.FreeSpace & "
"
s = s & "文件类型:" & drv.DriveType & "
"
s = s & "文件系统:" & drv.FileSystem Response.Write sEnd Function%>
<%on error resume next
whatpath=request.form("path")
if whatpath<>"" then
ShowDriveInfo(whatpath)
end if%>
其中的drv.TotalSize和drv.FreeSpace返回的是字节数,我们可以用FormatNumber()函数处理下。比如FormatNumber(Drive.TotalSize/1024,0)得到一眼就知磁盘多少G的值。
还有一个文件类型:drv.DriveType最多的时候是显示数值“2”,其实“2”就表示的“硬盘驱动器”,“1”表示“软盘驱动器”,“4”表示“光盘驱动器”……
下面就用一个程序遍历显示自己机器上所有驱动器的信息。
4,showall.asp
程序代码
<%Function tran(Driver)
Select Case Driver
Case 0: tran="设备无法识别"
Case 1: tran="软盘驱动器"
Case 2: tran="硬盘驱动器"
Case 3: tran="网络硬盘驱动器"
Case 4: tran="光盘驱动器"
Case 5: tran="RAM虚拟磁盘"
End Select
End Function
set fso=Server.CreateObject("Scripting.FileSystemObject")%>
| 盘符 | 类型 | 卷标 | 总计大小 | 可用空间 | 文件系统 | 序列号 | 是否可用 | 路径 |
| " & drv.DriveLetter & " | " & tran(drv.DriveType) & " | " & drv.VolumeName & " | " & FormatNumber(drv.TotalSize / 1024, 0)& " | " & FormatNumber(drv.Availablespace / 1024, 0) & " | " & drv.FileSystem & " | " & drv.SerialNumber & " | " & drv.IsReady & " | " & drv.Path & " |
演示
恩,是不是很神气?那你可以对自己的机器调试,然后上传到自己的空间去调试,你会发现服务商会你进行了些设置:)
当然更神的还在后面面,比如对文件夹,对文件的操作(包括添加、修改和删除)。
ps:你对驱动器是不能轻易添加删除的:)
操作完驱动器,接着就是来操作文件夹了。其中包括:提取文件夹信息、创建文件夹、删除文件夹、复制文件夹、移动文件夹等。下面就具体来看。
一、fso.GetFolder
一看就明白,是提取文件夹了。那具体是提取哪个文件夹呢?后面肯定要跟一个文件夹的路径。提取出来了再来显示该文件夹相关信息呢?是不是有要具体提取下去。所以,看程序:
1,getfldr.asp
程序代码
<%Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("c:\\Program Files")
Response.Write "父文件夹名字是:" & fldr & "
"
If fldr.IsRootFolder = True Then
Response.Write "该文件夹是一根文件夹" & "
"
Else
Response.Write "该文件夹不是根文件夹" & "
" End If
Response.Write "驱动器名字是:" & fldr.Drive & "
"%>
首先建立FSO组件的连接是必不可少的啦,然后Set fldr = fso.GetFolder("c:\\Program Files")设定fldr对象被赋值,以作下面程序的引用。
fldr.IsRootFolder即为判断该文件夹是否为一根文件夹,值为布尔值(true or false);fldr.Drive则显示该文件夹所在的驱动器号了。
二、fso.CreateFolder
下面比较让人激动的是通过ASP建立文件夹了,你可以在你的权力范围内任意位置建立任意文件夹。
2,creatfldr.asp
[code]<%Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder ("c:\\cnbruce")
Response.Write "文件夹名为" & fso.GetBaseName("c:\\cnbruce")%>[code]
执行程序,应该发现C盘多出了cnbruce文件夹,fso.GetBaseName则是提取文件夹名。
三、fso.DeleteFolder
通过ASP可以建立了文件夹,则同样可以删除文件夹。
3,delfldr.asp
[code]<%Set fso = CreateObject("Scripting.FileSystemObject")fso.DeleteFolder("c:\\cnbruce")Response.Write "文件夹已删除"%>[code]
发现刚建立的cnbruce文件夹确实已被删除。
那下面就采用一个通用程序来灵活应变下。
4,mainflr.asp
[code]<%Sub CreateAFolder(file)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder(file)
response.write "已经建立了"&file
End Sub
Sub DeleteAFolder(file)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder(file)
response.write "已经删除了"&fileEnd Sub%>
<%
subname=request.form("submit")
create=request.form("create")
del=request.form("del")
if subname<>"" then
if create<>"" then
call CreateAFolder(""&create&"")
end if
if del<>"" then
call DeleteAFolder(""&del&"")
end if
end if%>
需要注意的是:删除并不会提示“确认要放入回收站”这项。这点你需要谨慎处理,特别是对你的系统文件夹。
四、fso.MoveFolder
主要作用是进行文件夹的移动,相当于剪切粘贴动作。
5,movefldr.asp
<%Set fso = CreateObject("Scripting.FileSystemObject")fso.CreateFolder ("c:\\cnbruce")fso.MoveFolder "c:\\cnbruce", "C:\\Program Files\\"%>查看cnbruce文件夹有没有移动过来
格式:fso.MoveFolder "被移动的文件夹","移动到的文件夹"
本程序先是在C盘下建立了cnbruce文件夹,然后将其移动到C:\\Program Files\\文件夹下面。
不过同样需要注意的是你的系统文件夹不能乱移动。
五、fso.CopyFolder
主要作用:将文件夹从某位置复制到另一位置。
6,copyfldr.asp
<%Set fso = CreateObject("Scripting.FileSystemObject")fso.CopyFolder "c:\\Program Files\\cnbruce", "c:\\"%>查看cnbruce文件夹有没有复制过来
该程序是建立在上一movefldr.asp的执行结果基础之上来完成复制到C盘根目录下的。(话比较长-_-!)
当然,其拷贝也是将该文件夹包括里面所以子文件夹和文件统统拷贝。
到最后再试着将c:\\Program Files\\cnbruce和c:\\cnbruce两个文件夹进行删除掉吧。
不过,继续提醒你:不要写错了,比如写成c:\\Program Files,那你就惨了:这叫玩命,学ASP玩出心跳出来了。
对文件夹的操作差不多了,是不是感到用处比较大?有训言:好东西是把双刃剑。正义和邪恶就只一线间,注意正规合理利用该组件。不过还有你放心的是,现在网站空间服务商对这权力已经限定得死死的了,你再怎么闹翻也不会冒泡的:)
然后接下来就是更微妙的:FSO对文件的操作。
FSO中除了可以对驱动器、文件夹的操作以外,功能最强大的就是对文件的操作了。它可以用来记数、内容管理、搜索还可生成动态HTML页面等等。
一、fso.OpenTextFile
无需多说,fso.OpenTextFile就是打开某个文件了,一般情况之下是打开的txt文本文件。所以首先我们先建立一个txt文件,然后通过FSO来读取其中的内容。
1,info.txt
name:cnbrucesex:male
建立了该文件,下面再做个ASP页面,当然最好两个文件是在同一目录下。
2,opentxt.asp
<%whichfile=server.mappath("info.txt")Set fso = CreateObject("Scripting.FileSystemObject")Set txt = fso.OpenTextFile(whichfile,1)rline = txt.ReadLinerline = rline & "
" & txt.ReadLineResponse.Write rlinetxt.Close%>
需要注意:无论是通过FSO打开驱动器、打开文件夹、打开文件,以及以后要接触到的打开数据库,都只能是打开绝对物理路径地址。但一般情况是上传到空间服务商那,不能很直接地了解到自己文件的所在位置,所以强烈推荐使用server.mappath方法:平台移植性强,适用性强。
CreateObject("Scripting.FileSystemObject")建立了FSO组件的连接,fso.OpenTextFile(whichfile,1)打开了info.txt该文件。参数“1”表示“ForReading:以只读方式打开文件。不能写这个文件。”,其他还有参数“2”表示“ForWriting:以写方式打开文件”,参数“8”表示“ForAppending:打开文件并从文件末尾开始写”。
打开了该文件,接下来是不是要显示文件中的内容?那就通过txt.ReadLine方法读取文本中的一整行,如果需要继续读取下一行,则继续使用txt.ReadLine方法。当然初此还有其它的读取方法,比如txt.Read(7)读取指定数量的字符,txt.ReadAll返回文本中的全部内容。
二、fso.CreateTextFile
如fso.CreateFolder建立文件夹般,fso.CreateTextFile则是建立文件了。
3,creattxt.asp
<%whichfile=server.mappath("info.txt")Set fso = CreateObject("Scripting.FileSystemObject")Set MyFile = fso.CreateTextFile(whichfile,True)MyFile.WriteLine("My Name Is CN-Bruce")MyFile.WriteLine("My Sex Is Male")MyFile.Close%>查看内容
本次建立的文件是上一info.txt文件,fso.CreateTextFile(whichfile,True)其中的参数true即表示能覆盖已有文件。建立后需要向里面添加数据就采用“MyFile.WriteLine”了。
那现在就可以建立一个简单的文本记数器了,还记得以前的记数?:1,通过application、session、global.asa进行记数;2,通过Counter组件进行记数。但两者都有通病,就是不能保存,如果服务器重新启动后,是不是所有记数全部清空了呢:)那现在就可以使用文本来记录数据了,即使重启,下次提取的也还是该文件。
试验:文本计数器
首先建立一记数的文本文件counter.txt,设定初始值为“1”
4,counter.txt
1
接着是记数的ASP文件,功能是显示文本的记数,本做加1的记数,然后还要将新的记数写入文本文件。
5,txtcount.asp
<%whichfile=server.mappath("counter.txt")'打开文件并将其值读取,最后关闭连接释放资源set fso=createobject("Scripting.FileSystemObject")set openfile=fso.opentextfile(whichfile,1)visitors=openfile.readlineopenfile.close'页面显示记数内容并做加1运算response.write "您是本页的第"&visitors&"位访客"visitors=visitors+1'将新的数值添加写入到文本,最后关闭所有连接释放资源set creatfile=fso.createtextfile(whichfile)creatfile.writeLine(visitors)creatfile.closeset fso=nothing%>
那根据这个可以继续地扩展内容:比如让记数用数字图片显示。当然前提就是你需要0-9的10张记数图片,并将此图片放于img文件夹中。
下为一增强的txtcount.asp内容代码。
<%whichfile=server.mappath("counter.txt")set fso=createobject("Scripting.FileSystemObject")set openfile=fso.opentextfile(whichfile,1)visitors=openfile.readlineopenfile.closeCountLen=len(visitors)response.write "您是本页的第"for i=1 to 6-countLen '表示最大值999999 response.write "
"next for i=1 to countlen response.write ""nextresponse.write "位访客"visitors=visitors+1set creatfile=fso.createtextfile(whichfile)creatfile.writeLine(visitors)creatfile.closeset fso=nothing%>
本程序中采用的是mid函数,该函数的作用是返回某字符串中从第几位字符开始的几个字符。格式即为:Mid(string,start,length)
学会了FSO提取文件值,也学会了将信息输入到文件中,那下面就再来应用应用下。
不知道你有没有这样的习惯:看到一个文件,不自觉的右键选择用记事本打开。呵呵,几乎没有哪个文件是不可以的。所以现在,可以默认所有文件都是文本,只是后缀名不同而已;那么也就是说,现在可以提取任一文件的内容信息。OK,就来想象一下:
1,提取一个文件的路径(采用file按钮进行查找定位)
2,将该路径文件打开,并读取所有行
3,显示读取的信息
一、viewcode.asp
<%Function ShowCode(filename) Set fso = Server.CreateObject("Scripting.FileSystemObject") Set cnrs = fso.OpenTextFile(filename, 1) While Not cnrs.AtEndOfStream rsline = cnrs.ReadLine rsline = server.HTMLEncode(rsline) Response.Write(rsline & "
") Wendend Function%>
<%file=request.form("filename")response.write (file & "源程序如下
")If trim(file)<> "" then Call ShowCode(file)End If%>
以上程序调试时,可以选择html,asp页面,也可以打开任一应用程序等。
定义的ShowCode函数,主要作用是打开、读取并显示文件中所有信息内容。注意添加了server.HTMLEncode(rsline),针对含有标准HTML代码的文件。
显示文件中所有行即用一条件循环进行遍历显示了。
While Not cnrs.AtEndOfStream...Wend
接着,下面的这个例题具体就涉及open方法的问题了,还记得?正常情况之下打开文件是采用fso.OpenTextFile("c:\\testfile.txt",1),参数1的作用是:以只读模式打开文件。不能对此文件进行写操作。如果现在已经存在一文件,需要进行追加写入,则该怎么办呢?简单,参数为8即可。
这有什么用呢?呵呵,亚玛逊的网络故事接龙就是如此:能接龙就需要首先要显示原有故事,然后自己添加故事写入文件。这其中的写入文件最讲究的就是追加写入了。所以下面就可以实现。
二、story.asp
<%If not request.Form("NextLine")="" then Set fso=Server.CreateObject("Scripting.FileSystemobject") textfile1=Server.MapPath("story.txt") set cnrs=fso.OpenTextFile(textfile1,8) cnrs.WriteLine(Request.Form("NextLine")) cnrs.Closeend if%>故事如下:<%Set fso=Server.CreateObject("Scripting.FileSystemObject")textfile1=Server.MapPath("story.txt")set cnrs=fso.OpenTextFile(textfile1,1)while not cnrs.AtEndOfStream Response.Write " " & cnrs.ReadLinewendcnrs.close%>
整个就是一很简单的读取信息和加入信息的混合利用,相信有了前面的基础看懂应该不成问题。当然还缺少个story.txt文件,里面写好故事开头就可以了。
调试
再下面,继续来,该侧重点主要就是练习一些函数的使用技巧了。
1,instr函数:返回某字符串在另一字符串中第一次出现的位置。
比如现在查找字母“A”在字符串“A110B121C119D1861”中第一次出现的位置,则可以
同样字母“B”的位置也就能确定。现在就来最关键的:提前字母“A”和“B”中间的值“110”。
还记得mid函数吗?mid函数的主要作用是:从字符串中返回指定数目的字符。
比如现在的“110”则应该是从字符串的第2位取得3个单位的值。
但设想一下:如果不是“110”,而是“1100”,那是不是要提取4位……这样就显出程序的不够完美。
所以继续思考:所提取的值,永远是在字母“A”后面的,且值也永远是在字母“A”和“B”之间的,那么只要分别提取出“A”、“B”的位置,则中间数值的起始位应是字母“A”位+1,中间数值的长度应是字母“B”位-字母“A”位-1
那么现在就可以让程序完美起来:
OK,那么现在你也就完全可以把字母“B”、“C”、“D”后面的值一一提取了。
当然需要注意的就是“D”后面有几位怎么取呢?采用字符串总长度-字母D所在位置数就可以了。
用到现在,你也许确实学到了不少,但也许会提出疑问:这个放在FSO文件操作里有什么作用呢?
那下面才是我们的正题:用FSO进行简单的文本投票。
投票页面首要的就是显示各类项目的投票数,并相应赋于某个变量。然后判断本次投票的选相,相对应地将投票数值加1,完毕后再将所有值继续写入文本。
1,一个HTML表单页website.html
以做投票点击的平台。
用到现在,你也许确实学到了不少,但也许会提出疑问:这个放在FSO文件操作里有什么作用呢?
那下面才是我们的正题:用FSO进行简单的文本投票。
<%file=request.form("filename")response.write (file & "源程序如下
")If trim(file)<> "" then Call ShowCode(file)End If%>
以上程序调试时,可以选择html,asp页面,也可以打开任一应用程序等。
定义的ShowCode函数,主要作用是打开、读取并显示文件中所有信息内容。注意添加了server.HTMLEncode(rsline),针对含有标准HTML代码的文件。
显示文件中所有行即用一条件循环进行遍历显示了。
While Not cnrs.AtEndOfStream...Wend
接着,下面的这个例题具体就涉及open方法的问题了,还记得?正常情况之下打开文件是采用fso.OpenTextFile("c:\testfile.txt",1),参数1的作用是:以只读模式打开文件。不能对此文件进行写操作。如果现在已经存在一文件,需要进行追加写入,则该怎么办呢?简单,参数为8即可。
这有什么用呢?呵呵,亚玛逊的网络故事接龙就是如此:能接龙就需要首先要显示原有故事,然后自己添加故事写入文件。这其中的写入文件最讲究的就是追加写入了。所以下面就可以实现。
二、story.asp
<%If not request.Form("NextLine")="" then Set fso=Server.CreateObject("Scripting.FileSystemobject") textfile1=Server.MapPath("story.txt") set cnrs=fso.OpenTextFile(textfile1,8) cnrs.WriteLine(Request.Form("NextLine")) cnrs.Closeend if%>故事如下:<%Set fso=Server.CreateObject("Scripting.FileSystemObject")textfile1=Server.MapPath("story.txt")set cnrs=fso.OpenTextFile(textfile1,1)while not cnrs.AtEndOfStream Response.Write " " & cnrs.ReadLinewendcnrs.close%>
整个就是一很简单的读取信息和加入信息的混合利用,相信有了前面的基础看懂应该不成问题。当然还缺少个story.txt文件,里面写好故事开头就可以了。
调试
再下面,继续来,该侧重点主要就是练习一些函数的使用技巧了。
1,instr函数:返回某字符串在另一字符串中第一次出现的位置。
比如现在查找字母“A”在字符串“A110B121C119D1861”中第一次出现的位置,则可以
同样字母“B”的位置也就能确定。现在就来最关键的:提前字母“A”和“B”中间的值“110”。
还记得mid函数吗?mid函数的主要作用是:从字符串中返回指定数目的字符。
比如现在的“110”则应该是从字符串的第2位取得3个单位的值。
但设想一下:如果不是“110”,而是“1100”,那是不是要提取4位……这样就显出程序的不够完美。
所以继续思考:所提取的值,永远是在字母“A”后面的,且值也永远是在字母“A”和“B”之间的,那么只要分别提取出“A”、“B”的位置,则中间数值的起始位应是字母“A”位+1,中间数值的长度应是字母“B”位-字母“A”位-1
那么现在就可以让程序完美起来:
OK,那么现在你也就完全可以把字母“B”、“C”、“D”后面的值一一提取了。
当然需要注意的就是“D”后面有几位怎么取呢?采用字符串总长度-字母D所在位置数就可以了。
用到现在,你也许确实学到了不少,但也许会提出疑问:这个放在FSO文件操作里有什么作用呢?
那下面才是我们的正题:用FSO进行简单的文本投票。
投票页面首要的就是显示各类项目的投票数,并相应赋于某个变量。然后判断本次投票的选相,相对应地将投票数值加1,完毕后再将所有值继续写入文本。
1,一个HTML表单页website.html
以做投票点击的平台。
用到现在,你也许确实学到了不少,但也许会提出疑问:这个放在FSO文件操作里有什么作用呢?
那下面才是我们的正题:用FSO进行简单的文本投票。