Option Explicit
Private Declare Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Dim aa$, ii&
Private Sub Form_Load()
Command1.Caption = "简体转繁体"
Open "c:/cmd.txt" For Input As #1
Text1.Text = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
End Sub
Private Sub Command1_Click()
ii = lstrlen(Text1.Text)
aa = Space(ii)
If Command1.Caption = "简体转繁体" Then
LCMapString &H804, &H4000000, Text1.Text, ii, aa, ii
Else
LCMapString &H804, &H2000000, Text1.Text, ii, aa, ii
End If
Text1.Text = aa
Command1.Caption = IIf(Command1.Caption = "繁体转简体", "简体转繁体", "繁体转简体")
End Sub
Private Declare Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Dim aa$, ii&
Private Sub Form_Load()
Command1.Caption = "简体转繁体"
Open "c:/cmd.txt" For Input As #1
Text1.Text = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
End Sub
Private Sub Command1_Click()
ii = lstrlen(Text1.Text)
aa = Space(ii)
If Command1.Caption = "简体转繁体" Then
LCMapString &H804, &H4000000, Text1.Text, ii, aa, ii
Else
LCMapString &H804, &H2000000, Text1.Text, ii, aa, ii
End If
Text1.Text = aa
Command1.Caption = IIf(Command1.Caption = "繁体转简体", "简体转繁体", "繁体转简体")
End Sub
本文提供了一个使用Visual Basic编写的简体中文与繁体中文互相转换的示例程序。该程序通过调用Windows API函数LCMapString实现文本转换,并展示了如何读取文件内容并进行转换。
1088

被折叠的 条评论
为什么被折叠?



