pb 获取拼音码

global type gf_pym from function_object
end type
forward prototypes
global function string gf_pym (string inputstring)
end prototypes
global function string gf_pym (string inputstring);//=================================================================================
//
// 实现功能        :  返回给定汉字串的每个汉字的拼音字母第一个字母(即声母串)
// 注意事项        :  1. 本功能基于汉字的国标汉字库,对于 GBK 字符不支持
//                   2. 对于汉字串中的非汉字字符,如图形符号或ASCII码,则将保持不变
// 例    如        :  Getfirstletter = of_Getfirstletter("中华人民共和国")
//                   返回值:ZHRMGHG(都为大写)
//
//=================================================================================
 
STRING LETTER,THISLETTER,HZ,PYSTRING,ls_out
INTEGER LETTERLEN,I
LONG QW
	
THISLETTER = TRIM(INPUTSTRING)
LETTERLEN = LEN(THISLETTER)
LETTER = ""
PYSTRING = ""
 
LETTER = FILL("A",36)+FILL("B",196)+FILL("C",245)+FILL("D",196)+FILL("E",28)+FILL("F",131)+&
   		FILL("G",161)+FILL("H",193)+FILL("J",319)+FILL("K",106)+FILL("L",260)+FILL("M",163)+&
			FILL("N",87)+FILL("O",8)+FILL("P",128)+FILL("Q",169)+FILL("R",59)+FILL("S",304)+FILL("T",168)+&
			FILL("W",126)+FILL("X",241)+FILL("Y",324)+FILL("Z",341)+SPACE(11)+&
			"CJWGNSPGCGNE Y BTYYZDXYKYGT JNNJQMBSGZSCYJSYY PGKBZGY YWYKGKLJSWKPJQHY W DZLSGMRYPYWWCCKZNKYYG      "+&
			"TTNJJEYKKZYTCJNMCYLQLYPYQFQRPZSLWBTGKJFYXJWZLTBNCXJJJJZXDTTSQZYCDXXHGCK PHFFSS YBGMXLPBYLL HLX      "+&
			"S ZM JHSOJNGHDZQYKLGJHXGQZHXQGKEZZWYSCSCJXYEYXADZPMDSSMZJZQJYZC J WQJBDZBXGZNZCPWHKXHQKMWFBPBY      "+&
			"DTJZZKQHYLYGXFPTYJYYZPSZLFCHMQSHGMXXSXJ  DCSBBQBEFSJYHXWGZKPYLQBGLDLCCTNMAYDDKSSNGYCSGXLYZAYBN      "+&
			"PTSDKDYLHGYMYLCXPY JNDQJWXQXFYYFJLEJPZRXCCQWQQSBZKYMGPLBMJRQCFLNYMYQMSQYRBCJTHZTQFRXQHXMJJCJLX      "+&
			"XGJMSHZKBSWYEMYLTXFSYDSGLYCJQXSJNQBSCTYHBFTDCYZDJWYGHQFRXWCKQKXEBPTLPXJZSRMEBWHJLBJSLYYSMDXLCL      "+&
			"QKXLHXJRZJMFQHXHWYWSBHTRXXGLHQHFNM YKLDYXZPWLGG MTCFPAJJZYLJTYANJGBJPLQGDZYQYAXBKYSECJSZNSLYZH      "+&
			"ZXLZCGHPXZHZNYTDSBCJKDLZZYFMYDLEBBGQYZKXGLDNDNYSKJSHDLYXBCGHXYPKDQMMZMGMMCLGWZSZXZJFZNMLZZTHCS      "+&
			"YDBDLLSCDDNLKJYKJSYCJLKOHQASDKNHCSGZEHDAASHTCPLCPQYBSDMPJLPZJOQLCDHJJYSPRCHN NNLHLYYQYHWZPTCZG      "+&
			"WWMZFFJQQQQYXACLBHKDJXDGMMYDJXZLLSYGXGKJRYWZWYCLZMSSJZLDBYDCPCXYHLXCHYZJQ  QAGMNYXPFRKSSBJLYXY      "+&
			"SYGLNSCMHSWWMNZJJLXXHCHSY  CTXRYCYXBYHCSMXJSZNPWGPXXTAYBGAJCXLY DCCWZOCWKCCSBNHCPDYZNFCYYTYCKX      "+&
			"KYBSQKKYTQQXFCWCHCYKELZQBSQYJQCCLMTHSYWHMKTLKJLYCXWHYQQHTQH PQ QSCFYMMDMGBWHWLGSLLYSDLMLXPTHMJ      "+&
			"HWLJZYHZJXHTXJLHXRSWLWZJCBXMHZQXSDZPMGFCSGLSXYMQSHXPJXWMYQKSMYPLRTHBXFTPMHYXLCHLHLZYLXGSSSSTCL      "+&
			"SLTCLRPBHZHXYYFHB GDNYCNQQWLQHJJ YWJZYEJJDHPBLQXTQKWHLCHQXAGTLXLJXMSL HTZKZJECXJCJNMFBY SFYWYB      "+&
			"JZGNYSDZSQYRSLJPCLPWXSDWEJBJCBCNAYTWGMPABCLYQPCLZXSBNMSGGFNZJJBZSFZYNDXHPLQKZCZWALSBCCJX YZHWK      "+&
			"YPSGXFZFCDKHJGXDLQFSGDSLQWZKXTMHSBGZMJZRGLYJBPMLMSXLZJQSHZYJ ZYDJWBMJKLDDPMJEGXYHYLXHLQYQHKYCW      "+&
			"CJMYYXNATJHYCCXZPCQLBZWWYTWBQCMLPMYRJCCCXFPZNZZLJPLXXYZTZLGDLDCKLYRZZGQTGJHHGJLJAXFGFJZSLCFDQZ      "+&
			"LCLGJDJCSNCLLJPJQDCCLCJXMYZFTSXGCGSBRZXJQQCTZHGYQTJQQLZXJYLYLBCYAMCSTYLPDJBYREGKJZYZHLYSZQLZNW      "+&
			"CZCLLWJQJJJKDGJZOLBBZPPGLGHTGZXYGHZMYCNQSYCYHBHGXKAMTXYXNBSKYZZGJZLQJDFCJXDYGJQJJPMGWGJJJPKQSB      "+&
			"GBMMCJSSCLPQPDXCDYYKY CJDDYYGYWRHJRTGZNYQLDKLJSZZGZQZJGDYKSHPZMTLCPWNJZFYZDJCNMWESCYGLBTZCGMSS      "+&
			"LLYXQSXSBSJSBBSGGHFJLYPMZJNLYYWDQSHZXTYYWHMZYHYWDBXBTLMSYYYFSXJC TXXLHJHF SXZQHFZMZCZTQCXZXRTT      "+&
			"DJHNNYZQQMNQDMMG YTXMJGDHCDYZBFFALLZTDLTFXMXQZDNGWQDBDCZJDXBZGSQQDDJCMBKZFFXMKDMDSYYSZCMLJDSYN      "+&
			"SPRSKMKMPCKLGDCQTFZSWTFGGLYPLLJZHGJ GYPZLTCSMCNBTJBQFKTHBYZGHPBBYMTDSSXTBNPDKLEYCJNYDDYKZTDHQH      "+&
			"SDZSCTARLLTKZLGECLLKJLQJZQNBDKKGHPJTZQKSECSHALQFMMGJNLYJBBTMLYZXDCJPLDLPCQDHZYCBZSCZBZMSLJFLKR      "+&
			"ZJSNFRGJHXPDHYJYBZGDLJCSEZGXLBLHYXTWMABCHECMWYJYZLLJJYHLG DJLSLYGKDZPZXJYYZLWCXSZFGWYYDLYHCLJS      "+&
			"CMBJHBLYZLYCBLYDPDQYSXQZBYTDKYYJY CNRJMPDJGKLCLJBCTBJDDBBLBLCZQRPPXJCGLZCSHLTOLJNMDDDLNGKAQHQH      "+&
			"JHYKHEZNMSHRP QQJCHGMFPRXHJGDYCHGHLYRZQLCYQJNZSQTKQJYMSZSWLCFQQQZYFGGYPTQWLMCRNFKKFSYYLQBMQAMM      "+&
			"MYXCTPSHCPTXXZZSMPHPSHMCLMLDQFYQFSZYJDJJZZHQPDSZGLSTJBCKBXYQZJSGPSXQZQZRQTBDKYXZKHHGFLBCSMDLDG      "+&
			"DZDBLZYYCXNNCSYBZBFGLZZXSWMSCCMQNJQSBDQSJTXXMBLTXZCLZSHZCXRQJGJYLXZFJPHY ZQQYDFQJJLZZNZJCDGZYG      "+&
			"CTXMZYSCTLKPHTXHTLBJXJLXSCDQXCBBTJFQZFSLTJBTKQBXXJJLJCHCZDBZJDCZJDCPRNPQCJPFCZLCLZXZDMXMPHJSGZ      "+&
			"GSZZQLYLWTJPFSYAXMCJBTZYYCWMYTCSJJLQCQLWZMALBXYFBPNLSFHTGJWEJJXXGLLJSTGSHJQLZFKCGNNDSZFDEQFHBS      "+&
			"AQTGYLBXMMYGSZLDYDQMJJRGBJTKGDHGKBLQKBDMBYLXWCXYTTYBKMRTJZXQJBHLMHMJJZMQASLDCYXYQDLQCAFYWYXQHZ"
 
FOR I = 1 TO LETTERLEN
	IF ASC(MID(THISLETTER,I,1)) > 160 THEN
		HZ = MID(THISLETTER,I,2)
		QW = 100 * ASC(LEFT(HZ,1)) + ASC(RIGHT(HZ,1)) - 17760
		IF QW < 1 THEN
			PYSTRING = PYSTRING + "V"
		ELSE	
			ls_out=MID(LETTER,QW,1)
			if (asc(ls_out)>=65 and asc(ls_out)<=90) or (asc(ls_out)>=97 and asc(ls_out)<=122) or (asc(ls_out)>=48 and asc(ls_out)<=57) then //wxk去除符号
			else
				ls_out=''
			end if 
			PYSTRING = PYSTRING + ls_out
		END IF
		I = I + 1
	ELSE		
		ls_out=MID(THISLETTER,I,1)		
		if (asc(ls_out)>=65 and asc(ls_out)<=90) or (asc(ls_out)>=97 and asc(ls_out)<=122) or (asc(ls_out)>=48 and asc(ls_out)<=57) then //wxk去除符号
		else
			ls_out=''
		end if 
		PYSTRING = PYSTRING + ls_out
	END IF	
NEXT
RETURN TRIM(PYSTRING)
end function

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值