Q&A

  • 전각문자인지 알아내는 법
에디터에 입력받은 글자가 전각문자인지 반각문자인지 체크하는 방법을 알고 싶습니다.



API함수를 이용하면 가능하단 얘기는 들은것 같은데



구체적으로 어떤 함수를 어떻게 써야하는지와



다른방법이 있다면 어떤것인지 알고싶습니다.

2  COMMENTS
  • Profile
    구창민 2000.03.03 20:22
    강혜승 wrote:

    > 에디터에 입력받은 글자가 전각문자인지 반각문자인지 체크하는 방법을 알고 싶습니다.

    >

    > API함수를 이용하면 가능하단 얘기는 들은것 같은데

    >

    > 구체적으로 어떤 함수를 어떻게 써야하는지와

    >

    > 다른방법이 있다면 어떤것인지 알고싶습니다.





    API중 ByteType()이란 함수를 사용 하면 됩니다.

    문자열과 그 문자열의 위치를 인자로 전해주면 리턴값이 있는데

    그놈으로 파악할수 있습니다.

    리턴값은 TMbcsByteType형으로 mbSingleByte 이외는 전각입니다.



    procedure TForm1.Button1Click(Sender: TObject);

    var

    strData: String;

    ix: Integer;

    begin

    strData := 'MotherFuck흐미'; // 검사할 문자열

    for ix := 1 to length(strData) do

    begin

    case ByteType(strData, ix) of

    //반각

    mbSingleByte: ShowMessage(IntToStr(ix) + '- 반각');

    //전각 1 바이트

    mbLeadByte: ShowMessage(IntToStr(ix) + '- 전각 1');

    //전각 2 바이트

    mbTrailByte: ShowMessage(IntToStr(ix) + '- 전각 2');

    else

    ShowMessage(IntToStr(ix) + '- ? ');

    end;

    end;

    end;



  • Profile
    강혜승 2000.03.04 00:36
    정말 감사합니다. (꾸우벅~)



    테스트를 하다보니 한가지 궁금한 점이 추가로 생겼습니다.



    전각으로 에디트에 입력된 글자를 반각으로 바꾸어 저장하거나



    반각으로 입력된 글자를 전각으로 바꾸어 저장하려면 어찌하면 되나요??