Q&A

  • 공백 인식 못하게 하기
RxSpinEditor를 사용하는데
화살표키로 입력시킬때는 아무문제가 없는데
직접입력하려고 할때는 공백을 문자로 인식 해서인지
다음과 같은 에러가 발생합니다.

Project1.exe raised exception class EconvertError
with message ''' is not a valid floating point value.
Process stopped. Use step or Run to continue.

다음과 같이 키값을 죽이는 방법을 사용해보고 싶은데
공백의 키값이 무엇인지 모르겠습니다....
이것말고 다른 좋은 방법이 또 있을까요?

procedure TForm1.RxSpinEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key= #0 then
    key := #0;
end;
2  COMMENTS
  • Profile
    홍성락 2002.08.27 01:28
    hsr//////////////////////////////////////////////////
    SpinEdit에서 예를 들어보겠습니다.
    키보드로 입력시 del키나 복사등으로 공백등을 넣으면 KeyPress전에 에러가 발생합니다.
    아래처럼 사용하면 단점은 공백인 상태가 없어지므로 공백에서 다른 수 넣기는 힘들어 지지만...
    디버깅시는 에러 메세지가 뜨나 디버깅모드가 아닌 실행파일 실행시는 try처리되어 넘어 갑니다.
    procedure TForm1.SpinEdit1Change(Sender: TObject);
    begin
    try
        StrToint(SpinEdit1.Text);
      except
        SpinEdit1.Text := '0';
      end;
    end;
    -------------------------------------------------------------
    또 다른 컴포에서도 마찬가지로 숫자와 백스페이스만 허용시는
    if not(Key in ['0'..'9',#8]) then Key := #0;

    if not(Key in ['0'..'9','.',#8]) then Key := #0;
    ...
  • Profile
    ㄴ ㅏ ㅁ ㅑ 2002.08.27 02:00