Q&A

  • 문자열이 한글인지 영문인지 ?
안녕하세요 !

제 질문하고자 하는 것은 제목에 나와있듯이

스트링 변수에 문자열이 들어왔을때 이것이 한글인지

영문인지를 판단할수 있는 루틴을 얻고 싶은데

어떻게 해야 하나요 ?

알고 계신분들은 꼭 조언을 바랍니다....

1  COMMENTS
  • Profile
    김영대 1999.07.20 18:20
    김동언 께서 말씀하시기를...

    > 안녕하세요 !

    > 제 질문하고자 하는 것은 제목에 나와있듯이

    > 스트링 변수에 문자열이 들어왔을때 이것이 한글인지

    > 영문인지를 판단할수 있는 루틴을 얻고 싶은데

    > 어떻게 해야 하나요 ?

    > 알고 계신분들은 꼭 조언을 바랍니다....



    아래 예제를 참고해 보세요



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    Edit1: TEdit;

    Edit2: TEdit;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation

    {$R *.DFM}



    procedure TForm1.Button1Click(Sender: TObject);

    var

    i: Integer;

    s: String;

    begin

    s := Edit1.Text; // 검사할 문자열

    Edit2.Text := ''; // 검사한 문자열



    // IsDBCSLeadByte()는 double byte character set(DBCS) 의 lead byte인지 감사합니다

    for i := 1 to Length(s) do

    if IsDBCSLeadByte(Byte(s[i])) then

    Edit2.Text := Edit2.Text + 'H' // 한글 바이트

    else

    Edit2.Text := Edit2.Text + 'E'; // 영문 바이트

    end;



    end.



    참고로 제 홈페이지(http://myhome.shinbiro.com/~cozykyd) 에 보시면

    Delphi Tips 이 있는데 거기서 "한글" 로 검색해보시면

    한글처리와 관련된 팁이 몇개 있으니 참고해 보세요