private void MergeImage(object sender, EventArgs e) { OpenFileDialog openDialog = new OpenFileDialog() { Filter = "FDI Files (*.fdi)|*.fdi|All Files (*.*)|*.*" }; if (openDialog.ShowDialog() != DialogResult.OK) { return; } IsDosImage image = new IsDosImage(); string text; if (image.LoadFdi(openDialog.FileName, File.ReadAllBytes(openDialog.FileName), out text) != 0) { Log.Error?.Out($"Ошибка при чтении файла: {openDialog.FileName}"); return; } int addedReadSectors; Image.Merge(image, out addedReadSectors); map.Repaint(); stats.Repaint(); Log.Info?.Out($"Образ слит с образом из файла: {openDialog.FileName}. Добавлено прочитанных секторов: {addedReadSectors}"); }
private void LoadImage(object sender, EventArgs e) { if (Image != null && Image.Modified) { if (MessageBox.Show("Образ не был сохранен. Продолжить?", "", MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } } OpenFileDialog openDialog = new OpenFileDialog() { Filter = "FDI Files (*.fdi)|*.fdi|All Files (*.*)|*.*" }; if (openDialog.ShowDialog() != DialogResult.OK) { return; } IsDosImage image = new IsDosImage(); string text; if (image.LoadFdi(openDialog.FileName, File.ReadAllBytes(openDialog.FileName), out text, map) != 0) { Log.Error?.Out($"Ошибка при чтении файла: {openDialog.FileName}"); return; } Image = image; map.Image = Image; stats.Image = Image; map.Repaint(); stats.Repaint(); SetEnabled(); int loadedSize = Image.SizeTracks; Log.Info?.Out($"Образ загружен. Имя: {Image.Name} | Размер: {loadedSize} треков | FileName: {openDialog.FileName}"); }