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)); }
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("Обработка файлов завершена."); }
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); }
public void Process(IList <string> filesIn, IList <string> filesOut, Grid2DFormat formatIn, Grid2DFormat formatOut) { Process(filesIn, filesOut, formatIn, formatOut, false); }