Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Yurik
Зарегистрирован: 23.05.2002 Сообщения: 5
|
Добавлено: Пн Июн 03 2002 06:01 Заголовок сообщения: Нужна функция Visual Basic |
|
|
Нужна функция в Visual Basic : случайное уникальное символьное значение длиной 8 символов. Есть ли стандартная ? |
|
Вернуться к началу |
|
|
Вячеслав Гость
|
Добавлено: Пн Июн 03 2002 17:29 Заголовок сообщения: Re: Нужна функция Visual Basic |
|
|
Пользуй API получи GUID но далее сам поймеш
Public Type GUID PartOne As Long PartTwo As Integer PartThree As Integer PartFour(7) As Byte End Type
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 = 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 = 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 |
|
Вернуться к началу |
|
|
|