110,572
社区成员
发帖
与我相关
我的任务
分享
void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
sb.Append(serialPort.ReadExisting());
int index = sb.ToString().Length;//这里把int index = sb.ToString().IndexOf((char)0xd);改了
if (index > 0)
{
try
{
System.Windows.Forms.SendKeys.SendWait(sb.ToString(0, index) + "~");
}
finally
{
sb.Remove(0, index);//这里把sb.Remove(0, index+1);改了
}
}
}
void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
sb.Append(serialPort.ReadExisting());
int index = sb.ToString().IndexOf((char)0xd);
if (index > 0)
{
try
{
System.Windows.Forms.SendKeys.SendWait(sb.ToString(0, index) + "~");
}
finally
{
sb.Remove(0, index + 1);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SampleManage.ETI
{
public partial class Frm_BarScanner : Form
{
public Frm_BarScanner()
{
InitializeComponent();
}
RevSerialPort rsp;
public class RevSerialPort
{
SerialPort serialPort; // 此处出现错误:缺少using指令或程序集;
StringBuilder sb;
public RevSerialPort()
{
sb = new StringBuilder();
serialPort = new SerialPort();
serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
}
public RevSerialPort(string portName)
{
sb = new StringBuilder();
serialPort = new SerialPort(portName);
serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
}
public RevSerialPort(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits)
{
sb = new StringBuilder();
serialPort = new SerialPort(portName, baudRate, parity, dataBits, stopBits);
serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
}
void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
sb.Append(serialPort.ReadExisting());
int index = sb.ToString().IndexOf((char)0xd);
if (index > 0)
{
try
{
System.Windows.Forms.SendKeys.SendWait(sb.ToString(0, index) + "~");
}
finally
{
sb.Remove(0, index + 1);
}
}
}
public void Start()
{
serialPort.Open();
}
public void Stop()
{
if (serialPort.IsOpen)
serialPort.Close();
}
}
private void Frm_BarScanner_Load(object sender, EventArgs e)
{
try
{
//如果不是默认的COM1端口,这里需要传入端口号
rsp = new RevSerialPort();
rsp.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
public class RevSerialPort
{
SerialPort serialPort;
StringBuilder sb;
public RevSerialPort()
{
sb = new StringBuilder();
serialPort = new SerialPort();
serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
}
public RevSerialPort(string portName)
{
sb = new StringBuilder();
serialPort = new SerialPort(portName);
serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
}
public RevSerialPort(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits)
{
sb = new StringBuilder();
serialPort = new SerialPort(portName, baudRate, parity, dataBits, stopBits);
serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
}
void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
sb.Append(serialPort.ReadExisting());
int index = sb.ToString().IndexOf((char)0xd);
if (index > 0)
{
try
{
System.Windows.Forms.SendKeys.SendWait(sb.ToString(0, index) + "~");
}
finally
{
sb.Remove(0, index + 1);
}
}
}
public void Start()
{
serialPort.Open();
}
public void Stop()
{
if (serialPort.IsOpen)
serialPort.Close();
}
}
RevSerialPort rsp;
private void MainForm_Load(object sender, EventArgs e)
{
try
{
//如果不是默认的COM1端口,这里需要传入端口号
rsp = new RevSerialPort();
rsp.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (rsp != null)
rsp.Stop();
}