Difference between revisions of "Runtime Type Information (RTTI)/ru"
From Lazarus wiki
Jump to navigationJump to searchm (Fixed syntax highlighting; removed categories included in template) |
|||
Line 7: | Line 7: | ||
Можно использовать RTTI для получения строки из перечисляемого типа. | Можно использовать RTTI для получения строки из перечисляемого типа. | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
type | type | ||
TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ; | TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ; | ||
Line 22: | Line 22: | ||
Вы также можете сделать это, без использования RTTI: | Вы также можете сделать это, без использования RTTI: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
program noRTTI; | program noRTTI; | ||
type | type | ||
Line 38: | Line 38: | ||
*[[RTTI tab/ru|Вкладка RTTI]] | *[[RTTI tab/ru|Вкладка RTTI]] | ||
* http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm | * http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm | ||
− | |||
− | |||
− |
Latest revision as of 14:45, 25 February 2020
│ English (en) │ français (fr) │ русский (ru) │
Информация времени выполнения (RTTI) может быть использована для получения мета-данных в приложениях Pascal.
Преобразование перечислимого типа в строку
Можно использовать RTTI для получения строки из перечисляемого типа.
type
TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ;
uses TypInfo;
var
s: string;
begin
s := GetEnumName(TypeInfo(TProgrammerType), integer(tpDelphi));
// Здесь s = 'tpDelphi'
Вы также можете сделать это, без использования RTTI:
program noRTTI;
type
TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ;
var
s: string;
begin
writestr(s,tpDelphi);
writeln(s);
end.