Tag - colocando strings

Top  Previous  Next

Talvez você diga: é impossível, tag é inteiro e string é string (dã!).

Mas é possível:

 

Coloque uma Edit1.Text

 

Código para transformar o Edit1.text em tag (inteiro):

 

var

  tagString : PChar;

begin

  GetMem(tagString, 1 + Length(Edit1.Text));

  StrPCopy(tagString, Edit1.Text) ;

  Edit1.Tag := Integer(tagString) ;

end;

 

Código para restaurar de tag para string:

 

var

  s : string;

begin

  s := PChar(Edit1.Tag) ;

  ShowMessage(s) ;

end;

 

Coloque esta linha no Destroy do Form para liberar a memória ocupada:

 

FreeMem(PChar(Edit1.Tag)) ;