Delphi GUID[2] 获取GUID值的方式

Posted 滔 Roy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi GUID[2] 获取GUID值的方式相关的知识,希望对你有一定的参考价值。

Delphi GUID[2] 获取GUID值的方式

源码:

function CoCreateGuid(out guid: TGUID): HResult; stdcall; external \'ole32.dll\' name \'CoCreateGuid\';

function CreateGUID(out Guid: TGUID): HResult;
begin
  Result := CoCreateGuid(Guid);
end;

function GUIDToString(const GUID: TGUID): string;
var
  P: PWideChar;
begin
  if not Succeeded(StringFromCLSID(GUID, P)) then
    ConvertError(@SInvalidGUID);
  Result := P;
  CoTaskMemFree(P);
end;  

方式1:

function GetGUID: string;
var
  Guid: TGUID;
begin
  CreateGUID(Guid);
  Result := GUIDToString(Guid);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ShowMessage(GetGUID);
end;

方式2:

function Guid_Gen: ansistring;
var
  s,gstr: string;
  i: longint;
begin
  s := \'0123456789abcdef\';
    //8-4-4-4-12
  gstr := \'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\';
  for i := 1 to length(gstr) do
  begin
    if gstr[i] = \'x\' then
      gstr[i] := s[Random(16) + 1];
  end;
  Result:=gstr;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
   ShowMessage(Guid_Gen);
end;

  

 

 

 

 

创建时间:2021.05.25  更新时间:

以上是关于Delphi GUID[2] 获取GUID值的方式的主要内容,如果未能解决你的问题,请参考以下文章

在 Delphi 中使用接口是不是需要 GUID?

delphi生成GUID

如何将 NEWID() / GUID / UUID 插入代码编辑器?

如何检索系统上网络适配器的 GUID?

如何从字典中获取 MAX 值?

如何简单快速获取SharePoint列表的GUID