Автор | Сообщение |
|
| |
Пост N: 268
Зарегистрирован: 05.10.06
|
|
Отправлено: 30.06.20 12:20. Заголовок: как получить GUID ?
Нашел на С функцию формирования GUID, как ее оформить для получения строки ? Может есть стандартные функции в Harbour ? цитата: | GUID guid; CoCreateGuid(&guid); char guidStr[37]; sprintf_s( guidStr, "%08lX-%04hX-%04hX-%02hhX%02hhX-%02hhX%02hhX%02hhX%02hhX%02hhX%02hhX", guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]); std::string s(guidStr); |
|
|
|
|
Ответов - 8
[только новые]
|
|
|
| |
Пост N: 7205
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.06.20 13:22. Заголовок: Разраб сам формирует..
Разраб сам формирует тот GUID (а это строка) который ему нужен , это если я верно понял вопрос
|
|
|
|
| |
Пост N: 269
Зарегистрирован: 05.10.06
|
|
Отправлено: 30.06.20 16:02. Заголовок: Dima пишет: Разраб ..
Dima пишет: цитата: | Разраб сам формирует тот GUID (а это строка) который ему нужен , это если я верно понял вопрос |
| Не понял про разраба... GUID - уникальное случайное число сформированное по особым правилам, и мне нужно его создавать каждый раз при необходимости. Функция выше его формирует, какая функция нужна для возврата из С этой строки ? Что то типа hb_retnl(), только видимо другая...
|
|
|
|
| |
Пост N: 7206
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.06.20 16:19. Заголовок: MIKHAIL пишет: GUID..
MIKHAIL пишет: цитата: | GUID - уникальное случайное число сформированное по особым правилам, и мне нужно его создавать каждый раз при необходимости. |
| Так и формируй его сам в Harbour , по нужным тебе правилам , при чем тут Cи ?
|
|
|
|
| |
Пост N: 270
Зарегистрирован: 05.10.06
|
|
Отправлено: 30.06.20 16:24. Заголовок: Dima пишет: Так и ф..
Dima пишет: цитата: | Так и формируй его сам в Harbour , по нужным тебе правилам , при чем тут Cи ? |
| Уникальность GUID подтверждается определенным алгоритмом с использованием временных меток и возможно MAC адреса, зачем изобретать велосипед если есть уже готовая функция в C
|
|
|
|
| |
Пост N: 7207
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.06.20 21:13. Заголовок: MIKHAIL пишет: Уник..
MIKHAIL пишет: цитата: | Уникальность GUID подтверждается определенным алгоритмом с использованием временных меток и возможно MAC адреса |
| Жди тогда сишника.... хотя сам бы уже сделал давно имея "TimeStamp" или типа того + Mac карты и сам бы смог потом вносить нужные изменения , тем более формат (шаблон) GUID известен.
|
|
|
|
| |
Пост N: 7208
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.07.20 15:47. Заголовок: По теме :) http://fo..
|
|
|
|
| |
Пост N: 387
Зарегистрирован: 12.11.06
|
|
Отправлено: 02.07.20 11:22. Заголовок: Я создаю так * -----..
Я создаю так * -------------------------------------------------------------------------------------------------- * Генерация уникального GUID через класс Windows от XP и выше. Посмотрено и проверено на FoxClub * Делаю через отдельную функцию для освобождение переменных класса и локальных переменных FUNC cgCreaGUID() LOCA oGUID := CreateObject("scriptlet.typelib") IF oGUID <> NIL RETU Alltrim(Lower(Subs( oGUID:GUID, 2, 36 ))) ENDI ErrMess("Не доступен класс Windows: scriptlet.typelib. Смените операционную систему или доустановите класс!",cError) RETU ""
|
|
|
|
| moderator
|
Пост N: 1413
Зарегистрирован: 06.07.06
|
|
Отправлено: 02.07.20 11:31. Заголовок: MIKHAIL пишет: Функ..
MIKHAIL пишет: цитата: | Функция выше его формирует, какая функция нужна для возврата из С этой строки ? Что то типа hb_retnl(), только видимо другая... |
| hb_retc().
|
|
|
|