private void SetEnvironmentTab() { CodeElement.UDataElement element = mDataDocument.Items[EnvironmentId].Items[Environment_ExitAutoSave]; CheckBox cb = tabEnvironment.Controls["cbExitAutoSave"] as CheckBox; cb.Text = element.Tag; cb.Checked = element.Value == "true" ? true : false; element = mDataDocument.Items[EnvironmentId].Items[Environment_Font]; lFont.Text = element.Value; }
private void AddVariableType(int languageIndex, string name, string value) { if (GetVariableType(languageIndex, name) != null) { MessageBox.Show("变量类型已存在"); return; } CodeElement.UDataElement element = new CodeElement.UDataElement(); element.Name = name; element.Tag = string.Empty; element.Value = value; mDataDocument.Items[LanguageId].Items[languageIndex].Items[Language_VariableType].Items.Add(element); listVariableType.Items.Add(name); listVariableType.SelectedIndex = listVariableType.Items.Count - 1; }
private void AddSymbol(int languageIndex, string name, string value) { if (GetSymbol(languageIndex, name) != null) { MessageBox.Show("符号已存在"); return; } CodeElement.UDataElement element = new CodeElement.UDataElement(); element.Name = name; element.Tag = string.Empty; element.Value = value; mDataDocument.Items[LanguageId].Items[languageIndex].Items[Language_Symbols].Items.Add(element); listSymbols.Items.Add(name); listSymbols.SelectedIndex = listSymbols.Items.Count - 1; butSymbolColor.BackColor = ParseColor(value); }
/// <summary> /// 配置表分析 /// </summary> /// <returns></returns> private UDataElement ParseElement() { try { // 如果下一个数据为空,则分析完成 if (mParser.PeekNextData() == string.Empty) { return(null); } // 获取根目录 UDataElement element = new UDataElement(); // 分析指定格式 mParser.GetNextData("["); element.Name = mParser.GetNextData(); element.Value = string.Empty; mParser.GetNextData("]"); while (true) { // 循环分析子项 string nextData = mParser.PeekNextData(); switch (nextData) { // 如果是“<”表示为子项数据 case "<": { // 按特定格式保存数据 UDataElement de = new UDataElement(); // 自定义数据 // 名称 mParser.GetNextData("<"); mParser.GetNextData("Name"); mParser.GetNextData("="); de.Name = mParser.GetNextData(); mParser.GetNextData(" "); // 说明 mParser.GetNextData("Tag"); mParser.GetNextData("="); de.Tag = mParser.GetNextData(); mParser.GetNextData(" "); // 内容 mParser.GetNextData("Value"); mParser.GetNextData("="); de.Value = mParser.GetNextData(); mParser.GetNextData(">"); element.Items.Add(de); } break; // 嵌套的配置块 case "[": mParser.Save(); mParser.GetNextData("["); // 配置块结束标志 if (mParser.PeekNextData() == "/") { mParser.GetNextData("/"); mParser.GetNextData(element.Name); mParser.GetNextData("]"); return(element); } else { // 循环分析 mParser.Load(); UDataElement newElement = ParseElement(); if (newElement == null) { return(element); } else { element.Items.Add(newElement); } } break; default: break; } } } catch (Exception ex) { throw ex; } }