コード例 #1
0
ファイル: Form1.cs プロジェクト: Laobeibei/swadmin
        private void bgWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            if (!this.splashScreenManager.IsSplashFormVisible)
            {
                this.splashScreenManager.ShowWaitForm();
            }
            WorkerArg arg = (WorkerArg)e.Argument;

            if (arg.WorkerType == WorkerTypeEnum.LOAD_SERVER_RES || arg.WorkerType == WorkerTypeEnum.LOAD_CLIENT_RES)
            {
                this._currentWork = arg.WorkerType;
                this._exportMenu  = null;
                this.LoadResDir(arg.WorkerType, arg.WorkerType == WorkerTypeEnum.LOAD_SERVER_RES ? txtServerRes.Text : txtClientRes.Text);
            }
            else if (arg.WorkerType == WorkerTypeEnum.LOAD_RES)
            {
                this.LoadResData(arg.ArgValue.ToString());
                this.CreateGridMenu();
                // Prevent export data to txt HQTrans for server
                if (this._currentWork == WorkerTypeEnum.LOAD_SERVER_RES && _exportMenu.Items.Count > 0)
                {
                    _exportMenu.Items.RemoveAt(_exportMenu.Items.Count - 1);
                }
            }
            else if (arg.WorkerType == WorkerTypeEnum.SAVE_RES)
            {
                this.SaveResData();
            }
            if (this.splashScreenManager.IsSplashFormVisible)
            {
                this.splashScreenManager.CloseWaitForm();
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: Laobeibei/swadmin
        private void barbtnSave_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (this.xtraSaveFileDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            WorkerArg workerArg = new WorkerArg(WorkerTypeEnum.SAVE_RES, null);

            this.bgWorker.RunWorkerAsync(workerArg);
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: Karveit/swadmin
        private DataTable ReadResFile(string filepath, bool isAsync)
        {
            FileInfo fi = new FileInfo(filepath);

            if (!fi.Exists)
            {
                XtraMessageBox.Show("Res file not found");
                return(null);
            }
            if (isAsync)
            {
                WorkerArg arg = new WorkerArg(WorkerTypeEnum.LOAD_RES, fi.FullName);
                if (bgWorker.IsBusy)
                {
                    this.CreateWorkerInstance();
                }
                bgWorker.RunWorkerAsync(arg);
            }
            else
            {
                string filename   = fi.Name;
                var    structdata = _supportedFiles[filename];
                if (structdata._checksum <= 0)
                {
                    SWReader reader = new SWReader(filepath);
                    try
                    {
                        reader.readObject(structdata);
                    }
                    catch (Exception ex)
                    {
                        XtraMessageBox.Show(ex.Message);
                    }
                    structdata.ResetChecksum();
                    structdata.calcChecksum();
                }

                object[]      a    = structdata.GetType().GetField("lsData").GetValue(structdata) as object[];
                List <object> list = new List <object>(a);
                return(list.ToDataTable(a.GetType().GetElementType()));
            }
            return(null);
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: Laobeibei/swadmin
        private void lbRes_SelectedIndexChanged(object sender, EventArgs e)
        {
            gridControl1.DataSource = null;
            gridView1.Columns.Clear();
            if (lbRes == null || lbRes.SelectedItem == null || !_supportedFiles.ContainsKey(lbRes.SelectedItem.ToString().ToLower()))
            {
                return;
            }
            FileInfo fi = new FileInfo(Path.Combine(_currentResPath, lbRes.SelectedItem.ToString()));

            if (!fi.Exists)
            {
                XtraMessageBox.Show("Res file not found");
                return;
            }
            WorkerArg arg = new WorkerArg(WorkerTypeEnum.LOAD_RES, fi.FullName);

            if (bgWorker.IsBusy)
            {
                this.CreateWorkerInstance();
            }
            bgWorker.RunWorkerAsync(arg);
        }