Delphiには、UUIDを生成するための組み込み機能がありますか?
_program Guid;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
Uid: TGuid;
Result: HResult;
begin
Result := CreateGuid(Uid);
if Result = S_OK then
WriteLn(GuidToString(Uid));
end.
_
内部では、CreateGuid()
は、プラットフォームに応じて、さまざまなAPIの1つを呼び出します。たとえば、Windowsでは現在、UuidCreate
を呼び出しています。
また、インターフェース宣言にGUIDが必要な場合は、 ctrl+shift+g コードエディターで、キャレットにGUID=を挿入します。
Delphiの最新バージョンの1つを使用していて、SysUtilsが含まれている場合は、TGuid.NewGuid
を呼び出して新しいGUIDを生成できます。
NewGuid
は、実際にはSysUtilsで宣言されているTGuid( TGuidHelper )のヘルパークラスに実装されています。
この関数はCreateGUIDメソッドを呼び出します(これもSysUtilsにあり、Mitch Wheatによる回答で既に言及されています)。これは、実際には、実行するプラットフォームに応じて異なるライブラリを呼び出すクロスプラットフォーム関数です。
はいTGUID
、この例を参照
program Guid;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
WriteLn(TGUID.NewGuid.ToString());
end.