设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 969|回复: 0
打印 上一主题 下一主题

[模块/函数] ”谈股论金“——兼谈网络图片的处理

[复制链接]
跳转到指定楼层
1#
发表于 2023-3-10 15:51:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前不久,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
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 07:13 , Processed in 0.114410 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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