tangs 7 år sedan
förälder
incheckning
05db60add4
1 ändrade filer med 33 tillägg och 3 borttagningar
  1. 33 3
      frequency/Form1.cs

+ 33 - 3
frequency/Form1.cs

@@ -418,13 +418,45 @@ namespace frequency
             {
                 return false;
             }
-            if (target.Contains(strs[0] + "-" + strs[1]) || target.Contains(strs[0] + "--" + strs[1]))
+            var originStr1 = strs[0] + "-" + strs[1];
+            var originStr2 = strs[0] + "--" + strs[1];
+            if (judgeDetail(originStr1, target))
+            {
+                return true;
+            } else if(judgeDetail(originStr2, target))
             {
                 return true;
             }
             return false;
         }
 
+        /*
+         * 解决形如 ea#b-c#d 中查找a#b-c#d,但是返回true的bug
+         */ 
+        private bool judgeDetail(string origin, string target)
+        {
+            var index = target.IndexOf(origin);
+            if (index < 0)
+            {
+                return false;
+            }
+            if (index != 0)
+            {
+                if ('-' != target[index - 1])
+                {
+                    return false;
+                }
+            }
+            if (index + origin.Length < target.Length)
+            {
+                if ('-' != target[index + origin.Length])
+                {
+                    return false;
+                }
+            }
+            return true;
+        }
+
         private void label1_Click(object sender, EventArgs e)
         {
 
@@ -516,8 +548,6 @@ namespace frequency
             {
                 status = "计算完成";
             }
-
-            log.D("ChangeStatus with status {0}", status);
             this.progress.Text = status;
             this.progress.Refresh();