当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP服务器组件的编程

ASP
提高SQL的执行效率的ASP的五种做法
asp的offset的一个go to page
asp中command的在单条记录时,有些字段显示为空的问题
asp,php一句话木马整理方便查找木马
asp 合并记录集并删除的sql语句
asp下循环一行多少个
asp循环行数输出函数
asp access重新开始编号
ASP生成数字相加求和的BMP图片验证码
静态页面利用JS读取cookies记住用户信息
比较详细的Asp伪静态化方法及Asp静态化探讨
asp Response.flush 实时显示进度
Asp高级故障解决以及相关代码
asp智能脏话过滤系统v1.0
ASP文件中的安全问题
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
asp两组字符串数据比较合并相同数据
asp MYSQL出现问号乱码的解决方法
asp文章中随机插入网站版权文字的实现代码
ASP利用XMLHTTP实现表单提交以及cookies的发送的代码

ASP服务器组件的编程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 113 ::
收藏到网摘: n/a

      
  1.什么是ASP服务器组件
  
  ASP(Active Server Page)是当今开发交互式Web页面、Web数据库应用最强大的技术。在其中可以混用HTML、DHTML、ActiveX、VBScript或JavaScript。当这些技术都无法奏效时(例如进行高密度的数学运算、封装特定的数据库处理逻辑等),可以使用服务器组件(Server SideComponent)进一步扩展ASP的能力。
  Server SideComponent实际上是运行在服务器上的一个DLL,它可以完成常规DLL所能胜任的任何任务。不同之处是:它由ASP页面调用、并以Web页面为交互对象,读入用户的输入(Web页面上各输入域的值),处理后返回结果到Web页面。这些交互当然都要通过Web服务器作为中介。可以用VB、VFP、VC++、C++Builder、Delphi等任意支持COM技术的语言编写。由于它可以利用服务器的任何资源,其功能仅受限于你的想象力。
  目前支持ASP的Web服务器有IIS(Internet Information Server,WinNT Server4.0自带)和PWS(Personel Web Server,用于Win95环境)。并要求安装VisualInterDev中的Server Components:FrontPage Server Extensions、 Active ServerPages和Client Components:Visual InterDevClient。可以把这些都安装在同一台机器上,这样可以在单机上方便地编程、调试。
  下面用VB5.0开发一个Server Side Component(一个ActiveXDLL),以实现Web页面上的随机图形显示,相信它会为你的站点增色不少。
  
  2. Web页面上的随机图形显示
  
  一个漂亮的图形可以使Web页面更具吸引力,使人流连忘返。但一旦我们的Web页面设 计完成,这个图形也就确定下来。换言之,除非我们重新修改HTML代码,则每次打开这个页面,看到的都是同样一个图形。那么能否让用户在每次进入我们的站点时,都能看到不同的画面呢?例如:每次这个Web页面被访问时,从一个包含若干图形文件的文件夹中随机选取一个,在该页面上显示,使访问该页面的用户每次都会得到不同的视觉享受。
  这个要求用HTML、DHTML或VBScript语言无法做到,这里我们用一个ASP服务器组件实现之。
  
  3.用VB5.0建立ActiveX DLL
  
  首先在VB5.0中新建一个Project ,类型为ActiveX DLL :设定属性如下:
  Project Name:RandShowFile,
  ClassModule Name:Randimage
  其中类Randimage的代码如下:
  Option Explicit
  Private mvarFilePath As String 'local copy
  Public Property Let FilePath(ByVal vData As String)
  '设置文件路径
  If Right(vData, 1) = "/" Or Right(vData, 1) = "\" Then
  mvarFilePath = vData
  Else
  If InStr(vData, "/") <> 0 Then
  mvarFilePath = vData & "/"
  Else
  mvarFilePath = vData & "\"
  End If
  End If
  End Property
  
  Public Property Get FilePath() As String
  '取得文件路径
  FilePath = mvarFilePath
  End Property
  
  Private Sub Class_Initialize()
  mvarFilePath = ""
  End Sub
  
  Public Function Show(Optional ByVal Extension As String) As String
  '从指定文件路径中随机选取并返回一个文件名
  Dim MyPath As String
  Dim MyName As String
  Dim List() As String
  Dim FileCount As Integer
  Dim n As Integer
  On Error GoTo badnews
  If Len(mvarFilePath) <= 1 Then
  Show = "NoFilePathSpecified "
  Erase List
  Exit Function
  Else
  If IsMissing(Extension) Then
  Extension = "*.*" '如果扩展名没有指定,则默认为*.*
  End If
  MyPath = mvarFilePath & Trim(Extension) ' Set the path.
  MyName = Dir(MyPath, vbNormal) ' Retrieve the first entry.
  End If
  FileCount = 0
  ReDim List(10)
  Do While MyName <> ""
  List(FileCount) = MyName
  FileCount = FileCount + 1
  If FileCount >= UBound(List) Then
  n = UBound(List)