haebong87
发表于 2011-7-13 17:04:58
本帖最后由 haebong87 于 2011-7-13 17:06 编辑
$nums = $nums1 也出错,是什么问题呢?
我的目的就是$nums = $nums1 做第二个数字来对比的。
而且目前提示这个: Subscript used with non-Array variable.:
haebong87
发表于 2011-7-13 17:16:39
回复 15# love5173
谢谢,我这就去试一试看看。
love5173
发表于 2011-7-13 17:19:58
回复 16# haebong87
天啊,你原来不是说要的是水果后面的第一个数字吗,怎么成第二个了,另外你$n哪里来的
试试这个
$file = fileopen("test.txt",0)
dim $n=1
$str = filereadline($file,$n)
$nums=stringregexp($str,'.+?\|\d+\|(\d+)',3)
$nums1=stringregexp(filereadline($file,$n+1),'.+?\|\d+\|(\d+)',3)
If $nums <> $nums1 then
msgbox(0,"Test","false")
elseif $nums = $nums1 then
msgbox(0,"Test","Ture")
endif
haebong87
发表于 2011-7-13 17:22:58
好吧,我还是把这个搞不定的部分发给你吧。
你帮我查看一下,这是我刚刚按你说的修改了的。Func main()
$file = FileOpen("item_tc.txt", 0)
While 1
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
If $count = 0 Then
$count = 1
ContinueLoop
EndIf
$item_id_array = StringSplit($line, '|',2)
If $item_id_array = 1 Then
$make_type_id=$make_type1
$make_tool_x=30337
$make_tool_y=243
$make_tool_z=36417
ElseIf $item_id_array = 2 Then
$make_type_id=$make_type2
$make_tool_x=35899
$make_tool_y=293
$make_tool_z=36235
ElseIf $item_id_array = 3 Then
$make_type_id=$make_type3
$make_tool_x=30175
$make_tool_y=244
$make_tool_z=33449
ElseIf $item_id_array = 4 Then
$make_type_id=$make_type4
$make_tool_x=34220
$make_tool_y=246
$make_tool_z=33339
ElseIf $item_id_array = 5 Then
$make_type_id=$make_type5
$make_tool_x=35875
$make_tool_y=243
$make_tool_z=36853
EndIf
for $i=0 to UBound($item_id_array)-1 ;~ 这里开始
If $item_id_array <> $item_id_array[$I+1] Then
Send("/")
Sleep(500)
Send("admin")
Send("{enter}")
Send("{down 34}")
Send("{tab 2}")
Send($make_type_id)
Send("{enter}")
Sleep(1000)
Send("{tab 14}")
Sleep(500)
Send("{up}")
Sleep(500)
Send("{tab 2}")
Send("10")
Sleep(1000)
Send("{enter 8}")
WinActivate("Admin Tool","")
Send("!{F4}")
Sleep(1000)
Send("{enter}")
Sleep(1000)
Send("/")
Sleep(500)
Send("admin")
Send("{enter}")
Sleep(1000)
Send("{down 31}")
Sleep(1000)
Send("{tab 2}")
Send($make_tool_x)
Send("{tab}")
Send($make_tool_y)
Send("{tab}")
Send($make_tool_z)
Send("{enter}")
Sleep(1000)
WinActivate("Admin Tool","")
Send("!{f4}")
Else $item_id_array = $item_id_array[$I+1] Then
Next
admin_tool($item_gold_id,$item_id_array)
$length = UBound($item_id_array)/7
For $i = 0 To $length - 1
admin_tool($item_id_array,$item_id_array)
Next
win_make()
Sleep(1000)
If $item_id_array = 2 Then
MouseClick("left","180","340")
MouseClick("left","150","380")
ElseIf $item_id_array = 3 Then
MouseClick("left","180","340")
MouseClick("left","150","400")
ElseIf $item_id_array = 4 Then
MouseClick("left","180","340")
MouseClick("left","150","420")
EndIf
If $item_id_array = 1 Then
item_make($item_make_y1)
ElseIf $item_id_array = 2 Then
item_make($item_make_y2)
ElseIf $item_id_array = 3 Then
item_make($item_make_y3)
ElseIf $item_id_array = 4 Then
item_make($item_make_y4)
ElseIf $item_id_array = 5 Then
item_make($item_make_y5)
ElseIf $item_id_array = 6 Then
item_make($item_make_y6)
ElseIf $item_id_array = 7 Then
item_make($item_make_y7)
ElseIf $item_id_array = 8 Then
MouseClick("left","668","580")
item_make($item_make_y8)
;~ MouseClick("left","668","237")
ElseIf $item_id_array = 9 Then
MouseClick("left","668","580")
Sleep(200)
MouseClick("left","668","580")
item_make($item_make_y9)
;~ MouseClick("left","668","605","2")
EndIf
Wend
EndFunc
haebong87
发表于 2011-7-13 17:24:17
本帖最后由 haebong87 于 2011-7-13 17:25 编辑
回复 18# love5173
哦哦,对对,是水果后面的第一个数字。是我上面说错了。但是按你发的那些试用了一下还是Error啊。 哎,真头疼。
haebong87
发表于 2011-7-13 17:27:15
那个是不是太长了,我怕你眼睛过于疲劳不回答我了所以没发这么长的。
haebong87
发表于 2011-7-13 17:40:34
美女能留给我一个QQ么? 用QQ聊会更方便一些。
netegg
发表于 2011-7-13 19:05:35
回复 22# haebong87
谁告诉你5173是女孩了
mgj8721
发表于 2011-7-13 19:10:05
学习学习!
haebong87
发表于 2011-7-13 20:12:05
回复 23# netegg
看图像,随口说出来的。 = =;
netegg
发表于 2011-7-13 21:05:50
回复 25# haebong87
{:face (356):}
hzxymkb
发表于 2011-7-13 22:09:30
回复 18# love5173
你很漂亮,能否给个Q号?
haebong87
发表于 2011-7-14 09:23:52
回复 27# hzxymkb
版主,能解释一下上面的运行之后提示这个Subscript used with non-Array variable.:应该怎么解决么?
haebong87
发表于 2011-7-14 09:27:51
$file = fileopen("test.txt",0)
dim $n=1
$str = filereadline($file,$n)
$nums=stringregexp($str,'.+?\|\d+\|(\d+)',3)
$nums1=stringregexp(filereadline($file,$n+1),'.+?\|\d+\|(\d+)',3)
$result = StringCompare($nums,$nums1)
If $result=0then
msgbox(0,"Test","false")
elseif $result <>0then
msgbox(0,"Test","Ture")
endif现在我给改成这样了。
haebong87
发表于 2011-7-14 09:51:05
本帖最后由 haebong87 于 2011-7-14 10:15 编辑
发现了一个问题,我的29楼帖子第5行中给$N那部分换成数字就可以正常运行。