ooxxgod 发表于 2012-5-3 21:28:16

股票这行 15 有内行哦

yufei8051 发表于 2012-5-4 14:03:02

外部listview本来可以用ControlListView,但是我一直没测试成功过,楼主你试试吧
502762378 发表于 2012-5-2 20:31 http://www.autoitx.com/images/common/back.gif


    太感谢你了,好了。原来很简单的!
比如取股票代码用:
$gpdm = ControlListView("预警 - (运行)", "",1702,"GetText",0,0)
取第二列的买卖状态判读用:
$mmbz = ControlListView("预警 - (运行)", "",1702,"GetText",0,1)
运行结果如下:

这样就简单多啦

yufei8051 发表于 2012-5-4 14:06:11

回复yufei8051


    “学长上面的代码,怎么把股票代码显示出来呀?比如用msgbox函数,怎么才能显示 ...
happytc 发表于 2012-5-3 20:44 http://www.autoitx.com/images/common/back.gif

感谢学长指点!
不过我这水平太菜,其实那些代码我基本看不懂,就只能在别人编好的基础上修修改改能用就行。
这个问题已经解决了,再次谢谢学长!

502762378 发表于 2012-5-4 14:08:12

回复 17# yufei8051


   其实敢于动手你已经成功了一半,我为你感到高兴

yufei8051 发表于 2012-5-4 15:40:48

回复yufei8051


   其实敢于动手你已经成功了一半,我为你感到高兴
502762378 发表于 2012-5-4 14:08 http://www.autoitx.com/images/common/back.gif


    感谢学长鼓励!

yufei8051 发表于 2012-5-4 15:46:36

本帖最后由 yufei8051 于 2012-5-4 15:59 编辑

基本问题解决了,实验代码如下:
控制交易软件的部分:
                            If StringCompare($mmbz,"买进") Then
                                        Sleep(30)
                                        Send("{F2}");先选择卖出以清除可能的乱码
                                        Sleep(30)
                                        Send("{F1}");等待30毫秒后选择买入
      
                                        Sleep(50)
                                        ControlSetText($BB, "", 1032, $gpdm);等待50毫秒后输入代码
                                        Sleep(50)
                                        ControlCommand($BB,"",1032,send("{Enter}"));输入代码后回车
               
                                        Sleep(400)
                                        ControlCommand($BB,"",1033,send("{Enter}"));默认买入价格回车
               
                                        Sleep(400)
                                        ControlCommand($BB,"",1006,send("{Enter}"));默认买入数量回车
               
                                        Sleep(400)
                                        ControlCommand($BB,"",6,send("{Enter}"));买入确认
               
                                        Sleep(400)
                                        ControlCommand($BB,"",2,send("{Enter}"));你的委托已发送确定
                                EndIf
                                If StringCompare($mmbz,"卖出") Then
                                        Sleep(30)
                                        Send("{F1}");先选择买进以清除可能的乱码
                                        Sleep(30)
                                        Send("{F2}");等待30毫秒后选择卖出
      
                                        Sleep(50)
                                        ControlSetText($BB, "", 1032, $gpdm);等待50毫秒后输入代码
                                        Sleep(50)
                                        ControlCommand($BB,"",1032,send("{Enter}"));输入代码后回车
               
                                        Sleep(400)
                                        ControlCommand($BB,"",1033,send("{Enter}"));默认买入价格回车
               
                                        Sleep(400)
                                        ControlCommand($BB,"",1006,send("{Enter}"));默认买入数量回车
               
                                        Sleep(400)
                                        ControlCommand($BB,"",6,send("{Enter}"));买入确认
               
                                        Sleep(400)
                                        ControlCommand($BB,"",2,send("{Enter}"));你的委托已发送确定
                                EndIf



判断有否预警及取得预警股票的代码和买卖标志部分:
      $kk = ControlGetText("预警 - (运行)", "","")
        $yjsl=ControlListView("预警 - (运行)", "",1702,"GetItemCount");是否预警
        $gpdm = StringLeft(ControlListView("预警 - (运行)", "",1702,"GetText",0,0),6);取得股票代码
        $mmbz = StringLeft(ControlListView("预警 - (运行)", "",1702,"GetText",0,1),2);取得买卖标志
010                If         $yjsl>0then
                        If StringCompare($mmbz,"买进")=0 Then
                        MsgBox(0, "测试", $gpdm&"买进")
                        EndIf
                        If StringCompare($mmbz,"卖出")=0 Then
                        MsgBox(0, "测试", $gpdm&"卖出")
                        EndIf
050                EndIf       
                MsgBox(0, "测试", "还没预警等着他")

新问题又来了,我想让程序开始后就判断第010行的 ($yjsl>0) 是否大于0,若大于0则执行下面的语句到050行,若不大于0就一直在那里等着,该怎么写?

xms77 发表于 2012-5-6 10:07:24

回复 21# yufei8051
学习了,感谢分享你的成果!
我想你会爱上au3的,好好学习,很有用的!

qiankun 发表于 2012-5-8 23:24:42

不用这么麻烦的,预警公式可以把数据预警的结果送入到文件里。现在反倒用 Autoit 来取,绕弯路了。

续缘8003 发表于 2013-2-17 08:56:48

谢谢提供,学习了。。
页: 1 [2]
查看完整版本: 怎样取得列表框的文字呀?用Au3Info什么也不显示?(已解决)