Difference between revisions of "Runtime Type Information (RTTI)/ru"
From Free Pascal wiki
Jump to navigationJump to searchm (Fixed syntax highlighting; removed categories included in template) |
|||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Editing Runtime Type Information (RTTI)}}<p> | {{Editing Runtime Type Information (RTTI)}}<p> | ||
− | Информация времени выполнения (RTTI) может быть использована для получения мета-данных в приложениях. | + | Информация времени выполнения (RTTI) может быть использована для получения мета-данных в приложениях Pascal. |
__TOC__ | __TOC__ | ||
==Преобразование перечислимого типа в строку== | ==Преобразование перечислимого типа в строку== | ||
Line 7: | Line 7: | ||
Можно использовать RTTI для получения строки из перечисляемого типа. | Можно использовать RTTI для получения строки из перечисляемого типа. | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
type | type | ||
TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ; | TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ; | ||
Line 20: | Line 20: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | *[[RTTI controls/ru| | + | Вы также можете сделать это, без использования RTTI: |
+ | <syntaxhighlight lang=pascal> | ||
+ | program noRTTI; | ||
+ | type | ||
+ | TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ; | ||
+ | var | ||
+ | s: string; | ||
+ | begin | ||
+ | writestr(s,tpDelphi); | ||
+ | writeln(s); | ||
+ | end. | ||
+ | </syntaxhighlight> | ||
+ | ==См. также== | ||
+ | |||
+ | *[[RTTI controls/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.