diff --git a/.vs/KurseWork/v17/.wsuo b/.vs/KurseWork/v17/.wsuo index c083217..14e1bda 100644 Binary files a/.vs/KurseWork/v17/.wsuo and b/.vs/KurseWork/v17/.wsuo differ diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json index 77d6fcb..42e51b8 100644 --- a/.vs/VSWorkspaceState.json +++ b/.vs/VSWorkspaceState.json @@ -4,6 +4,6 @@ "\\KursiveWork", "\\KursiveWork\\KursiveWork" ], - "SelectedNode": "\\KursiveWork\\KursiveWork\\infoform.cs", + "SelectedNode": "\\KursiveWork\\KursiveWork\\MainForm.cs", "PreviewInSolutionExplorer": false } \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index d531d5d..69e23bd 100644 Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ diff --git a/KursiveWork/.vs/KursiveWork/DesignTimeBuild/.dtbcache.v2 b/KursiveWork/.vs/KursiveWork/DesignTimeBuild/.dtbcache.v2 index 3fc9f19..e1129d1 100644 Binary files a/KursiveWork/.vs/KursiveWork/DesignTimeBuild/.dtbcache.v2 and b/KursiveWork/.vs/KursiveWork/DesignTimeBuild/.dtbcache.v2 differ diff --git a/KursiveWork/.vs/KursiveWork/FileContentIndex/87002207-cafc-47cf-92e2-4ee2be04e2b4.vsidx b/KursiveWork/.vs/KursiveWork/FileContentIndex/87002207-cafc-47cf-92e2-4ee2be04e2b4.vsidx new file mode 100644 index 0000000..475737c Binary files /dev/null and b/KursiveWork/.vs/KursiveWork/FileContentIndex/87002207-cafc-47cf-92e2-4ee2be04e2b4.vsidx differ diff --git a/KursiveWork/.vs/KursiveWork/FileContentIndex/f06d1647-56df-4239-ac5b-e7003984e930.vsidx b/KursiveWork/.vs/KursiveWork/FileContentIndex/f06d1647-56df-4239-ac5b-e7003984e930.vsidx deleted file mode 100644 index e182cc8..0000000 Binary files a/KursiveWork/.vs/KursiveWork/FileContentIndex/f06d1647-56df-4239-ac5b-e7003984e930.vsidx and /dev/null differ diff --git a/KursiveWork/.vs/KursiveWork/v17/.suo b/KursiveWork/.vs/KursiveWork/v17/.suo index 831ccfe..0caf877 100644 Binary files a/KursiveWork/.vs/KursiveWork/v17/.suo and b/KursiveWork/.vs/KursiveWork/v17/.suo differ diff --git a/KursiveWork/.vs/ProjectEvaluation/kursivework.metadata.v7.bin b/KursiveWork/.vs/ProjectEvaluation/kursivework.metadata.v7.bin index 40db59d..4189303 100644 Binary files a/KursiveWork/.vs/ProjectEvaluation/kursivework.metadata.v7.bin and b/KursiveWork/.vs/ProjectEvaluation/kursivework.metadata.v7.bin differ diff --git a/KursiveWork/.vs/ProjectEvaluation/kursivework.projects.v7.bin b/KursiveWork/.vs/ProjectEvaluation/kursivework.projects.v7.bin index d588fd2..913081e 100644 Binary files a/KursiveWork/.vs/ProjectEvaluation/kursivework.projects.v7.bin and b/KursiveWork/.vs/ProjectEvaluation/kursivework.projects.v7.bin differ diff --git a/KursiveWork/KursiveWork/LinkedListStorage.cs b/KursiveWork/KursiveWork/LinkedListStorage.cs index deb27b6..16c3c45 100644 --- a/KursiveWork/KursiveWork/LinkedListStorage.cs +++ b/KursiveWork/KursiveWork/LinkedListStorage.cs @@ -102,7 +102,7 @@ public class LinkedListStorage } public List Load(string filename) { - states.Clear(); + //states.Clear(); currentIndex = 0; using (BinaryReader reader = new BinaryReader(File.Open(filename, FileMode.Open))) diff --git a/KursiveWork/KursiveWork/LinkedListVisualizer.cs b/KursiveWork/KursiveWork/LinkedListVisualizer.cs index 801c22d..ae34fce 100644 --- a/KursiveWork/KursiveWork/LinkedListVisualizer.cs +++ b/KursiveWork/KursiveWork/LinkedListVisualizer.cs @@ -22,10 +22,18 @@ public class LinkedListVisualizer { // Заливка фона g.Clear(Color.White); - + //Отрисовка головы + g.DrawString("Head", new Font("Arial", 12), Brushes.Black, new Point(10, 15)); + g.DrawLine(Pens.Black, 55, 25, 20 + NodeWidth + NodeSpacing, 25); + g.DrawPolygon(Pens.Black, new Point[] { + new Point(28 + NodeWidth + NodeSpacing, 25), + new Point(28 + NodeWidth + NodeSpacing - 5, 20), + new Point(28 + NodeWidth + NodeSpacing - 5, 30) + }); // Рисование узлов Node current = state.Head; - int x = NodeSpacing; + int x = 70 + NodeSpacing; + while (current != null) { // Рисование узла @@ -35,17 +43,36 @@ public class LinkedListVisualizer // Рисование стрелки if (current.Next != null) { - g.DrawLine(Pens.Black, x + NodeWidth, 25, x + NodeWidth + NodeSpacing, 25); + g.DrawLine(Pens.Black, x + NodeWidth, 25, x + NodeWidth + NodeSpacing - 7, 25); g.DrawPolygon(Pens.Black, new Point[] { new Point(x + NodeWidth + NodeSpacing, 25), - new Point(x + NodeWidth + NodeSpacing + 5, 20), - new Point(x + NodeWidth + NodeSpacing + 5, 30) + new Point(x + NodeWidth + NodeSpacing - 5, 20), + new Point(x + NodeWidth + NodeSpacing - 5, 30) + }); + } + else + { + g.DrawLine(Pens.Black, x + NodeWidth, 25, x + NodeWidth + NodeSpacing - 7, 25); + g.DrawPolygon(Pens.Black, new Point[] { + new Point(x + NodeWidth + NodeSpacing, 25), + new Point(x + NodeWidth + NodeSpacing - 5, 20), + new Point(x + NodeWidth + NodeSpacing - 5, 30) }); } x += NodeWidth + NodeSpacing; current = current.Next; } + if (current == null) + { + //g.DrawLine(Pens.Black, x + NodeWidth - 50, 25, x + NodeWidth + NodeSpacing - 50, 25); + //g.DrawPolygon(Pens.Black, new Point[] { + // new Point(x + NodeWidth + NodeSpacing - 50, 25), + // new Point(x + NodeWidth + NodeSpacing - 55, 20), + // new Point(x + NodeWidth + NodeSpacing - 55, 30) + // }); + g.DrawString("NULL", new Font("Arial", 12), Brushes.Black, new Point(x + NodeWidth / 2 - 15, 15)); + } } return bitmap; } diff --git a/KursiveWork/KursiveWork/MainForm.cs b/KursiveWork/KursiveWork/MainForm.cs index dd79181..983c1b2 100644 --- a/KursiveWork/KursiveWork/MainForm.cs +++ b/KursiveWork/KursiveWork/MainForm.cs @@ -32,6 +32,7 @@ namespace KursiveWork manager = new LinkedListManager(parameters); Controls.Add(pictureBox); pictureBox.Image = visualizer.Visualize(list.CreateState()); + manager.storage.AddState(list.CreateState()); } private void ButtonAdd_Click(object sender, EventArgs e) @@ -123,7 +124,9 @@ namespace KursiveWork if (saveFileDialog.FileName != "") { manager.storage.Save(saveFileDialog.FileName); // Сохраняем в текстовый файл + MessageBox.Show("Файл сохранен"); } + else MessageBox.Show("Ошибка сохранения"); } private void LoadToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/KursiveWork/KursiveWork/bin/Debug/net7.0-windows/KursiveWork.dll b/KursiveWork/KursiveWork/bin/Debug/net7.0-windows/KursiveWork.dll index ecfa9b8..c8e86fe 100644 Binary files a/KursiveWork/KursiveWork/bin/Debug/net7.0-windows/KursiveWork.dll and b/KursiveWork/KursiveWork/bin/Debug/net7.0-windows/KursiveWork.dll differ diff --git a/KursiveWork/KursiveWork/bin/Debug/net7.0-windows/KursiveWork.pdb b/KursiveWork/KursiveWork/bin/Debug/net7.0-windows/KursiveWork.pdb index ffd5dd7..a923393 100644 Binary files a/KursiveWork/KursiveWork/bin/Debug/net7.0-windows/KursiveWork.pdb and b/KursiveWork/KursiveWork/bin/Debug/net7.0-windows/KursiveWork.pdb differ diff --git a/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/KursiveWork.dll b/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/KursiveWork.dll index ecfa9b8..c8e86fe 100644 Binary files a/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/KursiveWork.dll and b/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/KursiveWork.dll differ diff --git a/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/KursiveWork.pdb b/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/KursiveWork.pdb index ffd5dd7..a923393 100644 Binary files a/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/KursiveWork.pdb and b/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/KursiveWork.pdb differ diff --git a/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/ref/KursiveWork.dll b/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/ref/KursiveWork.dll index e829849..9e33997 100644 Binary files a/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/ref/KursiveWork.dll and b/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/ref/KursiveWork.dll differ diff --git a/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/refint/KursiveWork.dll b/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/refint/KursiveWork.dll index e829849..9e33997 100644 Binary files a/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/refint/KursiveWork.dll and b/KursiveWork/KursiveWork/obj/Debug/net7.0-windows/refint/KursiveWork.dll differ