잘 안됩니다.
에디터박스에서 1~9까지 입력받을경우......
if (strtoint(edit1.text) >=10) or (strtoint(edit1.text) <= 0) then
begin
showmessage('한자리 정수만 입력가능합니다.');
edit1.setfocus;
exit;
end;
이렇게 했더니 영문자나 문자가 들어오면 에러가 납니다.
해결방법좀...^^;
ascii값을 비교해보고 싶은데.....키값을 변환하는 방법이 생각이 안나서........
또하나.....
1~99 의 경우도 있습니다.
if (strtoint(edit3.text) >= 100) or (strtoint(edit3.text) <= 0) then
begin
showmessage('1시간에서 99시간 까지 입력가능합니다.');
edit3.SetFocus;
exit;
end;
이건 어떻게 해야할지 조언을 주시면 저의 앞길에 큰 등불이 될것입니다.^^
즐코하세여...
에디트박스의 OnKeyPress이벤트에서 아래와 같이 코딩하세요...
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['1'..'9', #9] then
begin
if Length(TEdit(Sender).Text) >= 1 then
// 0-9까지... 0-99까지는 2를 넣으시면 되겠죠...
begin
Key := #0;
ShowMessage('한자리 정수만 입력가능합니다.');
end
end
else
begin
Key := #0;
ShowMessage('한자리 정수만 입력가능합니다.');
end;
end;
^^ 항상 즐코하세요...
김동수 wrote:
> 잘 안됩니다.
> 에디터박스에서 1~9까지 입력받을경우......
> if (strtoint(edit1.text) >=10) or (strtoint(edit1.text) <= 0) then
> begin
> showmessage('한자리 정수만 입력가능합니다.');
> edit1.setfocus;
> exit;
> end;
> 이렇게 했더니 영문자나 문자가 들어오면 에러가 납니다.
> 해결방법좀...^^;
> ascii값을 비교해보고 싶은데.....키값을 변환하는 방법이 생각이 안나서........
> 또하나.....
> 1~99 의 경우도 있습니다.
> if (strtoint(edit3.text) >= 100) or (strtoint(edit3.text) <= 0) then
> begin
> showmessage('1시간에서 99시간 까지 입력가능합니다.');
> edit3.SetFocus;
> exit;
> end;
> 이건 어떻게 해야할지 조언을 주시면 저의 앞길에 큰 등불이 될것입니다.^^
> 즐코하세여...