基金查询器是否需要继续开发啊。。。。

电脑操作不熟、累也是福。不知道你是不是还在为每天查看很多基金信息在网页之间来回浏览而感到疲惫呢,我已.......

。。。。昨天发了这个东西,今天研究了一下,发现似乎没有完成呢。。

功能倒是不错了,不过看了看目录结构,下面生成了好几个XML,结构很清晰,但是为什么要生成这么多呢,每天记录一个的话,应该最终可以生成一个图像,而且原来的程序上面只是对页面分析的结果吧,图片是引用的,这里面发现了几个技术。实现了一下:
首先重构一个类,嘿嘿,可以把软件生成XML的过程重现,并把XML读回来,也就是串行化合并行化了,也叫序列化反序列化。
Public Class Info
    Structure strInfo
        Dim 序号 As String
        Dim 代码 As String
        Dim 简称 As String
        Dim 当日单位净值 As String
        Dim 当日累计净值 As String
        Dim 前日单位净值 As String
        Dim 前日累计净值 As String
        Dim 基金增长值 As String
        Dim 基金增长率 As String
        Dim 基金净值估算图 As String
        Dim 基金折线图 As String
        Dim 基金详细信息页面 As String
    End Structure
    Public m_Info() As strInfo
    Public 网络日期 As String
End Class
用这个类就可以了,序列化就可以用这个代码:
Public _Info As New Info
在这里初始化各个量~~~
然后
            If Dir(My.Application.Info.DirectoryPath & "/DATA", FileAttribute.Directory) = "" Then MkDir(My.Application.Info.DirectoryPath & "/DATA")
            Dim mySerializer As Xml.Serialization.XmlSerializer = New Xml.Serialization.XmlSerializer(GetType(Info))
            Dim myWriter As IO.StreamWriter = New IO.StreamWriter(My.Application.Info.DirectoryPath & "/DATA/" & _Info.网络日期 & ".xml")
            mySerializer.Serialize(myWriter, _Info)
            myWriter.Close()
恩恩,基本成型了。不过这里发现一个问题,是关于网络日期格式化的问题,调用的那个页面我看了看似乎日期格式不是这样的,写了一个格式化函数
Function formatDate(ByVal str As String) As String
             Return Mid(str, 1, 4) & "-" & Mid(str, 6, InStr(str, "-")).PadLeft(2, "00") & "-" & Mid(str, InStrRev(str, "-")).Replace(2, "00")
End Function
这样似乎就完整了。
反序列化也很简单了,但是如何历遍这些XML呢,用DIR吧?麻烦的很呢,还是用.NET的新功能:GetFileSystemEntries代码呢,这样写就好:
Dim fileList As String() = System.IO.Directory.GetFileSystemEntries(My.Application.Info.DirectoryPath & "/DATA")
Public tmpinfo As Info
        Dim mySerializer As Xml.Serialization.XmlSerializer = New Xml.Serialization.XmlSerializer(GetType(Info))
        Dim myFileStream As IO.FileStream = New IO.FileStream(fileList(0), IO.FileMode.Open)
        tmpinfo = CType(mySerializer.Deserialize(myFileStream), Info)
        myFileStream.Close()
恩恩,这样就返回了一个.。想全部返回就历遍喽,不写了。估计作者是在想怎么怎么把数据弄成图表。。。我提出一个解决方案:使用EXCEL,这样不仅可以产生一个列表,还能方便的生成坐标图等……
简要的说明一下我的思路:
首先添加COM引用:microsoft excel X.X object libray(这个如果没有,先去OFFICE安装文件夹添加OLB)
dim e as new excel.application
dim r as excel.range
dim ws as excel.wordsheet
e.workbooks.add(xlwbatemplate.xlwbatworksheet)
ws=e.workbooks(1).worksheets(1)
ws.name="baobiao"
ws.cells(2,1)="基金报表"
继续设置ws的其他属性
r=ws.range("A2","B5)
r.font.bold=true
这样就设置了第一个表当中的A2,B5为表头,字体为黑体。
而后继续对ws这个实例进行操作,添加每天的数据。。。哈哈,如果这样做就舍弃XML啦,可以存储了
最后生成图表的时候,可以使用charts类的chartwizard对象,这个自动化对象能够直接生成图表,嘿嘿。。完毕。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清晨曦月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值