📄 bm.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: BM.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PARAMETER CHARS , BM
PRIVATE SA , I , CS , CL , CP , RS , CHAR1 , CHAR2 , HZ , BM
IF PARAMETERS() < 2
BM = 'py'
ENDIF
SA = SELECT()
IF .NOT. USED('py')
USE IN 0 py
ENDIF
SELECT PY
RS = SPACE(0)
CS = ALLTRIM(M.CHARS)
CL = LEN(M.CS)
IF M.CL = 0
RS = SPACE(1)
ELSE
FOR M.I = 1 TO M.CL
CHAR1 = SUBSTR(M.CS,I,1)
CHAR2 = IIF(M.I >= M.CL,'',SUBSTR(M.CS,I + 1,1))
DO CASE
CASE M.CHAR1 = SPACE(1)
CASE ASC(M.CHAR1) > 128 AND ASC(M.CHAR2) < 128
CASE ASC(M.CHAR1) < 128
rs=m.rs+iif(seek(m.char1,'py','han'),left(ltrim(&bm),1),m.char1)
CASE ASC(M.CHAR1) > 128 AND ASC(M.CHAR2) > 128
HZ = CHAR1 + CHAR2
IF SEEK(M.HZ,'py','han')
rs=m.rs+left(allt(&bm),1)
ELSE
? CHR(7)
ENDIF
I = I + 1
ENDCASE
ENDFOR
ENDIF
IF VAL(M.RS) > 0
DO WHILE UPPER(M.BM) <> 'JM' AND VAL(M.RS) > 0
RS = SUBSTR(M.RS,2)
ENDDO
ELSE
DO WHILE LOWER(M.BM) = 'jm' AND VAL(M.RS) <= 0 AND LEN(M.RS) > 0
RS = SUBSTR(M.RS,2)
ENDDO
ENDIF
SELECT (M.SA)
RETURN LOWER(M.RS)
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -