function AttrText(Val, Attr: string): string;
begin
Result := '_T(" %s(0x%X)=0x%lX\r\n"), _T( "TEST_ATTR"), Attr, ( (Val) & (Attr) )';
Result := StringReplace(Result, 'Val', Val, [rfReplaceAll]);
Result := StringReplace(Result, 'Attr', Attr, [rfReplaceAll]);
end;
const TEST_ATTR = '0x10';
호출: AttrText('0x01', TEST_ATTR);
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) ) |