public static PrimarySettings FromXmlPrimary() { string addr = Env.PrimarySettingsFile; if (File.Exists(addr)) { StreamReader sr = new StreamReader(addr); XmlSerializer s = new XmlSerializer(typeof(PrimarySettings)); using (StringReader reader = new StringReader(sr.ReadToEnd())) { object obj = s.Deserialize(reader); sr.Close(); return (PrimarySettings)obj; } } else { Cad2D.Properties.Settings ds = Cad2D.Properties.Settings.Default; PrimarySettings s = new PrimarySettings() { CameraIpAdress = ds.CameraIP, CameraPortNumber = ds.CameraPort, PLCIpAdress = ds.PLCIP, PLCPortNumber = ds.PLCPort, Velocity = ds.VelocityMem, PlcInformation = ds.PLCInformationMem, ScanVerticalSlice = ds.VerticalScan, ScanHorizontalSlice = ds.HorizontalScan, EdgeHorizontalSlice = ds.HorizontalEdge, EdgeVerticalSlice = ds.VerticalEdge, ScanAriaSegment = ds.ScanAriaSegment, VerticalBoundrySegment = ds.VerticalBoundrySegment, HorizonalBoundrySegment = ds.HorizonalBoundrySegment, ClampMem = ds.ClampMem, BridgeOptionMem = ds.BridgeOptionMem, XEncoderMem = ds.XEncoderMem, YEncoderMem = ds.YEncoderMem, EdgeHorizontalSliceMin = ds.EdgeMin, EdgeHorizontalSliceMax = ds.EdgeMax, EdgeVerticalSliceMax = ds.EdgeMax, EdgeVerticalSliceMin = ds.EdgeMin, DiskDiameter = ds.DiskDiameter, ScaleFESize = ds.ScaleFESize, FELimit = ds.FELimit, FocalLinPixels = ds.FocalLinPixels, edgeOffset = ds.edgeOffset }; return s; } }
private void button_save_Click(object sender, RoutedEventArgs e) { int camPort, plcPort; IPAddress camIp, plcIp; bool camPortValid, plcPortValid; camPortValid = int.TryParse(textBox_cameraPort.Text, out camPort); plcPortValid = int.TryParse(textBox_plcPort.Text, out plcPort); bool camIpValid = IPAddress.TryParse(textBox_cameraIp.Text, out camIp); bool plcIpValid = IPAddress.TryParse(textBox_plcIp.Text, out plcIp); if (!camIpValid) { ((MainWindow)Application.Current.MainWindow).showMsg("خطا", "آی پی وارد شده برای دوربین نامعتبر است"); return; } if (!camPortValid) { ((MainWindow)Application.Current.MainWindow).showMsg("خطا", "پورت وارد شده برای دوربین نامعتبر است"); return; } if (!plcIpValid) { ((MainWindow)Application.Current.MainWindow).showMsg("خطا", "آی پی وارد شده PLC نامعتبر است"); return; } if (!plcPortValid) { ((MainWindow)Application.Current.MainWindow).showMsg("خطا", "پورت وارد شده برای PLC نامعتبر است"); return; } PrimarySettings s = new PrimarySettings { CameraPortNumber = camPort, PLCPortNumber = plcPort, CameraIpAdress = textBox_cameraIp.Text, PLCIpAdress = textBox_plcIp.Text, TopLeftOffsetX = (int)textBox_topLeftX.Value, TopLeftOffsetY = (int)textBox_topLeftY.Value, BottomRightOffsetX = (int)textBox_bottomRightX.Value, BottomRightOffsetY = (int)textBox_bottomRightY.Value, showSpeedMonitorInMainPanel = checkBox_showSpeedMenu.IsChecked.Value, showGuideCircles = checkBox_showGuideCircles.IsChecked.Value, captureModeWhenStart = checkBox_captureModeInStart.IsChecked.Value, Velocity = int.Parse(TextBox_Velocity.Text.ToString()), PlcInformation = int.Parse(TextBox_PlcInformation.Text.ToString()) }; s.ScanVerticalSlice = int.Parse(textBox_sv.Text); s.EdgeVerticalSlice = int.Parse(textBox_ev.Text); s.ScanHorizontalSlice = int.Parse(textBox_sh.Text); s.EdgeHorizontalSlice = int.Parse(textBox_eh.Text); s.ScanAriaSegment = int.Parse(ScanAriaSegment.Text); s.VerticalBoundrySegment = int.Parse(VerticalBoundrySegment.Text); s.HorizonalBoundrySegment = int.Parse(HorizonalBoundrySegment.Text); s.EdgeVerticalSliceMin = int.Parse(textBox_evMin.Text); s.EdgeVerticalSliceMax = int.Parse(textBox_evMax.Text); s.EdgeHorizontalSliceMin = int.Parse(textBox_ehMin.Text); s.EdgeHorizontalSliceMax = int.Parse(textBox_ehMax.Text); s.BridgeOptionMem = int.Parse(TextBox_BridgeOptionMem.Text); s.ClampMem = int.Parse(TextBox_clampMem.Text); s.XEncoderMem = int.Parse(TextBox_XEncoderMem.Text); s.YEncoderMem = int.Parse(TextBox_YEncoderMem.Text); s.FELimit = int.Parse(textBox_FELimit.Text); s.ScaleFESize = double.Parse(textBox_ScaleFESize.Text); s.FocalLinPixels = int.Parse(textBox_FocalLinPixels.Text); if (btn_edgeOffset.Value != null) s.edgeOffset = (int)btn_edgeOffset.Value; s.writeToXmlFile(Env.PrimarySettingsFile); ((MainWindow)Application.Current.MainWindow).showMsg("پیام", "تنظیمات با موفقیت ذخیره شدند!"); backPageHandler?.Invoke("OPTIONS", null); }