void B_Save_Click(object sender, EventArgs e) { for (int i = 0; i < _modifiedItems.Count; i++) { CPacketStruct item = _modifiedItems.Values.ElementAt(i); String name = _modifiedItems.Keys.ElementAt(i); StructXMLParser.ItemsToXml(item.Items, _packetDir + "\\" + name + "\\Msg.xml", item.Infos); } _modifiedItems.Clear(); P_Table.RowStyles[3] = new RowStyle(System.Windows.Forms.SizeType.Absolute, 0); P_Table.RowStyles[3] = new RowStyle(System.Windows.Forms.SizeType.Absolute, 25); }
public void SaveFile() { //File.WriteAllText(_saveFile, T_Msg.Text); _ns.NativeText = T_Msg.Text;//.setNativeText(ss); //_ns.Items = StructXMLParser.CodeToItems(T_Msg.Text, _ns); if (_ns.IsDynamicPacket == false) { _ns.MakePacket(_swapWhenMakePacket); } CStructInfo info = new CStructInfo(T_Comment.Text, DateTime.Now); StructXMLParser.ItemsToXml(_ns.Items, _xmlFile, info); }
public void AddNewItem(CPacketStruct parserObj = null, String name = null) { #region 기존에 같은 이름이 있는지 검사후 있으면 이름 붙여줌. List <object> names = V_Data.GetAColumnData(0); name = (name == null)?"Untitled" : name; String newName = name; int count = 0; while (Directory.Exists(_packetDir + "\\" + (newName)) == true) { newName = name + (count++); } #endregion #region 새 디렉토리 만들고 Msg.txt파일 만들어 내용 넣어줌. String newDir = _packetDir + "\\" + newName; if (Directory.Exists(newDir) == false) { Directory.CreateDirectory(newDir); } if (parserObj == null) { parserObj = new CPacketStruct(); DlgMsgMaker dlg = new DlgMsgMaker(parserObj, newDir + "\\Msg.txt", _endian == Endians.Big); DialogResult result = dlg.ShowDialog(); if (result == DialogResult.Abort || result == DialogResult.Cancel) { return; } //parserObj.Items = StructXMLParser.CodeToItems(parserObj.NativeText, parserObj); StructXMLParser.ItemsToXml(parserObj.Items, newDir + "\\Msg.xml", parserObj.Infos); } else { parserObj.MakeMsgText(); CPacketStruct oldObj = parserObj; parserObj = new CPacketStruct(); parserObj.NativeText = oldObj.NativeText; //parserObj.Items = StructXMLParser.CodeToItems(oldObj.NativeText, parserObj); StructXMLParser.ItemsToXml(parserObj.Items, newDir + "\\Msg.xml", parserObj.Infos); } #endregion #region 표에 줄 삽입 Dictionary <String, object> rels = new Dictionary <string, object>(); parserObj.IsStringWithNullEnd = _isStringWithNullEnd; parserObj.Endian = _endian; parserObj.StringEncoding = _strEncoding; String msgName = newName; bool integrity; try { parserObj.MakePacket(_endian == Endians.Big); integrity = true; } catch (Exception e) { MessageBox.Show(msgName + ":" + e.Message); integrity = true; } rels["integrity"] = integrity; rels["parser"] = parserObj; rels["msg"] = parserObj.NativeText; EasyGridRow row = V_Data.AddARow(rels, new object[] { false, msgName, "edit", "send", "X", "", }); if (integrity == false) { (row[(int)Titles.name] as EasyGridTextBoxCell).FontColor = Color.Red; } #endregion V_Data.RefreshList(); saveNameList(); }