コード例 #1
0
        public void ImportObjects(string[] lines, ImportType importType)
        {
            string[] currLine;

            foreach (string line in lines)
            {
                currLine = line.Split(new char[] { (importType == ImportType.ByFlux) ? char.Parse(Radioobject.STANDART_STRING_DELIMETER) : ' ' }, StringSplitOptions.RemoveEmptyEntries);

                switch (importType)
                {
                case ImportType.ByFlux:
                    Radioobjects.Add(new Radioobject(
                                         coords: new Coordinates(currLine[0]),
                                         fluxOn325: double.Parse(currLine[1]),
                                         fluxOn1400: double.Parse(currLine[2]),
                                         spectralIndex: double.Parse(currLine[3].Replace('.', ',')),
                                         type: Radioobject.ParseType(currLine[4]),
                                         densityRatio: double.Parse(currLine[5]),
                                         redshift: double.Parse(currLine[6])
                                         ));
                    break;

                case ImportType.BySpectralIndex:
                    Radioobjects.Add(new Radioobject(
                                         coords: new Coordinates(currLine[0], currLine[1], ':'),
                                         spectralIndex: double.Parse(currLine[2].Replace('.', ','))
                                         ));
                    break;
                }
            }

            ReportToLog("Objects were imported.");
        }
コード例 #2
0
        public void ImportObjects(string[] lines, IImportManager importManager)
        {
            foreach (string line in lines)
            {
                Radioobject obj = importManager.ProcessObject(line);

                if (obj != null)
                {
                    Radioobjects.Add(obj);
                }
            }

            ReportToLog("Objects were imported.");
        }
コード例 #3
0
        public Radioobject ProcessObject(string line)
        {
            string[] currLine = line.Split(new char[] { char.Parse(Radioobject.STANDART_STRING_DELIMETER) }, StringSplitOptions.RemoveEmptyEntries);

            return(new Radioobject(
                       coords: new Coordinates(currLine[0]),
                       fluxOn325: double.Parse(currLine[1]),
                       fluxOn1400: double.Parse(currLine[2]),
                       spectralIndex: double.Parse(currLine[3].Replace('.', ',')),
                       type: Radioobject.ParseType(currLine[4]),
                       densityRatio: double.Parse(currLine[5]),
                       redshift: double.Parse(currLine[6])
                       ));
        }
コード例 #4
0
        private void ImportObjectsButton_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog();
            string         inputPath;

            string[] contents, currLine;

            currentRadioobjects = new List <Radioobject>();
            fileDialog.ShowDialog();
            inputPath = fileDialog.FileName;

            if (string.IsNullOrEmpty(inputPath) == true)
            {
                return;
            }

            contents = File.ReadAllLines(inputPath);

            foreach (string line in contents)
            {
                currLine = line.Split(new char[] { (importType == ImportType.ByFlux) ? char.Parse(Radioobject.STANDART_STRING_DELIMETER) : ' ' }, StringSplitOptions.RemoveEmptyEntries);

                switch (importType)
                {
                case ImportType.ByFlux:
                    currentRadioobjects.Add(new Radioobject(
                                                coords: new Coordinates(currLine[0]),
                                                fluxOn325: double.Parse(currLine[1]),
                                                fluxOn1400: double.Parse(currLine[2]),
                                                spectralIndex: double.Parse(currLine[3].Replace('.', ',')),
                                                type: Radioobject.ParseType(currLine[4]),
                                                densityRatio: double.Parse(currLine[5]),
                                                redshift: double.Parse(currLine[6])
                                                ));
                    break;

                case ImportType.BySpectralIndex:
                    currentRadioobjects.Add(new Radioobject(
                                                coords: new Coordinates(currLine[0], currLine[1], ':'),
                                                spectralIndex: double.Parse(currLine[2].Replace('.', ','))
                                                ));
                    break;
                }
            }

            Log("Objects were imported.");
        }
コード例 #5
0
        private void CreateDataTable()
        {
            int        i;
            DataTable  objectsTable = new DataTable();
            DataColumn column;
            DataRow    row;

            column          = new DataColumn("ID", typeof(string));
            column.Caption  = "ID";
            column.ReadOnly = true;
            objectsTable.Columns.Add(column);

            column          = new DataColumn("Coordinates", typeof(string));
            column.Caption  = "Coordinates";
            column.ReadOnly = true;
            objectsTable.Columns.Add(column);

            column          = new DataColumn("Flux on 325", typeof(string));
            column.Caption  = "Flux on 325";
            column.ReadOnly = true;
            objectsTable.Columns.Add(column);

            column          = new DataColumn("Flux on 1400", typeof(string));
            column.Caption  = "Flux on 1400";
            column.ReadOnly = true;
            objectsTable.Columns.Add(column);

            column          = new DataColumn("Structure type", typeof(string));
            column.Caption  = "Structure type";
            column.ReadOnly = true;
            objectsTable.Columns.Add(column);

            column          = new DataColumn("Density ratio", typeof(string));
            column.Caption  = "Density ratio";
            column.ReadOnly = true;
            objectsTable.Columns.Add(column);

            column          = new DataColumn("Spectral index", typeof(string));
            column.Caption  = "Spectral index";
            column.ReadOnly = true;
            objectsTable.Columns.Add(column);

            column          = new DataColumn("Redshift", typeof(string));
            column.Caption  = "Redshift";
            column.ReadOnly = true;
            objectsTable.Columns.Add(column);

            for (i = 0; i < currentRadioobjects.Count; i++)
            {
                Radioobject obj = currentRadioobjects[i];
                row                   = objectsTable.NewRow();
                row["ID"]             = i;
                row["Coordinates"]    = obj.Coords.ToString();
                row["Flux on 325"]    = obj.FluxOn325.ToString();
                row["Flux on 1400"]   = obj.FluxOn1400.ToString();
                row["Structure type"] = obj.Type.ToString();
                row["Density ratio"]  = obj.DensityRatio.ToString();
                row["Spectral index"] = obj.SpectralIndex.ToString();
                row["Redshift"]       = obj.Redshift.ToString();
                objectsTable.Rows.Add(row);
            }

            DataViewForm form = new DataViewForm(objectsTable);

            form.ShowDialog();
        }