private void Save_file_as(object sender, RoutedEventArgs e) { TabItem currentPage = tabControl.SelectedItem as TabItem; if (IsAPcapFile(currentPage.Header.ToString())) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "Txt file|*.txt"; saveFileDialog1.Title = "Save Txt File"; saveFileDialog1.ShowDialog(); PcapFileControl pcf = (PcapFileControl)currentPage.Content; List <MyPacket> lines = pcf.getPacketsData(); if (saveFileDialog1.FileName != "") { // Saves the Image via a FileStream created by the OpenFile method. System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile(); foreach (MyPacket line in lines) { WriteLine(fs, line.ToString() + Environment.NewLine); } fs.Close(); MessageBox.Show("Plik został zapisany", "Zapis udany"); } } else { MessageBox.Show("Ten plik nie moze zostać zapisany", "Błąd zapisu"); } }
private void File_Open_Click(object sender, RoutedEventArgs e) { try { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "PCAP Files (*.pcap)|*.pcap"; openFileDialog.Title = "Please select an file to open."; int newItemIndex = 0; if (openFileDialog.ShowDialog() == true) { //TODO wczytywanie pliku lub plików foreach (String s in openFileDialog.FileNames) { _tabAdd = new TabItem(); _tabAdd.Header = ExtractFileName(s); PcapFileControl pfc = new PcapFileControl(s); _tabAdd.Content = pfc; if (_tabItems.Count == 0) { _tabItems.Add(_tabAdd); } else { _tabItems.Insert(tabControl.SelectedIndex + 1, _tabAdd); } newItemIndex = tabControl.SelectedIndex + 1; } tabControl.DataContext = null; tabControl.DataContext = _tabItems; tabControl.Items.Refresh(); tabControl.SelectedIndex = newItemIndex; } } catch (Exception ex) { MessageBox.Show("Wystąpił błąd podczas otwierania pliku"); } }
private void File_Connect_Click(object sender, RoutedEventArgs e) { _tabAdd = new TabItem(); _tabAdd.Header = "Merged file.pcap"; PcapFileControl mf = new PcapFileControl(); _tabAdd.Content = mf; int newItemIndex = 0; _tabItems.Insert(0, _tabAdd); tabControl.DataContext = null; tabControl.DataContext = _tabItems; tabControl.Items.Refresh(); tabControl.SelectedIndex = newItemIndex; ConnectFilesWindow cfw = new ConnectFilesWindow(_tabItems); cfw.Show(); }
private void Save_file(object sender, RoutedEventArgs e) { TabItem currentPage = tabControl.SelectedItem as TabItem; if (IsAPcapFile(currentPage.Header.ToString())) { using (System.IO.StreamWriter file = new System.IO.StreamWriter(currentPage.Header + ".txt")) { PcapFileControl pcf = (PcapFileControl)currentPage.Content; List <MyPacket> lines = pcf.getPacketsData(); foreach (MyPacket line in lines) { file.WriteLine(line); } MessageBox.Show("Plik został zapisany", "Zapis udany"); } } else { MessageBox.Show("Ten plik nie moze zostać zapisany", "Błąd zapisu"); } }
private bool ConnectFiles() { addSelectedItemsToList(); List <MyPacket> packets = new List <MyPacket>(); int i = 0; bool isDuplicate = false; foreach (TabItem elem in _tabItems) { if (ListViewCFW.Items.Contains(elem.Header)) { if (_selectedItems.Contains(elem.Header)) { if (IsAPcapFile(elem.Header.ToString())) { PcapFileControl pcapWindow = new PcapFileControl(); pcapWindow = (PcapFileControl)elem.Content; foreach (MyPacket p in pcapWindow.listViewFileData.Items) { if (this.deleteDuplicate.IsChecked == true) { if (i > 0) // Zawsze dodaję odaję wszystkie pakiety z pierwszego pliku. Przejdź jeśli index pliku jest większy niż 0 { if (packets.Count > 0) { foreach (MyPacket listPacket in packets) { if ((p.SourceIP.Equals(listPacket.DestIP) && p.Checksum.Equals(listPacket.Checksum)) || !arePacketsTheSame(p, listPacket)) //sprawdzam czy dany pakiet jest duplikatem lub czy ma już swój duplikat na liście { isDuplicate = true; } } if (isDuplicate == false) //dodaję pakiet jeśli jest unikalny { packets.Add(p); } } //jeśli na liście nie ma obiektów else { packets.Add(p); } } else //uzupełnij listę pakietami z pierwszego pliku { packets.Add(p); } } else // gdy checkbox nie jest zaznaczony { packets.Add(p); } } i++; } } } } PcapFileControl pfc = new PcapFileControl(packets); _tabItems[0].Content = pfc; return(true); }