实用的一个文本框类,只能输入ip地址
如题。代码如下:

DEFINE CLASS iptextbox as TextBox inputmask="###.###.###.###" PROCEDURE init this.SelStart=0 this.SelLength=3 ENDPROC PROCEDURE keypress LPARAMETERS nKeyCode, nShiftAltCtrl IF nkeycode=32 OR nkeycode=9 OR nkeycode=46 OR nkeycode=13 IF this.selstart>AT(".",this.value,3) IF nkeycode=32 OR nkeycode=46 OR nkeycode=13 NODEFAULT KEYBOARD '{TAB}' ENDIF ELSE NODEFAULT ctext=SUBSTR(this.Value,1,this.selstart) ndot=OCCURS(".",ctext) &&有几个“.” ndot=IIF(ndot=3,3,ndot+1) ndotpos=AT(".",this.value,ndot) this.SelStart=ndotpos this.SelLength=3 ENDIF ENDIF ENDPROC PROCEDURE valid n=ALINES(atemp,this.Value,5,".") IF n#4 SET MESSAGE TO "每个地址在0~255之间,不能为空" RELEASE atemp RETURN .f. ENDIF ENDPROC ENDDEFINE