CommHelper

18位流水号:

        public static string GenerateTransId(int i)
        {
            string transId = DateTime.Now.ToString("yyyyMMddHHmmss");
            int l = i - 14;
            return transId + CreateRandCode(l);

        }

        public static string CreateRandCode(int codeLen)
        {
            string codeSerial = "1,2,3,4,5,6,7,a,c,d,e,f,h,i,j,k,m,n,p,r,s,t,A,C,D,E,F,G,H,J,K,M,N,P,Q,R,S,U,V,W,X,Y,Z";
            if (codeLen == 0)
            {
                codeLen = 16;
            }
            string[] arr = codeSerial.Split(',');
            string code = "";
            int randValue = -1;
            Random rand = new Random(unchecked((int)DateTime.Now.Ticks));
            for (int i = 0; i < codeLen; i++)
            {
                randValue = rand.Next(0, arr.Length - 1);
                code += arr[randValue];
            }
            return code;
        }

  

转载于:https://www.cnblogs.com/ZkbFighting/p/11056954.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/** * 微信支付帮助库 * ==================================================== * 接口分三种类型: * 【请求型接口】--Wxpay_client_ * 统一支付接口类--UnifiedOrder * 订单查询接口--OrderQuery * 退款申请接口--Refund * 退款查询接口--RefundQuery * 对账单接口--DownloadBill * 短链接转换接口--ShortUrl * 【响应型接口】--Wxpay_server_ * 通用通知接口--Notify * Native支付——请求商家获取商品信息接口--NativeCall * 【其他】 * 静态链接二维码--NativeLink * JSAPI支付--JsApi * ===================================================== * 【CommonUtil】常用工具: * trimString(),设置参数时需要用到的字符处理函数 * createNoncestr(),产生随机字符串,不长于32位 * formatBizQueryParaMap(),格式化参数,签名过程需要用到 * getSign(),生成签名 * arrayToXml(),array转xml * xmlToArray(),xml转 array * postXmlCurl(),以post方式提交xml到对应的接口url * postXmlSSLCurl(),使用证书,以post方式提交xml到对应的接口url */ include_once("SDKRuntimeException.php"); include_once("WxPay.pub.config.php"); /** * 所有接口的基类 */ class Common_util_pub { function __construct() { } function trimString($value) { $ret = null; if (null != $value) { $ret = $value; if (strlen($ret) == 0) { $ret = null; } } return $ret; } /** * 作用:产生随机字符串,不长于32位 */ public function createNoncestr( $length = 32 ) { $chars = "abcdefghijklmnopqrstuvwxyz0123456789"; $str =""; for ( $i = 0; $i $v) { if($urlencode) { $v = urlencode($v); } //$buff .= strtolower($k) . "=" . $v . "&"; $buff .= $k . "=" . $v . "&"; } $reqPar; if (strlen($buff) > 0) { $reqPar = substr($buff, 0, strlen($buff)-1); } return $reqPar; } /** * 作用:生成签名 */ public function getSign($Obj) { foreach ($Obj as $k => $v) { $Parameters[$k] = $v; } //签名步骤一:按字典序排序参数 ksort($Parameters); $String = $this->formatBizQueryParaMap($Parameters, false)
### 回答1: 串口调用封装类commhelper.cs用于简化串口通信的操作。通过封装一些常用的串口函数,可以方便地实现串口的打开、关闭、设置波特率、发送和接收数据等功能。 首先,在该封装类的构造函数中,我们可以指定需要操作的串口号、波特率以及其他参数。在构造函数中,会初始化串口的属性,并将其打开。这样就可以使用该串口进行数据的发送和接收。 为了方便发送数据,封装类中有一个名为“SendData”的方法。通过该方法,可以向串口发送数据。在方法内部,我们首先判断串口是否已经打开,如果未打开,则直接返回。然后,使用串口的Write方法将数据写入缓冲区,发送到串口设备。 为了方便接收数据,封装类中还包含一个名为“ReceiveData”的方法。通过该方法,可以从串口接收数据。在方法内部,我们首先判断串口是否已经打开,如果未打开,则直接返回。然后,使用串口的Read方法从缓冲区中读取数据,并将其返回。 在需要使用串口的地方,可以先实例化一个commhelper对象,然后调用其各种方法来实现串口通信的功能。在通信完成后,可以使用封装类中的Close方法关闭串口,释放资源。 总之,串口调用封装类commhelper.cs提供了简洁方便的接口,使得串口通信的操作变得更加容易。无论是串口的打开、关闭、设置波特率,还是数据的发送和接收,都可以通过该封装类来实现。 ### 回答2: CommHelper.cs是一个串口调用封装类,用于简化在应用程序中使用串口进行数据通信的操作。该类提供了一系列方法和属性,使得串口通信更加方便和易于管理。 该类中最重要的属性是PortName和BaudRate,分别用于设置串口名称和波特率。通过这两个属性,我们可以指定要连接的串口设备和通信速率。除了这两个基本属性外,CommHelper.cs还提供了其他一些重要的属性,如DataBits、StopBits和Parity。这些属性用于指定数据位、停止位和奇偶校验位,以确保通信的准确性和完整性。 为了使用串口进行数据交换,CommHelper.cs还提供了一系列方法,包括OpenPort()、ClosePort()、SendData()和ReadData()。通过调用这些方法,我们可以打开串口连接,关闭串口连接,发送数据以及读取数据。这些方法使用了合适的异常处理和错误检查机制,以确保稳定的数据通信。 在CommHelper.cs中,还提供了一些事件,如DataReceived和PortClosed。这些事件允许我们在接收到数据或关闭串口时执行特定的代码。通过订阅这些事件,我们可以根据应用程序的需要来响应串口通信的不同情况。 总之,CommHelper.cs是一个功能强大的串口调用封装类,通过提供简洁的方法、属性和事件,使得应用程序可以轻松地进行串口数据通信。无论是开发控制系统、数据采集设备还是其他需要串口通信的应用,使用CommHelper.cs可以大大简化开发过程,并提高代码的可读性和可维护性。 ### 回答3: 封装类commhelper.cs是一个用于串口调用的工具类。在这个类中,我们通过使用C#编程语言来实现串口的打开、关闭、发送和接收操作,使得串口通信变得简单而高效。 首先,在commhelper.cs中,我们定义了一个名为CommHelper的公共类。这个类包含了用于串口操作的各种方法和属性。 在这个类中,我们首先定义了一个表示串口的SerialPort对象,并在构造函数中对其进行了初始化。通过构造函数,我们可以指定串口的名称、波特率、数据位、校验位、停止位等参数。这些参数的设定可以根据实际的串口设备来进行调整。 接着,我们定义了OpenPort()方法,用于打开串口。在这个方法中,我们通过调用SerialPort对象的Open()方法来打开串口设备。 然后,我们定义了一个SendData()方法,用于向串口发送数据。在这个方法中,我们可以将需要发送的数据作为参数传入,并通过SerialPort对象的Write()方法将数据发送出去。 最后,我们定义了一个ReceiveData()方法,用于从串口接收数据。在这个方法中,我们通过调用SerialPort对象的Read()方法来接收串口发送过来的数据,并将其保存到一个缓冲区中。 除了上述的基本操作,commhelper.cs中还可以扩展其他方法来实现更复杂的功能,比如设置串口的超时时间、清空缓冲区、获取串口的状态等。 通过使用commhelper.cs,我们可以在C#程序中轻松地调用串口相关的功能,并实现与其他串口设备的通信。这不仅提高了开发效率,还保证了串口通信的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值