32 changed files with 1895 additions and 0 deletions
@ -0,0 +1,25 @@ |
|||
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00 |
|||
# Visual Studio Version 17 |
|||
VisualStudioVersion = 17.0.32126.317 |
|||
MinimumVisualStudioVersion = 10.0.40219.1 |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShopWin", "Shop\ShopWin.csproj", "{F7EC9EF3-27BF-45DC-BED7-9FDB433EA174}" |
|||
EndProject |
|||
Global |
|||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|||
Debug|Any CPU = Debug|Any CPU |
|||
Release|Any CPU = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|||
{F7EC9EF3-27BF-45DC-BED7-9FDB433EA174}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{F7EC9EF3-27BF-45DC-BED7-9FDB433EA174}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{F7EC9EF3-27BF-45DC-BED7-9FDB433EA174}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{F7EC9EF3-27BF-45DC-BED7-9FDB433EA174}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(SolutionProperties) = preSolution |
|||
HideSolutionNode = FALSE |
|||
EndGlobalSection |
|||
GlobalSection(ExtensibilityGlobals) = postSolution |
|||
SolutionGuid = {EB5A0A33-47CA-43C4-9B9D-354293491058} |
|||
EndGlobalSection |
|||
EndGlobal |
|||
@ -0,0 +1,6 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<configuration> |
|||
<startup> |
|||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> |
|||
</startup> |
|||
</configuration> |
|||
@ -0,0 +1,260 @@ |
|||
namespace ShopWin |
|||
{ |
|||
partial class Form1 |
|||
{ |
|||
/// <summary>
|
|||
/// Required designer variable.
|
|||
/// </summary>
|
|||
private System.ComponentModel.IContainer components = null; |
|||
|
|||
/// <summary>
|
|||
/// Clean up any resources being used.
|
|||
/// </summary>
|
|||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
|||
protected override void Dispose(bool disposing) |
|||
{ |
|||
if (disposing && (components != null)) { |
|||
components.Dispose(); |
|||
} |
|||
base.Dispose(disposing); |
|||
} |
|||
|
|||
#region Windows Form Designer generated code
|
|||
|
|||
/// <summary>
|
|||
/// Required method for Designer support - do not modify
|
|||
/// the contents of this method with the code editor.
|
|||
/// </summary>
|
|||
private void InitializeComponent() |
|||
{ |
|||
this.components = new System.ComponentModel.Container(); |
|||
this.textBox1 = new System.Windows.Forms.TextBox(); |
|||
this.panel1 = new System.Windows.Forms.Panel(); |
|||
this.panel2 = new System.Windows.Forms.Panel(); |
|||
this.panel3 = new System.Windows.Forms.Panel(); |
|||
this.panel4 = new System.Windows.Forms.Panel(); |
|||
this.panel5 = new System.Windows.Forms.Panel(); |
|||
this.panel7 = new System.Windows.Forms.Panel(); |
|||
this.panel8 = new System.Windows.Forms.Panel(); |
|||
this.panel9 = new System.Windows.Forms.Panel(); |
|||
this.textBox2 = new System.Windows.Forms.TextBox(); |
|||
this.groupBox1 = new System.Windows.Forms.GroupBox(); |
|||
this.groupBox2 = new System.Windows.Forms.GroupBox(); |
|||
this.groupBox3 = new System.Windows.Forms.GroupBox(); |
|||
this.groupBox4 = new System.Windows.Forms.GroupBox(); |
|||
this.groupBox5 = new System.Windows.Forms.GroupBox(); |
|||
this.groupBox6 = new System.Windows.Forms.GroupBox(); |
|||
this.timer1 = new System.Windows.Forms.Timer(this.components); |
|||
this.panel1.SuspendLayout(); |
|||
this.panel2.SuspendLayout(); |
|||
this.panel3.SuspendLayout(); |
|||
this.panel4.SuspendLayout(); |
|||
this.panel5.SuspendLayout(); |
|||
this.panel7.SuspendLayout(); |
|||
this.panel8.SuspendLayout(); |
|||
this.panel9.SuspendLayout(); |
|||
this.SuspendLayout(); |
|||
//
|
|||
// textBox1
|
|||
//
|
|||
this.textBox1.Location = new System.Drawing.Point(282, 13); |
|||
this.textBox1.Name = "textBox1"; |
|||
this.textBox1.Size = new System.Drawing.Size(100, 20); |
|||
this.textBox1.TabIndex = 0; |
|||
//
|
|||
// panel1
|
|||
//
|
|||
this.panel1.Controls.Add(this.panel9); |
|||
this.panel1.Controls.Add(this.panel8); |
|||
this.panel1.Controls.Add(this.panel7); |
|||
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; |
|||
this.panel1.Location = new System.Drawing.Point(0, 350); |
|||
this.panel1.Name = "panel1"; |
|||
this.panel1.Size = new System.Drawing.Size(800, 100); |
|||
this.panel1.TabIndex = 1; |
|||
//
|
|||
// panel2
|
|||
//
|
|||
this.panel2.Controls.Add(this.textBox2); |
|||
this.panel2.Controls.Add(this.panel5); |
|||
this.panel2.Controls.Add(this.panel4); |
|||
this.panel2.Controls.Add(this.panel3); |
|||
this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom; |
|||
this.panel2.Location = new System.Drawing.Point(0, 250); |
|||
this.panel2.Name = "panel2"; |
|||
this.panel2.Size = new System.Drawing.Size(800, 100); |
|||
this.panel2.TabIndex = 3; |
|||
//
|
|||
// panel3
|
|||
//
|
|||
this.panel3.Controls.Add(this.groupBox1); |
|||
this.panel3.Dock = System.Windows.Forms.DockStyle.Left; |
|||
this.panel3.Location = new System.Drawing.Point(0, 0); |
|||
this.panel3.Name = "panel3"; |
|||
this.panel3.Size = new System.Drawing.Size(111, 100); |
|||
this.panel3.TabIndex = 4; |
|||
//
|
|||
// panel4
|
|||
//
|
|||
this.panel4.Controls.Add(this.groupBox2); |
|||
this.panel4.Dock = System.Windows.Forms.DockStyle.Left; |
|||
this.panel4.Location = new System.Drawing.Point(111, 0); |
|||
this.panel4.Name = "panel4"; |
|||
this.panel4.Size = new System.Drawing.Size(111, 100); |
|||
this.panel4.TabIndex = 5; |
|||
//
|
|||
// panel5
|
|||
//
|
|||
this.panel5.Controls.Add(this.groupBox3); |
|||
this.panel5.Dock = System.Windows.Forms.DockStyle.Left; |
|||
this.panel5.Location = new System.Drawing.Point(222, 0); |
|||
this.panel5.Name = "panel5"; |
|||
this.panel5.Size = new System.Drawing.Size(111, 100); |
|||
this.panel5.TabIndex = 6; |
|||
//
|
|||
// panel7
|
|||
//
|
|||
this.panel7.Controls.Add(this.groupBox4); |
|||
this.panel7.Dock = System.Windows.Forms.DockStyle.Left; |
|||
this.panel7.Location = new System.Drawing.Point(0, 0); |
|||
this.panel7.Name = "panel7"; |
|||
this.panel7.Size = new System.Drawing.Size(111, 100); |
|||
this.panel7.TabIndex = 5; |
|||
//
|
|||
// panel8
|
|||
//
|
|||
this.panel8.Controls.Add(this.groupBox5); |
|||
this.panel8.Dock = System.Windows.Forms.DockStyle.Left; |
|||
this.panel8.Location = new System.Drawing.Point(111, 0); |
|||
this.panel8.Name = "panel8"; |
|||
this.panel8.Size = new System.Drawing.Size(111, 100); |
|||
this.panel8.TabIndex = 6; |
|||
//
|
|||
// panel9
|
|||
//
|
|||
this.panel9.Controls.Add(this.groupBox6); |
|||
this.panel9.Dock = System.Windows.Forms.DockStyle.Left; |
|||
this.panel9.Location = new System.Drawing.Point(222, 0); |
|||
this.panel9.Name = "panel9"; |
|||
this.panel9.Size = new System.Drawing.Size(111, 100); |
|||
this.panel9.TabIndex = 7; |
|||
//
|
|||
// textBox2
|
|||
//
|
|||
this.textBox2.Location = new System.Drawing.Point(362, 39); |
|||
this.textBox2.Name = "textBox2"; |
|||
this.textBox2.Size = new System.Drawing.Size(100, 20); |
|||
this.textBox2.TabIndex = 7; |
|||
//
|
|||
// groupBox1
|
|||
//
|
|||
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; |
|||
this.groupBox1.Location = new System.Drawing.Point(0, 0); |
|||
this.groupBox1.Name = "groupBox1"; |
|||
this.groupBox1.Size = new System.Drawing.Size(111, 100); |
|||
this.groupBox1.TabIndex = 1; |
|||
this.groupBox1.TabStop = false; |
|||
this.groupBox1.Text = "groupBox1"; |
|||
//
|
|||
// groupBox2
|
|||
//
|
|||
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill; |
|||
this.groupBox2.Location = new System.Drawing.Point(0, 0); |
|||
this.groupBox2.Name = "groupBox2"; |
|||
this.groupBox2.Size = new System.Drawing.Size(111, 100); |
|||
this.groupBox2.TabIndex = 2; |
|||
this.groupBox2.TabStop = false; |
|||
this.groupBox2.Text = "groupBox2"; |
|||
//
|
|||
// groupBox3
|
|||
//
|
|||
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill; |
|||
this.groupBox3.Location = new System.Drawing.Point(0, 0); |
|||
this.groupBox3.Name = "groupBox3"; |
|||
this.groupBox3.Size = new System.Drawing.Size(111, 100); |
|||
this.groupBox3.TabIndex = 2; |
|||
this.groupBox3.TabStop = false; |
|||
this.groupBox3.Text = "groupBox3"; |
|||
//
|
|||
// groupBox4
|
|||
//
|
|||
this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill; |
|||
this.groupBox4.Location = new System.Drawing.Point(0, 0); |
|||
this.groupBox4.Name = "groupBox4"; |
|||
this.groupBox4.Size = new System.Drawing.Size(111, 100); |
|||
this.groupBox4.TabIndex = 2; |
|||
this.groupBox4.TabStop = false; |
|||
this.groupBox4.Text = "groupBox4"; |
|||
//
|
|||
// groupBox5
|
|||
//
|
|||
this.groupBox5.Dock = System.Windows.Forms.DockStyle.Fill; |
|||
this.groupBox5.Location = new System.Drawing.Point(0, 0); |
|||
this.groupBox5.Name = "groupBox5"; |
|||
this.groupBox5.Size = new System.Drawing.Size(111, 100); |
|||
this.groupBox5.TabIndex = 2; |
|||
this.groupBox5.TabStop = false; |
|||
this.groupBox5.Text = "groupBox5"; |
|||
//
|
|||
// groupBox6
|
|||
//
|
|||
this.groupBox6.Dock = System.Windows.Forms.DockStyle.Fill; |
|||
this.groupBox6.Location = new System.Drawing.Point(0, 0); |
|||
this.groupBox6.Name = "groupBox6"; |
|||
this.groupBox6.Size = new System.Drawing.Size(111, 100); |
|||
this.groupBox6.TabIndex = 2; |
|||
this.groupBox6.TabStop = false; |
|||
this.groupBox6.Text = "groupBox6"; |
|||
//
|
|||
// timer1
|
|||
//
|
|||
this.timer1.Enabled = true; |
|||
this.timer1.Interval = 200; |
|||
this.timer1.Tick += new System.EventHandler(this.timer1_Tick); |
|||
//
|
|||
// Form1
|
|||
//
|
|||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); |
|||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
|||
this.ClientSize = new System.Drawing.Size(800, 450); |
|||
this.Controls.Add(this.panel2); |
|||
this.Controls.Add(this.panel1); |
|||
this.Controls.Add(this.textBox1); |
|||
this.Name = "Form1"; |
|||
this.Text = "Shop"; |
|||
this.panel1.ResumeLayout(false); |
|||
this.panel2.ResumeLayout(false); |
|||
this.panel2.PerformLayout(); |
|||
this.panel3.ResumeLayout(false); |
|||
this.panel4.ResumeLayout(false); |
|||
this.panel5.ResumeLayout(false); |
|||
this.panel7.ResumeLayout(false); |
|||
this.panel8.ResumeLayout(false); |
|||
this.panel9.ResumeLayout(false); |
|||
this.ResumeLayout(false); |
|||
this.PerformLayout(); |
|||
|
|||
} |
|||
|
|||
#endregion
|
|||
|
|||
private System.Windows.Forms.TextBox textBox1; |
|||
private System.Windows.Forms.Panel panel1; |
|||
private System.Windows.Forms.Panel panel9; |
|||
private System.Windows.Forms.Panel panel8; |
|||
private System.Windows.Forms.Panel panel7; |
|||
private System.Windows.Forms.Panel panel2; |
|||
private System.Windows.Forms.Panel panel5; |
|||
private System.Windows.Forms.Panel panel4; |
|||
private System.Windows.Forms.Panel panel3; |
|||
private System.Windows.Forms.GroupBox groupBox6; |
|||
private System.Windows.Forms.GroupBox groupBox5; |
|||
private System.Windows.Forms.GroupBox groupBox4; |
|||
private System.Windows.Forms.TextBox textBox2; |
|||
private System.Windows.Forms.GroupBox groupBox3; |
|||
private System.Windows.Forms.GroupBox groupBox2; |
|||
private System.Windows.Forms.GroupBox groupBox1; |
|||
private System.Windows.Forms.Timer timer1; |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,57 @@ |
|||
using System; |
|||
using System.Drawing; |
|||
using System.Windows.Forms; |
|||
using ShopWin.Model; |
|||
|
|||
namespace ShopWin |
|||
{ |
|||
public partial class Form1 : Form |
|||
{ |
|||
private CShop _shop; |
|||
|
|||
public Form1() |
|||
{ |
|||
InitializeComponent(); |
|||
h_initShop(); |
|||
h_RefreshShop(); |
|||
} |
|||
|
|||
private void h_RefreshShop() |
|||
{ |
|||
panel1.BackColor = _shop.ShelfList[1].CheckBrokenState() |
|||
? Color.DarkRed |
|||
: Color.Green; |
|||
panel2.BackColor = _shop.ShelfList[0].CheckBrokenState() |
|||
? Color.DarkRed |
|||
: Color.Green; |
|||
|
|||
|
|||
groupBox1.Text = h_GetGroupboxTitle(_shop.ShelfList[0], 0); |
|||
groupBox2.Text = h_GetGroupboxTitle(_shop.ShelfList[0], 1); |
|||
groupBox3.Text = h_GetGroupboxTitle(_shop.ShelfList[0], 2); |
|||
groupBox4.Text = h_GetGroupboxTitle(_shop.ShelfList[1], 0); |
|||
groupBox5.Text = h_GetGroupboxTitle(_shop.ShelfList[1], 1); |
|||
groupBox6.Text = h_GetGroupboxTitle(_shop.ShelfList[1], 2); |
|||
} |
|||
|
|||
private string h_GetGroupboxTitle(CShelf cShelf, int v) |
|||
{ |
|||
if (cShelf.ProductList.Count <= v) return "-"; |
|||
return cShelf.ProductList[v].Article; |
|||
} |
|||
|
|||
private void h_initShop() |
|||
{ |
|||
_shop = new CShop("Shop1"); |
|||
_shop.ShelfList.Add(new CShelf("1")); |
|||
_shop.ShelfList.Add(new CShelf("2")); |
|||
_shop.FillTest(3); |
|||
} |
|||
|
|||
private void timer1_Tick(object sender, EventArgs e) |
|||
{ |
|||
_shop.Tick(); |
|||
h_RefreshShop(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,123 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<root> |
|||
<!-- |
|||
Microsoft ResX Schema |
|||
|
|||
Version 2.0 |
|||
|
|||
The primary goals of this format is to allow a simple XML format |
|||
that is mostly human readable. The generation and parsing of the |
|||
various data types are done through the TypeConverter classes |
|||
associated with the data types. |
|||
|
|||
Example: |
|||
|
|||
... ado.net/XML headers & schema ... |
|||
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|||
<resheader name="version">2.0</resheader> |
|||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
|||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|||
<value>[base64 mime encoded serialized .NET Framework object]</value> |
|||
</data> |
|||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
|||
<comment>This is a comment</comment> |
|||
</data> |
|||
|
|||
There are any number of "resheader" rows that contain simple |
|||
name/value pairs. |
|||
|
|||
Each data row contains a name, and value. The row also contains a |
|||
type or mimetype. Type corresponds to a .NET class that support |
|||
text/value conversion through the TypeConverter architecture. |
|||
Classes that don't support this are serialized and stored with the |
|||
mimetype set. |
|||
|
|||
The mimetype is used for serialized objects, and tells the |
|||
ResXResourceReader how to depersist the object. This is currently not |
|||
extensible. For a given mimetype the value must be set accordingly: |
|||
|
|||
Note - application/x-microsoft.net.object.binary.base64 is the format |
|||
that the ResXResourceWriter will generate, however the reader can |
|||
read any of the formats listed below. |
|||
|
|||
mimetype: application/x-microsoft.net.object.binary.base64 |
|||
value : The object must be serialized with |
|||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
|||
: and then encoded with base64 encoding. |
|||
|
|||
mimetype: application/x-microsoft.net.object.soap.base64 |
|||
value : The object must be serialized with |
|||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|||
: and then encoded with base64 encoding. |
|||
|
|||
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|||
value : The object must be serialized into a byte array |
|||
: using a System.ComponentModel.TypeConverter |
|||
: and then encoded with base64 encoding. |
|||
--> |
|||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
|||
<xsd:element name="root" msdata:IsDataSet="true"> |
|||
<xsd:complexType> |
|||
<xsd:choice maxOccurs="unbounded"> |
|||
<xsd:element name="metadata"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" use="required" type="xsd:string" /> |
|||
<xsd:attribute name="type" type="xsd:string" /> |
|||
<xsd:attribute name="mimetype" type="xsd:string" /> |
|||
<xsd:attribute ref="xml:space" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="assembly"> |
|||
<xsd:complexType> |
|||
<xsd:attribute name="alias" type="xsd:string" /> |
|||
<xsd:attribute name="name" type="xsd:string" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="data"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
|||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|||
<xsd:attribute ref="xml:space" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="resheader"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
</xsd:choice> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
</xsd:schema> |
|||
<resheader name="resmimetype"> |
|||
<value>text/microsoft-resx</value> |
|||
</resheader> |
|||
<resheader name="version"> |
|||
<value>2.0</value> |
|||
</resheader> |
|||
<resheader name="reader"> |
|||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|||
</resheader> |
|||
<resheader name="writer"> |
|||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|||
</resheader> |
|||
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
|||
<value>17, 17</value> |
|||
</metadata> |
|||
</root> |
|||
@ -0,0 +1,43 @@ |
|||
using System; |
|||
|
|||
namespace ShopWin.Model |
|||
{ |
|||
/// <summary>
|
|||
/// Товар
|
|||
/// </summary>
|
|||
public class CProduct |
|||
{ |
|||
/// <summary>
|
|||
/// Артикул
|
|||
/// </summary>
|
|||
public string Article; |
|||
/// <summary>
|
|||
/// Наименование
|
|||
/// </summary>
|
|||
public string Title; |
|||
/// <summary>
|
|||
/// Цена
|
|||
/// </summary>
|
|||
public double Price; |
|||
/// <summary>
|
|||
/// Вес
|
|||
/// </summary>
|
|||
public double Weight; |
|||
|
|||
public CProduct() |
|||
{ |
|||
Article = DateTime.Now.Millisecond.ToString(); |
|||
Title = $"ПРОДУКТ {DateTime.Now.Millisecond}"; |
|||
Price = 100 * DateTime.Now.Millisecond; |
|||
Weight = DateTime.Now.Millisecond; |
|||
} |
|||
|
|||
public CProduct(string article, string title, double price, double weight) |
|||
{ |
|||
Article = article; |
|||
Title = title; |
|||
Price = price; |
|||
Weight = weight; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,51 @@ |
|||
using System.Collections.Generic; |
|||
using System.Threading; |
|||
|
|||
namespace ShopWin.Model |
|||
{ |
|||
/// <summary>
|
|||
/// Полка
|
|||
/// </summary>
|
|||
public class CShelf |
|||
{ |
|||
/// <summary>
|
|||
/// Номер полки
|
|||
/// </summary>
|
|||
public string Number; |
|||
/// <summary>
|
|||
/// Максимальный вес товаров
|
|||
/// </summary>
|
|||
public double MaxWeight; |
|||
/// <summary>
|
|||
/// Список продуктов на полке
|
|||
/// </summary>
|
|||
public List<CProduct> ProductList; |
|||
|
|||
public CShelf(string number) |
|||
{ |
|||
Number = number; |
|||
MaxWeight = 1000; |
|||
ProductList = new List<CProduct>(); |
|||
} |
|||
|
|||
public void FillTest(int iCount) |
|||
{ |
|||
for (int ii = 0; ii < iCount; ii++) { |
|||
ProductList.Add(new CProduct()); |
|||
Thread.Sleep(20); |
|||
} |
|||
} |
|||
|
|||
public bool CheckBrokenState() |
|||
{ |
|||
double iSumWeight = 0; |
|||
for (int ii = 0; ii < ProductList.Count; ii++) { |
|||
iSumWeight += ProductList[ii].Weight; |
|||
} |
|||
|
|||
return iSumWeight > MaxWeight; |
|||
} |
|||
|
|||
|
|||
} |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
|
|||
namespace ShopWin.Model |
|||
{ |
|||
/// <summary>
|
|||
/// Магазин
|
|||
/// </summary>
|
|||
public class CShop |
|||
{ |
|||
private Random _random = new Random(); |
|||
public string Title = ""; |
|||
public List<CShelf> ShelfList = new List<CShelf>(); |
|||
|
|||
public CShop(string title) |
|||
{ |
|||
Title = title; |
|||
} |
|||
|
|||
public void Tick() |
|||
{ |
|||
if (_random.Next(0, 10) == 1) { |
|||
if (ShelfList[0].ProductList.Count > 0) { |
|||
ShelfList[0].ProductList.RemoveAt(0); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public void FillTest(int iCount) |
|||
{ |
|||
for (int ii = 0; ii < ShelfList.Count; ii++) { |
|||
ShelfList[ii].FillTest(iCount); |
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
Магазин и остатки товаров на полках |
|||
|
|||
|
|||
Товар |
|||
Артикул |
|||
Наименование |
|||
Цена |
|||
|
|||
Полка |
|||
номер |
|||
товар[] |
|||
|
|||
Магазин |
|||
название |
|||
полка[] |
|||
|
|||
@ -0,0 +1,19 @@ |
|||
using System; |
|||
using System.Windows.Forms; |
|||
|
|||
namespace ShopWin |
|||
{ |
|||
internal static class Program |
|||
{ |
|||
/// <summary>
|
|||
/// The main entry point for the application.
|
|||
/// </summary>
|
|||
[STAThread] |
|||
static void Main() |
|||
{ |
|||
Application.EnableVisualStyles(); |
|||
Application.SetCompatibleTextRenderingDefault(false); |
|||
Application.Run(new Form1()); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
using System.Reflection; |
|||
using System.Runtime.CompilerServices; |
|||
using System.Runtime.InteropServices; |
|||
|
|||
// General Information about an assembly is controlled through the following
|
|||
// set of attributes. Change these attribute values to modify the information
|
|||
// associated with an assembly.
|
|||
[assembly: AssemblyTitle("WindowsFormsApp2")] |
|||
[assembly: AssemblyDescription("")] |
|||
[assembly: AssemblyConfiguration("")] |
|||
[assembly: AssemblyCompany("")] |
|||
[assembly: AssemblyProduct("WindowsFormsApp2")] |
|||
[assembly: AssemblyCopyright("Copyright © 2022")] |
|||
[assembly: AssemblyTrademark("")] |
|||
[assembly: AssemblyCulture("")] |
|||
|
|||
// Setting ComVisible to false makes the types in this assembly not visible
|
|||
// to COM components. If you need to access a type in this assembly from
|
|||
// COM, set the ComVisible attribute to true on that type.
|
|||
[assembly: ComVisible(false)] |
|||
|
|||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
|||
[assembly: Guid("f7ec9ef3-27bf-45dc-bed7-9fdb433ea174")] |
|||
|
|||
// Version information for an assembly consists of the following four values:
|
|||
//
|
|||
// Major Version
|
|||
// Minor Version
|
|||
// Build Number
|
|||
// Revision
|
|||
//
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
|||
// by using the '*' as shown below:
|
|||
// [assembly: AssemblyVersion("1.0.*")]
|
|||
[assembly: AssemblyVersion("1.0.0.0")] |
|||
[assembly: AssemblyFileVersion("1.0.0.0")] |
|||
@ -0,0 +1,63 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// This code was generated by a tool.
|
|||
// Runtime Version:4.0.30319.42000
|
|||
//
|
|||
// Changes to this file may cause incorrect behavior and will be lost if
|
|||
// the code is regenerated.
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
namespace ShopWin.Properties { |
|||
using System; |
|||
|
|||
|
|||
/// <summary>
|
|||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
|||
/// </summary>
|
|||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
|||
// class via a tool like ResGen or Visual Studio.
|
|||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
|||
// with the /str option, or rebuild your VS project.
|
|||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] |
|||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
|||
internal class Resources { |
|||
|
|||
private static global::System.Resources.ResourceManager resourceMan; |
|||
|
|||
private static global::System.Globalization.CultureInfo resourceCulture; |
|||
|
|||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] |
|||
internal Resources() { |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Returns the cached ResourceManager instance used by this class.
|
|||
/// </summary>
|
|||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
|||
internal static global::System.Resources.ResourceManager ResourceManager { |
|||
get { |
|||
if (object.ReferenceEquals(resourceMan, null)) { |
|||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ShopWin.Properties.Resources", typeof(Resources).Assembly); |
|||
resourceMan = temp; |
|||
} |
|||
return resourceMan; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Overrides the current thread's CurrentUICulture property for all
|
|||
/// resource lookups using this strongly typed resource class.
|
|||
/// </summary>
|
|||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
|||
internal static global::System.Globalization.CultureInfo Culture { |
|||
get { |
|||
return resourceCulture; |
|||
} |
|||
set { |
|||
resourceCulture = value; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,117 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<root> |
|||
<!-- |
|||
Microsoft ResX Schema |
|||
|
|||
Version 2.0 |
|||
|
|||
The primary goals of this format is to allow a simple XML format |
|||
that is mostly human readable. The generation and parsing of the |
|||
various data types are done through the TypeConverter classes |
|||
associated with the data types. |
|||
|
|||
Example: |
|||
|
|||
... ado.net/XML headers & schema ... |
|||
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|||
<resheader name="version">2.0</resheader> |
|||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
|||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|||
<value>[base64 mime encoded serialized .NET Framework object]</value> |
|||
</data> |
|||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
|||
<comment>This is a comment</comment> |
|||
</data> |
|||
|
|||
There are any number of "resheader" rows that contain simple |
|||
name/value pairs. |
|||
|
|||
Each data row contains a name, and value. The row also contains a |
|||
type or mimetype. Type corresponds to a .NET class that support |
|||
text/value conversion through the TypeConverter architecture. |
|||
Classes that don't support this are serialized and stored with the |
|||
mimetype set. |
|||
|
|||
The mimetype is used for serialized objects, and tells the |
|||
ResXResourceReader how to depersist the object. This is currently not |
|||
extensible. For a given mimetype the value must be set accordingly: |
|||
|
|||
Note - application/x-microsoft.net.object.binary.base64 is the format |
|||
that the ResXResourceWriter will generate, however the reader can |
|||
read any of the formats listed below. |
|||
|
|||
mimetype: application/x-microsoft.net.object.binary.base64 |
|||
value : The object must be serialized with |
|||
: System.Serialization.Formatters.Binary.BinaryFormatter |
|||
: and then encoded with base64 encoding. |
|||
|
|||
mimetype: application/x-microsoft.net.object.soap.base64 |
|||
value : The object must be serialized with |
|||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|||
: and then encoded with base64 encoding. |
|||
|
|||
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|||
value : The object must be serialized into a byte array |
|||
: using a System.ComponentModel.TypeConverter |
|||
: and then encoded with base64 encoding. |
|||
--> |
|||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|||
<xsd:element name="root" msdata:IsDataSet="true"> |
|||
<xsd:complexType> |
|||
<xsd:choice maxOccurs="unbounded"> |
|||
<xsd:element name="metadata"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" /> |
|||
<xsd:attribute name="type" type="xsd:string" /> |
|||
<xsd:attribute name="mimetype" type="xsd:string" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="assembly"> |
|||
<xsd:complexType> |
|||
<xsd:attribute name="alias" type="xsd:string" /> |
|||
<xsd:attribute name="name" type="xsd:string" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="data"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> |
|||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="resheader"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
</xsd:choice> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
</xsd:schema> |
|||
<resheader name="resmimetype"> |
|||
<value>text/microsoft-resx</value> |
|||
</resheader> |
|||
<resheader name="version"> |
|||
<value>2.0</value> |
|||
</resheader> |
|||
<resheader name="reader"> |
|||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|||
</resheader> |
|||
<resheader name="writer"> |
|||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|||
</resheader> |
|||
</root> |
|||
@ -0,0 +1,26 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// This code was generated by a tool.
|
|||
// Runtime Version:4.0.30319.42000
|
|||
//
|
|||
// Changes to this file may cause incorrect behavior and will be lost if
|
|||
// the code is regenerated.
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
namespace ShopWin.Properties { |
|||
|
|||
|
|||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
|||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")] |
|||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { |
|||
|
|||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); |
|||
|
|||
public static Settings Default { |
|||
get { |
|||
return defaultInstance; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,7 @@ |
|||
<?xml version='1.0' encoding='utf-8'?> |
|||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> |
|||
<Profiles> |
|||
<Profile Name="(Default)" /> |
|||
</Profiles> |
|||
<Settings /> |
|||
</SettingsFile> |
|||
@ -0,0 +1,91 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
|||
<PropertyGroup> |
|||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
|||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
|||
<ProjectGuid>{F7EC9EF3-27BF-45DC-BED7-9FDB433EA174}</ProjectGuid> |
|||
<OutputType>WinExe</OutputType> |
|||
<RootNamespace>ShopWin</RootNamespace> |
|||
<AssemblyName>ShopWin</AssemblyName> |
|||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> |
|||
<FileAlignment>512</FileAlignment> |
|||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> |
|||
<Deterministic>true</Deterministic> |
|||
</PropertyGroup> |
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
|||
<PlatformTarget>AnyCPU</PlatformTarget> |
|||
<DebugSymbols>true</DebugSymbols> |
|||
<DebugType>full</DebugType> |
|||
<Optimize>false</Optimize> |
|||
<OutputPath>bin\Debug\</OutputPath> |
|||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
|||
<ErrorReport>prompt</ErrorReport> |
|||
<WarningLevel>4</WarningLevel> |
|||
</PropertyGroup> |
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
|||
<PlatformTarget>AnyCPU</PlatformTarget> |
|||
<DebugType>pdbonly</DebugType> |
|||
<Optimize>true</Optimize> |
|||
<OutputPath>bin\Release\</OutputPath> |
|||
<DefineConstants>TRACE</DefineConstants> |
|||
<ErrorReport>prompt</ErrorReport> |
|||
<WarningLevel>4</WarningLevel> |
|||
</PropertyGroup> |
|||
<ItemGroup> |
|||
<Reference Include="System" /> |
|||
<Reference Include="System.Core" /> |
|||
<Reference Include="System.Xml.Linq" /> |
|||
<Reference Include="System.Data.DataSetExtensions" /> |
|||
<Reference Include="Microsoft.CSharp" /> |
|||
<Reference Include="System.Data" /> |
|||
<Reference Include="System.Deployment" /> |
|||
<Reference Include="System.Drawing" /> |
|||
<Reference Include="System.Net.Http" /> |
|||
<Reference Include="System.Windows.Forms" /> |
|||
<Reference Include="System.Xml" /> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<Compile Include="Form1.cs"> |
|||
<SubType>Form</SubType> |
|||
</Compile> |
|||
<Compile Include="Form1.Designer.cs"> |
|||
<DependentUpon>Form1.cs</DependentUpon> |
|||
</Compile> |
|||
<Compile Include="Model\CProduct.cs" /> |
|||
<Compile Include="Model\CShelf.cs" /> |
|||
<Compile Include="Model\CShop.cs" /> |
|||
<Compile Include="Program.cs" /> |
|||
<Compile Include="Properties\AssemblyInfo.cs" /> |
|||
<EmbeddedResource Include="Form1.resx"> |
|||
<DependentUpon>Form1.cs</DependentUpon> |
|||
</EmbeddedResource> |
|||
<EmbeddedResource Include="Properties\Resources.resx"> |
|||
<Generator>ResXFileCodeGenerator</Generator> |
|||
<LastGenOutput>Resources.Designer.cs</LastGenOutput> |
|||
<SubType>Designer</SubType> |
|||
</EmbeddedResource> |
|||
<Compile Include="Properties\Resources.Designer.cs"> |
|||
<AutoGen>True</AutoGen> |
|||
<DependentUpon>Resources.resx</DependentUpon> |
|||
<DesignTime>True</DesignTime> |
|||
</Compile> |
|||
<None Include="Properties\Settings.settings"> |
|||
<Generator>SettingsSingleFileGenerator</Generator> |
|||
<LastGenOutput>Settings.Designer.cs</LastGenOutput> |
|||
</None> |
|||
<Compile Include="Properties\Settings.Designer.cs"> |
|||
<AutoGen>True</AutoGen> |
|||
<DependentUpon>Settings.settings</DependentUpon> |
|||
<DesignTimeSharedInput>True</DesignTimeSharedInput> |
|||
</Compile> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<None Include="App.config" /> |
|||
</ItemGroup> |
|||
<ItemGroup /> |
|||
<ItemGroup> |
|||
<Content Include="Model\Description.txt" /> |
|||
</ItemGroup> |
|||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
|||
</Project> |
|||
@ -0,0 +1,25 @@ |
|||
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00 |
|||
# Visual Studio Version 17 |
|||
VisualStudioVersion = 17.0.32126.317 |
|||
MinimumVisualStudioVersion = 10.0.40219.1 |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkField", "WorkField\WorkField.csproj", "{9BE5A9AD-525E-4094-92DC-D13D6FF659DE}" |
|||
EndProject |
|||
Global |
|||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|||
Debug|Any CPU = Debug|Any CPU |
|||
Release|Any CPU = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|||
{9BE5A9AD-525E-4094-92DC-D13D6FF659DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{9BE5A9AD-525E-4094-92DC-D13D6FF659DE}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{9BE5A9AD-525E-4094-92DC-D13D6FF659DE}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{9BE5A9AD-525E-4094-92DC-D13D6FF659DE}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(SolutionProperties) = preSolution |
|||
HideSolutionNode = FALSE |
|||
EndGlobalSection |
|||
GlobalSection(ExtensibilityGlobals) = postSolution |
|||
SolutionGuid = {F6FACE66-3478-4218-BF76-289314CF5F7E} |
|||
EndGlobalSection |
|||
EndGlobal |
|||
|
After Width: | Height: | Size: 23 KiB |
@ -0,0 +1,6 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<configuration> |
|||
<startup> |
|||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> |
|||
</startup> |
|||
</configuration> |
|||
@ -0,0 +1,168 @@ |
|||
namespace WorkField |
|||
{ |
|||
partial class Form1 |
|||
{ |
|||
/// <summary>
|
|||
/// Required designer variable.
|
|||
/// </summary>
|
|||
private System.ComponentModel.IContainer components = null; |
|||
|
|||
/// <summary>
|
|||
/// Clean up any resources being used.
|
|||
/// </summary>
|
|||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
|||
protected override void Dispose(bool disposing) |
|||
{ |
|||
if (disposing && (components != null)) { |
|||
components.Dispose(); |
|||
} |
|||
base.Dispose(disposing); |
|||
} |
|||
|
|||
#region Windows Form Designer generated code
|
|||
|
|||
/// <summary>
|
|||
/// Required method for Designer support - do not modify
|
|||
/// the contents of this method with the code editor.
|
|||
/// </summary>
|
|||
private void InitializeComponent() |
|||
{ |
|||
this.components = new System.ComponentModel.Container(); |
|||
this.button1 = new System.Windows.Forms.Button(); |
|||
this.panel1 = new System.Windows.Forms.Panel(); |
|||
this.panel2 = new System.Windows.Forms.Panel(); |
|||
this.lab2Y = new System.Windows.Forms.Label(); |
|||
this.lab2X = new System.Windows.Forms.Label(); |
|||
this.panel3 = new System.Windows.Forms.Panel(); |
|||
this.lab1Y = new System.Windows.Forms.Label(); |
|||
this.lab1X = new System.Windows.Forms.Label(); |
|||
this.btnMove = new System.Windows.Forms.Button(); |
|||
this.timer1 = new System.Windows.Forms.Timer(this.components); |
|||
this.panel2.SuspendLayout(); |
|||
this.panel3.SuspendLayout(); |
|||
this.SuspendLayout(); |
|||
//
|
|||
// button1
|
|||
//
|
|||
this.button1.Location = new System.Drawing.Point(308, 10); |
|||
this.button1.Name = "button1"; |
|||
this.button1.Size = new System.Drawing.Size(75, 23); |
|||
this.button1.TabIndex = 0; |
|||
this.button1.Text = "Добавить игрока"; |
|||
this.button1.UseVisualStyleBackColor = true; |
|||
this.button1.Click += new System.EventHandler(this.button1_Click); |
|||
//
|
|||
// panel1
|
|||
//
|
|||
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; |
|||
this.panel1.Location = new System.Drawing.Point(0, 52); |
|||
this.panel1.Name = "panel1"; |
|||
this.panel1.Size = new System.Drawing.Size(800, 398); |
|||
this.panel1.TabIndex = 1; |
|||
//
|
|||
// panel2
|
|||
//
|
|||
this.panel2.Controls.Add(this.lab2Y); |
|||
this.panel2.Controls.Add(this.lab2X); |
|||
this.panel2.Dock = System.Windows.Forms.DockStyle.Right; |
|||
this.panel2.Location = new System.Drawing.Point(690, 0); |
|||
this.panel2.Name = "panel2"; |
|||
this.panel2.Size = new System.Drawing.Size(110, 52); |
|||
this.panel2.TabIndex = 4; |
|||
//
|
|||
// lab2Y
|
|||
//
|
|||
this.lab2Y.AutoSize = true; |
|||
this.lab2Y.Location = new System.Drawing.Point(38, 29); |
|||
this.lab2Y.Name = "lab2Y"; |
|||
this.lab2Y.Size = new System.Drawing.Size(35, 13); |
|||
this.lab2Y.TabIndex = 5; |
|||
this.lab2Y.Text = "label3"; |
|||
//
|
|||
// lab2X
|
|||
//
|
|||
this.lab2X.AutoSize = true; |
|||
this.lab2X.Location = new System.Drawing.Point(38, 10); |
|||
this.lab2X.Name = "lab2X"; |
|||
this.lab2X.Size = new System.Drawing.Size(35, 13); |
|||
this.lab2X.TabIndex = 4; |
|||
this.lab2X.Text = "label4"; |
|||
//
|
|||
// panel3
|
|||
//
|
|||
this.panel3.Controls.Add(this.lab1Y); |
|||
this.panel3.Controls.Add(this.lab1X); |
|||
this.panel3.Dock = System.Windows.Forms.DockStyle.Right; |
|||
this.panel3.Location = new System.Drawing.Point(580, 0); |
|||
this.panel3.Name = "panel3"; |
|||
this.panel3.Size = new System.Drawing.Size(110, 52); |
|||
this.panel3.TabIndex = 7; |
|||
//
|
|||
// lab1Y
|
|||
//
|
|||
this.lab1Y.AutoSize = true; |
|||
this.lab1Y.Location = new System.Drawing.Point(38, 29); |
|||
this.lab1Y.Name = "lab1Y"; |
|||
this.lab1Y.Size = new System.Drawing.Size(35, 13); |
|||
this.lab1Y.TabIndex = 5; |
|||
this.lab1Y.Text = "label5"; |
|||
//
|
|||
// lab1X
|
|||
//
|
|||
this.lab1X.AutoSize = true; |
|||
this.lab1X.Location = new System.Drawing.Point(38, 10); |
|||
this.lab1X.Name = "lab1X"; |
|||
this.lab1X.Size = new System.Drawing.Size(35, 13); |
|||
this.lab1X.TabIndex = 4; |
|||
this.lab1X.Text = "label6"; |
|||
//
|
|||
// btnMove
|
|||
//
|
|||
this.btnMove.Location = new System.Drawing.Point(389, 10); |
|||
this.btnMove.Name = "btnMove"; |
|||
this.btnMove.Size = new System.Drawing.Size(75, 23); |
|||
this.btnMove.TabIndex = 8; |
|||
this.btnMove.Text = "Время!"; |
|||
this.btnMove.UseVisualStyleBackColor = true; |
|||
this.btnMove.Click += new System.EventHandler(this.btnMove_Click); |
|||
//
|
|||
// timer1
|
|||
//
|
|||
this.timer1.Interval = 1000; |
|||
this.timer1.Tick += new System.EventHandler(this.timer1_Tick); |
|||
//
|
|||
// Form1
|
|||
//
|
|||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); |
|||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
|||
this.ClientSize = new System.Drawing.Size(800, 450); |
|||
this.Controls.Add(this.btnMove); |
|||
this.Controls.Add(this.panel3); |
|||
this.Controls.Add(this.panel2); |
|||
this.Controls.Add(this.panel1); |
|||
this.Controls.Add(this.button1); |
|||
this.Name = "Form1"; |
|||
this.Text = "Стадион"; |
|||
this.panel2.ResumeLayout(false); |
|||
this.panel2.PerformLayout(); |
|||
this.panel3.ResumeLayout(false); |
|||
this.panel3.PerformLayout(); |
|||
this.ResumeLayout(false); |
|||
|
|||
} |
|||
|
|||
#endregion
|
|||
|
|||
private System.Windows.Forms.Button button1; |
|||
private System.Windows.Forms.Panel panel1; |
|||
private System.Windows.Forms.Panel panel2; |
|||
private System.Windows.Forms.Label lab2Y; |
|||
private System.Windows.Forms.Label lab2X; |
|||
private System.Windows.Forms.Panel panel3; |
|||
private System.Windows.Forms.Label lab1Y; |
|||
private System.Windows.Forms.Label lab1X; |
|||
private System.Windows.Forms.Button btnMove; |
|||
private System.Windows.Forms.Timer timer1; |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,74 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.ComponentModel; |
|||
using System.Data; |
|||
using System.Drawing; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using System.Windows.Forms; |
|||
using WorkField.Model; |
|||
|
|||
namespace WorkField |
|||
{ |
|||
public partial class Form1 : Form |
|||
{ |
|||
public CStadium _stadium; |
|||
|
|||
public Form1() |
|||
{ |
|||
InitializeComponent(); |
|||
h_PrepareStadium(); |
|||
// h_RefreshPanel();
|
|||
} |
|||
|
|||
private void h_PrepareStadium() |
|||
{ |
|||
_stadium = new CStadium(30, 30); |
|||
_stadium.PlayerList.Add( |
|||
new CPlayer("player1", 10, 10, _stadium.IsPosition)); |
|||
_stadium.PlayerList.Add( |
|||
new CPlayer("player2", 25, 10, h_CanMove)); |
|||
} |
|||
|
|||
private bool h_CanMove(int arg1, int arg2) |
|||
{ |
|||
if (DateTime.Now.Second < 30) { |
|||
return false; |
|||
} |
|||
|
|||
return true; |
|||
} |
|||
|
|||
private void button1_Click(object sender, EventArgs e) |
|||
{ |
|||
int iNum = _stadium.PlayerList.Count + 1; |
|||
_stadium.PlayerList.Add( |
|||
new CPlayer($"player{iNum}", |
|||
10, 10 + iNum * 2, h_CanMove)); |
|||
} |
|||
|
|||
private void btnMove_Click(object sender, EventArgs e) |
|||
{ |
|||
timer1.Enabled = !timer1.Enabled; |
|||
} |
|||
|
|||
private void h_RefreshInfo() |
|||
{ |
|||
lab1X.Text = _stadium.PlayerList[0].X.ToString(); |
|||
lab1Y.Text = _stadium.PlayerList[0].Y.ToString(); |
|||
lab1X.BackColor = _stadium.PlayerList[0].IsFreezed |
|||
? Color.Brown |
|||
: Color.Gray; |
|||
lab2X.Text = _stadium.PlayerList[1].X.ToString(); |
|||
lab2Y.Text = _stadium.PlayerList[1].Y.ToString(); |
|||
|
|||
} |
|||
|
|||
private void timer1_Tick(object sender, EventArgs e) |
|||
{ |
|||
//_stadium.Move();
|
|||
h_RefreshInfo(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,123 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<root> |
|||
<!-- |
|||
Microsoft ResX Schema |
|||
|
|||
Version 2.0 |
|||
|
|||
The primary goals of this format is to allow a simple XML format |
|||
that is mostly human readable. The generation and parsing of the |
|||
various data types are done through the TypeConverter classes |
|||
associated with the data types. |
|||
|
|||
Example: |
|||
|
|||
... ado.net/XML headers & schema ... |
|||
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|||
<resheader name="version">2.0</resheader> |
|||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
|||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|||
<value>[base64 mime encoded serialized .NET Framework object]</value> |
|||
</data> |
|||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
|||
<comment>This is a comment</comment> |
|||
</data> |
|||
|
|||
There are any number of "resheader" rows that contain simple |
|||
name/value pairs. |
|||
|
|||
Each data row contains a name, and value. The row also contains a |
|||
type or mimetype. Type corresponds to a .NET class that support |
|||
text/value conversion through the TypeConverter architecture. |
|||
Classes that don't support this are serialized and stored with the |
|||
mimetype set. |
|||
|
|||
The mimetype is used for serialized objects, and tells the |
|||
ResXResourceReader how to depersist the object. This is currently not |
|||
extensible. For a given mimetype the value must be set accordingly: |
|||
|
|||
Note - application/x-microsoft.net.object.binary.base64 is the format |
|||
that the ResXResourceWriter will generate, however the reader can |
|||
read any of the formats listed below. |
|||
|
|||
mimetype: application/x-microsoft.net.object.binary.base64 |
|||
value : The object must be serialized with |
|||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
|||
: and then encoded with base64 encoding. |
|||
|
|||
mimetype: application/x-microsoft.net.object.soap.base64 |
|||
value : The object must be serialized with |
|||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|||
: and then encoded with base64 encoding. |
|||
|
|||
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|||
value : The object must be serialized into a byte array |
|||
: using a System.ComponentModel.TypeConverter |
|||
: and then encoded with base64 encoding. |
|||
--> |
|||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
|||
<xsd:element name="root" msdata:IsDataSet="true"> |
|||
<xsd:complexType> |
|||
<xsd:choice maxOccurs="unbounded"> |
|||
<xsd:element name="metadata"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" use="required" type="xsd:string" /> |
|||
<xsd:attribute name="type" type="xsd:string" /> |
|||
<xsd:attribute name="mimetype" type="xsd:string" /> |
|||
<xsd:attribute ref="xml:space" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="assembly"> |
|||
<xsd:complexType> |
|||
<xsd:attribute name="alias" type="xsd:string" /> |
|||
<xsd:attribute name="name" type="xsd:string" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="data"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
|||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|||
<xsd:attribute ref="xml:space" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="resheader"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
</xsd:choice> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
</xsd:schema> |
|||
<resheader name="resmimetype"> |
|||
<value>text/microsoft-resx</value> |
|||
</resheader> |
|||
<resheader name="version"> |
|||
<value>2.0</value> |
|||
</resheader> |
|||
<resheader name="reader"> |
|||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|||
</resheader> |
|||
<resheader name="writer"> |
|||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|||
</resheader> |
|||
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
|||
<value>17, 17</value> |
|||
</metadata> |
|||
</root> |
|||
@ -0,0 +1,57 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace WorkField.Model |
|||
{ |
|||
public class CPlayer |
|||
{ |
|||
private Random _rnd = new Random(); |
|||
|
|||
public string Surname; |
|||
public int X; |
|||
public int Y; |
|||
private readonly Func<int, int, bool> _fnCanMove; |
|||
|
|||
public bool IsFreezed |
|||
{ |
|||
get { return DateTime.Now <= UnfreezeTime; } |
|||
set |
|||
{ |
|||
if (value) { |
|||
UnfreezeTime = DateTime.Now.AddSeconds(3); |
|||
} |
|||
else { |
|||
UnfreezeTime = DateTime.Now; |
|||
} |
|||
} |
|||
} |
|||
|
|||
private DateTime UnfreezeTime; |
|||
|
|||
public CPlayer(string surname, int x, int y, |
|||
Func<int, int, bool> fnCanMove) |
|||
{ |
|||
Surname = surname; |
|||
X = x; |
|||
Y = y; |
|||
_fnCanMove = fnCanMove; |
|||
UnfreezeTime = DateTime.MinValue; |
|||
} |
|||
|
|||
public void Move() |
|||
{ |
|||
int newX = X + _rnd.Next(-1, 2); |
|||
int newY = Y + _rnd.Next(-1, 2); |
|||
if (_fnCanMove != null && _fnCanMove(newX, newY)) { |
|||
X = newX; |
|||
Y = newY; |
|||
} |
|||
else { |
|||
IsFreezed = true; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,76 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Drawing; |
|||
using System.Linq; |
|||
using System.Runtime.Remoting; |
|||
using System.Text; |
|||
using System.Threading; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace WorkField.Model |
|||
{ |
|||
/// <summary>
|
|||
/// Стадион
|
|||
/// </summary>
|
|||
public class CStadium |
|||
{ |
|||
private System.Threading.Timer _timer; |
|||
|
|||
/// <summary>
|
|||
/// Ширина
|
|||
/// </summary>
|
|||
public int Width; |
|||
/// <summary>
|
|||
/// Длина
|
|||
/// </summary>
|
|||
public int Height; |
|||
/// <summary>
|
|||
/// Список работников
|
|||
/// </summary>
|
|||
public List<CPlayer> PlayerList; |
|||
|
|||
public CStadium (int width, int height) |
|||
{ |
|||
Width = width; |
|||
Height = height; |
|||
PlayerList = new List<CPlayer>(); |
|||
|
|||
_timer = new Timer(h_tick, null, |
|||
new TimeSpan(0, 0, 0, 0, 300), |
|||
new TimeSpan(0, 0, 0, 0, 1000) |
|||
); |
|||
} |
|||
|
|||
private void h_tick(object x) |
|||
{ |
|||
this.Move(); |
|||
} |
|||
|
|||
internal void Move() |
|||
{ |
|||
foreach (CPlayer pPlayer in PlayerList) { |
|||
pPlayer.Move(); |
|||
} |
|||
} |
|||
|
|||
public bool IsPosition(int newX, int newY) |
|||
{ |
|||
string sFilename = "1.bmp"; |
|||
Bitmap pB = new Bitmap(sFilename); |
|||
if (newX < 0) return false; |
|||
if (newY < 0) return false; |
|||
if (newX > pB.Width) return false; |
|||
if (newY > pB.Height) return false; |
|||
//for (int xx = 0; xx < pB.Width; xx++) {
|
|||
// for (int yy = 0; yy < pB.Height; yy++) {
|
|||
Color pColor = pB.GetPixel(newX, newY); |
|||
return !(pColor.R == Color.Black.R |
|||
&& pColor.G == Color.Black.G |
|||
&& pColor.B == Color.Black.B |
|||
); |
|||
// }
|
|||
//}
|
|||
return true; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
Поле с работниками |
|||
|
|||
Поле |
|||
Ширина |
|||
Длина |
|||
Работник[] |
|||
|
|||
Работник |
|||
Фамилия |
|||
X |
|||
Y |
|||
|
|||
|
|||
|
|||
@ -0,0 +1,22 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Threading.Tasks; |
|||
using System.Windows.Forms; |
|||
|
|||
namespace WorkField |
|||
{ |
|||
internal static class Program |
|||
{ |
|||
/// <summary>
|
|||
/// The main entry point for the application.
|
|||
/// </summary>
|
|||
[STAThread] |
|||
static void Main() |
|||
{ |
|||
Application.EnableVisualStyles(); |
|||
Application.SetCompatibleTextRenderingDefault(false); |
|||
Application.Run(new Form1()); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
using System.Reflection; |
|||
using System.Runtime.CompilerServices; |
|||
using System.Runtime.InteropServices; |
|||
|
|||
// General Information about an assembly is controlled through the following
|
|||
// set of attributes. Change these attribute values to modify the information
|
|||
// associated with an assembly.
|
|||
[assembly: AssemblyTitle("WorkField")] |
|||
[assembly: AssemblyDescription("")] |
|||
[assembly: AssemblyConfiguration("")] |
|||
[assembly: AssemblyCompany("")] |
|||
[assembly: AssemblyProduct("WorkField")] |
|||
[assembly: AssemblyCopyright("Copyright © 2022")] |
|||
[assembly: AssemblyTrademark("")] |
|||
[assembly: AssemblyCulture("")] |
|||
|
|||
// Setting ComVisible to false makes the types in this assembly not visible
|
|||
// to COM components. If you need to access a type in this assembly from
|
|||
// COM, set the ComVisible attribute to true on that type.
|
|||
[assembly: ComVisible(false)] |
|||
|
|||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
|||
[assembly: Guid("9be5a9ad-525e-4094-92dc-d13d6ff659de")] |
|||
|
|||
// Version information for an assembly consists of the following four values:
|
|||
//
|
|||
// Major Version
|
|||
// Minor Version
|
|||
// Build Number
|
|||
// Revision
|
|||
//
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
|||
// by using the '*' as shown below:
|
|||
// [assembly: AssemblyVersion("1.0.*")]
|
|||
[assembly: AssemblyVersion("1.0.0.0")] |
|||
[assembly: AssemblyFileVersion("1.0.0.0")] |
|||
@ -0,0 +1,70 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// This code was generated by a tool.
|
|||
// Runtime Version:4.0.30319.42000
|
|||
//
|
|||
// Changes to this file may cause incorrect behavior and will be lost if
|
|||
// the code is regenerated.
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
namespace WorkField.Properties |
|||
{ |
|||
|
|||
|
|||
/// <summary>
|
|||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
|||
/// </summary>
|
|||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
|||
// class via a tool like ResGen or Visual Studio.
|
|||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
|||
// with the /str option, or rebuild your VS project.
|
|||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] |
|||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
|||
internal class Resources |
|||
{ |
|||
|
|||
private static global::System.Resources.ResourceManager resourceMan; |
|||
|
|||
private static global::System.Globalization.CultureInfo resourceCulture; |
|||
|
|||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] |
|||
internal Resources() |
|||
{ |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Returns the cached ResourceManager instance used by this class.
|
|||
/// </summary>
|
|||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
|||
internal static global::System.Resources.ResourceManager ResourceManager |
|||
{ |
|||
get |
|||
{ |
|||
if ((resourceMan == null)) { |
|||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WorkField.Properties.Resources", typeof(Resources).Assembly); |
|||
resourceMan = temp; |
|||
} |
|||
return resourceMan; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Overrides the current thread's CurrentUICulture property for all
|
|||
/// resource lookups using this strongly typed resource class.
|
|||
/// </summary>
|
|||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
|||
internal static global::System.Globalization.CultureInfo Culture |
|||
{ |
|||
get |
|||
{ |
|||
return resourceCulture; |
|||
} |
|||
set |
|||
{ |
|||
resourceCulture = value; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,117 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<root> |
|||
<!-- |
|||
Microsoft ResX Schema |
|||
|
|||
Version 2.0 |
|||
|
|||
The primary goals of this format is to allow a simple XML format |
|||
that is mostly human readable. The generation and parsing of the |
|||
various data types are done through the TypeConverter classes |
|||
associated with the data types. |
|||
|
|||
Example: |
|||
|
|||
... ado.net/XML headers & schema ... |
|||
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|||
<resheader name="version">2.0</resheader> |
|||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
|||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|||
<value>[base64 mime encoded serialized .NET Framework object]</value> |
|||
</data> |
|||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
|||
<comment>This is a comment</comment> |
|||
</data> |
|||
|
|||
There are any number of "resheader" rows that contain simple |
|||
name/value pairs. |
|||
|
|||
Each data row contains a name, and value. The row also contains a |
|||
type or mimetype. Type corresponds to a .NET class that support |
|||
text/value conversion through the TypeConverter architecture. |
|||
Classes that don't support this are serialized and stored with the |
|||
mimetype set. |
|||
|
|||
The mimetype is used for serialized objects, and tells the |
|||
ResXResourceReader how to depersist the object. This is currently not |
|||
extensible. For a given mimetype the value must be set accordingly: |
|||
|
|||
Note - application/x-microsoft.net.object.binary.base64 is the format |
|||
that the ResXResourceWriter will generate, however the reader can |
|||
read any of the formats listed below. |
|||
|
|||
mimetype: application/x-microsoft.net.object.binary.base64 |
|||
value : The object must be serialized with |
|||
: System.Serialization.Formatters.Binary.BinaryFormatter |
|||
: and then encoded with base64 encoding. |
|||
|
|||
mimetype: application/x-microsoft.net.object.soap.base64 |
|||
value : The object must be serialized with |
|||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|||
: and then encoded with base64 encoding. |
|||
|
|||
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|||
value : The object must be serialized into a byte array |
|||
: using a System.ComponentModel.TypeConverter |
|||
: and then encoded with base64 encoding. |
|||
--> |
|||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|||
<xsd:element name="root" msdata:IsDataSet="true"> |
|||
<xsd:complexType> |
|||
<xsd:choice maxOccurs="unbounded"> |
|||
<xsd:element name="metadata"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" /> |
|||
<xsd:attribute name="type" type="xsd:string" /> |
|||
<xsd:attribute name="mimetype" type="xsd:string" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="assembly"> |
|||
<xsd:complexType> |
|||
<xsd:attribute name="alias" type="xsd:string" /> |
|||
<xsd:attribute name="name" type="xsd:string" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="data"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> |
|||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
<xsd:element name="resheader"> |
|||
<xsd:complexType> |
|||
<xsd:sequence> |
|||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|||
</xsd:sequence> |
|||
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
</xsd:choice> |
|||
</xsd:complexType> |
|||
</xsd:element> |
|||
</xsd:schema> |
|||
<resheader name="resmimetype"> |
|||
<value>text/microsoft-resx</value> |
|||
</resheader> |
|||
<resheader name="version"> |
|||
<value>2.0</value> |
|||
</resheader> |
|||
<resheader name="reader"> |
|||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|||
</resheader> |
|||
<resheader name="writer"> |
|||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|||
</resheader> |
|||
</root> |
|||
@ -0,0 +1,30 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// This code was generated by a tool.
|
|||
// Runtime Version:4.0.30319.42000
|
|||
//
|
|||
// Changes to this file may cause incorrect behavior and will be lost if
|
|||
// the code is regenerated.
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
namespace WorkField.Properties |
|||
{ |
|||
|
|||
|
|||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
|||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] |
|||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase |
|||
{ |
|||
|
|||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); |
|||
|
|||
public static Settings Default |
|||
{ |
|||
get |
|||
{ |
|||
return defaultInstance; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,7 @@ |
|||
<?xml version='1.0' encoding='utf-8'?> |
|||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> |
|||
<Profiles> |
|||
<Profile Name="(Default)" /> |
|||
</Profiles> |
|||
<Settings /> |
|||
</SettingsFile> |
|||
@ -0,0 +1,92 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
|||
<PropertyGroup> |
|||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
|||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
|||
<ProjectGuid>{9BE5A9AD-525E-4094-92DC-D13D6FF659DE}</ProjectGuid> |
|||
<OutputType>WinExe</OutputType> |
|||
<RootNamespace>WorkField</RootNamespace> |
|||
<AssemblyName>WorkField</AssemblyName> |
|||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> |
|||
<FileAlignment>512</FileAlignment> |
|||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> |
|||
<Deterministic>true</Deterministic> |
|||
</PropertyGroup> |
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
|||
<PlatformTarget>AnyCPU</PlatformTarget> |
|||
<DebugSymbols>true</DebugSymbols> |
|||
<DebugType>full</DebugType> |
|||
<Optimize>false</Optimize> |
|||
<OutputPath>bin\Debug\</OutputPath> |
|||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
|||
<ErrorReport>prompt</ErrorReport> |
|||
<WarningLevel>4</WarningLevel> |
|||
</PropertyGroup> |
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
|||
<PlatformTarget>AnyCPU</PlatformTarget> |
|||
<DebugType>pdbonly</DebugType> |
|||
<Optimize>true</Optimize> |
|||
<OutputPath>bin\Release\</OutputPath> |
|||
<DefineConstants>TRACE</DefineConstants> |
|||
<ErrorReport>prompt</ErrorReport> |
|||
<WarningLevel>4</WarningLevel> |
|||
</PropertyGroup> |
|||
<ItemGroup> |
|||
<Reference Include="System" /> |
|||
<Reference Include="System.Core" /> |
|||
<Reference Include="System.Xml.Linq" /> |
|||
<Reference Include="System.Data.DataSetExtensions" /> |
|||
<Reference Include="Microsoft.CSharp" /> |
|||
<Reference Include="System.Data" /> |
|||
<Reference Include="System.Deployment" /> |
|||
<Reference Include="System.Drawing" /> |
|||
<Reference Include="System.Net.Http" /> |
|||
<Reference Include="System.Windows.Forms" /> |
|||
<Reference Include="System.Xml" /> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<Compile Include="Form1.cs"> |
|||
<SubType>Form</SubType> |
|||
</Compile> |
|||
<Compile Include="Form1.Designer.cs"> |
|||
<DependentUpon>Form1.cs</DependentUpon> |
|||
</Compile> |
|||
<Compile Include="Model\CStadium.cs" /> |
|||
<Compile Include="Model\CPlayer.cs" /> |
|||
<Compile Include="Program.cs" /> |
|||
<Compile Include="Properties\AssemblyInfo.cs" /> |
|||
<EmbeddedResource Include="Form1.resx"> |
|||
<DependentUpon>Form1.cs</DependentUpon> |
|||
</EmbeddedResource> |
|||
<EmbeddedResource Include="Properties\Resources.resx"> |
|||
<Generator>ResXFileCodeGenerator</Generator> |
|||
<LastGenOutput>Resources.Designer.cs</LastGenOutput> |
|||
<SubType>Designer</SubType> |
|||
</EmbeddedResource> |
|||
<Compile Include="Properties\Resources.Designer.cs"> |
|||
<AutoGen>True</AutoGen> |
|||
<DependentUpon>Resources.resx</DependentUpon> |
|||
</Compile> |
|||
<None Include="Properties\Settings.settings"> |
|||
<Generator>SettingsSingleFileGenerator</Generator> |
|||
<LastGenOutput>Settings.Designer.cs</LastGenOutput> |
|||
</None> |
|||
<Compile Include="Properties\Settings.Designer.cs"> |
|||
<AutoGen>True</AutoGen> |
|||
<DependentUpon>Settings.settings</DependentUpon> |
|||
<DesignTimeSharedInput>True</DesignTimeSharedInput> |
|||
</Compile> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<None Include="App.config" /> |
|||
</ItemGroup> |
|||
<ItemGroup /> |
|||
<ItemGroup> |
|||
<Content Include="1.bmp"> |
|||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
|||
</Content> |
|||
<Content Include="Model\Description.txt" /> |
|||
</ItemGroup> |
|||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
|||
</Project> |
|||
Loading…
Reference in new issue