在线求一段代码

时间:2022-10-13 19:56:29
哪个高手能写一个表单中下一条记录和上一条记录两个按钮的完整代码,包括指针的检测,按钮的失效。记得在vf中有系统写好的代码,可是在哪里能找到呢??哪个文件是呢??

8 个解决方案

#1


参考向导生成的表单,代码在:
在vfp安装目录下wizards下的wizbtns.vcx中txtbtns

#2


上一条:

skip -1
this.enabled=recn()>1


下一条:

skip
this.enabled=recn()<recc()

#3


上一条
if not BOF()
   skip-1
endif
if BOF()
   this.enabled=.F.
endif

下一条
if not eof()
    skip
endif 
if eof()
    this.enabled=.F.
endif

#4


在vizstyle.vcx类库中查看txtbtns类,有完整的代码.

#5


dfwxj(清风) 写的比较简洁

#6


补充:

我上面写的代码需要进行初始化,要不然可能会出错

初始化代码:

thisform.cmdpre.enabled=.f.  &&刚打开表时记录指针肯定在第一条或表首,此时不需要操作上一条
thisform.cmdnext.enabled=recc()>1  &&只有超过一条记录时才有操作下一条的必要

#7


就这么简单

#8


实现在一个表单中FROM的KEYPREE属性代码(比如是键盘的PAGE UP 及 PAGE DOWN键)
LPARAMETERS nKeyCode, nShiftAltCtrl
do case
case nKeyCode = 18
skip -1
if bof()
   go top
   wait '第一个记录' window nowait
*    messagebox("这已经是第一条记录!",48,"系统警告提示")
   
else
   wait '第'+alltrim(str(recno()))+'个记录' window nowait
endif
        thisform.refresh
case nKeyCode = 3
skip 
if eof()
   go bottom
   wait '最后记录' window nowait
*    messagebox("这已经是最后一条记录了!",48,"系统警告提示")
else
   wait '第'+alltrim(str(recno()))+'个记录' window nowait
endif
thisform.refresh
         
endcase

#1


参考向导生成的表单,代码在:
在vfp安装目录下wizards下的wizbtns.vcx中txtbtns

#2


上一条:

skip -1
this.enabled=recn()>1


下一条:

skip
this.enabled=recn()<recc()

#3


上一条
if not BOF()
   skip-1
endif
if BOF()
   this.enabled=.F.
endif

下一条
if not eof()
    skip
endif 
if eof()
    this.enabled=.F.
endif

#4


在vizstyle.vcx类库中查看txtbtns类,有完整的代码.

#5


dfwxj(清风) 写的比较简洁

#6


补充:

我上面写的代码需要进行初始化,要不然可能会出错

初始化代码:

thisform.cmdpre.enabled=.f.  &&刚打开表时记录指针肯定在第一条或表首,此时不需要操作上一条
thisform.cmdnext.enabled=recc()>1  &&只有超过一条记录时才有操作下一条的必要

#7


就这么简单

#8


实现在一个表单中FROM的KEYPREE属性代码(比如是键盘的PAGE UP 及 PAGE DOWN键)
LPARAMETERS nKeyCode, nShiftAltCtrl
do case
case nKeyCode = 18
skip -1
if bof()
   go top
   wait '第一个记录' window nowait
*    messagebox("这已经是第一条记录!",48,"系统警告提示")
   
else
   wait '第'+alltrim(str(recno()))+'个记录' window nowait
endif
        thisform.refresh
case nKeyCode = 3
skip 
if eof()
   go bottom
   wait '最后记录' window nowait
*    messagebox("这已经是最后一条记录了!",48,"系统警告提示")
else
   wait '第'+alltrim(str(recno()))+'个记录' window nowait
endif
thisform.refresh
         
endcase