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

📄 newfunc.zrg

📁 掌机使用Zzbase语言的各种的关于各种电力规约如645
💻 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 + -