本站为一个PHP个人网站,提供一些代码技术文章、提交免费空间消息、一些代码、让学习更轻松-PHP-小戴
你当前的位置:首页>>技术文章>>php技术文章
小戴个人门户站导航 PHP小戴个人门户站 关于站长web个人门户站 设计服务-网络公司,建设网站,企业logo设计,包装设计,网站设计,整站程序开发 联系站长-小戴个人门户站
  • 技术文章排行榜
文章数据加载中...
  • 免费空间排行榜
空间数据加载中...

开发asp程序技巧

  • 一、新闻栏

    大多数网页上有新闻栏,用以显示最近新闻的主题,点击此主题即可查看详细报道。倘若每天都一条条写在网页上,再依次建立链接太过麻烦。如何让其可以根据文件自动更新呢?


    1.预备工作:

    1)建一个文件夹,起名为\"news\",假设存于D:/ASP/目录下;

    2)把每条新闻的详细内容写入文件,且此文件的命名形式为:x (newstime).htm。其中x为此条新闻的主题,newstime为此条新闻发布的时间(按年-月-日顺序写)。为什么要这样写呢?看了下面的算法思想和源程序就知道了。

    2.算法思想:对于news文件夹中的文件,依据它们文件名中新闻发布的时间(即括号内的内  容),从大到小排序。这样一来,最新的新闻排在最上面,只要在网页相应位置显示 news文件夹中最上面的若干个文件名,因为文件名的命名方式如1中所述,就可以在新闻栏中显示最新新闻了。

    3.源程序段(用VBScript编写的)

    以下为引用的内容:
    <%
    Dim fs, f, f1, fc, filenum
    dim count
    dim i,j,t1,t2
    dim file(100)
    dim mystr(100)                  \'标志文件中日期的字符串
    count=0
    Set fs = CreateObject(\"Scripting.FileSystemObject\")
    Set f = fs.GetFolder(\"D:/ASP/news \")
    Set fc = f.Files
               for each f1 in fc
                     count=count+1                  \'计文件个数
                     file(count)=fs.getbasename(f1)                  \'标记文件基名
                     mypos=InStr(1, file(count), \"(\")            \')在文件基名中的位置
                     \'文件基名中的日期字符串
                     mystr(count) = Mid(file(count), mypos + 1, Len(file(count)) - (mypos + 1))
               next
         for i=1 to count
             for j=1 to count-i
             if mystr(j)<mystr(j+1) then
               t1=file(j)
               file(j)=file(j+1
               file(j+1)=t1
                t2=mystr(j)
                mystr(j)=mystr(j+1)
                mystr(j+1)=t2
             end if
             next
         next
    j=1
    if count<10 then          \'新闻栏中共显示10条新闻
     temcount=count
    else
     temcount=10
    end if
    do while j<=temcount%>
    <a href=\"file:///D:/ASP/news/<%=file(j)%>.htm\" target=\"new_window\"><%=file(j)%> </a>
    <%
    j=j+1
    loop
    %>
      
    4.新闻栏内容更新:

    只要养成良好的书写习惯,使得新闻的名称遵照1的要求,再把写好的文件存入news文件夹,新闻栏就会自动显示出最新的10条新闻了。

    二、公告栏

    除了新闻栏之外,较常用的就是公告栏了,公告栏主要用来显示一些重要的通知。当然这些通知是要经常变化的。让用户每次更改公告内容时都到源程序里去修改吗?当然不行,我们必须提供一个维护的界面给用户,使得用户只要输入通知,网页上的公告栏里自然就会显示通知内容了。

    1.解决这一问题的关键在于灵活应用FileSystemObject对象和TextStream对象。在实际应用中,你无需自行建立TextStream对象,因为只要利用FileSystemObject对象打开了文件,系统便自动建立TextStream对象。也就是说,一旦调用OpenTextFile或CreateTextFile方法,便会传回TextStream对象。

    2.所需相关文件有三个:更新.asp、公告.asp、维护文本.txt,把它们存入d:/ASP/maintain目录下。

    3.三个文件的主要功能和源程序段:

    1)更新.asp

    主要功能是让用户输入欲显示的公告,检验输入内容是否为空,若不为空,则提交给”公告.asp”程序处理。

    以下为引用的内容:

    <html>
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">
    <meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
    <meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
    <title>更新公告栏内容</title>
    </head>
    <body>
    <script language=vbscript>
    function datacheck()
    dim msg,errflag
    errflag=true
         if len(trim(maintain.t1.value))=0 then
               focusto(0)
               errflag=false
               msg=\"请输入需提交的公告内容\"
         end if
         if (errflag=false) then
               msgbox msg,64,\"oh no!\"     
               exit function
         end if
    datacheck=errflag
    maintain.submit
    end function
    sub focusto(x)
         document.maintain.elements(x).focus()
    end sub
    </script>
    ①<form method=\"POST\" action=\"公告.asp\" name=\"maintain\">
    <p><input type=\"text\" name=\"t1\" size=\"84\"><input type=\"reset\" value=\"重写\" name=\"B2\">
    <input type=\"button\" value=\"提交\" name=\"B1\" onclick=\"datacheck()\"></p>


    <hr color=#FF99FF size=1>
    </form>
    </body>
    </html>

    语句①中的action=\"公告.asp\"部分,指出了在form提交后要启动的程序为“公告.asp”。

    2)公告.asp

    通过FileSystemObject对象和TextScream对象对\"维护文本.txt\"文件进行读写操作,使得此文件最上面5行的内容为要在公告栏里显示的公告。

    以下为引用的内容:

    <%
    dim str
    str=request.form(t1)
    dim s(5)
    const forreading=1,forwriting=2
    dim fso,myfile
    set fso=server.createobject(\"scripting.FileSystemObject\")
    set myfile=fso.opentextfile(\"维护文本.txt\",forreading)\'以Reading模式打开文件
    for i=1 to 5   \'公告栏共显示5条公告
         s(i)=myfile.readline\'读取文件内容
    next
    myfile.close
    set myfile=fso.opentextfile(\"维护文本.txt\",forwriting,true) \'以writing模式打开文件
    myfile.writeline str
    for i=1 to 4
         myfile.writeline s(i) \'将数据写回文件


    next
    myfile.close
    %>

    3)维护文本.txt

    此文件开始为空,从”更新.asp”显示的界面输入公告后,此文件内容被自动写入。

    4.在主页文件(通常是default.asp)欲显示公告位置的代码段中加入如下代码,即可显示出更新后的公告。

    以下为引用的内容:

    <marquee scrollamount=\"2\" scrolldelay=\"50\" direction=\"up\" width=\"223\" height=\"133\" id=\"a\" onmouseover=\"a.stop()\" onmouseout=\"a.start()\">\'公告栏上下滚动
    <%
    Dim s(20)
    Dim fso, MyFile
    Set fso = CreateObject(\"Scripting.FileSystemObject\")
    Set MyFile = fso.OpenTextFile(\"D:/ASP/maintain/维护文本.txt\",1,true)
    for i=1 to 5
    ReadLineTextFile=MyFile.ReadLine
    s(i)=ReadLineTextFile
    response.write \"★ \" & s(i)
    response.write \"<br>\"


    next
    %>
    </marquee>

     


  • [时间:2008-10-27 15:12:04][点击:]

  • 上下篇文章加载中...
返回首页 | 关于站长 | 联系站长| 设计服务 | 建站资源 | 技术文章 | 娱乐中心 | 免费空间 | 友情链接 | 留言蜚语 | 网站地图| 网友投稿|RSS订阅 
QQ:277728291 联系方式:15824537062 mail:27772821@163.com
版权所有 2008-2018 PHP小戴个人门户站-编程技术和空间和文章共享-www.phpxd.com Copyright 2008 phpxd.com