C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[9420] Re:Re:Re:Re:Re:[질문] edit의 change이벤트에서 기호가 들어오는 것을 알 수 있을까요?
김민호 [xho95] 1124 읽음    2001-07-27 22:46
안녕하세요...

질문하신 내용을 보니까... 결국 한글과 영문만을 입력 받겠다는 말씀이신 것 같습니다...

일단, 입력을 받는 Edit가 하나 있다고 하면...

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
    if (Key > 0)
    {
        if ((Key > 'a' && Key < 'z') || (Key > 'A' && Key < 'Z'))
            ;
        else
            Key = 0;
    }
}

이런 식으로 하면 됩니다...

한글의 아스키 코드값에 대한 내용은(저도 얼마전까지 몰랐는데...) 이 게시판에서 "한글"로 검색해 보면 "임프님의 574번 답변글"에 관련한 내용이 자세하게 나와있습니다... 간단하게 말해서 한글의 경우 Key로 들어오는 값이 일단 음수가 됩니다.

결국 Jun님께서 말씀하신 "기호"라는 것은 일단... Key값이 0보다 큰 것들 중, 아스키 문자 a~z, A~Z 사이의 값이 아닌 것이 됩니다... 이 값에 해당하는 것을 Key = 0; 으로 무시해 버리면 원하시는 결과를 얻을 수 있습니다...

제가 테스트를 해 봤는데, 이상이 없었습니다...^^

마찬가지로 숫자도 입력 받고 싶으시면 위의 if문을 아래와 같이 하면 될 것입니다...

if ((Key > 'a' && Key < 'z') || (Key > 'A' && Key < 'Z') || (Key > '0' && Key < '9'))

이상입니다...

그럼... 즐넷하세요...

Jun 님이 쓰신 글 :
: 어...그러니깐요...
: edit에 사용자가 텍스트를 입력하면(입력할 때마다 onchange이벤트가 발생하겠죠..) 텍스트중에 기호는 빼고 한글이나 영문만을 받아 AnsiString에 저장하려고 합니다.
:
: 지금은 글자 길이만큼 for문 돌면서 키보드에 보이는 기호가 아니면(다 써줬습니다..ㅠ.ㅠ) substring으로 그 문자를 다른 AnsiString에 저장하는 방법으로 구현을 해놓았는데요...
: 좀 더 확실하고 고급스런 방법이 없을까요....
:
: 수야 님이 쓰신 글 :
: : 음.. 어떻게 사용하실지 모르겠네요?
: :
: : 특수문자를 아예 인식 못하게 하실건가요?
: :
: : 어떻게 사용하실지 알려주세요
: :
: : Jun 님이 쓰신 글 :
: : : 음... 예를 들어 엔터를 13으로 인식하는 것처럼 기호는 코드범위가 따로 없나봐요?
: : : edit1->Text[1] > 64 모 이런 식으로 일단 수야님이 말씀하신 것처럼 해놓고 잘 동작은 하는데요 키보드에 보이는 특수기호는 다 지정을 해주었더니 왠지 제가 초라해 보이네요..^^;
: : : 더 나은 방법이 있으면 알려주시길 바랄께요.....
: : :
: : : 수야 님이 쓰신 글 :
: : : : 냐세여~ 수야랍니다.~
: : : :
: : : : OnChange 이벤트에다가여
: : : :
: : : : if(Edit1->Text == '@' ||Edit1->Text == '#')
: : : : 일케 해주시믄 해당 특수문자를 비교할수 있겠죠?
: : : :
: : : : 즐프하세여..
: : : :
: : : : 아참 모든 특수문자가 해당된다면 (ex. ┌, ○, ★, 한, 글) 반대로 해주시는게 더 좋겠죠
: : : :
: : : : 알파벳 또는 숫자만 받을수 있도록..
: : : :
: : : : 답변이 성이 안차시면 리플 달아주세여 .
: : : :
: : : : Jun 님이 쓰신 글 :
: : : : : 안녕하세요...
: : : : : edit의 onchange이벤트에 들어오는 글자중에 제일 첫 글자가 기호(!@#-같은 특수문자들)이면 두 번째문자부터를 스트링에 저장하려고 하거든요....
: : : : : 아시는 분~~~어떻게 해야 하는 지 좀 알려주세요...
: : : : : 그럼..
: : : : :

+ -

관련 글 리스트
9391 [질문] edit의 change이벤트에서 기호가 들어오는 것을 알 수 있을까요? Jun 844 2001/07/27
9399     Re:[질문] edit의 change이벤트에서 기호가 들어오는 것을 알 수 있을까요? 수야 1029 2001/07/27
9405         Re:Re:[질문] edit의 change이벤트에서 기호가 들어오는 것을 알 수 있을까요? Jun 863 2001/07/27
9406             Re:Re:Re:[질문] edit의 change이벤트에서 기호가 들어오는 것을 알 수 있을까요? 수야 938 2001/07/27
9412                 Re:Re:Re:Re:[질문] edit의 change이벤트에서 기호가 들어오는 것을 알 수 있을까요? Jun 1054 2001/07/27
9420                     Re:Re:Re:Re:Re:[질문] edit의 change이벤트에서 기호가 들어오는 것을 알 수 있을까요? 김민호 1124 2001/07/27
9414                     Re:Re:Re:Re:Re:[질문] edit의 change이벤트에서 기호가 들어오는 것을 알 수 있을까요? 수야 953 2001/07/27
9417                         감사합니당.~ Jun 899 2001/07/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.