basecmds.vca

来自「用WINSOCK做的数据传送程序,分客户端与服务器端,非常实用,与您共享」· VCA 代码 · 共 282 行

VCA
282
字号
SCCTEXT 版本 4.0.0.2
PLATFORM C(8,0),UNIQUEID C(10,0),TIMESTAMP N(10,0),CLASS M(4,0),CLASSLOC M(4,0),BASECLASS M(4,0),OBJNAME M(4,0),PARENT M(4,0),PROPERTIES M(4,0),PROTECTED M(4,0),METHODS M(4,0),OBJCODE M(4,0),OLE M(4,0),OLE2 M(4,0),RESERVED1 M(4,0),RESERVED2 M(4,0),RESERVED3 M(4,0),RESERVED4 M(4,0),RESERVED5 M(4,0),RESERVED6 M(4,0),RESERVED7 M(4,0),RESERVED8 M(4,0),USER M(4,0)
936

[ RECORD]
[PLATFORM] COMMENT 
[UNIQUEID] Class     
[START RESERVED1]
VERSION =   3.00[END RESERVED1]

[ RECORD]
[PLATFORM] WINDOWS 
[UNIQUEID] _S3G1ER7IB
[CLASS] bas_cmdbutton
[CLASSLOC] baseclass.vcx
[BASECLASS] commandbutton
[OBJNAME] cmdedit
[START PROPERTIES]
Caption = "编辑(\<E)"
Name = "cmdedit"
[END PROPERTIES]
[START METHODS]
PROCEDURE Click
*************************************
*程序名:CMDEDIT.CLICK
*作用:编辑记录
*
*                   作者:董志锋
*************************************
oldrec=recno()
count to allrec
if allrec=0
go top
=messagebox("没有记录可供编辑!",16,"系统信息")
else
go oldrec
THISFORM.OPCODE=2
THISFORM.REFRESH()
endif
ENDPROC
[END METHODS]
[START RESERVED1]
Class[END RESERVED1]
[START RESERVED2]
1[END RESERVED2]
[START RESERVED6]
Pixels[END RESERVED6]

[ RECORD]
[PLATFORM] COMMENT 
[UNIQUEID] RESERVED  
[OBJNAME] cmdedit
[START PROPERTIES]
宋体, 1, 9, 7, 14, 10, 13, 2, 2[END PROPERTIES]

[ RECORD]
[PLATFORM] WINDOWS 
[UNIQUEID] _S3G1ETWYF
[CLASS] bas_cmdbutton
[CLASSLOC] baseclass.vcx
[BASECLASS] commandbutton
[OBJNAME] cmdsave
[START PROPERTIES]
Caption = "保存(\<S)"
Name = "cmdsave"
[END PROPERTIES]
[START METHODS]
PROCEDURE Click
*************************************
*程序名:CMDSAVE.CLICK
*作用:保存修改,保存成功返回T,不成功返回F
*
*                   作者:董志锋
*************************************
YN=MESSAGEBOX("保存所做的修改吗?",4+32,"系统信息")
IF YN=6
  OLDREC=RECNO()
  TABLEUPDATE(2,.T.)
  THISFORM.OPCODE=1
  IF OLDREC>0
   GO OLDREC
  ENDIF
  THISFORM.REFRESH()
  RETURN .T.
ENDIF  
RETURN .F.
ENDPROC
[END METHODS]
[START RESERVED1]
Class[END RESERVED1]
[START RESERVED2]
1[END RESERVED2]
[START RESERVED6]
Pixels[END RESERVED6]

[ RECORD]
[PLATFORM] COMMENT 
[UNIQUEID] RESERVED  
[OBJNAME] cmdsave
[START PROPERTIES]
宋体, 1, 9, 7, 14, 10, 13, 2, 2[END PROPERTIES]

[ RECORD]
[PLATFORM] WINDOWS 
[UNIQUEID] _S3G1EVL55
[CLASS] bas_cmdbutton
[CLASSLOC] baseclass.vcx
[BASECLASS] commandbutton
[OBJNAME] cmdcancle
[START PROPERTIES]
Caption = "取消(\<C)"
Name = "cmdcancle"
[END PROPERTIES]
[START METHODS]
PROCEDURE Click
*************************************
*程序名:CMDCANCLE.CLICK
*作用:取消操作,成功时返回T
*
*                   作者:董志锋
*************************************
YN=MESSAGEBOX("您要取消修改吗?",4+32,"系统信息")
IF YN=6
  =TABLEREVERT(.T.)
  GO BOTTOM
  THISFORM.OPCODE=1
  THISFORM.REFRESH()
  return .t.
