VB程序员博客

VB程序开发

Archive for 01月, 2010

我想编写一个软件实现自动化交易。
不知道怎样才能控制对应的证券交易软件,如何获取其提供的动态数据自动实现买入卖出。

要求要有代码,最好要有注释,最好稍作修改即可运行!

要控制的软件如下图所示:
SendKeys语句
或者不用VB改用AutoHotKey软件那怎么根据动态行情数据进行交易呢?按键精灵~~具体一点,高手指导一下啊!连炒股也自动了,神了.帮楼主顶上去!


VB6.0如何读取XML中各级节点及其子节点的值?

如题 具体涉及到我的xml文件如下 
<?xml version="1.0" ?>
- <root>
- <group>
- <groupinfo>
  <fType>H31 </fType>
  <EMPCODE>H33H37H3H031H3H031H </EMPCODE>
  </groupinfo>
- <member>
  <fType>H31 </fType>
  <EMPCODE>H33H37H3H031H3H031H3H </EMPCODE>
  <EMPNAME>H7AH7AH7AH7AH7A </EMPNAME>
  <ALIAS />
  <SEX>H31 </SEX>
  <FOLK>H48H41 </FOLK>
  <BIRTH>H31H39H37H37H3H032H3H034 </BIRTH>
  </member>
- <member>
  <fType>H31 </fType>
  <EMPCODE>H33H37H3H031H3H031H3H031 </EMPCODE>
  <EMPNAME>H7AH7AH7AH7AH7A </EMPNAME>
  <ALIAS />
  <SEX>H31 </SEX>
  <FOLK>H48H41 </FOLK>
  <BIRTH>H31H39H37H37H3H032H3H034 </BIRTH>
  </member>
- <member>
  <fType>H31 </fType>
  <EMPCODE>H33H37H3H031H3H031H3H031H </EMPCODE>
  <EMPNAME>H7AH7AH7AH7AH7A </EMPNAME>
  <ALIAS />
  <SEX>H31 </SEX>
  <FOLK>H48H41 </FOLK>
  <BIRTH>H31H39H37H37H3H032H3H034 </BIRTH>
  </member>
  </group>
  </root>

在网上查了 可以读取到一级节点

    Dim xmlDoc As DOMDocument      '* XML 文件对象
    Dim xmlRootNode As IXMLDOMNode    '* 根节点
    Dim FirstNode As IXMLDOMNode      '* 第一级子节点
    Dim SencondNode As IXMLDOMNode    '* 第二级子节点
    Dim ThridNode As IXMLDOMNode      '* 第三级子节点

    Set xmlDoc = New DOMDocument
    xmlDoc.Load (App.Path & " ext.xml")
   
    '读取根节点
    Set xmlRootNode = xmlDoc.documentElement
   
  '读取根节点下的一级子节点
    If Not xmlRootNode Is Nothing Then  '* 如果根节点不为空,则读取其中的子节点
        For Each FirstNode In xmlRootNode.childNodes
            Debug.Print FirstNode.nodeName        '* 打印节点名
        Next
    End If
在往下读取二级节点 <groupinfo> 和 <member>中的各子节点的值就不知道怎么读取了,
请高手指教,谢谢!http://blog.csdn.net/guyehanxinlei/archive/2007/07/23/1702660.aspx
楼主可以简单参考一下。可以根据节点的序号来读取:
Debug.Print xmlRootNode.childNodes.Item(0).childNodes(0).nodeName
for i=0 to xmlRootNode.childNodes.Item(0).childNodes(1).childNodes.length-1
    Debug.Print xmlRootNode.childNodes.Item(0).childNodes(1).childNodes(i).nodeValue
next不行啊 我这样做的
    Dim getNodeVale As String

  '获取 <member>下 <fType> </fType>节点的值
    Set SencondNode = xmlDoc.documentElement.selectSingleNode("fType")
    If SencondNode Is Nothing Then
        getNodeValue = ""
    Else
        getNodeValue = valueNode.nodeTypedValue & ""
    End If
    Debug.Print getNodeValue
