Exemplo n.º 1
0
        /// <summary>
        /// 保存棋谱
        /// </summary>
        public static void SaveQP()
        {
            try
            {
                //保存棋谱
                string tempstr = "";
                Array  arr     = StackHistory.ToArray();
                if (arr.Length > 0)
                {
                    for (int i = arr.Length - 1; i >= 0; i--)
                    {
                        tempstr += arr.GetValue(i).ToString() + "\r\n";
                    }
                    tempstr += "CreateBy [email protected] http://www.singoo.top \r\n";
                    tempstr += System.DateTime.Now.ToString();
                    SaveFileDialog sd = new SaveFileDialog();
                    sd.Filter = "文本文件(*.txt)|*.txt";

                    string saveFolder = Path.Combine(System.Environment.CurrentDirectory, "QiPu");
                    if (!Directory.Exists(saveFolder))
                    {
                        Directory.CreateDirectory(saveFolder);
                    }
                    sd.InitialDirectory = saveFolder; //棋谱的默认保存目录

                    sd.FileName = System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt";
                    //sd.RestoreDirectory = true;

                    if (sd.ShowDialog() == DialogResult.OK)
                    {
                        //保存文件
                        FileStream   fs = new FileStream(sd.FileName, FileMode.Create, FileAccess.ReadWrite);
                        StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding("gb2312"));
                        sw.Write(tempstr);
                        sw.Flush();
                        sw.Close();
                        fs.Close();
                    }
                }
                else
                {
                    MessageBox.Show("没有可用棋谱", "温馨提示", MessageBoxButtons.OK);
                }
            }
            catch
            {
                MessageBox.Show("程序错误,保存失败", "温馨提示", MessageBoxButtons.OK);
            }
        }