コード例 #1
0
 public void SaveComment()
 {
     using (MemoryStream ms = new MemoryStream())
     {
         using (ParadoxSaver saver = new ParadoxSaver(ms))
         {
             saver.WriteComment("This is a comment");
         }
         Assert.AreEqual("#This is a comment\r\n", Globals.ParadoxEncoding.GetString(ms.ToArray()));
     }
 }
コード例 #2
0
ファイル: FileSave.cs プロジェクト: nickbabcock/Pdoxcl2Sharp
 public void SaveNoChange()
 {
     FileStream output = new FileStream(outputPath, FileMode.Create, FileAccess.ReadWrite);
     using (ParadoxSaver saver = new ParadoxSaver(output))
     {
         saver.WriteLine("date", date);
         saver.WriteLine("player", player, ValueWrite.Quoted);
         saver.Write(inner.Id.ToString(), inner);
     }
     FileAssert.AreEqual(filePath, outputPath);
 }
コード例 #3
0
 public void SingleQuoteSaveNewLine()
 {
     using (MemoryStream ms = new MemoryStream())
     {
         using (ParadoxSaver saver = new ParadoxSaver(ms))
         {
             saver.Write("culture", "michigan", ValueWrite.Quoted);
         }
         Assert.AreEqual("culture=\"michigan\"", Globals.ParadoxEncoding.GetString(ms.ToArray()));
     }
 }
コード例 #4
0
 public void SaveDate()
 {
     using (MemoryStream ms = new MemoryStream())
     {
         using (ParadoxSaver saver = new ParadoxSaver(ms))
         {
             saver.WriteLine("date", new DateTime(1, 1, 1));
         }
         Assert.Equal("date=\"1.1.1\"\r\n", Globals.ParadoxEncoding.GetString(ms.ToArray()));
     }
 }
コード例 #5
0
        public void SaveNoChange()
        {
            FileStream output = new FileStream(outputPath, FileMode.Create, FileAccess.ReadWrite);

            using (ParadoxSaver saver = new ParadoxSaver(output))
            {
                saver.WriteLine("date", date);
                saver.WriteLine("player", player, ValueWrite.Quoted);
                saver.Write(inner.Id.ToString(), inner);
            }
            Assert.Equal(File.ReadAllText(filePath), File.ReadAllText(outputPath));
        }
コード例 #6
0
        public void SaveNonUtf8Characters()
        {
            string actual;

            using (MemoryStream ms = new MemoryStream())
            {
                using (ParadoxSaver saver = new ParadoxSaver(ms))
                {
                    saver.Write("name", "šžŸ", ValueWrite.None);
                }
                actual = Globals.ParadoxEncoding.GetString(ms.ToArray());
                Assert.AreEqual("name=šžŸ", actual);
            }
        }
コード例 #7
0
        public void SaveDouble()
        {
            string actual;

            using (MemoryStream ms = new MemoryStream())
            {
                using (ParadoxSaver saver = new ParadoxSaver(ms))
                {
                    saver.Write(0.23456);
                }
                actual = Globals.ParadoxEncoding.GetString(ms.ToArray());
                Assert.Equal("0.235", actual);
            }
        }
コード例 #8
0
        public void SaveInt()
        {
            string actual;
            int    val = -1235346;

            using (MemoryStream ms = new MemoryStream())
            {
                using (ParadoxSaver saver = new ParadoxSaver(ms))
                {
                    saver.Write(val);
                }
                actual = Globals.ParadoxEncoding.GetString(ms.ToArray());
                Assert.Equal("-1235346", actual);
            }
        }
コード例 #9
0
 public void SaveWithoutHeader()
 {
     using (MemoryStream ms = new MemoryStream())
     {
         using (ParadoxSaver saver = new ParadoxSaver(ms))
         {
             saver.Write(String.Empty, (w) =>
             {
                 w.WriteLine("Hey there!", ValueWrite.LeadingTabs);
             });
         }
         string actual = Globals.ParadoxEncoding.GetString(ms.ToArray());
         Assert.Equal("{\r\n\tHey there!\r\n}\r\n", actual);
     }
 }
コード例 #10
0
        public void SaveDatetime()
        {
            string   actual;
            DateTime value = new DateTime(1402, 1, 1);

            using (MemoryStream ms = new MemoryStream())
            {
                using (ParadoxSaver saver = new ParadoxSaver(ms))
                {
                    saver.Write(value);
                }
                actual = Globals.ParadoxEncoding.GetString(ms.ToArray());
                Assert.Equal("1402.1.1", actual);
            }
        }
