基础太差了,请指点问题出在哪里【已解决】
本帖最后由 fenhanxue 于 2015-6-4 10:43 编辑下面代码,运行后,为什么$a只有一个字符,而不是十个字符?Local $a
For $i = 1 To 10
$a &= _ceshi()
Next
MsgBox(0,'',$a)
Func _ceshi()
$rand=Random(19968,40911,1)
Return BinaryToString ($rand,2)
EndFunc
已解决 本帖最后由 ila 于 2015-5-30 23:22 编辑
{:face (349):}Dim $path="1.txt", $a,$i
$open=FileOpen($path,10)
For $i = 1 To 10
$a[$i]=_ceshi()
FileWrite($open,$a[$i])
Next
FileClose($open)
ShellExecute("notepad.exe",$path)
Func _ceshi()
$rand=Random(19968,40911,1)
Return BinaryToString ($rand,2)
EndFunc 本帖最后由 樱花雪月 于 2015-6-1 17:41 编辑
学习学习再学习 LZ第13行BinaryToString() 这种方式生成的有些字符串是MsgBox()无法正常显示的,但可以写入到记事本中查看,第9行改为FileWrite('xx.x', $a)即可
不过,更怀疑LZ本身使用BinaryToString()就是个问题,改为ChrW()试试 BinaryToString()转换的时候不是标准的二进制格式在后面自动加上一个类似回车或换行的符号,单行文本是看不全的。取ASCII字符用ChrW()较好。若是非得用BinaryToString()的话去掉最右一个字符就可以了。
Local $a
For $i = 1 To 10
$a &= _ceshi()
Next
MsgBox(0,'',$a)
Func _ceshi()
$rand=Random(19968,40911,1)
Return StringTrimRight(BinaryToString ($rand,2),1)
EndFunc 这都是什么字啊{:face (114):} 表示不懂。。。。。。。。。。。。。。 Local $a
For $i = 1 To 10
$a &= _ceshi()
Next
MsgBox(0, 0 ,$a)
Func _ceshi()
Return StringStripCR( _
BinaryToString( _
Random(19968,40911,1), 2))
EndFunc
页:
[1]