ASP实例:计数器程序详解总结

    作者:课课家更新于: 2015-11-09 22:41:40

    大神带你学编程,欢迎选课
    今天由小编为大家讲解有关语言编程的文章,相信对大家一定有很大的帮助

    c语言编程入门Active Server Pager(动态服务器主页,简称),通过读写服务器的文件,结合script语言(script或Jscript)和html码可以方便地实现页面计数器功能。现流行的ASP教材和网络上的ASP教程都谈到过ASP,但是都过于简单,比如没有提到怎样实现计数器脚本和主页面的分离以及图象计数器的实现等。下面就作者为单位制作NT web站点的经验,举实例循序渐进谈谈关于ASP计数器的设计,希望能给ASP的初学者和对ASP WEB编程有兴趣的网友一些启发。

    (一)简单的计数器
    ASP内含五个内置的"Active Server Components"(ActiveX服务器组件),即Database component访问组件)、File Access component(文件访问组件)、Ad Rotator component(广告轮播器组件)、Brower Capabilities component(浏览器信息组件)、Content Linking component(内容链接组件)。我们下面要设计的计数器,就是通过其中的File Access component(文件访问组件)来读写服务器文件来实现。算法思路是:在服务器端用一个文本(ASCII)文件存放计数数值,每当页面被访问时就从文件中读出数值,显示给用户,并且使数值加1,把增加后的数值写回到文件。
    写入数据到一个服务器计数文件的ASP语句和说明如下:
    CounFile=Server.MapPath("用来存放计数器值的文件名")
    Server服务器访问方法MapPath(path)是将存放计数器值的文件所在的路径转换成物理路径
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    使用方法CreateObject定义对象FileSystemObject
    SET OutStream=Server.CreateTextFile(FileObject,True,False)
    使用对象FileSystemObject提供方法CreateTextFile产生文本文件,其中参   数"True"表示覆盖原来的文件,"False"表示文件为ASCII类型
    OutStream.WriteLine "要写入的数据"
    OutStream.WriteLine为往文件写入一行数据
    从一个服务器文件读取数据的ASP语法如下:
    CounFile=Server.MapPath("用来存放计数器值的文件名")
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    SET InStream=Server.OpenTextFile(FileObject,1,false,false)
    使用对象FileSystemObject提供方法OpenTextFile产生文本文?其中参数"True"表示覆盖原来的文件,"False"表示文件为ASCII类型"要读取的数据"=InStream.ReadLine,其中InStream.ReadLine为从文件中读取的一行数据。
    下面是一个用ASP实现页面计数器功能的计数器例子(simplecounter.asp),我在代码中详细注释了语句。你可以把以下代码粘贴到你需要计数的页面代码中。当然,你的服务器必须支持ASP,且你已经在主页所在的目录下创建了一个内容为0的文本文件simplecounter.txt。
    简单的ASP计数器simplecounter.asp代码及注释:

    以下为引用的内容:
    $#@60;%
    CountFile=Server.MapPath("simplecounter.txt")
    文件aspconter.txt是用来储存数字的文本文件,初始内容一般是0
    Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
    counter=Out.ReadLine


    读取计数器文件中的值
    Out.Close
    关闭文件

    首先将需要备份的网站文件前的复选框选中,然后点击“添加到压缩文件”超连接,接着在弹出的对话框中输入文件名称,注意一定要输入以zip为后缀的压缩文件格式。确定后稍等片刻,一个文件压缩包就制作完成了。只需要将其下载,放置在安全的地方保存就可以了。
    在管理器主页面的功能菜单中选择“上传文件”按钮,将在网页最下方打开文件上传模块(如图2),点击“浏览”按钮选择本地文件,然后再点击上传即可。程序中的文件容量栏目会自动显示该文件占用网站空间的大小,文件大小会以KB或Byte两种单位显示。我们可以根据此功能方便的对网站文件进行整理归类操作;点击下载超连接可以将网站文件下载到本地硬盘,操作方式与普通下载方式无异,还可以使用迅雷等下载工具进行文件的高速下载;软件还提供了功能强大的编辑器(如图3),点击编辑连接后会显示文件的源代码,它还提供了本地预览与在线预览的功能,使网站文件的调试工作变得非常简单高效;

    文件管理器程序可以进行几乎所有的文件管理操作。它不仅具备一般的上传、下载、新建、重命名文件等功能,还提供了诸多实用的其它功能,根据这些实用功能,我们可以完成对网站的管理维护等相关操作。

    以下为引用的内容:
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
    Application.lock


    C语言视频教程方法Application.lock禁止别的用户更改计数器的值
    counter= counter + 1
    计数器的值增加1
    Out.WriteLine(counter)
    把新的计数器值写入文件
    Application.unlock
    使用方法Application.unlock后,允许别的用户更改计数器的值

    以下为引用的内容:
    Response.Write("您是第")
    Response.Write("$#@60;font color=red$#@62;")
    Response.Write(counter)


    把计数器的值传送到浏览器,以红(red)色显示给用户

    以下为引用的内容:
    Response.Write("$#@60;/font$#@62;")
    Response.Write("位访问者")
    Out.Close


    关闭文件
    %$#@62;
    (二)与页面分离的计数器
    实际应用中,主页面与计数器程序是分离的,既只要在需要计数的页面中加入一句引用代码就可以实现页面计数。我们在网上经常申请使用的免费计数器就是这样,不过它们一般是CGI做的。这里,我们只要稍微修改一下前面我们用ASP做的简单计数器,然后在页面加入一句Script语句引用它,就实现了与页面分离的计数器功能。这样,无论是作为主页面的计数器还是为某个特定页面的计数,都很方便了。显然,你需要简单更改一下存放计数器值的文件名和计数器asp源代码文件名就可以实现多个计数器。
    与页面分离的计数器txtcounter.asp代码:

    以下为引用的内容:
    $#@60;%
    CountFile=Server.MapPath("txtcounter.txt")
    Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
    counter=Out.ReadLine
    Out.Close
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
    Application.lock
    counter= counter + 1
    Out.WriteLine(counter)
    Application.unlock
    Response.Write"document.write("&counter&")"


    为了在页面正确显示计数器的值,调用VBScript函数Document.write
    Out.Close
    %$#@62;
    在要计数的页面加入如下的代码:
    $#@60;p$#@62;
    您是第
    $#@60;font color=red$#@62;
    $#@60;script language="" src="http://202.101.209.75/asptemp/counter/txtcounter.asp"$#@62;
    //引用时注意ASP计数器所在的服务器及目录路径。
    $#@60;/script$#@62;
    $#@60;/font$#@62;
    位来客
    $#@60;/p$#@62;
    (三)与页面分离的图象计数器
    人们的追求是永无止境的,也许你需要一个更有个性的图形数字计数器,而不是简单的文本数字计数器。没问题,现在我们就来看看用ASP是怎样来实现图形计数器功能的。要实现图形计数器,关键点在于如何实现把计数器文件中的数据值转变为对应的图象表示。因为十进制数有0,1,2,3,4,5,6,7,8,9共十个不同的数数字,我们需要有十个对应的图象,且图象的文件名字要与显示的数字对应起来,比如0对应的数字图象的文件名字就是0.gif,1对应的就是1.gif,...(图象自己可以用Photoshop等工具制作,或者从网络上下载)。这里我们要用到VBScript函数Len(string | varname)、Mid(string,start[,length])。由Len(counter)可得到计数器值的位数,由Mid(counter,i,1)可以得到计数器值的第i位上的数字,我们可利用这个值来调用相应的数字图象。用For循环语句,我们不难得出计数器值各个位上的数字并转化成对应的数字图象,这样,我们就能实现文本数值到图象数字的转变。下面就是一个用ASP编写的图象计数器实例,因为大部分代码前面都分析过,所以代码中只注释了部分语句。
    与页面分离的图象计数器imgcounter.asp代码:
    $#@60;% @language="VBScript"%$#@62;
    $#@60;%
    dim images(20)
    定义一数组,用来存放显示每一位数字图象的语句

    以下为引用的内容:
    CountFile=Server.MapPath("imgcounter.txt")
    Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
    counter=Out.ReadLine
    Out.Close
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
    Application.lock
    counter= counter + 1
    Out.WriteLine(counter)
    Application.unlock
    countlen=len(counter)


    得到计数器值的位数

    以下为引用的内容:
    for i=1 to countlen
    images(i)="$#@60;img src="&"http://202.101.209.75/asptemp/counter/images/"&"/" & mid(counter,i,1) & ".gif$#@62;$#@60;/img$#@62;"


    C语言教程由循环语句得到各个位上数值对应图象的显示代码(html),并把它存在数组中,具体使用时请注意图象的实际服务器及目录路径
    response.write"document.write("&images(i)&");"
    调用函数Document.write输出显示数字图象的html代码
    next
    Out.Close
    %$#@62;
    在要计数的页面加入如下的代码:
    $#@60;p$#@62;
    您是第
    $#@60;script language="JavaScript" src="http://202.101.209.75/asptemp/counter/imgcounter.asp"$#@62;
    //引用时注意ASP计数器所在的服务器及目录路径。
    $#@60;/script$#@62;
    位来客
    $#@60;/p$#@62;
    附注:以上asp计数器均在NT Server 4.0(中文) /3.0 下测试通过。以下任何一种环境都可执行ASP:
    一、Windows NT Server 4.0 / IIS3.0以上
    二、Windows NT WorkStation 4.0 / Microsoft Peer Web Service3.0以上
    三、Windows 95/98 / Microsoft Personal Web Server 1.0a以上

     

    看完小编的文章是不是很精彩,更多关于在线教育的文章尽在课课家,希望你们多多关注。

     

课课家教育

未登录