Esempio n. 1
0
        public void ShowLedNULL()
        {
            int nResult;

            LedDll.COMMUNICATIONINFO CommunicationInfo = new LedDll.COMMUNICATIONINFO(); //定义一通讯参数结构体变量用于对设定的LED通讯,具体对此结构体元素赋值说明见COMMUNICATIONINFO结构体定义部份注示

            CommunicationInfo.SendType  = 0;                                             //设为固定IP通讯模式,即TCP通讯
            CommunicationInfo.IpStr     = configString;                                  //给IpStr赋值LED控制卡的IP
            CommunicationInfo.LedNumber = 1;                                             //LED屏号为1,注意socket通讯和232通讯不识别屏号,默认赋1就行了,485必需根据屏的实际屏号进行赋值
            int hProgram;                                                                //节目句柄

            hProgram = LedDll.LV_CreateProgram(192, 64, 1);                              //根据传的参数创建节目句柄,64是屏宽点数,32是屏高点数,2是屏的颜色,注意此处屏宽高及颜色参数必需与设置屏参的屏宽高及颜色一致,否则发送时会提示错误
            //此处可自行判断有未创建成功,hProgram返回NULL失败,非NULL成功,一般不会失败

            nResult = LedDll.LV_AddProgram(hProgram, 1, 0, 1);//添加一个节目,参数说明见函数声明注示
            if (nResult != 0)
            {
                string ErrStr;
                ErrStr = LedDll.LS_GetError(nResult);
                MessageBox.Show(ErrStr);
                return;
            }
            LedDll.AREARECT AreaRect = new LedDll.AREARECT();//区域坐标属性结构体变量
            AreaRect.left   = 0;
            AreaRect.top    = 0;
            AreaRect.width  = 192;
            AreaRect.height = 64;

            LedDll.FONTPROP FontProp = new LedDll.FONTPROP();//文字属性
            FontProp.FontName  = "宋体";
            FontProp.FontSize  = 12;
            FontProp.FontColor = LedDll.COLOR_RED;
            FontProp.FontBold  = 0;
            //int nsize = System.Runtime.InteropServices.Marshal.SizeOf(typeof(LedDll.FONTPROP));

            nResult = LedDll.LV_QuickAddSingleLineTextArea(hProgram, 1, 1, ref AreaRect, LedDll.ADDTYPE_STRING, " ", ref FontProp, 4); //快速通过字符添加一个单行文本区域,

            nResult = LedDll.LV_Send(ref CommunicationInfo, hProgram);                                                                 //发送,见函数声明注示
            LedDll.LV_DeleteProgram(hProgram);                                                                                         //删除节目内存对象,详见函数声明注示
            if (nResult != 0)                                                                                                          //如果失败则可以调用LV_GetError获取中文错误信息
            {
                string ErrStr;
                ErrStr = LedDll.LS_GetError(nResult);
                MessageBox.Show(ErrStr);
            }
            else
            {
                //MessageBox.Show("发送成功");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// LED显示屏显示数据函数
        /// </summary>
        /// <param name="Words"></param>
        /// <param name="Train"></param>
        /// <param name="Cnumber"></param>
        public void ShowLEDMessage(string Words, string Train, string Cnumber)
        {
            int nResult;

            LedDll.COMMUNICATIONINFO CommunicationInfo = new LedDll.COMMUNICATIONINFO(); //定义一通讯参数结构体变量用于对设定的LED通讯

            CommunicationInfo.SendType  = 0;                                             //设为固定IP通讯模式,即TCP通讯
            CommunicationInfo.IpStr     = configString;                                  //给IpStr赋值LED控制卡的IP
            CommunicationInfo.LedNumber = 1;                                             //LED屏号为1

            int hProgram;                                                                //节目句柄

            hProgram = LedDll.LV_CreateProgram(192, 64, 1);                              //根据传的参数创建节目句柄,192是屏宽点数,64是屏高点数,1是屏的颜色(单色)
            //此处可自行判断有未创建成功,hProgram返回NULL失败,非NULL成功,一般不会失败

            nResult = LedDll.LV_AddProgram(hProgram, 1, 0, 1);//添加一个节目,参数说明见函数声明注示
            if (nResult != 0)
            {
                string ErrStr;
                ErrStr = LedDll.LS_GetError(nResult);
                MessageBox.Show(ErrStr);
                return;
            }
            LedDll.AREARECT AreaRect = new LedDll.AREARECT();//区域坐标属性结构体变量
            AreaRect.left   = 0;
            AreaRect.top    = 32;
            AreaRect.width  = 192;
            AreaRect.height = 32;

            LedDll.FONTPROP FontProp = new LedDll.FONTPROP();//文字属性
            FontProp.FontName  = "宋体";
            FontProp.FontSize  = 12;
            FontProp.FontColor = LedDll.COLOR_RED;
            FontProp.FontBold  = 0;

            LedDll.PLAYPROP PlayProp = new LedDll.PLAYPROP();
            PlayProp.InStyle = 2;
            PlayProp.Speed   = 4;
            //可以添加多个子项到图文区,如下添加可以选一个或多个添加
            nResult = LedDll.LV_QuickAddSingleLineTextArea(hProgram, 1, 1, ref AreaRect, LedDll.ADDTYPE_STRING, Words, ref FontProp, 4);//通过字符串添加一个多行文本到图文区,参数说明见声明注示



            AreaRect.left   = 0;
            AreaRect.top    = 0;
            AreaRect.width  = 42;
            AreaRect.height = 32;

            LedDll.LV_AddImageTextArea(hProgram, 1, 2, ref AreaRect, 0);


            FontProp.FontName  = "宋体";
            FontProp.FontSize  = 12;
            FontProp.FontColor = LedDll.COLOR_RED;
            FontProp.FontBold  = 0;


            PlayProp.InStyle = 0;
            //可以添加多个子项到图文区,如下添加可以选一个或多个添加
            nResult = LedDll.LV_AddMultiLineTextToImageTextArea(hProgram, 1, 2, LedDll.ADDTYPE_STRING, Train, ref FontProp, ref PlayProp, 2, 1);//通过字符串添加一个多行文本到图文区,参数说明见声明注示

            AreaRect.left   = 58;
            AreaRect.top    = 0;
            AreaRect.width  = 66;
            AreaRect.height = 32;

            LedDll.DIGITALCLOCKAREAINFO DigitalClockAreaInfo = new LedDll.DIGITALCLOCKAREAINFO();
            DigitalClockAreaInfo.TimeColor = LedDll.COLOR_RED;

            DigitalClockAreaInfo.ShowStrFont.FontName = "宋体";
            DigitalClockAreaInfo.ShowStrFont.FontSize = 12;
            DigitalClockAreaInfo.IsShowHour           = 1;
            DigitalClockAreaInfo.IsShowMinute         = 1;
            DigitalClockAreaInfo.IsShowSecond         = 1;
            DigitalClockAreaInfo.TimeFormat           = 2;
            //可以添加多个子项到图文区,如下添加可以选一个或多个添加
            nResult = LedDll.LV_AddDigitalClockArea(hProgram, 1, 3, ref AreaRect, ref DigitalClockAreaInfo);//注意区域号不能一样,详见函数声明注示

            AreaRect.left   = 140;
            AreaRect.top    = 5;
            AreaRect.width  = 28;
            AreaRect.height = 22;

            LedDll.LV_AddImageTextArea(hProgram, 1, 4, ref AreaRect, 0);
            //可以添加多个子项到图文区,如下添加可以选一个或多个添加
            nResult = LedDll.LV_AddFileToImageTextArea(hProgram, 1, 4, "test.png", ref PlayProp);

            AreaRect.left   = 169;
            AreaRect.top    = 0;
            AreaRect.width  = 23;
            AreaRect.height = 32;

            LedDll.LV_AddImageTextArea(hProgram, 1, 5, ref AreaRect, 0);


            FontProp.FontName  = "宋体";
            FontProp.FontSize  = 12;
            FontProp.FontColor = LedDll.COLOR_RED;
            FontProp.FontBold  = 0;


            PlayProp.InStyle = 0;
            //可以添加多个子项到图文区,如下添加可以选一个或多个添加
            nResult = LedDll.LV_AddMultiLineTextToImageTextArea(hProgram, 1, 5, LedDll.ADDTYPE_STRING, Cnumber, ref FontProp, ref PlayProp, 2, 1);//通过字符串添加一个多行文本到图文区,参数说明见声明注示


            nResult = LedDll.LV_Send(ref CommunicationInfo, hProgram); //发送,见函数声明注示
            LedDll.LV_DeleteProgram(hProgram);                         //删除节目内存对象,详见函数声明注示
            if (nResult != 0)                                          //如果失败则可以调用LV_GetError获取中文错误信息
            {
                string ErrStr;
                ErrStr = LedDll.LS_GetError(nResult);
                MessageBox.Show(ErrStr);
            }
            else
            {
                // MessageBox.Show("发送成功");
            }
        }