想问一下大佬,像for循环中,是不是取字符取完以后就自动结束了
vb吧
全部回复
仅看楼主
level 4
7905
楼主
想问一下大佬,像for循环中,是不是取字符取完以后就自动结束循环,不会再管文本的长度啊?
for i=1 to len(text1.text)
t=mid(text1.text,j,3)
j=j
+3
2022年04月17日 08点04分
1
level 15
初音✨七奈
你为什么会有这种想法?
2022年04月17日 08点04分
2
7905
就是不太懂啊
2022年04月17日 15点04分
7905
2022年04月17日 15点04分
level 11
璐村惂鐢ㄦ埛_0748V5Z馃惥
第一,for……next必须匹配
第二,满足当循环变量to后面的条件后,结束
2022年04月18日 00点04分
3
7905
好的,谢谢!
2022年04月18日 02点04分
level 15
初音✨七奈
For循环的次数通常来说只取决于For语句本身,比如有下列语句:
For i = 1 To Len(Text1.Text)
Next i
这个循环的次数就是Text1.Text的字符数,不管你在循环里怎么取Text1.Text的字符,都必须要循环到这个次数才能结束
当然也有例外的情况:
1.循环中使用了Exit For语句,这时可以提前结束循环
2.循环中有改变循环变量的语句,比如额外写了i=i+1,会导致循环次数减少(不推荐这种写法)
2022年04月18日 01点04分
4
初音✨七奈
@-
这里说的结束循环特指转到Next语句之后的语句继续执行,其他的Exit语句都是转到其他位置或者暂时结束了代码执行
2022年04月18日 01点04分
初音✨七奈
@-
不过你说的也对,这些情况也可以从循环跳出
2022年04月18日 01点04分
初音✨七奈
@7905
你这是直接改了For语句,当然就会改变循环次数了
2022年04月18日 01点04分
初音✨七奈
@7905
k没有赋值时,它的值是初始值0;Asc返回的是数值,Asc(t)+k计算的结果也是数值,CStr把这个数值转换成字符串;改变k的值,就可以改变计算结果
2022年04月18日 02点04分
吧务
level 13
Luosen56
建议改成:
2022年04月18日 02点04分
5
吧务
level 13
Luosen56
On Error Resume Next
n = Len(Text1.Text)
For i=1 to n Step 3
t=Mid(text1.text,1,3)
Next
2022年04月18日 02点04分
6
7905
好,谢谢!
2022年04月18日 03点04分
Luosen56
t=Mid(text1.text,1,3) 改成【t=Mid(text1.text,i,3)】
2022年04月19日 04点04分
1