
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.164] |
![]() |
|
![]() |
|
|
Доброго времени суток всем!
Где-то слышал что винда может генерировать уникальные идентификаторы 16-24 знака. Т.е. в любой момент времени эта функция будет выдавать разные значения. У меня проблема - создаю динамически кнопки и надо идентификатор уникальный. Вариант "Button1", "Button2", ... не подходит т.к. неизвестно сколько кнопок на данный момент уже имеется. |
Сообщ.
#2
,
|
|
|
Ты про генератор случайных чисел?
|
![]() |
Сообщ.
#3
,
|
|
2 firelex
Могу предложить использовать hWnd кнопок. |
Сообщ.
#4
,
|
|
|
1. GUID называется.
2. да вот hWnd 3. как это не известно сколько имеется ? кто программу пишет ? должен знать. ![]() ![]() Function GetUniqueName(ByVal sControlClass as String) As String Static i as Long i = i + 1 GetUniqueName = sControlClass & CSTR(i) End Function ну или переменная видимости модуля. |
Сообщ.
#5
,
|
|
|
Цитата Static i as Long Вот это мысль дельная... Мелкософт в этом отношении лаконичностью не отличился ![]() ![]() Private Type GUID Data1 As Long Data2 As Integer Data3 As Integer Data4(7) As Byte End Type Private Declare Function CoCreateGuid Lib "OLE32.DLL" (pGuid As GUID) As Long Public Function GetGUID() As String '(c) 2000 Gus Molina Dim udtGUID As GUID If (CoCreateGuid(udtGUID) = 0) Then GetGUID = _ String(8 - Len(Hex$(udtGUID.Data1)), "0") & Hex$(udtGUID.Data1) & _ String(4 - Len(Hex$(udtGUID.Data2)), "0") & Hex$(udtGUID.Data2) & _ String(4 - Len(Hex$(udtGUID.Data3)), "0") & Hex$(udtGUID.Data3) & _ IIf((udtGUID.Data4(0) < &H10), "0", "") & Hex$(udtGUID.Data4(0)) & _ IIf((udtGUID.Data4(1) < &H10), "0", "") & Hex$(udtGUID.Data4(1)) & _ IIf((udtGUID.Data4(2) < &H10), "0", "") & Hex$(udtGUID.Data4(2)) & _ IIf((udtGUID.Data4(3) < &H10), "0", "") & Hex$(udtGUID.Data4(3)) & _ IIf((udtGUID.Data4(4) < &H10), "0", "") & Hex$(udtGUID.Data4(4)) & _ IIf((udtGUID.Data4(5) < &H10), "0", "") & Hex$(udtGUID.Data4(5)) & _ IIf((udtGUID.Data4(6) < &H10), "0", "") & Hex$(udtGUID.Data4(6)) & _ IIf((udtGUID.Data4(7) < &H10), "0", "") & Hex$(udtGUID.Data4(7)) End If End Function |
![]() |
Сообщ.
#6
,
|
|
firelex
UuidToString Есть такая функция;) |
Сообщ.
#7
,
|
|
|
А нет ли какого-нибудь GUID отвечающего за идентификацию системы например при регистрации ее в домене?
Должен быть, ведь если на компе введенном в домен переустановить систему то в домен его не пускает пока заново вручную не введешь. |