修改搜索IP后的显示逻辑
This commit is contained in:
@@ -13,7 +13,7 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Excel = Microsoft.Office.Interop.Excel;
|
||||
//using Excel = Microsoft.Office.Interop.Excel;
|
||||
using ZXing;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.XSSF.UserModel;
|
||||
@@ -464,7 +464,7 @@ namespace C_Windows_1
|
||||
case (int)yiqi.finish:
|
||||
Modbusread(1034, 26, ReadData);
|
||||
progressBar2.Value = progressBar2.Maximum;
|
||||
timerbar.Stop();
|
||||
//timerbar.Stop();
|
||||
DataGridView1.Invoke(new System.Action(Display));
|
||||
CreateFile();
|
||||
//Passzong.Text = ChanPass.ToString();
|
||||
@@ -1198,13 +1198,16 @@ namespace C_Windows_1
|
||||
}
|
||||
return localIP;
|
||||
}
|
||||
|
||||
System.Net.IPAddress ip;
|
||||
private static Socket sock;
|
||||
Thread UDPlisten;
|
||||
string UDPRecvData;
|
||||
//点击“连接串口”按钮,连接串口
|
||||
private void BtnCon1_Click(object sender, EventArgs e)
|
||||
{
|
||||
UDPResults.Items.Clear();
|
||||
byte[] data = Encoding.ASCII.GetBytes("hello,udp server");
|
||||
System.Net.IPAddress ip;
|
||||
|
||||
string localip=GetLocalIPAddress();
|
||||
|
||||
// 查找第三个 '.' 符号的位置
|
||||
@@ -1223,19 +1226,53 @@ namespace C_Windows_1
|
||||
// 获本机IP频段广播到 .255
|
||||
IPEndPoint endPoint = new IPEndPoint(ip, Port);
|
||||
|
||||
try
|
||||
{
|
||||
// 发送广播
|
||||
udpClient.Send(data, data.Length, endPoint);
|
||||
//try
|
||||
//{
|
||||
// // 发送广播
|
||||
// udpClient.Send(data, data.Length, endPoint);
|
||||
|
||||
isListening = true;
|
||||
// 开始监听返回消息
|
||||
udpClient.BeginReceive(ReceiveCallback, null);
|
||||
timeoutTimer.Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
// isListening = true;
|
||||
// // 开始监听返回消息
|
||||
// udpClient.BeginReceive(ReceiveCallback, null);
|
||||
// timeoutTimer.Start();
|
||||
//}
|
||||
//catch (Exception ex)
|
||||
//{
|
||||
// MessageBox.Show(ex.Message);
|
||||
//}
|
||||
sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
|
||||
sock.SetSocketOption(SocketOptionLevel.Socket,
|
||||
SocketOptionName.Broadcast, 1);
|
||||
|
||||
UDPOverTime.Interval = 3000;
|
||||
UDPOverTime.Start();
|
||||
isListening = true;
|
||||
UDPlisten = new Thread(UDP_Listening);
|
||||
UDPlisten.Start();
|
||||
sock.SendTo(data, endPoint);
|
||||
//UDPRead.Interval = 3000;
|
||||
//UDPRead.Start();
|
||||
}
|
||||
|
||||
private void UDP_Listening()
|
||||
{
|
||||
while (isListening)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
Invoke(new System.Action(() =>
|
||||
{
|
||||
UDPOverTime.Stop();
|
||||
}
|
||||
));
|
||||
byte[] data = new byte[1024];
|
||||
int recv = sock.Receive(data);
|
||||
string RecvData = Encoding.ASCII.GetString(data, 0, recv);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
UDPResults.Items.Add(RecvData); // 将接收到的消息添加到 ComboBox
|
||||
UDPResults.SelectedIndex = UDPResults.Items.Count - 1;
|
||||
}));
|
||||
//UDPRecvData += RecvData;
|
||||
//UDPRecvData += "\n";
|
||||
}
|
||||
}
|
||||
private void ReceiveCallback(IAsyncResult ar)
|
||||
@@ -1244,7 +1281,7 @@ namespace C_Windows_1
|
||||
{
|
||||
if (!isListening) return;
|
||||
|
||||
IPEndPoint remoteEndPoint = new IPEndPoint(System.Net.IPAddress.Any, Port);
|
||||
IPEndPoint remoteEndPoint = new IPEndPoint(ip, Port);
|
||||
byte[] receivedData = udpClient.EndReceive(ar, ref remoteEndPoint);
|
||||
string receivedMessage = Encoding.ASCII.GetString(receivedData);
|
||||
|
||||
@@ -2168,197 +2205,7 @@ namespace C_Windows_1
|
||||
|
||||
|
||||
|
||||
private void AddExcel3()
|
||||
{
|
||||
if (path.Text.Length == 0)
|
||||
{
|
||||
path.Text = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
|
||||
}
|
||||
string FileDialog = path.Text;
|
||||
|
||||
|
||||
//创建文件夹
|
||||
if(!Directory.Exists(FileDialog))//如果不存在就创建file文件夹
|
||||
{
|
||||
Directory.CreateDirectory(FileDialog);
|
||||
}
|
||||
|
||||
string file = DateTime.Now.ToString("yyyyMMdd");
|
||||
string FileName = FileDialog + "\\" + file+"测试记录" + ".xlsx";
|
||||
|
||||
string filepath;
|
||||
|
||||
filepath = FileName;
|
||||
|
||||
|
||||
Excel.Application xapp = new Excel.Application();
|
||||
|
||||
if (!File.Exists(filepath))//判断所选路径是否有文件
|
||||
{
|
||||
//若不存在该文件,则创建新文件
|
||||
var str1 = new Microsoft.Office.Interop.Excel.Application();
|
||||
Excel.Workbooks xbook1 = str1.Workbooks;
|
||||
Excel.Workbook xbook2 = str1.Workbooks.Add(true);
|
||||
xbook2.SaveAs(filepath);//按照指定路径存储新文件
|
||||
xbook2.Close();
|
||||
}
|
||||
|
||||
//若存在该文件,则打开文件并写入数据
|
||||
Excel.Workbook xbook = xapp.Workbooks._Open(filepath, Missing.Value, Missing.Value,
|
||||
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
|
||||
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
|
||||
|
||||
Excel.Worksheet xsheet = (Excel.Worksheet)xbook.Sheets[1];
|
||||
|
||||
string nowdate = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
|
||||
//string[] fieldArr = { "时间", "条形码", "充气时间", "平衡时间", "检测时间", "排气时间", "充气压力上限", "充气压力下限", "大漏压差上限", "大漏压差下限", "泄漏量上限", "泄漏量下限", "测试结果", "测试压力", "压力单位", "泄漏量", "泄漏量单位" };//列名
|
||||
//string[] dataArr = { DateTime.Now.ToString(), Code.Text, FullTime.Text + "s", BalanTime.Text + "s", TestTime1.Text + "s", ExhaustTime.Text + "s", FPtoplimit.Text + PressureUnit.Text, FPlowlimit.Text + PressureUnit.Text, BLeakTPre.Text + "Pa", BLeakLPre.Text + "Pa", Leaktoplimit.Text + LeakUnit.Text, Leaklowlimit.Text + LeakUnit.Text, Tlight.Text, DLeakPressure, PressureUnit.Text, DLeak, LeakUnit.Text }; //行名
|
||||
|
||||
string[] fieldArr = { "时间", "条形码", "充气时间", "平衡时间", "检测时间", "排气时间", "充气压力上限", "充气压力下限", "大漏压差上限", "大漏压差下限", "泄漏量上限", "泄漏量下限", "测试结果", "测试压力", "压力单位", "泄漏量", "泄漏量单位" };//列名
|
||||
//string[] fieldArr = { I18N.GetLangText(dicLang, "时间"), I18N.GetLangText(dicLang, "条形码"), I18N.GetLangText(dicLang, "充气时间"), I18N.GetLangText(dicLang, "平衡时间"), I18N.GetLangText(dicLang, "检测时间"), I18N.GetLangText(dicLang, "排气时间"),
|
||||
// I18N.GetLangText(dicLang, "充气压力上限"), I18N.GetLangText(dicLang, "充气压力下限"), I18N.GetLangText(dicLang, "大漏压差上限"), I18N.GetLangText(dicLang, "大漏压差下限"),
|
||||
// I18N.GetLangText(dicLang, "泄漏量上限") , I18N.GetLangText(dicLang, "泄漏量下限"),I18N.GetLangText(dicLang, "测试结果"), I18N.GetLangText(dicLang, "测试压力"), I18N.GetLangText(dicLang, "压力单位"), I18N.GetLangText(dicLang, "泄漏量"),
|
||||
// I18N.GetLangText(dicLang, "泄漏量单位") };//列名
|
||||
|
||||
string[] dataArr = {DateTime.Now.ToString(),Code.Text, ReadData[25] / 10.0 + "s", ReadData[26] / 10.0 + "s", ReadData[27] / 10.0 + "s", ReadData[28] / 10.0 + "s",
|
||||
TwoUInt16ToFloat(ReadData[33], ReadData[32]).ToString(), TwoUInt16ToFloat(ReadData[47], ReadData[46]).ToString(),
|
||||
ReadData[36].ToString() , ( Digitalconversion( ReadData[37])).ToString() , TwoUInt16ToFloat(ReadData[39], ReadData[38]).ToString() , TwoUInt16ToFloat(ReadData[45], ReadData[44]).ToString() ,Tlight.Text ,
|
||||
TwoUInt16ToFloat(ReadData[17], ReadData[16]).ToString() , PressureUnit.Text , TwoUInt16ToFloat(ReadData[19], ReadData[18]).ToString() , LeakUnit.Text};
|
||||
|
||||
int c = xsheet.UsedRange.Rows.Count;
|
||||
// label1.Text = c.ToString();
|
||||
int a;
|
||||
for (a = 0; a < fieldArr.Length; a++)
|
||||
{
|
||||
xsheet.Cells[a + 1][1] = fieldArr[a];
|
||||
}
|
||||
int b;
|
||||
// int j;
|
||||
for (b = 0; b < dataArr.Length; b++)
|
||||
{
|
||||
Excel.Range cell = (Excel.Range)xsheet.Cells[b + 1][c + 1];
|
||||
cell.NumberFormat = "@";
|
||||
xsheet.Cells[b + 1][c + 1] = dataArr[b];//将数据插入
|
||||
}
|
||||
|
||||
// string result="40";
|
||||
// xsheet.Cells[1][1] = result;
|
||||
xbook.Save();
|
||||
xsheet = null;
|
||||
xbook.Close();
|
||||
xapp.DisplayAlerts = false;
|
||||
xapp.Quit();
|
||||
xapp = null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//将数据写入Excel表格
|
||||
private void AddExcel2()
|
||||
{
|
||||
string fileName;
|
||||
string file = DateTime.Now.ToString("yyyyMMdd");
|
||||
if (path.Text == "")//若路径处不输入则获取桌面路径
|
||||
{
|
||||
fileName = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\leaktest.xls";
|
||||
}
|
||||
else
|
||||
{
|
||||
fileName = path.Text + "\\" + "leaktest" + file + ".xls";
|
||||
}
|
||||
// label1.Text = "点击了哦";
|
||||
Excel.Application xapp = new Excel.Application();
|
||||
// string filepath = @"D:\567.xlsx";
|
||||
if (File.Exists(fileName))//判断所选路径是否有文件
|
||||
{
|
||||
//若存在该文件,则打开文件并写入数据
|
||||
Excel.Workbook xbook = xapp.Workbooks._Open(fileName, Missing.Value, Missing.Value,
|
||||
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
|
||||
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
|
||||
|
||||
Excel.Worksheet xsheet = (Excel.Worksheet)xbook.Sheets[1];
|
||||
|
||||
string nowdate = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
|
||||
string[] fieldArr = { "时间", "条形码", "充气时间", "平衡时间", "检测时间", "排气时间", "充气压力上限", "充气压力下限", "大漏压差上限", "大漏压差下限", "泄漏量上限", "泄漏量下限", "测试结果", "测试压力", "压力单位", "泄漏量", "泄漏量单位" };//列名
|
||||
string[] dataArr = { DateTime.Now.ToString(), Code.Text, FullTime.Text + "s", BalanTime.Text + "s", TestTime1.Text + "s", ExhaustTime.Text + "s", FPtoplimit.Text + PressureUnit.Text, FPlowlimit.Text + PressureUnit.Text, BLeakTPre.Text + "Pa", BLeakLPre.Text + "Pa", Leaktoplimit.Text + LeakUnit.Text, Leaklowlimit.Text + LeakUnit.Text, Tlight.Text, DLeakPressure, PressureUnit.Text, DLeak, LeakUnit.Text }; //行名
|
||||
|
||||
int c = xsheet.UsedRange.Rows.Count;
|
||||
// label1.Text = c.ToString();
|
||||
int a;
|
||||
for (a = 0; a < fieldArr.Length; a++)
|
||||
{
|
||||
xsheet.Cells[a + 1][1] = fieldArr[a];
|
||||
}
|
||||
int b;
|
||||
// int j;
|
||||
for (b = 0; b < dataArr.Length; b++)
|
||||
{
|
||||
// for( j = 0;j< dataArr.Length ;j++)
|
||||
xsheet.Cells[b + 1][c + 1] = dataArr[b];
|
||||
}
|
||||
|
||||
// string result="40";
|
||||
// xsheet.Cells[1][1] = result;
|
||||
xbook.Save();
|
||||
xsheet = null;
|
||||
xbook.Close();
|
||||
xapp.DisplayAlerts = false;
|
||||
xapp.Quit();
|
||||
xapp = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
// textBox2.Text = Directory.Exists(filepath).ToString();
|
||||
//若不存在该文件,则创建新文件
|
||||
var str1 = new Microsoft.Office.Interop.Excel.Application();
|
||||
Excel.Workbooks xbook1 = str1.Workbooks;
|
||||
Excel.Workbook xbook2 = str1.Workbooks.Add(true);
|
||||
xbook2.SaveAs(fileName);//按照指定路径存储新文件
|
||||
xbook2.Close();
|
||||
Excel.Workbook xbook = xapp.Workbooks._Open(fileName, Missing.Value, Missing.Value,
|
||||
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
|
||||
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
|
||||
|
||||
Excel.Worksheet xsheet = (Excel.Worksheet)xbook.Sheets[1];
|
||||
|
||||
string nowdate = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
|
||||
string[] fieldArr = { "时间", "条形码", "充气时间", "平衡时间", "检测时间", "排气时间", "充气压力上限", "充气压力下限", "大漏压差上限", "大漏压差下限", "泄漏量上限", "泄漏量下限", "测试结果", "测试压力", "压力单位", "泄漏量", "泄漏量单位" };//列名
|
||||
string[] dataArr = { DateTime.Now.ToString(), Code.Text, FullTime.Text + "s", BalanTime.Text + "s", TestTime1.Text + "s", ExhaustTime.Text + "s", FPtoplimit.Text + PressureUnit.Text, FPlowlimit.Text + PressureUnit.Text, BLeakTPre.Text + "Pa", BLeakLPre.Text + "Pa", Leaktoplimit.Text + LeakUnit.Text, Leaklowlimit.Text + LeakUnit.Text, Tlight.Text, DLeakPressure, PressureUnit.Text, DLeak, LeakUnit.Text }; //行名
|
||||
|
||||
int c = xsheet.UsedRange.Rows.Count;
|
||||
// label1.Text = c.ToString();
|
||||
int a;
|
||||
for (a = 0; a < fieldArr.Length; a++)
|
||||
{
|
||||
xsheet.Cells[a + 1][1] = fieldArr[a];
|
||||
}
|
||||
int b;
|
||||
// int j;
|
||||
for (b = 0; b < dataArr.Length; b++)
|
||||
{
|
||||
// for( j = 0;j< dataArr.Length ;j++)
|
||||
xsheet.Cells[b + 1][c + 1] = dataArr[b];
|
||||
}
|
||||
|
||||
// string result="40";
|
||||
// xsheet.Cells[1][1] = result;
|
||||
xbook.Save();
|
||||
xsheet = null;
|
||||
xbook.Close();
|
||||
xapp.DisplayAlerts = false;
|
||||
xapp.Quit();
|
||||
xapp = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//将数据写入TXT
|
||||
private void AddTXT()
|
||||
@@ -2749,17 +2596,17 @@ namespace C_Windows_1
|
||||
|
||||
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
Timer1.Stop();
|
||||
Timer2.Stop();
|
||||
Timer3.Stop();
|
||||
Timer4.Stop();
|
||||
//Timer1.Stop();
|
||||
//Timer2.Stop();
|
||||
//Timer3.Stop();
|
||||
//Timer4.Stop();
|
||||
|
||||
Timer8.Stop();
|
||||
Timer9.Stop();
|
||||
Timer10.Stop();
|
||||
//Timer8.Stop();
|
||||
//Timer9.Stop();
|
||||
//Timer10.Stop();
|
||||
|
||||
Timer16.Stop();
|
||||
this.Hide();
|
||||
//Timer16.Stop();
|
||||
//this.Hide();
|
||||
|
||||
SerialPort1.Dispose();
|
||||
SerialPort1.Close();
|
||||
@@ -2767,7 +2614,9 @@ namespace C_Windows_1
|
||||
{
|
||||
modbusClient.ConnectClose();
|
||||
}
|
||||
|
||||
|
||||
this.Dispose();
|
||||
System.Environment.Exit(0);
|
||||
}
|
||||
|
||||
private void Timer11_Tick(object sender, EventArgs e)
|
||||
@@ -3220,6 +3069,26 @@ namespace C_Windows_1
|
||||
}
|
||||
}
|
||||
|
||||
private void UDPRead_Tick(object sender, EventArgs e)
|
||||
{
|
||||
UDPRead.Stop();
|
||||
UDP_Parse();
|
||||
}
|
||||
public void UDP_Parse()
|
||||
{
|
||||
|
||||
if (!String.IsNullOrEmpty(UDPRecvData))
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void UDPOverTime_Tick(object sender, EventArgs e)
|
||||
{
|
||||
isListening = false;
|
||||
}
|
||||
|
||||
private void CodePort1_DataReceived_1(object sender, SerialDataReceivedEventArgs e)
|
||||
{
|
||||
|
||||
|
||||
Reference in New Issue
Block a user