怎样从一个字符串中提取一个中文字符并获得其国标吗?(100分)

  • 主题发起人 主题发起人 delfan
  • 开始时间 开始时间
你是一个programer吗?
 
给你一个程序:<br>function FormatOutput(i:integer):string; // 带前导零输出<br>var<br>&nbsp; temp:integer;<br>begin<br>&nbsp; temp := i - 160;<br>&nbsp; Result := IntToStr(temp);<br>&nbsp; if temp &lt; 10 then<br>&nbsp; &nbsp; Result := '0' + Result;<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; i,c1,c2:integer;<br>&nbsp; s:string;<br>begin<br>&nbsp; s:= Edit1.Text;<br>&nbsp; i:=1;<br>&nbsp; Edit2.Text := '';<br>&nbsp; while i &lt;= Length(s) do begin<br>&nbsp; &nbsp; c1 := Ord(s);<br>&nbsp; &nbsp; c2 := Ord(s[i + 1]);<br>&nbsp; &nbsp; if (c1 &gt; 160) and (c2 &gt; 160) then begin &nbsp; &nbsp; &nbsp; // 判断是否汉字<br>&nbsp; &nbsp; &nbsp; Edit2.Text := Edit2.Text + FormatOutput(c1) + FormatOutput(c2); // 输出<br>&nbsp; &nbsp; &nbsp; i := i + 2;<br>&nbsp; &nbsp; &nbsp; break; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // 查到一个汉字后退出<br>&nbsp; &nbsp; end else<br>&nbsp; &nbsp; &nbsp; Inc(i);<br>&nbsp; end;<br>end;<br>
 
如果是要求拼音呢?<br>麻烦多了吧。
 
也不麻烦呀!<br>找到那个“汉字拼音对照表”查一下不就出来了。 *_^
 
告诉你们我想干什么吧。<br><br>前天下载了一个样例程序能够将 TTF 字符变成矢量画出来,使了一下画不出中文字符<br>故想求教与各位大虾
 
Delfan, 我喜欢你的问题呀<br><br>可以如同正常的字符串操作那样, 把一个字符串当作一个 WideString 然后使用<br>数组下标得到一个 WideChar (16位字符):<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; S: String;<br>&nbsp; W: WideChar;<br>&nbsp; I: integer;<br>&nbsp; Msg: String;<br>begin<br>&nbsp; S:= 'A 汉字测试';<br>&nbsp; ShowMessage('StringLength='+<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IntToStr(Length(s))+<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ', WideStringLength='+<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IntToStr(Length(WideString(s))));<br>&nbsp; Msg:='Order of Chars: ';<br>&nbsp; for i:=1 to Length(WideString(s)) do<br>&nbsp; begin<br>&nbsp; &nbsp; Msg:=Msg+IntToStr(Ord(WideString(S)))+'; ';<br>&nbsp; end;<br>&nbsp; ShowMessage(Msg);<br>end;<br>
 
to 小草:<br>汉字拼音对照表在哪里?
 
这个问题挺难的!<br><br>如果解决好了WIN95的DOS窗就不会在遇到制表符<br>时出现乱码了, 怎么还有人说太简单?<br><br>微软(中国)公司那么多高手都没有解决这个问题,<br>结果是在DOS窗口上加了一个汉字控制开关, 见过吧?<br><br>如果字符串中没有制表符就用上面的那一段程序, 写得不错. ;)
 
to 曹晓钢:<br>&lt;a href="http://personal.wol.com.cn/grass/files/Pycode.zip"&gt;汉字拼音对照表&lt;/a&gt;
 
小草,谢谢,祝愿早日长成大草. :)
 
littlegrass forever !!! &nbsp; :-)
 
多人接受答案了。
 
后退
顶部