From dbed0354a00fde9db87862b9f03db0fbf0d3aabc Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 04 九月 2024 16:38:50 +0800
Subject: [PATCH] 1

---
 SimuTools/FrmMain.cs |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/SimuTools/FrmMain.cs b/SimuTools/FrmMain.cs
index 63e50df..76264a9 100644
--- a/SimuTools/FrmMain.cs
+++ b/SimuTools/FrmMain.cs
@@ -1,5 +1,7 @@
-锘縰sing SimuTools.Tools;
+锘縰sing SimuTools.Domain;
+using SimuTools.Tools;
 using System;
+using System.Diagnostics;
 using System.IO;
 using System.Windows.Forms;
 
@@ -7,8 +9,6 @@
 {
     public partial class FrmMain : Form
     {
-        private bool flag;
-
         public FrmMain()
         {
             InitializeComponent();
@@ -36,11 +36,21 @@
 
         private void btnTerrainPath_Click(object sender, EventArgs e)
         {
+            selectFile(this.txtTerrainPath);
+        }
+
+        private void btnBuildingPath_Click(object sender, EventArgs e)
+        {
+            selectFile(this.txtBuildingPath);
+        }
+
+        private void selectFile(TextBox tb)
+        {
             OpenFileDialog dialog = new OpenFileDialog();
             dialog.Filter = "Tif files(*.tif)|*.tif|Tiff files (*.tiff)|*.tiff";
             dialog.RestoreDirectory = true;
 
-            string path = this.txtTerrainPath.Text.Trim();
+            string path = tb.Text.Trim();
             if (File.Exists(path))
             {
                 dialog.InitialDirectory = Path.GetDirectoryName(path);
@@ -48,7 +58,7 @@
 
             if (dialog.ShowDialog() == DialogResult.OK)
             {
-                this.txtTerrainPath.Text = dialog.FileName;
+                tb.Text = dialog.FileName;
             }
         }
 
@@ -89,6 +99,7 @@
         {
             string serviceName = this.txtServiceName.Text.Trim();
             string terrainFile = this.txtTerrainPath.Text.Trim();
+            string buildingFile = this.txtBuildingPath.Text.Trim();
             string waterPath = this.txtWaterPath.Text.Trim();
             string flowPath = this.txtFlowPath.Text.Trim();
             string outPath = this.txtOutPath.Text.Trim();
@@ -98,9 +109,9 @@
                 ShowErr("鏈嶅姟鍚嶇О锛岃姹傚繀濉紒");
                 return;
             }
-            if (!File.Exists(terrainFile))
+            if (!File.Exists(terrainFile) || !File.Exists(buildingFile))
             {
-                ShowErr("鍦板舰鏂囦欢锛岃姹傚繀椤诲瓨鍦紒");
+                ShowErr("鍦板舰鍜屽缓绛戞枃浠讹紝瑕佹眰蹇呴』瀛樺湪锛�");
                 return;
             }
             if (!Directory.Exists(waterPath) || !Directory.Exists(flowPath) || !Directory.Exists(outPath))
@@ -109,27 +120,23 @@
                 return;
             }
 
-            if (flag) return;
             try
             {
-                flag = true;
+                this.btnRun.Enabled = false;
                 LogOut.Info("寮�濮嬭繍琛� >>");
 
-                outPath = Path.Combine(outPath, serviceName);
-                if (!Directory.Exists(outPath))
-                {
-                    Directory.CreateDirectory(outPath);
-                }
+                Stopwatch stopWatch = new Stopwatch();
+                stopWatch.Start();
+                Tools.Handle.Run(new Args(serviceName, terrainFile, buildingFile, waterPath, flowPath, outPath));
+                stopWatch.Stop();
 
-                Tools.Handle.Run(terrainFile, waterPath, flowPath, outPath);
-
-                flag = false;
+                this.btnRun.Enabled = true;
                 LogOut.Info("杩愯缁撴潫 <<");
-                MessageBox.Show("杩愯缁撴潫锛�", "鎻愮ず", MessageBoxButtons.OK, MessageBoxIcon.Information);
+                MessageBox.Show("杩愯缁撴潫锛乗n鑰楁椂锛�" + GetSeconds(stopWatch.ElapsedMilliseconds) + " 绉�", "鎻愮ず", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             catch (Exception ex)
             {
-                flag = false;
+                this.btnRun.Enabled = true;
                 LogOut.Error(ex.StackTrace);
                 ShowErr("杩愯鍑洪敊锛�" + ex.Message);
             }
@@ -139,5 +146,10 @@
         {
             MessageBox.Show(message, "鎻愮ず", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
+
+        private string GetSeconds(long milliseconds)
+        {
+            return (milliseconds / 1000.0).ToString();
+        }
     }
 }

--
Gitblit v1.9.3