[已解决]如何循环显示26个字母
本帖最后由 temp 于 2011-3-30 04:11 编辑如何循环显示26个字母
如何循环显示26个字母 类似bat中的 for %%i in (a b c d。。) do echo %%i 本帖最后由 netegg 于 2011-3-30 02:52 编辑
for $i = 65 to 90
consolewrite(Chr($i)&@crlf)
next 回复 2# netegg
谢谢你的回复,没看懂,能再说明白点吗?
我的代码
Dim $aArray
$aArray="a"
$aArray="b"
for $i in $aArray
msgbox (0,"",$i)
Next
如果要循环26个字母点话,难道要写26个 $aArray=" 本帖最后由 netegg 于 2011-3-30 03:13 编辑
回复 3# temp
#include<array.au3>
dim $aArray, $string
for $i = 1 to 26
$string&= chr($i+64) & '|'
next
$aArray=stringsplit(stringtrimright($string,1), '|')
for $i = 1 to $aArray
msgbox (0,"",$aArray[$i])
Next
另外如果你是要循环显示的话根本就用不到数组,上面那个里面直接msgbox就行了 回复 4# netegg
谢谢,对我来说还是太高深了,看不懂。
自己看帮助写了个,也达到了逐一循环的效果,麻烦看看对吗?
Dim $var = "abcdefghijklmnopqrstuvwxyz"
while 1
$var = StringTrimLeft ( $var, 1 )
msgbox (0,"",$var)
if $var="z" then exitloop
wend
msgbox (0,"","ok") 本帖最后由 netegg 于 2011-3-30 03:35 编辑
回复 5# temp
你这是一次删一个字符呀
你要这么写的话也行,不过你写的不对
Dim $var = 'abcdefghijklmnopqrstuvwxyz'
Dim $i = 1
While 1
If $i <> 1 Or $i <> 26 Then
$ret = StringTrimLeft(StringLeft($var, $i), $i - 1)
Else
If $i = 1 Then
$ret = StringLeft($var, 1)
Else
$ret = StringRight($var, 1)
MsgBox(0, "", $ret)
exitloop
EndIf
EndIf
MsgBox(0, "", $ret)
$i+=1
WEnd
MsgBox(0, "", "ok")
如果这样的话还不如
Dim $var = 'abcdefghijklmnopqrstuvwxyz'
For $i = 1 To 26
MsgBox(0, "", StringMid($var, $i, 1))
Next 回复 6# netegg
多谢指点,慢慢研究中。。。。。 输出26个大写字母For $i = 65 To 90
MsgBox(0, "", Chr($i))
Next输出26个小写字母For $i = 97 To 122
MsgBox(0, "", Chr($i))
Next
或者:For $i = Asc("A") To Asc("Z")
MsgBox(0, "", chr($i))
Next你喜欢数组也可以
#Include <Array.au3>
$arr = StringSplit("a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z", "|")
_ArrayDisplay($arr)
雷锋精神传天下!谢谢分享!
页:
[1]