From 26fe1a7888f6c27e48208b996d9d113d4a6a8950 Mon Sep 17 00:00:00 2001 From: You Date: Mon, 25 May 2026 17:48:25 +0400 Subject: [PATCH] first commit --- ...00df1044-d600-4516-ab35-db6274f49cc3.vsidx | Bin 0 -> 29056 bytes polina2/.vs/polina2/v17/.suo | Bin 0 -> 50176 bytes .../polina2/v17/DocumentLayout.backup.json | 40 ++++++ polina2/.vs/polina2/v17/DocumentLayout.json | 40 ++++++ polina2/polina2.sln | 25 ++++ polina2/polina2/App.config | 6 + polina2/polina2/Form1.Designer.cs | 40 ++++++ polina2/polina2/Form1.cs | 20 +++ polina2/polina2/Program.cs | 22 ++++ polina2/polina2/Properties/AssemblyInfo.cs | 33 +++++ .../polina2/Properties/Resources.Designer.cs | 71 +++++++++++ polina2/polina2/Properties/Resources.resx | 117 ++++++++++++++++++ .../polina2/Properties/Settings.Designer.cs | 30 +++++ polina2/polina2/Properties/Settings.settings | 7 ++ ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 139 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 2189 bytes .../polina2.csproj.AssemblyReference.cache | Bin 0 -> 6030 bytes polina2/polina2/polina2.csproj | 80 ++++++++++++ 19 files changed, 535 insertions(+) create mode 100644 polina2/.vs/polina2/FileContentIndex/00df1044-d600-4516-ab35-db6274f49cc3.vsidx create mode 100644 polina2/.vs/polina2/v17/.suo create mode 100644 polina2/.vs/polina2/v17/DocumentLayout.backup.json create mode 100644 polina2/.vs/polina2/v17/DocumentLayout.json create mode 100644 polina2/polina2.sln create mode 100644 polina2/polina2/App.config create mode 100644 polina2/polina2/Form1.Designer.cs create mode 100644 polina2/polina2/Form1.cs create mode 100644 polina2/polina2/Program.cs create mode 100644 polina2/polina2/Properties/AssemblyInfo.cs create mode 100644 polina2/polina2/Properties/Resources.Designer.cs create mode 100644 polina2/polina2/Properties/Resources.resx create mode 100644 polina2/polina2/Properties/Settings.Designer.cs create mode 100644 polina2/polina2/Properties/Settings.settings create mode 100644 polina2/polina2/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 polina2/polina2/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 polina2/polina2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 polina2/polina2/obj/Debug/polina2.csproj.AssemblyReference.cache create mode 100644 polina2/polina2/polina2.csproj diff --git a/polina2/.vs/polina2/FileContentIndex/00df1044-d600-4516-ab35-db6274f49cc3.vsidx b/polina2/.vs/polina2/FileContentIndex/00df1044-d600-4516-ab35-db6274f49cc3.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..88b135a88054aef6e886899d2dabdc296ebc4815 GIT binary patch literal 29056 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 U4J?i2)gS#kx+*AL(UJLo05HFd1ONa4 literal 0 HcmV?d00001 diff --git a/polina2/.vs/polina2/v17/.suo b/polina2/.vs/polina2/v17/.suo new file mode 100644 index 0000000000000000000000000000000000000000..12f1a5608a79df346bdf85b73c7993770602634c GIT binary patch literal 50176 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 + + + + + \ No newline at end of file diff --git a/polina2/polina2/Form1.Designer.cs b/polina2/polina2/Form1.Designer.cs new file mode 100644 index 0000000..95068bf --- /dev/null +++ b/polina2/polina2/Form1.Designer.cs @@ -0,0 +1,40 @@ +namespace polina2 +{ + 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.components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Text = "Form1"; + } + + #endregion + } +} + diff --git a/polina2/polina2/Form1.cs b/polina2/polina2/Form1.cs new file mode 100644 index 0000000..247728e --- /dev/null +++ b/polina2/polina2/Form1.cs @@ -0,0 +1,20 @@ +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 polina2 +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + } +} diff --git a/polina2/polina2/Program.cs b/polina2/polina2/Program.cs new file mode 100644 index 0000000..03ab6d8 --- /dev/null +++ b/polina2/polina2/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace polina2 +{ + internal static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/polina2/polina2/Properties/AssemblyInfo.cs b/polina2/polina2/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..284e668 --- /dev/null +++ b/polina2/polina2/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанных со сборкой. +[assembly: AssemblyTitle("polina2")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("polina2")] +[assembly: AssemblyCopyright("Copyright © 2026")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, следует установить атрибут ComVisible в TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("ad87f79a-1223-46d9-b9a6-90d6117a72d6")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/polina2/polina2/Properties/Resources.Designer.cs b/polina2/polina2/Properties/Resources.Designer.cs new file mode 100644 index 0000000..ba3b456 --- /dev/null +++ b/polina2/polina2/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программным средством. +// Версия среды выполнения: 4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если +// код создан повторно. +// +//------------------------------------------------------------------------------ + +namespace polina2.Properties +{ + + + /// + /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. + /// + // Этот класс был автоматически создан при помощи 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 ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("polina2.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/polina2/polina2/Properties/Resources.resx b/polina2/polina2/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/polina2/polina2/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/polina2/polina2/Properties/Settings.Designer.cs b/polina2/polina2/Properties/Settings.Designer.cs new file mode 100644 index 0000000..67e72eb --- /dev/null +++ b/polina2/polina2/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace polina2.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/polina2/polina2/Properties/Settings.settings b/polina2/polina2/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/polina2/polina2/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/polina2/polina2/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/polina2/polina2/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/polina2/polina2/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/polina2/polina2/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/polina2/polina2/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..d5da7b91df461e168f00350ded7f3effe6720a06 GIT binary patch literal 139 zcmZQ$WMp7qU`%tiiU}ynPcKT$RdCD9Ni9~;sIV~8j0s9jOD#&xOHNgAEG|yXP0Gnk zEspWcOfJeV&QB|eaRaJPEzd8?j?wdT4MFhAO!Un4jA9&=li7f_{vp0R@rx_0bGV22XNw9ti;q}vW2L$+TWwff;oN*ojX zzwgNo4m}1YgDu&z-bc@R{(j#)3xc3eN+w0tBN^vC0$T`P;?wK#D84nIO+2^j45W=i zF!xp!aiKVqbl;qH?TuCiXv+X+fVE8KhM0Y4bZoGTq9Cb~OO`X7ilK8&#UNrF%;3ZJ z>*ter220Q&Qy5$r10vxL{DY-h8MU-=gzrPC^nFaGlf~g~^ND;RXNMQbc)p^#aJf@2 zBw{nI(dHIokx zgmN1^!SmKjQZ8~YTDKU7YL7lPZ+BxVGnP>cdlju3jjdnpE}679)UG0}#1-mG{cg9Q zItSZnX~;CBR_Uq^cQeSDvAP<~QG83P;h?aO1$fvB@UX)vo}tN1w)KnMjFyf*MdhxK zc8r8cbf{#V$4z?wWl65cj`Bd2-0c^EX3287U;<`f6yJ2;xAQGSQkt&dDK6K~zW?!3 zO%Y9LhF1Ijk*^Ma;wGXMd~dh+wHq9Cl`?2dx8IKSgkk(S_D{+A>G{WRZ8hTcALg?Q Ap#T5? literal 0 HcmV?d00001 diff --git a/polina2/polina2/obj/Debug/polina2.csproj.AssemblyReference.cache b/polina2/polina2/obj/Debug/polina2.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..9f80ff2bc600dfa8d3937acfe7d8ef7cdc2b71b9 GIT binary patch literal 6030 zcmeHLO>fgc5cLWuAuXT+0#)iEN088}(29>$?3cms}ou{=f`$RWzw(d_KJ_hxox4Q)7%gGh7V`yisBAYr4!0xBDi z&tJWG;vLcf6_oq5aUdlPdjX@;d(V6k$!MUwj{ZNLMdH-M-S*M%)pQTP#LvA@`jH4& z5BGxrA-#|DXzS(40kRS4Ra20&4do2nms4FZqAtVL6^zH_}mVv>E-te@8j0qk1z2X zZRJ6-O*7&HHk=5eSi}oi{PyPfa`URbZ!Ojni=V@wke#$=##%bcqbj4UoyG4MKg$WX zp$k~JVSj-go~NZHdj=P1(Q^ly(#l)u_&hf%L?eE zQUTF%5Y0o%RgR2qLdwW8&87ZCFf}iQA(WmVv<;Spt$aQ)-j8MycXTUJj7qEOUgmW{ zX60m)rRA_vS}q*U;Us9s0s+584XW$OM!M2&rArllt5n{7=bsBTkkYad4y)vHO3pcq zu0v*7IK?CMKVuuFEG9jFYvOVHz}NQ&$$Bg(TO&7<>q%=_;!Bm>rz=;nREr + + + + Debug + AnyCPU + {AD87F79A-1223-46D9-B9A6-90D6117A72D6} + WinExe + polina2 + polina2 + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file