web-dev-qa-db-ja.com

Delphi UUIDジェネレーター

Delphiには、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.
_

内部では、CreateGuid()は、プラットフォームに応じて、さまざまなAPIの1つを呼び出します。たとえば、Windowsでは現在、UuidCreateを呼び出しています。

67
Mitch Wheat

また、インターフェース宣言にGUIDが必要な場合は、 ctrl+shift+g コードエディターで、キャレットにGUID=を挿入します。

37
Nat

Delphiの最新バージョンの1つを使用していて、SysUtilsが含まれている場合は、TGuid.NewGuidを呼び出して新しいGUIDを生成できます。

NewGuidは、実際にはSysUtilsで宣言されているTGuid( TGuidHelper )のヘルパークラスに実装されています。

この関数はCreateGUIDメソッドを呼び出します(これもSysUtilsにあり、Mitch Wheatによる回答で既に言及されています)。これは、実際には、実行するプラットフォームに応じて異なるライブラリを呼び出すクロスプラットフォーム関数です。

5
RBA

はいTGUID、この例を参照

program Guid;

{$APPTYPE CONSOLE}

uses
SysUtils;

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