Q&A

  • [델파이]에디트박스에서 문자와 숫자구분을 어떻게 해요?
4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요.

폼에서 디자인하면 폼에 에디트박스(입력) 버튼2개 리스트박스1개

이렇게 해서 에디트박스에 이름입력하고 버튼1을 누르면 이름이 메세지박스에 출력되고

숫자를 입력하면 문자를 넣으라는 메세지가 뜨게 할려구요.그리구 2번째 버튼은 이름을 입력하고 2번째 버튼을 누르면 리스트박스에 5번 출력하게되구요..

꼭좀 알려주세요..소스좀..

제가생각한것은..

var

i : string

begin

i := editinput.text;

if 문을 어떻게 해야 할지 모르겠어요 여러번 해봤는데,,흑흑...

그리구 이렇게 해봤는데 나오긴 하더라구요..맞는건지도 모르겠습니다..

var

i,code:integer;



begin

val(edit1.text, i, code);

if code<>0 then

showmessage('저는' +edit1.text+ '입니다')

else

showmessage('문자를입력하세요');

제가 원하던대로 나오기는 한데, 숫자즉 integer형의 범위를 벗어나면 문자로 받아져요.

꼭 좀 알려주세요..이렇게 정중히 부탁합니다. 너무 졸려서 잘려고요..벌써 5시 10이네요.오늘도 날샜어요..



