按照客户要求将excel导出文件保存为一个条码一条记录,名称为SN_结果_时间.xslx
This commit is contained in:
264
SLZ_4/ConfigScanner.cs
Normal file
264
SLZ_4/ConfigScanner.cs
Normal file
@@ -0,0 +1,264 @@
|
||||
using Microsoft.Office.Interop.Excel;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Net;
|
||||
using System.Reflection.Emit;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace SLZ_4
|
||||
{
|
||||
public partial class ConfigScanner : Form
|
||||
{
|
||||
public string[] ports;
|
||||
public int scanNum; //扫码枪数量
|
||||
public int scanType; //扫码枪类型 0:普通扫码枪, 1:工业扫码枪-串口,2:工业扫码枪-网路
|
||||
public ConfigScanner()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
cmbScanType.Items.Add("普通扫码枪");
|
||||
cmbScanType.Items.Add("工业扫码枪-串口");
|
||||
cmbScanType.Items.Add("工业扫码枪-网络");
|
||||
}
|
||||
|
||||
private void Form_Load(object sender, EventArgs e)
|
||||
{
|
||||
uiGroupNetwork1.Location = uiGroupCom1.Location;
|
||||
uiGroupNetwork2.Location = uiGroupCom2.Location;
|
||||
}
|
||||
public void setConfig()
|
||||
{
|
||||
refreshPort();
|
||||
cmbScanType.SelectedIndex = scanType;
|
||||
if (scanType == (int)SCANNER_TYPE.COMMON || scanType == (int)SCANNER_TYPE.INDUSTRY_COM)
|
||||
{
|
||||
CH1CodeBaud.Text = FormMain.form.arrScannerObj[0].iBaudrate.ToString();
|
||||
CH1CodePort.Text = FormMain.form.arrScannerObj[0].sPort;
|
||||
|
||||
CH2CodeBaud.Text = FormMain.form.arrScannerObj[1].iBaudrate.ToString();
|
||||
CH2CodePort.Text = FormMain.form.arrScannerObj[1].sPort;
|
||||
}
|
||||
else if (scanType == (int)SCANNER_TYPE.INDUSTRY_NETWORK)
|
||||
{
|
||||
textIP1.Text = FormMain.form.arrScannerObj[0].sIpaddr;
|
||||
textPort1.Text = FormMain.form.arrScannerObj[0].iPort.ToString();
|
||||
|
||||
textIP2.Text = FormMain.form.arrScannerObj[1].sIpaddr;
|
||||
textPort2.Text = FormMain.form.arrScannerObj[1].iPort.ToString();
|
||||
}
|
||||
|
||||
showComm1Status();
|
||||
showComm2Status();
|
||||
showNetwork1Status();
|
||||
showNetwork2Status();
|
||||
ShowScanBox();
|
||||
}
|
||||
|
||||
public void showComm1Status()
|
||||
{
|
||||
if (FormMain.form.serialPortCode1.IsOpen)
|
||||
{
|
||||
CH1CodeIsComm.Text = "已打开";
|
||||
CH1CodeIsComm.BackColor = Color.Green;
|
||||
CH1CodeCon.Enabled = false;
|
||||
CH1CodeBreak.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
CH1CodeIsComm.Text = "未打开";
|
||||
CH1CodeIsComm.BackColor = Color.Red;
|
||||
CH1CodeCon.Enabled = true;
|
||||
CH1CodeBreak.Enabled = false;
|
||||
}
|
||||
}
|
||||
public void showComm2Status()
|
||||
{
|
||||
if (FormMain.form.serialPortCode2.IsOpen)
|
||||
{
|
||||
CH2CodeIsComm.Text = "已打开";
|
||||
CH2CodeIsComm.BackColor = Color.Green;
|
||||
CH2CodeCon.Enabled = false;
|
||||
CH2CodeBreak.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
CH2CodeIsComm.Text = "未打开";
|
||||
CH2CodeIsComm.BackColor = Color.Red;
|
||||
CH2CodeCon.Enabled = true;
|
||||
CH2CodeBreak.Enabled = false;
|
||||
}
|
||||
}
|
||||
public void showNetwork1Status()
|
||||
{
|
||||
//网口1
|
||||
if (FormMain.form.arrScanNetwork[0] != null && FormMain.form.arrScanNetwork[0].IsConnected)
|
||||
{
|
||||
CH1NetworkComm.Text = "已连接";
|
||||
CH1NetworkComm.BackColor = Color.Green;
|
||||
buttonConnect1.Enabled = false;
|
||||
buttonDisconnect1.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
CH1NetworkComm.Text = "未连接";
|
||||
CH1NetworkComm.BackColor = Color.Red;
|
||||
buttonConnect1.Enabled = true;
|
||||
buttonDisconnect1.Enabled = false;
|
||||
}
|
||||
}
|
||||
public void showNetwork2Status()
|
||||
{
|
||||
//网口2
|
||||
if (FormMain.form.arrScanNetwork[1] != null && FormMain.form.arrScanNetwork[1].IsConnected)
|
||||
{
|
||||
CH2NetworkComm.Text = "已连接";
|
||||
CH2NetworkComm.BackColor = Color.Green;
|
||||
buttonConnect2.Enabled = false;
|
||||
buttonDisconnect2.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
CH2NetworkComm.Text = "未连接";
|
||||
CH2NetworkComm.BackColor = Color.Red;
|
||||
buttonConnect2.Enabled = true;
|
||||
buttonDisconnect2.Enabled = false;
|
||||
}
|
||||
}
|
||||
public void refreshPort()
|
||||
{
|
||||
CH1CodePort.Items.Clear();
|
||||
CH2CodePort.Items.Clear();
|
||||
ports = System.IO.Ports.SerialPort.GetPortNames();
|
||||
if (ports.Length > 0)
|
||||
{
|
||||
CH1CodePort.Items.AddRange(ports);
|
||||
CH2CodePort.Items.AddRange(ports);
|
||||
}
|
||||
}
|
||||
private void CH1CodeRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshPort();
|
||||
}
|
||||
|
||||
private void CH1CodeCon_Click(object sender, EventArgs e)
|
||||
{
|
||||
FormMain.form.arrScannerObj[0].iBaudrate = int.Parse(CH1CodeBaud.Text);
|
||||
FormMain.form.arrScannerObj[0].sPort = CH1CodePort.Text;
|
||||
Config.saveScanner(0);
|
||||
|
||||
FormMain.form.openScanner1();
|
||||
showComm1Status();
|
||||
}
|
||||
|
||||
private void CH1CodeBreak_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (FormMain.form.serialPortCode1.IsOpen)
|
||||
{
|
||||
FormMain.form.serialPortCode1.Close();
|
||||
}
|
||||
|
||||
showComm1Status();
|
||||
}
|
||||
|
||||
private void CH2CodeCon_Click(object sender, EventArgs e)
|
||||
{
|
||||
FormMain.form.arrScannerObj[1].iBaudrate = int.Parse(CH1CodeBaud.Text);
|
||||
FormMain.form.arrScannerObj[1].sPort = CH2CodePort.Text;
|
||||
Config.saveScanner(1);
|
||||
|
||||
FormMain.form.openScanner2();
|
||||
showComm2Status();
|
||||
}
|
||||
|
||||
private void CH2CodeBreak_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (FormMain.form.serialPortCode2.IsOpen)
|
||||
{
|
||||
FormMain.form.serialPortCode2.Close();
|
||||
}
|
||||
|
||||
showComm2Status();
|
||||
}
|
||||
|
||||
private void ShowScanBox()
|
||||
{
|
||||
cmbScanNum.SelectedIndex = scanNum - 1;
|
||||
if (scanType == (int)SCANNER_TYPE.COMMON || scanType == (int)SCANNER_TYPE.INDUSTRY_COM)
|
||||
{
|
||||
uiGroupCom1.Visible = true;
|
||||
uiGroupCom2.Visible = cmbScanNum.SelectedIndex == 1 ? true : false;
|
||||
|
||||
uiGroupNetwork1.Visible = false;
|
||||
uiGroupNetwork2.Visible = false;
|
||||
CH1CodeRefresh.Visible = true;
|
||||
}
|
||||
else if (scanType == (int)SCANNER_TYPE.INDUSTRY_NETWORK)
|
||||
{
|
||||
uiGroupNetwork1.Visible = true;
|
||||
uiGroupNetwork2.Visible = cmbScanNum.SelectedIndex == 1 ? true : false;
|
||||
|
||||
uiGroupCom1.Visible = false;
|
||||
uiGroupCom2.Visible = false;
|
||||
CH1CodeRefresh.Visible = false;
|
||||
}
|
||||
}
|
||||
private void cmbScanNum_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
scanNum = cmbScanNum.SelectedIndex + 1;
|
||||
Config.saveScanNumber(scanNum);
|
||||
ShowScanBox();
|
||||
}
|
||||
private void cmbScanType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
scanType = cmbScanType.SelectedIndex;
|
||||
Config.saveScanType(scanType);
|
||||
ShowScanBox();
|
||||
}
|
||||
private void buttonConnect1_Click(object sender, EventArgs e)
|
||||
{
|
||||
FormMain.form.arrScannerObj[0].iPort = int.Parse(textPort1.Text);
|
||||
FormMain.form.arrScannerObj[0].sIpaddr = textIP1.Text;
|
||||
Config.saveScanner(0);
|
||||
|
||||
FormMain.form.addScanNetwork(0);
|
||||
FormMain.form.openScannerNetwork(0);
|
||||
showNetwork1Status();
|
||||
}
|
||||
|
||||
private void buttonDisconnect1_Click(object sender, EventArgs e)
|
||||
{
|
||||
FormMain.form.closeScannerNetwork(0);
|
||||
showNetwork1Status();
|
||||
}
|
||||
|
||||
private void buttonConnect2_Click(object sender, EventArgs e)
|
||||
{
|
||||
FormMain.form.arrScannerObj[1].iPort = int.Parse(textPort2.Text);
|
||||
FormMain.form.arrScannerObj[1].sIpaddr = textIP2.Text;
|
||||
Config.saveScanner(1);
|
||||
|
||||
FormMain.form.addScanNetwork(1);
|
||||
FormMain.form.openScannerNetwork(1);
|
||||
showNetwork2Status();
|
||||
}
|
||||
|
||||
private void buttonDisconnect2_Click(object sender, EventArgs e)
|
||||
{
|
||||
FormMain.form.closeScannerNetwork(1);
|
||||
showNetwork2Status();
|
||||
}
|
||||
|
||||
public static bool IsValidIp(string ip)
|
||||
{
|
||||
// 基础格式检查
|
||||
if (!IPAddress.TryParse(ip, out _) || ip.Split('.').Length != 4)
|
||||
return false;
|
||||
|
||||
// 每段数值范围检查
|
||||
string pattern = @"^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$";
|
||||
return Regex.IsMatch(ip, pattern);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user