Страница: 1 |
В принципе в теме все понятно. Если можно ответ кодом. За ранее спасибо.
Private Type GUID PartOne As Long PartTwo As Integer PartThree As Integer PartFour(7) As Byte End Type Private Declare Function CoCreateGuid Lib "OLE32.DLL" _ (ptrGuid As GUID) As Long Public Function GUID() As String Dim lRetVal As Long Dim udtGuid As GUID Dim sPartOne As String Dim sPartTwo As String Dim sPartThree As String Dim sPartFour As String Dim iDataLen As Integer Dim iStrLen As Integer Dim iCtr As Integer Dim sAns As String On Error GoTo errorhandler sAns = "" lRetVal = CoCreateGuid(udtGuid) If lRetVal = 0 Then 'First 8 chars sPartOne = Hex$(udtGuid.PartOne) iStrLen = Len(sPartOne) iDataLen = Len(udtGuid.PartOne) sPartOne = String((iDataLen * 2) - iStrLen, "0") _ & Trim$(sPartOne) 'Next 4 Chars sPartTwo = Hex$(udtGuid.PartTwo) iStrLen = Len(sPartTwo) iDataLen = Len(udtGuid.PartTwo) sPartTwo = String((iDataLen * 2) - iStrLen, "0") _ & Trim$(sPartTwo) 'Next 4 Chars sPartThree = Hex$(udtGuid.PartThree) iStrLen = Len(sPartThree) iDataLen = Len(udtGuid.PartThree) sPartThree = String((iDataLen * 2) - iStrLen, "0") _ & Trim$(sPartThree) 'Next 2 bytes (4 hex digits) 'Final 16 chars For iCtr = 0 To 7 sPartFour = sPartFour & _ Format$(Hex$(udtGuid.PartFour(iCtr)), "00") Next 'To create GUID with "-", change line below to: 'sAns = sPartOne & "-" & sPartTwo & "-" & sPartThree _ '& "-" & sPartFour sAns = sPartOne & sPartTwo & sPartThree & sPartFour End If GUID = sAns Exit Function errorhandler: 'return a blank string if there's an error Exit Function End Function Я проще нашел. Private Declare Function CoCreateGuid Lib _ "ole32.dll" (buffer As Byte) As Long Private Declare Function StringFromGUID2 Lib _ "ole32.dll" (buffer As Byte, ByVal lpsz As Long, _ ByVal cbMax As Long) As Long Private Function getGUID() As String Dim buffer(0 To 15) As Byte Dim s As String Dim ret As Long s = String$(128, 0) ' получает численный код ret = CoCreateGuid(buffer(0)) ' преобразуем его в текст, ' используя недокументированную функцию StrPtr ret = StringFromGUID2(buffer(0), StrPtr(s), 128) getGUID = Left$(s, ret - 1) ' отсекаем "хвост" End Function Страница: 1 |
Вопрос: Подскажите как сгенерить GUID на VB6?
Добавлено: 11.03.04 12:43
Автор вопроса: Born | ICQ: 178155071
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 11.03.04 12:53
Номер ответа: 2
Автор ответа:
Born
ICQ: 178155071
Вопросов: 21
Ответов: 52
Профиль | | #2
Добавлено: 12.03.04 04:46