Difference between revisions of "Runtime Type Information (RTTI)"
From Lazarus wiki
Jump to navigationJump to searchLine 18: | Line 18: | ||
s := GetEnumName(TypeInfo(TProgrammerType), integer(tpDelphi)); | s := GetEnumName(TypeInfo(TProgrammerType), integer(tpDelphi)); | ||
// Here s = 'tpDelphi' | // Here s = 'tpDelphi' | ||
− | + | WriteLn(s) | |
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 30: | Line 30: | ||
s: string; | s: string; | ||
begin | begin | ||
− | writestr(s,tpDelphi); | + | writestr(s, tpDelphi); |
− | + | WriteLn(s); | |
end.</syntaxhighlight> | end.</syntaxhighlight> | ||
Revision as of 17:53, 27 June 2018
│
English (en) │
français (fr) │
русский (ru) │
Runtime Type Information RTTI can be utilized to obtain meta information in a Pascal application.
Converting a enumerated type to a string
One can use RTTI to obtain a string from a enumerated type.
uses TypInfo;
type
TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ;
var
s: string;
begin
s := GetEnumName(TypeInfo(TProgrammerType), integer(tpDelphi));
// Here s = 'tpDelphi'
WriteLn(s)
end.
But you can also do it without RTTI:
program noRTTI;
type
TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ;
var
s: string;
begin
writestr(s, tpDelphi);
WriteLn(s);
end.