VB中获得汉字的首音码(包含二级字库)
Option Explicit
'==================================================
' 函数: ReturnSM
'
' 功能: 返回字符串中没个字符的拼音声母第一个字母
'
' 注意: 该函数只能处理3755个常用汉字(B0 - D7)
' 若超出函数的范围将返回常数 ERR_RESULT$
'
' 入口: Str 待处理的字符串
'
Public Function ReturnSM$(ByVal Str$)
'-------------------------------------------------
Dim tmpStr$, tmpASCII&, ReStr$
Dim i As Integer
ReStr$ = ""
ReturnSM$ = ""
For i = 1 To Len(Str$)
' 取出字符串中的第一个字符
tmpStr$ = Mid$(Str$, i, 1)
' 若tmpStr长度为 0 ,则函数无返回值
If Len(tmpStr$) <= 0 Then Exit Function
' 返回字符映射表中的字符码
tmpASCII& = VBA.Asc(tmpStr$)
' 处理tmpStr,并返回其声母,若超出处理范围,则返回错误
Select Case tmpASCII&
Case &HB0A1 To &HB0C4
ReStr$ = "A"
Case &HB0C5 To &HB0FE, &HB1A1 To &HB1FE, &HB2A1 To &HB2C0
ReStr$ = "B"
Case &HB2C1
相关文档:
delphi中的DLL中的声明原码如下:
这里声明了输出性参数分别为数字与字符类型
library dll1;
uses
SysUtils,
Classes;
{$R *.res}
Function mymax(x, y: Integer; out jj: Integer; out abc: PChar): Integer; stdcall;
begin
jj := x * y;
abc := PChar(StrPas(abc) + '这是传出的' ......
'******************************************************************************************
'* 需要注意的问题 *
'******************************************************************************************
'1.INI文件的路 ......
VB 长整型和字节数组的转换问题 (Long<>Byte)
Posted by JiaJia 17 March,2009 (0)Comment
用到的API声明:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Long2Byte
Dim TempLng As Long
Dim TempBytes(0 To 3) As Byte ......
VB为自己的程序设定消息(可接收处理)
Posted by JiaJia 5 March,2009 (0)Comment
用API函数 SetWindowLong 指定处理消息的窗口过程为自定义的函数 WindowProc,捕获消息ID为 WM_USER+1 的自定义消息或系统消息。并且,为了保证窗口能正确的响应消息,需要保存原来默认的窗口过程并在自定义函数WindowProc中调用。 ......
App 对象是VB应用程序的全局信息,如应用程序的标题、版本信息、可执行文件和帮助文件的路径及名称以及是否运行前一个应用程序的示例。
属性
------- 其他属性-----------------
EXEName 属性 返回当前正运行的可执行文件 ......