몇가지 버그를 발견했습니다..추가 수정합니다..
우선 9자리 이하의 숫자를 입력시 발생하는 오류가 있습니다..
예를 들어 123을 입력하면 123,123이라고 표시돼는 오류가 있습니다..
그리고 10자리 이상의 숫자중 뒤에서 9번째자리가..0일경우 발행하는 오류도
있습니다..
예를 들어.. 1098765432 -> 1,98,765,432와 같이 표시되는 오류..도 있습니다..
이번 Tip에서는 사용자함수를 사용했습니다..
/////// 변경된 부분만 설명합니다.. /////
기타 설명은 이전것을 참고해주세요...^^
문자:문,문1,임시글자; <---- 요기에 "임시글자 " 추가 되었죠..
실수:문길,수,수1;
문길:=문자길이(에디트0.문자);
만일 (문길 >10 )
{
문:= 문자복사(에디트0.문자, 문길-8, 9);
문1:= 문자삭제(에디트0.문자, 문길-8, 9);
수:=문을수(문,0);수1:=문을수(문1,0);
///////////////< 변경된 부분입니다..>/////////////////////
임시글자:=문자복사(문,0,1); <------- 추가된 부분입니다..
설명 : 문자중 첫짜를 카피하두는 것입니다..
창0.사용자함수.밑판표시(임시글자,수,수1);
^---- 추가된 부분입니다. 사용자함수 명령입니다..
}
아니면 // 이것은.. 만일 에디트의 문자가 길이가 10자가 되지
// 않을때 수행합니다.. 즉 그냥 수를 교정문을 사용하면 되겠죠..
{ // 아래처럼...
밑판.제목:=수를교정문("###,###,###,###", 문을수(에디트0.문자,0));
}
//////////////< 변경된 부분의 끝 >/////////////////////////
밑판.보이기:=참;
///////////////< 사용자함수 부분 >/////////////////////////
함수:밑판표시(문자:임시글자; 실수:수,수1);
만일(임시글자= "0" )
{ 밑판.제목:=수를교정문("###,###,###,###", 수1)+",0"+수를교정문("###,###,###,###", 수);}
//위 명령은 위에서 복사한 문의 글자중.. 첫글자가 0일경우 교정문에 강제로 0을 삽입해주는 역할을 한다..
아니면
{ 밑판.제목:=수를교정문("###,###,###,###", 수1)+","+수를교정문("###,###,###,###", 수);}
//이것은 많일 0이 아니면 그냥 교정해주는 역할을 한다..
//////////////////////////////////////////////////////////////////
위 사용자 부분은.. 9번째 자리숫자가 0입력시 사라지는 것을 수정한것입니다..
즉 뒷자리 9자리를 끊어서 실수화 할경우 처짜리가 0일경우 무시되는 현상을 막기 위한것입니다.. 죽 문자가 01234... 를 실수화하면 1234...로 됩니다..즉 0은 사라지죠... 이것을 검사해서.. 0을 넣어주는것입니다..
좀더 쉼게 설명을 한다면...
추가 보충설명
3210123을
321 과.. 0123으로 나누고 그것을 실수화 한다면..
321이라는 실수와.. 123이라는 실수가 된다.. 즉 0123이 아닌 123이된다..
즉 이것을 합쳤을때는 321123이된다.. 즉 숫치가 변하는것이다..
이것을 감지하는것이.. 사용자함수의 추가 부분이다..
0123이라는 문자에서 0을 감지해서 321 + 0+ 123으로 중간에 0을 넣어주는 역할을 한다.. 만일 0이 아닐경우는 그냥 하치도록 해주는 명령이다..
이상..궁굼사항은 질문 게시판에..콜....
<--- 소스는 여기서 |
|