private void NewImage(object sender, EventArgs e) { if (Image != null && Image.Modified) { if (MessageBox.Show("Образ не был сохранен. Продолжить?", "", MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } } string value = newImageName; if (!InputBox.Query("", "Введите имя образа", ref value)) { return; } int size = newImageSize; if (!InputBox.InputInt32("", "Введите размер в треках", ref size, 1, MainForm.MaxTrack)) { return; } newImageName = value; newImageSize = size; Image = new IsDosImage(size * SectorsOnTrack, map) { Name = value }; map.Image = Image; stats.Image = Image; SetEnabled(); Log.Info?.Out($"Образ диска создан. Имя: {value} | Размер: {size} треков ({size * SectorsOnTrack} секторов)."); }
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}"); }
public IsDosReader(Control parent, DiskReaderParams dparams) : base(parent, 1024, 5, dparams) { upperSidePanel.Visible = false; readModePanel.Visible = false; map.FileL.Visible = false; map.FileLV.Visible = false; map.ExtenstionLV.Visible = false; readCatalogue.Visible = false; showCatalogue.Visible = false; showCatFromTrack.Visible = false; Image = new IsDosImage(160 * SectorsOnTrack, map) { Name = "" }; map.Image = Image; stats.Image = Image; map.Repaint(); stats.Repaint(); loadImage.Click += LoadImage; mergeImage.Click += MergeImage; newImage.Click += NewImage; saveImage.Click += SaveImage; readForward.Click += ReadForward; readBackward.Click += ReadBackward; readRandomSectors.Click += ReadRandomSectors; }
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}"); }