function GetGUID: string;
var
i: Integer;
GUID: TGUID;
begin
i := 0;
Result := '';
while i < 3 do
begin
if CoCreateGuid(GUID) = S_OK then
begin
SetLength(Result, 32);
StrLFmt(PChar(Result), 32,'%.8x%.4x%.4x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x',
[Guid.D1, Guid.D2, Guid.D3, Guid.D4[0], Guid.D4[1], Guid.D4[2], Guid.D4[3],
Guid.D4[4], Guid.D4[5], Guid.D4[6], Guid.D4[7]]);
Break;
end;
Inc(i);
end;
if Result = '' then
begin
GUIDCnt := GUIDCnt + 1;
Result := FormatDateTime('YYYYMMDDHHMMSSZZZ', Now) + '-' + IntToHex(GUIDCnt, 14);
end;
end;
uses Winapi.ActiveX,最后记得引用 ActiveX单元
Guid生成唯一ID编号
最新推荐文章于 2025-08-14 14:33:42 发布
本文介绍了一种在Delphi中生成全局唯一标识符(GUID)的方法。通过使用ActiveX单元中的CoCreateGuid函数来创建GUID,并将其转换为字符串格式。如果创建失败,则采用基于当前时间和计数器的方式生成唯一字符串。
8421

被折叠的 条评论
为什么被折叠?



