fix
This commit is contained in:
parent
fe90aefffa
commit
be8ee033b2
13
.idea/.idea.BoykoSolution/.idea/.gitignore
vendored
Normal file
13
.idea/.idea.BoykoSolution/.idea/.gitignore
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Rider ignored files
|
||||||
|
/projectSettingsUpdater.xml
|
||||||
|
/.idea.BoykoSolution.iml
|
||||||
|
/modules.xml
|
||||||
|
/contentModel.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
1
.idea/.idea.BoykoSolution/.idea/.name
Normal file
1
.idea/.idea.BoykoSolution/.idea/.name
Normal file
@ -0,0 +1 @@
|
|||||||
|
BoykoSolution
|
4
.idea/.idea.BoykoSolution/.idea/encodings.xml
Normal file
4
.idea/.idea.BoykoSolution/.idea/encodings.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
|
||||||
|
</project>
|
8
.idea/.idea.BoykoSolution/.idea/indexLayout.xml
Normal file
8
.idea/.idea.BoykoSolution/.idea/indexLayout.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="UserContentModel">
|
||||||
|
<attachedFolders />
|
||||||
|
<explicitIncludes />
|
||||||
|
<explicitExcludes />
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/.idea.BoykoSolution/.idea/vcs.xml
Normal file
6
.idea/.idea.BoykoSolution/.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -57,10 +57,9 @@ public abstract class AbstractCompany
|
|||||||
/// <param name="company">Компания</param>
|
/// <param name="company">Компания</param>
|
||||||
/// <param name="car">Добавляемый объект</param>
|
/// <param name="car">Добавляемый объект</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static bool operator +(AbstractCompany company, DrawingTrans trans)
|
public static int operator +(AbstractCompany company, DrawingTrans trans)
|
||||||
{
|
{
|
||||||
return company._collection?.Insert(trans) ?? false;
|
return company._collection.Insert(trans);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -69,9 +68,9 @@ public abstract class AbstractCompany
|
|||||||
/// <param name="company">Компания</param>
|
/// <param name="company">Компания</param>
|
||||||
/// <param name="position">Номер удаляемого объекта</param>
|
/// <param name="position">Номер удаляемого объекта</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static bool operator -(AbstractCompany company, int position)
|
public static DrawingTrans? operator -(AbstractCompany company, int position)
|
||||||
{
|
{
|
||||||
return company._collection?.Remove(position) ?? false;
|
return company._collection?.Remove(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace ProjectElectroTrans.CollectionGenericObjects;
|
using ProjectElectroTrans.Drawnings;
|
||||||
|
|
||||||
|
namespace ProjectElectroTrans.CollectionGenericObjects;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Интерфейс описания действий для набора хранимых объектов
|
/// Интерфейс описания действий для набора хранимых объектов
|
||||||
@ -22,7 +24,7 @@ public interface ICollectionGenericObjects<T>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="obj">Добавляемый объект</param>
|
/// <param name="obj">Добавляемый объект</param>
|
||||||
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
|
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
|
||||||
bool Insert(T obj);
|
int Insert(T obj);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавление объекта в коллекцию на конкретную позицию
|
/// Добавление объекта в коллекцию на конкретную позицию
|
||||||
@ -30,14 +32,14 @@ public interface ICollectionGenericObjects<T>
|
|||||||
/// <param name="obj">Добавляемый объект</param>
|
/// <param name="obj">Добавляемый объект</param>
|
||||||
/// <param name="position">Позиция</param>
|
/// <param name="position">Позиция</param>
|
||||||
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
|
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
|
||||||
bool Insert(T obj, int position);
|
int Insert(T obj, int position);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Удаление объекта из коллекции с конкретной позиции
|
/// Удаление объекта из коллекции с конкретной позиции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="position">Позиция</param>
|
/// <param name="position">Позиция</param>
|
||||||
/// <returns>true - удаление прошло удачно, false - удаление не удалось</returns>
|
/// <returns>true - удаление прошло удачно, false - удаление не удалось</returns>
|
||||||
bool Remove(int position);
|
T? Remove(int position);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получение объекта по позиции
|
/// Получение объекта по позиции
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Runtime.Remoting;
|
using System.Runtime.Remoting;
|
||||||
|
using ProjectElectroTrans.Drawnings;
|
||||||
|
|
||||||
namespace ProjectElectroTrans.CollectionGenericObjects;
|
namespace ProjectElectroTrans.CollectionGenericObjects;
|
||||||
|
|
||||||
@ -48,10 +49,11 @@ public class MassiveGenericObjects<T> :ICollectionGenericObjects<T>
|
|||||||
{
|
{
|
||||||
return _collection[position];
|
return _collection[position];
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Insert(T obj)
|
public int Insert(T obj)
|
||||||
{
|
{
|
||||||
// вставка в свободное место набора
|
// вставка в свободное место набора
|
||||||
for (int i = 0; i < Count; i++)
|
for (int i = 0; i < Count; i++)
|
||||||
@ -59,26 +61,29 @@ public class MassiveGenericObjects<T> :ICollectionGenericObjects<T>
|
|||||||
if (_collection[i] == null)
|
if (_collection[i] == null)
|
||||||
{
|
{
|
||||||
_collection[i] = obj;
|
_collection[i] = obj;
|
||||||
return true;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool Insert(T obj, int position)
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int Insert(T obj, int position)
|
||||||
{
|
{
|
||||||
// проверка позиции
|
// проверка позиции
|
||||||
if (position < 0 || position >= Count)
|
if (position < 0 || position >= Count)
|
||||||
{
|
{
|
||||||
return false;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// проверка, что элемент массива по этой позиции пустой, если нет, то
|
// проверка, что элемент массива по этой позиции пустой, если нет, то
|
||||||
// ищется свободное место после этой позиции и идет вставка туда
|
// ищется свободное место после этой позиции и идет вставка туда
|
||||||
// если нет после, ищем до
|
// если нет после, ищем до
|
||||||
if (_collection[position] != null)
|
if (_collection[position] != null)
|
||||||
{
|
{
|
||||||
bool pushed = false;
|
bool pushed = false;
|
||||||
for (int index = position + 1; index < Count; index++) {
|
for (int index = position + 1; index < Count; index++)
|
||||||
|
{
|
||||||
if (_collection[index] == null)
|
if (_collection[index] == null)
|
||||||
{
|
{
|
||||||
position = index;
|
position = index;
|
||||||
@ -86,6 +91,7 @@ public class MassiveGenericObjects<T> :ICollectionGenericObjects<T>
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pushed)
|
if (!pushed)
|
||||||
{
|
{
|
||||||
for (int index = position - 1; index >= 0; index--)
|
for (int index = position - 1; index >= 0; index--)
|
||||||
@ -98,26 +104,30 @@ public class MassiveGenericObjects<T> :ICollectionGenericObjects<T>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pushed)
|
if (!pushed)
|
||||||
{
|
{
|
||||||
return false;
|
return position;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// вставка
|
// вставка
|
||||||
_collection[position] = obj;
|
_collection[position] = obj;
|
||||||
return false;
|
return position;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Remove(int position)
|
public T? Remove(int position)
|
||||||
{
|
{
|
||||||
// проверка позиции
|
// проверка позиции
|
||||||
if (position < 0 || position >= Count)
|
if (position < 0 || position >= Count)
|
||||||
{
|
{
|
||||||
return false;
|
return null;
|
||||||
}
|
}
|
||||||
// удаление объекта из массива, присвоив элементу массива значение null
|
|
||||||
|
if (_collection[position] == null) return null;
|
||||||
|
|
||||||
|
T? temp = _collection[position];
|
||||||
_collection[position] = null;
|
_collection[position] = null;
|
||||||
return true;
|
return temp;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -111,7 +111,7 @@ namespace ProjectElectroTrans
|
|||||||
buttonAddSportCar.Name = "buttonAddSportCar";
|
buttonAddSportCar.Name = "buttonAddSportCar";
|
||||||
buttonAddSportCar.Size = new Size(167, 40);
|
buttonAddSportCar.Size = new Size(167, 40);
|
||||||
buttonAddSportCar.TabIndex = 2;
|
buttonAddSportCar.TabIndex = 2;
|
||||||
buttonAddSportCar.Text = "Добавление спортивного поезда";
|
buttonAddSportCar.Text = "Добавление электропоезда";
|
||||||
buttonAddSportCar.UseVisualStyleBackColor = true;
|
buttonAddSportCar.UseVisualStyleBackColor = true;
|
||||||
buttonAddSportCar.Click += ButtonAddElectroTrans_Click;
|
buttonAddSportCar.Click += ButtonAddElectroTrans_Click;
|
||||||
//
|
//
|
||||||
|
@ -70,7 +70,7 @@ public partial class FormTransCollection : Form
|
|||||||
drawingTrans = new DrawingTrans(random.Next(100, 300), random.Next(1000, 3000), GetColor(random));
|
drawingTrans = new DrawingTrans(random.Next(100, 300), random.Next(1000, 3000), GetColor(random));
|
||||||
break;
|
break;
|
||||||
case nameof(DrawingElectroTrans):
|
case nameof(DrawingElectroTrans):
|
||||||
// TODO вызов диалогового окна для выбора цвета
|
// вызов диалогового окна для выбора цвета
|
||||||
drawingTrans = new DrawingElectroTrans(random.Next(100, 300), random.Next(1000, 3000),
|
drawingTrans = new DrawingElectroTrans(random.Next(100, 300), random.Next(1000, 3000),
|
||||||
GetColor(random),
|
GetColor(random),
|
||||||
GetColor(random),
|
GetColor(random),
|
||||||
@ -80,7 +80,7 @@ public partial class FormTransCollection : Form
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_company + drawingTrans)
|
if (_company + drawingTrans != -1)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Объект добавлен");
|
MessageBox.Show("Объект добавлен");
|
||||||
pictureBox.Image = _company.Show();
|
pictureBox.Image = _company.Show();
|
||||||
@ -126,7 +126,7 @@ public partial class FormTransCollection : Form
|
|||||||
}
|
}
|
||||||
|
|
||||||
int pos = Convert.ToInt32(maskedTextBoxPosition.Text);
|
int pos = Convert.ToInt32(maskedTextBoxPosition.Text);
|
||||||
if (_company - pos)
|
if (_company - pos != null)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Объект удален");
|
MessageBox.Show("Объект удален");
|
||||||
pictureBox.Image = _company.Show();
|
pictureBox.Image = _company.Show();
|
||||||
|
Loading…
Reference in New Issue
Block a user