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

📄 newcmd.zrg

📁 掌机使用Zzbase语言的各种的关于各种电力规约如645
💻 ZRG
字号:
************TP800系列掌上机新增语句演示************

Define Database A
	姓名: C, 8
	性别: C, 2
	年龄: N, 3
	生日: C, 8
	地址: C, 10
Enddef

Define Var
	cMainMenu: C, 18[5]={"1. 添加空记录","2. 设置数据库缓冲","3. 快速条件定位","4. 调用其它MIF程序","5. 红外延时设置"}
	cMenuHelp: C, 80[5]={"  向数据库的尾部添加一条空记录,并把当前记录指针定位在该空记录上!",
	                     "  设置数据库文件的打开是否带有缓冲,默认设置为有缓冲方式!",
	                     "  在数据库中寻找规定范围内满足条件的第一条记录!",
	                     "  在当前Zzdbase程序中调用其它的MIF程序!",
	                     "  设置红外发送时字节间的时间间隔,默认值为10毫秒!"}
	nMenuChoice: N, 1
	nSubChoice:  N, 1
	sval : C , 64
	choice:C ,1
	cKey: C, 1
Enddef

Procedure TestAppend
	Clear
	@0,0 Say "   --Append语句--   "
	Select A
	@2,0 Say "当前记录号:"+Str(Recno(),5)
	@3,0 Say "当前记录数:"+Str(Reccount(),5)
	@5,0 Say "确认键添加,其它返回"
	Wait "" To cKey
	If Asc(cKey)<>13
		Return
	Endif
	
	Clear 2
	Append Blank
	@2,0 Say "姓名: " Get 姓名
	@3,0 Say "性别: " Get 性别
	@4,0 Say "年龄: " Get 年龄
	@5,0 Say "生日: " Get 生日
	@6,0 Say "地址: " Get 地址
	Read
		
	Clear 2
	@2,0 Say "当前记录号:"+Str(Recno(),5)
	@3,0 Say "当前记录数:"+Str(Reccount(),5)
	@4,0 Say "当前记录内容如下:"
	@5,0 Say "姓名: "+姓名
	@6,0 Say "性别: "+性别
	@7,0 Say "年龄: "+Str(年龄,3)
	@8,0 Say "生日: "+生日
	@9,0 Say "地址: "+地址
	Wait ""
	Return
Endpro

Procedure TestDbfbuf
	Clear
	nSubChoice=0
	@0,0 say " --Set Dbfbuf语句-- "
	@2,4 Prompt "1. 打开缓冲" Message "  以有缓冲方式打开数据库文件。"
	@3,4 Prompt "2. 关闭缓冲" Message "  以无缓冲方式打开数据库文件。"
	Menu to nSubChoice
	
        Do Case
        Case nSubChoice=1
		   Set Dbfbuf On
        Case nSubChoice=2
		   Set Dbfbuf Off
        Endcase
    
        @5,5 Say "设置成功!"
        @6,3 Say "任意键返回..."
        Wait""           
	Return
Endpro

Procedure TestShell
    sval="\\新增函数\\newfunc.mif"       &&此mif文件用户可根据具体路径输入
        
    clear
    @0,0 Say "  --SHELL语句测试--  "
    @2,0 Say "mif文件为:"
    @3,3 Say sval
    If len(trim(sval))<>0
        clear 9
        @8,3 say "按任意键继续..."
        Wait ""
        Shell sval
    Else
        Clear 9
        @8,3 Say "空文件名!"
        Wait ""
   Endif
   Return
Endpro

Procedure TestQlocate
    Clear
	@0,0 Say "  --Qlocate语句--  "
	@3,0 Say "下面快速查找姓名为王春涛的记录"
	@7,0 Say "按任意键开始..."
	Wait ""
	Select A
	Qlocate All For 姓名 With "王春涛" 
    Do While .not. Eof()
        Clear
        @0,0 Say "当前记录号:"+Str(Recno(),5)
	    @2,0 Say "当前记录内容如下:"
	    @3,0 Say "姓名: "+姓名
	    @4,0 Say "性别: "+性别
	    @5,0 Say "年龄: "+Str(年龄,3)
	    @6,0 Say "生日: "+生日
	    @7,0 Say "地址: "+地址
        Wait ""
        Continue
    Enddo
    Return
Endpro
            
Procedure TestIrdelay Clear 
	@0,0 Say " --Set Irdelay To--"
	@2,0 Say "建议用户不要随意进行红外延时设置,以免不能和电表进行正常的红外通信!"
    Set Irdelay To 10
    @6,0 Say "设置成默认值成功!"
    @8,3 Say "任意键返回..."
    Wait""           
    Return
Endpro

Start
	nMenuChoice=0
	Do While .T.
		Clear
		Set Mode To 1
		@0,0 Say "  --新增语句演示--  "
		@2,1 Menu cMainMenu, 5, 5
		@2,1 Menu cMenuHelp, 5
		Read Menu To nMenuChoice
		
		Do Case
		Case nMenuChoice=1
			Do TestAppend
		Case nMenuChoice=2
			Do TestDbfbuf
		Case nMenuChoice=3
		        Do TestQlocate
		Case nMenuChoice=4
		        Do TestShell
		Case nMenuChoice=5
		        Do TestIrdelay
		Otherwise
			Exit
		Endcase
	Enddo
Endstart

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -