欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 增减自选品种刷新问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3859人关注过本帖树形打印复制链接

主题:增减自选品种刷新问题

帅哥哟,离线,有人找我吗?
wsanle
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
增减自选品种刷新问题  发帖心情 Post By:2014/9/24 11:30:26 [只看该作者]

版主:我用两个按钮向自选板块中增加品种和减少品种,但必须按两次才能将品种增加到表中或从表中清除,不知什么原因,请帮忙解答谢谢!

Sub Look_CommandButton7_Click()
   Set Grid = Technic.GetGridByName("Main") 
   Market=Grid.Market
   Code=Grid.StockLabe                                         
  Set Table = Technic.GetGridByName("Main3").GetTable()    '窗格Main3为表        

  Call Table.SwitchBlock("监控",1)                                           '“监控"切换动态牌自选分类下的自定义板块
  Set block = CreateObject("stock.block")
  block.Open "监控", 1 
  block.AddStock Market,Code

  block.tosave "自选","监控"
  Table.Refurbish
End Sub

 

Sub Look_CommandButton8_Click()

   Set Grid = Technic.GetGridByName("Main") 
   Market=Grid.Market
   Code=Grid.StockLabel
   Set Table = Technic.GetGridByName("Main3").GetTable()              
   call Table.SwitchBlock("监控",1)                           
   Set block = CreateObject("stock.block") 
   block.Open "监控", 1
   For i = 0 To block.Count - 1
      IF block.GetStockMarket(i)=Market AND block.GetStockCode(i)=Code THEN
         block.removeat (i)
     END IF
   Next
   block.tosave "自选","监控"
   Table.Refurbish
End Sub


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2014/9/24 12:09:24 [只看该作者]

Call Table.SwitchBlock("监控",1)   加到代码末行,再次切换到监控板块就可以了。

 


 回到顶部
帅哥哟,离线,有人找我吗?
wsanle
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
  发帖心情 Post By:2014/9/24 12:43:18 [只看该作者]

谢谢版主,问题解决!


 回到顶部
帅哥哟,离线,有人找我吗?
wsanle
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
  发帖心情 Post By:2014/10/23 16:59:53 [只看该作者]

版主:我需要将自选板块中的所有品种全部清除,但怎么都需要按几次按钮才能清除完毕,一次只能清除一部分,请教怎样才能全部清除?代码如下:

Sub Look_CommandButton8_Click()

  Set Grid = Technic.GetGridByName("Main")
  Market=Grid.Market
  Code=Grid.StockLabel
  Set Table = Technic.GetGridByName("Main3").GetTable()
  call Table.SwitchBlock("监控",1)
  Set block = CreateObject("stock.block")
  block.Open "监控", 1
  For i = 0 To block.Count - 1
       block.removeat (i)
  Next
  block.tosave "自选","监控"

  call Table.SwitchBlock("监控",1)
End Sub


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2014/10/24 8:17:52 [只看该作者]

For i = 0 To block.Count - 1
这一行倒过来写,从大到小,如:

iCount=block.count-1

For i=icount to 0 step -1

 

 

[此贴子已经被作者于2014/10/24 8:20:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wsanle
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
  发帖心情 Post By:2014/10/24 10:11:05 [只看该作者]

点赞!不明白为什么从后往前删除可以,从前往后删除需要多次才能删除完毕?


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2014/10/24 12:49:09 [只看该作者]

从前往后删除,删除之后,block.count变了,导致出问题,逆序就不会。

 


 回到顶部