Q&A

  • RxSpinEdit가 공백일 때 문자처리를 해서 에러가 생김니다

RxSpinEdit가 공백일 때 문자처리를 해서 에러가 생김니다

그래서 Delete, Backspace Key가 안먹게 할려고 했는데
Backspace Key를 안먹게 하는 방법도 쉽지가 않고
너무 안이한 생각이 아니였나 싶습니다. ^^;

고민도 많이 해보고 시도도 많이 해봤는데 도무지 제 실력으론 안되네요
여러번 질문도 올렸었는데 답도 없고... ㅠㅠ

RxSpinEdit가 공백이 될때 공백을 상수 '0'으로 인식하게 하는 방법이 없을까요?
고수님들의 한수 부탁드립니다.^^~

---------------------------------------------------------
아래와 같이 SpinEdit1 와 Editbox1에
SpinEdit1의 값에 10을 곱해서 Editbox1에 표시되게 했습니다.
그런데 SpinEdit1에 공백이 들어오는 순간
다음과 같은 에러가 발생합니다.

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


----------------------------------------------------------
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, RXSpin;

type
  TForm1 = class(TForm)
    RxSpinEdit1: TRxSpinEdit;
    Edit1: TEdit;
    procedure RxSpinEdit1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.RxSpinEdit1Change(Sender: TObject);
begin
        edit1.text:=inttostr(strtoint(RxSpinEdit1.text)*10);
end;

end.

2  COMMENTS
  • Profile
    홍성락 2002.09.04 22:15
    hsr///////////////////////////////////////////////////////////
    try이를 쓰면 되는데요...
    전번에도 말씀드렸듯이 디버깅모드에서는 에러메세지가 뜨지만
    실행모드에선 try가 처리해준답니다
    procedure TForm1.RxSpinEdit1Change(Sender: TObject);
    begin
      try
        edit1.text:=inttostr(strtoint(RxSpinEdit1.text)*10);
      except
        edit1.Text := '0';
      end;
    end;
  • Profile
    ㄴ ㅏ ㅁ ㅑ 2002.09.05 20:29
    제가 또 여쭤봤네요... 죄송하구여 감사드립니다. ^^