에궁... 아직도 maskedit컴포넌트 조차 제대로 몬 써서 질문합니다.
그냥 숫자를 최대 3자리 까지 입력 받고 싶어서
EditMask 값을 !999;1;로 주었습니다.
그리구나서
___ 이렇게 뜨는 MaskEdit에 5__ 와같이 숫자 5만 입력했을때
아래 문장에서 invail어쩌구 함서 Error가 납니다.
정수형변수 := StrToInt(MaskEdit1.Text);
!이 앞뒤의 공백을 지아준다꼬 했는데...
아닌가배요...
우째된건가요...
> 에궁... 아직도 maskedit컴포넌트 조차 제대로 몬 써서 질문합니다.
> 그냥 숫자를 최대 3자리 까지 입력 받고 싶어서
> EditMask 값을 !999;1;로 주었습니다.
> 그리구나서
> ___ 이렇게 뜨는 MaskEdit에 5__ 와같이 숫자 5만 입력했을때
> 아래 문장에서 invail어쩌구 함서 Error가 납니다.
> 정수형변수 := StrToInt(MaskEdit1.Text);
> !이 앞뒤의 공백을 지아준다꼬 했는데...
> 아닌가배요...
> 우째된건가요...
음.. MaskEdit의 Mask 프로퍼티에 보면은
Save literal이라는게 있슴다..
그걸 Check하면 !999;1;에서 1이라는 숫자가 생기구 Check를 빼면 0로 바낍니다.
구럼 이게 머냐..
Save Literal이 True로 되어 있으면
5__ 일케 했을경우 Length(MaskEdit1.Text)를 해보면 3으로 나옵니다
즉 MaskEdit1.Text의 값이 '5__'이 돼져..
따라서 StrToInt(MaskEdit1.Text) --> invailed 어쩌구 에러..!
반대로 Save Literal이 False로 되어 있으면
5__ 일케 했을경우 Length(MaskEdit1.Text)를 해보면 1으로 나옵니다
즉 MaskEdit1.Text의 값이 '5'가 돼져..
따라서 StrToInt(MaskEdit1.Text)는 5 입니다
답이 돼셨는지..^^;;