LED显示屏各行业终端设备应用方案:
·银行证券 > > > LED显示解决方案
·终端机柜 > > > LED显示解决方案
·高速交通 > > > LED显示解决方案
·公安交警 > > > LED显示解决方案
·门禁监控 > > > LED显示解决方案
·节目切换 > > > LED显示解决方案
·电子看板 > > > LED显示解决方案
·公交站台 > > > LED显示解决方案
·车库道闸 > > > LED显示解决方案
·医院门诊 > > > LED显示解决方案
·银行证券 > > > LED显示解决方案
等等……
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Configuration;
namespace Demo
{
class LedDll
{
public const int COLOR_RED = 0xff; //红色
public const int COLOR_GREEN = 0xff00; //绿色
public const int COLOR_YELLOW = 0xffff; //黄色
public const int ADDTYPE_STRING = 0; //添加类型为字符串
public const int ADDTYPE_FILE = 1; //添加类型为文件
public const int OK = 0;//函数返回成功
//******节目定时启用日期时间星期的标志宏
***************************************************************************
public const int ENABLE_DATE = 0x01;
public const int ENABLE_TIME = 0x02;
public const int ENABLE_WEEK = 0x04;
//*****************************************************************************************************************
//******节目定时星期里某天启用宏***********************************************************
public const int WEEK_MON = 0x01;
public const int WEEK_TUES = 0x02;
public const int WEEK_WEN = 0x04;
public const int WEEK_THUR = 0x08;
public const int WEEK_FRI = 0x10;
public const int WEEK_SAT = 0x20;
public const int WEEK_SUN = 0x40;
//*****************************************************************************
//[StructLayout(LayoutKind.Sequential, Size = 8, CharSet = CharSet.Unicode, Pack = 1)]
//**通讯设置结构体*********************************************************
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct COMMUNICATIONINFO
{
public int LEDType;//LED类型0.为所有6代单色、双色、七彩卡,1.为所有6
代全彩卡
public int SendType;//通讯方式0.为Tcp发送(又称固定IP通讯),1.
广播发送(又称单机直连)2.串口通讯3.磁盘保存
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public string IpStr;//LED屏的IP地址,只有通讯方式为0时才需赋值,其它通讯方式无
需赋值
public int Commport;//串口号,只有通讯方式为2时才需赋值,其它通讯方式无需赋值
public int Baud;//波特率,只有通讯方式为2时才需赋值,其它通讯方式无需赋值,
0.9600 1.57600 2.115200 直接赋值 9600,19200,38400,57600,115200亦可
public int LedNumber;//LED的屏号,只有通讯方式为2时,且用485通讯时才需赋值,其
它通讯方式无需赋值
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string OutputDir;//磁盘保存的目录,只有通讯方式为3时才需赋值,其它通讯方式无需赋值
};
//***********************************************************************
//**区域坐标结构体*********************************************************
public struct AREARECT
{
public int left;//区域左上角横坐标
public int top;//区域左上角纵坐标
public int width;//区域的宽度
public int height;//区域的高度
};
//****************************************************************************
//***字体属性结构对**********************************************************
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct FONTPROP
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string FontName;//字体名
public int FontSize;//字号(单位磅)
public int FontColor;//字体颜色
public int FontBold;//是否加粗
public int FontItalic;//是否斜体
public int FontUnderLine;//时否下划线
};
//****************************************************************************
//**页面显示的属性结构体****************************************************
public struct PLAYPROP
{
public int InStyle;//入场特技值(取值范围 0-38)
public int OutStyle;//退场特技值(现无效,预留,置0)
public int Speed;//特技显示速度(取值范围1-255)
public int DelayTime;//页面留停时间(1-65535)
};
/* 特技值对应
0=立即显示
1=随机
2=左移
3=右移
4=上移
5=下移
6=连续左移
7=连续右移
8=连续上移
9=连续下移
10=闪烁
11=激光字(向上)
12=激光字(向下)
13=激光字(向左)
14=激光字(向右)
15=水平交叉拉幕
16=上下交叉拉幕
17=左右切入
18=上下切入
19=左覆盖
20=右覆盖
21=上覆盖
22=下覆盖
23=水平百叶(左右)
24=水平百叶(右左)
25=垂直百叶(上下)
26=垂直百叶(下上)
27=左右对开
28=上下对开
29=左右闭合
30=上下闭合
31=向左拉伸
32=向右拉伸
33=向上拉伸
34=向下拉伸
35=分散向左拉伸
36=分散向右拉伸
37=冒泡
38=下雪
*/
//*******************************************************************************
//**设置节目定时属性结构体****************************************************
public struct PROGRAMTIME
{
public int EnableFlag;//启用定时的标记,ENABLE_DATE为启用日期,ENABLE_TIME为启用时间,ENABLE_WEEK
为启用星期,可用或运算进行组合,如 ENABLE_DATE | ENABLE_TIME | ENABLE_WEEK
public int WeekValue;//启用星期后,选择要定时的星期里的某些天,用宏
WEEK_MON,WEEK_TUES,WEEK_WEN,WEEK_THUR,WEEK_FRI,WEEK_SAT,WEEK_SUN 通过或运算进行组合
public int StartYear;//起始年
public int StartMonth;//起始月
public int StartDay;//起始日
public int StartHour;//起姐时
public int StartMinute;//起始分
public int StartSecond;//起始秒
public int EndYear;//结束年
public int EndMonth;//结束月
public int EndDay;//结束日
public int EndHour;//结束时
public int EndMinute;//结束分
public int EndSecond;//结束秒
};
//**********************************************************************************
//数字时钟属性结构体*********************************************************************************
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct DIGITALCLOCKAREAINFO
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
public stringShowStr;//自定义显示字符串
//[MarshalAs(UnmanagedType.Struct)]
public FONTPROP ShowStrFont;//自定义显示字符串以及日期星期时间的字体属性,注意此字体属
性里的FontColor只对自定义显示字体有效,其它项的颜色有单独的颜色属性,属性的赋值见FONTPROP结构体说明
public int TimeLagType;//时差类型 0为超前,1为滞后
public int HourNum;//时差小时数
public int MiniteNum;//时差分钟数
public int DateFormat;//日期格式 0.YYYY年MM月DD日 1.YY年MM月DD日
2.MM/DD/YYYY 3.YYYY/MM/DD 4.YYYY-MM-DD 5.YYYY.MM.DD 6.MM.DD.YYYY 7.DD.MM.YYYY
public int DateColor;//日期字体颜色
public int WeekFormat;//星期格式 0.星期X 1.Monday 2.Mon.
public int WeekColor;//星期字体颜色
public int TimeFormat;//时间格式 0.HH时mm分ss秒 1.HH時mm分ss秒
2.HH:mm:ss 3.上午 HH:mm:ss 4.AM HH:mm:ss 5.HH:mm:ss 上午 6.HH:mm:ss AM
public int TimeColor;//时间字体颜色
public int IsShowYear;//是否显示年 TRUE为显示 FALSE不显示 下同
public int IsShowWeek;//是否显示星期
public int IsShowMonth;//是否显示月
public int IsShowDay;//是否显示日
public int IsShowHour;//是否显示时
public int IsShowMinute;//是否显示分
public int IsShowSecond;//是否显示秒
public int IsMutleLineShow;//是否多行显示
};
//******************************************************************************
//**模拟时钟属性结构体*********************************************************
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct CLOCKAREAINFO
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
public stringShowStr;//自定义显示字符串
public FONTPROP ShowStrFont;//自定义显示字符串字体属性
public intTimeLagType;//时差类型 0为超前,1为滞后
public intHourNum;//时差小时数
public intMiniteNum;//时差分钟数
public intClockType;//表盘类型 0.圆形 1.正方形
public int HourMarkColor;//时标颜色
public intHourMarkType;//时标类型0.圆形 1.正方形
public intHourMarkWidth;//时标宽度1~16
public int MiniteMarkColor;//分标颜色
public intMiniteMarkType;//分标类型0.圆形 1.正方形
public intMiniteMarkWidth;//分标宽度 1~16
public int HourPointerColor;//时针颜色
public int MinutePointerColor;//分针颜色
public int SecondPointerColor;//秒针颜色
public intHourPointerWidth;//时针的宽度 1~5
public intMinutePointerWidth;//分针的宽度 1~5
public intSecondPointerWidth;//秒针的宽度 1~5
public int IsShowDate;//是否显示日期
public intDateFormat;//日期格式 0.YYYY年MM月DD日 1.YY
年MM月DD日 2.MM/DD/YYYY 3.YYYY/MM/DD 4.YYYY-MM-DD 5.YYYY.MM.DD 6.MM.DD.YYYY 7.DD.MM.YYYY
public FONTPROP DateFont;//日期字体属性
public int IsShowWeek;//是否显示星期
public intWeekFormat;//星期格式 0.星期X 1.Monday
2.Mon.
public FONTPROP WeekFont;//星期字体属性
};
//**************************************************************************************
//**计时属性结构体**********************************************************************
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct TIMEAREAINFO
{
public intShowFormat;//显示格式0.xx天xx时xx分xx秒
1.xx天xx時xx分xx秒 2.xxDayxxHourxxMinxxSec 3.XXdXXhXXmXXs 4.xx:xx:xx:xx
public intnYear;//结束年
public intnMonth;//结束月
public intnDay;//结束日
public intnHour;//结束时
public intnMinute;//结束分
public intnSecond;//结束秒
public int IsShowDay;//是否显示天
public int IsShowHour;//是否显示时
public int IsShowMinute;//是否显示分
public int IsShowSecond;//是否显示秒
public int IsMutleLineShow;//是否多行显示,指的是自定义文字与计时文字是否分行
显示
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
public stringShowStr;//自定义文字字符串
public intTimeStrColor;//计时文字的颜色
public FONTPROPShowFont;//自定义文字及计时文字颜色,其中FontColor只对文定
义文字有效,计时文字颜色为TimeStrColor
};
//****************************************************************************************
//**LED通讯参数修改结构体*****************************************************************
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct LEDCOMMUNICATIONPARAMETER
{
public int dwMask;//要修改项的标记 0.修改网络通讯参数 1.修改串口通
讯参数 2.修改网口和串口通讯参数
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public stringIpStr;//新的IP地址,只有dwMask为0或2时才需赋值,其它值无需赋值,格式例如
192.168.1.100
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public stringNetMaskStr;//新的子网掩码,只有dwMask为0或2时才需赋值,其它值无需赋值,格式例
如 255.255.255.0
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public stringGatewayStr;//新的网关,只有dwMask为0或2时才需赋值,其它值无需赋值,格式例如
192.168.1.1
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]
public stringMacStr;//新的MAC地址,只有dwMask为0或2时才需赋值,其它值无需赋值,格式例
如 12-34-56-78-9a-bc,如无需修改请设为 ff-ff-ff-ff-ff-ff
public intBaud;//波特率,只有dwMask为1或2时才需赋值,其它值无需赋
值,0.9600 1.57600 2.115200
public intLedNumber;//LED屏号 1~255,网络通讯和232通讯赋值 1 即可,485
必需和控制卡显示的屏号相同才可通讯
};
//*****************************************************************************************
//**流水边框属性结构体************************************************************************
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct WATERBORDERINFO
{
public intFlag;//流水边框加载类型
标志,0.为动态库预置的边框 1.为从文件加载的边框
public intBorderType;//边框的类型,Flag
为0是有效,0.单色边框 1.双基色边框 2.全彩边框
public intBorderValue;//边框的值,Flag为0是有效
,单色边框取值范围是0~39,双基色边框取值范围是0~34,全彩边框取值范围是0~21
public int BorderColor;//边框线颜色,Flag为0并且BorderType
为0是才有效
public intBorderStyle;//边框显示的样式 0.固定
1.顺时针 2.逆时针 3.闪烁
public intBorderSpeed;//边框流动的速度
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public stringWaterBorderBmpPath;//边框图片文件的路径,注意只能是bmp图片,图片大小必需是宽
度为32点,取高度小于等于8
};
//*********************************************************************************************
//**定时开关屏设置属性************************************************************************
publicstruct ONOFFTIMEINFO
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[] TimeFlag;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]StartHour;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]StartMinute;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]EndHour;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]EndMinute;
};
//********************************************************************************************
//**定时亮度设置属性**************************************************************************
public struct BRIGHTNESSTIMEINFO
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[] TimeFlag;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]StartHour;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]StartMinute;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]EndHour;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]EndMinute;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public int[]BrightnessValue;
};
//*******************************************************************************************
/********************************************************************************************
*LV_CreateProgram创建节目对象,返回类型为 HPROGRAM
*
*参数说明
*LedWidth屏的宽度
*LedHeight屏的高度
*ColorType屏的颜色 1.单色 2.双基色 3.七彩 4.全彩
*返回值
*0创建节目对象失败
*非0创建节目对象成功
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_CreateProgram", CharSet = CharSet.Unicode)]
public static extern int LV_CreateProgram(int LedWidth,int LedHeight,int ColorType);
/*********************************************************************************************
*LV_AddProgram添加一个节目
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*ProgramTime节目播放时长 0.节目播放时长 非0.指定播放时长
*LoopCount循环播放次数
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddProgram", CharSet = CharSet.Unicode)]
public static extern int LV_AddProgram(int hProgram,int ProgramNo,int ProgramTime,int LoopCount);
/*********************************************************************************************
*LV_SetProgramTime设置节目定时
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*pProgramTime节目定时属性,设置方式见PROGRAMTIME结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_SetProgramTime", CharSet = CharSet.Unicode)]
public static extern int LV_SetProgramTime(int hProgram,int ProgramNo,ref PROGRAMTIME pProgramTime);
/*********************************************************************************************
*LV_AddImageTextArea添加一个图文区域
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*pAreaRect区域坐标属性,设置方式见AREARECT结构体注示
*IsBackgroundArea是否为背景区域,0.前景区(默认) 1.背景区
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddImageTextArea", CharSet = CharSet.Unicode)]
public static extern int LV_AddImageTextArea(int hProgram, int ProgramNo, int AreaNo, ref AREARECT pAreaRect, int
IsBackgroundArea);
/*********************************************************************************************
*LV_AddFileToImageTextArea 添加一个文件到图文区
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*FilePath文件路径,支持的文件类型有 txt rtf bmp
gif png jpg jpeg tiff
*pPlayProp显示的属性,设置方式见PLAYPROP结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddFileToImageTextArea", CharSet = CharSet.Unicode)]
public static extern int LV_AddFileToImageTextArea(int hProgram,int ProgramNo,int AreaNo,string FilePath,ref
PLAYPROP pPlayProp);
/*********************************************************************************************
*LV_AddSingleLineTextToImageTextArea添加一个单行文本到图文区
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*AddType添加的类型 0.为字符串 1.文件(只支持txt
和rtf文件)
*AddStrAddType为0则为字符串数据,AddType为1则为文
件路径
*pFontProp如果AddType为字符串类型或AddType为文件类型
且文件为txt则可传入以赋值的该结构体,其它可赋NULL
*pPlayProp显示的属性,设置方式见PLAYPROP结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddSingleLineTextToImageTextArea", CharSet = CharSet.Unicode)]
public static extern int LV_AddSingleLineTextToImageTextArea(int hProgram,int ProgramNo,int AreaNo,int
AddType,string AddStr,ref FONTPROP pFontProp,ref PLAYPROP pPlayProp);
/*********************************************************************************************
*LV_AddMultiLineTextToImageTextArea添加一个多行文本到图文区
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*AddType添加的类型 0.为字符串 1.文件(只支持txt
和rtf文件)
*AddStrAddType为0则为字符串数据,AddType为1则为文
件路径
*pFontProp如果AddType为字符串类型或AddType为文件类型
且文件为txt则可传入以赋值的该结构体,其它可赋NULL
*pPlayProp显示的属性,设置方式见PLAYPROP结构体注示
*nAlignment水平对齐样式,0.左对齐 1.右对齐 2.水平居
中 (注意:只对字符串和txt文件有效)
*IsVCenter是否垂直居中 0.置顶(默认) 1.垂直居中
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddMultiLineTextToImageTextArea", CharSet = CharSet.Unicode)]
public static extern int LV_AddMultiLineTextToImageTextArea(int hProgram,int ProgramNo,int AreaNo,int
AddType,string AddStr,ref FONTPROP pFontProp,ref PLAYPROP pPlayProp,int nAlignment,int IsVCenter);
/*********************************************************************************************
*LV_AddStaticTextToImageTextArea添加一个静止文本到图文区
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*AddType添加的类型 0.为字符串 1.文件(只支持txt
和rtf文件)
*AddStrAddType为0则为字符串数据,AddType为1则为文
件路径
*pFontProp如果AddType为字符串类型或AddType为文件类型
且文件为txt则可传入以赋值的该结构体,其它可赋NULL
*DelayTime显示的时长 1~65535
*nAlignment水平对齐样式,0.左对齐 1.右对齐 2.水平居
中 (注意:只对字符串和txt文件有效)
*IsVCenter是否垂直居中 0.置顶(默认) 1.垂直居中
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddStaticTextToImageTextArea", CharSet = CharSet.Unicode)]
public static extern int LV_AddStaticTextToImageTextArea(int hProgram,int ProgramNo,int AreaNo,int AddType,string
AddStr,ref FONTPROP pFontProp,int DelayTime,int nAlignment,int IsVCenter);
/*********************************************************************************************
*LV_QuickAddSingleLineTextArea快速添加一个单行文本区域
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*pAreaRect区域坐标属性,设置方式见AREARECT结构体注示
*AddType添加的类型 0.为字符串 1.文件(只支持txt
和rtf文件)
*AddStrAddType为0则为字符串数据,AddType为1则为文
件路径
*pFontProp如果AddType为字符串类型或AddType为文件类型
且文件为txt则可传入以赋值的该结构体,其它可赋NULL
*nSpeed滚动速度 1~255
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_QuickAddSingleLineTextArea", CharSet = CharSet.Unicode)]
public static extern int LV_QuickAddSingleLineTextArea(int hProgram,int ProgramNo,int AreaNo,ref AREARECT
pAreaRect,int AddType,string AddStr,ref FONTPROP pFontProp,int nSpeed);
/*********************************************************************************************
*LV_AddDigitalClockArea添加一个数字时钟区域
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*pAreaRect区域坐标属性,设置方式见AREARECT结构体注示
*pDigitalClockAreaInfo数字时钟属性,见DIGITALCLOCKAREAINFO结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddDigitalClockArea", CharSet = CharSet.Unicode)]
public static extern int LV_AddDigitalClockArea(int hProgram,int ProgramNo,int AreaNo,ref AREARECT pAreaRect,ref
DIGITALCLOCKAREAINFO pDigitalClockAreaInfo);
/*********************************************************************************************
*LV_AddTimeArea添加一个计时区域
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*pAreaRect区域坐标属性,设置方式见AREARECT结构体注示
*pTimeAreaInfo计时属性,见TIMEAREAINFO结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddTimeArea", CharSet = CharSet.Unicode)]
public static extern int LV_AddTimeArea(int hProgram,int ProgramNo,int AreaNo,ref AREARECT pAreaRect,ref
TIMEAREAINFO pTimeAreaInfo);
/*********************************************************************************************
*LV_AddClockArea添加一个模拟时钟区域
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*pAreaRect区域坐标属性,设置方式见AREARECT结构体注示
*pClockAreaInfo模拟时钟属性,见CLOCKAREAINFO结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddClockArea", CharSet = CharSet.Unicode)]
public static extern int LV_AddClockArea(int hProgram,int ProgramNo,int AreaNo,ref AREARECT pAreaRect,ref
CLOCKAREAINFO pClockAreaInfo);
/*********************************************************************************************
*LV_AddWaterBorder添加一个流水边框区域
*
*参数说明
*hProgram节目对象句柄
*ProgramNo节目号
*AreaNo区域号
*pAreaRect区域坐标属性,设置方式见AREARECT结构体注示
*pWaterBorderInfo流水边框属性,见WATERBORDERINFO结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AddWaterBorder", CharSet = CharSet.Unicode)]
public static extern int LV_AddWaterBorder(int hProgram,int ProgramNo,int AreaNo,ref AREARECT pAreaRect,ref
WATERBORDERINFO pWaterBorderInfo);
/*********************************************************************************************
*LV_DeleteProgram销毁节目对象(注意:如果此节目对象不再使用,请调用
此函数销毁,否则会造成内存泄露)
*
*参数说明
*hProgram节目对象句柄
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_DeleteProgram", CharSet = CharSet.Unicode)]
public static extern void LV_DeleteProgram(int hProgram);
/*********************************************************************************************
*LV_Send发送节目,此发送为一对一发送
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*hProgram节目对象句柄
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_Send", CharSet = CharSet.Unicode)]
public static extern int LV_Send(ref COMMUNICATIONINFO pCommunicationInfo,int hProgram);
/*********************************************************************************************
*LV_TestOnline测试LED屏是否可连接上
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_TestOnline", CharSet = CharSet.Unicode)]
public static extern int LV_TestOnline(ref COMMUNICATIONINFO pCommunicationInfo);
/*********************************************************************************************
*LV_SetBasicInfo设置基本屏参
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*ColorType屏的颜色 1.单色 2.双基色 3.七彩 4.全彩
*LedWidth屏的宽度点数
*LedHeight屏的高度点数
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_SetBasicInfo", CharSet = CharSet.Unicode)]
public static extern int LV_SetBasicInfo(ref COMMUNICATIONINFO pCommunicationInfo,int ColorType,int LedWidth,int
LedHeight);
/*********************************************************************************************
*LV_SetOEDA设置OE DA
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*OeOE 0.低有效 1.高有效
*DaDA 0.负极性 1.正极性
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_SetOEDA", CharSet = CharSet.Unicode)]
public static extern int LV_SetOEDA(ref COMMUNICATIONINFO pCommunicationInfo,int Oe,int Da);
/*********************************************************************************************
*LV_AdjustTime校时
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_AdjustTime", CharSet = CharSet.Unicode)]
public static extern int LV_AdjustTime(ref COMMUNICATIONINFO pCommunicationInfo);
/*********************************************************************************************
*LV_PowerOnOff开关屏
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*OnOff开关值 0.关屏 1.开屏
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_PowerOnOff", CharSet = CharSet.Unicode)]
public static extern int LV_PowerOnOff(ref COMMUNICATIONINFO pCommunicationInfo,int OnOff);
/*********************************************************************************************
*LV_TimePowerOnOff定时开关屏
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*pTimeInfo定时开关屏属性,详见ONOFFTIMEINFO结构体注
示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_TimePowerOnOff", CharSet = CharSet.Unicode)]
public static extern int LV_TimePowerOnOff(ref COMMUNICATIONINFO pCommunicationInfo,ref ONOFFTIMEINFO pTimeInfo);
/*********************************************************************************************
*LV_SetBrightness设置亮度
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*BrightnessValue亮度值 0~15
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_SetBrightness", CharSet = CharSet.Unicode)]
public static extern int LV_SetBrightness(ref COMMUNICATIONINFO pCommunicationInfo,int BrightnessValue);
/*********************************************************************************************
*LV_TimeBrightness定时亮度
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*pBrightnessTimeInfo定时亮度属性,详见BRIGHTNESSTIMEINFO结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_TimeBrightness", CharSet = CharSet.Unicode)]
public static extern int LV_TimeBrightness(ref COMMUNICATIONINFO pCommunicationInfo,ref BRIGHTNESSTIMEINFO
pBrightnessTimeInfo);
/*********************************************************************************************
*LV_SetLanguage设置LED显示的语言
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*LanguageValue语言值 0.中文(默认) 1.英文
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_SetLanguage", CharSet = CharSet.Unicode)]
public static extern int LV_SetLanguage(ref COMMUNICATIONINFO pCommunicationInfo,int LanguageValue);
/*********************************************************************************************
*LV_LedTestLED测试
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*TestValue测试值
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_LedTest", CharSet = CharSet.Unicode)]
public static extern int LV_LedTest(ref COMMUNICATIONINFO pCommunicationInfo,int TestValue);
/*********************************************************************************************
*LV_TimeLockerLED定时锁屏
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*LockerYear锁屏年
*LockerMonth锁屏月
*LockerDay锁屏日
*LockerHour锁屏时
*LockerMinute锁屏分
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_TimeLocker", CharSet = CharSet.Unicode)]
public static extern int LV_TimeLocker(ref COMMUNICATIONINFO pCommunicationInfo,int LockerYear,int LockerMonth,int
LockerDay,int LockerHour,int LockerMinute);
/*********************************************************************************************
*LV_CancelLocker取消定时锁屏
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_CancelLocker", CharSet = CharSet.Unicode)]
public static extern int LV_CancelLocker(ref COMMUNICATIONINFO pCommunicationInfo);
/*********************************************************************************************
*LV_SetLedCommunicationParameter设置LED通讯参数
*
*参数说明
*pCommunicationInfo通讯参数,赋值方式见COMMUNICATIONINFO结构
体注示
*pLedCommunicationParameter详见LEDCOMMUNICATIONPARAMETER结构体注示
*返回值
*0成功
*非0失败,调用LV_GetError来获取错误信
息
********************************************************************************************/
[DllImport("lv_led.dll", EntryPoint = "LV_SetLedCommunicationParameter", CharSet = CharSet.Unicode)]
public static extern int LV_SetLedCommunicationParameter(ref COMMUNICATIONINFO pCommunicationInfo,ref
LEDCOMMUNICATIONPARAMETER pLedCommunicationParameter);
/*********************************************************************************************
*LV_GetError获取错误信息(只支持中文)
*
*参数说明
*nErrCode函数执行返回的错误代码
*返回值
* 错误信息字符串
********************************************************************************************/
public static string LS_GetError(int nErrCode)
{
string ErrStr;
switch(nErrCode)
{
case -1:
ErrStr="无效的节目句柄。";break;
case -2:
ErrStr = "节目已经存在。"; break;
case -3:
ErrStr = "指定的节目不存在。"; break;
case -4:
ErrStr = "定的区域不存在。"; break;
case -5:
ErrStr = "创建socket失败。"; break;
case -6:
ErrStr = "错误的回复包。"; break;
case -7:
ErrStr = "不支持的文件类型。"; break;
case -8:
ErrStr = "IP网关掩码或MAC字符串格式错误。"; break;
case -9:
ErrStr = "错误的波特率。"; break;
case -10:
ErrStr = "文件路径不存在。"; break;
case -11:
ErrStr = "区域重叠。"; break;
case -12:
ErrStr = "打开文件失败。"; break;
case -14:
ErrStr = "区域已存在。"; break;
case -15:
ErrStr = "无效的发送类型。"; break;
case -16:
ErrStr = "绘图失败。"; break;
case -17:
ErrStr = "创建文件夹失败。"; break;
case -30:
ErrStr = "打开串口失败。"; break;
case -31:
ErrStr = "设置串口超时失败。"; break;
case -32:
ErrStr = "设置串口缓冲区失败。"; break;
case -33:
ErrStr = "串口发送数据失败。"; break;
case -34:
ErrStr = "串口接收数据失败。"; break;
case -35:
ErrStr = "串口设置失败。"; break;
case -36:
ErrStr = "串口接收数据超时。"; break;
case -37:
ErrStr = "USB不支持群发。"; break;
case -38:
ErrStr = "发送取消。"; break;
case -100:
ErrStr = "网络连接失败。"; break;
case -101:
ErrStr = "网络发送失败。"; break;
case -102:
ErrStr = "网络接收数据失败。"; break;
case -103:
ErrStr = "bind失败。"; break;
case -104:
ErrStr = "无可用网卡。"; break;
case 0xc140:
ErrStr = "Logo与参屏大小不适应。"; break;
case 0xdaa3:
ErrStr = "控制器繁忙。"; break;
case 0xd5b0:
ErrStr = "固件程序型号不匹配。"; break;
case 0xd5b4:
ErrStr = "不是有效的固件程序。"; break;
case 0xdab8:
ErrStr = "节目颜色或屏宽高与控制卡屏参设定值不一致。"; break;
case 0xc1ba:
ErrStr = "超出控制卡带载。"; break;
case 0xdab5:
ErrStr = "节目数据大小超过允许的最大值。"; break;
default:
ErrStr = "未定义错误。"; break;
}
return ErrStr;
}
}
}