ENDIF  
return .f.
ENDPROC
[END METHODS]
[START RESERVED1]
Class[END RESERVED1]
[START RESERVED2]
1[END RESERVED2]
[START RESERVED6]
Pixels[END RESERVED6]

[ RECORD]
[PLATFORM] COMMENT 
[UNIQUEID] RESERVED  
[OBJNAME] cmdcancle
[START PROPERTIES]
宋体, 1, 9, 7, 14, 10, 13, 2, 2[END PROPERTIES]

[ RECORD]
[PLATFORM] WINDOWS 
[UNIQUEID] _S3G1EWDBN
[CLASS] bas_cmdbutton
[CLASSLOC] baseclass.vcx
[BASECLASS] commandbutton
[OBJNAME] cmdreturn
[START PROPERTIES]
Cancel = .T.
Caption = "返回(\<R)"
Name = "cmdreturn"
[END PROPERTIES]
[START METHODS]
PROCEDURE checkdata
***********************************************
*CHECKDATA 
*检测数据是否已经修改,或正在添加记录。
*如果正在添加记录返回 1,有修改返回 2,没修改返回 0
*
********************************************董志锋
LOCATE FOR RECNO()<0 
IF FOUND()
 RETURN 1
ENDIF
wait windows "正在检测数据库,请等待....." nowait  noclear at 15,20
GO TOP
LMODI=.F.
DO WHILE .T.    && Begins loop
	IF EOF( )
		EXIT
	ENDIF
	FOR FILNUM=1 TO FCOUNT()
	    CURFNAME=FIELD(FILNUM)
		IF GETFLDSTATE(FILNUM)=2 AND &CURFNAME!=OLDVAL(CURFNAME)
		    THIS.MODIREC=RECNO()
		    THIS.MODIFIELD=FIELD(FILNUM)
		    LMODI=.T.
			EXIT
		ENDIF
	ENDFOR
	IF LMODI
		EXIT
	ENDIF
	Skip
	LOOP
ENDDO      
wait clear     && Ends loop
IF LMODI 
 RETURN 2
ELSE
 RETURN 0
ENDIF  
ENDPROC
PROCEDURE Click
****************************************************************
*程序名: CLICK
*作  用:返回代码,可以检测用户是否有没有保存的修改,并提示给用户
*
*                                 作者:董志锋
*                                 1999/03/18
**************************************************************

OLDRECNO=RECNO()
DATASTATE=THIS.CHECKDATA()
DO CASE
	CASE DATASTATE=0
		RESULT=MESSAGEBOX("您要返回吗?",4+32,"信息窗口")
	CASE DATASTATE=1
		RESULT=MESSAGEBOX("新添加的记录没有保存,保存并退出吗?",3+32,"信息窗口")
		IF RESULT=6
			TABLEUPDATE(2,.T.)
		ELSE
			IF RESULT=7
			    TABLEREVERT(.T.)
				RESULT=6
			ENDIF
		ENDIF
	CASE DATASTATE=2
		RESULT=MESSAGEBOX("记录已修改,保存并返回吗?"+CHR(13)+"记录号:"+STR(THIS.MODIREC)+CHR(13)+"字段名:";
		                    +THIS.MODIFIELD,3+32,"信息窗口")
		IF RESULT=6
			TABLEUPDATE(2,.T.)
		ELSE
			IF RESULT=7
				RESULT=6
			ENDIF
		ENDIF
ENDCASE

IF RESULT=6
	RELEASE THISFORM
	RETURN .t.
ENDIF
if oldrecno>reccount()
go bottom
else
GO OLDRECNO
endif
THISFORM.REFRESH()
return .f.
ENDPROC
PROCEDURE Refresh
IF THISFORM.opcode=2
 THIS.ENABLED=.F.
ELSE
 THIS.ENABLED=.T.
ENDI

ENDPROC
[END METHODS]
[START RESERVED1]
Class[END RESERVED1]
[START RESERVED2]
1[END RESERVED2]
[START RESERVED3]
modirec
modifield
modiold
modicur
*checkdata 
[END RESERVED3]
[START RESERVED6]
Pixels[END RESERVED6]

[ RECORD]
[PLATFORM] COMMENT 
[UNIQUEID] RESERVED  
[OBJNAME] cmdreturn
[START PROPERTIES]
宋体, 1, 9, 7, 14, 10, 13, 2, 2[END PROPERTIES]
[EOF]

⌨️ 快捷键说明

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