⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2107.html

📁 VB技巧问答10000例 VB技巧问答10000例
💻 HTML
字号:
<html>
  <head>
    <title>Re: 拆出中文字的字码</title>
  </head>
  <BODY BACKGROUND="" BGCOLOR="white" TEXT="black" LINK="red" VLINK="#808080" ALINK="">
    <center>
      <h1>Re: 拆出中文字的字码</h1>
    </center>

<HR><p>
Posted by <a href="mailto:cww5@mail.ncku.edu.tw">cww</a> on February 26, 1998 at 00:18:28:<p>
In Reply to: <a href="2099.html"><b>拆出中文字的字码</b></a> posted by 阿晴 on February 25, 1998 at 06:09:34:<p>
我试过这类的function,可以把某个中文字拆出它的字根,若为注音,可<br>以拆出其拼音及破音字的拼法,如: "的" 大易输入可传回"竹日马点"<br>注音可传回 "ㄉ ㄜ˙"  "ㄉㄧ ˊ"  "ㄉㄧ ˋ”,不过却没有找到<br>直接Mapping到英文的作法(如:注音"的" --> dk7 ),不过最少可以建表<br>去Mapping<p>Private Sub Command1_Click()<br>Dim hkb As Long<br>hkb = GetKeyboardLayout(0)<br>Text2.Text = ImeQueryComp(hkb, Text1.Text, 1)<br>End Sub<p>'hKB :keyboard handle, cChinaWord:中文字, nth :第n个拆字法(字根组合),由1起算<br>Public Function ImeQueryComp(ByVal hkb As Long, ByVal bChinaWord As String, Optional nth As Variant) As String<br>Dim iMaxkey  As Long, dwGCL As Long<br>Dim tCandidate As CANDIDATELIST<br>Dim iStart As Long, i As Long, j As Long, icount As Integer<br>Dim dwBuff() As Byte<br>Dim result() As Byte<p>If IsMissing(nth) Then<br>   nth = 1<br>End If<p>ImeQueryComp = ""<br>iMaxkey = ImmEscape(hkb, 0, IME_ESC_MAX_KEY, vbNullString)<p>If iMaxkey  0 Then<br>    If nth > icount Then    '没有nth个的candidate<br>        Exit Function<br>    End If<br>    iStart = dwBuff(24 + (nth - 1) * 4)<br>    j = 0<br>    ReDim result(iMaxkey * 2)<br>    For i = iStart To iStart + iMaxkey * 2<br>        result(j) = dwBuff(i)<br>        j = j + 1<br>    Next i<br>    ImeQueryComp = StrConv(result, vbUnicode)<br> End If<br>End Function<br>
<br>
<p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 2107-->
</ul><!--end: 2107-->
<br><HR><p>

</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -