|
前不久,Roy去一家投资公司试岗。对,试用期过不了试岗工资不给的那种。第一天就是开一个模拟账户,盯盘伦敦金。这是一个现货市场,随买随卖,相当刺激。一天下来,一万刀变成7900多,其中3个达到了止损线。
如果说补贴点车费餐费,我也认了。但连这都不给的话,谁知道试用期能不能过?而且,感觉天天盯盘挺无聊的。第二天想了想就不去了。
其实股市比黄金现货时长好多了。起码交易是N+1的,当天买的没必要看,早前买的盯一下盘,或者设置止损止盈线,不恋战,到了就出货就行了。
说这些是因为版友yanwei82123300提了一个关于刷新上证指数的问题。
众所周知,WebBrowser控件是基于IE内核的,而现在IE卒于北京时间2022年6月16日,所以可能会考虑使用”Web浏览器控件“来载入网络数据。
当时给他的答复是使用计时器(timer)触发事件来更新,不过今天试了下,似乎没解决问题。所以打算用另一种思路来解决。
他想获取的是一张gif图片,既然无法更新控件上的图片,那么我们是不是可以把图片下载到本地?持续更新本地图片,就能达到刷新数据的目的,不是吗?于是,随手找个API函数,稍稍写一下,基本就处理完毕了。代码如下:
- Option Compare Database
- Option Explicit
- '下载文件API声明
- Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
- (ByVal pCaller As Integer, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Integer, ByVal lpfnCB As Integer) As Long
- '************************************************************************************************
- '函数说明: getImg(strURL, strFile)
- '函数作用: 用于将网络图片下载到本地。事实上并不只是网络图片,其它文件也可以。只不过涉及中文的时候,可能需要转码。
- '参数说明:
- ' strURL: 需要下载的图片地址。例如:http://image.sinajs.cn/newchart/min/n/sh000001.gif
- ' strFile: 保存图片的全路径。例如:D:\sh000001.gif
- '返回值: 无
- '************************************************************************************************
- Sub getImg(ByVal strURL As String, ByVal strFile As String)
- '如果文件存在则删除
- If Len(Dir(strFile)) > 0 Then Kill strFile
- URLDownloadToFile 0, strURL, strFile, 0, 0
- End Sub
- Private Sub Form_Load()
- Dim strFile As String
- strFile = CurrentProject.Path & "\sh000001.gif"
- Me.Image2.Picture = strFile
- End Sub
- Private Sub Form_Timer()
- Dim strURL As String
- Dim strFile As String
- strURL = "http://image.sinajs.cn/newchart/min/n/sh000001.gif"
- strFile = CurrentProject.Path & "\sh000001.gif"
- '3秒钟更新一次图片
- Me.Form.TimerInterval = 3
- Call getImg(strURL, strFile)
- End Sub
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|