Exemplo n.º 1
0
        private async void buttonRawRead_Click(object sender, EventArgs e)
        {
            if (openFileDialogGuichu.ShowDialog() == DialogResult.OK)
            {
                MemoryStream tempMs = new MemoryStream();
                using (FileStream fs = new FileStream(openFileDialogGuichu.FileName, FileMode.Open))
                {
                    using (GZipStream Compress = new GZipStream(fs, CompressionMode.Decompress))
                    {
                        Compress.CopyTo(tempMs);
                    }
                }
                byte[]    bytes = tempMs.ToArray();
                string    str   = Encoding.GetEncoding("UTF-8").GetString(bytes);
                BiliShell bs    = JsonConvert.DeserializeObject <BiliShell>(str);
                if (bs.ver != 1)
                {
                    MessageBox.Show("此文件是使用新版BR生成的,无法打开!");
                    return;
                }
                List <BiliInterfaceInfo> bi = JsonConvert.DeserializeObject <List <BiliInterfaceInfo> >(bs.infos.ToString());
                textBoxAV.Text = "";
                //TODO: 判断是否为空文件
                foreach (BiliInterfaceInfo i in bi)
                {
                    textBoxAV.Text += i.AVNUM + "\r\n";
                }
                dataGridViewRAW.DataSource = bi;

                Log.Info("文件加载完成,正在生成csv");
                textBoxOut.Text = await BiliInterface.GetCsvInfosAsync(bi);

                Log.Info("生成csv完成");
            }
        }
Exemplo n.º 2
0
        public void OpenFile(string name)
        {
            if (!name.EndsWith(".sdygx"))
            {
                MessageBox.Show("不是圣地亚哥数据库X文件啊!拖错啦!");
                return;
            }
            MemoryStream tempMs = new MemoryStream();

            using (FileStream fs = new FileStream(name, FileMode.Open))
            {
                using (GZipStream Compress = new GZipStream(fs, CompressionMode.Decompress))
                {
                    Compress.CopyTo(tempMs);
                }
            }
            byte[]    bytes = tempMs.ToArray();
            string    str   = Encoding.GetEncoding("UTF-8").GetString(bytes);
            BiliShell bs    = JsonConvert.DeserializeObject <BiliShell>(str);

            if (bs.ver != 1)
            {
                MessageBox.Show("此文件是使用新版BR生成的,无法打开!");
                return;
            }
            List <BiliInterfaceInfo> bi = JsonConvert.DeserializeObject <List <BiliInterfaceInfo> >(bs.infos.ToString());

            SetNewData(bi);
            RefreshGenTime(bs.genTime);
            SharedData.SortedAVs = from a in bi select a.avnum;
        }
Exemplo n.º 3
0
        private void buttonRawSave_Click(object sender, EventArgs e)
        {
            string fileName = DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".sdygx";

            saveFileDialogGuichu.FileName = fileName;
            if (saveFileDialogGuichu.ShowDialog() == DialogResult.OK)
            {
                fileName = saveFileDialogGuichu.FileName;
                try
                {
                    BiliShell bs = new BiliShell
                    {
                        ver   = 1,
                        infos = (List <BiliInterfaceInfo>)dataGridViewRAW.DataSource
                    };

                    string str   = JsonConvert.SerializeObject(bs);
                    byte[] bytes = Encoding.GetEncoding("UTF-8").GetBytes(str);

                    using (FileStream fs = new FileStream(fileName, FileMode.Create))
                    {
                        using (GZipStream Compress = new GZipStream(fs, CompressionMode.Compress))
                        {
                            Compress.Write(bytes, 0, bytes.Length);
                        }
                    }

                    Log.Info("成功导出文件 -> " + fileName);
                }
                catch
                {
                    Log.Error("文件保存错误!检查权限");
                }
            }
        }
Exemplo n.º 4
0
        private void buttonSave_Click(object sender, RoutedEventArgs e)
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Filter = "圣地亚哥数据库X|*.sdygx";
            string fileName = DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".sdygx";

            dlg.FileName = fileName;
            if (dlg.ShowDialog() == true)
            {
                fileName = dlg.FileName;
                try
                {
                    BiliShell bs = new BiliShell
                    {
                        ver     = 1,
                        infos   = GetData(),
                        genTime = genTime
                    };

                    string str   = JsonConvert.SerializeObject(bs);
                    byte[] bytes = Encoding.GetEncoding("UTF-8").GetBytes(str);

                    using (FileStream fs = new FileStream(fileName, FileMode.Create))
                    {
                        using (GZipStream Compress = new GZipStream(fs, CompressionMode.Compress))
                        {
                            Compress.Write(bytes, 0, bytes.Length);
                        }
                    }
                    log.Info("成功导出文件 -> " + fileName);
                }
                catch (Exception exc)
                {
                    log.Error("文件保存错误!" + exc.Message);
                }
            }
        }