아래와 같이 형태의 데이타를 한글로 변환하고 싶습니다..
숫자로 들어온 데이타를 한글로 표현하고 싶은데 고수님들 알려주시면 감사하겠습니다..
꼭 좀 부탁드립니다....
[한글구조]
초성-01(ㄱ),02(ㄴ),03(ㄷ)-------------
중성-01(ㅏ),02(ㅐ),03(ㅑ)-------------
종성-01(ㄱ),02(ㄴ),03(ㄷ)-------------
[input data-숫자로 들어옴]
0001 010101
0002 020202
0003 030303
[output data-한글로 표현]
0001 각
0002 낸
0003
target=_blank>http://www.howto.pe.kr/zboard/zboard.php?id=delphi_tiptrick&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&keyword=음절&select_arrange=headnum&desc=asc&no=932
1. 일단, 중요한건
초성 19개(ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ)
중성 21개(ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ)
종성 28개('' ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ)
중에서 종성은 맨앞에 공백입니다(받침없는경우)
2. 이처럼 순서가 정해 있으나 사용자가 정한 순서(번호)를 할려면, 김영대님 소스에서 순번을 찾는것을 추가하면 될거 같습니다
3. 찾은 초중종성을 한글로 만드는 소스만 보면
var
iChoseong, iJungseong, iJongseong: WORD;
uSyllable: PWideChar;
begin
try
iChoseong := 1;
iJungseong := 1;
iJongseong := 1;
// 유니코드 음절을 저장할 버퍼(double-byte)
uSyllable := GlobalAllocPtr(GHND, 4);
// 조합된 음절의 유니코드
WORD(uSyllable^) := $AC00 + (iChoseong* 21*28) + (iJungseong* 28) + (iJongseong);
Showmessage(uSyllable); // 문자로 변환
finally
if uSyllable <> nil then
GlobalFreePtr(uSyllable);
end;
end;