Q&A

  • 전화번호입력시 처리문제
전화번호를 입력시 처리 문제를 어떻게 하는게 가장 효율적일지 여러 델 선배님들께 문의를 드릴려고 합니다.

지금 저는 MaskEdit를 사용하여 전화번호를 입력 받게 했는데,

지역 번호는 다른 Edit를 사용하고 순수 전화 번호만 MaskEdit를 사용했습니다.

그런데, 문제는 MaskEdit를 사용해니깐 4-4자리를 주게 되드라고요. 만약 3-4자리인 사람들은 3자리 입력 후 우측 화살표를 누러야만 하는 번거로움이 생기던데, 그러지 않고 그냥 Edit 박스를 주고 1234567를 입력하면, 7자리인지 체크해서 자동적으로 다시 그에디터에 123-4567를 뿌려주고 DB에 저장시에도 123-4567를 저장하게 할려고 합니다.

만약 12345678이면 8자리 그럼 1234-5678 이런씩으로요..

그러면 이렇게 할려고 하면 어떻게 숫자를 꺼꾸로 셀수 있을까요.

간단한 예를 들어 주시면 더욱 감사하겠습니다.

오늘도 즐거운 코딩이 되시길.. 바라며 맨발에 땀나도록 함께 뛰어 봅시다.

