From ab6ad40fb393443e401c028c8665c9666e72593a Mon Sep 17 00:00:00 2001 From: Sergey Kozyrev Date: Wed, 15 Nov 2023 13:46:17 +0400 Subject: [PATCH] DrawUpdate --- Lab/CarsGenericStorage.cs | 29 ++++++++------- Lab/CollectionsFrame.Designer.cs | 64 ++++++++++++++++++++------------ Lab/CollectionsFrame.resx | 3 ++ Lab/ExtentionDrawingTanker.cs | 6 +-- Lab/FormTankerConfig.Designer.cs | 4 +- 5 files changed, 65 insertions(+), 41 deletions(-) diff --git a/Lab/CarsGenericStorage.cs b/Lab/CarsGenericStorage.cs index a15aa7b..96b7a22 100644 --- a/Lab/CarsGenericStorage.cs +++ b/Lab/CarsGenericStorage.cs @@ -47,7 +47,6 @@ namespace Lab.Generics return null; } } - public bool SaveData(string filename) { if (File.Exists(filename)) @@ -63,6 +62,7 @@ namespace Lab.Generics records.Append($"{elem?.GetDataForSave(_separatorForObject)}{_separatorRecords}"); } data.AppendLine($"{record.Key}{_separatorForKeyValue}{records}"); + } if (data.Length == 0) { @@ -88,23 +88,24 @@ namespace Lab.Generics string checker = reader.ReadLine(); if (checker == null) return false; - string strs = reader.ReadLine(); if (!checker.StartsWith("CarStorage")) return false; _carStorages.Clear(); - foreach (string data in strs.Split(';')) + string strs; + bool firstinit = true; + while ((strs = reader.ReadLine()) != null) { - string[] record = data.Split(_separatorForKeyValue, StringSplitOptions.RemoveEmptyEntries); - if (record.Length != 2) - { - continue; - } + if (strs == null && firstinit) + return false; + if (strs == null ) + break; + firstinit = false; + string name = strs.Split('|')[0]; CarsGenericCollection collection = new(_pictureWidth, _pictureHeight); - string[] set = record[1].Split(_separatorRecords, StringSplitOptions.RemoveEmptyEntries); - foreach (string elem in set) - { + foreach (string data in strs.Split('|')[1].Split(';')) + { DrawTanker? car = - elem?.CreateDrawTanker(_separatorForObject, _pictureWidth, _pictureHeight); + data?.CreateDrawTanker(_separatorForObject, _pictureWidth, _pictureHeight); if (car != null) { if (!(collection + car)) @@ -112,8 +113,10 @@ namespace Lab.Generics return false; } } + + } - _carStorages.Add(record[0], collection); + _carStorages.Add(name, collection); } return true; } diff --git a/Lab/CollectionsFrame.Designer.cs b/Lab/CollectionsFrame.Designer.cs index 7267d81..a8760c8 100644 --- a/Lab/CollectionsFrame.Designer.cs +++ b/Lab/CollectionsFrame.Designer.cs @@ -43,23 +43,25 @@ DrawTank = new PictureBox(); openFileDialog = new OpenFileDialog(); saveFileDialog = new SaveFileDialog(); - SaveButton = new Button(); - LoadButton = new Button(); + menuStrip1 = new MenuStrip(); + StripMenu = new ToolStripMenuItem(); + SaveItem = new ToolStripMenuItem(); + LoadItem = new ToolStripMenuItem(); panel1.SuspendLayout(); panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)DrawTank).BeginInit(); + menuStrip1.SuspendLayout(); SuspendLayout(); // // panel1 // - panel1.Controls.Add(LoadButton); - panel1.Controls.Add(SaveButton); panel1.Controls.Add(panel2); panel1.Controls.Add(UpdateButton); panel1.Controls.Add(DeleteButton); panel1.Controls.Add(AddButton); panel1.Controls.Add(CarTextBox); panel1.Controls.Add(label1); + panel1.Controls.Add(menuStrip1); panel1.Dock = DockStyle.Right; panel1.Location = new Point(550, 0); panel1.Name = "panel1"; @@ -164,7 +166,7 @@ // label1 // label1.AutoSize = true; - label1.Location = new Point(2, 2); + label1.Location = new Point(144, 0); label1.Name = "label1"; label1.Size = new Size(103, 20); label1.TabIndex = 0; @@ -183,25 +185,36 @@ // openFileDialog.FileName = "openFileDialog1"; // - // SaveButton + // menuStrip1 // - SaveButton.Location = new Point(6, 426); - SaveButton.Name = "SaveButton"; - SaveButton.Size = new Size(109, 44); - SaveButton.TabIndex = 6; - SaveButton.Text = "Сохранить"; - SaveButton.UseVisualStyleBackColor = true; - SaveButton.Click += SaveToolStripMenuItem_Click; + menuStrip1.ImageScalingSize = new Size(20, 20); + menuStrip1.Items.AddRange(new ToolStripItem[] { StripMenu }); + menuStrip1.Location = new Point(0, 0); + menuStrip1.Name = "menuStrip1"; + menuStrip1.Size = new Size(250, 28); + menuStrip1.TabIndex = 6; + menuStrip1.Text = "menuStrip1"; // - // LoadButton + // StripMenu // - LoadButton.Location = new Point(121, 426); - LoadButton.Name = "LoadButton"; - LoadButton.Size = new Size(113, 44); - LoadButton.TabIndex = 7; - LoadButton.Text = "Загрузить"; - LoadButton.UseVisualStyleBackColor = true; - LoadButton.Click += LoadToolStripMenuItem_Click; + StripMenu.DropDownItems.AddRange(new ToolStripItem[] { SaveItem, LoadItem }); + StripMenu.Name = "StripMenu"; + StripMenu.Size = new Size(59, 24); + StripMenu.Text = "Файл"; + // + // SaveItem + // + SaveItem.Name = "SaveItem"; + SaveItem.Size = new Size(224, 26); + SaveItem.Text = "Сохранить"; + SaveItem.Click += SaveToolStripMenuItem_Click; + // + // LoadItem + // + LoadItem.Name = "LoadItem"; + LoadItem.Size = new Size(224, 26); + LoadItem.Text = "Загрузить"; + LoadItem.Click += LoadToolStripMenuItem_Click; // // CollectionsFrame // @@ -210,6 +223,7 @@ ClientSize = new Size(800, 514); Controls.Add(DrawTank); Controls.Add(panel1); + MainMenuStrip = menuStrip1; Name = "CollectionsFrame"; Text = "Гаражи бензовозов"; panel1.ResumeLayout(false); @@ -217,6 +231,8 @@ panel2.ResumeLayout(false); panel2.PerformLayout(); ((System.ComponentModel.ISupportInitialize)DrawTank).EndInit(); + menuStrip1.ResumeLayout(false); + menuStrip1.PerformLayout(); ResumeLayout(false); } @@ -237,7 +253,9 @@ private Label label2; private OpenFileDialog openFileDialog; private SaveFileDialog saveFileDialog; - private Button LoadButton; - private Button SaveButton; + private MenuStrip menuStrip1; + private ToolStripMenuItem StripMenu; + private ToolStripMenuItem SaveItem; + private ToolStripMenuItem LoadItem; } } \ No newline at end of file diff --git a/Lab/CollectionsFrame.resx b/Lab/CollectionsFrame.resx index ceedf48..797c78c 100644 --- a/Lab/CollectionsFrame.resx +++ b/Lab/CollectionsFrame.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 344, 17 + 17, 17 diff --git a/Lab/ExtentionDrawingTanker.cs b/Lab/ExtentionDrawingTanker.cs index a94774d..7c37740 100644 --- a/Lab/ExtentionDrawingTanker.cs +++ b/Lab/ExtentionDrawingTanker.cs @@ -16,14 +16,14 @@ namespace Lab if (strs.Length == 3) { return new DrawTanker(Convert.ToInt32(strs[0]), - Convert.ToInt32(strs[1]), Color.FromName(strs[2]), width, height); + Convert.ToInt32(strs[1]), Color.FromName(strs[2].Replace("Color [", "").Replace("]", "")), width, height); } if (strs.Length == 7) { return new DrawGasolineTanker(Convert.ToInt32(strs[0]), Convert.ToInt32(strs[1]), - Color.FromName(strs[2]), - Color.FromName(strs[3]), + Color.FromName(strs[2].Replace("Color [", "").Replace("]","")), + Color.FromName(strs[3].Replace("Color [", "").Replace("]","")), Convert.ToBoolean(strs[4]), Convert.ToBoolean(strs[5]), Convert.ToBoolean(strs[6]), width, height); diff --git a/Lab/FormTankerConfig.Designer.cs b/Lab/FormTankerConfig.Designer.cs index ffed2a1..4e7416c 100644 --- a/Lab/FormTankerConfig.Designer.cs +++ b/Lab/FormTankerConfig.Designer.cs @@ -131,7 +131,7 @@ // // PurplePanel // - PurplePanel.BackColor = Color.FromArgb(192, 0, 192); + PurplePanel.BackColor = Color.Purple; PurplePanel.Location = new Point(182, 65); PurplePanel.Name = "PurplePanel"; PurplePanel.Size = new Size(50, 50); @@ -179,7 +179,7 @@ // // GreenPanel // - GreenPanel.BackColor = Color.FromArgb(0, 192, 0); + GreenPanel.BackColor = Color.Green; GreenPanel.Location = new Point(70, 9); GreenPanel.Name = "GreenPanel"; GreenPanel.Size = new Size(50, 50);