/// <summary> /// 提 交 /// </summary> /// <params name="sender"></params> /// <params name="e"></params> private void btnSubmit_Click(object sender, EventArgs e) { DialogResult = DialogResult.OK; // 创建断层实体 Faultage = Faultage.FindAllByProperty("name", txtFaultageName.Text.Trim()).FirstOrDefault(); Faultage = Faultage ?? new Faultage { bid = IdGenerator.NewBindingId() }; Faultage.name = txtFaultageName.Text.Trim(); Faultage.gap = txtGap.Text.Trim(); Faultage.type = rbtnFrontFaultage.Checked ? "正断层" : "逆断层"; Faultage.trend = Convert.ToDouble(txtTrend.Text); Faultage.separation = txtSeparation.Text.Trim(); double dAngle; if (double.TryParse(txtAngle.Text.Trim(), out dAngle)) { Faultage.angle = dAngle; } // 坐标X double dCoordinateX; if (double.TryParse(txtCoordinateX.Text.Trim(), out dCoordinateX)) { Faultage.coordinate_x = dCoordinateX; } // 坐标Y double dCoordinateY; if (double.TryParse(txtCoordinateY.Text.Trim(), out dCoordinateY)) { Faultage.coordinate_y = dCoordinateY; } // 坐标Z double dCoordinateZ; if (double.TryParse(txtCoordinateZ.Text.Trim(), out dCoordinateZ)) { Faultage.coordinate_z = dCoordinateZ; } double dLength; if (double.TryParse(txtLength.Text.Trim(), out dLength)) { Faultage.length = dLength; } ModifyJldc(Faultage); Faultage.Save(); DialogResult = DialogResult.OK; }
/// <summary> /// 带参数的构造方法 /// </summary> public FaultageInfoEntering(Faultage faultage) { InitializeComponent(); Faultage = faultage; // 设置窗体默认属性 FormDefaultPropertiesSetter.SetEnteringFormDefaultProperties(this, Const_GM.UPDATE_FAULTAGE_INFO); // 设置断层信息 // 断层名称 txtFaultageName.Text = Faultage.FaultageName; // 落差 txtGap.Text = Faultage.Gap; // 倾角 txtAngle.Text = Faultage.Angle.ToString(CultureInfo.InvariantCulture); // 类型 if (Const_GM.FRONT_FAULTAGE.Equals(Faultage.Type)) { rbtnFrontFaultage.Checked = true; } else { rbtnOppositeFaultage.Checked = true; } // 走向 txtTrend.Text = Faultage.Trend.ToString(CultureInfo.InvariantCulture); // 断距 txtSeparation.Text = Faultage.Separation; // 坐标X txtCoordinateX.Text = Faultage.CoordinateX.ToString(CultureInfo.InvariantCulture); // 坐标Y txtCoordinateY.Text = Faultage.CoordinateY.ToString(CultureInfo.InvariantCulture); // 坐标Z txtCoordinateZ.Text = Faultage.CoordinateZ.ToString(CultureInfo.InvariantCulture); //长度 var bid = Faultage.BindingId; var pLayer = DataEditCommon.GetLayerByName(DataEditCommon.g_pMap, LayerNames.DEFALUT_EXPOSE_FAULTAGE); var featureLayer = (IFeatureLayer)pLayer; if (pLayer == null) { txtLength.Text = @"0"; return; } var pFeature = MyMapHelp.FindFeatureByWhereClause(featureLayer, "BID='" + bid + "'"); if (pFeature != null) { var pline = (IPolyline)pFeature.Shape; if (pline == null) { return; } txtLength.Text = Math.Round(pline.Length).ToString(CultureInfo.InvariantCulture); } }
/// <summary> /// 带参数的构造方法 /// </summary> public FaultageInfoEntering(Faultage faultage) { InitializeComponent(); Faultage = faultage; // 设置断层信息 // 断层名称 txtFaultageName.Text = Faultage.name; // 落差 txtGap.Text = Faultage.gap; // 倾角 txtAngle.Text = Faultage.angle.ToString(CultureInfo.InvariantCulture); // 类型 if (Faultage.type == "正断层") { rbtnFrontFaultage.Checked = true; } else { rbtnOppositeFaultage.Checked = true; } // 走向 txtTrend.Text = Faultage.trend.ToString(CultureInfo.InvariantCulture); // 断距 txtSeparation.Text = Faultage.separation; // 坐标X txtCoordinateX.Text = Faultage.coordinate_x.ToString(CultureInfo.InvariantCulture); // 坐标Y txtCoordinateY.Text = Faultage.coordinate_y.ToString(CultureInfo.InvariantCulture); // 坐标Z txtCoordinateZ.Text = Faultage.coordinate_z.ToString(CultureInfo.InvariantCulture); //长度 var bid = Faultage.bid; var pLayer = DataEditCommon.GetLayerByName(DataEditCommon.g_pMap, LayerNames.DEFALUT_EXPOSE_FAULTAGE); var featureLayer = (IFeatureLayer)pLayer; if (pLayer == null) { txtLength.Text = @"0"; return; } var pFeature = MyMapHelp.FindFeatureByWhereClause(featureLayer, "BID='" + bid + "'"); if (pFeature != null) { var pline = (IPolyline)pFeature.Shape; if (pline == null) { return; } txtLength.Text = Math.Round(pline.Length).ToString(CultureInfo.InvariantCulture); } }
/// <summary> /// 带参数的构造方法 /// </summary> public FaultageInfoEntering(Faultage faultage) { InitializeComponent(); Faultage = faultage; // 设置断层信息 // 断层名称 txtFaultageName.Text = Faultage.name; // 落差 txtGap.Text = Faultage.gap; // 倾角 txtAngle.Text = Faultage.angle.ToString(CultureInfo.InvariantCulture); // 类型 if (Faultage.type == "正断层") { rbtnFrontFaultage.Checked = true; } else { rbtnOppositeFaultage.Checked = true; } // 走向 txtTrend.Text = Faultage.trend.ToString(CultureInfo.InvariantCulture); // 断距 txtSeparation.Text = Faultage.separation; // 坐标X txtCoordinateX.Text = Faultage.coordinate_x.ToString(CultureInfo.InvariantCulture); // 坐标Y txtCoordinateY.Text = Faultage.coordinate_y.ToString(CultureInfo.InvariantCulture); // 坐标Z txtCoordinateZ.Text = Faultage.coordinate_z.ToString(CultureInfo.InvariantCulture); //长度 var bid = Faultage.bid; var pLayer = DataEditCommon.GetLayerByName(DataEditCommon.g_pMap, LayerNames.DEFALUT_EXPOSE_FAULTAGE); var featureLayer = (IFeatureLayer)pLayer; if (pLayer == null) { txtLength.Text = @"0"; return; } var pFeature = MyMapHelp.FindFeatureByWhereClause(featureLayer, "BID='" + bid + "'"); if (pFeature != null) { var pline = (IPolyline)pFeature.Shape; if (pline == null) return; txtLength.Text = Math.Round(pline.Length).ToString(CultureInfo.InvariantCulture); } }
/// <summary> /// 修改揭露断层图元 /// </summary> /// <params name="faultageEntity"></params> private void ModifyJldc(Faultage faultageEntity) { //1.获得当前编辑图层 var drawspecial = new DrawSpecialCommon(); const string sLayerAliasName = LayerNames.DEFALUT_EXPOSE_FAULTAGE; //“揭露断层”图层 var featureLayer = drawspecial.GetFeatureLayerByName(sLayerAliasName); if (featureLayer == null) { MessageBox.Show(@"未找到" + sLayerAliasName + @"图层,无法修改揭露断层图元。"); return; } //2.删除原来图元,重新绘制新图元 DataEditCommon.DeleteFeatureByBId(featureLayer, faultageEntity.bid); DrawJldc(faultageEntity); }
/// <summary> /// 绘制揭露断层图元 /// </summary> /// <params name="faultage"></params> private void DrawJldc(Faultage faultage) { ////1.获得当前编辑图层 //DrawSpecialCommon drawspecial = new DrawSpecialCommon(); //string sLayerAliasName = LibCommon.LibLayerNames.DEFALUT_EXPOSE_FAULTAGE;//“揭露断层”图层 //IFeatureLayer featureLayer = drawspecial.GetFeatureLayerByName(sLayerAliasName); //if (featureLayer == null) //{ // MessageBox.Show("未找到" + sLayerAliasName + "图层,无法绘制揭露断层图元。"); // return; //} ////2.生成要素(要根据中心点获取起止点) ////中心点 //double centrePtX = Convert.ToDouble(this.txtCoordinateX.Text.ToString()); //double centrePtY = Convert.ToDouble(this.txtCoordinateY.Text.ToString()); //IPoint centrePt = new PointClass(); //centrePt.X = centrePtX; //centrePt.Y = centrePtY; //// 图形坐标Z //zwy 20140526 add //double dCoordinateZ = 0; //if (!double.TryParse(this.txtCoordinateZ.Text.Trim(), out dCoordinateZ)) //{ // MessageBox.Show("输入的Z坐标不是有效数值,请检查!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); // return; //} //centrePt.Z = dCoordinateZ; //double angle = Convert.ToDouble(this.txtAngle.Text.ToString());//倾角 //double length = 10;//默认长度为20,左右各10 ////计算起止点 //IPoint fromPt = new PointClass(); //IPoint toPt = new PointClass(); //CalculateEndpoints(centrePt, angle, length, ref fromPt, ref toPt); //DataEditCommon.g_CurWorkspaceEdit.StartEditing(false); //DataEditCommon.g_CurWorkspaceEdit.StartEditOperation(); //IFeature pFeature = featureLayer.FeatureClass.CreateFeature(); //ILine line = new LineClass(); //line.PutCoords(fromPt, toPt); //object Missing = Type.Missing; //ISegment segment = line as ISegment; //ISegmentCollection newLine = new PolylineClass(); //newLine.AddSegment(segment, ref Missing, ref Missing); //IPolyline polyline = newLine as IPolyline; //DataEditCommon.ZMValue(pFeature, polyline); //zwy 20140526 add //pFeature.Shape = polyline; ////2.1断层标注(DCBZ) //string strMC = this.txtFaultageName.Text;//断层名称 //string strLC = this.txtGap.Text;//落差 //string strQJ = this.txtAngle.Text;//倾角 //string strDCBZ = strMC + " " + "H=" + strLC + "m" + " " + "<" + strQJ + "°"; ////断层标注字段赋值(该字段值保持在图层属性中) //int index = featureLayer.FeatureClass.Fields.FindField("FAULTAGE_NAME"); //pFeature.set_Value(index, strDCBZ); ////要素ID字段赋值(对应属性表中BindingID) //int iFieldID = pFeature.Fields.FindField(GIS_Const.FIELD_BID); //pFeature.Value[iFieldID] = faultage.bid.ToString(); //pFeature.Store(); //DataEditCommon.g_CurWorkspaceEdit.StopEditOperation(); //DataEditCommon.g_CurWorkspaceEdit.StopEditing(true); ////2.2给生成的断层赋符号 //int ID = pFeature.OID; //string path = Application.StartupPath + @"\symbol.ServerStyle";//【这里用到了自己定义的符号库】 ////默认为正断层(符号) //string sGalleryClassName = "123"; //string symbolName = "123"; ; //if (this.rbtnFrontFaultage.Checked)//正断层 //{ // sGalleryClassName = "123"; // symbolName = "123"; //} //else if (this.rbtnOppositeFaultage.Checked)//逆断层 //{ // sGalleryClassName = "1234"; // symbolName = "1234"; //} //ILineSymbol lineSymbol = GetSymbol(path, sGalleryClassName, symbolName); //ILayer layer = featureLayer as ILayer; //SpecialLineRenderer(layer, ID, lineSymbol); //AddAnnotate(layer, GIS_Const.FILE_DCBZ); ////缩放到新增的线要素,并高亮该要素 //GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.Extent = pFeature.Shape.Envelope; //GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.Extent.Expand(1.5, 1.5, true); //GIS.Common.DataEditCommon.g_pMyMapCtrl.Map.SelectFeature(featureLayer, pFeature); //GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewAll, null, null); var pLayer = DataEditCommon.GetLayerByName(DataEditCommon.g_pMap, LayerNames.DEFALUT_EXPOSE_FAULTAGE); var featureLayer = (IFeatureLayer)pLayer; if (pLayer == null) { MessageBox.Show(@"未找到揭露断层图层,无法绘制揭露断层图元。"); return; } //2.生成要素(要根据中心点获取起止点) //中心点 IPoint centrePt = new PointClass(); centrePt.X = faultage.coordinate_x; centrePt.Y = faultage.coordinate_y; centrePt.Z = faultage.coordinate_z; var trend = faultage.trend; //走向 var length = faultage.length / 2; //默认长度为20,左右各10 //计算起止点 IPoint fromPt = new PointClass(); IPoint toPt = new PointClass(); CalculateEndpoints(centrePt, trend, length, ref fromPt, ref toPt); ILine line = new LineClass(); line.PutCoords(fromPt, toPt); var missing = Type.Missing; var segment = (ISegment)line; ISegmentCollection newLine = new PolylineClass(); newLine.AddSegment(segment, ref missing, ref missing); var polyline = (IPolyline)newLine; var list = new List<ziduan> { new ziduan("bid", faultage.bid), new ziduan("FAULTAGE_NAME", faultage.name), new ziduan("addtime", DateTime.Now.ToString(CultureInfo.InvariantCulture)), new ziduan("GAP", faultage.gap), new ziduan("ANGLE", faultage.angle.ToString(CultureInfo.InvariantCulture)), new ziduan("TREND", faultage.trend.ToString(CultureInfo.InvariantCulture)), new ziduan("SEPARATION", faultage.separation), new ziduan("type", faultage.type) }; var pfeature = DataEditCommon.CreateNewFeature(featureLayer, polyline, list); if (pfeature == null) return; MyMapHelp.Jump(polyline); DataEditCommon.g_pMyMapCtrl.ActiveView.PartialRefresh( (esriViewDrawPhase)34, null, null); }
private void btnMultTxt_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog { RestoreDirectory = true, Filter = @"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*", Multiselect = true }; ErrorMsg = @"失败文件名:"; if (ofd.ShowDialog() != DialogResult.OK) return; var fileCount = ofd.FileNames.Length; lblTotal.Text = fileCount.ToString(); pbCount.Maximum = fileCount; pbCount.Value = 0; foreach (var fileName in ofd.FileNames) { try { var sr = new StreamReader(fileName, Encoding.GetEncoding("GB2312")); string duqu; while ((duqu = sr.ReadLine()) != null) { var str = duqu.Split('|'); var faultage = Faultage.FindAllByProperty("name", str[0]).FirstOrDefault(); if (faultage == null) { faultage = new Faultage { name = str[0], coordinate_x = Convert.ToDouble(str[1].Split(',')[0]), coordinate_y = Convert.ToDouble(str[1].Split(',')[1]), coordinate_z = 0.0, separation = str[2], gap = str[2], trend = string.IsNullOrWhiteSpace(str[4]) ? 0.0 : Convert.ToDouble(str[4]), angle = string.IsNullOrWhiteSpace(str[5]) ? 0.0 : Convert.ToDouble(str[5]), length = string.IsNullOrWhiteSpace(str[6]) ? 0.0 : Convert.ToDouble(str[6]), type = str[3], bid = IdGenerator.NewBindingId() }; DrawJldc(faultage); } else { faultage.name = str[0]; faultage.coordinate_x = Convert.ToDouble(str[1].Split(',')[0]); faultage.coordinate_y = Convert.ToDouble(str[1].Split(',')[1]); faultage.coordinate_z = 0.0; faultage.separation = str[2]; faultage.gap = str[2]; faultage.trend = string.IsNullOrWhiteSpace(str[4]) ? 0.0 : Convert.ToDouble(str[4]); faultage.angle = string.IsNullOrWhiteSpace(str[5]) ? 0.0 : Convert.ToDouble(str[5]); faultage.length = string.IsNullOrWhiteSpace(str[6]) ? 0.0 : Convert.ToDouble(str[6]); faultage.type = str[3]; ModifyJldc(faultage); } faultage.Save(); pbCount.Value++; lblSuccessed.Text = lblSuccessed.Text = (Convert.ToInt32(lblSuccessed.Text) + 1).ToString(CultureInfo.InvariantCulture); } } catch (Exception) { lblError.Text = (Convert.ToInt32(lblError.Text) + 1).ToString(CultureInfo.InvariantCulture); ErrorMsg += fileName.Substring(fileName.LastIndexOf(@"\", StringComparison.Ordinal) + 1) + "\n"; btnDetails.Enabled = true; } } Alert.AlertMsg("导入完成"); }
/// <summary> /// 绘制揭露断层图元 /// </summary> /// <params name="faultage"></params> private void DrawJldc(Faultage faultage) { ////1.获得当前编辑图层 //DrawSpecialCommon drawspecial = new DrawSpecialCommon(); //string sLayerAliasName = LibCommon.LibLayerNames.DEFALUT_EXPOSE_FAULTAGE;//“揭露断层”图层 //IFeatureLayer featureLayer = drawspecial.GetFeatureLayerByName(sLayerAliasName); //if (featureLayer == null) //{ // MessageBox.Show("未找到" + sLayerAliasName + "图层,无法绘制揭露断层图元。"); // return; //} ////2.生成要素(要根据中心点获取起止点) ////中心点 //double centrePtX = Convert.ToDouble(this.txtCoordinateX.Text.ToString()); //double centrePtY = Convert.ToDouble(this.txtCoordinateY.Text.ToString()); //IPoint centrePt = new PointClass(); //centrePt.X = centrePtX; //centrePt.Y = centrePtY; //// 图形坐标Z //zwy 20140526 add //double dCoordinateZ = 0; //if (!double.TryParse(this.txtCoordinateZ.Text.Trim(), out dCoordinateZ)) //{ // MessageBox.Show("输入的Z坐标不是有效数值,请检查!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); // return; //} //centrePt.Z = dCoordinateZ; //double angle = Convert.ToDouble(this.txtAngle.Text.ToString());//倾角 //double length = 10;//默认长度为20,左右各10 ////计算起止点 //IPoint fromPt = new PointClass(); //IPoint toPt = new PointClass(); //CalculateEndpoints(centrePt, angle, length, ref fromPt, ref toPt); //DataEditCommon.g_CurWorkspaceEdit.StartEditing(false); //DataEditCommon.g_CurWorkspaceEdit.StartEditOperation(); //IFeature pFeature = featureLayer.FeatureClass.CreateFeature(); //ILine line = new LineClass(); //line.PutCoords(fromPt, toPt); //object Missing = Type.Missing; //ISegment segment = line as ISegment; //ISegmentCollection newLine = new PolylineClass(); //newLine.AddSegment(segment, ref Missing, ref Missing); //IPolyline polyline = newLine as IPolyline; //DataEditCommon.ZMValue(pFeature, polyline); //zwy 20140526 add //pFeature.Shape = polyline; ////2.1断层标注(DCBZ) //string strMC = this.txtFaultageName.Text;//断层名称 //string strLC = this.txtGap.Text;//落差 //string strQJ = this.txtAngle.Text;//倾角 //string strDCBZ = strMC + " " + "H=" + strLC + "m" + " " + "<" + strQJ + "°"; ////断层标注字段赋值(该字段值保持在图层属性中) //int index = featureLayer.FeatureClass.Fields.FindField("FAULTAGE_NAME"); //pFeature.set_Value(index, strDCBZ); ////要素ID字段赋值(对应属性表中BindingID) //int iFieldID = pFeature.Fields.FindField(GIS_Const.FIELD_BID); //pFeature.Value[iFieldID] = faultage.bid.ToString(); //pFeature.Store(); //DataEditCommon.g_CurWorkspaceEdit.StopEditOperation(); //DataEditCommon.g_CurWorkspaceEdit.StopEditing(true); ////2.2给生成的断层赋符号 //int ID = pFeature.OID; //string path = Application.StartupPath + @"\symbol.ServerStyle";//【这里用到了自己定义的符号库】 ////默认为正断层(符号) //string sGalleryClassName = "123"; //string symbolName = "123"; ; //if (this.rbtnFrontFaultage.Checked)//正断层 //{ // sGalleryClassName = "123"; // symbolName = "123"; //} //else if (this.rbtnOppositeFaultage.Checked)//逆断层 //{ // sGalleryClassName = "1234"; // symbolName = "1234"; //} //ILineSymbol lineSymbol = GetSymbol(path, sGalleryClassName, symbolName); //ILayer layer = featureLayer as ILayer; //SpecialLineRenderer(layer, ID, lineSymbol); //AddAnnotate(layer, GIS_Const.FILE_DCBZ); ////缩放到新增的线要素,并高亮该要素 //GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.Extent = pFeature.Shape.Envelope; //GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.Extent.Expand(1.5, 1.5, true); //GIS.Common.DataEditCommon.g_pMyMapCtrl.Map.SelectFeature(featureLayer, pFeature); //GIS.Common.DataEditCommon.g_pMyMapCtrl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewAll, null, null); var pLayer = DataEditCommon.GetLayerByName(DataEditCommon.g_pMap, LayerNames.DEFALUT_EXPOSE_FAULTAGE); var featureLayer = (IFeatureLayer)pLayer; if (pLayer == null) { MessageBox.Show(@"未找到揭露断层图层,无法绘制揭露断层图元。"); return; } //2.生成要素(要根据中心点获取起止点) //中心点 IPoint centrePt = new PointClass(); centrePt.X = faultage.coordinate_x; centrePt.Y = faultage.coordinate_y; centrePt.Z = faultage.coordinate_z; var trend = faultage.trend; //走向 var length = faultage.length / 2; //默认长度为20,左右各10 //计算起止点 IPoint fromPt = new PointClass(); IPoint toPt = new PointClass(); CalculateEndpoints(centrePt, trend, length, ref fromPt, ref toPt); ILine line = new LineClass(); line.PutCoords(fromPt, toPt); var missing = Type.Missing; var segment = (ISegment)line; ISegmentCollection newLine = new PolylineClass(); newLine.AddSegment(segment, ref missing, ref missing); var polyline = (IPolyline)newLine; var list = new List <ziduan> { new ziduan("bid", faultage.bid), new ziduan("FAULTAGE_NAME", faultage.name), new ziduan("addtime", DateTime.Now.ToString(CultureInfo.InvariantCulture)), new ziduan("GAP", faultage.gap), new ziduan("ANGLE", faultage.angle.ToString(CultureInfo.InvariantCulture)), new ziduan("TREND", faultage.trend.ToString(CultureInfo.InvariantCulture)), new ziduan("SEPARATION", faultage.separation), new ziduan("type", faultage.type) }; var pfeature = DataEditCommon.CreateNewFeature(featureLayer, polyline, list); if (pfeature == null) { return; } MyMapHelp.Jump(polyline); DataEditCommon.g_pMyMapCtrl.ActiveView.PartialRefresh( (esriViewDrawPhase)34, null, null); }
private void btnMultTxt_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog { RestoreDirectory = true, Filter = @"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*", Multiselect = true }; ErrorMsg = @"失败文件名:"; if (ofd.ShowDialog() != DialogResult.OK) { return; } var fileCount = ofd.FileNames.Length; lblTotal.Text = fileCount.ToString(); pbCount.Maximum = fileCount; pbCount.Value = 0; foreach (var fileName in ofd.FileNames) { try { var sr = new StreamReader(fileName, Encoding.GetEncoding("GB2312")); string duqu; while ((duqu = sr.ReadLine()) != null) { var str = duqu.Split('|'); var faultage = Faultage.FindAllByProperty("name", str[0]).FirstOrDefault(); if (faultage == null) { faultage = new Faultage { name = str[0], coordinate_x = Convert.ToDouble(str[1].Split(',')[0]), coordinate_y = Convert.ToDouble(str[1].Split(',')[1]), coordinate_z = 0.0, separation = str[2], gap = str[2], trend = string.IsNullOrWhiteSpace(str[4]) ? 0.0 : Convert.ToDouble(str[4]), angle = string.IsNullOrWhiteSpace(str[5]) ? 0.0 : Convert.ToDouble(str[5]), length = string.IsNullOrWhiteSpace(str[6]) ? 0.0 : Convert.ToDouble(str[6]), type = str[3], bid = IdGenerator.NewBindingId() }; DrawJldc(faultage); } else { faultage.name = str[0]; faultage.coordinate_x = Convert.ToDouble(str[1].Split(',')[0]); faultage.coordinate_y = Convert.ToDouble(str[1].Split(',')[1]); faultage.coordinate_z = 0.0; faultage.separation = str[2]; faultage.gap = str[2]; faultage.trend = string.IsNullOrWhiteSpace(str[4]) ? 0.0 : Convert.ToDouble(str[4]); faultage.angle = string.IsNullOrWhiteSpace(str[5]) ? 0.0 : Convert.ToDouble(str[5]); faultage.length = string.IsNullOrWhiteSpace(str[6]) ? 0.0 : Convert.ToDouble(str[6]); faultage.type = str[3]; ModifyJldc(faultage); } faultage.Save(); pbCount.Value++; lblSuccessed.Text = lblSuccessed.Text = (Convert.ToInt32(lblSuccessed.Text) + 1).ToString(CultureInfo.InvariantCulture); } } catch (Exception) { lblError.Text = (Convert.ToInt32(lblError.Text) + 1).ToString(CultureInfo.InvariantCulture); ErrorMsg += fileName.Substring(fileName.LastIndexOf(@"\", StringComparison.Ordinal) + 1) + "\n"; btnDetails.Enabled = true; } } Alert.AlertMsg("导入完成"); }
private void btnMultTxt_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog { RestoreDirectory = true, Filter = @"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*", Multiselect = true }; ErrorMsg = @"失败文件名:"; if (ofd.ShowDialog() != DialogResult.OK) { return; } var fileCount = ofd.FileNames.Length; lblTotal.Text = fileCount.ToString(); pbCount.Maximum = fileCount; pbCount.Value = 0; foreach (var fileName in ofd.FileNames) { try { var sr = new StreamReader(fileName, Encoding.GetEncoding("GB2312")); string duqu; while ((duqu = sr.ReadLine()) != null) { var str = duqu.Split('|'); var faultage = Faultage.FindByFaultageName(str[0]); if (faultage == null) { faultage = new Faultage { FaultageName = str[0], CoordinateX = Convert.ToDouble(str[1].Split(',')[0]), CoordinateY = Convert.ToDouble(str[1].Split(',')[1]), CoordinateZ = 0.0, Separation = str[2], Gap = str[2], Trend = String.IsNullOrWhiteSpace(str[4]) ? 0.0 : Convert.ToDouble(str[4]), Angle = String.IsNullOrWhiteSpace(str[5]) ? 0.0 : Convert.ToDouble(str[5]), Length = String.IsNullOrWhiteSpace(str[6]) ? 0.0 : Convert.ToDouble(str[6]), Type = str[3], BindingId = IDGenerator.NewBindingID() }; DrawJldc(faultage); } else { faultage.FaultageName = str[0]; faultage.CoordinateX = Convert.ToDouble(str[1].Split(',')[0]); faultage.CoordinateY = Convert.ToDouble(str[1].Split(',')[1]); faultage.CoordinateZ = 0.0; faultage.Separation = str[2]; faultage.Gap = str[2]; faultage.Trend = String.IsNullOrWhiteSpace(str[4]) ? 0.0 : Convert.ToDouble(str[4]); faultage.Angle = String.IsNullOrWhiteSpace(str[5]) ? 0.0 : Convert.ToDouble(str[5]); faultage.Length = String.IsNullOrWhiteSpace(str[6]) ? 0.0 : Convert.ToDouble(str[6]); faultage.Type = str[3]; ModifyJldc(faultage); } faultage.Save(); pbCount.Value++; lblSuccessed.Text = lblSuccessed.Text = (Convert.ToInt32(lblSuccessed.Text) + 1).ToString(CultureInfo.InvariantCulture); } } catch (Exception) { lblError.Text = (Convert.ToInt32(lblError.Text) + 1).ToString(CultureInfo.InvariantCulture); ErrorMsg += fileName.Substring(fileName.LastIndexOf(@"\", StringComparison.Ordinal) + 1) + "\n"; btnDetails.Enabled = true; } } SendMessengToServer(); Alert.alert("导入完成"); }
/// <summary> /// 提 交 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSubmit_Click(object sender, EventArgs e) { // 验证 if (!Check()) { DialogResult = DialogResult.None; return; } DialogResult = DialogResult.OK; // 创建断层实体 Faultage = Faultage.FindByFaultageName(txtFaultageName.Text.Trim()); Faultage = Faultage ?? new Faultage { BindingId = IDGenerator.NewBindingID() }; Faultage.FaultageName = txtFaultageName.Text.Trim(); Faultage.Gap = txtGap.Text.Trim(); Faultage.Type = rbtnFrontFaultage.Checked ? Const_GM.FRONT_FAULTAGE : Const_GM.OPPOSITE_FAULTAGE; Faultage.Trend = Convert.ToDouble(txtTrend.Text); Faultage.Separation = txtSeparation.Text.Trim(); double dAngle; if (double.TryParse(txtAngle.Text.Trim(), out dAngle)) { Faultage.Angle = dAngle; } // 坐标X double dCoordinateX; if (double.TryParse(txtCoordinateX.Text.Trim(), out dCoordinateX)) { Faultage.CoordinateX = dCoordinateX; } // 坐标Y double dCoordinateY; if (double.TryParse(txtCoordinateY.Text.Trim(), out dCoordinateY)) { Faultage.CoordinateY = dCoordinateY; } // 坐标Z double dCoordinateZ; if (double.TryParse(txtCoordinateZ.Text.Trim(), out dCoordinateZ)) { Faultage.CoordinateZ = dCoordinateZ; } double dLength; if (double.TryParse(txtLength.Text.Trim(), out dLength)) { Faultage.Length = dLength; } ModifyJldc(Faultage); Faultage.Save(); // 断层信息修改 SendMessengToServer(); DialogResult = DialogResult.OK; }
private void RefreshData() { gcFaultage.DataSource = Faultage.FindAll(); }