结果取不到啊Debug.Print xmlRootElement.childNodes.Item(0).childNodes(1).selectSingleNode("fType").nodeValueselectnodes可以读取节点集合    For Each SencondNode In xmlRootNode.childNodes.Item(0).childNodes
        Debug.Print SencondNode.nodeName
    Next

这个循环能取出所有一级节点  但是有个地方还没明白 :item(0)为什么就能表示一级节点呢你读取节点的层的结构不对。
1    <root>  2    <group>  3    <groupinfo>, <member>  4    <fType>
你首先要读取 <root> ,然后读取 <root>下的 <group> ,然后读取 <group>下的 <groupinfo>或者 <member>,然后才能是 <groupinfo>或者 <member>下的 <fType>

序号是从0开始的 ,正如很多索引的规范一样 0,1,2,3……


请问MSHFlexGrid如何显示数据集指定列,例如
MSHFlexGrid的第x列显示Recordset.Fields(y)
请指教,谢谢帮顶的? 改下sql。我的意思是不改sql,直接设置MSHFlexGrid是不是绑定的?
改sql很难么?帮定多不方便啊  自己写吧2种方法:
1、直接数据绑定,右键>属性,自己设置
2、未绑定,动态插入数据时指定表头和数据<
继续求教,谢谢

MSHFlexGrid1.TextMatrix(某行, 某列) = Recordset.Fields("某字段名")
到罗马,本来有飞机的,一定要走去,随你。


我自学VB加实操已有8-9个月的时间。曾经开发过一套系统(不算很复杂,程度大概是比图书馆管理软件多一些功能)

但是这段时间,我和一个网上找的伙伴一起开发另外一个系统,发现自己的VB原来还是那么的薄弱。

最近有个烦恼,因为之前考虑过,等这套系统开发完毕,我就转学VB.net。毕竟无论是在人才市场,还是主流的编程语言。VB都好想不搭边了。(去过两次招聘会,没有一家公司指明需要VB的)。

那么我就在想,那就转VB.NET呗。至少。net还有公司指明要。

可是有一个想法,究竟是专一学一种语言好呢,还是现在转VB。net好呢?

请教各位过来人。我应该如何选择呢?

当然,首先说明,我并没有说VB语言不好的意思。想就业为主。友情帮顶,俺没经验。俺业余编着玩俗话说“艺多不压身”,多学一门语言有什么不好,有vb的基础,转到vb.net应很快。
不过,vb6在目前的环境中还有一席之地,有它生存的道理转吧!VB.net和VB6差不多,学编程本来就是奔前途嘛!鼓励学,不过不要弄混了.VB6入门了,有了点编程基础,可以转.net了,没什么好犹豫的,越早越好….VB.net和VB6不是差不多,是差远了,除了部分语法上有点相似以外,几乎是二种不同的语言了…谢谢各位,那我就立马转了。分不多,请各位包涵


我自学VB加实操已有8-9个月的时间。曾经开发过一套系统(不算很复杂,程度大概是比图书馆管理软件多一些功能)

但是这段时间,我和一个网上找的伙伴一起开发另外一个系统,发现自己的VB原来还是那么的薄弱。

最近有个烦恼,因为之前考虑过,等这套系统开发完毕,我就转学VB.net。毕竟无论是在人才市场,还是主流的编程语言。VB都好想不搭边了。(去过两次招聘会,没有一家公司指明需要VB的)。

那么我就在想,那就转VB.NET呗。至少。net还有公司指明要。

可是有一个想法,究竟是专一学一种语言好呢,还是现在转VB。net好呢?

请教各位过来人。我应该如何选择呢?

