public Form1() { InitializeComponent(); // SGFBufferParser test = new SGFBufferParser(); // string value = test.TestProcessPropertyValue("[A][B\\]] \r\n[C] "); // System.Diagnostics.Debug.WriteLine(value); SGF_Tree parser = new SGF_Tree(); //parser.OpenSGF(@"C:\DEV\SGF\examples\simple0.sgf"); parser.OpenSGF(@"C:\DEV\SGF\examples\ff4_ex.sgf"); Read(parser); SGF_Node_Root[] roots = parser.Roots; SGF_Node_Root root = roots[0]; var ff = root.GetPropertyAs <SGF_Property_FF>(); if (!ff.IsBlank) { ff.Value.Number = 3; } var SZ = root.GetPropertyAs <SGF_Property_SZ>(); int szx = SZ.Value.Left.Number; int szy = SZ.Value.Right.Number; SZ.Value.Right.Number = 20; root.SetProperty(SZ); { SGF_Property_FF ff1 = new SGF_Property_FF(); ff1.Value.Number = 15; root.SetProperty(ff1); } parser.SaveSGF(@"C:\DEV\SGF\examples\new.sgf"); }
private void Read(SGF_Tree parser) { if (parser == null || parser.Roots.Length == 0) { treeView1.Nodes.Clear(); treeView1.Nodes.Add("Empty"); return; } AddRoot(parser); }
private void AddRoot(SGF_Tree tree) { treeView1.Nodes.Add("ROOT"); SGF_Node_Root[] roots = tree.Roots; if (roots.Length > 1) { for (int i = 1; i < roots.Length; i++) { AddBranch(roots[i], treeView1.Nodes[0]); } } if (roots.Length != 0) { AddNode(roots[0], treeView1.Nodes[0]); } }