//Метод выводит все захваченные сигналы public void OutputCapturedSignal(string path) { StreamReader sr = new StreamReader(path); string line; while (!sr.EndOfStream) { line = sr.ReadLine(); if (line[0] == '-') { List <string> l = new List <string>(); foreach (var item in line) { l.Add(Convert.ToString(item)); } l.RemoveAt(0); string[] lArray = l.ToArray(); string time = string.Join("", lArray); //Временно преостановить паток Thread.Sleep(Convert.ToInt32(time)); } else { SimpleSignalOutput SSO = new SimpleSignalOutput(); SSO.SignalOutput(pathToFolder + line); SSO.Output(); } //Временно преостановить паток Thread.Sleep(200); } sr.Close(); }
//Метод сохраняет имена файлов XML(захваченные сигналы) в файле C:\RedRat3\XMLsignal.txt public void LoadingCapturedSignalInTXT() { SimpleSignalOutput SSO = new SimpleSignalOutput(); DirectoryInfo dirInfo = new DirectoryInfo("C:\\RedRat3\\XMLsignal"); if (SSO.FindRedRat3() != null) { if (dirInfo.GetFiles().Length != 0) { string pathToFileTXT = @"C:\RedRat3\XMLsignal.txt"; //Добавляем имена XML-файлов в TXT файл C:\RedRat3\XMLsignal.txt StreamWriter sw = File.AppendText(pathToFileTXT); foreach (FileInfo item in dirInfo.GetFiles()) { sw.WriteLine(item.Name); } sw.Close(); //Вывод сигналов в textBox2 textBox2.Text = File.ReadAllText(pathToFileTXT, Encoding.Default); label4.Text = "XMLsignal.txt"; MessageBox.Show("Захваченные сигналы сохранены в файл " + pathToFileTXT + "\n\nДля корректного вывода из файла добавьте паузу между сигналами!", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Папка сигналов C:\\RedRat3\\XMLsignal - пуста! Захватите сигнал.", "Ошибка", MessageBoxButtons.OK); } } else { MessageBox.Show("Нет подключенных устройств RedRat3. Подключите RedRat3 и попробуйте снова.", "Проверка подключения", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
//Для таймера специально был сделан метод public void Output_Signal() { SimpleSignalOutput SSO = new SimpleSignalOutput(); SSO.SignalOutput(pathToFileXML); SSO.Output(); }
//Создан вывод кода один раз public void OutputLine(string NECCOD) { new CustomSignal(NECCOD); SimpleSignalOutput SSO = new SimpleSignalOutput(); SSO.SignalOutput(pathToFile); SSO.Output(); }
//Кнопка вывода сигнала один раз private void button4_Click(object sender, EventArgs e) { //port1.Close(); new CustomSignal(Convert.ToString(textBox1.Text)); SimpleSignalOutput SSO = new SimpleSignalOutput(); SSO.SignalOutput(pathToFileXML); //Для таймера специально был сделан SSO.Output(); }
//Метод захватывает сигнал и записывает его в папку C:\\RedRat3\\XMLsignal public void CapturedSignal() { SimpleSignalOutput SSO = new SimpleSignalOutput(); if (SSO.FindRedRat3() != null) { var mess = MessageBox.Show("Ввод сигнала в RedRat3 осуществляется в течении 10с после подтверждения. \n\nВключить RedRat3 на прием?", "Подтверждение", MessageBoxButtons.YesNo); if (mess == DialogResult.Yes) { IRsignalTrainingMode IRSTM = new IRsignalTrainingMode(); IRSTM.CaptureSignal(PathToFileNameXML()); } } else { MessageBox.Show("Нет подключенных устройств RedRat3. Подключите RedRat3 и попробуйте снова.", "Проверка подключения", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
//Сохранение изменений TextBox в файл с заданным именем в папку C:\RedRat3\SavedSignals private void button10_Click(object sender, EventArgs e) { SimpleSignalOutput SSO = new SimpleSignalOutput(); if (SSO.FindRedRat3() != null) { var mes = MessageBox.Show("Сохранить данные?", "Уведомление", MessageBoxButtons.YesNo); if (mes == DialogResult.Yes) { Form4 f4 = new Form4(); f4.ShowDialog(); nameFileOfForm4 = @"C:\RedRat3\SavedSignals\" + f4.nameFile + ".txt"; if (f4.nameFile != "" || f4.nameFile != " " || f4.nameFile != " ") { File.WriteAllText(nameFileOfForm4, string.Empty); //Добавляем имена XML-файлов в TXT файл nameFileOfForm4 StreamWriter sw = File.AppendText(nameFileOfForm4); foreach (string item in textBox2.Lines) { sw.WriteLine(item); } sw.Close(); textBox2.Text = ""; label4.Text = "Имя файла"; MessageBox.Show("Данные были сохранены в файл: " + nameFileOfForm4, "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { return; } } else { return; } } else { MessageBox.Show("Нет подключенных устройств RedRat3. Подключите RedRat3 и попробуйте снова.", "Проверка подключения", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
//Кнопка вывода сигнала по времени private void button3_Click(object sender, EventArgs e) { if (period == true) { //Пуск/Пауза таймера timer1.Enabled = !timer1.Enabled; new CustomSignal(Convert.ToString(textBox1.Text)); SimpleSignalOutput SSO = new SimpleSignalOutput(); SSO.SignalOutput(pathToFileXML); //Для таймера специально был сделан SSO.Output(); } else { MessageBox.Show("Задайте период", "Уведомление", MessageBoxButtons.OK); } }