Asp组件初级入门与精通系列之八

我们来做一个组件,一个可以生成GUID的组件

全局唯一标志(GUID)

一个GUID可以表示成32个字符的十六进制格式。COM提供了一个名叫CoCreateGuid的系统级函数,可以用它来生成新的GUID。该函数依靠一种类似使用计算机网卡的唯一标志符和系统时钟等信息的算法,来创建一个在时间和空间上都唯一的GUID.

 

打开vb6,新建Activex Dll工程。工程名修改为fCom,类名修改为fC8

Option Explicit

 

Private Type GUID

    Data1 As Long

    Data2 As Long

    Data3 As Long

    Data4(8) As Byte

End Type

Private Declare Function CoCreateGuid Lib "ole32.dll" (pguid As GUID) As Long

Private Declare Function StringFromGUID2 Lib "ole32.dll" (rguid As Any, ByVal lpstrClsId As Long, ByVal cbMax As Long) As Long

 

'GUID

'参数:

'返回值:STRING,一个GUID.

Public Function GetGUIDCode() As String

  Dim uGUID As GUID

  Dim sGUID As String

  Dim bGUID() As Byte

  Dim lLen As Long

  Dim RetVal As Long

 

  lLen = 40

  bGUID = String(lLen, 0)

  CoCreateGuid uGUID '把结构转换为一个可显示的字符串

  RetVal = StringFromGUID2(uGUID, VarPtr(bGUID(0)), lLen)

  sGUID = bGUID

  If (Asc(Mid$(sGUID, RetVal, 1)) = 0) Then RetVal = RetVal - 1

  GetGUIDCode = Left$(sGUID, RetVal)

End Function

 

 

 

Ok,一个组件就写好了,点击菜单->文件->生成fCom.dll文件

确定,在目录下就会有fCom.dll文件

 

测试

打开visual interdev6.0,生成一个asp文件

<%@ Language=VBScript %>

<HTML>

<BODY>

<%

dim obj

set obj=server.CreateObject("fCom.fC8")

Response.Write obj.GetGUIDCode()

Response.Write "<br>"

Response.Write obj.GetGUIDCode()

%>

 

</BODY>

</HTML>

 

配置好虚拟目录,在ie中执行此asp文件,得到结果如下:

{EF7BF6F9-564C-44D9-91BF-F31695DA6298}
{C8A68CAC-A108-45A6-84F5-0BF92B9CF721}

可以多次刷新,可以看到这个值在不断变化.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值