EMoodu提供了Report Viewer的ocx控件封装,封装后功能跟Report
Viewer一致,但可以嵌入到您自己的应用程序中去, 支持C#, VB, Delphi, Java, Web, C++等广泛的应用,并且还为您提供了完整的控制函数,通过这些函数可以直接打开数据源,打开模板,直接打印,下面是集成到组态环境中的效果:
1). 提供了完整的工具条,用于模板的打开,数据库的链接,数据的预览,打印输出等操作。
2).提供了直接操作的函数接口用于代码直接调用控制。如下:
long GetTagTotal();
说明:获取所有的tag的总数。
BSTR GetTagNameAt(long index);
说明:获取指定索引的Tag Name.
long GetTagIDAt(long index);
说明:获取指定索引的Tag ID
short GetTagValueType(long index);
说明:获取指定索引的Tag Value Type 0-8。
enum FO_VALUETYPE
{
V_EMPTY = -1,
V_BOOL, // BOOL value type.
V_STRING, // String value type
V_INT, // int value type
V_FLOAT, // float value type
V_DOUBLE, // double value type
V_DWORD, // DWORD value type
V_DATETIME, // COleDateTime value type
V_COLOR // COLORREF value type.
};
short GetTagType(long index);
说明:获取指定索引的Tag Value Type 100--为实时变量,101--全局变量。
BOOL AddIntTag(LPCTSTR tagName, long tagId, short tagType,
short ValueType, long InitValue, double MinValue, double MaxValue);
说明:增加一个新的Int Tag, tagType --
100实时变量,101为全局变量,ValueType的值为0-8
enum FO_VALUETYPE
{
V_EMPTY = -1,
V_BOOL, // BOOL value type.
V_STRING, // String value type
V_INT, // int value type
V_FLOAT, // float value type
V_DOUBLE, // double value type
V_DWORD, // DWORD value type
V_DATETIME, // COleDateTime value type
V_COLOR // COLORREF value type.
};
BOOL AddIntTag2(LPCTSTR tagName, long tagId, short tagType, long InitValue,
double MinValue, double MaxValue);
说明:增加一个新的Int Tag, tagType -- 100实时变量,101为全局变量
BOOL AddBoolTag(LPCTSTR tagName, long tagId, short tagValueType, BOOL
InitValue);
说明:增加一个新的BOOL Tag, tagType -- 100实时变量,101为全局变量
BOOL AddTextTag(LPCTSTR tagName, long tagId, short
tagType, LPCTSTR InitValue);
说明:增加一个新的Text Tag, tagType -- 100实时变量,101为全局变量
BOOL AddFloatTag(LPCTSTR tagName, long tagId, short
tagType, float InitValue, float MinValue, float MaxValue);
说明:增加一个新的float Tag, tagType -- 100实时变量,101为全局变量
BOOL AddDoubleTag(LPCTSTR tagName, long tagId, short
tagType, double InitValue, double MinValue, double MaxValue);
说明:增加一个新的double Tag, tagType -- 100实时变量,101为全局变量
BOOL AddDateTag(LPCTSTR tagName, long tagId, short
tagType);
说明:增加一个新的Date Time Tag, tagType -- 100实时变量,101为全局变量
BOOL GetTagBoolValue(LPCTSTR tagName);
说明:根据Tag Name获取BOOL值,无关tag类型会自动进行转换。
long GetTagIntValue(LPCTSTR tagName);
说明:根据Tag Name获取Int值,无关tag类型会自动进行转换。
float GetTagFloatValue(LPCTSTR strTag);
说明:根据Tag Name获取float值,无关tag类型会自动进行转换。
double GetTagDoubleValue(LPCTSTR tagName);
说明:根据Tag Name获取double值,无关tag类型会自动进行转换。
BSTR GetTagTextValue(LPCTSTR tagName);
说明:根据Tag Name获取Text值,无关tag类型会自动进行转换。
void SetTagBoolValue(LPCTSTR tagName, BOOL tagValue);
说明:根据Tag Name,设定其bool值,无关tag类型会自动进行转换。
void SetTagIntValue(LPCTSTR tagName, long tagValue);
说明:根据Tag Name,设定其int值,无关tag类型会自动进行转换。
void SetTagFloatValue(LPCTSTR tagName, float tagValue);
说明:根据Tag Name,设定其float值,无关tag类型会自动进行转换。
void SetTagDoubleValue(LPCTSTR tagName, double tagValue);
说明:根据Tag Name,设定其double值,无关tag类型会自动进行转换。
void SetTagTextValue(LPCTSTR tagName, LPCTSTR tagValue);
说明:根据Tag Name,设定其Text值,无关tag类型会自动进行转换。
void SetTagBoolValue2(long tagId, BOOL tagValue);
说明:根据Tag ID,设定其bool值,无关tag类型会自动进行转换。
void SetTagIntValue2(long tagID, long tagValue);
说明:根据Tag ID,设定其Int值,无关tag类型会自动进行转换。
void SetTagFloatValue2(long tagId, float tagValue);
说明:根据Tag ID,设定其float值,无关tag类型会自动进行转换。
void SetTagDoubleValue2(long tagId, double tagValue);
说明:根据Tag ID,设定其double值,无关tag类型会自动进行转换。
void SetTagTextValue2(long tagId, LPCTSTR tagValue);
说明:根据Tag ID,设定其text值,无关tag类型会自动进行转换。
void InitExpParser();
说明:在增加了tag后,请调用此函数来初始化表达式解析器中的变量列表。
示范代码:
string dir_name = Application.StartupPath;
axHMI.SetAppPath(dir_name + "\\");
axHMI.SetRootXdgPathMode(1);
axHMI.OpenNewScreen("main.xdg");
axHMI.AddBoolTag("g2", 1001, 101, 1);
axHMI.AddIntTag("g1", 1002, 101, 2,0, 0, 100);
axHMI.InitExpParser();
void InitTagData();
说明:初始化Tag Data。
void SetRootXdgPathMode(BOOL bWith);
说明:如果需要采用直接xdg画面模式,而不是采用工程模式,请调用这个函数设定。示范代码:
private void test1ToolStripMenuItem_Click(object sender,
EventArgs e)
{
axHMI.SetRootXdgPathMode(1);
axHMI.OpenNewScreen("main.xdg");
}
long GetTagId(long aTag);
说明:通过tag对象指针获取tag的ID
short GetTagTypeNew(long aTag);
说明:通过tag对象指针获取tag的Type 100为实时变量,101为全局变量。
short GetTagValueTypeNew(long aTag);
说明:通过tag对象指针获取tag的Value Type 返回值为0-8:
enum FO_VALUETYPE
{
V_EMPTY = -1,
V_BOOL, // BOOL value type.
V_STRING, // String value type
V_INT, // int value type
V_FLOAT, // float value type
V_DOUBLE, // double value type
V_DWORD, // DWORD value type
V_DATETIME, // COleDateTime value type
V_COLOR // COLORREF value type.
};
BSTR GetTagTextValueNew(long aTag);
说明:通过tag对象指针获取tag的Text值.
void ShowTagViewer();
说明:显示变量列表。
void connnectDB(LPCTSTR strDsn, LPCTSTR strSql);
说明:连接到指定数据源。
void OpenReportFile(LPCTSTR strFile);
说明:打开模板文件。
void PrintView();
说明:打印预览。暂不支持
void OpenFile(LPCTSTR strfile);
说明:打开文件。同OpenReportFile.
BOOL ConnectDB2(LPCTSTR strDSN, LPCTSTR strSQL, LPCTSTR strUser, LPCTSTR
strPassword);
说明:链接到指定数据源
void ExportToHtml();
说明:显示导出对话框,导出所有打印页到html文件。
void ExportToHtmlWith(LPCTSTR lpszPath, LPCTSTR
lpszHeader);
说明:根据设定的路径和标题导出所有打印页到html文件。
|