Q&A

  • [참고] 전각문자를 -> 반각문자로 변환
질답게시판에 올라와 있는 내용을 정리해본겁니다.
무턱대고 사용할려다 다시 간단히 Function으로 정리해서 올립니다.
<!--CodeS-->
Function TFrm_main.ConvStr(V_Str:string):String;
var
   S,SS,SAsc,SRtn    :  String;
   Asc1,Asc2,i:  integer;
begin
   SS :=  '';
   SAsc :=  '';
   Asc1:=  0;
   for i :=  1  to  Length(V_Str)  do
      begin
      if ByteType(V_Str, i) =  mbSingleByte then
         begin
         SRtn :=  SRtn + V_Str[i];
         end
      else if ByteType(V_Str, i) =  mbLeadByte then
         begin
         SAsc  := IntToStr(Ord(V_Str[i]));
         Asc1  := Ord(V_Str[i]);
         end
      else
         if ByteType(V_Str, i) =  mbTrailByte then
            begin
            SAsc  := SAsc + IntToStr(Ord(V_Str[i]));
            Asc2  := Ord(V_Str[i]);
            if (StrToInt(SAsc) >= 163161) and (StrToInt(SAsc) <= 163253) then
               begin
               SS         :=  Chr(StrToInt(SAsc) - 163128);
               SRtn :=  SRtn + SS;
               end
            else
               begin
               SRtn :=  SRtn + Chr(Asc1) + Chr(Asc2);
               end;
            SAsc := '';
            end;
      end;
      ConvStr := SRtn;
   end;

procedure TFrm_main.Button1Click(Sender: TObject);
begin
Edit2.Text := ConvStr(Edit1.Text);
end;
<!--CodeE-->
1  COMMENTS