달력

5

« 2025/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2011. 3. 26. 14:18

가나다순 인덱스 로직 카테고리 없음2011. 3. 26. 14:18

기존의 ASCII코드는 영문자사용 국가의 영문법 표기를 위한것입니다. 한글표현은 KSC5601, EUC-KR(완성형한글) 등의 코드를 사용하여 표현하였습니다. 유니코드는 이런 각각의 세계언어를 모두 표현할 수 있는 새로운 코드입니다.

ASCII코드 0 ~ 127 ( U+0021(!) ~ U+007F(Delete)) 1Byte = 8bit 256가지 표현(반각+전각 문자)
유니코드 U+OOO0(16진수 4자리) 2Byte = 16bit 65535가지 표현(ASCII코드 포함, 각 세계 언어문자)

1. 가(U+AC00)
2. 나(U+B098)
3. 다(U+B2E4)
4. 라(U+B77C)
5. 마(U+B9C8)
6. 바(U+BC14)
7. 사(U+C0AC)
8. 아(U+C544)
9. 자(U+C790)
10. 차(U+CC28)
11. 카(U+CE74)
12. 타(U+D0C0)
13. 파(U+D30C)
14. 하(U+D558)
15. 한자(U+F900)

function fn_getTabIndex()
{
var arr = array();

arr[0] = "AC00"; // 가
arr[1] = "B098"; // 나
arr[2] = "B2E4"; // 다
arr[3] = "B77C"; // 라
arr[4] = "B9C8"; // 마
arr[5] = "BC14"; // 바
arr[6] = "C0AC"; // 사
arr[7] = "C544"; // 아
arr[8] = "C790"; // 자
arr[9] = "CC28"; // 차
arr[10] = "CE74"; // 카
arr[11] = "D0C0"; // 타
arr[12] = "D30C"; // 파
arr[13] = "D558"; // 하
arr[14] = "F900"; // 한자

var arr2 = array(); // 16진수에서 10진수로 변환한 값
arr2[0] = 0;
arr2[1] = 0;
arr2[2] = 0;
arr2[3] = 0;
arr2[4] = 0;
arr2[5] = 0;
arr2[6] = 0;
arr2[7] = 0;
arr2[8] = 0;
arr2[9] = 0;
arr2[10] = 0;
arr2[11] = 0;
arr2[12] = 0;
arr2[13] = 0;
arr2[14] = 0;

var digit = 4;
var iCnt=0;

// 가 ~ 하 까지의 10진수 값
for(var i=0; i<15; i++)
{
iCnt=0;
for(var j=(digit-1); j>=0; j--)

arr2[i] += CharAt(arr[i],iCnt) * (16의j제곱);
iCnt++;
}
}

}

// 16진수를 10진수로
function fn_getTenBaseDigit(str16)
{
var rtn = 0;
iCnt=0;
for(var j=(digit-1); j>=0; j--)

rtn += CharAt(str16,iCnt) * (16의j제곱);
iCnt++;
}
}


컬럼값을 넣으면 한글이 유니코드로 바뀌어 나온다.
( 별로의 프로그램 사용 )

가 인덱스 ==> arr2[0]
한자 인덱스 ==> arr2[14]


// 탭에 인덱스 만들기
function fn_makeTabIndex(tabIndex)
{
var filterStr = "";
if(tabIndex == 0)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+가 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+나 인덱스+"' ";
} else if(tabIndex == 1)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+나 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+다 인덱스+"' ";
} else if(tabIndex == 2)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+다 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+라 인덱스+"' ";
} else if(tabIndex == 3)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+라 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+마 인덱스+"' ";
} else if(tabIndex == 4)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+마 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+바 인덱스+"' ";
} else if(tabIndex == 5)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+바 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+사 인덱스+"' ";
} else if(tabIndex == 6)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+사 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+아 인덱스+"' ";
} else if(tabIndex == 7)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+아 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+자 인덱스+"' ";
} else if(tabIndex == 8)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+자 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+차 인덱스+"' ";
} else if(tabIndex == 9)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+차 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+카 인덱스+"' ";
} else if(tabIndex == 10)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+카 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+타 인덱스+"' ";
} else if(tabIndex == 11)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+타 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+파 인덱스+"' ";
} else if(tabIndex == 12)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+파 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+하 인덱스+"' ";
} else if(tabIndex == 13)
{
filterStr = " ZZ101AB.substr(0,1) >= '"+하 인덱스+"' ";
filterStr += " && ZZ101AB.substr(0,1) < '"+한자 인덱스+"' ";
}
dsMain.Filter(filterStr);

}


* 탭 changed 시
dsMain.UnFilter();
fn_makeTabIndex(tabIndex);


 

:
Posted by 상문이