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
[71870] Re:[질문] ㄱ으로 시작되는 문자열찾기
빌더초보 [starwagon] 3823 읽음    2014-10-15 11:52
한글 자모 코드 표 링크
http://www.unicode.org/charts/PDF/U1100.pdf

한글 음절 코드 표 링크
http://www.unicode.org/charts/PDF/UAC00.pdf

	unsigned short w = *Edit1->Text.SubString(1,1).w_str();

	if (w == 0x3131 || (0xAC00 <= w && w < 0xAC00+0x24C)) {
		ShowMessage((wchar_t)0x3131);
	}


링크 참조하셔서 위처럼 코드 범위로 구분하시면 됩니다.

근데 자모코드 표에는 ㄱ이 1100 이라고 나와 있는데, 실제로는 3131 이더군요.
컴파일러의 유니코드 버전차이(?) 인것같은데 자세히는 모르겠네요.

폼에 TEdit 를 두개 올리시고 Edit1Change에 아래와 같이 쓰고 테스트 해보세요.
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
	wchar_t *w=Edit1->Text.w_str();
	Edit2->Text="";
	for (int i = 0; i < Edit1->Text.Length(); i++) {
		Edit2->Text=Edit2->Text+", "+IntToHex((unsigned short)w[i],4);
	}
}


24C의 의미는... 전체를 다 확인해 본것은 아닌데 하나의 자음에 할당되는 음절의 갯수는 24C 개 더군요.
아마 조합할수 있는 모든 경우의 수가 24C 개 인가 봅니다. 아닐수도 있고요 ㅎㅎ;

그럼..








하안인 님이 쓰신 글 :
:
: 기린, 미역, 기사, 등등
:
: 의 문자열이 있을 경우 ㄱ 으로 시작되는 문자열을 찾으려면 어떻게 해야 하나요.
:
: 한문자이면 문자열 검색으로 하면 되는데 ....

+ -

관련 글 리스트
71869 [질문] ㄱ으로 시작되는 문자열찾기 하안인 3510 2014/10/15
71878     Re:[질문] ㄱ으로 시작되는 문자열찾기 방태윤 3585 2014/10/16
71870     Re:[질문] ㄱ으로 시작되는 문자열찾기 빌더초보 3823 2014/10/15
71871         Re:Re:[질문] ㄱ으로 시작되는 문자열찾기 하안인 3665 2014/10/15
71873             Re:Re:Re:[질문] ㄱ으로 시작되는 문자열찾기 빌더초보 3839 2014/10/15
71874                 Re:Re:Re:Re:[질문] ㄱ으로 시작되는 문자열찾기 하안인 3790 2014/10/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.