Anda Delphi programmer? Pernah menggunakan fitur RTTI? Kalau sudah pernah menggunakan operator is dan as, anda dapat dikatakan sudah pernah menggunakan fitur RTTI (Run Time Type Information). Hal lain adalah ketika Anda membutuhkan tipe data dan konstanta enumerasi, seringkali Anda membutuhkan nilai String dari nama enumerasinya. Hal termudah namun merepotkan memang membuat fungsi yang memetakan dari setiap nilai enum ke stringnya. Dengan fitur RTTI dari unit TypInfo, Anda dapat melakukannya dengan mudah secara programming.
Contoh:
unit TestingRTTI;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm3 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TPerkakasDapur = (pdPisau, pdGarpu, pdPiring, pdGelas);
var
Form3: TForm3;
implementation
uses TypInfo;
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
showMessage(GetEnumName(TypeInfo(TPerkakasDapur), integer(pdGarpu))) ;
end;
end.
Aplikasi di atas akan menampilkan string dalam message box : pdGarpu
Coba tengok caranya untuk dua arah, dari string ke enum, dan dari enum ke string di sini. Punya pengalaman menarik untuk dishare tentang RTTI? Atau link menarik tentang RTTI seperti ini misalnya? Share dunk..
Tambahan url keren ttg RTTI: