使用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加载图表组,速度比较快
一、窗口加载时自动加载图表组文件
在CFixPicture_Initialize()里加入代码
CGW_ApplyFileToChart "ChartGroup1.csv", "Chart1"
二、窗口关闭时,自动保存设定
由于ifix的图表组功能比较复杂,内部关联较多,使用内置的保存函数使问题变得复杂了。本例通过直接写图表组定义文件达到保存目的,代码如下:
在CFixPicture_Close()调用过程saveChartGroup
Sub saveChartGroup()
End Sub
PS:使用CGW_ApplyFileToChart加载图表组,速度比较快
前一篇:IFix定时器的使用

加载中…