예제 #1
0
        private void WriteLauncher(string launcherFile)
        {
            IniDocument iniDocument = new IniDocument("iniDocument", "", "");

            iniDocument.Add(this._buttons.Launch.Write2File(), true);
            iniDocument.Add(this._buttons.Activate.Write2File(), true);
            iniDocument.Add(this._buttons.LiveMode.Write2File(), true);
            iniDocument.Add(this._buttons.Environment.Write2File(), true);
            iniDocument.Add(this._buttons.RegistryKeys.Write2File(), true);
            iniDocument.Add(this._buttons.RegistryValueWrite.Write2File(), true);
            iniDocument.Add(this._buttons.RegistryCleanup.Write2File(), true);
            iniDocument.Add(this._buttons.FileWriteN.Write2File(), true);
            iniDocument.Add(this._buttons.FilesMove.Write2File(), true);
            iniDocument.Add(this._buttons.DirectoriesMove.Write2File(), true);
            iniDocument.Add(this._buttons.DirectoriesCleanup.Write2File(), true);
            iniDocument.Add(this._buttons.Language.Write2File(), true);
            iniDocument.Add(this._buttons.LanguageStrings.Write2File(), true);
            iniDocument.Add(this._buttons.LanguageFile.Write2File(), true);
            iniDocument.Add(this._buttons.Custom.Write2File(), true);
            iniDocument.Remove(Descendants.Empty);
            foreach (Section section in iniDocument.get_Sections())
            {
                section.Remove(Descendants.Empty);
            }
            iniDocument.Footer           = "Generated with PAF Launcher Editor 5";
            iniDocument.SpaceOutSections = true;
            File.WriteAllLines(launcherFile, iniDocument.Lines(), Encoding.Default);
        }
예제 #2
0
파일: Program.cs 프로젝트: kinghajj/mini
        static void Main()
        {
            const int maxIters = 10000;
            var watch = new Stopwatch();

            // Time how long it takes to process the INI, and estimate how much
            // memory the data structure takes.
            var startMem = GC.GetTotalMemory(false);
            watch.Start();
            var ini = new IniDocument("test.ini");
            watch.Stop();
            var endMem = GC.GetTotalMemory(false);
            Console.WriteLine("Approx. Data Structure Mem: {0}", endMem - startMem);
            Console.WriteLine("{0} ms to process INI.", watch.ElapsedMilliseconds);
            watch.Reset();

            // Time how long it takes to make many simple changes.
            watch.Start();
            for(var i = 0; i < maxIters; ++i)
            {
                ini["User"]["Name"].Value = "md5sum";
                ini["User"]["Password Hash"].Value = "e65b0dce58cbecf21e7c9ff7318f3b57";
                ini["User"]["Remove This"].Value = "This shouldn'd stay.";
                ini["User"].Remove("Remove This");
                ini["Remove This Too"].Comment = "This better not stay!";
                ini.Remove("Remove This Too");
                ini["User"].Comment = "These are the basic user settings.\nDon't modify them unless you know what you're doing.";
            }
            watch.Stop();
            Console.WriteLine("{0} ms to make changes.", watch.ElapsedMilliseconds);
            watch.Reset();

            // Time how long it takes to deserialize.
            var serializer = IniSerializer<Model2>.New();
            watch.Start();
            var model = serializer.Deserialize(ini);
            for(var i = 0; i < maxIters - 1; ++i)
                model = serializer.Deserialize(ini);
            model.Model.LastRun = DateTime.Now;
            watch.Stop();
            Console.WriteLine("{0} ms to deserialize.", watch.ElapsedMilliseconds);
            watch.Reset();

            // Time how long it takes to serialize.
            watch.Start();
            for(var i = 0; i < maxIters; ++i)
                serializer.Serialize(model, ini);
            watch.Stop();
            Console.WriteLine("{0} ms to serialize.", watch.ElapsedMilliseconds);
            watch.Reset();

            // Time how long it takes to write the changes back to another file.
            watch.Start();
            ini.Write("test2.ini");
            watch.Stop();
            Console.WriteLine("{0} ms write INI document to file.", watch.ElapsedMilliseconds);
        }