找回密码
 加入
搜索
楼主: yufei8051

[AU3基础] 怎样取得列表框的文字呀?用Au3Info什么也不显示?(已解决)

 火.. [复制链接]
发表于 2012-5-3 21:28:16 | 显示全部楼层
股票这行 15 有内行哦
 楼主| 发表于 2012-5-4 14:03:02 | 显示全部楼层
外部listview本来可以用ControlListView,但是我一直没测试成功过,楼主你试试吧
502762378 发表于 2012-5-2 20:31



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

这样就简单多啦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2012-5-4 14:06:11 | 显示全部楼层
回复  yufei8051


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


感谢学长指点!
不过我这水平太菜,其实那些代码我基本看不懂,就只能在别人编好的基础上修修改改能用就行。
这个问题已经解决了,再次谢谢学长!
发表于 2012-5-4 14:08:12 | 显示全部楼层
回复 17# yufei8051


   其实敢于动手你已经成功了一半,我为你感到高兴
 楼主| 发表于 2012-5-4 15:40:48 | 显示全部楼层
回复  yufei8051


   其实敢于动手你已经成功了一半,我为你感到高兴
502762378 发表于 2012-5-4 14:08



    感谢学长鼓励!
 楼主| 发表于 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>0  then
                        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就一直在那里等着,该怎么写?
发表于 2012-5-6 10:07:24 | 显示全部楼层
回复 21# yufei8051
学习了,感谢分享你的成果!
我想你会爱上au3的,好好学习,很有用的!
发表于 2012-5-8 23:24:42 | 显示全部楼层
不用这么麻烦的,预警公式可以把数据预警的结果送入到文件里。现在反倒用 Autoit 来取,绕弯路了。
发表于 2013-2-17 08:56:48 | 显示全部楼层
谢谢提供,学习了。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-29 19:49 , Processed in 0.076044 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表