加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用Ifix的图表组(原创)

(2017-04-17 19:58:05)
标签:

ifix

图表组

自动加载和保存

分类: PLC自控
目的:使用ifix的图表组功能,在窗口打开时自动加载某一指定的图表组,在窗口关闭时,自动保存设定。实现方法:
一、窗口加载时自动加载图表组文件
在CFixPicture_Initialize()里加入代码
CGW_ApplyFileToChart "ChartGroup1.csv", "Chart1"
二、窗口关闭时,自动保存设定
由于ifix的图表组功能比较复杂,内部关联较多,使用内置的保存函数使问题变得复杂了。本例通过直接写图表组定义文件达到保存目的,代码如下:
在CFixPicture_Close()调用过程saveChartGroup
Sub saveChartGroup()
   Dim strFileToSave As String, objStrMgr as Object
    Set objStrMgr = CreateObject("iFix_CGW.ResMgr")
    strFileToSave =System.FixPath(Htc_Path) & "\ChartGroup1.csv"
    Dim intFileHandle As Long
    intFileHandle = FreeFile
    If strFileToSave = "" Then Exit Sub
    Open strFileToSave For Output As #intFileHandle
       
        Write #intFileHandle, objStrMgr.GetNLSStr(CLng(NLS_EXC)), objStrMgr.GetNLSStr(CLng(NLS_APPLYALL)), objStrMgr.GetNLSStr(CLng(NLS_DAYSBEFORENOW)), objStrMgr.GetNLSStr(CLng(NLS_DURATION)), objStrMgr.GetNLSStr(CLng(NLS_FETCHPENLIMITS)), objStrMgr.GetNLSStr(CLng(NLS_FIXEDDATE)), objStrMgr.GetNLSStr(CLng(NLS_FIXEDTIME)), objStrMgr.GetNLSStr(CLng(NLS_HILIMIT)), objStrMgr.GetNLSStr(CLng(NLS_HISTORICALSAMPLETYPE)), objStrMgr.GetNLSStr(CLng(NLS_LOLIMIT)), objStrMgr.GetNLSStr(CLng(NLS_MARKERCHAR)), objStrMgr.GetNLSStr(CLng(NLS_MARKERSTYLE)), objStrMgr.GetNLSStr(CLng(NLS_PENLINECOLOR)), objStrMgr.GetNLSStr(CLng(NLS_PENLINESTYLE)), objStrMgr.GetNLSStr(CLng(NLS_PENLINEWIDTH)), objStrMgr.GetNLSStr(CLng(NLS_SOURCE)), objStrMgr.GetNLSStr(CLng(NLS_STARTDATETYPE)), objStrMgr.GetNLSStr(CLng(NLS_STARTTIMETYPE)), objStrMgr.GetNLSStr(CLng(NLS_TIMEBEFORENOW)),
                objStrMgr.GetNLSStr(CLng(NLS_INTERVAL)), objStrMgr.GetNLSStr(CLng(NLS_DISPLAYMS)), objStrMgr.GetNLSStr(CLng(NLS_DST_HEAD)), objStrMgr.GetNLSStr(CLng(NLS_TIMEZONE_HEAD))

        Dim objPen As Object
        For Each objPen In Chart1.pens
            Write #intFileHandle, "&&", True, objPen.DaysBeforeNow, objPen.duration, objPen.FetchPenLimits, CDate(Format(objPen.FixedDate, "Short Date")), Format(objPen.FixedTime, "Short Time"), objPen.hilimit, objPen.HistoricalSampleType, objPen.lolimit, "", objPen.MarkerStyle, objPen.penlinecolor, objPen.PenLineStyle, objPen.PenLineWidth, objPen.Source, objPen.StartDateType, objPen.StartTimeType, objPen.TimeBeforeNow, _
                    objPen.interval / 1000, False, True, 0
        Next
    Close #intFileHandle

End Sub

PS:使用CGW_ApplyFileToChart加载图表组,速度比较快

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有