Q&A

  • EditBox내용 Progressbar에 표시하기??
editbox에 어떤 값을 넣으면 Progressbar에 표시되게 하려고
다음과 같이 코드를 작성했습니다.

begin
        with Progressbar1 do
        begin
                min:=0;
                max:=10;
                Position:=strtoint(edit1.text);
        end;
end;


처음에 값을 넣을때는 제대로 표현이 되는데
그 값을 지우고 다른값을 넣어주려 할때는
다음과 같은 에러가 발생합니다.

Project Project1.exe raised exception class EConvertError with message ''' is not a valid
integer value'. Process stopped. Use step or Run to continue.

이곳저곳을 뒤져보니까
strtoint 란 함수를 사용할때 박스에 입력하는 문자열에는 숫자로 바꿀 수 없는
문자가 있어서는 안되며 만약 무효한 문자가 있을 경우
EConvertError 예외를 발생시킨다고 합니다.
하지만 ProgressBar의 범위를 초과하는 값을 입력 시킨적도 없고
숫자만 입력했을 뿐인데도
이런 에러가 발생합니다.

도와주세요^^~
1  COMMENTS
  • Profile
    서기원 2002.07.29 23:42
    StrToInt에서 edit1.text가 공백일 때 에러가 나는 건데...

    if문으로 edit1.text가 공백일때를 따로 처리해 주시던지,

    StrToIntDef(edit1.text,0)으로 변경하여 사용하세요
    두번째 인수는 기본값입니다.

    자세한 설명은 도움말을 참조하시면 될 것 같습니다...제가 잘 몰라서..^^;
    그럼 즐푸하세요~