안녕하세요 델파이 왕초보입니다.
다름이 아니라..제가 질문을 하나..ㅋ~~~
넘 몰라서 ㅜㅜ
제가 에디터컨트롤을 하나 생성하고 생성된 에디터컨트롤이 키 이벤트를 받을때 키값을 체크하여 범위 내의 값이 아닐 경우 false값을 리턴하고 범위를 벗어났다는 메시지 박스를 생성하는 함수를 하나 만들었습니다.
그런데 에디터컨트롤에서 잘못된 값을 입력해서 지울때 쓰는 백스페이스 키랑
엔터키를 입력받아도 똑같은 메시지가 생성되네요..^^;;
백스페이스랑 엔터키에는 메시지박스가 생성 안되게 하고 싶은데 어떻게 하는건지 좀 알려주세요?
밑은 제가 작성한 코드입니다.
procedure TInputForm.etCustNumKeyPress(Sender: TObject; var Key: Char);
begin
if (not isNumCheck(key)) then
begin
key := chr(20);
showMessage(nummsg);
exit
end;
end;
function isNumCheck(arg : char) : boolean;
begin
result := true;
// 0 ~ 9의 숫자가 아니라면 false를 리턴
if (not ((arg >= '0') and (arg <= '9'))) then
begin
result := false;
end;
end;
Enter = #13
BackSpace = #8 (백스페이스는 정확히 잘 모르것네요...찾아보세요...아스키코드값...)
if not ( key in [#48..#57, #13, #8] )then
이렇게 하시면 되여...
#48 = 0
#57 = 9
이거든요...