This commit is contained in:
Teochrome 2025-04-28 20:22:13 +03:00
commit c4b6f37f94
44 changed files with 854 additions and 0 deletions

Binary file not shown.

BIN
.vs/Covid/v17/.futdcache.v2 Normal file

Binary file not shown.

BIN
.vs/Covid/v17/.suo Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

25
Covid.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.8.34330.188
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Covid", "Covid\Covid.csproj", "{DFAEFC39-1C59-479F-A5D8-82A62FC069C0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DFAEFC39-1C59-479F-A5D8-82A62FC069C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DFAEFC39-1C59-479F-A5D8-82A62FC069C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DFAEFC39-1C59-479F-A5D8-82A62FC069C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DFAEFC39-1C59-479F-A5D8-82A62FC069C0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D9F53BE5-7148-4C18-9040-4B752486964E}
EndGlobalSection
EndGlobal

11
Covid/Covid.csproj Normal file
View File

@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>

8
Covid/Covid.csproj.user Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Update="Form1.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>

39
Covid/Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,39 @@
namespace Covid
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Text = "COVID-19: модель случайных процессов";
}
#endregion
}
}

320
Covid/Form1.cs Normal file
View File

@ -0,0 +1,320 @@
using System;
using System.Buffers.Text;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
namespace Covid
{
public partial class Form1 : Form
{
private Label labelRemoved; // Ìåòêà äëÿ îòîáðàæåíèÿ êîëè÷åñòâà íåéòðàëèçîâàííûõ ñëó÷àåâ
private Label labelActive; // Ìåòêà äëÿ îòîáðàæåíèÿ êîëè÷åñòâà àêòèâíûõ ñëó÷àåâ
private Label labelR; // Ìåòêà äëÿ îòîáðàæåíèÿ çíà÷åíèÿ R
private Label labelDay; // Ìåòêà äëÿ îòîáðàæåíèÿ òåêóùåãî äíÿ
public enum HealthState { Susceptible, Infected, Recovered, Dead } // Ïåðå÷èñëåíèå ñîñòîÿíèé çäîðîâüÿ
private PictureBox pictureBoxLeft; // Ëåâûé PictureBox äëÿ ãðàôèêà
private PictureBox pictureBoxRight; // Ïðàâûé PictureBox äëÿ îòîáðàæåíèÿ ëþäåé
private List<Person> population = new List<Person>(); // Ñïèñîê ëþäåé
private const int N = 500; // Óâåëè÷åíî êîëè÷åñòâî íàñåëåíèÿ
private const float InfectionRadius = 10f; // Ðàäèóñ èíôåêöèè
private const float ContagionProbability = 0.3f; // Âåðîÿòíîñòü çàðàæåíèÿ
private const int DiseaseTime = 35; // Âðåìÿ çàáîëåâàíèÿ
private const float MortalityRate = 0.12f; // Óðîâåíü ñìåðòíîñòè
private int day = 0; // Òåêóùèé äåíü
private System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); // Òàéìåð äëÿ îáíîâëåíèÿ ñèìóëÿöèè
private List<int> historyS = new List<int>(); // Èñòîðèÿ óÿçâèìûõ
private List<int> historyI = new List<int>(); // Èñòîðèÿ èíôèöèðîâàííûõ
private List<int> historyR = new List<int>(); // Èñòîðèÿ âûçäîðîâåâøèõ
private List<int> historyD = new List<int>(); // Èñòîðèÿ ïîãèáøèõ
private Random rand = new Random(); // Ãåíåðàòîð ñëó÷àéíûõ ÷èñåë
private int newInfectionsThisDay = 0; // Íîâûå èíôåêöèè çà äåíü
private int infectedCountPreviousDay = 0; // Êîëè÷åñòâî èíôèöèðîâàííûõ íà ïðåäûäóùèé äåíü
public class Person
{
public PointF Position; // Ïîçèöèÿ ÷åëîâåêà
public PointF Velocity; // Ñêîðîñòü äâèæåíèÿ ÷åëîâåêà
public HealthState State = HealthState.Susceptible; // Ñîñòîÿíèå çäîðîâüÿ
public int DaysInfected = 0; // Êîëè÷åñòâî äíåé, â òå÷åíèå êîòîðûõ ÷åëîâåê áûë èíôèöèðîâàí
private static Random rand = new Random(); // Ãåíåðàòîð ñëó÷àéíûõ ÷èñåë äëÿ êëàññà Person
public Person(float x, float y) // Êîíñòðóêòîð êëàññà Person
{
Position = new PointF(x, y); // Óñòàíîâêà íà÷àëüíîé ïîçèöèè
Velocity = new PointF(RandomFloat(-1, 1), RandomFloat(-1, 1)); // Óñòàíîâêà ñëó÷àéíîé ñêîðîñòè
}
private static float RandomFloat(float min, float max) // Ìåòîä äëÿ ãåíåðàöèè ñëó÷àéíîãî ÷èñëà ñ ïëàâàþùåé çàïÿòîé
{
return (float)(rand.NextDouble() * (max - min) + min);
}
public void Move(int width, int height) // Ìåòîä äëÿ ïåðåìåùåíèÿ ÷åëîâåêà
{
if (State == HealthState.Dead) return; // Åñëè ÷åëîâåê ìåðòâ, íå ïåðåìåùàåì åãî
Position = new PointF(Position.X + Velocity.X, Position.Y + Velocity.Y); // Îáíîâëåíèå ïîçèöèè
// Ïðîâåðêà ãðàíèö ýêðàíà è èçìåíåíèå íàïðàâëåíèÿ äâèæåíèÿ
if (Position.X < 0 || Position.X > width) Velocity = new PointF(-Velocity.X, Velocity.Y);
if (Position.Y < 0 || Position.Y > height) Velocity = new PointF(Velocity.X, -Velocity.Y);
}
}
public Form1()
{
InitializeComponent(); // Èíèöèàëèçàöèÿ êîìïîíåíòîâ ôîðìû
this.BackColor = Color.Black; // Óñòàíîâêà ôîíà ôîðìû
this.ForeColor = Color.White; // Óñòàíîâêà öâåòà òåêñòà
// Èíèöèàëèçàöèÿ PictureBox äëÿ ãðàôèêà
pictureBoxLeft = new PictureBox
{
Name = "pictureBoxLeft",
Width = 400,
Height = 400,
Location = new Point(10, 10),
BackColor = Color.Black
};
pictureBoxLeft.Paint += pictureBoxLeft_Paint; // Ïîäïèñêà íà ñîáûòèå îòðèñîâêè
this.Controls.Add(pictureBoxLeft); // Äîáàâëåíèå PictureBox íà ôîðìó
// Èíèöèàëèçàöèÿ PictureBox äëÿ îòîáðàæåíèÿ ëþäåé
pictureBoxRight = new PictureBox
{
Name = "pictureBoxRight",
Width = 400,
Height = 400,
Location = new Point(420, 10),
BackColor = Color.Black,
BorderStyle = BorderStyle.FixedSingle // Äîáàâëåíèå áåëîé ãðàíèöû
};
pictureBoxRight.Paint += pictureBoxRight_Paint; // Ïîäïèñêà íà ñîáûòèå îòðèñîâêè
this.Controls.Add(pictureBoxRight); // Äîáàâëåíèå PictureBox íà ôîðìó
// Ñîçäàíèå íàñåëåíèÿ
for (int i = 0; i < N; i++)
{
float x = rand.Next(pictureBoxRight.Width); // Ñëó÷àéíàÿ ïîçèöèÿ ïî X
float y = rand.Next(pictureBoxRight.Height); // Ñëó÷àéíàÿ ïîçèöèÿ ïî Y
population.Add(new Person(x, y)); // Äîáàâëåíèå íîâîãî ÷åëîâåêà â ïîïóëÿöèþ
}
// Óñòàíîâêà íà÷àëüíîãî ñîñòîÿíèÿ äëÿ íåñêîëüêèõ èíôèöèðîâàííûõ
population[0].State = HealthState.Infected;
population[1].State = HealthState.Infected;
population[2].State = HealthState.Infected;
population[3].State = HealthState.Infected;
population[4].State = HealthState.Infected;
population[5].State = HealthState.Infected;
timer.Interval = 200; // Óñòàíîâêà èíòåðâàëà òàéìåðà
timer.Tick += Timer_Tick; // Ïîäïèñêà íà ñîáûòèå òàéìåðà
timer.Start(); // Çàïóñê òàéìåðà
// Èíèöèàëèçàöèÿ ìåòîê äëÿ îòîáðàæåíèÿ ñòàòèñòèêè
labelRemoved = new Label();
labelRemoved.Name = "labelRemoved";
labelRemoved.Text = "# Íåéòðàëèçîâàííûå ñëó÷àè = 0";
labelRemoved.ForeColor = Color.LightGray;
labelRemoved.BackColor = Color.Black;
labelRemoved.AutoSize = true;
labelRemoved.Font = new Font(this.Font, FontStyle.Regular);
labelActive = new Label();
labelActive.Name = "labelActive";
labelActive.Text = "# Àêòèâíûå ñëó÷àè = 0";
labelActive.ForeColor = Color.Red;
labelActive.BackColor = Color.Black;
labelActive.AutoSize = true;
labelActive.Font = new Font(this.Font, FontStyle.Bold);
labelR = new Label();
labelR.Name = "labelR";
labelR.Text = "R = 0.00";
labelR.ForeColor = Color.White;
labelR.BackColor = Color.Black;
labelR.AutoSize = true;
labelR.Font = new Font(this.Font, FontStyle.Italic);
labelDay = new Label();
labelDay.Name = "labelDay";
labelDay.Text = "Äåíü: 0";
labelDay.ForeColor = Color.White;
labelDay.BackColor = Color.Black;
labelDay.AutoSize = true;
labelDay.Font = new Font(this.Font, FontStyle.Regular);
// Ðàñïîëîæåíèå ìåòîê ïîä PictureBox
int spacing = 5;
labelRemoved.Location = new Point(pictureBoxRight.Left, pictureBoxRight.Bottom + spacing);
labelActive.Location = new Point(labelRemoved.Right + 20, pictureBoxRight.Bottom + spacing);
labelR.Location = new Point(pictureBoxRight.Left, labelRemoved.Bottom + spacing + 5);
labelDay.Location = new Point(pictureBoxRight.Left + pictureBoxRight.Width / 2 - 30, labelRemoved.Bottom + spacing + 5);
// Äîáàâëåíèå ìåòîê íà ôîðìó
this.Controls.Add(labelRemoved);
this.Controls.Add(labelActive);
this.Controls.Add(labelR);
this.Controls.Add(labelDay);
}
private void Timer_Tick(object sender, EventArgs e) // Ìåòîä, âûçûâàåìûé ïðè êàæäîì òèêå òàéìåðà
{
day++; // Óâåëè÷åíèå äíÿ
newInfectionsThisDay = 0; // Ñáðîñ íîâûõ èíôåêöèé
// Ïåðåìåùåíèå âñåõ ëþäåé
foreach (var p in population)
p.Move(pictureBoxRight.Width, pictureBoxRight.Height);
// Îáðàáîòêà èíôèöèðîâàííûõ ëþäåé
foreach (var p in population.Where(p => p.State == HealthState.Infected).ToList())
{
p.DaysInfected++; // Óâåëè÷åíèå êîëè÷åñòâà äíåé èíôèöèðîâàíèÿ
if (p.DaysInfected >= DiseaseTime) // Ïðîâåðêà, äîñòèã ëè ÷åëîâåê ëåòàëüíîãî èñõîäà
{
if (rand.NextDouble() < MortalityRate) // Ïðîâåðêà íà ñìåðòü ÷åëîâåêà
p.State = HealthState.Dead;
else
p.State = HealthState.Recovered; // Èçìåíåíèå ñîñòîÿíèÿ íà "âûëå÷åííûé"
}
}
InfectNearby(); // Èñïîëüçóåì ìåòîä çàðàæåíèÿ ðÿäîì îêðóæàþùèõ ëþäåé
// Ïîäñ÷åò ñòàòèñòèêè
int sCount = population.Count(p => p.State == HealthState.Susceptible);
int iCount = population.Count(p => p.State == HealthState.Infected);
int rCount = population.Count(p => p.State == HealthState.Recovered);
int dCount = population.Count(p => p.State == HealthState.Dead);
// Ñîõðàíåíèå èñòîðèè
historyS.Add(sCount);
historyI.Add(iCount);
historyR.Add(rCount);
historyD.Add(dCount);
// Îáíîâëåíèå R
float R = infectedCountPreviousDay > 0 ? (float) newInfectionsThisDay / infectedCountPreviousDay : 0f;
infectedCountPreviousDay = iCount; // Îáíîâëåíèå êîëè÷åñòâà èíôèöèðîâàííûõ íà ïðåäûäóùèé äåíü
// Îáíîâëåíèå Tag äëÿ îòðèñîâêè
pictureBoxRight.Tag = new { Active = iCount, Removed = rCount + dCount, R = R, Day = day };
// Îáíîâëåíèå òåêñòà ìåòîê
labelRemoved.Text = $"# Íåéòðàëèçîâàííûå ñëó÷àè = {rCount + dCount}";
labelActive.Text = $"# Àêòèâíûå ñëó÷àè = {iCount}";
labelR.Text = $"R = {R:F2}";
labelDay.Text = $"Äåíü: {day}";
pictureBoxLeft.Invalidate(); // Ïåðåðèñîâêà ëåâîãî PictureBox
pictureBoxRight.Invalidate(); // Ïåðåðèñîâêà ïðàâîãî PictureBox
}
private void InfectNearby() // Ìåòîä äëÿ çàðàæåíèÿ ñîñåäåé
{
var infected = population.Where(p => p.State == HealthState.Infected).ToList(); // Ñïèñîê èíôèöèðîâàííûõ
var susceptible = population.Where(p => p.State == HealthState.Susceptible).ToList(); // Ñïèñîê óÿçâèìûõ
// Ïðîâåðêà ðàññòîÿíèÿ ìåæäó èíôèöèðîâàííûìè è óÿçâèìûìè
foreach (var inf in infected)
{
foreach (var sus in susceptible)
{
float dist = Distance(inf.Position, sus.Position); // Âû÷èñëåíèå ðàññòîÿíèÿ
if (dist < InfectionRadius) // Åñëè â ïðåäåëàõ ðàäèóñà èíôåêöèè
{
if (rand.NextDouble() < ContagionProbability) // Ïðîâåðêà íà çàðàæåíèå
{
sus.State = HealthState.Infected; // Èçìåíåíèå ñîñòîÿíèÿ íà èíôèöèðîâàííûé
newInfectionsThisDay++; // Óâåëè÷åíèå ñ÷åò÷èêà íîâûõ èíôåêöèé
}
}
}
}
}
private float Distance(PointF a, PointF b) // Ìåòîä äëÿ âû÷èñëåíèÿ ðàññòîÿíèÿ ìåæäó äâóìÿ òî÷êàìè
{
float dx = a.X - b.X; // Ðàçíîñòü ïî X
float dy = a.Y - b.Y; // Ðàçíîñòü ïî Y
return (float)Math.Sqrt(dx * dx + dy * dy); // Âîçâðàùåíèå ðàññòîÿíèÿ
}
private void pictureBoxLeft_Paint(object sender, PaintEventArgs e) // Ìåòîä äëÿ îòðèñîâêè ãðàôèêà
{
Graphics g = e.Graphics;
g.Clear(Color.Black); // Î÷èñòêà ôîíà
if (historyS.Count < 2) return; // Åñëè íåäîñòàòî÷íî äàííûõ äëÿ îòðèñîâêè
int w = pictureBoxLeft.Width; // Øèðèíà PictureBox
int h = pictureBoxLeft.Height; // Âûñîòà PictureBox
int maxY = population.Count; // Ìàêñèìàëüíîå çíà÷åíèå ïî Y
Pen axisPen = Pens.White; // Ïåðî äëÿ îñåé
g.DrawLine(axisPen, 40, 10, 40, h - 30); // Âåðòèêàëüíàÿ îñü
g.DrawLine(axisPen, 40, h - 30, w - 10, h - 30); // Ãîðèçîíòàëüíàÿ îñü
// Îòðèñîâêà ëèíèé ãðàôèêà äëÿ ðàçëè÷íûõ ñîñòîÿíèé
DrawGraphLine(g, historyS, maxY, Color.Cyan, 40, h - 30, w - 50, h - 40);
DrawGraphLine(g, historyI, maxY, Color.Red, 40, h - 30, w - 50, h - 40);
DrawGraphLine(g, historyR, maxY, Color.Green, 40, h - 30, w - 50, h - 40);
DrawGraphLine(g, historyD, maxY, Color.Gray, 40, h - 30, w - 50, h - 40);
// Ïîäïèñè äëÿ ãðàôèêà
g.DrawString("Óÿçâèìûå", this.Font, Brushes.Cyan, w - 130, 20);
g.DrawString("Èíôèöèðîâàííûå", this.Font, Brushes.Red, w - 130, 40);
g.DrawString("Âûëå÷åííûå", this.Font, Brushes.Green, w - 130, 60);
g.DrawString("Ïîãèáøèå", this.Font, Brushes.Gray, w - 130, 80);
}
private void DrawGraphLine(Graphics g, List<int> data, int maxY, Color color, int x0, int y0, int width, int height) // Ìåòîä äëÿ îòðèñîâêè ëèíèè ãðàôèêà
{
if (data.Count < 2) return; // Åñëè íåäîñòàòî÷íî äàííûõ äëÿ îòðèñîâêè
Pen pen = new Pen(color, 2); // Ïåðî äëÿ ëèíèè
int count = data.Count; // Êîëè÷åñòâî òî÷åê
float xStep = (float)width / (count - 1); // Øàã ïî X
PointF[] points = new PointF[count]; // Ìàññèâ òî÷åê äëÿ ëèíèè
for (int i = 0; i < count; i++)
{
float x = x0 + i * xStep; // Âû÷èñëåíèå êîîðäèíàòû X
float y = y0 - (data[i] / (float)maxY) * height; // Âû÷èñëåíèå êîîðäèíàòû Y
points[i] = new PointF(x, y); // Äîáàâëåíèå òî÷êè â ìàññèâ
}
g.DrawLines(pen, points); // Îòðèñîâêà ëèíèè
}
private void pictureBoxRight_Paint(object sender, PaintEventArgs e) // Ìåòîä äëÿ îòðèñîâêè ëþäåé
{
Graphics g = e.Graphics;
g.Clear(Color.Black); // Î÷èñòêà ôîíà
// Îòðèñîâêà êàæäîãî ÷åëîâåêà â çàâèñèìîñòè îò åãî ñîñòîÿíèÿ
foreach (var p in population)
{
Color c = p.State switch
{
HealthState.Susceptible => Color.Cyan,
HealthState.Infected => Color.Red,
HealthState.Recovered => Color.Green,
HealthState.Dead => Color.Gray,
_ => Color.White
};
g.FillEllipse(new SolidBrush(c), p.Position.X, p.Position.Y, 5, 5); // Îòðèñîâêà ÷åëîâåêà
}
}
}
}

