질문주신 델파이 코드는
if CheckRed then
OK := OK and ( rgbtRed >= minRec ) and ( rgbtRed <= maxRed );
또는
if CheckRed = TRUE then
OK := OK and ( rgbtRed >= minRec ) and ( rgbtRed <= maxRed );
이 됩니다. 이를 c코드로 바꾸면
if ( CheckRed )
OK = OK && ( rgbtRed >= minRec ) && ( rgbtRed <= maxRed );
또는
if ( CheckRed == true )
OK = OK && ( rgbtRed >= minRec ) && ( rgbtRed <= maxRed );
처럼 됩니다.
Objective Pascal은 if의 컨디션으로 불린값만 올수 있습니다. c는 불린, 0과 0이 아닌 값
이 모두 올수 있는데 반해 O-Pascal의 if는 컨디션이 간단하죠. O-Pascal, C 의 두번째
문장과 같이 자료형이 명백하게 들어나는 if문을 썼으면 해석하기가 쉬웠을텐데 일반적으로
첫번째 문장처럼 기술하더군요.
그리고 제 경험으로는 O-Pascal에서 두번째 문장은 가끔 if 컨디션을 제대로 해석하지
못하고 무조건 true로 컴파일 되는 경우가 아주 가끔 있습니다. 황당하더군요. ^^;;
왕초보 님이 쓰신 글 :
: 소스는 다음과 같이 간단합니다.
:
: IF CheckRed
: THEN OK := OK AND (rgbtRed >= minRed) AND
: (rgbtRed <= maxRed);
:
: CheckRed가 참일 때 다음 구문에서 하는 일이 도대체 뭔지를 모르겠네요. OK는 불린 변수입니다. 대입이 일어나는 것 같지도 않고....
:
: 위 코드를 C코드로 바꾸면 어떻게 되는지 궁금하네요... 제가 생각해도 참 간단한 문제인것 같은데 델파이를 처음 접하다 보니 간단한 것부터 막히네요...
:
: 미리 감사드립니다.
|