Example #1
0
 public frmChart(CFGData _CFGData, DATData _DATData, FFTData _FFTData, int _PSMode)
 {
     InitializeComponent();
     mCFGData = _CFGData;
     mDATData = _DATData;
     mFFTData = _FFTData;
     PSMode   = _PSMode;
 }
Example #2
0
        private void btnFileOpen_Click(object sender, EventArgs e)
        {
            if (System.IO.Directory.Exists("./CompressFile"))
            {
                System.IO.Directory.Delete("./CompressFile", true);
            }

            if (this.openFileDialog1.ShowDialog() != DialogResult.OK)
            {
                (sender as Button).Enabled = true;
                return;
            }

            setEnable(false);

            string strFile     = this.openFileDialog1.FileName;
            string strRarPath  = string.Empty;
            string strFileName = string.Empty;
            string strXmlFile  = this.GetType().Assembly.Location;
            string strfilePath = strXmlFile = strXmlFile.Replace("PRSpline.exe", "CompressFile\\");

            if (strFile.IndexOf(".cfg") > 0)
            {
                if (File.Exists(strFile.Replace(".cfg", ".dat")))
                {
                    Directory.CreateDirectory(strfilePath);
                    File.Copy(strFile, (strfilePath + openFileDialog1.SafeFileName), true);
                    File.Copy(strFile.Replace(".cfg", ".dat"), strfilePath + openFileDialog1.SafeFileName.Replace(".cfg", ".dat"), true);
                }
                else
                {
                    MessageBox.Show("無dat檔");
                    return;
                }
            }
            else
            {
                while (strFile.IndexOf(@"\") > -1)
                {
                    strRarPath += strFile.Substring(0, strFile.IndexOf(@"\") + 1);
                    strFile     = strFile.Substring(strFile.IndexOf(@"\") + 1);
                }

                mCompressWinRAR.UnCompressRar(strfilePath, strRarPath, strFile);
            }

            try
            {
                cbxPS.Items.Clear();

                foreach (var item in System.IO.Directory.GetFiles(strfilePath, "*.cfg"))
                {
                    m_LoadDataFile.DisplayValues_CFG(item, ref mCFGData);
                    break;
                }
                Set_Information(mCFGData);
                SetPSData(mCFGData);

                foreach (var item in System.IO.Directory.GetFiles(strfilePath, "*.dat"))
                {
                    m_LoadDataFile.DisplayValues_DAT(item, ref mDATData, mCFGData.TotalAmount);
                    break;
                }

                int count = 0;
                for (int i = 0; i < mCFGData.arrAnalogyData.Count(); i++)
                {
                    if (mCFGData.arrAnalogyData[i].Name.IndexOf("MEAS") < 0)
                    {
                        count++;
                    }
                }
                mFFTData            = new FFTData();
                mFFTData.arrFFTData = new List <FFTData.Data>();
                for (int i = 0; i < mCFGData.TotalPoint; i++)
                {
                    FFTData.Data _Data = new FFTData.Data();
                    _Data.Value = new double[count];
                    _Data.rad   = new double[count];
                    for (int ii = 0; ii < count; ii++)
                    {
                        Complex mComplex = new Complex();

                        mComplex        = FFTW(i, ii);
                        _Data.Value[ii] = Math.Sqrt(Math.Pow(mComplex.Real, 2) + Math.Pow(mComplex.Imaginary, 2)) / (64 / 2) / Math.Sqrt(2);
                        _Data.rad[ii]   = Math.Atan2(mComplex.Imaginary, mComplex.Real);
                    }
                    mFFTData.arrFFTData.Add(_Data);
                }

                ClearButton();
                for (int i = 0; i < mCFGData.A_Amount; i++)
                {
                    AddNewButton(mCFGData.arrAnalogyData[i].Name, i, 0);
                }
                for (int i = 0; i < mCFGData.D_Amount; i++)
                {
                    AddNewButton(mCFGData.arrDigitalData[i].Name, i, 1);
                }
                for (int i = 0; i < mCFGData.arrAnalogyData.Count(); i++)
                {
                    if (mCFGData.arrAnalogyData[i].Name.IndexOf("MEAS") < 0)
                    {
                        AddNewButton(mCFGData.arrAnalogyData[i].Name + "_FFT", i + mCFGData.arrAnalogyData.Count(), 0);
                    }
                }
                if (pnlAnagol.Controls.Count > 15)
                {
                    AddVScrollBar();
                }
                cbxPS.Items.Add("P");
                cbxPS.Items.Add("S");
                cbxPS.Items.Add("Per Unit");

                if (mCFGData.arrAnalogyData[0].PrimaryOrSecondary == "P")
                {
                    cbxPS.SelectedIndex = 0;
                }
                else if (mCFGData.arrAnalogyData[0].PrimaryOrSecondary == "S")
                {
                    cbxPS.SelectedIndex = 1;
                }
            }
            catch (ApplicationException message)
            {
                MessageBox.Show(String.Format("{0}: {1}", strFile, message.Message));
            }
            finally
            {
                setEnable(true);
            }
        }