CLOSE all
USE ptype
* ÉÌÆ·Ãû³Æ
DO while .not.eof()
REPLACE fullname WITH strtran(ALLTRIM(fullname),"£¨","(")
REPLACE fullname WITH strtran(ALLTRIM(fullname),"£©",")")
REPLACE usercode with upper(MYhzsx(fullname))
Skip
ENDDO
USE BTYPE
* ÍùÀ´µ¥Î»
DO WHILE .NOT. EOF()
REPLACE USERCODE WITH upper(MYhzsx(fullname))
SKIP
ENDDO
SELECT Btype.name, Btype.fullname, Btype.level, Btype.sonnum,;
Btype.usercode;
FROM btype;
ORDER BY Btype.usercode
SELECT * FROM ptype;
ORDER BY ptype.usercode
USE
CLOSE all
CLOSE DATABASE
******************************************************
*¹ý³ÌÃû³Æ:hzpy
*¹ý³Ì¹¦ÄÜ:ºº×ÖתƴÒôÊ××Ö
*µ÷Ó÷½·¨:?hzpy('ºº×ÖÆ´Òô') ½á¹û:HZPY
******************************************************PROCEDURE hzpy
*!* PARAMETER MYhzsx(HZstr)
*!* LOCAL PYstr,i,j,C,hz
function MYhzsx(HZstr)
LOCAL PYstr,i,j,C,hz
PYstr=''
IF TYPE("_PYCode_")="U"
PUBLIC _PBSTR_
_PYCode_="ß¹°Ëàê…öŠŠ·¢ê¸îþ¼¥¼¥ßÇÀ¬…ÞÄÃÚ©Å¿Æß…ßØíËûÍÛÍÛÍÛϦѾÔÑ…ø"
ENDIF
FOR i=1 to len(HZstr)
IF ASC(SUBSTR(HZstr,i,1))>160
hz=SUBSTR(HZstr,i,2)
C='Z'
FOR j=1 TO 26
IF SUBSTRC(hz,1,1)<SUBSTRC(_PYCode_,j,1)
C=CHR(95+j)
EXIT
ENDIF
ENDFOR
PYstr=PYstr+upper(C)
i=i+1
ELSE
PYstr=PYstr+upper(SUBSTR(HZstr,i,1))
ENDIF
ENDFOR
RETURN PYstr
ENDPROC