1  COMMENTS
  • Profile
    배불뚝 1999.12.30 23:39
    맨발의 청춘 wrote:

    > 전화번호를 입력시 처리 문제를 어떻게 하는게 가장 효율적일지 여러 델 선배님들께 문의를 드릴려고 합니다.

    > 지금 저는 MaskEdit를 사용하여 전화번호를 입력 받게 했는데,

    > 지역 번호는 다른 Edit를 사용하고 순수 전화 번호만 MaskEdit를 사용했습니다.

    > 그런데, 문제는 MaskEdit를 사용해니깐 4-4자리를 주게 되드라고요. 만약 3-4자리인 사람들은 3자리 입력 후 우측 화살표를 누러야만 하는 번거로움이 생기던데, 그러지 않고 그냥 Edit 박스를 주고 1234567를 입력하면, 7자리인지 체크해서 자동적으로 다시 그에디터에 123-4567를 뿌려주고 DB에 저장시에도 123-4567를 저장하게 할려고 합니다.

    > 만약 12345678이면 8자리 그럼 1234-5678 이런씩으로요..

    > 그러면 이렇게 할려고 하면 어떻게 숫자를 꺼꾸로 셀수 있을까요.

    > 간단한 예를 들어 주시면 더욱 감사하겠습니다.

    > 오늘도 즐거운 코딩이 되시길.. 바라며 맨발에 땀나도록 함께 뛰어 봅시다.



    editexit event를 이용해보세요.

    우선 edit1.text를 읽어 '-'를 제거하고

    전체 길이를 구한 다음

    길이가 7이하이면 앞에서 세자리만 읽고 '-'를 붙인 다음

    다시 네번째부터 읽어 뒤에 붙입니다.

    길이가 8이상이면 앞에서 네자리를 읽고 그다음은 위와 같죠.

    새해 복 많이 받으세요.



    procedure TForm1.Edit1Exit(Sender: TObject);

    var

    str1, str2 : string;

    len1 : integer;

    i : integer;

    begin

    str2 := trim(edit1.text);

    i := pos('-', str2);

    if i > 0 then

    str1 := copy(str2, 1, i-1) + copy(str2, i+1, 4)

    else

    str1 := str2;

    len1 := length(str1);

    if len1 <= 7 then

    edit1.text := copy(str1, 1, 3) + '-' + copy(str1, 4, 4)

    else if len1 = 8 then

    edit1.text := copy(str1, 1, 4) + '-' + copy(str1, 5, 4);

    end;

    • 박민철
    • 1999.12.29 23:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      2000.01.01 04:03
      박민철 wrote: > 폼위에 번튼하나를 가져다놓고 그 버튼을 누르면 특정 실행파일이 실행이 되도록하는 프...
    • 현나
    • 1999.12.29 22:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.12.29 22:59
      제가 베이직은 하나도 모르지만... -.-;; 함수나 프로시져를 DLL 로 만드시면 됩니다. 그러면 델파이...
    • 유니
    • 1999.12.29 21:52
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 장지용
      1999.12.29 22:37
      유니 wrote: > 하나의 폼에 있는 여러개의 EditBox 를 방향키로 이동하고 싶습니다. > > 다음 Control...
    • 안치봉
      1999.12.29 22:07
      SelectNext 의 인자에 보면 boolean 값으로 이동하는 방향을 줄수가 있던데... GoForward 의 값으로 조...
    • 유니
      1999.12.29 23:38
      안치봉 wrote: > SelectNext 의 인자에 보면 boolean 값으로 이동하는 방향을 줄수가 있던데... > > Go...
    • 혀노
    • 1999.12.29 21:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 혀노
      1999.12.30 00:49
      해결했음 코드를 다른곳에 하니까 되더군요,,, 필드의 OnValidate 이벤트쪽에 코딩시키고 DBGrid 에서...
    • 장지용
      1999.12.29 23:39
      혀노 wrote: > DBGrid와 Table을 연결해놓았고요 > > DBGrid에서 두개의 필드에 값을 넣으면 그것을 계...
    • sunny
    • 1999.12.29 20:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.12.29 21:45
      무식한 방법인지는 모르지만 저는 당장 생각을 해보면... 리스트뷰의 FindCaption 함수를 쓰면 어떨까 ...
    • 이수진
    • 1999.12.29 20:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.12.29 21:42
      ParamCount, ParamStr ParamCount 에는 인자의 갯수가... ParamStr(0) = 실행파일이름 ParamStr(1) ...
    • 현나
    • 1999.12.29 20:00
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김주석
      1999.12.30 01:03
      현나 wrote: > MS Word의 매크로를 실행시키려면 어떻게 해야 되나요? > > 감사합니다.. > > 즐거운...
    • 현나
      1999.12.30 02:30
      김주석 wrote: > 일단 델파이에서 MS Word를 실행시킬 수 있거든요. 그런데 어떤 > 매크로를 실행하려...
    • 김주석
      1999.12.30 04:53
      현나 wrote: > 김주석 wrote: > > > 일단 델파이에서 MS Word를 실행시킬 수 있거든요. 그런데 어떤 ...
    • 현나
      2000.01.04 01:55
      아!! 정말 잘 되는군요 제가 착각했어요. 그리고 한가지만 더 ... > > 김주석 wrote: > > > ...
    • 장지용
    • 1999.12.29 19:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.12.29 22:07
      장지용 wrote: > 왼쪽의 메모를 스크롤하면 오른쪽의 메모가 왼쪽 메모와 > 동일한 위치에 있게하는 방법...
    • 박성훈
    • 1999.12.29 17:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.12.29 19:53
      폼의 onclose 이벤트에서 Action 에 caFree 를 넣으면 될겁니다. 하지만 동적,정적인생성폼에 주의를 하...
    • 신재식
    • 1999.12.29 06:07
    • 3 COMMENTS
    • /
    • 0 LIKES
    • DBIB
      1999.12.30 18:25
      신재식 wrote: > 안녕하세요... > > 아래의 db 한글문제에 대한 답변에 대한 또 다른 질문입니다. > ...
    • DBIB
      1999.12.30 20:09
      패스워드를 안넣어서 이렇게 추가합니다 > 첫번째 > Client에 Oracle for windows95가 설치되어 있을것이...
    • 신재식
      1999.12.30 23:36
      DBIB wrote: > 패스워드를 안넣어서 이렇게 추가합니다 > > 첫번째 > > Client에 Oracle for windows95...
    • 이주흥
    • 1999.12.29 04:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.12.29 06:21
      이주흥 wrote: > 안녕하세요.. > 음...저쪽 컴에서 이쪽컴에 강제로 메세지 박스 띄울수 있는 > 방법 ...
    • 배불뚝
      1999.12.30 23:39
      맨발의 청춘 wrote: > 전화번호를 입력시 처리 문제를 어떻게 하는게 가장 효율적일지 여러 델 선배님들께...
    • shinnine
      1999.12.29 18:57
      맨발의 청춘 wrote: > 제가 지금 하고 있는 프로그램에서는 > 판매와 상품관계에서 판매할 상품 목록을 ...
    • 이숙경
    • 1999.12.29 02:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.12.29 02:28
      제가 똑같이 해봤는데... 저는 아무이상이 없었습니다(델파이5) 아무래도 여러가지 이유로 메모리가 꼬...
    • 김매경
    • 1999.12.29 01:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.12.29 01:41
      김매경 wrote: > procedure TDataMod.CsocketRead(Sender: TObject; Socket: TCustomWinSocket); > begin...
    • 김매경
      1999.12.29 19:52
      구창민 wrote: > > > SendBuf, ReceiveBuf 메소드를 사용해보세요. > 그럼 즐거운 프로그래밍 하시구...
    • 박성훈
    • 1999.12.29 01:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강상훈
      1999.12.29 01:47
      박성훈 wrote: > var > Form: TForm1; > > Form:= TForm1.Create(Application); > try > ...
    • 박성훈
      1999.12.29 07:36
      강상훈 wrote: > 박성훈 wrote: > > var > > Form: TForm1; > > > > Form:= TForm1.Create(App...