Q&A

  • Del Key 안먹게 하는 방법 있을까요?
Edit Box 에 다음과 같이

procedure TF_GR.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key in ['0'..'9',#8,#127] then
    key := #0;
end;

로 숫자키와 Back Space, Delete Key를 안먹게 했습니다.
그런데 key 아스키 값이 잘못된것인지 어쩐지
Del Key는 여전히 사용가능합니다.

흑흑.. 30~100까지의 숫자도 다 넣어보고 했는데
Del Key는 사용가능하지 못하게 하는 방법이 없는건가요?
4  COMMENTS
  • Profile
    한원희 2002.09.03 05:38
    안녕하세요. 한원희입니다.

    서브클래싱이나 윈도우 후킹을 하면 가능할 것 같습니다.
    좀 복잡하니까, 생략하고, 간단하게 폼의 KeyPreview 속성을 이용하시면
    Delete는... 됩니다. 방향키 및 Backspace 키는 이 방법으로도 안됩니다. ^^;

    폼의 KeyPreview 속성을 true로 만들어 주시고...
    폼의 KeyDown 이벤트에서 아래와 같이 작업해 보세요...
    그럼, 잘 동작합니다.

    폼의 소스

      Self.KeyPreview:=true;

    ...

    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (Key=VK_DELETE) or (Key=VK_HOME) then
        Key:=0;
    end;




  • Profile
    ㄴ ㅏ ㅁ ㅑ 2002.09.03 19:57
    먼저 답변 감사드립니다 ^o^

    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (Key=VK_DELETE) or (Key=VK_BACK) then
        Key:=0;
    end;

    위와같이 코딩을 하면 delete key 는 적용이 안되는데
    왜 Backspace 값은 여전히 사용되는건지 모르겠습니다.
    그래서 추가로 아래와 같이 해보았는데두

    procedure TF_GR.SE_CH2_2KeyPress(Sender: TObject; var Key: Char);
    begin
      if key in ['0'..'9',#8] then
        key := #0;
    end;

    여전히 그러네요... 어떻게 하면 될까요???
  • Profile
    한원희 2002.09.03 23:49
    안녕하세요. 한원희입니다.

    아쉽게도 VK_BACK는 네비게이션 키로 분류되어 있어서 방향키 등과 같이 KeyPreview를 통해서도 막히지 않습니다.
    그럼, 윈도우 서브클래싱을 통해서 백스페이스까지 막아 보세요. ^^;
    서브클래싱도 여기서 찾아보면 자료가 있을 겁니다...

  • Profile
    임형호 2002.09.03 05:15
    keypress에서는 잘 모르겠구요.

    keydown이벤트에서는

    if key=46 then
      key = 0;

    이렇게 해보니까... 되네요. 음..구냥 심심해서 해봤눈데..
    keypress에서는 못찾겠네요. 찾아본걸로 해봣눈데... 뭐가 잘못된건지.쩝
    • 전원보
    • 2002.09.03 10:09
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박장용
      2002.09.03 19:44
      텍스트 파일에 한정된다면 Memo나 RichEdit로 읽어 들이시는게 편합니다.   RichEdit1.Lines....
    • 세균맨
      2002.09.03 19:43
      글쎄요.....특정문자의 인덱스라면 구분자를 말씀하시는 것인지..... 모르겠군요.... 만약 구분자를 말씀...
    • 마니산
    • 2002.09.03 08:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.09.03 09:19
      안녕하세요. 최용일입니다. 1입니다. 둘다 정수형이고 Byte에서 Integer로 형변환할때 절대 범위를 넘는...
    • sunny
    • 2002.09.03 08:26
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.09.03 09:41
      안녕하세요. 최용일입니다. 아래와 같이 해보세요... 좀 더 많이 책보고 VCL에 대해서 공부하셔야 할듯....
    • sunny
      2002.09.03 14:29
      감사합니다. 당장 이렇게 해결하는것만이 최선의 방법은 아닌줄 압니다. 열심히 노력하겠습니다. 그럼...
    • 최용일
      2002.09.03 09:44
      안녕하세요. 최용일입니다. File메뉴에서 프로젝트를 저장하세요... 임의로만든 프로젝트폴더에... ...
    • 한창훈
    • 2002.09.03 07:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.03 23:02
      PL/SQL을 구현해야 하지만 파라독스에서 지원이 되는지는 정확히 모르겠습니다. (오라클등등의 대용량 DB...
    • 배창석
      2002.09.18 08:08
      델파이 소스가 있는 디렉토리의 경로에 '('등의 특수문자가 포함되어있는 지 확인해보세요... 있다면, 제...
    • 이추형
      2002.09.04 01:19
      BDE에서 설정한 Alias name이 'Oracle_DB'인지 확인하시기 바랍니다. 혹 다른이름으로 되어 있는건 아닌지...
    • goodlsw
    • 2002.09.03 05:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.09.03 05:51
      안녕하세요. 한원희입니다. 캐럿의 위치를 구하기 위해서는 GetCaretPos 라는 API를 사용하시면 됩니다....
    • 김상수
    • 2002.09.03 04:58
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2002.09.03 05:19
    • 김상수
      2002.09.03 05:25
    • 임형호
      2002.09.03 10:37
    • 김상수
      2002.09.03 19:23
    • 임형호
      2002.09.03 22:03
    • 김상수
      2002.09.04 01:45
    • 임형호
      2002.09.04 05:43
    • • • •
    • 한원희
      2002.09.03 05:38
      안녕하세요. 한원희입니다. 서브클래싱이나 윈도우 후킹을 하면 가능할 것 같습니다. 좀 복잡하니까, ...
    • ㄴ ㅏ ㅁ ㅑ
      2002.09.03 19:57
      먼저 답변 감사드립니다 ^o^ procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;  &...
    • 한원희
      2002.09.03 23:49
      안녕하세요. 한원희입니다. 아쉽게도 VK_BACK는 네비게이션 키로 분류되어 있어서 방향키 등과 같이 Key...
    • 임형호
      2002.09.03 05:15
      keypress에서는 잘 모르겠구요. keydown이벤트에서는 if key=46 then   key = 0; ...
    • 김상수
    • 2002.09.03 04:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2002.09.03 04:41
      예.. 콤보박스로 그렇게 하면 됩니다.
    • 한원희
      2002.09.03 06:23
      안녕하세요. 한원희입니다. 아래 코드에서 약간 이해가 안가는 부분이 있는데, 수신측에서 데이터의 전...
    • 홍성락
      2002.09.03 06:10
      hsr/////////////////////////////////////////////////// 간단히 DBGrid에 연결된 PopupMenu가 열리는 시...
    • 델파이사랑
      2002.09.03 20:51
      ....^^....^^....^^
    • 고지범
      2002.09.03 03:25
      지나가던 얼큰입니다. 제 생각에는 델파이나 VC++ 이나 가장 좋은 것은 Update Handler 를 이용하는 것이 ...
    • 짱아
    • 2002.09.03 00:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.03 01:21
      TStringGrid.Cells 의 ACol과 ARow를 Loop 돌면서 파일 하나하나 처리 하셔야 할것 같습니다. .. 가장 쉬...
    • 짱아
      2002.09.03 02:37
      ㅡㅡ; 자세히점.. 갈켜 주시겠어염...
    • 고부열
      2002.09.03 03:30
      해당 폼의 버튼 속성중이 Default 가 true로 되어있더군요. 제 친구중에 델파이의 거의 달인이 있는데...
    • 고지범
      2002.09.03 03:44
      클클... 추카합다... 그런 일두 ^^
    • 고지범
      2002.09.03 01:28
      지나가던 얼큰입다. 잘 되는 데요??? KeyDown Event 에서 다음과 같이 하믄... 잘 올라오던디... procedu...
    • 이추형
      2002.09.03 01:28
      procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;   Shift: TShiftState); beg...
    • 고부열
      2002.09.03 01:32
      답변 감사드립니다. // -- 아래는 제가 작성한 소스 코드입니다.       ...
    • 고지범
      2002.09.03 02:11
      윽... MDI child 에서두 잘 들어가 지는 데... 무엇이 다른지 모르겠군요... 테스트를 편하게 하기 위해서...
    • 고부열
      2002.09.03 02:57
      저도 델파이로 프로그램을 3년전부터 하고 있지만 이런 경우는 처음이네요... 아마도... 폼이 생성되...
    • 이경모
    • 2002.09.03 00:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 세균맨
      2002.09.03 00:19
      기본적을 원도우에서 지원하는 Port가 있읍니다.. telnet은 23 port, ftp 21 port를 사용하고 있죠. ...
    • 허진
    • 2002.09.02 23:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김용운
      2002.09.10 09:15
      제가 조직도 컴포넌트를 개발하고 있는데 현재는 DB에 있는 자료를 화면에 디스플레이 하는 기능과, 미리...
    • 이추형
      2002.09.03 01:35
      EInvalidOp is the exception class for undefined floating-point operations. Description : EInvali...
    • 이원상
    • 2002.09.02 23:16
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 고지범
      2002.09.03 01:23
      external 이라는 키워드를 생각해보시길 바랍니다. C/C++ 과 비교해서 생각해보면 (잘 모르셔두 상관은 ...
    • 이원상
      2002.09.03 02:33
      성의 있는 답변 너무 감사합니다. 이해하는데 많은 도움이되었습니다. 그리구 동적으로 할당한 이유는 이 ...
    • 고지범
      2002.09.03 03:42
      음 지나가던 얼큰입다... ㅋㅋ 호접한 답변이 도움이 되었다니 넘 기쁩다. ^_____^ 정적할당과 동적할당...
    • 한원희
      2002.09.03 06:38
      안녕하세요. 한원희입니다. TCP를 이용하시는 것이라면, 잘못된 데이터의 전송에 대한 고려를 하지 않으...