Q&A

  • 글자수를 알고 싶은데요.
한글,영문,숫자,공백등이 섞여있는 데이타의 글자수를 알고 싶은데

어떻해야 하나요.

예를들면

'대한민국' 은 4

'123대한민국' 은 7

'123대한민국 123' 은 11

처럼 하려면 말입니다.

아시는분은 저에게 도움좀 주세요. 애타게 기다리고 있습니다.







4  COMMENTS
  • Profile
    종이학 2000.12.15 01:44
    일단은 문자열을 WideString타입으로 저장한후에 Length함수로써 길이를 구해보세여~

    WideString에대해서는 도움말에 자세히 나와있어여~..

    즐코 되세엽~

    var

    sss : WideString;

    begin

    sss := Edit1.Text;

    Showmessage(IntToStr(Length(sss)));

    end;



    한재홍 wrote:

    > 한글,영문,숫자,공백등이 섞여있는 데이타의 글자수를 알고 싶은데

    > 어떻해야 하나요.

    > 예를들면

    > '대한민국' 은 4

    > '123대한민국' 은 7

    > '123대한민국 123' 은 11

    > 처럼 하려면 말입니다.

    > 아시는분은 저에게 도움좀 주세요. 애타게 기다리고 있습니다.

    >

    >

    >

  • Profile
    권민호 2000.12.14 06:19
    한재홍 wrote:

    > 한글,영문,숫자,공백등이 섞여있는 데이타의 글자수를 알고 싶은데

    > 어떻해야 하나요.

    > 예를들면

    > '대한민국' 은 4

    > '123대한민국' 은 7

    > '123대한민국 123' 은 11

    > 처럼 하려면 말입니다.

    > 아시는분은 저에게 도움좀 주세요. 애타게 기다리고 있습니다.

    >

    >

    >

    한글은 기본적으로 항상 2바이트를 잡고 숫자및영문,특수기호는 1byte로 잡습니다.

    '123대한민국 123' =15바이이트 Length('스트링')이란 함수를 쓰면 길이를 반환합니다.

  • Profile
    권경미 2000.12.16 01:16
    var

    i : integer;

    _st : string;

    _length : integer;

    begin



    _st := edit1.text;

    _length := 0;



    for i := 1 to length(_st) do

    if (ByteType(_st,i) = mbSingleByte) or

    (ByteType(_st,i) = mbTrailByte) then

    inc(_length);



    이렇게 해주시면 되겠죠?



    ByteType는 문자열의 해당인덱스에 있는 문자가 1BYTE형인지...2BYTE인지 알아낼수



    있는 함수라는군요...방금 제가 확인 해보니 잘되요...^^



    반환값은 MBSINGLEBYTE는 1BYTE문자라는거구...



    MBTRAILBYTE는 더블바이트의 2번째바이트 문자라는 뜻이니깐...



    위에처럼 해주면...구해지겠져? ^^ 구럼 즐푸 하세요~!

  • Profile
    한재홍 2000.12.14 18:19
    친절한 답변에 감사드립니다.

    하지만 제가 필요한건 바이트 수 가 아니라 글자수입니다.

    '123대한민국 123' 은 15byte 이지만 글자수로는 공백포함하여 11글자라는걸

    구해야 하거든요.

    권민호 wrote:

    > 한재홍 wrote:

    > > 한글,영문,숫자,공백등이 섞여있는 데이타의 글자수를 알고 싶은데

    > > 어떻해야 하나요.

    > > 예를들면

    > > '대한민국' 은 4

    > > '123대한민국' 은 7

    > > '123대한민국 123' 은 11

    > > 처럼 하려면 말입니다.

    > > 아시는분은 저에게 도움좀 주세요. 애타게 기다리고 있습니다.

    > >

    > >

    > >

    > 한글은 기본적으로 항상 2바이트를 잡고 숫자및영문,특수기호는 1byte로 잡습니다.

    > '123대한민국 123' =15바이이트 Length('스트링')이란 함수를 쓰면 길이를 반환합니다.