技术文摘更多

精品内容

  • 代码片段html+css+jquery 实现超帅留言墙效果!超帅,不喜勿喷!附完整demo
  • 预览地址:https:ktblog.top/html/msg.html
  • 2021/4/23 15:49:42679
阅读更多
  • 技术文摘c#如何集成控制Led屏,实现数据发送自动开机、关机等操作!
  • BX_IV.dll 从附件中下载!!!软件运行截图​1、主程序源码:using System; using System.Collectio.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace LedDemoNew { public partial class Form1 : Form { public Form1() { InitializeComponent(); } LedHelper led; private void button35_Click(object sender, EventArgs e) { led = new LedHelper(richTextBox1, textBox1.Text.Split(';')); LedHelper.InitDLL();初始化dll led.InitDLL(this.Handle); } private void button1_Click(object sender, EventArgs e) { led.AddScream(); } private void button15_Click(object sender, EventArgs e) { led.DeleteScreenProgram(0);先删除节目再添加 led.AddScreamProgram(); 添加节目 } ScreenPointConfig[] pConfig = null; private void button17_Click(object sender, EventArgs e) { pConfig = new ScreenPointConfig[]{ new ScreenPointConfig(0,2,288,25,14), new ScreenPointConfig(0,27,288,98,11), new ScreenPointConfig(0,125,288,17,10), new ScreenPointConfig(0,142,288,17,10), new ScreenPointConfig(0,160,288,16,10) }; if (pConfig[1].ShowStyle == 1) { pConfig[1].ShowStyle = 2; } if (pConfig[3].ShowStyle == 1) { pConfig[3].ShowStyle = 2; } led.AddScreenProgramBmpTextArea(0, new Rectangle(0, 0, 160, 32)); 头部 } private void button34_Click(object sender, EventArgs e) { led.AddScreenProgramAreaBmpTextText(0, 0, richTextBox_content.Text, 12, 2);ToLedTitleString(PubObj.StoreName) } private void button12_Click(object sender, EventArgs e) { led.SendScreenInfo(); } private void button4_Click(object sender, EventArgs e) { led.Opecreen(); } private void button5_Click(object sender, EventArgs e) { led.CloseScreen(); } private void Form1_Load(object sender, EventArgs e) { } } public class ScreenPointConfig { public ScreenPointConfig(int x, int y, int w, int h, int fontSize) { this.X = x; this.Y = y; this.W = w; this.H = h; this.FontSize = fontSize; } public ScreenPointConfig(int x, int y, int w, int h, int fontSize, int showStyle) : this(x, y, w, h, fontSize) { this.ShowStyle = showStyle; } public int X; public int Y; public int W; public int H; public int FontSize; public int ShowStyle = 1; } } 2、LedHelper.cs 类using System; using System.Collectio.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; using System.Windows.Forms; using System.Drawing; public class LedHelper { <summary> RichTextBox rbError,int controlType,int screenNo,string socketIp,int screenWeight,int screenHeight <ummary> <param name="rbError"></param> public LedHelper(RichTextBox rbError, params string[] arr) { rchMessage = rbError; try { this.controlType = Convert.ToInt32(arr[0], 16); this.SCREEN_NO = Convert.ToInt32(arr[1]); this.SCREEN_SOCKETIP = arr[2]; this.SCREEN_WIDTH = Convert.ToInt32(arr[3]); this.SCREEN_HEIGHT = Convert.ToInt32(arr[4]); } catch { } } #region 定义回调 public delegate void CallBack(string szMessagge, int nProgress); 声明回调 private CallBack callBack; /*------------------------------------------------------------------------------- 过程名: Initialize 初始化动态库;该函数不与显示屏通讯。 参数: 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int Initialize(IntPtr DLLApp, CallBack pCallBack); 初始化动态库 /*------------------------------------------------------------------------------- 过程名: Uninitialize 释放动态库;该函数不与显示屏通讯。 参数: 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int Uninitialize(); 释放动态库 /*------------------------------------------------------------------------------- 过程名: AddScreen 向动态库中添加显示屏信息;该函数不与显示屏通讯,只用于动态库中的指定显示屏参数信息配置。 参数: nControlType :显示屏的控制器型号;详见宏定义“控制器型号定义” Controller_BX_5AT = 0x0051; Controller_BX_5A0 = 0x0151; Controller_BX_5A1 = 0x0251; Controller_BX_5A2 = 0x0351; Controller_BX_5A3 = 0x0451; Controller_BX_5A4 = 0x0551; Controller_BX_5A1_WIFI = 0x0651; Controller_BX_5A2_WIFI = 0x0751; Controller_BX_5A4_WIFI = 0x0851; Controller_BX_5A = 0x0951; Controller_BX_5A2_RF = 0x1351; Controller_BX_5A4_RF = 0x1551; Controller_BX_5AT_WIFI = 0x1651; Controller_BX_5AL = 0x1851; Controller_AX_AT = 0x2051; Controller_AX_A0 = 0x2151; Controller_BX_5MT = 0x0552; Controller_BX_5M1 = 0x0052; Controller_BX_5M1X = 0x0152; Controller_BX_5M2 = 0x0252; Controller_BX_5M3 = 0x0352; Controller_BX_5M4 = 0x0452; Controller_BX_5E1 = 0x0154; Controller_BX_5E2 = 0x0254; Controller_BX_5E3 = 0x0354; Controller_BX_5UT = 0x0055; Controller_BX_5U0 = 0x0155; Controller_BX_5U1 = 0x0255; Controller_BX_5U2 = 0x0355; Controller_BX_5U3 = 0x0455; Controller_BX_5U4 = 0x0555; Controller_BX_5U5 = 0x0655; Controller_BX_5U = 0x0755; Controller_BX_5UL = 0x0855; Controller_AX_UL = 0x2055; Controller_AX_UT = 0x2155; Controller_AX_U0 = 0x2255; Controller_AX_U1 = 0x2355; Controller_AX_U2 = 0x2455; Controller_BX_5Q0 = 0x0056; Controller_BX_5Q1 = 0x0156; Controller_BX_5Q2 = 0x0256; Controller_BX_5Q0P = 0x1056; Controller_BX_5Q1P = 0x1156; Controller_BX_5Q2P = 0x1256; Controller_BX_5QL = 0x1356; Controller_BX_5QS1 = 0x0157; Controller_BX_5QS2 = 0x0257; Controller_BX_5QS = 0x0357; Controller_BX_5QS1P = 0x1157; Controller_BX_5QS2P = 0x1257; Controller_BX_5QSP = 0x1357; creenNo :显示屏屏号;该参数与LedshowTW 2013软件中"设置屏参"模块的"屏号"参数一致。 endMode :与显示屏的通讯模式; 0:串口模式、BX-5A2&RF、BX-5A4&RF等控制器为RF串口无线模式; 1:GP模式 2:网络模式 4:WiFi模式 5:ONBON服务器-GP 6:ONBON服务器-3G nWidth :显示屏宽度 16的整数倍;最小64;BX-5E系列最小为80 nHeight :显示屏高度 16的整数倍;最小16; creenType :显示屏类型;1:单基色;2:双基色; 3:双基色;注意:该显示屏类型只有BX-4MC支持;同时该型号控制器不支持其它显示屏类型。 4:全彩色;注意:该显示屏类型只有BX-5Q系列支持;同时该型号控制器不支持其它显示屏类型。 5:双基色灰度;注意:该显示屏类型只有BX-5QS支持;同时该型号控制器不支持其它显示屏类型。 nPixelMode :点阵类型;1:R+G;2:G+R;该参数只对双基色屏有效 ;默认为2; nDataDA :数据极性;,0x00:数据低有效,0x01:数据高有效;默认为0; nDataOE :OE极性; 0x00:OE 低有效;0x01:OE 高有效;默认为0; nRowOrder :行序模式;0:正常;1:加1行;2:减1行;默认为0; nFreqPar :扫描点频;0~6;默认为0; pCom :串口名称;串口通讯模式时有效;例:COM1 nBaud :串口波特率:目前支持9600、57600;默认为57600; pSocketIP :控制卡IP地址,网络通讯模式时有效;例:192.168.0.199; 本动态库网络通讯模式时只支持固定IP模式,单机直连和网络服务器模式不支持。 ocketPort :控制卡网络端口;网络通讯模式时有效;例:5005 erverMode :0:服务器模式未启动;1:服务器模式启动。 pBarcode :设备条形码 pNetworkID :服务器模式时的网络ID编号 pServerIP :中转服务器IP地址 erverPort :中转服务器网络端口 pServerAccessUser:中转服务器访问用户名 pServerAccessPassword:中转服务器访问密码 pWiFiIP :控制器WiFi模式的IP地址信息;WiFi通讯模式时有效;例:192.168.100.1 nWiFiPort :控制卡WiFi端口;WiFi通讯模式时有效;例:5005 pGpIP :GP服务器IP地址 nGpPort :GP服务器端口 pGpID :GP编号 pScreetatusFile:用于保存查询到的显示屏状态参数保存的INI文件名; 只有执行查询显示屏状态GetScreetatus时,该参数才有效 pCallBack :返回发送的消息和进度 类型为 TCallBackFunc = procedure(szMessagge:string;nProgress:integer); stdcall; 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int AddScreen(int nControlType, int creenNo, int endMode, int nWidth, int nHeight, int creenType, int nPixelMode, int nDataDA, int nDataOE, int nRowOrder, int DataFlow, int nFreqPar, string pCom, int nBaud, string pSocketIP, int ocketPort, int taticIPMode, int erverMode, string pBarcode, string pNetworkID, string pServerIP, int erverPort, string pServerAccessUser, string pServerAccessPassword, string pWiFiIP, int nWiFiPort, string pGpIP, int nGpPort, string pGpID, string pScreetatusFile); 添加屏显 /*------------------------------------------------------------------------------- 过程名: DeleteScreen 删除指定显示屏信息,删除显示屏成功后会将该显示屏下所有节目信息从动态库中删除。 该函数不与显示屏通讯,只用于动态库中的指定显示屏参数信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------}*/ [DllImport("BX_IV.dll")] public static extern int DeleteScreen(int creenNo);删除屏显 /*------------------------------------------------------------------------------- 过程名: SendScreenInfo 通过指定的通讯模式,发送相应信息、命令到显示屏。该函数与显示屏进行通讯 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 endCmd :通讯命令值 SEND_CMD_PARAMETER =41471; 加载屏参数。 SEND_CMD_SENDALLPROGRAM = 41456; 发送所有节目信息。 SEND_CMD_POWERON =41727; 强制开机 SEND_CMD_POWEROFF = 41726; 强制关机 SEND_CMD_TIMERPOWERONOFF = 41725; 定时开关机 SEND_CMD_CANCEL_TIMERPOWERONOFF = 41724; 取消定时开关机 SEND_CMD_RESIVETIME = 41723; 校正时间。 SEND_CMD_ADJUSTLIGHT = 41722; 亮度调整。 nOtherParam1 :保留参数;0 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int SendScreenInfo(int creenNo, int endCmd, int nOtherParam1);发送相应命令到显示屏。 /*------------------------------------------------------------------------------- 过程名: AddScreenProgram 向动态库中指定显示屏添加节目;该函数不与显示屏通讯,只用于动态库中的指定显示屏节目信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramType :节目类型;0正常节目。 nPlayLength :0:表示自动顺序播放;否则表示节目播放的长度;范围1~65535;单位秒 tartYear :节目的生命周期;开始播放时间年份。如果为无限制播放的话该参数值为65535;如2010 tartMonth :节目的生命周期;开始播放时间月份。如11 tartDay :节目的生命周期;开始播放时间日期。如26 nEndYear :节目的生命周期;结束播放时间年份。如2011 nEndMonth :节目的生命周期;结束播放时间月份。如11 nEndDay :节目的生命周期;结束播放时间日期。如26 nMonPlay :节目在生命周期内星期一是否播放;0:不播放;1:播放. nTuesPlay :节目在生命周期内星期二是否播放;0:不播放;1:播放. nWedPlay :节目在生命周期内星期二是否播放;0:不播放;1:播放. nThuPlay :节目在生命周期内星期二是否播放;0:不播放;1:播放. bFriPlay :节目在生命周期内星期二是否播放;0:不播放;1:播放. atPlay :节目在生命周期内星期二是否播放;0:不播放;1:播放. unPlay :节目在生命周期内星期二是否播放;0:不播放;1:播放. tartHour :节目在当天开始播放时间小时。如8 tartMinute :节目在当天开始播放时间分钟。如0 nEndHour :节目在当天结束播放时间小时。如18 nEndMinute :节目在当天结束播放时间分钟。如0 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int AddScreenProgram(int creenNo, int nProgramType, int nPlayLength, int tartYear, int tartMonth, int tartDay, int nEndYear, int nEndMonth, int nEndDay, int nMonPlay, int nTuesPlay, int nWedPlay, int nThuPlay, int bFriPlay, int atPlay, int unPlay, int tartHour, int tartMinute, int nEndHour, int nEndMinute); 向指定显示屏添加节目; /*------------------------------------------------------------------------------- 过程名: DeleteScreenProgram 删除指定显示屏指定节目,删除节目成功后会将该节目下所有区域信息删除。 该函数不与显示屏通讯,只用于动态库中的指定显示屏指定节目信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int DeleteScreenProgram(int creenNo, int nProgramOrd); 删除节目 /*------------------------------------------------------------------------------- 过程名: DeleteScreenProgramArea 删除指定显示屏指定节目的指定区域,删除区域成功后会将该区域下所有信息删除。 该函数不与显示屏通讯,只用于动态库中指定显示屏指定节目中指定的区域信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nAreaOrd :区域序号;该序号按照区域添加顺序,从0顺序递增,如删除中间的区域,后面的区域序号自动填充。 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int DeleteScreenProgramArea(int creenNo, int nProgramOrd, int nAreaOrd);删除区域 /*------------------------------------------------------------------------------- 过程名: AddScreenProgramBmpTextArea: 向动态库中指定显示屏的指定节目添加图文区域;该函数不与显示屏通讯,只用于动态库中的指定显示屏指定节目中的图文区域信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nX :区域的横坐标;显示屏的左上角的横坐标为0;最小值为0 nY :区域的纵坐标;显示屏的左上角的纵坐标为0;最小值为0 nWidth :区域的宽度;最大值不大于显示屏宽度-nX nHeight :区域的高度;最大值不大于显示屏高度-nY 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramBmpTextArea(int creenNo, int nProgramOrd, int nX, int nY, int nWidth, int nHeight);向指定显示屏指定节目添加图文区; /*------------------------------------------------------------------------------- 过程名: AddScreenProgramAreaBmpTextFile 向动态库中指定显示屏的指定节目的指定图文区域添加文件; 该函数不与显示屏通讯,只用于动态库中的指定显示屏指定节目中指定图文区域的文件信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nAreaOrd :区域序号;该序号按照区域添加顺序,从0顺序递增,如删除中间的区域,后面的区域序号自动填充。 pFileName :文件名称 支持.bmp,jpg,jpeg,rtf,txt等文件类型。 howSingle :单、多行显示;1:单行显示;0:多行显示;该参数只有在pFileName为txt类型文件时该参数才有效。 pFontName :字体名称;支持当前操作系统已经安装的矢量字库;该参数只有pFileName为txt类型文件时该参数才有效。 nFontSize :字体字号;支持当前操作系统的字号;该参数只有pFileName为txt类型文件时该参数才有效。 nBold :字体粗体;支持1:粗体;0:正常;该参数只有pFileName为txt类型文件时该参数才有效。 nFontColor :字体颜色;该参数只有pFileName为txt类型文件时该参数才有效。 tunt :显示特技。 0x00:随机显示 0x01:静态 0x02:快速打出 0x03:向左移动 0x04:向左连移 0x05:向上移动 3T类型控制卡无此特技 0x06:向上连移 3T类型控制卡无此特技 0x07:闪烁 3T类型控制卡无此特技 0x08:飘雪 0x09:冒泡 0x0A:中间移出 0x0B:左右移入 0x0C:左右交叉移入 0x0D:上下交叉移入 0x0E:画卷闭合 0x0F:画卷打开 0x10:向左拉伸 0x11:向右拉伸 0x12:向上拉伸 0x13:向下拉伸 3T类型控制卡无此特技 0x14:向左镭射 0x15:向右镭射 0x16:向上镭射 0x17:向下镭射 0x18:左右交叉拉幕 0x19:上下交叉拉幕 0x1A:分散左拉 0x1B:水平百页 3T、3A、4A、3A1、3A2、4A1、4A2、4A3、4AQ类型控制卡无此特技 0x1C:垂直百页 3T、3A、4A、3A1、3A2、4A1、4A2、4A3、4AQ、3M、4M、4M1、4MC类型控制卡无此特技 0x1D:向左拉幕 3T、3A、4A类型控制卡无此特技 0x1E:向右拉幕 3T、3A、4A类型控制卡无此特技 0x1F:向上拉幕 3T、3A、4A类型控制卡无此特技 0x20:向下拉幕 3T、3A、4A类型控制卡无此特技 0x21:左右闭合 3T类型控制卡无此特技 0x22:左右对开 3T类型控制卡无此特技 0x23:上下闭合 3T类型控制卡无此特技 0x24:上下对开 3T类型控制卡无此特技 0x25:向右连移 0x26:向右连移 0x27:向下移动 3T类型控制卡无此特技 0x28:向下连移 3T类型控制卡无此特技 nRupeed :运行速度;0~63;值越大运行速度越慢。 howTime :停留时间;0~65525;单位0.5秒 返回值: :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramAreaBmpTextFile(int creenNo, int nProgramOrd, int nAreaOrd, string pFileName, int howSingle, string pFontName, int nFontSize, int nBold, int nFontColor, int tunt, int nRupeed, int howTime); 向指定显示屏指定节目指定区域添加文件 /*------------------------------------------------------------------------------- 过程名: AddScreenProgramAreaBmpTextText 向动态库中指定显示屏的指定节目的指定图文区域添加文本; 该函数不与显示屏通讯,只用于动态库中的指定显示屏指定节目中指定图文区域的文件信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nAreaOrd :区域序号;该序号按照区域添加顺序,从0顺序递增,如删除中间的区域,后面的区域序号自动填充。 pText :文本 howSingle :单、多行显示;1:单行显示;0:多行显示;该参数只有在pFileName为txt类型文件时该参数才有效。 pFontName :字体名称;支持当前操作系统已经安装的矢量字库;该参数只有pFileName为txt类型文件时该参数才有效。 nFontSize :字体字号;支持当前操作系统的字号;该参数只有pFileName为txt类型文件时该参数才有效。 nBold :字体粗体;支持1:粗体;0:正常;该参数只有pFileName为txt类型文件时该参数才有效。 nFontColor :字体颜色;该参数只有pFileName为txt类型文件时该参数才有效。 tunt :显示特技。 0x00:随机显示 0x01:静态 0x02:快速打出 0x03:向左移动 0x04:向左连移 0x05:向上移动 3T类型控制卡无此特技 0x06:向上连移 3T类型控制卡无此特技 0x07:闪烁 3T类型控制卡无此特技 0x08:飘雪 0x09:冒泡 0x0A:中间移出 0x0B:左右移入 0x0C:左右交叉移入 0x0D:上下交叉移入 0x0E:画卷闭合 0x0F:画卷打开 0x10:向左拉伸 0x11:向右拉伸 0x12:向上拉伸 0x13:向下拉伸 3T类型控制卡无此特技 0x14:向左镭射 0x15:向右镭射 0x16:向上镭射 0x17:向下镭射 0x18:左右交叉拉幕 0x19:上下交叉拉幕 0x1A:分散左拉 0x1B:水平百页 3T、3A、4A、3A1、3A2、4A1、4A2、4A3、4AQ类型控制卡无此特技 0x1C:垂直百页 3T、3A、4A、3A1、3A2、4A1、4A2、4A3、4AQ、3M、4M、4M1、4MC类型控制卡无此特技 0x1D:向左拉幕 3T、3A、4A类型控制卡无此特技 0x1E:向右拉幕 3T、3A、4A类型控制卡无此特技 0x1F:向上拉幕 3T、3A、4A类型控制卡无此特技 0x20:向下拉幕 3T、3A、4A类型控制卡无此特技 0x21:左右闭合 3T类型控制卡无此特技 0x22:左右对开 3T类型控制卡无此特技 0x23:上下闭合 3T类型控制卡无此特技 0x24:上下对开 3T类型控制卡无此特技 0x25:向右连移 0x26:向右连移 0x27:向下移动 3T类型控制卡无此特技 0x28:向下连移 3T类型控制卡无此特技 nRupeed :运行速度;0~63;值越大运行速度越慢。 howTime :停留时间;0~65525;单位0.5秒 返回值: :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramAreaBmpTextText(int creenNo, int nProgramOrd, int nAreaOrd, string pText, int howSingle, int nHorAlign, int VerAlign, string pFontName, int nFontSize, int nBold, int nItalic, int Underline, int nFontColor, int tunt, int nRupeed, int howTime, int tretch, int hift); /*------------------------------------------------------------------------------- 过程名: DeleteScreenProgramAreaBmpTextFile 删除指定显示屏指定节目指定图文区域的指定文件,删除文件成功后会将该文件信息删除。 该函数不与显示屏通讯,只用于动态库中的指定显示屏指定节目指定区域中的指定文件信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nAreaOrd :区域序号;该序号按照区域添加顺序,从0顺序递增,如删除中间的区域,后面的区域序号自动填充。 nFileOrd :文件序号;该序号按照文件添加顺序,从0顺序递增,如删除中间的文件,后面的文件序号自动填充。 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int DeleteScreenProgramAreaBmpTextFile(int creenNo, int nProgramOrd, int nAreaOrd, int nFileOrd); 删除指定显示屏指定节目指定图文区域的指定文件,删除文件成功后会将该文件信息删除 /*------------------------------------------------------------------------------- 过程名: QuerryServerDeviceList 查询中转服务器设备的列表信息。 该函数与显示屏进行通讯 参数: creenNo, endMode: Integer creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 endMode :与显示屏的通讯模式; 0:串口模式、BX-5A2&RF、BX-5A4&RF等控制器为RF串口无线模式; 2:网络模式; 4:WiFi模式 5:ONBON服务器-GP 6:ONBON服务器-3G pDeviceList : 保存查询的设备列表信息 将设备的信息用组成字符串, 比如: 设备1:名称 条形码 状态 类型 网络ID 设备2:名称 条形码 状态 类型 网络ID 组成字符串为:'设备1名称,设备1条形码,设备1状态,设备1类型,设备1网络ID;设备2名称,设备2条形码,设备2状态,设备2类型,设备2网络ID' 设备状态(Byte): $10:设备未知 $11:设备在线 $12:设备不在线 设备类型(Byte): $16:设备为2G $17:设备为3G pDeviceCount : 查询的设备个数 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int QuerryServerDeviceList(int creenNo, int endMode, byte[] pDeviceList, ref int nDeviceCount); /*------------------------------------------------------------------------------- 过程名: BindServerDevice 绑定中转服务器设备。 该函数不与显示屏进行通讯 参数: creenNo, endMode: Integer creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 pBarcode :绑定设备的条形码; pNetworkId :绑定设备的网络ID; 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int BindServerDevice(int creenNo, string pBarcode, string pNetworkId); private cot int RETURN_ERROR_AERETYPE = 0xF7;区域类型错误,在添加、删除图文区域文件时区域类型出错返回此类型错误。 private cot int RETURN_ERROR_RA_SCREENNO = 0xF8; 已经有该显示屏信息。如要重新设定请先DeleteScreen删除该显示屏再添加; private cot int RETURN_ERROR_NOFIND_AREAFILE = 0xF9; 没有找到有效的区域文件(图文区域); private cot int RETURN_ERROR_NOFIND_AREA = 0xFA; 没有找到有效的显示区域;可以使用AddScreenProgramBmpTextArea添加区域信息。 private cot int RETURN_ERROR_NOFIND_PROGRAM = 0xFB; 没有找到有效的显示屏节目;可以使用AddScreenProgram函数添加指定节目 private cot int RETURN_ERROR_NOFIND_SCREENNO = 0xFC; 系统内没有查找到该显示屏;可以使用AddScreen函数添加显示屏 private cot int RETURN_ERROR_NOW_SENDING = 0xFD; 系统内正在向该显示屏通讯,请稍后再通讯; private cot int RETURN_ERROR_NOSUPPORT_USB = 0xF6; 不支持USB模式; private cot int RETURN_ERROR_NO_USB_DISK = 0xF5; 找不到usb设备路径; private cot int RETURN_ERROR_OTHER = 0xFF; 其它错误; private cot int RETURN_NOERROR = 0; 没有错误 /*------------------------------------------------------------------------------- 过程名: SetScreenAdjustLight 设定显示屏的亮度调整参数,该函数可设置手工调亮和定时调亮两种模式。该函数不与显示屏通讯, 只用于动态库中对指定显示屏的亮度调整信息配置。如需将设定的亮度调整值发送到显示屏上, 只需使用SendScreenInfo函数发送亮度调整命令即可。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nAdjustType :亮度调整类型;0:手工调亮;1:定时调亮 nHandleLight:手工调亮的亮度值,只有nAdjustType=0时该参数有效。 nHour1 :第一组定时调亮时间的小时 nMinute1 :第一组定时调亮时间的分钟 nLight1 :第一组定时调亮的亮度值 nHour2 :第二组定时调亮时间的小时 nMinute2 :第二组定时调亮时间的分钟 nLight2 :第二组定时调亮的亮度值 nHour3 :第三组定时调亮时间的小时 nMinute3 :第三组定时调亮时间的分钟 nLight3 :第三组定时调亮的亮度值 nHour4 :第四组定时调亮时间的小时 nMinute4 :第四组定时调亮时间的分钟 nLight4 :第四组定时调亮的亮度值 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int SetScreenAdjustLight(int creenNo, int nAdjustType, int nHandleLight, int nHour1, int nMinute1, int nLight1, int nHour2, int nMinute2, int nLight2, int nHour3, int nMinute3, int nLight3, int nHour4, int nMinute4, int nLight4); /*------------------------------------------------------------------------------- 过程名: SetScreenTimerPowerONOFF 设定显示屏的定时开关机参数,可以设置3组开关机时间。该函数不与显示屏通讯, 只用于动态库中对指定显示屏的定时开关机信息配置。如需将设定的定时开关值发送到显示屏上, 只需使用SendScreenInfo函数发送定时开关命令即可。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nOnHour1 :第一组定时开关的开机时间的小时 nOnMinute1 :第一组定时开关的开机时间的分钟 nOffHour1 :第一组定时开关的关机时间的小时 nOffMinute1 :第一组定时开关的关机时间的分钟 nOnHour2 :第二组定时开关的开机时间的小时 nOnMinute2 :第二组定时开关的开机时间的分钟 nOffHour2 :第二组定时开关的关机时间的小时 nOffMinute2 :第二组定时开关的关机时间的分钟 nOnHour3 :第三组定时开关的开机时间的小时 nOnMinute3 :第三组定时开关的开机时间的分钟 nOffHour3 :第三组定时开关的关机时间的小时 nOffMinute3 :第三组定时开关的关机时间的分钟 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int SetScreenTimerPowerONOFF(int creenNo, int nOnHour1, int nOnMinute1, int nOffHour1, int nOffMinute1, int nOnHour2, int nOnMinute2, int nOffHour2, int nOffMinute2, int nOnHour3, int nOnMinute3, int nOffHour3, int nOffMinute3); /* 过程名: AddScreenProgramTimeArea 向动态库中指定显示屏的指定节目添加时间区域;该函数不与显示屏通讯,只用于动态库中的指定显示屏指定节目中的时间区域信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nX :区域的横坐标;显示屏的左上角的横坐标为0;最小值为0 nY :区域的纵坐标;显示屏的左上角的纵坐标为0;最小值为0 nWidth :区域的宽度;最大值不大于显示屏宽度-nX nHeight :区域的高度;最大值不大于显示屏高度-nY 返回值 :详见返回状态代码定义。 -----------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramTimeArea(int creenNo, int nProgramOrd, int nX, int nY, int nWidth, int nHeight); /*-------------------------------------------------------------------------- 过程名: AddScreenProgramTimeAreaFile 向动态库中指定显示屏的指定节目的指定时间区域属性;该函数不与显示屏通讯, 只用于动态库中的指定显示屏指定节目中指定时间区域属性信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nAreaOrd :区域序号;该序号按照区域添加顺序,从0顺序递增,如删除中间的区域,后面的区域序号自动填充。 pInputtxt :固定文字 pFontName :文字的字体 ingal :单行多行,0为单行 1为多行,单行模式下nAlign不起作用 nAlign :文字对齐模式,对多行有效,0为左1为中2为右 nFontSize :文字的大小 nBold :是否加粗,0为不1为是 nItalic :是否斜体,0为不1为是 nUnderline :是否下滑线,0为不1为是 nUsetxt :是否使用固定文字,0为不1为是 nTxtcolor :固定文字颜色,传递颜色的10进制 红255 绿65280 黄65535 nUseymd :是否使用年月日,0为不1为是 nYmdstyle :年月日格式,详见使用说明文档的附件1 nYmdcolor :年月日颜色,传递颜色的10进制 nUseweek :是否使用星期,0为不1为是 nWeekstyle :星期格式,详见使用说明文档的附件1 nWeekcolor :星期颜色,传递颜色的10进制 nUseh :是否使用时分秒,0为不1是 nHtyle :时分秒格式,详见使用说明文档的附件1 nHcolor :时分秒颜色,传递颜色的10进制 nAutoset :是否自动设置大小对应宽度,0为不1为是(默认不使用) 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------} ---------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramTimeAreaFile(int creenNo, int nProgramOrd, int nAreaOrd, string pInputtxt, string pFontName, int ingal, int nAlign, int nFontSize, int nBold, int nItalic, int nUnderline, int nUsetxt, int nTxtcolor, int nUseymd, int nYmdstyle, int nYmdcolor, int nUseweek, int nWeekstyle, int nWeekcolor, int nUseh, int nHtyle, int nHcolor, int nAutoset); /*----------------------------------------------------------------------- 过程名: AddScreenProgramLunarArea 向动态库中指定显示屏的指定节目添加农历区域;该函数不与显示屏通讯,只用于动态库中的指定显示屏指定节目中的农历区域信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nX :区域的横坐标;显示屏的左上角的横坐标为0;最小值为0 nY :区域的纵坐标;显示屏的左上角的纵坐标为0;最小值为0 nWidth :区域的宽度;最大值不大于显示屏宽度-nX nHeight :区域的高度;最大值不大于显示屏高度-nY 返回值 :详见返回状态代码定义。 ---------------------------------------------------------------------------} ------------------------------------------------------------------------- * */ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramLunarArea(int creenNo, int nProgramOrd, int nX, int nY, int nWidth, int nHeight); /*------------------------------------------------------------------------------- 过程名: AddScreenProgramLunarAreaFile 向动态库中指定显示屏的指定节目的指定农历区域属性;该函数不与显示屏通讯, 只用于动态库中的指定显示屏指定节目中指定农历区域属性信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nAreaOrd :区域序号;该序号按照区域添加顺序,从0顺序递增,如删除中间的区域,后面的区域序号自动填充。 pInputtxt :固定文字 pFontName :文字的字体 ingal :单行多行,0为单行 1为多行,单行模式下nAlign不起作用 nAlign :文字对齐模式,对多行有效,0为左1为中2为右 nFontSize :文字的大小 nBold :是否加粗,0为不1为是 nItalic :是否斜体,0为不1为是 nUnderline :是否下滑线,0为不1为是 nUsetxt :是否使用固定文字,0为不1为是 nTxtcolor :固定文字颜色,传递颜色的10进制 nUseyear :是否使用天干,0为不1为是 (辛卯兔年) nYearcolor :天干颜色,传递颜色的10进制 nUsemonth :是否使用农历,0为不1为是 (九月三十) nMonthcolor :农历颜色,传递颜色的10进制 nUsesolar :是否使用节气,0为不1是 olarcolor :节气颜色,传递颜色的10进制 nAutoset :是否自动设置大小对应宽度,0为不1为是(默认不使用) 返回值 :详见返回状态代码定义。 -----------------------------------------------------------------------} -----------------------------------------------------------------------* */ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramLunarAreaFile(int creenNo, int nProgramOrd, int nAreaOrd, string pInputtxt, string pFontName, int ingal, int nAlign, int nFontSize, int nBold, int nItalic, int nUnderline, int nUsetxt, int nTxtcolor, int nUseyear, int nYearcolor, int nUsemonth, int nMonthcolor, int nUsesolar, int olarcolor, int nAutoset); /*---------------------------------------------------------------------------- 过程名: AddScreenProgramClockArea 向动态库中指定显示屏的指定节目添加表盘区域;该函数不与显示屏通讯,只用于动态库中的指定显示屏指定节目中的表盘区域信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nX :区域的横坐标;显示屏的左上角的横坐标为0;最小值为0 nY :区域的纵坐标;显示屏的左上角的纵坐标为0;最小值为0 nWidth :区域的宽度;最大值不大于显示屏宽度-nX nHeight :区域的高度;最大值不大于显示屏高度-nY 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------} -------------------------------------------------------------------------------* */ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramClockArea(int creenNo, int nProgramOrd, int nX, int nY, int nWidth, int nHeight); /*------------------------------------------------------------------------- {------------------------------------------------------------------------------- 过程名: AddScreenProgramClockAreaFile 向动态库中指定显示屏的指定节目的指定表盘区域属性;该函数不与显示屏通讯, 只用于动态库中的指定显示屏指定节目中指定表盘区域属性信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nAreaOrd :区域序号;该序号按照区域添加顺序,从0顺序递增,如删除中间的区域,后面的区域序号自动填充。 nusetxt :是否使用固定文字 0为不1为是 nusetime :是否使用年月日时间 0为不1为是 nuseweek :是否使用星期 0为不1为是 ntimeStyle :年月日时间格式,参考时间区的表格说明 nWeekStyle :星期时间格式,参考时间区的表格说明 ntxtfontsize :固定文字的字大小 ntxtfontcolor :固定文字的颜色;传递颜色的10进制;红255绿65280黄65535 ntxtbold :固定文字是否加粗 0为不1为是 ntxtitalic :固定文字是否斜体 0为不1为是 ntxtunderline :固定文字是否下划线 0为不1为是 txtleft :固定文字在表盘区域中的X坐标 txttop :固定文字在表盘区域中的Y坐标 ntimefontsize :年月日文字的字大小 ntimefontcolor:年月日文字的颜色; 传递颜色的10进制 ntimebold :年月日文字是否加粗 0为不1为是 ntimeitalic :年月日文字是否斜体 0为不1为是 ntimeunderline:年月日文字是否下划线 0为不1为是 timeleft :年月日文字在表盘区域中的X坐标 timetop :年月日文字在表盘区域中的X坐标 nweekfontsize :星期文字的字大小 nweekfontcolor:星期文字的颜色;传递颜色的10进制 nweekbold :星期文字是否加粗 0为不1为是 nweekitalic :星期文字是否斜体 0为不1为是 nweekunderline:星期文字是否下划线 0为不1为是 weekleft :星期文字在表盘区域中的X坐标 weektop :星期文字在表盘区域中的X坐标 nclockfontsize:表盘文字的字大小 nclockfontcolor:表盘文字的颜色;传递颜色的10进制 nclockbold :表盘文字是否加粗 0为不1为是 nclockitalic :表盘文字是否斜体 0为不1为是 nclockunderline:表盘文字是否下划线 0为不1为是 clockcentercolor:表盘中心颜色;传递颜色的10进制 mhrdotstyle :3/6/9时点类型 0线形1圆形2方形3数字4罗马 mhrdotsize :3/6/9时点尺寸 0-8 mhrdotcolor :3/6/9时点颜色;传递颜色的10进制 hrdotstyle :3/6/9外的时点类型 0线形1圆形2方形3数字4罗马 hrdotsize :3/6/9外的时点尺寸 0-8 hrdotcolor :3/6/9外的时点颜色;传递颜色的10进制 mindotstyle :分钟点类型 0线形1圆形2方形 mindotsize :分钟点尺寸 0-1 mindotcolor :分钟点颜色;传递颜色的10进制 hrhandsize :时针尺寸 0-8 hrhandcolor :时针颜色;传递颜色的10进制 minhandsize :分针尺寸 0-8 minhandcolor :分针颜色;传递颜色的10进制 sechandsize :秒针尺寸 0-8 sechandcolor :秒针颜色;传递颜色的10进制 nAutoset :自适应位置设置,0为不1为是 如果为1,那txtleft/txttop/ weekleft/weektop/timeleft/timetop需要自己设坐标值 btxtcontent :固定文字信息 btxtfontname :固定文字字体 btimefontname :时间文字字体 bweekfontname :星期文字字体 bclockfontname:表盘文字字体 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------} -------------------------------------------------------------------------------* */ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramClockAreaFile(int creenNo, int nProgramOrd, int nAreaOrd, int nusetxt, int nusetime, int nuseweek, int ntimeStyle, int nWeekStyle, int ntxtfontsize, int ntxtfontcolor, int ntxtbold, int ntxtitalic, int ntxtunderline, int txtleft, int txttop, int ntimefontsize, int ntimefontcolor, int ntimebold, int ntimeitalic, int ntimeunderline, int timeleft, int timetop, int nweekfontsize, int nweekfontcolor, int nweekbold, int nweekitalic, int nweekunderline, int weekleft, int weektop, int nclockfontsize, int nclockfontcolor, int nclockbold, int nclockitalic, int nclockunderline, int clockcenteize, int clockcentercolor, int mhrdotstyle, int mhrdotsize, int mhrdotcolor, int hrdotstyle, int hrdotsize, int hrdotcolor, int mindotstyle, int mindotsize, int mindotcolor, int hrhandsize, int hrhandcolor, int minhandsize, int minhandcolor, int sechandsize, int sechandcolor, int nAutoset, string btxtcontent, string btxtfontname, string btimefontname, string bweekfontname, string bclockfontname); [DllImport("BX_IV.dll")] public static extern int AddScreenProgramChroArea(int creenNo, int nProgramOrd, int nX, int nY, int nWidth, int nHeight); /**--------------------------------------------------------------------------------------------- 过程名: AddScreenProgramChroAreaFile 向动态库中指定显示屏的指定节目的指定计时区域属性;该函数不与显示屏通讯, 只用于动态库中的指定显示屏指定节目中指定计时区域属性信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nAreaOrd :区域序号;该序号按照区域添加顺序,从0顺序递增,如删除中间的区域,后面的区域序号自动填充。 pInputtxt :固定文字 pDaystr :天单位 pHoutr :小时单位 pMitr :分钟单位 pSecstr :秒单位 pFontName :文字的字体 ingal :单行多行,0为单行 1为多行,单行模式下nAlign不起作用 nAlign :文字对齐模式,对多行有效,0为左1为中2为右 nFontSize :文字的大小 nBold :是否加粗,0为不1为是 nItalic :是否斜体,0为不1为是 nUnderline :是否下滑线,0为不1为是 nTxtcolor :固定文字颜色,传递颜色的10进制 红255 绿65280 黄65535 nFontcolor :计时显示颜色,传递颜色的10进制 红255 绿65280 黄65535 howstr :是否显示单位,对应于所有的天,时,分,秒单位 howAdd :是否计时累加显示 默认是累加的 nUsetxt :是否使用固定文字,0为不1为是 nUseDay :是否使用天,0为不1为是 nUseHour :是否使用小时,0为不1为是 nUseMin :是否使用分钟,0为不1为是 nUseSec :是否使用秒,0为不1为是 nDayLength :天显示位数 默认为0 自动 nHourLength :小时显示位数 默认为0 自动 nMinLength :分显示位数 默认为0 自动 ecLength :秒显示位数 默认为0 自动 EndYear :目标年值 EndMonth :目标月值 EndDay :目标日值 EndHour :目标时值 EndMin :目标分值 EndSec :目标秒值 nAutoset :是否自动设置大小对应宽度,0为不1为是(默认不使用) 返回值 :详见返回状态代码定义。 ----------------------------------------------------------------------} ----------------------------------------------------------------------* */ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramChroAreaFile(int creenNo, int nProgramOrd, int nAreaOrd, string pInputtxt, string pDaystr, string pHoutr, string pMitr, string pSecstr, string pFontName, int ingal, int nAlign, int nFontSize, int nBold, int nItalic, int nUnderline, int nTxtcolor, int nFontcolor, int howstr, int howAdd, int nUseTxt, int nUseDay, int nUseHour, int nUseMin, int nUseSec, int nDayLength, int nHourLength, int nMinLength, int ecLength, int EndYear, int EndMonth, int EndDay, int EndHour, int EndMin, int EndSec, int nAutoset); /*------------------------------------------------------------------------------------ 过程名: AddScreenProgramTemperatureArea 向动态库中指定显示屏的指定节目添加温度区域;该函数不与显示屏通讯,只用于动态库中的指定显示屏节目中的温度区域信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nX :区域的横坐标;显示屏的左上角的横坐标为0;最小值为0 nY :区域的纵坐标;显示屏的左上角的纵坐标为0;最小值为0 nWidth :区域的宽度;最大值不大于显示屏宽度-nX nHeight :区域的高度;最大值不大于显示屏高度-nY eorType :温度传感器类型; 0:"Temp seor S-T1"; 1:"Temp and hum seor S-RHT 1"; 2:"Temp and hum seor S-RHT 2" nTemperatureUnit:温度显示单位;0:摄氏度(℃);1:华氏度(℉);2:摄氏度(无) nTemperatureMode:温度显示模式;0:整数型;1:小数型。 nTemperatureUnitScale:温度单位显示比例;50~100;默认为100. nTemperatureValueWidth:温度数值字符显示宽度; nTemperatureCorrectionPol:温度值误差修正值极性;0;正;1:负 nTemperatureCondition:温度值误差修正值; nTemperatureThreshPol:温度阈值条件;0:表示小于此值触发事情;1:表示大于此值触发条件 nTemperatureThresh:温度阈值 nTemperatureColor:正常温度颜色 nTemperatureErrColor:温度超过阈值时显示的颜色 pStaticText :温度区域前缀固定文本;该参数可为空 pStaticFont :字体名称;支持当前操作系统已经安装的矢量字库; taticSize :字体字号;支持当前操作系统的字号; taticColor :字体颜色; taticBold :字体粗体;支持1:粗体;0:正常; 返回值 :详见返回状态代码定义。 ---------------------------------------------------------------------------} ---------------------------------------------------------------------------* */ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramTemperatureArea(int creenNo, int nProgramOrd, int nX, int nY, int nWidth, int nHeight, int eorType, int nTemperatureUnit, int nTemperatureMode, int nTemperatureUnitScale, int nTemperatureValueWidth, int nTemperatureCorrectionPol, int nTemperatureCondition, int nTemperatureThreshPol, int nTemperatureThresh, int nTemperatureColor, int nTemperatureErrColor, string pStaticText, string pStaticFont, int taticSize, int inttaticColor, int taticBold); /**----------------------------------------------------------------------------------------------------- 过程名: AddScreenProgramHumidityArea 向动态库中指定显示屏的指定节目添加湿度区域;该函数不与显示屏通讯,只用于动态库中的指定显示屏节目中的湿度区域信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nX :区域的横坐标;显示屏的左上角的横坐标为0;最小值为0 nY :区域的纵坐标;显示屏的左上角的纵坐标为0;最小值为0 nWidth :区域的宽度;最大值不大于显示屏宽度-nX nHeight :区域的高度;最大值不大于显示屏高度-nY eorType :湿度传感器类型; 0:"Temp and hum seor S-RHT 1"; 1:"Temp and hum seor S-RHT 2" nHumidityUnit :湿度显示单位;0:相对湿度(%RH);1:相对湿度(无) nHumidityMode :湿度显示模式;0:整数型;1:小数型。 nHumidityUnitScale:湿度单位显示比例;50~100;默认为100. nHumidityValueWidth:湿度数值字符显示宽度; nHumidityConditionPol:湿度值误差修正值极性;0;正;1:负 nHumidityCondition:湿度值误差修正值; nHumidityThreshPol:湿度阈值条件;0:表示小于此值触发事情;1:表示大于此值触发条件 nHumidityThresh :湿度阈值 nHumidityColor :正常湿度颜色 nHumidityErrColor:湿度超过阈值时显示的颜色 pStaticText :湿度区域前缀固定文本;该参数可为空 pStaticFont :字体名称;支持当前操作系统已经安装的矢量字库; taticSize :字体字号;支持当前操作系统的字号; taticColor :字体颜色; taticBold :字体粗体;支持1:粗体;0:正常; 返回值 :详见返回状态代码定义。 ------------------------------------------------------------------------} ------------------------------------------------------------------------* */ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramHumidityArea(int creenNo, int nProgramOrd, int nX, int nY, int nWidth, int nHeight, int eorType, int nHumidityUnit, int nHumidityMode, int nHumidityUnitScale, int nHumidityValueWidth, int nHumidityConditionPol, int nHumidityCondition, int nHumidityThreshPol, int nHumidityThresh, int nHumidityColor, int nHumidityErrColor, string pStaticText, string pStaticFont, int taticSize, int taticColor, int taticBold); /** {------------------------------------------------------------------------------- 过程名: AddScreenProgramNoiseArea 向动态库中指定显示屏的指定节目添加噪声区域;该函数不与显示屏通讯,只用于动态库中的指定显示屏节目中的噪声区域信息配置。 参数: creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 nProgramOrd :节目序号;该序号按照节目添加顺序,从0顺序递增,如删除中间的节目,后面的节目序号自动填充。 nX :区域的横坐标;显示屏的左上角的横坐标为0;最小值为0 nY :区域的纵坐标;显示屏的左上角的纵坐标为0;最小值为0 nWidth :区域的宽度;最大值不大于显示屏宽度-nX nHeight :区域的高度;最大值不大于显示屏高度-nY eorType :噪声传感器类型; 0:"I-声级仪"; 1:"II-声级仪" nNoiseUnit :噪声显示单位;0:相对湿度(%RH);1:相对湿度(无) nNoiseMode :噪声显示模式;0:整数型;1:小数型。 nNoiseUnitScale :噪声单位显示比例;50~100;默认为100. nNoiseValueWidth:噪声数值字符显示宽度; nNoiseConditionPol:噪声值误差修正值极性;0;正;1:负 nNoiseCondition :噪声值误差修正值; nNoiseThreshPol :噪声阈值条件;0:表示小于此值触发事情;1:表示大于此值触发条件 nNoiseThresh :噪声阈值 nNoiseColor :正常噪声颜色 nNoiseErrColor :噪声超过阈值时显示的颜色 pStaticText :噪声区域前缀固定文本;该参数可为空 pStaticFont :字体名称;支持当前操作系统已经安装的矢量字库; taticSize :字体字号;支持当前操作系统的字号; taticColor :字体颜色; taticBold :字体粗体;支持1:粗体;0:正常; 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------} ------------------------------------------------------------------------ * */ [DllImport("BX_IV.dll")] public static extern int AddScreenProgramNoiseArea(int creenNo, int nProgramOrd, int nX, int nY, int nWidth, int nHeight, int eorType, int nNoiseUnit, int nNoiseMode, int nNoiseUnitScale, int nNoiseValueWidth, int nNoiseConditionPol, int nNoiseCondition, int nNoiseThreshPol, int nNoiseThresh, int nNoiseColor, int nNoiseErrColor, string pStaticText, string pStaticFont, int taticSize, int taticColor, int taticBold); /*------------------------------------------------------------------------------- {------------------------------------------------------------------------------- 过程名: GetScreetatus 查询当前显示屏状态,将查询状态参数保存到AddScreen函数中的pScreetatusFile的INI类型文件中。 该函数与显示屏进行通讯 参数: creenNo, endMode: Integer creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 endMode :与显示屏的通讯模式; 0:串口模式、BX-5A2&RF、BX-5A4&RF等控制器为RF串口无线模式; 2:网络模式; 4:WiFi模式 返回值 :详见返回状态代码定义。 ------------------------------------------------------------------------------} ------------------------------------------------------------------------------ * */ [DllImport("BX_IV.dll")] public static extern int GetScreetatus(int creenNo, int endMode); /*------------------------------------------------------------------------------- {------------------------------------------------------------------------------- 过程名: SaveUSBScreenInfo 保存显示屏数据信息到USB设备。方便用户用USB方式更新显示屏信息。该函数与LedshowTW软件配套的USB下载功能一致。 使用该功能时,注意当前控制器是否支持USB下载功能。 参数: creenNo, bCorrectTime: nAdvanceHour,nAdvanceMinute,pUSBDisk creenNo :显示屏屏号;该参数与AddScreen函数中的creenNo参数对应。 bCorrectTime :是否校正时间 0:不校正时间; 1:校正时间。 nAdvanceHour :校正时间比当前计算机时间提前的小时值。范围0~23;只有当bCorrectTime=1时有效。 nAdvanceMinute :校正时间比当前计算机时间提前的分钟值。范围0~59;只有当bCorrectTime=1时有效。 pUSBDisk :USB设备的路径名称;格式为"盘符:\"的格式。 返回值 :详见返回状态代码定义。 ------------------------------------------------------------------------------} ------------------------------------------------------------------------------ * */ [DllImport("BX_IV.dll")] public static extern int SaveUSBScreenInfo(int creenNo, int bCorrectTime, int nAdvanceHour, int nAdvanceMinute, string pUSBDisk); /*------------------------------------------------------------------------------- 过程名: StartServer 启动服务器,用于网络模式下的服务器模式和GP通讯模式。 参数: endMode :与显示屏的通讯模式; 0:串口模式、BX-5A2&RF、BX-5A4&RF等控制器为RF串口无线模式; 1:GP模式 2:网络模式 4:WiFi模式 5:ONBON服务器-GP 6:ONBON服务器-3G pServerIP :中转服务器IP地址 erverPort :中转服务器网络端口 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int StartServer(int endMode, string pServerIP, int erverPort); /*------------------------------------------------------------------------------- 过程名: StopServer 关闭服务器,用于网络模式下的服务器模式和GP通讯模式。 参数: endMode :与显示屏的通讯模式; 0:串口模式、BX-5A2&RF、BX-5A4&RF等控制器为RF串口无线模式; 1:GP模式 2:网络模式 4:WiFi模式 5:ONBON服务器-GP 6:ONBON服务器-3G 返回值 :详见返回状态代码定义。 -------------------------------------------------------------------------------*/ [DllImport("BX_IV.dll")] public static extern int StopServer(int endMode); --------------------------------------------------------------------- 控制器类型 private cot int BX_5AT = 0x0051; private cot int BX_5A0 = 0x0151; private cot int BX_5A1 = 0x0251; private cot int BX_5A2 = 0x0351; private cot int BX_5A3 = 0x0451; private cot int BX_5A4 = 0x0551; private cot int BX_5A1_WIFI = 0x0651; private cot int BX_5A2_WIFI = 0x0751; private cot int BX_5A4_WIFI = 0x0851; private cot int BX_5A = 0x0951; private cot int BX_5A2_RF = 0x1351; private cot int BX_5A4_RF = 0x1551; private cot int BX_5AT_WIFI = 0x1651; private cot int BX_5AL = 0x1851; private cot int AX_AT = 0x2051; private cot int AX_A0 = 0x2151; private cot int BX_5MT = 0x0552; private cot int BX_5M1 = 0x0052; private cot int BX_5M1X = 0x0152; private cot int BX_5M2 = 0x0252; private cot int BX_5M3 = 0x0352; private cot int BX_5M4 = 0x0452; private cot int BX_5E1 = 0x0154; private cot int BX_5E2 = 0x0254; private cot int BX_5E3 = 0x0354; private cot int BX_5UT = 0x0055; private cot int BX_5U0 = 0x0155; private cot int BX_5U1 = 0x0255; private cot int BX_5U2 = 0x0355; private cot int BX_5U3 = 0x0455; private cot int BX_5U4 = 0x0555; private cot int BX_5U5 = 0x0655; private cot int BX_5U = 0x0755; private cot int BX_5UL = 0x0855; private cot int AX_UL = 0x2055; private cot int AX_UT = 0x2155; private cot int AX_U0 = 0x2255; private cot int AX_U1 = 0x2355; private cot int AX_U2 = 0x2455; private cot int BX_5Q0 = 0x0056; private cot int BX_5Q1 = 0x0156; private cot int BX_5Q2 = 0x0256; private cot int BX_5Q0P = 0x1056; private cot int BX_5Q1P = 0x1156; private cot int BX_5Q2P = 0x1256; private cot int BX_5QL = 0x1356; private cot int BX_5QS1 = 0x0157; private cot int BX_5QS2 = 0x0257; private cot int BX_5QS = 0x0357; private cot int BX_5QS1P = 0x1157; private cot int BX_5QS2P = 0x1257; private cot int BX_5QSP = 0x1357; 控制器类型 int controlType = BX_5M4; ------------------------------------------------------------------------------ ============================================================================== 控制器通讯模式 private cot int SEND_MODE_COMM = 0; private cot int SEND_MODE_GP = 1; private cot int SEND_MODE_NET = 2; private cot int SEND_MODE_WIFI = 4; private cot int SEND_MODE_SERVER_2G = 5; private cot int SEND_MODE_SERVER_3G = 6; ============================================================================== ============================================================================== 通讯命令值 private cot int SEND_CMD_PARAMETER = 41471; 加载屏参数。 private cot int SEND_CMD_SENDALLPROGRAM = 41456; 发送所有节目信息。 private cot int SEND_CMD_POWERON = 41727; 强制开机 private cot int SEND_CMD_POWEROFF = 41726; 强制关机 private cot int SEND_CMD_TIMERPOWERONOFF = 41725; 定时开关机 private cot int SEND_CMD_CANCEL_TIMERPOWERONOFF = 41724; 取消定时开关机 private cot int SEND_CMD_RESIVETIME = 41723; 校正时间。 private cot int SEND_CMD_ADJUSTLIGHT = 41722; 亮度调整。 ============================================================================== private int SCREEN_NO = 3;屏号 private int SCREEN_WIDTH = 256; 屏宽 private int SCREEN_HEIGHT = 160;屏高 private int SCREEN_TYPE = 1; 屏类型 private int SCREEN_DATADA = 0; private int SCREEN_DATAOE = 0; private string SCREEN_COMM = "COM1"; private int SCREEN_BAUD = 57600; private int SCREEN_ROWORDER = 0; private cot int SCREEN_DATAFLOW = 0; private int SCREEN_FREQPAR = 0; public string SCREEN_SOCKETIP = "172.16.1.239"; 通讯ip private int SCREEN_SOCKETPORT = 5007; private int SCREEN_SERVERMODE = 0; private string SCREEN_NETWORKID = ""; private string SCREEN_BARCODE = ""; private string SCREEN_SERVERIP = "112.65.245.174"; private int SCREEN_SERVERPORT = 6055; private string SCREEN_SERVERACCESSUSER = "chenm"; private string SCREEN_SERVERACCESSPASSWORD = "chenmin"; private string SCREEN_WIFIIP = "192.168.100.1"; private int SCREEN_WIFIPORT = 5005;网口通讯端口号 private bool m_bSendBusy = false;此变量在数据更新中非常重要,请务必保留。 private int g_endMode = SEND_MODE_NET;通讯模式,网口 #endregion #region 变量 错误提示的输入框 RichTextBox rchMessage = new RichTextBox(); #endregion 获取错误消息 public void GetErrorMessage(string szfunctionName, int nResult) { string szResult; DateTime dt = DateTime.Now; szResult = dt.ToString() + "---执行函数:" + szfunctionName + "---返回结果:"; switch (nResult) { case RETURN_ERROR_AERETYPE: rchMessage.Text += szResult + "区域类型错误,在添加、删除图文区域文件时区域类型出错返回此类型错误。\r\n"; break; case RETURN_ERROR_RA_SCREENNO: rchMessage.Text += szResult + "已经有该显示屏信息。如要重新设定请先DeleteScreen删除该显示屏再添加\r\n"; break; case RETURN_ERROR_NOFIND_AREAFILE: rchMessage.Text += szResult + "没有找到有效的区域文件(图文区域)\r\n"; break; case RETURN_ERROR_NOFIND_AREA: rchMessage.Text += szResult + "没有找到有效的显示区域可以使用AddScreenProgramBmpTextArea添加区域信息。\r\n"; break; case RETURN_ERROR_NOFIND_PROGRAM: rchMessage.Text += szResult + "没有找到有效的显示屏节目可以使用AddScreenProgram函数添加指定节目\r\n"; break; case RETURN_ERROR_NOFIND_SCREENNO: rchMessage.Text += szResult + "系统内没有查找到该显示屏可以使用AddScreen函数添加显示屏\r\n"; break; case RETURN_ERROR_NOW_SENDING: rchMessage.Text += szResult + "系统内正在向该显示屏通讯,请稍后再通讯\r\n"; break; case RETURN_ERROR_NOSUPPORT_USB: rchMessage.Text += szResult + "不支持USB模式\r\n"; break; case RETURN_ERROR_NO_USB_DISK: rchMessage.Text += szResult + "找不到usb设备路径;\r\n"; break; case RETURN_ERROR_OTHER: rchMessage.Text += szResult + "其它错误\r\n"; break; case RETURN_NOERROR: rchMessage.Text += szResult + "函数执行/通讯成功\r\n"; break; case 0x01: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x02: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x03: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x04: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x05: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x06: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x07: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x08: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x09: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x0A: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x0B: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x0C: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x0D: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x0E: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x0F: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x10: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x11: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x12: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x13: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x14: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x15: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x16: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x17: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0x18: rchMessage.Text += szResult + "通讯错误\r\n"; break; case 0xFE: rchMessage.Text += szResult + "通讯错误\r\n"; break; } } <summary> 初始化动态库 <ummary> public int InitDLL(IntPtr handle) { int nResult = Initialize(handle, callBack); GetErrorMessage("Initialize", nResult); return nResult; } <summary> 释放动态库 <ummary> public static int DisposeDLL() { int nResult = Uninitialize(); GetErrorMessage("Uninitialize", nResult); return nResult; } <summary> 添加屏幕 <ummary> public void AddScream() { string Barcode = ""; string NetworkID = ""; int creenType = 1; 屏型 1 单色 2 双基色 int taticIPMode = 0;0:TCP模式,1:UDP模式 int erverMode = 0; 是否是服务器模式,不是。固定ip模式 if (g_endMode == SEND_MODE_SERVER_2G || g_endMode == SEND_MODE_SERVER_3G) { Barcode = edtTraitBarcode.Text; NetworkID = edtTraitNetworkID.Text; } else if (g_endMode == SEND_MODE_NET) { Barcode = ""; NetworkID = textBox4.Text; } else { Barcode = ""; NetworkID = "BX-NET000001"; } nResult := AddScreen(GetScreenControlTypeValue(comb_ControlType.ItemIndex), spnedt_ScreenNo.Value, spnedt_Width.Value, spnedt_Height.Value, comb_ScreenType.ItemIndex + 1, 2, 0, 0, 0, 0, PChar(comb_COMM.Items[comb_COMM.ItemIndex]), StrToInt(comb_Baud.Items[comb_Baud.ItemIndex]), PChar(edt_IP.Text), spnedt_Port.Value, erverMode, PChar(edtNetworkID.text), PChar(edtServerIP.Text), edtServerPort.value, PChar(edtUserName.Text), PChar(edtPassword.Text), '192.168.100.1', 5005, PChar(ExtractFilePath(Application.ExeName) + 'Screetatus.ini')); try { int result = AddScreen( controlType, SCREEN_NO, g_endMode, SCREEN_WIDTH, SCREEN_HEIGHT, creenType, 1, SCREEN_DATADA, SCREEN_DATAOE, SCREEN_ROWORDER, SCREEN_DATAFLOW, SCREEN_FREQPAR, SCREEN_COMM, SCREEN_BAUD, SCREEN_SOCKETIP, SCREEN_WIFIPORT, taticIPMode, erverMode, Barcode, NetworkID, "", 5005, "", "", SCREEN_WIFIIP, SCREEN_WIFIPORT, "", 8120, "", "D:\\Screetatus.ini"); GetErrorMessage("AddScreen", result); } catch (Exception E) { MessageBox.Show(E.Message); } } <summary> 添加节目 <ummary> public void AddScreamProgram() { int rusult = AddScreenProgram(SCREEN_NO, 0, 0, 65535, 11, 26, 2011, 11, 26, 1, 1, 1, 1, 1, 1, 1, 0, 0, 23, 59); GetErrorMessage("AddScreenProgram", rusult); } 删除节目 <summary> 删除节目 <ummary> <param name="programNo">节目号</param> public void DeleteScreenProgram(int programNo) { int result = DeleteScreenProgram(SCREEN_NO, programNo); GetErrorMessage("DeleteScreenProgram", result); } 删除当前区域 <summary> 删除当前区域 <ummary> <param name="programNo">节目号</param> <param name="areaNo">区域号</param> public void DeleteScreenProgramArea(int programNo, int areaNo) { int nResult; nResult = DeleteScreenProgramArea(SCREEN_NO, programNo, areaNo); GetErrorMessage("DeleteScreenProgramArea", nResult); } <summary> 添加图文区 <ummary> <param name="programNo">节目号</param> public void AddScreenProgramBmpTextArea(int programNo, Rectangle rc) { int result = AddScreenProgramBmpTextArea(SCREEN_NO, programNo, rc.X, rc.Y, rc.Width, rc.Height); GetErrorMessage("AddScreenProgramBmpTextArea", result); } <summary> 将文本添加到区域 <ummary> <param name="programNo"></param> <param name="areaNo"></param> <param name="textContent"></param> public void AddScreenProgramAreaBmpTextText(int programNo, int areaNo, string textContent, int fontSize, int showStyle) 添加文本到当前图文区域 { int result = AddScreenProgramAreaBmpTextText( SCREEN_NO, programNo, areaNo, textContent, 0, 0, 0, "宋体", fontSize, 0, 0, 0, 255, showStyle, 10, 13, 0, 0); GetErrorMessage("AddScreenProgramAreaBmpTextFile", result); } 添加文件到图文区 <summary> 添加文件到图文区 <ummary> <param name="programNo"></param> <param name="areaNo"></param> <param name="fileName"></param> <param name="fontSize"></param> public void AddScreenProgramAreaBmpTextFile(int programNo, int areaNo, string fileName, int fontSize) { int result = AddScreenProgramAreaBmpTextFile(SCREEN_NO, programNo, areaNo, fileName, 1, "宋体", fontSize, 0, 255, 1, 10, 10); GetErrorMessage("AddScreenProgramAreaBmpTextFile", result); } <summary> 发送 <ummary> public void SendScreenInfo() { try { if (m_bSendBusy == false) { m_bSendBusy = true; 发送数据 int nResult; nResult = SendScreenInfo(SCREEN_NO, SEND_CMD_SENDALLPROGRAM, 0); GetErrorMessage("SendScreenInfo", nResult); m_bSendBusy = false; } else { MessageBox.Show("已经在发送中..."); } } catch (Exception x) { MessageBox.Show(x.Message); } } <summary> 开机 <ummary> public void Opecreen() { if (m_bSendBusy == false) { m_bSendBusy = true; int nResult; nResult = SendScreenInfo(SCREEN_NO, SEND_CMD_POWERON, 0); GetErrorMessage("SendScreenInfo", nResult); m_bSendBusy = false; } } 强制关机 public void CloseScreen() { try { if (m_bSendBusy == false) { m_bSendBusy = true; 发送数据 int nResult; nResult = SendScreenInfo(SCREEN_NO, SEND_CMD_POWEROFF, 0); GetErrorMessage("SendScreenInfo", nResult); m_bSendBusy = false; } } catch { } } }
  • 2021/1/20 20:30:37404
阅读更多
  • 技术文摘不用写一句sql的ORM框架,支持多种数据库
  • 一、文件说明            Xk.Common.dll:框架周边的一些帮助类            Xk.ORM.dll:框架核心二、开始使用      1、简单粗暴的配置模式Cs类中:public static readonly DbSession DbHelper = new DbSession("MySqlConn");Web.config中:<add name="MySqlConn" providerName="Xk.ORM.MySql" connectiotring="server=127.0.0.1;database=ormcms;uid=root;pwd=abc123123;oldsyntax=true;chaet=utf8;Allow Zero Datetime=True;port=3306;" />      2、定义一个类文件(这个文件可以自己用代码生成器生成,后面会开放下载)------------------------------------------------------------------------------ 此代码由工具生成: 生成时间:2021/3/17 创建人:XuKai using System; using Xk.ORM; namespace CMS.Models { *实体类:ktcfriendlink [Table("ktcfriendlink")] [Serializable] public partial class Ktcfriendlink : Entity { #region Model private int _Id; 主键id [Field("id")] public int Id { get { return _Id; } set { this.OnPropertyValueChange("id"); this._Id = value; } } private string _Title; 友链标题 [Field("title")] public string Title { get { return _Title; } set { this.OnPropertyValueChange("title"); this._Title = value; } } private string _Desc; 描述 [Field("desc")] public string Desc { get { return _Desc; } set { this.OnPropertyValueChange("desc"); this._Desc = value; } } private string _Url; 友链地址 [Field("url")] public string Url { get { return _Url; } set { this.OnPropertyValueChange("url"); this._Url = value; } } private int _Status; 1 通过,2 不通过,0 未审核 [Field("status")] public int Status { get { return _Status; } set { this.OnPropertyValueChange("status"); this._Status = value; } } private DateTime _Createtime; 创建时间 [Field("createtime")] public DateTime Createtime { get { return _Createtime; } set { this.OnPropertyValueChange("createtime"); this._Createtime = value; } } private DateTime _Authtime; 审核时间 [Field("authtime")] public DateTime Authtime { get { return _Authtime; } set { this.OnPropertyValueChange("authtime"); this._Authtime = value; } } private string _Askdesc; 申请描述 [Field("askdesc")] public string Askdesc { get { return _Askdesc; } set { this.OnPropertyValueChange("askdesc"); this._Askdesc = value; } } private string _Imgurl; 友链图片封面 [Field("imgurl")] public string Imgurl { get { return _Imgurl; } set { this.OnPropertyValueChange("imgurl"); this._Imgurl = value; } } private int _Index; 排序 [Field("index")] public int Index { get { return _Index; } set { this.OnPropertyValueChange("index"); this._Index = value; } } private int _Isimg; 是否为图片链接,1 是,0 否(文本) [Field("isimg")] public int Isimg { get { return _Isimg; } set { this.OnPropertyValueChange("isimg"); this._Isimg = value; } } private string _Email; 对方的站点url [Field("email")] public string Email { get { return _Email; } set { this.OnPropertyValueChange("email"); this._Email = value; } } #endregion #region Method 获取实体中的主键列 public override Field[] GetPrimaryKeyFields() { return new Field[] { _.Id, }; } 获取列信息 public override Field[] GetFields() { return new Field[] { _.Id, _.Title, _.Desc, _.Url, _.Status, _.Createtime, _.Authtime, _.Askdesc, _.Imgurl, _.Index, _.Isimg, _.Email }; } 获取值信息 public override object[] GetValues() { return new object[] { this._Id, this._Title, this._Desc, this._Url, this._Status, this._Createtime, this._Authtime, this._Askdesc, this._Imgurl, this._Index, this._Isimg, this._Email }; } #endregion #region _Field 字段信息 public class _ { * public readonly static Field All = new Field("*", "ktcfriendlink"); 主键id public readonly static Field Id = new Field("id", "ktcfriendlink"); 友链标题 public readonly static Field Title = new Field("title", "ktcfriendlink"); 描述 public readonly static Field Desc = new Field("desc", "ktcfriendlink"); 友链地址 public readonly static Field Url = new Field("url", "ktcfriendlink"); 1 通过,2 不通过,0 未审核 public readonly static Field Status = new Field("status", "ktcfriendlink"); 创建时间 public readonly static Field Createtime = new Field("createtime", "ktcfriendlink"); 审核时间 public readonly static Field Authtime = new Field("authtime", "ktcfriendlink"); 申请描述 public readonly static Field Askdesc = new Field("askdesc", "ktcfriendlink"); 友链图片封面 public readonly static Field Imgurl = new Field("imgurl", "ktcfriendlink"); 排序 public readonly static Field Index = new Field("index", "ktcfriendlink"); 是否为图片链接,1 是,0 否(文本) public readonly static Field Isimg = new Field("isimg", "ktcfriendlink"); 对方的联系邮箱 public readonly static Field Email = new Field("email", "ktcfriendlink"); } #endregion } }       3、cuid操作int i = 0; DbHelper.From<Ktcfriendlink>();查询表所有数据 DbHelper.From<Ktcfriendlink>().Where(t => t.Id == 1);条件id为1的数据,参数遵循linq语法。 DbHelper.From<Ktcfriendlink>().Where(new WhereClip("id = 1"));条件id为1的数据,WhereClip参数也有很多种写法。 Ktcfriendlink model = new Ktcfriendlink(); model.Title = "baidu"; model.Url = "www.baidu.com"; i = DbHelper.Iert(model);插入一条数据 i = DbHelper.Delete(a => a.Id == 1);删除id为1的数据 model.Title = "taobao"; i = DbHelper.Update(model); DbHelper.FromProc("procname");可以执行存储过程 DbTra tra = DbHelper.BeginTraaction();执行事务 try { tra.Update(Ktcfriendlink._.Title, "google", a => a.Id == 1); tra.Update(Ktcfriendlink._.Title, "yahoo", a => a.Id == 2); tra.Commit();提交事务 } catch { tra.Rollback();回滚事务 } finally { tra.Close(); } Ktcfriendlink model = new Ktcfriendlink(); model.Title = "baidu"; model.Url = "www.baidu.com"; i = DbHelper.Iert(model);插入一条数据 i = DbHelper.Delete(a => a.Id == 1);删除id为1的数据 model.Title = "taobao"; i = DbHelper.Update(model); DbHelper.FromProc("procname");可以执行存储过程 DbTra tra = DbHelper.BeginTraaction();执行事务 try { tra.Update(Ktcfriendlink._.Title, "google", a => a.Id == 1); tra.Update(Ktcfriendlink._.Title, "yahoo", a => a.Id == 2); tra.Commit();提交事务 } catch { tra.Rollback();回滚事务 } finally { tra.Close(); } DbHelper.From().Where(new WhereClip("id = 1"));条件id为1的数据,WhereClip参数也有很多种写法。 Ktcfriendlink model = new Ktcfriendlink(); model.Title = "baidu"; model.Url = "www.baidu.com"; i = DbHelper.Iert(model);插入一条数据 i = DbHelper.Delete(a => a.Id == 1);删除id为1的数据 model.Title = "taobao"; i = DbHelper.Update(model); DbHelper.FromProc("procname");可以执行存储过程 DbTra tra = DbHelper.BeginTraaction();执行事务 try { tra.Update(Ktcfriendlink._.Title, "google", a => a.Id == 1); tra.Update(Ktcfriendlink._.Title, "yahoo", a => a.Id == 2); tra.Commit();提交事务 } catch { tra.Rollback();回滚事务 } finally { tra.Close(); } DbHelper.From().Where(t => t.Id == 1);条件id为1的数据,参数遵循linq语法。 DbHelper.From().Where(new WhereClip("id = 1"));条件id为1的数据,WhereClip参数也有很多种写法。 Ktcfriendlink model = new Ktcfriendlink(); model.Title = "baidu"; model.Url = "www.baidu.com"; i = DbHelper.Iert(model);插入一条数据 i = DbHelper.Delete(a => a.Id == 1);删除id为1的数据 model.Title = "taobao"; i = DbHelper.Update(model); DbHelper.FromProc("procname");可以执行存储过程 DbTra tra = DbHelper.BeginTraaction();执行事务 try { tra.Update(Ktcfriendlink._.Title, "google", a => a.Id == 1); tra.Update(Ktcfriendlink._.Title, "yahoo", a => a.Id == 2); tra.Commit();提交事务 } catch { tra.Rollback();回滚事务 } finally { tra.Close(); }框架后期整理好后开放下载,欢迎广大.net ORM爱好者使用
  • 2021/4/12 11:59:22379
阅读更多
博主
本周热议
html+css+jquery 实现超帅留言墙效果!超帅,不喜勿喷!附完整demo
c#如何集成控制Led屏,实现数据发送自动开机、关机等操作!
关于站点启用HTTPS访问的通知
非法访问资源ip地址公布
不用写一句sql的ORM框架,支持多种数据库
c# winform 身份证信息读取
c#如何获取电脑mac地址,超简单!
批量检测指定ip某些端口是否开启,用来做什么自己想吧!!!
c# 实现文件下载功能,带下载进度条,可用到软件的自动更新中
winform程序如何做到开机自动启动