Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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));
                }
            }
        }
    }