Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как написать в дельфи генерацию гуидов


Автор: User 22.2.2005, 16:33
Возник вопрос, как написать функцию программно, на дельфи что бы генерировались автоматически guid

Автор: SoWa 22.2.2005, 16:36
Скажи, что такое guid, может смогу помочь...

Автор: _hunter 22.2.2005, 17:01
User, а справку слабо почитать? ;)
функция CreateGUID()

Автор: User 24.2.2005, 15:24
Вы наверное не совсем поняли вопрос. Нет насчет справки я её читал. Знаю что GUID можно генерировать в дельфи нажатием Alt+Shift+G. Знаю как записать CreateGUID() как ты правильно заметил. Но я имел в виду другое. А именно:
Во первых можно ли создать - и как, программу которая бы автоматически генерировало бы GUID при нажатии скажем Button1. Вы спросите зачем это надо. Вот представте себе базу данных в которой вместо привычного первичного ключа в виде счетчика записывалисьбы GUID, а для этого их надо как то генерировать, и писать туды. Вот для чего я задаю этот вопрос.
Добавлено @ 15:26
А насчет что такое так это: GUID - Global Unique IDentifier - Глобальный Уникальный Иеднтификатор Это 128-разраядное значение,
используемое для идентификации COM-обьектов. Генерируется на основе IP-адреса и еще каких то данных.
Вероятность повторной генерации одинаковых значений ничтожна мала, точнее говоря, есле генерить GUID-ы
со скоростью 1 000 000 в секунду то за время существования вселенной вероятность их повторения равна 5%

Автор: z-END 24.2.2005, 15:33
Код

var
 F: TGUID;
begin
CreateGUID (F);
ShowMessage (GUIDToString (F));
end;

или я не про то?

Автор: User 24.2.2005, 15:39
Про то именно. А данная запись нормально срабатывает как уникальное значение? TGUID И вообще стоит ли заморачиваться с такой уникальностью?

Автор: z-END 24.2.2005, 15:50
Цитата(User @ 24.2.2005, 15:39)
А данная запись нормально срабатывает как уникальное значение?

если вереить товей вырезке про вероятность совпадения, то нормально:)

Автор: Snowy 24.2.2005, 15:54
Для таких целей можно просто создать случайное число. Вероятность повторения все равно будет. Поэтому, раз уж у тебя это идентификатор, то нужно проверять, а не существует ли такой уже.

Автор: _hunter 24.2.2005, 16:31
Цитата
Генерируется на основе IP-адреса и еще каких то данных.

во-первых не IP, а MAC
во-вторых уже и он не используется smile

Автор: Александра 24.2.2005, 16:55
_hunter
почему уже? вроде как при наличии сетевухи используется (опционально типа). А как сейчас тогда?

Автор: _hunter 24.2.2005, 16:59
http://forum.vingrad.ru/index.php?showtopic=24977
почитай последние топики

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)