Q&A

  • 에디트 박스에서... 숫자만 입력받기
EditBox에서 숫자만 입력 받고 싶습니다.



아님... EditBox에서 On Exit이벤트가 발생하였을때,



EditBox에 있는 값이 숫자인지 문자인지 구분해서... 문자이면...



Error메세지를 보여주고 싶습니다.



좋은 방법이 없을까요?



고수님들의 의견 부탁드립니다.

1  COMMENTS
  • Profile
    최용일 2000.03.07 23:23
    아래와 같이 해보세요..



    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

    begin

    if not (Ord(Key) in [Ord('0') .. Ord('9')]) then

    if Key > #31 then // 여기를 생략하면 BackSpace와 같은 키가 먹지 않습니다...

    Key := #0;

    // Key에 널값을 넣어주면 해당 키스트록에 대한 처리를 안합니다.

    // 즉, 안눌려진 것처럼 작동하죠...

    end;



    procedure TForm1.Edit1Exit(Sender: TObject);

    begin

    try

    StrToInt(TEdit(Sender).Text);

    except

    on EConvertError do

    ShowErrorMessage;

    end;

    end;





    왕초보 wrote:

    > EditBox에서 숫자만 입력 받고 싶습니다.

    >

    > 아님... EditBox에서 On Exit이벤트가 발생하였을때,

    >

    > EditBox에 있는 값이 숫자인지 문자인지 구분해서... 문자이면...

    >

    > Error메세지를 보여주고 싶습니다.

    >

    > 좋은 방법이 없을까요?

    >

    > 고수님들의 의견 부탁드립니다.