当然,首先说明,我并没有说VB语言不好的意思。想就业为主。友情帮顶,俺没经验。俺业余编着玩俗话说“艺多不压身”,多学一门语言有什么不好,有vb的基础,转到vb.net应很快。
不过,vb6在目前的环境中还有一席之地,有它生存的道理转吧!VB.net和VB6差不多,学编程本来就是奔前途嘛!鼓励学,不过不要弄混了.VB6入门了,有了点编程基础,可以转.net了,没什么好犹豫的,越早越好….VB.net和VB6不是差不多,是差远了,除了部分语法上有点相似以外,几乎是二种不同的语言了…谢谢各位,那我就立马转了。分不多,请各位包涵


QQ2009和别人语音的时候,我设置成图标不显示,最小化以后,就看不见了,但是如果对方关闭了和我语音的这个对话框,我和他聊天的这个QQ窗口就在任务栏显示出来,而且一亮一亮的闪
这个窗口是处于什么状态的?怎么检测出这个窗口的句柄并关闭掉它?
也就是怎么检测出我原来最小化的那个窗口和突然跳出来的这个窗口之间的变化.
求助求助.在线等着………………………还有个办法,能不能直接隐藏起这个窗口来?让他在下边看不见.我按个热键,它就显示出来,这个该比较简单.

我使用程序检测这种状态..算啦..我已经解决啦..可以直接隐藏起来这个窗口,就看不见了.但是上边的问题是永远也不了解了.


主窗体中有一按钮,点击该按钮,打开子窗体的同时关闭主窗体。然后,当点击子窗体右上角的“X”时,关闭子窗体的同时,又打开主窗体,这如何实现?

小弟是这样做的

在主窗体中写:

Private Sub cmd2_Click()
Unload Me
frm2.Show (1)
End Sub

在子窗体中写:

Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub

但是想法只实现前面一半,当我关闭子窗体时出现错误,提示:当打开有模式窗体时不能显示无模式窗体
实现不了。
Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub
去掉。。。。。。。。。。。。。。可以了,把这个“(1)”去掉就搞定了

可能是我概念不清,不该说成是子窗体


主窗体中有一按钮,点击该按钮,打开子窗体的同时关闭主窗体。然后,当点击子窗体右上角的“X”时,关闭子窗体的同时,又打开主窗体,这如何实现?

小弟是这样做的

在主窗体中写:

Private Sub cmd2_Click()
Unload Me
frm2.Show (1)
End Sub

在子窗体中写:

Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub

但是想法只实现前面一半,当我关闭子窗体时出现错误,提示:当打开有模式窗体时不能显示无模式窗体
实现不了。
Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub
去掉。。。。。。。。。。。。。。可以了,把这个“(1)”去掉就搞定了

可能是我概念不清,不该说成是子窗体


主窗体中有一按钮,点击该按钮,打开子窗体的同时关闭主窗体。然后,当点击子窗体右上角的“X”时,关闭子窗体的同时,又打开主窗体,这如何实现?

小弟是这样做的

在主窗体中写:

Private Sub cmd2_Click()
Unload Me
frm2.Show (1)
End Sub

在子窗体中写:

Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub

但是想法只实现前面一半,当我关闭子窗体时出现错误,提示:当打开有模式窗体时不能显示无模式窗体
实现不了。
Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub
去掉。。。。。。。。。。。。。。可以了,把这个“(1)”去掉就搞定了

可能是我概念不清,不该说成是子窗体


主窗体中有一按钮,点击该按钮,打开子窗体的同时关闭主窗体。然后,当点击子窗体右上角的“X”时,关闭子窗体的同时,又打开主窗体,这如何实现?

小弟是这样做的

在主窗体中写:

Private Sub cmd2_Click()
Unload Me
frm2.Show (1)
End Sub

在子窗体中写:

Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub

但是想法只实现前面一半,当我关闭子窗体时出现错误,提示:当打开有模式窗体时不能显示无模式窗体
实现不了。
Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub
去掉。。。。。。。。。。。。。。可以了,把这个“(1)”去掉就搞定了

可能是我概念不清,不该说成是子窗体