private void SourceInput_TextChanged(object sender, TextChangedEventArgs e) { CountLetters.Content = SourceInput.Text.Length.ToString(); if (SourceInput.Text.Length == 72) { MainString = SourceInput.Text; if (Guid.TryParse(MainString.Substring(0, 36), out var firstG)) { FirstGuid = firstG; if (Guid.TryParse(MainString.Substring(36, 36), out var secondG)) { SecondGuid = secondG; IsOk = true; ImageIcon.Source = new BitmapImage(new Uri("/GuidDivider;component/Icons/yes.png", UriKind.Relative)); FirstOutput.Text = FirstGuid.ToString().ToLower(); SecondOutput.Text = SecondGuid.ToString().ToLower(); ButtonClick.IsEnabled = true; } } } else if (IsOk) { ImageIcon.Source = new BitmapImage(new Uri("/GuidDivider;component/Icons/no.png", UriKind.Relative)); IsOk = false; } }
void parse() { LeftEl = new List <Connection>(); TopEl = new List <string>(); var CountLine = from line in textBox1.Lines where line == "$NETS" select Array.IndexOf(textBox1.Lines, line) + 1; int i = CountLine.First(); Connection Connector = null; Matrix_Collision = new List <MCollision>(); string MainString, s2; for (int c = 0; (i < textBox1.Lines.Count()) && (textBox1.Lines[i] != "$END"); i++) { MainString = textBox1.Lines[i]; //Загружаем после $NETS 29 ячейка int IndexPosition = MainString.IndexOf(";"); if (IndexPosition > 0) { Connector = new Connection(); Connector.name = MainString.Substring(0, IndexPosition); MainString = MainString.Substring(IndexPosition + 1); LeftEl.Add(Connector); } string[] StrArray = MainString.TrimStart().Split(' '); for (int j = 0; j < StrArray.Count(); j++) { s2 = StrArray[j].Trim(); if (s2.Length == 0) { continue; } IndexPosition = s2.IndexOf("."); if (IndexPosition > 0) { s2 = s2.Substring(0, IndexPosition); } Connector.to.Add(s2); if (TopEl.IndexOf(s2) < 0) { TopEl.Add(s2); Matrix_Collision.Add(new MCollision()); Matrix_Collision[c++].Name = s2; } } } string Result = ""; for (i = 0; i < LeftEl.Count(); i++) { Result += string.Format($"{LeftEl[i].name,-8}"); } textBox2.AppendText($"{"Left:",-6}{Result}\n"); Result = ""; for (i = 0; i < TopEl.Count(); i++) { Result += string.Format($"{TopEl[i],-8}"); } textBox2.AppendText($"{"Top:",-5}{Result}\n"); textBox2.AppendText(new string('~', 100) + "\n"); }