📄 hz.prg
字号:
*当前为被转换库
PARA XM &&转换字段
SET TALK OFF
m.ScrFontWidth = 0
m.ScrFontHeight = 0
m.WinFontWidth = 0
m.WinFontHeight = 0
m.ObjFontWidth = 0
m.ObjFontHeight = 0
REPL ALL 拼音码 WITH ""
GO TOP
*** 计算屏幕窗口字体宽度和高度
DO GetWFontWH IN DISP.PRG WITH 'SCREEN', m.ScrFontWidth, m.ScrFontHeight
IF WEXIST('BA_HZ') AND WTITLE('BA_HZ') == '拼音代码修正'
RELEASE WINDOW BA_HZ
ENDIF
DEFINE WINDOW BA_HZ IN SCREEN ;
FROM 96 / m.ScrFontHeight, 180 / m.ScrFontWidth TO 197 / m.ScrFontHeight, 488 / m.ScrFontWidth ;
TITLE '拼音代码修正' ;
FONT 'System', 12 ;
STYLE 'B' ;
FLOAT NOCLOSE NOMINIMIZE SYSTEM GROW ;
COLOR RGB(, , , 192, 192, 192)
HDBF=SELE()
RECN=RECNO()
SELE 0
USE HZ
SELE (HDBF)
WAIT "正在替换拼音代码..." WINDOWS NOWAIT
DO WHILE .NOT.EOF()
* @ 0,2 SAY STR(RECNO())
E=LEN(TRIM(&XM))
IF E=0.OR.LEN(TRIM(拼音码))<>0
SKIP
LOOP
ENDIF
T=""
W=""
P=1
DO WHILE .T.
IF P<=E
M1=SUBSTR(&XM,P,1)
N1=ASC(M1)
P=P+1
ELSE
EXIT
ENDIF
DO CASE
CASE N1>=176.AND.N1<=247
IF P<=E
M=SUBSTR(&XM,P,1)
N2=ASC(M)
P=P+1
ELSE
W=W+M1
EXIT
ENDIF
IF N2>=161.AND.N2<=254
G=94*(N1-176)+N2-160
SELE HZ
GO G
IF LEN(TRIM(拼音码))=0
RELE WINDOW SHOWMSG
ACTIVATE WINDOW BA_HZ
MOVE WINDOW BA_HZ CENTER
DO DrawWinBorder IN DISP.PRG &&画3D边框
PY=" "
* ?? CHR(7)
*** 计算窗口BA_HZ字体宽度和高度
DO GetWFontWH IN DISP.PRG WITH 'BA_HZ', m.WinFontWidth, m.WinFontHeight
@ 19 / m.WinFontHeight, 11 / m.WinFontWidth SAY LOCFILE('STOP.BMP', 'BMP|ICO', '图象文件?') BITMAP ;
STYLE 'T' ;
SIZE 34 / m.WinFontHeight, 35 / m.WinFontWidth
DO Draw3DText IN DISP.PRG WITH 28 / m.WinFontHeight, 58 / m.WinFontWidth, " ", 'System', 12, 'B', 0, 0, 0, 255, 255, 255, 1
DO Draw3DText IN DISP.PRG WITH 28 / m.WinFontHeight, 58 / m.WinFontWidth, "请输入“"+CHR(N1)+CHR(N2)+"”的拼音首字母", 'System', 12, 'TB', 0, 0, 0, 255, 255, 255, 1
DO Draw3DPanel IN DISP.PRG WITH 27 / m.WinFontHeight, 257 / m.WinFontWidth, 46 / m.WinFontHeight, 289 / m.WinFontWidth, 0, 1, 192, 192, 192, 0, .F.
*** 计算对象字体宽度和高度
DO GetFontWH IN DISP.PRG WITH 'System', 12, 'B', m.ObjFontWidth, m.ObjFontHeight
@ 29 / m.WinFontHeight, 260 / m.WinFontWidth GET PY ;
PICTURE '@KBT' ;
FONT 'System', 12 ;
STYLE 'B' ;
SIZE 16 / m.ObjFontHeight, 25 / m.ObjFontWidth ;
COLOR ,RGB(0, 0, 0, 255, 255, 255)
* @ 2,3 SAY "请输入“"+CHR(N1)+CHR(N2)+"”的拼音首字母" GET PY
READ
DEACTIVATE WINDOW BA_HZ
IF LEN(TRIM(PY))=0
SELE HZ
USE
DEACTIVATE WINDOW BA_HZ
RETURN
ENDIF
REPL NEXT 1 拼音码 WITH PY
ENDIF
W=W+T+TRIM(拼音码)
T=""
SELE (HDBF)
LOOP
ENDIF
W=W+M1+M
CASE N1>=161.AND.N1<=175
IF P<=E
M=SUBSTR(&XM,P,1)
N1=ASC(M)
P=P+1
ELSE
W=W+M1
EXIT
ENDIF
W=W+M1+M
OTHE
W=W+M1
ENDCASE
IF N1>=48.AND.N1<=57
T=""
ENDIF
ENDDO
REPL NEXT 1 拼音码 WITH W
SKIP
ENDDO
DEACTIVATE WINDOW BA_HZ
DEACTIVATE WINDOW SHOWMSG
=MESSAGEBOX("拼音代码修改替换完毕!",0+64,"提示信息")
SELE HZ
USE
SELE (HDBF)
GO RECN
RETURN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -