Создание GUID в ASP-приложении при помощи VB-компонента

Автор: Topol Вторник, Апрель 17th, 2012 Нет комментариев

Рубрика: Программирование

В некоторых ASP-приложениях бывает необходимо генерировать уникальный идентификатор (GUID — Global Unique IDentifier), сделать который можно несколькими способами, в том числе: используя БД или VB-компонент. Наиболее простой способ — использование БД (например, функции NewID() в SQL Server 7.0) не всегда подходит, поэтому в данной статье мы рассмотрим пошаговое создание VB-компонента, который позволит реализовать эту задачу при помощи Windows API. Преимущества этого метода будет в ледующем:

  • 1. Не требует выполнения запроса к БД
  • 2. Не требует наличия SQL Server 7.

Итак, для создания компонента:

1. Поместите в секцию General Declarations следующий код:

Option Explicit Private Declare Function CoCreateGuid Lib "OLE32.DLL" _ (pGuid As GUID) As Long Private Declare Function StringFromGUID2 Lib "OLE32.DLL" _ (pGuid As GUID, ByVal PointerToString As Long, _ ByVal MaxLength As Long) As Long Private Const GUID_OK As Long = 0 Private myGUID As S tring Private Type GUID Guid1 As Long Guid2 As Integer Guid3 As Integer Guid4(0 To 7) As Byte End Type

2. Скопируйте данный код функции:

Public Function getGUIDKey() As String Const MAX_GUID_LENGTH As Long = 38 Dim udtGUID As GUID Dim strGUID As String Dim lngRetCode As Long lngRetCode = CoCreateGuid(udtGUID) If lngRetCode = GUID_OK Then strGUID = String(MAX_GUID_LENGTH, 0) StringFromGUID2 udtGUID, StrPtr(strGUID), _ MAX_GUID_LENGTH + 1 Else strGUID = "" End If getGUIDKey= strGUID End Function

3. Откомпилируйте файл проекта.

Обратите внимание, что в случае использования API Text Viewer (утилиты, входящей в Visual Studio) вы получите тип Public для API-функций, вместо Private, который использован в данном примере. Успешная компиляция завершает создание требуемого компонента и вы можете приступать к его использованию.

Источник: woweb.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты