private void loading_file(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Текстовый файл (*.txt)|*.txt|Звуковой файл (*.wav)|*.wav|Dat-файл (*.dat)|*.dat"; if (openFileDialog.ShowDialog() == true) { System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); data_all = File.ReadAllLines(openFileDialog.FileName); // Важные переменные channel_num = Convert.ToInt32(data_all[1]); samples_num = Convert.ToInt32(data_all[3]); double k = Double.Parse(data_all[5]); sampling_rate = Convert.ToInt32(k); start_date = data_all[7]; start_time = data_all[9]; channels_names = data_all[11]; string[] date_channel = new string[samples_num]; Array.Copy(data_all, 12, date_channel, 0, samples_num); ChannelAnalyzer analyzer = new ChannelAnalyzer(channel_num, samples_num, date_channel, channels_names); analyzer.Show(); } }
private void loading_file(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Текстовый файл (*.txt)|*.txt|Звуковой файл (*.wav)|*.wav|Dat-файл (*.dat)|*.dat"; if (openFileDialog.ShowDialog() == true) { System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); data_all = File.ReadAllLines(openFileDialog.FileName, Encoding.UTF8); // Важные переменные channel_num = Convert.ToInt32(data_all[1]); samples_num = Convert.ToInt32(data_all[3]); double k = Double.Parse(data_all[5]); sampling_rate = Convert.ToInt32(k); start_date = data_all[7]; start_time = data_all[9]; channels_names = data_all[11]; string[] date_channel = new string[samples_num]; Array.Copy(data_all, 12, date_channel, 0, samples_num); //Ахуительное решение 10 из 10 if (samples_num > 400000) { a = samples_num / 300; } if (samples_num > 212000) { a = samples_num / 1000; } if (samples_num > 104000) { a = samples_num / 419; } if (samples_num > 41000) { a = samples_num / 466; } if (samples_num > 15000) { a = samples_num / 524; } if (samples_num > 1200) { a = samples_num / 404; } date_channels = new string[channel_num + 1]; for (int i = 0; i < samples_num; i += a) { string[] tmp = date_channel[i].Split(' '); for (int j = 0; j < channel_num; j++) { date_channels[j] += tmp[j] + ','; } } names = channels_names.Split(';'); ChannelAnalyzer analyzer = new ChannelAnalyzer(channel_num, date_channels, names); // добавление подменю каналов oscillograms.Items.Clear(); // фиксирование размера и положения окна // Owner - определяет окно как дочернее analyzer.Owner = this; analyzer.MaxHeight = 85 * channel_num; analyzer.MinHeight = analyzer.MaxHeight; analyzer.Top = this.Top + 60; analyzer.Left = this.Left + 4; analyzer.Show(); // фиксирование дочернего окна при перемещении главного LocationChanged += new EventHandler((object sender, EventArgs e) => { foreach (Window win in this.OwnedWindows) { win.Top = this.Top + 60; win.Left = this.Left + 4; } }); } }