UCDOS 5.0的模拟输入功能应用一例

Author: 淅江 盛凯 Date: 1996-11-08

        在FOXBASE 2.1+中调用模拟输入功能的命令格式为:
        @0,0 SAY CHR(14)+'[K-N]'。
        其中,N为功能键的ASCII码值。以下是几个常用而重要的功能。
        1.N=102:这是一个开关键,其作用是在中文全角、半角状态间进行切换,相当于CTRL+F9。
        2.N=105:调用智能全拼输入法,相当于ALT+F2。
        3.N=106:调用智能双拼输入法,相当于ALT+F3。
        4.N=108:调用五笔字型输入法,相当于ALT+F5。
        5.N=109:进入西文输入状态,相当于ALT+F6。
        比如,在数据输入时,需要在中文全拼方式下输入货款人的姓名,再在西文输入状态下输入货款人的身份证号,那么只要执行下面一组命令就可以了:XM='   'SFZH='   '@6,10 SAY '姓名' GET XM@0,0 SAY CHR(14)+'[K-102]'进入中文全角状态@0,0 SAY CHR(14)+'[K-105]'选择智能全拼方式READ@8,10 SAY '身份证号'GET SFZH@0,0 SAY CHR(14)+'[K-102]'退出中文全角状态@0,0 SAY CHR(14)+'[K-109]'切换到西文方式READ……以上的ASCII码值都是笔者通过试验一一得出的。在UCDOS 5.0中,所有的按键和组合键都有一个ASCII值,读者可以自己去查找模拟输入其它的ASCII码值。笔者在UCDOS 3.1上也试验过,发现模拟输入同样有效,只不过UCDOS 5.0和3.1的功能不同,模拟输入的ASCII码值有所不同罢了。有时,会出现一些意外:在程序执行到一些模拟输入命令时,会象执行WAIT命令一样暂停程序运行,等待输入。此时必须按一个任意键,程序才能继续运行。为了解决这一问题,可以在每次执行完模拟输入命令后,再执行一个模拟任意键的命令,只需将其ASCII码值改为任意键的码值(如空格键的ASCII码值为32)即可。