⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hz.prg

📁 包括了6个VFP程序设计实例
💻 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 + -