4  COMMENTS
  • Profile
    최은석 2000.04.20 18:37
    초보 wrote:

    > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요.

    > 폼에서 디자인하면 폼에 에디트박스(입력) 버튼2개 리스트박스1개

    > 이렇게 해서 에디트박스에 이름입력하고 버튼1을 누르면 이름이 메세지박스에 출력되고

    > 숫자를 입력하면 문자를 넣으라는 메세지가 뜨게 할려구요.그리구 2번째 버튼은 이름을 입력하고 2번째 버튼을 누르면 리스트박스에 5번 출력하게되구요..

    > 꼭좀 알려주세요..소스좀..

    > 제가생각한것은..

    > var

    > i : string

    > begin

    > i := editinput.text;

    > if 문을 어떻게 해야 할지 모르겠어요 여러번 해봤는데,,흑흑...

    > 그리구 이렇게 해봤는데 나오긴 하더라구요..맞는건지도 모르겠습니다..

    > var

    > i,code:integer;

    >

    > begin

    > val(edit1.text, i, code);

    > if code<>0 then

    > showmessage('저는' +edit1.text+ '입니다')

    > else

    > showmessage('문자를입력하세요');

    > 제가 원하던대로 나오기는 한데, 숫자즉 integer형의 범위를 벗어나면 문자로 받아져요.

    > 꼭 좀 알려주세요..이렇게 정중히 부탁합니다. 너무 졸려서 잘려고요..벌써 5시 10이네요.오늘도 날샜어요..

    >





    안녕하세요?

    아주간단한 문제가시고 고생을 하시는군요

    제가 알고있는 방법을 가르쳐드리지요

    만약 에디트박스1 에 값을 입력했다면...

    다음과같이 하시면 됩니다



    StrToIntDef(edit1.text,0);



    StrToIntDef 함수는 입력된 값이 숫자인지 문자인지 구분해주지요

    두개의 인자중에서 첫번째가 입력한 값이고 두번재는 이폴트값으로...

    입력된 값이 숫자이면 해당숫자를 리턴하고 문자일 경우에는

    디푤트로 입력한 값을 넘겨줍니다

    보통은 디폴트값으로 0 을 입력하지요

    위 함수를 호출해서 리턴값이 0 인지 아닌지를 체크하면 될겁니다

    그럼 이만....

  • Profile
    Mr.Q 2000.04.20 05:00
    초보 wrote:

    > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요.

    > 폼에서 디자인하면 폼에 에디트박스(입력) 버튼2개 리스트박스1개

    > 이렇게 해서 에디트박스에 이름입력하고 버튼1을 누르면 이름이 메세지박스에 출력되고

    > 숫자를 입력하면 문자를 넣으라는 메세지가 뜨게 할려구요.그리구 2번째 버튼은 이름을 입력하고 2번째 버튼을 누르면 리스트박스에 5번 출력하게되구요..

    > 꼭좀 알려주세요..소스좀..

    > 제가생각한것은..

    > var

    > i : string

    > begin

    > i := editinput.text;

    > if 문을 어떻게 해야 할지 모르겠어요 여러번 해봤는데,,흑흑...

    > 그리구 이렇게 해봤는데 나오긴 하더라구요..맞는건지도 모르겠습니다..

    > var

    > i,code:integer;

    >

    > begin

    > val(edit1.text, i, code);

    > if code<>0 then

    > showmessage('저는' +edit1.text+ '입니다')

    > else

    > showmessage('문자를입력하세요');

    > 제가 원하던대로 나오기는 한데, 숫자즉 integer형의 범위를 벗어나면 문자로 받아져요.

    > 꼭 좀 알려주세요..이렇게 정중히 부탁합니다. 너무 졸려서 잘려고요..벌써 5시 10이네요.오늘도 날샜어요..

    >





    function IsAlpha(str:string):boolean;

    begin

    try

    StrToInt(str);

    result:=false;

    except

    result:=true;

    end;

    end;





  • Profile
    HART 2000.04.19 18:57
    조금은 무시한 방법이되 숫자인지 확실하게 구분할 수 있습니다.



    function numbercheck(s : string) : boolean;

    var

    i : integer;

    begin

    result := true;

    for i := 1 to length(s) do

    begin

    if not s[i] in [0..9, '-'] then

    begin

    result := false;

    exit;

    end;

    end

    end;



    이와 같이 하면됨 단 i가 1부터 인지 0부터 인지 정확히 모름

    그리고 숫자로 인정해야 하는 문자가 더 있는지 검사해야 함 ',','.' 그리고 정확히 위치에 입력되는지 등 추가로 체크해야 하는데. 아마 거기 까지는 원하지 안는 것 같은아 이만 줄임

    좋은 하루...

    초보 wrote:

    > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요.

    > 폼에서 디자인하면 폼에 에디트박스(입력) 버튼2개 리스트박스1개

    > 이렇게 해서 에디트박스에 이름입력하고 버튼1을 누르면 이름이 메세지박스에 출력되고

    > 숫자를 입력하면 문자를 넣으라는 메세지가 뜨게 할려구요.그리구 2번째 버튼은 이름을 입력하고 2번째 버튼을 누르면 리스트박스에 5번 출력하게되구요..

    > 꼭좀 알려주세요..소스좀..

    > 제가생각한것은..

    > var

    > i : string

    > begin

    > i := editinput.text;

    > if 문을 어떻게 해야 할지 모르겠어요 여러번 해봤는데,,흑흑...

    > 그리구 이렇게 해봤는데 나오긴 하더라구요..맞는건지도 모르겠습니다..

    > var

    > i,code:integer;

    >

    > begin

    > val(edit1.text, i, code);

    > if code<>0 then

    > showmessage('저는' +edit1.text+ '입니다')

    > else

    > showmessage('문자를입력하세요');

    > 제가 원하던대로 나오기는 한데, 숫자즉 integer형의 범위를 벗어나면 문자로 받아져요.

    > 꼭 좀 알려주세요..이렇게 정중히 부탁합니다. 너무 졸려서 잘려고요..벌써 5시 10이네요.오늘도 날샜어요..

    >

  • Profile
    최석기 2000.04.19 18:36
    초보 wrote:

    > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요.

    > 폼에서 디자인하면 폼에 에디트박스(입력) 버튼2개 리스트박스1개

    > 이렇게 해서 에디트박스에 이름입력하고 버튼1을 누르면 이름이 메세지박스에 출력되고

    > 숫자를 입력하면 문자를 넣으라는 메세지가 뜨게 할려구요.그리구 2번째 버튼은 이름을 입력하고 2번째 버튼을 누르면 리스트박스에 5번 출력하게되구요..

    > 꼭좀 알려주세요..소스좀..

    > 제가생각한것은..

    > var

    > i : string

    > begin

    > i := editinput.text;

    > if 문을 어떻게 해야 할지 모르겠어요 여러번 해봤는데,,흑흑...

    > 그리구 이렇게 해봤는데 나오긴 하더라구요..맞는건지도 모르겠습니다..

    > var

    > i,code:integer;

    >

    > begin

    > val(edit1.text, i, code);

    > if code<>0 then

    > showmessage('저는' +edit1.text+ '입니다')

    > else

    > showmessage('문자를입력하세요');

    > 제가 원하던대로 나오기는 한데, 숫자즉 integer형의 범위를 벗어나면 문자로 받아져요.

    > 꼭 좀 알려주세요..이렇게 정중히 부탁합니다. 너무 졸려서 잘려고요..벌써 5시 10이네요.오늘도 날샜어요..

    >



    전 예전에 이런 식으로 하면 될꺼 같은데 참고만 하세요..



    var

    i,code:integer;



    begin

    try

    StrToInt(edit1.text);

    except

    showmessage('문자를입력하세요');

    end;

    showmessage('저는' +edit1.text+ '입니다');

    end;



    뭐 integer범위 때문에 문제라면 위에서 StrToInt를 StrToCurrency정도로 하면 않될까요??

    • hjcho96
    • 2000.04.20 01:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • sjd
      2000.04.20 05:14
      hjcho96 wrote: > win95 > computer1->interbase server 설치 > computer2->interbase client 설치 > B...
    • 델초보
    • 2000.04.20 01:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 갱민이
      2000.04.20 02:50
      델초보 wrote: > 안녕하세여? > > 델초보임당 > > 다른 분의 소스 가져다가 컴파일 하는 뎅 리소스 ...
    • 초보1
    • 2000.04.20 01:04
    • 3 COMMENTS
    • /
    • 0 LIKES
    • ACCESS
      2000.04.20 02:50
      초보1 wrote: > 초보자가 올립니다. > query, datasource, dbgrid 가 서로연결되어있고, > > dbgrid...
    • 구창민
      2000.04.20 01:49
      초보1 wrote: > 초보자가 올립니다. > query, datasource, dbgrid 가 서로연결되어있고, > > dbgrid...
    • 하얀까마귀
      2000.04.20 08:30
      안녕하세요 하얀까마귀 입니다.. 구창민님의 말씀처럼.. dbgrid에서 어떤 입력을 하는건 별로 안좋다고 ...
    • 맹주형
    • 2000.04.20 00:59
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강민주
      2000.04.20 01:33
      맹주형 wrote: > DB에 있는 데이터를 프린터로 출력을 하려고 합니다. > "델파이"라는 데이터가 있을경우...
    • 내가 찾아볼께
      2000.09.02 09:23
      강민주 wrote: > 맹주형 wrote: > > DB에 있는 데이터를 프린터로 출력을 하려고 합니다. > > "델파이"...
    • 황남철
    • 2000.04.19 23:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.04.19 23:58
      안녕하세요. 최용일입니다. Copy(A ,2, Length(A) - 1); ^^ 항상 즐코하세요. 황남철 wrote: > ...
    • 강인규
      2000.04.20 00:19
      테스트해보지 않았습니다만 length명령을 사용하시면 될듯합니다. copy(a,2,length(a)); 하시면 됩니...
    • 하얀까마귀
      2000.04.20 08:36
      안녕하세요 하얀까마귀 입니다.. 다른분들이 답변올리셧는데.. 저두 한마디.. 후후 if pos('e' , a) ...
    • 최용일
      2000.04.19 23:07
      안녕하세요. 최용일입니다. Anchors 속성을 사용해 보세요. True, False바꾸어 보면서 몇번 실행해보시...
    • 한승수
      2000.04.19 23:27
      예..감사합니다..그런데요.. 툴바같은 컴포넌트는 버튼을 추가했을경우..폼의 크기가 버튼의 합의 크기...
    • 최용일
      2000.04.20 00:02
      안녕하세요. 최용일입니다. 폼에 스크롤바를 생기지 않게 하실려면 폼의 AutoScroll속성값을 False로 해...
    • 최진석
    • 2000.04.19 22:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.04.19 23:01
      안녕하세요. 최용일입니다. 델파이에서 트리노드에 Data란 속성이 있습니다. 아마도 비베의 트리노드에 ...
    • 이치형
      2000.04.20 02:41
      파이공주 wrote: > > 이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려깊은 조언 .. > 하나...
    • 파이공주
      2000.04.21 23:06
      이치형 wrote: > 파이공주 wrote: > > > > 이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려...
    • 이치형
      2000.04.22 05:23
      파이공주 wrote: > 이치형 wrote: > > 파이공주 wrote: > > > > > > 이종DB 간 inset 시.. 문제가 ...
    • 최일성
    • 2000.04.19 21:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.04.19 21:36
      최일성 wrote: > 안녕하십니까? > 델파이를 공부중인 초보자거든여! > 델파이 5.0을 사용하고 있는데 co...
    • 최용일
      2000.04.19 21:58
      안녕하세요. 최용일입니다. TimeStamp를 쓰시면 간단하게 구하실 수 있습니다. function TForm1.GetD...
    • knight
    • 2000.04.19 20:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 고종일
    • 2000.04.19 20:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.04.19 20:45
      안녕하세요. 최용일입니다. 뭐 여러가지 방법이 있겠지만 메세지를 사용하시는것이 제일 간단할 것 같은...
    • 엄주평
    • 2000.04.19 19:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.04.19 20:30
      안녕하세요. 최용일입니다. 디스크의 타입정보는 GetDriveType란 API함수를 이용하시면 알 수 있습니다....
    • 최석기
      2000.04.19 20:04
      엄주평 wrote: > 델파이를 시작한지 얼마 되지 않습니다. > 하드 디스크인지 아닌지 구별하는 방법하구요...
    • HART
      2000.04.19 18:29
      답은 모두 알는데 조합이 안되것 같은데. 먼저 출력하기 전에 prepare를 하지면 pagecount에 출력하려는 출...
    • 초보
    • 2000.04.19 14:21
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최은석
      2000.04.20 18:37
      초보 wrote: > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요. > 폼에서 디자인하...
    • Mr.Q
      2000.04.20 05:00
      초보 wrote: > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요. > 폼에서 디자인하...
    • HART
      2000.04.19 18:57
      조금은 무시한 방법이되 숫자인지 확실하게 구분할 수 있습니다. function numbercheck(s : string) : b...
    • 최석기
      2000.04.19 18:36
      초보 wrote: > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요. > 폼에서 디자인하...