コード例 #11
0
        public static void WriteAllTitles(string fileName, IEnumerable <LandedTitleEntity> landedTitles)
        {
            LandedTitlesFile landedTitlesFile = new LandedTitlesFile
            {
                LandedTitles = landedTitles.Select(x => new LandedTitleDefinition {
                    Entity = x
                }).ToList()
            };

            using (FileStream fs = new FileStream(fileName, FileMode.Create))
                using (ParadoxSaver saver = new ParadoxSaver(fs))
                {
                    landedTitlesFile.Write(saver);
                }
        }
コード例 #12
0
            public void Write(ParadoxSaver writer)
            {
                writer.WriteLine("name", Name, ValueWrite.Quoted);
                writer.WriteLine("citysize", CitySize);
                writer.Write("discovered_by={", ValueWrite.LeadingTabs);
                foreach (var country in DiscoveredBy)
                {
                    writer.Write(country, ValueWrite.None);
                    writer.Write(" ", ValueWrite.None);
                }

                writer.Write("}", ValueWrite.NewLine);

                writer.WriteLine("generic_infantry = {", ValueWrite.LeadingTabs);
                foreach (var infantry in GenericInfantry)
                {
                    writer.WriteLine(infantry, ValueWrite.LeadingTabs);
                }
                writer.WriteLine("}", ValueWrite.LeadingTabs);
            }
コード例 #13
0
        public void SaveNoChange()
        {
            FileStream output = new FileStream(outputPath, FileMode.Create, FileAccess.ReadWrite);
            using (ParadoxSaver saver = new ParadoxSaver(output))
            {
                var date = new DateTime(1641, 6, 11);
                var player = "ALG";
                var inner = new InnerInfo()
                {
                    Id = 1,
                    Name = "Stocšžolm",
                    DiscoveredBy = new[] {"REB", "SWE"},
                    CitySize = 12.000,
                    GenericInfantry = new[] {"infantry_brigade", "infantry_brigade", "infantry_brigade"}
                };

                saver.WriteLine("date", date);
                saver.WriteLine("player", player, ValueWrite.Quoted);
                saver.Write(inner.Id.ToString(), inner);
            }
            FileAssert.AreEqual(filePath, outputPath);
        }
コード例 #14
0
 public void Write(ParadoxSaver writer)
 {
     throw new NotImplementedException();
 }
コード例 #15
0
ファイル: Form1.cs プロジェクト: Cundhi/CharsTitles
        private void Button2_Click(object sender, EventArgs e)
        {
            if (lstChar.SelectedIndex < 0)
            {
                MessageBox.Show("No character selected!");
                return;
            }
            // "\\history\\titles"
            string   logs    = string.Empty;
            string   errlogs = string.Empty;
            DateTime t       = DateTime.MinValue;
            string   ts      = this.txtTime.Text.Trim();

            if (!ParadoxParser.TryParseDate(ts, out t))
            {
                MessageBox.Show("Time format error!");
                return;
            }
            string        id = this.lstChar.SelectedValue.ToString();
            List <string> ps = new List <string>();

            GetCheckedTitles(treeView1.Nodes[0], ps);
            foreach (string p in ps)
            {
                string path = modPath + "\\history\\titles\\" + p + ".txt";
                if (File.Exists(path))
                {
                    Title title1 = new Title();
                    using (FileStream fs = new FileStream(path, FileMode.Open))
                    {
                        ParadoxParser.Parse(fs, new Title());
                        if (title1.Time == ts && title1.HoldID == id)
                        {
                            logs += string.Format("{0} {3} \"{1}={{holder={2}}}\" existed\r\n", DateTime.Now, ts, id, p + ".txt"); //已存在
                            continue;
                        }
                        if (title1.Time == ts)
                        {
                            errlogs += string.Format("{0} {2} \"{1}\" existed\r\n", DateTime.Now, ts, p + ".txt"); //已存在
                            continue;
                        }
                    }
                }
                Title title = new Title();
                title.Time   = ts;
                title.HoldID = id;
                using (FileStream fs = new FileStream(path, FileMode.Append))
                    using (ParadoxSaver saver = new ParadoxSaver(fs))
                    {
                        title.Write(saver);
                    }
                logs += string.Format("{0} {3} \"{1}={{holder={2}}}\" writed\r\n", DateTime.Now, ts, id, p + ".txt"); //成功写文件
            }
            if (logs != string.Empty)
            {
                using (FileStream fs = new FileStream(modPath + "\\history\\titles\\logs.log", FileMode.Append))
                {
                    byte[] buffer = Encoding.Default.GetBytes(logs);
                    fs.Write(buffer, 0, buffer.Length);
                }
            }
            if (errlogs != string.Empty)
            {
                using (FileStream fs = new FileStream(modPath + "\\history\\titles\\errlogs.log", FileMode.Append))
                {
                    byte[] buffer = Encoding.Default.GetBytes(errlogs);
                    fs.Write(buffer, 0, buffer.Length);
                }
            }
        }