📄 form1.frm
字号:
objPinYinDic.Add "mu", -15180
objPinYinDic.Add "na", -15165
objPinYinDic.Add "nai", -15158
objPinYinDic.Add "nan", -15153
objPinYinDic.Add "nang", -15150
objPinYinDic.Add "nao", -15149
objPinYinDic.Add "ne", -15144
objPinYinDic.Add "nei", -15143
objPinYinDic.Add "nen", -15141
objPinYinDic.Add "neng", -15140
objPinYinDic.Add "ni", -15139
objPinYinDic.Add "nian", -15128
objPinYinDic.Add "niang", -15121
objPinYinDic.Add "niao", -15119
objPinYinDic.Add "nie", -15117
objPinYinDic.Add "nin", -15110
objPinYinDic.Add "ning", -15109
objPinYinDic.Add "niu", -14941
objPinYinDic.Add "nong", -14937
objPinYinDic.Add "nu", -14933
objPinYinDic.Add "nv", -14930
objPinYinDic.Add "nuan", -14929
objPinYinDic.Add "nue", -14928
objPinYinDic.Add "nuo", -14926
objPinYinDic.Add "o", -14922
objPinYinDic.Add "ou", -14921
objPinYinDic.Add "pa", -14914
objPinYinDic.Add "pai", -14908
objPinYinDic.Add "pan", -14902
objPinYinDic.Add "pang", -14894
objPinYinDic.Add "pao", -14889
objPinYinDic.Add "pei", -14882
objPinYinDic.Add "pen", -14873
objPinYinDic.Add "peng", -14871
objPinYinDic.Add "pi", -14857
objPinYinDic.Add "pian", -14678
objPinYinDic.Add "piao", -14674
objPinYinDic.Add "pie", -14670
objPinYinDic.Add "pin", -14668
objPinYinDic.Add "ping", -14663
objPinYinDic.Add "po", -14654
objPinYinDic.Add "pu", -14645
objPinYinDic.Add "qi", -14630
objPinYinDic.Add "qia", -14594
objPinYinDic.Add "qian", -14429
objPinYinDic.Add "qiang", -14407
objPinYinDic.Add "qiao", -14399
objPinYinDic.Add "qie", -14384
objPinYinDic.Add "qin", -14379
objPinYinDic.Add "qing", -14368
objPinYinDic.Add "qiong", -14355
objPinYinDic.Add "qiu", -14353
objPinYinDic.Add "qu", -14345
objPinYinDic.Add "quan", -14170
objPinYinDic.Add "que", -14159
objPinYinDic.Add "qun", -14151
objPinYinDic.Add "ran", -14149
objPinYinDic.Add "rang", -14145
objPinYinDic.Add "rao", -14140
objPinYinDic.Add "re", -14137
objPinYinDic.Add "ren", -14135
objPinYinDic.Add "reng", -14125
objPinYinDic.Add "ri", -14123
objPinYinDic.Add "rong", -14122
objPinYinDic.Add "rou", -14112
objPinYinDic.Add "ru", -14109
objPinYinDic.Add "ruan", -14099
objPinYinDic.Add "rui", -14097
objPinYinDic.Add "run", -14094
objPinYinDic.Add "ruo", -14092
objPinYinDic.Add "sa", -14090
objPinYinDic.Add "sai", -14087
objPinYinDic.Add "san", -14083
objPinYinDic.Add "sang", -13917
objPinYinDic.Add "sao", -13914
objPinYinDic.Add "se", -13910
objPinYinDic.Add "sen", -13907
objPinYinDic.Add "seng", -13906
objPinYinDic.Add "sha", -13905
objPinYinDic.Add "shai", -13896
objPinYinDic.Add "shan", -13894
objPinYinDic.Add "shang", -13878
objPinYinDic.Add "shao", -13870
objPinYinDic.Add "she", -13859
objPinYinDic.Add "shen", -13847
objPinYinDic.Add "sheng", -13831
objPinYinDic.Add "shi", -13658
objPinYinDic.Add "shou", -13611
objPinYinDic.Add "shu", -13601
objPinYinDic.Add "shua", -13406
objPinYinDic.Add "shuai", -13404
objPinYinDic.Add "shuan", -13400
objPinYinDic.Add "shuang", -13398
objPinYinDic.Add "shui", -13395
objPinYinDic.Add "shun", -13391
objPinYinDic.Add "shuo", -13387
objPinYinDic.Add "si", -13383
objPinYinDic.Add "song", -13367
objPinYinDic.Add "sou", -13359
objPinYinDic.Add "su", -13356
objPinYinDic.Add "suan", -13343
objPinYinDic.Add "sui", -13340
objPinYinDic.Add "sun", -13329
objPinYinDic.Add "suo", -13326
objPinYinDic.Add "ta", -13318
objPinYinDic.Add "tai", -13147
objPinYinDic.Add "tan", -13138
objPinYinDic.Add "tang", -13120
objPinYinDic.Add "tao", -13107
objPinYinDic.Add "te", -13096
objPinYinDic.Add "teng", -13095
objPinYinDic.Add "ti", -13091
objPinYinDic.Add "tian", -13076
objPinYinDic.Add "tiao", -13068
objPinYinDic.Add "tie", -13063
objPinYinDic.Add "ting", -13060
objPinYinDic.Add "tong", -12888
objPinYinDic.Add "tou", -12875
objPinYinDic.Add "tu", -12871
objPinYinDic.Add "tuan", -12860
objPinYinDic.Add "tui", -12858
objPinYinDic.Add "tun", -12852
objPinYinDic.Add "tuo", -12849
objPinYinDic.Add "wa", -12838
objPinYinDic.Add "wai", -12831
objPinYinDic.Add "wan", -12829
objPinYinDic.Add "wang", -12812
objPinYinDic.Add "wei", -12802
objPinYinDic.Add "wen", -12607
objPinYinDic.Add "weng", -12597
objPinYinDic.Add "wo", -12594
objPinYinDic.Add "wu", -12585
objPinYinDic.Add "xi", -12556
objPinYinDic.Add "xia", -12359
objPinYinDic.Add "xian", -12346
objPinYinDic.Add "xiang", -12320
objPinYinDic.Add "xiao", -12300
objPinYinDic.Add "xie", -12120
objPinYinDic.Add "xin", -12099
objPinYinDic.Add "xing", -12089
objPinYinDic.Add "xiong", -12074
objPinYinDic.Add "xiu", -12067
objPinYinDic.Add "xu", -12058
objPinYinDic.Add "xuan", -12039
objPinYinDic.Add "xue", -11867
objPinYinDic.Add "xun", -11861
objPinYinDic.Add "ya", -11847
objPinYinDic.Add "yan", -11831
objPinYinDic.Add "yang", -11798
objPinYinDic.Add "yao", -11781
objPinYinDic.Add "ye", -11604
objPinYinDic.Add "yi", -11589
objPinYinDic.Add "yin", -11536
objPinYinDic.Add "ying", -11358
objPinYinDic.Add "yo", -11340
objPinYinDic.Add "yong", -11339
objPinYinDic.Add "you", -11324
objPinYinDic.Add "yu", -11303
objPinYinDic.Add "yuan", -11097
objPinYinDic.Add "yue", -11077
objPinYinDic.Add "yun", -11067
objPinYinDic.Add "za", -11055
objPinYinDic.Add "zai", -11052
objPinYinDic.Add "zan", -11045
objPinYinDic.Add "zang", -11041
objPinYinDic.Add "zao", -11038
objPinYinDic.Add "ze", -11024
objPinYinDic.Add "zei", -11020
objPinYinDic.Add "zen", -11019
objPinYinDic.Add "zeng", -11018
objPinYinDic.Add "zha", -11014
objPinYinDic.Add "zhai", -10838
objPinYinDic.Add "zhan", -10832
objPinYinDic.Add "zhang", -10815
objPinYinDic.Add "zhao", -10800
objPinYinDic.Add "zhe", -10790
objPinYinDic.Add "zhen", -10780
objPinYinDic.Add "zheng", -10764
objPinYinDic.Add "zhi", -10587
objPinYinDic.Add "zhong", -10544
objPinYinDic.Add "zhou", -10533
objPinYinDic.Add "zhu", -10519
objPinYinDic.Add "zhua", -10331
objPinYinDic.Add "zhuai", -10329
objPinYinDic.Add "zhuan", -10328
objPinYinDic.Add "zhuang", -10322
objPinYinDic.Add "zhui", -10315
objPinYinDic.Add "zhun", -10309
objPinYinDic.Add "zhuo", -10307
objPinYinDic.Add "zi", -10296
objPinYinDic.Add "zong", -10281
objPinYinDic.Add "zou", -10274
objPinYinDic.Add "zu", -10270
objPinYinDic.Add "zuan", -10262
objPinYinDic.Add "zui", -10260
objPinYinDic.Add "zun", -10256
objPinYinDic.Add "zuo", -10254
Dim arrPinYin As Variant
Dim arrPinYinCode As Variant
Dim i As Integer
Dim intIndex As Integer
Dim intHanZiAsc As Integer
Dim strResult As String
strResult = ""
For intIndex = 1 To Len(strHanZi)
intHanZiAsc = Asc(Mid(strHanZi, intIndex, 1))
If intHanZiAsc = 32 Then ' 空格的异常处理
strResult = strResult & Chr(32)
Else
If Mid(strHanZi, intIndex, 1) = """" Then '修改 引号的异常处理
strResult = strResult & """"
Else
If Mid(strHanZi, intIndex, 1) = "'" Then
strResult = strResult & "'" '修改单引号的异常处理
Else
If intHanZiAsc = 13 Then
strResult = strResult & Chr(13) & Chr(10) '换行的异常处理
Else
If intHanZiAsc > 0 And intHanZiAsc < 160 Then
strResult = strResult & Chr(intHanZiAsc) '数字及符号的异常处理
Else
If intHanZiAsc < -20319 Or intHanZiAsc > -10247 Then
strResult = strResult & ""
Else
arrPinYin = objPinYinDic.Items
arrPinYinCode = objPinYinDic.Keys
For i = objPinYinDic.Count - 1 To 0 Step -1
If arrPinYin(i) <= intHanZiAsc Then Exit For
Next
If i >= LBound(arrPinYin) And i <= UBound(arrPinYin) Then ''防止越界
strResult = strResult & arrPinYinCode(i)
Else
strResult = strResult & ""
End If
End If
End If
End If
End If
End If
End If
Next
gGetPinYin = strResult
End Function
Function Conv(str As String) As String
Dim Code As Variant
Code = Array("", "11111", "11110", "11100", "11000", "10000", "00000", "01111", "01110", "01100", "01000", "00111", "00110", "00100", "00011", "00010", "11101", "11011", "10111", "00001", "10101", "10011", "10110", "00101", "10001", "01010", "10100", , , , "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "", """", ",", ".", Chr(13), Chr(10), "'")
Dim output As String
output = ""
Dim Hanzi() As Variant
l = Len(str)
ReDim Hanzi(l) As Variant
For i = 1 To l
Hanzi(i) = Mid(str, i, 1)
Next
For i = 1 To l
If Code(Match(Hanzi(i))) = Chr(13) Then
output = output & vbCrLf
Else
output = output & Code(Match(Hanzi(i))) ' 在此进行加密运算,此处未写为加密形式,而只是一般的转换形式。 加密算式应为 output=output & val(Code(Match(Hanzi(i))))*加密因子或算法,加密因子或算法可自行给出,并可由界面中的textbox传递
End If
Next
Conv = output
End Function
Function Match(ch As Variant)
Match = Switch(ch = "a", 1, ch = "b", 2, ch = "c", 3, ch = "d", 4, ch = "e", 5, ch = "f", 6, ch = "g", 7, ch = "h", 8, ch = "i", 9, ch = "j", 10, ch = "k", 11, ch = "l", 12, ch = "m", 13, ch = "n", 14, ch = "o", 15, ch = "p", 16, ch = "q", 17, ch = "r", 18, ch = "s", 19, ch = "t", 20, ch = "u", 21, ch = "v", 22, ch = "w", 23, ch = "x", 24, ch = "y", 25, ch = "z", 26, ch = "A", 1, ch = "B", 2, ch = "C", 3, ch = "D", 4, ch = "E", 5, ch = "F", 6, ch = "G", 7, ch = "H", 8, ch = "I", 9, ch = "J", 10, ch = "K", 11, ch = "L", 12, ch = "M", 13, ch = "N", 14, ch = "O", 15, ch = "P", 16, ch = "Q", 17, ch = "R", 18, ch = "S", 19, ch = "T", 20, ch = "U", 21, ch = "V", 22, ch = "W", 23, ch = "X", 24, ch = "Y", 25, ch = "Z", 26, ch = "0", 30, ch = "1", 31, ch = "2", 32, ch = "3", 33, ch = "4", 34, ch = "5", 35, ch = "6", 36, ch = "7", 37, ch = "8", 38, ch = "9", 39, ch = " ", 40, ch = """", 41, ch = ",", 42, ch = ".", 43, ch = Chr(13), 44, ch = Chr(10), 45, ch = "'", 46)
End Function
Private Sub Command1_Click()
If Text1.Text <> "" Then
Text2.Text = gGetPinYin(Text1.Text)
Else
MsgBox "请输入要转换的字符", vbInformation
End If
Text3.Text = Conv(Text2.Text)
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -