Exemplo n.º 1
0
        public void Process(IList <string> filesIn, IList <string> filesOut,
                            Grid2DFormat formatIn, Grid2DFormat formatOut, bool changeFileExtension)
        {
            Grid2DFileFactory  factory     = new Grid2DFileFactory();
            IDataFile <Grid2D> dataFileIn  = factory.GetFile(formatIn);
            IDataFile <Grid2D> dataFileOut = factory.GetFile(formatOut);
            int successCount = 0;

            for (int i = 0; i < filesIn.Count(); i++)
            {
                try
                {
                    Logger.AddMessage(String.Format("Обрабатывается файл '{0}'. {1} из {2}",
                                                    filesIn[i], i + 1, filesIn.Count));

                    Grid2D grid2D = dataFileIn.Read(filesIn[i]);
                    if (changeFileExtension)
                    {
                        filesOut[i] = Path.ChangeExtension(filesOut[i], dataFileOut.DefaultExtension);
                    }
                    dataFileOut.Write(filesOut[i], grid2D);

                    successCount++;
                    Logger.AddMessage(String.Format("Файл успешно обработан."));
                }
                catch (Exception e)
                {
                    Logger.AddMessage(
                        String.Format("Ошибка при обработке файла. {0}", e.Message));
                }
            }
            Logger.AddEmptyLine();
            Logger.AddMessage(String.Format("Успешно обработано файлов: {0} из {1}.", successCount, filesIn.Count));
        }
Exemplo n.º 2
0
        private void btnConvert_Click(object sender, EventArgs e)
        {
            if (lstFiles.Items.Count == 0)
            {
                FormUtils.ShowWarning("Не выбраны файлы для обработки!");
                return;
            }
            if (cbxFormatIn.SelectedIndex == cbxFormatOut.SelectedIndex)
            {
                FormUtils.ShowWarning("Совпадают входной и выходной форматы файлов!");
                return;
            }

            IList <string> filesIn = lstFiles.Items.Cast <string>().ToList();
            IList <string> filesOut;

            try
            {
                filesOut = GetFileNamesOut(filesIn);
            }
            catch (ApplicationException exc)
            {
                FormUtils.ShowWarning(exc.Message);
                return;
            }

            AddMessage("Начало обработки файлов...\r\n");

            switch (_currentType)
            {
            case DataType.Contour:
                ContourFormat    contFormatIn  = (ContourFormat)cbxFormatIn.SelectedValue;
                ContourFormat    contFormatOut = (ContourFormat)cbxFormatOut.SelectedValue;
                ContourProcessor contProcessor = new ContourProcessor(this);
                contProcessor.Process(filesIn, filesOut, contFormatIn, contFormatOut, true);
                break;

            case DataType.Grid2D:
                Grid2DFormat    gridFormatIn  = (Grid2DFormat)cbxFormatIn.SelectedValue;
                Grid2DFormat    gridFormatOut = (Grid2DFormat)cbxFormatOut.SelectedValue;
                Grid2DProcessor gridProcessor = new Grid2DProcessor(this);
                gridProcessor.Process(filesIn, filesOut, gridFormatIn, gridFormatOut, true);
                break;

            case DataType.Point:
                break;
            }

            AddMessage("Обработка файлов завершена.");
        }
Exemplo n.º 3
0
        public IDataFile <Grid2D> GetFile(Grid2DFormat grid2DFormat)
        {
            IDataFile <Grid2D> file;

            switch (grid2DFormat)
            {
            case Grid2DFormat.SurferText:
                file = new Grid2DSurferTextFile();
                break;

            case Grid2DFormat.SurferBinary:
                file = new Grid2DSurferBinaryFile();
                break;

            case Grid2DFormat.RoxarText:
                file = new Grid2DRoxarFile();
                break;

            default:
                throw new ArgumentException("Неправильно задан формат файла поверхности!");
            }

            return(file);
        }
Exemplo n.º 4
0
 public void Process(IList <string> filesIn, IList <string> filesOut,
                     Grid2DFormat formatIn, Grid2DFormat formatOut)
 {
     Process(filesIn, filesOut, formatIn, formatOut, false);
 }