diff --git a/A2/Passport/Passport.v11.suo b/A2/Passport/Passport.v11.suo
new file mode 100644
index 0000000..d48b1f9
Binary files /dev/null and b/A2/Passport/Passport.v11.suo differ
diff --git a/A2/Passport/Passport/bin/Debug/Passport.exe b/A2/Passport/Passport/bin/Debug/Passport.exe
index c22f02b..f76676d 100644
Binary files a/A2/Passport/Passport/bin/Debug/Passport.exe and b/A2/Passport/Passport/bin/Debug/Passport.exe differ
diff --git a/A2/Passport/Passport/bin/Debug/Passport.pdb b/A2/Passport/Passport/bin/Debug/Passport.pdb
index 1afa220..cc67399 100644
Binary files a/A2/Passport/Passport/bin/Debug/Passport.pdb and b/A2/Passport/Passport/bin/Debug/Passport.pdb differ
diff --git a/A2/Passport/Passport/bin/Debug/Passport.vshost.exe b/A2/Passport/Passport/bin/Debug/Passport.vshost.exe
index 551c0cd..8c84517 100644
Binary files a/A2/Passport/Passport/bin/Debug/Passport.vshost.exe and b/A2/Passport/Passport/bin/Debug/Passport.vshost.exe differ
diff --git a/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferences.cache
new file mode 100644
index 0000000..47a5358
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..ec68be7
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/A2/Passport/Passport/obj/Debug/Passport.EmploymentForm.resources b/A2/Passport/Passport/obj/Debug/Passport.EmploymentForm.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.EmploymentForm.resources differ
diff --git a/A2/Passport/Passport/obj/Debug/Passport.Form1.resources b/A2/Passport/Passport/obj/Debug/Passport.Form1.resources
new file mode 100644
index 0000000..cf4bad6
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.Form1.resources differ
diff --git a/A2/Passport/Passport/obj/Debug/Passport.NoNoMessageBox.resources b/A2/Passport/Passport/obj/Debug/Passport.NoNoMessageBox.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.NoNoMessageBox.resources differ
diff --git a/A2/Passport/Passport/obj/Debug/Passport.Properties.Resources.resources b/A2/Passport/Passport/obj/Debug/Passport.Properties.Resources.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.Properties.Resources.resources differ
diff --git a/A2/Passport/Passport/obj/Debug/Passport.csproj.FileListAbsolute.txt b/A2/Passport/Passport/obj/Debug/Passport.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..99b64ef
--- /dev/null
+++ b/A2/Passport/Passport/obj/Debug/Passport.csproj.FileListAbsolute.txt
@@ -0,0 +1,10 @@
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\bin\Debug\Passport.exe.config
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\bin\Debug\Passport.exe
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\bin\Debug\Passport.pdb
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.EmploymentForm.resources
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.Form1.resources
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.NoNoMessageBox.resources
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.Properties.Resources.resources
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.csproj.GenerateResource.Cache
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.exe
+C:\Users\User\Desktop\xxx\prog2015\A2\Passport\Passport\obj\Debug\Passport.pdb
diff --git a/A2/Passport/Passport/obj/Debug/Passport.csproj.GenerateResource.Cache b/A2/Passport/Passport/obj/Debug/Passport.csproj.GenerateResource.Cache
new file mode 100644
index 0000000..e69348c
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.csproj.GenerateResource.Cache differ
diff --git a/A2/Passport/Passport/obj/Debug/Passport.exe b/A2/Passport/Passport/obj/Debug/Passport.exe
new file mode 100644
index 0000000..f76676d
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.exe differ
diff --git a/A2/Passport/Passport/obj/Debug/Passport.pdb b/A2/Passport/Passport/obj/Debug/Passport.pdb
new file mode 100644
index 0000000..cc67399
Binary files /dev/null and b/A2/Passport/Passport/obj/Debug/Passport.pdb differ
diff --git a/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
diff --git a/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
diff --git a/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/A2/Passport/Passport/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29
diff --git a/List/outt.txt b/List/outt.txt
index 56a6051..089b2e2 100644
--- a/List/outt.txt
+++ b/List/outt.txt
@@ -1 +1,4 @@
-1
\ No newline at end of file
+A2+A3 https://github.com/outt/prog2015/commit/7976782fd5a108ef50c9df2c8168f41d2f00ac64#commitcomment-10884248
+C1 https://github.com/outt/prog2015/commit/ae3019dd6bc684a25e2243cdfce6d73b309fa2f0#commitcomment-11556351
+D1 https://github.com/outt/prog2015/commit/4a5bc57c6858ec1143e2728eb223854cc5397b71#commitcomment-115563
+ : 5
\ No newline at end of file
diff --git a/artem_labi/A2/A2.sln b/artem_labi/A2/A2.sln
new file mode 100644
index 0000000..65cd3ef
--- /dev/null
+++ b/artem_labi/A2/A2.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "A2", "A2\A2.csproj", "{33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/artem_labi/A2/A2.v11.suo b/artem_labi/A2/A2.v11.suo
new file mode 100644
index 0000000..e7197bb
Binary files /dev/null and b/artem_labi/A2/A2.v11.suo differ
diff --git a/artem_labi/A2/A2/A2.csproj b/artem_labi/A2/A2/A2.csproj
new file mode 100644
index 0000000..ffe707c
--- /dev/null
+++ b/artem_labi/A2/A2/A2.csproj
@@ -0,0 +1,99 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {33F8987C-4A0D-47AC-9482-0DBD4B39A4A2}
+ WinExe
+ Properties
+ ws
+ A2
+ v4.5
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Ex-clubs.cs
+
+
+ Form
+
+
+ Form1.cs
+
+
+
+
+
+ Ex-clubs.cs
+
+
+ Form1.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artem_labi/A2/A2/App.config b/artem_labi/A2/A2/App.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/artem_labi/A2/A2/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artem_labi/A2/A2/Ex-clubs.Designer.cs b/artem_labi/A2/A2/Ex-clubs.Designer.cs
new file mode 100644
index 0000000..b395972
--- /dev/null
+++ b/artem_labi/A2/A2/Ex-clubs.Designer.cs
@@ -0,0 +1,175 @@
+namespace ws
+{
+ partial class FORMA
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.label1 = new System.Windows.Forms.Label();
+ this.comboBox3 = new System.Windows.Forms.ComboBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.textBox_team = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker();
+ this.label3 = new System.Windows.Forms.Label();
+ this.dateTimePicker2 = new System.Windows.Forms.DateTimePicker();
+ this.button12 = new System.Windows.Forms.Button();
+ this.button2 = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(12, 9);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(73, 13);
+ this.label1.TabIndex = 7;
+ this.label1.Text = "Играл в лиге";
+ //
+ // comboBox3
+ //
+ this.comboBox3.FormattingEnabled = true;
+ this.comboBox3.Items.AddRange(new object[] {
+ "Barclays Premier League",
+ "Liga BBVA",
+ "Serie A",
+ "Ligue 1",
+ "Bundesliga"});
+ this.comboBox3.Location = new System.Drawing.Point(12, 25);
+ this.comboBox3.Name = "comboBox3";
+ this.comboBox3.Size = new System.Drawing.Size(121, 21);
+ this.comboBox3.TabIndex = 10;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(12, 73);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(61, 13);
+ this.label4.TabIndex = 11;
+ this.label4.Text = "В команде";
+ //
+ // textBox_team
+ //
+ this.textBox_team.Location = new System.Drawing.Point(12, 89);
+ this.textBox_team.Name = "textBox_team";
+ this.textBox_team.Size = new System.Drawing.Size(100, 20);
+ this.textBox_team.TabIndex = 12;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(12, 137);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(14, 13);
+ this.label2.TabIndex = 13;
+ this.label2.Text = "С";
+ //
+ // dateTimePicker1
+ //
+ this.dateTimePicker1.Location = new System.Drawing.Point(12, 153);
+ this.dateTimePicker1.Name = "dateTimePicker1";
+ this.dateTimePicker1.Size = new System.Drawing.Size(200, 20);
+ this.dateTimePicker1.TabIndex = 14;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(12, 194);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(21, 13);
+ this.label3.TabIndex = 15;
+ this.label3.Text = "По";
+ //
+ // dateTimePicker2
+ //
+ this.dateTimePicker2.Location = new System.Drawing.Point(12, 210);
+ this.dateTimePicker2.Name = "dateTimePicker2";
+ this.dateTimePicker2.Size = new System.Drawing.Size(200, 20);
+ this.dateTimePicker2.TabIndex = 16;
+ //
+ // button12
+ //
+ this.button12.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.button12.DialogResult = System.Windows.Forms.DialogResult.OK;
+ this.button12.Location = new System.Drawing.Point(23, 432);
+ this.button12.Name = "button12";
+ this.button12.Size = new System.Drawing.Size(89, 29);
+ this.button12.TabIndex = 17;
+ this.button12.Text = "Принять";
+ this.button12.UseVisualStyleBackColor = true;
+ this.button12.Click += new System.EventHandler(this.button1_Click_1);
+ //
+ // button2
+ //
+ this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.button2.Location = new System.Drawing.Point(131, 432);
+ this.button2.Name = "button2";
+ this.button2.Size = new System.Drawing.Size(88, 29);
+ this.button2.TabIndex = 18;
+ this.button2.Text = "Отмена";
+ this.button2.UseVisualStyleBackColor = true;
+ this.button2.Click += new System.EventHandler(this.button2_Click);
+ //
+ // FORMA
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(231, 473);
+ this.Controls.Add(this.button2);
+ this.Controls.Add(this.button12);
+ this.Controls.Add(this.dateTimePicker2);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.dateTimePicker1);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.textBox_team);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.comboBox3);
+ this.Controls.Add(this.label1);
+ this.Name = "FORMA";
+ this.Text = "Ex_clubs";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.ComboBox comboBox3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox textBox_team;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.DateTimePicker dateTimePicker1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.DateTimePicker dateTimePicker2;
+ private System.Windows.Forms.Button button12;
+ private System.Windows.Forms.Button button2;
+ }
+}
\ No newline at end of file
diff --git a/artem_labi/A2/A2/Ex-clubs.cs b/artem_labi/A2/A2/Ex-clubs.cs
new file mode 100644
index 0000000..1a326c2
--- /dev/null
+++ b/artem_labi/A2/A2/Ex-clubs.cs
@@ -0,0 +1,39 @@
+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;
+
+namespace ws
+{
+ public partial class FORMA : Form
+ {
+ public FORMA()
+ {
+ InitializeComponent();
+ }
+
+ public Add Data { get; set; }
+
+ private void button1_Click_1(object sender, EventArgs e)
+ {
+ Data = new Add();
+ Data.Combo3 = comboBox3.Text;
+ Data.Team = textBox_team.Text;
+ Data.Start = dateTimePicker1.Value;
+ Data.End = dateTimePicker2.Value;
+
+ }
+
+ private void button2_Click(object sender, EventArgs e)
+ {
+
+ }
+
+
+ }
+}
diff --git a/artem_labi/A2/A2/Ex-clubs.resx b/artem_labi/A2/A2/Ex-clubs.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/artem_labi/A2/A2/Ex-clubs.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/artem_labi/A2/A2/Form1.Designer.cs b/artem_labi/A2/A2/Form1.Designer.cs
new file mode 100644
index 0000000..3ab0b89
--- /dev/null
+++ b/artem_labi/A2/A2/Form1.Designer.cs
@@ -0,0 +1,278 @@
+namespace ws
+{
+ partial class Form1
+ {
+ ///
+ /// Требуется переменная конструктора.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Освободить все используемые ресурсы.
+ ///
+ /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Код, автоматически созданный конструктором форм Windows
+
+ ///
+ /// Обязательный метод для поддержки конструктора - не изменяйте
+ /// содержимое данного метода при помощи редактора кода.
+ ///
+ private void InitializeComponent()
+ {
+ this.label1 = new System.Windows.Forms.Label();
+ this.Text_Box_Surname = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.Text_Box_name = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.Text_Box_Patronymic = new System.Windows.Forms.TextBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.comboBox1 = new System.Windows.Forms.ComboBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.comboBox2 = new System.Windows.Forms.ComboBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.Date_Birthday = new System.Windows.Forms.DateTimePicker();
+ this.label6 = new System.Windows.Forms.Label();
+ this.AddItem = new System.Windows.Forms.Button();
+ this.RemoveItem = new System.Windows.Forms.Button();
+ this.Save = new System.Windows.Forms.Button();
+ this.Load = new System.Windows.Forms.Button();
+ this.listBox1 = new System.Windows.Forms.ListBox();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+ this.label1.ForeColor = System.Drawing.SystemColors.HotTrack;
+ this.label1.Location = new System.Drawing.Point(9, 19);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(70, 17);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Фамилия";
+ //
+ // Text_Box_Surname
+ //
+ this.Text_Box_Surname.Location = new System.Drawing.Point(12, 39);
+ this.Text_Box_Surname.Name = "Text_Box_Surname";
+ this.Text_Box_Surname.Size = new System.Drawing.Size(118, 20);
+ this.Text_Box_Surname.TabIndex = 2;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+ this.label2.ForeColor = System.Drawing.SystemColors.HotTrack;
+ this.label2.Location = new System.Drawing.Point(12, 75);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(35, 17);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "Имя";
+ //
+ // Text_Box_name
+ //
+ this.Text_Box_name.Location = new System.Drawing.Point(12, 95);
+ this.Text_Box_name.Name = "Text_Box_name";
+ this.Text_Box_name.Size = new System.Drawing.Size(118, 20);
+ this.Text_Box_name.TabIndex = 4;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+ this.label3.ForeColor = System.Drawing.SystemColors.HotTrack;
+ this.label3.Location = new System.Drawing.Point(12, 132);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(71, 17);
+ this.label3.TabIndex = 5;
+ this.label3.Text = "Отчество";
+ //
+ // Text_Box_Patronymic
+ //
+ this.Text_Box_Patronymic.Location = new System.Drawing.Point(12, 152);
+ this.Text_Box_Patronymic.Name = "Text_Box_Patronymic";
+ this.Text_Box_Patronymic.Size = new System.Drawing.Size(121, 20);
+ this.Text_Box_Patronymic.TabIndex = 6;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.ForeColor = System.Drawing.SystemColors.WindowText;
+ this.label4.Location = new System.Drawing.Point(12, 185);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(45, 13);
+ this.label4.TabIndex = 53;
+ this.label4.Text = "Амплуа";
+ //
+ // comboBox1
+ //
+ this.comboBox1.FormattingEnabled = true;
+ this.comboBox1.Items.AddRange(new object[] {
+ "Вратарь",
+ "Защитник",
+ "Полузащитник",
+ "Нападающий"});
+ this.comboBox1.Location = new System.Drawing.Point(9, 201);
+ this.comboBox1.Name = "comboBox1";
+ this.comboBox1.Size = new System.Drawing.Size(121, 21);
+ this.comboBox1.TabIndex = 54;
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Location = new System.Drawing.Point(9, 242);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(75, 13);
+ this.label7.TabIndex = 55;
+ this.label7.Text = "Рабочая нога";
+ //
+ // comboBox2
+ //
+ this.comboBox2.FormattingEnabled = true;
+ this.comboBox2.Items.AddRange(new object[] {
+ "Правая",
+ "Левая"});
+ this.comboBox2.Location = new System.Drawing.Point(12, 258);
+ this.comboBox2.Name = "comboBox2";
+ this.comboBox2.Size = new System.Drawing.Size(121, 21);
+ this.comboBox2.TabIndex = 56;
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+ this.label5.Location = new System.Drawing.Point(12, 296);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(111, 17);
+ this.label5.TabIndex = 57;
+ this.label5.Text = "Дата рождения";
+ //
+ // Date_Birthday
+ //
+ this.Date_Birthday.Location = new System.Drawing.Point(12, 316);
+ this.Date_Birthday.Name = "Date_Birthday";
+ this.Date_Birthday.Size = new System.Drawing.Size(121, 20);
+ this.Date_Birthday.TabIndex = 58;
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+ this.label6.Location = new System.Drawing.Point(172, 39);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(105, 17);
+ this.label6.TabIndex = 60;
+ this.label6.Text = "Бывшие клубы";
+ //
+ // AddItem
+ //
+ this.AddItem.Location = new System.Drawing.Point(175, 261);
+ this.AddItem.Name = "AddItem";
+ this.AddItem.Size = new System.Drawing.Size(82, 25);
+ this.AddItem.TabIndex = 61;
+ this.AddItem.Text = "Добавить";
+ this.AddItem.UseVisualStyleBackColor = true;
+ this.AddItem.Click += new System.EventHandler(this.AddItem_Click);
+ //
+ // RemoveItem
+ //
+ this.RemoveItem.Location = new System.Drawing.Point(263, 261);
+ this.RemoveItem.Name = "RemoveItem";
+ this.RemoveItem.Size = new System.Drawing.Size(82, 25);
+ this.RemoveItem.TabIndex = 62;
+ this.RemoveItem.Text = "Убрать";
+ this.RemoveItem.UseVisualStyleBackColor = true;
+ this.RemoveItem.Click += new System.EventHandler(this.RemoveItem_Click);
+ //
+ // Save
+ //
+ this.Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.Save.Location = new System.Drawing.Point(380, 347);
+ this.Save.Name = "Save";
+ this.Save.Size = new System.Drawing.Size(82, 25);
+ this.Save.TabIndex = 63;
+ this.Save.Text = "Сохранить";
+ this.Save.UseVisualStyleBackColor = true;
+ this.Save.Click += new System.EventHandler(this.Save_Click);
+ //
+ // Load
+ //
+ this.Load.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.Load.Location = new System.Drawing.Point(468, 347);
+ this.Load.Name = "Load";
+ this.Load.Size = new System.Drawing.Size(82, 25);
+ this.Load.TabIndex = 64;
+ this.Load.Text = "Загрузить";
+ this.Load.UseVisualStyleBackColor = true;
+ this.Load.Click += new System.EventHandler(this.Load_Click);
+ //
+ // listBox1
+ //
+ this.listBox1.FormattingEnabled = true;
+ this.listBox1.Location = new System.Drawing.Point(183, 77);
+ this.listBox1.Name = "listBox1";
+ this.listBox1.Size = new System.Drawing.Size(367, 147);
+ this.listBox1.TabIndex = 65;
+ this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged_1);
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(577, 384);
+ this.Controls.Add(this.listBox1);
+ this.Controls.Add(this.Load);
+ this.Controls.Add(this.Save);
+ this.Controls.Add(this.RemoveItem);
+ this.Controls.Add(this.AddItem);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.Date_Birthday);
+ this.Controls.Add(this.label5);
+ this.Controls.Add(this.comboBox2);
+ this.Controls.Add(this.label7);
+ this.Controls.Add(this.comboBox1);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.Text_Box_Patronymic);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.Text_Box_name);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.Text_Box_Surname);
+ this.Controls.Add(this.label1);
+ this.Name = "Form1";
+ this.Text = "Резюме футблиста";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox Text_Box_Surname;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox Text_Box_name;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox Text_Box_Patronymic;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.ComboBox comboBox1;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.ComboBox comboBox2;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.DateTimePicker Date_Birthday;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Button AddItem;
+ private System.Windows.Forms.Button RemoveItem;
+ private System.Windows.Forms.Button Save;
+ private System.Windows.Forms.Button Load;
+ private System.Windows.Forms.ListBox listBox1;
+ }
+}
+
diff --git a/artem_labi/A2/A2/Form1.cs b/artem_labi/A2/A2/Form1.cs
new file mode 100644
index 0000000..5d546c2
--- /dev/null
+++ b/artem_labi/A2/A2/Form1.cs
@@ -0,0 +1,116 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Xml.Serialization;
+
+namespace ws
+{
+ public partial class Form1 : Form
+ {
+ public Form1()
+ {
+ InitializeComponent();
+ }
+
+
+ private void Form1_Load(object sender, EventArgs e)
+ {
+
+ }
+
+
+ private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
+ {
+
+ }
+
+ private void Save_Click(object sender, EventArgs e)
+ {
+ var sfd = new SaveFileDialog() { Title = "Сохранение данных", Filter = "анкета фуболиста|*.anketa" };
+ var result = sfd.ShowDialog(this);
+ if (result != DialogResult.OK)
+ return;
+
+ var cd = new klub();
+
+ cd.Name = Text_Box_name.Text;
+ cd.Surname = Text_Box_Surname.Text;
+ cd.Patronymic = Text_Box_Patronymic.Text;
+ cd.Date = Date_Birthday.Value;
+ cd.Combo = comboBox1.Text;
+ cd.Combo2 = comboBox2.Text;
+
+ foreach (Add cn in listBox1.Items)
+ {
+ cd.clubs.Add(cn);
+ }
+
+ var xs = new XmlSerializer(typeof(klub));
+ var file = File.Create(sfd.FileName);
+ xs.Serialize(file, cd);
+ file.Close();
+
+ }
+
+ private void Load_Click(object sender, EventArgs e)
+ {
+ var ofd = new OpenFileDialog() { Title = "Загрузка данных", Filter = "Показания счётчиков|*.CNDT" };
+ var result = ofd.ShowDialog(this);
+ if (result != DialogResult.OK)
+ return;
+
+ var xs = new XmlSerializer(typeof(klub));
+ var file = File.OpenRead(ofd.FileName);
+ klub cd = (klub)xs.Deserialize(file);
+ file.Close();
+
+ Text_Box_name.Text = cd.Name;
+ Text_Box_Surname.Text = cd.Surname;
+ Text_Box_Patronymic.Text = cd.Patronymic;
+ Date_Birthday.Value = cd.Date;
+ comboBox1.Text = cd.Combo;
+ comboBox2.Text = cd.Combo2;
+
+
+ for (int index = 0; index < cd.clubs.Count; index++)
+ {
+ Add cnt = cd.clubs[index];
+ listBox1.Items.Add(cnt);
+ }
+
+ }
+
+ private void AddItem_Click(object sender, EventArgs e)
+ {
+ var form = new FORMA();
+ var result = form.ShowDialog(this);
+ if (result == DialogResult.OK)
+ {
+ listBox1.Items.Add(form.Data);
+ }
+
+ }
+
+ private void RemoveItem_Click(object sender, EventArgs e)
+ {
+ if (listBox1.SelectedIndices.Count != 0)
+ {
+ listBox1.Items.RemoveAt(listBox1.SelectedIndices[0]);
+ }
+ }
+
+
+ private void listBox1_SelectedIndexChanged_1(object sender, EventArgs e)
+ {
+
+ }
+
+ }
+}
diff --git a/artem_labi/A2/A2/Form1.resx b/artem_labi/A2/A2/Form1.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/artem_labi/A2/A2/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/artem_labi/A2/A2/Program.cs b/artem_labi/A2/A2/Program.cs
new file mode 100644
index 0000000..0dd1121
--- /dev/null
+++ b/artem_labi/A2/A2/Program.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace ws
+{
+ static class Program
+ {
+ ///
+ /// Главная точка входа для приложения.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Form1());
+ }
+ }
+}
diff --git a/artem_labi/A2/A2/Properties/AssemblyInfo.cs b/artem_labi/A2/A2/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..a61c5e6
--- /dev/null
+++ b/artem_labi/A2/A2/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Управление общими сведениями о сборке осуществляется с помощью
+// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения,
+// связанные со сборкой.
+[assembly: AssemblyTitle("A2")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("A2")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Параметр ComVisible со значением FALSE делает типы в сборке невидимыми
+// для COM-компонентов. Если требуется обратиться к типу в этой сборке через
+// COM, задайте атрибуту ComVisible значение TRUE для этого типа.
+[assembly: ComVisible(false)]
+
+// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
+[assembly: Guid("8dcae969-8b98-4b5f-b5c7-1cf8332f4f64")]
+
+// Сведения о версии сборки состоят из следующих четырех значений:
+//
+// Основной номер версии
+// Дополнительный номер версии
+// Номер построения
+// Редакция
+//
+// Можно задать все значения или принять номер построения и номер редакции по умолчанию,
+// используя "*", как показано ниже:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/artem_labi/A2/A2/Properties/Resources.Designer.cs b/artem_labi/A2/A2/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..11928a3
--- /dev/null
+++ b/artem_labi/A2/A2/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.17929
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+namespace ws.Properties {
+ using System;
+
+
+ ///
+ /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
+ ///
+ // Этот класс создан автоматически классом StronglyTypedResourceBuilder
+ // с помощью такого средства, как ResGen или Visual Studio.
+ // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
+ // с параметром /str или перестройте свой проект VS.
+ [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() {
+ }
+
+ ///
+ /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
+ ///
+ [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("ws.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Перезаписывает свойство CurrentUICulture текущего потока для всех
+ /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/artem_labi/A2/A2/Properties/Resources.resx b/artem_labi/A2/A2/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/artem_labi/A2/A2/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/artem_labi/A2/A2/Properties/Settings.Designer.cs b/artem_labi/A2/A2/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..f7bee03
--- /dev/null
+++ b/artem_labi/A2/A2/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.17929
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+namespace ws.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;
+ }
+ }
+ }
+}
diff --git a/artem_labi/A2/A2/Properties/Settings.settings b/artem_labi/A2/A2/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/artem_labi/A2/A2/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/artem_labi/A2/A2/bin/Debug/A2.exe b/artem_labi/A2/A2/bin/Debug/A2.exe
new file mode 100644
index 0000000..008c529
Binary files /dev/null and b/artem_labi/A2/A2/bin/Debug/A2.exe differ
diff --git a/artem_labi/A2/A2/bin/Debug/A2.exe.config b/artem_labi/A2/A2/bin/Debug/A2.exe.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/artem_labi/A2/A2/bin/Debug/A2.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artem_labi/A2/A2/bin/Debug/A2.pdb b/artem_labi/A2/A2/bin/Debug/A2.pdb
new file mode 100644
index 0000000..ac561de
Binary files /dev/null and b/artem_labi/A2/A2/bin/Debug/A2.pdb differ
diff --git a/artem_labi/A2/A2/bin/Debug/A2.vshost.exe b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe
new file mode 100644
index 0000000..8c84517
Binary files /dev/null and b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe differ
diff --git a/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.config b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.manifest b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.manifest
new file mode 100644
index 0000000..061c9ca
--- /dev/null
+++ b/artem_labi/A2/A2/bin/Debug/A2.vshost.exe.manifest
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/artem_labi/A2/A2/obj/Debug/A2.csproj.FileListAbsolute.txt b/artem_labi/A2/A2/obj/Debug/A2.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..d4353bb
--- /dev/null
+++ b/artem_labi/A2/A2/obj/Debug/A2.csproj.FileListAbsolute.txt
@@ -0,0 +1,10 @@
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\bin\Debug\A2.exe.config
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\bin\Debug\A2.exe
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\bin\Debug\A2.pdb
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\A2.csprojResolveAssemblyReference.cache
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\ws.FORMA.resources
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\ws.Form1.resources
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\A2.csproj.GenerateResource.Cache
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\A2.exe
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\A2.pdb
+c:\users\user\documents\visual studio 2012\Projects\A2\A2\obj\Debug\ws.Properties.Resources.resources
diff --git a/artem_labi/A2/A2/obj/Debug/A2.csproj.GenerateResource.Cache b/artem_labi/A2/A2/obj/Debug/A2.csproj.GenerateResource.Cache
new file mode 100644
index 0000000..b68d489
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/A2.csproj.GenerateResource.Cache differ
diff --git a/artem_labi/A2/A2/obj/Debug/A2.csprojResolveAssemblyReference.cache b/artem_labi/A2/A2/obj/Debug/A2.csprojResolveAssemblyReference.cache
new file mode 100644
index 0000000..4d02622
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/A2.csprojResolveAssemblyReference.cache differ
diff --git a/artem_labi/A2/A2/obj/Debug/A2.exe b/artem_labi/A2/A2/obj/Debug/A2.exe
new file mode 100644
index 0000000..008c529
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/A2.exe differ
diff --git a/artem_labi/A2/A2/obj/Debug/A2.pdb b/artem_labi/A2/A2/obj/Debug/A2.pdb
new file mode 100644
index 0000000..ac561de
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/A2.pdb differ
diff --git a/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferences.cache
new file mode 100644
index 0000000..eaec384
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..f24cb2e
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/artem_labi/A2/A2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/artem_labi/A2/A2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
new file mode 100644
index 0000000..a5d1745
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
diff --git a/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
diff --git a/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/artem_labi/A2/A2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29
diff --git a/artem_labi/A2/A2/obj/Debug/ws.FORMA.resources b/artem_labi/A2/A2/obj/Debug/ws.FORMA.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/ws.FORMA.resources differ
diff --git a/artem_labi/A2/A2/obj/Debug/ws.Form1.resources b/artem_labi/A2/A2/obj/Debug/ws.Form1.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/ws.Form1.resources differ
diff --git a/artem_labi/A2/A2/obj/Debug/ws.Properties.Resources.resources b/artem_labi/A2/A2/obj/Debug/ws.Properties.Resources.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/artem_labi/A2/A2/obj/Debug/ws.Properties.Resources.resources differ
diff --git a/artem_labi/A2/A2/q.cs b/artem_labi/A2/A2/q.cs
new file mode 100644
index 0000000..fbccfee
--- /dev/null
+++ b/artem_labi/A2/A2/q.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ws
+{
+ public class klub
+ {
+ public klub()
+ {
+ clubs = new List();
+ }
+
+ public string Name { get; set; }
+ public string Surname { get; set; }
+ public string Patronymic { get; set; }
+ public string Combo { get; set; }
+ public string Combo2 { get; set; }
+
+ public DateTime Date { get; set; }
+ public List clubs { get; set; }
+ }
+
+ public class Add
+ {
+ public string Combo3 { get; set; }
+ public string Team { get; set; }
+ public DateTime Start { get; set; }
+ public DateTime End { get; set; }
+
+ public override string ToString()
+ {
+ return string.Format("Играл в лиге: {0}, В команде: {1}, С: {2}, По: {3}", Combo3, Team, Start, End);
+ }
+ }
+}
+
+
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).sln" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).sln"
new file mode 100644
index 0000000..c9200af
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).sln"
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "C1(угадчисло)", "C1(угадчисло)\C1(угадчисло).csproj", "{C6BE3633-CF4B-4CC8-B790-809D127508E7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C6BE3633-CF4B-4CC8-B790-809D127508E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C6BE3633-CF4B-4CC8-B790-809D127508E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C6BE3633-CF4B-4CC8-B790-809D127508E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C6BE3633-CF4B-4CC8-B790-809D127508E7}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).v11.suo" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).v11.suo"
new file mode 100644
index 0000000..6e415bc
Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).v11.suo" differ
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/App.config" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/App.config"
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/App.config"
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj"
new file mode 100644
index 0000000..c1a5926
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj"
@@ -0,0 +1,58 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {C6BE3633-CF4B-4CC8-B790-809D127508E7}
+ Exe
+ Properties
+ C1_угадчисло_
+ C1%28угадчисло%29
+ v4.5
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Program.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Program.cs"
new file mode 100644
index 0000000..30ad418
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Program.cs"
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace C1_угадчисло_
+{
+ class Program
+ {
+ static int maxchislo = 101;
+ static int minchislo = 0;
+ static int srednee = ((maxchislo + minchislo)/2);
+ static bool otgadano = false;
+
+ static void Main(string[] args)
+ {
+ Console.WriteLine("Загадайте число от 0 до 100 (Чтобы подтвердить пишите yes)");
+ while (!otgadano)
+ {
+ Console.WriteLine("Ваше число меньше " + srednee + "?");
+ if (Console.ReadLine().ToLower() == "yes")
+ maxchislo = srednee;
+ else
+ minchislo = srednee;
+ srednee = ((maxchislo + minchislo) / 2);
+ if (srednee == minchislo)
+ break;
+ }
+
+ Console.WriteLine("Вы загадывли число " + minchislo + "!");
+ Console.ReadKey();
+ }
+ }
+ }
+
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Properties/AssemblyInfo.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Properties/AssemblyInfo.cs"
new file mode 100644
index 0000000..194345e
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/Properties/AssemblyInfo.cs"
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Управление общими сведениями о сборке осуществляется с помощью
+// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения,
+// связанные со сборкой.
+[assembly: AssemblyTitle("C1(угадчисло)")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("C1(угадчисло)")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Параметр ComVisible со значением FALSE делает типы в сборке невидимыми
+// для COM-компонентов. Если требуется обратиться к типу в этой сборке через
+// COM, задайте атрибуту ComVisible значение TRUE для этого типа.
+[assembly: ComVisible(false)]
+
+// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
+[assembly: Guid("92a28fd9-0c72-462a-aab7-f435c0eea8eb")]
+
+// Сведения о версии сборки состоят из следующих четырех значений:
+//
+// Основной номер версии
+// Дополнительный номер версии
+// Номер построения
+// Редакция
+//
+// Можно задать все значения или принять номер построения и номер редакции по умолчанию,
+// используя "*", как показано ниже:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe"
new file mode 100644
index 0000000..5f113e0
Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" differ
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe.config" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe.config"
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe.config"
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb"
new file mode 100644
index 0000000..4b4598e
Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" differ
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe"
new file mode 100644
index 0000000..8c84517
Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe" differ
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.config" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.config"
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.config"
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.manifest" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.manifest"
new file mode 100644
index 0000000..061c9ca
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/bin/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).vshost.exe.manifest"
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj.FileListAbsolute.txt" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj.FileListAbsolute.txt"
new file mode 100644
index 0000000..3b573e5
--- /dev/null
+++ "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).csproj.FileListAbsolute.txt"
@@ -0,0 +1,10 @@
+c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).exe.config
+c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).exe
+c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).pdb
+c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\obj\Debug\C1(угадчисло).exe
+c:\users\user\documents\visual studio 2012\Projects\C1(угадчисло)\C1(угадчисло)\obj\Debug\C1(угадчисло).pdb
+C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).exe.config
+C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\obj\Debug\C1(угадчисло).exe
+C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\obj\Debug\C1(угадчисло).pdb
+C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).exe
+C:\Users\User\Desktop\C1(угадчисло)\C1(угадчисло)\bin\Debug\C1(угадчисло).pdb
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe"
new file mode 100644
index 0000000..5f113e0
Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).exe" differ
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb"
new file mode 100644
index 0000000..4b4598e
Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276).pdb" differ
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache"
new file mode 100644
index 0000000..f4b5473
Binary files /dev/null and "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache" differ
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs"
new file mode 100644
index 0000000..e69de29
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs"
new file mode 100644
index 0000000..e69de29
diff --git "a/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs" "b/artem_labi/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/C1(\321\203\320\263\320\260\320\264\321\207\320\270\321\201\320\273\320\276)/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs"
new file mode 100644
index 0000000..e69de29
diff --git a/artem_labi/D1/D1.sln b/artem_labi/D1/D1.sln
new file mode 100644
index 0000000..f0312be
--- /dev/null
+++ b/artem_labi/D1/D1.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D1", "D1\D1.csproj", "{5E3545B6-1D3D-44A8-916C-88D7AED368F4}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5E3545B6-1D3D-44A8-916C-88D7AED368F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5E3545B6-1D3D-44A8-916C-88D7AED368F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5E3545B6-1D3D-44A8-916C-88D7AED368F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5E3545B6-1D3D-44A8-916C-88D7AED368F4}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/artem_labi/D1/D1.v12.suo b/artem_labi/D1/D1.v12.suo
new file mode 100644
index 0000000..c0eb983
Binary files /dev/null and b/artem_labi/D1/D1.v12.suo differ
diff --git a/artem_labi/D1/D1/App.config b/artem_labi/D1/D1/App.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/artem_labi/D1/D1/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artem_labi/D1/D1/BitmapImager.cs b/artem_labi/D1/D1/BitmapImager.cs
new file mode 100644
index 0000000..189ee2d
--- /dev/null
+++ b/artem_labi/D1/D1/BitmapImager.cs
@@ -0,0 +1,1018 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.Drawing.Drawing2D;
+using System.IO;
+
+namespace D1
+{
+ ///
+ /// This class provides methods to Resize and Apply Filters to bitmap images.
+ ///
+ /// ideas from
+ /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp11152001.asp
+ /// http://www.msnewsgroups.net/group/microsoft.public.dotnet.languages.csharp/topic9351.aspx
+ ///
+ public unsafe class ImagerBitmap : IDisposable
+ {
+ ///
+ /// This struct is used to hold the RGB values when we find a pixel using the pointer
+ ///
+ private struct PixelData
+ {
+ public byte Blue;
+ public byte Green;
+ public byte Red;
+ }
+ ///
+ /// This object contains pointer addressable information about the bitmap
+ ///
+ private BitmapData _bitmapData = null;
+ ///
+ /// The pointer to the upper left corner of the bitmap
+ ///
+ private byte* pBase = null;
+ private Bitmap _bitmap = null;
+ ///
+ /// Get the Image we are working with
+ ///
+ public Bitmap Bitmap
+ {
+ get
+ {
+ return _bitmap;
+ }
+ }
+ ///
+ /// Constructor
+ ///
+ /// Bitmap to use as the basis of the Imager
+ public ImagerBitmap(Bitmap b)
+ {
+ if (b.PixelFormat != PixelFormat.Format24bppRgb)
+ {
+ //Convert the image into Format24bppRgb since our unmanaged code
+ //can walk that image type
+ Bitmap b2 = new Bitmap(b.Size.Width, b.Size.Height, PixelFormat.Format24bppRgb);
+ Graphics g = Graphics.FromImage(b2);
+ g.DrawImage(b, new Point(0, 0));
+ _bitmap = b2;
+ g.Dispose();
+ }
+ else
+ {
+ _bitmap = b;
+ }
+ Width = b.Width;
+ Height = b.Height;
+ LockBitmap();
+ }
+ ///
+ /// Load a pixel with color
+ ///
+ /// Column
+ /// Row
+ /// Color
+ public void SetPixel(int x, int y, Color c)
+ {
+ if (x < 0 || y < 0 || x >= Width || y >= Height)
+ return;
+ PixelData* p = PixelAt(x, y);
+ p->Red = c.R;
+ p->Green = c.G;
+ p->Blue = c.B;
+ }
+
+ public int Height { get; set; }
+
+ public int Width { get; set; }
+
+ public void SetPixel(float x, float y, Color c)
+ {
+ SetPixel((int)x, (int)y, c);
+ }
+ ///
+ /// Get a pixel
+ ///
+ /// Column
+ /// Row
+ /// Color
+ public Color GetPixel(int x, int y)
+ {
+ PixelData* p = PixelAt(x, y);
+ return Color.FromArgb((int)p->Red, (int)p->Green, (int)p->Blue);
+ }
+ ///
+ /// Get the Grey value for a give pixel
+ ///
+ /// Column
+ /// Row
+ /// Grey value for the pixel
+ private int GetGreyPixel(int column, int row)
+ {
+ return (int)((GetPixel(column, row).R * 0.3) + (GetPixel(column, row).G * 0.59)
+ + (GetPixel(column, row).B * 0.11));
+ }
+ ///
+ /// Use the 2 most signifigant bits from each of the values in the RGB to get an in value
+ /// for the histogram
+ ///
+ /// Column
+ /// Row
+ /// Histogram Value
+ public int GetRGBHistogramValue(int column, int row)
+ {
+ Color c = GetPixel(column, row);
+ int val = 0;
+ int tmp = 0;
+ tmp = c.R;
+ if (tmp - 128 > 0)
+ {
+ tmp -= 128;
+ val += 32;
+ }
+ if (tmp - 64 > 0)
+ {
+ val += 16;
+ }
+ tmp = c.G;
+ if (tmp - 128 > 0)
+ {
+ tmp -= 128;
+ val += 8;
+ }
+ if (tmp - 64 > 0)
+ {
+ val += 4;
+ }
+ tmp = c.B;
+ if (tmp - 128 > 0)
+ {
+ tmp -= 128;
+ val += 2;
+ }
+ if (tmp - 64 > 0)
+ {
+ val += 1;
+ }
+ return val;
+ }
+ ///
+ /// Lock the bitmap so we can use the pointers to access it
+ ///
+ private void LockBitmap()
+ {
+ _bitmapData = _bitmap.LockBits(new Rectangle(0, 0, _bitmap.Width, _bitmap.Height),
+ ImageLockMode.ReadWrite, _bitmap.PixelFormat);
+ pBase = (Byte*)_bitmapData.Scan0.ToPointer();
+ }
+ ///
+ /// Get a pointer to a pixel
+ ///
+ /// Column
+ /// Row
+ ///
+ private unsafe PixelData* PixelAt(int x, int y)
+ {
+ return (PixelData*)(pBase + y * _bitmapData.Stride + x * sizeof(PixelData));
+ }
+ ///
+ /// Unlock the bitmap to end the pointer access session
+ ///
+ private void UnlockBitmap()
+ {
+ _bitmap.UnlockBits(_bitmapData);
+ _bitmapData = null;
+ pBase = null;
+ }
+ ///
+ /// Get a 3x3 matrix of the pixles around the center
+ ///
+ /// Center Row
+ /// Center Column
+ /// 3x3 matrix of the pixles around the center
+ private Color[,] Get3x3(int row, int column)
+ {
+ Color[,] c = new Color[3, 3];
+ c[0, 0] = this.GetPixel(column - 1, row - 1);
+ c[0, 1] = this.GetPixel(column - 1, row);
+ c[0, 2] = this.GetPixel(column - 1, row + 1);
+ c[1, 0] = this.GetPixel(column, row - 1);
+ c[1, 1] = this.GetPixel(column, row);
+ c[1, 2] = this.GetPixel(column, row + 1);
+ c[2, 0] = this.GetPixel(column + 1, row - 1);
+ c[2, 1] = this.GetPixel(column + 1, row);
+ c[2, 2] = this.GetPixel(column + 1, row + 1);
+ return c;
+ }
+ private int[,] GetGrey3x3(int row, int column)
+ {
+ int[,] c = new int[3, 3];
+ c[0, 0] = this.GetGreyPixel(column - 1, row - 1);
+ c[0, 1] = this.GetGreyPixel(column - 1, row);
+ c[0, 2] = this.GetGreyPixel(column - 1, row + 1);
+ c[1, 0] = this.GetGreyPixel(column, row - 1);
+ c[1, 1] = this.GetGreyPixel(column, row);
+ c[1, 2] = this.GetGreyPixel(column, row + 1);
+ c[2, 0] = this.GetGreyPixel(column + 1, row - 1);
+ c[2, 1] = this.GetGreyPixel(column + 1, row);
+ c[2, 2] = this.GetGreyPixel(column + 1, row + 1);
+ return c;
+ }
+ ///
+ /// Get at 5x5 matrix of the pixels around the center
+ ///
+ /// Center Row
+ /// Center Column
+ /// 5x5 matrix of pixles around center
+ private Color[,] Get5x5(int row, int column)
+ {
+ Color[,] c = new Color[5, 5];
+ c[0, 0] = this.GetPixel(column - 2, row - 2);
+ c[0, 1] = this.GetPixel(column - 2, row - 1);
+ c[0, 2] = this.GetPixel(column - 2, row);
+ c[0, 3] = this.GetPixel(column - 2, row + 1);
+ c[0, 4] = this.GetPixel(column - 2, row + 2);
+ c[1, 0] = this.GetPixel(column - 1, row - 2);
+ c[1, 1] = this.GetPixel(column - 1, row - 1);
+ c[1, 2] = this.GetPixel(column - 1, row);
+ c[1, 3] = this.GetPixel(column - 1, row + 1);
+ c[1, 4] = this.GetPixel(column - 1, row + 2);
+ c[2, 0] = this.GetPixel(column, row - 2);
+ c[2, 1] = this.GetPixel(column, row - 1);
+ c[2, 2] = this.GetPixel(column, row);
+ c[2, 3] = this.GetPixel(column, row + 1);
+ c[2, 4] = this.GetPixel(column, row + 2);
+ c[3, 0] = this.GetPixel(column + 1, row - 2);
+ c[3, 1] = this.GetPixel(column + 1, row - 1);
+ c[3, 2] = this.GetPixel(column + 1, row);
+ c[3, 3] = this.GetPixel(column + 1, row + 1);
+ c[3, 4] = this.GetPixel(column + 1, row + 2);
+ c[4, 0] = this.GetPixel(column + 2, row - 2);
+ c[4, 1] = this.GetPixel(column + 2, row - 1);
+ c[4, 2] = this.GetPixel(column + 2, row);
+ c[4, 3] = this.GetPixel(column + 2, row + 1);
+ c[4, 4] = this.GetPixel(column + 2, row + 2);
+ return c;
+ }
+ ///
+ /// Perform laplace edge detection on the image
+ ///
+ /// Source Image
+ /// Edges
+ public static Bitmap Laplace(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 1; column < i.Bitmap.Width - 1; column++)
+ {
+ for (int row = 1; row < i.Bitmap.Height - 1; row++)
+ {
+ Color[,] c = i.Get3x3(row, column);
+ int red = (((c[0, 0].R + c[0, 1].R + c[0, 2].R + c[1, 0].R + c[1, 2].R + c[2, 0].R
+ + c[2, 1].R + c[2, 2].R) * -1) + (c[1, 1].R * 8)) + 128;
+ int green = (((c[0, 0].G + c[0, 1].G + c[0, 2].G + c[1, 0].G + c[1, 2].G
+ + c[2, 0].G + c[2, 1].G + c[2, 2].G) * -1) + (c[1, 1].G * 8)) + 128;
+ int blue = (((c[0, 0].B + c[0, 1].B + c[0, 2].B + c[1, 0].B + c[1, 2].B + c[2, 0].B
+ + c[2, 1].B + c[2, 2].B) * -1) + (c[1, 1].B * 8)) + 128;
+ if (red >= 128) red = 0; else red = 255;
+ if (green >= 128) green = 0; else green = 255;
+ if (blue >= 128) blue = 0; else blue = 255;
+ i2.SetPixel(column, row, Color.FromArgb(red, green, blue));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+ public static Bitmap LaplaceGreyscale(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 1; column < i.Bitmap.Width - 1; column++)
+ {
+ for (int row = 1; row < i.Bitmap.Height - 1; row++)
+ {
+ int[,] c = i.GetGrey3x3(row, column);
+ int val = (((c[0, 0] + c[0, 1] + c[0, 2] + c[1, 0] + c[1, 2] + c[2, 0] + c[2, 1]
+ + c[2, 2]) * -1) + (c[1, 1] * 8)) + 128;
+ if (val >= 128) val = 0; else val = 255;
+ i2.SetPixel(column, row, Color.FromArgb(val, val, val));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+
+ ///
+ /// Subtract b2 from b1 and normalize the image
+ ///
+ /// Image
+ /// Image
+ /// Normalized Image
+ public static Bitmap Subtract(Bitmap b1, Bitmap b2)
+ {
+ if (b1.Width != b2.Width || b1.Height != b2.Height)
+ throw new Exception("Images not the same size cannot subtract");
+ ImagerBitmap i = new ImagerBitmap(b1.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b2.Clone() as Bitmap);
+ int[,] red = new int[i.Bitmap.Width, i.Bitmap.Height];
+ int[,] blue = new int[i.Bitmap.Width, i.Bitmap.Height];
+ int[,] green = new int[i.Bitmap.Width, i.Bitmap.Height];
+ int redMax = 0;
+ int redMin = 0;
+ int redRange = 0;
+ int blueMax = 0;
+ int blueMin = 0;
+ int blueRange = 0;
+ int greenMax = 0;
+ int greenMin = 0;
+ int greenRange = 0;
+ //fill the arrays with the subtracted values
+ //Keep track of the min and max values for later
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ Color c1 = i.GetPixel(column, row);
+ Color c2 = i2.GetPixel(column, row);
+ red[column, row] = c2.R - c1.R;
+ blue[column, row] = c2.B - c1.B;
+ green[column, row] = c2.G - c1.G;
+ if (red[column, row] > redMax) redMax = red[column, row];
+ if (red[column, row] < redMin) redMin = red[column, row];
+ if (blue[column, row] > blueMax) blueMax = blue[column, row];
+ if (blue[column, row] < blueMin) blueMin = blue[column, row];
+ if (green[column, row] > greenMax) greenMax = green[column, row];
+ if (green[column, row] < greenMin) greenMin = green[column, row];
+ }
+ }
+ //find the range of the min an max
+ redRange = Math.Abs(redMax - redMin);
+ blueRange = Math.Abs(blueMax - blueMin);
+ greenRange = Math.Abs(greenRange - greenMin);
+ //Normalize the values in the arrays and load the result image
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ if (redRange != 0)
+ red[column, row] = 255 - (((redMax - red[column, row]) * 255) / redRange);
+ if (blueRange != 0)
+ blue[column, row] = 255 - (((blueMax - blue[column, row]) * 255) / blueRange);
+ if (greenRange != 0)
+ green[column, row] = 255 - (((greenMax - green[column, row]) * 255) / greenRange);
+ if (red[column, row] < 0)
+ red[column, row] = 0;
+ if (blue[column, row] < 0)
+ blue[column, row] = 0;
+ if (green[column, row] < 0)
+ green[column, row] = 0;
+ i2.SetPixel(column, row, Color.FromArgb(red[column, row], green[column, row],
+ blue[column, row]));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Get the red pixels from the bitmap
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap GetRedBitmap(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ i.SetPixel(column, row, Color.FromArgb(i.GetPixel(column, row).R, 0, 0));
+ }
+ }
+ i.UnlockBitmap();
+ return i.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Get the Blue Pixes from the bitmap
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap GetBlueBitmap(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ i.SetPixel(column, row, Color.FromArgb(0, 0, i.GetPixel(column, row).B));
+ }
+ }
+ i.UnlockBitmap();
+ return i.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Get the green pixels from the image
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap GetGreenBitmap(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ i.SetPixel(column, row, Color.FromArgb(0, i.GetPixel(column, row).G, 0));
+ }
+ }
+ i.UnlockBitmap();
+ return i.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Make the image Grey scale
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap GetGreyScaleBitmap(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ int val = i.GetGreyPixel(column, row);
+ i.SetPixel(column, row, Color.FromArgb(val, val, val));
+ }
+ }
+ i.UnlockBitmap();
+ return i.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Make the image black and white
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap GetBlackAndWhiteBitmap(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ double[] histogram = new double[256];
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ histogram[i.GetGreyPixel(column, row)]++;
+ }
+ }
+ //find the position of the max value on the left
+ int leftK = 0;
+ for (int k = 0; k < 128; k++)
+ {
+ if (histogram[k] > histogram[leftK]) leftK = k;
+ }
+ //find the position of the max value on the right
+ int rightK = 0;
+ for (int k = 128; k < 256; k++)
+ {
+ if (histogram[k] > histogram[rightK]) rightK = k;
+ }
+ //find the min value between the 2 local maxes
+ int localMin = rightK;
+ for (int k = leftK; k < rightK; k++)
+ {
+ if (histogram[k] < histogram[localMin]) localMin = k;
+ }
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ int val = (i.GetPixel(column, row).R + i.GetPixel(column, row).G
+ + i.GetPixel(column, row).B) / 3;
+ if (val > localMin)
+ val = 255;
+ else
+ val = 0;
+ i.SetPixel(column, row, Color.FromArgb(val, val, val));
+ }
+ }
+ i.UnlockBitmap();
+ return i.Bitmap.Clone() as Bitmap;
+ }
+ public static Bitmap GetBlackAndWhiteBitmap2(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ double[] histogram = new double[256];
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ histogram[i.GetGreyPixel(column, row)]++;
+ }
+ }
+ double k = b.Width * b.Height;
+ double half = k / 2;
+ int middle = 0;
+ while (k > half)
+ {
+ k = k - histogram[middle];
+ middle++;
+ }
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ int val = (i.GetPixel(column, row).R + i.GetPixel(column, row).G
+ + i.GetPixel(column, row).B) / 3;
+ if (val > middle)
+ val = 255;
+ else
+ val = 0;
+ i.SetPixel(column, row, Color.FromArgb(val, val, val));
+ }
+ }
+ i.UnlockBitmap();
+ return i.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Perform a Box filter using a 3x3 Mask
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap Box3x3(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 1; column < i.Bitmap.Width - 1; column++)
+ {
+ for (int row = 1; row < i.Bitmap.Height - 1; row++)
+ {
+ Color[,] c = i.Get3x3(row, column);
+ int red = (c[0, 0].R + c[0, 1].R + c[0, 2].R + c[1, 0].R + c[1, 2].R + c[2, 0].R
+ + c[2, 1].R + c[2, 2].R + c[1, 1].R) / 9;
+ int green = (c[0, 0].G + c[0, 1].G + c[0, 2].G + c[1, 0].G + c[1, 2].G + c[2, 0].G
+ + c[2, 1].G + c[2, 2].G + c[1, 1].G) / 9;
+ int blue = (c[0, 0].B + c[0, 1].B + c[0, 2].B + c[1, 0].B + c[1, 2].B + c[2, 0].B
+ + c[2, 1].B + c[2, 2].B + c[1, 1].B) / 9;
+ i2.SetPixel(column, row, Color.FromArgb(red, green, blue));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Perform a Bionomial filter using a 3x3 Mask
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap Binomial3x3(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 1; column < i.Bitmap.Width - 1; column++)
+ {
+ for (int row = 1; row < i.Bitmap.Height - 1; row++)
+ {
+ Color[,] c = i.Get3x3(row, column);
+ int red = ((c[0, 0].R * 1) + (c[0, 1].R * 2) + (c[0, 2].R * 1) + (c[1, 0].R * 2)
+ + (c[1, 1].R * 4) + (c[1, 2].R * 2) + (c[2, 0].R * 1) + (c[2, 1].R * 2)
+ + (c[2, 2].R * 1)) / 16;
+ int green = ((c[0, 0].G * 1) + (c[0, 1].G * 2) + (c[0, 2].G * 1) + (c[1, 0].G * 2)
+ + (c[1, 1].G * 4) + (c[1, 2].G * 2) + (c[2, 0].G * 1) + (c[2, 1].G * 2)
+ + (c[2, 2].G * 1)) / 16;
+ int blue = ((c[0, 0].B * 1) + (c[0, 1].B * 2) + (c[0, 2].B * 1) + (c[1, 0].B * 2)
+ + (c[1, 1].B * 4) + (c[1, 2].B * 2) + (c[2, 0].B * 1) + (c[2, 1].B * 2)
+ + (c[2, 2].B * 1)) / 16;
+ i2.SetPixel(column, row, Color.FromArgb(red, green, blue));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Perform a Median filter using a 3x3 mask
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap Median3x3(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 1; column < i.Bitmap.Width - 1; column++)
+ {
+ for (int row = 1; row < i.Bitmap.Height - 1; row++)
+ {
+ Color[,] c = i.Get3x3(row, column);
+ int red = Median(c[0, 0].R, c[0, 1].R, c[0, 2].R, c[1, 0].R, c[1, 1].R, c[1, 2].R,
+ c[2, 0].R, c[2, 1].R, c[2, 2].R);
+ int green = Median(c[0, 0].G, c[0, 1].G, c[0, 2].G, c[1, 0].G, c[1, 1].G,
+ c[1, 2].G, c[2, 0].G, c[2, 1].G, c[2, 2].G);
+ int blue = Median(c[0, 0].B, c[0, 1].B, c[0, 2].B, c[1, 0].B, c[1, 1].B, c[1, 2].B,
+ c[2, 0].B, c[2, 1].B, c[2, 2].B);
+ i2.SetPixel(column, row, Color.FromArgb(red, green, blue));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Perform a Box filter using a 5x5 Mask
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap Box5x5(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 2; column < i.Bitmap.Width - 2; column++)
+ {
+ for (int row = 2; row < i.Bitmap.Height - 2; row++)
+ {
+ Color[,] c = i.Get5x5(row, column);
+ int red = (c[0, 0].R + c[0, 1].R + c[0, 2].R + c[0, 3].R + c[0, 4].R + c[1, 0].R
+ + c[1, 1].R + c[1, 2].R + c[1, 3].R + c[1, 4].R + c[2, 0].R + c[2, 1].R
+ + c[2, 2].R + c[2, 3].R + c[2, 4].R + c[3, 0].R + c[3, 1].R + c[3, 2].R
+ + c[3, 3].R + c[3, 4].R + c[4, 0].R + c[4, 1].R + c[4, 2].R + c[4, 3].R
+ + c[4, 4].R) / 25;
+ int green = (c[0, 0].G + c[0, 1].G + c[0, 2].G + c[0, 3].G + c[0, 4].G + c[1, 0].G
+ + c[1, 1].G + c[1, 2].G + c[1, 3].G + c[1, 4].G + c[2, 0].G + c[2, 1].G
+ + c[2, 2].G + c[2, 3].G + c[2, 4].G + c[3, 0].G + c[3, 1].G + c[3, 2].G
+ + c[3, 3].G + c[3, 4].G + c[4, 0].G + c[4, 1].G + c[4, 2].G + c[4, 3].G
+ + c[4, 4].G) / 25;
+ int blue = (c[0, 0].B + c[0, 1].B + c[0, 2].B + c[0, 3].B + c[0, 4].B + c[1, 0].B
+ + c[1, 1].B + c[1, 2].B + c[1, 3].B + c[1, 4].B + c[2, 0].B + c[2, 1].B
+ + c[2, 2].B + c[2, 3].B + c[2, 4].B + c[3, 0].B + c[3, 1].B + c[3, 2].B
+ + c[3, 3].B + c[3, 4].B + c[4, 0].B + c[4, 1].B + c[4, 2].B + c[4, 3].B
+ + c[4, 4].B) / 25;
+ i2.SetPixel(column, row, Color.FromArgb(red, green, blue));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Perform a Binomial filter using a 5x5 Mask
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap Binomial5x5(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 2; column < i.Bitmap.Width - 2; column++)
+ {
+ for (int row = 2; row < i.Bitmap.Height - 2; row++)
+ {
+ Color[,] c = i.Get5x5(row, column);
+ int red = ((c[0, 0].R * 1) + (c[0, 1].R * 4) + (c[0, 2].R * 6) + (c[0, 3].R * 4)
+ + (c[0, 4].R * 1) + (c[1, 0].R * 4) + (c[1, 1].R * 16) + (c[1, 2].R * 24)
+ + (c[1, 3].R * 16) + (c[1, 4].R * 4) + (c[2, 0].R * 6) + (c[2, 1].R * 24)
+ + (c[2, 2].R * 36) + (c[2, 3].R * 24) + (c[2, 4].R * 6) + (c[3, 0].R * 4)
+ + (c[3, 1].R * 16) + (c[3, 2].R * 24) + (c[3, 3].R * 16) + (c[3, 4].R * 4)
+ + (c[4, 0].R * 1) + (c[4, 1].R * 4) + (c[4, 2].R * 6) + (c[4, 3].R * 4)
+ + (c[4, 4].R * 1)) / 256;
+ int green = ((c[0, 0].G * 1) + (c[0, 1].G * 4) + (c[0, 2].G * 6) + (c[0, 3].G * 4)
+ + (c[0, 4].G * 1) + (c[1, 0].G * 4) + (c[1, 1].G * 16) + (c[1, 2].G * 24)
+ + (c[1, 3].G * 16) + (c[1, 4].G * 4) + (c[2, 0].G * 6) + (c[2, 1].G * 24)
+ + (c[2, 2].G * 36) + (c[2, 3].G * 24) + (c[2, 4].G * 6) + (c[3, 0].G * 4)
+ + (c[3, 1].G * 16) + (c[3, 2].G * 24) + (c[3, 3].G * 16) + (c[3, 4].G * 4)
+ + (c[4, 0].G * 1) + (c[4, 1].G * 4) + (c[4, 2].G * 6) + (c[4, 3].G * 4)
+ + (c[4, 4].G * 1)) / 256;
+ int blue = ((c[0, 0].B * 1) + (c[0, 1].B * 4) + (c[0, 2].B * 6) + (c[0, 3].B * 4)
+ + (c[0, 4].B * 1) + (c[1, 0].B * 4) + (c[1, 1].B * 16) + (c[1, 2].B * 24)
+ + (c[1, 3].B * 16) + (c[1, 4].B * 4) + (c[2, 0].B * 6) + (c[2, 1].B * 24)
+ + (c[2, 2].B * 36) + (c[2, 3].B * 24) + (c[2, 4].B * 6) + (c[3, 0].B * 4)
+ + (c[3, 1].B * 16) + (c[3, 2].B * 24) + (c[3, 3].B * 16) + (c[3, 4].B * 4)
+ + (c[4, 0].B * 1) + (c[4, 1].B * 4) + (c[4, 2].B * 6) + (c[4, 3].B * 4)
+ + (c[4, 4].B * 1)) / 256;
+ i2.SetPixel(column, row, Color.FromArgb(red, green, blue));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Perform a Median fiter using a 5x5 Mask
+ ///
+ /// Image to Process
+ /// Filtered Image
+ public static Bitmap Median5x5(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ ImagerBitmap i2 = new ImagerBitmap(b.Clone() as Bitmap);
+ for (int column = 2; column < i.Bitmap.Width - 2; column++)
+ {
+ for (int row = 2; row < i.Bitmap.Height - 2; row++)
+ {
+ Color[,] c = i.Get5x5(row, column);
+ int red = Median(c[0, 0].R, c[0, 1].R, c[0, 2].R, c[0, 3].R, c[0, 4].R, c[1, 0].R,
+ c[1, 1].R, c[1, 2].R, c[1, 3].R, c[1, 4].R, c[2, 0].R, c[2, 1].R, c[2, 2].R,
+ c[2, 3].R, c[2, 4].R, c[3, 0].R, c[3, 1].R, c[3, 2].R, c[3, 3].R, c[3, 4].R,
+ c[4, 0].R, c[4, 1].R, c[4, 2].R, c[4, 3].R, c[4, 4].R);
+ int green = Median(c[0, 0].G, c[0, 1].G, c[0, 2].G, c[0, 3].G, c[0, 4].G, c[1, 0].G,
+ c[1, 1].G, c[1, 2].G, c[1, 3].G, c[1, 4].G, c[2, 0].G, c[2, 1].G, c[2, 2].G,
+ c[2, 3].G, c[2, 4].G, c[3, 0].G, c[3, 1].G, c[3, 2].G, c[3, 3].G, c[3, 4].G,
+ c[4, 0].G, c[4, 1].G, c[4, 2].G, c[4, 3].G, c[4, 4].G);
+ int blue = Median(c[0, 0].B, c[0, 1].B, c[0, 2].B, c[0, 3].B, c[0, 4].B, c[1, 0].B,
+ c[1, 1].B, c[1, 2].B, c[1, 3].B, c[1, 4].B, c[2, 0].B, c[2, 1].B, c[2, 2].B,
+ c[2, 3].B, c[2, 4].B, c[3, 0].B, c[3, 1].B, c[3, 2].B, c[3, 3].B, c[3, 4].B,
+ c[4, 0].B, c[4, 1].B, c[4, 2].B, c[4, 3].B, c[4, 4].B);
+ i2.SetPixel(column, row, Color.FromArgb(red, green, blue));
+ }
+ }
+ i.UnlockBitmap();
+ i2.UnlockBitmap();
+ return i2.Bitmap.Clone() as Bitmap;
+ }
+ ///
+ /// Find the Median value in an array of int's
+ ///
+ /// Array of values
+ /// Median value
+ private static int Median(params int[] values)
+ {
+ Array.Sort(values);
+ return values[((values.Length - 1) / 2) + 1];
+ }
+ ///
+ /// Resize an image
+ ///
+ /// Image to resize
+ /// Width in pixels
+ /// Height in pixels
+ /// New Image
+ public static Bitmap Resize(Bitmap b, int width, int height)
+ {
+ Bitmap b2 = new Bitmap(width, height, PixelFormat.Format24bppRgb);
+ Graphics g = Graphics.FromImage(b2);
+ g.DrawImage(b, new Rectangle(0, 0, width, height), 0, 0, b.Width, b.Height,
+ GraphicsUnit.Pixel);
+ g.Dispose();
+ return b2;
+ }
+ ///
+ /// Generate a greyscale histogram chart from the bitmap
+ ///
+ /// Image to use
+ /// Histogram chart
+ /*public static Bitmap GenerateGreyscaleHistogram(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ double[] histogram = new double[256];
+ string[] lbls = new string[256];
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ histogram[i.GetGreyPixel(column, row)]++;
+ }
+ }
+ i.UnlockBitmap();
+ for (int j = 0; j < 256; j++)
+ {
+ if ((j % 30) == 0)
+ {
+ lbls[j] = j.ToString();
+ }
+ else
+ {
+ lbls[j] = string.Empty;
+ }
+ }
+ XYChart c = new XYChart(b.Width + 60, b.Height + 60);
+ c.setPlotArea(40, 40, b.Width - 20, b.Height - 20);
+ c.addTitle("Greyscale Historgram", "Arial Bold", 10).setBackground(
+ Chart.metalColor(0x9999ff), -1, 1);
+ c.addBarLayer(histogram);
+ c.xAxis().setLabels(lbls);
+ return c.makeImage() as Bitmap;
+ }*/
+ ///
+ /// Generate a histogram chart from the bitmap
+ ///
+ /// Image to use
+ /// Histogram chart
+ /* public static Bitmap GenerateHistogram(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ double[] histogram = new double[64];
+ string[] lbls = new string[64];
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ histogram[i.GetRGBHistogramValue(column, row)]++;
+ }
+ }
+ i.UnlockBitmap();
+ for (int j = 0; j < 64; j++)
+ {
+ if ((j % 10) == 0)
+ {
+ lbls[j] = j.ToString();
+ }
+ else
+ {
+ lbls[j] = string.Empty;
+ }
+ }
+ XYChart c = new XYChart(b.Width + 60, b.Height + 60);
+ c.setPlotArea(40, 40, b.Width - 20, b.Height - 20);
+ c.addTitle("Color Historgram", "Arial Bold", 10).setBackground(
+ Chart.metalColor(0x9999ff), -1, 1);
+ c.addBarLayer(histogram);
+ c.xAxis().setLabels(lbls);
+ return c.makeImage() as Bitmap;
+ }*/
+ ///
+ /// Generate a Chart of a Scan line
+ ///
+ /// Image to use
+ /// Row to use
+ /// Scan Line Chart
+ /*public static Bitmap GenerateScanLineChart(Bitmap b, int row)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ double[] luminance = new double[b.Width];
+ string[] lbls = new string[b.Width];
+ double max = double.MinValue;
+ double min = double.MaxValue;
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ luminance[column] = i.GetGreyPixel(column, row);
+ if (luminance[column] > max) max = luminance[column];
+ if (luminance[column] < min) min = luminance[column];
+ if ((column % 40) == 0)
+ {
+ lbls[column] = column.ToString();
+ }
+ else
+ {
+ lbls[column] = string.Empty;
+ }
+ }
+ i.UnlockBitmap();
+ XYChart c = new XYChart(b.Width + 60, b.Height + 60);
+ c.setPlotArea(40, 40, b.Width - 20, b.Height - 20);
+ c.addTitle(string.Format("Pixel Luminance for Scan Line {0}, STF {1:0.00}",
+ row.ToString(),
+ (max - min) / (max + min)), "Arial Bold", 10).setBackground(
+ Chart.metalColor(0x9999ff), -1, 1);
+ c.addLineLayer(luminance);
+ c.xAxis().setLabels(lbls);
+ return c.makeImage() as Bitmap;
+ }*/
+ ///
+ /// Generate a Chart of a Vertical Scan line
+ ///
+ /// Image to use
+ /// Column to use
+ /// Scan Line Chart
+ /*public static Bitmap GenerateVerticalScanLineChart(Bitmap b, int col)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ double[] luminance = new double[b.Height];
+ string[] lbls = new string[b.Height];
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ luminance[row] = i.GetGreyPixel(col, row);
+ if ((row % 40) == 0)
+ {
+ lbls[row] = row.ToString();
+ }
+ else
+ {
+ lbls[row] = string.Empty;
+ }
+ }
+ i.UnlockBitmap();
+ XYChart c = new XYChart(b.Width + 60, b.Height + 60);
+ c.setPlotArea(40, 40, b.Width - 20, b.Height - 20);
+ c.addTitle("Pixel Luminance for Vertical Scan Line " + col.ToString(),
+ "Arial Bold", 10).setBackground(
+ Chart.metalColor(0x9999ff), -1, 1);
+ c.addLineLayer(luminance);
+ c.xAxis().setLabels(lbls);
+ return c.makeImage() as Bitmap;
+ }*/
+ public static void GenerateExcelFile(Bitmap b)
+ {
+ ImagerBitmap i = new ImagerBitmap(b.Clone() as Bitmap);
+ string fileName = "output.txt";
+ int f = 0;
+ using (StreamWriter sw = new StreamWriter(fileName, false))
+ {
+ sw.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}", "Index", "Row", "Column", "Red",
+ "Green", "Blue", "Gray");
+ for (int column = 0; column < i.Bitmap.Width; column++)
+ {
+ for (int row = 0; row < i.Bitmap.Height; row++)
+ {
+ f++;
+ Color c = i.GetPixel(column, row);
+ int g = i.GetGreyPixel(column, row);
+ sw.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}", f,
+ row, column, c.R, c.G, c.B, g);
+ }
+ }
+ }
+ i.UnlockBitmap();
+ System.Diagnostics.Process.Start(fileName);
+ }
+
+ public void Dispose()
+ {
+ UnlockBitmap();
+ }
+
+ public void Line(float x, float y, float x2, float y2, Color color)
+ {
+ Line((int)x, (int)y, (int)x2, (int)y2, color);
+ }
+ public void Line(int x, int y, int x2, int y2, Color color)
+ {
+ int w = x2 - x;
+ int h = y2 - y;
+ int dx1 = 0, dy1 = 0, dx2 = 0, dy2 = 0;
+ if (w < 0) dx1 = -1; else if (w > 0) dx1 = 1;
+ if (h < 0) dy1 = -1; else if (h > 0) dy1 = 1;
+ if (w < 0) dx2 = -1; else if (w > 0) dx2 = 1;
+ int longest = Math.Abs(w);
+ int shortest = Math.Abs(h);
+ if (!(longest > shortest))
+ {
+ longest = Math.Abs(h);
+ shortest = Math.Abs(w);
+ if (h < 0) dy2 = -1; else if (h > 0) dy2 = 1;
+ dx2 = 0;
+ }
+ int numerator = longest >> 1;
+ for (int i = 0; i <= longest; i++)
+ {
+ SetPixel(x, y, color);
+ numerator += shortest;
+ if (!(numerator < longest))
+ {
+ numerator -= longest;
+ x += dx1;
+ y += dy1;
+ }
+ else
+ {
+ x += dx2;
+ y += dy2;
+ }
+ }
+ }
+
+ public void PolyClosed(List path, Color c)
+ {
+ if (path.Count == 0) return;
+ if (path.Count == 1)
+ {
+ SetPixel(path[0].X, path[0].Y, c);
+ return;
+ }
+
+ Poly(path, c);
+
+ var from1 = path[0];
+ var to1 = path.Last();
+ Line(from1.X, from1.Y, to1.X, to1.Y, c);
+ }
+
+ public void Poly(List path, Color c)
+ {
+ if (path.Count == 0) return;
+ if (path.Count == 1)
+ {
+ SetPixel(path[0].X, path[0].Y, c);
+ return;
+ }
+
+ for (int i = 1; i < path.Count; i++)
+ {
+ var from = path[i];
+ var to = path[i - 1];
+ Line(from.X, from.Y, to.X, to.Y, c);
+ }
+ }
+
+ public void Cross(float x, float y, float width, Color green)
+ {
+ Line(x - width, y - width, x + width, y + width, green);
+ Line(x - width, y + width, x + width, y - width, green);
+ }
+ }
+
+}
diff --git a/artem_labi/D1/D1/D1.csproj b/artem_labi/D1/D1/D1.csproj
new file mode 100644
index 0000000..d0bd7cf
--- /dev/null
+++ b/artem_labi/D1/D1/D1.csproj
@@ -0,0 +1,94 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {5E3545B6-1D3D-44A8-916C-88D7AED368F4}
+ WinExe
+ Properties
+ D1
+ D1
+ v4.5
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ true
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Form1.cs
+
+
+
+
+ Form1.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artem_labi/D1/D1/Form1.Designer.cs b/artem_labi/D1/D1/Form1.Designer.cs
new file mode 100644
index 0000000..e0e7d66
--- /dev/null
+++ b/artem_labi/D1/D1/Form1.Designer.cs
@@ -0,0 +1,141 @@
+namespace D1
+{
+ partial class Form1
+ {
+ ///
+ /// Требуется переменная конструктора.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Освободить все используемые ресурсы.
+ ///
+ /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Код, автоматически созданный конструктором форм Windows
+
+ ///
+ /// Обязательный метод для поддержки конструктора - не изменяйте
+ /// содержимое данного метода при помощи редактора кода.
+ ///
+ private void InitializeComponent()
+ {
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.button1 = new System.Windows.Forms.Button();
+ this.button2 = new System.Windows.Forms.Button();
+ this.button3 = new System.Windows.Forms.Button();
+ this.button4 = new System.Windows.Forms.Button();
+ this.button5 = new System.Windows.Forms.Button();
+ this.button6 = new System.Windows.Forms.Button();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.Image = global::D1.Properties.Resources.Lenna;
+ this.pictureBox1.Location = new System.Drawing.Point(12, 12);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(529, 518);
+ this.pictureBox1.TabIndex = 0;
+ this.pictureBox1.TabStop = false;
+ //
+ // button1
+ //
+ this.button1.Location = new System.Drawing.Point(556, 12);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(114, 23);
+ this.button1.TabIndex = 1;
+ this.button1.Text = "Graysacale (Not real)";
+ this.button1.UseVisualStyleBackColor = true;
+ this.button1.Click += new System.EventHandler(this.button1_Click);
+ //
+ // button2
+ //
+ this.button2.Location = new System.Drawing.Point(556, 41);
+ this.button2.Name = "button2";
+ this.button2.Size = new System.Drawing.Size(114, 23);
+ this.button2.TabIndex = 2;
+ this.button2.Text = "Gauss";
+ this.button2.UseVisualStyleBackColor = true;
+ this.button2.Click += new System.EventHandler(this.button2_Click);
+ //
+ // button3
+ //
+ this.button3.Location = new System.Drawing.Point(556, 173);
+ this.button3.Name = "button3";
+ this.button3.Size = new System.Drawing.Size(123, 23);
+ this.button3.TabIndex = 3;
+ this.button3.Text = "Back to origin";
+ this.button3.UseVisualStyleBackColor = true;
+ this.button3.Click += new System.EventHandler(this.button3_Click);
+ //
+ // button4
+ //
+ this.button4.Location = new System.Drawing.Point(556, 70);
+ this.button4.Name = "button4";
+ this.button4.Size = new System.Drawing.Size(114, 23);
+ this.button4.TabIndex = 4;
+ this.button4.Text = "Median";
+ this.button4.UseVisualStyleBackColor = true;
+ this.button4.Click += new System.EventHandler(this.button4_Click);
+ //
+ // button5
+ //
+ this.button5.Location = new System.Drawing.Point(556, 99);
+ this.button5.Name = "button5";
+ this.button5.Size = new System.Drawing.Size(114, 23);
+ this.button5.TabIndex = 5;
+ this.button5.Text = "Noise";
+ this.button5.UseVisualStyleBackColor = true;
+ this.button5.Click += new System.EventHandler(this.button5_Click);
+ //
+ // button6
+ //
+ this.button6.Location = new System.Drawing.Point(556, 144);
+ this.button6.Name = "button6";
+ this.button6.Size = new System.Drawing.Size(114, 23);
+ this.button6.TabIndex = 5;
+ this.button6.Text = "My ph";
+ this.button6.UseVisualStyleBackColor = true;
+ this.button6.Click += new System.EventHandler(this.button6_Click);
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(686, 575);
+ this.Controls.Add(this.button6);
+ this.Controls.Add(this.button5);
+ this.Controls.Add(this.button4);
+ this.Controls.Add(this.button3);
+ this.Controls.Add(this.button2);
+ this.Controls.Add(this.button1);
+ this.Controls.Add(this.pictureBox1);
+ this.Name = "Form1";
+ this.Text = "Form1";
+ this.Load += new System.EventHandler(this.Form1_Load);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.PictureBox pictureBox1;
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.Button button2;
+ private System.Windows.Forms.Button button3;
+ private System.Windows.Forms.Button button4;
+ private System.Windows.Forms.Button button5;
+ private System.Windows.Forms.Button button6;
+ }
+}
+
diff --git a/artem_labi/D1/D1/Form1.cs b/artem_labi/D1/D1/Form1.cs
new file mode 100644
index 0000000..0dfbf7a
--- /dev/null
+++ b/artem_labi/D1/D1/Form1.cs
@@ -0,0 +1,181 @@
+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;
+
+namespace D1
+{
+ public partial class Form1 : Form
+ {
+ public Form1()
+ {
+ InitializeComponent();
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+ var bmp = pictureBox1.Image as Bitmap;
+
+ using(var img = new ImagerBitmap(bmp))
+ {
+ for (int x = 0; x < img.Width; x++)
+ for (int y = 0; y < img.Height; y++)
+ {
+ var px = img.GetPixel(x, y);
+ var intensity = px.R + px.B + px.G;
+ intensity /= 3;
+ Color newColor = Color.FromArgb(intensity, intensity, intensity);
+ img.SetPixel(x,y,newColor);
+ }
+
+ pictureBox1.Image = img.Bitmap;
+ }
+ }
+
+ private void button2_Click(object sender, EventArgs e)
+ {
+
+ var bmp = pictureBox1.Image as Bitmap;
+
+ using (var img = new ImagerBitmap(bmp))
+ {
+ int gaussWidth = 5;
+ for (int x = gaussWidth; x < img.Width-5; x++)
+ for (int y = gaussWidth; y < img.Height-5; y++)
+ {
+ int R = 0, G = 0, B = 0, count = 0;
+
+ for (int x1 = x - gaussWidth; x1 <= x + gaussWidth;x1++ )
+ for (int y1 = y - gaussWidth; y1 <= y + gaussWidth; y1++)
+ {
+ var c = img.GetPixel(x1, y1);
+ count++;
+ R += c.R;
+ G += c.G;
+ B += c.B;
+ }
+ img.SetPixel(x, y, Color.FromArgb(R/count, G/count, B/count));
+ }
+
+ pictureBox1.Image = img.Bitmap;
+ }
+ }
+
+ private void button3_Click(object sender, EventArgs e)
+ {
+ pictureBox1.Image = origin.Clone() as Bitmap;
+ }
+
+ Bitmap origin;
+ private void Form1_Load(object sender, EventArgs e)
+ {
+ origin = pictureBox1.Image.Clone() as Bitmap;
+ }
+
+ private void button4_Click(object sender, EventArgs e)
+ {
+ var bmp = pictureBox1.Image as Bitmap;
+ var dst = bmp.Clone() as Bitmap;
+
+ using (var img = new ImagerBitmap(bmp))
+ using (var imgDst = new ImagerBitmap(dst))
+ {
+ int gaussWidth = 1;
+ for (int x = gaussWidth; x < img.Width - 5; x++)
+ for (int y = gaussWidth; y < img.Height - 5; y++)
+ {
+ List neibourghs = new List();
+
+ for (int x1 = x - gaussWidth; x1 <= x + gaussWidth; x1++)
+ for (int y1 = y - gaussWidth; y1 <= y + gaussWidth; y1++)
+ {
+ var c = img.GetPixel(x1, y1);
+ neibourghs.Add(new MedianPixel(c));
+ }
+
+ var newColor = neibourghs.OrderBy(n => n.Intensity).Skip(neibourghs.Count / 2).First().Color;
+
+ imgDst.SetPixel(x, y, newColor);
+ }
+
+ pictureBox1.Image = imgDst.Bitmap;
+ }
+ }
+
+ private void button5_Click(object sender, EventArgs e)
+ {
+ var bmp = pictureBox1.Image as Bitmap;
+
+ Random rnd = new Random();
+
+ using (var img = new ImagerBitmap(bmp))
+ {
+ for (int x = 0; x < img.Width; x++)
+ for (int y = 0; y < img.Height; y++)
+ {
+ if (rnd.Next(6000) == 555)
+ img.SetPixel(x, y, Color.Red);
+ if (rnd.Next(6000) == 556)
+ img.SetPixel(x, y, Color.Blue);
+ if (rnd.Next(6000) == 557)
+ img.SetPixel(x, y, Color.Green);
+ if (rnd.Next(6000) == 556)
+ img.SetPixel(x, y, Color.Black);
+ if (rnd.Next(6000) == 557)
+ img.SetPixel(x, y, Color.White);
+ }
+
+ pictureBox1.Image = img.Bitmap;
+ }
+ }
+
+ private void button6_Click(object sender, EventArgs e)
+ {
+ var bmp = pictureBox1.Image as Bitmap;
+
+ Random rnd = new Random();
+
+ int size = 6;
+
+ using (var img = new ImagerBitmap(bmp))
+ {
+ for (int X = 0; X < img.Width - size; X += size)
+ for (int Y = 0; Y < img.Height - size; Y += size)
+ {
+ int ar = 0, ag = 0, ab = 0;
+ for (int x = 0; x < size; x++)
+ for (int y = 0; y < size; y++)
+ {
+ var p = img.GetPixel(X+x, Y+y);
+ ar += p.R;
+ ag += p.G;
+ ab += p.B;
+ }
+ Color c = Color.FromArgb(ar / (size * size), ag / (size * size), ab / (size * size));
+ for (int x = 0; x < size; x++)
+ for (int y = 0; y < size; y++)
+ img.SetPixel(X+x, Y+y, c);
+
+ }
+
+ pictureBox1.Image = img.Bitmap;
+ }
+ }
+ }
+
+ class MedianPixel
+ {
+ public MedianPixel(Color c)
+ {
+ Color = c;
+ Intensity = (c.R + c.B + c.G) / 3.0;
+ }
+ public double Intensity { get; set; }
+ public Color Color { get; set; }
+ }
+}
diff --git a/artem_labi/D1/D1/Form1.resx b/artem_labi/D1/D1/Form1.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/artem_labi/D1/D1/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/artem_labi/D1/D1/Program.cs b/artem_labi/D1/D1/Program.cs
new file mode 100644
index 0000000..10def35
--- /dev/null
+++ b/artem_labi/D1/D1/Program.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace D1
+{
+ static class Program
+ {
+ ///
+ /// Главная точка входа для приложения.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Form1());
+ }
+ }
+}
diff --git a/artem_labi/D1/D1/Properties/AssemblyInfo.cs b/artem_labi/D1/D1/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..e3b628c
--- /dev/null
+++ b/artem_labi/D1/D1/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Управление общими сведениями о сборке осуществляется с помощью
+// набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения,
+// связанные со сборкой.
+[assembly: AssemblyTitle("D1")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("D1")]
+[assembly: AssemblyCopyright("Copyright © 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Параметр ComVisible со значением FALSE делает типы в сборке невидимыми
+// для COM-компонентов. Если требуется обратиться к типу в этой сборке через
+// COM, задайте атрибуту ComVisible значение TRUE для этого типа.
+[assembly: ComVisible(false)]
+
+// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
+[assembly: Guid("4b9cb919-b208-46f3-bd3d-20c758ffd9d3")]
+
+// Сведения о версии сборки состоят из следующих четырех значений:
+//
+// Основной номер версии
+// Дополнительный номер версии
+// Номер сборки
+// Редакция
+//
+// Можно задать все значения или принять номера сборки и редакции по умолчанию
+// используя "*", как показано ниже:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/artem_labi/D1/D1/Properties/Resources.Designer.cs b/artem_labi/D1/D1/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..b6f5fa9
--- /dev/null
+++ b/artem_labi/D1/D1/Properties/Resources.Designer.cs
@@ -0,0 +1,73 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.34014
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+namespace D1.Properties {
+ using System;
+
+
+ ///
+ /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
+ ///
+ // Этот класс создан автоматически классом StronglyTypedResourceBuilder
+ // с помощью такого средства, как ResGen или Visual Studio.
+ // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
+ // с параметром /str или перестройте свой проект VS.
+ [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() {
+ }
+
+ ///
+ /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
+ ///
+ [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("D1.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Перезаписывает свойство CurrentUICulture текущего потока для всех
+ /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Lenna {
+ get {
+ object obj = ResourceManager.GetObject("Lenna", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/artem_labi/D1/D1/Properties/Resources.resx b/artem_labi/D1/D1/Properties/Resources.resx
new file mode 100644
index 0000000..923cbc6
--- /dev/null
+++ b/artem_labi/D1/D1/Properties/Resources.resx
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\Lenna.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/artem_labi/D1/D1/Properties/Settings.Designer.cs b/artem_labi/D1/D1/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..a0d687c
--- /dev/null
+++ b/artem_labi/D1/D1/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.34014
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace D1.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;
+ }
+ }
+ }
+}
diff --git a/artem_labi/D1/D1/Properties/Settings.settings b/artem_labi/D1/D1/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/artem_labi/D1/D1/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/artem_labi/D1/D1/Resources/Lenna.png b/artem_labi/D1/D1/Resources/Lenna.png
new file mode 100644
index 0000000..59ef68a
Binary files /dev/null and b/artem_labi/D1/D1/Resources/Lenna.png differ
diff --git a/artem_labi/D1/D1/bin/Debug/D1.exe b/artem_labi/D1/D1/bin/Debug/D1.exe
new file mode 100644
index 0000000..24edf94
Binary files /dev/null and b/artem_labi/D1/D1/bin/Debug/D1.exe differ
diff --git a/artem_labi/D1/D1/bin/Debug/D1.exe.config b/artem_labi/D1/D1/bin/Debug/D1.exe.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/artem_labi/D1/D1/bin/Debug/D1.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artem_labi/D1/D1/bin/Debug/D1.pdb b/artem_labi/D1/D1/bin/Debug/D1.pdb
new file mode 100644
index 0000000..a2c63d8
Binary files /dev/null and b/artem_labi/D1/D1/bin/Debug/D1.pdb differ
diff --git a/artem_labi/D1/D1/bin/Debug/D1.vshost.exe b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe
new file mode 100644
index 0000000..666c0af
Binary files /dev/null and b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe differ
diff --git a/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.config b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.manifest b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.manifest
new file mode 100644
index 0000000..061c9ca
--- /dev/null
+++ b/artem_labi/D1/D1/bin/Debug/D1.vshost.exe.manifest
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/artem_labi/D1/D1/obj/Debug/D1.Form1.resources b/artem_labi/D1/D1/obj/Debug/D1.Form1.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.Form1.resources differ
diff --git a/artem_labi/D1/D1/obj/Debug/D1.Properties.Resources.resources b/artem_labi/D1/D1/obj/Debug/D1.Properties.Resources.resources
new file mode 100644
index 0000000..d62c476
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.Properties.Resources.resources differ
diff --git a/artem_labi/D1/D1/obj/Debug/D1.csproj.FileListAbsolute.txt b/artem_labi/D1/D1/obj/Debug/D1.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..43d70f9
--- /dev/null
+++ b/artem_labi/D1/D1/obj/Debug/D1.csproj.FileListAbsolute.txt
@@ -0,0 +1,18 @@
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\bin\Debug\D1.exe.config
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.csprojResolveAssemblyReference.cache
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.Properties.Resources.resources
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.csproj.GenerateResource.Cache
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\bin\Debug\D1.exe
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\bin\Debug\D1.pdb
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.exe
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.pdb
+c:\users\student\documents\visual studio 2013\Projects\D1\D1\obj\Debug\D1.Form1.resources
+C:\Users\Лёха\Desktop\D1\D1\bin\Debug\D1.exe.config
+C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.exe
+C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.pdb
+C:\Users\Лёха\Desktop\D1\D1\bin\Debug\D1.exe
+C:\Users\Лёха\Desktop\D1\D1\bin\Debug\D1.pdb
+C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.csprojResolveAssemblyReference.cache
+C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.Form1.resources
+C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.Properties.Resources.resources
+C:\Users\Лёха\Desktop\D1\D1\obj\Debug\D1.csproj.GenerateResource.Cache
diff --git a/artem_labi/D1/D1/obj/Debug/D1.csproj.GenerateResource.Cache b/artem_labi/D1/D1/obj/Debug/D1.csproj.GenerateResource.Cache
new file mode 100644
index 0000000..f46e13c
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.csproj.GenerateResource.Cache differ
diff --git a/artem_labi/D1/D1/obj/Debug/D1.csprojResolveAssemblyReference.cache b/artem_labi/D1/D1/obj/Debug/D1.csprojResolveAssemblyReference.cache
new file mode 100644
index 0000000..4c8fd25
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.csprojResolveAssemblyReference.cache differ
diff --git a/artem_labi/D1/D1/obj/Debug/D1.exe b/artem_labi/D1/D1/obj/Debug/D1.exe
new file mode 100644
index 0000000..24edf94
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.exe differ
diff --git a/artem_labi/D1/D1/obj/Debug/D1.pdb b/artem_labi/D1/D1/obj/Debug/D1.pdb
new file mode 100644
index 0000000..a2c63d8
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/D1.pdb differ
diff --git a/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferences.cache
new file mode 100644
index 0000000..de4cc7c
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..0a60e40
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/artem_labi/D1/D1/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/artem_labi/D1/D1/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
new file mode 100644
index 0000000..e565ac4
Binary files /dev/null and b/artem_labi/D1/D1/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
diff --git a/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
diff --git a/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/artem_labi/D1/D1/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29