Olá galera, nesta Quick Tips, como podemos criar um GUID em tempo de execução e recuperar o seu valor utilizando uma função simples que retorna uma String, mas antes disso vamos ver primeiro o que seria uma GUID, para aqueles que não conhecem vale apena a leitura.
Mas o que seria uma GUID ?
Seria um Identificar Único Global(em inglês seria Globally Unique Identifier), utilizado em softwares para garantir que exista apenas um número de referência em toda a aplicação nunca se repetindo, a probabilidade desta GUID ser gerada uma outra vez, é quase que impossível segundo a Microsoft, tornando assim um ótimo identificador para objetos em uma aplicação por exemplo.
Vamos então a definição da nossa GUID em tempo de execução. Primeiramente criaremos uma função chamada GuidCreate, na seção private do formulário, juntamente vamos adicionar um Edit e um botão para podermos ver o resultado.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Edit1: TEdit;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
function GuidCreate: string;
{ Private declarations }
public
{ Public declarations }
end;
Além de declaramos esta function, precisamos também dar uses em ComObj, ActiveX.
Vamos agora implementar o function GuidCreate;
function TForm1.GuidCreate: string;
var
ID: TGUID;
begin
Result := '';
if CoCreateGuid(ID) = S_OK then
Result := GUIDToString(ID);
end;
E por último vamos usar esta rotina vendo o resultado da seguinte forma, no click do botão implemente o seguinte :
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Edit1.Text := GuidCreate;
end;
Como podemos notar o valor da GUID será gerado pela função GUIDCreate, e logo será resultado o valor gerado e assim atribuído ao Edit.
Você pode ficar tentando repetir este valor, porém sinceramente será difícil você consegui isso, devido a quantidade de informação que é necessária para montar esta GUID, informações como Sistema Operacional, Data, hora, dados de processador, dados do país, e por ai vai, realmente muito complicado de se repetir.
Fico por aqui ate à próxima Quick Tips.
Um abraço
Wesley Y