获取汉字拼音字头的代码 大家来看看我写的有没有问题(100)

  • 主题发起人 主题发起人 Yang.SZ
  • 开始时间 开始时间
Y

Yang.SZ

Unregistered / Unconfirmed
GUEST, unregistred user!
公司做的进销存软件 需要自动获取汉字的拼音字头 上网找了许多代码 我水平有限 有的看不懂 有的看的懂了但还有点缺陷 我这人有个习惯 一般不用第三方控件 也不喜欢直接拿别人的代码用 都是自己理解之后再用自己的代码风格重写一遍用自己的代码。 可能是心理作用 总感觉这样一来心理舒畅多了而且用起来心理也踏实多了。 但是这回的这个总觉得好象有点问题没注意 但自己一直想不出在哪 所以决定把自己理解后重整的代码拿出来晒晒让大家指点一下 看看问题在哪。。 ********************************************************************************窗体上就三个控件 两个EDIT 一个输入用的 一个输出用的 还有个BUTTON 别的什么都没了代码如下: public { Public declarations } Function Trans_Base(MyString: String; MyCounter: Integer): String; end;var Form1: TForm1;implementation{$R *.dfm}function TForm1.Trans_Base(MyString: String; MyCounter: Integer): String;begin case Word(MyString[MyCounter]) shl 8 + Word(MyString[MyCounter + 1]) of $B0A1..$B0C4: Result:= 'A'; $B0C5..$B2C0: Result:= 'B'; $B2C1..$B4ED: Result:= 'C'; $B4EE..$B6E9: Result:= 'D'; $B6EA..$B7A1: Result:= 'E'; $B7A2..$B8C0: Result:= 'F'; $B8C1..$B9FD: Result:= 'G'; $B9FE..$BBF6: Result:= 'H'; $BBF7..$BFA5: Result:= 'J'; $BFA6..$C0AB: Result:= 'K'; $C0AC..$C2E7: Result:= 'L'; $C2E8..$C4C2: Result:= 'M'; $C4C3..$C5B5: Result:= 'N'; $C5B6..$C5BD: Result:= 'O'; $C5BE..$C6D9: Result:= 'P'; $C6DA..$C8BA: Result:= 'Q'; $C8BB..$C8F5: Result:= 'R'; $C8F6..$CBF9: Result:= 'S'; $CBFA..$CDD9: Result:= 'T'; $CDDA..$CEF3: Result:= 'W'; $CEF4..$D188: Result:= 'X'; $D1B9..$D4D0: Result:= 'Y'; $D4D1..$D7F9: Result:= 'Z'; else Result:= ''; end;end;procedure TForm1.Button4Click(Sender: TObject);Var MyString, MyReceive: String; MyCounter: Integer;begin edit2.Clear; MyCounter:= 1; MyString:= edit1.Text; while MyCounter <= length(MyString) do begin MyReceive:= Trans_Base(MyString, MyCounter); if MyReceive = '' then begin edit2.Text:= edit2.Text + MyString[MyCounter]; MyCounter:= MyCounter + 1; end else begin edit2.Text:= edit2.Text + MyReceive; MyCounter:= MyCounter + 2; end; end;end;********************************************************************************
 
把 else Result:= ''; end;改为 else Result:= '?'; end;多测试几个汉字你就会发现问题了,单个单个的测。
 
唉 兄台你说对了 终于想起来心底的那点不安是来自哪的了 代码没问题 问题出在 这字库不全上了 我们做药品软件的 很多化学用字 这里面都不认 看来还得再完善完善啊 谢谢了
 
接受答案了.
 
后退
顶部