Генерация GUID как строки

Previous  Top  Next

    
 

 

Как в Run-time сгененрировать строку типа

 

'{821AB2C7-559D-48E0-A3EE-6DD50E83234C}'

 

Типа как в среде при нажатии Ctrl-Shift-G. Функция CoCreateGuid выводит значение типа TGUID, я нигде не нашёл функции конвертации TGUID -> String. Может кто знает такую функцию?

 

 

©Drkb::00138

Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)

Взято с Vingrad.ru http://forum.vingrad.ru

 

 


 

 

Есть такая функция. Как ни странно называется она GUIDToString, и живет в SysUtils.

 

 

©Drkb::00139

Автор: Fantasist

Взято с Vingrad.ru http://forum.vingrad.ru

 

 


Можно GUIDToString написать и вручную, будет выглядеть примерно так:

 

Code:

procedure TForm1.Button1Click(Sender: TObject);

var

G: TGUID;

S: string;

i: Integer;

begin

CoCreateGuid(G);

S := '{' + IntToHex(G.D1, 8) + '-' + IntToHex(G.D2, 4) + '-' + IntToHex(G.D3, 4) + '-';

for i := 0 to 7 do

   begin

     S := S + IntToHex(G.D4[i], 2);

     if i = 1 then S := S + '-'

   end;

S := S + '}';

ShowMessage(GUIDToString(G) + #13 + S)

end;

 

 

 

 

©Drkb::00140

Автор: Jin X