VFP求解~click事件代码
1.逆序显示
2.输出数字字符串
3.统计大写字符、小写字符、数字字符和其它字符的个数
4.输出新字符串,新字符串中的字符是将原来字符串的大写字符转换成小写字符,小写字符转换成大写字符,数字字符转换成“0”,其它字符转换成“#”后输出 展开
本来可以打包附件,但我用 VFP9,你可能无法打开......还是老土方法吧。
表单:
&& Command1 的 Click() 代码:
LOCAL i, n, cChr, c1, c2, c3, c4, c5, n大写, n小写, n数字
c1 = ALLTRIM(thisform.text1.Value)
STORE "" TO c2, c3, c4, c5
STORE 0 TO n大写, n小写, n数字, q其他
n = LEN(c1)
FOR i = 1 TO n
&& 1.逆序显示
c2 = C2 + SUBSTR(c1, n-i+1,1)
cChr = SUBSTR(c1, i,1)
&& 2.输出数字字符串
c3 = c3 + STR(ASC(cChr), 4)
&& 3.统计大写字符、小写字符、数字字符和其它字符的个数
IF ISDIGIT(cChr)
n数字 = n数字 + 1
ELSE
IF ISALPHA(cChr)
IF ISUPPER(cChr)
n大写 = n大写 + 1
ELSE
n小写 = n小写 + 1
ENDIF
ENDIF
ENDIF
c4 = "大写:" + STR(n大写,3) + " 小写:" + STR(n小写,3) + " 数字:" + STR(n数字,3) + " 其它:" + STR(n-n大写-n小写-n数字,3)
&& 4..输出新字符串,新字符串中的字符是将原来字符串的
&& 大写字符转换成小写字符,小写字符转换成大写字符,
&& 数字字符转换成“0”,其它字符转换成“#”后输出
DO CASE
CASE ISDIGIT(cChr)
c5 = c5 + "0"
CASE ISALPHA(cChr)
IF ISUPPER(cChr)
c5 = c5 + LOWER(cChr)
ELSE
c5 = c5 + UPPER(cChr)
ENDIF
OTHERWISE
c5 = c5 + "#"
ENDCASE
ENDFOR
thisform.text2.Value = c2
thisform.text3.Value = c3
thisform.text4.Value = c4
thisform.text5.Value = c5
结果: