public static int Compare(string file1, string file2) { Stb stb1 = new Stb(file1, "File1"); Stb stb2 = new Stb(file2, "File2"); int num = 0; string file1_fn = Path.GetFileName(file1); string file2_fn = Path.GetFileName(file2); foreach (string name1 in stb1.tableList.Keys) { if (name1.Equals("DEFAULT_FONT_WIN7", StringComparison.InvariantCultureIgnoreCase) || name1.Equals("DEFAULT_FONT_HIGHDPI", StringComparison.InvariantCultureIgnoreCase)) { continue; } StbTable t1 = stb1.tableList[name1]; if (stb2.tableList.ContainsKey(name1) == false) { ShowError(stb2.name, string.Format("Missing '{0}'", t1.Name)); num++; } else { StbTable t2 = stb2.tableList[name1]; if (StbTable.CompareTagList(t1.TagList, t2.TagList) == false) { ShowError(stb2.name, string.Format("Difference printf-style parameters '{0}'", t1.Name)); num++; } } } Console.WriteLine("\nThere are {0} errors.\n\n{1}\n", num, (num == 0 ? "Good work! No problem!" : "You must correct them!")); return(num); }
void init(byte[] data, string name) { if (data[0] == 0xef && data[1] == 0xbb && data[2] == 0xbf) { byte[] tmp = new byte[data.Length - 3]; Array.Copy(data, 3, tmp, 0, data.Length - 3); data = tmp; } StringReader sr = new StringReader(Str.Utf8Encoding.GetString(data)); tableList = new Dictionary <string, StbTable>(); this.name = name; string prefix = ""; while (true) { string tmp = sr.ReadLine(); if (tmp == null) { break; } StbTable t = StbTable.ParseTableLine(tmp, ref prefix); if (t != null) { if (tableList.ContainsKey(t.Name.ToUpper()) == false) { tableList.Add(t.Name.ToUpper(), t); } else { ShowWarning(name, string.Format("Duplicated '{0}'", t.Name)); } } } }