private void Form1_Load(object sender, EventArgs e) { initSendBox(); //StringBuilder r = new StringBuilder(); //for (int i = ' '; i < 128; i++) // r.Append((char)i); //FileData.Text = r.ToString(); ips = getIPAddress(); GetIPID = Encoding.Default.GetBytes("print(\"ID:\"..node.chipid())"); OutPoint = new IPEndPoint(IPAddress.Any, 0); BroadcastFlag = true; new Task(() => { while (!this.IsDisposed) { try { byte[] buff = Search.Receive(ref OutPoint); lasttarget = OutPoint.Address; OutPoint.Address = IPAddress.Any; OutPoint.Port = 0; string value = Encoding.Default.GetString(buff); if (value.IndexOf("[") == 0) { value = value.Substring(1); value = value.Substring(0, value.Length - 1); } if (value.IndexOf("ID:") == 0) { IPAddress ip = OutPoint.Address; int id = int.Parse(value.Substring(3)); bool isfind = false; foreach (CarData car in DevSelect.Items) { if (car.ID == id) { if (car.ip.Address != lasttarget.Address) { car.ip = lasttarget; } isfind = true; break; } } if (!isfind) { CarData cd = new CarData(lasttarget, id); Invoke(new MethodInvoker(() => { DevSelect.Items.Add(cd); if (DevSelect.SelectedIndex == -1) { DevSelect.SelectedIndex = 0; } })); } Invoke(new MethodInvoker(() => { DevSelect.Update(); })); continue; } else { Invoke(new MethodInvoker(() => { RecvText.AppendText(value + "\r\n"); })); } if (DownloadFlag) { if (value.IndexOf("W:") == 0) { int pos = int.Parse(value.Substring(2)); if (pos == WriteID) { WriteID++; if (WriteID < 0) { SendTargetData("file.open(\"" + TargetFile.name + "\",\"w+\") print(\"W:" + WriteID + "\")"); } else if (WriteID < TargetFile.lines.Count) { SendTargetData("file.writeline('" + TargetFile.lines[WriteID].Replace("\\", "\\\\").Replace("\"", "\\\"").Replace("'", "\\'") + "') print('W:" + WriteID + "')"); Invoke(new MethodInvoker(() => { Downprogress.Value = WriteID * 100 / TargetFile.lines.Count; })); } else { SendTargetData("file.close()"); Invoke(new MethodInvoker(() => { Downprogress.Value = 100; Downprogress.Visible = false; DownloadFlag = false; })); } } } else if (value.IndexOf("D:") == 0) { int pos = int.Parse(value.Substring(2)); if (pos == WriteID) { WriteID++; if (WriteID < 0) { SendTargetData("file.open(\"" + TargetFile.name + "\",\"w+\") function t2s(t) for i=1,#t do t[i]=string.char(t[i]) end return table.concat(t) end rp=" + WriteID + " print(\"D:\"..rp)"); } else if ((TargetFile.stream.Length - TargetFile.stream.Position) != 0) { StringBuilder sb = new StringBuilder(); int i = (TargetFile.stream.Length - TargetFile.stream.Position) >= 32 ? 32 : (int)(TargetFile.stream.Length - TargetFile.stream.Position); while (i-- != 0) { sb.Append(TargetFile.stream.ReadByte()); sb.Append(','); } TargetFile.writeInfo = sb.ToString(); SendTargetData("file.write(t2s({" + TargetFile.writeInfo + "})) rp=" + WriteID + " print(\"D:\"..rp)"); Invoke(new MethodInvoker(() => { Downprogress.Value = WriteID * 100 / (int)(TargetFile.stream.Length / 32); })); } else { SendTargetData("file.close()"); Invoke(new MethodInvoker(() => { Downprogress.Value = 100; //Downprogress.Visible = false; })); } } } } } catch { } } }).Start(); int SearchCount = 15; new Task(() => { while (!this.IsDisposed) { try { if (++SearchCount >= 15) { if (BroadcastFlag) { BroadcastData(GetIPID); } SearchCount = 0; } } catch { } Thread.Sleep(100); } }).Start(); }
private void MultipleSettingEdit_Load(object sender, EventArgs e) { try { //加载设备类型 if (deviceInfos != null) { //DataTable dt = Basic.Framework.Common.ObjectConverter.ToDataTable<Jc_DevInfo>(deviceInfos); //DevSelect.DataSource = dt; //DevSelect.DisplayMember = "Name"; //DevSelect.ValueMember = "devid"; //DevSelect.Refresh(); CheckedListBoxItem[] items = new CheckedListBoxItem[deviceInfos.Count]; for (int i = 0; i < deviceInfos.Count; i++) { //if (multiplesettingInfo != null) //{ //} items[i] = new CheckedListBoxItem(deviceInfos[i].Devid.ToString(), deviceInfos[i].Name, CheckState.Unchecked); } DevSelect.Items.AddRange(items); } if (multiplesettingInfo != null) { //加载设备类型选择 for (int j = 0; j < DevSelect.Items.Count; j++) { if (DevSelect.Items[j].Value.ToString() == multiplesettingInfo.Devid.ToString()) { DevSelect.SetItemChecked(j, true); } } DevSelect.Enabled = false; //加载倍数关系 string[] multipleTextArray = multiplesettingInfo.MultipleText.Split('|'); for (int i = 0; i < multipleTextArray.Length; i++) { string[] tempsonmultipleTextArr = multipleTextArray[i].Split(','); switch (i + 1) { case 1: WeekAverageMin1.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax1.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled1.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 2: WeekAverageMin2.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax2.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled2.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 3: WeekAverageMin3.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax3.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled3.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 4: WeekAverageMin4.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax4.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled4.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 5: WeekAverageMin5.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax5.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled5.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 6: WeekAverageMin6.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax6.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled6.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 7: WeekAverageMin7.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax7.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled7.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 8: WeekAverageMin8.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax8.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled8.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 9: WeekAverageMin9.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax9.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled9.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 10: WeekAverageMin10.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax10.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled10.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; } } } else { DevSelect.Enabled = true; for (int j = 0; j < DevSelect.Items.Count; j++) { DevSelect.SetItemChecked(j, false); } for (int i = 0; i < 10; i++)//全部置成初始状态 { string[] tempsonmultipleTextArr = ("0,0,0|0,0,0|0,0,0|0,0,0|0,0,0|0,0,0|0,0,0|0,0,0|0,0,0|0,0,0").Split('|'); switch (i + 1) { case 1: WeekAverageMin1.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax1.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled1.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 2: WeekAverageMin2.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax2.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled2.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 3: WeekAverageMin3.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax3.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled3.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 4: WeekAverageMin4.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax4.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled4.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 5: WeekAverageMin5.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax5.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled5.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 6: WeekAverageMin6.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax6.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled6.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 7: WeekAverageMin7.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax7.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled7.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 8: WeekAverageMin8.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax8.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled8.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 9: WeekAverageMin9.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax9.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled9.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; case 10: WeekAverageMin10.Value = decimal.Parse(tempsonmultipleTextArr[0]); WeekAverageMax10.Value = decimal.Parse(tempsonmultipleTextArr[1]); Multipled10.Value = decimal.Parse(tempsonmultipleTextArr[2]); break; } } } } catch (Exception ex) { Basic.Framework.Logging.LogHelper.Error(ex); } }