C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[1323] [답변] JSK365/ 임펠리테리님.../프포
박지훈.임프 [cbuilder] 3698 읽음    1999-05-10 17:35
안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당 임펠리테리입니다.

IdentToColor() 함수는 컬러 이름 문자열과 int 형 변수의 레퍼런스를 받아서

컬러이름이 적법한 이름일때, 즉 clWhite나 clYellow등일때, 넘겨받은 int형 변수에

컬러의 값을 넘겨주는 함수입니다. 주의할 것은, TColor형이 아닌 int 형 변수를

취한다는 것입니다. 대부분의 경우, int형은 TColo형으로 자동 캐스팅 되므로

그리 신경쓸 필요는 없습니다만.

int iColor;
IdentToColor("clWhite", iColor);
this->Color = iColor;

위와 같이 하면 폼의 색깔이 흰색으로 바뀝니다. 이런식으로 문자열로부터

컬러의 값을 알아낼 수 있습니다.


비슷한 함수로 StringToColor() 함수가 있습니다. 이 함수는 AnsiString형 인자를

받아서 TColor형으로 값을 리턴합니다. 사용하기는 더 편합니다만.. 보시면 아시겠

지만, 용도가 조금 다릅니다. Ident로 작업하는 함수들, 그러니까 IdentToColor(),

ColorToIdent()함수들은 리턴값이 bool 형으로서 이름을 갖지 않는 컬러값일 경우

false를 리턴합니다만, StringToColor(), ColorToString() 함수는 적법한 해당

이름이 없을 경우 16진 포맷의 문자열로 만들어줍니다. 괜찮은 기능 같지만,

빌더에서는 별다른 도움이 안된답니다. 왜냐면.. 파스칼 문법대로, 0x~ 가 아닌

$~ 로 리턴하기 때문입니다. 그러므로 빌더에서 16진 포맷의 문자열이 필요하면,

Format함수나 표준 C의 sprintf()등의 함수를 사용하거나.. IntToHex() 함수를

사용해야 합니다.

그럼 참고하시길...




임펠리테리 박지훈이었습니다.

(cbuilder, cbuilder@thrunet.com)




+ -

관련 글 리스트
1322 [질문] 임펠리테리님.../프포 jsk365 3486 1999/05/10
1323     [답변] JSK365/ 임펠리테리님.../프포 박지훈.임프 3698 1999/05/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.