public void ParseData() { this.context = _workitem.RootWorkItem.Services.Get<IContextService>(); string menu = context.startupDir + "\\menu.dat"; MenuData md = new MenuData(); context.menuData = md; if (System.IO.File.Exists(menu)) { using (StreamReader sr = new StreamReader(menu, System.Text.Encoding.GetEncoding(866))) { string s = ""; string id = ""; while ((s = sr.ReadLine()) != null) { try { id = ExtractMenuNumber(s); } catch (Exception ex) { MessageBox.Show("Ошибка при разборе файла MENU.DAT"); } if (id != " ") { MenuData._mainMenuRow newRow = md._mainMenu.New_mainMenuRow(); newRow.ID = id; newRow.NAME = ExtractMenuHeader(s); Collection<string[]> cmds = ExtractCommands(s); if (cmds != null) { int i = 1; foreach(string[] cmd in cmds) { switch (i) { case 1: newRow.CMD1 = cmd[0]; break; case 2: newRow.CMD2 = cmd[0]; break; case 3: newRow.CMD3 = cmd[0]; break; case 4: newRow.CMD4 = cmd[0]; break; case 5: newRow.CMD5 = cmd[0]; break; } i++; } } newRow.CMDNAME = AppropriateCommandName(newRow) ; if (newRow.CMDNAME == string.Empty) newRow.SetCMD1Null(); //menuItem.ToolTipText = rootNode.Attributes["Подсказка"].Value; md._mainMenu.Add_mainMenuRow(newRow); } } } // Пpосмотp ДАТ и РАЗМЕРОВ программных файлов в варианте WINDOWS //AddNewParentToolStripMenuElement(, UIExtensionSiteNames.InfoViewMenuItem, "", "Пpосмотp ДАТ и РАЗМЕРОВ программных файлов в варианте WINDOWS", UIExtensionSiteNames.DifferentMenuItem); //AddNewToolStripMenuElement("&Пpосмотp ДАТ и РАЗМЕРОВ программных файлов в варианте WINDOWS", UIExtensionSiteNames.InfoViewMenuItem, "", "Пpосмотp ДАТ и РАЗМЕРОВ программных файлов в варианте WINDOWS", UIExtensionSiteNames.DifferentMenuItem); //AddNewToolStripMenuElement("Пpосмотp ДАТ и РАЗМЕРОВ программ EXE", "00791", CommandNames.InfoViewExeShow, "", UIExtensionSiteNames.InfoViewMenuItem); //AddNewToolStripMenuElement("Пpосмотp ДАТ и РАЗМЕРОВ программ RES", "00792", CommandNames.InfoViewResShow, "", UIExtensionSiteNames.InfoViewMenuItem); //AddNewToolStripMenuElement("Пpосмотp ДАТ и РАЗМЕРОВ программ HLP", "00793", CommandNames.InfoViewHlpShow, "", UIExtensionSiteNames.InfoViewMenuItem); //AddNewToolStripMenuElement("Просмотр ДАТ и РАЗМЕРОВ наборов текущей организации", "00794", CommandNames.InfoViewCurShow, "", UIExtensionSiteNames.InfoViewMenuItem); //AddNewToolStripMenuElement("Просмотр ДАТ и РАЗМЕРОВ *.???", "00795", CommandNames.InfoViewAllShow, "", UIExtensionSiteNames.InfoViewMenuItem); // Установки //AddNewParentToolStripMenuElement("&УСТАНОВКИ", "00009", "", "Установки программы", UIExtensionSiteNames.MainMenu); AddNewToolStripMenuElement("&УСТАНОВКИ", "000099", "", "Установки программы", UIExtensionSiteNames.MainMenu); // Экран приветствия //AddNewToolStripMenuElement("&Экран приветствия", "00091", CommandNames.SplashShow, "Показать заставку", UIExtensionSiteNames.SettingsMenu); // Обмен данными с 1С //AddNewToolStripMenuElement("&Обмен с 1С", "00091", CommandNames.Exchange1CDlgShow, "Обмен с 1С", UIExtensionSiteNames.SettingsMenu); // Настройки AddNewToolStripMenuElement("&Настройка", "000992", CommandNames.SettingsShow, "Настройки программы", UIExtensionSiteNames.SettingsMenu); // О программе AddNewToolStripMenuElement("&О программе...", "000993", CommandNames.AboutBoxShow, "О программе", UIExtensionSiteNames.SettingsMenu); } else MessageBox.Show(ErrorNames.Err1, "ACOT"); // Выход AddNewToolStripMenuElement("&ВЫХОД", CommandNames.AcotExit, CommandNames.AcotExit, "Выход из АСОТ", UIExtensionSiteNames.MainMenu); context.menuData.AcceptChanges(); //context.menuData.WriteXml("menu.xml"); }
private string AppropriateCommandName(MenuData._mainMenuRow row) { if (!row.IsCMD1Null()) { if (row.NAME.Contains(Constants.CommandNames.СведенияОбОрганизации)) return "00111"; if (row.NAME.Contains(Constants.CommandNames.ПереходНаСледМесяцВклСдвиг)) return "00072"; if (row.NAME.Contains(Constants.CommandNames.СменаОрганизации)) return "00014"; if (row.NAME.Contains(Constants.CommandNames.ПроизводственныыйКалендарьВинд)) return "01132"; if (row.NAME.Contains(Constants.CommandNames.ПечатьPRNLST)) return "00471"; if (row.NAME.Contains(Constants.CommandNames.ПечатьPRNCARD)) return "00472"; if (row.NAME.Contains(Constants.CommandNames.ПреобразованиеФайловTXT2DBF)) return "00473"; if (row.NAME.Contains(Constants.CommandNames.ПоказатьCправку)) return "00811"; if (row.NAME.Contains(Constants.CommandNames.ПечатьКнигДокументации)) return "00815"; if (row.NAME.Contains(Constants.CommandNames.УниверсальныйОбменXML)) return "00091"; return "defaultClick"; } else return string.Empty; }