Does Delphi have anything built-in to generate UUIDs?
Yes TGUID
, see this example
program Guid;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
WriteLn(TGUID.NewGuid.ToString());
end.
program Guid;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
Uid: TGuid;
Result: HResult;
begin
Result := CreateGuid(Uid);
if Result = S_OK then
WriteLn(GuidToString(Uid));
end.
Under the covers CreateGuid()
calls one of the various APIs, depending on the platform. For example on Windows, it nowadays calls UuidCreate
.
Also, if you need a GUID for an interface declaration, hit ctrl+shift+g in the code editor to insert a GUID at the caret.
If you're using one of the latest version of Delphi, and include SysUtils, you can call TGuid.NewGuid
to generate a new guid.
NewGuid
is actually implemented in a helper class for TGuid (TGuidHelper), which is declared in SysUtils.
This function calls the CreateGUID method (also in SysUtils and already mentioned in the answer by Mitch Wheat), which is actually a cross platform function that calls different libraries depending on the platform it runs on.