VFP编辑框自动更正词组

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  具体实现的程序

  下面以一个简单的例子,介绍这种更正功能在程序中的具体实现方法:

  新建一个表单,将数据表ABC加入该表单的数据环境中,然后在这个表单中放置一个文本编辑框EDIT1,调整这个编辑框到合适的位置,在这个编辑框中的数据源可以是一个数据表中的备注字段名称,也可以是一个变量,用户可以在这个编辑框中输入一些的文字内容,然后在这个编辑框EDIT1中的KEYPRESS事件中输入如下程序代码:

GBWZ=THISFORM.EDIT1.SELSTART&&取当前光标所在位置
IF GBWZ>4 &&
 THISFORM.LockScreen = .T.
 CXNR1=SUBS (THISFORM.EDIT1.VALUE, GBWZ-7,8)
 CXNR2=SUBS (THISFORM.EDIT1.VALUE, GBWZ-9, 10)
 CXNR3=SUBS (THISFORM.EDIT1.VALUE, GBWZ-11, 12)
 CXNR4=SUBS (THISFORM.EDIT1.VALUE, GBWZ-13, 14)
 CXNR5=SUBS (THISFORM.EDIT1.VALUE, GBWZ-15, 16)
 CXNR6=SUBS (THISFORM.EDIT1.VALUE, GBWZ-17, 18)
 CXNR7=SUBS (THISFORM.EDIT1.VALUE, GBWZ-19, 20)
 CXNR8=SUBS (THISFORM.EDIT1.VALUE, GBWZ-21, 22)
 &&以上程序代表取当前光标前4-11个汉字为到不同的变量中,因为生成的数据表中的正误资料字数从4个到11个,所以要分别进行比较。
 SELE ABC
  LOCA FOR ALLT (CXNR1)= =ALLT (NR1) OR ALLT (CXNR2)= =ALLT (NR1) OR; ALLT (CXNR3)= =ALLT (NR1) OR ALLT (CXNR4)= =ALLT (NR1) OR;
  ALLT (CXNR5)= =ALLT (NR1) OR ALLT (CXNR6)= =ALLT (NR1) OR;
  ALLT (CXNR7)= =ALLT (NR1) OR ALLT (CXNR8)= =ALLT (NR1)
  &&在正误对照数据库进行查找
  IF FOUND()&&如果找到了就执行替换操作
   ZDZ=LEN (ALLT (NR1))
   THISFORM.EDIT1.VALUE=SUBS (THISFORM.EDIT1.VALUE, 1,GBWZ-ZDZ)+;
    ALLT(ABC.NR2)+SUBS(THISFORM.EDIT1.VALUE,GBWZ+1)&&接上一行
   THISFORM.EDIT1.REFRESH
   THISFORM.EDIT1.SELSTART=GBWZ
  ELSE
   THISFORM.EDIT1.SELSTART=GBWZ
  ENDIF
 THISFORM.LockScreen = .F.
ENDIF

  全部内容设置输入完毕后,运行这个表单,并在表单中的编辑框中输入文本信息,当用户输入一个错误词组资料时,编辑框中的内容将会被自动更正为正确的词组资料,使用方法同Word中的使用方法相同,这样就我们就实现了在编辑框中输入的汉字自动更正功能。当然在系统中还可以增加对更正数据的修改、添加等操作,这样系统功能使用起来会更加方便。

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答