Office中国论坛/Access中国论坛

标题: ”谈股论金“——兼谈网络图片的处理 [打印本页]

作者: roych    时间: 2023-3-10 15:51
标题: ”谈股论金“——兼谈网络图片的处理
前不久,Roy去一家投资公司试岗。对,试用期过不了试岗工资不给的那种。第一天就是开一个模拟账户,盯盘伦敦金。这是一个现货市场,随买随卖,相当刺激。一天下来,一万刀变成7900多,其中3个达到了止损线。

如果说补贴点车费餐费,我也认了。但连这都不给的话,谁知道试用期能不能过?而且,感觉天天盯盘挺无聊的。第二天想了想就不去了。
其实股市比黄金现货时长好多了。起码交易是N+1的,当天买的没必要看,早前买的盯一下盘,或者设置止损止盈线,不恋战,到了就出货就行了。

说这些是因为版友yanwei82123300提了一个关于刷新上证指数的问题。
众所周知,WebBrowser控件是基于IE内核的,而现在IE卒于北京时间2022年6月16日,所以可能会考虑使用”Web浏览器控件“来载入网络数据。
当时给他的答复是使用计时器(timer)触发事件来更新,不过今天试了下,似乎没解决问题。所以打算用另一种思路来解决。

他想获取的是一张gif图片,既然无法更新控件上的图片,那么我们是不是可以把图片下载到本地?持续更新本地图片,就能达到刷新数据的目的,不是吗?于是,随手找个API函数,稍稍写一下,基本就处理完毕了。代码如下:
  1. Option Compare Database
  2. Option Explicit

  3. '下载文件API声明
  4. Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
  5.     (ByVal pCaller As Integer, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Integer, ByVal lpfnCB As Integer) As Long


  6. '************************************************************************************************
  7. '函数说明:         getImg(strURL, strFile)
  8. '函数作用:         用于将网络图片下载到本地。事实上并不只是网络图片,其它文件也可以。只不过涉及中文的时候,可能需要转码。
  9. '参数说明:
  10. '                   strURL:            需要下载的图片地址。例如:http://image.sinajs.cn/newchart/min/n/sh000001.gif
  11. '                   strFile:           保存图片的全路径。例如:D:\sh000001.gif
  12. '返回值:           无
  13. '************************************************************************************************

  14. Sub getImg(ByVal strURL As String, ByVal strFile As String)
  15. '如果文件存在则删除
  16.     If Len(Dir(strFile)) > 0 Then Kill strFile
  17.     URLDownloadToFile 0, strURL, strFile, 0, 0
  18. End Sub


  19. Private Sub Form_Load()
  20.     Dim strFile As String
  21.     strFile = CurrentProject.Path & "\sh000001.gif"
  22.     Me.Image2.Picture = strFile
  23. End Sub


  24. Private Sub Form_Timer()
  25.     Dim strURL As String
  26.     Dim strFile As String
  27.     strURL = "http://image.sinajs.cn/newchart/min/n/sh000001.gif"
  28.     strFile = CurrentProject.Path & "\sh000001.gif"
  29.     '3秒钟更新一次图片
  30.     Me.Form.TimerInterval = 3
  31.     Call getImg(strURL, strFile)
  32. End Sub
复制代码
[attach]64468[/attach]






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3