fix save and load
This commit is contained in:
parent
378cfe47f1
commit
bdfd25c4cb
@ -155,7 +155,7 @@
|
|||||||
//
|
//
|
||||||
// panelPurple
|
// panelPurple
|
||||||
//
|
//
|
||||||
this.panelPurple.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
|
this.panelPurple.BackColor = System.Drawing.Color.Purple;
|
||||||
this.panelPurple.Location = new System.Drawing.Point(168, 59);
|
this.panelPurple.Location = new System.Drawing.Point(168, 59);
|
||||||
this.panelPurple.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
this.panelPurple.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||||
this.panelPurple.Name = "panelPurple";
|
this.panelPurple.Name = "panelPurple";
|
||||||
|
@ -246,11 +246,12 @@ namespace AirplaneWithRadar
|
|||||||
{
|
{
|
||||||
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
if (_mapsCollection.SaveData(saveFileDialog.FileName))
|
try
|
||||||
{
|
{
|
||||||
|
_mapsCollection.SaveData(saveFileDialog.FileName);
|
||||||
MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
MessageBox.Show("Сохранение прошло успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
}
|
}
|
||||||
else
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Не сохранилось", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show("Не сохранилось", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
@ -266,12 +267,13 @@ namespace AirplaneWithRadar
|
|||||||
// TODO продумать логику
|
// TODO продумать логику
|
||||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
if (_mapsCollection.LoadData(openFileDialog.FileName))
|
try
|
||||||
{
|
{
|
||||||
|
_mapsCollection.LoadData(openFileDialog.FileName);
|
||||||
ReloadMaps();
|
ReloadMaps();
|
||||||
MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
MessageBox.Show("Загрузка прошла успешно", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
}
|
}
|
||||||
else
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Не получилось загрузить файл", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show("Не получилось загрузить файл", "Результат", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ namespace AirplaneWithRadar
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="filename">Путь и имя файла</param>
|
/// <param name="filename">Путь и имя файла</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool SaveData(string filename)
|
public void SaveData(string filename)
|
||||||
{
|
{
|
||||||
if (File.Exists(filename))
|
if (File.Exists(filename))
|
||||||
{
|
{
|
||||||
@ -68,52 +68,40 @@ namespace AirplaneWithRadar
|
|||||||
sw.Write($"{storage.Key}{separatorDict}{storage.Value.GetData(separatorDict, separatorData)}{Environment.NewLine}");
|
sw.Write($"{storage.Key}{separatorDict}{storage.Value.GetData(separatorDict, separatorData)}{Environment.NewLine}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Загрузка информации по локомотивам в депо из файла
|
/// Загрузка информации по локомотивам в депо из файла
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="filename"></param>
|
/// <param name="filename"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool LoadData(string filename)
|
public void LoadData(string filename)
|
||||||
{
|
{
|
||||||
if (!File.Exists(filename))
|
if (!File.Exists(filename))
|
||||||
{
|
{
|
||||||
return false;
|
throw new FileNotFoundException("Файл не найден");
|
||||||
}
|
}
|
||||||
using (StreamReader sr = new(filename))
|
using (StreamReader sr = new(filename))
|
||||||
{
|
{
|
||||||
bool isFirst = true;
|
string str = sr.ReadLine();
|
||||||
string str;
|
|
||||||
while ((str = sr.ReadLine()) != null)
|
|
||||||
{
|
|
||||||
if (isFirst)
|
|
||||||
{
|
|
||||||
if (!str.Contains("MapsCollection"))
|
if (!str.Contains("MapsCollection"))
|
||||||
{
|
{
|
||||||
//если нет такой записи, то это не те данные
|
//если нет такой записи, то это не те данные
|
||||||
return false;
|
throw new FileFormatException("Формат данных в файле не правильный");
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
//очищаем записи
|
|
||||||
_mapStorages.Clear();
|
_mapStorages.Clear();
|
||||||
}
|
while ((str = sr.ReadLine()) != null)
|
||||||
isFirst = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
var elem = str.Split(separatorDict);
|
var elem = str.Split(separatorDict);
|
||||||
AbstractMap map = null;
|
AbstractMap map = null;
|
||||||
switch (elem[1])
|
switch (elem[1])
|
||||||
{
|
{
|
||||||
case "Простая карта":
|
case "SimpleMap":
|
||||||
map = new SimpleMap();
|
map = new SimpleMap();
|
||||||
break;
|
break;
|
||||||
case "Карта неба с облаками":
|
case "SkyMap":
|
||||||
map = new SkyMap();
|
map = new SkyMap();
|
||||||
break;
|
break;
|
||||||
case "Карта туманного неба с грозой":
|
case "FoggySkyMap":
|
||||||
map = new FoggySkyMap();
|
map = new FoggySkyMap();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -122,7 +110,5 @@ namespace AirplaneWithRadar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user