type
TATTR_PAIR = record
str : string;
val : Integer;
end;
const
TEST_ATTR : TATTR_PAIR = ( str = 'TEST_ATTR'; val = 0x10 );
function _ATTR_TEXT(val : integer; const attr : TATTR_PAIR):string;
begin
result := format(' %s(0x%X)=0x%lX\r\n',[attr.str,attr.val,val and attr.val]);
end;
문법이 맞는지 모르겠네요;
이 방법은 어떨련지요?
MarunGuy 님이 쓰신 글 :
: 다음과 같은 C 매크로를 델파이(라자루스) 문법으로 변환가능할까요?
: #define _ATTR_TEXT(Val, Attr ) _T(" %s(0x%X)=0x%lX\r\n"), _T( #Attr), Attr, ( (Val) & (Attr) )
:
: 매크로 호출시 다음과 같이 변환됩니다.
: 델파이로 가능한 방법이 있을까요? 아니면 다른 좋은 방법이라도...
:
: #define TEST_ATTR 0x10
:
: _ATTR_TEXT(0x01, TEST_ATTR)
: ->
: _T(" %s(0x%X)=0x%lX\r\n"), _T("TEST_ATTR"), 0x10, ( (0x01) & (0x10) ) |