📄 newfunc.zrg
字号:
************TP800系列掌上机新增函数演示************
define var
cMainMenu : C, 20[11]={"1. BITOP()","2. CRCSUM()","3. MESSAGEBOX()","4. READSYSVAR()","5. WRITESYSVAR()",
"6. DELETESYSVAR()","7. GETSYSINFO()","8. GETBATTERY()","9. SETBAR()","10. READBAR()","11. BAR()"}
a:n,6
b:n,6
c:n,1
menuchoice:n,2
choice:c,1
sysvar:c,32
ret:n,1
result:n,1
result1:n,6
buf:c,1[6]
sysinfo:c,20
battstat:n,1
barval:c,100
enddef
procedure crcsumfunc
clear
@0,0 say " --CRCSUM()函数-- "
@2,0 say "请输入两个整数:"
@3,0 say "A:" get a
@4,0 say "B:" get b
read
@5,0 say "您输入的是:"
@6,0 say "a:"+str(a,6)
@7,0 say "b:"+str(b,6)
@8,0 say "任意键继续..."
wait ""
if b<>0
result=messagebox("此函数B值必须为0!",0,"提 示")
else
buf{1,6}=str(a,6)
result1=crcsum(buf{1,6},0)
result=messagebox("返回值:"+str(result1,6)+"!",0,"成 功")
endif
return
endpro
procedure bitopfunc
clear
@0,0 say " --BITTOP()函数-- "
@2,0 say "请输入两个整数:"
@3,0 say "A:" get a
@4,0 say "B:" get b
read
@5,0 say "您输入的是:"
@6,0 say "a:"+str(a,6)
@7,0 say "b:"+str(b,6)
@8,0 say "任意键继续..."
wait ""
clear 2
@2,0 say "请选择操作类型:"
@3,0 say "0-与"
@3,9 say "1-或"
@4,0 say "2-取反"
@4,9 say "3-异或"
@5,0 say "4-左移"
@5,9 say "5-右移"
@7,0 say "输入(0-5):" get c
read
choice=str(c,1)
if asc(choice)>=48 .and. asc(choice)<=53
result1=bitop(a,b,c)
result=messagebox("返回值:"+str(result1,6)+"!",0,"成 功")
else
result=messagebox("输入错误!",0,"失 败")
endif
return
endpro
procedure msgboxfunc
clear
@0,0 say "--MESSAGEBOX()函数--"
@2,0 say "选择对话框类型:"
@3,0 say "0.确定"
@4,0 say "1.确定、取消"
@5,0 say "2.放弃、重试、忽略"
@6,0 say "3.是、否、取消"
@7,0 say "4.是、否"
@8,0 say "5.重试、取消"
wait "" to choice
do case
case asc(choice)=48
result=messagebox("对话框函数测试!",0,"标题0")
case asc(choice)=49
result=messagebox("对话框函数测试!",1,"标题1")
case asc(choice)=50
result=messagebox("对话框函数测试!",2,"标题2")
case asc(choice)=51
result=messagebox("对话框函数测试!",3,"标题3")
case asc(choice)=52
result=messagebox("对话框函数测试!",4,"标题4")
case asc(choice)=53
result=messagebox("对话框函数测试!",5,"标题5")
endcase
clear 9
do case
case str(result,1)="1"
@9,0 say "您选择的是\x22确定\x22!"
case str(result,1)="2"
@9,0 say "您选择的是\x22取消\x22!"
case str(result,1)="3"
@9,0 say "您选择的是\x22放弃\x22!"
case str(result,1)="4"
@9,0 say "您选择的是\x22重试\x22!"
case str(result,1)="5"
@9,0 say "您选择的是\x22忽略\x22!"
case str(result,1)="6"
@9,0 say "您选择的是\x22是\x22!"
case str(result,1)="7"
@9,0 say "您选择的是\x22否\x22!"
endcase
wait""
return
endpro
procedure readsysvarfunc
clear
@0,0 say "-READSYSINFO()函数-"
@2,0 say "请输入索引号(48-250)#: "
@3,0 say "Index:" get a
read
@4,0 say "您输入的索引号是:"
@5,0 say "Index:"+str(a,3)
@8,0 say "任意键继续..."
wait ""
clear
if a<48 .or. a>250
result=messagebox("Index值无效!",0,"提 示")
else
sysvar = readsysvar(a)
if(len(trim(sysvar)))=0
result=messagebox(str(a,3)+"#变量为空",0,"成 功")
else
result=messagebox(str(a,3)+"#变量为:"+sysvar,0,"成 功")
endif
endif
return
endpro
procedure writesysvarfunc
clear
@0,0 say "-WRITESYSINFO()函数-"
@2,0 say "请输入索引号(48-250)#: "
@3,0 say "Index:" get a
@4,0 say "输入变量:"
@5,0 say "Sysvar:" get sysvar
read
@8,0 say "任意键继续..."
wait ""
clear
ret=writesysvar(a,sysvar)
do case
case ret=0
result=messagebox(" 该系统变量已被使用",0,"失 败")
case ret=1
result=messagebox(" 新增一个系统变量!",0,"成 功")
case ret=-1
result=messagebox(" 变量索引号无效!",0,"失 败")
case ret=-2
result=messagebox(" 写系统变量失败!",0,"失 败")
endcase
return
endpro
procedure deletesysvarfunc
clear
@0,0 say "-DELETESYSINFO()函数-"
@2,0 say "请输入索引号(48-250)#: "
@3,0 say "Index:" get a
read
@4,0 say "您输入的索引号是:"
@5,0 say "Index:"+str(a,3)
@8,0 say "任意键继续..."
wait ""
clear
ret=deletesysvar(a)
do case
case ret=0
result=messagebox(" 变量索引号无效!",0,"失 败")
case ret=1
result=messagebox(" 已删除该变量!",0,"成 功")
endcase
return
endpro
procedure getsysinfofunc
clear
@0,0 say "--GETSYSINFO()函数--"
sysinfo=getsysinfo(1)
@2,0 say "机器型号: "+sysinfo
sysinfo=getsysinfo(2)
@3,0 say "出厂日期: "+sysinfo
sysinfo=getsysinfo(3)
@4,0 say "机器序号: "+sysinfo
sysinfo=getsysinfo(4)
@5,0 say "软件版本: "+sysinfo
@7,0 say "硬件版本: "+getsysinfo(5)
@8,0 say "FLASH容量: "+getsysinfo(6)
@9,0 say "RAM容量: "+getsysinfo(7)
wait ""
return
endpro
procedure getbatteryfunc
clear
@0,0 say "--GETBATTERY()函数--"
@2,0 say "电池状态:"
battstat=getbattery()
do case
case battstat=3
@3,4 say "电压正常,电力充足,请放心使用!"
case battstat=2
@3,4 say "电压正常,可正常使用,请注意观察电压变化!"
case battstat=2
@3,4 say "电压偏低,请及时充电!"
endcase
wait ""
return
endpro
procedure setbarfunc
clear
@0,0 say "--SETBAR()函数--"
@8,0 say "此函数仅对TP800C有效"
@2,0 say "选择设置模式"
@3,0 say "1. 默认设置模式"
@4,0 say "2. 完全识别模式"
@5,0 say "3. 自定义模式"
@6,0 say ""
wait "" to choice
clear
do case
case choice="1"
ret=setbar(0)
if ret=1
result=messagebox(" 设置成默认模式!",0,"成 功")
else
result=messagebox(" 设置无效!",0,"失 败")
endif
case choice="2"
ret=setbar(65535)
if ret=1
result=messagebox("设置成完全识别模式!",0,"成 功")
else
result=messagebox(" 设置无效!",0,"失 败")
endif
case choice="3"
clear
a=0
@1,0 say "请输入设置参数值:"
@2,0 get a
read
@7,0 say "按任意键继续..."
wait ""
ret=setbar(a)
if ret=1
result=messagebox("设置成自定义模式!",0,"成 功")
else
result=messagebox(" 设置无效!",0,"失 败")
endif
endcase
return
endpro
procedure readbarfunc
clear
@0,0 say "--READBAR()函数--"
@8,0 say "此函数仅对TP800C有效"
@2,4 say "扫描测试"
@3,0 say "按任意键开始..."
wait ""
barval=readbar()
if len(trim(barval))=0
result=messagebox(" 扫描错误!",0,"失 败")
else
result=messagebox("扫描数据:"+trim(barval),0,"成 功")
endif
return
endpro
procedure barfunc
clear
@0,0 say " --BAR()函数-- "
@8,0 say "此函数仅对TP800C有效"
@2,0 say "请输入设置参数值:"
@3,0 get a
read
@5,0 say "按任意键开始..."
wait ""
barval=bar(a)
if len(trim(barval))=0
result=messagebox(" 扫描错误!",0,"失 败")
else
result=messagebox("扫描数据:"+trim(barval),0,"成 功")
endif
return
endpro
start
menuchoice=0
do while .t.
clear
set mode to 1
@0,0 say " --新增函数演示-- "
@1,1 menu cMainMenu,11,9
read menu to menuchoice
do case
case menuchoice=1
do bitopfunc
case menuchoice=2
do crcsumfunc
case menuchoice=3
do msgboxfunc
case menuchoice=4
do readsysvarfunc
case menuchoice=5
do writesysvarfunc
case menuchoice=6
do deletesysvarfunc
case menuchoice=7
do getsysinfofunc
case menuchoice=8
do getbatteryfunc
case menuchoice=9
do setbarfunc
case menuchoice=10
do readbarfunc
case menuchoice=11
do barfunc
otherwise
exit
endcase
enddo
endstart
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -