'由中文字符获得区位码
function getatcode(byval widechar as string * 2) as string
dim byt(1 to 2) as byte
static bytptr as dword
bytptr = varptr(byt(1))
! push esi
! push edi
! lea esi, offset widechar
! mov edi, bytptr
! cld
! mov ecx, 1
! rep movsw
! pop edi
! pop esi
function = "&H" & hex$(byt(1) - &HA0, 2) & hex$(byt(2) - &HA0, 2)
end function
'由区位码得到中文字符
function atcode2char(byval atcode as long) as string
dim byt(1 to 2) as byte
static widechar as string * 2, bytptr as dword
byt(1) = val("&H" & left$(hex$(atcode, 4), 2)) + &HA0
byt(2) = val("&H" & right$(hex$(atcode, 4), 2)) + &HA0
bytptr = varptr(byt(1))
! push esi
! push edi
! mov esi, bytptr
! lea edi, offset widechar
! cld
! mov ecx, 1
! rep movsw
! pop edi
! pop esi
function = widechar
end function