web-dev-qa-db-fra.com

Générateur UUID Delphi

Delphi a-t-il quelque chose de intégré pour générer des UUID?

39
Cruachan
program Guid;

{$APPTYPE CONSOLE}

uses
SysUtils;

var

Uid: TGuid;
Result: HResult;

begin
Result := CreateGuid(Uid);
if Result = S_OK then
   WriteLn(GuidToString(Uid));
end.

Sous les couvertures, CreateGuid() appelle l'une des différentes API, selon la plate-forme. Par exemple sous Windows, il appelle de nos jours UuidCreate.

67
Mitch Wheat

De plus, si vous avez besoin d'un GUID pour une déclaration d'interface, appuyez sur ctrl+shift+g dans l'éditeur de code pour insérer un GUID au caret.

37
Nat

Si vous utilisez l'une des dernières versions de Delphi et incluez SysUtils, vous pouvez appeler TGuid.NewGuid pour générer un nouveau guid.

NewGuid est en fait implémenté dans une classe d'assistance pour TGuid ( TGuidHelper ), qui est déclarée dans SysUtils.

Cette fonction appelle la méthode CreateGUID (également dans SysUtils et déjà mentionnée dans la réponse de Mitch Wheat), qui est en fait une fonction multiplateforme qui appelle différentes bibliothèques en fonction de la plate-forme sur laquelle elle s'exécute.

5
RBA

Oui TGUID, voir cet exemple

program Guid;

{$APPTYPE CONSOLE}

uses
SysUtils;

begin
  WriteLn(TGUID.NewGuid.ToString());
end.
0
Jesse Lee