120
Covid/Form1.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

17
Covid/Program.cs Normal file
View File

@ -0,0 +1,17 @@
namespace Covid
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"Covid/1.0.0": {
"runtime": {
"Covid.dll": {}
}
}
}
},
"libraries": {
"Covid/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,18 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.0"
}
],
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true
}
}
}

View File

@ -0,0 +1,66 @@
{
"format": 1,
"restore": {
"C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\Covid.csproj": {}
},
"projects": {
"C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\Covid.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\Covid.csproj",
"projectName": "Covid",
"projectPath": "C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\Covid.csproj",
"packagesPath": "C:\\Users\\alexa\\.nuget\\packages\\",
"outputPath": "C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\alexa\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.101/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\alexa\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.8.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\alexa\.nuget\packages\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Covid")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Covid")]
[assembly: System.Reflection.AssemblyTitleAttribute("Covid")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// Создано классом WriteCodeFragment MSBuild.

View File

@ -0,0 +1 @@
791c09cd43fa4cea4c5a0aea34bd9a64d9a3d91a582e44ce4a8ba2b8f54cb8e8

Binary file not shown.

View File

@ -0,0 +1,19 @@
is_global = true
build_property.ApplicationManifest =
build_property.StartupObject =
build_property.ApplicationDefaultFont =
build_property.ApplicationHighDpiMode =
build_property.ApplicationUseCompatibleTextRendering =
build_property.ApplicationVisualStyles =
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Covid
build_property.ProjectDir = C:\Users\alexa\source\repos\Covid\Covid\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -0,0 +1,10 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Drawing;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
global using global::System.Windows.Forms;

Binary file not shown.

View File

@ -0,0 +1 @@
2006c50b077d7156063a506fb4dc2e70984c8fd6f24c3464f64d4965945feed7

View File

@ -0,0 +1,16 @@
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.Form1.resources
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.csproj.GenerateResource.cache
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.AssemblyInfoInputs.cache
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.AssemblyInfo.cs
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.csproj.CoreCompileInputs.cache
C:\Users\alexa\source\repos\Covid\Covid\bin\Debug\net8.0-windows\Covid.exe
C:\Users\alexa\source\repos\Covid\Covid\bin\Debug\net8.0-windows\Covid.deps.json
C:\Users\alexa\source\repos\Covid\Covid\bin\Debug\net8.0-windows\Covid.runtimeconfig.json
C:\Users\alexa\source\repos\Covid\Covid\bin\Debug\net8.0-windows\Covid.dll
C:\Users\alexa\source\repos\Covid\Covid\bin\Debug\net8.0-windows\Covid.pdb
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.dll
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\refint\Covid.dll
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.pdb
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\Covid.genruntimeconfig.cache
C:\Users\alexa\source\repos\Covid\Covid\obj\Debug\net8.0-windows\ref\Covid.dll

View File

@ -0,0 +1,11 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {}
},
"libraries": {}
}

View File

@ -0,0 +1,23 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.0"
}
],
"additionalProbingPaths": [
"C:\\Users\\alexa\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\alexa\\.nuget\\packages"
],
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true,
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
}
}
}

Binary file not shown.

View File

@ -0,0 +1 @@
914be0f3ad16a7290cb41651e3598e7bee28361b6548f62dcb11ed10c059503b

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,71 @@
{
"version": 3,
"targets": {
"net8.0-windows7.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
"net8.0-windows7.0": []
},
"packageFolders": {
"C:\\Users\\alexa\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\Covid.csproj",
"projectName": "Covid",
"projectPath": "C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\Covid.csproj",
"packagesPath": "C:\\Users\\alexa\\.nuget\\packages\\",
"outputPath": "C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\alexa\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.101/PortableRuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1,8 @@
{
"version": 2,
"dgSpecHash": "BjpPwZM41C4oog4b4a4LQerldKESpikVbht/YPP7olCwC0bPnZiVvYo3ibIPzI58cjJHXViN4W48hCtHrexqTQ==",
"success": true,
"projectFilePath": "C:\\Users\\alexa\\source\\repos\\Covid\\Covid\\Covid.csproj",
"expectedPackageFiles": [],
"logs": []
}