public InsertCodeForm(BinFile existing, Disassembler disassembler, Assembler asnew, int offset = 0) { InitializeComponent(); mainTextBox = ((TextBoxHost)elementHost1.Child).mainTextBox; mainTextBox.ShowLineNumbers = true; refFile = disassembler; baseFile = existing; gcheckSuccess = false; offsetBox.Text = offset.ToString("X"); asm = asnew; insertOffset = -1; }
public MainForm(BinFile cs, Disassembler ds, Assembler ac, LabelContainer lcnew) { InitializeComponent(); mainTextBox = ((TextBoxHost)elementHost2.Child).mainTextBox; disassembler = ds; assembler = ac; labelContainer = lcnew; romFile = cs; funcLabelBox.DataSource = labelContainer.FuncList; dataLabelBox.DataSource = labelContainer.DataList; varLabelBox.DataSource = labelContainer.VarList; }
/// <summary> /// Выводит таблицу, внутри которой считывает данные о домах /// </summary> public void ReadHouse() { BinFile file = new BinFile(); file.Load_DataBase(); Input inp = new Input(); Frames frame = new Frames(); List <House> _houses = new List <House>(); bool canСontinue = true; Console.Clear(); Console.WriteLine("╔════════════════════════╤════════════╤═══════════════╤═══════════════╤══════════════════════╗"); Console.WriteLine("║ Назвение посёлка │ Номер дома │ Площадь в м^2 │ Кол-во этажей │ Тип дома ║"); Console.WriteLine("╠════════════════════════╪════════════╪═══════════════╪═══════════════╪══════════════════════╣"); Console.WriteLine("║ │ │ │ │ ║"); Console.Write("╚════════════════════════╧════════════╧═══════════════╧═══════════════╧══════════════════════╝"); while (canСontinue) { House house = new House("", 0, 0, 0, ""); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.CursorVisible = true; if (inp.ReadValid(ref house.name, 22)) { Console.SetCursorPosition(27, Console.CursorTop); inp.ReadValid(ref house.num, 10); Console.SetCursorPosition(40, Console.CursorTop); inp.ReadValid(ref house.area, 13); Console.SetCursorPosition(56, Console.CursorTop); inp.ReadValid(ref house.floor, 13); Console.SetCursorPosition(72, Console.CursorTop); inp.ReadValid(ref house.type, 20); Console.CursorVisible = false; Console.SetCursorPosition(0, Console.CursorTop + 1); Console.WriteLine("╟────────────────────────┼────────────┼───────────────┼───────────────┼──────────────────────╢"); Console.WriteLine("║ │ │ │ │ ║"); Console.Write("╚════════════════════════╧════════════╧═══════════════╧═══════════════╧══════════════════════╝"); _houses.Add(house); } else { canСontinue = false; if (frame.Call_MassageBox(30, 10, "Cозранить изменения?")) { file.SaveInFile(_houses, FileMode.Append); } } } Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
private static void Main(string[] args) { if (args.Length == 0) { return; } var vm = new VirtualMachine(); var bin = new BinFile(File.ReadAllBytes(args[0])); vm.Run(bin); }
private void SaveFile(string fileName) { try { BinFile.Save(fileName); OpenFile(fileName); } catch (Exception ex) { MessageBox.Show($"Could not save \"{fileName}\":{Environment.NewLine}{ex.Message}", Title, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// <summary> /// Выводит таблицу с данными о домах /// </summary> public void WriteHouse() { BinFile file = new BinFile(); //List<House> houses = new List<House>(); file.Load_DataBase(); Frames frame = new Frames(); if (BinFile.houses.Count() == 0) { Console.Clear(); frame.Menu(35, 6, 12, "Файл пуст!"); Console.ReadKey(true); } else { Input inp = new Input(); ConsoleKey?key = ConsoleKey.RightArrow; int index = -10; while (key != ConsoleKey.Escape) { if ((key == ConsoleKey.LeftArrow) && (index != 0)) { index -= 10; Write_Page(index, BinFile.houses); } else if ((key == ConsoleKey.RightArrow) && (index + 10 < BinFile.houses.Count)) { index += 10; Write_Page(index, BinFile.houses); } else if (key == ConsoleKey.Enter) { Choice(ref BinFile.houses, index, 7, 32, 56, 72); } key = inp.InputKey(ConsoleKey.LeftArrow, ConsoleKey.RightArrow, ConsoleKey.Enter, ConsoleKey.Escape); } } if (frame.Call_MassageBox(30, 6, "Сохранить изменения?")) { file.SaveAll(); } Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
private void BinWin_Loaded(object sender, RoutedEventArgs e) { this.binFile = new BinFile(@"F:\Project\Code\LuMei\代码\LuMei.TestForm\Katarina.bin"); // var list = GetFileString(binFile.Entries); var list = new ObservableCollection <BinFileValue>() { new BinFileValue() { Value = "100" } }; // var heros = new ObservableCollection<BinFileValue>(list); datagrid.DataContext = list; listview.ItemsSource = list; //datagrid.Dispatcher.BeginInvoke(new Action(() => { datagrid.ItemsSource = list; listview.ItemsSource = list; }), null); }
/// <summary> /// Выводит таблицу, внутри которой считывает данные о девелоперах /// </summary> public void ReadDeveloper() { BinFile file = new BinFile(); file.Load_DataBase(); Input inp = new Input(); Frames frame = new Frames(); List <Developer> _developers = new List <Developer>(); bool canСontinue = true; Console.Clear(); Console.WriteLine("╔═══════════════════════╤═══════════════╤══════════════════════════════════╗"); Console.WriteLine("║ Девелопер │ Годовой доход │ Адрес девелопера ║"); Console.WriteLine("╠═══════════════════════╪═══════════════╪══════════════════════════════════╣"); Console.WriteLine("║ │ │ ║"); Console.Write("╚═══════════════════════╧═══════════════╧══════════════════════════════════╝"); while (canСontinue) { Developer dev = new Developer("", 0, ""); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.CursorVisible = true; if (inp.ReadValid(ref dev.name, 21)) { Console.SetCursorPosition(26, Console.CursorTop); inp.ReadValid(ref dev.inc, 13); Console.SetCursorPosition(42, Console.CursorTop); inp.ReadValid(ref dev.addr, 32); Console.CursorVisible = false; Console.SetCursorPosition(0, Console.CursorTop + 1); Console.WriteLine("╟───────────────────────┼───────────────┼──────────────────────────────────╢"); Console.WriteLine("║ │ │ ║"); Console.Write("╚═══════════════════════╧═══════════════╧══════════════════════════════════╝"); _developers.Add(dev); } else { canСontinue = false; if (frame.Call_MassageBox(30, 10, "Cозранить изменения?")) { file.SaveInFile(_developers, FileMode.Append); } } } Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
private void Save_Click(object sender, EventArgs e) { if (FormatIndex == NodeIndexBin && treeView1.Nodes.ContainsKey("BIN")) { var fileList = new List <byte[]>(); for (int i = 0; i < BinFileList[treeView1.SelectedNode.Index].Count; i++) // For Each G1T file of the selected bin file { fileList.Add(KTGZip.Compress(BinFileList[treeView1.SelectedNode.Index][i].Write())); } BinFile.Write(fileList, FilePathBinGZList[treeView1.SelectedNode.Index]); } if (FormatIndex == NodeIndexG1T && treeView1.Nodes.ContainsKey("G1T")) { using (var fs = new FileStream(FilePathG1TList[treeView1.SelectedNode.Index], FileMode.Create)) { var g1tFile = G1TFileList[treeView1.SelectedNode.Index].Write(); fs.Write(g1tFile, 0x0, g1tFile.Length); } } }
public void Load(System.IO.Stream stream) { binFile = new BinFile(stream); for (int sectionIndex = 0; sectionIndex < binFile.Sections.Count; sectionIndex++) { } // Dump the BIN file to CSV. using (FileStream streamF = new FileStream("test.csv", FileMode.Create, FileAccess.Write, FileShare.None)) using (StreamWriter writer = new StreamWriter(streamF, Encoding.UTF8, 1024, true)) { // Write file header information. Write(writer, 0, $"BIN File Report for", FileName); Write(writer, 0, "Identifier", binFile.Format); Write(writer, 0, "Section count", binFile.Sections.Count); Write(writer, 0, "Unknown", binFile.ID); writer.WriteLine(); int sectionIndex = 1; foreach (var section in GetDwordSectionData(binFile)) { Write(writer, 0, $"Section {sectionIndex++}"); Write(writer, 1, "Identifier", section.Name); Write(writer, 1, "Group count", section.ParamCount); Write(writer, 1, "Type", section.ID.ToString("X")); writer.WriteLine(); DwordSectionData sectionData = (DwordSectionData)section.Data; for (int d = 0; d < sectionData.Data.Length; d++) { foreach (Dword[] element in sectionData.Data[d]) { Write(writer, 1, String.Join('\t'.ToString(), element)); } } } } }
static void Main(string[] args) { // 构造例子类. 演示 文本文件写入与读取 TextFile textFile = new TextFile(); // 写入文件 textFile.TestWrite(); // 读取文件. textFile.TestRead(); // 构造例子类. 演示 二进制文件写入与读取 BinFile binFile = new BinFile(); // 写入文件 binFile.TestWrite(); // 读取文件. binFile.TestRead(); Console.ReadLine(); }
// ---- METHODS (PRIVATE) -------------------------------------------------------------------------------------- private void OpenFile(string fileName) { try { _fileName = fileName; BinFile = new BinFile(_fileName); CheckBinFile(); Text = $"{Path.GetFileName(_fileName)} ({Path.GetDirectoryName(_fileName)}) - {Title}"; ResetCategories(); UpdateUI(); } catch (Exception ex) { _fileName = null; BinFile = null; Text = Title; UpdateUI(); UpdateCategoriesInternal(0, 0, 0); MessageBox.Show($"Could not open \"{fileName}\":{Environment.NewLine}{ex.Message}", Title, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
protected void Upload_Click(object sender, EventArgs e) { string strTmpFolder = HROne.Common.Folder.GetOrCreateSessionTempFolder(Session.SessionID).FullName;; //Environment.GetFolderPath(Environment.SpecialFolder.InternetCache); string strTmpFile = System.IO.Path.Combine(strTmpFolder, AppUtils.ServerDateTime().ToString("~yyyyMMddHHmmss_") + BinFile.FileName); //strTmpFile = strTmpFile.Replace(Path.DirectorySeparatorChar.ToString() + Path.DirectorySeparatorChar, Path.DirectorySeparatorChar); BinFile.SaveAs(strTmpFile); strSourcePath = strTmpFile; UploadPanel.Visible = false; UpgradingPanel.Visible = true; Response.Write(@"<script language='javascript'>"); Response.Write(@"setTimeout('Redirect()',15000);"); Response.Write(@"function Redirect()"); Response.Write(@"{"); Response.Write(@"window.location = 'Logout.aspx" + "';"); Response.Write(@"}"); Response.Write(@"</script>"); }
private void SaveAs_Click(object sender, EventArgs e) { if (FormatIndex == NodeIndexBin && treeView1.Nodes.ContainsKey("BIN")) { using (var savedialog = new SaveFileDialog()) { savedialog.DefaultExt = ".bin"; savedialog.Filter = "Koei Tecmo Binary Archive|*.bin"; if (savedialog.ShowDialog() == DialogResult.OK) { var fileList = new List <byte[]>(); for (int i = 0; i < BinFileList[treeView1.SelectedNode.Index].Count; i++) // For Each G1T file of the selected bin file { fileList.Add(KTGZip.Compress(BinFileList[treeView1.SelectedNode.Index][i].Write())); } BinFile.Write(fileList, savedialog.FileName); } } } if (FormatIndex == NodeIndexG1T && treeView1.Nodes.ContainsKey("G1T")) { using (var savedialog = new SaveFileDialog()) { savedialog.DefaultExt = ".g1t"; savedialog.Filter = "Koei Tecmo Texture Archive|*.g1t"; if (savedialog.ShowDialog() == DialogResult.OK) { using (var fs = new FileStream(savedialog.FileName, FileMode.Create)) { var g1tFile = G1TFileList[treeView1.SelectedNode.Index].Write(); fs.Write(g1tFile, 0x0, g1tFile.Length); } } } } }
private static void Main() { var path = Path.Join(GetProgramDirectory(), "code.asm"); var progText = File.ReadAllText(path); var p = new AsmParser(); /*var sw1 = new Stopwatch(); * var sw2 = new Stopwatch(); * const int iterations = 100_000; * * sw1.Start(); * * for (var i = 0; i < iterations; i++) * { * p.Parse(progText); * } * * sw1.Stop(); * * sw2.Start(); * * for (var i = 0; i < iterations; i++) * { * } * * sw2.Stop(); * * Console.WriteLine("Elapsed 1 = {0}, {1} per iteration", * sw1.Elapsed, * sw1.Elapsed / iterations); * Console.WriteLine("Elapsed 2 = {0}, {1} per iteration", * sw2.Elapsed, * sw2.Elapsed / iterations); * return;*/ var vm = new VirtualMachine(); /*Breakpoint.BreakpointAction regBp = delegate (int aX) * { * Debug.WriteLine($"Register breakpoint = {aX}"); * return false; * }; * * // Trigger breakpoint when the value 0x123 is written to R1. * vm.Debugger.AddBreakpoint(0x123, * BreakpointType.RegisterWrite, * regBp, * Registers.R1); * * Breakpoint.BreakpointAction memBP = delegate (int aX) * { * Debug.WriteLine($"Memory position {aX} was written too!"); * return false; * }; * * // Trigger breakpoint upon write to memory address 0x1. * vm.Debugger.AddBreakpoint(0, * BreakpointType.MemoryWrite, * memBP);*/ // Enable CPU debug logging. vm.Cpu.SetLoggingEnabled(true); var sectionData = p.Parse(progText); var compiler = new Compiler(sectionData, null, true); var bin = new BinFile(compiler.Compile()); //File.Delete(@"D:\test.bin"); //File.WriteAllBytes(@"D:\test.bin", bin.Raw); //var programBytes = // QuickCompile.RawCompile(sectionData, true); //var programBytes = QuickCompile.RawCompile(program, true); //File.WriteAllBytes(@"D:\Downloads\test.bin", programBytes); vm.Run(bin); Console.WriteLine("-------------[Registers]------------"); vm.Cpu.Registers.PrintRegisters(); Console.WriteLine("---------------[Stack]--------------"); vm.Memory.PrintStack(); /*Console.WriteLine("----------[Memory Regions]----------"); * var regionLines = * vm.Memory.GetFormattedMemoryRegions(); * foreach (var l in regionLines) * { * Console.WriteLine(l); * }*/ Console.WriteLine("------------[Raw Memory]------------"); var mem = vm.Memory.DirectGetMemoryRaw(0, 0x20); foreach (var m in mem) { Console.Write(m.ToString("X2") + " "); } Console.WriteLine(); Console.WriteLine("------------[Disassembly]-----------"); vm.Disassembler.DisplayDisassembly(true, false, true); Console.ReadLine(); }
public InsertBinaryForm(BinFile preTemp) { InitializeComponent(); pre = preTemp; }
// ---- METHODS (PRIVATE) -------------------------------------------------------------------------------------- private static int Main(string[] args) { // Read the parameters. if (args.Length > 2) { return(-1); } string binPath = args[0]; string csvPath; if (args.Length == 2) { csvPath = args[1]; } else { csvPath = Path.ChangeExtension(binPath, "csv"); } // Load the BIN file (default to BigEndian for MK8 for now). BinFile binFile = new BinFile(binPath); // Dump the BIN file to CSV. using (FileStream stream = new FileStream(csvPath, FileMode.Create, FileAccess.Write, FileShare.None)) using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF8, 1024, true)) { // Write file header information. Write(writer, 0, $"BIN File Report for", binPath); Write(writer, 0, "Identifier", binFile.Identifier); Write(writer, 0, "Section count", binFile.Count); Write(writer, 0, "Unknown", binFile.Unknown); Write(writer, 0, "Version", binFile.Version); writer.WriteLine(); // Write info about the sections. for (int sectionIndex = 0; sectionIndex < binFile.Count; sectionIndex++) { SectionBase section = binFile[sectionIndex]; Write(writer, 0, $"Section {sectionIndex + 1}"); Write(writer, 1, "Identifier", section.Name); Write(writer, 1, "Group count", section.Count); Write(writer, 1, "Type", section.SectionType.ToString("X")); writer.WriteLine(); // Dump the groups. int i = 0; foreach (GroupBase group in section) { Write(writer, 1, $"Group {i + 1}"); switch (group) { case DwordArrayGroup dwordArrayGroup: foreach (Dword[] element in dwordArrayGroup) { Write(writer, 1, String.Join(_csvSeparator.ToString(), element)); } writer.WriteLine(); i++; break; case StringGroup stringGroup: foreach (string element in stringGroup) { Write(writer, 1, element); } break; default: Write(writer, 1, "Unknown section type."); break; } } } } return(0); }
/// <summary> /// Выводит список существующих файлов /// </summary> public void Write_FileList(bool del = false) { BinFile file = new BinFile(); List <string> files = file.Load_FileList(); Console.SetCursorPosition(30, 3); Frames frame = new Frames(); Input inp = new Input(); frame.Continuous(30, "Выберете файл", files.ToArray()); int y = 5; int x = 30; int i = 0; ConsoleKey?key = null; frame.Choice(x, y, ConsoleColor.Green, 30); while ((key != ConsoleKey.Enter) && (key != ConsoleKey.Escape)) { key = inp.InputKey(ConsoleKey.DownArrow, ConsoleKey.UpArrow, ConsoleKey.Enter, ConsoleKey.Escape); switch (key) { case ConsoleKey.DownArrow: if ((y / 2) < files.Count + 1) { frame.ContinuousChoice(x, y, ConsoleColor.White, 30); y += 2; ++i; frame.Choice(x, y, ConsoleColor.Green, 30); if (y == 7) { Console.SetCursorPosition(x, 5); string line = new string('═', 30); Console.WriteLine($"╠{line}╣"); } } break; case ConsoleKey.UpArrow: if (y != 5) { frame.ContinuousChoice(x, y, ConsoleColor.White, 30); y -= 2; --i; frame.Choice(x, y, ConsoleColor.Green, 30); if ((y / 2) == files.Count) { Console.SetCursorPosition(x, (files.Count + 1) * 2 + 3); string line = new string('═', 30); Console.WriteLine($"╚{line}╝"); } } break; case ConsoleKey.Enter: if ((del) && (frame.Call_MassageBox(30, 3, "Удалить файл?"))) { File.Delete($"C:/C#/RunDll/XMLfiles/{files[i]}.xml"); } else { BinFile.fileName = files[i]; } break; } } }
private string ChoiceDeveloper(int readPosY) { BinFile file = new BinFile(); Console.SetCursorPosition(80, 0); List <string> developerNames = file.GetDevNames(); Frames frame = new Frames(); frame.Continuous(25, "Выберите девелопера", developerNames.ToArray()); ushort x = 80; ushort y = 2; int i = 0; frame.Choice(x, y, ConsoleColor.Green, 25); Input inp = new Input(); ConsoleKey?key = null; while (key != ConsoleKey.Enter) { key = inp.InputKey(ConsoleKey.Escape, ConsoleKey.DownArrow, ConsoleKey.UpArrow, ConsoleKey.Enter); switch (key) { case ConsoleKey.DownArrow: if ((y / 2) < developerNames.Count - 1) { i++; frame.ContinuousChoice(x, y, ConsoleColor.White, 25); y += 2; frame.Choice(x, y, ConsoleColor.Green, 25); if (y == 4) { Console.SetCursorPosition(x, 2); string line = new string('═', 25); Console.WriteLine($"╠{line}╣"); } } break; case ConsoleKey.UpArrow: if ((y / 2) >= 2) { i--; frame.ContinuousChoice(x, y, ConsoleColor.White, 25); y -= 2; //Console.WriteLine(y); //Console.WriteLine(developers.Count); frame.Choice(x, y, ConsoleColor.Green, 25); if ((y / 2) == developerNames.Count - 2) { Console.SetCursorPosition(x, (developerNames.Count) * 2); string line = new string('═', 25); Console.WriteLine($"╚{line}╝"); } } break; case ConsoleKey.Enter: Console.SetCursorPosition(27, readPosY); Console.Write(developerNames[i]); break; } } return(developerNames[i]); }
/// <summary> /// Выводит таблицу, внутри которой считывает данные о посёлке /// </summary> public void ReadVellage() { Console.Clear(); BinFile file = new BinFile(); file.Load_DataBase(); Frames frame = new Frames(); if (BinFile.developers.Count == 0) { Console.SetCursorPosition(14, 6); frame.Continuous(50, "Ошибка!", "Необходимо сначала заполнить таблицу девелоперов"); Console.ReadKey(true); } else { //file.Load_DataBase(); Input inp = new Input(); List <Village> _villages = new List <Village>(); bool canСontinue = true; Console.WriteLine("╔════════════════════════╤═══════════════════════╤═══════════════╤═══════════╗"); Console.WriteLine("║ Назвение посёлка │ Девелопер │ Площадь в м^2 │ Население ║"); Console.WriteLine("╠════════════════════════╪═══════════════════════╪═══════════════╪═══════════╣"); Console.WriteLine("║ │ │ │ ║"); Console.Write("╚════════════════════════╧═══════════════════════╧═══════════════╧═══════════╝"); while (canСontinue) { Village vill = new Village("", "", 0, 0); Console.SetCursorPosition(2, Console.CursorTop - 1); Console.CursorVisible = true; if (inp.ReadValid(ref vill.name, 22)) { Console.SetCursorPosition(27, Console.CursorTop); Console.CursorVisible = false; vill.dev = ChoiceDeveloper(Console.CursorTop); Console.CursorVisible = true; Console.SetCursorPosition(51, Console.CursorTop); inp.ReadValid(ref vill.area, 13); Console.SetCursorPosition(67, Console.CursorTop); inp.ReadValid(ref vill.people, 9); Console.CursorVisible = false; Console.SetCursorPosition(0, Console.CursorTop + 1); Console.WriteLine("╟────────────────────────┼───────────────────────┼───────────────┼───────────╢"); Console.WriteLine("║ │ │ │ ║"); Console.Write("╚════════════════════════╧═══════════════════════╧═══════════════╧═══════════╝"); _villages.Add(vill); } else { canСontinue = false; if (frame.Call_MassageBox(30, 10, "Cозранить изменения?")) { file.SaveInFile(_villages, FileMode.Append); } } } } Console.Clear(); frame.Menu(30, 3, 18, "Таблица посёлков", "Таблица домов", "Таблица девелоперов"); }
public MainForm() { InitializeComponent(); binFile = new BinFile(); }
private void BinWin_Loaded(object sender, RoutedEventArgs e) { checked { this.binFile = new BinFile(@"F:\Project\Code\LuMei\代码\LuMei.TestForm\Katarina.bin"); if (this.binFile != null) { BinWin BinWin = this; if (this.binFile == null) { base.Close(); } else { this.textBlockType.Visibility = Visibility.Hidden; TreeViewItem treeViewItem = new TreeViewItem { IsExpanded = true, Tag = this.binFile }; treeViewItem.Header = new TextBlock { Text = this.binFile.FilePath.Split(new char[] { '\\' }).Last <string>(), FontSize = 17.0, FontWeight = FontWeights.Bold }; this.treeViewProps.Items.Add(treeViewItem); int num = this.binFile.Entries.Count - 1; for (int i = 0; i <= num; i++) { BinFileEntry binFileEntry = this.binFile.Entries[i]; TreeViewItem treeViewItem2 = new TreeViewItem { IsExpanded = true, Tag = binFileEntry }; StackPanel stackPanel = new StackPanel { Orientation = Orientation.Horizontal }; if (binFileEntry.Prop != null) { string str = Convert.ToString(binFileEntry.Prop.Hash); if (binFileEntry.Prop.Prop != null) { str = binFileEntry.Prop.Prop; } stackPanel.Children.Add(new TextBlock { Text = "Entry " + str, FontSize = 16.0, FontWeight = FontWeights.Medium, Foreground = new SolidColorBrush(Colors.Gray) }); } treeViewItem2.Header = stackPanel; this.method_6(ref binFileEntry.Values, ref treeViewItem2); treeViewItem.Items.Add(treeViewItem2); } } } } }