private void Load_Button_Click(object sender, RoutedEventArgs e) { start_Button.IsEnabled = true; save_Button.IsEnabled = true; string exePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); using (StreamReader inputFile = new StreamReader(System.IO.Path.Combine(exePath, "plik1.txt"))) { var lineA = inputFile.ReadLine(); var valuesA = lineA.Split(';'); if (!Int32.TryParse(valuesA[0], out clientsCount)) { throw new Exception(); } clientCount_textBox.Text = clientsCount.ToString(); DrawX.SendData(mainGrid, clientsCount); if (!Int32.TryParse(valuesA[1], out minMass)) { throw new Exception(); } min_textBox.Text = minMass.ToString(); if (!Int32.TryParse(valuesA[2], out maxMass)) { throw new Exception(); } max_textBox.Text = maxMass.ToString(); clients = new Point[clientsCount]; clientsOrders = new int[clientsCount]; int i = 0; while (!inputFile.EndOfStream) { var line = inputFile.ReadLine(); var values = line.Split(';'); Double.TryParse(values[0], out double value0); Double.TryParse(values[1], out double value1); clients[i] = new Point(value0, value1); Int32.TryParse(values[2], out int value2); clientsOrders[i] = value2; i++; } } DrawX.RemoveClients(); DrawX.RemoveLines(); DrawX.DrawClients(clients); start_Button.IsEnabled = true; save_Button.IsEnabled = true; }
private void Randomize_Button_Click(object sender, RoutedEventArgs e) { start_Button.IsEnabled = true; save_Button.IsEnabled = true; UpdateParams(); // *** losowanie pozycji klientów i rysowanie ich na mapie *** clients = new Point[clientsCount]; clientsOrders = new int[clientsCount]; for (int i = 0; i < clientsCount; i++) { clients[i] = new Point(rnd.Next(0, 1000), rnd.Next(0, 1000), i); clientsOrders[i] = rnd.Next(minMass, maxMass + 1); } DrawX.RemoveClients(); DrawX.RemoveLines(); DrawX.DrawClients(clients); start_Button.IsEnabled = true; save_Button.IsEnabled = true; }
private void Load_Button2_Click(object sender, RoutedEventArgs e) { start_Button.IsEnabled = true; save_Button.IsEnabled = true; OpenFileDialog okienko = new OpenFileDialog(); okienko.ShowDialog(); okienko.Filter = "|*.txt"; string bufor = okienko.FileName; if (!bufor.Equals("")) { using (StreamReader inputFile = new StreamReader(@bufor)) // capacity->(linia_i=4,druga liczba), main baza - linia 9. koordynaty - druga i trzecia liczba { int i = 0; clientsCount = 0; List <Point> clientsBuf = new List <Point>(); List <int> clientsOrdersBuf = new List <int>(); while (!inputFile.EndOfStream) { var lineA = inputFile.ReadLine(); var liniaTab = lineA.Split(' '); if (i == 4) { int ii = 0; for (int j = 0; j < liniaTab.Length; j++) { if (Int32.TryParse(liniaTab[j], out capacity)) { ii++; if (ii == 2) { cap_textBox.Dispatcher.Invoke(() => { cap_textBox.Text = capacity.ToString(); }); break; } } } } else if (i == 9) { int ii = 0, xbuf = -1, ybuf = -1; for (int j = 0; j < liniaTab.Length; j++) { if (Int32.TryParse(liniaTab[j], out ybuf)) { ii++; if (ii == 2) { xbuf = ybuf; } else if (ii == 3) { main_station = new Point(10 * xbuf, 10 * ybuf); DrawX.DrawMainStation(main_station); break; } } } } else if (i > 9) { int ii = 0, xbuf = -1, ybuf = -1; for (int j = 0; j < liniaTab.Length; j++) { if (Int32.TryParse(liniaTab[j], out ybuf)) { ii++; if (ii == 2) { xbuf = ybuf; } else if (ii == 3) { clientsBuf.Add(new Point(10 * xbuf, 10 * ybuf, i - 10)); } else if (ii == 4) { clientsOrdersBuf.Add(ybuf); break; } } } } i++; } if (debug) { Console.WriteLine(capacity + ", " + main_station.x + ", " + main_station.y); } if (debug) { Console.WriteLine(i); } clientsCount = clientsBuf.Count; DrawX.SendData(mainGrid, clientsCount); clients = new Point[clientsCount]; clientsOrders = new int[clientsCount]; for (int j = 0; j < clientsCount; j++) { if (debug) { Console.WriteLine(clientsBuf[j].x + ", " + clientsBuf[j].y + ", " + clientsOrdersBuf[j]); } clients[j] = clientsBuf[j]; clientsOrders[j] = clientsOrdersBuf[j]; } clientCount_textBox.Dispatcher.Invoke(() => { clientCount_textBox.Text = clientsCount.ToString(); }); DrawX.RemoveClients(); DrawX.DrawClients(clients); start_Button.IsEnabled = true; } } }