Difference between revisions of "Runtime Type Information (RTTI)/ru"

From Lazarus wiki
Jump to navigationJump to search
m (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
 
 
{{AutoCategory}}
 

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.

См. также