예제 #1
0
        public DataReader(string filePath, LoadFileType fType)
        {
            try
            {
                readFile = new System.IO.StreamReader(filePath);
            }
            catch (Exception)
            {

                System.Windows.Forms.MessageBox.Show("Failed to load the file");
            }
            loadDataArray(fType);
        }
예제 #2
0
        public void loadDataArray(LoadFileType ft)
        {
            switch (ft)
            {
                case LoadFileType.DBQERef:
                    try
                    {
                        bool dataStart = false;
                        int length = 0;
                        while (readFile.EndOfStream != true)
                        {
                            string tempStr = readFile.ReadLine();
                            if (dataStart == false)
                            {
                                if (tempStr.Contains("Wavelength (nm)"))
                                {
                                    dataStart = true;
                                }
                            }
                            else
                            {
                                string[] dataStr = tempStr.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                                Array.Resize(ref dataArray1, length + 1);
                                Array.Resize(ref dataArray2, length + 1);

                                dataArray1[length] = Convert.ToDouble(dataStr[0]);
                                dataArray2[length] = Convert.ToDouble(dataStr[1]);

                                length++;

                            }
                        }
                    }
                    catch (Exception)
                    {
                        System.Windows.Forms.MessageBox.Show("Fail to load the data from file. Please check the file");
                    }
                    break;
                case LoadFileType.csv2col:
                    int len = 0;
                    while (readFile.EndOfStream!=true)
                    {
                        string tempStr = readFile.ReadLine();
                        string[] dataStr = tempStr.Split(new char[] { ',',' ','\t' },
                            StringSplitOptions.RemoveEmptyEntries);
                        Array.Resize(ref dataArray1, len + 1);
                        Array.Resize(ref dataArray2, len + 1);

                        dataArray1[len] = Convert.ToDouble(dataStr[0]);
                        dataArray2[len] = Convert.ToDouble(dataStr[1]);

                        len++;
                    }
                    break;
                case LoadFileType.KHcsv:
                    loadDataArray_KHcsv();
                    break;
                case LoadFileType.DBQEDev:
                    try
                    {
                        bool dataStart = false;
                        bool convertedQEFile = false;
                        int length = 0;
                        while (readFile.EndOfStream != true)
                        {
                            string tempStr = readFile.ReadLine();
                            if (dataStart == false)
                            {
                                if (tempStr.Contains("Wavelength (nm)"))
                                {
                                    dataStart = true;
                                    if (tempStr.Contains("QE"))
                                    {
                                        convertedQEFile = true;
                                    }
                                }
                            }
                            else
                            {
                                string[] dataStr = tempStr.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                                Array.Resize(ref dataArray1, length + 1);
                                Array.Resize(ref dataArray2, length + 1);

                                dataArray1[length] = Convert.ToDouble(dataStr[0]);
                                if (convertedQEFile==true)
                                {
                                    dataArray2[length] = Convert.ToDouble(dataStr[3]);
                                }
                                else
                                {
                                    dataArray2[length] = Convert.ToDouble(dataStr[1]);
                                }
                                length++;

                            }
                        }
                    }
                    catch (Exception)
                    {
                        System.Windows.Forms.MessageBox.Show("Fail to load the data from file. Please check the file");
                    }
                    break;
            }
        }