|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。转换这个COM用到了一个VC的资本文件。就是字典。
人人能够往61.134.75.70/download/gb2big5.zip下载
原代码以下:
//////////////////////////////////////////
中文称号:GB与BIG5内码交换控件
英文称号:GB2BIG5
Blood
版本:1.0
制造工夫:2002.3.5
版权一切Blood2002-2003
//////////////////////////////////////////
OptionExplicit
界说变量
DimBIG5DataAsVariant
DimGBDataAsVariant
界说自界说范例,用来处置编码的上下字成绩
TypeChineseTypeA
loCharAsByte
hiCharAsByte
EndType
PrivateBIG5Type(&HA1To&HFF,&H40To&HFE)AsChineseTypeA对应于BIG5字库
PrivateGBType(&HA7To&HFF,&HA1To&HFE)AsChineseTypeA对应与GB字库
//////////////////
大众函数入手下手
//////////////////
BIG5转换到GB的函数
FunctionBIG5TOGB(strSourceAsString)AsString
DimIAsLong,YAsLong
界说数组,用来寄存BIG5和GB内码数据
DimbteBIG5()AsByte
DimbteGB()AsByte
假如输出的内容为空,则加入函数
IfstrSource=""Then
BIG5TOGB=""
ExitFunction
EndIf
将BIG5数组的范例从Unicode编码转换为体系缺省码
bteBIG5=StrConv(strSource,vbFromUnicode)
断定BIG5数组的下标,用来轮回将一切的BIG5内容转换为GB内码
Y=UBound(bteBIG5)
ReDimbteGB(0ToY)
ForI=0ToY
IfI=YThen
bteGB(I)=bteBIG5(I)
ExitFor
EndIf
IfbteBIG5(I)<&HA1OrbteBIG5(I+1)<&H40Then
bteGB(I)=bteBIG5(I)
Else
bteGB(I)=BIG5Type(bteBIG5(I),bteBIG5(I+1)).loChar
bteGB(I+1)=BIG5Type(bteBIG5(I),bteBIG5(I+1)).hiChar
I=I+1
EndIf
NextI
将体系缺省码转换为Unicode编码
BIG5TOGB=StrConv(bteGB,vbUnicode)
从头初始化GB数组,以开释内存
ErasebteGB
EndFunction
GB转换到BIG5的函数
FunctionGBTOBIG5(strSourceAsString)AsString
DimIAsLong,YAsLong
界说数组,用来寄存BIG5和GB内码数据
DimbteGB()AsByte
DimbteBIG5()AsByte
假如输出的内容为空,则加入函数
IfstrSource=""Then
GBTOBIG5=""
ExitFunction
EndIf
将GB数组的范例从Unicode编码转换为体系缺省码
bteGB=StrConv(strSource,vbFromUnicode)
断定GB数组的下标,用来轮回将一切的BIG5内容转换为GB内码
Y=UBound(bteGB)
ReDimbteBIG5(0ToY)
ForI=0ToY
IfI=YThen
bteBIG5(I)=bteGB(I)
ExitFor
EndIf
IfbteGB(I)<&HA1OrbteGB(I+1)<&HA1Then
bteBIG5(I)=bteGB(I)
Else
IfbteGB(I)<&HB0AndbteGB(I+1)>=&HA1Then
bteBIG5(I)=GBType(bteGB(I)+6,bteGB(I+1)).loChar
bteBIG5(I+1)=GBType(bteGB(I)+6,bteGB(I+1)).hiChar
Else
bteBIG5(I)=GBType(bteGB(I),bteGB(I+1)).loChar
bteBIG5(I+1)=GBType(bteGB(I),bteGB(I+1)).hiChar
EndIf
I=I+1
EndIf
NextI
将体系缺省码转换为Unicode编码
GBTOBIG5=StrConv(bteBIG5,vbUnicode)
从头初始化BIG5数组,以开释内存
ErasebteBIG5
EndFunction
//////////////////
大众函数停止
//////////////////
类初始化
PrivateSubClass_Initialize()
DimIAsLong
DimJAsLong
DimiLenAsLong
从资本文件中读取GB与BIG5的字库
GBData=LoadResData(102,"CUSTOM")//读取GB字库
BIG5Data=LoadResData(101,"CUSTOM")//读取BIG5字库
ForI=&HA1To&HFE
ForJ=&H40To&HFE
BIG5Type(I,J).loChar=BIG5Data(iLen)
BIG5Type(I,J).hiChar=BIG5Data(iLen+1)
iLen=iLen+2
NextJ
NextI
iLen=0
ForI=&HA7To&HFE
ForJ=&HA1To&HFE
GBType(I,J).loChar=GBData(iLen)
GBType(I,J).hiChar=GBData(iLen+1)
iLen=iLen+2
NextJ
NextI
EndSub
</p>ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊! |
|