// Захват сигнала public void CaptureSignal(string fileName = "") { OpenFileDialog OFD = new OpenFileDialog(); OFD.InitialDirectory = Form1.pathClick; SearchRedRat SRR = new SearchRedRat(); if (SRR.FindRedRat() != null) { RedRat3 = SRR.FindRedRat(); RedRat3.LearningSignalIn += SignalDataHandler; RedRat3.GetModulatedSignal(10000);//Ввод сигнала в RedRat3 осуществляется в течении 10с haveSignal = false; while (!haveSignal) { Thread.Sleep(100); } if (modSignal != null) { var mes = MessageBox.Show("OK - cохранить XML" + Environment.NewLine + "CANCEL - cохранить BIN", "Вариант сохранения файла", MessageBoxButtons.OKCancel); if (mes == DialogResult.OK) { inputName IN = new inputName(); IN.ShowDialog(); RRUtil.SerializePacketToXML(Form1.pathClick + "\\" + IN.name + ".xml", modSignal); tempMessage = "XML файл \"" + IN.name + "\" сохранен."; } else { inputName IN = new inputName(); IN.ShowDialog(); RRUtil.SerializePacketToBinary(Form1.pathClick + "\\" + IN.name + ".bin", modSignal);//SerializePacketToXML //var m = MessageBox.Show("Файл \"" + IN.name + "\" сохранен.", "Прием сигнала", MessageBoxButtons.OK); tempMessage = "BIN файл \"" + IN.name + "\" сохранен."; } } else { MessageBox.Show("Сигнал не был получен. Прием окончен.", "Прием сигнала", MessageBoxButtons.OK); } } }
//Захват сигнала public void CaptureSignal(string fileName) { if (fileName == "") { MessageBox.Show("Имя файла отсутствует.", "Ошибка", MessageBoxButtons.OK); return; } else { FindRedRat3(); redRat3.LearningSignalIn += SignalDataHandler; //Ввод сигнала в RedRat3 осуществляется в течении 10с redRat3.GetModulatedSignal(10000); haveSignal = false; while (!haveSignal) { Thread.Sleep(10); } if (irPacket != null) { //Создает новый файл XML для irPacket //XmlTextWriter xmlDoc = new XmlTextWriter("C:\\RedRat3_signalDB\\BD - irPacket.xml", Encoding.UTF8); //xmlDoc.WriteStartDocument(); //var fileName = "C:\\RedRat3\\XMLsignal\\XMLsignal.xml"; //var fileName = argParser.GetArgOption(ArgumentParser.CaptureArg); if (IsXmlFile(fileName)) { //RRUtil.SerializePacketToXML(fileName, irPacket); //Создаем объект AV-устройства, чтобы мы могли хранить данные сигнала в файле XML. var avDeviceDB = new AVDeviceDB(); var avDevice = new AVDevice("Sample Device", AVDevice.AVDeviceType.SET_TOP_BOX); avDeviceDB.AddAVDevice(avDevice); irPacket.Name = "New Signal"; //Добавить сигналы в «Sample Device». avDevice.AddSignal(irPacket, false); //Храните это как файл XML... var ser = new XmlSerializer(typeof(AVDeviceDB)); TextWriter writer = new StreamWriter((new FileInfo(fileName)).FullName); ser.Serialize(writer, avDeviceDB); writer.Close(); MessageBox.Show("ИК-данные c ПДУ сохранены в формате XML в файл:\n" + fileName); } else { RRUtil.SerializePacketToBinary(fileName, irPacket); MessageBox.Show("Saved in binary format to file: " + fileName); } //xmlDoc.WriteEndDocument(); //xmlDoc.Close(); } else { MessageBox.Show("Сигнал пуст."); return; } } }